diff --git a/README.md b/README.md new file mode 100644 index 0000000..3734f9d --- /dev/null +++ b/README.md @@ -0,0 +1,109 @@ +# πŸ—ΊοΈ WebGIS Poverty Mapping & Bansos Management System + +Sebuah Sistem Informasi Geografis Berbasis Web (WebGIS) komprehensif yang dirancang untuk memetakan sebaran penduduk miskin, mengelola penyaluran Bantuan Sosial (Bansos), menangani pelaporan musibah darurat, serta manajemen talenta melalui program pelatihan. + +Sistem ini menggunakan pendekatan desentralisasi wewenang berbasis radius spasial (Tempat Ibadah sebagai pusat penyaluran tingkat lokal) dan pengawasan terpusat (Dinas Sosial sebagai Super Admin tingkat makro). + +--- + +## ✨ Fitur Utama + +### 1. Manajemen Spasial Berbasis Radius (Role-Based) +* **Admin Lokal (Tempat Ibadah):** Hanya memiliki wewenang untuk melihat, menambah, dan menyalurkan bantuan kepada warga miskin yang berada **di dalam radius pelayanan** tempat ibadahnya. +* **Super Admin (Dinas Sosial):** Memiliki wewenang absolut (*Bypass*) untuk menambah data di lokasi mana pun, menetapkan batas Garis Kemiskinan daerah, dan membuat Master Program Pelatihan. + +### 2. Algoritma Klasifikasi Kemiskinan Otomatis +Sistem otomatis mengklasifikasikan status warga (Sangat Miskin, Miskin, Rentan Miskin) secara *real-time* dengan membandingkan **Pengeluaran per Kapita** terhadap **Garis Kemiskinan**, dikombinasikan dengan skor *Proxy Means Testing* (PMT) dari observasi fisik rumah: +* Kondisi Lantai & Dinding +* Fasilitas Sanitasi (MCK) +* Sumber Listrik & Air Minum + +### 3. Sistem Peringatan Musibah Darurat (*Emergency Alert*) +* Fitur pelaporan musibah cepat (Kebakaran, Sakit Keras, dll). +* Titik rumah warga di peta akan **berkedip merah/oranye** (Animasi CSS) untuk menarik perhatian visual Admin jika ada musibah yang berstatus "Menunggu Bantuan". +* Status musibah otomatis berubah menjadi "Selesai Ditangani" segera setelah log bantuan disalurkan. + +### 4. Manajemen Talenta & Rekomendasi Pelatihan Cerdas +* Pendataan rincian anggota keluarga (NIK, Umur, Pendidikan, Pekerjaan). +* **Sistem Rekomendasi Otomatis:** Anggota keluarga yang berada dalam usia produktif (17-35 Tahun) dan berstatus "Tidak Bekerja / Menganggur" akan secara otomatis direkomendasikan oleh sistem untuk diikutkan ke dalam Program Pelatihan (Keterampilan) yang diselenggarakan oleh Pemerintah. + +### 5. Jejak Audit Penyaluran (*Distribution Logging*) +Setiap keluarga memiliki buku besar (*ledger*) riwayat penerimaan bantuan yang merinci tanggal penyaluran, pihak penyalur (Tempat Ibadah), hingga nominal barang (Beras, Minyak, Telur, Uang Tunai) untuk mencegah bantuan fiktif atau tumpang tindih (*overlapping*). + +--- + +## πŸ› οΈ Teknologi yang Digunakan + +* **Front-End:** HTML5, CSS3, Vanilla JavaScript. +* **Mapping Library:** [Leaflet.js](https://leafletjs.com/) v1.9.4 & Leaflet Draw. +* **Peta Dasar (Basemap):** OpenStreetMap (OSM). +* **Geocoding:** Nominatim API (Reverse Geocoding untuk pendeteksian alamat otomatis via koordinat). +* **Back-End:** PHP Native (Versi 7.4 - 8.x). +* **Database:** MySQL. + +--- + +## πŸ“‚ Struktur Direktori Proyek + +Sistem ini menerapkan prinsip *Separation of Concerns* (pemisahan logika) dan DRY (*Don't Repeat Yourself*): + +```text +proverty_mapping/ +β”‚ +β”œβ”€β”€ config/ # Konfigurasi Database & Sesi +β”œβ”€β”€ auth/ # Logika Login/Logout Multi-User +β”œβ”€β”€ api/ # Endpoint Backend (CRUD) +β”‚ β”œβ”€β”€ penduduk/ # Mengelola data rumah warga & kemiskinan +β”‚ β”œβ”€β”€ anggota/ # Mengelola detail anggota keluarga +β”‚ β”œβ”€β”€ ibadah/ # Mengelola data tempat ibadah & radius +β”‚ β”œβ”€β”€ transaksi/ # Log Bantuan, Log Pelatihan, dan Musibah +β”‚ └── sistem/ # Variabel global (Garis Kemiskinan) +β”‚ +β”œβ”€β”€ assets/ # Aset Front-End +β”‚ β”œβ”€β”€ css/style.css # File CSS Terpusat (Mendukung Multi-Tema) +β”‚ β”œβ”€β”€ js/webgis.js # Core Logic Peta Leaflet & Fungsi Asinkronus +β”‚ └── data/ # Layer GeoJSON Batas Administratif (Kecamatan) +β”‚ +β”œβ”€β”€ index.php # Halaman Dasbor Admin Lokal (Tempat Ibadah) +└── index_super.php # Halaman Dasbor Super Admin (Dinas Sosial) +``` + +--- + +## Panduan Instalasi & Menjalankan Aplikasi + +1. **Kloning Repositori:** + ``` + git clone https://github.com/alvinciputra028-art/proverty_mapping + +2. **Pindahkan ke Server Lokal:** + Pindahkan folder proyek ke dalam direktori server lokal Anda (contoh: `htdocs` untuk XAMPP atau `www` untuk Laragon). + +3. **Konfigurasi Database:** + * Buka phpMyAdmin di `http://localhost/phpmyadmin`. + * Buat database baru dengan nama `db_bansos_gis` (atau nama lain sesuai preferensi). + * *Import* file `database.sql` ke dalam database tersebut. + +4. **Konfigurasi Koneksi:** + Buka *file* `config/koneksi.php` dan sesuaikan kredensialnya: +```php + $host = "localhost"; + $user = "root"; + $pass = ""; + $db = "db_bansos_gis"; +``` + +5. **Akses Aplikasi:** + * Buka *browser* dan akses: `http://localhost/proverty_mapping/auth/login.php` untuk Admin Lokal. + * Akses: `http://localhost/proverty_mapping/auth/login_super.php` untuk Super Admin. + +--- + +## πŸŽ“ Tentang Penulis + +Proyek ini dikembangkan oleh: +**Alvin Andrianto Ciputra (D1041231074)** +*Mahasiswa Program Studi Teknik Informatika (Semester 6)* +*Fakultas Teknik, Universitas Tanjungpura (UNTAN)* + +Proyek ini mendemonstrasikan implementasi praktis dari mata kuliah Rekayasa Perangkat Lunak, Basis Data Relasional, serta Sistem Informasi Geografis untuk menyelesaikan permasalahan nyata di lapangan.