Anda di halaman 1dari 6

Metode Pencarian Buta (Blind search) dan Metode Pencarian Heuristik

A. Metode Pencarian Buta (Blind Search)

Blind Search merupakan pencarian asal ketemu. Jika solusi sudah ketemu, maka pencarian
akan dihentikan. Jika dibuat skemanya, pencarian buta hanya mengenal tiga bagian,
[masalah]-[pencarian]-[solusi]. Misalkan dalam kotak ada 3 kelereng warna merah, 3 biru,
dan 3 kuning. Masalahnya adalah, ambillah satu kelereng yang berwarna merah. Solusi,
setelah melakukan pencarian, kemudian didapat satu kelereng warna merah, nah, itulah
solusinya.

1. Breadth First Search


Breadth First Search merupakan salah satu dari metode pencarian buta. istilah buta disini
lebih dikenal dengan nama blind. Dikatakan buta karena memang tidak ada informasi awal
yang digunakan dalam proses pencarian.

Breadth-first search (BFS) melakukan proses searching pada semua node yang berada pada
level atau hirarki yang sama terlebih dahulu sebelum melanjutkan proses searching pada node
di level berikutnya.

Breadth First Search (BFS) juga memiliki alur algoritma yang paling sederhana dibandingkan
dengan metode blind yang lain. Itulah alasan mengapa BFS selalu dipelajari lebih dulu ketika
membahas masalah pencarian buta.

Sebelum menelaah lebih jauh bagaimana metode BFS dijalankan, kita telisik dulu mengapa
metode ini dinamakan pencarian Breadth First. Breadth dapat diartikan dengan luas / lebar,
sedangkan first adalah pertama. Penamaan metode ini disesuaikan dengan konsep algoritma
secara garis besar yaitu melakukan proses pencarian pada semua node yang berada pada level
atau hirarki yang sama terlebih dahulu sebelum melanjutkan proses pencarian pada node di
level berikutnya.
Contoh :
BFS akan mencari satu per satu node secara melebar dari kiri ke kanan secara berurutan
berdasarkan tingkat level nodenya. Jika pada satu level belum ditemukan solusi yang
diinginkan, maka pencarian dilanjutkan hingga level berikutnya. Demikian seterusnya hingga
ditemukan solusi. Maka, dengan cara seperti ini, BFS menjamin ditemukannya solusi apabila
solusinya memang ada.

2. Depth First Search


Depth-first search (DFS) adalah proses searching sistematis buta yang melakukan ekpansi
sebuah path (jalur) menuju penyelesaian masalah sebelum melakukan ekplorasi terhadap path
yang lain. Proses searching mengikuti sebuah path tunggal sampai menemukan goal atau
dead end. Apabila proses searching menemukan dead-end, DFS akan melakukan penelusuran
balik ke node terakhir untuk melihat apakah node tersebut memiliki path cabang yang belum
dieksplorasi. Apabila cabang ditemukan, DFS akan melakukan cabang tersebut. Apabila
sudah tidak ada lagi cabang yang dapat dieksplorasi, DFS akan kembali ke node parent dan
melakukan proses searching terhadap cabang yang belum dieksplorasi dari node parent
sampai menemukan penyelesaian masalah.

Pencarian 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).
Contoh :

Berdasarkan gambar , proses pencarian dilakukan dengan mengunjungi cabang terlebih


dahulu hingga tiba di simpul terakhir. Jika tujuan yang diinginkan belum tercapai maka
pencarian dilanjutkan ke cabang sebelumnya, turun ke bawah jika memang masih ada
cabangnya. Begitu seterusnya hingga diperoleh tujuan (goal). Operasi semacam ini dikenal
dengan sebutan backtracking.

B. Pencarian Heuristik
Heuristic search adalah suatu istilah yang berasal dari bahasa Yunani yang berarti
menemukan/menyingkap. Heuristik adalah suatu perbuatan yang membantu kita menemukan
jalan dalam pohon pelacakan yang menuntut kita kepada suatu solusi masalah. Heuristik
dapat diartikan juga sebagai suatu kaidah yang merupakan metoda/prosedur yang didasarkan
kepada pengalaman dan praktek, syarat, trik atau bantuan lainnya yang membantu
mempersempit dan memfokuskan proses pelacakan kepada suatu tujuan tertentu.

George Poyla (dalam Kristanto. A, 2003) mendefinisikan heuristik sebagai ”studi tentang
sebuah metode dan aturan discovery serta invention” dalam pencarian state space, heuristik
didefinisikan sebagai aturan untuk memilih cabang-cabang dalam ruang keadaan yang paling
tepat untuk mencapai solusi permasalahan yang dapat diterima .

1. (Generate and Test)


Metode ini merupakan penggabungan antara depth-first search dengan pelacakan mundur
(backtracking), yaitu bergerak kebelakang menuju pada suatu keadaan awal. Algoritma:
Bangkitkan suatu kemungkinan solusi (membangkitkan suatu tititk tertentu atau lintasan
tertentu dari keadaan awal).

Uji untuk melihat apakah node tersebut benar-benar merupakan solusinya dengan cara
membandingkan node terebut atau node akhir dari suatu lintasan yang dipilih dengan
kumpulan tujuan yang diharapkan.
Jika solusi ditemukan, keluar. Jika tidak, ulangi kembali langkah pertama.

Contoh:
“Travelling Salesman Problem (TSP)” Seorang salesman ingin mengunjungi n kota. Jarak
antara tiap-tiap kota sudah diketahui. Kita ingin mengetahui ruter terpendek dimana setaip
kota hanya boleh dikkunjungi tepat 1 kal i. Misalkan ada 4 kota dengan jarak antara tiap-tiap
kota seperti gambar di bawah ini:

2. (Hill Climbing)
Metode ini hampir sama dengan metode pembangkitan dan pengujian, hanya saja proses
pengujian dilakukan dengan menggunakan fungsi heuristic. Pembangkitan keadaan
berikutnya tergantung pada feedback dari prosedur pengetesan. Tes yang berupa fungsi
heuristic ini akan menunjukkan seberapa baiknya nilai terkaan yang diambil terhadap
keadaan-keadaan lainnya yang mungkin.

Contoh: TSP dengan Simple Hill Climbing


Disini ruang keadaan berisi semua kemungkinan lintasan yang mungkin. Operator digunakan
untuk menukar posisi kota-kota yang bersebelahan. Apabila ada n kota, dan kita ingin
mencari kombinasi l intasan dengan menukar posisi urutan 2 kota, maka kita akan
mendapatkan sebanyak:

sebanyak 6 kombinasi (lihat gambar dibawah). Fungsi heuristic yang digunakan adalah
panjang lintasan yang terjadi

Sumber :
http://www.charisfauzan.net/2015/01/pencarian-buta-teori-dan-implementasi.html
http://solikhaton.blogspot.co.id/2014/08/makalah-membahas-tentang-algoritma.html
http://fryunfirst.blogspot.co.id/2015/06/pencarian-heuristik-heuristic-search.html
https://rinnooberta.wordpress.com/2013/10/29/pencarian-heuristik/
http://pengertianmenurutahli.blogspot.co.id/2013/05/pencarian-mendalam-pertama-depth-
first.html

Anda mungkin juga menyukai