Membuat Aplikasi Absensi Sederhana Gratis dengan Google Aps Script
Pada era digital seperti sekarang, sistem absensi tradisional yang menggunakan kertas atau bahkan sidik jari mulai beralih ke solusi yang lebih canggih. Salah satunya adalah menggunakan Google Apps Script untuk membuat aplikasi absensi online dengan deteksi kehadiran fisik. Artikel ini akan membahas cara membuat sistem absensi berbasis Google Forms dan Apps Script yang bisa mendeteksi apakah karyawan benar-benar berada di lokasi kantor.
Kenapa Membuat Aplikasi Absensi dengan Google Apps Script?
Google Apps Script adalah platform berbasis cloud yang memungkinkan pengguna untuk mengotomatisasi tugas di produk Google seperti Google Sheets, Forms, dan lainnya. Kelebihan utama dari menggunakan Google Apps Script untuk absensi adalah:
- Otomatisasi penuh: Data absensi otomatis dicatat dan diproses tanpa intervensi manual.
- Integrasi mudah: Menggunakan Google Forms sebagai antarmuka yang user-friendly.
- Dapat dikustomisasi: Mudah untuk menambahkan logika bisnis seperti deteksi lokasi dan verifikasi kehadiran fisik.
Langkah-langkah Membuat Aplikasi Absensi dengan Deteksi Kehadiran Fisik
1. Buat Google Form untuk Absensi
Langkah pertama adalah membuat Google Form yang digunakan oleh karyawan untuk melakukan check-in atau check-out. Di sini, karyawan bisa mengisi nama, memilih apakah mereka ingin melakukan check-in atau check-out, serta lokasi mereka saat melakukan absensi (dengan add-on Geolocation untuk mencatat posisi).
Cara Membuat Form:
- Buka Google Forms.
- Tambahkan pertanyaan untuk Nama Karyawan.
- Tambahkan pilihan ganda untuk Check-in atau Check-out.
- Install add-on Geolocation for Google Forms untuk menangkap lokasi karyawan saat melakukan absensi.
2. Menambahkan Google Apps Script untuk Verifikasi Lokasi
Sekarang, kita akan menambahkan kode Google Apps Script yang berfungsi untuk memverifikasi apakah karyawan melakukan absensi di lokasi yang sesuai dengan batas kantor. Dengan logika ini, kamu bisa memastikan bahwa karyawan tidak bisa melakukan check-in dari tempat selain kantor.
Berikut adalah contoh kode Google Apps Script:
function onFormSubmit(e) {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Absensi');
var namaKaryawan = e.values[1]; // Nama karyawan dari Form
var statusAbsensi = e.values[2]; // Masuk atau Keluar
var lokasi = e.values[3]; // Lokasi dari Add-on Geolocation
var waktuAbsensi = new Date();
// Koordinat kantor (latitude dan longitude)
var kantorLatitude = -6.200000; // Ganti dengan latitude kantor
var kantorLongitude = 106.816666; // Ganti dengan longitude kantor
var radiusMaksimal = 0.5; // Radius maksimal dalam kilometer (500 meter)
// Memecah lokasi menjadi latitude dan longitude
var karyawanLatitude = parseFloat(lokasi.split(",")[0]);
var karyawanLongitude = parseFloat(lokasi.split(",")[1]);
// Menghitung jarak antara kantor dan lokasi karyawan
var jarak = hitungJarak(karyawanLatitude, karyawanLongitude, kantorLatitude, kantorLongitude);
// Jika jarak lebih kecil atau sama dengan radius yang diizinkan, catat absensi
if (jarak <= radiusMaksimal) {
sheet.appendRow([namaKaryawan, waktuAbsensi, statusAbsensi, "Hadir"]);
} else {
sheet.appendRow([namaKaryawan, waktuAbsensi, statusAbsensi, "Lokasi Tidak Valid"]);
}
}
// Fungsi untuk menghitung jarak antara dua koordinat
function hitungJarak(lat1, lon1, lat2, lon2) {
var R = 6371; // Radius bumi dalam kilometer
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));
var d = R * c; // Jarak dalam kilometer
return d;
}
3. Menambahkan Trigger untuk Otomatisasi
Agar fungsi Google Apps Script ini berjalan otomatis setiap kali form diisi, kamu perlu menambahkan trigger:
- Buka Google Apps Script editor.
- Klik
Triggersdan tambahkan trigger baru untuk menjalankan fungsi onFormSubmit setiap kali form di-submit.
4. Memantau Absensi
Semua data absensi akan otomatis disimpan di Google Sheets. Kamu bisa memantau apakah karyawan hadir di kantor secara fisik berdasarkan data yang dicatat, termasuk waktu dan status kehadiran.
Dengan memanfaatkan Google Apps Script dan Google Forms, kamu bisa menciptakan sistem absensi yang efisien, otomatis, dan dapat diandalkan. Sistem ini juga memberikan fitur tambahan untuk memverifikasi kehadiran fisik menggunakan data lokasi GPS, memastikan bahwa absensi hanya dapat dilakukan di lokasi kantor.
Selamat mencoba membuat aplikasi absensi berbasis Google Apps Script! Jika kamu memiliki kebutuhan lain seperti integrasi lebih lanjut atau fitur tambahan, sistem ini sangat mudah untuk dikembangkan lebih jauh sesuai dengan kebutuhan kantormu.
Semoga artikel ini bermanfaat bagi yang ingin membangun sistem absensi berbasis teknologi modern!


Komentar
Posting Komentar