# 📋 PROPOSAL PENAWARAN

## SI-PERKASA BINMAS
### Sistem Informasi Digitalisasi Perwabku

**Ditbinmas Polda Sulawesi Tengah**

---

## A. LATAR BELAKANG

Digitalisasi administrasi merupakan kebutuhan mendesak di lingkungan Kepolisian Negara
Republik Indonesia. Sistem **SI-PERKASA BINMAS** hadir sebagai solusi pencatatan,
validasi, dan monitoring dokumen Perwabku secara digital. Dengan aplikasi ini, proses
pengajuan hingga pengesahan dokumen menjadi lebih cepat, transparan, dan
teraudit.

---

## B. FITUR SISTEM

| Modul | Deskripsi |
|-------|-----------|
| 📊 **Dashboard Monitoring** | Overview real-time: total dokumen, anggaran, status capaian |
| 📄 **Input Perwabku** | Upload dokumen PDF, lengkapi data kegiatan dan anggaran |
| ✅ **Validasi Berkas** | Verifikasi kelengkapan dokumen dengan smart checklist |
| ✍️ **TTE Digital** | Tanda tangan elektronik oleh Kaur Keu |
| 🔍 **Tracking Dokumen** | Lacak status dokumen secara real-time |
| 📈 **Laporan & Grafik** | Rekap serapan anggaran dan capaian kegiatan |
| 🗃️ **Data Master** | Kelola satker, tahun anggaran, jenis kegiatan, pagu |
| 👥 **Manajemen User** | Tambah/nonaktifkan akun pengguna |
| 📋 **Log Aktivitas** | Audit trail seluruh aktivitas sistem |
| 🔔 **Notifikasi** | Pemberitahuan status dokumen antar role |

---

## C. AKTOR / ROLE PENGGUNA (RBAC)

Sistem ini memiliki **5 role** dengan akses dan tugas yang berbeda-beda. Berikut penjelasan detail masing-masing role:

### 👤 1. ADMIN — *Manajer Sistem*
| Atribut | Detail |
|---------|--------|
| **NRP Login** | `ADM001` |
| **Password** | `Admin@123` |
| **Tugas Pokok** | Kelola seluruh data master (satker, tahun anggaran, jenis kegiatan), manajemen akun user (tambah/nonaktifkan), lihat semua log aktivitas, dan memiliki akses penuh ke semua fitur |
| **Jabatan** | Administrator Sistem |
| **Akses** | Dashboard, Input, Validasi, Tracking, Laporan, Data Master, Manajemen User, Log Aktivitas |

> 📌 *Role Admin adalah role tertinggi. Hanya diberikan kepada petugas IT/Administrator yang bertanggung jawab atas operasional sistem.*

### 👤 2. BAMIN — *Pembantu Administrasi / Operator*
| Atribut | Detail |
|---------|--------|
| **NRP Login** | `BAM001` |
| **Password** | `Bamin@123` |
| **Tugas Pokok** | Menginput data kegiatan Perwabku, mengupload dokumen PDF pendukung, dan memantau status pengajuan sendiri |
| **Jabatan** | Bamin Operasional (Bripka) |
| **Akses** | Dashboard (fokus ke pengajuan sendiri), Input Perwabku, Tracking Riwayat Pengajuan, Notifikasi |

> 📌 *Bamin adalah singkatan dari **Bagian Administrasi** atau **Pembantu Administrasi**. Mereka adalah petugas paling depan yang memasukkan data kegiatan ke dalam sistem. Bamin bisa berasal dari Polri (Bripka) maupun PNS.*

### 👤 3. VERIFIKATOR STAF — *Pemeriksa Berkas*
| Atribut | Detail |
|---------|--------|
| **NRP Login** | `VRF001` |
| **Password** | `Verif@123` |
| **Tugas Pokok** | Memeriksa kelengkapan dokumen yang diajukan Bamin menggunakan smart checklist (Sprin, RPD, Kuitansi, Laporan, dll). Jika lengkap → diteruskan ke Kaur Keu. Jika tidak → dikembalikan ke Bamin. |
| **Jabatan** | Staf Verifikator (Aiptu) |
| **Akses** | Dashboard (fokus antrean validasi), Validasi Berkas (dengan split layout PDF + checklist), Tracking Riwayat Validasi, Notifikasi |

> 📌 *Verifikator Staf adalah penjaga gerbang kualitas dokumen. Mereka memastikan setiap dokumen lengkap sebelum dilanjutkan ke proses TTE.*

### 👤 4. KAUR KEU — *Kepala Urusan Keuangan*
| Atribut | Detail |
|---------|--------|
| **NRP Login** | `KEU001` |
| **Password** | `Keu@123` |
| **Tugas Pokok** | Melakukan Tanda Tangan Elektronik (TTE) untuk dokumen yang sudah diverifikasi lengkap oleh Verifikator Staf. Ini adalah tahap finalisasi dokumen. |
| **Jabatan** | Kepala Urusan Keuangan (Ipda) |
| **Akses** | Dashboard (fokus dokumen siap TTE), Validasi (TTE), Tracking, Laporan Anggaran, Notifikasi |

> 📌 *Kaur Keu adalah pejabat yang berwenang menandatangani dokumen secara elektronik. TTE setara dengan tanda tangan basah secara hukum (UU ITE).*

### 👤 5. PIMPINAN — *Pejabat Struktural / Pengambil Keputusan*
| Atribut | Detail |
|---------|--------|
| **NRP Login** | `PIM001` |
| **Password** | `Pimpinan@123` |
| **Tugas Pokok** | Memantau seluruh kegiatan melalui dashboard eksekutif, melihat serapan anggaran, memonitor capaian, dan mengecek log aktivitas untuk pengawasan |
| **Jabatan** | Kasubdit Binmas (Kompol) |
| **Akses** | Dashboard (overview eksekutif), Tracking & Search, Laporan Eksekutif, Log Aktivitas |

> 📌 *Pimpinan memiliki akses READ-ONLY (hanya lihat) untuk memastikan integritas data. Tidak bisa menginput/mengubah data.*

---

## D. ALUR KERJA SISTEM (WORKFLOW)

```
BAMIN ──[Input Dokumen]──▶ MENUNGGU ──▶ VERIFIKATOR STAF
                                              │
                                   ┌──────────┴──────────┐
                                   ▼                     ▼
                              ✅ APPROVE              ❌ REJECT
                                   │                     │
                                   ▼                     ▼
                            REVIEW KAUR            KEMBALI KE BAMIN
                                   │                (untuk diperbaiki)
                                   ▼
                              ✅ TTE (Kaur Keu)
                                   │
                                   ▼
                              ✅ SELESAI
                                   │
                                   ▼
                         📊 PIMPINAN MONITORING
```

---

## E. SPESIFIKASI TEKNIS

| Komponen | Detail |
|----------|--------|
| **Bahasa Pemrograman** | PHP 8.x (Native / Pure PHP — tanpa framework) |
| **Database** | MySQL 8.0+ / MariaDB 10.4+ |
| **Frontend CSS** | Tailwind CSS (CDN) + Custom CSS Premium |
| **Frontend JS** | Vanilla JavaScript (ES6+) |
| **Hosting** | Shared hosting (cPanel) — **ID Webhost** |
| **PHP Minimal** | PHP 8.1+ (wajib support PDO) |
| **Server** | Apache (recommended) atau Nginx |
| **Storage** | Local storage (folder /storage/uploads/) terlindung dari akses publik |

### 🔒 Fitur Keamanan
| Keamanan | Implementasi |
|----------|-------------|
| **SQL Injection** | ✅ Prepared Statements via PDO (100% anti-injection) |
| **XSS (Cross-Site Scripting)** | ✅ htmlspecialchars() di setiap output |
| **CSRF (Cross-Site Request Forgery)** | ✅ CSRF Token di setiap form |
| **Password** | ✅ Bcrypt hash via password_hash() |
| **Session Fixation** | ✅ Regenerasi session ID setelah login |
| **Session Timeout** | ✅ Auto logout setelah 30 menit idle |
| **Upload Validation** | ✅ MIME type check via Finfo (bukan hanya ekstensi) |
| **File Access Protection** | ✅ PDF di-stream via PHP, folder storage tidak bisa diakses langsung |
| **HTTPS Ready** | ✅ Cookie secure mode tersedia untuk production |

### 🌐 Dark Mode / Light Mode
| Fitur | Detail |
|-------|--------|
| **Toggle Tema** | ✅ Tombol di pojok kanan topbar (ikon matahari/bulan) |
| **Penyimpanan** | ✅ Tersimpan di localStorage — tidak hilang walau refresh |
| **Auto-detect** | ✅ Otomatis mengikuti preferensi tema sistem (prefers-color-scheme) |
| **Zero Flash** | ✅ Inline script mencegah white flash saat ganti halaman |
| **Responsive** | ✅ Desktop, tablet, dan mobile (dengan hamburger menu) |

---

## F. KREDENSIAL LOGIN (UNTUK DEVELOPMENT & DEMO)

| Role | NRP | Password |
|------|:---:|:--------:|
| **🔧 Admin** | `ADM001` | `Admin@123` |
| **📄 Bamin** | `BAM001` | `Bamin@123` |
| **✅ Verifikator Staf** | `VRF001` | `Verif@123` |
| **✍️ Kaur Keu** | `KEU001` | `Keu@123` |
| **📊 Pimpinan** | `PIM001` | `Pimpinan@123` |

> ⚠️ *Kredensial ini hanya untuk tujuan development dan demo. WAJIB diganti setelah sistem di-deploy ke production!*

---

## G. PANDUAN DEPLOYMENT KE ID WEBHOST

### Persiapan
1. **Upload file** — Upload seluruh folder project ke folder `/public_html/` di cPanel via File Manager atau FTP
2. **Buat Database** — Buat database MySQL baru di cPanel (contoh: `db_siperkasa`)
3. **Import Database** — Import **1 file saja** `database/siperkasa.sql` melalui phpMyAdmin (sudah berisi semua tabel + data awal + data master)
4. **Konfigurasi** — Edit `app/core/config.php`:
   ```php
   define('ENVIRONMENT', 'production');
   define('DB_NAME', 'nama_database_di_cpanel');
   define('DB_USER', 'nama_user_di_cpanel');
   define('DB_PASS', 'password_database');
   define('BASE_URL', 'https://domain-anda.com'); // Ganti dengan URL asli
   ```
5. **Folder Storage** — Pastikan folder `/storage/uploads/` memiliki izin tulis (CHMOD 755)
6. **Protection** — Hapus folder `/database/` dari server setelah instalasi selesai (keamanan)
7. **Test** — Akses `https://domain-anda.com` dan login dengan kredensial di atas

### Struktur Folder di Server
```
/public_html/
├── /app/              # (dilindungi .htaccess)
├── /public/           # Entry point (index.php)
│   ├── /assets/
│   └── index.php      ← FILE INI YANG DIJADIKAN "DOCUMENT ROOT"
├── /storage/
│   ├── /uploads/      # File PDF (WAJIB writable)
│   └── /logs/         # Log error
├── .htaccess          # Rewrite rules
└── index.php          # Redirect ke /public/
```

> 💡 **Tips ID Webhost:** Jika menggunakan cPanel ID Webhost, Anda bisa set Document Root ke folder `/public_html/public/` melalui fitur "Multi PHP Ini" atau dengan menambahkan aturan Rewrite di .htaccess utama.

---

## H. PAKET HARGA

### 🥇 PAKET BRONZE — Rp 5.000.000
*Cocok untuk satuan kerja kecil / uji coba*

| Item | Termasuk |
|------|----------|
| ✅ Aplikasi SI-PERKASA BINMAS (full fitur) | ✅ |
| ✅ 1 database (MySQL) | ✅ |
| ✅ 5 akun pengguna (seluruh role) | ✅ |
| ✅ Instalasi di hosting | ✅ |
| ✅ Buku Panduan PDF | ✅ |
| ❌ Training tatap muka | ❌ |
| ❌ Garasi pemeliharaan | ❌ |
| ❌ Custom logo / branding | ❌ |

> 💡 **Cocok untuk:** Polres kecil yang ingin mencoba digitalisasi

---

### 🥇 PAKET SILVER — Rp 7.000.000
*Cocok untuk satuan kerja menengah*

| Item | Termasuk |
|------|----------|
| ✅ Aplikasi SI-PERKASA BINMAS (full fitur) | ✅ |
| ✅ 1 database (MySQL) | ✅ |
| ✅ 10 akun pengguna (seluruh role) | ✅ |
| ✅ Instalasi di hosting | ✅ |
| ✅ Buku Panduan PDF | ✅ |
| ✅ Video Tutorial (5 menit) | ✅ |
| ✅ Garansi pemeliharaan **3 bulan** | ✅ |
| ❌ Custom logo / branding | ❌ |

> 💡 **Cocok untuk:** Polres dengan kebutuhan standar

---

### 🥇 PAKET GOLD — Rp 10.000.000
*Cocok untuk Polda / instansi besar*

| Item | Termasuk |
|------|----------|
| ✅ Aplikasi SI-PERKASA BINMAS (full fitur) | ✅ |
| ✅ 1 database (MySQL) | ✅ |
| ✅ **Unlimited** akun pengguna | ✅ |
| ✅ Instalasi di hosting | ✅ |
| ✅ Buku Panduan PDF | ✅ |
| ✅ Video Tutorial lengkap | ✅ |
| ✅ Garansi pemeliharaan **6 bulan** | ✅ |
| ✅ **Custom logo & branding** instansi | ✅ |
| ✅ **Training 1 hari** (online/offline) | ✅ |
| ✅ **Dokumentasi teknis** (untuk developer) | ✅ |

> 💡 **Cocok untuk:** Polda atau instansi yang membutuhkan sistem resmi dengan dukungan penuh

---

## I. BIAYA HOSTING *(Terpisah)*

> **Estimasi Biaya Hosting ID Webhost — Rp 150.000 – Rp 1.000.000/tahun**

| Paket Hosting | Harga/tahun | Cocok Untuk |
|---------------|-------------|-------------|
| Value / Starter | ~Rp 150.000 | Uji coba awal |
| Bisnis / Pro | ~Rp 500.000 | Polres kecil |
| Enterprise | ~Rp 1.000.000 | Polda / produksi |

> ⚠️ *Biaya hosting dibayarkan langsung ke pihak penyedia (ID Webhost) oleh instansi.*

---

## J. RENCANA IMPLEMENTASI

| Tahap | Aktivitas | Estimasi Waktu |
|-------|-----------|----------------|
| **1** | Instalasi & konfigurasi server | 1 hari |
| **2** | Import database & seed data | 1 hari |
| **3** | Uji coba fungsi (QA) | 1 hari |
| **4** | Training pengguna (jika dipilih) | 1 hari |
| **5** | Serah terima & dokumentasi | 1 hari |
| | **Total** | **3–5 hari kerja** |

---

## K. HUBUNGI KAMI

Untuk konsultasi dan pemesanan, silakan hubungi:

| Kontak | Detail |
|--------|--------|
| **Nama** | *(isi dengan nama Anda)* |
| **Telepon / WA** | *(isi nomor Anda)* |
| **Email** | *(isi email Anda)* |
| **Instansi** | Ditbinmas Polda Sulawesi Tengah |

---

> 📅 **Proposal ini berlaku hingga:** *(isi tanggal)*
>
> *Harga sudah termasuk PPN. Tidak termasuk biaya hosting dan domain.*

---

**SI-PERKASA BINMAS**
*Sistem Informasi Digitalisasi Perwabku — Ditbinmas Polda Sulteng*

*"Professional, Premium, Production-Ready"*