Word Search Puzzle LANDASAN TORI

14

2.4 Teknik Pencarian Searching

Masalah pencarian sering dijumpai oleh peneliti di bidang kecerdasan buatan. Permasalahan ini sangat penting dalam menentukan tingkat keberhasilan sistem cerdas tersebut. Teknik pencarian terbagi atas dua teknik, yaitu pencarian buta blind search dan pencarian heuristic heuristic search. Pencarian buta merupakan pencarian yang penelusurannya dimulai dengan tidak ada informasi awal yang digunakan dalam proses pencarian. Contohnya Breath- First Search BFS dan Depth-First Search DFS. Sedangkan pencarian heuristik merupakan pencarian yang penelusurannya dimulai dengan adanya informasi awal yang digunakan dalam proses pencarian. Contohnya hill climbing, tabu search, algoritma genetika, algoritma semut dan simulated annealing.

2.5 Algoritma Depth-First Search DFS

Algoritma Depth-First Search DFS adalah algoritma pencarian dengan proses bermula dari node akar dan bergerak ke bawah menurun ke level dalam secara berurutan dengan mendahulukan cabang kiri pohon. Algoritma : 1. Jika keadaan awal merupakan tujuan, keluar sukses. 2. Jika tidak demikian, lakukan langkah-langkah berikut : a. Bangkitkan succesor E dari keadaan awal. Jika tidak ada succesor, maka akan terjadi kegagalan. b. Panggil depth-first search dengan E sebagai keadaan awal. c. Jika sukses berikan tanda sukses. Namun jika tidak, ulangi langkah ke- 2. 15 Untuk lebih jelasnya bagaimana teknik pencarian DFS dapat dilihat pada pencarian kata ‘BUKU’ dalam contoh word search puzzle pada Gambar 2.3. a b Gambar 2.3 Contoh word search puzzle a Teknik pencarian Depth-First Search DFS b Penggunaan teknik pencarian DFS memiliki beberapa keuntungan dan kelemahan. Keuntungan DFS : 1. Membutuhkan memori yang relatif kecil, karena hanya node-node pada lintasan yang aktif saja yang disimpan. 2. Menemukan solusi tanpa harus menguji lebih banyak lagi dalam ruang keadaan. Kelemahan DFS : 1. Jika pohon yang dibangkitkan mempunyai level yang dalam tak terhingga, maka tidak ada jaminan untuk menemukan solusi Tidak Complete. 2. Jika terdapat lebih dari satu solusi yang sama tetapi berada pada level yang berbeda, maka pada DFS tidak ada jaminan untuk menemukan solusi yang paling baik Tidak Optimal. 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 16

2.6 Algoritma Backtracking

Algoritma Backtracking adalah algoritma umum yang digunakan untuk pencarian solusi pada beberapa permasalahan komputasi, yang secara bertahap membangun kandidat solusi dan mengabaikan setiap kandidat c ‘backtrack’ segera setelah mengetahui bahwa c tidak dapat diselesaikan untuk memperoleh solusi yang valid. Backtracking merupakan algoritma yang berbasis Depth-First Search DFS. Teknik backtracking merupakan salah satu teknik dalam penyelesaian masalah secara umum General Problem Solving. Adapun dasar dari teknik ini adalah suatu teknik pencarian searching. Teknik pencarian ini digunakan dalam rangka mendapatkan himpunan penyelesaian yang mungkin. Dari himpunan penyelesaian yang mungkin ini akan diperoleh solusi optimal atau memuaskan. Saat ini backtracking banyak diterapkan untuk program games seperti permainan tic-tac-toe, menemukan jalan keluar dalam sebuah labirin, catur, dll dan masalah-masalah pada bidang kecerdasan buatan artificial intelligence. Nama backtrack didapatkan dari sifat algoritma ini yang memanfaat karakteristik himpunan solusinya yang sudah disusun menjadi suatu pohon solusi. Gambar 2.4 adalah contoh sebuah pohon solusi. Gambar 2.4 Pohon solusi Gambar 2.4 merepresentasikan solusi dari suatu permasalahan. Untuk mencapai solusi 5, maka jalan yang ditempuh adalah 1,2,5, demikian juga dengan