Anda di halaman 1dari 22

1.

Diketahui : pohon pelacakan yang ada pada gambar di dibawah ini :


Pertanyaan : implementasikan algoritma BFS dan DFS untuk mencari solusi dari node awal
(start) A sampai node S (goal)
a. BFS

Solusi :
 Iterasi ke – 1
Memasukan node A kedalam queue
Gambar antriannya :
QUEUE
Masuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

Keluarkan A dari queue


QUEUE
Masuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

Ternyata A ≠ goal
A punya anak B dan C, masukkan kedalam queue
QUEUE
Masuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

CB

 Iterasi ke – 2
Keluarkan B dari queue dan cek apakah B adalah goal?
QUEUE
Masuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

Ternyata B ≠ goal
B punya anak D dan E, masukkan ke dalam queue
QUEUE
Masuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

EDC

 Iterasi ke – 3
Keluarkan C dan cek apakah C adalah goal?
QUEUE
Masuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

ED

Ternyata C ≠ goal
C punya anak F, G dan H, masukkan ke dalam queue
QUEUE
Masuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

HGFED

 Iterasi ke 4
Keluarkan D dari queue dan cek apakah D adalah goal?
QUEUE
Masuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

HGFE

Ternyata D ≠ goal
D punya anak I dan J, masukkan ke dalam queue
QUEUE
Masuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

JIHGFE

 Iterasi ke – 5
Keluarkan E dari queue dan cek apakah E adalah goal?
QUEUE
Masuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

JIHGF

Ternyata E ≠ goal
E punya anak K, masukkan ke dalam queue
QUEUE
Masuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

KJIHGF

 Iterasi ke – 6
Keluarkan F dari queue dan cek apakah F adalah goal?
QUEUE
Masuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

KJIHG

Ternyata F ≠ goal
F punya anak L, masukkan ke dalam queue
QUEUE
Masuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

LKJIHG

 Iterasi ke – 7
Keluarkan G dari queue dan cek apakah G adalah goal
QUEUE
Masuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

LKJIH

Ternyata G ≠ goal
G punya anak M dan N, masukkan ke dalam queue
QUEUE
Masuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

NMLKJIH

 Iterasi ke – 8
Keluarkan H dari queue dan cek apakah H adalah goal?
QUEUE
Masuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

NMLKJI

Ternyata H ≠ goal
H punya anak O dan P, masukkan ke dalam queue
QUEUE
Masuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

PONMLKJI

 Iterasi ke – 9
Keluarkan I dari queue dan cek apakah I adalah goal?
QUEUE
Masuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

PONMLKJ

Ternyata I ≠ goal
I tidak punya anak, jadi tidak ada yang di masukkan ke queue
QUEUE
Masuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

PONMLKJ

 Iterasi ke – 10
Keluarkan J dari queue dan cek apakah J adalah goal?
QUEUE
Masuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

PONMLK

Ternyata J ≠ goal
J tidak punya anak, jadi tidak ada yang di masukkan ke queue
QUEUE
Masuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

PONMLK
 Iterasi ke – 11
Keluarkan K dari queue dan cek apakah K adalah goal?
QUEUE
Masuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

PONML

Ternyata K ≠ goal
K tidak punya anak, jadi tidak ada yang di masukkan ke queue
QUEUE
Masuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

PONML
 Iterasi ke – 12
Keluarkan L dari queue dan cek apakah L adalah goal?
QUEUE
Masuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

PONM

Ternyata L ≠ goal
L punya anak Q, masukkan ke dalam queue
QUEUE
Masuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

QPONM
 Iterasi ke – 13
Keluarkan M dari queue dan cek apakah M adalah goal?
QUEUE
Masuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

QPON

Ternyata M ≠ goal
M tidak punya anak, jadi tidak ada yang di masukkan ke queue
QUEUE
Masuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

QPON
 Iterasi ke – 14
Keluarkan N dari queue dan cek apakah N adalah goal?
QUEUE
Masuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

QPO

Ternyata N ≠ goal
L punya anak R dan S, masukkan ke dalam queue
QUEUE
Masuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

SRQPO
 Iterasi ke – 15
Keluarkan O dari queue dan cek apakah O adalah goal?
QUEUE
Masuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

SRQP

Ternyata O ≠ goal
O tidak punya anak, jadi tidak ada yang di masukkan ke queue
QUEUE
Masuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

SRQP
 Iterasi ke – 16
Keluarkan P dari queue dan cek apakah P adalah goal?
QUEUE
Masuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

SRQ

Ternyata P ≠ goal
P tidak punya anak, jadi tidak ada yang di masukkan ke queue
QUEUE
Masuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

SRQ
 Iterasi ke – 17
Keluarkan Q dari queue dan cek apakah Q adalah goal?
QUEUE
Masuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

SR

Ternyata Q ≠ goal
Q tidak punya anak, jadi tidak ada yang di masukkan ke queue
QUEUE
Masuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

SR
 Iterasi ke – 18
Keluarkan R dari queue dan cek apakah R adalah goal?
QUEUE
Masuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

Ternyata R ≠ goal
R tidak punya anak, jadi tidak ada yang di masukkan ke queue
QUEUE
Masuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

S
 Iterasi ke – 19
Keluarkan S dari queue dan cek apakah S adalah goal?
QUEUE
Masuk Lewat Pintu Kiri, Keluar Lewat Pintu kanan

Ternyata S = goal
Pencarian dihentikan
Mencari solusi :
Goal = S
S anaknya N, N anaknya G, G anaknya C, dan C anaknya A
Karena A adalah node akar maka pencarian solusi dihentikan dan diperoleh solusi :
A–C–G–N–S
b. DFS

 Iterasi ke – 1
Beri tanda batas pada stack dan masukkan node A ke stack
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

A|
Keluarkan A dari stack dan cek
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

|
Ternyata A ≠ goal
A punya anak B dan C, beri tanda batas pada stack, dan masukkan node B dan C
ke stack
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

BC||
Karena A punya anak, masukkan A ke Solusi sementara :
Solusi Sementara = [A]
 Iterasi ke – 2
Stack pada iterasi ke 2 :
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

BC||

Solusi sementara = [A]


Keluarkan B dari stack dan cek
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

C||

Ternyata B ≠ goal
Karena B punya anak D dan E, beri tanda batas dan masukkan node D dan E ke
stack
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

DE|C||

Karena B punya anak, masukkan B ke solusi sementara :


Solusi sementara = [A B]
 Iterasi ke – 3
Stack pada iterasi ke 3 :
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

DE|C||
Solusi sementara = [A B]
Keluarkan D dari stack dan cek
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

E|C||

Ternyata D ≠ goal
Karena D punya anak I dan J, beri tanda batas dan masukkan node D dan E ke
stack
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

I J|E | C | |
Karena D punya anak, masukkan D ke solusi sementara :
Solusi sementara = [A B D]
 Iterasi ke – 4
Stack pada iterasi ke 4 :
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

I J|E | C | |

Solusi sementara =[A C D]


Keluarkan I dari stack dan cek
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

J|E | C | |
Ternyata I ≠ goal
Karena I tidak punya anak maka I tidak dimasukkan ke solusi sementara
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri
J|E | C | |
Solusi sementara = [A C D]
 Iterasi ke – 5
Stack pada iterasi ke 5 :
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

J|E | C | |

Solusi sementara =[A C D]


Keluarkan J dari stack dan cek
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

|E | C | |
Ternyata J ≠ goal
Karena J tidak punya anak maka J tidak dimasukkan ke solusi sementara
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

|E | C | |
Solusi sementara = [A C D]
 Iterasi ke – 6
Stack pada iterasi ke 6 :
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

|E | C | |
Solusi sementara = [A B D]
Keluarkan tanda batas dari stack dan gunakan untuk menghapus solusi sementara
satu huruf
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

E|C||
Solusi sementara = [A B D] = [A B]

 Iterasi ke – 7
Stack pada iterasi ke 7 :
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

E|C||

Solusi sementara =[A B]


Keluarkan E dari stack dan cek
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

|C||
Ternyata E ≠ goal
Karena E punya anak K, beri tanda batas dan masukkan node Kke stack
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

K|| C | |
Karena E punya anak, masukkan E ke solusi sementara :
Solusi sementara = [A B E]
 Iterasi ke – 8
Stack pada iterasi ke 8 :
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

K|| C | |
Solusi sementara = [A B E]
Keluarkan K dari stack dan cek

STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

|C||
Ternyata K ≠ goal
Karena K tidak punya anak maka K tidak dimasukkan ke solusi sementara
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

|| C | |
Solusi sementara = [A B E]
 Iterasi ke – 9
Stack pada iterasi ke 9 :
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

|| C | |
Solusi sementara = [A B E]
Keluarkan tanda batas dari stack dan gunakan untuk menghapus solusi sementara
satu huruf
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

C||
Solusi sementara = [A B E] = [A]
 Iterasi ke – 10
Stack pada iterasi ke 10 :
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

C||
Solusi sementara = [A]
Keluarkan C dari stack dan cek
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

|||
Ternyata C ≠ goal
Karena C punya anak F, G dan H, beri tanda batas dan masukkan node F, G dan H
ke stack
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

F G H| | |
Karena C punya anak, masukkan C ke solusi sementara :
Solusi sementara = [A C]
 Iterasi ke – 11
Stack pada iterasi ke 11 :
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

F G H| | |

Solusi sementara = [A C]
Keluarkan F dari stack dan cek
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

G H| | |
Ternyata F ≠ goal
Karena F punya anak L, beri tanda batas dan masukkan node L ke stack
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri
L| G H| | |
Karena F punya anak, masukkan F ke solusi sementara :
Solusi sementara = [A C F]
 Iterasi ke – 12
Stack pada iterasi ke 12 :
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

L| G H| | |

Solusi sementara = [A C F]
Keluarkan L dari stack dan cek
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

G H| | |
Ternyata L ≠ goal
Karena L punya anak Q, beri tanda batas dan masukkan node Q ke stack
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

Q|| G H| | |
Karena F punya anak, masukkan F ke solusi sementara :
Solusi sementara = [A C F L]
 Iterasi ke – 13
Stack pada iterasi ke 13 :
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

Q|| G H| | |
Solusi sementara = [A C F L]
Keluarkan Q dari stack dan cek
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

|| G H| | |
Ternyata Q ≠ goal
Karena Q tidak punya anak maka Q tidak dimasukkan ke solusi sementara
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

|| G H| | |
Solusi sementara = [A C F L]
 Iterasi ke – 14
Stack pada iterasi ke 14 :
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

|| G H| | |

Solusi sementara = [A C F L]
Keluarkan tanda batas dari stack dan gunakan untuk menghapus solusi sementara
satu huruf
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

G H| | |
Solusi sementara =[A C F L] = [A C]
 Iterasi ke – 15
Stack pada iterasi ke 15 :
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

G H| | |
Solusi sementara = [A C]
Keluarkan G dari stack dan cek
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

Ternyata G ≠ goal H| | |
Karena G punya anak M danN, beri tanda batas dan masukkan node M dan N ke
stack
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

M N| H| | |
Karena G punya anak, masukkan G ke solusi sementara :
Solusi sementara = [A C G]
 Iterasi ke – 16
Stack pada iterasi ke 16 :
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

M N| H| | |
Solusi sementara = [A C G]
Keluarkan M dari stack dan cek
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

N| H| | |
Ternyata M ≠ goal
Karena M tidak punya anak maka M tidak dimasukkan ke solusi sementara
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

N| H| | |
Solusi sementara = [A C G]
 Iterasi ke – 17
Stack pada iterasi ke 17 :
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

Solusi sementara = [A C G] N| H| | |
Keluarkan N dari stack dan cek
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

| H| | |
Ternyata N ≠ goal
Karena N punya anak R dan S, beri tanda batas dan masukkan node R dan S ke
stack
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

R S|| H| | |
Karena N punya anak, masukkan N ke solusi sementara :
Solusi sementara = [A C G N]
 Iterasi ke – 18
Stack pada iterasi ke 18 :
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

R S|| H| | |
Solusi sementara = [A C G N]
Keluarkan R dari stack dan cek
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

S|| H| | |
Ternyata R ≠ goal
Karena R tidak punya anak maka R tidak dimasukkan ke solusi sementara
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

S|| H| | |
Solusi sementara = [A C G N]
 Iterasi ke – 19
Stack pada iterasi ke 19 :
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

S|| H| | |
Solusi sementara = [A C G N]
Keluarkan S dari stack dan cek
STACK
Masuk dari pintu kiri, keluar lewat pintu kiri

|| H| | |
Ternyata S = goal
Karena S adalah Goal, maka masukkan ke solusi dan hentikan pencarian
Solusi = [A C G N S]

Anda mungkin juga menyukai