Skip to content

Membuat Sistem Absensi Sidik Jari dengan Log SD Card

Efisiensi Administrasi dengan Biometrik

Pencatatan kehadiran manual seringkali tidak akurat dan rentan terhadap kecurangan. Di tahun 2026, teknologi biometrik menjadi semakin terjangkau untuk diimplementasikan pada skala UMKM atau organisasi kecil. Dengan menggunakan sensor sidik jari, Anda dapat memastikan kehadiran yang valid dan terdokumentasi dengan baik.

Tutorial ini akan membimbing Anda merakit Sistem Absensi Sidik Jari yang menyimpan data berupa ID pengguna dan stempel waktu ke dalam file .csv di MicroSD Card.

Komponen yang Dibutuhkan

  • Arduino Uno atau Mega (Mega direkomendasikan untuk memori lebih besar).
  • Sensor Sidik Jari Optik (AS608 atau DY50).
  • Modul MicroSD Card Adapter.
  • Modul RTC DS3231 (Agar waktu log akurat).
  • Layar LCD 16×2 dengan I2C.
  • Buzzer sebagai indikator verifikasi.

Skema Perkabelan Utama

  1. Sensor Sidik Jari: VCC ke 5V, GND ke GND, TX ke Pin D2, RX ke Pin D3.
  2. Modul SD Card: VCC ke 5V, GND ke GND, MISO ke D12, MOSI ke D11, SCK ke D13, CS ke D4.
  3. Modul RTC: SDA ke A4, SCL ke A5.

Kode Program Dasar (Arduino IDE)

Anda membutuhkan library Adafruit_Fingerprint.h, RTClib.h, dan SD.h.

#include <Adafruit_Fingerprint.h>
#include <SPI.h>
#include <SD.h>
#include <RTClib.h>

SoftwareSerial mySerial(2, 3);
Adafruit_Fingerprint finger = Adafruit_Fingerprint(&mySerial);
RTC_DS3231 rtc;
File myFile;

void setup() {
  Serial.begin(9600);
  finger.begin(57600);
  if (!SD.begin(4)) { Serial.println("SD Gagal!"); return; }
  if (!rtc.begin()) { Serial.println("RTC Gagal!"); return; }
}

void loop() {
  int id = getFingerprintID();
  if (id > 0) {
    logData(id);
    delay(2000); 
  }
}

void logData(int id) {
  DateTime now = rtc.now();
  myFile = SD.open("absensi.csv", FILE_WRITE);
  if (myFile) {
    myFile.print(id);
    myFile.print(",");
    myFile.print(now.timestamp());
    myFile.println();
    myFile.close();
    Serial.println("Data Tercatat!");
  }
}

int getFingerprintID() {
  uint8_t p = finger.getImage();
  if (p != FINGERPRINT_OK) return -1;
  p = finger.image2Tz();
  if (p != FINGERPRINT_OK) return -1;
  p = finger.fingerFastSearch();
  if (p != FINGERPRINT_OK) return -1;
  return finger.fingerID;
}

Manajemen Data

Data yang disimpan dalam format .csv dapat langsung dibuka menggunakan aplikasi spreadsheet seperti Microsoft Excel atau Google Sheets. Setiap baris akan berisi ID sidik jari yang terdaftar dan waktu tepat saat mereka melakukan pemindaian.

Keunggulan Sistem Offline

Berbeda dengan sistem berbasis cloud, sistem ini tetap berfungsi penuh meskipun koneksi internet terputus. Penggunaan modul RTC DS3231 memastikan waktu tetap berjalan meskipun listrik padam berkat baterai cadangan (CR2032).

Kesimpulan

Proyek ini adalah solusi praktis untuk manajemen kehadiran yang aman. Anda dapat mengembangkannya lebih lanjut dengan menambahkan fitur pendaftaran ID baru langsung dari perangkat atau mengintegrasikannya dengan modul Wi-fi untuk sinkronisasi data terjadwal.