BAB 4
IMPLEMENTASI DAN PENGUJIAN SISTEM
4.1. Implementasi Sistem
Implementasi merupakan tahapan akhir dari proses pembuatan perangkat lunak. Pada tahap implementasi sistem ini akan dibahas bagaimana penerapan dari analisis dan
perancangan sistem yang telah dilakukan dan dipaparkan pada bab sebelumnya dan juga akan dibahas bagaimana jalannya aplikasi, serta perangkat yang dibutuhkan
untuk menjalankan aplikasi yang telah dibuat. Sistem yang dibangun menggunakan bahasa pemrograman Microsoft Visual Basic 2010.
4.1.1. Menu utama
Menu utama digunakan untuk menampilkan menu-menu aplikasi yang telah dirancang dan merupakan halaman awal saat program dijalankan. Pada menu utama terdapat 3
bagian yaitu: File, Algoritma dan Chart. Tiap bagian dari menu utama memiliki bagian-bagiannya juga. File memiliki beberapa bagian yaitu: About us dan keluar.
Algoritma terdiri dari: Cocktail Shaker Sort dan 4 Way Merge Sort. Chart juga mempunyai beberapa bagian yaitu: Cocktail Shaker Sort, 4 Way Merge Sort dan
perbandingan. Tampilan menu utama dapat dilihat pada Gambar 4.1.
Universitas Sumatera Utara
Gambar 4.1. Tampilan Menu Utama
4.1.2. Sorting dengan algoritma cocktail shaker sort Sorting
dengan algoritma cocktail shaker sort merupakan salah satu bagian dari menu utama yaitu algoritma. Pada halaman ini akan dilakukan proses pengurutan data acak
menggunakan algoritma cocktail shaker sort dapat dilihat pada Gambar 4.2.
Gambar 4.2. Tampilan Sorting dengan Algoritma Cocktail Shaker Sort
Universitas Sumatera Utara
Pertama-tama user memasukkan jumlah angka yang ingin diurutkan kemudian saat user menekan button ”jalankan”. Dalam hal ini user menginputkan jumlah data
sebanyak 10, 50, 100, 500, 1000, 5000, 10000, 50000 dan 100000. Maka sistem akan meng-genarate data setelah itu muncul data sebelum diurutkan, sesudah diurutkan dan
waktu eksekusi ditunjukkan pada Gambar 4.3, Gambar 4.4, Gambar 4.5, Gambar 4.6, Gambar 4.7, Gambar 4.8, Gambar 4.9, Gambar 4.10 dan Gambar 4.11.
Gambar 4.3. Sorting Algoritma Cocktail Shaker Sort n = 10
Universitas Sumatera Utara
Gambar 4.4. Sorting Algoritma Cocktail Shaker Sort n = 50
Gambar 4.5. Sorting Algoritma Cocktail Shaker Sort n= 100
Gambar 4.6. Sorting Algoritma Cocktail Shaker Sort n=500
Universitas Sumatera Utara
Gambar 4.7. Sorting Algoritma Cocktail Shaker Sort n=1000
Gambar 4.8. Sorting Algoritma Cocktail Shaker Sort n = 5000
Universitas Sumatera Utara
Gambar 4.9. Sorting Algoritma Cocktail Shaker Sort n = 10000
Gambar 4.10. Sorting Algoritma Cocktail Shaker Sort n = 50000
Universitas Sumatera Utara
Gambar 4.11. Sorting Algoritma Cocktail Shaker Sort n = 100000
Setelah melakukan proses pengurutan dengan jumlah data 10 sampai 100000 maka saat user menekan tombol “Chart Cocktail Shaker Sort” akan muncul grafik algoritma
cocktail shaker sort seperti yang ditunjukkan pada Gambar 4.12.
Gambar 4.12. Grafik Algoritma Cocktail Shaker Sort
Universitas Sumatera Utara
4.1.3. Sorting dengan algoritma 4 way merge sort Sorting
dengan algoritma 4 way merge sort merupakan salah satu bagian dari menu utama yaitu algoritma. Pada halaman ini akan dilakukan proses pengurutan data acak
menggunakan algoritma 4 way merge sort dapat dilihat pada Gambar 4.2.
Gambar 4.13. Tampilan Sorting dengan Algoritma 4 Way Merge Sort
Pertama-tama user memasukkan jumlah angka yang ingin diurutkan kemudian saat user menekan button ”jalankan”. Dalam hal ini user menginputkan jumlah data
sebanyak 10, 50, 100, 500, 1000, 5000, 10000, 50000 dan 100000. Maka sistem akan meng-genarate data setelah itu muncul data sebelum diurutkan, sesudah diurutkan dan
waktu eksekusi ditunjukkan pada Gambar 4.14, Gambar 4.15, Gambar 4.16, Gambar 4.17, Gambar 4.18, Gambar 4.19, Gambar 4.20, Gambar 4.21 dan Gambar 4.22.
Universitas Sumatera Utara
Gambar 4.14. Sorting Algoritma 4 Way Merge Sort n = 10
Gambar 4.15. Sorting Algoritma 4 Way Merge Sort n = 50
Universitas Sumatera Utara
Gambar 4.16. Sorting Algoritma 4 Way Merge Sort n = 100
Gambar 4.17. Sorting Algoritma 4 Way Merge Sort n = 500
Universitas Sumatera Utara
Gambar 4.18. Sorting Algoritma 4 Way Merge Sort n = 1000
Gambar 4.19. Sorting Algoritma 4 Way Merge Sort n = 5000
Universitas Sumatera Utara
Gambar 4.20. Sorting Algoritma 4 Way Merge Sort n = 10000
Gambar 4.21. Sorting Algoritma 4 Way Merge Sort n = 50000
Universitas Sumatera Utara
Gambar 4.22. Sorting Algoritma 4 Way Merge Sort n = 100000
Setelah melakukan proses pengurutan dengan jumlah data 10 sampai 100000 maka saat user menekan tombol “Chart Cocktail Shaker Sort” akan muncul grafik algoritma
cocktail shaker sort seperti yang ditunjukkan pada Gambar 4.23.
Gambar 4.23. Grafik Algoritma 4 Way Merge Sort
Universitas Sumatera Utara
Grafik dari hasil perbandingan antara kedua algoritma tersebut dapat dilihat pada Gambar 4.24 terdapat perbedaan waktu yang cukup jelas di antara algoritma tersebut.
Pengurutan data dengan algoritma 4 way mergesort lebih cepat jika dibandingkan dengan cocktail shaker sort. Hal ini dibuktikan dengan keadaan grafik waktu
perbandingan antara kedua algoritma tersebut, dimana grafik waktu cocktail shaker sort
perubahannya lebih besar jika dibandingkan dengan 4 way mergesort.
Gambar 4.24. Grafik Perbandingan 4.2. Pengujian Sistem
Dalam sistem ini terdapat dua proses utama, antara lain: proses pengurutan dan kompleksitas waktu berdasarkan algoritma cocktail shaker sort dan 4 way merge sort .
4.2.1. Analisis proses algoritma cocktail shaker sort
Langkah-langkah proses pengurutan data dengan algoritma cocktail shaker sort: 1.
Data yang ingin diurutkan sebanyak n=10 8055 18720 70822 83447 76754 95968 36288 21469 94905 28852
2. Iterasi pertama mulai dari sebelah kiri dengan membandingkan 2 data awal yang
berwarna merah 8055 18720
70822 83447 76754 95968 36288 21469 94905 28852 8055
18720 70822 83447 76754 95968 36288 21469 94905 28852
Universitas Sumatera Utara
3. Jika data pertama lebih besar dari yang kedua maka ditukar swap data tersebut.
Data hasil proses swap adalah data yang berwarna biru. 8055 18720
70822 83447 76754 95968 36288 21469 94905 28852
8055 18720 83447 70822
76754 95968 36288 21469 94905 28852 8055 18720 83447
70822 76754 95968 36288 21469 94905 28852
8055 18720 83447 70822 76754 95968
36288 21469 94905 28852 8055 18720 83447 70822 76754
95968 36288 21469 94905 28852
8055 18720 83447 70822 76754 36288 95968
21469 94905 28852 8055 18720 83447 70822 76754 36288
95968 21469 94905 28852
8055 18720 83447 70822 76754 36288 21469 95968
94905 28852 8055 18720 83447 70822 76754 36288 21469
95968 94905 28852
8055 18720 83447 70822 76754 36288 21469 94905 95968
28852 4.
Lakukan proses tersebut terus menerus sampai ditemukan nilai terbesar di sebelah kanan. Kemudian data terbesar yang diperoleh diberi warna hijau sehingga data
tersebut disimpan dan tidak ikut lagi dalam proses pengurutan data. 8055 18720 83447 70822 76754 36288 21469 94905
95968 28852 8055 18720 83447 70822 76754 36288 21469 94905
28852 95968 8055 18720 83447 70822 76754 36288 21469 94905 28852
95968 5.
Iterasi kedua lakukan dari arah yang berlawanan dan lakukan proses swap. 8055 18720 83447 70822 76754 36288 21469
94905 28852 95968
8055 18720 83447 70822 76754 36288 21469 28852 94905
95968 8055 18720 83447 70822 76754 36288
21469 28852 94905
95968 8055 18720 83447 70822 76754
36288 21469 28852 94905
95968 8055 18720 83447 70822 76754
21469 36288 28852 94905
95968
Universitas Sumatera Utara
8055 18720 83447 70822 76754 21469
36288 28852 94905 95968
8055 18720 83447 70822 21469 76754
36288 28852 94905 95968
8055 18720 83447 70822 21469
76754 36288 28852 94905 95968
8055 18720 83447 21469 70822
76754 36288 28852 94905 95968
8055 18720 83447 21469
70822 76754 36288 28852 94905 95968
6. Lakukan terus proses perbandingan sehingga diperoleh nilai data terkecil di
sebelah kiri. Data tersebut akan disimpan dan tidak ikut lagi dalam proses pengurutan data.
8055 18720 21469 83447
70822 76754 36288 28852 94905 95968
8055 18720 21469
83447 70822 76754 36288 28852 94905 95968
8055 18720 21469 83447 70822 76754 36288 28852 94905
95968 8055
18720 21469 83447 70822 76754 36288 28852 94905 95968
7. Ulangi kembali proses tersebut berulang-ulang sehingga diperoleh data dalam
keadaan terurut. 8055
18720 21469 83447 70822 76754 36288 28852 94905
95968 8055
18720 21469 83447
70822 76754 36288 28852 94905 95968
8055 18720 21469
83447 70822 76754 36288 28852 94905
95968 8055
18720 21469 70822 83447
76754 36288 28852 94905 95968
8055 18720 21469 70822
83447 76754 36288 28852 94905
95968 8055
18720 21469 70822 76754 83447
36288 28852 94905 95968
8055 18720 21469 70822 76754
83447 36288 28852 94905
95968 8055
18720 21469 70822 76754 36288 83447
28852 94905 95968
8055 18720 21469 70822 76754 36288
83447 28852 94905
95968
Universitas Sumatera Utara
8055 18720 21469 70822 76754 36288
28852 83447 94905
95968 8055
18720 21469 70822 76754 36288 28852 83447 94905
95968 8055
18720 21469 70822 76754 36288 28852 83447 94905 95968
8055 18720 21469 70822 76754 36288
28852 83447 94905 95968
8055 18720 21469 70822 76754
36288 28852 83447
94905 95968 8055
18720 21469 70822 76754 28852 36288
83447 94905 95968
8055 18720 21469 70822
76754 28852 36288 83447
94905 95968 8055
18720 21469 70822 28852 76754
36288 83447 94905 95968
8055 18720 21469
70822 28852 76754 36288 83447
94905 95968 8055
18720 21469 28852 70822
76754 36288 83447 94905 95968
8055 18720
21469 28852 70822 76754 36288 83447
94905 95968 8055
18720 21469 28852 70822 76754 36288 83447
94905 95968 8055 18720
21469 28852 70822 76754 36288 83447 94905 95968
8055 18720 21469 28852
70822 76754 36288 83447 94905 95968
8055 18720 21469
28852 70822 76754 36288 83447
94905 95968 8055 18720
21469 28852 70822 76754
36288 83447 94905 95968
8055 18720 21469 28852 70822
76754 36288 83447
94905 95968 8055 18720
21469 28852 70822 36288 76754
83447 94905 95968
8055 18720 21469 28852 70822 36288
76754 83447 94905 95968
8055 18720 21469 28852 70822 36288 76754
83447 94905 95968 8055 18720
21469 28852 70822 36288 76754
83447 94905 95968 8055 18720
21469 28852 70822 36288
76754 83447 94905 95968
Universitas Sumatera Utara
8055 18720 21469 28852
36288 70822 76754
83447 94905 95968 8055 18720
21469 28852 36288
70822 76754 83447 94905 95968
8055 18720 21469 28852
36288 70822 76754 83447 94905 95968
8055 18720 21469 28852 36288
70822 76754 83447 94905 95968
8055 18720 21469 28852
36288 70822 76754
83447 94905 95968 8055 18720 21469
28852 36288 70822 76754
83447 94905 95968 8055 18720 21469
28852 36288 70822 76754
83447 94905 95968 8055 18720 21469
28852 36288 70822 76754 83447 94905 95968
8055 18720 21469 28852
36288 70822 76754 83447 94905 95968
8055 18720 21469 28852 36288
70822 76754 83447 94905 95968
8055 18720 21469 28852 36288 70822
76754 83447 94905 95968 8.
Data yang sudah terurut: 8055 18720 21469 28852 36288 70822 76754 83447 94905 95968
Universitas Sumatera Utara
4.2.2. Analisis kompleksitas waktu algoritma cocktail shaker sort
No Code
C C.
Public Function
CocktailSortNumber ByVal
ListofNumber As
List Of
Integer As
List Of
Integer 1
Dim swaps
As Boolean
= True
C1 1
C1 2
While swaps =
True C2
n C2n
3 swaps =
False C3
n C3n
4 For
i As
Integer = 0
To ListofNumber.Count - 2
C4 nn-1
C4n2- n
5 If
ListofNumberi ListofNumberi + 1 Then
C5 nn-1
C5n2- n
6 Dim
temp As
Integer = ListofNumberi
C1 nn-1
C1n2- n
7 ListofNumberi = ListofNumberi +
1 C6
nn-1 C6n2-
n
8 ListofNumberi + 1 = temp
C6 nn-1
C6n2- n
9 swaps =
True C3
nn-1 C3n2-
n 10
End If
11 Next
12 swaps = False
C3 n
C3n
13 For
i As
Integer = ListofNumber.Count - 2
To Step
-1 C4
nn-1 C4n2-
n
14 If
ListofNumberi ListofNumberi + 1 Then
C5 nn-1
C5n2- n
15 Dim
temp As
Integer = ListofNumberi
C1 nn-1
C1n2- n
16 ListofNumberi = ListofNumberi C6
nn-1 C6n2-
Universitas Sumatera Utara
Cara untuk menganalisis kompleksitas waktu algoritma cocktail shaker sort adalah
sebagai berikut: 4.2.3.
Analisis proses algoritma 4 way merge sort
Cara untuk menganalisis kompleksitas waktu algoritma 4 way merge sort adalah
sebagai berikut: Langkah-langkah proses pengurutan data dengan algoritma 4 way merge sort:
1. Data yang ingin diurutkan sebanyak n=10
8055 18720 70822 83447 76754 95968 36288 21469 94905 28852 2.
Bagi data tersebut menjadi 4
3. Data yang sudah dibagi 4. Pisahkan data tersebut satu per satu. Jika data kurang
dari 4 maka data tidak perlu lagi dibagi menjadi 4 bagian. + 1
n
17 ListofNumberi + 1 = temp C6
nn-1 C6n2-
n
18 swaps = True
C3 nn-1
C3n2- n
19 End
If 20
Next 21
End While
22 Return
ListofNumber C7
nn-1 C7n2-
n 23
End Function
Tn=C1+C2+C3n+C4+C5+C1+2C6+C3n
2
-n+C3n+C4+C5+C1+2C6+C3+C7n
2
-n Tn=C1+C2+2C3n+2C4+2C5+2C1+4C6+2C3+C7n
2
-n Maka Tn dari algoritma cocktail cocktail shaker sort
θ n
2
Universitas Sumatera Utara
4. Kemudian gabungkan dan urutkan data tersebut sesuai dengan
pengelompokannya.
5. Gabungkan dan urutkan kembali data tersebut maka diperolehlah keseluruhan
data dalam keadaan terurut.
Universitas Sumatera Utara
4.2.4. Analisis kompleksitas algoritma 4 way merge sort
Gambar 4.25. Analisis kompleksitas algoritma 4 way merge sort
Universitas Sumatera Utara
Pada Gambar 4.25. menunjukkan n adalah banyak data yang akan diurutkan, h
d
adalah tingkatan berapa kali proses divide h
c
adalah tingkatan berapa kali proses conquer, H adalah gabungan dari proses divide dan conquer dan h
d
=h
c
. Oleh karena itu, maka
diperoleh Tabel 4.1. Tabel 4.1. Tabel Proses Algoritma 4 Way Merge Sort
n h
d
h
d‟
10 3
2 4
2 1
1 1
Dari Tabel 4.1. diatas maka diperoleh: h
d‟
= h
d
-1 n = 3
hd‟
+1 log n = h
d‟
log 3 + log 1 h
d‟
=
3
log n h
d‟
= h
d
– 1
3
log n = h
d
– 1 h
d
=
3
log n + 1 H = h
d
+ h
c
– 1 =
3
log n + 1+1 – 1
=
3
log n + 1
Tn = w. H = n.
3
log n + 1 =
n log n + n = θ n log n
Maka Tn dari algoritma 4 way merge sort adalah θn log n.
Universitas Sumatera Utara
4.3. Hasil Pengujian Sistem