Searching Pencarian Depth-First Search DFS

2.4 Searching Pencarian

Searching atau Pencarian merupakan suatu proses mencari solusi dari suatu permasalahan melalui sekumpulan kemungkinan ruang keadaan state space. Ruang keadaan merupakan suatu ruang yang berisi semua keadaan yang mungkin. Di dalam kecerdasan buatan, metode pencarian sangat menentukan tingkat keberhasilan sistem cerdas tersebut. Teknik pencarian ini terbagi atas 2, 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 Kusumadewi,2005.

2.5 Depth-First Search DFS

Depth-First Search atau DFS merupakan pencarian yang dilakukan pada satu node dalam setiap level dari yang paling kiri. Jika pada level yang paling dalam, solusi belum ditemukan, maka pencarian dilanjutkan pada node sebelah kanan. Node yang kiri dapat dihapus dari memori. Jika pada level yang paling dalam tidak ditemukan solusi, maka pencarian dilanjutkan pada level sebelumnya. Demikian seterusnya sampai ditemukan solusi. Jika solusi ditemukan maka tidak diperlukan proses backtracking penelusuran balik untuk mendapatkan jalur yang dinginkan. Gambar 2.6 adalah contoh DFS untuk mencari simpul j. a d c b e f h j g i Gambar 2.6 DFS untuk mencari simpul j Universitas Sumatera Utara Kelebihan DFS adalah: 1. Pemakaian memori hanya sedikit, berbeda jauh dengan BFS yang harus menyimpan semua node yang pernah dibangkitkan. 2. Jika solusi yang dicari berada pada level yang dalam dan paling kiri, maka DFS akan menemukannya secara cepat. Kelemahan DFS adalah: 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.

2.6 Algoritma Runut-Balik Backtracking Algorithm