Gambar 4.3. Tampilan Help dan About
4.2. Pengujian
Pengujian dilakukan terhadap aplikasi permainan Babylon Tower yang telah dirancang dan diimplementasikan dengan algoritma column by column dan depth-first search.
Algoritma dijalankan pada Babylon Tower yang telah diacak oleh program dan akan diuji apakah algoritma tersebut mampu menemukan solusi dari Babylon Tower yang
telah diacak tersebut. Algoritma dianggap berhasil menemukan solusi apabila algoritma tersebut mampu mengurutkan setiap bola dengan warna yang sama pada
kolom yang sama serta mengurutkan setiap kolom berdasarkan tingkat kecerahan warna bola.
Universitas Sumatera Utara
4.2.1. Hasil dari Tahap Sorting
Tahap sorting yang dilakukan terhadap Babylon Tower menghasilkan posisi bola-bola yang telah berada pada kolom yang benar sesuai dengan warna yang ditetapkan untuk
masing-masing kolom. Proses sorting akan selalu mencari bola dari kolom lain yang memiliki warna yang sama dengan warna yang ditetapkan pada kolom yang memiliki
celah. Bola yang telah ditemukan akan dipindahkan menuju kolom yang memiliki celah sehingga celah akan berpindah ke kolom yang lain. Selanjutnya akan diulangi
proses pencarian bola dari kolom lain yang memiliki warna yang sama dengan warna pada kolom baru yang memiliki celah. Proses tersebut akan dilakukan terus menerus
hingga setiap bola berada pada kolom yang sesuai dengan warna yang telah ditetapkan.
Tahap sorting akan selalu diakhiri dengan dipindahkannya bola dari kolom yang bolanya ditekan masuk ke dalam saat tahap sorting akan dijalankan. Misalnya
saat tahap sorting dijalankan, bola pada kolom pertama ditekan masuk ke dalam Babylon Tower sehingga menghasilkan celah pada kolom pertama. Bola terakhir yang
dipindahkan pada keadaan tersebut adalah bola yang berada pada kolom pertama sehingga pada akhirnya celah kembali berada pada kolom pertama. Dengan demikian,
bola yang sebelumnya berada di dalam Babylon Tower dapat dikeluarkan kembali karena telah terdapat celah pada kolom pertama.
4.2.2. Hasil dari Tahap Swapping
Tahap swapping yang dilakukan terhadap Babylon Tower selalu menukar posisi bola- bola pada setiap kolom hingga setiap bola yang berada pada baris ketiga dari atas
sampai baris terbawah menempati posisi yang benar sesuai dengan tingkat kecerahan warnanya. Tahap swapping dijalankan secara kolom per kolom untuk setiap kolom
yang tidak memiliki celah. Setelah proses swapping selesai dijalankan pada setiap kolom yang tidak memiliki celah, maka proses swapping dijalankan sekali lagi untuk
kolom yang memiliki celah. Misalnya kolom pertama memiliki celah, maka tahap swapping akan dijalankan mulai dari kolom kedua hingga kolom kelima dan diakhiri
dengan kolom pertama.
Universitas Sumatera Utara
Proses swapping pertama akan menukar posisi setiap bola pada masing-masing kolom dimulai dari bola yang warnanya paling pucat tingkat kecerahan 0 menuju
posisi yang paling dekat dengan posisi seharusnya baris 0, dilanjutkan dengan menukar posisi bola yang tingkat kecerahannya 1 menuju posisi yang paling dekat
dengan baris 1, dan seterusnya hingga bola yang tingkat kecerahannya 5. Yang dimaksud dengan posisi paling dekat adalah bola yang tingkat kecerahannya n berada
pada baris n - 1, baris n, atau baris n + 1, misalnya posisi bola yang tingkat kecerahannya 3 ditukar dengan posisi bola lain hingga berada pada baris 2, baris 3,
atau baris 4 walaupun bola tersebut seharusnya hanya boleh berada pada baris 3. Posisi bola yang belum berada pada baris yang benar akan dilanjutkan pada proses
swapping kedua. Proses swapping kedua akan menukar posisi bola yang belum berada pada baris yang benar dimulai dari bola yang berada pada baris terbawah hingga baris
ketiga dari atas. Setelah tahap swapping dilakukan, maka yang tersisa adalah dua baris teratas
yang belum semuanya terurut. Jumlah kolom yang dua baris teratasnya belum terurut tidak selalu sama untuk setiap keadaan Babylon Tower yang berbeda. Tahap swapping
juga mungkin menghasilkan dua baris teratas yang telah terurut untuk setiap kolomnya, namun kondisi tersebut jarang terjadi. Apabila dua baris teratas pada setiap
kolom telah terurut, maka tahap parity tidak perlu dijalankan.
4.2.3. Hasil dari Tahap Parity
Tahap parity yang dilakukan terhadap Babylon Tower menghasilkan posisi bola pada dua baris teratas yang telah terurut sesuai dengan tingkat kecerahan warnanya. Tahap
parity hanya dapat dijalankan apabila banyak kolom yang dua baris teratasnya belum terurut berjumlah genap. Setiap tahap parity dijalankan, akan dihasilkan sepasang
kolom yang dua baris teratasnya terurut. Tahap parity dapat dijalankan sebanyak lebih dari satu kali tergantung pada keadaan Babylon Tower sebelum tahap parity
dijalankan. Misalnya terdapat empat kolom yang belum terurut, maka tahap parity akan dijalankan sebanyak dua kali untuk mengurutkan dua pasang kolom tersebut.
Universitas Sumatera Utara
4.2.4. Hasil Pengujian
Pengujian dilakukan sebanyak sepuluh kali terhadap Babylon Tower yang keadaan awalnya diacak oleh program untuk setiap tingkat kesulitan yang berbeda. Hal yang
dicatat dalam pengujian tersebut adalah banyak langkah yang dibutuhkan untuk mencapai solusi. Hasil pengujian terhadap banyak langkah yang dibutuhkan untuk
menemukan solusi dapat dilihat pada tabel 4.1.
Tabel 4.1. Hasil pengujian terhadap banyak langkah yang dibutuhkan untuk menemukan solusi
Case Tingkat kesulitan
Easy Medium
Hard 1
160 253
369
2 122
337 456
3 184
211 356
4
176 300
431
5
99 275
465
6 191
265 466
7 197
242 342
8 108
216 477
9 68
254 547
10 137
293 471
Universitas Sumatera Utara
BAB 5 KESIMPULAN DAN SARAN
Bab ini membahas tentang kesimpulan dari hasil penerapan algoritma column by column dan depth-first search dalam aplikasi permainan Babylon Tower serta saran-
saran untuk pengembangan penelitian selanjutnya.
5.1. Kesimpulan