# Hasil Audit & Diagram Sistem SIAD Desa Siofa Banua

Dokumen ini berisi hasil audit read-only terhadap alur sistem dan diagram proses yang diimplementasikan pada aplikasi SIAD Desa Siofa Banua. Diagram dibuat menggunakan format Mermaid yang valid untuk digunakan sebagai Lampiran/Bab 4 Skripsi.

---

## 1. Flowchart Sistem Usulan Administrator

Menggambarkan alur kerja Administrator dalam mengelola data penduduk, kartu keluarga, jenis surat, melakukan verifikasi pengajuan, melakukan generate surat draft, mengunggah scan surat resmi bertanda tangan, mengarsipkan surat, serta mencetak laporan.

```mermaid
flowchart TD
    Start([Mulai]) --> Login[Login Administrator]
    Login --> InputCred[Input Username & Password]
    InputCred --> Validate{Validasi Login}
    Validate -- Tidak Valid --> Login
    Validate -- Valid --> Dashboard[Dashboard Admin]
    Dashboard --> SelectMenu[Pilih Menu]

    SelectMenu --> MenuPenduduk[Kelola Penduduk]
    SelectMenu --> MenuKK[Kelola Kartu Keluarga]
    SelectMenu --> MenuJenis[Kelola Jenis Surat]
    SelectMenu --> MenuVerifikasi[Verifikasi Pengajuan]
    SelectMenu --> MenuGenerate[Generate Surat]
    SelectMenu --> MenuUpload[Upload Scan Surat]
    SelectMenu --> MenuArsip[Arsip Surat]
    SelectMenu --> MenuLaporan[Laporan]

    %% Kelola Penduduk
    MenuPenduduk --> ActionPenduduk[CRUD Data Penduduk] --> End([Selesai])

    %% Kelola KK
    MenuKK --> ActionKK[CRUD Kartu Keluarga] --> End

    %% Kelola Jenis Surat
    MenuJenis --> ActionJenis[Edit Judul & Template Surat] --> End

    %% Verifikasi Pengajuan
    MenuVerifikasi --> ActionVerifikasi[Tinjau Detail Pengajuan & Berkas] --> DecisionVerif{Keputusan Verifikasi}
    DecisionVerif -- Setujui --> ActionApprove[Generate Surat & Status Selesai] --> MenuArsip
    DecisionVerif -- Tolak --> ActionReject[Input Catatan & Status Ditolak] --> End

    %% Generate Surat
    MenuGenerate --> AutoGen[Sistem Generate Draft PDF Otomatis] --> PrintDraft[Cetak Surat untuk TTD Basah Kades] --> End

    %% Upload Scan Surat
    MenuUpload --> SaveUpload[Simpan File Scan TTD Kepala Desa] --> StatusSelesai[Notifikasi Dokumen Siap Unduh ke Warga] --> End

    %% Arsip Surat
    MenuArsip --> ShowArsip[Detail Arsip Surat] --> ActionUploadTrigger[Pilih Upload Scan] --> MenuUpload

    %% Laporan
    MenuLaporan --> GenLaporan[Filter & Cetak Laporan Penduduk / Surat] --> End
```

---

## 2. Flowchart Sistem Usulan Warga

Menggambarkan alur utama pelayanan administrasi surat bagi Warga dari proses login, pengajuan surat dengan mengunggah persyaratan berkas (KTP & KK), pemantauan status riwayat pengajuan, hingga pengunduhan surat resmi yang telah disetujui dan ditandatangani.

```mermaid
flowchart TD
    Start([Mulai]) --> Login[Login Warga]
    Login --> InputCred[Input Username & Password]
    InputCred --> Validate{Validasi Login}
    Validate -- Tidak Valid --> Login
    Validate -- Valid --> Dashboard[Dashboard Warga]
    Dashboard --> SelectMenu[Pilih Menu]
    SelectMenu --> AjukanSurat[Ajukan Surat]
    AjukanSurat --> PilihJenis[Pilih Jenis Surat]
    PilihJenis --> IsiForm[Isi Formulir]
    IsiForm --> UploadReq[Upload Persyaratan]
    UploadReq --> KirimPengajuan[Kirim Pengajuan]
    KirimPengajuan --> WaitingVerif[Status Menunggu Verifikasi]
    WaitingVerif --> RiwayatSurat[Riwayat Surat]
    RiwayatSurat --> LihatStatus[Lihat Status]
    LihatStatus --> CheckSelesai{Apakah Surat Sudah Selesai?}
    CheckSelesai -- Belum --> Dashboard
    CheckSelesai -- Sudah --> DownloadResmi[Download Surat Resmi]
    DownloadResmi --> End([Selesai])
```

---

## 3. BPMN Sistem Usulan

Menggambarkan kolaborasi proses antara aktor **Warga**, sistem **SIAD**, dan **Administrator**. Kepala Desa tidak masuk ke sistem (proses tanda tangan dilakukan secara manual/luring oleh Administrator).

```mermaid
flowchart TD
    %% Warga Pool
    subgraph Warga [Pool: Warga]
        W_Start([Mulai]) --> W_Login[Warga Login]
        W_Login --> W_Form[Isi Formulir]
        W_Form --> W_Upload[Upload Persyaratan]
        W_Upload --> W_Kirim[Kirim Pengajuan]
        
        W_RecvNotifReject[Terima Notifikasi Ditolak] --> W_EndReject([Selesai])
        
        W_RecvNotifApprove[Terima Notifikasi Selesai] --> W_Download[Download Surat]
        W_Download --> W_EndApprove([Selesai])
    end

    %% SIAD Pool
    subgraph SIAD [Pool: SIAD]
        S_SaveData[SIAD menyimpan data]
        S_SendNotif[SIAD mengirim notifikasi]
        
        S_StatusDitolak[Status Ditolak]
        S_NotifReject[Notifikasi Warga]
        
        S_Gen[Generate Surat]
        S_SaveArsip[SIAD menyimpan arsip]
        S_StatusSelesai[Status Selesai]
        S_NotifApprove[Notifikasi Warga]
    end

    %% Administrator Pool
    subgraph Admin [Pool: Administrator]
        A_Verif[Administrator Verifikasi]
        A_Gate{Disetujui?}
        
        A_Cetak[Cetak Surat]
        A_TtdManual[Tanda Tangan Manual Kepala Desa]
        A_UploadScan[Upload Scan Surat]
    end

    %% Connections
    W_Kirim --> S_SaveData
    S_SaveData --> S_SendNotif
    S_SendNotif --> A_Verif
    A_Verif --> A_Gate
    
    %% Rejection flow
    A_Gate -- Tidak --> S_StatusDitolak
    S_StatusDitolak --> S_NotifReject
    S_NotifReject --> W_RecvNotifReject
    
    %% Approval flow
    A_Gate -- Ya --> S_Gen
    S_Gen --> A_Cetak
    A_Cetak --> A_TtdManual
    A_TtdManual --> A_UploadScan
    A_UploadScan --> S_SaveArsip
    S_SaveArsip --> S_StatusSelesai
    S_StatusSelesai --> S_NotifApprove
    S_NotifApprove --> W_RecvNotifApprove
```
