LAPORAN PRAKTIKUM SISTEM
ABSENSI REAL-TIME DENGAN ESP32, RFID RC522, LCD 16X2 I2C, DAN WEB MONITOR REST
API
Disusun Oleh:
Muhammad Fachri Hasan (26051204088)
Luncyna Adam Ariyanto (26051204135)
Nasywaa Ludya Aruna (26051204141)
Rafie Ahmad Anwari (26051204143)
BAB I PENDAHULUAN
1.1 Latar Belakang
Pencatatan kehadiran dan pemantauan kunjungan pada lingkungan
laboratorium kampus, ruang server, maupun perkantoran konvensional seringkali
masih mengandalkan pencatatan manual pada buku tamu fisik. Metode manual ini
memiliki sejumlah kelemahan krusial, antara lain rawan manipulasi identitas,
proses rekapitulasi data yang memakan waktu lama, serta ketiadaan verifikasi
identitas secara otomatis dan transparan. Di era revolusi industri 4.0 dan
Internet of Things (IoT), otomatisasi pencatatan identitas dapat diwujudkan
secara efektif dengan memanfaatkan teknologi Radio Frequency Identification
(RFID) yang terhubung ke jaringan internet.
Projek praktikum ini mengembangkan sebuah Sistem Absensi Kunjungan Cerdas
berbasis mikrokontroler ESP32 DevKit V1. Sistem ini mengintegrasikan sensor
pembaca kartu RFID MFRC522 pada frekuensi 13.56 MHz, antarmuka penampil
karakter LCD 16x2 dengan modul konverter I2C (PCF8574), serta indikator
peringatan multimodal berupa Active Buzzer dan Dual LED (Hijau dan Merah).
Setiap kali kartu RFID didekatkan ke sensor, ESP32 membaca Unique Identifier
(UID) kartu tersebut dan mengirimkannya melalui protokol aman HTTPS POST ke
server API Node.js yang telah di-hosting secara mandiri pada server Ubuntu
menggunakan aaPanel dan proteksi Cloudflare
(https://arkom8.fchrihh.my.id/api/scan).
Server secara otomatis memvalidasi UID kartu terhadap database berbasis
JSON. Jika kartu telah terdaftar dan aktif, server mencatat log absensi dan
mengembalikan respons berupa status otorisasi, nama pemilik kartu, serta teks
baris yang harus dicetak pada LCD 16x2 ESP32 secara instan. Pada saat yang
bersamaan, data kunjungan di-broadcast melalui WebSockets (RFC 6455) ke
dashboard Web Monitor real-time yang menyajikan simulasi tampilan LCD hardware,
rekapitulasi statistik kunjungan harian, fitur pendaftaran kartu baru secara
cepat (Quick Enroll), serta manajemen database kartu (CRUD). Selain itu, layar
LCD pada ESP32 dilengkapi animasi non-blocking yang menyinkronkan jam digital
secara presisi melalui protokol Network Time Protocol (NTP Server GMT+7 WIB).
1.2 Rumusan Masalah
1. Bagaimana merancang dan
mengintegrasikan perangkat keras ESP32 dengan modul RFID RC522 (antarmuka SPI),
LCD 16x2 I2C, Active Buzzer, dan Dual LED?
2. Bagaimana menyusun
algoritma firmware ESP32 untuk membaca UID kartu RFID, melakukan sinkronisasi
waktu NTP, dan mengirimkan data permintaan verifikasi ke server API via HTTPS
POST?
3. Bagaimana membangun
arsitektur backend REST API dan WebSocket berbasis Node.js untuk memvalidasi
kartu terhadap database lokal dan mengembalikan data otorisasi ke ESP32?
4. Bagaimana merancang
antarmuka Web Monitor berbasis Glassmorphism yang menampilkan log kunjungan
real-time, statistik kehadiran, simulator LCD 16x2, dan manajemen CRUD kartu
RFID?
5. Bagaimana mengonfigurasi
hosting aplikasi pada server Ubuntu menggunakan aaPanel, Nginx Reverse Proxy
dengan WebSocket Upgrade, dan integrasi SSL Cloudflare?