Tugas Besar 2 IF2211 Strategi Algoritma Semester II Tahun 2022/2023 Pengaplikasian Algoritma BFS dan DFS dalam Menyelesaikan Persoalan Maze Treasure Hunt
- Deskripsi Singkat Program
- Struktur Program
- Requirement Program
- Cara Build Program
- Cara Menjalankan Program
- Authors
- Link Demo Program
Pada tugas kali ini, program yang akan dibangun adalah sebuah aplikasi GUI sederhana dari Treasure Hunt Solver yang memanfaatkan algoritma Breadth-First Search (BFS) dan Depth-First Search (DFS) untuk mencari rute solusi dari sebuah maze yang berisi harta karun yang perlu ditemukan. Input untuk program ini adalah sebuah file txt yang berisi maze dengan batasan berbentuk segi-empat yang terdiri dari beberapa simbol, yaitu K (Krusty Krab) sebagai titik awal, T (Treasure) sebagai tujuan akhir, R (Grid yang mungkin diakses / sebuah lintasan), dan X (Grid halangan yang tidak dapat diakses).
Program ini memiliki GUI sederhana dengan beberapa fitur, yaitu:
- Menerima input file maze treasure hunt atau nama file maze tersebut.
- Memvalidasi file input apakah mengandung simbol yang valid (K, T, R, X) dan menampilkan visualisasi awal dari maze treasure hunt jika valid, atau memunculkan pesan error jika tidak valid.
- Menggunakan toggle untuk memilih algoritma yang digunakan (BFS atau DFS).
- Tombol "Search" untuk mengeksekusi pencarian rute solusi dengan algoritma yang dipilih, kemudian menampilkan rute solusi pada visualisasi maze treasure hunt.
.
│ image.png
│ README.md
│
├───.vs
├───bin
│ └───Release
│ └───net6.0-windows
│ Chashtag.exe
│
├───doc
│ Tubes2_K2_13521068_CHashtag.pdf
├───src
│ └───Chashtag
│ │ Chashtag.sln
│ │
│ └───Chashtag
│ │ App.xaml
│ │ App.xaml.cs
│ │ AssemblyInfo.cs
│ │ Chashtag - Backup.csproj
│ │ Chashtag.csproj
│ │ Chashtag.csproj.user
│ │ MainWindow.xaml
│ │ MainWindow.xaml.cs
│ │
│ ├───Models
│ │ BFSAlgo.cs
│ │ BFSNode.cs
│ │ DFSAlgo.cs
│ │ DFSGraph.cs
│ │
│ ├───Resource
│ │ CHashtag.ico
│ │
│ ├───ViewModels
│ │ MainGridCommand.cs
│ │ MainViewModel.cs
│ │ SideGridCommand.cs
│ │ ViewModelBase.cs
│ │
│ └───Views
│ │ MainGrid.xaml
│ │ MainGrid.xaml.cs
│ │ SideGrid.xaml
│ │ SideGrid.xaml.cs
│ │ ViewBase.xaml
│ │ ViewBase.xaml.cs
│ │
│ └───MainGrids
│ CanvasGrid.xaml
│ CanvasGrid.xaml.cs
│ ResultGrid.xaml
│ ResultGrid.xaml.cs
│
└───test
sampel-1.txt
sampel-2.txt
sampel-3.txt
sampel-4.txt
sampel-5.txt
- Sistem Operasi Windows
- Visual Studio (https://visualstudio.microsoft.com/downloads/)
- .NET Framework (https://dotnet.microsoft.com/en-us/download/dotnet-framework)
- .NET SDK (https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/sdk-7.0.202-windows-x64-installer?journey=vs-code)
- Lakukan
git clone
terhadap repositori ini - Buka Solution
CHashtag.sln
pada folder/src/Chashtag/
- Run program dengan menggunakan tombol Run pada Visual Studio 2022
- Lakukan
git clone
terhadap repositori ini - Buka Terminal pada folder
Tubes2_Chashtag
- Pindahkan direktori ke
cd .\src\Chashtag\
- Build dengan project dengan perintah
dotnet publish -c Release
- Jika berhasil, executable file akan berapa pada folder
\Tubes2_Chashtag\bin
- Pastikan semua requirement telah terpenuhi
- Buka folder
\Tubes2_Chashtag\bin\Release\net6.0-windows\
- Jalankan file
Chashtag.exe
- Setelah tampilan program muncul, klik input file lalu pilih file .txt dari maze.
- Kemudian, pilih algoritma yang ingin digunakan (BFS/DFS).
- Centang pada bagian TSP apabila rute solusi yang diperoleh juga harus kembali ke titik awal setelah menemukan segala harta karunnya
- Tekan Find Treasure ! untuk menemukan semua treasure yang ada.
- Tekan Visualize untuk menampilkan rute yang mengunjungi semua treasure yang ada
- Tidak perlu khawatir jika terdapat langkah yang terlewat, karena program ini sudah dilengkapi exception handler yang akan memeberi tahu kesalahan dalam menjalankan program.
Nama | NIM |
---|---|
Ilham Akbar | 13521068 |
Hobert Anthony Jonatan | 13521079 |
Rizky Abdillah Rasyid | 13521109 |