Nameste, semoga sejahtera, selamat dunia akhirat.
Dihalaman kuliah ini berisi sedikit ilmu yang mungkin bisa berguna buat temen-temen yang membutuhkan, yang jelas saya tidak akan menulis sesuatu yang tidak saya fahami dengan baik, semoga saja anda tidak mengira saya sepintar para senior programmer, hehehe soalnya saya bukan programmer cuit…cuit….
Wassalam.
Dimensi array atau disebut juga dengan vector.
satu buah variabel dengan banyak data misalnya
DIM a(5) itu berarti dimensi dengan variabel a memiliki 5 buah data numerik.
DIM a$(5) itu berarti dimensi dengan variabel a memiliki 5 buah data string.
Nah, masing-masing data tersebut ditandai dengan sebuah subscrib atau index sebagai alamatnya, contoh :
DIM a(5) dengan data 5,4,3,2,1
maka data-data diatas akan dibaca secara urut atau sequensial.
Pemberian index bisa dimulai dengan 0 atau 1, misalnya kita pakai index 1 sebagai index awal, so datanya gini ni..
a(1) = 5
a(2) = 4
a(3) = 3
a(4) = 2
a(5) = 1
Nah, sampai sini ngerti kan?
Pengurutan Data
Ada beberapa teknik atau metode pengurutan data dalam array, ada Bubble Sort, Selection Sort, Insertion Sort. Disini penulis mencoba membeberkan teknik tersebut dan penulisan programnya dengan script standart basic, agar mudah dipahami sebagai bahasa pemograman yang paling dasar.
Bubble Sort
Metode pengurutan ini yaitu membandingkan data pertama/ data awal dengan data kedua, data kedua dengan data ketiga, dst.
Dengan kondisi jika data pusat/ data awal lebih besar dari data pembanding maka lakukan pertukaran (pengurutan secara ascending).
Kita ambil contoh:
DIM a(n)
n = 5
Data 5,4,3,2,1
a(1) = 5
a(2) = 4
a(3) = 3
a(4) = 2
a(5) = 1
Proses 1 :
Data a(1) dibandingkan dengan data a(2)
Data a(2) dibandingkan dengan data a(3)
Data a(3) dibandingkan dengan data a(4)
Data a(4) dibandingkan dengan data a(5)
5 4 3 2 1 –> sebagai data awal,
4 5 3 2 1
4 3 5 2 1
4 3 2 5 1
4 3 2 1 5 –> data terakhir dari setiap proses akan menjadi patokan pada proses pengurutan berikutnya
Proses 2 :
Data a(1) dibandingkan dengan data a(2)
Data a(2) dibandingkan dengan data a(3)
Data a(3) dibandingkan dengan data a(4)
3 4 2 1 5
3 2 4 1 5
3 2 1 4 5
Proses 3 :
Data a(1) dibandingkan dengan data a(2)
Data a(2) dibandingkan dengan data a(3)
2 3 1 4 5
2 1 3 4 5
Proses 4 :
Data a(1) dibandingkan dengan data a(2)
1 2 3 4 5 –> data telah urut
Pertukaran data / swapping dapat menggunakan statement SWAP tapi penulis mengajak untuk kita berlogika ria, yaitu dengan menggunakan variabel bantu.
Cls
Dim a(n)
n = 5
Data 5,4,3,2,1
for i = 1 to n
read a(i)
next i
for j = 1 to n-1
for k = 1 to n-j
if a(k) > a(k+1) then
x = a(k)
a(k) = a(k+1)
a(k+1) = x
end if
next k
next j
for i = 1 to n
print a(i)
next i
end
Selection Sort
Metode pengurutan data dalam selection sort yaitu membandingkan data pertama/ data awal sebagai data pusat dengan data kedua, ketiga, keempat dst.
Dengan kondisi jika data pusat/ data awal lebih besar dari data pembanding maka lakukan pertukaran, (pengurutan secara ascending).
Masih dengan contoh yang sama seperti sebelumnya :
DIM a(n)
n = 5
Data 5,4,3,2,1
a(1) = 5
a(2) = 4
a(3) = 3
a(4) = 2
a(5) = 1
Proses 1 :
Data a(1) dibandingkan dengan data a(2)
Data a(1) dibandingkan dengan data a(3)
Data a(1) dibandingkan dengan data a(4)
Data a(1) dibandingkan dengan data a(5)
5 4 3 2 1 –> sebagai data awal,
4 5 3 2 1
3 5 4 2 1
2 5 4 3 1
1 5 4 3 2 –> data terakhir dari setiap proses akan menjadi patokan pada proses pengurutan berikutnya
Proses 2 : data a(2) sbg data pusat
Data a(2) dibandingkan dengan data a(3)
Data a(2) dibandingkan dengan data a(4)
Data a(2) dibandingkan dengan data a(5)
1 4 5 3 2
1 3 5 4 2
1 2 5 4 3
Proses 3 :
Data a(3) dibandingkan dengan data a(4)
Data a(3) dibandingkan dengan data a(5)
1 2 4 5 3
1 2 3 5 4
Proses 4 :
Data a(4) dibandingkan dengan data a(5)
1 2 3 4 5 –> data telah urut
Cls
Dim a(n)
n = 5
Data 5,4,3,2,1
for i = 1 to n
read a(i)
next i
for j = 1 to n-1
for k = 1+j to n
if a(j) > a(k) then
x = a(j)
a(j) = a(k)
a(k) = x
end if
next k
next j
for i = 1 to n
print a(i)
next i
end
Insertion Sort
Metode pengurutan data dalam insertion sort mengambil data kedua a(2) sebagai data awal/ pusat lalu kemudian membandingkannya dengan data pertama/sebelumnya, pada proses kedua mengambil data ketiga a(3) sbg data pusat lalu membandingkan dengan data sebelumnya dan seterusnya.
Dengan kondisi jika data pusat/ data awal lebih kecil dari data pembanding maka lakukan pertukaran, (pengurutan secara ascending).
Masih dengan contoh yang sama seperti sebelumnya (jgn bosan yah, hehehe) :
DIM a(n)
n = 5
Data 5,4,3,2,1
a(1) = 5
a(2) = 4
a(3) = 3
a(4) = 2
a(5) = 1
Proses 1 :
5 4 3 2 1 –> data awal
Data a(2) dibandingkan dengan data a(1)
4 5 3 2 1
Proses 2 :
4 5 3 2 1
Data a(3) dibandingkan dengan data a(2)
4 3 5 2 1
Data a(2) dibandingkan dengan data a(1)
3 4 5 2 1
Proses 3 :
3 4 5 2 1
Data a(4) dibandingkan dengan data a(3)
3 4 2 5 1
Data a(3) dibandingkan dengan data a(2)
3 2 4 5 1
Data a(2) dibandingkan dengan data a(1)
2 3 4 5 1
Proses 4 :
2 3 4 5 1
Data a(5) dibandingkan dengan data a(4)
2 3 4 1 5
Data a(4) dibandingkan dengan data a(3)
2 3 1 4 5
Data a(3) dibandingkan dengan data a(2)
2 1 3 4 5
Data a(2) dibandingkan dengan data a(1)
1 2 3 4 5
Nah, mudah2an yang baca bisa dapat pencerahan deh. Amin
Cls
Dim a(n)
n = 5
Data 5,4,3,2,1
for i = 1 to n
read a(i)
next i
for j = 1 to n-1
for k = 1+j to 1 step -1
if a(k) < a(k-1) then
x = a(k)
a(k) = a(k-1)
a(k-1) = x
end if
next k
next j
for i = 1 to n
print a(i)
next i
end
Nah, mudah2an yang baca bisa dapat pencerahan deh. Amin
2 Comments
contohkan program pascal yg menggunakan oprtor in
tks. D tggu scept y ^___________________^
itu kan tugas kuliah y