Anda di halaman 1dari 10

BAB I

PENDAHULUAN

1.1 Latar Belakang

Searching adalah mekanisme pemecahan masalah yang paling umum di


dalam kecerdasan buatan. Di dalam permasalahan-permasalahan kecerdasan
buatan, urutan langkah-langkah yang dibutuhkan untuk memperoleh solusi
merupakan suatu isu yang penting untuk diformulasikan. Dalam ilmu
komputer, sebuah algoritma pencarian yang dijelaskan secara luas adalah
sebuah algoritma yang menerima masukan berupa sebuah masalah dan
menghasilkan sebuah solusi untuk masalah tersebut, yang biasanya dapat
dievaluasi beberapa kemungkinan solusi. Sebagian besar algoritma yang
dipelajari oleh ilmuwan komputer adalah algoritma pencarian. Himpunan
semua kemungkinan solusi dari sebuah masalah disebut ruang pencarian.
Algoritma pencarian brute-force atau pencarian naif /uninformed
menggunakan metode yang sederhana dan sangat intuitif pada ruang
pencarian informed menggunakan heuristik untuk menerapkan pengetahuan
tentang struktur dari ruang pencarian untuk berusaha mengurangi banyaknya
waktu yang dipakai dalam pencarian. Adapun dalam metode pencarian blind
atau buta digunakan karena memang tidak ada informasi awal yang
digunakan dalam proses pencarian.Algoritma pencarian ini menggunakan
metode BFS, DFS, dll. Namun dalam makalah ini akan dibahas mengenai
metode Breadth First Search (BFS).

1.2 Rumusan Masalah

1. Apa pengertian Breadth First Search (BFS) ?


2. Bagaimana cara kerja algoritma Breadth First Search (BFS) ?

1.3 Tujuan

1. Mahasiswa mampu memahami pengertian dari Breadth First Search


(BFS)
2. Mahasiswa mampu mengetahui dan memahami algoritma Breadth First
Search (BFS)
3. Mahasiswa mampu memahami cara kerja dari Breadth First Search (BFS)

1
BAB II

PEMBAHASAN

2.1 Pengertian Breadth First Search (BFS)

Breadth First Search (BFS) adalah sebuah algoritma pencarian graf yang
dimulai dari node pangkal dan menjelajahi semua node yang berdekatan dan
untuk setiap node yang berdekatan , BFS menjelajahi node-node yang tidak
terlihat sebelumnya (unexplored) dan seterusnya. Breadth First Search (BFS)
merupakan sebuah metode pencarian yang bertujuan untuk memperluas dan
memeriksa semua node dari semua graf atau kombinasi dari urutan dengan
menggunakan semua solusi secara sistematis. Dengan kata lain, BFS mencari
ke seluruh graf atau urutan secara mendalam tanpa mempertimbangkan
tujuannya (goals) sampai tujuan itu tercapai. Breadth First Search tidak
menggunakan algoritma heuristik.

Algoritma Breadth First Search (BFS)akan melakukan pencarian secara


melebar yang mengunjungi simpul secara preorder yaitu mengunjungi suatu
simpul kemudian mengunjungi semua simpul yang berdekatan dengan
simpul tersebut terlebih dahulu, selanjutnya simpul yang belum dikunjungi
dan berdekatan dengan simpul-simpul yang tadi dikunjungi demikian
seterusnya. Jika graf berbentuk pohon berakar, maka semua simpul pada aras
d dikunjungi lebih dahulu sebelum simpul-simpul pada aras d+1.

Algoritma ini memerlukan sebuah antrian q untuk menyimpan simpul


yang telah dikunjungi. Simpul-simpul ini diperlukan sebagai acuan untuk
mengunjungi simpul-simpul yang bertentangan dengannya. Tiap simpul yang
telah dikunjungi masuk kedalam antrian hanya satu kali. Algoritma ini juga
membutuhkan tabel Boolean untuk menyimpan simpul yang telah dikunjungi
sehingga tidak ada simpul yang dikunjungi lebih dari satu kali. Breadth First
Search (BFS) melakukan proses searching pada semua node yang berada
pada level atau hirarki yang sama terlebih dahulu sebelum melanjutkan proses
searching pada node di level berikutnya. Contoh proses searching Breadth
First Search (BFS) ditunjukan pada gambar-gambar berikut :

2
Kelebihan Breadth First Search (BFS) :

 Tidak akan menemukan jalan buntu


 Menjamin ditemukannya solusi (jika solusinya memang ada) dan solusi
yang ditemukan pasti yang paling baik.
 Jika hanya ada satu solusi maka Breadth First Search akan menemukannya

Kekurangan Breadth First Search (BFS) :

 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).

2.2 Cara Kerja Breadth First Search (BFS)

Dalam algoritma BFS, simpul anak yang telah dikunjungi disimpan dalam
suatu antrian. Antrian ini digunakan untuk mengacu simpul-simpul yang
bertetangga dengannya yang akan dikunjungi kemudian sesuai urutan
pengantrian.

Untuk memperjelas cara kerja algoritma BFS beserta antrian yang


digunakannya, berikut langkah-langkah algoritma BFS:

1. Masukkan simpul ujung (akar) ke dalam antrian


2. Ambil simpul dari awal antrian, lalu cek apakah simpul merupakan solusi
3. Jika simpul merupakan solusi, pencarian selesai dan hasil dikembalikan.

3
4. Jika simpul bukan solusi, masukkan seluruh simpul yang bertetangga
dengan simpul tersebut (simpul anak) ke dalam antrian
5. Jika antrian kosong dan setiap simpul sudah dicek, pencarian selesai dan
mengembalikan hasil solusi tidak ditemukan
6. Ulangi pencarian dari langkah kedua

Contohnya terlihat dibawah ini:

Maka penyelesaiannya adalah:

Gambar (a) BFS(1): 1, 2, 3, 4, 5, 6, 7, 1.

Gambar (b) BFS(1): 1, 2, 3, 4, 5, 6, 7, 1

Gambar (c) BFS(1): 1, 2, 3, 4, 5, 6, 7, 8, 9

Pencarian Lintasan Terpendek dengan BFS

Adapun contoh untuk mencari lintasan terpendek dengan menggukan


algoritma BFS adalah sebagai berkut:

Diketahui sebuah kota, dengan memiliki inisial seperti yang ditunjukkan


dibawah ini. Jarak antar kota dibentuk dengan sebuah graph terlihat dibawah:

4
Pertanyaan: sebutkan rute yang akan ditempuh untuk mencapai kota no. 8.
Titik awal perjalanan adalah kota no. 1. Gunakan algoritma BFS!

Maka dengan menggunakan algoritma BFS, rute tercepat yang didapat


adalah sebagai berikut:

1–2–3–4–5–6–7–8

Rute tersebut didapat dari pencarian secara melebar. Hal; tersebut dapat
dijabarkan sebagai berikut:

 Pertama-tama, pointer menunujuk pada daun yang ada sebelah kanan,


yaitu no.2 (1 – 2)
 Setelah itu, proses dilanjutkan pada tetangga no.2 yaitu no.3 (1-2-3) dan
selanjutnya mengarah pada tetangga terdekat, yakni no.4 (1-2-3-4).
 Pointer mencari teteangga no.4, namun karna tidak ada, maka pointer
kembali ke kota no.2 dan masuk ke daun berikutnya, yakni no.5.
 Proses diulang hingga pointer menunjuk angka 8

Penerapan BFS dalam Bahasa Algoritma

Adapun penerapan BFS pada algoritma adalah sebagai berikut:

5
Contoh kasus BFS 1 :

Berikut adalah contoh kasus dengan menggunakan metode BFS. Kita akan
mencari jalur tujuan dengan menggunakan angkutan umum.Contoh :

Mencari jalur angkutan umum dari terminal senen ke terminal Kp. Rambutan

Initial State : Senen

Goal State : Kp. Rambutan

RUTE PERJALANAN

Penjelasan Gambar :

 Membangkitakan anak dari terminal Senen = Terminal blok M, Terminal


Pulo Gadung, Terminal Manggarai
 Karena goal state (Terminal Kp. Rambutan) belum tercapai maka kita
bangkitkan anak dari terminal senen

Terminal Blok M = Terminal Grogol, Terminal Lebak Bulus

Terminal Lebak Bulus = Terminal Ciputat, Terminal Kp. Rambutan.

Terminal Pulo Gadung = Terminal bekasi

Terminal Manggarai = Terminal Cililitan, Terminal Harmoni

Akhirnya tercapai Goal State (Terminal Kp. Rambutan).

6
Contoh kasus BFS 2 :

Studi Kasus : Pada suatu hari ada seorang petani yang mempunyai seekor
kambing dan serigala.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)

Metode Penyelesaian :

Berikut ini adalah algoritma BFS :

A. Masukkan simpul akar ke dalam antrian Q. Jika simpul akar = simpul


solusi (goal node), maka stop.
B. Jika Q kosong, tidak ada solusi. Stop.
C. 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.

7
D. Jika suatu simpul anak dari v adalah simpul solusi, maka solusi telah
ditemukan, kalau tidak kembali lagi ke langkah 2.

8
BAB III

PENUTUP
3.1 KESIMPULAN

Dari pembahasan diatas dapat ditarik kesimpulan yaitu :

1. Breadth-first search (BFS) melakukan proses searching pada semua node


yang berada pada level atau hirarki tetangga yang terdekat terlebih dahulu
sebelum melanjutkan proses searching pada node di level berikutnya.
2. Metode BFS membutuhkan memori yang cukup banyak namun dengan
menggunakan metode ini solusinya tidak akan menemukan jalan buntu.

9
DAFTAR PUSTAKA

1. http://solikhaton.blogspot.com/2014/08/makalah-membahas-tentang-
algoritma.html
2. http://en.wikipedia.org/wiki/Breadth-first_search
3. http://ww3.algorithmdesign.net/handouts/BFS.pdf
4. http://azizmusyaffaa.blogspot.com/2016/10/breadth-first-search-depth-first-
search.html?m=1
5. https://onbuble.wordpress.com/2011/05/26/6/
6. http://muhamadmasruri.blogspot.com/2013/04/pencarian-melebar-pertama-
breadth-first.html?m=1

10

Anda mungkin juga menyukai