Implementasi Algoritma A* untuk Menentukan Lintasan Terpendek
Program ini merupakan program yang dibuat sebagai bentuk pencarian solusi dalam mencari jalur terpendek dari sebuah tempat menuju tempat lain. Permasalahan ini direpresentasikan dalam bentuk graf berbobot yang diterima dalam bentuk file dengan setiap simpulnya adalah tempat-tempat yang ada dan setiap sisinya adalah jarak Harvesine yang telah dihitung. Pencarian jalur terpendek dilakukan dengan menggunakan Algoritma A* dengan input berupa dua buah simpul, yang masing-masing simpul asal dan simpul tujuan. Program akan memberikan keluaran berupa jalur yang dihasilkan dari A* melalui CLI, serta memberikan pilihan visualisasi graf melalui NetworkX dan Matplotlib, atau dengan HERE Maps API melalui media Flask.
- Contoh Visualisasi Graf Awal dengan NetworkX
- Contoh Visualisasi Graf Hasil A* dengan NetworkX
- Contoh Visualisasi Graf Hasil A* dengan NetworkX (2)
- Contoh Visualisasi Graf dengan HERE Maps API
- Contoh Visualisasi Graf dengan HERE Maps API (2)
- Flask
- Python
- NetworkX
- Matplotlib
- HERE Maps API
Pastikan bahwa semua library digunakan di dalam program sudah terinstall dengan baik. Jika belum ada, gunakan beberapa command PIP untuk melakukan instalasi. Beberapa command tersebut adalah sebagai berikut:
pip install networkx
pip install matplotlib
pip install flask
- Jika masih mengalami kesalahan, lihat dokumentasi setiap instalasi library di PyPi.
- Untuk Python, unduh installer Python 3.x melalui situs resmi berikut, lalu ikuti petunjuk instalasi program. Python
- Lakukan pemindahan direktori program melalui Command Prompt atau Terminal dengan command
cd <nama_directory>
ke tempat penyimpanan kode program ini. - Pastikan file testcase atau file yang ingin dibaca berada dalam satu direktori yang sama jika tidak ingin menginput nama direktori secara lengkap, atau masukkan nama direktori lengkap dengan nama file jika diletakkan pada folder berbeda.
- Eksekusi program dengan menggunakan command
python Tucil3_13519087.py
. - Ikuti instruksi program yang telah diberikan dalam bentuk Command Line.
Spesifikasi fitur yang tersedia di dalam program:
- Membaca input file .txt berisi informasi mengenai graf. Informasi mengenai isi file bisa dilihat pada contoh dalam folder
test
. - Memberikan visualisasi awal bentuk graf yang diterima dari file.
- Pilihan input berupa menjalankan A*, memasukkan file baru, atau keluar dari program.
- Menampilkan output dari pencarian A* dalam bentuk teks dan secara visual melalui NetworkX dan Flask menggunakan HERE Maps API.
Spesifikasi fitur yang bisa dilakukan untuk memperbaiki program:
- Menggunakan Google Maps API dalam visualisasinya
- Hizkia R. 13519087
- Richard R. 13519185