## PENERAPAN SISTEM RFID PADA TEMPAT PARKIR MOTOR PERUSAHAAN FORMULATRIX SALATIGA PENERAPAN SISTEM RFID PADA TEMPAT PARKIR MOTOR PERUSAHAAN FORMULATRIX SALATIGA
Theodore Noveiota, Adi Nugroho Teknik Informatika, Universitas Kristen Satya Wacana Jl. Diponegoro No.52-60 Salatiga, Indonesia theodorenoveiota01@gmail.com

## ABSTRAK
Saat  ini,  sistem  parkir  di  perusahaan  Formulatrix  masih  menggunakan  metode  kartu  ID  yang  umum digunakan. Dalam  sistem  ini,  jika seorang karyawan  lupa  membawa kartu ID, mereka  masih dapat  mengakses parkiran dengan meminjam kartu ID dari karyawan lain. Namun, hal ini menyebabkan risiko keamanan terhadap kendaraan karyawan, seperti risiko kehilangan atau pencurian oleh orang yang tidak memiliki otoritas atau akses yang sah. Penelitian yang dilakukan menggunakan sistem RFID untuk mencegah akses yang tidak sah tersebut. Metode  penelitian  yang  digunakan  adalah  metode  Pengembangan  Sistem  atau  Aplikasi  yang  meliputi  analisis kebutuhan, perancangan,  implementasi, pengujian, dan evaluasi. Setiap karyawan  harus  membawa kartu RFID untuk mengakses parkiran, karena sistem ini memastikan kartu hanya dapat digunakan sekali untuk masuk dan keluar. Hasil penelitian menunjukkan bahwa solusi sistem RFID yang digunakan dapat meningkatkan keamanan parkiran dan kendaraan karyawan, memberikan perlindungan yang lebih baik terhadap aset perusahaan.
Kata kunci: Sistem Parkir, Keamanan, RFID, Kendaraan Karyawan, Aset Perusahaan

## 1. PENDAHULUAN
Sistem parkir pintu palang yang digunakan oleh Parkiran Formulatrix sebelumnya memiliki kelemahan yang  dapat  mengancam  keamanan  motor  milik karyawan. Dalam sistem yang lama, karyawan hanya perlu menggunakan kartu ID mereka untuk membuka pintu  palang  dan  mengeluarkan  kendaraan  mereka. Namun,  masalah  muncul  ketika  seorang  karyawan lupa membawa kartu ID mereka. Karyawan tetap dapat membuka pintu palang dengan menggunakan kartu ID orang  lain,  yang  berpotensi  menimbulkan  ancaman terhadap  keamanan  motor  di  dalam  parkiran.  Hal  ini memberikan  celah  bagi  karyawan  lain  untuk mengakses  parkiran  tanpa  otorisasi  yang  tepat  dan memungkinkan mereka untuk masuk dan keluar kapan pun  mereka  mau,  tanpa  ada  kontrol  yang  memadai. Implikasinya  adalah  adanya  risiko  pencurian  atau kehilangan motor yang lebih tinggi karena akses yang tidak terbatas.
Dalam  menghadapi  permasalahan  ini,  peneliti telah  melakukan  penelitian  dan  mengembangkan  ide yang  berpotensi  menjadi  solusi  yang  efektif.  Solusi yang  diajukan  adalah  menggunakan  teknologi  RFID (Radio-Frequency Identification) dalam sistem parkir. Dengan  menggunakan  RFID,  setiap  kartu  ID  akan terhubung dengan satu motor secara unik.
Ide tersebut mencakup beberapa fitur kunci untuk meningkatkan  keamanan  sistem  parkir.  Pertama, setiap  kartu  ID  hanya  dapat  digunakan  untuk  satu motor, sehingga menghilangkan kemungkinan penggunaan  kartu  ID  oleh  karyawan  lain  untuk membuka  pintu  palang  parkiran.  Kedua,  kartu  ID hanya dapat melakukan tap-in jika sudah ada rekaman tap-out sebelumnya, dan sebaliknya, kartu hanya dapat melakukan tap-out jika telah tercatat  tap-in sebelumnya.  Hal  ini  memastikan  bahwa  setiap
kendaraan hanya dapat keluar dari parkiran jika telah masuk sebelumnya, mencegah akses yang tidak sah.
Pada latar belakang penelitian terdahulu, peneliti lain  juga  telah  melakukan  studi  yang  relevan  dengan masalah yang dihadapi. Namun, perluasan menggunakan  teknologi  RFID  dalam  sistem  parkir pintu  palang  ini  merupakan  kontribusi  baru  yang signifikan  dalam  meningkatkan  keamanan  parkiran. Penelitian sebelumnya mungkin telah mengeksplorasi solusi alternatif atau masalah serupa, tetapi penggunaan  RFID  sebagai  solusi  potensial  untuk masalah  keamanan  parkiran  motor  ini  masih  sangat relevan dan inovatif.
Dengan demikian, penelitian ini bertujuan untuk menyajikan  solusi  yang  dapat  mengatasi  masalah keamanan dalam sistem parkir pintu palang yang  ada di Parkiran Formulatrix dengan mengimplementasikan teknologi RFID. Diharapkan bahwa penelitian ini akan memberikan  kontribusi  penting  dalam  meningkatkan keamanan  parkiran  dan  melindungi  motor  milik karyawan  dari  potensi  pencurian  atau  kerugian lainnya.

## 2. TINJAUAN PUSTAKA
2.1. RFID (Radio Frequency Identification)
RFID  (Radio  Frequency  Identification)  adalah suatu teknologi yang memanfaatkan gelombang radio untuk  mengidentifikasi,  melacak,  dan  memantau objek-objek secara otomatis [1]. RFID terdiri dari tiga komponen  utama:  tag  RFID,  pembaca  RFID,  dan sistem backend.
RFID      Radio  Frequency      Identification merupakan  sebuah  teknologi  yang  menggunakan metoda auto-ID atau Automatic Identification.  Auto- ID  adalah  metode  pengambilan      data      dengan
identifikasi      objek      secara  otomatis      tanpa      ada keterlibatan   manusia [2].
Terdapat banyak keunggulan teknologi Identifikasi  Frekuensi  Radio  (RFID)  dibandingkan dengan  sistem  identifikasi  tradisional.  Salah  satu jurnal  yang  memberikan  gambaran  luas  tentang keuntungan  ini  adalah  "RFID  Technology  and  Its Applications in Internet of Things (IoT)" yang ditulis oleh  T.  Zia  dan  diterbitkan  di  jurnal  "Sensors"  pada tahun  2019  [3].  Berikut  adalah  beberapa  keuntungan utama  dari  teknologi  RFID  yang  dijelaskan  dalam jurnal tersebut:
 Identifikasi otomatis: RFID memungkinkan identifikasi otomatis dan nonkontak dari objek atau produk dengan menggunakan sinyal radio. Hal ini dapat  mempercepat  proses  identifikasi  dan meminimalkan  kesalahan  manusia  dalam  proses tersebut.
 Efisiensi  operasional:  Dalam  berbagai  aplikasi, seperti rantai pasokan dan manufaktur, RFID dapat meningkatkan efisiensi operasional secara keseluruhan. RFID memungkinkan pelacakan real- time  terhadap  barang,  inventaris,  dan  aset,  yang memungkinkan pengelolaan stok yang  lebih  baik, pengurangan  waktu  penghitungan  stok,  dan pengurangan kehilangan atau pencurian barang.
 Peningkatan  visibilitas:  Teknologi  RFID  dapat memberikan  visibilitas  yang  lebih  baik  terhadap barang  atau  produk  di  seluruh  rantai  pasokan. Dengan  adanya  RFID,  pengguna  dapat  melacak dan  memonitor  pergerakan  barang  dengan  akurat dan  real-time,  mengurangi  kehilangan  atau hilangnya  barang,  dan  meningkatkan  transparansi dalam proses bisnis.
 Pengurangan  biaya:  RFID  dapat  membantu mengurangi biaya dalam berbagai aspek operasional.  Contohnya,  dengan  mengurangi waktu  yang  diperlukan  untuk  mencari  dan menghitung  stok,  RFID  dapat  menghemat  biaya tenaga  kerja.  Selain  itu,  RFID  juga  dapat membantu  mencegah  kehilangan  atau  pencurian barang, yang dapat mengurangi kerugian finansial.
 Peningkatan  pengalaman  pelanggan:  RFID  dapat digunakan  untuk  meningkatkan  pengalaman pelanggan melalui aplikasi seperti sistem pembayaran nirkontak dan pelacakan produk yang akurat.  Misalnya,  dengan  menggunakan  RFID pada  kartu  pembayaran  atau  perangkat  yang terintegrasi  dengan  RFID,  pelanggan  dapat melakukan pembayaran dengan cepat dan mudah.
RFID  telah  banyak  diterapkan  dalam  berbagai industri,  termasuk  logistik,  transportasi,  perbankan, perawatan  kesehatan,  perhotelan,  dan  perdagangan eceran.  Teknologi  ini  terus  berkembang  dan memberikan  berbagai  manfaat  dalam  efisiensi operasional, pengurangan kesalahan manusia, peningkatan visibilitas, dan penghematan biaya.

## 2.2. Tag RFID
Sistem   RFID    membawa   data   transponder yang  sesuai,  umumnya  dikenal  sebagai  tag,  dan
mengambil data, dengan mesin yang bisa membacakan arti, pada   waktu   dan   tempat yang   sesuai   untuk memenuhi   kebutuhan aplikasi    tertentu [4].
Tag  RFID  (Radio  Frequency  Identification) adalah perangkat elektronik kecil yang menggunakan teknologi  nirkabel  untuk  mengidentifikasi  dan melacak  objek  secara  otomatis  [5].  Tag  RFID terdiri dari sebuah mikrochip yang menyimpan informasi dan sebuah  antena  yang  digunakan  untuk  berkomunikasi dengan  pembaca  RFID.  Tag  RFID  dapat  digunakan dalam  berbagai  aplikasi,  seperti  manajemen  rantai pasokan, pengendalian inventaris, pengendalian akses, pengelolaan  aset,  dan  banyak  lagi.  Mereka  sering digunakan  sebagai  pengganti  barcode  tradisional karena dapat membaca tag dari  jarak  yang lebih  jauh dan tidak memerlukan kontak langsung.

## 2.3. Pembaca RFID (RFID Reader)
Pembaca RFID adalah perangkat yang digunakan untuk  membaca  dan  mengirimkan  perintah  ke  tag RFID [6]. Pembaca ini menggunakan gelombang radio untuk  berkomunikasi  dengan  tag  dan  mengirimkan data  yang  terkandung  dalam  tag  ke  sistem  backend. Sistem  backend  merupakan  infrastruktur  komputer yang  mengelola  dan  menginterpretasikan  data  yang diterima dari pembaca RFID. Data yang dikumpulkan melalui  RFID  dapat  diintegrasikan  dengan  sistem manajemen informasi yang lebih besar, seperti sistem manajemen  inventaris,  sistem  logistik,  atau  sistem manajemen rantai pasok.
RFID reader merupakan alat pembaca RFID tag yang berkomunikasi dengan tag card secara wireless, adadua   macam   RFID reader yaitu reader pasif   dan reader aktif.   RFID   pasif   memiliki   sistem   pembaca pasif  yang  hanya  menerima  sinyal  radio  dari  RFID tagaktif,  sedangkan  reader  aktif      memiliki      sistem pembaca  yang  memikirkan  sinyal  interrogator  ke tag dan  menerima  balasan  autentikasi  dari  tag.  Sinyal interrogator  ini  juga  menginduksi  tag  dan  akhirnya menjadi sinyal DC yang menjadi sumber daya tag pasif [7].
Pada latar belakang penelitian terdahulu, peneliti lain  juga  telah  melakukan  studi  yang  relevan  dengan masalah yang dihadapi. Namun, perluasan menggunakan  teknologi  RFID  dalam  sistem  parkir pintu  palang  ini  merupakan  kontribusi  baru  yang signifikan  dalam  meningkatkan  keamanan  parkiran. Penelitian sebelumnya mungkin telah mengeksplorasi solusi alternatif atau masalah serupa, tetapi penggunaan  RFID  sebagai  solusi  potensial  untuk masalah  keamanan  parkiran  motor  ini  masih  sangat relevan dan inovatif.
Dengan demikian, penelitian ini bertujuan untuk menyajikan  solusi  yang  dapat  mengatasi  masalah keamanan dalam sistem parkir pintu palang yang ada di Parkiran Formulatrix dengan mengimplementasikan teknologi RFID. Diharapkan bahwa penelitian ini akan memberikan  kontribusi  penting  dalam  meningkatkan keamanan  parkiran  dan  melindungi  motor  milik karyawan  dari  potensi  pencurian  atau  kerugian lainnya.

## 3. METODE PENELITIAN
Penelitian  ini  menggunakan  metode  Waterfall. Menurut  Pressman,  model  waterfall  adalah  model klasik  yang  bersifat  sistematis  berurutan  dalam membangun software [8]. Nama model ini sebenarnya adalah  “Linear  Sequential  Model”.  Model  ini  sering disebut  juga  dengan  “classic  life  cycle”  atau  metode waterfall. Model ini termasuk ke dalam model generic pada  rekayasa  perangkat  lunak  dan  pertama  kali diperkenalkan oleh Winston Royce sekitar tahun 1970 sehingga  sering  dianggap  kuno,  tetapi  merupakan model  yang  paling  banyak  dipakai  dalam  Software Engineering  (SE).  Model  ini  melakukan  pendekatan secara  sistematis  dan  berurutan.  Disebut  dengan waterfall  karena  tahap  demi  tahap  yang  dilalui  harus menunggu  selesainya  tahap  sebelumnya  dan  berjalan berurutan.
Menurut  Sholikhah,  Sairan,  dan  Syamsiah, menjelaskan  bahwa,  “Waterfall  merupakan  model klasik  yang  memiliki  sifat  berurut  dalam  merancang software”  [9].  Metode  waterfall  adalah  hal  yang menggambarkan  pendekatan  secara  sistematis  dan juga  berurutan  (step  by  step)  pada  sebuah pengembangan  perangkat  lunak.  Tahapan  dengan spesifikasi kebutuhan pengguna lalu berlanjut melalui tahapan-tahapan perencanaan yaitu planning, permodelan, konstruksi, sebuah system dan penyerahan  sistem  kepara  pengguna,  dukungan  pada perangkat lunak lengkap yang dihasilkan [10].
Penelitian  ini  melibatkan  serangkaian  tahapan yang  mencakup  analisis  sistem,  perancangan  sistem, pembuatan  aplikasi,  dan  evaluasi  sistem.  Tahap pertama  adalah  analisis  sistem  yang  bertujuan  untuk mengidentifikasi  dan  menentukan  alur  kerja  sistem RFID  yang akan dikembangkan. Setelah pemahaman yang  lebih  mendalam  melalui  penelitian,  tahap selanjutnya  adalah  perancangan  sistem,  di  mana gambaran yang jelas tentang fungsi dan struktur sistem dihasilkan. Setelah proses perancangan selesai, tahap berikutnya  adalah  pembuatan  aplikasi,  di  mana aplikasi tersebut dikembangkan berdasarkan rancangan  yang  telah  dibuat  sebelumnya.  Sebelum aplikasi dirilis dan diimplementasikan pada perangkat yang  akan  digunakan,  tahap  evaluasi  dilakukan melalui  uji  coba.  Evaluasi  ini  bertujuan  untuk memastikan  bahwa  aplikasi  telah  mencapai  tingkat kesiapan teknologi yang diharapkan sebelum digunakan secara luas.

## 3.1. Alur kerja sistem RFID
Berikut  adalah  penjelasan  mengenai  alur  kerja sistem RFID yang ditampilkan pada Diagram 1 :
1. Alur  dimulai  dengan  "Start"  ketika  sistem  siap untuk membaca kartu.
2. Saat kartu dimasukkan ke dalam pembaca, langkah "Card Inserted" dijalankan.
3. Sistem memeriksa apakah kartu yang dimasukkan valid atau tidak.
 Jika kartu valid, sistem melanjutkan ke langkah `"Card is Valid".
 Jika  kartu  tidak  valid,  sistem  melanjutkan  ke langkah "Card is Invalid".
Gambar 1. Alur Sistem RFID
4. Pada  langkah  "Card  is  Valid",  sistem  memeriksa apakah pengguna dengan kartu tersebut ada dalam database.
 Jika  pengguna  ditemukan  dalam  database, sistem  membuka  pintu  palang  dan  menunggu selama 5 detik sebelum menutup laci kembali. Selain  itu,  sistem  juga  memperbarui  log  di database dengan status valid.
 Jika pengguna tidak ditemukan dalam database, sistem  tidak  membuka  pintu  palang  dan memberi peringatan bahwa kartu tersebut tidak valid.
 Jika kartu tersebut telah digunakan sebelumnya,  sistem  mencetak  pesan  bahwa kartu tersebut sudah digunakan sebelumnya.
5. Setelah  langkah  "Card  is  Valid"  selesai,  sistem melanjutkan  ke  langkah  "Open  the  Latch"  untuk membuka pintu palang.
6. Setelah  membuka pintu palang, sistem  menunggu selama 5 detik di langkah "Wait for 5s".
7. Setelah waktu tunggu selesai,  sistem  melanjutkan ke langkah "Close the Latch" untuk menutup pintu palang.
8. Setelah  menutup  pintu  palang,  langkah  "Card Removed" dijalankan ketika kartu dikeluarkan dari pembaca.
9. Pada langkah "Card Removed", sistem melakukan pembaruan  terakhir  pada  log  di  database,  jika diperlukan.
10. Akhirnya,  alur  kerja  sistem  RFID  selesai  dan mencapai titik "End".
Diagram  alur  kerja  ini  memberikan  gambaran mengenai urutan  langkah-langkah  yang terjadi dalam sistem.  Hal  ini  mencakup  validasi  kartu,  akses  ke database  untuk  memeriksa  pengguna,  kontrol  pintu palang,  dan  pembaruan  database.  Diagram  ini membantu  memvisualisasikan  bagaimana  alur  kerja sistem  berjalan  dan  bagaimana  setiap  langkah  saling terkait dalam urutan yang ditentukan.

## 3.2. Mempersiapkan Mysql dan PHP Server
Berikut  adalah  langkah  –  langkah  untuk mempersiapkan  Mysql  dan  PHP  Server  untuk Raspberry Pi :
 sudo apt update
 sudo apt install mariadb-server
 sudo mysql_secure_installation:
Press enter to continue (no password by default).
a. Press  “Y”  to  switch  to  unix_socket authentication.
b. Then type “Y” to set a new password, and enter the password of your choice.
c. Now, press “Y” three more times to:
d. Remove anonymous users.
e. Disallow root login remotely.
f. Remove the test database.
g. press “Y” again to reload the privileges.
 sudo mysql -uroot -p
a. SHOW DATABASES;
b. USE <database>;
c. SELECT * FROM <table>;
d. UPDATE, INSERT, DELETE, …
 RESTART  mariadb:  sudo  systemctl  restart mariadb
a. Create a new user on MariaDB
b. Connect to the MySQL command line:
c. sudo mysql -uroot -p
d. Create a new database:
e. CREATE DATABASE <dbname>;
f. Create the new user:
g. CREATE  USER  "<username>@localhost" IDENTIFIED BY "<password>";
h. Then, allow this new user to do anything on the database we just created:
i. GRANT ALL PRIVILEGES ON <dbname>.* TO '<username>'@'localhost';
j. Finally, reload the permissions with:
k. FLUSH PRIVILEGES;
l. MariaDB [(none)]> GRANT ALL PRIVILEGES on . TO 'root'@'%' m. IDENTIFIED BY '<yourpasswordhere>';
n. Query OK, 0 rows affected (0.001 sec)
o. MariaDB [(none)]> FLUSH PRIVILEGES;
p. GRANT  ALL  PRIVILEGES  ON  .  TO 'username'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;
3.3. Mempersiapkan PHPMyAdmin Berikut adalah langkah–langkah
mempersiapkan PHPMyAdmin:
 sudo apt-get install php libapache2-mod-php -y
 sudo apt install php-mysql
 sudo service apache2 restart
 sudo apt install phpmyadmin -y:
a. Prompt:  Select  Apache2  when  prompted  and press the Enter key
b. Configuring phpmyadmin? OK
c. Configure  database  for  phpmyadmin  with dbconfig-common? Yes
d. Type your password and press OK
 sudo phpenmod mysqli
 sudo service apache2 restart
$ sudo a2enmod rewrite $ sudo systemctl restart apache2 $ sudo chown -R pi:www-data /var/www/html/ $ sudo chmod -R 770 /var/www/html/ $ sudo nano /etc/apache2/apache2.conf <Directory /var/www/> Options Indexes FollowSymLinks AllowOverride None Require all granted </Directory> Change <Directory /var/www/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory>
 FOR PYTHON
a. sudo pip3 install mysql-connector-python
b. pip3 install mysql-connector-python==8.0.29 - > versi menyesuaikan
c. sudo pip install mysql-connector-python

## 3.4. Membuat Database
Setelah  mempersiapkan  Mysql,  server,  dan PHPMYADMIN, selanjutnya mempersiapkan database yang akan digunakan.
Gambar 2. Database
Di  dalam  database  terdapat  log  dan  user  yang dimana  log  menjadi  tempat  menampung  informasi berupa  ID  Kartu,  serta  Jam  dan  Tanggal  masuk karyawan tersebut ke dalam tempat parkir. Sementara pada  user  berisi  informasi  berupa  Nama  Karyawan serta ID Kartu.
Gambar 3. Tabel Log Gambar 4. Tabel User

## 3.5. Bahasa Permrograman
Gambar 5. Bahasa Pemrograman Python
Gambar  5  merupakan  gambar  dari  bahasa pemrograman  Pyhton  untuk  masuk  ke  dalam  tempat parkir.
import RPi.GPIO as GPIO import time import rdm6300 import mysql.connector
# Disable warnings about channels already in use GPIO.setwarnings(False)
# Set up the GPIO pin once, outside of the open_latch() and close_latch() functions GPIO.setmode(GPIO.BCM) GPIO.setup(18, GPIO.OUT) class Reader(rdm6300.BaseReader): validated_cards = set() def card_inserted(self, card): print("Reading card...") if card.is_valid: rfid = "00" + str(card.value) if rfid not in Reader.validated_cards: Reader.validated_cards.add(rfid) is_valid = validate(rfid) if is_valid: open_latch() time.sleep(5) close_latch() else: print("You already inserted the card once") def card_removed(self, card): print(f"Card removed") def invalid_card(self, card):
print(f"Invalid card") def validate(rfid): print("Card insert : ", rfid) try: conn = mysql.connector.connect( host="localhost", user="root", password="x12345", database="rfid_validation" ) cursor = conn.cursor() cursor.execute("SELECT id FROM user WHERE rfid=%s", (rfid,)) row = cursor.fetchone()
if row: user_id = row[0] print("User exists with ID:", user_id) cursor.execute("INSERT INTO log (user_id, rfid, is_valid) VALUES(%s, %s, %s)", (user_id, rfid, True)) conn.commit() return True else:
print("User does not exist") cursor.execute("INSERT INTO log (rfid, is_valid) VALUES(%s, %s)", (rfid, False)) conn.commit() return False except mysql.connector.Error as error: print("Failed to update record to database rollback: {}".format(error))
conn.rollback()
finally: cursor.close() conn.close() print("Connection closed")
def open_latch(): GPIO.output(18, GPIO.HIGH) print("Openning Gate")
def close_latch(): GPIO.output(18, GPIO.LOW) print("Closing Gate") read = Reader('/dev/ttyS0') time.sleep(1) card = read.start()
def validate(rfid): print("Card insert : ", rfid) try: conn = mysql.connector.connect( host="localhost", user="root", password="x12345", database="rfid_validation" ) cursor = conn.cursor()
Gambar 6. Bahasa Pemrograman Python
Gambar 6 menunjukkan bagian yang dimodifikasi  fungsinya  pada  bagian  validate()  serta penambahan  fungsi  ‘validated_cards’  oleh  peneliti untuk disesuaikan dengan alur keluar tempat parkir.

## 3.6. Penjelasan Kode
Pada  Gambar  8  adalah  kode  Python  yang menggunakan  beberapa  modul  seperti  RPi.GPIO, time, rdm6300, dan mysql.connector untuk membaca kartu  RFID,  memvalidasi  kartu  melalui  database MySQL,  dan  membuka  dan  menutup  gerbang menggunakan pin GPIO pada Raspberry Pi.
Pertama-tama,  program  menginisialisasi  pin GPIO dan mendefinisikan kelas Reader yang mewarisi rdm6300.BaseReader.  Kelas  Reader  memiliki  tiga metode: card_inserted, card_removed, dan invalid_card.  Metode  card_inserted  dipanggil  ketika kartu  RFID  dimasukkan  ke  pembaca,  metode card_removed dipanggil ketika kartu RFID dikeluarkan, dan metode invalid_card dipanggil ketika kartu RFID tidak valid.
Dalam metode card_inserted, program membaca nomor  RFID  dari  kartu  dan  memvalidasi  nomor tersebut  menggunakan  fungsi  validate.  Jika  nomor tersebut belum pernah divalidasi sebelumnya, program memasukkannya  ke  dalam  set  validated_cards  dan mencoba  memvalidasi  nomor  tersebut  dengan database  MySQL  menggunakan  fungsi  validate.  Jika nomor  tersebut  valid,  program  membuka  gerbang selama  5  detik  menggunakan  fungsi  open_latch  dan
kemudian  menutup  gerbang  menggunakan  fungsi close_latch. Jika nomor tersebut tidak valid, program mencatat  nomor  tersebut  di  dalam  database  MySQL sebagai  tidak  valid.  Jika  nomor  tersebut  telah divalidasi  sebelumnya,  program  hanya  mencetak pesan "You already inserted the card once".
Fungsi  validate  membuka  koneksi  ke  database MySQL dan  mengecek apakah nomor RFID tersebut terdaftar  pada tabel  user.  Jika  nomor  RFID terdaftar, program mencari nomor tersebut pada tabel log untuk memastikan  apakah  nomor  tersebut  sudah  pernah divalidasi.  Jika  nomor  tersebut  sudah  divalidasi, program menghapus nomor tersebut dari tabel log dan mengembalikan nilai True. Jika nomor tersebut belum divalidasi, program mencetak pesan "RFID found but not  validated"  dan  mengembalikan  nilai  False.  Jika nomor RFID tidak terdaftar pada tabel user, program mencetak  pesan  "User  does  not  exist"  dan  mencatat nomor tersebut di dalam tabel log sebagai tidak valid. Jika  terjadi  kesalahan  saat  terhubung  ke  database MySQL,  program  mencetak  pesan  kesalahan  dan melakukan  rollback  pada  koneksi.  Fungsi  ini  selalu menutup  koneksi  database  dan  mencetak  pesan "Connection closed".
Fungsi  open_latch  dan  close_latch  masing- masing  mengatur  pin  GPIO  18  menjadi  HIGH  dan LOW  untuk  membuka  dan  menutup  gerbang  dan mencetak pesan yang sesuai.
Program  utama  menginisialisasi  objek  Reader menggunakan  port  serial  /dev/ttyS0  dan  memulai pembacaan  kartu  RFID  menggunakan  metode  start dari objek Reader. Program akan terus membaca kartu RFID dan  memvalidasi  nomor RFID tersebut selama program dijalankan.
Lalu  pada  Gambar  2  terdapat  beberapa modifikasi  pada  bahasa  pemrograman.  Untuk mengimplementasikan fungsionalitas untuk membuka pintu  gerbang  dan  keluar  dari  tempat  parkir,  peneliti memodifikasi  fungsi  validasi()  untuk  memeriksa apakah  kolom  is_valid  dalam  tabel  log  bernilai  True untuk rfid yang disediakan. Jika kolom is_valid adalah True,  maka  fungsi  tersebut  dapat  menghapus  record yang  sesuai  dari  tabel  log  dan  mengembalikan  True. Jika tidak, fungsi tersebut dapat mengembalikan False. Kemudian,  dalam  metode  card_inserted()  ,  peneliti memodifikasi kode yang membuka dan menutup latch agar hanya dijalankan jika validasi (rfid) mengembalikan  nilai  True.  Jika  sistem  mendeteksi bahwa  kartu  yang  digunakan  itu  telah  tervalidasi pernah  masuk  ke  dalam  tempat  parkir  sebelumnya, maka  pintu  gerbang/palang  parkir  dapat  terbuka  dan data dalam  log  yang  memiliki  nilai  RFID  yang sama akan  dihapus  untuk  menandakan  kartu  tersebut  telah keluar  dari  tempat  parkir.  Namun  jika  sistem mendeteksi  bahwa  kartu  yang  digunakan  itu  telah tervalidasi  pernah  masuk  ke  dalam  tempat  parkir sebelumnya, maka pintu gerbang tidak akan terbuka.
cursor.execute("SELECT id FROM user WHERE rfid=%s", (rfid,)) row = cursor.fetchone()
if row: user_id = row[0] print("User exists with ID:", user_id) cursor.execute("SELECT is_valid FROM log WHERE rfid=%s", (rfid,)) row = cursor.fetchone() if row and row[0]: cursor.execute("DELETE FROM log WHERE rfid=%s", (rfid,)) conn.commit()
return True else: print("RFID found but not validated") return False else: print("User does not exist") cursor.execute("INSERT INTO log (rfid, is_valid)
VALUES(%s, %s)", (rfid, False))
conn.commit() return False
except mysql.connector.Error as error: print("Failed to update record to database rollback: {}".format(error)) conn.rollback()
4. HASIL DAN PEMBAHASAN
4.1. Masuk Tempat Parkir
 Sebelum di tap (Kondisi Database)
Gambar 7. Database sebelum di tap
Seperti  yang  terlihat  pada  Gambar  7,  database sebelum di tap dalam kondisi kosong.
 Saat di tap (Kondisi sistem)
Gambar 8. Kondisi Sistem
Sesaat setelah di tap, sistem akan membaca kartu dan  menampilkan  ID  yang  tertera  pada  kartu.  Lalu proses koneksi selesai, palang terbuka.
Gambar 9. Kondisi Sistem
Setelah  beberapa  detik  palang  akan  kembali menutup dan koneksi kartu terputus.

##  Setelah di tap (Kondisi database)

## Gambar 10. Database Setelah tap
Pada  Gambar  10  merupakan  kondisi  Database setelah  sistem  selesai.  Disini  tertera  ID  RFID  (ID Karyawan),  urutan  ID  kartu  (kartu  ID  ke  112  yang masuk  tempat  parkir),  serta  tanggal  dan  jam  masuk kartu / karyawan tersebut.
 Jika Mencoba tap Ke Dua kali
Gambar 11. Percobaan tap kedua
Jika  user  /  karyawan  mencoba  untuk  tap  ke  2 kalinya  maka  sistem  akan  menolak  kartu  tersebut karena  sudah  pernah  digunakan  setidaknya  sekali untuk tap in / masuk ke dalam parkiran. Maka muncul notifikasi dan Pintu palang tidak akan terbuka.

##  Jika Kartu Tidak Terdaftar
Gambar 12. Kartu Tidak Terdaftar
Jika  kartu  tidak  terdaftar,  maka  sistem  akan menunjukkan  peringatan  “User  does  not  exist”.  Dan pintu palang tidak akan terbuka.
4.2. Keluar Tempat Parkir
 Sebelum di tap (Kondisi Database Terisi)

## Gambar 12. Database Sebelum Tap
Seperti  yang  terlihat  pada  Gambar  12,  database sebelum  di  tap  dalam  kondisi  berisi  data  yang  telah diinput saat percobaan masuk tempat parkir.
 Saat  di  tap  (Kondisi  Sistem  Saat  Database Terisi)
Gambar 13. Kondisi Sistem
Jika  nilai  RFID  pada  kartu  yang  di  tap  sama dengan  nilai  RFID  pada  tabel  log,  maka  sistem  akan menghitungnya  valid dan data pada tabel  log dengan RFID yang valid akan dihapus. Pintu Palang terbuka.

##  Setelah di tap (Kondisi database)

## Gambar 14. Database Sebelum Tap
Kondisi database setelah di tap-out akan terlihat kosong,  menandakan  bahwa  karyawan  telah  keluar dari tempat parkir.
 Saat  di  tap  (Kondisi  Sistem  Saat  Database Kosong)
Gambar 15. Data Tidak Valid
Jika kartu yang di tap tidak memiliki nilai RFID yang sama dengan yang terdapat pada tabel log, maka kartu  tersebut  terhitung  belum  tervalidasi  yang menandakan  bahwa  kartu  tersebut  belum  pernah memasuki area parkir sebelumnya.

## 4.3. Alur Masuk Tempat Parkir
Untuk  masuk  ke  dalam  tempat  parkir,  maka karyawan perlu untuk melakukan tap kartu RFID pada RFID  reader.  Pada  sistem  akan  menampilkan  tulisan “Reading Card...”, lalu sistem juga akan menampilkan ID  RFID  yang  tertera  pada  kartu  tersebut.  Jika  ID RFID  tersebut  telah  terdaftar  pada  sistem,  maka  ID RFID  tersebut  akan  divalidasi  dan  pintu  palang  pun terbuka.  Sementara  jika  ID  RFID  yang  di  tap  belum terdaftar,  maka  pintu  palang  tersebut  tidak  dapat terbuka dan akan muncul tulisan “user doesn’t exist”.
Kartu  RFID  yang  telah  divalidasi  tersebut  akan dikirimkan  data  nya  ke  dalam  tabel  “log”  pada database  perusahaan.  Di  dalam  log  tersebut  akan tertera bahwa ID kartu RFID “001257345” memasuki area tempat parkir pada pukul sekian. Dan jika user / karyawan  mencoba  untuk  tap  ke-2  kalinya  maka sistem  akan  menolak  kartu  tersebut  karena  sudah pernah  digunakan  setidaknya  sekali  untuk  tap  in  / masuk  ke  dalam  parkiran.  Maka  muncul  notifikasi “You  already  inserted  the  card  once”.  Pintu  palang tidak akan terbuka.

## 4.4. Alur Keluar Tempat Parkir
Jika  karyawan  ingin  keluar  dari  tempat  parkir, maka karyawan juga perlu melakukan hal yang sama seperti  saat  mereka  memasuki  tempat  parkir.  Namun terdapat  modifikasi  pada  fungsi  validate().  Jika  nilai RFID pada kartu yang di tap sama dengan nilai RFID pada tabel log, maka sistem akan menghitungnya valid dan data pada tabel log dengan RFID yang valid akan dihapus. Pintu Palang terbuka.
Jika kartu yang di tap tidak memiliki nilai RFID yang sama dengan yang terdapat pada tabel log, maka kartu  tersebut  terhitung  belum  tervalidasi  yang menandakan  bahwa  kartu  tersebut  belum  pernah memasuki  area  parkir  sebelumnya  dan  sistem  akan menampilkan tulisan “RFID found but not validated” yang berarti meskipun kartu tersebut merupakan kartu RFID  resmi  milik  perusahaan,  namun  jika  kartu
tersebut belum pernah masuk tempat parkir maka kartu tersebut tetap tidak dapat digunakan.
Dalam  kasus  yang  terjadi  di  Formulatrix,  jika karyawan yang lupa membawa kartu meminjam kartu milik  orang  lain,  maka  karyawan  asli  yang  memiliki kartu  tersebut  tidak  dapat  masuk  ke  dalam  tempat parkir karena kartunya sudah digunakan sekali. Hal ini akan membuat karyawan yang memiliki kartu berpikir dua  kali  jika  ingin  meminjamkan  kartu  RFID  nya kepada karyawan yang tidak membawa kartu. Dengan diberlakukannya sistem ini, karyawan akan lebih teliti dalam menjaga kartu mereka serta mengurangi resiko pencurian di area tersebut.

## 5. KESIMPULAN DAN SARAN
Berdasarkan  sistem  baru  yang  telah  dirancang, maka  sistem  ini  telah  memenuhi  seluruh  tujuan  dan manfaat  penelitian  yang  dituju  yaitu:  Menambahkan tingkat  standar  keamanan  parkiran  motor  milik perusahaan Formulatrix, Meminimalisir kemungkinan terjadinya hal – hal tidak bertanggung jawab, terutama hilangnya  kendaraan  sepeda  motor,  Sistem  ini tergolong sederhana namun akurat karena memaksimalkan  fitur  yang  dimiliki  oleh  RFID System. Biaya  yang dihabiskan untuk  merealisasikan sistem  ini  juga  tergolong  rendah  karena  penggunaan perlatan  (device)  yang  sederhana  dan  juga  mudah ditemukan di sekitar.
Tingkat keamanan dari sistem ini dapat dikembangkan lebih spesifik dengan menggunakan teknologi terkini, seperti  pembaca  plat  nomor  kendaraan  serta pemanfaatan AI. Namun penggunaan teknologi seperti ini memakan waktu yang cukup lama dan biaya yang tidak sedikit sehingga penggunaan sistem RFID dinilai sudah  cukup  untuk  memenuhi  kebutuhan  perusahaan yang sederhana
Memuat  kesimpulan  yang  diperoleh  dan  saran- saran untuk penelitian selanjutnya (jika ada). Tuliskan Kesimpulan dan saran dalam 1 paragraf.

## DAFTAR PUSTAKA
[1]  H. Peng and H. Xu, “Research on Application of
RFID  Technology,” Proc.  5th  Int.  Conf.  Educ. Manag. Inf. Manag. Eng. , pp. 220–224, 2019.
[2]  I. Komang and S. D. Riskiono, “Rancang Bangun Sistem  Pengunci  Loker  Otomatis  Dengan Kendali  Akses  Menggunakan  RFID  Dan  SIM 800L,” J. Ilm. Mhs. Kendali dan List. , vol. 1, no.
1, 2020.
[3]  T.  Zia,  “RFID  Technology  and  Its  Applications in Internet of Things (IoT),” Sensors , vol. 19, no. 12, pp. 1–17, 2019.
[4]  F. Hamdani, “Penerapan RFID (Radio Frequency Identification)  di  perpustakaan:  kelebihan  dan kekurangannya,” Khizanah  al-Hikmah  J.  Ilmu Perpustakaan, Informasi, dan Kearsipan , vol. 2, no. 1, pp. 71–79, 2014.
[5]  N.R. Khairi, M. A. Rahman, M. F. M. Yusof, and M. Z. Abdullah, “Radio Frequency Identification (RFID)  in  Healthcare:  A  Review,” J. Telecommun. Electron. Comput. Eng. , vol. 9, no. 2, pp. 145–149, 2017.
[6]  P.  V.  V.  Prasad  and  S.  Vasumathi,  “A Comprehensive  Review  on  RFID  Technology and its Applications,” Int. J. Comput. Sci. Mob. Comput. , vol. 9, no. 6, pp. 262–269, 2020.
[7]  A.  Z.  Hasibuan,  H.  Harahap,  and  Z.  Sarumaha,
“Penerapan Teknologi RFID Untuk Pengendalian Ruang Kelas Berbasis
Mikrokontroler,” J.  Teknol.  Dan  Ilmu  Komput. Prima , vol. 1, no. 1, pp. 71–77, 2018.
[8]  Risald,  “Implementasi  Sistem  Penjualan  Online Berbasis  E-Commerce  Pada  Usaha  UKM  Ike Suti  Menggunakan  Metode  Waterfall,” J.  Inf. Technol. , vol. 1, no. 1, pp. 37–42, 2021.
[9]  H.  Kurniawan,  “Penerapan  Metode  Waterfall Dalam Perancangan Sistem Informasi Penggajian Pada SMK Bina Karya Karawang,” J. Interkom  J.  Publ.  Ilm.  Bid.  Teknol.  Inf.  Dan Komun. , vol. 14, no. 4, pp. 159–169, 2020.
[10]  C.  Novitasari,  “Pengertian  Metode  Waterfall,” 2018. https://pelajarindo.com/pengertianmetode- waterfall/ (accessed Jun. 19, 2023).