## R ANCANG B ANGUN A PLIKASI P RESENSI

## B ERBASIS M OBILE D ENGAN F ACE R ECOGNITION
Muhamad Rizki Rifaldi 1 , Indriani 2
Program Studi Teknik Informatika, STMIK AMIK BANDUNG e-mail: 1 mrizkirifaldi9@gmail.com, 2 indri@stmik-amikbandung.ac.id

## A BSTRAK
Berdasarkan hasil penelitian yang telah dilakukan CV Marecayasa Media diperoleh data bahwa yang menjadi masalah yaitu dalam proses melakukan presensi yang masih menggunakan cara manual seperti  karyawan  harus  mengisi  google  form  yang  di  buat  terlebih  dahulu  menyebabkan  seringnya terjadi  manipulasi  data  seolah  olah  karyawan  tersebut  masuk  dikarenakan  sulit  untuk  mengenali karyawan hanya dalam bentuk namanya saja pada saat melakukan presensi. Dari permasalahan tersebut di atas maka penulis membangun Aplikasi Presensi Berbasis Mobile Dengan Face Recognition dengan tujuan Aplikasi ini agar memudahkan karyawan dalam melakukan presensi masuk, presensi keluar, izin sakit dan izin cuti, serta membantu meminimalisir manipulasi data. Metode penelitian yang digunakan adalah  metode  pengembangan  perangkat  lunak  (Scrum)  yaitu  dari  Analisis  Kebutuhan,  Product Backlog,  Sprint  Planning,  Sprint  Backlog,  Sprint,  Sprint  Review    dan  Pengujian  (Testing).  Untuk peracangannya  pada  aplikasi  presensi  berbasis  mobile  dengan  face  recognition    ini  di  bangun menggunakan  Bahasa  pemrorgraman  Dart,  dengan  framework  Flutter,  serta  untuk  databasenya menggunakan  Postgresql  dan  Backend  API  menggunakan  baha  pemrograman  Golang  dengan framework  GO-Fiber.  Berdasarkan  uji  coba  yang  telah  di  lakukan  menggunakan  pengujian  system black box rancang bangun aplikasi presensi berbasis mobile dengan face recognition berhasil di bangun dan  menggunakan  uat  testing  (User  Acceptance  Testing)  mendapatkan  presentase  sekitar  95%  dari aplikasi tersebut.
Kata Kunci : Karyawan, Facerecognition, Mobile, Framework

## 1. P ENDAHULUAN
Perkembangan  teknologi  yang  semakin  maju  saat  ini  dipicu  oleh  kemajuan  dalam  ilmu pengetahuan dan penggunaan teknologi yang semakin meluas. Seperti penggunaan aplikasi mobile kini sudah sangat banyak digunakan oleh perusahaan untuk kepentingannya masing masing.Aplikasi mobile mempunyai banyak manfaat bagi perusahaan maupun masyarakat di antaranya sebagai media informasi , pelayanan , pendataan, promosi maupun untuk kebutuhan e-commerce.
Seiring berjalannya waktu penggunaan aplikasi mobile akan semakin bertambah karena adanya teknologi-teknologi baru yang hadir untuk membawa perubahan. Hal ini mendorong para programmer untuk  bisa  mengikuti  perkembangan  teknologi  yang  sedang  ramai  di  gunakan.  Presensi  merupakan sistem yang menunjukkan kehadiran seseorang, yang biasa digunakan dalam berbagai situasi seperti acara,  sekolah,  dan  perusahaan.  Implementasinya  bervariasi  tergantung  pada  kebutuhan  dan  konteks penggunaannya. [1].
Pada CV Marecayasa Media umumnya presensi dilakukan dengan menginputkan data presensi melalui google form, namun cara ini sudah tidak efektif lagi dari segi sistem pendataan maupun dari pengelolaannya.  Pada pagi hari atau saat masuk sesuai shift, karyawan biasanya harus mengisi form jam datang untuk menunjukkan bahwa mereka hadir. Kemudian, saat jam pulang tiba, karyawan harus mengisi  form  jam  pulang  lagi.  Masalahnya  apabila  presensi  masih  di  lakukan  secara  manual  dapat menimbulkan kecurangan karena sulit untuk melihat karyawan tersebut benar melakukan presensi atau tidak, dampak data yang menumpuk dan dalam pencarian data akan sulit.  Berdasarkan penjelasan di atas,  penulis  mencoba  untuk  mengembangkan  aplikasi  presensi  berbasis  ponsel  yang  mendukung pengenalan wajah, dimana aplikasi ini memudahkan karyawan untuk melakukan presensi yang dapat di buka dengan smartphonenya masing-masing. Dengan adanya aplikasi ini dapat menghindari resiko kecurangan dalam melakukan presensi.

## 2. T INJAUAN P USTAKA

## 2.1. Face recognition
Sistem  pengenalan  wajah  memanfaatkan  fitur  wajah  seseorang  untuk  mengidentifikasi  dan mengautentikasi individu. Face recognition memiliki tingkat keakuratan yang sangat tinggi dan dapat mengenali wajah dalam foto, video, atau secara real-time. Secara umum, pengenalan wajah digunakan untuk  memastikan  identitas  seseorang  sesuai  dengan  basis  data  yang  dipunyai.  Karena  wajah merupakan  bagian  dari  tubuh  orang  yang  pertama  kali  dilihat,  wajah  dianggap  sebagai  sistem identifikasi keamanan yang paling natural.
Proses pengenalan wajah biasanya mirip dengan yang dilakukan oleh smartphone yang memiliki fitur  pengenalan  wajah  biometric  untuk  membuka  kunci  layer.  Berikut  mekanisme  cara  kerja pengenalan wajah:
a. Deteksi Wajah: Proses ini dimulai dengan pengambilan gambar wajah, baik melalui foto 2D atau video 3D.
b. Penentuan Posisi: Setelah wajah terdeteksi, perangkat lunak akan menganalisis posisi, ukuran, dan sudut kepala. Pada sistem 3D, wajah dapat dikenali hingga sudut 90 derajat, sedangkan sistem 2D memerlukan posisi wajah yang lebih menghadap kamera.
c. Verifikasi atau Identifikasi: Tahap ini melibatkan pencocokan gambar wajah yang diambil dengan data  yang  ada.  Verifikasi  adalah  proses  pencocokan  satu  lawan  satu,  sementara  identifikasi membandingkan gambar dengan seluruh database.
d. Identifikasi  Wajah:  Pada  tahap  ini,  data  wajah  dianalisis  secara  menyeluruh,  termasuk  kontur, geometri, dan tekstur wajah, untuk menghasilkan representasi unik dari wajah tersebut.
e. Pencocokan:  Jika  representasi  wajah  dan  data  dalam  database  sama-sama  3D,  pencocokan  dapat dilakukan langsung. Namun, jika datanya 2D, gambar 3D akan diubah menjadi 2D terlebih dahulu dengan mengidentifikasi titik-titik kunci pada wajah seperti mata dan hidung. [2].

## 2.2. Flutter
Flutter  merupakan  platform  pengembangan  aplikasi  yang  memungkinkan  pembuatan  aplikasi untuk berbagai platform (Android, iOS, web, desktop) hanya dengan satu basis kode. Dengan Flutter, developer tidak perlu menulis kode yang berbeda untuk setiap platform, sehingga menghemat waktu dan sumber daya. [3].
Flutter terdiri dari dua komponen utama:
a. Software Development Kit (SDK): Ini adalah kumpulan alat yang membantu developer dalam proses pengembangan aplikasi, seperti compiler dan debugger. SDK memastikan aplikasi yang dibuat dapat berjalan dengan baik di berbagai platform.
b. Framework  UI:  Ini  adalah  kumpulan  komponen  antarmuka  pengguna  yang  dapat  disesuaikan, seperti  tombol,  teks,  dan  navigasi.  Framework  UI  memungkinkan  developer  untuk  membuat tampilan aplikasi yang menarik dan sesuai dengan kebutuhan pengguna di berbagai platform.

## 2.3. API (Appication Programming Interface)
API  (Antarmuka  Pemrograman  Aplikasi)  adalah  jembatan  yang  menghubungkan  berbagai aplikasi  atau  antara  pengguna  dan  server.  Fungsi  utama  API  adalah  memungkinkan  pertukaran informasi  atau fitur tanpa perlu  input manual,  baik  dalam  satu  platform  maupun  lintas  platform. [4] Cara kerja API sebagai berikut:
a. Akses API: Ketika pengguna membuka aplikasi, aplikasi tersebut akan mengakses API yang terkait.
b. Permintaan ke Server: API akan mengirimkan permintaan data yang dibutuhkan aplikasi ke server.
c. Respons Server: Server akan mencari data yang diminta dan mengirimkannya kembali ke API.
d. Hasil ke Aplikasi: API akan menyampaikan data yang diterima dari server kepada aplikasi, sehingga informasi tersebut dapat ditampilkan kepada pengguna.

## 3. M ETODE P ENELITIAN
Adapun metodologi penelitian yang penulis buat pada gambar di bawah dari muali identifikasi masalah  hingga  tahap  pembangunan  aplkasi  presensi  secara  garis  besar  menggunakan  metodologi scrum..

## Gambar 1. Metode Penelitian.

## 4. H ASIL DAN PEMBAHASAN

## 4.1 Tahap Pembangunan face Recognition
Pada  bagian  ini  akan  membahas  tahap  membangun  face  recognition  mulai  dari  tools  yang  di gunakan hingga tahap evaluasi..
Gambar 2. Tahap Pembangunan Face Recognition

## 1. Mengumpulkan Dataset
Penulis mengumpulkan dataset berupa gambar/foto dari karyawan CV Marecayasa Media dan juga teman teman mahasiswa STMIK Amik Bandung. Dataset ini bersifat privat karena diambil dari universitas  dan  perusahaan  untuk  digunakan  mengenali  wajah  mereka  dengan  akurasi  yang  tepat. Dataset yang penulis kumpulkan sebanyak 30 gambar/foto.

## 2. Integrasi Tools dan Facenet Ke Flutter
Tools yang di gunakan oleh penulis untuk membangun Face Recognition adalah sebagai berikut:
a. Google MLKit Vision
b. Flutter Tensorflow Lite
c. Facenet
3. Rekontruksi Code (Pembangunan Code)
a. Training Data
Penulis  Membuat  code  husus  untuk  mentraining  data  gambar  kemudian  code  tersebut  akan mencocokan gambar yang sedang di training agar data yang di hasilkan benar benar akurat.
b. Convert Image Menjadi Bytelist
Setelah data di training dan menghasilkan data yang akurat penulis mengubah hasil data tersebut menjadi ByteList dengan menggunakan tools Google MLKit Vision yang nantinya dapat di baca oleh model.
c. Modeling
Data yang berhasil di ubah menjadi ByteList Float32 akan di baca oleh model mobilefacenet.

## d. Result
Dari semua tahapan yang sudah di jelaskan akan menghasilkan output berupa bingkai berwarna hijau dengan text nama bahwasanya gambar/wajah tersebut benar benar akurat.
Gambar 3. Result

## 4. Evaluasi
Evaluasi  ini  dilakukan  untuk  memastikan  presentase  dari  akurasi  model  facenet  ini  memiliki akurasi yang tinggi. Evaluasi model menggunakan Confussion Matrix.
Gambar 4. Evaluasi Dengan Confussion Matrix

## 4.2 Product Backlog

## 1. Identifikasi Aktor
Terdapat 2 aktor pada system aplikasi presensi ini yaitu User dan Admin. Berikut definisi aktor yang ada didalam sistem tersebut.
a. User adalah karyawan yang mempunyai hak akses melakukan presensi masuk, presensi keluar, izin sakit dan izin cuti melalui mobile application.
b. Admin berperan sebagai pengelola sistem yang memiliki hak akses untuk melihat data, menambah data, mengedit data dan menghapus data tertentu sesuai kebutuhan.

## 2.Kebutuhan Fungsional
Kebutuhan fungsional dalam aplikasi ini merinci semua proses yang harus dilakukan oleh sistem untuk memenuhi  kebutuhan  dua  aktor  utama,  yaitu  admin  dan  pengguna.  Deskripsi  ini  menjelaskan secara detail bagaimana sistem akan berfungsi dari sudut pandang kedua aktor tersebut, memastikan bahwa setiap tindakan dan interaksi yang  dilakukan dalam aplikasi dapat dipenuhi dengan baik oleh sistem.
Tabel 1. Kebutuhan Fungsional Admin KF Deskripsi KF-001 Login KF-002 Logout KF-003 Tambah Data Karyawan KF-004 Edit Data karyawan KF-005 Lihat Data karyawan KF-006 Hapus Data Karyawan KF-007 Lihat Data Presensi Masuk KF-008 Lihat Data Presensi Keluar KF-009 Lihat Data Izin Sakit
KF-010 Konfirmasi Data Izin Sakit KF-011  Tidak Mengkonfirmasi Izin Sakit KF-012 Lihat Data Izin Cuti KF-013 Konfirmasi Izin Cuti KF-014  Tidak Mengkonfirmasi Izin Cuti Tabel 2. Kebutuhan Fungsional User KF Deskripsi KF-001 Login KF-002 Logout KF-003 Login Dengan Biometrik Sidik Jari KF-004  Input Presensi Masuk Dengan Face Recognition KF-005  Input Presensi Keluar Dengan Face Recognition KF-006 Deteksi Lokasi Dengan Geolocator KF-007 Input Izin Sakit KF-008 Input Izin Cuti

## 3. Use Case Diagram Admin
Gambar 5. Use Case Admin
4. Use Case Diagram User
Gambar 6. Use Case User

## 5. Sequence Presensi Masuk Dengan Face Recognition
Gambar 7. Sequence Presensi Masuk Dengan Face Recognition

## 6. Class Diagram
Gambar 8. Class Diagram

## 7. ERD (Entity Relationship Diagram)

## Gambar 9. ERD

## 4.3 Sprint Plannig
Sprint  planning  adalah  periode  waktu  aktual  saat  tim  Scrum  bekerja  bersama  untuk menyelesaikan Increment. Biasanya Sprint berlangsung selama dua minggu, tetapi dapat berbeda-beda tergantung pada kebutuhan proyek dan tim.
Tabel 3. Sprint Planning No Product Backlog Estimasi Waktu  Prioritas 1 Pembangunan Face Recognition 1 Bulan High 2 Pembangunan Deteksi Lokasi 1 Minggu High 3 Pembangunan Login Dengan Biometric Sidik jari 1 Minggu High 4 Pembangunan API 3 Minggu Middle 5 Pembangunan Database 2 Minggu High 6 Pembangunan Aplikasi Base Mobile (User) 2 Minggu Middle 7 Pembangunan Aplikasi Base Website (Admin) 2 Minggu Middle

## 4.4 Sprint Review
Tim  berkumpul  untuk  sesi  informal  untuk  meninjau  pekerjaan  yang  telah  di  selesaikan  dan menunjukannya kepada pemangku kepentingan.

## 1. User Interface
Gambar 11. Login User Interface Biometric Sidik Jari
Gambar 12. Presensi Masuk User Interface
Gambar 13. Presensi Keluar User Interface
Gambar 14 . Admin Interface Login
Gambar 15. Admin Interface Presensi Masuk
Gambar 16. Admin Interface Presensi Keluar

## 5. K ESIMPULAN
Berdasarkan  pembahasan  sebelumnya  maka  di  peroleh  kesimpulan  sebagai  berikut, Memudahkan karyawan untuk melakukan presensi secara terarah tanpa harus menunggu giliran untuk mengisi  presensi,  Membantu  administrator  untuk  melihat  aktifitas  presensi,  Membantu  mengurangi kecurangan dan manipulasi data dengan membuat sistem Face Recognition dan deteksi lokasi. Aplikasi ini masih terdapat beberapa kekurangan dan memungkinkan untuk dikembangkan lebih lanjut seperti menambahkan  fitur  notifikasi  pada  website  aplikasi  (admin),  menambahkan  fitur  tepat  waktu  dan terlambat pada keterangan, menambahkan fitur rekap data.

## D AFTAR P USTAKA
[1]  Nisa Destiana. (2022, Oct) Majoo. [Online]. https://majoo.id/solusi/detail/presensi-adalah
[2]  Rizka Maria Merdeka. (2022, March) Greatdayhr. [Online]. https://greatdayhr.com/id-id/blog/face- recognition-adalah/
[3]  Putri Aprilia. (2021, Sept) Niagahoster. [Online]. https://www.niagahoster.co.id/blog/pengertian- flutter/
[4]  Faradilla  A.  (2022,  Dec)  Hostinger.  [Online].  https://www.hostinger.co.id/tutorial/api- adalah#Pengertian_API./