Section Artikel
Breadth First Search (BFS) merupakan salah satu algoritma pencarian jalur melewati semua titik, yang dilakukan dengan mengunjungi node pada level n atau titik awal terlebih dahulu sebelum mengunjungi node-node pada level n+1 atau cabang titik secara terurut.
Apabila titik tujuan belum ditemukan, maka perhitungan dapat diulang kembali pada masing-masing titik cabang dari setiap titik hingga sampai pada titik tujuan tersebut ditemukan. Singkatnya, algoritma BFS digunakan untuk melewati dan mencari semua node dengan struktur data tree maupun graph.
Algoritma BFS membutuhkan sebuah antrian q yang digunakan untuk menyimpan node yang telah dikunjungi. Node-node tersebut diperlukan sebagai rujukan untuk mengunjungi node-node lain yang bersebelahan dengan node tersebut.
Setiap node yang telah dikunjungi hanya masuk satu kali ke dalam antrian. Hal tersebut dikarenakan algoritma BFS memerlukan table Boolean agar dapat menyimpan node yang telah dikunjungi sehingga tidak ada node yang dikunjungi lebih dari satu kali.
Algoritma BFS berbeda dengan algoritma DFS. DFS merupakan kepanjangan dari Depth First Search, menjadi salah satu algoritma yang dapat melewati struktur data tree maupun graph menggunakan teknik backtracking.
Adapun cara untuk mengimplementasikan algoritma BFS yakni hanya dengan pseudocode. Pseudocode merupakan salah satu cara penulisan program yang informal dan dapat dirancang dengan kaidah yang telah ditentukan sendiri sesuai urutan logika dan mudah dipahami.
Berdasarkan gambar di atas, berikut langkah-langkah yang dapat dijalankan.
Node-node yang telah dikunjungi dapat tersimpan dalam suatu antrian algoritma BFS. Antrian tersebut dapat dimanfaatkan sebagai rujukan node yang bersebelahan dengannya yang akan dikunjungi selanjutnya sesuai dengan urutan pengantrian.
Sebelum melanjutkan pada pembahasan cara kerja, ada baiknya perlu mengetahui dan terbiasa pada struktur data utama yang berhubungan dengan algoritma breadth first search. Salah satu struktur data yang mengikuti prinsip breadth first search adalah Queue.
Queue merupakan struktur data yang terbuka di kedua ujung, yang mana satu ujung selalu digunakan untuk menginput data atau enqueue dan di ujung lainnya digunakan untuk menghapus data atau dequeue.
Adapun cara kerja algoritma BFS beserta antrian yang digunakan untuk memperjelas pemahaman, berikut langkah-langkah yang perlu diketahui.
Adapun kelebihan yang dimiliki oleh breadth first search yang perlu diketahui, berikut di antaranya.
Adapun kekurangan yang ada dalam breadth first search yang perlu dipahami, antara lain sebagai berikut.
Dalam upaya memperjelas pemahaman berikut ini contoh grafik yang akan digunakan untuk melintasi algoritma breadth first search.
Pada kasus ini, node a dapat dianggap sebagai simpul akar dan mulai melewati ke bawah dan mengikuti langkah-langkah yang telah disebutkan sebelumnya.
Gambar di atas menunjukkan bahwa proses end-to-end dari algoritma breadth first search. Selanjutnya berikut penjelasan dari gambar di atas.