PENGURUTAN
Pengurutan (sorting)
adalah proses mengatur sekumpulan obyek menurut urutan atau susunan tertentu.
Urutan tersebut dapat menaik (ascending) maupun menurun (descending). Bila N obyek (data) disimpan dalam larik L,
maka pengurutan menaik berarti menyusun elemen larik sedemikian sehingga
menjadi :
L[1] > L[2] > L[3 ] …….. > L[N]
Sedangkan pengurutan menurun
berarti menyusun elemen larik sedemikian sehingga menjadi :
L[1] < L[2] < L[3] <…..
< L[N]
Pada pembahasan berikut akan
disajikan tiga buah metode pengurutan yaitu :
-
Pengurutan Gelembung (Bubble Sort)
-
Pengurutan Maksimim / Minimum (Maximum / Minimum
Sort)
-
Pengurutan Sisip (Insertion Sort).
1. Pengurutan Gelembung (Bubble
Sort)
Metode pengurutan gelembung diinspirasi oleh
gelembung sabun yang berada di atas permukaan air. Karena berat jenis gelembung
lebih ringan daripada berat jenis air, maka gelembung sabun selalu mengapung ke
atas permukaan. Prinsip pengapungan ini juga digunakan pada pengurutan
gelembung. Elemen array yang paling kecil “diapungkan” , artinya diangkat
keatas (atau keujung kiri array) melalui proses pertukaran. Proses pengapungan
ini dilakukan sebanyak N kali langkah.
Algoritma pengurutan Gelembung (Bubble
Sort), untuk mendapatkan array yang terurut menaik, proses yang dilakukan pada
setiap langkah adalah sebagai berikut:
Langkah
I : mulai dari elemen K = N, N-1, ….2, bandingkan L[K] dengan L[K-1].
Jika L[K] < L[K-1], pertukarkan L[K]
dengan L[K-1]. Pada akhir langkah ke 1, elemen L[1] berisi harga minimum
pertama.
Langkah
2 : mulai dari elemen K = N, N-1, ….3, bandingkan L[K] dengan L[K-1].
Jika L[K] < L[K-1], pertukarkan L[K]
dengan L[K-1]. Pada akhir langkah ke 2, elemen L[2] berisi harga minimum kedua
dan larik L[1..2] terurut.
Langkah
3 : mulai dari elemen K = N, N-1, ….4, bandingkan L[K] dengan L[K-1].
Jika L[K] < L[K-1], pertukarkan L[K]
dengan L[K-1]. Pada akhir langkah ke 3, elemen L[3] berisi harga minimum ketiga
dan larik L[1..3] terurut.
Langkah
N-1 : mulai dari elemen K = N, N-1, ….2, bandingkan L[K] dengan L[K-1].
Jika L[K] < L[K-1], pertukarkan L[K]
dengan L[K-1]. Pada akhir langkah ke N-1, elemen L[N-1] berisi harga minimum
ke- (N-1) dan larik L[1..N-1]terurut menaik (elemen yang tersisa adalah L[N],
tidak perlu diurut karena hanya satu-satunya).
0 komentar:
Posting Komentar