View
273
Download
5
Category
Preview:
DESCRIPTION
algoritma
Citation preview
ALGORITMAPENGURUTAN
1
MACAM PENGURUTANPengurutan atau sorting adalah menyusundata berdasarkan rangking nilai yangdimiliki data tersebut
Ascending atau pengurutan naik ,-2,-1,0,1,2, A,B,C,
Descending atau pengurutan turun ,2,1,0,-1,-2, ,C,B,A 2
METODE PENGURUTANStraight SelectionStraight InsertionBinary InsertionBubble SortPartition Exchange Sort atau Quick SortDiminishing Increment atau Shell SortTwo Way Merge SortRadix Sort
3
STRAIGHT SELECTIONMetode pengurutan seleksi langsung(straight selection) menggunakan caraiteratifmencari data terkecil/ terbesardan menempatkan pada posisi urutan awal
4
CONTOH STRAIGHT SELECTIONContoh :Metode ASC ( Pengurutan dari kecil sampaiterbesar)
Nilai terkecil diletakkan paling kiri. Bandingkan apakahurutan pertama lebih besar dari yang lainnya, jika ya makaditukar,
Bandingkan apakah urutan ke-2 lebih besar dari yanglainnya, jika ya maka ditukar, hasilnya akan seperti dibawahini :5
5 2 1 4 3
CONTOH STRAIGHT SELECTIONBandingkan apakah urutan ke-3 lebih besar dari yanglainnya, jika ya maka ditukar, hasilnya akan seperti dibawahini :
Bandingkan apakah urutan ke-4 lebih besar dari yanglainnya, jika ya maka ditukar, maka dilanjutkan, hasilnyaakan seperti dibawah ini :
Rumus banyaknya langkah = n -1 dimana n adalahbanyaknya data yang diurutkan.
6
STRAIGHT SELECTION
N
i = 1
i = i + 1
i = N
j = i + 1
j > N
Xi > Xjdummy = Xi
Xi = XjXj = dummy
j = j + 1
N N
Y
YY
735 2 1 4
STRAIGHT SELECTIONPrivate Sub SS_Sort()Dim I,J As IntegerDim Dummy As Single
For I = 1 To (N-1)For J = I To N
If X(I) > X(J) ThenDummy = X(I)X(I) = X(J)X(J) = Dummy
End IfNext J
Next I
End Sub 8
STRAIGHT INSERTION Metode pengurutan penyisipan langsung(straight insertion) menggunakan cara iteratifmencari posisi data dengan dibandingkanterhadap data sebelumnya
Data dicek satu per satu mulai dari yangpertama sampai dengan yang terakhir. Apabila ditemukan data yang lebih kecil daripada data sebelumnya, maka data tersebutdisisipkan pada posisi yang sesuai.
9
STRAIGHT INSERTIONAplikasinya lebih mudah apabila membayangkanpengurutan kartu.o Pertama-tama anda meletakkan kartu-kartutersebut di atas meja, kemudian melihatnya darikiri ke kanan.o Apabila kartu di sebelah kanan lebih kecildaripada kartu di sebelah kiri, maka ambil kartutersebut dan sisipkan di tempat yang sesuai.
10
CONTOH STRAIGHT INSERTIONContoh :Metode ASC ( Pengurutan dari kecil sampai terbesar)
Cek apakah angka 5 lebih besar dari angka di sebelah kanannya,jika ya, maka sisipkan ke tempat yang sesuai (antara 4 dan 1)
Cek apakah apakah angka 2 lebih besar dari angka di sebelahkanannya, jika ya maka sisipkan ke tempat yang sesuai, jikatidak lanjutkan ke angka berikutnya. Cek apakah 4 lebih besar dari angka di sebelah kanannya, jikatidak lanjutkan ke angka berikutnya Cek apakah 5 lebih besar dari angka di sebelah kanannya, jikajika ya, maka sisipkan angka 1 ke tempat yang sesuai
11
2 4 5 1 3
1 2 4 5 3
5 2 4 1 3
CONTOH STRAIGHT INSERTION
Cek apakah apakah angka 5 lebih besar dari angka di sebelahkanannya, jika ya maka sisipkan angka 3 pada posisi yangsesuai (antara 2 dan 4)
12
1 2 3 4 5
1 2 4 5 3
STRAIGHT INSERTION
N
i = 2
i = i + 1
i > N
j = i
j = 1
Xj < Xj-1
j = j - 1
N N
Y
YY
dummy = XjXj = Xj-1
Xj-1 = dummy
1335 2 1 4
STRAIGHT INSERTIONPrivate Sub SI_Sort()Dim I,J As IntegerDim Dummy As Single
For I = 2 To NFor J = I To 2 Step -1
If X(J) < X(J-1) ThenDummy = X(J)X(J) = X(J-1)X(J-1) = Dummy
End IfNext J
Next I
End Sub 14
BINARY INSERTIONMetode pengurutan penyisipan biner(binary insertion) menggunakan caraiteratif mencari posisi datadibandingkan dengan rangkaian datayang telah diurutkan sebelumnya,selanjutnya menggeser data-data yanglebih besar.
15
BINERY INSERTION SORT Metode ini merupakan pengembangan darimetode penyisipan langsung. Dengan cara penyisipan langsung, perbandinganselalu dimulai dari angka/elemen pertama (i=0)sehingga untuk menyisipkan angka/elemen ke ikita harus melakukan perbandingan sebanyak i -1 kali. Ide dari metode ini didasarkan pada kenyataanbahwa pada saat menggeser data ke-i, data ke 0s/d i-1 sebenarnya sudah dalam keadaan terurut
16
CONTOH BINERY INSERTION SORT Misalnya data yang akan dipindah adalah 15sedangkan data di sebelah kiri 15 adalah sebagaiberikut :
Pertama-tama dicari data pada posisi palingtengah diantara data diatas. Data yang terletak di tengah adalah data ke-4,yaitu 12. Karena 12 < 15, berarti 15 harus disisipkan disebelah kanan 12. Oleh karena itu, prosespencarian dlanjutkan lagi untuk data berikut
BINERY INSERTION SORT
Dari hasil ini, didapat data tengahnyaadalah data 23. Karena 15 < 23, berarti 15harus disisipkan di sebelah kiri 23. Prosesdilanjutkan kembali untuk data
Karena 17 > 15, berarti 15 harus disisipkandi sebelah kiri 17
BINARY INSERTION
N
i = 2
i = i + 1
i > N
j = 1
j = i
Xi < Xjdummy = Xi
j = j + 1
N N
Y
YYk = i
k = j
Xk = Xk-1k = k - 1
Xj = dummyj = i
N
Y
1935 2 1 4
BINARY INSERTIONPrivate Sub BI_Sort()Dim I,J,K As IntegerDim Dummy As SingleFor I = 2 To N
J = 1Do
If X(I) < X(J) ThenDummy = X(I)For K = I to (J+1) Step -1
X(K) = X(K-1)Next KX(J) = DummyJ = I
ElseJ = J + 1
End IfLoop Until J = I
Next I
End Sub20
BUBBLE SORTMetode pengurutan gelembung (bubblesort) menggunakan cara iteratifmempertukarkan data yangberdampingan sesuai urutan nilai
Dimetode bubble sort, proses pengurutandimulai dengan membandingkan elemenpertama untuk mendapatkan angkaterbesar. Lalu angka tersebutditempatkan pada elemen terakhir
21
CONTOH BUBBLE SORTContoh :elemen pertama dibandingkan dengan elemen ke-2. Jika isielemen ke-2 lebih kecil dari elemen pertama, maka isi keduaelemen tersebut ditukar. Sehingga isi array berubah menjadi
Elemen ke-2 dibandingkan dengan elemen ke-3. karenaelemen ke 3 lebih kecil dari elemen ke-2, maka ditukar.Sehingga menjadi
Elemen ke-3 dan ke-4 dibandingkan. Karena elemen ke-4lebih kecil dari elemen ke-3, maka ditukar 22
5 2 1 4 3
2 5 1 4 3
2 1 5 4 3
CONTOH BUBBLE SORTElemen ke-4 dan ke-5 dibandingkan. Karena elemen ke-5lebih kecil dari elemen ke-4, maka ditukar menjadi
Proses perbandingan seperti diatas dilakukan secaraberulang sampai pada elemen terakhir. Sehingga padaakhirnya akan dihasilkan bilangan terbesar yangditempatkan pada posisi elemen terakhirProses diatas hanya mencari bilangan terbesar pertama.Ulangi proses tersebut untuk mencari bilangan terbesarlainnya setelah bilangan terbesar pertama tadi.Proses perbandingan hanya dilakukan mulai dari elemenpertama sampai elemen ke-4. 23
2 1 4 5 3
2 1 4 3 5
CONTOH BUBBLE SORT
Elemen ke-1 dan ke-2 dibandingkan. Karena elemen ke-2lebih kecil dari elemen ke-1, maka ditukar menjadi
Elemen ke-2 dan ke-3 dibandingkan. Karena elemen ke-3lebih besar dari elemen ke-2, maka tidak ditukar
24
2 1 4 3 5
1 2 4 3 5
1 2 4 3 5
CONTOH BUBBLE SORT
Elemen ke-3 dan ke-4 dibandingkan. Karena elemen ke-4lebih kecil dari elemen ke-3, maka ditukar menjadi
Proses diatas mencari bilangan terbesar kedua.Ulangi proses tersebut untuk mencari bilangan terbesarketiga, keempat sampai yang terkecil
25
1 2 4 3 5
1 2 3 4 5
BUBBLE SORT
N
i = 1
i = i + 1
i = N
j = 1
j > N - i
Xj > Xj+1
j = j + 1
N N
Y
YY
dummy = XjXj = Xj+1
Xj+1 = dummy
2635 2 1 4
BUBBLE SORTPrivate Sub BS_Sort()Dim I,J As IntegerDim Dummy As Single
For I = 1 To (N-1)For J = 1 To (N-I)
If X(J) > X(J+1) ThenDummy = X(J)X(J) = X(J+1)X(J+1) = Dummy
End IfNext J
Next I
End Sub 27
POPULAR SORTING ALGORITHM1 Simple sorts1.1 Insertion sort1.2 Selection sort
2 Efficient sorts2.1 Merge sort2.2 Heapsort2.3 Quicksort
3 Bubble sort and variants3.1 Bubble sort3.2 Shell sort3.3 Comb sort
4 Distribution sort4.1 Counting sort4.2 Bucket sort4.3 Radix sort 28
TUGAS
Buat powerpoint yang menjelaskan algoritmasorting yang ditentukan, lengkap denganflowchart dan VB Minggu depan presentasi
29
Kelompok 1 Efficient sortsKelompok 2Kelompok 3 Bubble sort and variantsKelompok 4Kelompok 5 Distribution sortKelompok 6
Recommended