Membuat Aplikasi Absensi Pakai GPS dan Tentukan Titik Posisi Absen Google Apps Script + Google Sheets
Membuat aplikasi absensi pakai GPS dan menentukan titik posisi absen dengan Google Apps Script + Google Sheets kini menjadi solusi praktis untuk memantau kehadiran karyawan atau siswa tanpa perlu alat fingerprint. Dengan memanfaatkan fitur GPS di smartphone dan integrasi otomatis ke Google Sheets, proses absensi menjadi mudah, efisien, dan hemat biaya. Artikel ini akan membahas langkah demi langkah cara membuat sistem absensi berbasis lokasi menggunakan tools gratis dari Google.
Teknologi GPS sendiri merupakan sistem global yang dikembangkan oleh Global Positioning System (GPS) untuk menentukan posisi geografis suatu objek dengan akurasi tinggi. Kali ini saya akan melanjurkan bagaimana absensi Attendance berdasarkan titik posisi yang sudah ditentukan.
Langkah-Langkah Membuat Aplikasi Absensi GPS dengan Google Apps Script
1. Siapkan Google Sheets untuk Menampung Data
Buka Google Sheets dan buat file baru dengan kolom seperti berikut:
- Tanggal
- Nama
- Latitude
- Longitude
- Jarak
- Status (Masuk / Pulang)
File ini akan menjadi database absensi Anda. Pastikan Anda memberi nama yang mudah diingat, misalnya atau bisa akses pada artikel sebelumnya membuat Absensi GPS dan Foto.
2. Tentukan Titik Lokasi Absen (Koordinat GPS)
Untuk menentukan titik lokasi absen, Anda bisa menggunakan Google Maps. Klik kanan di lokasi kantor Anda, lalu pilih “What’s here?” untuk melihat koordinat latitude dan longitude. Catat angka tersebut karena akan digunakan dalam script verifikasi lokasi.
3. Buat Form HTML di Google Apps Script
Buka Google Apps Script dan buat proyek baru. Buat file HTML sederhana dengan fitur deteksi GPS seperti berikut:
<script>
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
} else {
alert("GPS tidak tersedia di perangkat ini.");
}
}
function showPosition(position) {
document.getElementById("lat").value = position.coords.latitude;
document.getElementById("long").value = position.coords.longitude;
}
</script>
<button onclick="getLocation()">Ambil Lokasi</button>
<input type="text" id="lat" name="latitude">
<input type="text" id="long" name="longitude">
Script ini akan meminta izin pengguna untuk mengakses lokasi GPS, lalu menampilkan koordinat secara otomatis di kolom input.
4. Integrasikan ke Google Sheets
Tambahkan script di file Code.gs untuk menghubungkan form HTML dengan Google Sheets Anda:
function doPost(e) {
var sheet = SpreadsheetApp.openById("ID_SHEET_ANDA").getSheetByName("Sheet1");
var data = JSON.parse(e.postData.contents);
sheet.appendRow([new Date(), data.nama, data.latitude, data.longitude, data.status]);
return ContentService.createTextOutput("Data berhasil disimpan");
}
Ganti ID_SHEET_ANDA dengan ID sebenarnya dari file Google Sheets Anda. Script ini akan menyimpan data absensi langsung dari form ke spreadsheet secara otomatis.
5. Tentukan Radius Area Absen
Untuk mencegah karyawan melakukan absensi dari luar area kantor, Anda dapat menambahkan validasi jarak. Gunakan rumus Haversine untuk membandingkan jarak antara lokasi pengguna dengan titik koordinat utama.
function hitungJarak(lat1, lon1, lat2, lon2) {
var R = 6371; // radius bumi dalam km
var dLat = (lat2 - lat1) * Math.PI / 180;
var dLon = (lon2 - lon1) * Math.PI / 180;
var a = Math.sin(dLat/2) * Math.sin(dLat/2) +
Math.cos(lat1 * Math.PI/180) * Math.cos(lat2 * Math.PI/180) *
Math.sin(dLon/2) * Math.sin(dLon/2);
var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
return R * c; // hasil dalam km
}
Dengan validasi ini, sistem hanya akan menyimpan absensi jika jarak pengguna berada dalam radius tertentu (misalnya 0,05 km dari titik kantor).
Keuntungan Menggunakan Google Apps Script + Google Sheets
Salah satu alasan utama banyak developer memilih kombinasi ini adalah kemudahan dan fleksibilitasnya. Tidak perlu server hosting, tidak perlu database tambahan, cukup modal akun Gmail. Semua data tersimpan aman di cloud Google.
Keuntungan tambahan:
- Dapat diakses dari mana saja dan kapan saja.
- Gratis dan tanpa batasan jumlah pengguna (selama kuota Google Script terpenuhi).
- Bisa ditambahkan foto bukti kehadiran (lihat panduan lanjutan di tutorial absensi pakai GPS dan foto).
Tips Optimasi Absensi GPS agar Lebih Akurat
Beberapa tips agar sistem absensi Anda bekerja optimal:
- Gunakan sinyal GPS dengan akurasi tinggi (nyalakan mode presisi).
- Pastikan browser diizinkan mengakses lokasi pengguna.
- Gunakan HTTPS agar lokasi pengguna dapat terbaca tanpa error.
- Simpan log aktivitas untuk audit absensi.
Contoh Hasil Absensi Otomatis di Google Sheets
Setelah semua script dijalankan, hasil absensi akan otomatis tampil di Google Sheets dengan data lengkap seperti nama, waktu, lokasi, dan status. Contoh seperti gambar berikut:
Penerapan Nyata untuk Bisnis dan Sekolah
Banyak perusahaan kecil, startup, hingga lembaga pendidikan kini beralih ke sistem absensi digital. Aplikasi ini juga sangat cocok untuk proyek outsourcing, pekerja lapangan, dan guru yang sering berpindah lokasi.
FAQ (Pertanyaan Umum)
1. Apakah sistem ini bisa digunakan offline?
Tidak. Sistem memerlukan koneksi internet agar data dapat dikirim ke Google Sheets.
2. Apakah data absensi aman di Google?
Ya. Data tersimpan di akun Google Sheets Anda dengan akses terbatas sesuai izin pengguna.
3. Apakah bisa menambahkan foto bukti absensi?
Bisa. Anda dapat menambahkan input <input type="file">
dan menyimpannya ke Google Drive melalui Script tambahan.
4. Bagaimana jika pengguna tidak mengizinkan GPS?
Form akan gagal mendapatkan koordinat, sehingga absensi tidak dapat dilakukan.
5. Apakah bisa ditambahkan fitur notifikasi ke email HR?
Bisa, dengan menambahkan fungsi MailApp.sendEmail()
di Google Apps Script.
Kesimpulan
Membuat aplikasi absensi pakai GPS dan menentukan titik posisi absen dengan Google Apps Script dan Google Sheets sangat cocok bagi perusahaan yang ingin sistem efisien tanpa biaya tambahan. Anda bisa mulai membuat versi dasar hari ini dan mengembangkannya menjadi sistem absensi online yang lengkap dengan validasi lokasi, foto, dan notifikasi otomatis.
Jika Anda ingin mempelajari versi lanjutan yang disertai foto dan tampilan form lebih menarik, silakan lihat panduan di Membuat Absensi Online Pakai GPS dan Foto.