Skip to main content

Panduan Penggunaan Sistem Absensi dan Input Kegiatan

Google Apps Script Version v1.0

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

  1. Masukkan Username dan Password yang diberikan Admin
  2. Klik Masuk atau tekan Enter
  3. 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

  1. Di Dashboard, klik tombol Absen Masuk
  2. Pilih status kehadiran di dialog yang muncul:
    • Hadir — Work From Office (WFO)
    • Work From Home (WFH)
    • Izin
    • Sakit
  3. Browser akan meminta izin akses lokasi — klik Izinkan agar koordinat GPS tercatat
  4. 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

  1. Di Dashboard, klik tombol Absen Pulang
  2. Konfirmasi di dialog
  3. Sistem mengambil koordinat GPS (opsional, sama seperti masuk)
  4. 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:

FieldKeteranganWajib
TanggalDefault hari ini, dapat diubah
Jenis KegiatanPilih dari dropdown
Detail KegiatanDeskripsi pekerjaan yang dilakukan
Instansi / PerusahaanNama klien atau mitra
PICNama kontak person di instansi
AlamatLokasi pelaksanaan kegiatan
Waktu MulaiJam mulai pekerjaan
Waktu SelesaiJam selesai pekerjaan
Status ProgresSelesai / Sedang Berjalan / Tertunda
Link BuktiURL dokumen, foto, atau laporan
KendalaHambatan 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

  1. Buka menu Ubah Password di sidebar
  2. Isi Password Lama
  3. Isi Password Baru (minimal 6 karakter) — indikator kekuatan muncul saat mengetik
  4. Ulangi di kolom Konfirmasi Password Baru
  5. 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

  1. Klik tombol Tambah User di pojok kanan atas
  2. 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
  3. Klik Simpan

Password langsung di-hash SHA-256 sebelum disimpan ke spreadsheet.

Edit User

  1. Klik ikon pensil di baris user yang ingin diedit
  2. Ubah nama, role, atau status sesuai kebutuhan
  3. Kolom password boleh dikosongkan jika tidak ingin mengubah password
  4. 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

  1. Ketik nama kategori baru di kolom input (panel kiri)
  2. Klik Tambahkan
  3. 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):

  1. Buka URL di Chrome
  2. Ketuk ikon ⋮ pojok kanan atas
  3. Pilih Tambahkan ke layar utama atau Install app

Di iOS (Safari):

  1. Buka URL di Safari
  2. Ketuk ikon berbagi (kotak dengan panah ke atas)
  3. Pilih Tambah ke Layar Utama

Setelah dipasang, ikon aplikasi muncul di layar utama dan tampil fullscreen tanpa address bar.


Troubleshooting

MasalahKemungkinan PenyebabSolusi
Login gagal meski password benarAkun dinonaktifkanHubungi Admin
Tombol Absen tidak aktifDi luar jam 07:00–20:00 WIBTunggu jam operasional
GPS tidak tercatatIzin lokasi ditolakIzinkan akses lokasi di browser; absensi tetap bisa dilakukan
Dropdown Jenis Kegiatan kosongBelum ada kategoriAdmin tambahkan kategori di menu Kelola Referensi
Sesi tiba-tiba berakhirTidak aktif lebih dari 6 jamLogin kembali
Data tidak muncul setelah inputPerlu refreshKlik tombol refresh (↺) di pojok kanan atas tabel
Error saat absen pulangBelum absen masuk hari iniLakukan absen masuk terlebih dahulu

Informasi Teknis

AspekDetail
PlatformGoogle Apps Script (Web App)
DatabaseGoogle Sheets (4 sheet)
Jam operasional absensi07:00 – 20:00 WIB (waktu server)
Timeout sesi6 jam tidak aktif
Enkripsi passwordSHA-256
Repositorygithub.com/luthfisy/absensi-dan-input-pekerjaan