Panduan Penggunaan Sistem Absensi dan Input Kegiatan
Pendahuluan
Sistem Absensi dan Input Kegiatan adalah aplikasi web berbasis Google Apps Script yang diakses melalui browser — di HP maupun laptop, tanpa perlu install apapun. Cukup buka URL yang diberikan Admin dan mulai.
Panduan ini mencakup seluruh fitur untuk setiap level akses: User, Admin, dan Owner.
Login dan Sesi
Membuka Aplikasi
Buka URL web app yang diberikan oleh Admin. URL terlihat seperti:
https://script.google.com/macros/s/XXXXX/exec
Login
- Masukkan Username dan Password yang diberikan Admin
- Klik Masuk atau tekan Enter
- Gunakan ikon mata untuk melihat/menyembunyikan password saat mengetik
Setelah berhasil, tampilan beralih ke halaman utama sesuai role akun Anda.
Sesi aktif selama 6 jam sejak terakhir berinteraksi. Setelah itu sistem otomatis keluar dan meminta login ulang. Ini berlaku untuk semua role.
Keluar (Logout)
Klik Keluar di bagian bawah sidebar, lalu konfirmasi di dialog yang muncul.
Fitur Role: User
Dashboard
Halaman pertama yang muncul setelah login. Berisi:
- Kartu Status Kehadiran — apakah sudah absen masuk, sudah absen pulang, atau belum absen sama sekali hari ini
- Ringkasan Kegiatan Hari Ini — jumlah kegiatan Selesai, Sedang Berjalan, dan Tertunda
- Kegiatan Terbaru — 5 kegiatan terakhir dengan link ke Riwayat lengkap
Absensi Masuk
- Di Dashboard, klik tombol Absen Masuk
- Pilih status kehadiran di dialog yang muncul:
- Hadir — Work From Office (WFO)
- Work From Home (WFH)
- Izin
- Sakit
- Browser akan meminta izin akses lokasi — klik Izinkan agar koordinat GPS tercatat
- Absensi masuk berhasil; jam masuk dan status lokasi ditampilkan di kartu Dashboard
Jam operasional: Absensi hanya dapat dilakukan antara 07:00 – 20:00 WIB. Di luar rentang tersebut tombol dinonaktifkan. Waktu yang digunakan adalah waktu server (Asia/Jakarta) — bukan jam perangkat Anda.
GPS bersifat opsional. Menolak izin lokasi atau browser yang tidak mendukung tidak menghalangi absensi — hanya kolom koordinat yang tidak terisi.
Absensi Pulang
- Di Dashboard, klik tombol Absen Pulang
- Konfirmasi di dialog
- Sistem mengambil koordinat GPS (opsional, sama seperti masuk)
- Jam pulang tercatat
Setelah absen pulang, kartu kehadiran menampilkan jam masuk, jam pulang, dan tautan lokasi Google Maps untuk kedua titik (jika GPS berhasil direkam).
Input Kegiatan
Buka menu Input Kegiatan di sidebar. Isi formulir berikut:
| Field | Keterangan | Wajib |
|---|---|---|
| Tanggal | Default hari ini, dapat diubah | ✓ |
| Jenis Kegiatan | Pilih dari dropdown | ✓ |
| Detail Kegiatan | Deskripsi pekerjaan yang dilakukan | ✓ |
| Instansi / Perusahaan | Nama klien atau mitra | — |
| PIC | Nama kontak person di instansi | — |
| Alamat | Lokasi pelaksanaan kegiatan | — |
| Waktu Mulai | Jam mulai pekerjaan | ✓ |
| Waktu Selesai | Jam selesai pekerjaan | — |
| Status Progres | Selesai / Sedang Berjalan / Tertunda | ✓ |
| Link Bukti | URL dokumen, foto, atau laporan | — |
| Kendala | Hambatan yang dihadapi | — |
Klik Submit Kegiatan untuk menyimpan. ID unik (TGS-yyyyMMddHHmmss) digenerate otomatis. Klik Reset untuk mengosongkan form tanpa menyimpan.
Riwayat Kegiatan
Menu Riwayat Kegiatan menampilkan semua kegiatan yang pernah Anda catat, diurutkan dari yang terbaru.
Filter yang tersedia:
- Filter berdasarkan tanggal — klik field tanggal untuk memilih hari tertentu; kosongkan untuk tampilkan semua
- Pilih jumlah baris per halaman: 10, 25, atau 50
Kartu statistik di atas tabel menampilkan total Selesai, Sedang Berjalan, dan Tertunda dari data yang sedang ditampilkan.
Kolom tabel: No, Tanggal, Jenis Kegiatan, Detail (+ kendala jika ada), Instansi, PIC, Waktu Mulai, Waktu Selesai, Status, Bukti.
Jika ada kendala yang dicatat, ikon peringatan merah muncul di bawah detail kegiatan. Kolom Bukti menampilkan tombol tautan jika link terisi.
Ubah Password
- Buka menu Ubah Password di sidebar
- Isi Password Lama
- Isi Password Baru (minimal 6 karakter) — indikator kekuatan muncul saat mengetik
- Ulangi di kolom Konfirmasi Password Baru
- Klik Simpan Password Baru
Password baru langsung tersimpan dalam bentuk hash SHA-256. Tidak ada password yang disimpan dalam teks biasa.
Fitur Role: Admin
Admin memiliki semua akses User, ditambah dua menu manajemen di sidebar.
Kelola User
Menampilkan daftar semua akun dalam sistem beserta ID, nama, username, role, dan status.
Tambah User Baru
- Klik tombol Tambah User di pojok kanan atas
- Isi formulir:
- ID User — kode unik (contoh:
USR003) - Nama Lengkap
- Username — untuk login, tidak boleh duplikat
- Password — minimal 6 karakter
- Role — User / Admin / Owner
- Status — Aktif / Nonaktif
- ID User — kode unik (contoh:
- Klik Simpan
Password langsung di-hash SHA-256 sebelum disimpan ke spreadsheet.
Edit User
- Klik ikon pensil di baris user yang ingin diedit
- Ubah nama, role, atau status sesuai kebutuhan
- Kolom password boleh dikosongkan jika tidak ingin mengubah password
- Klik Simpan
ID User dan Username tidak bisa diubah saat mode edit untuk menjaga integritas data historis.
Aktifkan / Nonaktifkan User
Klik ikon play/pause di baris user, lalu konfirmasi. User yang dinonaktifkan tidak bisa login meskipun password benar. Admin tidak bisa menonaktifkan akunnya sendiri.
Kelola Referensi
Mengelola daftar Jenis Kegiatan yang muncul di dropdown form Input Kegiatan untuk semua user.
Tambah Kategori
- Ketik nama kategori baru di kolom input (panel kiri)
- Klik Tambahkan
- Kategori langsung muncul di daftar
Hapus Kategori
Klik ikon tempat sampah di samping kategori, lalu konfirmasi penghapusan. Perubahan berlaku segera untuk semua pengguna.
Catatan: Menghapus kategori tidak menghapus data kegiatan yang sudah tercatat dengan kategori tersebut — data historis tetap aman di spreadsheet.
Fitur Role: Owner
Owner dapat memantau seluruh aktivitas tim tanpa batas.
Rekap Kehadiran
Menampilkan data absensi seluruh karyawan dari semua waktu.
Kartu statistik di atas tabel menunjukkan jumlah Hadir/WFO, WFH, Izin, dan Sakit untuk hari ini saja.
Filter tanggal: Pilih tanggal di field filter lalu klik Filter untuk mempersempit tampilan. Klik Semua untuk kembali ke seluruh data.
Kolom tabel: No, Tanggal, Nama, Jam Masuk, Lokasi Masuk, Jam Pulang, Lokasi Pulang, Status Kehadiran.
Ikon pin 📍 di kolom lokasi membuka titik koordinat di Google Maps di tab baru.
Semua Kegiatan
Menampilkan log kegiatan seluruh anggota tim dengan kontrol filter:
- Filter Nama — pilih satu user atau “Semua User”
- Filter Tanggal — tampilkan kegiatan di tanggal tertentu
- Pilih jumlah baris per halaman: 10, 25, atau 50
Kartu statistik di atas tabel menampilkan jumlah Selesai, Sedang Berjalan, dan Tertunda dari data yang sedang ditampilkan setelah filter diterapkan.
Halaman Statistik Publik
Tambahkan ?page=statistik di akhir URL untuk membuka halaman statistik tanpa login:
https://script.google.com/macros/s/XXXXX/exec?page=statistik
Halaman ini menampilkan:
- Jam real-time (diperbarui setiap detik)
- Jumlah kehadiran hari ini: Hadir/WFO, WFH, Izin, Sakit
- Grafik batang tren kehadiran vs tidak hadir 7 hari terakhir
Cocok untuk ditampilkan di layar monitor ruang kantor atau dikirim via tautan ke grup komunikasi.
Install sebagai PWA (Opsional)
Sistem ini mendukung Progressive Web App — bisa di-install di layar utama HP tanpa Play Store atau App Store.
Di Android (Chrome):
- Buka URL di Chrome
- Ketuk ikon ⋮ pojok kanan atas
- Pilih Tambahkan ke layar utama atau Install app
Di iOS (Safari):
- Buka URL di Safari
- Ketuk ikon berbagi (kotak dengan panah ke atas)
- Pilih Tambah ke Layar Utama
Setelah dipasang, ikon aplikasi muncul di layar utama dan tampil fullscreen tanpa address bar.
Troubleshooting
| Masalah | Kemungkinan Penyebab | Solusi |
|---|---|---|
| Login gagal meski password benar | Akun dinonaktifkan | Hubungi Admin |
| Tombol Absen tidak aktif | Di luar jam 07:00–20:00 WIB | Tunggu jam operasional |
| GPS tidak tercatat | Izin lokasi ditolak | Izinkan akses lokasi di browser; absensi tetap bisa dilakukan |
| Dropdown Jenis Kegiatan kosong | Belum ada kategori | Admin tambahkan kategori di menu Kelola Referensi |
| Sesi tiba-tiba berakhir | Tidak aktif lebih dari 6 jam | Login kembali |
| Data tidak muncul setelah input | Perlu refresh | Klik tombol refresh (↺) di pojok kanan atas tabel |
| Error saat absen pulang | Belum absen masuk hari ini | Lakukan absen masuk terlebih dahulu |
Informasi Teknis
| Aspek | Detail |
|---|---|
| Platform | Google Apps Script (Web App) |
| Database | Google Sheets (4 sheet) |
| Jam operasional absensi | 07:00 – 20:00 WIB (waktu server) |
| Timeout sesi | 6 jam tidak aktif |
| Enkripsi password | SHA-256 |
| Repository | github.com/luthfisy/absensi-dan-input-pekerjaan |