Pengaplikasian Algoritma BFS dan DFS dalam Menyelesaikan Persoalan Maze Treasure Hunt - STRATEGI ALGORITMA
Tugas Besar IF2211 Strategi Algoritma
Nama Kelompok: BesokKelar | ||
No. | Nama | NIM |
1. | Henry Anand Septian Radityo | 13521004 |
2. | Bernardus Willson | 13521021 |
3. | Kenny Benaya Nathan | 13521023 |
Dalam Tugas ini diberikan deskripsi permasalahan mengenai cara menemukan jalur untuk mengambil semua treasure yang terdapat pada suatu maze. Algoritma pencarian yang digunakan untuk menemukan jalur tersebut adalah Breadth First Search dan Depth First Search.
BFS (Breadth-First Search) adalah algoritma yang mencari jalan keluar dari labirin dengan menjelajahi semua kemungkinan langkah di level yang sama sebelum pindah ke level berikutnya. Dalam implementasinya, BFS menggunakan struktur data baris untuk menyimpan node yang belum diperiksa, sehingga BFS dapat memeriksa node secara sistematis dan menjamin untuk menemukan solusi terpendek.
DFS (Depth-First Search) adalah algoritma yang menemukan jalan keluar dari labirin dengan menjelajahi setiap cabang sampai ke jalan buntu, kemudian kembali ke node sebelumnya dan menjelajahi cabang lainnya. Dalam sebuah aplikasi, DFS menggunakan struktur data tumpukan untuk menyimpan node yang tidak diperiksa, sehingga DFS dapat menjelajahi node secara sistematis, tetapi tidak dijamin untuk menemukan solusi terpendek.
Keuntungan BFS adalah menjamin solusi terpendek karena memeriksa semua kemungkinan pergerakan pada level yang sama sebelum pindah ke level berikutnya. Namun kerugiannya adalah jika solusinya jauh dari node aslinya, membutuhkan banyak memori dan waktu eksekusi yang lebih lama. Di sisi lain, keuntungan dari DFS adalah membutuhkan lebih sedikit memori dan biasanya lebih cepat daripada BFS untuk menemukan solusi yang lebih dekat ke node awal. Namun, sisi negatifnya adalah tidak dijamin untuk menemukan solusi terpendek dan dapat berputar jika tidak diterapkan dengan benar. Dikarenakan kelebihan dan kekurangan masing-masing algoritma, pemilihan algoritma BFS atau DFS tergantung pada karakteristik masalah dan tujuan pencarian yang ingin dicapai. Jika Anda ingin mencari solusi terpendek, BFS lebih disarankan. Namun, jika Anda ingin mencari solusi dengan cepat dan solusinya tidak terlalu jauh, disarankan untuk menggunakan algoritma DFS, karena pencarian DFS tidak memeriksa node sebanyak BFS.
📦Tubes2_besok-kelar
┣ 📂bin
┃ ┗ 📜setup.zip
┣ 📂test
┃ ┗ 📜sampel-1.exe
┃ ┗ 📜sampel-2.exe
┃ ┗ 📜sampel-3.exe
┃ ┗ 📜sampel-4.exe
┃ ┗ 📜sampel-5.exe
┣ 📂doc
┃ ┣ 📜besokKelar.pdf
┣ 📂src
┃ ┣ 📜WinFormsApp1.csproj
┃ ┣ 📜WinFormsApp1.sln
┃ ┣ 📂bin
┃ ┣ ┣ 📂debug
┃ ┣ ┣ ┣ 📂net7.0-windows
┃ ┣ 📂obj
┃ ┣ 📂properties
┃ ┣ ┣ 📜Resources.Designer.cs
┃ ┣ ┣ 📜Resources.resx
┗ 📜README.md
- .NET Framework & .NET Core Runtime
- IDE (Disarankan menggunakan Visual Studio)
- Compiler .NET Framework atau .NET Core SDK
- Clone repository Github ini
- Install semua requirements yang diperlukan
- Jalankan program dengan mengetikkan
dotnet run --project ./src
di terminal pada directory repository ini
- Clone repository Github ini
- Install semua requirements yang diperlukan
- Extract file
setup.zip
pada direktori bin - Jalankan program dengan menjalankan
setup.exe
pada direktori bin