K

KostKu Architecture Deck

SKPL-UDINUS-KOSTKU-2026 • Rev I

01 / 07
SPESIFIKASI REKAYASA PERANGKAT LUNAK (SKPL) RESMI

KostKu: Smart Boarding & Hyperlocal Co-Living

Arsitektur Pemodelan Aliran Data (Data Flow Diagram) Terpadu untuk Two-Sided Marketplace & Back-Office Co-Living Berbasis UU PDP No. 27/2022 & TriPay Gateway Merchant T53542.

AFILIASI AKADEMIK S1 Teknik Informatika FIK • Universitas Dian Nuswantoro
TIM PENYUSUN KELOMPOK 1. Oscar Herdian W. (16309) 2. Yohanes Aryo S. R. (16479) 3. M. Mirza Fadilah (16354)
STATUS ARSITEKTUR Revisi I (25 Okt 2026) ✔ Zero-KTP & TriPay Real Active
Bab 3.2.1 SKPL Mutakhir

The Big Picture: Peta Aliran Data Global (Level 0)

Bagaimana KostKu menjadi jembatan otomatis antara 4 pihak operasional nyata dan 2 gerbang eksternal resmi.

flowchart TB
    subgraph S_ACTORS [" ENTITAS PENGGUNA & MITRA "]
        direction TB
        E1["PENCARI KOS\n(Calon Penyewa)"]
        E2["PENGHUNI KOS\n(Penyewa Aktif)"]
        E3["PEMILIK KOS\n(Juragan Properti)"]
        E4["MITRA AFILIASI\n(UMKM Sekitar Kos)"]
    end

    subgraph S_SYSTEM [" BATASAN SISTEM (SYSTEM BOUNDARY) "]
        direction TB
        P0(("0\n\nSISTEM PLATFORM TERPADU\nKOSTKU\n(Web & Mobile Ecosystem)"))
    end

    subgraph S_GATEWAYS [" GERBANG LAYANAN EKSTERNAL "]
        direction TB
        E5["PAYMENT GATEWAY TRIPAY\n(Lisensi BI Merchant T53542)"]
        E6["WHATSAPP GATEWAY\n(Fonnte API & OTP Engine)"]
    end

    E1 -->|Data Pencarian, GPS & Filter Modal| P0
    E1 -->|Formulir Booking & Tanggal Masuk| P0
    E1 -->|Persetujuan S&K agreedTermsAt| P0
    P0 -->|Katalog Kos, Fasilitas & Peta GIS Leaflet| E1
    P0 -->|Status Konfirmasi Booking & Dokumen S&K| E1

    E2 -->|Konfirmasi Bayar Tagihan & Utilitas| P0
    E2 -->|Tiket Laporan Komplain Kerusakan| P0
    E2 -->|Order Layanan Mitra Hyperlocal| P0
    P0 -->|Invoice Tagihan Bulanan & Token PLN| E2
    P0 -->|Kuitansi Digital Lunas & Struk TriPay| E2

    E3 -->|Data Kos, Kamar & Tarif Utilitas| P0
    E3 -->|Verifikasi SHM/HGB & Approval Sewa| P0
    E3 -->|Persetujuan S&K Mitra Pasal 6| P0
    P0 -->|Notifikasi Booking Masuk & Data Calon| E3
    P0 -->|Laporan Kas, Rekap Komplain & Settlement| E3

    E4 -->|Katalog Menu Makanan, Laundry & Tarif| P0
    P0 -->|Data Order Penghuni, No Kamar & Dana Pokok| E4

    P0 -->|Request Generate Closed QRIS & VA| E5
    E5 -->|Callback Webhook Sukses HMAC-SHA256| P0

    P0 -->|Kirim OTP WA, Notifikasi & Kuitansi Lunas| E6

    classDef monochromeBox fill:#ffffff,stroke:#000000,stroke-width:2px,color:#000000;
    classDef processCore fill:#f4f4f5,stroke:#000000,stroke-width:3px,color:#000000;
    class E1,E2,E3,E4,E5,E6 monochromeBox;
    class P0 processCore;
          
1. Batasan Sistem yang Tegas

Seluruh sistem disatukan di Proses 0. Garis pembatas ini memastikan sistem tahu mana urusan internal platform dan mana entitas luar. Tidak ada aliran data liar yang melompati proses sistem.

2. Peran Gerbang Pihak Ketiga

Sistem mendelegasikan fungsi moneter ke TriPay (Merchant T53542) resmi Bank Indonesia untuk QRIS Dinamis, serta WhatsApp Gateway untuk verifikasi OTP 6-digit pengganti berkas identitas negara.

3. Integritas Aliran Transaksi

Memastikan tidak ada aliran fiktif. Seluruh arus kas sewa, utilitas, dan pesanan makanan dipetakan dengan verifikasi mutasi otomatis tanpa membebani pemilik dengan pencatatan kuitansi manual.

Bab 3.2.2 SKPL Mutakhir

Under The Hood: 6 Mesin Utama Platform (Level 1)

Pemisahan tanggung jawab secara modular dengan 7 Data Store terstruktur tanpa anomali.

flowchart TB
    EE1["PENCARI KOS"]
    EE2["PENGHUNI KOS"]
    EE3["PEMILIK KOS"]
    EE4["MITRA AFILIASI"]
    EE5["TRIPAY GATEWAY"]
    EE6["WHATSAPP GATEWAY"]

    subgraph DATA_STORES [" PERSISTENT DATA STORES "]
        direction TB
        DS1[("D1: Users\n(Zero-KTP, agreedTermsAt)")]
        DS2[("D2: Kosts\n(Katalog, Kamar & Promosi)")]
        DS3[("D3: Applications\n(Booking Sewa Kamar)")]
        DS4[("D4: Invoices\n(TriPay Settlement Logs)")]
        DS5[("D5: Complaints\n(Tiket Masalah & Status)")]
        DS6[("D6: Merchants & Orders\n(Mitra & Fee Rp 500)")]
        DS7[("D7: Activities\n(Audit Trail Logs)")]
    end

    subgraph PROCESSES [" 6 PROSES INTI KOSTKU "]
        P1(("1.0\nManajemen Autentikasi,\nAkun & Legal Shield"))
        P2(("2.0\nEksplorasi Katalog,\nModal Filter & Peta GIS"))
        P3(("3.0\nPengajuan & Siklus\nSewa Kamar Kost"))
        P4(("4.0\nPembayaran & Transaksi\nTriPay (QRIS/VA)"))
        P5(("5.0\nOperasional Layanan,\nKomplain & Loker"))
        P6(("6.0\nMitra Afiliasi UMKM &\nPromosi Sundul Kost"))
    end

    EE1 -->|Registrasi No WA, Turnstile & Centang S&K| P1
    EE3 -->|Registrasi Owner & Klausul S&K Pasal 6| P1
    P1 -->|Session Token & Hak Akses User| EE1
    P1 -->|Session Token & Hak Akses Owner| EE3
    P1 <-->|Read / Write User Akun & Hash| DS1
    P1 -->|Trigger Kirim OTP WA| EE6

    EE1 -->|Kriteria Modal Filter, Radius GPS| P2
    P2 -->|Hasil Katalog & Peta GIS Leaflet| EE1
    DS2 -->|Baca Data Kos, Kamar & Pin Promosi| P2

    EE1 -->|Formulir Pengajuan Booking Sewa| P3
    P3 -->|Tulis Pengajuan Baru| DS3
    P3 -->|Notifikasi Booking Masuk| EE3
    EE3 -->|Approval / Penolakan Sewa| P3
    P3 -->|Update Status Kamar 'occupied'| DS2
    P3 -->|Trigger Penerbitan Invoice Sewa| P4

    EE2 -->|Konfirmasi Pembayaran Tagihan| P4
    P4 -->|Request Generate QRIS / VA| EE5
    EE5 -->|Callback Webhook Sukses HMAC| P4
    P4 -->|Tulis Riwayat Tagihan & Settlement| DS4
    P4 -->|Kirim Bukti Pembayaran Digital| EE6
    P4 -->|Update Status Kamar Lunas| DS2
    P4 -->|Kuitansi Lunas & Token PLN| EE2

    EE2 -->|Tiket Laporan Kerusakan Kamar| P5
    P5 -->|Tulis & Update Tiket Komplain| DS5
    DS5 -->|Disposisi Komplain ke Dashboard| EE3
    P5 -->|Catat Jejak Audit Operasional| DS7

    EE2 -->|Order Layanan Laundry/Katering/Galon| P6
    EE3 -->|Aktivasi Sundul Kost Slot #1 via QRIS| P6
    P6 -->|Tulis Order Fee Rp 500| DS6
    P6 -->|Update Lencana Promosi Emas & Timer| DS2
    P6 -->|Penerusan Data Pesanan & No Kamar| EE4

    classDef entStyle fill:#ffffff,stroke:#000000,stroke-width:2px,color:#000000;
    classDef procStyle fill:#f4f4f5,stroke:#000000,stroke-width:2px,color:#000000;
    classDef storeStyle fill:#ffffff,stroke:#000000,stroke-width:2px,stroke-dasharray: 5 5,color:#000000;
    class EE1,EE2,EE3,EE4,EE5,EE6 entStyle;
    class P1,P2,P3,P4,P5,P6 procStyle;
    class DS1,DS2,DS3,DS4,DS5,DS6,DS7 storeStyle;
          
1. Dekomposisi 6 Domain

Arsitektur dibagi ortogonal: 1.0 Auth & Regulasi, 2.0 Katalog Peta GIS, 3.0 Siklus Sewa, 4.0 TriPay Payment, 5.0 Layanan & Komplain, 6.0 Mitra UMKM. Tidak ada logika tumpang tindih.

2. Isolasi 7 Data Store

Masing-masing data store berdiri independen (D1 s/d D7). Tidak ada tabel yang bertindak sebagai "keranjang sampah" gado-gado, dan seluruh penulisan data wajib melewati kontroler proses.

3. Ketertelusuran (Traceability)

Struktur 6 proses modular ini memiliki pemetaan 1:1 terhadap 26 butir kebutuhan fungsional (SKPL-F01 s/d F26) di dokumen SKPL Bab 3.6, menjamin kemudahan audit dan pemeliharaan kode program.

Bab 3.2.2.1 SKPL Mutakhir

Smart Room & Utility: Manajemen Kamar Anti-Zonk (Level 2)

Dekomposisi Proses 2.0: Multi-Cabang Kos, Sinkronisasi Simetris, dan Keadilan Beban Utilitas.

Sub-Proses 2.1 - 2.4
flowchart LR
    OWNER["PEMILIK KOS\n(Owner / Juragan)"]

    P21(("2.1\nValidasi Kepemilikan\nMulti-Kost"))
    P22(("2.2\nKonfigurasi Properti\n& Alamat GPS"))
    P23(("2.3\nPengaturan Kamar &\nStatus Okupansi"))
    P24(("2.4\nSinkronisasi Skema\nTarif Utilitas"))

    D1[("D1: Users")]
    D2[("D2: Kosts")]
    D7[("D7: Activities")]

    OWNER -->|Pilih ID Kos / Switch Properti| P21
    P21 -->|Verifikasi Relasi ownerId| D1
    D1 -->|Kembalikan Daftar Properti Sah| P21
    P21 -->|Properti Aktif Terpilih| OWNER

    OWNER -->|Update Profil, Foto & Lat-Lng GPS| P22
    P22 -->|Simpan Metadata Properti| D2

    OWNER -->|Input Kamar, Fasilitas, Nomor PLN| P23
    P23 -->|Simpan Status Kamar available/occupied| D2
    P23 -->|Catat Log Modifikasi Kamar| D7

    OWNER -->|Pilih Skema: All-In / Mandiri Listrik / Mandiri Air| P24
    P24 -->|Simpan Aturan Tarif Utilitas Bulanan| D2

    classDef default fill:#ffffff,stroke:#000000,stroke-width:2px,color:#000000;
    classDef proc fill:#f4f4f5,stroke:#000000,stroke-width:2px,color:#000000;
    class P21,P22,P23,P24 proc;
          
1. Portfolio Switcher (2.1)

Mendukung multi-properti: juragan dengan banyak cabang kos di Semarang dapat berganti properti aktif dalam 1 klik tanpa logout akun. Verifikasi relasi divalidasi langsung ke D1.

2. Simetri Status Okupansi (2.3)

Menghilangkan risiko overbooking. Saat sewa disetujui, unit kamar otomatis berubah menjadi occupied. Begitu masa sewa berakhir, status otomatis dikembalikan ke available.

3. Presisi Beban Utilitas (2.4)

Mendukung keadilan operasional: token PLN prabayar mandiri dan pencatatan meteran air PDAM per unit kamar menghapus distorsi subsidi silang antar-penghuni kos.

Bab 3.2.2.2 SKPL Mutakhir

Real Money & Hyperlocal: Uang Aman, UMKM Senang (Level 2)

Dekomposisi Proses 4.0 & 6.0: Otomasi Settlement TriPay dan Keadilan Komisi Flat Rp 500.

Dekomposisi Proses 4.0 & 6.0
flowchart TB
    TENANT["PENGHUNI KOS"]
    TRIPAY["PAYMENT GATEWAY TRIPAY\n(Merchant T53542)"]
    MERCHANT["MITRA AFILIASI\n(UMKM Lokal)"]

    P41(("4.1\nGenerate Tagihan &\nQRIS / VA Dinamis"))
    P42(("4.2\nPemrosesan Settlement\nWebhook TriPay"))
    P43(("4.3\nPenerbitan Kuitansi\nDigital Lunas"))
    P61(("6.1\nPemesanan Layanan\nMitra Hyperlocal"))
    P62(("6.2\nPemisahan Pokok &\nAdmin Fee Rp 500"))

    D4[("D4: Invoices")]
    D6[("D6: Merchants & Orders")]

    TENANT -->|Pilih Metode Bayar Sewa / Sundul| P41
    P41 -->|Request Closed Payment API| TRIPAY
    TRIPAY -->|Payload QRIS String & Nomor VA| P41
    P41 -->|Tampilkan QRIS / VA ke User| TENANT
    P41 -->|Catat Invoice Status 'pending'| D4

    TENANT -.->|Penyelesaian Bayar via E-Wallet/Bank| TRIPAY
    TRIPAY -->|POST Webhook Callback + Signature HMAC| P42
    P42 -->|Validasi Signature & Update Status 'settled'| D4
    P42 -->|Trigger Penerbitan Kuitansi| P43

    D4 -->|Ambil Data Tagihan Lunas| P43
    P43 -->|Kuitansi Digital PDF & No Seri Resmi| TENANT

    TENANT -->|Pilih Menu / Layanan Binatu| P61
    P61 -->|Data Keranjang Belanja| P62

    P62 -->|Hitung Subtotal + Fee Rp 500| P62
    P62 -->|Simpan Transaksi Pemesanan| D6
    P62 -->|Teruskan 100% Harga Pokok & No Kamar| MERCHANT

    classDef default fill:#ffffff,stroke:#000000,stroke-width:2px,color:#000000;
    classDef proc fill:#f4f4f5,stroke:#000000,stroke-width:2px,color:#000000;
    class P41,P42,P43,P61,P62 proc;
          
1. Validasi Webhook HMAC (4.2)

Mencegah serangan manipulasi bukti bayar. Status tagihan hanya diperbarui lunas jika tanda tangan digital HMAC-SHA256 dari callback TriPay terverifikasi identik dengan secret key server.

2. Kuitansi Digital Otomatis (4.3)

Sesaat setelah status berubah settled, sistem menerbitkan kuitansi digital PDF berpenomoran seri unik, memuat rincian sewa, token pintu pintar, dan nomor meteran PLN.

3. Keadilan Komisi Mitra (6.2)

Pemisahan dana otomatis: 100% harga pokok barang langsung diteruskan ke mitra warung/laundry sekitar, platform hanya mengenakan tarif flat maksimal Rp 500 per transaksi guna menjaga margin UMKM.

Kepatuhan Regulasi Nasional

Privacy-First & Legal Shield: Kebal Sengketa & UU PDP (Level 2)

Dekomposisi Proses 1.0 & 3.0: Verifikasi OTP Tanpa Beban KTP dan Pengikatan Clickwrap Hukum.

UU PDP No. 27/2022 & UU ITE
flowchart LR
    GUEST["PENCARI KOS"]
    OWNER["PEMILIK KOS"]
    WA["WHATSAPP GATEWAY"]

    P11(("1.1\nVerifikasi Anti-Bot &\nOTP WhatsApp"))
    P12(("1.2\nPenegakan Kontrak\nClickwrap S&K"))
    P31(("3.1\nValidasi Okupansi &\nPengajuan Booking"))
    P32(("3.2\nKonfirmasi Kontrak &\nSinkronisasi Kamar"))

    D1[("D1: Users\n(Zero-KTP)")]
    D2[("D2: Kosts")]
    D3[("D3: Applications")]

    GUEST -->|Token Turnstile & No Handphone Aktif| P11
    P11 -->|Kirim 6-Digit OTP Kriptografis| WA
    WA -.->|User Input OTP| P11
    P11 -->|Verifikasi Sah: Buat Akun Tanpa NIK/KTP| D1

    GUEST -->|Centang Kotak Persetujuan S&K + Kebijakan Privasi| P12
    P12 -->|Cap Timestamp agreedTermsAt & IP Audit| D1

    GUEST -->|Pilih Kamar & Durasi Sewa| P31
    D2 -->|Cek Ketersediaan Kamar status available| P31
    P31 -->|Kamar Kosong: Simpan Permohonan Sewa| D3
    P31 -.->|Kamar Terisi: Tolak Booking Otomatis| GUEST

    D3 -->|Ambil Pengajuan Masuk| P32
    OWNER -->|Setujui Sewa & Tanda Tangan E-Sign| P32
    P32 -->|Update Status Aplikasi approved| D3
    P32 -->|Update Kamar occupied Simetris| D2
    P32 -->|Kirim Notifikasi Kunci & Surat Pengantar RT/RW| GUEST

    classDef default fill:#ffffff,stroke:#000000,stroke-width:2px,color:#000000;
    classDef proc fill:#f4f4f5,stroke:#000000,stroke-width:2px,color:#000000;
    class P11,P12,P31,P32 proc;
          
1. Zero-KTP Storage (1.1)

Menerapkan prinsip minimalisasi data (Pasal 16 UU PDP). Sistem tidak menyimpan foto KTP / NIK di basis data, melenyapkan risiko denda kebocoran 2% omzet dan meniadakan honeypot sasaran peretas.

2. Clickwrap Legal Shield (1.2)

Sesuai Pasal 18 UU ITE: Checkbox persetujuan S&K wajib dicentang sebelum registrasi. Mengikat klausul Safe Harbor dan batas ganti rugi maksimal Rp 100.000, membebaskan platform dari sengketa fisik kamar.

3. Tata Kelola Regulasi RT/RW (3.2)

Pencatatan data tamu lokal tetap tertib: sistem mencetak dokumen Buku Tamu PDF resmi, dan verifikasi fisik KTP dilakukan langsung oleh pemilik kos saat serah terima kunci kamar di lapangan.

Standar Rekayasa Perangkat Lunak

The Final Audit: Siap Diuji Tanpa Celah Akademik

Verifikasi Mutlak 5 Aturan Emas DFD & Matriks Basis Data Resmi (D1 - D7).

100% Lolos Uji Kaidah DFD

Katalog 7 Data Store Resmi (SKPL Bab 3.2.3)

D1: Users — Identitas akun, role, hash password, status OTP, agreedTermsAt. (Bebas NIK/KTP).
D2: Kosts & Rooms — Profil kos, unit kamar, skema utilitas, status promosi pin emas.
D3: Applications — Riwayat permohonan booking sewa & arsip e-sign kontrak.
D4: Invoices — Tagihan TriPay QRIS/VA, referensi settlement & status lunas.
D5: Complaints — Tiket kerusakan fasilitas kos, foto kendala, disposisi status.
D6: Merchants & Orders — Profil UMKM lokal sekitar kos & transaksi fee Rp 500.
D7: Activities — Jejak audit trail aktivitas sistem per properti secara transparan.

Bukti Lolos 5 Kaidah Emas DFD

✔
Zero Black Hole: Tidak ada proses yang cuma menelan data tanpa output. Setiap aksi menghasilkan perubahan status atau invoice.
✔
Zero Miracle: Kuitansi (4.3) hanya terbit bila ada input settlement sah dari Webhook TriPay (4.2). Tidak ada data gaib.
✔
No Entity-to-Store Direct: User tidak bisa nembak database langsung; semua terbungkus logika proses aplikasi.
✔
No Store-to-Entity Direct: Menghapus cacat fatal draf lama (tabel database tidak bisa kirim laporan sendiri ke penjaga kos).
Kesimpulan Akhir: Seluruh pemodelan aliran data ini telah disinkronkan 100% dengan implementasi kode web produksi React 18, Express API, dan dokumen SKPL Revisi I S1 Teknik Informatika UDINUS Semarang.