Perbandingan Tiga Algoritma Sorting : Heap Sort, Radix Sort, dan Quick Sort
Three Sorting Algorithm Comparison : Heap Sort, Radix Sort, and Quick Sort
Dimana n merupakan jumlah elemen yang akan Algoritma ini memiliki kompleksitas yang kurang
diurutkan. Sementara untuk komplesitas ruangnya baik, seperti ditunjukan pada tabel 2.1.
adalah O(1) yang berarti konstan, atau dengan kata (https://www.bigocheatsheet.com)
lain, algoritma ini sangat efisien dalam penggunaan
memori. Best Average Worst
Tabel 2.2 Kompleksitas Waktu Radix Sort Dari perbandingan ketiga algoritma tersebut,
diprediksi bahwa algoritma yang paling cepat ketika
Dengan n merupakan jumlah elemen yang akan
dieksekusi adalah algoritma radix sort, sekaligus
diurutkan sementara k merupakan jumlah digit
algoritma yang memiliki efisiensi memori tertinggi.
terbanyak dari seluruh elemen. Untuk kompleksitas
ruangnya sendiri adalah O(n+k) alias linear. 2.2. Pengujian Algoritma
Sehingga kebutuhan memori tidak terlalu banyak. Untuk pengujian algoritma, akan dibuatkan file
masing – masing algoritma dengan 2 jenis data uji
2.1.3. Quicksort
yakni data random dalam modul program dan dataset
Quicksort merupakan algoritma divide and conquer,
yang disiapkan dalam file eksternal. Data random
algoritma ini akan memecah array yang besar
menggunakan modul dalam program memiliki
menjadi dua sub array yang lebih kecil. Selanjutnya
kelebihan yakni tidak perlu waktu eksekusi tambahan
tiap – tiap subarray akan disorting, kemudian
untuk membuka dan membaca file, sehingga
digabung kembali. Proses berikut menjelaskan
mendekati waktu eksekusi murni. Kelemahannya
langkah – langkah quicksort (Sonita, A. dan
adalah data yang dihasilkan akan selalu berbeda setiap
Nurtaneo, F. 2015).
kali program dijalankan sehingga untuk kasus data
1. Ambil sebuah elemen dari array, beri nama random melalui modul, dilakukan percobaan sepuluh
pivot. kali berturut – turut kemudian diambil rata – rata
waktu eksekusinya. Sementara data random yang
2. Urutkan kembali array sehingga elemen yang disimpan dalam file eksternal akan membutuhkan
lebih kecil dari pivot berada sebelum pivot dan waktu tambahan untuk membuka dan membaca file,
elemen yang lebih besar berada setelah pivot. tetapi akan lebih konkrit perbandingannya karena
Langkah ini disebut partition. setiap algoritma akan menggunakan data yang sama.
3. Secara rekursif, urutkan kembali sub-array Algoritma ditulis dalam bahasa C dengan sumber :
elemen yang lebih kecil dan sub-array elemen 1. heap sort
yang lebih besar. https://www.sanfoundry.com/c-program-
implement-heap-sort/
3