Pengujian Penerapan Algoritma Column by Column dan Depth-First Search dalam Permainan Babylon Tower

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