Source Code ini dibuat untuk memenuhi Tugas Kecil 2- Strategi Algoritma IF2211 yaitu mengimplementasikan "Mencari Pasangan Titik Terdekat 3D dengan Algoritma Divide and Conquer".
- Deskripsi Singkat Program
- Sistematika File
- Requirements
- Cara Menjalankan Program
- Project Status
- Screenshots
- Author
Program untuk mencari solusi permasalahan pencarian pasangan titik dengan jarak terdekat dalam bidang dimensi 3 dengan Algoritma Divide and Conquer. Program membangkitkan pasangan titik secara acak. Kemudian program akan mengeluarkan hasil eksekusi berisi pasangan titik, waktu eksekusi, dan jumlah pemanggilan persamaan jarak euclidean yang digunakan. Adapun hasil tersebut akan dibandingkan dengan Algoritma Brute Force untuk memastikan kemangkusan dan kesangkilan program. Program dibangun dengan menggunakan bahasa Python.
.
├─── doc
| ├─── Tucil2_13521063_13521108.pdf
| └─── Result.txt
├─── src
| ├─── BruteForce.py
| ├─── DnC.py
| ├─── Main.py
| ├─── Point.py
| └─── Visual.py
└─── README.md
- Python3 (versi 3.10.10 atau yang lebih baru)
- Library matplotlib
- Pastikan Python3 versi terbaru sudah terpasang pada mesin eksekusi (Anda dapat mengecek versi Python3 dengan menjalankan command
python3 --version
pada command prompt). - Lakukan clone repository dengan command berikut
$ git clone https://github.com/mikeleo03/Tucil2_13521063_13521108.git
- Masukkan perintah
python3 src/Main.py
ke dalam terminal untuk menjalankan program. - Anda diminta untuk memilih skema masukan, pilih untuk melakukan pemrosesan data titik pada tiga dimensi atau pada N dimensi.
- Jika Anda memilih masukan tiga dimensi, maka Anda akan diminta untuk memberikan masukan berupa jumlah titik. Jika Anda memilih masukan N dimensi, maka selain jumlah titik, Anda juga akan diminta jumlah dimensi yang akan dianalisis.
- Selanjutnya program akan secara otomatis melakukan pencarian pasangan titik terdekat dengan menggunakan Algoritma Brute Force dan Algoritma Divide and Conquer.
- Setelah proses eksekusi selesai, Anda akan memperoleh statistik eksekusi berupa waktu eksekusi dan jumlah penggunaan persamaan jarak euclidean dilakukan dari kedua algoritma. Selain itu, untuk jumlah titik diatas 100, program akan langsung melakukan penyimpanan data titik pada file Result.txt
Status : Completed
Poin | Ya | Tidak |
---|---|---|
Program berhasil dikompilasi tanpa kesalahan | ✓ | |
Program berhasil running | ✓ | |
Program dapat menerima masukan dan menuliskan luaran | ✓ | |
Luaran program sudah benar (solusi closest pair benar) | ✓ | |
Bonus 1 dikerjakan | ✓ | |
Bonus 2 dikerjakan | ✓ |
Nama : Michael Leon Putra Widhi
NIM : 13521108
Program Studi : Teknik Informatika
Profile Github : mikeleo03
Nama : Salomo Reinhart Gregory Manalu
NIM : 13521063
Program Studi : Teknik Informatika
Profile Github : Salomo309