Penelitian Sebelumnya LANDASAN TORI

BAB 3 ANALISIS DAN PERANCANGAN APLIKASI

3.1 Analisis Algoritma Backtracking pada Word Search Puzzle

Pada bab sebelumnya telah dijelaskan bahwa aplikasi yang akan dibangun adalah suatu aplikasi yang dapat menemukan solusi permainan word search puzzle dengan menerapkan algoritma backtracking. Algoritma ini akan diterapkan pada menu ‘bantuan’ dan ‘selesaikan’ pada aplikasi. ‘bantuan’ adalah menu untuk mencari salah satu solusi dari permainan sedangkan ‘selesaikan’ adalah menu untuk menemukan seluruh solusi pada permainan. Adapun langkah-langkah pencarian dengan algoritma backtracking pada Word search puzzle adalah sebagai berikut : 1. Simpul akar pada pohon yang merepresentasikan ruang kemungkinan probability space merupakan inisialisasi dan menyatakan pencarian huruf awal dari kata yang ingin dicari di papan permainan. Pencarian posisi- posisi ini dilakukan dari bagian kiri atas hingga bagian kanan bawah papan permainan. Pencarian ini akan menghasilkan posisi-posisi pada papan permainan yang berisi huruf yang sama dengan huruf awal pada kata yang ingin dicari. Pohon yang merepresentasikan ruang kemungkinan solusi pada pencarian solusi permainan word search puzzle dapat dilihat pada Gambar 3.1. 26 Gambar 3.1 Pohon yang merepresentasikan ruang kemungkinan solusi permainan word search puzzle 2. Jika pencarian pada langkah 1 tidak menemukan satupun posisi pada papan permainan yang berisi huruf awal dari kata yang dicari, berarti kata tersebut tidak ada di papan permainan. 3. Jika pencarian pada langkah 1 menemukan posisi yang tepat, pencarian huruf selanjutnya akan dimulai dari posisi tersebut. 4. Pembangkitan simpul-simpul dari posisi tersebut dilakukan dengan mengikuti algoritma DFS. Simpul dibangkitkan dengan urutan jalur yang memungkinkan yaitu : a. Vertikal ke atas b. Vertikal ke bawah c. Horizontal ke kanan d. Horizontal ke kiri e. Diagonal kanan atas f. Diagonal kiri atas g. Diagonal kanan bawah h. Diagonal kiri bawah ... 27 5. Pembangkitan simpul selanjutnya dilakukan dengan berdasarkan ketentuan sebagai berikut : a. Jika pembangkitan suatu simpul telah memilih suatu jalur, pembangkitan simpul selanjutnya untuk lintasan tersebut dilakukan menurut jalur tersebut. b. Jumlah huruf yang terdapat dalam kata yang ingin dicari. Dengan kata lain, jika ingin memeriksa suatu jalur, terlebih dahulu dilakukan pengecekan apakah pada jalur tersebut dapat diperoleh jumlah huruf yang sama dengan jumlah huruf pada kata yang ingin dicari. c. Kecocokan huruf pada suatu posisi pada grid permainan dengan huruf pada kata yang ingin dicari. 6. Pencarian berhasil jika menemukan kata yang dicari pada pembangkitan simpul-simpul pada proses pencarian melalui suatu jalur. 7. Jika lintasan yang sedang dibentuk tidak mengarah ke solusi, simpul tersebut dipotong sehingga menjadi simpul mati dead node dan tidak akan di-perluas lagi. 8. Jika pembentukan lintasan berakhir dengan simpul mati, proses pencarian solusi dilanjutkan dengan melakukan backtracking ke simpul orangtua. Dalam hal ini, backtracking dilakukan hingga kembali ke simpul pada langkah 4. Selanjutnya simpul ini menjadi simpul yang baru dan simpul anak berikutnya dibangkitkan sesuai urutan jalur yang telah disebutkan sebelumnya. 9. Jika simpul yang diperoleh dari langkah 8 tidak bisa diperluas lagi semua jalur telah diperiksa dan tidak ada yang memenuhi, pencarian solusi dilakukan dengan backtracking ke simpul akar. Dengan kata lain, 28 proses dimulai kembali dari langkah 1 dengan mencari posisi lain dari huruf awal kata yang ingin dicari di papan permainan. Penerapan algoritma backtracking pada word search puzzle dapat dilihat dalam pencarian kata pada contoh word search puzzle berukuran 5x5 pada Gambar 3.2. A Z X B G T B U K U A J W R I R T A W S N E O Q U Gambar 3.2 Word search puzzle 5x5 Misalkan kata yang ingin dicari pada word search puzzle Gambar 3.2 adalah ‘BUKU’. Penerapan langkah-langkah pencarian dengan algoritma backtracking untuk menemukan solusi ‘BUKU’ pada word search puzzle Gambar 3.2 dapat dilihat pada Gambar 3.3. Pada Gambar 3.3 a ditunjukkan indeks posisi dari setiap huruf dalam word search puzzle. a b Gambar 3.3 Posisi huruf pada grid a Pohon ruang solusi permainan word search puzzle b 1 2 4 3 5 6 7 8 13 11 12 14 15 16 17 18 19 20 21 22 23 24 25 9 10 mulai B K R W Q G X Z A U U J R B Z J T E U K U T X A W W U A 4 7 9 14 19 24 5 3 2 1 8 10 12 16 2 12 8 17 22 9 10 6 3 1 13 19 25 1 berhenti