Lewati ke konten utama

Aplikasi Absensi Online Berbasis GPS

Aplikasi ini lahir dari masalah klasik — absen kertas gampang dimanipulasi, rekap Excel gampang salah hitung, dan admin HR kehabisan waktu cuma untuk mencocokkan siapa masuk, siapa telat, siapa cuti. Sekarang, satu aplikasi ini menjalankan hampir seluruh proses itu, dari absen harian sampai slip gaji.

Absen yang Sulit Dimanipulasi, Sekarang Juga Fleksibel untuk Shift

Fondasi aplikasi ini tetap sama: karyawan absen lewat radar GPS (lingkaran visual yang menunjukkan seberapa jauh posisi mereka dari kantor) dan wajib foto langsung dari kamera perangkat — bukan upload dari galeri, supaya foto lama tidak bisa dipakai berulang. Validasi jarak dihitung ulang di server, jadi tidak bisa diakali lewat developer tools sekalipun.

Yang baru: perusahaan dengan karyawan shift (pagi/siang/malam) sekarang bisa membuat beberapa shift kerja dengan jam masing-masing, lalu menugaskan tiap karyawan ke shift yang sesuai. Karyawan yang punya shift otomatis pakai jam itu setiap hari, sementara karyawan tanpa shift tetap mengikuti jadwal presensi umum seperti biasa — dua sistem ini berjalan berdampingan tanpa saling mengganggu.

Admin juga bisa mengaktifkan opsi larangan absen pulang sebelum jam pulang terjadwal — baik di jadwal umum maupun per shift — supaya kebiasaan pulang cepat tanpa izin tidak lagi jadi celah.

Dua Dashboard yang Benar-Benar Beda Kebutuhan

Admin dan karyawan melihat aplikasi ini dengan cara yang sangat berbeda, dan tampilannya memang sengaja dibuat begitu.

Dashboard admin menyajikan gambaran besar dalam satu layar: jumlah karyawan hadir hari ini, tren kehadiran yang bisa ditoggle (harian, mingguan, bulanan, tahunan), ringkasan per cabang dalam bentuk kartu progress bar, dan aktivitas terbaru dalam tabel rapi. Menu di sidebar sekarang juga menampilkan titik notifikasi merah real-time — begitu ada pengajuan izin atau lembur baru masuk, titik itu muncul otomatis tanpa admin perlu refresh halaman sama sekali.

Dashboard karyawan dibuat khusus untuk tampilan desktop, lengkap dengan sidebar navigasi sendiri — status absen hari ini, ringkasan kehadiran bulan berjalan, kuota cuti yang tersisa, sampai rincian gaji mereka sendiri, semua dari satu halaman. Di HP, alur tetap disederhanakan supaya absen harian bisa dilakukan secepat mungkin.

Mengelola Karyawan Jadi Lebih Cepat

Beberapa hal kecil yang ternyata menghemat banyak waktu:

ID Karyawan otomatis. Admin tidak perlu lagi memikirkan format penomoran karyawan — sistem membuatnya sendiri (5 angka + 1 huruf, dicek dulu supaya tidak bentrok dengan yang sudah ada), meski tetap bisa diisi manual kalau perusahaan sudah punya format baku sendiri.

Kartu detail karyawan. Klik nama karyawan mana pun di daftar, muncul kartu bergaya ID card lengkap — foto, jabatan, status akun, NIK, WhatsApp, cabang, tanggal bergabung — plus tombol cepat ke halaman Edit dan Gaji. Tidak perlu lagi buka beberapa halaman cuma untuk lihat info dasar seseorang.

Foto profil. Karyawan bisa upload foto sendiri, admin juga bisa mengunggahkan dari halaman edit. Muncul menggantikan lingkaran inisial di mana pun avatar ditampilkan.

Import massal lewat CSV. Kalau perlu daftarkan puluhan karyawan sekaligus di awal, tinggal unduh template, isi, upload — sistem validasi tiap baris dan laporkan hasilnya, bukan asal terima atau tolak semuanya.

Struktur atasan-bawahan. Setiap karyawan bisa diberi atasan langsung, yang nantinya berperan penting di sistem persetujuan (dibahas di bawah).

Izin, Cuti, dan Lembur yang Bisa Diatur Sesuai Struktur Perusahaan

Alur dasarnya tetap: karyawan mengajukan izin/sakit/cuti/lembur dari aplikasi, admin menyetujui atau menolak. Untuk sakit, sistem tetap mewajibkan upload surat keterangan dokter sebelum pengajuan bisa dikirim.

Yang berkembang jauh dari versi awal:

Kuota yang bisa mengendap. Cuti tahunan yang belum habis dipakai bisa “dibawa” ke tahun berikutnya sebagai tambahan kuota — admin tinggal klik satu tombol untuk menghitung otomatis sisa cuti semua karyawan, dengan batas maksimal carryover kalau perusahaan punya kebijakan itu.

Persetujuan bertingkat. Ini yang paling signifikan: perusahaan dengan struktur atasan-bawahan sekarang bisa mengaktifkan alur di mana atasan langsung menyetujui dulu, baru diteruskan ke admin untuk keputusan akhir. Atasan mendapat halaman “Persetujuan Tim” sendiri di aplikasinya. Kalau atasan menolak, prosesnya selesai di situ — tidak perlu diteruskan lagi. Yang bagus, ini sepenuhnya opsional per karyawan: yang tidak punya atasan tetap berjalan seperti biasa, langsung ke admin.

Gaji yang Menghitung Dirinya Sendiri

Setiap bulan, sistem menghitung gaji tiap karyawan otomatis dari tiga komponen: Gaji Pokok dikurangi Potongan Keterlambatan (dari aturan bertingkat yang bisa diatur admin) ditambah Bayaran Lembur (dari jam lembur yang disetujui, dengan tarif yang bisa berbeda per jabatan atau divisi).

Karyawan punya halaman “Gaji Saya” sendiri untuk melihat rincian ini kapan saja, sehingga tidak ada yang perlu bertanya-tanya dari mana angka gajinya berasal — semuanya transparan dan bisa dicek sendiri.

Komunikasi yang Sampai ke Karyawan

Setiap keputusan admin — izin disetujui, lembur ditolak, kuota habis — otomatis memicu notifikasi lewat email dan notifikasi dalam aplikasi. Sekarang ada jalur ketiga: WhatsApp, lewat Fonnte (gateway WA populer di Indonesia), untuk perusahaan yang karyawannya tidak selalu rajin cek email.

Ada juga fitur Pengumuman — beda dari notifikasi otomatis, ini untuk admin mengirim pesan satu arah ke semua karyawan atau karyawan di cabang tertentu sekaligus. Cocok untuk hal seperti “libur nasional besok” atau perubahan jam kerja mendadak.

Laporan yang Siap Pakai

Halaman Rekapitulasi Kehadiran meringkas jumlah hadir, telat, pulang cepat, izin/cuti, dan alpha per bulan dalam satu tahun — bisa per karyawan atau seluruh perusahaan, bisa diunduh sebagai CSV. Ada juga ekspor presensi harian dalam beberapa format, dan cetak langsung ke PDF untuk kebutuhan arsip fisik.

Untuk kebutuhan audit, ada Log Aktivitas yang mencatat aksi-aksi penting admin — tambah/ubah/hapus karyawan (termasuk kapan gaji pokok seseorang diubah), keputusan izin/lembur — berguna kalau admin di perusahaan lebih dari satu orang.

Bisa Diinstall Seperti Aplikasi Native

Perkembangan terbaru: aplikasi ini sekarang mendukung PWA (Progressive Web App), artinya bisa “diinstall” ke layar utama HP atau desktop lewat browser, lengkap dengan ikon sendiri, tanpa address bar browser saat dibuka — terasa seperti aplikasi native meski sebenarnya tetap berjalan di web.

Keamanan yang Terus Diperkuat

Dari fondasi dasarnya (password di-hash bcrypt, semua query pakai prepared statement, CSRF token di setiap form), aplikasi ini menambahkan beberapa lapis lagi seiring waktu: lupa kata sandi self-service lewat email, rate limitinguntuk mencegah percobaan login berulang-ulang, cookie sesi yang diperkuat, dan fitur backup database langsung dari dalam aplikasi tanpa perlu akses teknis ke server.

Tetap Ringan Meski Fiturnya Terus Bertambah

Satu hal yang saya jaga ketat sepanjang pengembangan ini: aplikasi tetap dibangun dengan PHP native tanpa framework, tanpa Composer, tanpa proses build. Setiap fitur baru — sebanyak apa pun — tetap bisa langsung diupload lewat FTP ke hosting shared biasa. Tidak ada langganan bulanan, tidak ada dependency yang perlu terus di-update, dan instalasinya tetap semudah dulu: upload folder, jalankan installer lewat browser, selesai.

Penutup

Aplikasi ini dimulai dari kebutuhan sederhana, dan berkembang jadi sistem yang cukup lengkap untuk menjalankan operasional HR sehari-hari dari satu tempat — mulai absen harian, izin dan lembur bertingkat, sampai gaji otomatis dan pengumuman perusahaan. Yang paling saya suka dari prosesnya: setiap fitur baru ditambahkan karena kebutuhan nyata yang muncul saat dipakai, bukan sekadar daftar fitur yang ingin dipamerkan.

Kalau kamu punya masukan atau ide fitur, jangan ragu untuk menghubungi saya lewat kontak yang tersedia di situs ini.

WhatsApp WhatsAppChat now