You are on page 1of 20

BFS dan DFS

LABTI GUNADARMA

Algoritma Breath First Search


Algoritma Breath First Search
merupakan algoritma yang
mengunjungi node-node pohon
secara melebar, berawal dari level
dengan depth 0 ke depth maximum.
Hal ini dapat dinyatakan dalam
suatuantrian.

BREATH FIRST SEARCH


Keuntungan :

Tidak akan menemui jalan buntu

Jika ada satu solusi, makabreath first searchakan


menemukannya. Jika ada lebih satu solusi, maka solusi minimum
akan ditemukan.

Kelemahan :

Membutuhkan memori yang cukup banyak, karena menyimpan


semua node dalam satu pohon.

Membutuhkan waktu yang cukup lama, karena akan menguji n


level untuk mendapatkan solusi pada level yang ke-(n-1).

DEPTH FIRST SEARCH

Pencarian dilakukan pada suatu simpul dalam setiap level dari yg


paling kiri.

Jika pada level yg terdalam, solusi belum ditemukan maka


pencarian dilanjutkan pada simpul sebelah kanan dan simpul yg
kiri dapat dihapus dari memori.

Jika pada level yg paling dalam tidak ditemukan solusi, maka


pencarian dilanjutkan pada level sebelumnya. Demikian
seterusnya sampai ditemukan solusi.

KELEBIHAN DEPTH FIRST


SEARCH

Kelebihan DFS adalah pemakaian memori yang lebih sedikit.

DFS hanya menyimpan sekitarbd, di manabadalah faktor


percabangan dandadalah kedalaman solusi.

Jikab= 10 dand= 3 maka jumlah simpul yg disimpan di memori


adalah 1+10+10+10 = 31.

Hal ini berbeda jauh dgn BFS yg harus menyimpan semua simpul
yg pernah dibangkitkan. Pada kasus ini, jika gunakan BFS maka
simpul yg tersimpan sebanyak 1+10+100+1000 =1111 simpul.

Kelebihan DFS yg lain, jika solusi yg dicari berada pada level yg


dalam dan paling kiri, maka DFS akan menemukannya dengan
cepat.

KELEMAHAN DEPTH FIRST


SEARCH

Kelemahan DFS adalah jika pohon yg dibangkitkan mempunyai


level yg sangat dalam (tak terhingga), maka tidak ada jaminan
menemukan solusi. Artinya DFStidak complete.

Kelemahan lainnya adalah jika terdapat lebih dari satu solusi yg


sama tetapi berada pada level yg berbeda, maka DFS tidak
menjamin untuk menemukan solusi yg paling baik. Artinya,
DFStidak optimal.

Contoh penerapan bfs dan dfs

Temukan path
A

Dengan bfs

Find the node

Pernah dikunjungi?

Apakah solusi?

jika ya -> selesai

jika tidak -> 1

Dengan dfs

Find the node

Pernah dikunjungi?

Apakah solusi?

jika ya -> selesai

jika tidak -> 1

HATUR NUHUN
ILHAM AMIRULLAH
59413983

You might also like