Hasil penghitungan Big Tetha Bucket Sort Tabel 4.1 Perhitungan Big Theta pada Bucket Sort Hasil penghitungan Big Tetha Strand Sort Tabel 4.2 Perhitungan Big Theta pada Strand Sort Hasil penghitungan Big Tetha Algoritma Quick sort 2 Pivot

47 Pada pengujian Max Item 500 dengan Max Item Value 1000 dan 1000000, perbedaan waktu eksekusi sangat terlihat antara ketiga algoritma yang diujikan. Perbedaan waktu eksekusi yang dihasilkan dalam pengujian yang dilakukan antara bucket sort dan quick sort 2 pivot memiliki perbedaan yang tidak begitu signifikant dan memiliki perbedaan waktu yang sedikit, sedangkan dengan menggunakan metode strand sort sangat berbeda, jauh lebih lama dari kedua algoritma lainnya. Tapi dengan Max Item Value 1000 malah sebaliknya, bucket sort sangat lama dan sangat lambat dibandingkan strand sort dan quick sort 2 pivot. Quick sort 2 pivot menjadi metode yang paling cepat. Dalam pengujian ini kita dapat megetahui bahwa ada kelebihan dan kekurangan dari ketiga algoritma tersebut, itu tergantung kepada besar kecilnya data yang ingin diurutkan dan apa yang dibutuhkan oleh pengguna user. Dari hasil pengujian bahwa Quick sort 2 pivot lebih baik dari kedua metode ini, selanjutnya strand sort dan terakhir bucket sort untuk mengurutkan data yang banyak. Sedangkan jika kita ingin mengurutkan data yang jumlahnya sedikit, kita lebih baik menggunakan metode strand sort. Dan jika kita ingin mengurutkan data yang max item nya hampir sama dengan max item value, lebih baik kita menggunakan metode Bucket sort.

4.5 Hasil Perhitungan Kompleksitas Big Theta �

Untuk mengetahui algoritma mana yang lebih efektif pada pengurutan data maka dibutuhkan perhitungan kompleksitas waktu. Dapat dilihat pada tabel 4.1 untuk algoritma Bucket Sort, tabel 4.2 untuk algoritma Strand Sort dan gambar 4.30 untuk algoritma Quick sort 2 pivot.

4.5.1 Hasil penghitungan Big Tetha Bucket Sort Tabel 4.1 Perhitungan Big Theta pada Bucket Sort

Step Pseudocode Tn 1 public static Bucket sort; C C 2 Tempt = array [arr.length][arr.length]; C 1 1 C 1 3 For i=0, 0arr.length, i++{ C 2 n C 2 n 4 Index = celling arr[i]arr.lengthmax C 3 n 2 C 3 n 2 5 If tempt [index].length=0 C 4 n 2 C 4 n 2 Universitas Sumatera Utara 48 Dari perhitungan running time pada tabel maka didapat: Tn = C 1 + C 2 n+ C 3 n 2 + C 3 n 2 + C 4 n 2 + C 1 n 2 + C 1 n 2 + C 5 n + C 6 n + C 7 n + C 8 n = C 1 + C 2 n + 2 C 1 n 2 + C 3 n 2 + C 4 n 2 + C 5 n + C 6 n + C 7 n+ C 8 n = C 1 + C 2 + C 4 + C 5 + C 6 + C 7 + C 8 n+ 2 C 1 + C 3 + C 4 n 2 Tn = θn

4.5.2 Hasil penghitungan Big Tetha Strand Sort Tabel 4.2 Perhitungan Big Theta pada Strand Sort

6 Tempt [index][0]=arr[j] C 1 n 2 C 1 n 2 7 } Else{ C 1 n 2 C 1 n 2 9 J=0; C 5 n C 5 n 10 While tempt[index][j]arr[i]; J++ C 6 n C 6 n 11 } { Swap j, arr[i], tempt[index]; C 7 n C 7 n 13 } Return tempt[]; C 8 n C 8n Step Pseudocode Tn 1 public static Strand sort; C C 2 For i=1 to array.length-1 C 1 1 C 1 3 J=i-1; index; C 2 N C 2 n 4 While arr[i] arr[j]{ C 3 n 2 C 3 n 2 5 Index=j; C 4 n 2 C 4 n 2 Universitas Sumatera Utara 49 Dari perhitungan running time pada tabel maka didapat: Tn = C 1 + C 2 n+ C 3 n 2 + C 4 n 2 + C 5 n 2 + C 6 n 2 + C 7 n + C 8 n = C 1 + C 2 + C 7 + C 8 n+ C 3 + C 4 + C 5 + C 6 n 2 Tn = θn 2

4.5.3 Hasil penghitungan Big Tetha Algoritma Quick sort 2 Pivot

Data yang akan diurutkan dengan algoritma quick sort 2 pivot 2 19 1 2 20 3 11 90 3 Pilih 2 Pivot secara acak yang berwarna merah, nilai yang lebih kecil dari pivot akan ditempatkan disebelah kiri dari pivot dan yang lebih besar ditempatkan di sebelah kanan pivot. 2 19 1 2 20 3 11 90 3 2 1 2 3 3 19 11 20 90 Selanjutnya pilih lagi dua pivot dari list selain pivot yang telah dipilih, dan selanjutnya. 2 1 2 3 3 19 11 20 90 Hasil akhir dari Pengurutan data: 2 2 2 3 3 11 19 20 90 n 9 4 1 h dc 3 2 1 h dc’ 2 1 6 j--; C 5 n 2 C 5 n 2 7 If j0 C 6 n 2 C 6 n 2 9 Break; } C 7 n C 7 n 10 Swap i,index C 8 n C 8 n Universitas Sumatera Utara 50 h dc’ =h dc -1 3 hdc’ +1=n h dc’ log 3+log 1= log n h dc’ = 3 log n h dc’ =h dc -1 3 log n= h dc -1 h dc’ = 3 log n+1 H = h dc +h c -1 = 3 log n+1+1-1 = 3 log n+1 Tn = w.H = n. 3 log n+1 = 1 log 3 n log n+n = ϴn log n Jika dibandingkan dari kompleksitas waktu kedua algoritma tersebut maka algoritma yang running time-nya lebih cepat adalah algoritma Quick sort 2 Pivot. Quick sort 2 pivot memiliki running time yang lebih cepat dibandingkan Bucket sort maupun Strand sort, karena nilai n log n lebih kecil dari n 2 dan n. Hal ini juga dapat dipengaruhi oleh kemampuan komputer, jumlah memori dan faktor lain. Namun jika jumlah data atau elemen array yang sangat banyak, perbedaan running time Quick sort 2 Pivot, Strand sort dan Bucket sort akan sangat terlihat, semakin banyak data yang akan diurutkan, semakin terlihat perbedaan running time-nya. Tabel 4.3 Perbandingan ketiga Algoritma Algoritma Kompleksitas Big O Bucket Sort n Strand Sort n 2 Quick Sort 2 Pivot n log n Universitas Sumatera Utara 51 BAB 5 PENUTUP Bab ini berisi kesimpulan dari seluruh bab sebelumnya, serta saran yang diharapkan dapat bermanfaat dan membangun dalam proses pengembangan untuk penelitian berikutnya.

5.1 Kesimpulan