Anda di halaman 1dari 2

S

A B

C D E F

1. Breadth First Search (BFS)


a. Semua node pada level n akan dikunjungi terlebih dahulu sebelum mengunjungi
node – node pada level n + 1
b. Menggunakan FIFO (Queue)
c. Algoritma
1) Masukkan node akar ke queue
2) Ambil node dari awal queue da cek apakah solusi
3) Jika solusi maka pencarian selesai, return hasil
4) Jika bukan solusi masukkan seluruh node anak ke dalam queue
5) Jika queue kosong dan tiap node sudah dikunjungi, pencarian selesai
6) Jika queue tidak kosong, ulang pencarian mulai dari poin 2

Start :S
Goal :Z

Jawab :

1) (S) – VISITED (S)


2) (S B) (S A) – VISITED (S A B)
3) (S A D) ( S A C) (S B) – VISITED (S A B C D)
4) (S B F) ( S B E) (S A D) ( S A C) – VISITED (S A B C D E F)
5) (S B F) ( S B E) (S A D) – VISITED ( A B C D E F)
6) (S B F) ( S B E) – VISITED (A B C D E F)
7) (S B F) ( S B E Z) – VISITED (A B C D E F Z)
8) (S B E Z) – VISITED (A B C D E F Z)

SOLUSI : S B E Z

Langkah penyelesaian:

1. Masukkan root ke queue | S |


2. S bukan solusi maka masukkan noe anak ke queue |B A|
3. Cek A, bukan solusi, masukkan node anak ke queue |D C B|
4. Cek B, bukan solusi, masukkan node anak ke queue | F E D C|
5. Cek C, bukan solusi, dan tidak punyak anak, hilangkan dari queue |F E D|
6. Cek D, bukan solusi, dan tidak punyak anak, hilangkan dari queue |F E|
7. Cek E, bukan solusi, masukkan node anak ke queue |Z F|
8. Cek F, bukan solusi dan tidak punya anak, hilangkan dari queue |Z|
9. Cek Z, solusi, pencarian selesai.

2. Depth First Search (DFS)


a. Pencarian dilakukan pada salah satu cabang dan mencarinya sampai level paling
dalam dari cabang tersebut
b. Menggunakan LIFO (stack)
c. Algoritma :
1) Tempatkan node awal di atas stack
2) Jika stack kosong, stop pencarian, return failure
3) Jika node merupakan goal, maka stop pencarian dan return success
4) Jika node diatas stack bukan merupakan solusi, expand dan tempatkan
anak – anaknya diatas tumpukan
5) Selama belum ditemukan solusi, kembali ke langkah 2

Jawab:

1) (S) – VISITED (S)


2) (S A) (S B) – VISITED (S A B)
3) (S A C) ( S A D) (S B) – VISITED (S A B C D)
4) (S A D) ( S B) – VISITED (S A B C D)
5) (S B) – VISITED (S A B C D)
6) (S B E) (S B F) – VISITED (S A B C D E F)
7) (S B E Z) ( S B F) – VISITED (S A B C D E F Z)

SOLUSI : S B E Z

Langkah penyelesaian :

1. Masukkan root ke atas stack | S |


2. S bukan solusi, tempatkan anak – anaknya di atas stack | A B |
3. Cek A, bukan solusi, tempatkan anak – anaknya diatas stack | C D B |
4. Cek C, bukan solusi, tidak punya anak, hilangkan dari stack | D B |
5. Cek D, bukan solusi, tidak punya anak, hilangkan dari stack | B |
6. Cek B bukan solusi, tempatkan anak – anaknya dia atas stack | E F |
7. Cek E, bukan solusi, tempatkan anak – anaknya di atas stack |Z F|
8. Cek Z, solusi, pencarian berhenti, return success.

Anda mungkin juga menyukai