Skip to content

Rancang Bangun Sistem Peminjaman Buku Menggunakan RFID dengan Enkripsi AES-GCM yang Terintegrasi IoT

  • 5 min read

Sistem peminjaman buku di perpustakaan seringkali memerlukan proses manual yang memakan waktu dan rentan terhadap kesalahan. Salah satu solusi untuk meningkatkan efisiensi dan keamanan adalah dengan mengintegrasikan RFID (Radio Frequency Identification) untuk identifikasi buku dan peminjam, serta AES-GCM (Advanced Encryption Standard Galois/Counter Mode) untuk memastikan keamanan data transaksi peminjaman buku. Selain itu, sistem berbasis IoT (Internet of Things) dapat menghubungkan perangkat keras dan perangkat lunak untuk memonitor dan mengontrol peminjaman buku secara otomatis.

1. Tujuan Sistem

Sistem ini bertujuan untuk:

  • Meningkatkan efisiensi dalam proses peminjaman buku dengan menggunakan RFID untuk identifikasi buku dan pengguna secara otomatis.
  • Menjamin keamanan data transaksi dengan menggunakan enkripsi AES-GCM untuk melindungi informasi sensitif.
  • Mengintegrasikan IoT untuk memantau status buku (apakah sedang dipinjam atau tersedia) dan mengontrol transaksi secara real-time.

2. Komponen Sistem

Sistem ini terdiri dari beberapa komponen utama, baik perangkat keras (hardware) maupun perangkat lunak (software).

2.1 Perangkat Keras (Hardware)

  • Tag RFID: Ditempatkan pada setiap buku dan pada kartu peminjam. Tag ini berisi data unik yang dapat dibaca oleh pembaca RFID.
  • Pembaca RFID: Untuk membaca informasi dari tag RFID buku dan kartu peminjam. Pembaca ini terhubung dengan mikrokontroler atau gateway IoT.
  • Mikrokontroler: Seperti Arduino atau ESP32 untuk menghubungkan pembaca RFID dengan server atau cloud untuk pemrosesan data.
  • Koneksi IoT (Wi-Fi / GSM): Untuk menghubungkan mikrokontroler dengan platform IoT atau server untuk memonitor status peminjaman buku secara online.
  • LCD Display: Untuk menampilkan informasi status buku dan pemberitahuan kepada pengguna, seperti “Buku tersedia” atau “Buku sedang dipinjam”.
  • Sistem Enkripsi (AES-GCM): Digunakan untuk mengenkripsi informasi sensitif (seperti data peminjam dan transaksi peminjaman) agar aman saat dikirim ke server atau cloud.

2.2 Perangkat Lunak (Software)

  • Platform IoT: Seperti ThingSpeak, Blynk, atau Google Firebase untuk menghubungkan dan memonitor data transaksi peminjaman buku.
  • Aplikasi Mobile/Web: Untuk pengguna dan petugas perpustakaan, agar dapat memantau status peminjaman buku, meminjam buku secara digital, dan mengelola koleksi buku.
  • Database Server: Untuk menyimpan data buku, pengguna, dan transaksi peminjaman yang terenkripsi menggunakan AES-GCM.
  • Algoritma Enkripsi: AES-GCM akan digunakan untuk mengenkripsi data peminjam dan transaksi sebelum disimpan di database atau dikirim melalui jaringan.

3. Diagram Sistem

  1. RFID Tag: Setiap buku dan kartu peminjam dilengkapi dengan tag RFID yang mengandung ID unik.
  2. Pembaca RFID: Ketika peminjam membawa kartu RFID dan buku ke pembaca, pembaca akan membaca ID RFID dari buku dan peminjam.
  3. Mikrokontroler dan Enkripsi AES-GCM: Mikrokontroler akan mengumpulkan data ID RFID dan mengenkripsi informasi tersebut menggunakan AES-GCM sebelum mengirimkannya ke server atau platform IoT.
  4. Platform IoT: Mengelola transaksi peminjaman secara online dan menampilkan status buku di aplikasi pengguna.
  5. Database: Menyimpan informasi tentang peminjaman buku, termasuk data peminjam dan buku yang dipinjam, dengan menggunakan enkripsi untuk menjaga kerahasiaan data.

4. Langkah-Langkah Pengembangan Sistem

4.1 Desain Hardware

  1. Pemilihan RFID Tag dan Pembaca: Pilih jenis tag RFID yang sesuai (misalnya, 13.56 MHz HF RFID) dan pembaca RFID yang mendukung komunikasi dengan mikrokontroler seperti Arduino atau ESP32.
  2. Mikrokontroler: Gunakan mikrokontroler seperti ESP32 yang mendukung Wi-Fi untuk komunikasi dengan server cloud atau platform IoT.
  3. Koneksi IoT: Gunakan modul Wi-Fi atau GSM untuk menghubungkan sistem ke jaringan dan memungkinkan pemantauan transaksi secara real-time.
  4. LCD Display: Display untuk memberi informasi kepada pengguna seperti status peminjaman buku (misalnya, buku yang tersedia atau sedang dipinjam).

4.2 Desain Sistem IoT dan Database

  1. Platform IoT: Pilih platform seperti ThingSpeak, Blynk, atau Google Firebase untuk menyimpan dan mengelola data transaksi peminjaman buku secara online.
  2. Pengolahan Data dan Enkripsi AES-GCM: Di dalam mikrokontroler, implementasikan algoritma AES-GCM untuk mengenkripsi data transaksi sebelum dikirim ke server atau platform IoT.Contoh kode untuk enkripsi AES-GCM menggunakan Python (dengan pustaka PyCryptodome):pythonSalin kodefrom Crypto.Cipher import AES from Crypto.Random import get_random_bytes from Crypto.Util.Padding import pad from Crypto.Protocol.KDF import scrypt import base64 # Fungsi untuk mengenkripsi data menggunakan AES-GCM def encrypt_data(data, key): cipher = AES.new(key, AES.MODE_GCM) ciphertext, tag = cipher.encrypt_and_digest(pad(data.encode(), AES.block_size)) return base64.b64encode(cipher.nonce + tag + ciphertext).decode('utf-8') # Key enkripsi (dapat menggunakan password atau kunci unik) key = get_random_bytes(16) # Contoh data yang akan dienkripsi (misalnya data peminjaman buku) data = "ID_Buku:12345;ID_Peminjam:67890;Tanggal:2024-11-07" encrypted_data = encrypt_data(data, key) print("Encrypted Data:", encrypted_data)
  3. Database: Gunakan MySQL, MongoDB, atau Google Firebase untuk menyimpan data yang terenkripsi. Pastikan setiap transaksi yang dilakukan, seperti peminjaman buku, disertai dengan informasi tanggal, ID buku, ID peminjam, dan status peminjaman.

4.3 Pengembangan Aplikasi Mobile/Web

  1. Aplikasi Pengguna: Pengguna dapat mengakses aplikasi untuk melihat status buku yang tersedia, meminjam buku, dan melihat riwayat peminjaman.
  2. Aplikasi Petugas Perpustakaan: Petugas dapat mengelola koleksi buku, mengatur jadwal peminjaman, dan memonitor peminjaman buku secara real-time.

4.4 Pengujian dan Pengoptimalan

  1. Pengujian RFID: Uji sistem RFID untuk memastikan pembaca dapat membaca tag RFID buku dan kartu peminjam dengan akurat.
  2. Pengujian Enkripsi: Pastikan data yang dienkripsi menggunakan AES-GCM dapat di-dekripsi dengan aman hanya oleh pihak yang berwenang.
  3. Pengujian IoT dan Aplikasi: Pastikan aplikasi web dan mobile dapat mengakses dan menampilkan data secara real-time, serta platform IoT berfungsi untuk mengontrol transaksi peminjaman buku.

5. Fitur Utama Sistem

  • Peminjaman Buku Otomatis: Pengguna dapat meminjam buku dengan menempelkan kartu RFID dan buku ke pembaca RFID.
  • Keamanan Data: Semua data transaksi peminjaman buku dienkripsi menggunakan AES-GCM sebelum dikirim ke server atau platform IoT untuk menjaga kerahasiaan informasi.
  • Pemberitahuan Real-time: Pengguna dan petugas mendapatkan notifikasi terkait status peminjaman, seperti buku yang telah dipinjam atau tersedia.
  • Monitoring Transaksi: Petugas perpustakaan dapat memonitor transaksi peminjaman buku secara online.
  • Database Terenkripsi: Semua informasi yang disimpan dalam database dienkripsi untuk melindungi data sensitif pengguna.

6. Keuntungan Sistem

  • Keamanan Data: AES-GCM memberikan perlindungan yang kuat terhadap data sensitif selama transmisi.
  • Efisiensi Peminjaman: Proses peminjaman buku menjadi lebih cepat dan efisien dengan sistem RFID.
  • Pemantauan Real-time: Menggunakan platform IoT, transaksi dapat dipantau secara online.
  • Pengelolaan Buku yang Lebih Baik: Perpustakaan dapat dengan mudah melacak status buku dan meminimalkan kemungkinan kehilangan buku.

7. Tantangan dan Pertimbangan

  • Ketersediaan Infrastruktur: Diperlukan infrastruktur IoT dan konektivitas internet yang stabil untuk mendukung sistem ini.
  • Keamanan Enkripsi: Proses enkripsi harus diimplementasikan dengan benar untuk menghindari kebocoran data.
  • Kompatibilitas RFID: Sistem RFID harus dapat kompatibel dengan berbagai tag dan pembaca RFID untuk memastikan fleksibilitas.