# PANDUAN INSTALASI SINERGI
## Sistem Informasi Geografis Penanganan Kemiskinan — Kota Pontianak

---

## PRASYARAT SISTEM

Pastikan software berikut sudah terinstal:

| Software | Versi | Keterangan |
|----------|-------|------------|
| Laragon  | 6.0+  | Full / Lite |
| PHP      | 8.1+  | Sudah termasuk dalam Laragon |
| MySQL    | 8.0+  | Sudah termasuk dalam Laragon |
| Apache   | 2.4+  | Sudah termasuk dalam Laragon |

---

## LANGKAH INSTALASI

### Step 1: Copy Folder Proyek

```
Salin folder `sinergi/` ke:
C:\laragon\www\sinergi\
```

Pastikan struktur folder seperti ini:
```
C:\laragon\www\sinergi\
├── app\
│   ├── controllers\
│   ├── models\
│   └── views\
├── config\
├── core\
├── public\
├── database\
├── index.php
└── .htaccess
```

---

### Step 2: Aktifkan mod_rewrite Apache

1. Buka **Laragon** → klik kanan tray icon
2. Pilih **Apache** → **httpd.conf**
3. Cari baris: `#LoadModule rewrite_module modules/mod_rewrite.so`
4. Hapus tanda `#` di depannya
5. Simpan file
6. Restart Laragon

---

### Step 3: Import Database

#### Cara A — Melalui phpMyAdmin (Disarankan)
1. Buka browser: `http://localhost/phpmyadmin`
2. Klik **"Import"** di menu atas
3. Pilih file `database/sinergi.sql` → klik **Go**
4. Setelah selesai, pilih file `database/dummy_data.sql` → klik **Go**

#### Cara B — Melalui Command Line
```bash
# Buka Command Prompt di folder sinergi
cd C:\laragon\www\sinergi

# Import schema
mysql -u root -p < database\sinergi.sql

# Import dummy data
mysql -u root -p sinergi_db < database\dummy_data.sql
```

---

### Step 4: Konfigurasi Aplikasi

Edit file `config/database.php`:
```php
define('DB_HOST', 'localhost');
define('DB_NAME', 'sinergi_db');
define('DB_USER', 'root');
define('DB_PASS', '');        // Sesuaikan password MySQL Anda
define('DB_CHARSET', 'utf8mb4');
```

Edit file `config/app.php` jika nama folder berbeda:
```php
define('APP_URL', 'http://localhost/sinergi');  // Sesuaikan
```

---

### Step 5: Buat Folder Upload

```bash
# Pastikan folder ini ada dan bisa ditulis
C:\laragon\www\sinergi\public\images\uploads\
C:\laragon\www\sinergi\public\images\laporan\
C:\laragon\www\sinergi\public\images\warga\
C:\laragon\www\sinergi\public\images\bantuan\
C:\laragon\www\sinergi\public\images\rumah_ibadah\
```

Atau jalankan script ini di Command Prompt:
```batch
mkdir C:\laragon\www\sinergi\public\images\uploads
mkdir C:\laragon\www\sinergi\public\images\laporan
mkdir C:\laragon\www\sinergi\public\images\warga
mkdir C:\laragon\www\sinergi\public\images\bantuan
mkdir C:\laragon\www\sinergi\public\images\rumah_ibadah
```

---

### Step 6: Jalankan Aplikasi

1. **Start Laragon** (klik tombol Start All)
2. Buka browser: `http://localhost/sinergi`
3. Halaman beranda publik akan tampil

---

## AKUN LOGIN DEMO

Semua akun menggunakan password: **Admin@123**

| Role | Username | Password | Akses |
|------|----------|----------|-------|
| Super Admin | `superadmin` | Admin@123 | Semua fitur admin |
| Verifikator (Kel. Darat Sekip) | `verif_darat` | Admin@123 | Verifikasi laporan |
| Verifikator (Kel. Sungai Jawi) | `verif_jawi` | Admin@123 | Verifikasi laporan |
| Pengurus Masjid Darussalam | `ri_masjid_darussalam` | Admin@123 | Penyaluran bantuan |
| Pengurus Gereja Bethel | `ri_gereja_bethel` | Admin@123 | Penyaluran bantuan |
| Pengurus Masjid Al-Falah | `ri_masjid_alfalah` | Admin@123 | Penyaluran bantuan |
| Dinas Sosial | `dinsos_ahmad` | Admin@123 | Monitoring |
| Wali Kota | `walikota` | Admin@123 | Dashboard Eksekutif |

---

## URL AKSES

| Halaman | URL |
|---------|-----|
| Beranda Publik | `http://localhost/sinergi/` |
| Form Laporan | `http://localhost/sinergi/lapor` |
| Cek Laporan | `http://localhost/sinergi/cek-laporan` |
| Login | `http://localhost/sinergi/login` |
| Dashboard Admin | `http://localhost/sinergi/admin/dashboard` |
| Dashboard Verifikator | `http://localhost/sinergi/verifikator/dashboard` |
| Dashboard Rumah Ibadah | `http://localhost/sinergi/rumah-ibadah/dashboard` |
| Dashboard Dinsos | `http://localhost/sinergi/dinsos/dashboard` |
| Dashboard Wali Kota | `http://localhost/sinergi/walikota/dashboard` |

---

## TROUBLESHOOTING

### Error 404 (Halaman tidak ditemukan)
- Pastikan `mod_rewrite` sudah aktif di Apache
- Cek file `.htaccess` ada di root folder `sinergi/`
- Pastikan `AllowOverride All` aktif di `httpd.conf`:
  ```
  <Directory "C:/laragon/www">
      AllowOverride All
  </Directory>
  ```

### Error database connection
- Pastikan MySQL running di Laragon
- Cek konfigurasi di `config/database.php`
- Pastikan database `sinergi_db` sudah diimport

### Peta Leaflet tidak muncul
- Pastikan koneksi internet aktif (Leaflet CDN)
- Cek console browser (F12) untuk error JavaScript

### Upload foto gagal
- Pastikan folder `public/images/uploads/` ada dan writable
- Cek konfigurasi `upload_max_filesize` di `php.ini` (minimal 5M)

### Halaman putih kosong
- Aktifkan error reporting: tambah di awal `index.php`:
  ```php
  ini_set('display_errors', 1);
  error_reporting(E_ALL);
  ```

---

## STRUKTUR FOLDER LENGKAP

```
sinergi/
├── .htaccess                    # URL Rewriting
├── index.php                    # Entry point & Router
│
├── config/
│   ├── app.php                  # Konfigurasi aplikasi
│   └── database.php             # Konfigurasi database
│
├── core/
│   ├── Auth.php                 # Autentikasi & session
│   ├── Controller.php           # Base controller
│   ├── Database.php             # Koneksi database (PDO)
│   ├── Router.php               # URL Router
│   └── helpers.php              # Helper functions (Haversine, skor, dll)
│
├── app/
│   ├── controllers/
│   │   ├── AdminController.php
│   │   ├── AuthController.php
│   │   ├── DinsosController.php
│   │   ├── PublicController.php
│   │   ├── RumahIbadahController.php
│   │   ├── VerifikatorController.php
│   │   └── WalikotaController.php
│   │
│   └── views/
│       ├── layouts/
│       │   ├── admin.php
│       │   ├── dinsos.php
│       │   ├── public.php
│       │   ├── rumah_ibadah.php
│       │   ├── verifikator.php
│       │   └── walikota.php
│       ├── admin/         # View Super Admin
│       ├── auth/          # Login
│       ├── dinsos/        # View Dinsos
│       ├── public/        # View Publik
│       ├── rumah_ibadah/  # View Pengurus RI
│       ├── verifikator/   # View Verifikator
│       └── walikota/      # View Wali Kota
│
├── public/
│   ├── css/app.css              # Stylesheet utama
│   ├── js/app.js                # JavaScript utama (GIS, Charts)
│   └── images/                  # Gambar & upload
│
└── database/
    ├── sinergi.sql              # Schema + data roles/kecamatan
    └── dummy_data.sql           # Data dummy untuk testing
```

---

## TEKNOLOGI YANG DIGUNAKAN

| Komponen | Teknologi | Versi |
|----------|-----------|-------|
| Frontend | HTML5, CSS3 Native, JavaScript | — |
| Peta GIS | Leaflet.js | 1.9.4 |
| Heatmap | Leaflet.heat | 0.2.0 |
| Grafik | Chart.js | 4.4.0 |
| Font | Inter (Google Fonts) | — |
| Backend | PHP Native (tanpa framework) | 8.1+ |
| Database | MySQL | 8.0+ |
| Arsitektur | MVC Sederhana + RBAC | — |
| Environment | Laragon | 6.0+ |

---

## FITUR UTAMA

### 🗺 Sistem GIS
- Peta interaktif Leaflet.js
- Marker warga miskin (merah=ekstrem, oranye=miskin, kuning=rentan)
- Marker & radius rumah ibadah (hijau)
- Heatmap persebaran kemiskinan
- Layer control (beralih antara tampilan)
- Popup informasi detail

### 📊 Algoritma Prioritas Bantuan
Skor 0-100 berdasarkan 7 faktor:
1. **Penghasilan** (30 poin) — semakin rendah = skor lebih tinggi
2. **Jumlah tanggungan** (20 poin)
3. **Kondisi rumah** (15 poin)
4. **Pendidikan** (10 poin)
5. **Riwayat penyakit** (10 poin)
6. **Status lansia** (8 poin)
7. **Status disabilitas** (7 poin)

### 🔍 Deteksi Blind Spot
- Menggunakan **Haversine Formula** untuk menghitung jarak
- Jika warga tidak berada dalam radius rumah ibadah manapun → **Blind Spot**
- Blind spot otomatis muncul di dashboard Dinsos & Admin

### ⛪ Assignment Rumah Ibadah
- Otomatis dihitung saat verifikasi warga
- Menggunakan Haversine Formula mencari rumah ibadah dalam radius terdekat
- 1 warga = 1 rumah ibadah penanggung jawab

---

*SINERGI v1.0.0 — Sistem Informasi Geografis Penanganan Kemiskinan*  
*Kota Pontianak — © 2024 Dinas Sosial Kota Pontianak*
