Anda di halaman 1dari 4

ISSN 2085-4552 ISSN 2085-4552

Dari hasil implementasi ini, beberapa jenis [3] Achmad Rouzni Noor, http://inet.detik.com/re Komparasi Algoritma Quicksort
ad/2014/09/07/145134/2683613/328/2/useetv-
device (Android versi 3 ke bawah, Blackberry
OS7 ke bawah, dan Windows Phone) yang secara
diharap-bisa-sebesar-netflix. Diakses tanggal 15
Mei 2015.
dan Bucket Sort pada Pengurutan Data Integer
default tidak di-support oleh layanan catch-up TV
[4] Cambridge Advanced Learners Dictionary &
jadi bisa menikmati layanan catch-up TV. Thesaurus, http://dictionary.cambridge.org/
dictionary/british/catch-up-tv. Diakses tanggal 15 Audy
Kelanjutan dari penelitian ini kemungkinan Mei 2015. Program Studi Teknik Informatika, Universitas Multimedia Nusantara, Tangerang, Indonesia
akan berfokus ke kualitas video streaming dengan [5] Pantos, R. (30 September 2011). “HTTP Live
audytanudjaja@gmail.com
bandwidth yang lebih efisien. Di mana kita Streaming”. Internet Engineering Task Force.
ketahui saat ini teknologi kompresi H.265 sudah [6] Mantoro, T., M. A. Ayu, and D. Jatikusumo.
mulai berkembang untuk menggantikan H.264. “Live video streaming for mobile devices: An Diterima 31 Maret 2015
Keuntungan dari teknologi H.265 adalah efisiensi application on Android platform.” Uncertainty Disetujui 08 Mei 2015
Reasoning and Knowledge Engineering (URKE),
penggunaan bandwidth yang mencapai sekitar 2012 2nd International Conference on. IEEE,
2012. Abstract—Data sorting is a technique that widely sesuai kebutuhan. Pencarian data yang efektif
40% dibandingkan H.264 [14]. used as a part of a bigger process. Therefore, dan efisien tidak dapat dilepaskan dari faktor
[7] Schulzrinne, Henning. “Real Time Streaming data sorting should not be the problem of keterurutan data. Data yang sudah terurut akan
Protocol (RTSP).” (1998). program complexity. This paper gives the reader mempermudah dan mempercepat pencarian data.
Parmar, Ed H., and Ed M. Thornburgh. “Real- a comparison between two sorting algorithms,
VI. SIMPULAN [8] Oleh karena itu, dibutuhkan suatu algoritma yang
Time Messaging Protocol (RTMP) specification.” which are comparison based and non-comparison
Adobe specifications, December (2012). based, in time and space performance. The data
dapat mengurutkan data secara benar, efektif, dan
RTSP/RTMP merupakan protokol streaming efisien.
Zambelli, Alex. “IIS Smooth Streaming technical type that used in this paper is an integer data type.
yang sudah dipergunakan secara luas, tetapi [9]
overview.” Microsoft Corporation 3 (2009). Testing is carried out by using two types of data’s
secara default tidak mendukung aplikasi catch- condition, which are the worst-case condition in Menurut Astrachan (2003) [2], algoritma
up TV. Dengan modifikasi pada platform internet [10] Jordan, Larry (10 June 2013). “The basics of each algorithm, and two amounts of data, which pengurutan, atau yang biasa dikenal sebagai
HTTP Live Streaming”. Larry’s Blog. Larry
TV, menggunakan modul livestreamrecord pada Jordan & Associates. represent the maximum and minimum amount Sorting Algorithm, telah muncul sejak tahun
Wowza 3.5 ke atas, dan pemrograman shell-script data. 1956. Algoritma tersebut dikenal dengan nama
pada Linux operating system, maka aplikasi [11] Andriescu, Emil, Roberto Speicys Cardoso, and Sorting by Exchange. Seiiring berjalannya
Valérie Issarny. “AmbiStream: a middleware for Index Terms—quicksort, bucket sort, pseudocode,
catch-up TV dapat dibuat. Aplikasi catch-up multimedia streaming on heterogeneous mobile waktu, berbagai macam metode dalam algoritma
TV pada tulisan ini sudah diimplementasikan di devices.” Middleware 2011. Springer Berlin cost, pivot, bucket, rekursif, integer, divide and pengurutan terus ditemukan sampai saat ini.
Heidelberg, 2011. 249-268. conquer
layanan internet TV UseeTV. Canaan dkk. (2011) [3] memberikan beberapa
[12] Foti, George. “Method and Internet Protocol contoh dari algoritma pengurutan yang populer,
Television (IPTV) content manager server for
UCAPAN TERIMA KASIH IPTV servicing.” U.S. Patent No. 7,716,310. 11 yakni Bubble Sort, Insertion Sort, Selection Sort,
May 2010. I. PENDAHULUAN Shell Sort, Merge Sort, Heapsort, Quicksort, dan
Terima kasih diucapkan kepada PT Telkom [13] Syme, Matthew, and Philip Goldie. Optimizing Bucket Sort.
Indonesia, yang juga tempat penulis bekerja untuk network performance with content switching: Perkembangan teknologi dunia sangat
mengembangkan layanan internet TV UseeTV. server, firewall, and cache load balancing, Chapter pesat. Hal ini terbukti dari kecepatan dan Setiap algoritma pengurutan memiliki
3. Understanding application layer protocols. pendekatan dan metode yang berbeda-beda
Prentice Hall Professional, 2004. kemudahan dalam penerimaan suatu informasi.
Informasi terbentuk dari hasil pemrosesan data. dalam menjalankan fungsinya. Secara garis besar,
DAFTAR PUSTAKA [14] Grois, Dan, et al. “Performance comparison of algoritma pengurutan dapat dikelompokkan
H. 265/MPEG-HEVC, VP9, and H. 264/MPEG- Di dalam buku Reference Model for an Open
[1] Breitman, Karin, et al. “When TV dies, will it go AVC encoders.” PCS. Vol. 13. 2013. Archival Information System (OAIS) [1], data menjadi dua kategori, yaitu algoritma pengurutan
to the cloud?.” Computer 43.4 (2010): 81-83. adalah suatu hal yang dapat diterjemahkan berbasis perbandingan (comparison based) dan
[2] PT Telkom Indonesia, http://www.useetv.com. dan direpresentasikan ke dalam bentuk formal tidak berbasis perbandingan (non-comparison
Diakses tanggal 15 Mei 2015. agar dapat digunakan untuk komunikasi, based). Joshi R., Panwar G.R., dan Pathak P.
interpretasi, atau pengolahan informasi. Seiiring (2013) [4] menyatakan bahwa pada umumnya,
berkembangnya teknologi, perkembangan jumlah algoritma pengurutan yang tidak berbasiskan
data yang dapat kita olah semakin besar sehingga perbandingan lebih cepat dibandingkan algoritma
dibutuhkan suatu cara untuk dapat mengolah data pengurutan yang berbasiskan perbandingan.
secara efisien dan efektif. Namun di sisi lain, dalam buku Data Structures
& Algorithms in Java yang dikarang oleh Lafore
Pengolahan data erat kaitannya dengan (2003) [5] menyatakan bahwa algoritma Quicksort
pencarian data, dimana dalam pencarian merupakan algoritma pengurutan tercepat secara
tersebut terdapat proses memilah-milah data praktis, dimana algoritma Quicksort merupakan

6 ULTIMATICS, Vol. VII, No. 1 | Juni 2015 ULTIMATICS, Vol. VII, No. 1 | Juni 2015 7
ISSN 2085-4552 ISSN 2085-4552

salah satu contoh dari algoritma yang berbasiskan menggambarkan analisis, kondisi terburuk, berbasis perbandingan adalah waktu pemrosesan Biasanya kasus ini terjadi jika memakai pivot
perbandingan. batas kompleksitas, dan teknik desain yang data yang lebih cepat dibandingkan algoritma berupa nilai median. Kasus terbaik algoritma
digunakan. Algoritma pengurutan telah banyak pengurutan yang berbasis perbandingan. Salah Quicksort memiliki kompleksitas n log n.
Penelitian sebelumnya yang dilakukan digunakan dalam aplikasi di dunia nyata, satu contoh algoritma pengurutan yang tidak
oleh Horsmalahti (2012) membahas mengenai seperti mengurutkan data NIM mahasiswa dan berbasis perbandingan adalah Counting Sort. Kedua adalah kasus terburuk, yaitu ketika
perbandingan algoritma Bucket Sort dan Radix mengurutkan tanggal laporan transaksi. semua elemen, kecuali pivot, hanya berada di
Sort menyatakan bahwa algoritma Bucket Sort salah satu kelompok sehingga kelompok lainnya
lebih cepat dibandingkan Radix Sort pada setiap Algoritma pengurutan juga menjadi kosong. Hal ini akan menyebabkan
kondisi [6]. Namun, dalam hal penggunaan diimplementasikan dalam penggunaan III. ALGORITMA QUICKSORT terjadinya banyak pengulangan pada saat
memori, Radix Sort membutuhkan kapasitas algoritma pencarian yang efektif. Salah satu pengurutan data. Nilai pivot pada kasus ini
A. Definisi
memori lebih kecil dibanding Bucket Sort, algoritma pencarian yang mengharuskan untuk biasanya adalah nilai maksimum atau minimum
terutama pada pengurutan data yang berjumlah menggunakan algoritma pengurutan dalam Quicksort adalah algoritma pengurutan dari kelompok data yang ingin diurutkan.
besar. P. K., Archana, dan Kumar (2014) juga implementasinya adalah Binary Search. Tipe data yang dikembangkan oleh Tony Hoare [12]. Kompleksitas dari kasus terburuk ini adalah ½ n2.
melakukan penelitian mengenai analisis performa yang diurutkan beragam, mulai dari bilangan Algoritma Quicksort melakukan perbandingan
dari algoritma pengurutan, yang diantaranya bulat, bilangan bertipe floating point, karakter, Kondisi yang ketiga adalah kasus rata-
sebayak n log n untuk mengurutkan data sebanyak
adalah Bubble Sort, Merge Sort, Radix Sort, dan ataupun string. Namun, tidak semua algoritma rata, yaitu ketika pivot tidak terpilih secara acak
n. kondisi paling buruk dari jumlah perbandingan
Quicksort. Hasil penelitian tersebut menunjukan pengurutan dapat mengurutkan seluruh tipe data. dari data. Kompleksitas dari kasus rata-rata sama
adalah n2. Secara praktis, Quicksort beroperasi
bahwa dari keempat algoritma pengurutan Beberapa algoritma pengurutan hanya dapat dengan kasus terbaikadalah 1.39 n log n.
lebih cepat dibanding algoritma dengan
tersebut, algoritma Quicksort adalah algoritma digunakan dengan tipe data tertentu. Heineman, kompleksitas n logn n lainnya [5].
yang paling baik untuk digunakan [7]. Selkow, dan Pollice (2008) [10] menyatakan salah
satu contoh algoritma non-comparison based Sareen (2013) [13] menyatakan bahwa C. Pseudocode
Oleh karena pemaparan diatas, penulis yang hanya cocok digunakan untuk mengurutkan keuntungan dari penggunaan algoritma Quicksort
ingin melakukan komparasi antara dua algoritma data bilangan saja yaitu algoritma Bucket sort. adalah cepat dan efisien, sedangkan kerugian yang Quicksort menggunakan metode divide and
pengurutan, yaitu Quicksort dan Bucket sort, dapat dialami adalah menghasilkan performa conquer untuk membagi suatu list menjadi
dalam mengurutkan data bertipe integer dan yang buruk apabila data sudah terurut. dua sub-list [12]. Langkah-langkahnya adalah
membandingkan performa yang dihasilkan oleh sebagai berikut.
kedua algoritma tersebut, baik dari sisi waktu B. Klasifikasi Algoritma Pengurutan
maupun penggunaan memori. 1. Pilih salah satu elemen, bernama pivot, dari
Cormen, dkk. (2001) [11] menyatakan B. Metode Rekursif dalam Algoritma Quicksort list.
bahwa algoritma pengurutan dapat
diklasifikasikan menjadi 2 kelompok, yaitu Quicksort dengan pendekatan rekursif 2. Melakukan pengurutan pada list sehingga
II. ALGORITMA PENGURUTAN pengurutan berbasis perbandingan (comparison semua elemen yang memiliki nilai lebih
tidak membutuhkan struktur data khusus, seperti
kecil dari pivot diletakkan sebelum pivot,
based) dan tidak berbasiskan perbandingan (non- stack, karena setiap kelompok akan berjalan sedangkan semua elemen yang memiliki nilai
comparison based). Pada umumnya, algoritma secara rekursif. Sedgewick R. dan Wayne K. lebih besar dari pivot diletakkan setelah pivot.
yang berbasiskan perbandingan dapat digunakan (2011) [14] menyatakan bahwa terdapat dua Elemen yang memiliki kesamaan nilai dengan
A. Definisi
untuk mengurutkan berbagai tipe data, ataupun bagian pada pendekatan rekursif, yaitu sort pivot dapat diletakkan sebelum ataupun
Rosen (202) [8] menyatakan bahwa variasi data dengan yang bertipe sama. Contoh dan partisi. Partisi merupakan bagian yang sesudah pivot. Operasi ini dinamakan operasi
algoritma adalah sebuah urutan instruksi yang dari algoritma pengurutan yang berbasiskan melakukan tugas untuk mengelompokkan data, partisi.
terbatas untuk melakukan komputasi atau untuk perbandingan adalah Bubble Sort, Insertion Sort, sedangkan sort adalah bagian yang melakukan
3. Melakukan pengurutan pada sub-list
menyelesaikan suatu masalah. Kalimat “urutan dan Selection Sort. proses rekursif. Semakin besar jumlah data, maka yang lebih kecil dan besar sampai sub-list
instruksi yang terbatas” menggambarkan bahwa kompleksitas ruang suatu algoritma rekursif akan berukuran 1. Hal ini dapat dilakukan secara
Algoritma pengurutan yang tidak semakin besar. rekursif maupun non-rekursif.
ada suatu nilai akhir atau output yang dihasilkan
berbasiskan perbandingan mengharuskan
oleh algoritma. Dalam mencapai nilai akhir 4. Menggabungkan list.
terdapat suatu properti-properti tertentu pada Sedgewick R. dan Wayne K. (2011)
tersebut, terdapat berbagai faktor yang menjadi
data yang ingin diurutkan, contoh properti [14] juga menyatakan bahwa terdapat tiga kasus
penentu tingkat kecepatan dan ketepatan suatu Berdasarkan hasil pemaparan langkah-
adalah tipe data harus suatu bilangan bulat. kompleksitas waktu pada penggunaan algoritma
hasil akhir. langkah diatas, maka pseudocode dari algoritma
Hal ini menyebabkan algoritma yang tidak Quicksort. Pertama adalah kasus terbaik, yaitu
Quicksort dengan pendekatan rekursif adalah
Menurut Bell dan Aspvall (2011) berbasis perbandingan menjadi lebih kaku (tidak ketika proporsi data yang ingin diurutkan
sebagai berikut [3].
[9], algoritma pengurutan adalah salah satu fleksibel) dibandingkan algoritma berbasis seimbang. Seimbang adalah keadaan dimana
pokok bahasan pada pembelajaran algoritma perbandingan. Namun, keuntungan yang didapat kelompok kiri dan kelompok kanan memiliki
yang menyediakan kesempatan baik untuk dari penggunaan algoritma pengurutan yang tidak jumlah anggota kelompok yang relatif sama.

8 ULTIMATICS, Vol. VII, No. 1 | Juni 2015 ULTIMATICS, Vol. VII, No. 1 | Juni 2015 9
ISSN 2085-4552 ISSN 2085-4552

B. Pseudocode V. PENGUJIAN Setiap jenis data terdiri dari dua jumlah


data yang berbeda, yaitu berjumlah 100 data
Langkah-langkah pada pemrosesan data dengan Dalam melakukan komparasi antara dan 3900 data. Hal ini dilakukan untuk melihat
algoritma Bucket sort adalah sebagai berikut. algoritma Quicksort dengan Bucket sort, penulis performa waktu dan penggunaan memori pada
menggunakan dua jenis data. Jenis data yang kondisi terburuk dari tiap algoritma. Penulis
1. Membuat suatu inisial array (ember) kosong pertama adalah data terurut. P. K., Archana,
sebanyak jumlah array yang diberikan. memilih 3900 sebagai jumlah data maksimal
dan Kumar (2014) menjelaskan bahwa kondisi karena angka tersebut merupakan batas
2. Memasukan setiap objek pada array yang terburuk (worst-case) dari algoritma Quicksort maksimum dari jumlah kedalaman suatu fungsi
ingin diurutkan ke dalam ember yang sesuai. adalah ketika pivot selalu membagi suatu array rekursif yang dapat ditangani oleh mesin yang
ke dalam dua bagian, dimana salah satu bagian penulis gunakan saat melakukan pengurutan
3. Melakukan pengurutan pada setiap objek berukuran besar (terdapat banyak data) dan dengan algoritma Quicksort, sedangkan angka
yang ada di tiap ember, dapat dilakukan bagian lain kosong, sehingga kompleksitas yang 100 dipilih sebagai batas minimal agar dapat
dengan algoritma lain, seperti Insertion Sort. dibutuhkan menjadi O(n2) [7]. Oleh karena itu, melihat perbedaan waktu yang dibutuhkan antar
untuk dapat menghasilkan kondisi ini, maka algoritma pengurutan dalam mengurutkan data.
Menggabungkan setiap ember secara terurut. penulis menggunakan data yang telah terurut
sehingga ketika melakukan pemilihan pivot dan Dalam melakukan penghitungan waktu
partisi, sebelah kiri dari pivot selalu kosong dan dan besar penggunaan memori yang dibutuhkan,
sebelah kanan dari pivot akan selalu terisi penuh penulis menggunakan bahasa pemrograman
IV. ALGORITMA BUCKET SORT oleh data-data yang akan diurutkan sehingga C# dengan framework DotNet. Penghitungan
jenis data ini dapat digunakan untuk melakukan waktu dilakukan dengan menggunakan class
analisis terhadap kondisi worst-case dari Stopwatch yang disisipkan sebelum dan sesudah
Quicksort. pemanggilan fungsi pengurutan, lalu dicetak total
A. Definisi
waktu yang digunakan dengan fungsi Elapsed.
Jenis data yang kedua adalah data yang Penghitungan besar memori yang digunakan
Menurut Joshi, Panwar, dan Pathak (2013)
bernilai antara 0 sampai 99, dimana ketika dilakukan dengan class GarbageCollector
[4], Bucket Sort adalah algoritma pengurutan
dilakukan pengurutan dengan algoritma Bucket (GC) yang disisipkan sebelum dan sesudah
yang membagi n data ke dalam berbagai
sort, seluruh data akan berada di dalam ember pemanggilan fungsi pengurutan, lalu menghitung
ember, atau bucket, berdasarkan karakteristik
yang sama. Cormen dkk. menjelaskan bahwa nilai perbedaan antara besar memori sesudah
tertentu, lalu melakukan pengurutan pada setiap Gambar 1: contoh operasi pengurutan dengan
penggunaan algoritma Bucket Sort membagi dilakukan pengurutan dengan besar memori
ember secara parsial. Cormen, dkk. (2001) Bucket Sort dengan n = 10
interval masukan menjadi n sub interval yang sebelum dilakukan pengurutan. Hal ini dilakukan
[11] menyatakan bahwa algoritma Bucket Sort
sama dan mendistribusikan n masukan ke dalam dengan fungsi GetTotalMemory.
mengasumsikan bahwa masukan dibuat secara
Berdasarkan hasil pemaparan langkah-langkah ember-ember [11]. Oleh karena itu, besar dari n
acak dan didistribusikan secara seragam dengan
diatas, maka pseudocode dari algoritma Bucket angka masukan harus terdistribusi secara seragam Pada data berjumlah 3900 dengan
kondisi tidak berketergantungan satu sama lain.
sort adalah sebagai berikut [6]. sehingga tidak banyak angka yang masuk pada kondisi sudah terurut, Quicksort memerlukan
Setiap ember dapat diurutkan dengan algoritma
suatu ember sehingga dapat diperoleh kondisi waktu pemrosesan data sebesar 75.2176
yang berbeda, contohnya adalah menggunakan
rata-rata (average case). Oleh karena itu, pada milisecond dengan penggunaan memori sebesar
Insertion Sort pada pengurutan tiap ember, atau
penelitian ini penulis menggunakan interval 8 KB, sedangkan Bucket Sort memerlukan waktu
dapat melakukan pengurutan dengan memanggil
sebesar 100 sehingga jenis data kedua, yaitu pemrosesan data sebesar 2.2923 milisecond
fungsi Bucket Sort secara rekursif.
data yang berada antara 0 sampai 99, akan dengan penggunaan memori sebesar 48 KB.
Jumlah dari ember yang dibuat sama berada pada satu ember yang sama. Hal ini akan
membuat algoritma Bucket Sort berada pada Pada data berjumlah 3900 yang bernilai
dengan jumlah data yang diberikan sehingga
kondisi terburuk (worst-case). Angka interval antara 0 sampai 99, Quicksort memerlukan
Bucket Sort membutuhkan tempat atau memori
yang digunakan bukanlah suatu angka mutlak, waktu pemrosesan data sebesar 2.9938
yang lebih besar sebagai ganti dari pengurangan
dapat berubah sesuai kebutuhan. Namun, untuk milisecond dengan penggunaan memori sebesar
cost pemrosesan data. Algoritma Bucket Sort
menghasilkan kondisi terburuk, seluruh data 8 KB, sedangkan Bucket Sort memerlukan waktu
memiliki kompleksitas waktu rata-rata sebesar
masukan harus berada diantara angka interval pemrosesan data sebesar 4.4289 milisecond
O(n) + n.O(2-1/n) = O(n). Walaupun masukan
yang didefinisikan. Penggunaan kedua jenis data dengan penggunaan memori sebesar 32 KB.
tidak terdistribusi secara seragam, Bucket Sort
akan tetap berjalan secara linear terhadap waktu ini bertujuan untuk melihat performa dari kondisi
Pada data berjumlah 100 dengan kondisi
selama jumlah ukuran ember sama dengan jumlah terburuk yang mungkin dialami algoritma Bucket
sudah terurut, Bucket Sort memerlukan waktu
masukan. Sort dan Quicksort.
pemrosesan data sebesar 0.0771 milisecond

10 ULTIMATICS, Vol. VII, No. 1 | Juni 2015 ULTIMATICS, Vol. VII, No. 1 | Juni 2015 11
ISSN 2085-4552 ISSN 2085-4552

dengan penggunaan memori 0 KB, sedangkan algoritma Bucket Sort lebih cepat dibandingkan DAFTAR PUSTAKA [9] Bell Tim, Aspvall Bengt. Sorting Algorithms as
Quicksort memerlukan waktu sebesar 0.0977 Quicksort dan perbedaan penggunaan memori Special Cases of a Priority Queue Sort. SIGCSE
milisecond dengan penggunaan memori sebesar antara kedua algoritma tidak signifikan. Jika data [1] CCDS. Reference Model for an Open Archival ‘11 Proceedings of the 42nd ACM technical
Information System (OAIS). Washington, DC: symposium on Computer science education, 2011;
0 KB. yang ingin diurutkan berjumlah banyak, maka
Magenta Book Issue 2; 2012. Hal. 123-128.
diperlukan pertimbangan lain dalam pemilihan
Pada data berjumlah 100 dengan nilai algoritma pengurutan yang ingin digunakan. [2] Astrachan Owen. Bubble Sort: An Archaeological [10] Heineman George T., Selkow Stanley, Pollice
antara 0 sampai 99, Bucket Sort memerlukan Algorithmic Analysis. SI2GCSE ‘03 Proceedings Gary. Algorithms in a Nutshell. O’Reilly Media;
waktu pemrosesan data sebesar 0.0276 Algoritma Quicksort lebih sesuai untuk of the 34th SIGCSE technical symposium on 2008.
milisecond dengan penggunaan memori sebesar digunakan pada data yang berjumlah banyak Computer science education, 2003; Hal. 1-5.
0 KB, sedangkan Quicksort memerlukan waktu dan memiliki nilai yang terdistribusi secara acak [11] Cormen Thomas H., Leiserson Charles E.,
pemrosesan data sebesar 0.0459 milisecond karena proses pengurutan data lebih cepat dan [3] Canaan C, Garai M.S, Daya M. Popular Sorting Rivest Ronald L., Stein Clifford. Introduction to
dengan penggunaan memori sebesar 0 KB. penggunaan memori empat kali lebih sedikit Algorithms. World Applied Programming Algorithms (third edition). USA: The MIT Press;
Journal, 2011; 1(1): 62-71. 2009.
dibandingkan dengan penggunaan algoritma
Bucket Sort, sedangkan algoritma Bucket Sort [4] Joshi Rohit, Panwar Govind Singh, Pathak [12] Signh Ramander, Kumar Vinod, Shrivastava A.K.,
akan lebih sesuai digunakan pada data yang Preeti. Analysis of Non-Comparison Based Kumar Shailendra, Tiwari Amod. RVA Sorting
berjumlah banyak dan tidak terurut karena proses Sorting Algorithms: A Review. International Based On Bubble & Quick Sort Technique.
pengurutan dapat dilakukan dengan 37 kali lebih Journal of Emerging Research in Management & ICTCS ‘14 Proceedings of the 2014 International
Technology, 2013; 2(12): Hal. 61-65. Conference on Information and Communication
cepat dibandingkan algoritma Quicksort. Namun,
Technology for Competitive Strategies, 2014; No.
algoritma Bucket Sort membutuhkan tempat [5] Robert Lafore. Data Structures & Algorithms in 87.
atau memori lebih besar dibandingkan algoritma Java. USA: Sams Publishing; 2003.
Quicksort yang hanya melakukan perbandingan [13] Sareen Pankaj. Comparison of Sorting Algorithms
[6] Horsmalahti Panu. Comparison of Bucket Sort (On the Basis of Average Case). International
secara rekursif. and RADIX Sort. arXiv, Cornell University
Jounral of Advanced Research in Computer
Library, 2012.
Science and Software Engineering, 2013; 3 (3):
[7] P.K. Dixit, Archana Sahoo, Kumar S. B. Hal. 522-532.
VII. SARAN Performance Analysis of Sorting Algorithm.
[14] Sedgewick R., Wayne K. Algorithms (Fourth
European Journal of Academic Essays, 2014; Edition). Addison-Wesley Professional; 2011.
Penulis juga menyarankan peneliti Special Issue (1): Hal. 36-43.
Gambar 2 : Contoh tampilan program selanjutnya untuk melakukan komparasi waktu
pengurutan menggunakan algoritma Quicksort pemrosesan dan pemakaian memori terhadap [8] Rosen, K. H. Discrete Mathematics and Its
dengan n = 100 algoritma pengurutan lainnya yang dapat Applications (7th ed.). New York: McGraw-Hill;
2012.
mengurutkan data dengan berbagai tipe, seperti
VI. SIMPULAN integer dan string, sehingga dapat diketahui
algoritma pengurutan yang paling optimal untuk
Pada penelitian ini telah dibahas digunakan secara praktis.
komparasi dari implementasi dari algoritma
pengurutan berbasis perbandingan, yaitu
Quicksort, dengan algoritma pengurutan yang UCAPAN TERIMA KASIH
tidak berbasiskan perbandingan, yaitu Bucket
Sort, terhadap data bertipe bilangan atau integer. Penulis mengucapkan terima kasih kepada
Analisa penggunaan waktu dan memori telah Bapak Seng Hansun, selaku dosen mata kuliah
dilakukan untuk menentukan algoritma yang Riset Teknologi Informasi UMN yang telah
paling tepat digunakan dalam pengurutan data membimbing penulis dalam menyusun paper ini.
bertipe integer. Penulis juga mengucapkan terima kasih kepada
keluarga dan rekan-rekan mahasiswa Teknik
Kedua algoritma pengurutan, baik Informatika UMN yang telah memberi dukungan
Quicksort dan Bucket Sort, telah dibandingkan dan semangat selama penelitian dan penyusunan
berdasarkan kondisi terburuk dari tiap algoritma. paper ini dilakukan.
Berdasarkan hasil pengujian, algoritma Bucket
Sort lebih sesuai untuk digunakan ketika data
yang ingin diurutkan berjumlah sedikit karena

12 ULTIMATICS, Vol. VII, No. 1 | Juni 2015 ULTIMATICS, Vol. VII, No. 1 | Juni 2015 13

Anda mungkin juga menyukai