Disusun Oleh:
Muhammad Rafli Anggara Hidayat (25051204153)
Dipa Apriliansyah Putra (25051204149)
BAB I
PENDAHULUAN
1.1 Latar Belakang
Perkembangan teknologi identifikasi otomatis (Automatic Identification Technology) telah mendorong lahirnya berbagai sistem untuk mengenali dan memverifikasi identitas seseorang maupun objek secara cepat dan akurat. Salah satu teknologi yang berkembang pesat dalam bidang ini adalah Radio Frequency Identification (RFID). RFID memungkinkan proses identifikasi dilakukan tanpa kontak langsung antara pembaca (reader) dan tag, sehingga dinilai lebih efisien dibandingkan metode konvensional seperti penggunaan kartu magnetik atau sistem berbasis barcode.
Dalam berbagai lingkungan, seperti akses ruangan, absensi pegawai, maupun sistem keamanan, kecepatan dan ketepatan dalam mengenali identitas sangat dibutuhkan. Sistem berbasis RFID menawarkan solusi dengan tingkat keamanan yang cukup baik serta kemudahan dalam integrasi perangkat keras dan lunak. Modul RFID RC522 merupakan salah satu jenis modul RFID berfrekuensi 13,56 MHz yang banyak digunakan karena harganya terjangkau, konsumsi dayanya rendah, dan mudah diprogram.
Arduino Uno, sebagai mikrokontroler yang bersifat open-source, berperan penting dalam mengolah data hasil pembacaan tag RFID dari modul RC522. Dengan dukungan berbagai pustaka (library) dan bahasa peSSmrograman C/C++, Arduino Uno memudahkan perancangan sistem elektronik yang fleksibel dan efisien. Kombinasi antara modul RFID RC522 dan Arduino Uno memungkinkan pembuatan sistem pengenal identitas yang sederhana namun fungsional.
Melalui proyek ini, diharapkan dapat dihasilkan suatu sistem pengenal identitas berbasis RFID yang mampu membaca data dari kartu atau tag, kemudian memverifikasi dan menampilkannya melalui perangkat output. Sistem ini dapat diaplikasikan pada berbagai bidang, misalnya sistem absensi, pengendalian akses, maupun pendataan anggota organisasi, sehingga menjadi solusi praktis bagi kebutuhan identifikasi modern.
1.2 Rumusan Masalah
Berdasarkan latar belakang di atas, maka dalam laporan ini dirumuskan beberapa permasalahan sebagai berikut:
1. Bagaimana merancang dan mengimplementasikan sistem pengenal identitas menggunakan modul RFID RC522 dan Arduino Uno?
2. Bagaimana sistem dapat menampilkan atau memberikan respon setelah identitas pengguna terdeteksi oleh modul RFID?
1.3 Tinjauan Laporan
Melalui praktikum dan penyusunan laporan ini, tujuan yang ingin dicapai antara lain:
1. Bagaimana sistem dapat menampilkan atau memberikan respon setelah identitas pengguna terdeteksi oleh modul RFID?
2. Bagaimana sistem dapat menampilkan atau memberikan respon setelah identitas pengguna terdeteksi oleh modul RFID?
1.4 Manfaat Penulisan
Manfaat yang diharapkan dari penulisan laporan ini antara lain:
1. Bagaimana sistem dapat menampilkan atau memberikan respon setelah identitas pengguna terdeteksi oleh modul RFID?
2. Menjadi bahan informasi yang dapat dikembangkan lebih lanjut menjadi sistem yang lebih lengkap, misalnya terintegrasi database atau jaringan, untuk mendukung kebutuhan identifikasi di lingkungan pendidikan maupun organisasi
BAB II
TINJAUAN PUSTAKA
2.1 Dasar Teori
Dasar teori dalam laporan ini membahas fondasi ilmiah yang mendasari pengembangan sistem pengenal identitas menggunakan modul RFID RC522 dan Arduino Uno, mencakup prinsip kerja teknologi RFID, spesifikasi teknis komponen utama, serta alur proses identifikasi otomatis. Penjelasan ini bertujuan untuk memberikan landasan konseptual yang kuat bagi implementasi perangkat keras dan perangkat lunak, sekaligus menunjukkan bagaimana integrasi kedua teknologi tersebut dapat menghasilkan sistem yang efisien, akurat, dan aman untuk aplikasi praktis seperti absensi atau kontrol akses.
2.2.1 Prinsip Kerja RFID
Radio Frequency Identification (RFID) menggunakan gelombang radio untuk mengidentifikasi objek secara otomatis tanpa kontak fisik. Sistem RFID terdiri dari tiga komponen utama: tag RFID yang menyimpan data unik, reader untuk membaca data tag, serta sistem pengolah data seperti mikrokontroler. Saat tag mendekati reader, energi elektromagnetik dari sinyal radio mengaktifkan chip pada tag, kemudian data dikirim kembali ke reader melalui induksi elektromagnetik.
2.2.2 Modul RFID RC522
Modul RC522 (MFRC522) beroperasi pada frekuensi 13,56 MHz dan mendukung standar ISO/IEC 14443 seperti kartu MIFARE Classic. Modul ini terhubung ke mikrokontroler via protokol SPI dengan pin seperti SDA (SS), SCK, MOSI, MISO, dan RST untuk komunikasi data. RC522 mampu membaca Unique Identifier (UID) dan memori tag hingga jarak 5-10 cm, cocok untuk aplikasi identifikasi sederhana dengan konsumsi daya rendah.
2.2.3 Arduino Uno sebagai Mikrokontroler
Arduino Uno berbasis mikrokontroler ATmega328P dengan clock speed 16 MHz, RAM 2 KB, dan mendukung pemrograman C/C++ via IDE Arduino. Platform ini mengolah data dari RC522 menggunakan library seperti MFRC522.h untuk inisialisasi, pembacaan UID, dan autentikasi. Arduino mengirim perintah ke perangkat output seperti LCD atau buzzer setelah verifikasi data identitas.
2.2.4 Alur Sistem Identifikasi
Data dari tag RFID dibaca oleh RC522, dikirim ke Arduino untuk diverifikasi terhadap database sederhana, kemudian menghasilkan respon seperti tampilan pesan atau aktivasi relay. Sistem ini meningkatkan efisiensi identifikasi dengan mengurangi kesalahan manual dan mendukung aplikasi seperti absensi atau akses pintu.
2.2 Komponen
ØArduino Uno
Arduino Uno adalah papan mikrokontroler yang menjadi “otak” rangkaian elektronik dan dipakai untuk menjalankan program. Papan ini memiliki beberapa komponen utama, yaitu mikrokontroler ATmega328 sebagai prosesor, pin-pin input/output (digital dan analog) untuk menghubungkan sensor dan modul seperti RFID, port USB untuk mengupload program dan memberi daya, jack DC untuk sumber tegangan luar, tombol reset, serta beberapa LED indikator (power, TX/RX, dan LED pin 13) untuk membantu pengecekan kerja board. Komponen-komponen ini bekerja bersama sehingga Arduino Uno dapat membaca input, memprosesnya, lalu menghasilkan output sesuai program yang dibuat.
ØRFID MFRC522
Modul RFID MFRC522 (atau RC522) adalah reader RFID berbasis chip NXP yang bekerja pada frekuensi 13,56 MHz untuk membaca kartu atau tag MIFARE seperti S50, S70, Ultralight, dan Desfire tanpa kontak fisik. Modul ini menggunakan tegangan 3,3V dengan konsumsi arus 13-26 mA saat aktif, jarak baca hingga 5-6 cm, dan mendukung protokol komunikasi SPI, I2C, serta UART dengan kecepatan data hingga 10 Mbps. Pin utamanya meliputi 3.3V, GND, RST (reset), SDA/SS (slave select untuk SPI), SCK, MOSI, MISO, dan IRQ untuk interrupt, yang mudah dihubungkan ke Arduino Uno melalui library MFRC522.h untuk membaca UID unik tag.
ØKabel Jumper Female to Male
Kabel jumper female to male adalah kabel penghubung dengan konektor betina (female) di satu ujung dan jantan (male) di ujung lainnya, biasanya berpanjang 10-30 cm dengan pitch 2.54 mm. Kabel ini sangat praktis untuk proyek Arduino karena ujung female-nya bisa langsung "menusuk" pin male pada header modul seperti RFID RC522, sedangkan ujung male-nya dimasukkan ke pin digital/analog Arduino Uno atau breadboard. Fungsinya menghubungkan sensor/modul ke mikrokontroler tanpa solder, misalnya SDA RC522 ke pin 10 Arduino, sehingga memudahkan prototyping sistem identifikasi RFID
BAB III
PEMBAHASAN
3.1 Alat dan Bahan
- Arduino Uno
- RFID MFRC522
- Kabel jumper female to male
- Laptop
3.2 Langkah-Langkah
Langkah 1: Pemasangan Rangkaian Hardware
Pertama, hubungkan modul RFID RC522 ke Arduino Uno menggunakan kabel jumper female to male sesuai pinout protokol SPI berikut:
· SDA → Digital Pin 10 (Slave Select)
· SCK → Digital Pin 13 (Serial Clock)
· MOSI → Digital Pin 11 (Master Out Slave In)
· MISO → Digital Pin 12 (Master In Slave Out)
· IRQ → Dikosongkan (tidak digunakan)
· GND → GND Arduino
· RST → Digital Pin 9 (Reset)
· 3.3V → 3.3V Arduino
Koneksi ini memungkinkan komunikasi data dua arah antara RFID reader dan mikrokontroler melalui protokol SPI standar.
Langkah 2: Persiapan Software Arduino
Kedua, instal Arduino IDE dari situs resmi arduino.cc, lalu tambahkan library MFRC522 melalui Library Manager (Tools → Manage Libraries → cari "MFRC522").
Sebelum kita bisa menggunakan kartu dan gantungan kunci yang disediakan bersama dengna modul RFID MFRC522, kita harus mengetahui UID dari kartu dan gantungan kunci tersebut. Tulis kode berikut untuk mencari tahu UID dari kartu dan kunci:
#include <SPI.h>
#include <MFRC522.h>
#define RST_PIN 9
#define SS_PIN 10
byte readCard[4];
byte a = 0;
MFRC522 mfrc522(SS_PIN, RST_PIN);
void setup() {
Serial.begin(9600);
while (!Serial);
SPI.begin();
mfrc522.PCD_Init();
delay(4);
mfrc522.PCD_DumpVersionToSerial();
}
void loop() {
if ( ! mfrc522.PICC_IsNewCardPresent()) {
return 0;
}
if ( ! mfrc522.PICC_ReadCardSerial()) {
return 0;
}
Serial.println(F("Scanned PICC's UID:"));
for ( uint8_t i = 0; i < 4; i++) { //
readCard[i] = mfrc522.uid.uidByte[i];
Serial.print(readCard[i], HEX);
Serial.print(" ");
delay(500);
}
Serial.println("");
mfrc522.PICC_HaltA();
}
Setelah kode selesai ditulis, compile dan upload kode ke dalam arduino uno yang sudah dipasang kepada modul RFID lalu jalankan kode dan scan kartu dan gantungan kunci ke modul RFID, buka Serial Monitor (9600 baud) – UID akan muncul saat kartu ditempel.
Setelah mengetahui UID dari gantungan kunci dan kartu, tuliskan kode berikut di Arduino IDE untuk menjalankan program pengenalan identitas:
#include <SPI.h>#include <MFRC522.h>#define SS_PIN 10#define RST_PIN 9MFRC522 rfid(SS_PIN, RST_PIN);// Your tag UIDbyte tagA[] = {0x00, 0x00, 0x00, 0x00};byte tagB[] = {0x00, 0x00, 0x00, 0x00};bool matchTag(byte *a, byte *b) {for (int i = 0; i < 4; i++) {if (a[i] != b[i]) return false;}return true;}void setup() {Serial.begin(9600);SPI.begin();rfid.PCD_Init();Serial.println("Scan your tag...");}void loop() {if (!rfid.PICC_IsNewCardPresent() || !rfid.PICC_ReadCardSerial()) {return;}byte scanned[4];for (int i = 0; i < 4; i++) {scanned[i] = rfid.uid.uidByte[i];}// If tag A scanned → send triggerif (matchTag(scanned, tagA)) {Serial.println("scanned Kartu"); }else if(matchTag(scanned, tagB)) {Serial.println("scanned Ganci");}else {Serial.println("UNKNOWN_TAG");}rfid.PICC_HaltA();}
Setelah memasukkan UID dari gantungan kunci dan kartu kedalam kode, compile dan upload kode tersebut ke Arduino lalu persiapkan script python.
Langkah 3: Program Python Web Trigger
Ketiga, buat program Python untuk membaca UID dari Serial Arduino dan membuka web browser otomatis:
import serial
import webbrowser
import time
import serial.tools.list_ports
import sys
SERIAL_PORT = "COM#" //UBAH SESUAI COM YANG DIPAKAI
BAUD_RATE = 9600
URL_TUJUAN = "LINK WEBSITE YANG DI INGINKAN"
URL_TUJUAN2 = "LINK WEBSITE YANG DI INGINKAN"
print("PENCARIAN PORT")
ports = serial.tools.list_ports.comports()
found_port = False
for port, desc, hwid in sorted(ports):
print(f"Ditemukan: {port}")
if port == SERIAL_PORT:
found_port = True
if not found_port:
print(f"ERROR: Port {SERIAL_PORT} tidak ditemukan atau sedang digunakan.")
sys.exit() # Hentikan program jika port tidak ditemukan
# --- KONEKSI SERIAL ---
try:
# Koneksi Serial dengan timeout 1 detik
arduino = serial.Serial(SERIAL_PORT, BAUD_RATE, timeout=1)
time.sleep(2) # Beri waktu inisialisasi
print(f"\n Koneksi berhasil ke {SERIAL_PORT}.")
print(f"Mendengarkan data... Siap untuk scan RFID.")
# --- PERULANGAN UTAMA ---
while True:
# Cek apakah ada data yang menunggu di port serial
if arduino.in_waiting > 0:
# Baca baris data, decode ke string, dan hapus spasi/baris baru
line = arduino.readline().decode(errors="ignore").strip()
if line: # Pastikan baris tidak kosong
print(f"Received: {line}")
if line == "scanned Kartu":
print(f"Perintah diterima! Membuka browser ke: {URL_TUJUAN}")
webbrowser.open(URL_TUJUAN)
elif line == "scanned Ganci":
print(f"Perintah diterima! membuka browser ke: {URL_TUJUAN2}")
webbrowser.open(URL_TUJUAN2)
else:
print("Perintah tidak dikenali.")
time.sleep(0.01) #
finally:
if 'arduino' in locals() and arduino.is_open:
arduino.close()
print("\nKoneksi Serial Ditutup.")
Untuk menjalankan program pengenalan identitas tersebut, pasang Arduino pada port OCM yang sesuai, lalu jalankan program python, saat kartu discan, UID otomatis terkirim dan membuka website tertentu di browser secara real-time.
Sistem ini bekerja dengan alur: Kartu RFID → RC522 → Arduino → Serial → Python → Web Browser.
Cara kerjanya: Python "mendengarkan" Serial Monitor Arduino. Saat kartu discan → Arduino kirim UID → Python tangkap → otomatis buka website dengan UID sebagai parameter query.
3.3 Hasil Pengamatan
Menampilkan antarmuka pemrograman terbagi antara Visual Studio Code (VS Code) di sebelah kiri dan Arduino IDE 2.3.6 di sebelah kanan. Di VS Code, terlihat script Python bernama pypy.py yang dikonfigurasi untuk koneksi serial (COM5, 9600 baud) dan memiliki dua URL target. Di bawahnya, terminal menunjukkan bahwa program Python telah dijalankan, berhasil menemukan port (Ditemukan: COM5), dan sedang menunggu data. Di Arduino IDE, ditampilkan sketch dengan nama sketch_dec7a yang berisi definisi dua byte array (Tag A dan Tag B) dan fungsi matchTag untuk membandingkan UID RFID.
Setelah di scan menggunakan kunci menampilkan sebuah video pomf2.lain.la/f/5yweet8z.mp4, yang sesuai dengan salah satu URL target dalam script Python. Isi video yang sedang dimuat memiliki judul: "top 6 scary creatures". Hal ini mengindikasikan bahwa browser dibuka setelah salah satu tag RFID berhasil dipindai dan memicu program Python
Setelah di scan menunjukkan hasil eksekusi program Python setelah pemindaian pertama. Hasilnya adalah:
· Koneksi berhasil ke COM5.
· Pesan: "Mendengarkan data... Siap untuk scan RFID."
· Pesan yang tidak dikenal ("Perintah tidak dikenali.") diikuti dengan pesan: Received: scanned Kartu.
· Perintah diterima! Membuka browser ke: https://pomf2.lain.la/f/5yweet8z.mp4. Ini mengkonfirmasi bahwa pemindaian tag "Kartu" telah berhasil memicu pembukaan browser ke link video.
Setelah discan menggunakan ganci menampilkan sebuah halaman blog berjudul "Al Ilmu (Berbagi Ilmu Opo Wae)" dengan URL bagi2ilmuaditya.blogspot.com. Halaman tersebut berisi laporan praktikum dengan judul "LAPORAN PRAKTIKUM PENGAPLIKASIAN ARDUINO UNO PADA SENSOR PARKIR ALARM MOBIL". Blog ini adalah target URL kedua yang terdaftar di script Python, menunjukkan bahwa tag RFID kedua telah berhasil dipindai dan memicu pembukaan link ini.
Untuk pemindaian kedua hasilnya:
· Setelah membuka browser pertama, program menerima pesan: Received: scanned Ganci.
· Perintah diterima! membuka browser ke: https://bagi2ilmuaditya.blogspot.com/. Ini mengkonfirmasi bahwa pemindaian tag kedua, yaitu "Ganci", berhasil memicu pembukaan browser ke link halaman blog (Foto 4).
BAB IV
PENUTUP
4.1 Kesimpulan
Sistem pengenal identitas menggunakan modul RFID RC522 dan Arduino Uno berhasil dirancang dan diimplementasikan sebagai prototipe identifikasi otomatis yang akurat dan responsif. Melalui pemasangan hardware protokol SPI, pemrograman Arduino untuk pembacaan UID kartu, serta integrasi Python untuk trigger web browser, sistem mampu mendeteksi dan memproses data identitas secara real-time dengan efisiensi tinggi.
Proyek ini membuktikan bahwa kombinasi teknologi RFID frekuensi 13,56 MHz dengan mikrokontroler open-source dapat menjadi solusi praktis untuk aplikasi absensi, kontrol akses, dan pendataan otomatis di lingkungan pendidikan maupun organisasi.
Pengembangan lebih lanjut dapat dilakukan dengan menambahkan database penyimpanan UID, tampilan LCD, atau integrasi IoT untuk monitoring jarak jauh, sehingga meningkatkan skalabilitas dan fungsionalitas sistem secara keseluruhan.
4.2 Saran
Untuk pengembangan sistem pengenal identitas RFID ini, disarankan melakukan beberapa perbaikan berikut agar lebih optimal:
· Tambahkan tampilan LCD 16x2 untuk menampilkan nama pemilik kartu secara real-time, sehingga pengguna mendapat feedback visual langsung.
· Integrasikan modul buzzer atau LED RGB untuk indikasi suara/cahaya (akses diterima/ditolak) guna meningkatkan user experience.
· Simpan database UID dan nama ke kartu SD atau EEPROM Arduino agar sistem bisa mengenali multiple user tanpa koneksi komputer.
· Gunakan relay module untuk aplikasi kontrol akses pintu otomatis saat UID valid terdeteksi.
· Optimasi program dengan watchdog timer dan error handling untuk mencegah hang saat komunikasi RFID terganggu.
· Uji sistem di lingkungan nyata (ruang berisik/berdebu) dan lakukan kalibrasi jarak baca RFID agar stabil hingga 7-10 cm.
Saran ini akan membuat prototipe lebih matang dan siap diaplikasikan di lapangan
DAFTAR PUSTAKA
Arduino Indonesia. (2019). Tutorial Pembacaan RFID Card dan Tag Input RFID-RC522 Menggunakan Arduino Uno R3. Diakses dari https://www.arduinoindonesia.id
Miguel Balboa. (2012). Arduino RFID Library for MFRC522. GitHub repository. Diakses dari https://github.com/miguelbalboa/rfid
MTM Solusindo. (2025). Tutorial Arduino RFID RC522: Cara Membaca & Menulis Data Lengkap. Diakses dari https://mtmsolusindo.com
NXP Semiconductors. (2019). MFRC522 – Standard performance MIFARE and NTAG front-end (Datasheet). Diakses dari https://www.nxp.com
Nyebar Ilmu. (t.t.). Tutorial Arduino Mengakses Module RFID RC522. Diakses dari https://www.nyebarilmu.com
LAMPIRAN
Tidak ada komentar:
Posting Komentar