Skip to content

Python implementation to find shortest path using UCS and A* algorithm

Notifications You must be signed in to change notification settings

AustinPardosi/Path-Map-Finder

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tucil3_13521063_13521084

Repository Tugas Kecil 3 Mata Kuliah Strategi Algoritma

Table of Contents

General Information

Path Map Finder

1 2 2

Path Map Finder adalah sebuah program untuk menentukan lintasan rute terpendek dari suatu titik ke titik lain dengan menerapkan Algoritma UCS (Uniform cost search) dan A* (atau A star) untuk penyelesaiannya. Program ini menerima sebuah file txt yang berisi N buah jumlah, pasangan nama simpul dan koordinat, serta matriks ketetanggaan yang menyatakan keterhubungan simpul-simpul yang ada pada graph. Program ini juga dapat menampilkan lintasan rute terpendek dengan menggunakan tampilan OpenStreetMap.

Repository ini dibuat dan mengandung file yang dibutuhkan untuk menyelesaikan Tugas Kecil 3 IF2211 Strategi Algoritma.

Author:

  • 13521063 Salomo Reinhart Gregory Manalu
  • 13521084 Austin Gabriel Pardosi

Languange Used

  • Python Languange (100%)

Features

No. Nama Fitur Status
1 Program dapat menerima input graf ✔️
2 Program dapat menghitung lintasan terpendek dengan UCS ✔️
3 Program dapat menghitung lintasan terpendek dengan A* ✔️
4 Program dapat menampilkan lintasan terpendek serta jaraknya ✔️
5 Bonus: Program dapat menerima input peta dengan Google Map API dan menampilkan peta serta lintasan terpendek pada peta ✔️

Repository Structure

.
│   README.md
│  
├───doc
│      Tucil3_13521063_13521084.pdf
│
├───img
│      add_folder.png
│      execute.png
│      GUI_1.png
│      GUI_2.png
│
├───src  
│      algorithm.py
│      main.py
│      parse_into_graph.py
│
└───test
       AlunAlun_map.txt
       BuahBatu_map.txt
       ITB_map.txt
       SekipMedan_Map.txt

Setup

  • Pastikan anda telah menginstall bahasa python.

  • Install package matplotlib, networkx, dan tkinter. Jalankan perintah berikut pada terminal

    1. pip3 install matplotlib
    2. pip3 install networkx
    3. pip3 install tkinter
    4. pip3 install pillow
    5. pip3 install tkintermapview
    6. pip3 install customtkinter
    7. pip3 install tabulate

How to Compile and Run

Setelah setup berhasil dilakukan, ikuti langkah dibawah untuk menjalankan program:

  1. Buka folder src.
  2. Masukkan command 'python main.py'

Cara menggunakan:

  • Masukkan file map dengan ekstensi .txt dengan menekan button Insert File
  • Contoh file bisa dilihat di folder test
  • Pilih simpul awal dan akhir yang ingin diketahui lintasan terpendeknya
  • Pilih algoritma yang ingin dipakai: UCS / A*
  • Tekan button execute
  • Jika ingin melihat tampilan OpenStreetMap, silahkan tekan button Map
  • Jika ingin mengubah tampilan mode: Dark/Light, silahkan tekan button Theme Mode
  • Jika ingin melihat tampilan di CLI, silahkan tekan button Print To CLI

Project Status

Proyek ini telah selesai secara utuh (Completed).

Acknowledgements

  • Terima kasih kepada Tuhan yang Maha Esa
  • Terima kasih kepada para dosen pengampu: Bu Ulfa, Pak Rinaldi, dan Pak Rila
  • Terima kasih kepada Tim Asisten Kuliah IF2211

Contacts

Diciptakan dan diatur oleh 13521063 Salomo Reinhart Gregory Manalu dan 13521084 Austin Gabriel Pardosi

About

Python implementation to find shortest path using UCS and A* algorithm

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages