menambahkan dokumentasi readme utama

This commit is contained in:
TigerStable
2026-06-12 16:41:56 +07:00
parent 017fe392bc
commit 968e45cc30
+80
View File
@@ -0,0 +1,80 @@
# WebGIS Sistem Pemetaan Praktikum SIG
> Portal Aplikasi pemetaan geospasial (*WebGIS*) interaktif terintegrasi MySQL dan PHP untuk Praktikum Sistem Informasi Geografis (SIG).
Proyek ini telah dikembangkan secara bertahap dari pemetaan titik sederhana hingga sistem distribusi bansos berbasis jangkauan rumah ibadah dengan analitik terpadu.
---
## 🗂️ Struktur Direktori Proyek
Proyek ini dibagi menjadi 3 tahap pembelajaran (pertemuan):
* **`pertemuan_1/`**: Fokus pada pengenalan LeafletJS dan digitasi **Point (Titik)** untuk mendata lokasi, fasilitas, dan detail operasional Stasiun Bahan Bakar Umum (SPBU).
* **`pertemuan_2/`**: Pengembangan lanjutan dengan menambahkan fitur **Polyline (Garis)** untuk memetakan infrastruktur ruas jalan, serta **Polygon (Area/Poligon)** untuk memetakan parsil tanah lengkap dengan status kepemilikannya.
* **`pertemuan_3/`**: Implementasi sistem distribusi Bansos secara utuh menggunakan radius spasial (Buffer 300m) di sekitar Rumah Ibadah, digabungkan dengan **Dashboard Analitik** interaktif.
* **`api/`**: Backend REST API menggunakan PHP (PDO) untuk menghubungkan aplikasi dengan database MySQL.
* **`database.sql`**: File *dump* skema struktur tabel MySQL.
* **`index.html`**: *Landing Page* utama untuk memudahkan akses dan navigasi ke setiap pertemuan.
---
## 🏗️ Arsitektur & Teknologi
Aplikasi ini tidak lagi menggunakan `localStorage` peramban, melainkan sudah memigrasikan penyimpanannya ke arsitektur *Client-Server*:
1. **Frontend**: HTML5, Vanilla JavaScript (ES6+), Vanilla CSS.
2. **Mapping Library**: [Leaflet.js](https://leafletjs.com/) & [Leaflet Draw](https://github.com/Leaflet/Leaflet.draw).
3. **Backend API**: PHP 8+ dengan PDO.
4. **Database**: MySQL / MariaDB (via XAMPP).
Semua data geospasial (titik, garis, poligon) disimpan di MySQL secara fleksibel dalam kolom berformat `JSON`.
---
## 🚀 Panduan Instalasi & Menjalankan Aplikasi
Karena aplikasi ini sekarang menggunakan **PHP dan MySQL**, Anda tidak bisa langsung membuka file HTML-nya. Ikuti langkah berikut menggunakan **XAMPP**:
### 1. Persiapan Database
1. Buka aplikasi **XAMPP Control Panel**.
2. Pastikan modul **Apache** dan **MySQL** telah berjalan (*Start*).
3. Buka [http://localhost/phpmyadmin](http://localhost/phpmyadmin) di *browser* Anda.
4. Buat *database* baru dengan nama: **`webgis_bansos`**.
5. Pilih tab **Import**, masukkan file `database.sql` yang ada di direktori utama, lalu klik **Go**.
### 2. Menjalankan Aplikasi
Pilih salah satu dari 2 cara berikut:
**Cara A: Memindahkan Folder (Rekomendasi XAMPP)**
1. Pindahkan atau *copy* seluruh folder proyek ini ke dalam folder instalasi XAMPP: `C:\xampp\htdocs\`.
2. Ubah nama foldernya menjadi sesuatu yang mudah, misal `webgis-project`.
3. Buka browser dan akses URL: **`http://localhost/webgis-project`**
**Cara B: Menggunakan PHP Built-in Server (Tanpa Pindah Folder)**
1. Buka Terminal/Command Prompt di dalam folder proyek ini.
2. Jalankan perintah:
```bash
php -S localhost:8000
```
3. Buka browser dan akses URL: **`http://localhost:8000`**
---
## 🗺️ Panduan Modifikasi & Pengembangan
| Jika Anda Ingin... | File yang Harus Diedit |
|--------------------|------------------------|
| Mengubah detail database / *password* MySQL | `api/db.php` |
| Mengubah logika simpan/hapus/ambil data | `api/index.php` |
| Mengubah warna marker/ikon/label layer | `js/config/config.js` *(di dalam folder pertemuan)* |
| Menambah/mengubah form isian data atribut | `js/components/forms.js` *(di dalam folder pertemuan)* |
| Mengubah integrasi API URL (jalur lokal) | `js/utils/store.js` *(di dalam folder pertemuan)* |
| Mengubah *user interface* UI utama | `css/style.css` *(di dalam folder pertemuan)* |
---
## 📄 Lisensi
Proyek ini dikembangkan oleh **Rafael Gerhard Panjaitan** untuk keperluan akademik.
Bebas digunakan dan dimodifikasi untuk keperluan pembelajaran dan non-komersial.