# πŸ—ΊοΈ WebGIS-Pontianak (Pemetaan Kemiskinan & Tata Ruang) Sebuah Sistem Informasi Geografis (*Geographic Information System / GIS*) komprehensif berbasis web yang dirancang untuk memetakan infrastruktur kota dan demografi sosial, dengan fokus utama pada pemetaan kemiskinan dan distribusi bantuan di Pontianak. Sistem ini dikembangkan dengan arsitektur **Multi-Page Application** tersinkronisasi dan dilindungi oleh kontrol akses berbasis peran (*Role-Based Access Control / RBAC*) tingkat lanjut. --- ## ✨ Fitur Utama (Core Features) ### πŸ” Keamanan & Autentikasi Berlapis - **Halaman Login Terisolasi:** Autentikasi dipisah sepenuhnya dari halaman utama peta (`login.php`) untuk mencegah kebocoran *resource* ke klien yang tidak sah. - **Proteksi Kata Sandi BCRYPT:** Standar keamanan industri, divalidasi minimal 8 karakter baik di sisi klien (*frontend*) maupun server (*backend*). - **Role-Based Access Control (RBAC):** Pemisahan hak akses ketat antara *Admin* (hak penuh) dan *User* biasa (hanya-baca & lapor musibah). - **Server-side Gatekeeper:** Validasi *Session* ketat berbasis PHP di setiap akses masuk API maupun perlindungan pengalihan instan (*instant redirection*) di halaman utama. - **Stylish Notification:** Notifikasi *pop-up* responsif berbasis SweetAlert2 untuk menyambut identitas pengguna. ### πŸ—ΊοΈ Pemetaan Spasial Multi-Layer - **Leaflet.js Interaktif:** Peta dinamis dengan *FontAwesome Icon* premium untuk visualisasi marker. - **Peta Aset Beragam:** Menampilkan visualisasi tumpang tindih untuk *Polyline* (Jaringan Jalan), *Polygon* (Parsil Tanah), dan *Marker* (SPBU & Rumah Ibadah). - **Z-Index & Event Handling Terkelola:** Penempatan *interactive: false* pada radius wewenang rumah ibadah agar tidak menutupi klik (pointer events) dari poligon jalan dan tanah di bawahnya. - **Reverse Geocoding:** Pelacakan koordinat GPS *real-time* terintegrasi Nominatim API. ### πŸ“Š Algoritma SPK Kemiskinan & Kesejahteraan Sistem penentuan status keluarga (Sangat Miskin, Miskin, Rentan) yang dikalkulasi secara terpusat berdasarkan parameter *Garis Kemiskinan* dinamis. Modul ini menyertakan *Smart Autofill* untuk merekomendasikan jumlah logistik. ### 🚨 Manajemen Bantuan & Krisis Darurat - Pemantauan rumah tangga yang berada di dalam maupun luar radius cakupan wewenang rumah ibadah. - Peringatan darurat musibah dengan efek kelap-kelip visual pada marker (*SOS Blink*). - Pencatatan riwayat distribusi bantuan dengan hak visibilitas CRUD yang otomatis disembunyikan dari antarmuka User biasa demi mencegah manipulasi data. --- ## πŸ› οΈ Stack Teknologi (Tech Stack) ### Frontend * **UI/UX:** HTML5, CSS3 Murni (Custom RBAC rules, Smooth Animations, Glassmorphism), SweetAlert2 * **Peta Geospasial:** Leaflet.js * **Logika Aplikasi:** Vanilla JavaScript (ES6+), Fetch API ### Backend * **Logika Server & Sesi:** PHP 8.x (*Stateful Session Management*) * **Jembatan Database:** PDO (*PHP Data Objects*) dengan arsitektur *Prepared Statements* * **Database Relasional:** MySQL / MariaDB --- ## πŸš€ Panduan Instalasi Lokal ### 1. Kloning Repositori ```bash git clone https://github.com/ChronosSilver/SIG-Poverty-Mapping.git ``` ### 2. Persiapan Database 1. Buka *control panel* MySQL Anda (`http://localhost/phpmyadmin`) 2. Buat database kosong baru dengan nama: ``` webgis_pontianak ``` 3. Import file cadangan `.sql` yang disertakan di repositori ini ke dalam database tersebut. ### 3. Konfigurasi Sistem Sistem ini menggunakan parameter *default* localhost (contoh: XAMPP). Jika *password* MySQL Anda kosong, tidak ada yang perlu diedit. Sesuaikan pengaturan ini di dalam file `koneksi.php`: ```php $host = "localhost"; $user = "root"; $pass = ""; $dbname = "webgis_pontianak"; ``` ### 4. Eksekusi WebGIS Akses direktori proyek melalui browser pilihan Anda: ``` http://localhost/SIG1/webgis/Poverty_Mapping/ ``` --- ## πŸ“‚ Struktur Direktori Terbaru ``` πŸ“¦ Poverty_Mapping ┣ πŸ“‚ components # Kerangka antarmuka modular (Sidebar, Modal Template) ┣ πŸ“‚ otak_auth # API gerbang keamanan & manajer sesi PHP ┣ πŸ“‚ otak_kemiskinan # Endpoint CRUD penduduk, bantuan & laporan musibah ┣ πŸ“‚ otak_jalan # Endpoint spasial penyimpan Polyline Jalan ┣ πŸ“‚ otak_tanah # Endpoint spasial penyimpan Polygon Parsil Tanah ┣ πŸ“‚ otak_spbu # Endpoint penampung data POI SPBU ┣ πŸ“œ app.js # Otak logika SPA Frontend & Leaflet Rendering ┣ πŸ“œ style.css # Desain tema global & Filter Visibilitas RBAC ┣ πŸ“œ koneksi.php # Jembatan asinkron ke MySQL PDO ┣ πŸ“œ login.php # Lobi isolasi layar kunci (Gatekeeper Entry) β”— πŸ“œ index.php # Kanvas Peta Utama WebGIS (Terproteksi Sesi) ``` --- ## πŸ“ Pengembang & Lisensi Sistem Informasi Geografis (*SIG*) berbasis web ini merupakan purwarupa penelitian/tugas akhir yang secara kontinu berevolusi dari tahun ke tahun. **Hak Cipta (2026) oleh Nelson Davey (NIM: D1041231058) - Universitas Tanjungpura**. Mendukung prinsip kode aman dengan akses terotentikasi berlapis. Segala bentuk salinan, distribusi, dan modifikasi harus mencantumkan sumber orisinalitas serta mengikuti kebijakan akademik yang berlaku.