Daftar Isi
1. Latar Belakang
1.1 Konteks Permasalahan
Program penyediaan makanan bagi masyarakat melalui Dapur Mitra merupakan salah satu program strategis yang memerlukan pengawasan mutu dan kepatuhan (compliance) secara berkelanjutan. Dapur-dapur mitra yang tersebar di berbagai wilayah Indonesia harus memenuhi standar keamanan pangan, sanitasi, higienitas, dan prosedur operasional yang telah ditetapkan sesuai dengan Satuan Pelayanan Pemenuhan Gizi (SPPG).
Sebelum adanya sistem digital, proses audit kepatuhan dapur mitra dilakukan secara manual menggunakan formulir kertas, yang menimbulkan berbagai permasalahan:
| No | Permasalahan | Dampak |
|---|---|---|
| 1 | Pencatatan survei menggunakan formulir kertas | Data mudah hilang, sulit diarsipkan, dan rawan kesalahan input |
| 2 | Tidak ada standarisasi penilaian | Setiap surveyor memiliki interpretasi berbeda terhadap parameter audit |
| 3 | Pelaporan memakan waktu lama | Manajemen tidak dapat mengambil keputusan secara real-time |
| 4 | Tindak lanjut temuan tidak terpantau | Temuan ketidaksesuaian sering tidak ditindaklanjuti hingga tuntas |
| 5 | Inventaris dapur tidak tercatat rapi | Aset dapur mitra sulit dilacak kondisi dan keberadaannya |
| 6 | Logbook harian tidak terkontrol | Data distribusi makanan harian tidak terdokumentasi dengan baik |
| 7 | Dokumen legalitas dapur sulit dipantau | Sertifikat BPOM, Halal, K3 yang kadaluarsa sering terlewat |
1.2 Solusi yang Ditawarkan
DapurHub hadir sebagai solusi sistem informasi manajemen dan audit kepatuhan dapur mitra berbasis web yang mengintegrasikan seluruh proses pengelolaan dapur mitra ke dalam satu platform terpusat. Aplikasi ini dikembangkan untuk mendigitalisasi proses survei kesesuaian SPPG, manajemen inventaris, pencatatan logbook harian, pengelolaan dokumen legalitas, serta alur tindak lanjut temuan (Corrective Action).
1.3 Manfaat Strategis
- Efisiensi Operasional: Mengurangi waktu audit dari hitungan hari menjadi hitungan jam melalui form survei digital dengan dukungan offline
- Transparansi & Akuntabilitas: Setiap tindakan tercatat dalam log aktivitas yang dapat diaudit
- Pengambilan Keputusan Berbasis Data: Dashboard analitik dengan compliance matrix, ranking, dan tren harian
- Standardisasi Proses: Kategori survei dan parameter penilaian terstandarisasi untuk seluruh dapur mitra
- Keamanan Data: Sistem login dan kontrol akses berdasarkan peran pengguna
- Aksesibilitas: Mendukung akses offline dan dapat digunakan di perangkat mobile
2. Maksud dan Tujuan
2.1 Maksud
Dokumen Petunjuk Pelaksanaan (Juklak) dan Petunjuk Teknis (Juknis) ini disusun sebagai panduan resmi bagi seluruh pihak yang terlibat dalam penggunaan dan pengelolaan aplikasi DapurHub.
2.2 Tujuan
- Memberikan panduan komprehensif mengenai tata cara penggunaan aplikasi DapurHub bagi setiap level pengguna
- Menstandarisasi prosedur pelaksanaan survei, pencatatan logbook, dan manajemen inventaris
- Memastikan kepatuhan terhadap standar keamanan informasi dan perlindungan data
- Menyediakan referensi penyelesaian masalah umum yang ditemui pengguna
3. Ruang Lingkup
Dokumen ini mencakup seluruh aspek penggunaan aplikasi DapurHub oleh pengguna, meliputi:
- Manajemen Dapur Mitra — Data Master Dapur, Tahap Progres, Foto & Layout, Koordinat GPS
- Survei Kepatuhan SPPG — Form Survei Digital, Penilaian & Scoring, Grading Otomatis, Dukungan Offline
- Tindak Lanjut Temuan — Corrective Action, Alur Perbaikan-Verifikasi, Upload Bukti
- Logbook Harian — Pencatatan Distribusi, Jumlah Tray & Penerima, Menu Harian
- Inventaris Dapur — Data Inventaris, Pencatatan Kondisi, Kategorisasi
- Dokumen Legalitas — BPOM, Halal, K3, Pemantauan Kadaluarsa, Peringatan Otomatis
- Pelaporan & Ekspor — Dashboard Analitik, Laporan Perbandingan, Ranking, Ekspor Excel & PDF
- Administrasi Sistem — Manajemen Pengguna, Pengaturan Hak Akses, Backup Data, Pengaturan Kop Surat
Diagram Ruang Lingkup (Mindmap)
mindmap
root((DapurHub))
Manajemen Dapur Mitra
Data Master Dapur
Tahap Progres
Foto & Layout
Koordinat GPS
Survei Kepatuhan SPPG
Form Survei Digital
Penilaian & Scoring
Grading Otomatis
Dukungan Offline
Tindak Lanjut Temuan
Corrective Action
Workflow Resolve-Verify
Evidence Upload
Logbook Harian
Pencatatan Distribusi
Jumlah Tray & Penerima
Menu Harian
Inventaris Dapur
Master Inventaris
Pencatatan Kondisi
Kategorisasi
Dokumen Legalitas
BPOM, Halal, K3
Pemantauan Kadaluarsa
Alert Otomatis
Pelaporan & Ekspor
Dashboard Analitik
Comparison Report
Ranking
Export Excel & PDF
Administrasi Sistem
User Management
Role & Permission
Backup Database
Pengaturan Kop Surat
4. Dasar Hukum & Acuan
| No | Dasar Acuan | Keterangan |
|---|---|---|
| 1 | Satuan Pelayanan Pemenuhan Gizi (SPPG) | Standar utama parameter audit kepatuhan dapur mitra |
| 2 | UU No. 18 Tahun 2012 tentang Pangan | Regulasi keamanan, mutu, dan gizi pangan |
| 3 | PP No. 86 Tahun 2019 tentang Keamanan Pangan | Persyaratan keamanan pangan dalam produksi dan distribusi |
| 4 | UU No. 27 Tahun 2022 tentang Perlindungan Data Pribadi | Perlindungan data pengguna dalam sistem informasi |
| 5 | SOP Internal Pengelolaan Dapur Mitra | Prosedur operasional standar organisasi |
5. Definisi dan Istilah
| Istilah | Definisi |
|---|---|
| DapurHub | Aplikasi manajemen dan audit kepatuhan dapur mitra berbasis web |
| Dapur Mitra | Dapur yang dikelola oleh mitra untuk program distribusi makanan |
| SPPG | Satuan Pelayanan Pemenuhan Gizi — satuan pelayanan yang menyelenggarakan pemenuhan gizi |
| Survei Kesesuaian | Proses audit lapangan untuk menilai kepatuhan dapur mitra terhadap SPPG |
| Corrective Action (CA) | Tindak lanjut perbaikan yang harus dilakukan terhadap temuan ketidaksesuaian |
| Logbook | Catatan harian operasional dapur meliputi jumlah tray, penerima, dan menu |
| Yayasan | Entitas organisasi yang menaungi satu atau lebih dapur mitra |
| Hub | Pusat informasi terpadu untuk satu dapur mitra (survei, inventaris, logbook, dokumen) |
| PIC (Person In Charge) | Penanggung jawab operasional dapur mitra di lapangan |
| Surveyor | Petugas yang melakukan survei kesesuaian |
| Grade | Tingkat kepatuhan dapur mitra: A (Sangat Baik), B (Baik), C (Cukup), D (Kurang) |
6. Hak Akses Pengguna
6.1 Hierarki Peran
Sistem DapurHub mengenal 4 tingkatan peran pengguna:
| Level | Peran | Deskripsi Singkat |
|---|---|---|
| 1 | 🔴 Super Admin | Pengelola utama sistem dengan akses penuh ke seluruh fitur |
| 2 | 🟡 Supervisor | Pengawas wilayah yang memverifikasi temuan dan memantau kinerja tim |
| 3 | 🟢 Operator / Surveyor | Petugas lapangan yang melakukan survei, mencatat logbook, dan mengelola inventaris |
| 4 | 🔵 Auditor | Pengawas independen dengan akses baca saja untuk review dan monitoring |
6.2 Matriks Hak Akses per Modul
| Modul | Super Admin | Supervisor | Operator | Auditor |
|---|---|---|---|---|
| Dashboard | ✅ Penuh | ✅ Filtered | ✅ Filtered | ✅ Baca Saja |
| Data Dapur Mitra | ✅ Kelola | ✅ Lihat & Edit (milik sendiri) | ✅ Lihat & Edit (milik sendiri) | ✅ Baca Saja |
| Survei | ✅ Kelola | ✅ Kelola (milik sendiri) | ✅ Kelola (milik sendiri) | ✅ Baca Saja |
| Corrective Action | ✅ Penuh + Verifikasi + Tutup | ✅ Verifikasi | ✅ Perbaikan (Resolve) | ✅ Baca Saja |
| Logbook | ✅ Kelola | ✅ Kelola (milik sendiri) | ✅ Kelola (milik sendiri) | ✅ Baca Saja |
| Inventaris | ✅ Kelola | ✅ Kelola (milik sendiri) | ✅ Kelola (milik sendiri) | ✅ Baca Saja |
| Dokumen Legalitas | ✅ Kelola | ✅ Kelola (milik sendiri) | ✅ Kelola (milik sendiri) | ✅ Baca Saja |
| Master Kategori Survei | ✅ Kelola | ❌ | ❌ | ❌ |
| Manajemen Pengguna | ✅ Kelola | ❌ | ❌ | ❌ |
| Jadwal Survei | ✅ Kelola | ✅ Lihat & Edit | ✅ Baca Saja | ✅ Baca Saja |
| Laporan & Ekspor | ✅ Penuh | ✅ Filtered | ✅ Filtered | ✅ Baca Penuh |
| Backup Data | ✅ Penuh | ❌ | ❌ | ❌ |
| Pengaturan Sistem | ✅ Penuh | ❌ | ❌ | ❌ |
6.3 Pengaturan Akses Dapur Mitra
Setiap pengguna hanya dapat mengakses data dapur mitra yang telah di-assign oleh Admin:
- Super Admin: Dapat melihat dan mengelola semua dapur mitra tanpa batasan
- Supervisor: Dapat melihat dapur yang di-assign langsung, serta dapur yang ditangani oleh anggota timnya
- Operator/Surveyor: Hanya dapat melihat dapur yang secara khusus di-assign kepadanya, atau dapur yang menjadi tanggung jawabnya sebagai PIC
- Auditor: Sama seperti Operator, namun dengan akses baca saja
6.4 Prosedur Pembuatan Akun Pengguna
- Login sebagai Super Admin
- Buka menu Master → Pengguna
- Klik tombol Tambah Pengguna
- Isi formulir:
- Username: Unik, tanpa spasi
- Password: Minimal 6 karakter
- Nama Lengkap: Nama tampilan pengguna
- Email: Alamat email aktif
- Role: Pilih peran (Admin / Supervisor / Operator / Auditor)
- Atasan (Parent): Pilih supervisor atasan (untuk Operator)
- Klik Simpan
- Atur akses dapur mitra melalui menu Permission → Akses Mitra User
Diagram Relasi Hak Akses & Entitas (ER Diagram)
erDiagram
yayasans ||--o{ mitras : "menaungi"
users ||--o{ mitras : "PIC"
mitras ||--o{ forms : "disurvei"
mitras ||--o{ logbooks : "memiliki"
mitras ||--o{ inventories : "memiliki"
mitras ||--o{ corrective_actions : "memiliki"
mitras ||--o{ mitra_documents : "memiliki"
mitras ||--o{ schedules : "dijadwalkan"
users ||--o{ forms : "mengisi"
users ||--o{ schedules : "ditugaskan"
users ||--o{ logbooks : "mencatat"
forms ||--o{ form_details : "berisi"
form_details ||--o{ survey_photos : "memiliki"
categories ||--o{ categories : "parent-child"
categories ||--o{ form_details : "merujuk"
inventory_categories ||--o{ master_inventories : "mengkategorikan"
master_inventories ||--o{ inventories : "merujuk"
roles ||--o{ users : "memiliki"
roles ||--o{ permissions : "memiliki"
users ||--o{ user_mitra_access : "mengakses"
users ||--o{ notifications : "menerima"
users ||--o{ activity_logs : "melakukan"
Diagram Alur Autentikasi Pengguna
A. Autentikasi Web (Session-Based)
sequenceDiagram
actor User
participant Browser
participant AuthController
participant DB as Database
User->>Browser: Input username & password
Browser->>AuthController: POST /login
AuthController->>DB: Verify credentials (bcrypt)
alt Valid
AuthController->>Browser: Set $_SESSION (user_id, role_level, etc.)
Browser->>User: Redirect to /dashboard
else Invalid
AuthController->>Browser: Flash "Invalid credentials"
Browser->>User: Show login page with error
end
B. Autentikasi API (JWT Bearer)
sequenceDiagram
actor Client as Mobile App
participant API as ApiController
participant JWT as JWT Helper
participant MW as ApiMiddleware
Client->>API: POST /api/auth/login (username, password)
API->>API: Verify credentials
API->>JWT: Encode payload (user_id, role_level, etc.)
JWT-->>API: JWT Token (HS256, 24h expiry)
API-->>Client: 200 OK + token
Note over Client, MW: Subsequent Requests
Client->>MW: GET /api/mitras (Authorization: Bearer [token])
MW->>JWT: Decode & validate token
MW->>MW: Check rate limit (60 req/min)
MW->>API: Valid — proceed
API-->>Client: 200 OK (JSON data)
7. Panduan Pelaksanaan Survei Kesesuaian
7.1 Persiapan Survei
- Admin membuat jadwal survei melalui menu Master → Jadwal
- Sistem mengirimkan notifikasi ke Surveyor yang ditugaskan
- Pada hari pelaksanaan, Surveyor login ke DapurHub
- Cek Dashboard → Jadwal Hari Ini untuk melihat daftar tugas
- Klik dapur mitra target untuk masuk ke Hub Dapur
7.2 Pelaksanaan Survei (Online)
- Akses Hub Dapur: Masuk ke halaman Hub Dapur mitra yang akan disurvei
- Pilih Kategori Survei: Klik kategori yang ingin disurvei (misal: "Sanitasi", "Kebersihan", "Keamanan Pangan")
- Isi Form Survei:
- Sistem menampilkan pertanyaan secara bertahap (satu per satu)
- Untuk setiap pertanyaan, pilih salah satu jawaban:
- Sesuai — Item memenuhi standar
- Tidak Sesuai — Item tidak memenuhi standar (otomatis membuat Corrective Action)
- NA (Tidak Berlaku) — Item tidak relevan untuk dapur ini
- Isi catatan tambahan jika kolom catatan tersedia
- Upload foto bukti jika kolom foto tersedia
- Upload Foto Bukti: Unggah foto untuk setiap item yang memerlukan dokumentasi visual
- Kirim Survei: Setelah semua pertanyaan terisi, klik Simpan Survei
- Hasil Otomatis: Sistem akan langsung menghitung skor dan menentukan grade kepatuhan
7.3 Pelaksanaan Survei (Offline)
- Persiapan: Saat masih terhubung internet, buka halaman form survei offline agar data tersimpan di perangkat
- Saat Offline: Buka aplikasi → isi survei seperti biasa meskipun tidak ada koneksi internet
- Data yang diisi akan tersimpan sementara di perangkat Anda dengan status Menunggu Sinkronisasi
- Sinkronisasi Otomatis: Ketika koneksi internet kembali tersedia, data akan otomatis terkirim ke server
Diagram Sinkronisasi Offline (PWA)
flowchart TD
A[User mengisi survei] --> B{Online?}
B -->|Ya| C[POST /api/survey/store]
B -->|Tidak| D[Simpan di IndexedDB]
D --> E[Status: Pending Sync]
E --> F{Koneksi kembali?}
F -->|Ya| G[POST /api/survey/offline-sync]
G --> H[Server memproses batch]
H --> I[Update status: Synced]
F -->|Tidak| E
Diagram Detail Alur Data Hasil Survei
flowchart LR
subgraph Input
A[Surveyor pilih Mitra]
B[Pilih Kategori Survei]
C[Isi Form Stepper]
D[Upload Foto Bukti]
end
subgraph Processing
E[Hitung Skor]
F[Generate Grade]
G[Buat Corrective Action\nuntuk jawaban Tidak Sesuai]
end
subgraph Output
H[Form tersimpan di DB]
I[Notifikasi terkirim]
J[Dashboard terupdate]
K[Export PDF/Excel ready]
end
A --> B --> C --> D --> E --> F --> G
F --> H --> I --> J --> K
G --> I
7.4 Skema Penilaian
| Parameter | Keterangan |
|---|---|
| Sesuai | Item memenuhi standar SPPG |
| Tidak Sesuai | Item TIDAK memenuhi standar — otomatis membuat Corrective Action |
| NA (Not Applicable) | Item tidak berlaku untuk dapur ini |
| Skor | Persentase = (Jumlah Sesuai ÷ Total Item yang Berlaku) × 100 |
| Grade A | Skor ≥ 85 — Sangat Baik |
| Grade B | Skor ≥ 70 — Baik |
| Grade C | Skor ≥ 55 — Cukup |
| Grade D | Skor < 55 — Kurang |
8. Tindak Lanjut Temuan (Corrective Action)
8.1 Alur Corrective Action
"Tidak Sesuai"
Open
Perbaikan
Verifikasi
Closed ✅
8.2 Prosedur Detail
Fase 1 — Penciptaan (Otomatis):
- Ketika surveyor menjawab "Tidak Sesuai" pada item survei, sistem otomatis membuat Corrective Action
- CA di-assign ke PIC dapur mitra bersangkutan
- Notifikasi dikirim ke PIC dan Supervisor
Fase 2 — Perbaikan (oleh PIC/Operator):
- PIC menerima notifikasi dan melihat daftar CA di menu Tindak Lanjut
- PIC melakukan perbaikan di lapangan
- PIC mengunggah foto bukti perbaikan
- PIC klik tombol Resolve dengan menyertakan bukti dan catatan perbaikan
Fase 3 — Verifikasi (oleh Supervisor/Admin):
- Supervisor menerima notifikasi bahwa CA telah di-resolve
- Supervisor memeriksa bukti perbaikan
- Supervisor klik Verifikasi jika perbaikan diterima, atau Tolak jika belum memadai (CA kembali ke status Open)
Fase 4 — Penutupan (oleh Admin):
- Admin memverifikasi hasil akhir
- Admin menutup CA dengan status Closed
8.3 Prioritas Corrective Action
| Prioritas | Warna | Batas Waktu Penyelesaian |
|---|---|---|
| Critical | 🔴 Merah | 24 Jam |
| High | 🟠 Oranye | 3 Hari |
| Medium | 🟡 Kuning | 7 Hari |
| Low | 🟢 Hijau | 14 Hari |
9. Pencatatan Logbook Harian
9.1 Prosedur Pencatatan
- Masuk ke Hub Dapur → Logbook
- Klik Tambah Logbook
- Isi data:
- Tanggal: Tanggal operasional
- Jumlah Tray: Total tray makanan yang diproduksi
- Jumlah Penerima Manfaat: Total penerima makanan
- Menu Harian: Deskripsi menu yang disajikan
- Catatan: Catatan operasional tambahan
- Keterangan: Status operasional (Lancar / Ada Kendala / dll)
- Klik Simpan
9.2 Fitur Logbook
- Filter Rentang Tanggal: Tampilkan logbook berdasarkan periode tertentu
- Cetak Logbook: Cetak data logbook ke format kertas
- Ekspor Excel: Download data logbook dalam format Excel
- Ekspor PDF: Download data logbook dalam format PDF
- Tren Harian: Grafik tren distribusi makanan ditampilkan di Dashboard
10. Manajemen Inventaris Dapur
10.1 Setup Master Inventaris (Admin)
- Buka menu Master → Inventaris
- Buat Kategori Inventaris (misal: Peralatan Masak, Perlengkapan Kebersihan)
- Tambah Item Inventaris ke dalam kategori: Nama item, Merek (opsional), Tipe (opsional)
- Urutkan item menggunakan fitur seret dan lepas (drag-and-drop)
10.2 Pencatatan Inventaris per Dapur
- Masuk ke Hub Dapur → Inventaris
- Klik Tambah Item
- Pilih item dari daftar Master Inventaris
- Isi data:
- Jumlah (Qty): Jumlah unit
- Kondisi: Baik / Rusak Ringan / Rusak Berat
- Catatan: Keterangan tambahan
- Klik Simpan
11. Manajemen Dokumen Legalitas
11.1 Upload Dokumen
- Buka menu Dokumen atau Hub Dapur → Dokumen
- Klik Tambah Dokumen
- Isi formulir:
- Dapur Mitra: Pilih dapur
- Jenis Dokumen: BPOM, Halal, K3, SIUP, NIB, Lainnya
- Nama Dokumen: Nama file/sertifikat
- File: Upload file (JPG, PNG, PDF)
- Tanggal Terbit: Tanggal dokumen diterbitkan
- Tanggal Kadaluarsa: Tanggal dokumen berakhir
- Catatan: Catatan tambahan
- Klik Simpan
11.2 Pemantauan Kadaluarsa
Sistem secara otomatis:
- Menandai status dokumen menjadi Segera Kadaluarsa ketika tersisa 30 hari sebelum tanggal kadaluarsa
- Menandai status menjadi Sudah Kadaluarsa ketika sudah melewati tanggal kadaluarsa
- Menampilkan peringatan di Dashboard untuk dokumen yang perlu diperbarui
12. Penjadwalan Survei
12.1 Membuat Jadwal
- Buka menu Master → Jadwal Survei
- Klik Tambah Jadwal
- Isi formulir:
- Dapur Mitra: Target survei
- Surveyor: Petugas yang ditugaskan
- Tanggal: Tanggal pelaksanaan
- Tipe Pengulangan: Sekali / Mingguan / Dua Mingguan / Bulanan
- Tanggal Akhir Pengulangan: (untuk jadwal berulang)
- Catatan: Instruksi khusus
- Klik Simpan
12.2 Kalender Survei
- Dashboard menampilkan Jadwal Hari Ini sebagai pintasan cepat
- Menu Jadwal menampilkan kalender visual dengan semua jadwal survei
- Setiap jadwal dapat difilter berdasarkan bulan dan tahun
13. Panduan Pengguna Berdasarkan Peran
13.1 Super Admin
Akses: Seluruh modul tanpa batasan
Tugas Utama:
- Mengelola akun pengguna (tambah, edit, hapus)
- Mengatur konfigurasi sistem (kop surat, pengaturan aplikasi)
- Mengelola hak akses per peran per modul
- Menjalankan dan mengatur backup database
- Mengelola data master (kategori survei, inventaris, yayasan)
- Memverifikasi dan menutup Corrective Action
- Memantau log aktivitas dan dashboard analitik
Menu: Dashboard, Master (Mitra, Kategori, Pengguna, Inventaris, Jadwal, Permission, Pengaturan, Backup, Log), Survei, Tindak Lanjut, Dokumen, Laporan, Notifikasi.
13.2 Supervisor
Akses: Data dapur yang di-assign + dapur anggota tim
Tugas Utama:
- Memverifikasi Corrective Action yang telah diperbaiki oleh PIC
- Memantau kinerja surveyor/operator di bawahnya
- Melihat laporan kepatuhan dan ranking dapur di wilayahnya
- Mengelola jadwal survei untuk timnya
Menu: Dashboard (filtered), Mitra (assigned), Jadwal, Survei (assigned), Tindak Lanjut (verifikasi), Dokumen, Laporan, Notifikasi.
13.3 Operator / Surveyor
Akses: Hanya dapur yang di-assign
Tugas Utama:
- Melaksanakan survei kesesuaian di dapur mitra
- Mencatat logbook harian distribusi makanan
- Mengelola data inventaris dapur
- Menyelesaikan (resolve) Corrective Action dengan mengunggah bukti perbaikan
- Mengunggah dokumen legalitas dapur
Menu: Dashboard (filtered), Survei (assigned), Tindak Lanjut (resolve), Notifikasi.
13.4 Auditor
Akses: Baca saja untuk dapur yang di-assign
Tugas Utama:
- Mereview hasil survei dan skor kepatuhan
- Memantau status Corrective Action
- Melihat laporan kepatuhan dan tren
14. Alur Kerja (Workflow)
14.1 Alur Operasional Harian
- 📋 Admin mendaftarkan Data Dapur Mitra ke dalam sistem
- 📅 Admin membuat Jadwal Survei dan menugaskan Surveyor
- 🔔 Sistem mengirimkan Notifikasi ke Surveyor yang ditugaskan
- 📝 Surveyor melaksanakan Survei Kesesuaian di lapangan
- Apabila ditemukan ketidaksesuaian:
- ⚠️ Sistem otomatis membuat Corrective Action
- 🔧 PIC melakukan perbaikan dan mengunggah bukti
- 👁️ Supervisor memverifikasi perbaikan
- ✅ Admin menutup temuan (Closed)
- Apabila semua sesuai: ✅ Skor & Grade otomatis ditampilkan
- 📊 Seluruh data terekam di Dashboard Analitik
Diagram Alur Kerja End-to-End Operasional
flowchart TD
A["📋 Admin membuat\nData Master Dapur"] --> B["📅 Admin membuat\nJadwal Survei"]
B --> C["🔔 Sistem mengirim\nNotifikasi ke Surveyor"]
C --> D["📝 Surveyor melaksanakan\nSurvei Kesesuaian"]
D --> E{"Temuan\nKetidaksesuaian?"}
E -->|Ya| F["⚠️ Sistem membuat\nCorrective Action"]
E -->|Tidak| G["✅ Skor & Grade\nOtomatis"]
F --> H["🔧 PIC melakukan\nPerbaikan + Upload Bukti"]
H --> I["👁️ Supervisor\nMemverifikasi"]
I --> J{"Verifikasi\nDiterima?"}
J -->|Ya| K["✅ CA Closed"]
J -->|Tidak| H
G --> L["📊 Dashboard\nAnalitik Update"]
K --> L
M["📒 PIC mencatat\nLogbook Harian"] --> L
N["📦 PIC update\nInventaris Dapur"] --> L
O["📄 PIC upload\nDokumen Legalitas"] --> L
14.2 Aktivitas Harian PIC / Operator
Selain survei, PIC juga melakukan kegiatan harian berikut yang semuanya terekam di Dashboard:
- 📒 Mencatat Logbook Harian (jumlah tray, penerima, menu)
- 📦 Memperbarui data Inventaris Dapur
- 📄 Mengunggah Dokumen Legalitas yang baru/diperbarui
15. Pelaporan & Ekspor Data
15.1 Dashboard Analitik
Dashboard menampilkan ringkasan informasi penting secara real-time:
- Total dapur mitra yang dikelola
- Jumlah survei yang sudah dilaksanakan
- Status Corrective Action (Open, Resolved, Closed)
- Tren distribusi makanan harian (dari Logbook)
- Peringatan dokumen yang akan/sudah kadaluarsa
- Jadwal survei hari ini
15.2 Menu Laporan
| Laporan | Fungsi |
|---|---|
| Laporan Global Mitra | Ringkasan kepatuhan seluruh dapur mitra |
| Laporan Global Logbook | Rekap logbook harian dari semua dapur |
| Laporan Perbandingan | Membandingkan skor kepatuhan antar dapur atau antar periode |
| Ranking Dapur | Peringkat dapur berdasarkan skor kepatuhan |
15.3 Format Ekspor
- Cetak (Print): Cetak langsung dari browser
- PDF: Unduh laporan dalam format PDF
- Excel: Unduh data dalam format spreadsheet Excel untuk analisis lebih lanjut
16. Backup & Pemulihan Data
16.1 Backup Manual
- Login sebagai Super Admin
- Buka menu Master → Backup Database
- Klik Buat Backup Sekarang
- File backup akan tersimpan dan dapat di-download untuk penyimpanan eksternal
16.2 Auto-Backup
- Buka menu Master → Backup Database
- Aktifkan Auto Backup Harian
- Atur Retensi Backup (berapa lama backup disimpan, default: 30 hari)
- Sistem akan otomatis membuat backup setiap hari dan menghapus backup yang sudah melewati masa retensi
16.3 Pemulihan (Restore) Data
- Buka menu Master → Backup Database
- Pilih file backup yang ingin dipulihkan dari daftar
- Klik Restore dan konfirmasi
- Atau unggah file backup dari penyimpanan eksternal melalui Upload & Restore
17. Penyelesaian Masalah Umum
| No | Masalah | Solusi |
|---|---|---|
| 1 | Tidak bisa login | Pastikan username dan password benar. Jika lupa password, hubungi Admin untuk melakukan reset password. |
| 2 | Halaman kosong / putih setelah login | Coba muat ulang halaman (tekan F5). Jika masih bermasalah, bersihkan cache browser lalu coba lagi. |
| 3 | Data survei tidak muncul | Periksa apakah Anda memiliki hak akses ke dapur mitra tersebut. Hubungi Admin untuk mengecek pengaturan akses. |
| 4 | Form survei muncul pesan "Sesi telah berakhir" | Sesi login Anda telah habis waktu. Silakan muat ulang halaman dan login ulang. |
| 5 | Gagal mengunggah foto | Pastikan file berformat JPG, PNG, atau WEBP. Periksa ukuran file tidak terlalu besar. Coba kompres foto terlebih dahulu. |
| 6 | Gagal mengekspor PDF atau Excel | Hubungi Admin atau tim IT karena masalah ini memerlukan penanganan di sisi server. |
| 7 | Survei offline tidak tersinkronisasi | Pastikan perangkat terhubung ke internet. Buka aplikasi dan tunggu hingga proses sinkronisasi selesai. Jika gagal, coba bersihkan cache browser. |
| 8 | Notifikasi tidak muncul | Periksa pengaturan notifikasi di profil Anda. Pastikan notifikasi untuk kategori yang diinginkan dalam keadaan aktif. |
| 9 | Halaman 404 (tidak ditemukan) | Periksa kembali alamat URL yang diketik. Gunakan menu navigasi aplikasi untuk berpindah halaman. |
| 10 | Backup data gagal | Hubungi tim IT untuk memastikan konfigurasi server mendukung proses backup. |
18. Daftar Menu Aplikasi & Diagram Arsitektur
| No | Menu | Fungsi |
|---|---|---|
| 1 | Login | Halaman masuk ke aplikasi |
| 2 | Dashboard | Ringkasan statistik dan informasi penting |
| 3 | Master → Mitra | Daftar dan kelola data dapur mitra |
| 4 | Hub Dapur | Pusat informasi terpadu per dapur mitra |
| 5 | Survei → Buat Survei | Form survei kesesuaian SPPG |
| 6 | Survei → Detail | Detail hasil survei yang sudah dikerjakan |
| 7 | Survei → Cetak / PDF | Cetak atau unduh hasil survei |
| 8 | Tindak Lanjut | Daftar Corrective Action (temuan dan perbaikan) |
| 9 | Logbook | Catatan harian operasional per dapur |
| 10 | Inventaris | Data aset dan peralatan per dapur |
| 11 | Dokumen | Kelola dokumen legalitas dapur mitra |
| 12 | Master → Kategori Survei | Kelola kategori dan pertanyaan survei |
| 13 | Master → Pengguna | Kelola akun pengguna sistem |
| 14 | Master → Inventaris | Kelola master data inventaris |
| 15 | Master → Jadwal | Kelola jadwal survei |
| 16 | Master → Permission | Kelola hak akses pengguna |
| 17 | Master → Pengaturan | Konfigurasi aplikasi (kop surat, dll) |
| 18 | Master → Backup | Backup dan restore database |
| 19 | Master → Log Aktivitas | Riwayat aktivitas pengguna |
| 20 | Laporan Global Mitra | Laporan kepatuhan semua dapur |
| 21 | Laporan Global Logbook | Rekap logbook harian seluruh dapur |
| 22 | Laporan Perbandingan | Perbandingan skor antar dapur / periode |
| 23 | Ranking Dapur | Peringkat dapur berdasarkan kepatuhan |
| 24 | Notifikasi | Daftar pemberitahuan dan peringatan |
| 25 | Yayasan | Kelola data yayasan / organisasi penaungi |
Diagram Arsitektur Sistem DapurHub
graph TD
subgraph Client_Layer["Layer Klien"]
Browser["Web Browser / PWA"]
Mobile["Android App (Native/Flutter)"]
end
subgraph Application_Layer["Layer Aplikasi (PHP Backend)"]
Router["Bramus Router"]
AuthMW["AuthMiddleware"]
ApiMW["ApiMiddleware + JWT"]
CSRF["CSRF Protection"]
Controllers["Controllers (24 File)"]
Helpers["Helpers (Auth, JWT, Csrf)"]
Views["Twig Template Engine"]
end
subgraph Data_Layer["Layer Data"]
MySQL["MySQL 8.x Database"]
Uploads["File Storage (uploads/)"]
Backups["Backup Storage (storage/backups/)"]
end
Browser -->|HTTP/HTTPS + Session| Router
Mobile -->|REST API + JWT Bearer| Router
Router --> AuthMW
Router --> ApiMW
Router --> CSRF
AuthMW --> Controllers
ApiMW --> Controllers
Controllers --> Views
Controllers --> MySQL
Controllers --> Uploads
Controllers --> Backups
Diagram Konteks Sistem (C4 Context)
C4Context
title DapurHub - System Context Diagram
Person(admin, "Super Admin", "Mengelola seluruh sistem")
Person(supervisor, "Supervisor", "Memverifikasi dan memonitor")
Person(surveyor, "Surveyor/PIC", "Melakukan survei dan operasional harian")
System(dapurhub, "DapurHub", "Sistem Manajemen & Audit Kepatuhan Dapur Mitra")
System_Ext(email, "Email Server", "Notifikasi email")
System_Ext(mobile, "Android App", "Akses mobile via REST API")
Rel(admin, dapurhub, "Mengelola", "HTTPS")
Rel(supervisor, dapurhub, "Memverifikasi", "HTTPS")
Rel(surveyor, dapurhub, "Melakukan survei", "HTTPS/Offline")
Rel(dapurhub, email, "Mengirim notifikasi", "SMTP")
Rel(mobile, dapurhub, "REST API", "HTTPS + JWT")
Dokumen ini merupakan living document yang akan diperbarui seiring perkembangan aplikasi DapurHub. Setiap perubahan signifikan pada fitur harus disertai pembaruan pada dokumen ini.
Disusun oleh: Tim Pengembangan DapurHub
Tanggal: 1 Agustus 2026
Versi: 1.0