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