Sistem Absensi dan Input Kegiatan
Ringkasan Proyek
Sistem Absensi dan Input Kegiatan adalah aplikasi web single-page yang berjalan sepenuhnya di atas Google Apps Script — tanpa server, tanpa hosting berbayar, tanpa database eksternal. Semua data tersimpan di Google Sheets yang sudah dikenal tim.
Aplikasi ini lahir dari kebutuhan nyata: tim yang tersebar antara kantor, rumah, dan kunjungan klien butuh cara mencatat kehadiran dan aktivitas kerja harian secara terstruktur. Hasilnya adalah sistem yang jalan dalam hitungan menit, gratis di infrastruktur Google yang sudah ada.
Developer: SASHINDO PROJECT — Luthfi SY
Fitur Utama
Absensi dengan GPS Tracking
Karyawan absen masuk dan pulang lewat browser — titik koordinat GPS dicatat otomatis (dengan izin perangkat). Status kehadiran dipilih saat absen masuk: Hadir / WFO, WFH, Izin, atau Sakit. Sistem hanya aktif antara pukul 07:00–20:00 WIB, divalidasi di sisi server — bukan sekadar tampilan.
Input Kegiatan Harian
Setiap anggota tim mencatat aktivitas kerja dengan detail lengkap: jenis kegiatan, deskripsi pekerjaan, waktu mulai dan selesai, status progres (Selesai / Sedang Berjalan / Tertunda), link bukti, kendala yang dihadapi, nama instansi, alamat lokasi, hingga PIC. Data ini menjadi laporan aktivitas terstruktur yang bisa dimonitor Owner setiap saat.
Akses Berbasis Role Tiga Tingkat
| Role | Hak Akses |
|---|---|
| User | Dashboard, absensi masuk/pulang, input & riwayat kegiatan sendiri, ubah password |
| Admin | Semua akses User + kelola data user, kelola kategori kegiatan |
| Owner | Semua akses + rekap absensi seluruh tim, log semua kegiatan tim |
Statistik Publik Real-Time
Halaman statistik dapat diakses tanpa login — menampilkan jumlah kehadiran hari ini (Hadir, WFH, Izin, Sakit) dan grafik tren 7 hari terakhir. Cocok ditampilkan di layar monitor ruangan atau dikirim via pesan ke grup.
Keamanan
Password di-hash SHA-256 dengan auto-upgrade dari plain text lama. Session berakhir otomatis setelah 6 jam tidak aktif. Setiap operasi tulis dilindungi LockService GAS untuk mencegah race condition. Validasi role dijalankan di server — tidak bisa di-bypass dari frontend.
PWA-Ready
Bisa di-install di HP sebagai Progressive Web App tanpa perlu ke Play Store atau App Store. Icon dan manifest dibuat dinamis di browser — tidak perlu file ikon terpisah di server.
Teknologi
| Komponen | Detail |
|---|---|
| Backend | Google Apps Script V8 Runtime |
| Database | Google Sheets (4 sheet terstruktur) |
| Frontend | HTML / CSS / Vanilla JavaScript |
| UI Framework | Bootstrap 5.3 + Bootstrap Icons 1.11 |
| Notifikasi | SweetAlert2 v11 |
| Version Control | GitHub |
| Deploy CLI | clasp (Google Apps Script CLI) |
Sheets yang digunakan:
Users— data akun, password hash, role, status aktifAbsensi— rekap kehadiran + koordinat GPS masuk & pulangInput Aktivitas— log kegiatan harian (14 kolom)Referensi— daftar kategori kegiatan (dikelola Admin)
Keunggulan
- Nol biaya infrastruktur — berjalan di Google Cloud yang sudah ada, tidak ada tagihan hosting atau database
- Setup satu menit — jalankan
setupSheets()sekali, semua struktur spreadsheet terbentuk otomatis - Data tetap milik sendiri — tersimpan di Google Sheets akun sendiri, bisa diexport kapan saja
- Tidak perlu install — akses lewat browser biasa, opsional di-install sebagai PWA di HP
- Responsif penuh — layout menyesuaikan layar HP, tablet, dan desktop dengan sidebar collapsible
- Sumber terbuka — kode tersedia di GitHub, dapat diadaptasi untuk kebutuhan spesifik organisasi
Kontak
SASHINDO PROJECT — Luthfi SY
WhatsApp +6281235025700