Page 18 - E-Modul Pembelajaran Informatika Fase E_2_Neat
P. 18
e. Pengurutan Cepat (Quick Sort)
Sama halnya dengan pengurutan penggabungan, algoritma pengurutan cepat juga menggunakan konsep
pembagian kelompok data menjadi kelompok-kelompok yang leih kecil namun dengan pendekatan yang berbeda.
Pengurutan cepat juga menerapkan pembagian kelompok data, kemudian melakukan penggabungan. Perbedaannya
adalah pada proses pengurutan cepat, proses pengurutan data dilakukan pada langkah yang tepat.
Pengurutan cepat juga dikenal dengan nama pengurutan pertukaran-partisi (partition-exchange sort). Algoritma
ini terdiri atas 3 bagian utama, sebagai beriikut.
1. Elemen yang kurang dari elemen pivot. Dalam E-modul ini, kita akan menyebutnya elemen kecil.
2. Elemen pivot, yang digunakan sebagai elemen pusat.
3. Elemen yang lebih besar dari elemen pivot. Dalam E-modul ini, kita menyebutnya elemen besar.
Elemen Pivot adalah elemen yang dijadikan sebagai elemen pusat. Elemen ini memisahkan elemen kecil dengan
elemen besar. Elemen pivot dapat dipilih secara sembarang dari kumpulan elemen yang ada, dapat dipilih dari elemen
pertama, elemen terakhir, atau sembarang elemen yang lain.
Sebagai contoh, kita mempunyai array yang terdiri atas elemen-elemen: A = {12, 10, 4, 14, 16, 7, 18, 5, 13, 9}. Kita
memutuskan untuk memilih 12 sebagai elemen pivot. Selanjutnya, susunan elemen dari array akan menjadi sebagai
berikut A = {7, 10, 4, 9, 5, 12, 18, 16, 13, 14}. Jika dibuat dalam langkah-langkah yang rinci, proses yantg dilakukan pada
algoritma pengurutan cepat untuk contoh tersebut sebagai berikut.
1. Pilih elemen pertama sebagai pivot, yaitu 12. Semua elemen yang lebih kecil daripada 12 ditempatkan sebelah
kiri dan semua elemen yang lebih besar daripada 12 ditempatkan disebelah kanan. Hal ini dilakukan dengan cara
menukarkan posisi 9 dan 14, 5 dan 16 serta 7 dan 12.
2. Pilih elemen pertama (dalam hal ini 7) sebagai pivot untuk subarray sebelah kiri. Lakukan pengaturan yang
sama dengan cara mempertukarkan 5 dan 10 serta 4 dan 7.
3. Untuk Subarray sebelah kiri 7, pilih 4 sebagai pivot, tidak ada pertukaran elemen.
4. Untuk Subarray di sebelah kiri 7 dan 12, pilih 9 sebagai pivot, tidak ada pertukaran elemen.
5. Untuk Subarray sebelah kanan 12, pilih 18 sebagai array. Tempatkan semua elemen yang lebih kecil daripada 18
disebelah kiri, sehingga elemen 14 dan 18 dipertukarkan.
6. Untuk Subarray diantara 12 dan 18, pilih 14 sebagai pivot. Dengan cara yang sama, pertukarkan 13 dan 16 serta
13 dan 14. Semua elemen telah berurutahn.
7. Langkah-langkah yang telah dijelaskan tersebut dapat dilihat pada tabel berikut.
Proses pengurutan menggunakan algortima pengurutan penggabungan.
Sumber: Buku Informatika SMA/MA Kelas X Jilid 1 dari PT Penerbit Erlangga halaman 28
14