---
# System prepended metadata

title: Absensi Guru

---

# Absensi Guru

- 70 guru
- face detection
- dibawah dinas pendidikan


Skema baru:
- Login
- Setting Jam Aktifitas
- Pegawai tetap ikut di 

Kebutuhan:
- Mastering Data
    - Unit Kerja (pakai existing)
    - Setting Jam Aktivitas
    - Master Lokasi (pakai existing) - 
    - Registrasi Guru/ User
        - Input master guru
        - Scan wajah - mobile
        - Alur Jam Aktivitas - web



```plantuml
(*) --> "Input data pegawai di web"
-->"Scan Wajah - di hp admin sekolah"
-->"Pengaturan jam aktivitas"

--> (*)

```

## Pengaturan Jam Aktivitas 

```plantuml
actor "admin web" as aweb
actor "admin sekolah" as asek
participant "Old Web" as ow
participant "New Web" as nw
database "public" as dbPublic
database "dapodik" as dbDapodik

aweb -> ow: Mengelola data unit kerja
ow -> dbPublic: get data unit kerja
dbPublic --> ow: data unit kerja response
aweb -> ow: Mengelola data lokasi
dbPublic --> ow: data unit kerja response

admin -> ow: Mengelola data pegawai
nw -> ow: Get data pegawai dapodik


```

## Perekaman Wajah 

```plantuml
actor guru
participant "apps" as apps

guru -> apps: Klik menu profile -> atur wajah

```

## Proses Absen Aktifitas 

```plantuml
participant "apps" as apps
participant "Golang BE" as be
database "dapodik" as dbDapodik

apps -> be: [POST] kirim payload absen
be -> dbDapodik: select absen pagi
alt pagi belum absen
    dbDapodik -> be: data tidak ditemukan
    be -> apps: Anda belum melakukan absen pagi
else
    apps -> be: Input absen
    be -> dbDapodik: Cek apakah saat ini ada jadwal aktivitas untuk current user
    alt tidak ada jadwal
        dbDapodik -> be: jadwal aktivitas tidak ditemukan
        be -> apps: Tidak ditemukan jadwal aktivitas untuk anda
    else
        be -> dbDapodik : Insert into absensi_logs
        be <- dbDapodik : Sukses
        apps <- be : Absen aktivitas sukses
    end
end

```

## ER Diagram
```plantuml
' hide the spot
hide circle

' avoid problems with angled crows feet
skinparam linetype ortho

entity "User" as u {
  *id : uuid
  --
  *name : text
  deskripsi : text
}


```