Files
luthfihadinugroho79 e950468760 add files
2026-06-10 19:42:59 +07:00

6.5 KiB

WebGIS Pontianak v2.0

Sistem Informasi Geografis Penduduk Miskin Kota Pontianak


📁 Struktur Proyek

webgis-v2/
├── index.php                   # Entry point (auto-redirect by role)
├── login.php                   # Halaman login (semua role)
├── daftar.php                  # Registrasi akun masyarakat
│
├── dashboard/
│   ├── masyarakat.php          # Dashboard: Masyarakat
│   ├── pengurus.php            # Dashboard: Pengurus Rumah Ibadah
│   └── pemerintah.php          # Dashboard: Pemerintah (read-only)
│
├── api/
│   ├── auth.php                # Login, logout, register, session
│   ├── penduduk.php            # CRUD data KK & GeoJSON
│   ├── anggota.php             # CRUD anggota keluarga & pendidikan
│   ├── rumah_ibadah.php        # CRUD rumah ibadah & GeoJSON
│   ├── laporan.php             # Laporan masyarakat & verifikasi
│   ├── bantuan.php             # Histori bantuan & statistik
│   ├── pesan.php               # Komunikasi antar rumah ibadah
│   └── notifikasi.php          # Notifikasi real-time
│
├── includes/
│   └── config.php              # DB config, helpers, session
│
├── assets/
│   ├── css/style.css           # Global stylesheet
│   ├── js/app.js               # Global JS utilities
│   └── uploads/                # Foto & dokumen upload
│
└── database_baru.sql           # Schema database lengkap

🚀 Cara Install

1. Import Database

CREATE DATABASE webgis_pontianak CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE webgis_pontianak;
-- Import file: database_baru.sql

2. Konfigurasi Database

Edit includes/config.php:

define('DB_HOST', 'localhost');
define('DB_USER', 'root');      // sesuaikan
define('DB_PASS', '');          // sesuaikan
define('DB_NAME', 'webgis_pontianak');

3. Buat Password Default

Jalankan script PHP ini sekali untuk update password password123:

<?php
require 'includes/config.php';
$hash = password_hash('password123', PASSWORD_DEFAULT);
$conn->query("UPDATE users SET password_hash='$hash'");
echo "Password updated!";
?>

4. Akses Aplikasi

Buka http://localhost/webgis-v2/ di browser.


👤 Akun Default

Username Password Role
admin password123 Admin
pengurus_mj password123 Pengurus Masjid Jami
pengurus_mm password123 Pengurus Mujahidin
pengurus_gk password123 Pengurus Katedral
pemda_ptk password123 Pemerintah
ahmad_yusuf password123 Masyarakat

🔑 Fitur Per Role

👤 Masyarakat

  • Login / Daftar akun mandiri
  • Lihat peta sebaran penduduk
  • Kirim laporan: kelahiran, kematian, pindah, dll
  • Lihat data keluarga & anggota (dengan umur otomatis dari tanggal lahir)
  • Lihat riwayat pendidikan anggota keluarga
  • Lihat histori bantuan yang diterima keluarga
  • Terima notifikasi real-time

🕌 Pengurus Rumah Ibadah

  • Semua fitur di atas, plus:
  • Manajemen penduduk binaan: tambah, edit, hapus KK
  • Manajemen anggota keluarga beserta riwayat pendidikan
  • Verifikasi laporan masyarakat → otomatis update status anggota
  • Catat bantuan: detail lengkap dengan kondisi, foto, nominal
  • Histori bantuan dengan rumah ibadah mitra
  • Kirim/terima pesan antar rumah ibadah
  • Tambah rumah ibadah baru ke sistem
  • Notifikasi auto saat laporan masuk ke wilayah binaan

🏛️ Pemerintah (Read-only)

  • Dashboard analytics lengkap dengan Chart.js
  • KPI: total KK, jiwa, sangat miskin, miskin, bantuan, ibadah
  • Grafik: distribusi per kecamatan, status ekonomi, bantuan per jenis, kontribusi ibadah, status laporan
  • Peta GIS interaktif dengan filter
  • Tabel penduduk lengkap + export CSV
  • Transparansi penyaluran bantuan
  • Monitoring laporan masyarakat

🗺️ Fitur GIS

  • Peta Leaflet dengan tile OpenStreetMap
  • Marker per penduduk (warna berbeda per status ekonomi)
  • Marker per rumah ibadah (ikon sesuai jenis)
  • Radius layanan tiap rumah ibadah (lingkaran)
  • Auto-assign: laporan masyarakat otomatis diteruskan ke rumah ibadah yang radius-nya mencakup lokasi KK
  • Haversine: jarak KK ke rumah ibadah terdekat dihitung otomatis saat input

📡 API Endpoints

GET  api/auth.php?action=stats          → Statistik publik (login page)
POST api/auth.php                       → Login
POST api/auth.php?action=register       → Register masyarakat
GET  api/auth.php?action=logout         → Logout

GET  api/penduduk.php?action=geojson    → GeoJSON semua penduduk
GET  api/penduduk.php?action=dashboard  → Statistik dashboard
POST api/penduduk.php                   → Tambah KK (multipart)
PUT  api/penduduk.php                   → Update KK

GET  api/anggota.php?action=list&id_penduduk=X  → List anggota KK
POST api/anggota.php                    → Tambah anggota
PUT  api/anggota.php                    → Update/ubah status hidup

GET  api/rumah_ibadah.php?action=geojson → GeoJSON ibadah
GET  api/rumah_ibadah.php?action=list    → List ibadah (dropdown)
POST api/rumah_ibadah.php               → Tambah ibadah

GET  api/laporan.php?action=list        → List laporan (filter wilayah auto)
POST api/laporan.php?action=kirim       → Kirim laporan (masyarakat)
PUT  api/laporan.php?action=verifikasi  → Verifikasi laporan (pengurus)

GET  api/bantuan.php?action=list        → Histori bantuan
GET  api/bantuan.php?action=statistik   → Statistik bantuan
POST api/bantuan.php                    → Catat bantuan baru
PUT  api/bantuan.php                    → Update bantuan

GET  api/pesan.php?action=inbox         → Pesan masuk (pengurus)
GET  api/pesan.php?action=outbox        → Pesan terkirim
POST api/pesan.php                      → Kirim pesan antar ibadah
PUT  api/pesan.php?action=inbox         → Balas pesan

GET  api/notifikasi.php                 → Semua notifikasi user
PUT  api/notifikasi.php                 → Tandai baca

🔧 Kebutuhan Server

  • PHP 7.4+ dengan ekstensi mysqli, session
  • MySQL / MariaDB 5.7+
  • Apache/Nginx dengan mod_rewrite
  • PHP fileinfo untuk upload gambar

📦 Dependensi Eksternal (CDN — tidak perlu install)

  • Leaflet.js 1.9.4 (peta interaktif)
  • Chart.js 4.4.0 (grafik dashboard pemerintah)
  • Google Fonts: Sora

WebGIS Pontianak v2.0 — Sistem Terintegrasi Penanggulangan Kemiskinan