Teknik Pengurutan Sederhana

advertisement
Teknik Pengurutan Sederhana
Teknik Pengurutan
Secara umum, metode pengurutan dapat dikelompokkan dalam 2 kategori yaitu
metode pengurutan sederhana (elementary sorting methods) dan metode pengurutan
lanjut (advanced sorting methods). Metode pengurutan sederhana meliputi:
•
bubble sort
•
selection sort
•
insertion sort
Sedangkan metode pengurutan lanjut diantaranya adalah:
•
shell sort
•
quick sort
•
merge sort
•
radix sort
Metode bubble sort merupakan metode pengurutan yang menggunakan konsep
gelumbung (bubble). Metode selection sort merupakan perbaikan dari metode bubble
sort dengan mengurangi jumlah perbandingan. Selection sort merupakan metode
pengurutan yang mencari nilai data terbesar atau terkecil dan kemudian
menempatkannya pada posisi yang sebenarnya, dimulai dari data diposisi 0 hingga
data diposisi N-1. Sedangkan metode insertion sort adalah metode pengurutan yang
biasa dipakai oleh pemain kartu dalam mengurutkan kartunya, yaitu menyisipkan
kartu dengan nilai yang lebih kecil ke posisi sebelum kartu pembandingnya.
Bubble Sort
Metode bubble sort merupakan metode pengurutan yang mengambil proses
dengan menggunakan bubble atau exchange. Perbandingan data dilakukan dari posisi
pertama atau posisi terakhir bergeser satu persatu sampai semua data dibandingkan.
Jika terdapat N data dan data terkoleksi dari urutan 0 sampai dengan N-1 maka
algoritma pengurutan dengan metode bubble sort adalah sebagai berikut:
1. Bandingkan posisi data i = 0 dan j = 1.
2. Jika data diposisi i lebih besar daripada data diposisi j, maka data diposisi i ditukar
dengan data diposisi j (swap). Jika tidak penukaran posisi tidak dilakukan.
3. Kemudian, lakukan perbandingan data diposisi i = 1 dan data diposisi j = 2.
Lakukan langkah 2, begitu juga untuk data berikutnya hingga i = N-2 dan j = N-1.
4. Ulangi langkah 1, 2 dan 3 untuk data diposisi 0 sampai dengan data diposisi N-2,
karena data di posisi N-1 adalah data dengan nilai terbesar. Untuk tahap
selanjutnya data yang dibandingkan akan semakin berkurang sebab data dengan
nilai yang lebih besar akan terposisi dibagian sebelah kanan data.
Tabel berikut menjelaskan langkah per langkah bagaimana metode bubble sort ini
bekerja.
Struktur Data
Author: Taufik Fuadi Abidin, M.Tech Ph.D
1
Tabel 1. Langkah demi langkah pengurutan dengan metode bubble sort.
44
55
12
42
94
18
06
67
Data Awal
44
12
42
55
18
06
67
94
Bandingkan data ke 1 dengan data ke 2, bila data
ke 1 lebih besar tukar, seterusnya sampai data
yang terbesar terletak di data ke 8
12
42
44
18
06
55
67
94
Bandingkan data ke 1 dengan data ke 2, bila data ke 1
lebih besar tukar, seterusnya sampai data yang terbesar
terletak di data ke 7
12
42
18
06
44
55
67
94
Bandingkan data ke 1 dengan data ke 2, bila data ke 1
lebih besar tukar, seterusnya sampai data yang terbesar
terletak di data ke 6
12
18
06
42
44
55
67
94
Bandingkan data ke 1 dengan data ke 2, bila data
ke 1 lebih besar tukar, seterusnya sampai data
yang terbesar terletak di data ke 5
12
06
18
42
44
55
67
94
Bandingkan data ke 1 dengan data ke 2, bila data ke 1
lebih besar tukar, seterusnya sampai data yang terbesar
terletak di data ke 4
06
12
18
42
44
55
67
94
Bandingkan data ke 1 dengan data ke 2, bila data ke 1
lebih besar tukar, seterusnya sampai data yang terbesar
terletak di data ke 3
06
12
18
42
44
55
67
94
Bandingkan data ke 1 dengan data ke 2, bila data ke 1
lebih besar tukar, seterusnya sampai data yang terbesar
terletak di data ke 2
06
12
18
42
44
55
67
94
Data setelah terurut
Berikut implementasi dari metode bubble sort dengan menggunakan bahasa C:
void bubblesort(int arr[]) {
int i,j;
for (i = N; --i>=0;) {
for (j = 0; j<i; j++) {
if (arr[j] > arr[j+1]) {
int temp = arr[j];
arr[j]
= arr[j+1];
arr[j+1] = temp;
}
}
}
}
Struktur Data
Author: Taufik Fuadi Abidin, M.Tech Ph.D
2
Download