Absensi QR Code dengan Google Apps Script: Sistem Presensi Digital Modern

Absensi QR Code Google Apps Script

Absensi QR Code dengan Google Apps Script: Sistem Presensi Digital Modern

Absensi QR Code adalah sistem presensi modern yang menggunakan kode QR untuk mencatat kehadiran siswa atau karyawan. Dengan Google Apps Script, Anda bisa membuat sistem absensi QR Code gratis, otomatis, dan terintegrasi langsung dengan Google Sheets. Siswa cukup scan QR code dengan HP untuk melakukan presensi.

Keunggulan Sistem Absensi QR Code

Sistem absensi QR Code memiliki banyak keunggulan dibanding metode konvensional. Pertama, proses presensi menjadi lebih cepat dan efisien. Siswa tidak perlu antri panjang, cukup scan kode QR yang ditampilkan di layar projector. Kedua, data tersimpan otomatis di Google Sheets tanpa perlu input manual. Ketiga, rekap kehadiran bisa diakses kapan saja dan dari mana saja.

Selain itu, sistem ini juga bisa mendeteksi kecurangan. Setiap QR code bisa dibuat unik per hari atau per jam, sehingga siswa tidak bisa menggunakan screenshot QR code temannya. Google Apps Script juga bisa membatasi lokasi scan menggunakan IP address atau GPS.

Langkah 1: Membuat Database di Google Sheets

Buat spreadsheet baru dengan beberapa sheet: Data_Siswa (nama, NIM, kelas), QR_Codes (kode QR per hari/jam), Rekap_Absensi (tanggal, nama, status, waktu scan), dan Pengaturan (konfigurasi sistem).

Langkah 2: Membuat QR Code Generator

function generateDailyQR() {
  var today = Utilities.formatDate(new Date(), 'Asia/Jakarta', 'yyyy-MM-dd');
  var code = Utilities.base64Encode(today + '_ABSEN_' + Math.random().toString(36).substr(2, 9));
  var qrUrl = 'https://api.qrserver.com/v1/create-qr-code/?size=300x300&data=' + code;
  
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('QR_Codes');
  sheet.appendRow([today, code, qrUrl, 'Active']);
  
  return { code: code, url: qrUrl, date: today };
}

function validateQRCode(code) {
  var today = Utilities.formatDate(new Date(), 'Asia/Jakarta', 'yyyy-MM-dd');
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('QR_Codes');
  var data = sheet.getDataRange().getValues();
  for (var i = 1; i < data.length; i++) {
    if (data[i][1] == code && data[i][0] == today && data[i][3] == 'Active') {
      return true;
    }
  }
  return false;
}

function scanAttendance(nama, nim, code) {
  if (!validateQRCode(code)) {
    return { success: false, message: 'QR Code tidak valid atau sudah kedaluwarsa' };
  }
  
  var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Rekap_Absensi');
  var today = Utilities.formatDate(new Date(), 'Asia/Jakarta', 'yyyy-MM-dd');
  var time = Utilities.formatDate(new Date(), 'Asia/Jakarta', 'HH:mm:ss');
  
  // Cek duplikat
  var data = sheet.getDataRange().getValues();
  for (var i = 1; i < data.length; i++) {
    if (data[i][1] == nim && data[i][0] == today) {
      return { success: false, message: 'Anda sudah melakukan presensi hari ini' };
    }
  }
  
  sheet.appendRow([today, nim, nama, 'Hadir', time]);
  
  MailApp.sendEmail({
    to: nim + '@student.ac.id',
    subject: 'Konfirmasi Absensi',
    body: 'Absensi Anda pada ' + today + ' jam ' + time + ' telah tercatat.'
  });
  
  return { success: true, message: 'Absensi berhasil!', time: time };
}

Langkah 3: Membuat Interface Scan QR

Antarmuka scan QR harus mobile-friendly. Gunakan kamera HP untuk scan kode QR. Anda bisa menggunakan library JavaScript seperti html5-qrcode untuk membaca QR code dari kamera.

Langkah 4: Dashboard Admin

Dashboard admin menampilkan rekap kehadiran real-time, grafik persentase kehadiran, dan laporan per siswa. Data diambil langsung dari Google Sheets dan ditampilkan menggunakan Google Charts.

Langkah 5: Fitur Lanjutan

Tips SEO untuk Sistem Absensi

Gunakan kata kunci: "absensi QR code gratis", "sistem presensi online", "aplikasi absensi Google Apps Script", "presensi digital sekolah", "scan QR absensi". Buat landing page yang menjelaskan fitur dan manfaat sistem.

Tags: QR Code, Absensi Online, Presensi Digital, Google Apps Script, Sistem Kehadiran, Absensi Sekolah, Scan QR

Post a Comment for "Absensi QR Code dengan Google Apps Script: Sistem Presensi Digital Modern"