## PERANCANGAN
PROTOTIPE PINTU OTOMATIS DENGAN FACE DETECTION MENGGUNAKAN

## MIKROKONTROLER
Ikramullah 1 , Sunardi 2 , Sadly Syamsuddin 3
1,2,3 Universitas Dipa Makassar; Jl. Perintis Kemerdekaan KM. 9 Makassar; (0411) 587194
Riwayat artikel: Received: 26 Juni 2023 Accepted: 10 Juli 2023
Published: 1 Agustus 2023
Keywords: automatic door; face detection; microcontroller; security; notification.
Corespondent Email: ikramullahzx@gmail.com
© 2023 JITET (Jurnal Informatika dan Teknik Elektro Terapan). This article is an open-access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY NC)
Abstrak. Artikel  ini  membahas  tentang  prototipe  pintu  otomatis  dengan teknologi deteksi wajah menggunakan mikrokontroler. Tujuan penelitian ini adalah untuk mengembangkan sistem keamanan pintu yang efisien dan mudah dengan  mengganti  kunci konvensional  dengan  wajah  pemilik.  Metode  yang digunakan  adalah  perancangan  perangkat  lunak  yang  mana  menggunakan pengujian Orthogonal Array Testing untuk akurasi dan fungsionalitas sistem. Hasil penelitian menunjukkan bahwa prototipe sistem dapat mendeteksi dan mengenali wajah pemilik dengan akurasi tinggi, serta membuka pintu secara otomatis.  Sistem  juga  dapat  mengirim  notifikasi  ke  Telegram  apabila  ada penyusup  yang  tidak  dikenal  oleh  sistem.  Prototipe  sistem  ini  dapat diaplikasikan  pada  hotel  atau  tempat-tempat  yang  membutuhkan  keamanan tinggi.
Abstract. This study demonstrated a prototype of a face recognition-driven automatic  door  using  a  microcontroller.  It  aimed  to  develop  efficient  and accessible door security by substituting the usual conventional key and  lock system with face recognition. The methods utilized in this study are software designs, which then were tested using Orthogonal Array Testing for accuracy and  functionality.  The  result  showed  that  the  prototype  can  detect  and recognize  the  user's  face  with  precise  accuracy  as  well  as  automatically unlock the door. The system was also able to send a notification to Telegram in  case  of  an  unrecognized  trespasser,  which  can  be  beneficial  for establishments with high security such as hotels.

## 1. PENDAHULUAN
Perancangan pintu otomatis
menggunakan  mikrokontroler  telah  banyak dilakukan oleh peneliti sebelumnya. Penelitian sebelumnya  ada  yang  menggunakan  e-KTP sebagai  kunci  untuk  membuka  pintu  tersebut [1],  ada  juga  penelitian  yang  menggunakan sidik jari untuk membuka pintu secara otomatis [2], dan ada juga yang menggunakan SMS [3] ataupun  bot  Telegram  [4]  yang  digunakan sebagai kunci untuk pintu otomatis.
Pengembangan dari
penelitian sebelumnya dapat dilanjutkan dengan mengganti  variabel  yang  digunakan  sebagai kunci  untuk  membuka  pintu  secara  otomatis seperti salah satunya deteksi muka [5].
Deteksi muka sebagai variabel pengganti kunci  untuk  membuka  pintu  secara  otomatis dapat menjadi alternatif karena faktor efisiensi dan  kemudahan.  Kunci  seperti  kartu  RFID dapat jatuh atau tercecer yang dapat mengakibatkan pintu tersebut tidak bisa dibuka
dikarenakan  hanya  satu-satunya  akses  dari kartu  tersebut  untuk membuka  pintu.  Efisiensi juga menjadi nilai tambah bagi prototipe sistem ini dikarenakan pemilik pintu hanya memperlihatkan  wajah  pada  kamera  sebagai kunci untuk pintu tersebut.

## 2. TINJAUAN PUSTAKA 2.2. Mikrokontroler
Mikrokontroler  yang  digunakan  dalam penelitian  ini  adalah  Arduino  Uno.  Arduino Uno  adalah  sebuah  papan  pengembangan berbasis  mikrokontroler  ATmega328P  yang memiliki  14  pin input/output digital  dan  6 pin input analog [6]. Arduino Uno dapat diprogram menggunakan  bahasa  pemrograman  Arduino yang mirip dengan C/C++. Arduino Uno cocok untuk proyek-proyek prototipe yang membutuhkan fungsi-fungsi dasar
mikrokontroler [7].

## 2.3. Library Face Recognition
Library Face Recognition yang dibuat oleh (Geitgey, 2016) dalam penelitian ini digunakan untuk  mendeteksi  dan  mengenali  wajah manusia  dengan  akurasi  tinggi,  menggunakan teknik  deep  learning.  Dengan  menggunakan library  ini,  sebuah  aplikasi  dapat  dibuat  yang dapat mengidentifikasi orang-orang yang ada di depan kamera.

## 2.4. OpenCV
Penelitian ini membutuhkan OpenCV yang berfungsi  untuk  melakukan render  frame seperti yang biasa dilihat dalam aplikasi kamera pada  gawai  pintar  pada  umumnya  dan frame tersebut  dikirim  ke  Face  Recognition  untuk menentukan bahwa objek wajah yang masuk ke dalam frame OpenCV valid atau tidak.

## 2.5. PySerial
Untuk menghubungkan aplikasi pendeteksi wajah ini ke mikrokontroler. Penulis menggunakan library PySerial buatan [8] yang digunakan  untuk  mengakses  serial  port sehingga aplikasi dapat berkomunikasi dengan mikrokontroler langsung via USB Serial.

## 3. METODE PENELITIAN
Penelitian ini menggunakan metode penelitian  yaitu  menggunakan  perancangan
perangkat  keras  dan  perancangan  perangkat lunak .

## 3.1. Perancangan Perangkat Keras
NodeMCU  LoLin  ESP8266  digunakan sebagai  pengendali  utama  dari  sistem  pintu otomatis dalam mikrokontroler ini.
Mikrokontroler  ini  terhubung  dengan  Servo Gear  SG90  dan  Buzzer  Active  yang  masing- masing  memerlukan  arus  listrik  5V.  Servo  ini dioperasikan  menggunakan  library  dari  [9] yang  didukung  langsung  oleh  komunitas Arduino.  Buzzer  Active  berfungsi  sebagai penanda  untuk memverifikasi  apakah  skenario yang diinginkan sesuai dengan harapan. Selain itu,  penulis  memasang  Tactile  4-Pin  Push Button  sebagai  alat  bantu  untuk  mengetes apakah Servo dapat beroperasi dengan baik atau tidak.

## Gambar 1: Arduino Uno R3

## 3.2. Perancangan Perangkat Lunak
Dalam  prototipe  ini,  aplikasi  pendeteksi wajah  berinteraksi  secara  dua  arah  dengan dataset  yang  mengelola  wajah-wajah  yang sudah terdaftar sebelumnya, yaitu untuk melatih dan  mengkodekan  wajah  pemilik.  Aplikasi pendeteksi  wajah  ini  berkomunikasi  satu  arah dengan  mikrokontroler  melalui  USB  Serial dengan frekuensi 9600 baud menggunakan 8 bit angka  untuk  mempercepat  komunikasi  antara aplikasi dan mikrokontroler.

## Gambar 2: Rancangan Umum
Pada aplikasi deteksi wajah ini, penulis juga menggunakan  Telegram  sebagai  notifikasi ketika ada penyusup. Dalam hal ini, penyusup adalah  seseorang  yang  tidak  dikenal  oleh sistem.  Karena  Python  adalah  bahasa  non- blocking,  proses  ini  mengharuskan  proses notifikasi  dilakukan  di  thread  terpisah  dari proses  pengenalan  wajah,  sehingga  proses pengenalan  wajah  tidak  ditahan  oleh  proses pengunggahan foto ke Telegram [10].

## Gambar 3: Proses Notifikasi
Gambaran  akhir  dari  sistem  deteksi  wajah ini  dapat  digambarkan  pada  gambar  di  bawah ini.

## Gambar 4: Rancangan Sistem Keseluruhan

## 4. HASIL DAN PEMBAHASAN
Pada prototipe ini, penulis membuat gerbang kecil  yang  terbuat  dari  stik  es  krim  untuk mensimulasikan pintu. Penulis memilih stik es krim  sebagai  bahannya  dikarenakan  bahannya ringan sehingga dapat digerakkan secara mudah oleh Servo.
Apabila sistem deteksi wajah dijalankan dan berhasil berkomunikasi dengan mikrokontroler, Buzzer akan dinyalakan sebanyak 5 kali sebagai penanda  bahwa  sistem  dan  mikrokontroler sudah  terkoneksi  dengan  sempurna  dan  siap untuk beroperasi.
Pada  saat  deteksi  wajah  dijalankan, apabila  sistem  mengenali  wajah  yang  tampil dari  kamera  maka  pintu  akan  terbuka  secara otomatis.

## Gambar 5: Skenario Wajah Dikenali oleh Sistem
Apabila sistem tidak mengenali wajah yang ada  di  dalam  sistem,  sistem  akan  menandai bahwa  pemilik  muka  ini  adalah  penyusup  dan notifikasi  akan  dikirim  ke  sistem  seperti  yang digambarkan pada gambar (6).

## Gambar 6: Pendeteksi Penyusup Menyala
Dari  gambar  yang  dideteksi  pada  gambar (6), frame  yang mendeteksi  penyusup  tersebut akan  dikirim  langsung  ke  Telegram  sebagai notifikasi  seperti  yang  ditampilkan  pada gambar (7) sehingga notifikasi tersebut bersifat real-time.

## Gambar 7: Notifikasi dikirim ke Telegram
Untuk  pengujian  dari  sistem  ini,  penulis menggunakan  Orthogonal  Array  Testing  dan Accuracy Testing sebagai acuan apakah sistem yang dibuat ini bekerja sesuai dengan fungsinya atau tidak.
Orthogonal  Array  Testing  (OAT)  adalah strategi pengujian yang sistematis dan statistik untuk  menguji  interaksi  berpasangan  antara parameter input dan output dari sebuah sistem perangkat lunak [11]. Pengujian OAT merupakan  salah  satu  contoh  dari  Gray  Box Testing  sehingga  pada  metode  pengujian  ini akan  fokus  pada  uji  fungsional  dari  suatu sistem.  Dalam  prototipe  ini  digunakan  OAT untuk  menguji  kasus  deteksi  muka  lebih  dari satu dengan dua konfigurasi yang berbeda.
Dalam  prototipe  ini,  sistem  memiliki pengaturan  yang  dapat  menyalakan  peringatan apabila  ada  wajah  yang  dikenali  dideteksi bersama  dengan  wajah  yang  tidak  dikenali. Pengaturan  tersebut  dapat  diaktifkan  atau dinonaktifkan sesuai keinginan. Dari pengaturan tersebut, penulis menggunakan dua kasus  untuk  mengecek  apakah  fungsionalitas dari sistem tersebut valid atau tidak.
# Kasus
1 Dua atau lebih wajah dikenali, peringatan menyala
2 Dua atau lebih wajah dikenali, peringatan mati
Tabel 1: Kasus yang akan diuji
Dari kasus pada tabel (1), ditarik sebuah hipotesis untuk membuktikan apakah pengujian tersebut  valid  atau  tidak.  Pengujian  deteksi wajah untuk satu wajah dibuat seragam karena pada  dasarnya  kasus  untuk  satu  wajah  sudah sesuai  dengan  desain  rancangan  sistem  yang penulis buat. Pengujian ini lebih berfokus pada deteksi wajah untuk dua atau lebih wajah sesuai dengan kasus yang telah disebutkan pada tabel (1). Kasus Hipotesis Satu Wajah Dua Wajah #1 H0: Peringatan Menyala H1: Peringatan Mati H0: Peringatan Mati H1: Peringatan Menyala #2 H0: Peringatan Menyala H1: Peringatan Mati H0: Peringatan Menyala H1: Peringatan Mati

## Tabel 2: Hipotesis
Setelah  dilakukan  pengujian,  dihasilkan sebuah  hasil  pengujian  yang  disajikan  pada tabel (3) di bawah.
Kasus Hipotesis Satu Wajah Dua Wajah H0 H1 H0 H1 #1 FALSE TRUE FALSE TRUE #2 FALSE TRUE FALSE TRUE

## Tabel 3: Hasil Pengujian
Dapat ditarik kesimpulan bahwa seluruh pengujian  baik  pengenalan  satu  wajah  atau lebih  dari  satu  wajah  menolak  H0  sehingga dapat dikatakan bahwa prototipe sistem deteksi wajah melewati pengujian OAT dengan baik. Pengujian  ini  dilanjutkan  ke  Accuracy Testing yang akan diuji akurasinya dengan data gambar  wajah  yang  bervariasi.  Pengujian akurasi bertujuan untuk mengukur keberhasilan sistem  dalam  mendeteksi  muka  sesuai  dengan standar yang ditetapkan.
Akurasi dari library dari Face Recognition  menunjukkan  akurasi  rata-rata sebesar 85%. Untuk ukuran ini sudah dianggap
cukup untuk deteksi muka dikarenakan masalah dari pengembang library [12] yang mengatakan bahwa susah untuk memilah data wajah untuk muka-muka di Asia terlebih lagi di daerah Asia Timur seperti Korea, China, Jepang, dll.

## Gambar 8: Akurasi Wajah

## 5. KESIMPULAN
Prototipe sistem ini dapat dikembangkan lebih  lanjut  dengan  menambahkan  liveness detection yang memungkinkan sistem pengenalan  wajah  tersebut  dapat  mengetahui bahwa  apakah  wajah  yang  dikenali  itu  berupa wajah asli atau foto yang ditampilkan di depan kamera  [13].  Keterbatasan  library  Face Recognition  ini  dapat  dikembangkan  dengan menggabungkan  beberapa  algoritma  untuk mendeteksi  kedipan  mata,  arah  tatapan  mata, gerakan mulut, dll.
Prototipe  sistem  ini  dapat  digunakan pada  hotel  dengan  mengganti  kartu  sebagai kunci dengan deteksi wajah sehingga pengunjung  tidak  perlu  membuka  pintu  tanpa mesti  menggunakan  kartu  yang  kemungkinan besar dapat tercecer ataupun hilang.

## UCAPAN TERIMA KASIH
Penulis  mengucapkan  banyak  terima  kasih kepada  Tuhan  YME  yang  telah  memberi kemudahan kepada penulis untuk menyelesaikan  artikel  jurnal  ini.  Tak  lupa kepada  pihak-pihak  yang  membantu  penulis dan  Program  Profesional  dari  kampus  penulis sebagai  mata  kuliah  wajib  syarat  untuk mengambil  jalur  publikasi.  Tanpa  Program Profesional, penulis mungkin tidak akan pernah mencoba untuk menulis sebuah artikel jurnal.

## DAFTAR PUSTAKA
[1] S.  Broto,  S.  Muqod,  and  N.  Fath,  “Sistem Akses Kontrol Kunci Elektrik untuk
Keamanan  Rumah  dengan  E-KTP  Berbasis RFID,” Techno.Com , vol. 22, no. 1, pp. 167– 175, Feb. 2023, doi: 10.33633/tc.v22i1.6964.
[2] A.  Tahir,  “Rancang  Bangun  Media  Ajar Implementasi  Finger  Print  Pada  Pintu  Geser Perpustakaan,” vol. 06, no. 01, 2023.
[3] N. Wivanius, H. Wijanarko, and T. Ramadhan Novian,  “Sistem  Keamanan  Loker  Berbasis
GSM  Module,  Bluetooth  Module  dan  Reed Sensor,” J. Elektro Dan Mesin Terap. , vol. 5, no. 1, pp. 38–47, 2019, doi: 10.35143/elementer.v5i1.2513. [4] M. R. Heranof and D. Yendri, “Alat Kandang
Kucing  Otomatis  Berbasis  Mikrokontroler dengan  Monitoring  Telegram,” CHIPSET ,
vol.  4,  no.  01,  pp.  71–79,  Apr.  2023,  doi:
10.25077/chipset.4.01.71-79.2023.
[5] N.  Nuraeni et  al. ,  “Sistem  Akses  Pintu Berbasis  Face  Recognition  Menggunakan ESP32  Module  dan  Aplikasi  Telegram,” J. Mediat. , vol. 4, no. 3, p. 115, Sep. 2021, doi: 10.26858/jmtik.v4i3.23700.
[6] P. Handoko,
“SISTEM

## KENDALI PERANGKAT
ELEKTRONIKA
MONOLITIK  BERBASIS  ARDUINO  UNO R3,” Semin.  Nas.  Sains  Dan  Teknol.  2017 , Nov. 2017.
[7] A. A. Latif and R. Y. Endra, “Analisis  Cara Kerja  Mikrokontroler  Arduino  Uno  Dan Sensor  Ultrasonik  Untuk  Perancangan  Smart
Jacket Sebagai Penerapan Physical Distancing,” 2021, doi: 10.13140/RG.2.2.28580.91526.
[8] C. Liechti, “pySerial.” pySerial, Jun. 11, 2023. Accessed: Jun. 12, 2023. [Online]. Available: https://github.com/pyserial/pyserial
[9] M.  Facchin,  “Servo  Library  for  Arduino.” Arduino  Libraries,  Jun.  10,  2023.  Accessed: Jun. 14, 2023. [Online]. Available: https://github.com/arduino-libraries/Servo
[10]  V. Kapoor, “Understanding Non Blocking I/O with  Python  —  Part  1,” Vaidik  Kapoor ,  Jul. 05, 2018. https://medium.com/vaidikkapoor/understand ing-non-blocking-i-o-with-python-part-1- ec31a2e2db9b (accessed Jun. 14, 2023).
[11]  L.  Lazic  and  N.  Mastorakis,  “Orthogonal Array application for optimal combination of software defect detection techniques choices,” vol. 7, no. 8, 2008.
[12]  A.  Geitgey,  “Face  Recognition  Accuracy Problems  ·  Wiki,”  Jun.  14,  2018. https://github.com/ageitgey/face_recognition/ wiki/Face-Recognition-Accuracy-Problems (accessed Jun. 14, 2023).
[13]  S.  Khairnar,  S.  Gite,  K.  Kotecha,  and  S.  D. Thepade,  “Face  Liveness  Detection  Using
Artificial Intelligence Techniques: A
Systematic  Literature  Review  and  Future Directions,” Big Data Cogn. Comput. , vol. 7, no. 1, p. 37, Feb. 2023, doi: 10.3390/bdcc7010037.