Flowchart Sistem Alat (ESP32)

flowchart TD Mulai([Mulai / Alat Dinyalakan]) --> Init[Inisialisasi Sistem & Koneksi WiFi] Init --> Standby[Layar Utama / Standby
SCR_MAIN] %% Dua jalur utama saat di layar Standby Standby -->|Tempelkan Jari| BacaJari[Sensor Membaca Sidik Jari] Standby -->|Sentuh Layar| Menu[Layar Daftar Menu
SCR_MENU_LIST] %% Alur Validasi Sidik Jari (Akses Masuk) BacaJari --> Validasi{Cek ID Jari
Aktif & Terdaftar?} Validasi -->|Benar| AksesBuka[Pintu Terbuka] Validasi -->|Salah| AksesTolak[Tampilkan Layar Akses Ditolak
Buzzer Bunyi Gagal] AksesTolak --> Standby AksesBuka --> Sinkronisasi[Kirim Laporan Absensi ke Server
Sync Task] Sinkronisasi --> StatusKoneksi{Apakah Koneksi
Internet Ada?} StatusKoneksi -->|Online| QRReport[Tampilkan Layar QR Laporan
SCR_QR_REPORT] StatusKoneksi -->|Offline| FormOffline[Tampilkan Formulir Aktivitas Offline
SCR_ACTIVITY_FORM] QRReport --> SelesaiAbsen([Selesai]) FormOffline --> SimpanOffline[Simpan Log di Memori Alat
NVS] SimpanOffline --> SelesaiAbsen SelesaiAbsen -->|Timeout/Tutup Pintu| Standby %% Alur Navigasi Menu Menu --> PilihDaftar[Pilih: Registrasi Baru] Menu --> PilihHelpdesk[Pilih: Bantuan / Helpdesk] Menu --> PilihDarurat[Pilih: Keadaan Darurat] %% Alur Bantuan PilihHelpdesk --> LayarHelpdesk[Tampilkan Info Bantuan
SCR_HELPDESK] LayarHelpdesk -->|Kembali| Menu %% Alur Keadaan Darurat PilihDarurat --> LayarDarurat[Tampilkan Peringatan Darurat
SCR_EMERGENCY] LayarDarurat --> InputDarurat[Input Nomor HP/PIN Darurat
SCR_EMERGENCY_HP] InputDarurat --> CekDarurat{Verifikasi PIN/HP
Darurat} CekDarurat -->|Benar| AksesBuka CekDarurat -->|Salah| AksesTolak %% Alur Pendaftaran Baru (Enrollment) PilihDaftar --> MenuDaftar[Layar Menu Pendaftaran
SCR_REGISTER_MENU] MenuDaftar --> InputData[Ketik Keyboard Data Diri:
Nama, NIK, No HP, PIN] InputData --> AmbilFoto[Layar QR Code Untuk Foto
SCR_QR_REG_FOTO] AmbilFoto --> DaftarJari[Layar Pendaftaran Sidik Jari
SCR_REG_FINGER] DaftarJari --> RekamJari[Tempel Jari 2x ke Sensor] RekamJari --> CekRekam{Perekaman
Berhasil?} CekRekam -->|Gagal| DaftarJari CekRekam -->|Sukses| KirimData[Kirim Data Registrasi ke Server] KirimData --> SelesaiDaftar([Selesai Pendaftaran]) SelesaiDaftar --> Standby %% Tambahan Kondisi Akun Validasi -->|Akun Diblokir| AkunMati[Layar Akun Dinonaktifkan
SCR_ACCESS_DEACTIVATED] AkunMati --> Standby