Project overview
Sistem presensi pegawai untuk sebuah institusi perguruan tinggi, terdiri dari tiga bagian: website admin, REST API, dan aplikasi mobile yang digunakan pegawai untuk melakukan presensi.
Problem statement
Presensi pegawai perlu dapat diverifikasi — bahwa yang melakukan presensi adalah pegawai yang bersangkutan dan berada di lokasi kerja. Selain itu, institusi membutuhkan bukti kepatuhan bekerja di lokasi selama jam kerja WFO untuk keperluan laporan, sementara pelacakan lokasi terus-menerus menimbulkan persoalan izin, baterai, dan privasi.
Project objectives
- Presensi datang dan pulang dengan verifikasi wajah dan lokasi.
- Mendukung pengaturan kerja WFO dan WFA.
- Menyediakan rekap dan riwayat presensi bagi admin.
- Menyediakan bukti kepatuhan lokasi yang ringan dan menjaga privasi.
My role and responsibilities
Saya berkontribusi sebagai developer dalam tim, terutama pada website admin dan REST API — termasuk modul pemantauan kepatuhan lokasi, mulai dari analisis kebutuhan dan perbandingan pendekatan hingga implementasi.
Solution overview
- Website admin (Laravel + Vue.js) untuk mengelola presensi, rekap, riwayat, hari libur, perpindahan, dan aduan.
- REST API (Lumen) sebagai penghubung antara website dan aplikasi mobile.
- Aplikasi mobile (Flutter) untuk presensi pegawai dengan verifikasi wajah dan lokasi.
Key features
- Presensi datang dan pulang dengan verifikasi wajah dan radius lokasi unit kerja.
- Mode WFA yang membebaskan batas lokasi bagi pegawai yang bekerja dari mana saja pada hari tersebut.
- Rekap dan riwayat presensi, input hari libur, dan pengelolaan aduan.
- Pemantauan kepatuhan lokasi: server menjadwalkan beberapa pengecekan dalam jam kerja dan mengirim ping melalui Firebase Cloud Messaging. Aplikasi menghitung sendiri jarak ke titik kantor terdekat dan hanya melaporkan jarak dan akurasi — koordinat tidak pernah dikirim ke server. Data kemudian diringkas menjadi rekap harian untuk admin.
Development challenges
Fitur kepatuhan lokasi membutuhkan keseimbangan antara kebutuhan laporan dan kendala teknis. Pelacakan latar belakang secara kontinu membutuhkan izin lokasi “sepanjang waktu”, boros baterai, kerap dihentikan sistem operasi, rawan false positive akibat GPS drift, dan berisiko dari sisi privasi. Karena itu dipilih pendekatan pengecekan berkala yang transparan, ditambah pemeriksaan kewajaran laporan di sisi server.
Results and outcomes
Sistem mendukung presensi harian pegawai melalui aplikasi mobile dengan verifikasi wajah dan lokasi, dikelola melalui website admin, serta menyediakan rekap kepatuhan lokasi yang dirancang dengan mempertimbangkan privasi pegawai.