Anda di halaman 1dari 9

Terbit online pada laman web jurnal: https://ejurnalunsam.id/index.

php/jicom/

Vol. 02 No. 01 (2021) x - x E-ISSN :2774-7115 P-ISSN: 2775-2089

METODE BFS DAN DFS DALAM PENCARIAN SOLUSI GAME


MISSIONARIES AND CANNIBALS

Muhammad Anshori Harahap1


1
Informatika, Fakultas Teknik, Universitas Samudra
1
anshoriharahap106@gmail.com

ABSTRACT

BFS and DFS are effective and efficient algorithms. By using these two methods players can
find the optimal solution to solve the game 'Missionaries and Cannibals". This research was
conducted with a quantitative approach, applying the BFS and DFS algorithms. This research
produces a tree and state graph that contains a sequence of steps in solving the game. Analysis
of the sample data used is supported by testing the performance of BFS and DFS. From the
results of this research, it can be developed to analyze sudoku games for the next time.

Keywords: Breadth First Search (BFS),Deepth First Search (DFS), game, problem solving,
analyst, Artificial Intelligence.

ABSTRAK

BFS dan DFS merupakan algoritma yang efektif dan efisien. Dengan menggunakan kedua
metode ini pemain dapat menemukan solusi optimal untuk menyelesaikan permainan
'Misionaris dan Kanibal". Penelitian ini dilakukan dengan pendekatan kuantitatif, dengan
menerapkan algoritma BFS dan DFS. Penelitian ini menghasilkan sebuah tree dan state graph
yang berisi urutan langkah-langkah dalam menyelesaikan permainan. Analisis terhadap data
sampel yang digunakan didukung dengan pengujian performa BFS dan DFS. Dari hasil
penelitian ini, dapat dikembangkan untuk menganalisis permainan sudoku untuk waktu
berikutnya.

Kata kunci: Breadth First Search (BFS), Deepth First Search (DFS), permainan, pencarian
solusi, Analisis , Kecerdasan Buatan.

Diterima Redaksi : xx-xx-2021 | Selesai Revisi : xx-xx-2021 | Diterbitkan Online : xx-xx-2021


Muhammad Anshori Harahap1
Jurnal J-COM (Jurnal Informatika dan Teknologi Komputer) Vol. 02 No. 01 (2021) xx – xx

PENDAHULUAN Dalam rangkaian analisis yang akan kami


lakukan, kita akan menilai efisiensi serta
Dalam dunia pemecahan masalah, kecepatan konvergensi dari kedua metode
pencarian solusi merupakan komponen tersebut. Dengan informasi ini, pemain
utama yang mendorong efektivitas dan dapat memilih metode yang sesuai dengan
efisiensi dalam menyelesaikan berbagai tujuan dan preferensi mereka dalam
tantangan. Dalam hal ini, kita menjalani permainan ini.
memperkenalkan dua algoritma pencarian
yang merupakan fokus utama dalam BFS telah di terapkan
penelitian ini: Breadth First Search (BFS) PERANCANGAN APLIKASI
dan Depth First Search (DFS). Kedua INFORMASI PENCARIAN SHELTER
algoritma ini digunakan untuk menjelajahi TRANSIT TRANSJAKARTA DENGAN
struktur data berbentuk pohon atau graf, METODE BREADTH FIRST SEARCH
masing-masing dengan pendekatan oleh Shanty Dewi(2018). DFS telah di
uniknya. BFS bergerak menyeluruh, terapkan PENERAPAN ALGORITMA
menjelajahi semua tetangga sebuah simpul DEPTH-FIRST SEARCH (DFS) PADA
sebelum melanjutkan ke tingkat PENCARIAN SOLUSI PERMAINAN
berikutnya. Sementara itu, DFS lebih suka “PAIRS” oleh Lovinta Happy Atrinawati
menjelajahi sejauh mungkin dalam setiap (2007). Kedua penelitian ini membuktikan
cabang sebelum melakukan perjalanan bahwa metode BFS dan DFS sangat di
balik. sarankan sebagai metode penyelesaian
suatu masalah.
Permainan "Missionaries and
Cannibals" (Misionaris dan Kanibal) METODE PENELITIAN
menjadi objek penelitian kami. Permainan
ini menghadirkan tantangan mengenai 2.1 Model Penelitian:
pemindahan sejumlah misionaris dan Dalam penelitian ini, kami memilih
kanibal dari satu sisi sungai ke sisi lain, permainan "Missionaries and Cannibals"
dengan aturan ketat yang mengawasi sebagai objek penelitian kami. Kami
jumlah kanibal dan misionaris di kedua sisi memodelkan permainan ini dalam
sungai. Pelanggaran aturan mengakibatkan lingkungan komputasi untuk
kanibal memakan misionaris dan menggambarkan semua kemungkinan
berakhirnya permainan. langkah yang efektif dalam menyelesaikan
Untuk mengatasi tantangan dalam permainan ini. Kami akan menggunakan
permainan ini, kami memilih untuk dua metode pencarian, yaitu Breadth First
menerapkan dua metode pencarian, yaitu Search (BFS) dan Depth First Search
Breadth First Search (BFS) dan Depth (DFS), sebagai solusi yang efektif dalam
First Search (DFS), sebagai solusi yang menyelesaikan permainan ini. Pilihan kami
potensial. Melalui kedua metode ini, untuk memilih model permainan ini
pemain akan memiliki kemampuan untuk sebagai objek penelitian adalah karena
menemukan solusi yang paling optimal kompleksitasnya yang memerlukan
dalam menyelesaikan permainan ini.
Jurnal J-COM (Jurnal Informatika dan Teknologi Komputer) Vol. 02 No. 01 (2021) xx – xx
2
Muhammad Anshori Harahap1
Jurnal J-COM (Jurnal Informatika dan Teknologi Komputer) Vol. 02 No. 01 (2021) xx – xx

pemikiran strategis yang mendalam dalam BFS dan DFS dalam konteks pencarian
menemukan solusi yang mematuhi aturan. solusi pada permainan "Missionaries and
Cannibals" serta bagaimana keduanya
dapat menjadi alat yang efektif dalam
2.2 Teknik Pengumpulan Data: mengejar solusi dalam
permasalahan serupa.
Proses analisis dalam penelitian ini
dilakukan dengan menggunakan grafik dan HASIL DAN PEMBAHASAN
pohon sebagai representasi data awal yang 3.1 Graph Pencarian Solusi
akan kami proses. Data ini akan mencakup
state awal permainan, operator-operasi Dalam permainan "Missionaries and
yang memungkinkan perubahan state, dan Cannibal," kita dihadapkan dengan
tujuan akhir yang harus dicapai dalam tantangan yang melibatkan 3 misionaris
permainan. Kami akan mendapatkan data dan 3 kanibal yang harus dipindahkan dari
ini melalui simulasi komputer yang telah hulu ke hilir sungai menggunakan perahu.
kami kembangkan, yang akan merekam Peraturan permainan yang ketat mengatur
langkah-langkah yang diperlukan untuk bahwa perahu tidak dapat bergerak tanpa
menyelesaikan permainan menggunakan penumpang, dan perahu hanya mampu
kedua metode, yaitu BFS dan DFS. Data membawa maksimal 2 penumpang
ini akan mencakup informasi tentang sekaligus. Lebih penting lagi, jika ada
urutan langkah yang diambil, waktu yang lebih banyak kanibal daripada misionaris
dibutuhkan oleh masing-masing metode, di satu sisi sungai, maka kanibal akan
serta kemungkinan jalur-jalur yang telah memakan misionaris, yang akan
dieksplorasi oleh kedua metode. menyebabkan berakhirnya permainan.

2.3 Teknik Analisis Data: Dalam rangka menyelesaikan


permainan ini dengan baik, kita
Data yang dihasilkan dari analisis memerlukan strategi yang bijak. Langkah
menggunakan Metode BFS dan Metode awal dalam pemecahan masalah ini adalah
DFS akan dibandingkan untuk mengukur untuk memindahkan satu kanibal dan satu
tingkat efisiensi dan akurasi keduanya misionari ke sisi hilir sungai dengan
dalam menyelesaikan permainan menggunakan perahu. Setelah tiba di sana,
"Missionaries and Cannibals." Kami akan kita akan menurunkan satu kanibal di sisi
membandingkan waktu yang dibutuhkan hilir dan membawa satu misionari kembali
oleh kedua metode untuk menemukan ke sisi hulu menggunakan perahu.
solusi, serta sejauh mana kemungkinan
jalur-jalur telah dieksplorasi oleh masing- Setelah kembali ke sisi hulu, kita akan
masing metode. Selain itu, kami juga akan memuat dua kanibal ke perahu dan
mengevaluasi sejauh mana kedua metode membawa mereka ke sisi hilir. Kemudian,
ini mampu menemukan solusi yang kita akan menurunkan satu kanibal di sisi
mematuhi aturan permainan. Hasil analisis hilir. Setelah itu, satu kanibal akan kembali
ini akan memberikan pemahaman yang ke sisi hulu menggunakan perahu. Setelah
lebih mendalam tentang perbedaan antara kembali ke sisi hulu, kita akan memuat dua
Jurnal J-COM (Jurnal Informatika dan Teknologi Komputer) Vol. 02 No. 01 (2021) xx – xx
3
Muhammad Anshori Harahap1
Jurnal J-COM (Jurnal Informatika dan Teknologi Komputer) Vol. 02 No. 01 (2021) xx – xx

misionari ke perahu dan membawa mereka


ke sisi hilir. Setelah sampai di sana, kita
akan menurunkan dua misionari di sisi
hilir. Selanjutnya, kita akan membawa satu
kanibal dan satu misionari kembali ke sisi
hulu menggunakan perahu. Proses
selanjutnya adalah untuk membawa satu
kanibal ke sisi hilir dan kembali ke sisi
hulu secara bergantian. Proses ini akan
terus berlanjut sampai semua misionaris
dan kanibal berada di sisi hilir sungai, dan
permainan selesai.

Tiap-tiap state pada game


Missionaries and Cannibals di jadikan
sebuah simpul pada pohon dan graph. Pada
permainan ini, state awal adalah sisi hilir
masih kosong dan hulu berisi 3 misionari
dan 3 kanibal. Agar mempermudah
penggambaran, maka dibuat notasi untuk
tiap-tiap simpul/state.
Untuk state awal, notasi nya adalah
“ ” yang artinya, disisi hilir masih 0
misionari dan 0 kanibal, sedangkan disisi
hulu ada 3 misionari, dan 3 kanibal. Dan
untuk state akhir nya, notasinya adalah
” ” yang artinya, disisi hulu sudah 0
3.2 Hasil Penerapan BFS
misionari dan 0 kanibal, sedangkan di sisi
hilir ada 3 misionari dan 3 kanibal. Berikut hasil penerapan BFS sebagai
Selanjutnya ada 5 operator yang dimana: berikut:
1. Angel nyebrang sendirian.
graph = {
2. Kanibal nyebrang sendirian.
'1' : ['2','3','4','5','6'],
3. Angel dan kanibal nyebrang
'2' : [],
bersama.
4. Angel nyebrang bersama. '3' : [],
5. Kanibal nyebrang bersama. '4' : ['7', '8'],
'5' : [],
Berikut runtutan langkah-langkah dari '6' : ['8'],
state awal hingga solusi dapat di peroleh '7' : [],
dengan pohon. Berikut pohon state yang '8' : ['9'],
di buat, dari simpul state awal hingga '9' : ['10','11'],
simpul solusi: '10': ['12','13','14'],
'11': [],
'12': [],

Jurnal J-COM (Jurnal Informatika dan Teknologi Komputer) Vol. 02 No. 01 (2021) xx – xx
4
Muhammad Anshori Harahap1
Jurnal J-COM (Jurnal Informatika dan Teknologi Komputer) Vol. 02 No. 01 (2021) xx – xx

'13': [],
'14': ['15','16','17','18'],
'15': [],
'16': [],
'17': ['19','20','21','22'],
Output:
'18': [],
'19': [],
'20': [],
'21': ['23','24','25'],
'22': [],
'23': ['26','21'],
'24': [],
'25': [],
'26': ['27','28','29','30'],
'27': ['31'],
3.3 Hasil Penerapan DFS
'28': ['31'],
'29': [], Berikut hasil penerapan DFS sebagai
'30': [],
berikut:
'31': []
} # Using a Python dictionary to
act as an adjacency list
visited = [] # List for visited graph = {
nodes. '1' : ['2','3','4','5','6'],
queue = [] #Initialize a '2' : [],
queue '3' : [],
'4' : ['7', '8'],
def bfs(visited, graph, node): '5' : [],
#function for BFS '6' : ['8'],
visited.append(node) '7' : [],
queue.append(node) '8' : ['9'],
'9' : ['10','11'],
while queue: # '10': ['12','13','14'],
Creating loop to visit each node '11': [],
m = queue.pop(0) '12': [],
print (m, end = " ") '13': [],
'14': ['15','16','17','18'],
for neighbour in graph[m]: '15': [],
if neighbour not in '16': [],
visited: '17': ['19','20','21','22'],
visited.append(neighbour) '18': [],
queue.append(neighbour) '19': [],
'20': [],
# Driver Code '21': ['23','24','25'],
print("Following is the Breadth- '22': [],
First Search") '23': ['26','21'],
bfs(visited, graph, '1') # '24': [],
function calling
Jurnal J-COM (Jurnal Informatika dan Teknologi Komputer) Vol. 02 No. 01 (2021) xx – xx
5
Muhammad Anshori Harahap1
Jurnal J-COM (Jurnal Informatika dan Teknologi Komputer) Vol. 02 No. 01 (2021) xx – xx

'25': [], ke halaman berikutnya. Dengan kata lain,


'26': ['27','28','29','30'], algoritma ini menjelajahi semua tautan
'27': ['31'], pada halaman awal sebelum bergerak ke
'28': ['31'], tautan yang terdapat pada halaman
'29': [],
pertama, dan seterusnya hingga semua
'30': [],
level tautan telah dikunjungi. Ini
'31': []
} mengakibatkan aliran pencarian yang
merata dan penelitian mendalam pada
visited = set() # Set to keep setiap level sebelum melanjutkan ke level
track of visited nodes of graph. berikutnya.

def dfs(visited, graph, Di sisi lain, algoritma DFS berbeda


node): #function for dfs dalam pendekatannya. Pencarian dimulai
if node not in visited: dari node yang paling kiri, dan setiap level
print (node) dijelajahi sepenuhnya sebelum beralih ke
visited.add(node) node berikutnya. Jika pada level terdalam
for neighbour in
solusi belum ditemukan, pencarian akan
graph[node]:
terus berlanjut dengan menjelajahi node di
dfs(visited, graph,
neighbour)
sebelah kanan node awal. Node di sebelah
kiri dapat dihapus dari memori,
# Driver Code mengurangi penggunaan sumber daya. Jika
print("Following is the Depth- solusi masih belum ditemukan, pencarian
First Search") akan berlanjut ke level sebelumnya dalam
dfs(visited, graph, '1') proses backtracking.

Dalam penelitian yang


Output: membandingkan algoritma BFS dan DFS,
peneliti bertujuan untuk mengevaluasi
berapa lama waktu yang diperlukan untuk
menyelesaikan permainan "Missionaries
and Cannibals" berapa banyak iterasi yang
dibutuhkan, dan seberapa akurat hasil yang
diperoleh dari penerapan kedua algoritma
tersebut. Hal ini penting untuk memahami
perbedaan antara keduanya dan memilih
algoritma yang paling sesuai dengan
kebutuhan pemain atau situasi tertentu.
3.4 Pembahasan Perbandingan BFS dan
KESIMPULAN
DFS
Dalam penelitian ini, kami telah
Algoritma BFS adalah metode
menjelajahi dan membandingkan dua
pencarian yang mengeksplorasi setiap
metode pencarian, yaitu Breadth First
tautan pada halaman sebelum melanjutkan
Jurnal J-COM (Jurnal Informatika dan Teknologi Komputer) Vol. 02 No. 01 (2021) xx – xx
6
Muhammad Anshori Harahap1
Jurnal J-COM (Jurnal Informatika dan Teknologi Komputer) Vol. 02 No. 01 (2021) xx – xx

Search (BFS) dan Depth First Search PENGARUH


(DFS), dalam konteks pemecahan masalah
Missionaris And Cannibals Puzzle
permainan "Missionaries and Cannibal." Problem Solving - Haf+
Temuan penelitian kami mengungkapkan
bahwa baik BFS maupun DFS memiliki Isnandar, A. (2017). Mulung-
kelebihan dan kekurangan yang masing- Ilmu.blogspot.com. Retrieved
masing dapat dimanfaatkan. BFS terbukti November 21, 2023, from
lebih efisien dalam menemukan solusi ANALISIS SISTEM CERDAS
dengan jumlah langkah minimum, PADA GAME MISSIONARIES
sementara DFS mampu mengungkapkan AND CANNIBALS: https://mulung
jalur-jalur alternatif yang dapat menjadi ilmu.blogspot.com/2015/02/analisi
strategi alternatif. Pilihan antara keduanya s-sistem-cerdas-pada-game-
sekarang bergantung pada preferensi Missionaries-and-Cannibals.html
pemain, apakah lebih memilih solusi
Analisis Game _Missionaries and
optimal atau pengeksplorasian berbagai Cannibals_ Atau _Suami
kemungkinan. Dalam keseluruhan konteks, Pencemburu_ - SHARE28S
penelitian ini membantu pemain dalam
memahami penggunaan algoritma Trivusi. (2023, January 8). Trivusi.
pencarian dalam pemecahan masalah dan Retrieved November 21, 2023,
memberikan panduan yang berguna dalam from Perbedaan Depth-first Search
pemilihan metode yang sesuai dengan (DFS) dan Breadth-first Search
tujuan mereka dalam mengejar solusi (BFS):
dalam permainan atau situasi https://www.trivusi.web.id/2023/0
pemecahan masalah serupa. 1/perbedaan-dfs-dan-bfs.html

UCAPAN TERIMAKASIH Doddy Teguh Yuwono, et al.


“Perbandingan Algoritma Breadth
Ucapan Terima kasih ini kepada Dosen First Search Dan Depth First
Pengampu Bapak Ginda Maruli Andi. Search Sebagai Focused Crawler.”
S.,S.Pd.,M.Si yang telah membantu dan Annual Research Seminar (ARS),
memdukung penuh penelitian ini. vol. 2, no. 1, 2016, pp. 106–10,
http://www.seminar.ilkom.unsri.ac
REFERENSI .id/index.php/ars/article/view/809/
742.
Atrinawati, Lovinta Happy. Penerapan
Algoritma Depth-First Search ( Deluxe.” Jurnal Ilmiah Realtech, vol. 14,
Dfs ) Pada Pencarian Solusi no. 2, 2018, pp. 143–48,
Permainan “ Pairs .” no. https://doi.org/10.52159/realtech.v
13505032, 2007. 14i2.46

AUGUSTINO, KIPANGULE ROBERT. “ Djogan, J. (2007, October 21).


ストレス反応の主成分分析を試 michaeljulius11. Retrieved
みて- 田甫久美子View November 21, 2023, from
Metadata, Citation and Similar Pengertian Metode Pencarian BFS
Papers at Core.Ac.Uk.” dan DFS, beserta Contohnya:
https://michaeljulius11.blogspot.co
Jurnal J-COM (Jurnal Informatika dan Teknologi Komputer) Vol. 02 No. 01 (2021) xx – xx
7
Muhammad Anshori Harahap1
Jurnal J-COM (Jurnal Informatika dan Teknologi Komputer) Vol. 02 No. 01 (2021) xx – xx

mm/2017/10/pengertian-metode-
pencarian-bfs-dan-dfs.html
Daniel, James W. “Problem-Solving
Problems.” Interdisciplinary
Science Reviews, vol. 10, no. 1,
2012, pp. 13–14,
https://doi.org/10.1179/030801885
789800311.

Jurnal J-COM (Jurnal Informatika dan Teknologi Komputer) Vol. 02 No. 01 (2021) xx – xx
8
Muhammad Anshori Harahap1
Jurnal J-COM (Jurnal Informatika dan Teknologi Komputer) Vol. 02 No. 01 (2021) xx – xx

Jurnal J-COM (Jurnal Informatika dan Teknologi Komputer) Vol. 02 No. 01 (2021) xx – xx
9

Anda mungkin juga menyukai