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