139
Abstrak
Pengurutan data atau sorting merupakan salah satu jenis operasi penting dalam
pengolaan data. Hampir setiap saat dalam kehidupan sehari-hari sering dijumpai permasalahan
permasalahan yang harus diselesaikan dengan melibatkan operasi pengurutan data,
Pengurutan data dapat diartikan juga sebagai tekhnik yang lebih jauhnya lagi digunakan
sebagai dari proses yang besar. Sehingga pengurutan data seharusnya bukanlah merupakan
masalah program yang komplek. Artikel ini memberikan pembaca sebuah perbandingan
diantara dua pengurutan algoritma yaitu algoritma quicksort dan algoritma bucketsort, yang
merupakan perbandingan yang mendasar dan tidak mendasar, dalam tampilan waktu dan
ruang. Bentuk data yang digunakan dalam artikel ini adalah sebuah tipe data interger
Pengujian yang dibawa dengan menggunakan dua tipe kondisi data, yang merupakan kondisi
kasus yang paling buruk dalam setiap algoritma, dan dua jumlah data, yang menampilkan
jumlah maksimal dan minimun dari sebuah data.
dikenal dengan nama Sorting by Exchange. data, sedangkan sort adalah bagian yang
Seiiring berjalannya waktu, berbagai macam melakukan proses rekursif. Semakin besar
metode dalam algoritma pengurutan terus jumlah data, maka kompleksitas ruang suatu
ditemukan sampai saat ini. beberapa contoh algoritma rekursif akan semakin besar.
dari algoritma pengurutan yang populer, yakni Quicksort menggunakan metode divide and
Bubble Sort, Insertion Sort, Selection Sort, conquer untuk membagi suatu list menjadi
Shell Sort, Merge Sort, Heapsort, Quicksort, dua
dan Bucket Sort. sub-list. Langkah-langkahnya adalah sebagai
Algoritma pengurutan juga berikut.
diimplementasikan dalam penggunaan 1. Pilih salah satu elemen, bernama pivot,
algoritma pencarian yang efektif. Salah satu dari list.
algoritma pencarian yang mengharuskan 2. Melakukan pengurutan pada list sehingga
untuk semua elemen yang memiliki nilai lebih
menggunakan algoritma pengurutan dalam kecil dari pivot diletakkan sebelum pivot,
implementasinya adalah Binary Search. Tipe sedangkan semua elemen yang memiliki
data yang diurutkan beragam, mulai dari nilai lebih besar dari pivot diletakkan
bilangan bulat, bilangan bertipe floating point, setelah pivot. Elemen yang memiliki
karakter, ataupun string. Namun, tidak semua kesamaan nilai dengan pivot dapat
algoritma pengurutan dapat mengurutkan diletakkan sebelum ataupun sesudah
seluruh tipe data. Beberapa algoritma pivot. Operasi ini dinamakan operasi
pengurutan hanya dapat digunakan dengan partisi.
tipe data tertentu. Heineman, Selkow, dan 3. Melakukan pengurutan pada sub-list yang
Pollice (2008) menyatakan salah satu contoh lebih kecil dan besar sampai sub-list
algoritma non-comparison based yang hanya berukuran 1. Hal ini dapat dilakukan
cocok digunakan untuk mengurutkan data secara rekursif maupun non-rekursif.
bilangan saja yaitu algoritma Bucket sort. 4. Menggabungkan list. Berdasarkan hasil
Algoritma quick sort adalah algoritma pemaparan langkah-langkah
pengurutan data menggunakan metode sebelumnya.
patition exchange sort, diperkenalkan oleh Bucket Sort
(C.A.R. Hoare pada tahun 1960). Sementara Bucket sort merupakan salah satu bentuk
Algoritma Bucket Sort pengurutan yang algoritma divide concuer melalui metode
membagi N data ke dalam berbagai ember, partisi dan berjalan dalam keadan linier time
atau bucket, metode yang digunakan yaitu (Wilkinson & Allen, 2005). Secara teoritis
dengan insertion sort. proses pengurutan dilakukan dengan
Quick Sort membagi dan memecah humpunan array ke
Quick Sort merupakan suatu algoritma dalam beberapa ember virtual secara
pengurutan data yang menggunakan teknik merata. Adapin ember yang dijadikan partisi n
pemecahan data menjadi partisi, sehingga dayta kemudian diurutka secara individual,
metode ini disebut juga dengan nama menggunakan algoritma sorting yang
partition exchange sort. Untuk memulai berbeda atau melalui penerapan Bucket Sort
irterasi pengurutan,, pertama tama sebuah secara rekursif. Ember virtual yang merupakn
elemen didpilih dari data, kemudan elemen – partisi atasa n array dan merupakan proses
elemen data akan di urutkan di atur acak yang mendistribusikan elemen seragam
sedemikian rupa. pada interval [0,1], dimana pembagian
Algoritma quick sort memiliki kompleksitas tersebut dilakukan merata sama besar.
0(n log n) dimana pada prakteknya lebih Dengan asumsi input dalam n elemen pada
cepat dari algoritma pengurutan lainnya. array a, untuk masing –masing A memenuhi
Namun kemungkinan terburuknya, algoritma 0 ≤ A [i] ≤ I, sehingga membutuhkan array
quick sortini dapat memiliki kompleksitas bantu B yang merupakan ember sub interval
0(n2). Meskipun ini sangat langka terjadi. (Wilkinson & Allen,2005).
Quicksort dengan pendekatan rekursif tidak Langkah-langkah pada pemrosesan data
membutuhkan struktur data khusus, seperti dengan algoritma Bucket sort adalah sebagai
stack, karena setiap kelompok akan berjalan berikut.
secara rekursif. Sedgewick R. dan Wayne K. 1. Membuat suatu inisial array (ember)
(2011) menyatakan bahwa terdapat dua kosong sebanyak jumlah array yang
bagian pada pendekatan rekursif, yaitu sort diberikan.
dan partisi. Partisi merupakan bagian yang
melakukan tugas untuk pengelompokkan
2. Memasukan setiap objek pada array yang Prinsip kerja insertion sort adalah :
ingin diurutkan ke dalam ember yang 1. pengecekan mulai dari data ke-1 sampai
sesuai. ke-n
3. Melakukan pengurutan pada setiap objek 2. bandingkan data ke-1 (1=data ke-2s/d
yang ada di tiap ember, dapat dilakukan data ke-n)
dengan algoritma lain, seperti Insertion 3. bandingkan data jika lebih kecil maka
Sort. data ke-1 tersebut dengan data
sebelumnnya (i-1), jika lebih kecil maka
2. Metode Penelitian data trsebut dapat disisipkan kedata awal
Metode yang digunakan dalam penelitian kali sesuai dengan posisi yang seharusnya.
ini adalah dengan menggunakan metode Contoh: insertion sort
pengurutan data diantaranya : mengunakan Data: 22 10 15 3 8 2
Quick Sort dan Bucket Sort. Data tersebut Iterasi 1
bertipe integer dan diambil secara acak untuk 1 2 3 4 5 6
Quick Sort sebanyak 10 Data dan Bucket Langkah 1 : 22 10 15 3 8 2
Sort Sebanyak 5 Data. Langkah 2 : 10 22 15 3 8 2
Metode Quick Sort Langkah 3 : Ulangi langkah 1 dan 2
Sebagai contoh terdapat data 23, 45, 12, 24,
56, 34, 27, 23, 16 maka ilustrasi Iterasi 2
pengurutannya adalah sebagai berikut: Langkah 1 : 10 22 15 3 8 2
Langkah 2 : 10 15 22 3 8 2
Langkah 3 : Ulangi langkah 1 dan 2
Referensi
Astrachan owen Bubble Sort : An
Archaeological Algorithmmic
Analysis. S12GCSE ’03 Proceedings
th
of the 34 SIGCSE technical
Tabel 4.4 Hasil Pengujian Bucket Sort
symposium on Computer science
education, 2003; Hal. 1-5
DATA SEBELUM TERURUT
Enter the size of array : 5
Canaan C Garai M.S, Daya M. Popular
Enter the 5 elements to be sorted : Sorting Algorithms. World Applied
43521 Programming Journal, 2011; 1(1): 62-
71
The array of elements before sorting :
43521 Drozdek, A. 2001. Data Structures and
The array of elements after sorting : Algorithms in C++. Brooks/Cole Thomson
1234 Learning. California. USA.