Bagian 3

Alur & Flow Diagram Sistem

Diagram alur utama: SSO, sinkronisasi data, siklus akademik, penerimaan, sarpras, dan penilaian OBE.

1Alur SSO — Login Tunggal

OAuth2 Authorization Code. Login sekali di SIAKAD; aplikasi lain otomatis membuat akun lokal (auto-provision) dengan peran default.

sequenceDiagram
  actor U as Pengguna
  participant C as Aplikasi Klien
  participant S as SIAKAD (IdP)
  U->>C: Klik "Login dengan SIAKAD"
  C->>S: Redirect /oauth/authorize (client_id, state)
  alt Belum login di SIAKAD
    S->>U: Halaman login SIAKAD
    U->>S: Masukkan kredensial
  end
  S-->>C: Redirect callback (code sekali-pakai)
  C->>S: POST /oauth/token (code + client_secret)
  S-->>C: access_token + profil (nama, email, peran)
  C->>C: Auto-provision akun lokal + peran default
  C-->>U: Login berhasil (sesi lokal)
      

Ketahanan: sesi aktif tetap berjalan bila SIAKAD mati; tersedia login lokal darurat (break-glass) untuk admin.

2Alur Sinkronisasi Master

flowchart LR
  A["Aplikasi Klien
(OBE / Sarpras)"]:::app -->|"GET /api/v1/master/..."| B["SIAKAD API"]:::c B -->|"JSON data master"| A A -->|"upsert by kunci natural
(kode/NIM) + external_ref"| D[("Cache Lokal")]:::db A -.->|"Terjadwal: hourly / daily / weekly"| A classDef app fill:#dbeafe,stroke:#1e40af,color:#1e3a8a; classDef db fill:#fef3c7,stroke:#b45309,color:#7c2d12; classDef c fill:#eef2ff,stroke:#4338ca,color:#3730a3;

3Siklus Akademik

flowchart TD
  P["Pendaftar (PMB)"] --> L{"Lulus Seleksi?"}
  L -- Tidak --> X["Arsip"]
  L -- Ya --> R["Daftar Ulang"]
  R --> M["Transfer ke SIAKAD
Generate NIM"] M --> KRS["KRS & Perwalian"] KRS --> JAD["Jadwal Kuliah"] JAD --> PRES["Presensi"] PRES --> NIL["Penilaian"] NIL --> KHS["KHS & Transkrip"] KRS --> KEU["Tagihan/UKT & Pembayaran"] KHS --> YUD{"Memenuhi Syarat?"} YUD -- Ya --> IJ["Yudisium & Ijazah"] KHS --> REP["Pelaporan PDDikti / Feeder"]

4Alur Penerimaan (PMB)

flowchart LR
  A["Calon Mahasiswa
Daftar Akun"] --> B["Isi Formulir
+ Unggah Berkas"] B --> C["Verifikasi Panitia"] C --> D["Seleksi / Ujian"] D --> E{"Diterima?"} E -- Ya --> F["Pembayaran & Daftar Ulang"] F --> G["Transfer ke SIAKAD (API)"] E -- Tidak --> H["Pemberitahuan"]

5Alur Sarpras — Pengadaan

flowchart LR
  U["Unit Kerja
Ajukan"] --> V["Verifikasi BPPA"] V --> P{"Disetujui
Pimpinan?"} P -- Ya --> S["Proses Pengadaan"] S --> D["Selesai + Aset Baru
(kode + QR)"] P -- Tidak --> R["Ditolak (alasan)"]

Serupa untuk Pemeliharaan (lapor → verifikasi → teknisi → selesai) & Renovasi (ajukan + RAB → setujui → kerjakan → selesai). Kendaraan dipantau via jatuh tempo KIR & pajak.

6Alur Penilaian OBE

flowchart TD
  CPL["CPL (Capaian Lulusan)
per Prodi"] --> CPMK["CPMK per Mata Kuliah"] CPMK --> KOMP["Komponen Penilaian + Bobot"] KOMP --> NIL["Input Nilai Mahasiswa"] NIL --> AKH["Nilai Akhir + Huruf (skala OBE)"] NIL --> KET["Ketercapaian CPMK"] KET --> KCPL["Ketercapaian CPL vs Target"]