Anda di halaman 1dari 74

SISTEM KEHADIRAN PEMUSTAKA MENGGUNAKAN FACE

RECOGNITION

(Skripsi)

Oleh

DITA NUR ISNAYNI

NPM 1615061002

PROGRAM STUDI TEKNIK INFORMATIKA

JURUSAN TEKNIK ELEKTRO

FAKULTAS TEKNIK

UNIVERSITAS LAMPUNG

BANDAR LAMPUNG

2021
SISTEM KEHADIRAN PEMUSTAKA MENGGUNAKAN FACE

RECOGNITION

Oleh

DITA NUR ISNAYNI

(Skripsi)

Sebagai Salah Satu Syarat untuk Mencapai Gelar

SARJANA TEKNIK

Pada

Program Studi Teknik Informatika Jurusan Teknik Elektro

Fakultas Teknik Universitas Lampung

FAKULTAS TEKNIK

UNIVERSITAS LAMPUNG

BANDAR LAMPUNG

2021
ABSTRAK

SISTEM KEHADIRAN PEMUSTAKA MENGGUNAKAN FACE


RECOGNITION

Oleh

DITA NUR ISNAYNI

Computer vision merupakan bidang studi yang berkaitan dengan teknik


pengembangan untuk membantu komputer memahami konten gambar digital
seperti foto dan video. Salah satu pengaplikasian Computer Vision adalah Face
Recognition. Face Recognition dapat digunakan sebagai daftar hadir pemustaka di
perpustakaan Universitas Lampung. Dalam membangun face recognition sebagai
daftar hadir pemustaka ini menggunakan algoritma deteksi YOLO sebagai
algoritma deteksi objek, SQL database sebagai penyimpan data mahasiswa dan data
pemustaka yang dikenali sistem serta menggunakan NodeJS untuk membangun
halaman report.
Algoritma YOLO yang digunakan untuk melatih dataset yaitu YOLOv5
dengan model versi small. Dataset yang digunakan sebanyak 2.334 data dengan
data train sebanyak 1636, data validation sebanyak 466, dan data test sebanyak 232.
Dari 2.334 data ini dibagi menjadi 10 kelas yang dilatih sebagai sample. Sebelum
data dilatih data terlebih dahulu dilakukan menyeragaman data atau pre-processing
data seperti resize 416*416 pixel. Pre-processing data menggunakan platform
Roboflow. Hasil pelatihan sistem menghasilkan weight yang digunakan untuk
pengujian deteksi objek. Model weight yang telah dibangun dilakukan penilaian
menggunakan confusion matrix multiclass untuk mendapat nilai akurasi, recall dan
precission.
Berdasarkan perhitungan menggunakan confusion matrix multiclass. Sistem
kehadiran pemustaka menggunakan face recognition memiliki nilai rata-rata
akurasi sebesar 92.7% pada pengujian foto dan 87,35% pada pengujian video serta
memiliki nilai rata-rata recall dan precision sebesar 87.35% pada pengujian
menggunakan foto.dan 74.09% pada pengujian video. Sistem daftar hadir
pemustaka ini berhasil mengenali wajah telah dilatih datanya dan berhasil
menyimpan wajah yang dikenali ke dalam database. Penelitian ini menggunakan
metode Kanban dengan total 5 antrian pekerjaan pada backlog.

Kata kunci: YoloV5, Roboflow, SQL database, Javascript, dan Confusion Matrix
ABTRACT

VISITOR ATTENDANCE-LIST SYSTEM USING FACE RECOGNITION

By

DITA NUR ISNAYNI

Computer vision is a field of study that deals with development techniques to


help computers understand the content of digital images such as photos and videos.
One application of Computer Vision is Face Recognition. Face Recognition can be
used as an attendance list for users at the University of Lampung library. In
building face recognition as a user attendance list, we use the YOLO detection
algorithm as an object detection algorithm, SQL database to store student data and
user data recognized by the system, and use NodeJS to build report pages.
The YOLO algorithm used to train the dataset is YOLOv5 with a small version
of the model. The dataset used is 2,334 data with 1636 train data, 466 validation
data, and 232 test data. From 2,334 this data is divided into 10 classes that are
trained as samples. Before the data is trained, the data is first carried out uniformly
or pre-processing the data, such as resizing 416*416 pixels. Pre-processing data
using the Roboflow platform. The results of the system training produce weights
that are used for object detection testing. The weighted model that has been built is
assessed using a multiclass confusion matrix to get accuracy, recall, and precision
values.
Based on calculations using a multiclass confusion matrix. The user
attendance system using face recognition has an average accuracy value of 92.7%
in photo testing and 87.35% in video testing and has an average recall and
precision value of 87.35% in photo testing and 74.09% in video testing. This user
attendance list system has succeeded in recognizing faces, having trained the data,
and successfully saving the recognized faces into the database. This study uses the
Kanban method with a total of 5 work queues in the backlog.

Keywords : YoloV5, Roboflow, SQL database, Javascript, dan Confusion Matrix


Judul Skripsi : SISTEM KEHADIRAN PEMUSTAKA

MENGGUNAKAN FACE RECOGNITION

Nama Mahasiswa : Dita Nur Isnayni

Nomor Pokok Mahasiswa : 1615061002

Jurusan : Teknik Elektro

Fakultas : Teknik

MENYETUJUI
1. Komisi Pembimbing
Pembimbing 1 Pembimbing 2

Dr. Eng. Mardiana, S.T., M.T Ir. Meizano Ardhi Muhammad,S.T.,M.T.


NIP 197216031999032002 NIP 198105282012121001

2. Mengetahui
Ketua Jurusan Ketua Program Study
Teknik ELektro Teknik Informatika

Khairudin. S.T., M.Sc., Ph.D.Eng. Mona Arif Muda, S.T.,M.T


NIP 19700719 200012 1 001 NIP.19711112 200003 1 002
MENGESAHKAN

1. Tim Penguji

Ketua : Dr. Eng. Mardiana, S.T., M.T _______

Sekretaris : Ir. Meizano Ardhi Muhammad, S.T.,M.T _______

Penguji : Ir. Gigih Forda Nama, S.T., M.T.I _______

2. Dekan Fakultas Teknik

Prof. Drs. Ir. Suharno, Ph.D., IPU., ASEAN Eng.

NIP. 19620717 198703 1 002

Tanggal Lulus Ujian Skripsi : 10 Mei 2021


SURAT PERNYATAAN

Saya yang bertandatangan dibawah ini, menyatakan bahwa skripsi yang saya yang

berjudul “Sistem Kehadiran Pemustaka Menggunakan Face Recognition” dibuat

oleh saya sendiri. Semua hasil yang tertuang dalam skripsi ini telah mengikuti

kaidah penulisan karya ilmiah Universitas Lampung.

Apabila di kemudian hari terbukti bahwa skripsi ini merupakan salinan atau dibuat

oleh orang lain, maka saya bersedia menerima sanksi sesuai dengan ketentuan

hokum atau akademik yang berlaku.

Bandar Lampung, 10 Oktober 2021

Yang membuat Pernyataan

Dita Nur Isnayni


NPM 1615061002
RIWAYAT HIDUP

Penulis dilahirkan di Gadingrejo pada tanggal 15 September

1997 sebagai anak kedua dari Bapak Prastyo (alm) dan Ibu

Maryati. Penulis telah memulai Pendidikan pada tahun 2002-

2004 di TK Pertiwi Gadingrejo. Lalu masuk jenjang

Pendidikan dasar selama 6 tahun dimulai pada tahun 2004-

2010 di SDN 1 Gadingrejo selama sekolah di SD penulis aktif sebagai anggota

dalam kegiatan pramuka selama 2 tahun pada tahun 2007-2009. Kemudian pada

tahun 2010-2013 mengikuti Pendidikan Sekolah Menengah Pertama di SMPN 1

Gadingrejo selama masa SMP penulis juga aktif sebagai anggota dalam kegiatan

pramuka, paskibra dan paduan suara. Selanjutnya pada tahun 2013-2016 telah

mengikuti Pendidikan Menengah Atas di SMAN 1 Gadingrejo. Selama bersekolah

di SMA, penulis akif sebagai anggota dalam kegiatan pramuka, olimpiade

matematika dan English Club divisi Scrable. Penulis pernah mengikuti beberapa

perlombaan seperti Olimpiade Matematika Tingkat Kabupaten sebagai Peserta dan

beberapa kali perlombaan Scrable di Unila sebagai juara umum tim dan di polinela

sebagai peserta. Penulis kemudian melanjutkan Pendidikan tinggi di Program Studi

Teknik Informatika Universitas Lampung pada tahun 2016. Selama diperguruan

tinggi penulis aktif sebagai anggota dalam organisasi kemahasiswaan yaitu

Himpunan Mahasiswa Teknik Elektro (HIMATRO) pada tahun 2017 di divisi

Sosial dan kewirausahaan dan pada tahun 2018 di divisi Pengembangan

Keteknikan. Selama mengikuti HIMATRO penulis pernah diamanahkan menjadi


sekretaris dalam kegiatan pengabdian kepada masyarakat yang dilaksanakan di

Kiluan pada tahun 2018.

Dalam bidang keilmuan penulis pernah menjadi asisten praktikum rekayasa

perangkat lunak pada tahun 2018 dan 2020, asisten praktikum algoritma dan

pemograman pada tahun 2018, asisten praktikum sistem basis data pada tahun 2019.

Pada tahun 2019 penulis pernah melaksanakan kerja praktik di salah satu

perusahaan yang berlokasi di Bandung yaitu PT. Bandung Zona Teknologi. Penulis

juga pernah mengikuti projek bersama dosen sebagai Technical Writer pada

aplikasi Sistem Informasi Sumberdaya Terintgrasi (SISTER) dari IPTEK DIKTI.

Penulis telah melaksanakan Kuliah Kerja Nyata (KKN) di desa Gunung Sugih,

Kecamatan Batu Brak, Kabupaten Lampung Barat.

Penulis juga aktif dalam kegiatan desa yaitu karang taruna rw 003 dan pekon

Gadingrejo Utara. Penulis diamanahkan sebagai sekretaris 1 pada karang taruna rw

003 dan diamanahkan sebagai wakil ketua divisi Pendidikan pada karang taruna

pekon Gadingrejo Utara pada tahun 2021. Penulis pernah mengikuti kegiatan

sensus penduduk untuk data SDGs (Sustainable Development Goals).


MOTTO HIDUP

“Hai orang-orang yang beriman, bertakwalah kepada Allah dan hendaklah setiap

diri memperhatikan apa yang telah diperbuatnya untuk hari esok (akhirat); dan

bertakwalah kepada Allah, sesungguhnya Allah maha mengetahui apa yang kamu

kerjakan”

(Q.S Al-Hasyr [9]:18)

“Man Shabara Zafira”

“Bersabarlah kalian, sesungguhnya Allah bersama orang-orang yang sabar”

(Q.S Al Anfal [8]:46)

“Sesungguhnya Allah tidak akan mengubah keadaan suatu kaum, sebelum kaum

itu sendiri mengubah apa yang ada pada diri mereka”

(Q.S Ar-Ra’d [13]:11)


SANWACANA

Bissmillahirrohmannirrohim

Puji syukur penulis sampaikan kepada Allah SWT, Alhamdulillahirobbil’alamin

atas segala nikmat yang diberikan-Nya sehingga penulis dapat menyelesaikan

skripsi yang berjudul “Sistem Daftar Hadir Pemustaka Menggunakan Face

Recognition”. Sholawat serta salam penulis sampaikan untuk teladan bagi penulis

yakni Rasulullah Muhammad Shallallahu’alaihi Wassalam.

Skripsi ini disusun sebagai salah satu syarat untuk memperoleh gelar Sarjana

Teknik pada program studi Teknik Informatika, Jurusan Teknik Elektro, Fakultas

Teknik, Universitas Lampung. Dalam penyusunan skripsi ini penulis telah banyak

mendapat ilmu baru, diberi arahan, bimbingan, materi dan saran oleh dosen

pembimbing, serta semua pihak yang telah membantu terselesaikannya skripsi ini.

Untuk itu, pada kesempatan ini penulis ingin menyampaikan ucapan terimakasih

kepada:

1. Bapak Mona Arif Muda, S.T., M.T selaku kepala program studi Teknik

Informatika Universitas Lampung sekaligus dosen pembimbing akademik

penulis.
2. Ibu Dr. Eng. Mardiana, S.T., M.T selaku pembimbing utama yang telah

memberikan bimbingan, ilmu dan saran selama menyelesaikan skripsi ini.

3. Bapak Ir. Meizano Ardhi Muhammad, S.T., M.T selaku pembimbing

pendamping yang selalu memberi arahan penulis dalam mengerjakan projek

skripsi dan memberi ilmu serta saran selama mengerjakan skripsi.

4. Bapak Ir. Gigih Forda Nama, S.T., M.T.I selaku dosen penguji yang selalu

memberi pelajaran, ilmu dan saran dalam menyelesaikan skripsi.

5. Seluruh dosen program studi Teknik Informatika atas segala ilmu dan

pengalaman yang telah diberikan selama berkuliah.

6. Ibu tercinta Maryati yang mampu berperan sebagai ibu, teman sekaligus

ayah bagi penulis. Rifan Kurniadi sebagai kakak satu-satunya yang selalu

menjaga penulis dalam segala hal.

7. Teman-teman Fitri, Ardi, Joni, Dianati, Elvillia, Elyas, Indah, Nanda, Nima,

Tiara dan Zhafira yang telah membantu penulis dalam menggumpulkan

dataset sehingga skripsi ini dapat terselesaikan.

8. Teman-teman seperjuangan Teknik Elektro Universitas Lampung

khususnya Angkatan SINS 2016.

9. Sahabat tercinta Dyah, Nanda, dan Rizal yang selalu memberi semangat

kepada penulis.

10. Juga kepada seluruh keluarga, saudara, sahabat dan teman lainnya yang

tidak dapat disebutkan satu persatu.


Semoga Allah SWT membalas semua amal baiknya. Penulis berharap skripsi ini

dapat beruguna bagi kita semua.

Bandar Lampung, 10 Oktober 2021

Dita Nur Isnayni


DAFTAR ISI

Halaman

DAFTAR GAMBAR ........................................................................................ xviii

DAFTAR TABEL................................................................................................ xx

BAB 1 PENDAHULUAN ..................................................................................... 1

1.1 Latar Belakang.......................................................................................... 1


1.2 Tujuan Penelitian ...................................................................................... 2
1.3 Rumusan Masalah .................................................................................... 3
1.4 Batasan Masalah ....................................................................................... 3
1.5 Sistematika Penulisan ............................................................................... 3

BAB II TIJAUAN PUSTAKA.............................................................................. 6

2.1 Computer Vision ....................................................................................... 6


2.1.1 Definisi Compter Vision.................................................................... 6
2.1.2 Sejarah Computer Vision................................................................... 6
2.2 Face Recognition ...................................................................................... 7
2.2.1 Sejarah Face Reconition ................................................................... 7
2.2.2 Pengertian Face Recognition ............................................................ 8
2.3 Deep Learning ........................................................................................ 11
2.4 You Only Look Once (YOLO) ................................................................ 12
2.4.1 Pengertian Yolo............................................................................... 12
2.4.2 Sejarah YOLO................................................................................. 14
2.4.3 YOLOv5 .......................................................................................... 14

xv
2.5 LabelImg ................................................................................................. 18
2.6 Roboflow ................................................................................................. 18
2.7 Anaconda 3 ............................................................................................. 19
2.8 Bahasa Pemograman Python .................................................................. 19
2.8.1 OpenCV ........................................................................................... 20
2.8.2 NumPy ............................................................................................. 20
2.8.3 Matplotlib ........................................................................................ 21
2.8.4 Pillow .............................................................................................. 21
2.8.5 PyYAML .......................................................................................... 21
2.8.6 Scipy ................................................................................................ 22
2.8.7 Tensorboard .................................................................................... 22
2.8.8 Torch ............................................................................................... 22
2.8.9 Tqdm ................................................................................................ 22
2.8.10 Seaborn ........................................................................................... 23
2.8.11 Pandas ............................................................................................. 23
2.9 Webcam .................................................................................................. 23
2.10 Node Js................................................................................................ 24
2.11 Confusion Matrix ................................................................................ 24
2.12 Perpustakaan ....................................................................................... 26
2.13 Perpustakaan Universitas Lampung.................................................... 27
2.14 Metode Kanban ................................................................................... 28
2.15 Penelitian Terkait ................................................................................ 29

BAB III METODE PENELITIAN .................................................................... 32

3.1 Waktu dan Tempat ................................................................................. 32


3.2 Alat dan Bahan ....................................................................................... 32
3.3 Tahapan Penelitian ................................................................................. 34
3.3.1 Define .............................................................................................. 35
3.3.2 Design ............................................................................................. 37
3.3.3 Build ................................................................................................ 38
3.3.4 Testing/Pengujian............................................................................ 44
3.3.5 Report .............................................................................................. 46

xvi
BAB IV HASIL DAN PEMBAHASAN............................................................. 47

4.1 Hasil........................................................................................................ 47
4.1.1 Define .............................................................................................. 47
4.1.2 Pemodelan (Design) ........................................................................ 49
4.1.3 Build ................................................................................................ 50
4.1.4 Test .................................................................................................. 71
4.1.5 Report .............................................................................................. 97
4.2 Pembahasan Kanban............................................................................. 102
4.2.1 Membangun Sistem Pengenalan wajah ......................................... 102
4.2.2 Membangun database sistem......................................................... 104
4.2.3 Membuat Tampilan Data yang Diambil dari Database ................. 104
4.2.4 Membuat Fitur pada Halaman Report ........................................... 105
4.2.5 Melakukan Perhitungan Menggunakan Confusion Matrix ........... 105

BAB V KESIMPULAN..................................................................................... 106

5.1 Kesimpulan ........................................................................................... 106


5.2 Saran ..................................................................................................... 107
DAFTAR PUSTAKA ........................................................................................ 108

LAMPIRAN ....................................................................................................... 113

xvii
DAFTAR GAMBAR

Gambar Halaman
Gambar 2. 1 Sejarah Face Recognition[3] .............................................................. 7
Gambar 2. 2 Proses Pengenalan Wajah[3] .............................................................. 9
Gambar 2. 3 Contoh Network Architecture untuk pengenalan wajah[3].............. 10
Gambar 2. 4 Ruang lingkup kecerdasan buatan .................................................... 11
Gambar 2. 5 Konsep Dasar Deep Learning .......................................................... 12
Gambar 2. 6 Deteksi Model Yolo[7]..................................................................... 13
Gambar 2. 7 CSP DenseNet [12] .......................................................................... 15
Gambar 2. 8 Spatial Pyramid Pooling Layer[13] .................................................. 16
Gambar 2. 9 PANet[14] ........................................................................................ 17
Gambar 2. 10 Contoh Penggunaan LabelImg ....................................................... 18
Gambar 2. 11 Logo Roboflow .............................................................................. 18
Gambar 2. 12 Logo Anaconda .............................................................................. 19
Gambar 2. 13 Webcam pada Laptop ..................................................................... 23
Gambar 2. 14 Logo Node.Js.................................................................................. 24
Gambar 2. 15 Confusion Matrix ........................................................................... 25
Gambar 2. 16 Perpustakaan Universitas Lampung ............................................... 27
Gambar 3. 1 Alur Penelitian.................................................................................. 35
Gambar 3. 2 User's Story ...................................................................................... 36
Gambar 3. 3 Fitur untuk Sistem Daftar Hadir Pemustaka .................................... 37
Gambar 3. 4 Daftar Backlog.................................................................................. 38
Gambar 3. 5 Diagram Alir Deteksi Objek Menggunakan Model Custom YoloV5-s
............................................................................................................................... 39
Gambar 3. 6 Diagram Alir Membangun Dataset .................................................. 40
Gambar 3. 7 Diagram Alir Training Dataset ......................................................... 40
Gambar 3. 8 Diagram Alir Pengujian ................................................................... 41
Gambar 3. 9 Diagram Alir Pengujian Real-time................................................... 41
Gambar 3. 10 Diagram Alir Tiap Library pada YOLOv5 .................................... 42
Gambar 3. 11 Entity Relation Diagram................................................................. 44
Gambar 4. 1 User's Story ...................................................................................... 48
Gambar 4. 2 Fitur Terpilih .................................................................................... 48
Gambar 4. 3 Backlog Pengembangan Sistem ....................................................... 49
Gambar 4. 4 Kanban Board Progres 1 .................................................................. 50
Gambar 4. 5 Annonation Image ............................................................................ 51

xviii
Gambar 4. 6 Upload dataset ke Roboflow ............................................................ 53
Gambar 4. 7 Train/test Split .................................................................................. 53
Gambar 4. 8 Prepocessing Options ....................................................................... 54
Gambar 4. 9 Augmentation Output ....................................................................... 54
Gambar 4. 10 Model Custom YoloV5-s ............................................................... 56
Gambar 4. 11 Perintah Training ............................................................................ 57
Gambar 4. 12 Arsitektur Model YoloV5-s ........................................................... 60
Gambar 4. 13 Proses Training Dataset .................................................................. 62
Gambar 4. 14 Grafik Result Training ................................................................... 63
Gambar 4. 15 Train batch 1................................................................................... 65
Gambar 4. 16 Train batch 2................................................................................... 66
Gambar 4. 17 Test batch 0_gt ............................................................................... 66
Gambar 4. 18 Test batch 0_pred ........................................................................... 67
Gambar 4. 19 Kanban Board Progres 2 ................................................................ 67
Gambar 4. 20 Database mahasiswa ....................................................................... 68
Gambar 4. 21 Sourcode untuk menghubungkan sistem dengan Database............ 68
Gambar 4. 22 Kanban Board Progres 3 ................................................................ 69
Gambar 4. 23 Halaman Report.............................................................................. 70
Gambar 4. 24 Halaman Cetak ............................................................................... 70
Gambar 4. 25 Kanban Board Progres 4 ................................................................ 71
Gambar 4. 26 Perintah Pengujian 1....................................................................... 72
Gambar 4. 27 Hasil Pengujian 1 ........................................................................... 73
Gambar 4. 28 Perintah Pengujian 2....................................................................... 79
Gambar 4. 29 Hasil Pengujian 2 ........................................................................... 79
Gambar 4. 30 Peintah Pengujian 3 ........................................................................ 85
Gambar 4. 31 Hasil Pengujian 3 ........................................................................... 86
Gambar 4. 32 Perintah Pengujian 4....................................................................... 88
Gambar 4. 33 Hasil Pengujian 4 ........................................................................... 88
Gambar 4. 34 Perintah Pengujian Secara Real-time ............................................. 92
Gambar 4. 35 Pengenalan Real-Time ................................................................... 92
Gambar 4. 36 Pengujian Menggunakan Masker ................................................... 94
Gambar 4. 37 Kanban Board Progres 5 ................................................................ 97
Gambar 4. 38 Hasil Deteksi dan Halaman Report ................................................ 97
Gambar 4. 39 Diagram blok kerja sistem.............................................................. 98
Gambar 4. 40 Source Code Mengambil Data Hasil Deteksi Real-Time............... 98
Gambar 4. 41 Source Code untuk Menghubungkan Halaman WEB dengan
Database ................................................................................................................ 99
Gambar 4. 42 Source code untuk Push Data ke Halaman Report ......................... 99
Gambar 4. 43 Daftar Backlog 1 .......................................................................... 102
Gambar 4. 44 Daftar Backlog 1 Revisi ............................................................... 103
Gambar 4. 45 Daftar Backlog 2 .......................................................................... 104
Gambar 4. 46 Daftar Backlog 3 .......................................................................... 104
Gambar 4. 47 Daftar Backlog 4 .......................................................................... 105
Gambar 4. 48 Daftar Backlog 5 .......................................................................... 105

xix
DAFTAR TABEL

Tabel Halaman
Tabel 2. 1 Perbedaan Pemrosesan Wajah ............................................................... 9
Tabel 2. 2 Contoh Kanban Board.......................................................................... 28
Tabel 2. 3 Penelitian Terkait ................................................................................. 29
Tabel 2. 4 Skenario uji pada pengujian foto dan video ......................................... 45
Tabel 2. 5 Skenario uji pada pengujian foto dan video ......................................... 46
Tabel 3. 1 Alat-Alat yang Digunakan ................................................................... 32
Tabel 4. 1 Jumlah Data yang Berhasil Diunggah .................................................. 52
Tabel 4. 2 Pembagian Dataset ............................................................................... 55
Tabel 4. 3. Arsitektur Jaringan Custom YOLOv5-s ............................................. 58
Tabel 4. 4 Prosedur Pengujian 1 ........................................................................... 72
Tabel 4. 5 Data Pengujian Pengenalan Wajah menggunakan Data Test .............. 73
Tabel 4. 6 Confusion Matrix untuk foto data test ................................................. 76
Tabel 4. 7 Data Perhitungan TP, TN, FP dan FN ................................................. 77
Tabel 4. 8 Data Hasil Kinerja Sistem Pengenalan Wajah ..................................... 78
Tabel 4. 9 Skenario Pengujian 1 ........................................................................... 78
Tabel 4. 10 Prosedur Pengujian 2 ......................................................................... 78
Tabel 4. 11 Data Pengujian Pengenalan Wajah menggunakan Data Test ............ 80
Tabel 4. 12 Confusion Matrix untuk 60 foto......................................................... 82
Tabel 4. 13 Data Perhitungan TP, TN, FP dan FN ............................................... 83
Tabel 4. 14 Data Hasil Kinerja Sistem Pengenalan Wajah ................................... 84
Tabel 4. 15 Tabel Rata-Rata Pengujian Menggunakan foto ................................. 84
Tabel 4. 16 Skenario Uji 2 .................................................................................... 84
Tabel 4. 17 Prosedur Pengujian 3 ......................................................................... 85
Tabel 4. 18 Skenario Pengujian 3 ......................................................................... 87
Tabel 4. 19 Prosedur Pengujian 4 ......................................................................... 87
Tabel 4. 20 Confusion Matrix untuk Video 2 ....................................................... 89
Tabel 4. 21 Data Perhitungan TP, TN, FP dan FN ............................................... 90
Tabel 4. 22 Data Hasil Kinerja Sistem Pengenalan Wajah ................................... 90
Tabel 4. 23 Rata-Rata Pengujian Menggunakan Video ....................................... 91
Tabel 4. 24 Skenario Pengujian 4 ......................................................................... 91
Tabel 4. 25 Prosedur Pengujian 5 ......................................................................... 91
Tabel 4. 26 Skenario Pengujian 5 ......................................................................... 93
Tabel 4. 27 Perhitungan Kecepatan Deteksi Objek .............................................. 95
Tabel 4. 28 Perhitungan Frame Deteksi Objek ..................................................... 96

xx
BAB 1

PENDAHULUAN

1.1 Latar Belakang

Computer Vision atau Visi Komputer adalah bidang studi yang berkaitan dengan

teknik pengembangan untuk membantu komputer memahami konten gambar

digital seperti foto dan video. Visi Komputer erat kaitannya dengan akuisisi citra,

pemrosesan, klasifikasi, dan pengambilan keputusan yang diikuti

pengidentifikasian citra. Tujuan dari Visi Komputer dapat membantu memahami

gambar digital sehingga didapatkannya sebuah informasi. Visi komputer ini adalah

bidang multidisiplin yang secara luas disebut subbidang kecerdasan buatan dan

machine learning.[1] Salah satu pengaplikasian Computer Vision adalah proses

pengenalan wajah manusia atau lebih dikenal dengan Face Recognition. Dalam

pembangunan face recognition dapat menggunakan algoritma deteksi YOLO.

Pemanfaatan face recognition dapat diterapkan untuk berbagai macam jenis

pengenalan wajah yang salah satunya dimanfaatkan untuk membuat daftar hadir

pemustaka di Universitas Lampung. Daftar hadir pemustaka di Universitas

Lampung saat ini menggunakan scan barcode sehingga pemustaka harus memindai

1
KTM terlebih dahulu sebelum menggunakan fasilitas perpustakaan. Perpustakaan

Universitas Lampung merupakan perpustakaan pusat sehingga ramai dikunjungi

setiap hari. Namun, tidak semua pemustaka mengisi daftar hadir pemustaka

sehingga daftar hadir pemustaka tidak terdata dengan baik. Dengan memanfaatkan

bidang ilmu Computer Vision maka perpustakaan Universitas Lampung akan

menghadirkan inovasi terknologi terbaru yaitu pengenalan wajah pemustaka

menggunakan face recognition.

Tidak hanya mengenali wajah pemustaka saja, sistem ini juga dapat menyimpan

data report atau data pemustaka yang dikenali. Data report dari pengenalan wajah

pengunjung akan disimpan dalam sebuah database pengunjung pemustaka.

Pengenalan wajah pemustaka ini akan memudahkan pustakawan dalam mengolah

jumlah rata-rata pengunjung per-hari, per-bulan dan per-tahun. Jumlah rata-rata

pemustaka ini merupakan salah satu aspek yang mempengaruhi akreditasi

perpustakaan perguruan tinggi. Semakin besar nilai rata-rata pemustaka maka

perpustakaan akan semakin baik.

1.2 Tujuan Penelitian

Tujuan dari penelitian ini yaitu membangun sistem daftar hadir pengunjung

perpustakaan Universitas Lampung menggunakan face recognition dengan

algoritma deteksi YoloV5.

2
1.3 Rumusan Masalah

Rumusan masalah yang digunakan untuk mengerjakan penelitian ini yaitu

bagaimana membangun sistem daftar hadir pengunjung perpustakaan Universitas

Lampung menggunakan face recognition dengan algoritma YOLOv5.

1.4 Batasan Masalah

1. Penelitian dikerjakan hanya sampai prototipe sistem daftar hadir permustaka

menggunakan face recognition dengan algoritma YOLOv5.

2. Pengujian dilakukan pada pengujian fitur pengenalan wajah, tanpa melibatkan

user.

1.5 Sistematika Penulisan

Sistematika penulisan ini dibagi menjadi 5 bab, antara lain:

BAB I: PENDAHULUAN

Pada bab ini menjelaskan mengenai latar belakang permasalahan, tujuan penelitian,

rumusan masalah, batasan masalah dan sistematika penulisan

BAB II: TINJAUAN PUSTAKA

Pada bab ini berisi kajian pustaka mengenai:

1. Computer Vision

2. Face Recognition

3. Deep Learning

4. You Only Look Once (YOLO)

3
5. LabelImg,

6. Roboflow

7. Anaconda 3

8. Bahasa Pemograman Python

(Open Cv, NumPy, Matplotlib, Pillow, PyYAML, Scipy, Tensorboard,

Torch, Tqdm, Seaborn, Pandas)

9. Webcam

10. Node.Js,

11. Confusion Matrix,

12. Perpustakaan, Perpustakaan Universitas Lampung

13. Metode Kanban

14. Penelitian Terkait.

BAB III: METODE PENELITIAN

Pada bab ini menjelaskan waktu dan tempat pelaksanan penilitian, alat dan bahan

serta tahapan penelitian (Define, Design, Build, Testing, dan Pelaporan) yang

dilakukan.

BAB IV: HASIL DAN PEMBAHASAN

Hasil dan Pembahasan menjelaskan mengenai hasil penelitian (Define, Design,

Build, Testing, dan Pelaporan) serta pembahasan secara lengkap mengenai Kanban

board yang digunakan.

4
BAB V: SIMPULAN DAN SARAN

Pada bab ini berisi tentang kesimpulan hasil penelitian dan saran untuk

pengembangan penelitian kedepannya.

DAFTAR PUSTAKA

Bagian ini berisi literatur-literatur yang digunakan untuk penelitian.

LAMPIRAN

Bagian ini berisi lampiran-lampiran yang menunjang laporan.

5
BAB II

TIJAUAN PUSTAKA

2.1 Computer Vision

2.1.1 Definisi Compter Vision

Computer Vision atau Visi Komputer adalah bidang studi yang berkaitan dengan

Teknik pengembangan untuk membantu komputer memahami konten gambar

digital seperti foto dan video. Visi Komputer erat kaitannya dengan akuisisi citra,

pemrosesan, klasifikasi, dan pengambilan keputusan yang diikuti

pengidentifikasian citra. Tujuan dari Visi Komputer adalah membantu memahami

gambar digital sehingga didapatkannya sebuah informasi. Visi komputer ini adalah

bidang multidisiplin yang secara luas disebut subbidang kecerdasan buatan dan

machine learning.[1]

2.1.2 Sejarah Computer Vision

Sejarah Computer vision dimulai pada tahun 1960-an. Saat itu, seorang siswa

bernama Larry Robert dari MIT mengerjakan tesis yang membahas kemungkinan

mengestraksi informasi geometri 3D dari tampilan perspektif blok 2D. Pada tahun

1970-an, dikembangkan identifikasi objek, pelabelan citra, teknik optical flow,

deteksi api, kompensasi gerak, dan pemodelan polyhedral. Pada tahun 1980-an

6
aspek matematika untuk pemodelan kontur, pengenalan tekstur, dan skala ruang

mulai dipelajari. Lalu pada tahun 1990-an penelitian mengenai rekonstruksi 3d

dalam bidang computer vision dilakukan, hingga tahun akhir 1990-an computer

vision telah mencapai berbagai bidang ilmu komputer antara lain computer graphic,

image processing, photogrammetry, dan masih banyak bidang lainnya.[2]

2.2 Face Recognition

2.2.1 Sejarah Face Reconition

Gambar 2. 1 Sejarah Face Recognition[3]

Gambar 2.1 menjelaskan tentang sejarah perkembangan Face Recognition. Secara

umum terdapat 4 metode Face Recognition yaitu holistic learning, Local

Handcraft, Shallow Learning dan Deep Learning. Pada awal 1990-an studi tentang

Face Recognition menjadi popular di komunitas CVPR setelah sejarah pendekatan

Eigenface yang mengadopsi metode holistic learning. Metode holistic learning

(metode pengenalan wajah secara keseluruhan) terus berkembang hingga tahun

2000-an. Namun, metode ini gagal mengatasi masalah ketika terjadi perubahan

wajah yang tidak terkontrol atau yang menyimpang dari asumsi sebelumnya.

Kemudian diawal tahun 2000-an Gabor dan Local Binary Pattern berbasis local

7
handcraft mencapai kinerja yang kuat dengan ekstensi bertingkat dan berdimensi

tinggi, juga melakukan pemfilteran lokal yang tidak berubah. Sayangnya, local

handcraft memiliki kekurangan dalam fitur khususnya [3]

Pada tahun 2010-an learning-based local memperkenalkan shallow learning yang

secara umum menggunakan metode tradisional dalam mengenali wajah yaitu

dengan satu atau dua representasi layers seperti pemfilteran, histogram, dan

klasifikasi. Para peneliti meningkatkan riset untuk meningkatkan pre-processing,

deskripstor local dan transformasi fitur. Namun, hampir satu dekade shallow hanya

meningkatkan LFW Benhmark menjadi sekitar 95% yang menunjukkan shallow

tidak cukup untuk mengestraksi fitur identitas yang stabil ketika berbeda dengan

dunia nyata. Tetapi, pada tahun 2012 AlexNet memenangkan kompetisi ImageNet

dengan margin besar menggunakan Teknik yang disebut dengan Deep Learning.

Metode Deep Learning, seperti CNN menggunakan cascade dari pemrosesan

multiple layers untuk ekstraksi dan tranformasi fitur. CNN ini menggunakan

beberapa layer dengan layer pertama mirip dengan Gabor, layer kedua mempelajari

fitur tekstur yang lebih kompleks, layer ketiga lebih kompleks dan beberapa

struktur sederhana mulai muncul seperti hitung tinggi dan mata besar, layer

keempat keluaran jaringan yang cukup menjelaskan atribut wajah. [3]

2.2.2 Pengertian Face Recognition

Face recognition (pengenalan wajah) merupakan salah satu bidang dari Computer

Vision yang memperlajari bagaimana sebuah komputer dapat mengenali wajah

8
secara otomatis. Sistem ini dapat dikatakan sebagai sistem visual manusia tentang

pengenalan wajah dan desain antarmuka manusia-komputer. Untuk sebuah

komputer dapat mengenali wajah seseorang, maka dapat dibagi menjadi 3 langkah

yaitu, pemrosesan wajah dapat menggunakan gambar atau video, ekrtrasi fitur

seperti melakukan normalisasi data, dan implementasi dari ekstraksi fitur[3]. Simak

gambar 2.2 berikut ini:

Gambar 2. 2 Proses Pengenalan Wajah[3]

a. Pemrosesan wajah

Pemrosesan wajah diperlukan untuk pembelajaran tentang bagaimana kondisi

wajah, seperti pose, iluminasi, ekspresi, dan oklusi yang dapat mempengaruhi

peforma face recognition. Terdapat dua proses pemrosesan wajah yaitu one to many

dan many to one. Tabel berikut akan menjelaskan perbedaannya.

Tabel 2. 1 Perbedaan Pemrosesan Wajah

Data Processing Deskripsi Subsetting


one to many Metode ini menghasilkan 3d model, 2d deep
banyak patch atau gambar dari model, dara
augmentation

9
variabilitas berpose dari satu
gambar
many to one Metode ini memulihkan Antoencoder, CNN,
pandangan kanonik gambar GAN
wajah dari satu atau banyak
gambar pandang nonfrontal,
kemudian, FR dapat dilakukan
seolah-olah itu di bawah kondisi
yang terkendali.

b. Deep Feature Ektraction, terdapat dua tahap yaitu Network Architecture

(jaringan arsitektur memiliki dua kategori yaitu backbone dan jaringan

assembled) dan Loss Funtion

Gambar 2. 3 Contoh Network Architecture untuk pengenalan wajah[3]

c. Face Matching by Deep Feature

Face Recognition dapat dikategorikan sebagai verifikasi wajah dan identifikasi

wajah. Dalam scenario, sekumpulan subjek dilakukan inisialisasi dalam satu galeri

10
dan selama pengujian akan terdapat subjek baru. Setelah deep network melakukan

training terhadap data besar dengan kemungkinan nilai loss Function, lalu gambar

test juga dilakukan pelatihan melalui jaringan tersebut sehingga mendapatkan

representasi fitur. Verifikasi akan melihat satu per satu gambar yang serupa antara

galeri dan gambar ujinya.[3]

2.3 Deep Learning

Gambar 2. 4 Ruang lingkup kecerdasan buatan

Deep Learning merupakan salah satu metode pembelajaran Machine Learning yang

memungkinkan komputer untuk memperlajari dengan menyesuaikan sifat manusia.

Deep Learning mampu membedakan objek baik berupa manusia atau benda sekitar.

Dalam deep learning dikenal istilah neural network yang mengacu pada

neurobiologi yang mengacu pada pembelajaran otak manusia. Simak gambar

berikut untuk memahami konsep Deep Learning: [4]

11
Gambar 2. 5 Konsep Dasar Deep Learning

Gambar 2.5 merupakan konsep dasar Deep Learning, pada Deep Learning terdapat

proses konvolusi, konvolusi adalah proses penjumlahan dari perkalian tiap titik

pada kernel dengan setiap titik pada dungsi masukan. Kernel dioperasikan secara

bergeser dengan fungsi f(x). Untuk menggeser tiap kernel digunakan stride. Setiap

kali konvolusi nilai pada kernel dan stride dapat dimodifikasi. [5]

2.4 You Only Look Once (YOLO)

2.4.1 Pengertian Yolo

Yolo (You Only Look Once) merupakan algoritma deteksi object secara real-time

dengan tingkat akurasi yang tinggi. Algoritma YOLO menggunakan jarigan saraf

convulation untuk deteksi objek. YOLO menggunakan pendekatan jaringan saraf

tiruan (JST) untuk mendeteksi objek pada sebuah citra. Jaringan ini membagi citra

menjadi beberapa wilayah dan memprediksi setiap kota pembatas. YOLO sangat

baik dalam memprediksi citran dan mengklasifikasi citra. YOLO juga dapat

mendeteksi beberapa citra dalam satu waktu. [6]

12
Konsep deteksi objek pada model YOLO dapat dilihat pada gambar berikut:

Gambar 2. 6 Deteksi Model Yolo[7]

Gambar 2.6 merupakan proses deteksi model Yolo, tahapan deteksi objek akan

seperti penjelasan berikut:

1. Bagi citra menjadi S x S grids. Misal S=7, maka tiap grid cell memiliki

ukuran 64 x 64 pixel. Sehingga terdapat 49 grid cell.

2. Tiap grid cell bertanggung jawab untuk mendeteksi objek dan tiap grid cells

memiliki B kotak pembatas, setiap kotak pembatas terdiri dari 5 prediksi

yaitu: x, y, w, h, dan confidence scores. Confidence scores mencerminkan

seberapa yakin model tersebut bahwa setiap grid berisi objek dan seberapa

akurat dalam memprediksi.

3. Setiap grid cell memprediksi probabilitas kelas (C) yang berisi objek. Setiap

grid cell memprediksi satu set probabilitas kelas.

4. Confidience score akan dicocokan dengan kotak pediksi untuk menentukan

objek tersebut.[7]

13
2.4.2 Sejarah YOLO

YOLO v1 pertama kali dikenalkan pada Mei 2016 oleh Joseph Redmon, ini

merupakan evolusi terbesar dalam deteksi objek secara real-time[7]. Pada

Desember 2017, Joseph memperkenalkan versi lain dari YOLO melalui jurnal yang

berjudul “YOLO9000: Better, Faster, Stronger”[8] Setahun kemudian, Joseph

memperkenalkan YOLOv3: An Incremental Improvement[9], versi ini lebih popular

dan stabil. Namun, pada bulan April 2020, Alexey Bochkovskiy memperkenalkan

YOLOv4[10], beberapa hari setelah YOLOv4, Glen merilis YOLOv5 pada 27 Mei

2020

2.4.3 YOLOv5

YOLOv5 masih dalam tahap pengembangan sehingga sering terjadi pembaruan dari

Ultralytics, pengembang akan mengubah beberapa aspek. Jadi, penulisan penelitian

ini menggunakan rilis awal pada versi 3.0. Saat ini pengembang YOLOv5 belum

menulis paper karena YOLOv5 sedang dalam tahap pengembangan. [11]

YOLO v5 memiliki 4 model untuk training data yaitu YOLOv5-s, YOLOv5-m,

YOLOv5-l, dan YOLOv5-x. Keempat model tersebut memiliki perbedaan pada

arsitektur jaringan atau jumlah layer dan jumlah parameter. Arsitektur YOLOv5

memiliki 3 bagian yaitu Model Backbone, Model Neck dan Model Head.

14
a. Model Backbone

Model Backbone digunakan untuk mengestrak fitur-fitur penting dari citra masukan

yang diberikan. YOLOv5 menggunakan CSP (Cross Stage Partial) Network

sebagai backbone untuk mengestrak fitur informatif dari gambar masukan.

Gambar 2. 7 CSP DenseNet [12]

Gambar 2.7 merupakan proses ekstraksi fitur menggunakan CSP DenseNet. CSP

(Cross Stage Partial) didasarkan pada prinsip yang sama dari DenseNet hanya saja

pada CSP masukan dipisah menjadi 2 porsi, dengan Sebagian akan diteruskan

melalui dense blok yang akan melakukan convolution dan sebagian dikirim

langsung ketahap selanjutnya tanpa diproses. Lalu bagian blok yang melakukan

convolution akan digabungkan (concat).[12] Sebelum masuk pada bagian neck

menggunakan FPN dilakukan penambahan blok yaitu SPP (Spatial Pyramid

Pooling) layer.

15
Gambar 2. 8 Spatial Pyramid Pooling Layer[13]

Gambar 2.8 merupakan gambar SPP layer, membantu mengeskstrak fitur penting

pada gambar input dengan input yang bervariasi dan menghasilkan keluaran sama.

Pada bagian SPP layer menjaga ukuran konstan pada feature maps dengan 3 fitur

dengan ukuran berbeda. Selanjutnya tiap SPP layer menghasilkan. Selanjutnya

dilakukan penggabungan setiap fitur.

b. Model Neck

Model neck pada YOLOv5 menggunakan PANet yang mengadopsi struktur Feature

Pyramids Network (FPN). Model PANet ini digunakan untuk untuk membantu

model mengeneralisasi dengan baik penskalaan objek. Hal ini sangat membantu

mengidentifikasi objek yang sama dengan ukuran dan skala yang berbeda.

16
Gambar 2. 9 PANet[14]

Gambar 2.9 merupakan gambar PANet untuk bagian neck, PANet ini digunakan

untuk klasifikasi fitur.

c. Model Head

Model head digunakan untuk melakukan deteksi akhir, model ini menerapkan

anchor boxes pada fitur dan menghasilkan vektor keluaran akhir dengan probalitas

kelas, skor objektivitas, dan kotak pembatas.

YOLOv5 menggunakan leaky ReLU dan Sigmoid sebagai fungsi aktivasi. Fungsi

aktivasi Leaky ReLU digunakan di lapisan tengah atau hidden layers sedangkan

Sigmoid digunakan dilapisan deteksi akhir. Fungsi aktivasi adalah fungsi untuk

menghitung jumlah input weight dan bias pada jaringan syaraf tiruan sehingga

dapat mengaktifkan dan tidak mengaktifkan neuron. Nilai loss pada YoloV5

dihitung berdasarkan skor obyektifitas, skor probabilitas kelas, dan skor regresi

bounding box. [11]

17
2.5 LabelImg

Gambar 2. 10 Contoh Penggunaan LabelImg

Gambar 2.10 merupakan cotoh penggunaan LabelImg. LabelImg adalah alat anotasi

gambar grafis yang dapat membentuk bounding box setelah pelabelan dilakukan.

LabelImg ditulis menggunakan python dan menggunakan Qt (salah satu GUI pada

python). Output data yang telah diberi label dapat disimpan dalam berbagai format

file, antara lain file XML dalam format PASCAL VOC, format yang digunakan

oleh ImageNet dan telah didukung format YOLO. [15]

2.6 Roboflow

Gambar 2. 11 Logo Roboflow

Gambar 2.11 merupakan logo untuk platform Roboflow. Roboflow merupakan

platform yang bertujuan untuk membangun model deteksi dengan data khusus yang

berkaitan dengan computer vision. Roboflow dapat digunakan untuk mengatur,

mempersiapkan dan menyempurnakan data gambar pelatihan dan anotasi yang

18
telah dibuat. [16] Roboflow dapat diakses digunakan secara gratis dengan maksimal

data sebanyak 1.000 gambar dataset. [17]

2.7 Anaconda 3

Gambar 2. 12 Logo Anaconda

Gambar 2.12 merupakan Logo Anaconda, Anaconda merupakan toolkits data

science yang dapat digunakan untuk package manager dan mengelola environment.

Anaconda memiliki banyak kumpulan package sumber terbuka. Untuk

menjalankan anaconda dapat menggunakan Anaconada Navigator yang memiliki

antarmuka pengguna grafis (GUI) dan dapat juga menjalankan menggunakan

prompt anaconda. Jika menggunakan prompt anaconda perintah yang digunakan

yaitu conda[18]. Conda dapat menginstal, menjalankan dan mengupdate package.

Conda juga dapat membantu dalam manajemen package dan mengelola[19].

2.8 Bahasa Pemograman Python

Python adalah salah satu Bahasa pemograman tingkat tinggi yang dapat melakukan

eksekusi sejumlah instruksi dengan metode orientasi objek, Python juga merupakan

bahasa pemograman yang open souce sehingga dapat digunakan secara bebas

19
bahkan untuk kepentingan komersial. Python dapat digunakan di berbagai macam

sistem operasi. Python juga mendukung struktur code yang memudahkan

programmer mengembangkan software. [20]

Python di dukung dengan berbagai library untuk mendukung kinerja python,

library python yang digunakan pada YoloV5 yaitu:

2.8.1 OpenCV

Open CV adalah sebauah library yang di bangun oleh intel yang dapat digunakan

untuk berbagai platform misalnya windows, Linux, Mac dan lainnya. Open CV lebih

fokus terhadap pemprosesan gambar yang berjalan secara langssung (real-time).

Dalam pengembangannya Open CV dapat ditulis dengan menggunakan Bahasa

pemogaman C# dan Python.[1]

Open CV memiliki tipe data primitif yang hanya dimiliki oleh Open CV, tipe data

ini berupa struct yang didefinisikan dalam cxtypes.h yang akan terisntal bersamaan

saat install Open CV. Beberapa tipe data yang ada di Open CV antara lain: CVPoint,

CVSize, CVRect, CVscalar, CVMat, IplImage dan HighGUI. [1]

2.8.2 NumPy

NumPy (Numerical Python) adalah library python yang menyediakan objek array

multidimensi dan matriks. Array numpy mendukung kegiatan operasi temasuk

20
matematika, logika, manipulasi bentuk, pengurutan, pemilihan, transformasi

fourier distrit, aljabar linier dasar, operasi stastisik dasar, simulasi acak, dan

lainnya. [21]

2.8.3 Matplotlib

Matplotlib adalah library untuk membuat plot 2D array dari python. Matplotlib

biasanya digunakan untuk memvisualisasi data agar mudah dipahami. Matplotlib

dapat menajikan data dalam bentuk gambar plot dan histrogram, [22]

2.8.4 Pillow

Pillow dibangun diatas PIL (Python Image Library) yang merupakan modul penting

dalam pemrosesan gambar pada python. Pillow lebih banyak fungsionalnya

mendukung berbagai macam format gambar antara lain "jpeg", "png", "bmp", "gif",

"ppm", "tiff" dalam python 3.[23]

2.8.5 PyYAML

PyYAML (Python YAML), YAML singkatan dari YAML Ain’t markup language

merupakan bahasa serialisasi data yang dirancang agar mudah dipahami manusia

dan dapat menjalankan tugas sesuai yang diharapkan. YAML ini berguna untuk

mengelola data. [24]

21
2.8.6 Scipy

Scipy (Scientific python) adalah kumpulan algoritma matematika dan fungsinya

dibangun di atas ekstensi Numpy dari python. Scipy dibangun untuk melakukan

perhitungan data scientifix seperti determinan, matrix dan lainnya.[25]

2.8.7 Tensorboard

Tensorboard adalah tootkit visualisasi Tensorflow, tensorboard menyediakan

beberapa fitur untuk eksperimental machine learning. Tensorboard menyediakan

viaualisasi dalam bentuk scalar, gambar, grafik, distribusi dan histogram.[26]

2.8.8 Torch

Torch merupakan sebuah paket yang mimiliki struktur data tensor multi-dimensi

dan mendifinisikan operasi matematika pada tensor. Torch menyediakan banyak

utilitas untuk serialisasi tensor. Torch berjalan menggunkan CUDA sehingga untuk

menjalankan komputasi dapat menggunakan GPU NVIDIA yang memiliki

kemamuan komputasi baik.[27]

2.8.9 Tqdm

Tqdm (Taqadum dalam Bahasa arab) yang memiliki arti proses, atau library python

yang didesain untuk memperlihatkan proses. Tqdm secara instan menunjukkan

kemajuan dari operasi yang sedang berjalan. Tqdm juga menampilkan tingkat iterasi

22
yang sedang berjalan, waktu penyelesaian yang telah berlalu dan perkiraan waktu

penyelesaiian. Semua ditampilkan dalam satu baris pembaruan.[28]

2.8.10 Seaborn

Seaborn adalah library python yang digunakan untuk visualisai data beradarkan

matplotlib. Seabon menyediakan antarmuka tingkat tinggi untuk menggambar

grafik statistik yang menarik dan informatif. Seaborn membantu dalam menjelajahi

dan memahami data.[29]

2.8.11 Pandas

Pandas adalah paket python yang menyediakan struktur data yang cepat, fleksibel,

dan ekspresif. Pandas merupakan paket opensource yang menyediakan struktur

data dan analisis data yang mudah. Pandas dapat digunakan unuk membuat tabel,

mengecek data, dan mengubah dimensi data. Struktur data pada pandas disebut

dengan DataFrame yang dapat membaca data dalam format file .txt, .csv, dan

.tsv.[30]

2.9 Webcam

Gambar 2. 13 Webcam pada Laptop

23
Gambar 2.13 merupakan gambar webcam pada laptop, Webcam (Web Camera)

merupakan kamera real-time yang gambarnya bisa diakses dan dilihat melalui web,

program instant messaging, atau aplikasi video call. Webcam merupakan kamera

video digital kecil yang dihubungkan melalui port USB atau port COM ke

komputer, hingga sekarang webcam sudah tertanam langsung disebuah laptop.[31]

2.10 Node Js

Gambar 2. 14 Logo Node.Js

Gambar 2.14 merupakan logo Node.JS, Node.Js merupakan software yang didesain

untuk pengembangan aplikasi web. Aplikasi ini ditulis dalam campuran Bahasa

C++ dan JavaScrpit. Tidak seperti kebanyakan JavaSckript yang dijalankan pada

browser, Node.JS dijalankan sebagai aplikasi server. Node.JS dapat berjalan di

server karena dukungan dari V8 Engine buatan Google dan beberapa modul bawaan

yang terintegrasi seperti modul http, modul filesystem, modul security dan beberapa

modul penting lainnya.[32]

2.11 Confusion Matrix

Confusion matrix (error matrix) adalah Teknik yang digunakan untuk mengukur

kinerja model pada kasus klasifikasi. Confusion matrix berbentuk tabel matriks

24
yang menggambarkan kinerja model klasifikasi pada data uji yang nilai sebenarnya

diketahui.[33]

Gambar 2. 15 Confusion Matrix

Pada gambar diatas terdapat 4 tabel yaitu[34]:

a. True Positives (TP) adalah jumlah record data positif yang diklasifikasikan

sebagai nilai positif

b. False Positives (FP) adalah jumlah record data negatif yang diklasifikasikan

sebagai nilai positif

c. False Negatives (FN) adalah jumlah record data positif yang diklasifikasikan

sebagai nilai positif

d. True Negatives (TN) adalah jumlah record data negatif yang diklasifikasikan

sebagai nilai negative

Menggunakan data Confusion Matrix maka nilai yang dievaluasi berupa:

a. Akurasi merupakan presentase jumlah record data yang diklasifikasikan

(prediksi) secara benar oleh algoritma. Untuk mencari nilai akurasi dapat

menggunakan persamaan:

25
𝑇𝑃+𝑇𝑁
Akurasi = 𝑇𝑃+𝐹𝑃+𝑇𝑁+𝐹𝑁 𝑥100% (1)

b. Precission merupakan rasio atau perbandingan antara data prediksi benar

positif dengan keseluruhan hasil prediksi yang bernilai positif. Nilai precission

diperoleh memalui persamaan:


𝑇𝑃
Precision =𝑇𝑃+𝐹𝑃 𝑥100% (2)

c. Recall menggambarkan keberhasilan model dalam nememukan Kembali

informasi. Recall merupakan rasio prediksi benar positif berbanding dengan

keseluruhan data benar positif. Untuk mendapat nilai recall dapat gunakan

persamaan:
𝑇𝑃
Recall= 𝑇𝑃+𝐹𝑁 𝑥100% (3)

2.12 Perpustakaan

Perpustakaan erat kaitannya dengan buku dan tempat buku tersebut berada,

perpustakaan merupakan tempat mengelola koleksi buku. Awalnya perpustakaan

berbasis materi tercetak, kemudian perpustakaan mulai menggunakan teknologi

informasi sehingga perpustakaan disebut sebagai perpustakaan terotomasi. Apabila

perpustakaan berbasis kertas yang kemudian ditambah dengan multimedia dan

ditambah lagi dengan koleksi dalam bentuk data analog maka perpustakaan

dikatakan sebagai perpustakaan elektronik. Koleksi buku-buku menjadi bentuk

digital, seperti e-book. Terdapat beberapa jenis perpustakaan sesuai dengan

26
perkembangan teknologi dan lokasi perpustakaan. Salah satunya Perpustakaan

perguruan tinggi merupakan salah satu unsur penunjang perguruan tinggi dalam

kegiatas civitas akademik.[35] Untuk menujang Tri Darma perguruan tinggi,

perpustakaan perguruan tinggi memiliki beberapa fungsi antara lan: fungsi edukasi,

sumber informasi, penunjang riset, rekreasi, publikasi, deposit dan interprestasi

informasi.

2.13 Perpustakaan Universitas Lampung

Perpustakaan Universitas Lampung (Unila) adalah sebuah Unit Pelaksanaan Teknis

(UPT) yang bertugas mengelola dan merawat bahan perpusakaan, mengembangkan

koleksi, memberikan layanan serta melaksanakan administrasi perpustjaan dengan

tujuan memenuhi kebutuhan pemustaka. Perpustakaan Universitas Lampung

memiliki sebagai perpustakaan modern berbasis teknologi Informasi (TI) sehingga

perpustakaan Universitas Lampung memberikan layanan yang telah berbasis

teknologi.[36]

Gambar 2. 16 Perpustakaan Universitas Lampung

27
2.14 Metode Kanban

Kanban adalah metode secara bertahap meningkatkan apa pun yang Anda lakukan,

baik perangkat lunak pengembangan, IT / Operasi, Kanban muncul menggunakan

"kartu visual," atau "papan nama," untuk menunjukkan alur kerja yang membatasi

Work in Progress (WIP). Kanban telah digunakan dalam Lean Production selama

lebih dari setengah abad. Metode kanban adalah metode untuk mendefinisikan,

mengelola dan meningkatkan layanan yang memberikan pekerjaan pengetahuan,

seperti layanan profesional, upaya kreatif dan desain fisik dari perangkat lunak.

Secara umum Kanban mendefinisikan 6 aktifitas penting dalam mengelola sistem

Kanban:

1. Visualisasikan Alur Kerja

2. Limit WIP (Batasi pekerjaan yang sedang dikerjakan)

3. Mangelola alur

4. Membuat kebijakan eksplisit

5. Menerapkan feedback loop

6. Meningkatkan kolaborasi, berkembang secara eksperimental.[37]

Untuk memvisualisasikan alur kerja papan Kanban digunakan sebagai alat

pemantau dapat ditunjukkan pada tabel 2.2

Tabel 2. 2 Contoh Kanban Board

28
2.15 Penelitian Terkait

Tabel 2. 3 Penelitian Terkait

JUDUL Metode HASIL


Pendeteksian dan Deep Neural Melakukan deteksi wajah manusia
Pengenalan Wajah Network yang berada di depan kamera yang
Manusia untuk kemudian akan memberikan
Peningkatan Kinerja notifikasi jika manusia tidak
Kamera Pengaman dikenali. Citra yang diinput dari
(Tamrin Imanuel kamera akan mengalami proses
Panggabean)[38] grayscalling, kemudian dilakukan
threshold untuk memisahkan
background dan objek yang
selanjutnya akan dinilai dan
diklasifikasi menggunakan metode
Support Vector Machine dan Deep
Convulation Neural Network.
Penelitian ini mendapat nilai
akurasi sebesar 83%.
Deteksi Tanda Algoritma Tanda Nomor Kendaraan
Nomor Kendaraan Convolutional Bermotor (TNKB) pada media
Bermotor Pada Neural Network streaming akan dideteksi dengan
Media Streaming (CNN) menggunakan algoritma
Dengan Algoritma Convulation Neural Network.
Convolutional Rancangan sistem dibagi menjadi
Neural Network 3 bagian yaitu bagian input gambar
Menggunakan melalui kamera, kemudian bagian
Tensorflow pengolahan terdiri dari sliding
(Rizky Dwi window, ekstraksi area dan
Novyantika)[39] komputasi fitur pada area
menggunakan algoritma
convolutional neural network.
Pada bagian output klasifikasi
gambar apakah pada suatu area
gambar pada media streaming
tersebut merupakan Tanda Nomor
Kendaraan Bermotor atau
bukan.dengan nilai akurasi rata-
rata antara 70%-99%.
Real-time Gender YOLOV3 Peneliti menggunakan algoritma
Identification from YOLOv3 untuk mendapat weight

29
Face Images using dari proses training. Tujuan
you only look once penelitian yaitu memprediksi
(yolo) gender (pria dan wanita) secara
(Varnima EK)[40] real-time. Pengujian memperoleh
nilai akurasi sebesar 84,69%.
Detecting Heavy Algoritma Yolo V5 Penelitian menggunakan YOLOv5
Goods Vehicles in dan platform roboflow untuk
Rest Area in Winter mempersiapkan dataset sebelum
Condition Using ditraining, YOLOv5 digunakan
YOLOV5 (Margit untuk mendeteksi kendaraan berat
Kasper-Eulaers, pada musim dingin dengan tujuan
Nico Hahn, Stain mengetahui kendaran tersebut
Berger) [41] diparkir di suatu area. Berdasarkan
hasil pengujian sistem ini memiliki
nilai akurasi 0.63 untuk
truck_front, 0.52 untuk truck_back
dan 0.95 untuk mobil.
Convolutional Algoritma CNN Peneliti menggunakan salah satu
Neural Networks metode deep neural networks yaitu
untuk Pengenalan Convolutional Neural Networks
Wajah Secara Real- (CNN) sebagai pengenalan wajah
Time secara real-time untuk klasifikasi
(Muhammad Zufar wajah. Metode ini
dan Budi diimplementasikan dengan dengan
Setiyono)[42] bantuan library OpenCV untuk
deteksi wajah dengan peragkat
web cam M-Tech 5MP. Hasil uji
coba munggunakan konstruksi
model Convolutional Neural
Networks sampai kedalaman 7
lapisan dengan input dari hasil
ekstraksi Extended Local Binary
Pattern dengan radius 1 dan
neighbor 15 menunjukkan kinerja
pengenalan wajah meraih rata-rata
tingkat akurasi lebih dari 89%
dalam ∓ 2 frame per detik.
Penerapan Kanban Kanban dan Sistem kanban yang ada di
pada Sistem Production inventori PT FSCM
Inventori PT FSCM Planning and Manufacturing memiliki sistem
Manufacturing Inventory Control peredaran yang melalui 4 bagian
Indonesia[43] besar yang terdapat di perusahaan.

30
Bagian yang terdapat di
perusahaan yaitu gudang
penunjang, office PPC,
procurement, dan gudang
receiving. Penerapan Kanban pada
sistem inventori PT FSCM
Manufactur sudah cukup baik
namun perlu pemahaman
mengenai work instruction dari
Kanban dengan begitu Kanban
akan berjalan dengan
sepeneuhnya.
Pengembangan Algoritma YOLO Sistem yang dibangun merupakan
Deteksi Citra Mobil sistem untuk mengetahui posisi
Untuk Mengetahui parkir yang dapat digunakan.
Jumlah Tempat Sistem menerapkan pemograman
Parkir Menggunakan GPU yang dikombinasikann
CUDA dan Modified dengan Modified Yolo (M-Yolo).
YOLO[6] Hasil uji coba menunjukkan
bahwa GPU mempercepat waktu
komputasi dengan rata-rata 0,179
detik.

Berdasarkan tabel di atas pedeteksi dilakukan dengan menggunakan salah satu

metode deep neural network yaitu convulation neural network (CNN). Perbedaan

dari keempat penelitian tersebut terletak pada objek deteksi dan implemenatsinya.

Namun, deteksi dengan menggunakan CNN ini mendapat nilai akurasi di atas 70%

dengan kata lain deteksi objek menggunakan algoritma CNN sudah sangt baik

diterapkan. Pada sistem yang akan dibangun penulis menggunakan metode Kanban

dalam pembangunan dan penulisan laporan. Namun, untuk membangun sistem

penulis menggunakan algoritma YOLOv5 in PyTorch. Sistem dapat mengenali

pemustaka yang berkunjung ke perpustakaan dan menyimpan data kedalam

database SQL serta menampilkan pada halaman WEB yang dibangun menggunakan

Node.Js.

31
BAB III

METODE PENELITIAN

3.1 Waktu dan Tempat

Waktu dan tempat untuk membangun sistem dalam penelitian ini yaitu:

Waktu penelitian : Januari 2020 sampai dengan April 2021

Tempat penelitian : Perpustakaan Universitas Lampung

3.2 Alat dan Bahan

Alat dan bahan digunakan sebagai eksekutor dalam penelitian yang dilakukan mulai

dari tahap perancangan sampai dengan pelaporan. Berikut adalah alat dan bahan

yang digunakan dalam penelitian:

Tabel 3. 1 Alat-Alat yang Digunakan

No Jenis Perangkat Spesifikasi Keterangan


Perangkat

1. Perangkat PC/Laptop Intel® Core ™ i3- Perangkat utama untuk


Keras 6006U CPU @ pengujian project
2.00 GHz RAM
4.00 GB
Webcam Versi Untuk mendeteksi objek
2020.902.20.0

32
2. Perangkat Python Versi 3.6.8 Bahasa Pemograman
Lunak utama yang digunakan
menglolah seluruh
program deteksi objek
YOLO V5 Library dari python yang
digunakan untuk melatih
data dan deteksi objek
Google Perangkat utama untuk
Colaboras pelatihan dan pengujian
i project
Roboflow Web aplication Web aplikasi yang
digunakan untuk pre-
processing data
Open Cv Versi 4.1.2 Untuk mengolah kamera
dan pemrosesan data input
Matplotlib 3.2.2 Pustaka yang digunakan
untuk memvisualisasi data
array ke dalam bentuk 2d
atau untuk memplot data
loss hasil training
Numpy 1.18.5 Pustaka yang digunakan
untuk proses aritmatika
dalam bentuk array
Pillow Pustaka yang digunakan
untuk memproses berbagai
format file
PyYAML 5.3 Pustaka yang digunakan
untuk menyimpan file ke
dalam format YAML pada
python agar file tersebut
dapat dibaca manusia
Scipy 1.4.1 Pustaka python berupa
operator scientify yang
digunakan untuk cluster
Tensorboa 2.2 Pustaka python yang
rd` digunakan untuk
memvisualisai nilai
kerugian dan akurasi dalam
bentuk scalar
Torch 1.6.0 Torch merupakan struktur
data dan operasi aritmatika
untuk tensor multi-
dimensi, dimana modul-
modul pada PyTorch
digunakan pada YOLOv5
Tqdm 4.41.0 untuk menampilkan proses
yang sedang berjalan dan
menampilkan waktu yang

33
telah berlalu serta waktu
prediksi kapan selesai
Anaconda Versi 2020.2.0.0 Software untuk membuat
3 environtment project
Database SQL Software untuk pembuatan
database
Node Js Versi 3.0.1 Software yang digunakan
untuk membuat halaman
report
Sistem Windows 10 64 Sistem operasi yang
Operasi Bit digunakan pada perangkat
keras.

Bahan Penelitian:

1. 10 objek (pemustaka) berupa foto berwarna sebanyak 100 foto/pemustaka

dengan format jpg/img

3.3 Tahapan Penelitian

Penelitian ini bertujuan untuk membangun sebuah sistem Face Recognition yang

digunakan sebagai daftar hadir pemustaka Universitas Lampung. Dalam penelitian

ini menggunakan metode Kanban. Metode Kanban adalah suatu sistem komunikasi

yang menggunakan kartu untuk mengontrol aliran aktifitas dalam menyelesaikan

pekerjaan. Penelitian ini dilakukan dalam beberapa tahapan yaitu Define, Design,

Build, Test dan Report[44].

34
Gambar 3.1 merupakan tahapan penelitian yang dilakukan:

Gambar 3. 1 Alur Penelitian

3.3.1 Define

a. Planning

Tahap planning meliputi studi kelayakan terhadap pengembangan sistem yang

dikerjakan. Tahap ini dilakukan untuk memahami penelitian yang dikerjakan dan

kajian literasi terkait penelitian. Dalam penelitian ini, masalah yang diangkat

mengenai daftar hadir pemustaka di Universitas Lampung. Dimana saat ini

pemustaka yang hadir tidak semua mengisi daftar hadir pemustaka sehingga data

kunjungan yang diolah oleh pustakawan tidak maksimal.

Dari permasalah mengenai daftar pengunjung perpustakaan Universitas Lampung,

maka solusi yang diambil yaitu membuat sistem daftar hadir pengunjung

menggunakan face recognition. Berikut hal-hal yang harus dipahami dalam

pembuatan sistem daftar hadir perpustakaan:

1. Menerapkan Computer Vision di Perpustakaan

35
2. Pemanfaatan face recognition

3. Mendeteksi beberapa pemustaka yang tertangkap kamera dalam satu waktu

menggunakan YOLO V5

4. Membuat report berdasarkan wajah yang terdeteksi menggunakan

javaskrip

b. User’s Story

Setelah perencanaan, dilakukan penentuan uses’s story dimana user merupakan

siapa saja yang berinteraksi dengan sistem. Dalam sistem ini yang berperan sebagai

user yaitu pemustaka dan pustakawan. Pemustaka adalah orang yang berkunjung di

perpustakaan dan pustakawan adalah orang yang mengurus dan mengelola

perpustakaan. Uses’s story dari sistem ini adalah sebagai berikut:

Gambar 3. 2 User's Story

Berdasarkan user’s story pada gambar 3.2 bahwa terdapat dua user yang

berinteraksi dengan sistem. User pertama yaitu pemustaka, pemustaka yang

wajahnya tertangkap kamera akan dikenali oleh sistem dan datanya disimpan oleh

36
sistem sebagai report, sedangkan peran user kedua yaitu pustakawan dapat

mengolah halaman report

c. Analysis

Pada sub-bab sebelumnya telah dijelaskan mengenai apa saja yang perlu dipahami

untuk membangun sistem daftar hadir pemustaka Universitas Lampung

menggunakan Face Recognition dan siapa saja yang berperan dalam sistem. Maka

dalam tahap ini dilakukan analisis kebutuhan sistem. Sistem daftar hadir pemustaka

ini memiliki beberapa fitur, yaitu:

Gambar 3. 3 Fitur untuk Sistem Daftar Hadir Pemustaka

Berdasarkan gambar 3.3 terdapat dua fitur yang akan dikerjakan pada penelitian ini

yaitu membangun fitur deteksi wajah pemustaka diberi label hijau dan fitur untuk

menyimpan informasi pemustaka yang terdeteksi yang nantinya tampil pada

halaman report.

3.3.2 Design

Pada tahap design dilakukan transformasi kebutuhan secara rinci dan berfokus pada

cara pemenuhan kebutuhan sistem. Dalam tahap ini dilakukan penentuan backlog,

37
penentuan backlog dilakukan setelah menentukan user’s story dan penentuan fitur

dalam anlisys. Berdasarkan peran dari user, maka backlog atau antrian pekerjaan

yang dilakukan adalah sebagai berikut:

Gambar 3. 4 Daftar Backlog

Berdasarkan gambar 3.4 terdapat 5 pekerjaan pada backlog dan setiap backlog

memiliki detail pekerjaan seperti pada gambar.

3.3.3 Build
Tahap Build merupakan tahap pengimplementasian atau pengembangan kebutuhan

sistem beradasarkan backlog. Dalam tahap Build menggunakan metode Kanban.

38
Pada metode Kanban, terdapat 2 langkah penting untuk menyelesaikan pekerjaan

yaitu WOW, mengatasi WIP (Work in Progress). Berikut penjelasan pengembangan

sistem dengan menggunakan metode Kanban:

A. WOW (Work on Wait)

1. Membuat Pengenalan Wajah

Gambar 3. 5 Diagram Alir Deteksi Objek Menggunakan Model Custom YoloV5-s

Gambar 3.5 merupakan keseluruhan proses untuk membuat deteksi objek, pada

kasus ini menggunakan dataset wajah sehingga dapat digunakan untuk pengenalan

39
wajah. Proses pertama merupakan proses membangun dataset sebelum dilakukan

training, proses kedua merupakan proses training menggunakan model custom

yolov5-s dan hasil training atau model weight Yolov5 yang disimpan dengan nama

best.pt digunakan untuk proses deteksi. Proses ketiga yaitu proses deteksi objek

menggunakan model yang telah dilatih.

Berdasarkan diagram alir pada gambar 3.5 maka pekerjaan yang dilakukan seperti

penjelasan berikut. Sistem yang dibangun yaitu sistem daftar hadir pemustaka

menggunakan face recognition, berikut diagram perancangan sistem:

Gambar 3. 6 Diagram Alir Membangun Dataset

Berdasarkan gambar 3.6 dalam membangun dataset untuk data latih diperlukan

Image collection berupa foto dengan format JPG/Img, kemudian foto tersebut

dilakukan annonation atau pemberian label disetiap foto menggunakan LabelImg.

Hasil dari annonation tersebut berupa file dalam format XML. Lalu dataset dengan

file XML digabung dalam satu folder dan dapat diupload ke roboflow untuk

dilakukan pre-processing image. Hasil dari pre-processing yaitu file YML.

Gambar 3. 7 Diagram Alir Training Dataset

40
Gambar 3.7 merupakan tahap training dataset., dataset dibaca dilakukan

pembentukan kelas, kelas ini nantinya akan digunakan untuk membuat model

custom detection Yolov5-s. Selanjunya file ini yang digunakan untuk training

dataset. Setelah dilakukan training dataset maka akan menghasilkan file pt. Proses

training dilakukan menggunakan google collaboration.

Setelah selesai dilakukan training, maka data hasil training dapat dilakukan

detection objek atau pengujian model, pengujian dapat menggunakan foto dan

video

Gambar 3. 8 Diagram Alir Pengujian

Gambar 3.8 merupakan tahap pengujian menggunakan foto dan video. Input dapat

berupa foto atau video wajah pemustaka yang sudah dilatih. Proses deteksi

dilakukan dengan men-load model (best.pt) yang telah dibangun model ini

kemudian akan melakukan klasifikasi dan melakukan prediksi menggunakan

bounding box dan confidience score lalu hasil yang ditampilkan berupa box

prediksi, nilai kepercayaan dan kelas objek. Proses.

Gambar 3. 9 Diagram Alir Pengujian Real-time

41
Gambar 3.9 merupakan tahap pengujian menggunakan real-time. Input berupa

wajah pemustaka yang tertangkap kamera. Kemudian proses deteksi akan men-load

model (best.pt) yang telah dibangun model ini kemudian akan melakukan

klasifikasi dan melakukan prediksi menggunakan bounding box dan confidience

score lalu hasil yang ditampilkan berupa box prediksi, nilai kepercayaan dan kelas

objek. Hasil deteksi berupa Kelas objek (cls) inilah yang akan disimpan ke dalam

database report dan selanjutnya data pada database report tampil pada halaman

report.

Pada saat menggunakan YOLOV5 terdapat beberapa library yang digunakan

seperti gambar berikut:

Gambar 3. 10 Diagram Alir Tiap Library pada YOLOv5

42
Berdasarkan gambar 3.10 Diagram Alir Library pada YOLOV5 digunakan saat

training dataset dan detection object atau pengujian. yang digunakan dataset yang

digunakan adalah dataset hasil pre-processing berupa data foto dan data YAML

selanjutnya data YAML tersebut dibaca oleh library YAML yang kemudian akan

menampilkan infomasi berupa tulisan (isi data YAML yang dapat dibaca manusia).

Selanjutnya pada proses ini tiap objek akan memperoleh kelas objek, tiap kelas

objek telah memiliki nilai yang dibaca oleh Numpy berupa angka atau nilai tiap grid

pada foto, nilai matrik ini dilakukan perhitungan oleh Scipy dan selanjutnya dilatih

menggunkan torch yang berisi. Hasil pelatihan berupa nilai result akan di peroleh

dari pandas berupa file txt. Hasil pelatihan berupa result foto berisi plot tiap nilai

pelatihan diperoleh dari matplotlib dan seabon. Hasil plot tersebut juga tampil

dalam tensorboard.

Selanjutnya pada saat detection object open cv akan membaca kamera webcam dan

input yang masuk berupa gambar atau video akan diproses oleh torch dimana data

input akan diklasifikasi dan dikenali sehingga menghasilkan output berupa nama

yang dikenali sistem.

2. Membangun Database dan Halaman Report

Database digunakan untuk menyimpan data mahasiswa yang dikenali oleh sistem.

Database ini terdiri dari dua tabel yaitu tabel mahasiswa yang menampug cls

sebagai primary key (kelas objek sesuai dengan kelas pada model hasil training),

nama mahasiswa dan NPM pemustaka. Selanjutnya kelas report yang digunakan

43
untuk menampung daftar pemustaka yang dikenali sistem. Pada tabel report

menampung no sebagai primary key, cls, hari datang dan jam datang. Database

digambarkan pada gambar 3.10 Entity diagram:

Gambar 3. 11 Entity Relation Diagram

Halaman report dibangun untuk menampilkan data berupa no, nama pemustaka,

NPM, tanggal kehadiran dan jam kehadiran. Tampilan ini dilengkapi dengan fitur

filter, print dan cetak.

B. Mengatasi WIP

Dalam metode Kanban mengatasi WIP merupakan tahapan yang sangat penting,

dimana penelitian ini harus diselesaikan sesuai dengan antrian pekerjaan yang telah

dibuat dengan memperhitungkan lead time (waktu yang digunakan untuk

menyelesaikan suatu pekerjaan mulai dari awal hingga selesai).

3.3.4 Testing/Pengujian

1. Pengujian Menggunakan Confusion Matrix


Pengujian dilakukan untuk melihat fungsi dari sitem pengenalan wajah, hasil

pengujian ini dapat dijadikan bahan evaluasi apakah sistem sudah sesuai dengan

kebutuhan atau belum. Oleh karena itu, dilakukan pengujian sistem pengenalan

44
wajah menggunakan confusion matrix. Nilai-nilai yang akan adalah nilai precision,

akurasi dan recall dengan rumus seperti persamaan 1,2, dan 3 berikut:
𝑇𝑃+𝑇𝑁
Akurasi = 𝑇𝑃+𝐹𝑃+𝑇𝑁+𝐹𝑁 𝑥100% (1)

𝑇𝑃
Precision =𝑇𝑃+𝐹𝑃 𝑥100% (2)

𝑇𝑃
Recall= 𝑇𝑃+𝐹𝑁 𝑥100% (3)

Keterangan:

TP= True positif (data benar yang diprediksi benar)

TN = True Negatif (data salah yang diprediksi salah)

FP = False Positif (data salah yang diprediksi benar)

FN = False Negatif (data benar yang diprediksi salah)

2. Pengujian Fungsional

Selanjutnya untuk menilai fungsional sistem dimana pengujian ini akan menilai

fungsi-fungsi sistem telah berjalan sesuai dengan kebutuhan yang didefinisikan

pada user story maka digunakan teknik pengujian Black Box Testing. Pengjian ini

terdiri dari dua tabel skenario yaitu saat pengujian menggunakan foto dan video

dimana belum terhubung pada halaman report dan pengujian real-time yang sudah

terhubung dengan halaman report.

Tabel 2. 4 Skenario uji pada pengujian foto dan video

Hasil yang Hasil


No Skenario Uji Kesimpulan
diharapkan pengamatan
Sistem dapat Sistem dapat
1
mengenali wajah mengenai wajah

45
Sistem memiliki
memiliki nilai Sistem memiliki
2
nilai akurasi >70%
akurasi >70%

Tabel 2. 5 Skenario uji pada pengujian foto dan video

Hasil yang Hasil


No Skenario Uji Kesimpulan
diharapkan pengamatan
Sistem dapat Sistem dapat
1
mengenali wajah mengenai wajah
Sistem memiliki
memiliki nilai Sistem memiliki
2
nilai akurasi >70%
akurasi >70%
Sistem dapat
Sistem
menyimpan nama
menampilkan nama
3
wajah yang wajah yang dikenali
pada halaman report
dikenali
Sistem dapat
menampilkan
Sistem dapat
4 jumlah nama melakukan filter
sesuai tanggal tanggal kehadiran

kehadiran

3.3.5 Report

Akhir dari tahap penelitian ini adalah pembuatan laporan dari semua kegiatan

penelitian yang telah dilakukan. Data yang dihasilkan dianalisa dan dilakukan

pengambilan kesimpulan dan saran.

46
BAB V

KESIMPULAN

5.1 Kesimpulan

Berdasarkan hasil penelitian yang telah dilakukan, maka kesimpulan yang didapat

yaitu:

1. Sistem kehadiran pemustaka menggunakan face recognition berhasil

mengenali wajah pemustaka yang telah dilatih datanya dan berhasil

menyimpan wajah yang dikenali ke dalam database.

2. Sistem kehadiran pemustaka menggunakan face recognition berhasil

menampilkan data yang dikenali kedalam halaman web.

3. Berdasarkan perhitungan menggunakan confutson matrix, Sistem kehadiran


pemustaka menggunakan face recognition memiliki nilai akurasi sebesar
92.7% pada pengujian foto dan 91,87% pada pengujian video.
4. Berdasarkan perhitungan menggunakan confuion matrix, Sistem kehadiran
pemustaka menggunakan face recognition memiliki nilai rata-rata recall
dan precision sebesar 87.35% pada pengujian foto dan 74,09% pada
pengujian video.
5. Penelitian ini dilaksanakan menggunakan metode Kanban yang memiliki 5
antrian pada Backlog dengan 2 kartu (berlabel hijau) untuk sistem
pengenalan wajah dan 2 kartu (berlabel kuning) untuk halaman report serta
1 kartu mencakup keduanya.

47
5.2 Saran

Berdasarkan penelitian yang telah dilakukan, terdapat beberapa saran untuk

pengembangan sistem selanjutnya, antara lain:

1. Melakukan pengembangan pada sistem pengenalan wajah supaya dapat

dilakukan otomasi mulai dari pelatihan hingga pengujian sehingga dapat

lebih mudah untuk pemrosesan user baru.

2. Mempertimbangkan hardware yang digunakan seperti kamera dengan

kualitas yang baik serta pengaturan pencahayaan yang dapat terbaca oleh

kamera.

3. Melakukan pengembangan database sehingga sistem dapat

diimplementasikan sesuai data existing anggota perpustakaan.

4. Melakukan pengujian dengan mengintegrasikan pada existing sistem

otomasi perpustakaan Universitas Lampung sehingga dapat dilakukan UAT

(User Acceptance Test) dari pustakawan dan pemustaka.

48
DAFTAR PUSTAKA

[1] S. S. Micheal Yoseph Ricky, S.Kom., Michael, S.Kom., "Pengenalan

Computer Vision Menggunakan Open CV dan FLTK." Mitra Wacana

Media, 2009.

[2] R. Szeliski, Computer Vision: Algorithms and Applications 2nd Edition,

2nd ed. Springer, 2020.

[3] M. Wang and W. Deng, “Deep Face Recognition : A Survey,”

ResearchGate, pp. 1–31, 2020.

[4] P. A. Miceli, W. D. Blair, and M. M. Brown, "Deep Learning with

Python". Udemy, 2018.

[5] E. N. Arrofiqoh and H. Harintaka, “Implementasi Metode Convolutional

Neural Network Untuk Klasifikasi Tanaman Pada Citra Resolusi Tinggi”

Geomatika, vol. 24, no. 2, p. 61, 2018.

[6] S. Jupiyandi et al., “Pengembangan Deteksi Citra Mobil Untuk Mengetahui

Jumlah Tempat Parkir Menggunakan Cuda Dan Modified Yolo

Development Of Car Image Detection To Find Out The Number Of Parking

Space Using Cuda And Modified Yolo,” J. Teknol. Inf. dan Ilmu Komput.,

vol. 6, no. 4, pp. 413–419, 2019.

[7] J. Redmon, “You Only Look Once: Unifed, Real-Time Object Detection,”

Ann. Med. Psychol. (Paris)., vol. 134 II, no. 1, pp. 59–61, 2016.

49
[8] J. Redmon and A. Farhadi, “YOLO9000: Better, faster, stronger,” Proc. -

30th IEEE Conf. Comput. Vis. Pattern Recognition, CVPR 2017, vol.

2017-Janua, pp. 6517–6525, 2017.

[9] J. Redmon, A. Farhadi, and C. Ap, “YOLOv3 : An Incremental

Improvement,” arXiv, 2018.

[10] A. Bochkovskiy, C. Y. Wang, and H. Y. M. Liao, “YOLOv4: Optimal

Speed and Accuracy of Object Detection,” arXiv, 2020.

[11] Glenn Jocher, “YOLOv5 in PyTorch,” Github, 2020. [Online]. Available:

https://github.com/ultralytics/yolov5. [Accessed: 08-Nov-2020].

[12] C. Y. Wang, H. Y. M. Liao, I. H. Yeh, Y. H. Wu, P. Y. Chen, and J. W.

Hsieh, “CSPNET: A new backbone that can enhance learning capability of

CNN,” arXiv, 2019.

[13] B. Kleppmann et al., “SPP:Spatial Pyramid Pooling,” CEUR Workshop

Proc., vol. 2191, pp. 191–194, 2018.

[14] M. Tan, R. Pang, and Q. V. Le, “EfficientDet: Scalable and efficient object

detection,” Proc. IEEE Comput. Soc. Conf. Comput. Vis. Pattern Recognit.,

pp. 10778–10787, 2020.

[15] tzutalin, “LabelImg,” Github. [Online]. Available:

https://github.com/tzutalin/labelImg. [Accessed: 08-Nov-2020].

[16] J. Nelson, “Robofolw,” roboflow.com. [Online]. Available:

https://docs.roboflow.com/. [Accessed: 08-Nov-2020].

[17] roboflow, “Choose a plan for your or team plan,” roboflow.com, 2021.

[Online]. Available: https://roboflow.com/pricing.

[18] A. Author, “Anaconda Individual Edition,” anaconda.com, 2021. [Online].

50
Available: https://docs.anaconda.com/anaconda/. [Accessed: 08-Nov-

2020].

[19] A. Author, “Conda,” anaconda.com, 2021. [Online]. Available:

https://docs.anaconda.com/. [Accessed: 08-Nov-2020].

[20] Author “Welcome to Python.org.” [Online]. Available:

https://www.python.org/. [Accessed: 09-Jan-2020].

[21] The SciPy community, “What is Numpy?,” https://numpy.org/, 2020.

[Online]. Available: https://numpy.org/doc/stable/user/whatisnumpy.html.

[Accessed: 25-Feb-2020].

[22] J. Hunter, D. Dale, E. Firing, and M. Droettboom, “Matplotlib_long,” 2017.

[23] Tutorialpoint, “Python Pillow,” https://www.tutorialspoint.com/. 2020.

[24] PyYAML, “PyYAML,” https://pypi.org, 2020. [Online]. Available:

https://pypi.org/project/PyYAML/. [Accessed: 25-Feb-2021].

[25] SciPy Community, “SciPy Reference Guide 0.7,” p. 1229, 2013.

[26] Tensorflow, “Tensorboard,” https://www.tensorflow.org/, 2020. [Online].

Available: https://www.tensorflow.org/tensorboard. [Accessed: 25-Feb-

2021].

[27] PyTorch, “Torch,” 2020. [Online]. Available:

https://pytorch.org/docs/stable/torch.html. [Accessed: 25-Feb-2021].

[28] C. O. da Costa-Luis, “tqdm: A Fast, Extensible Progress Meter for Python

and CLI,” J. Open Source Softw., vol. 4, no. 37, p. 1277, 2019.

[29] pydata, “An Introduction to Seaborn,” https://seaborn.pydata.org/, 2020.

[Online]. Available: https://seaborn.pydata.org/introduction.html.

[Accessed: 25-Feb-2021].

51
[30] W. McKinney and P. D. Team, “Pandas - Powerful Python Data Analysis

Toolkit,” Pandas - Powerful Python Data Anal. Toolkit, p. 1625, 2015.

[31] J. Ali, “Sistem Security Webcam dengan Menggunakan Microsoft Visual

Basic (6.0),” J. Teknol. dan Sist. Inf. Univrab, vol. 1, no. 2, pp. 48–60,

2016.

[32] R. Fajrin, “Pengembangan Sistem Informasi Geografis Berbasis Node . JS

untuk Pemetaan Mesin dan Tracking Engineer dengan Pemanfaatan

Geolocation pada PT IBM Indonesia,” Politek. Caltex Riau, vol. 3, no. 1,

pp. 33–40, 2017.

[33] K. S. N, “Confusion Matrix untuk Evaluasi Model pada Supervised

Learning,” medium.com, 2019. [Online]. Available:

https://medium.com/@ksnugroho/confusion-matrix-untuk-evaluasi-model-

pada-unsupervised-machine-learning-bc4b1ae9ae3f. [Accessed: 15-Jan-

2021].

[34] M. F. Rahman, M. I. Darmawidjadja, and D. Alamsah, “Klasifikasi Untuk

Diagnosa Diabetes Menggunakan Metode Bayesian Regularization Neural

Network ( Rbnn ),” Inform. Unpad, vol. 11, no. 1, pp. 36–45, 2017.

[35] B. Sulistyo, "Istilah Pustaka dan Perluasannya". Universitas Terbuka,

2016.

[36] M. A. Muhammad, W. E. Sulistiono, and T. Pustaka, “Pengujian dan

Evaluasi Sistem Navigasi Koleksi Perpustakaan,” Tawit Pustaka, vol. 02,

pp. 24–32, 2018.

[37] D. J. Anderson and A. Carmicheal, “Essential Kanban Condensed,” J.

Mater. Process. Technol., vol. 1, no. 1, pp. 1–8, 2018.

52
[38] T. Imanuel, “Skripsi: Pendeteksian dan Pengenalan Wajah Manusia untuk

Peningkatan Kinerja Kamera Pengaman,” Repos. Institusi USU, 2018.

[39] R. D. Novyantika and U. I. Indonesia, “Deteksi Tanda Nomor Kendaraan

Bermotor Pada Media Streaming Dengan Algoritma Convolutional Neural

Network Menggunakan Tensorflow,” 2018.

[40] M. Kilinc and U. Uludag, “Gender identification from face images using

you only look once (yolo),” IEEE, no. Icoei, pp. 1–4, 2020.

[41] M. Kasper-Eulaers, N. Hahn, P. E. Kummervold, S. Berger, T. Sebulonsen,

and Ø. Myrland, “Short communication: Detecting heavy goods vehicles in

rest areas in winter conditions using YOLOv5,” Algorithms, vol. 14, no. 4,

2021.

[42] M. Zufar, “Convolutional Neural Networks untuk Pengenalan Wajah

Secara Real - Time,” J. Sains dan Seni, vol. 5, no. 2, pp. 72–77, 2016.

[43] H. Thadeus and T. Octavia, “Penerapan Kanban pada Sistem Inventori PT

FSCM Manufacturing Indonesia,” vol. 6, no. 2, pp. 115–122, 2018.

[44] A. Stellman and J. Greene, Head First Agile, 1st ed. United States of

America: O’Reilly Media, 2017.

[45] C. Beleites, “Sample Size Planning for Classification Models,” Analytica

Chimical Acta, pp. 1–16, 2015.

53
54

Anda mungkin juga menyukai