8/8/2019 3-Pengurutan
1/14
PengurutanPengurutanPengurutanPengurutan (Sorting)(Sorting)(Sorting)(Sorting)
RijalRijalRijalRijal FadilahFadilahFadilahFadilah S.SiS.SiS.SiS.Si
8/8/2019 3-Pengurutan
2/14
Tujuan Sorting Menunjukkan beberapa algoritma dalam
pengurutan Menunjukkan bahwa pengurutan merupakan
suatu persoalan yang bisa diselesaikan dengan
lain lengkap dengan kelebihan dankekurangannya
Dapat memilih algoritma yang paling sesuaiuntuk menyelesaikan suatu permasalahanpemrograman
8/8/2019 3-Pengurutan
3/14
Definisi Sorting Pengurutan data (sorting) didefinisikan sebagai
suatu proses untuk menyusun kembalihimpunan obyek menggunakan aturantertentu.
Menurut Microsoft Book-Shelf, definisialgoritma pengurutan adalah algoritma untukmeletakkan kumpulan elemen data ke dalamurutan tertentu berdasarkan satu ataubeberapa kunci dalam tiap-tiap elemen
8/8/2019 3-Pengurutan
4/14
2 Jenis Sorting Urut Naik (ascending) : dari data yang
mempunyai nilai paling kecil sampai palingbesar
Urut Turun (descending) : dari data yangmempunyai nilai paling besar sampaipaling kecil
8/8/2019 3-Pengurutan
5/14
Contoh Data bilangan 5, 2, 6 dan 4 dapat
diurutkan naik menjadi 2, 4, 5 dan 6 ataudiurutkan turun menjadi 6, 5, 4 dan 2.
Pada data yang bertipe char, nilai datadikatakan lebih kecil atau lebih besar dariyang lain didasarkan pada urutan relatif (collating sequence) sesuai dengan tabelASCII
8/8/2019 3-Pengurutan
6/14
Keuntungan dari Sorting Data Data mudah dicari, mudah untuk
dibetulkan, dihapus, disisipi ataudigabungkan. Dalam keadaan terurut, kita
data yang hilang
Mempercepat proses pencarian data yangharus dilakukan berulang kali
8/8/2019 3-Pengurutan
7/14
Metode Sorting (Pengurutan) Metode Penyisipan Langsung (Straight
Insertion Sort) Metode Penyisipan Biner (Binary Insertion
Sort) Metode Seleksi (Selection Sort) Metode Gelembung (Bubble Sort) Metode Shell (Shell Sort) Metode Quick (Quick Sort) Metode Penggabungan (Merge Sort)
8/8/2019 3-Pengurutan
8/14
Metode Penyisipan Langsung(Straight Insertion Sort)
Data dicek satu per satu mulai dari yangkedua sampai dengan yang terakhir.
Apabila ditemukan data yang lebih kecil
daripada data sebelumnya, maka datatersebut disisipkan pada posisi yang sesuai.
Analoginya sesuai dengan permainan kartu.
8/8/2019 3-Pengurutan
9/14
Algoritma Straight Insertion Sort1. i 1
2. Selama (i < N) kerjakan baris 3 s,d 93. x Data[i]4. j i-1
.6. Data[j+1] Data [j]7. j j-1
8. Data[j+1] x9. i i + 1
8/8/2019 3-Pengurutan
10/14
Contoh Straight Insertion SortIterasi Data[0] Data[1] Data[2] Data[3] Data[4] Data[5] Data[6] Data[7] Data[8] Data[9]Awal 12 35 9 11 3 17 23 15 31 20
i=1 1235
9 11 3 17 23 15 31 20
i=2 12 35 9 11 3 17 23 15 31 20
i=3 9 12 35 11 3 17 23 15 31 20
i=4 9 11 12 35 3 17 23 15 31 20
i=5 3 9 11 12 35 17 23 15 31 20
i=6 3 9 11 12 17 35 23 15 31 20
i=7 3 9 11 12 17 23 35 15 31 20
i=8 3 9 11 12 15 17 23 35 31 20
i=9 3 9 11 12 15 17 23 31 35 20
Akhir 3 9 11 12 15 17 20 23 31 35
8/8/2019 3-Pengurutan
11/14
Proses Pengurutan Data Tabel Pada saat i=1, x=Data[1]=35 dan j=0. Karena Data[0]=12
dan 35>12 maka proses dilanjutkan untuk i=2. Pada saat i=2, x=Data[2]=9 dan j=1. Karena Data[1]=35
dan 9
8/8/2019 3-Pengurutan
12/14
Menghitung Jumlah Perbandingan Dari algoritma dan prosedur di atas, jumlah perbandingan
(=C) minimum, rata-rata dan maksimum pada metodepenyisipan langsung adalah :
1NC min =
Jumlah perbandingan minimum terjadi jika data sudahdalam keadaan urut, sebaliknya jumlah perbandinganmaksimum terjadi jika dalam keadaan urut terbalik.
( ) /22NNC /42NNC
2max
2ratarata
+=
++=
8/8/2019 3-Pengurutan
13/14
Menghitung Jumlah Perbandingan Cara menghitung C min adalah dengan melihat kalang
paling luar yaitu i, pengulangan ini dimulai dari 1 sampaidengan N-1 atau sama dengan N-1
maxpergeseran. Apabila hal ini dilakukan sebanyak N-1 kali,maka C max adalah jumlah dari deret aritmatik 2, 3, 4, ,N atau (N-1)/2 . (2+N)
Cara menghitung C rata-rata adalah dengan menjumlahkanCmin dan C max dan dibagi dengan 2
8/8/2019 3-Pengurutan
14/14
Menghitung Jumlah Pergeseran Jumlah penggesaran (=M) minimum, rata-rata dan
maksimum( )
48-NNM
1NM
2
min
+=
=
7
2
( ) /243NNM
2max
ra ara a
+=