Selamat datang di repositori solusi Tugas Kecil 1 Strategi Algoritma (IF2211) tahun 2025/2026.
Repositori ini berisi program untuk menyelesaikan permainan logika "Queens" yang populer di LinkedIn. Gim Queens merupakan sebuah gim logika yang terdapat pada sosial media LinkedIn yang bertujuan untuk menempatkan queen pada sebuah papan berbentuk persegi berukuran NxN dengan aturan sebagai berikut:
- N harus sama dengan jumlah warna yang ada pada papan,
- hanya terdapat satu queen pada setiap baris,
- hanya terdapat satu queen pada setiap kolom,
- hanya terdapat satu queen pada setiap warna,
- tidak boleh ada queen yang diletakkan bersebelahan, baik secara horizontal, vertikal, maupun diagonal,
- hasil akhirnya adalah sebuah papan Queens yang memiliki satu queen untuk setiap baris, kolom, dan warna yang ada. Terdapat total N buah queen.
Program ini dirancang untuk memenuhi spesifikasi Tugas Kecil 1 dengan rincian fitur sebagai berikut:
- Algoritma Brute Force Murni: Mengimplementasikan pencarian solusi dengan menggunakan algoritma brute force murni.
- Input File (.txt): Program dapat membaca konfigurasi awal papan permainan dari file teks eksternal.
- Validasi Input: Memastikan ukuran papan dan format input valid sebelum melakukan pencarian solusi.
- Output Statistik: Menampilkan solusi akhir papan, durasi waktu eksekusi (dalam milidetik), dan jumlah iterasi yang diperiksa.
- Visualisasi Proses (Live Update): Menampilkan proses penempatan dan pembatalan posisi Ratu secara real-time selama algoritma bekerja.
- Graphical User Interface (GUI): Program dilengkapi dengan antarmuka grafis interaktif yang terintegrasi, memudahkan pengguna untuk memilih file, mengontrol jalannya program (Pause/Resume), dan melihat visualisasi.
Sebelum menjalankan program, pastikan perangkat Anda telah memiliki perangkat lunak berikut:
- Compiler C++ (g++): Wajib mendukung standar C++11 atau yang lebih baru.
- Windows: Dapat menggunakan MinGW.
- Linux/macOS: Biasanya sudah tersedia (
g++).
- Python 3.x: Diperlukan untuk menjalankan antarmuka grafis (GUI).
- Library Tkinter: Biasanya sudah terinstal otomatis bersama Python.
- Pengguna Linux: Jika belum tersedia, instal dengan perintah:
sudo apt-get install python3-tk.
- Pengguna Linux: Jika belum tersedia, instal dengan perintah:
Langkah pertama adalah mengunduh kode sumber program ini ke dalam perangkat lokal Anda.
- Buka terminal atau command prompt.
- Jalankan perintah berikut untuk melakukan cloning repositori:
git clone https://github.com/bangedaw/Tucil1_13524036.git
- Masuk ke dalam direktori hasil clone:
cd Tucil1_13524036
Meskipun program dijalankan melalui Python, Anda wajib mengompilasi kode sumber C++ terlebih dahulu karena logika utama (solver) berada di sana.
- Buka terminal atau command prompt dan arahkan ke direktori utama (root) repositori ini.
- Buat folder
binjika belum ada:mkdir bin
- Jalankan perintah berikut untuk melakukan kompilasi:
(Jika berhasil, file
g++ src/main.cpp src/queens.cpp -o bin/solver
solveratausolver.exeakan muncul di dalam folderbin).
Program ini dirancang untuk dijalankan sepenuhnya menggunakan antarmuka grafis (GUI) agar pengalaman pengguna lebih nyaman.
- Pastikan proses kompilasi pada tahap sebelumnya sudah berhasil.
- Buka terminal di direktori utama repositori, lalu jalankan perintah:
python src/gui.py
- Jendela aplikasi akan terbuka dengan fitur sebagai berikut:
- Klik "Choose the testcase" untuk memilih file input (tersedia di folder
test/). - Klik "Pause/Resume" untuk mengontrol jalannya visualisasi.
- Setelah solusi ditemukan, tombol "Save solution" akan aktif untuk menyimpan hasilnya.
- Klik "Choose the testcase" untuk memilih file input (tersedia di folder
| Nama | NIM | Kelas |
|---|---|---|
| Edward David Rumahorbo | 13524036 | K-02 |