Banyak cara yang digunakan untuk membangun sistem yang dapat menyelesaikan masalah-masalah di AI. Teknik penyelesaian masalah yang dapat dipakai untuk menyelesaikan permasalahan di AI diantaranya:
Keuntungan metode BFS
Menjamin ditemukannya solusi yang paling baik (complete & optimal)
Kelemahan
Karena BFS harus menyimpan seluruh node yang dibangkitkan maka metode ini membutuhkan memori dan waktu yang cukup banyak
Kasus 1
Diketahui : pohon pelacakan yang ada pada gambar di samping ini :
Pertanyaan : implementasikan algoritma BFS untuk mencari solusi dari node awal (start) S sampai node G (goal)
Iterasi ke – 1
masukkan node S ke QUEUE
gambar antriannya:
representasi ruang keadaan: (S)
keluarkan S dari QUEUE dan cek apakah S adalah goal?
ternyata S ≠ goal
Iterasi ke – 5
keluarkan D dari QUEUE dan cek apakah D adalah goal?
Ternyata D ≠ Goal
D tidak punya anak, jadi tidak ada yang dimasukkan ke QUEUE
Ternyata F ≠ Goal
F tidak punya anak, jadi tidak ada yang dimasukkan ke QUEUE
- Searching (pencarian)
- Reasoning (penalaran)
- Learning (Pembelajaran)
1. Searching (pencarian)
pemecahan masalah dengan teknik searching akan lebih mudah bila objek-objeknya direpresentasikan dalam graph. Representasi graph dilakukan dengan pertama tama membuat representasi objek masalah sebagai simpul serta representasi hubungan antar objek dengan menghubungkan simpul-simpul tersebut. Setelah itu setiap simpul dalam graph dikunjungi secara sistematis (traverse).
Teknik searching dibagi menjadi 2 yaitu:
- Pencarian buta (blind search)
- Pencarian terbimbing (heuristic search).
Pencarian buta (blind search)
Beberapa metode yang ada di pencarian buta (blind search) antara lain:
- Pencarian melebar pertama (breadth first search)
- Pencarian mendalam pertama (depth first search)
BREADTH FIRST SEARCH
Pada metode BFS, semua node pada level n akan dikunjungi terlebih dahulu sebelum mengunjungi node–node pada level n+1
![]() |
| Breadth first search |
Dalam metode BFS, node anak yang telah dikunjungi disimpan dalam suatu QUEUE (antrian). QUEUE ini digunakan untuk mengacu simpul-simpul yang bertetangga dengan yang akan dikunjungi sesuai antrean.
Berikut adalah langkah-langkah algoritma BFS:
- Masukkan node akar ke dalam QUEUE
- Ambil node dari awal QUEUE, lalu cek apakah node merupakan solusi
- Jika node merupakan solusi, pencarian selesai dan hasil dikembalikan
- Jika node bukan solusi, masukkan seluruh node anak ke dalam QUEUE
- Jika QUEUE kosong dan setiap node sudah dicek, pencarian selesai.
- Jika QUEUE tidak kosong, ulangi pencarian mulai dari poin 2.
Keuntungan metode BFS
Menjamin ditemukannya solusi yang paling baik (complete & optimal)
Kelemahan
Karena BFS harus menyimpan seluruh node yang dibangkitkan maka metode ini membutuhkan memori dan waktu yang cukup banyak
Kasus 1
Diketahui : pohon pelacakan yang ada pada gambar di samping ini :
Pertanyaan : implementasikan algoritma BFS untuk mencari solusi dari node awal (start) S sampai node G (goal)
![]() |
| Kasus 1 |
masukkan node S ke QUEUE
gambar antriannya:
keluarkan S dari QUEUE dan cek apakah S adalah goal?
ternyata S ≠ goal
S punya anak A dan B, masukkan ke dalam QUEUE
Representasi ruang keadaan
Iterasi ke – 2
keluarkan A dari QUEUE dan cek apakah A adalah goal?
Ternyata A ≠ Goal
A punya anak C dan D, masukkan ke QUEUE
Representasi Ruang Keadaan
Iterasi ke – 3
keluarkan B dari QUEUE dan cek apakah B adalah goal?
Ternyata B ≠ Goal
B punya anak E dan F, masukkan ke QUEUE
Representasi Ruang Keadaan
Iterasi ke – 4
keluarkan C dari QUEUE dan cek apakah C adalah goal?
Ternyata C ≠ Goal
C tidak punya anak, jadi tidak ada yang dimasukkan ke QUEUE
Representasi Ruang Keadaan
keluarkan D dari QUEUE dan cek apakah D adalah goal?
D tidak punya anak, jadi tidak ada yang dimasukkan ke QUEUE
Representasi Ruang Keadaan
Iterasi ke – 6
keluarkan E dari QUEUE dan cek apakah E adalah goal?
Ternyata E ≠ Goal
E punya anak H dan G, masukkan ke QUEUE
Representasi Ruang Keadaan
Ternyata F ≠ Goal
F tidak punya anak, jadi tidak ada yang dimasukkan ke QUEUE
Representasi Ruang Keadaan
Iterasi ke – 8
keluarkan H dari QUEUE dan cek apakah H adalah goal?
keluarkan H dari QUEUE dan cek apakah H adalah goal?
Ternyata H ≠ Goal
H tidak punya anak, jadi tidak ada yang dimasukkan ke QUEUE
Representasi Ruang Keadaan
Iterasi ke – 9
keluarkan G dari QUEUE dan cek apakah G adalah goal?
Ternyata G = Goal
Pencarian Dihentikan.
Mencari Solusi :
G anaknya E, dan E anaknya B, dan B anaknya S
Karena S adalah node akar maka pencarian solusi dihentikan dan diperoleh solusi
S – B – E – G



























