{"id":4250,"date":"2026-09-23T00:02:04","date_gmt":"2026-09-22T17:02:04","guid":{"rendered":"https:\/\/focusnic.com\/blog\/?p=4250"},"modified":"2026-09-23T00:02:06","modified_gmt":"2026-09-22T17:02:06","slug":"pengertian-breadth-first-search-bfs","status":"publish","type":"post","link":"https:\/\/focusnic.com\/blog\/pengertian-breadth-first-search-bfs\/","title":{"rendered":"Pengertian Breadth First Search (BFS): Panduan Lengkap dan Cara Kerja"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>Breadth First Search<\/strong> (BFS) adalah teknik penelusuran graf atau pohon yang bekerja secara berlapis, menelusuri simpul-simpul pada level yang sama sebelum bergerak ke level berikutnya. Metode ini memastikan simpul-simpul terdekat dari titik awal diproses terlebih dahulu, membuatnya ideal untuk mencari jalur terpendek dalam graf tak berbobot. BFS juga menjadi dasar untuk berbagai algoritma dan aplikasi dalam ilmu komputer.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pada dasarnya, BFS memulai penelusuran dari simpul awal (root) lalu menjelajahi semua tetangga (neighbor) secara menyeluruh. Setelah semua simpul pada satu tingkat terkunjungi, barulah algoritma melanjutkan ke tingkat berikutnya. Proses ini berlanjut hingga semua simpul terkunjungi atau simpul tujuan ditemukan. Dengan cara ini, BFS mampu memberikan urutan penelusuran berdasarkan kedekatan hop.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Konsep utama <strong>BFS<\/strong> melibatkan penggunaan struktur data <strong>queue<\/strong> (antrian) untuk mengatur urutan simpul yang akan dikunjungi. Setiap kali simpul diproses, semua tetangganya yang belum pernah dikunjungi dimasukkan ke dalam antrian. Setelah itu, elemen antrian di-dequeue satu per satu, dan proses penelusuran berlanjut hingga antrian kosong atau kondisi berhenti terpenuhi.<\/p>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_88 counter-hierarchy ez-toc-counter ez-toc-light-blue ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/focusnic.com\/blog\/pengertian-breadth-first-search-bfs\/#Cara_Kerja_dan_Implementasi_BFS\" >Cara Kerja dan Implementasi BFS<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/focusnic.com\/blog\/pengertian-breadth-first-search-bfs\/#Aplikasi_Utama_Breadth_First_Search\" >Aplikasi Utama Breadth First Search<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/focusnic.com\/blog\/pengertian-breadth-first-search-bfs\/#Pencarian_Jalur_Terpendek\" >Pencarian Jalur Terpendek<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/focusnic.com\/blog\/pengertian-breadth-first-search-bfs\/#Traversal_Pohon_Level_Order\" >Traversal Pohon (Level Order)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/focusnic.com\/blog\/pengertian-breadth-first-search-bfs\/#Pemodelan_Jejaring_Sosial\" >Pemodelan Jejaring Sosial<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/focusnic.com\/blog\/pengertian-breadth-first-search-bfs\/#Keunggulan_dan_Keterbatasan\" >Keunggulan dan Keterbatasan<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/focusnic.com\/blog\/pengertian-breadth-first-search-bfs\/#Keunggulan_BFS\" >Keunggulan BFS<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/focusnic.com\/blog\/pengertian-breadth-first-search-bfs\/#Keterbatasan_dan_Tantangan\" >Keterbatasan dan Tantangan<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/focusnic.com\/blog\/pengertian-breadth-first-search-bfs\/#Kesimpulan\" >Kesimpulan<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Cara_Kerja_dan_Implementasi_BFS\"><\/span>Cara Kerja dan Implementasi BFS<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Prinsip kerja BFS meliputi tiga langkah utama: inisialisasi, penelusuran, dan penandaan simpul yang sudah dikunjungi. Inisialisasi mencakup penempatan simpul awal ke dalam antrian dan penandaan sebagai telah dikunjungi. Pada tahap penelusuran, simpul terdepan di-dequeue, lalu semua tetangga yang belum dikunjungi di-enqueue dan ditandai. Siklus ini terus berulang untuk mengeksplorasi graf secara berlapis.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Berikut contoh pseudocode sederhana BFS pada graf G dengan simpul s sebagai sumber:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Queue Q = kosong; mark[s] = true; enqueue s ke Q;<\/li>\n\n\n\n<li>while Q tidak kosong:\n<ol class=\"wp-block-list\">\n<li>u = dequeue Q;<\/li>\n\n\n\n<li>for setiap tetangga v dari u:\n<ol class=\"wp-block-list\">\n<li>if mark[v] == false:\n<ol class=\"wp-block-list\">\n<li>mark[v] = true;<\/li>\n\n\n\n<li>enqueue v ke Q;<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Pseudocode di atas menekankan penggunaan <strong>queue<\/strong> dan penandaan simpul agar tidak terjadi kunjungan ganda.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Struktur data <strong>queue<\/strong> bekerja berdasarkan prinsip FIFO (First In, First Out). Dalam konteks BFS, antrian memastikan simpul yang lebih dulu dimasukkan akan diproses terlebih dahulu, memenuhi tujuan penelusuran level-order. Implementasi queue dapat menggunakan array, linked list, atau deque sesuai bahasa pemrograman.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Aplikasi_Utama_Breadth_First_Search\"><\/span>Aplikasi Utama <strong>Breadth First Search<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Pencarian_Jalur_Terpendek\"><\/span>Pencarian Jalur Terpendek<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Salah satu penerapan paling umum <strong>BFS<\/strong> adalah mencari jalur terpendek pada graf tak berbobot. Dengan eksplorasi berlapis, BFS menjamin menemukan jalur dengan jumlah hop paling sedikit antara simpul sumber dan tujuan. Metode ini sering digunakan pada sistem navigasi, robotika, dan pemecahan labirin.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Traversal_Pohon_Level_Order\"><\/span>Traversal Pohon (Level Order)<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Pada struktur <strong>pohon<\/strong>, BFS dikenal sebagai level-order traversal. Algoritma ini mengunjungi semua node pada satu tingkat sebelum melanjutkan ke tingkat berikutnya, berguna dalam pencetakan pohon, penyeimbangan pohon biner, dan algoritma pencarian terstruktur lain.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Pemodelan_Jejaring_Sosial\"><\/span>Pemodelan Jejaring Sosial<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Dalam analisis jejaring sosial, BFS dapat digunakan untuk menemukan tingkat koneksi antar pengguna (degree of separation). Misalnya, algoritma ini membantu mengukur jarak pertemanan di media sosial, mengidentifikasi komunitas, dan menganalisis penyebaran informasi.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Keunggulan_dan_Keterbatasan\"><\/span>Keunggulan dan Keterbatasan<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Keunggulan_BFS\"><\/span>Keunggulan BFS<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Salah satu keunggulan utama <strong>BFS<\/strong> adalah kemampuannya menjamin jalur terpendek pada graf tak berbobot. Selain itu, algoritma ini relatif mudah diimplementasikan dan dipahami. Penggunaan queue juga membuat alurnya jelas dan sistematis, sehingga cocok untuk aplikasi real-time dan pemrosesan graf besar dengan struktur berlapis.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Keterbatasan_dan_Tantangan\"><\/span>Keterbatasan dan Tantangan<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Meski demikian, BFS memiliki keterbatasan, terutama pada penggunaan memori. Karena harus menyimpan antrian semua simpul yang akan diproses, konsumsi memori dapat meningkat pesat pada graf dengan cabang lebar (high branching factor). Selain itu, pada graf berbobot atau graf sangat besar, BFS mungkin tidak efisien dalam hal waktu dan ruang.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Kesimpulan\"><\/span>Kesimpulan<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Beberapa strategi untuk mengoptimalkan <strong>BFS<\/strong> antara lain:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Gunakan representasi graf efisien seperti adjacency list.<\/li>\n\n\n\n<li>Implementasikan queue dengan deque untuk operasi enqueue\/dequeue O(1).<\/li>\n\n\n\n<li>Manfaatkan bitset untuk penandaan simpul pada graf besar.<\/li>\n\n\n\n<li>Lakukan filter awal untuk mengurangi tetangga yang tidak relevan.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Breadth First Search<\/strong> merupakan algoritma fundamental dalam ilmu komputer, banyak diaplikasikan mulai dari pencarian jalur terpendek hingga analisis jejaring sosial. Memahami konsep, implementasi, serta keunggulan dan keterbatasannya sangat penting untuk memilih metode yang tepat dalam memecahkan berbagai permasalahan graf dan pohon.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Breadth First Search (BFS) adalah teknik penelusuran graf atau pohon yang bekerja secara berlapis, menelusuri simpul-simpul pada level yang sama sebelum bergerak ke level berikutnya. Metode ini memastikan simpul-simpul terdekat dari titik awal diproses terlebih dahulu, membuatnya ideal untuk mencari jalur terpendek dalam graf tak berbobot. BFS juga menjadi dasar untuk berbagai algoritma dan aplikasi [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":4336,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[114],"class_list":["post-4250","post","type-post","status-publish","format-standard","has-post-thumbnail","category-informasi","tag-programming"],"_links":{"self":[{"href":"https:\/\/focusnic.com\/blog\/wp-json\/wp\/v2\/posts\/4250","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/focusnic.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/focusnic.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/focusnic.com\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/focusnic.com\/blog\/wp-json\/wp\/v2\/comments?post=4250"}],"version-history":[{"count":1,"href":"https:\/\/focusnic.com\/blog\/wp-json\/wp\/v2\/posts\/4250\/revisions"}],"predecessor-version":[{"id":4337,"href":"https:\/\/focusnic.com\/blog\/wp-json\/wp\/v2\/posts\/4250\/revisions\/4337"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/focusnic.com\/blog\/wp-json\/wp\/v2\/media\/4336"}],"wp:attachment":[{"href":"https:\/\/focusnic.com\/blog\/wp-json\/wp\/v2\/media?parent=4250"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/focusnic.com\/blog\/wp-json\/wp\/v2\/categories?post=4250"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/focusnic.com\/blog\/wp-json\/wp\/v2\/tags?post=4250"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}