Anda di halaman 1dari 5

Depth Search First (DFS)

Dalam metode pencarian terbagi menjadi dua jenis yaitu pencarian buta (blind search)
dan heuristic search. Pada pencarian buta terbagi menjadi dua macam yaitu pencarian BFS dan
DFS.
Algoritma Depth First Search (DFS) adalah suatu metode pencarian pada sebuah pohon
dengan menelusuri satu cabang sebuah pohon sampai menemukan solusi. Pencarian dilakukan
pada satu node dalam setiap level dari yang paling kiri dan dilanjutkan pada node sebelah kanan.
Jika solusi ditemukan maka tidak diperlukan proses backtracking yaitu penelusuran balik untuk
mendapatkan jalur yang diinginkan. Pada metode DFS pemakaian memori tidak banyak karena
hanya node-node pada lintasan yang akktif saja yang disimpan. Selain itu, jika solusi yang dicari
berada pada level yang dalam dan paling kiri, maka DFS akan menemukannya secara cepat.

Contoh :

Pada suatu hari ada seorang petani yang mempunyai seekor kambing dan srigala.Pada saat itu ia
baru saja panen sayuran. Karena membutuhkan uang, petani tersebut hendak menjual kambing,
serigala, dan sayurannya ke pasar Johar. Untuk sampai di pasar Johar, ia harus menyeberangi
sebuah sungai.
Permasalahannya adalah di sungai itu hanya tersedia satu perahu saja yang bisa memuat petani
dan satu penumpang lainnya (kambing, srigala, atau sayuran). Jika ditinggalkan oleh petani
tersebut, maka sayuran akan dimakan oleh kambing dan kambing akan dimakan oleh serigala.
  
DESKRIPSI:
P = Petani
Sy = Sayuran
K = Kambing
Sg = Serigala

RUANG KEADAAN
Untuk daerah asal dan daerah seberang
digambarkan.
(P, Sy, K, Sg)

KEADAAN AWAL
Daerah Asal = (P, Sy, K, Sg)
Daerah seberang = (0, 0, 0, 0)

TUJUAN
Daerah Asal = (0, 0, 0, 0)
Daerah seberang = (P, Sy, K, Sg)

Penyelesaiannya dilakukan dengan mendalam. Pencarian solusi dilakukan secara menurun sesuai
urutan yang ditentukan sebagai berikut :
1.     Masukkan simpul akar ke dalam antrian Q. Jika simpul akar = simpul solusi, maka stop.
2.    Jika Q kosong, tidak ada solusi. Stop.
3. Ambil simpul v dari kepala (head) antrian. Jika kedalaman simpul v sama dengan batas
kedalaman maksimum, kembali ke langkah 2
4 .Bangkitkan semua anak dari simpul v. Jika v tidak mempunyai anak lagi, kembali ke langkah
2. Tempatkan semua anak dari v di awal antrian Q. Jika anak dari simpul v adalah simpul tujuan,
berarti solusi telah ditemukan, kalau tidak, kembali lagi ke langkah 2.

BFS (Breadth First Search)

adalah sebuah algoritma pencarian solusi yang digambarkan dengan struktur pohon. Dimana
penyelesaiannya dilakukan dimulai dari simpul akar kemudian melebar sesuai dengan tingkatan
yang ada di dalam pohon. Berikut ini adalah algoritma BFS :

Contoh :

Pada suatu hari ada seorang petani yang mempunyai seekor kambing dan srigala.Pada saat itu ia
baru saja panen sayuran. Karena membutuhkan uang, petani tersebut hendak menjual kambing,
serigala, dan sayurannya ke pasar Johar. Untuk sampai di pasar Johar, ia harus menyeberangi
sebuah sungai.
Permasalahannya adalah di sungai itu hanya tersedia satu perahu saja yang bisa memuat petani
dan satu penumpang lainnya (kambing, srigala, atau sayuran). Jika ditinggalkan oleh petani
tersebut, maka sayuran akan dimakan oleh kambing dan kambing akan dimakan oleh serigala.
  
DESKRIPSI:
P = Petani
Sy = Sayuran
K = Kambing
Sg = Serigala

RUANG KEADAAN
Untuk daerah asal dan daerah seberang
digambarkan.
(P, Sy, K, Sg)

 KEADAAN AWAL
Daerah Asal = (P, Sy, K, Sg)
Daerah seberang = (0, 0, 0, 0)

TUJUAN
Daerah Asal = (0, 0, 0, 0)
Daerah seberang = (P, Sy, K, Sg)

1. Masukkan simpul akar ke dalam antrian Q. Jika simpul akar = simpul solusi (goal node),
maka stop.
2. Jika Q kosong, tidak ada solusi. Stop.
3. Ambil simpul v dari kepala (head) antrian, bangkitkan semua anak-anaknya. Jika v tidak
mempunyai anak lagi, kembali ke langkah 2. Tempatkan semua anak dari v di belakang
antrian.
4. Jika suatu simpul anak dari v adalah simpul solusi, maka solusi telah ditemukan, kalau
tidak kembali lagi ke langkah 2.
Algoritma Best First Search
Best first search adalah algoritma yang mengeksplorasi sebuah grafik dengan cara
memperluas node atau simpul yang paling menjanjikan yang dipilih sesuai dengan aturan yang
ditentukan. Simpul merupakan gambaran dari area pencarian. Adapun grafik yang digunakan
dalam best first search disebut grafik OR karena setiap cabangnya merepresentasikan jalan
alternatif untuk penyelesaian masalah. Best first search bisa dibilang juga seperti
mengembangkan simpul dari simpul sebelumnya. Simpul yang dikembangkan adalah simpul
yang memiliki skor paling kecil dibanding simpul lainnya. Best first search menjadi jalan
alternatif untuk menggabungkan manfaat dari metode depth dan breadth first search.

Contoh :
Permasalahan mencari jarak terdekat antara kota Arad dengan Bucharest menggunakan metode.
Solusi

Best First search merupakan metode yang menggunakan nilai heuristic, pada permasalahan ini
heuristik yang digunakan adalah jarak kota-kota terhadap kota Bucharest jika ditarik garis lurus
yang jaraknya seperti yang tertera di atas dengan asumsi kota terhubung yang letaknya paling
dekat dengan kota Bucharest adalah jalan yang paling optimal.

Diagram pohon langkah-langkah penelusuran dengan metode Best First Search adalah
sebagai berikut :

Dari Langkah-langkah di atas, didapatkan kota-kota yang harus dilalui untuk mendapatkan jalan
yang paling dekat jaraknya dari Arad ke Bucharest dengan metode Best First Search adalah :
Arad – Sibiu – Fagaras – Bucharest. Dari peta di atas, panjang jalan yang dilalui adalah
140+99+211 = 450 km.

Anda mungkin juga menyukai