Absensi RFID Arduino Uno Simpan ke SD Card, Jalan Tanpa Internet
Oleh Anang H. Darmawan

Foto: Vishnu Mohanan / Unsplash
Tidak semua tempat butuh absensi yang tersambung ke cloud. Ruang kelas di lantai tiga yang sinyalnya putus-putus, gudang toko, atau warung dengan tiga karyawan cukup dengan satu kotak kecil: tempel kartu, nama muncul di layar, lalu catatan tersimpan di SD card. Arduino Uno sanggup mengerjakan ini, asal kamu paham empat komponennya dan cara mereka berbagi pin.
Komponen dan satu jebakan tegangan
Susunan yang umum dipakai: Arduino Uno, modul RFID RC522, modul microSD, modul RTC DS3231, dan LCD 16x2 dengan backpack I2C. RC522 bekerja di 3,3V, jadi sambungkan pin VCC-nya ke pin 3.3V di Uno, bukan ke 5V. Kesalahan ini sering terjadi karena semua modul lain di meja kerja dicolok ke 5V.
RC522 dan modul SD sama-sama memakai SPI, yaitu pin 11 (MOSI), 12 (MISO), dan 13 (SCK) di Uno. Keduanya boleh berbagi tiga jalur itu, tapi masing-masing butuh pin chip select sendiri, misalnya pin 10 untuk RC522 dan pin 4 untuk SD. RTC dan LCD I2C berbagi A4 (SDA) dan A5 (SCL). Kalau salah satu modul SPI berhenti merespons setelah modul lain aktif, curigai modul yang tidak melepas jalur MISO saat tidak dipilih. Coba tes tiap modul sendirian dulu, baru gabungkan.
Format CSV yang enak dibuka di Excel
Simpan satu baris per tap dengan urutan kolom UID, nama, tanggal, jam. Contohnya: 04A1B2C3,Rina,2026-09-17,07:02:15. Format tanggal tahun-bulan-hari membuat data mudah diurutkan dan tidak tertukar antara format Indonesia dan Amerika saat dibuka di spreadsheet. Tulis baris header sekali saja ketika file belum ada.
Buka file, tulis satu baris, lalu tutup lagi setiap kali ada tap. Cara ini sedikit lebih lambat, tapi kalau listrik padam di tengah hari, paling banyak kamu kehilangan satu catatan, bukan seluruh isi file hari itu. Format kartunya dengan FAT32. Library SD bawaan Arduino tidak membaca exFAT, yang sering jadi format bawaan kartu berkapasitas besar.
Tambahkan juga jeda untuk kartu yang sama. Orang cenderung menempelkan kartu agak lama, dan tanpa jeda satu tap bisa tercatat tiga kali. Abaikan UID yang sama selama beberapa detik setelah tercatat, dan urusan ini beres.
Kenapa RTC wajib, bukan opsional
Arduino Uno tidak punya jam yang terus berjalan saat listrik mati. Tanpa RTC, catatan jam akan kembali ke nol setiap kali alat dinyalakan ulang. DS3231 punya baterai koin sendiri, jadi jam tetap berjalan meski alat dicabut semalaman. Atur jamnya sekali saat pertama dirakit, lalu cek lagi selisihnya dengan jam HP sebulan sekali.
Satu hal lagi soal Uno: RAM-nya hanya 2 KB, sementara library SD sendiri butuh buffer yang cukup besar. Kalau program mulai berperilaku aneh setelah kamu menambah teks di LCD, bungkus teks tetap dengan makro F() supaya disimpan di flash, bukan di RAM.
Kelebihan dan batasan sistem offline
Kelebihannya jelas. Tidak ada biaya cloud bulanan, tidak peduli WiFi mati, dan data ada di tanganmu dalam file yang bisa dibuka siapa saja. Untuk tugas akhir, alurnya juga gampang dijelaskan di depan penguji karena tiap bagian bisa diperlihatkan secara fisik.
Batasannya juga perlu kamu terima sejak awal. Rekap harus diambil dengan mencabut kartu SD atau menyalin file secara berkala. Kalau daftar anggota ditulis langsung di kode, menambah orang baru berarti upload ulang program. Untuk kelas, toko kecil, atau tempat dengan anggota yang jarang berganti, batasan ini masih masuk akal. Untuk kantor dengan puluhan cabang, kamu butuh sistem lain.
Kalau ingin langsung mulai dari kode yang sudah jalan, Absensi RFID + SD Card Arduino Uno seharga Rp175.000 berisi kode .ino siap upload, skema wiring, daftar komponen, dan panduan mendaftarkan kartu baru. Alurnya persis seperti di atas: UID dicocokkan ke daftar anggota di kode, nama tampil di LCD, lalu tercatat ke CSV dengan jam dari DS3231.
Masih asing dengan SPI, I2C, atau cara membaca sensor? Kerjakan dulu beberapa proyek dasar di 10 proyek Arduino pemula (e-book + kode), lalu kembali ke proyek absensi ini. Mulai malam ini dengan satu langkah kecil: rakit RC522 sendirian, jalankan contoh pembaca UID, dan pastikan kartumu terbaca sebelum menyentuh modul SD.
