Anda di halaman 1dari 112

IMPLEMENTASI FACE RECOGNITION DAN WEB SERVICE

MENGGUNAKAN ALGORITMA TINY YOLO V2 SEBAGAI


ABSENSI KEHADIRAN MAHASISWA

Disusun sebagai salah satu syarat untuk memperoleh gelar


Sarjana Komputer pada Program Studi Informatika
Fakultas Teknik Universitas Majalengka

Disusun Oleh:
HAFIDZ SANJAYA 15.14.1.0144

PROGRAM STUDI INFORMATIKA


FAKULTAS TEKNIK
UNIVERSITAS MAJALENGKA
2019
HALAMAN PENGESAHAN
LAPORAN PENELITIAN TUGAS AKHIR

IMPLEMENTASI FACE RECOGNITION DAN WEB SERVICE


MENGGUNAKAN ALGORITMA TINY YOLO V2 SEBAGAI
ABSENSI KEHADIRAN MAHASISWA

Disusun Oleh:
Hafidz Sanjaya 15.14.1.0144

Telah dipertahankan di depan dewan penguji pada tanggal 10 Oktober 2019

Pembimbing Utama Pembimbing Pendamping

Dony Susandi, ST., MT. Sandi Fajar Rodiyansyah, S.Pd., M.Cs


NIDN. 04.191078.03 NIDN. 04.290987.01
Penguji,

Ardi Mardiana, ST., M.Kom.


NIDN. 0431078803
Mengetahui,
Ketua Program Studi Informatika

Ade Bastian, ST., M.Kom.


NIDN. 04.150287.04

i
ABSTRAK

IMPLEMENTASI FACE RECOGNITION DAN WEB SERVICE


MENGGUNAKAN ALGORITMA TINY YOLO V2 SEBAGAI
ABSENSI KEHADIRAN MAHASISWA

Oleh

Hafidz Sanjaya
15.14.1.0144

Teknologi biometrik dengan pengenalan wajah dapat diaplikasikan pada sistem


absensi kehadiran mahasiswa di suatu perguruan tinggi. Sistem absensi kehadiran
mahasiswa di Universitas majalengka sekarang dilakukan dengan menggunakan
sistem absensi online biasa berbasis website yang tidak memperhatikan faktor
keamanan dan kenyamanan sehingga kegiatan absensi masih memiliki celah
adanya kecurangan karena tidak melihat mahasiswa secara langsung. Oleh karena
itu pada penelitian ini dikaji mengenai penerapan sistem pengenalan wajah secara
realtime menggunakan algoritma Tiny Yolo V2 pada sistem absensi online yang
ada di Universitas Majalengka. Penelitian dilakukan dengan beberapa tahapan
mulai dari pengumpulan citra wajah, proses perbaikan citra (preprocessing),
pendeteksian wajah, pengenalan wajah dan pengintegrasian data menggunakan
webservice. Hasil pengujian dari 10 orang mahasiswa yang masing-masing
memiliki satu citra wajah menghadap ke depan sebagai dataset dengan 4 variasi
jarak yaitu 0,5 m, 1 m, 1,5 m, dan 2 m yang masing-masing melakukan 10
skenario posisi wajah yang berbeda. Berdasarkan hasil pengujian didapatkan
kesimpulan semakin jauh jarak citra wajah dengan webcam, maka tingkat
keberhasilannya semakin menurun, hal tersebut ditunjukan pada jarak 0,5 meter
presentase keberhasilan mencapai 97% dan pada jarak 2 meter 88% dimana
terdapat 2 wajah yang tidak terdeteksi dan teridentifikasi pada jarak tersebut
karena menggunakan kacamata dan memiliki kulit agak gelap.

Kata Kunci: biometrik, pengenalan wajah, sistem absensi, webservice, tiny yolo v2

ii
ABSTRACT

IMPLEMENTATION OF FACE RECOGNITION AND WEB SERVICE


USING TINY TOLO V2 ALGORITHMS
AS STUDENT ATTENDANCE

Oleh

Hafidz Sanjaya
15.14.1.0144

Biometric technology with facial recognition can be applied to the attendance


system of student attendance at a college. Student attendance system at
Majalengka University is now done using a website-based online attendance
system that does not pay attention to safety and comfort factors so that attendance
activities still have a gap of cheating because they do not see students directly.
Therefore in this study, it was examined the implementation of face recognition
systems in realtime using the Tiny Yolo V2 algorithm in the online attendance
system at Majalengka University. The study was conducted with several stages
ranging from collecting face images, the process of image improvement
(preprocessing), face detection, face recognition and data integration using
webservice. The test results of 10 students, each of whom has a face image facing
forward as a dataset with 4 variations of distance namely 0.5 m, 1 m, 1.5 m, and 2
m, each of which performs 10 face position scenarios that each different. Based on
the test results it can be concluded that the farther the distance of the face image
with a webcam, the success rate decreases, it is shown at a distance of 0.5 meters
the percentage of success reaches 97% and at a distance of 2 meters 88% where
there are 2 faces that are not detected and identified on the distance is because it
uses glasses and has rather dark skin.

Keywords: biometrics, face recognition, attendance system, webservice, tiny yolo


v2

iii
PERNYATAAN KEASLIAN

Dengan ini saya menyatakan bahwa Laporan Penelitian Tugas Akhir ini tidak
terdapat karya yang pernah diajukan untuk memperolah gelar kesarjanaan disuatu
perguruan tinggi, dan sepanjang pengetahuan saya juga tidak terdapat karya atau
pendapat yang pernah ditulis atau diterbitkan oleh orang lain, kecuali yang secara
tertulis diacu dalam naskah ini dan disebutkan dalam daftar pustaka. Apabila
kemudian hari pernyataan Saya tidak benar, maka saya bersedia menerima sanksi
akademis yang berlaku.

Majalengka, September 2019

Hafidz Sanjaya

iv
KATA PENGANTAR

Puji syukur penulis panjatkan kehadiran Allah SWT atas rahmat dan
karunianya penulis dapat menyelesaikan Laporan Tugas Akhir ini yang berjudul:
“Implementasi Face Recognition Dan Web Service Menggunakan Algoritma
Tiny Yolo V2 Sebagai Absensi Kehadiran Mahasiswa”.
Laporan Tugas Akhir ini bertujuan untuk memenuhi salah satu syarat untuk
mendapatkan gelar sarjana pada Program Studi Informatika, Fakultas Teknik
Universitas Majalengka.
Penulis ingin menyampaikan terima kasih sebesar-besarnya kepada yang
terhormat:
1. Bapak Aang Suryana (Alm) dan Ibu Amung Muntasiroh, selaku orang tua
penulis yang selalu memberikan doa, nasihat dan dukungan yang terbaik.
2. Prof. Dr. Ir. H. Sutarman, M.Sc., selaku Rektor Universitas Majalengka.
3. Dr. H. Riza M. Yunus, ST., MT., Selaku Dekan Fakultas Teknik
Universitas Majalengka.
4. Ade Bastian, ST., M.Kom., selaku ketua Program Studi Informatika
Universitas Majalengka yang telah memberikan izin untuk melakukan
penelitian.
5. Dony Susandi, ST., MT., selaku dosen pembimbing utama dan Sandi Fajar
Rodiyansyah, S.Pd., M.Cs., selaku dosen pembimbing kedua yang telah
membimbing penulis dalam melakukan penelitian dan menyelesaikan
laporan ini.
6. Bapak dan Ibu dosen yang telah memberikan ilmu, bimbingan dan
pendidikan selama penulis menuntut ilmu di Program Studi Informatika,
Fakultas Teknik Universitas Majalengka.
7. Seluruh Staf Tata Usaha Fakultas Teknik Universitas Majalengka.
8. Hasna Faujiyah, selaku istri tercinta yang telah ngaririweuh penulis selama
penyusunan laporan ini.
9. Semua pihak yang tidak dapat penulis sebutkan satu-persatu.
Semoga segala dukungan dan bimbingan yang telah diberikan kepada
penulis mendapatkan imbalan yang berlipat dari Allah SWT dan semoga Laporan

v
Tugas Akhir ini dapat bermanfaat bagi dunia pendidikan khususnya lingkungan
Universitas Majalengka.
Penulis menyadari bahwa masih banyak kekurangan dalam Laporan Tugas
Akhir ini, atas segala kekurangan dan ketidak sempurnaannya penulis sampaikan
permohonan maaf.

Majalengka, September 2019

Penulis

vi
DAFTAR ISI

HALAMAN PENGESAHAN .................................................................................. i


ABSTRAK .............................................................................................................. ii
ABSTRACT ........................................................................................................... iii
PERNYATAAN KEASLIAN ................................................................................ iv
KATA PENGANTAR ............................................................................................ v
DAFTAR ISI ......................................................................................................... vii
DAFTAR GAMBAR ............................................................................................. ix
DAFTAR TABEL ................................................................................................. xii
BAB I PENDAHULUAN ....................................................................................... 1
1.1. Latar Belakang ................................................................................... 1
1.2. Identifikasi Masalah ........................................................................... 4
1.3. Rumusan Masalah .............................................................................. 5
1.4. Batasan Masalah ................................................................................ 5
1.5. Tujuan Penelitian ............................................................................... 6
1.6. Manfaat Penelitian ............................................................................. 6
1.7. Sistematika Laporan .......................................................................... 7
BAB II LANDASAN TEORI ................................................................................. 8
2.1. Landasan Teori .................................................................................. 8
2.1.1. Citra........................................................................................ 8
2.1.2. Artificial Intelligence ............................................................. 8
2.1.3. Machine Learning .................................................................. 9
2.1.4. Deep Learning ...................................................................... 14
2.1.5. Computer Vision .................................................................. 15
2.1.6. Face Recognition.................................................................. 15
2.1.7. Jaringan Syaraf Tiruan ......................................................... 18
2.1.8. Convolutional Neural Network ............................................ 23
2.1.9. You Only Look Once (YOLO) ............................................ 34
2.1.10. Euclidean Distance ............................................................... 47
2.1.11. REST Webservice ................................................................ 47
2.1.12. Waterfall............................................................................... 48

vii
2.1.13. Flowchart ............................................................................. 49
2.2. Tinjauan Pustaka .............................................................................. 50
BAB III METODE PENELITIAN........................................................................ 54
3.1 Tahapan Penelitian ........................................................................... 54
3.2 Pengumpulan Data ........................................................................... 55
3.3 Preprocessing Data .......................................................................... 55
3.4 Perancangan Arsitektur Pendeteksi Wajah ...................................... 55
3.5 Perancangan Arsitektur Pengenalan Wajah ..................................... 61
3.6 Perancangan Arsitektur Absensi Pengenalan Wajah ....................... 63
3.7 Pengkodean Pendeteksi Wajah ........................................................ 67
3.8 Pengkodean Absensi Pengenalan Wajah ......................................... 67
3.9 Perancangan Uji Akurasi Pengenalan Wajah .................................. 67
3.10 Lokasi Penelitian.............................................................................. 69
3.10.1 Sejarah Universitas Majalengka........................................... 69
3.10.2 Lambang dan Arti Universitas Majalengka ......................... 70
3.10.3 Visi, Misi dan Tujuan Universitas Majalengka ................... 72
BAB IV HASIL PENELITIAN DAN PEMBAHASAN ...................................... 75
4.1 Spesifikasi Perangkat Keras dan Perangkat Lunak .......................... 75
4.2 Hasil Pengumpulan Data ................................................................. 75
4.3 Hasil Preprocessing Data ................................................................. 78
4.4 Implementasi Sistem Pendeteksi Wajah .......................................... 78
4.5 Implementasi Sistem Pengenalan Wajah ......................................... 80
4.6 Implementasi Sistem Absensi Pengenalan Wajah ........................... 83
4.7 Hasil Pengujian Akurasi Pengenalan Wajah ................................... 85
BAB V PENUTUP ................................................................................................ 95
5.1 Kesimpulan ...................................................................................... 95
5.2 Saran ................................................................................................ 96
DAFTAR PUSTAKA ........................................................................................... 97

viii
DAFTAR GAMBAR

Gambar 1.1 Penetrasi Pengguna Internet (APJII, 2018) ........................................ 2


Gambar 2.1 Machine learning dan deep learning sebagai bagian dari artificial
intelligence (Hurwitz & Kirsch, 2018).................................................................. 11
Gambar 2.2 Tipe pembelajaran dan masalah yang diselesaikan (Zaccone, et al.,
2017) ..................................................................................................................... 13
Gambar 2.3 Machine Learning untuk Pendeteksian Objek (Matlab, 2015) ......... 14
Gambar 2.4 Deep Learning Untuk Pendeteksian Objek ....................................... 15
Gambar 2.5 Proses Pengenalan Wajah (Li & Jain, 2005:13) ................................ 17
Gambar 2.6 Arsitektur Jaringan Syaraf Tiruan (Artificial Neural Network)
(Hurwitz & Kirsch, 2018) ..................................................................................... 19
Gambar 2.7 Model Neuron Biologis (Zaccone, et al, 2017) ................................. 20
Gambar 2.8 Artificial Neural Model (Zaccone, et al, 2017) ................................. 20
Gambar 2.9 FeedFordwared Neural Network dengan 2 Hidden Layer dan Input
Class (Zaccone, et al, 2017) .................................................................................. 21
Gambar 2.10 Contoh Feedforward Neural Network (GoodFellow, 2016) ........... 23
Gambar 2.11 Komponen Lapisan Convolution Neural Network (GoodFellow, et
al, 2016)................................................................................................................. 24
Gambar 2.12 Contoh Arsitektur Convolutional Neural Network (GoodFellow, et
al, 2016)................................................................................................................. 25
Gambar 2.13 Aliran data dua layer convolutional pertama (Zaccone, et al., 2017)
............................................................................................................................... 26
Gambar 2.14 Aliran data tiga layer convolutional terakhir (Zaccone, et al., 2017)
............................................................................................................................... 26
Gambar 2.15 Aristektur convolutional neural network sederhana (O'Shea &
Nash, 2015) ........................................................................................................... 27
Gambar 2.16 Aristektur convolutional neural network dimana dua layer
convolution ditumpuk diantara relu sebelum layer pooling (O'Shea & Nash,
2015) ..................................................................................................................... 27
Gambar 2.17 Operasi Standar CNN (Roell, 2017) ............................................... 28
Gambar 2.18 Contoh 2D Konvolusi (Goodfellow, et al., 2016) ........................... 29

ix
Gambar 2.19 Representasi visual layer convolutional (O'Shea & Nash, 2015) ... 31
Gambar 2.20 Layer convolutional pada convolutional neural network ................ 31
Gambar 2.21 Output layer convolutional setelah diterapkan seluruh kernel k
(Rosebrock, 2017) ................................................................................................. 32
Gambar 2.22 Contoh max pooling dengan ukuran 2x2 dan stride 2 (Rosebrock,
2017) ..................................................................................................................... 34
Gambar 2.23 Sistem Pendeteksian Objek YOLO (Redmon, et al, 2016) ............. 35
Gambar 2.24 Rumus Intersect Over Union (IOU) (Rosebrock, 2016) ................. 36
Gambar 2.25 Implementasi Intersect Over Union (IOU) (Rosebrock, 2016)....... 36
Gambar 2.26 Contoh Intersect Over Union (IOU) (Rosebrock, 2016)................. 37
Gambar 2.27 Model You Only Look Once (Redmon, et al, 2016) ........................ 37
Gambar 2.28 Arsitektur You Only Look Once (Redmon, et al, 2016) .................. 39
Gambar 2.29 Bounding box menggunakan dimension cluster dan direct location
prediction (Redmon, et al, 2016) .......................................................................... 41
Gambar 2.30 Tahap Pengembangan dari YOLO V1 ke YOLO V2 (Redmon, et al,
2016) ..................................................................................................................... 42
Gambar 2.31 Dataset COCO dan ImageNet (Redmon, et al, 2016) .................... 43
Gambar 2.32 Kombinasi dataset (Tsang, 2018) .................................................... 43
Gambar 2.33 Teknik WordTree Pada Dataset (Tsang, 2018) ............................... 44
Gambar 2.34 Arsitektur Tiny Yolo V2 ................................................................... 45
Gambar 2.35 Perbandingan penggunaan batch normalization (Hollemans, 2017)
............................................................................................................................... 46
Gambar 2.36 Batch Normalization (Loffe, et al, 2015) ........................................ 47
Gambar 2.37 Ilustrasi Model Waterfall (A. S. & M., 2014) ................................. 49
Gambar 2.38 Flowchart algoritma pendeteksian wajah ....................................... 57
Gambar 3.1 Tahapan Penelitian .............................................................................54
Gambar 3.2 Rancangan Arsitektur Sistem Pendeteksi Wajah .............................. 56
Gambar 3.3 Contoh satu frame video dengan resolusi 360x270 .......................... 58
Gambar 3.4 Contoh frame yang telah diubah ukurannya menjadi 416x416......... 58
Gambar 3.5 Contoh frame yang telah dibagi dengan grid 13x13 ......................... 59
Gambar 3.6 Contoh frame yang terdeteksi pusat dari objek wajahnya................. 59
Gambar 3.7 Kotak pembatas B (B bounding box) ................................................ 60

x
Gambar 3.8 Pemetaan probabilitas objek.............................................................. 61
Gambar 3.9 Non-maximum suppression (NMS) .................................................. 61
Gambar 3.10 Flowchart Proses Pengenalan Wajah .............................................. 62
Gambar 3.11 Rancangan Arsitektur Absensi Pengenalan Wajah ......................... 65
Gambar 3.12 Rancangan Antarmuka .................................................................... 66
Gambar 4.1 Hasil Pengumpulan Foto Mahasiswa .................................................77
Gambar 4.2 Hasil Cropping Foto .......................................................................... 78
Gambar 4.3 Hasil Pengubahan Ukuran Foto......................................................... 78
Gambar 4.4 Antarmuka Sistem Pendeteksi Wajah ............................................... 79
Gambar 4.5 Antarmuka Wajah Dikenali ............................................................... 80
Gambar 4.6 Face Descriptor Wajah dari Webcam ............................................... 81
Gambar 4.7 Face Descriptor Wajah 151410144 di Dataset................................. 83
Gambar 4.8 Antarmuka Hasil Request Data Menggunakan Webservice ............. 84
Gambar 4.9 Antarmuka Pemberitahuan Berhasil Simpan Absensi ...................... 84
Gambar 4.10 Antarmuka Detail Kelas Kuliah ...................................................... 85
Gambar 4.11 Grafik Keberhasilan Jarak 0,5 Meter .............................................. 89
Gambar 4.12 Grafik Keberhasilan Jarak 1 Meter ................................................. 90
Gambar 4.13 Grafik Keberhasilan Jarak 1,5 Meter ............................................. 91
Gambar 4.14 Grafik Keberhasilan Jarak 2 Meter ................................................. 92
Gambar 4.15 Keberhasilan Berdasarkan Jarak ..................................................... 93

xi
DAFTAR TABEL

Tabel 2.1 Perbandingan Realtime Detectors (Redmon, et al, 2016) ..................... 39


Tabel 2.2 Arsitektur Tiny Yolo V2 - VOC ............................................................. 45
Tabel 2.3 Simbol-simbol flowchart (Lucas, 1993) ............................................... 49
Tabel 2.4 Tinjauan Pustaka .................................................................................. 52
Tabel 3 1 Rancangan Pengujian Jarak Pengenalan Wajah.....................................68
Tabel 3.2 Rancangan Pengujian Kondisi Wajah ................................................... 68
Tabel 4.1 Hasil Pengumpulan Foto Mahasiswa .....................................................76
Tabel 4.2 Nilai Euclidean Distance Jarak 0,5 Meter ............................................. 86
Tabel 4.3 Nilai Euclidean Distance Jarak 1 Meter ................................................ 87
Tabel 4.4 Nilai Euclidean Distance Jarak 1,5 Meter ............................................. 87
Tabel 4.5 Nilai Euclidean Distance Jarak 2 Meter ................................................ 88
Tabel 4.6 Hasil Pengujian Akurasi Jarak 0,5 Meter.............................................. 89
Tabel 4.7 Rincian Keberhasilan Jarak 1 Meter ..................................................... 90
Tabel 4.8 Rincian Keberhasilan Jarak 1,5 Meter .................................................. 91
Tabel 4.9 Rincian Keberhasilan Jarak 2 Meter ..................................................... 92
Tabel 4.10 Keberhasilan Pada Masing-masing Jarak .......................................... 93

xii
BAB I
PENDAHULUAN

1.1. Latar Belakang


Sistem absensi atau presensi yang umumnya terdapat pada suatu instansi
maupun universitas ialah dengan menggunakan id card, fingerprint, sistem
absensi online dengan menggunakan internet atau absensi secara manual yaitu
dengan memberikan paraf pada berkas kehadiran. Metode-metode tersebut masih
banyak memiliki kekurangan yang dapat memakan waktu dalam melakukan
absensi, seperti pemalsuan paraf, kehilangan id card, jari tangan yang tergores
atau kecelakaan yang membuat susahnya untuk melakukan absensi. Di
universitas majalengka sendiri sistem absensi masih didominasi dengan
menggunakan cara manual, yaitu dengan menuliskan paraf. Hal tersebut membuat
keamanan dan kenyamanan dalam melakukan kegiatan absensi akan terganggu.
Keamanan dan kenyamanan adalah dua faktor yang yang mutlak ada pada
sebuah sistem absensi sehingga kegiatan absensi bisa berjalan lancar dan optimal.
Faktor keamanan lebih erat korelasinya dengan kepentingan universitas untuk
mendapatkan data kehadiran mahasiswa yang akurat dan cepat. Sedangkan faktor
kenyamanan lebih mengarah pada apa yang dirasakan oleh mahasiswa dalam
melakukan absensi dengan lebih mudah, cepat dan minim kendala. Oleh sebab itu,
dibutuhkan penerapan media pendukung berupa sistem absensi yang mengadopsi
teknologi biometrik untuk mendukung keamanan dan kenyamanan sistem absensi
, seperti sistem absensi menggunakan pengenalan wajah. Faktor dua tadi mungkin
saja bisa menyelesaikan permasalahan yang ada di universitas majalengka, namun
hubungan antara jumlah mahasiswa dan dataset biometrik saling berkaitan.
Semakin banyak mahasiswa, maka semakin banyak pula dataset yang dibutuhkan.
Sistem absensi biasa dengan kapasitas standar tidak dapat menyelesaikan
permasalah tersebut, maka dibutuhkan faktor lain yang dikira mampu
menyelesaikan integrasi data tersebut, yaitu integrasi data berbasis layanan data
menggunakan web service.
Web service adalah sekumpulan fungsi program untuk melakukan pekerjaan
tertentu dalam hal ini yaitu manipulasi data, mengambil, menambahkan atau

1
2

mengubah data (Priambodo, 2010). Pada web service hubungan antar client dan
server dijembatani oleh web service dengan format tertentu sehingga akses
terhadap basisdata tidak ditangani oleh server. Salah satu arsitektur web service
yang banyak digunakan dalam menangani jumlah data yang banyak adalah
Reperesentational State Transfer (REST). Sebagai protocol, REST menggunakan
HTTP (Hypertext Transfer Protocol) untuk komunikasi antar data. Secara
arsitektur REST menampilkan data dengan menggunakan Universal Resource
Identifiers (URI) yang dapat diakses menggunakan internet maupun intranet.
Penggunaan REST yang simple, ringkas dan cepat membuat integrasi data antara
antarmuka sistem absensi dengan penyedia layanan informasi semakin mudah dan
cepat sehingga antarmuka sistem tidak dibebani oleh pertumbuhan jumlah
mahasiswa di universitas majalengka. Penggunaan web service terhadap informasi
biometrik mahasiswa akan semakin terbuka karena berbasis layanan data sehingga
mudah diakses dimana saja, kapan saja dan dapat digunakan oleh program
aplikasi apa saja, hal tersebut ditunjang dengan adanya teknologi internet.
Saat ini internet mengalami perkembangan yang sangat pesat. Di indonesia
sendiri, dari hasil survey yang dilakukan APJII (Asosiasi Penyedia Jasa Internet
Indonesia) pada tahun 2018 menyatakan bahwa penetrasi pengguna internet dari
tahun 2017 dengan presentase 54,68% hingga tahun 2018 dengan presentase
64,8% mengalami penetrasi yang signifikan yaitu sekitar 10.12%. Tingginya
penetrasi ini dilihat dari ketersediaan fiber optic dan infrastruktur pendukung
lainnya yang menopang aktivitas berinternet.

200
171,17
143,26
150 132,7
110,2
Juta

100 82 88,1
55 63
42
50 30
8 11,2 16 20 20 25
0,5 1 1,9 4,2 4,5
0
1999

2006

2013
1998

2000
2001
2002
2003
2004
2005

2007
2008
2009
2010
2011
2012

2014
2015
2016
2017
2018

Gambar 1.1 Penetrasi Pengguna Internet (APJII, 2018)


3

Pengguna internet pada tahun 2018 mencapai 64,8% atau sekitar 171.17 juta
orang dari total populasi penduduk indonesia dari sumber Badan Pusat Statistik
(BPS) yaitu sebanyak 264,16 juta orang (APJII, 2018). Pertumbuhan internet yang
signifikan dari tahun ke tahun membuktikan bahwa pentingnya penggunaan
internet karena dapat membantu pekerjaan masyarakat indonesia.
Pengaksesan internet tidak dapat dilepaskan dari perangkat yang digunakan
untuk mengakses internet itu sendiri, seperti perangkat komputer desktop, laptop,
smartphone atau handphone, dan tablet. Di indonesia sendiri untuk skala
penggunaan internet setiap hari menggunakan perangkat komputer desktop
lumayan tinggi yaitu memiliki presentase sebesar 68,9 %, menggunakan
perangkat laptop memiliki presentase sebesar 56,6%, menggunakan perangkat
smartphone atau handphone memiliki presentase sebesar 93,9% dan
menggunakan perangkat tablet memiliki presentase 85,2% (APJII, 2018).
Pengkasesan internet dengan menggunakan berbagai macam perangkat
memperlihatkan bahwa kebutuhan setiap pengguna internet berbeda-beda yang
menyebabkan persebaran dan ketersediaan informasi atau data diinternet semakin
banyak dan mudah diakses. Perangkat yang banyak digunakan oleh pengguna
adalah perangkat yang memiliki kamera. Kamera sendiri memiliki berbagai
macam jenis, salah satunya adalah kamera digital.
Kamera digital merupakan alat untuk membuat gambar dari objek untuk
selanjutnya dibiaskan melalui lensa pada sensor CCD dan akhir-akhir ini pada
sensor BSI-CMOS (Back Side Illuminated) sensor yang lebih irit daya untuk
kamera yang lebih canggih yang hasilnya kemudian direkam dalam format digital
ke dalam media simpan digital (Komputer, 2005). Setiap gambar atau video yang
didapatkan dari kamera memiliki suatu meta data atau pola yang dapat diolah
sehingga menghasilkan informasi yang dapat digunakan untuk suatu tujuan
tertentu, salah satunya adalah mengenali objek yang ada didalam data citra.
Mengenali suatu objek pada citra secara umum menjadi salah satu masalah
dalam visi komputer (computer vision). Visi komputer belum bisa meniru
kemampuan manusia dalam memahami informasi citra, mengenali objek pada
citra seperti mengenali wajah seseorang. Bagi manusia hal tersebut merupakan
hal yang sederhana dan mudah, tetapi pada ilmu komputer hal tersebut menjadi
4

hal yang sulit untuk diproses salah satunya karena tidak adanya hubungan antara
representasi data citra (pixel) yang disimpan dan dibaca didalam komputer dengan
citra yang didapatkan dari dunia nyata. Permasalahan pengenalan wajah tersebut
menjadi semakin sulit untuk komputer dengan adanya pengaruh terhadap wajah
seperti sudut pandang, jarak, pencahayaan, resolusi, penuaan, dan ekspresi.
Dengan adanya faktor-faktor variasi tersebut citra dapat memiliki makna yang
sama dengan klasifikasi yang berbeda.
Terdapat berbagai macam metode dalam ilmu komputer yang dapat
digunakan untuk mengenali wajah pada citra. Convolutional neural network
(CNN) adalah pengembangan dari multilayer perceptron (MLP) yang didesain
untuk mengolah data citra dua dimensi. Convolutional neural network dirancang
khusus untuk memproses data dalam bentuk array multidimensi seperti pada data
pixel pada citra yang berwarna yang merupakan array dua dimensi untuk setiap
channel warna (LeCun, et al, 2015). CNN ini termasuk dalam jenis Deep Neural
Network karena kedalaman jaringan yang tinggi dan banyak diaplikasikan pada
citra. Pada tahun 2012, Alex Krizhevsky dengan penerapan CNN miliknya
berhasil menjuarai kompetisi ImageNet Large Scale Visual Recognition
Challenge 2012. Prestasi tersebut menunjukkan metode CNN terbukti berhasil
mengungguli metode machine learning seperti SVM pada kasus klasifikasi objek
data citra. Oleh karena itu, untuk dapat menerapkan sistem absensi mahasiswa
dengan menggunakan pengenalan wajah yang memiliki akurasi tinggi dengan
integrasi data kehadiran yang cepat untuk mewujudkan hal tersebut maka penulis
membuat suatu penelitian dengan judul “IMPLEMENTASI FACE
RECOGNITION DAN WEB SERVICE MENGGUNAKAN ALGORITMA
TINY YOLO V2 SEBAGAI ABSENSI KEHADIRAN MAHASISWA”.

1.2. Identifikasi Masalah


Berdasarkan uraian latar belakang diatas maka dapat diidentifikasikan
permasalahan sebagai berikut:
1. Masih sedikitnya absensi kehadiran yang menggunakan integrasi data
untuk proses penyimpanan absensi di universitas majalengka;
2. Belum adanya yang membangun dan menerapkan algoritma Tiny Yolo v2
pada sistem aplikasi pengenalan wajah di universitas majalengka;
5

3. Belum adanya yang membangun absensi kehadiran mahasiswa yang


menggunakan sistem pengenalan wajah berbasis website secara realtime di
universitas majalengka;

1.3. Rumusan Masalah


Bedasarkan uraian latar belakang diatas maka dapat diambil suatu rumusan
masalah sebagai berikut:
1. Bagaimana membangun sistem pengenalan wajah yang menerapkan
algoritma Tiny Yolo V2?
2. Bagaimana membangun sistem absensi kehadiran mahasiswa
menggunakan sistem pengenalan wajah berbasis website secara realtime
untuk di implementasikan pada sistem aplikasi daftar hadir mahasiswa dan
dosen di Universitas Majalengka?
3. Seberapa akurat algoritma Tiny Yolo V2 dapat digunakan pada sistem
kehadiran mahasiswa berbasis pengenalan wajah?
4. Bagaimana mengintegrasikan data untuk menampilkan informasi
mahasiswa berdasarkan citra wajah dan menyimpannya sebagai kehadiran
menggunakan web service?

1.4. Batasan Masalah


Agar penelitian lebih terfokus kepada tujuan yang dicapai, maka penulis
membatasi permasalahan dalam penelitian, sebagai berikut:
1. Data latih yang digunakan berupa satu citra wajah mahasiswa menghadap
ke depan (frontal face) sebagai data latih dari 10 orang mahasiswa;
2. Algoritma yang digunakan untuk pendeteksian dan pengenalan wajah
adalah Tiny Yolo v2;
3. Sistem absensi pengenalan wajah ini dibangun untuk diimplementasikan
pada sistem aplikasi daftar hadir mahasiswa dan dosen yang ada di
universitas majalengka berbasis website secara realtime;
4. Antarmuka sistem dan basisdata dipisahkan dan dapat berhubungan
dengan menggunakan web service;
5. Hanya dua variasi yang dilakukan pengujian terhadap akurasi pengenalan
wajah yaitu jarak dan kondisi/posisi wajah;
6

6. Nilai ambang (thershold) untuk proses pendeteksian wajah adalah lebih


dari sama dengan 0.50 atau 50%.
7. Nilai ambang (thershold) untuk euclidean distance pada proses
pengenalan wajah adalah kurang dari sama dengan 0.45 atau 45%.
8. Penelitian ini hanya membahas penerapan sistem pengenalan wajah untuk
absensi kehadiran mahasiswa pada sistem aplikasi daftar hadir mahasiswa
dan dosen di Universitas Majalengka.

1.5. Tujuan Penelitian


Tujuan dari penelitian ini adalah sebagai berikut:
1. Melatih citra wajah mahasiswa yang digunakan untuk sistem pengenalan
wajah dengan menggunakan algoritma Tiny Yolo v2;
2. Untuk melakukan percobaan menerapkan sistem absensi kehadiran
mahasiswa menggunakan sistem pengenalan wajah secara realtime
berbasis website;
3. Mengukur akurasi algoritma Tiny Yolo v2 yang digunakan pada sistem
kehadiran mahasiswa berbasis pengenalan wajah;
4. Mengintegrasikan data kehadiran mahasiswa yang bersumber pada citra
wajah menggunakan web service.

1.6. Manfaat Penelitian


Hasil dari penelitian ini diharapkan dapat memberikan manfaat sebagai
berikut:
1. Dapat dijadikan framework untuk integrasi data antar server database
yang berbeda dengan tujuan yang sama, seperti antara ekstraksi data citra
dengan kehadiran mahasiswa;
2. Dapat memahami penggunaan algoritma Tiny Yolo v2 sebagai sistem
pengenalan wajah;
3. Diperoleh suatu pengembangan algoritma pengenalan wajah yang
digunakan untuk sistem absensi kehadiran mahasiswa berbasis website
secara realtime;
7

1.7. Sistematika Laporan


Sistematika penulisan laporan ini dibagi menjadi 5 bab yaitu sebagai
berikut:
BAB I PENDAHULUAN
Pada bab ini memaparkan tentang latar belakang, identifikasi
masalah, rumusan masalah, batasan masalah, tujuan penelitian,
manfaat penelitian dan sistematika penulisan laporan penelitian.
BAB II LANDASAN TEORI
Pada bab ini memuat uraian-uraian teori pendukung penelitian
yang didapat dari textbook, resume paper atau jurnal penelitian
pihak lain yang membahas penelitian sejenis.
BAB III METODE PENELITIAN
Pada bab ini menyajikan tahapan-tahapan lengkap eksperimen
yang dilakukan dalam penelitian.
BAB IV HASIL PENELITIAN DAN PEMBAHASAN
Pada bab ini menguraikan tentang hasil dari penelitian atau
eksperimen yang dilakukan dan menganalisa hasil.
BAB V PENUTUPAN
Pada bab ini memuat tentang kesimpulan hasil penelitian yang
dilakukan dan sesuai dengan tujuan penelitian.
BAB II
LANDASAN TEORI

2.1. Landasan Teori


2.1.1. Citra
Citra dapat dijelaskan sebagai dua dimensi dari fungsi f(x,y) dimana x dan y
tersebut adalah sebuah koordinat pada bidang dan amplitude dari f pada pasangan
koordinat adalah intensitas atau sebuah tingkatan keabu-abuan dari suatu citra
pada titik tersebut. Jika x, y, dan nilai intensitas dari f tersebut bernilai diskrit,
berhingga, citra tersebut dinamakan citra digital (Gonzales and Woods, 2008:1).
Pengolahan citra (image processing) merupakan bidang yang berhubungan
dengan proses transformasi citra (image) yang bertujuan untuk mendapatkan
kualitas citra yang lebih baik (Fairhust, 1988:5).
Pengenalan pola (pattern recognition) merupakan bidang ilmu yang
melakukan proses analisis gambar yang inputnya adalah gambar ataupun citra
digital dan menghasilkan output suatu deskripsi dengan tujuan untuk
mendapatkan informasi yang disampaikan oleh gambar atau citra, dengan kata
lain meniru kemampuan manusia (otak manusia) dalam mengenali suatu objek
atau pola tertentu (Fairhust, 1988:5)

2.1.2. Artificial Intelligence


Artificial intelligence atau kecerdasan buatan merupakan sub-bidang dari
ilmu komputer yang ditujukan untuk pengembangan komputer yang memiliki
kemampuan menyelesaikan sesuatu yang biasanya diselesaikan oleh manusia,
khususnya hal-hal yang berhubungan dengan perilaku atau perbuatan cerdas
manusia (Hammond, 2015).
Kognisi atau cerdas dapat dipecah kedalam tiga kategori (Hammond, 2015),
yaitu:
1. Sensing (penginderaan)
Yaitu mengambil atau mengenali sesuatu atau data dengan indera pada
lingkungan sekitar seperti, image processing/recognition, speech recognition
dan data lainnya seperti sonar, accelerometer.

8
9

2. Reasoning (penalaran)
Yaitu memiliki pemikiran atau dapat menghubungkan sesuatu dengan apa
yang sudah dan telah diketahui sebelumnya. Seperti, pemrosesan bahasa
(language understanding), penilaian situasi lingkungan sekitar sistem,
inference atau penarikan kesimpulan berbasis logika atau evidence,
perencanaan atau pemecahan masalah, belajar (learning) berdasarkan contoh
dari data set dan membangkitkan atau membuat bahasa alami.
3. Acting (bertindak)
Yaitu membuat atau mengontrol suatu tindakan didalam suatu sistem.
Seperti, speech generation yang membuat suara dari text dan pengontrol
robotika.

Dari pengertian diatas bahwa kecerdasan buatan adalah suatu bidang ilmu
komputer yang mempelajari suatu algoritma atau bagaimana membuat suatu
program yang dijalankan oleh komputer yang dapat mengerjakan sesuatu yang
dianggap cerdas oleh manusia yang diterapkan pada berbagai bidang kehidupan.

2.1.3. Machine Learning


Machine learning dapat didefinisikan sebagai suatu metode komputasi yang
menggunakan pengalaman (experience) untuk meningkatkan performa atau
membuat prediksi yang akurat. Pengalaman disini merujuk kepada suatu
informasi yang diperoleh sebelumnya yang biasanya dalam bentuk data
elektronik, dimana data tersebut dapat berupa data latih yang telah diberi label
oleh manusia maupun data hasil interaksi sistem dengan lingkungan sekitar.
Kualitas dan jumlah data yang dipergunakan sangat penting untuk keberhasilan
atau akurasi prediksi yang dibuat oleh metode tersebut (Mohri, et al., 2012).
Berikut merupakan beberapa penerapan algoritma machine learning untuk
memecahkan suatu permasalan (Mohri, et al., 2012).
1. Klasifikasi teks atau dokumen.
2. Pemrosesan bahasa natural (Natural Language Processing)
3. Pengenalan, verifikasi dan sintesis suara.
4. Optical character recognition (OCR).
5. Penerapan biologi komputasional.
10

6. Computer vision, seperti: image recognition, face detection.


7. Deteksi penggelapan (Fraud detection), seperti kartu kredit.
8. Games, seperti: catur, backgammon.
9. Pengontrol kendaran otomatis.
10. Diagnosa medis.
11. Sistem rekomendasi, mesin pencari dan ekstraksi informasi.

Machine learning merupakan bagian dari area research ilmu komputer yang
berhubungan dengan menemukan dan menerapkan sistem dan algoritma agar
komputer bisa belajar berdasarkan contoh data input yang diberikan, dimana
machine learning berusaha untuk membuat sistem komputer untuk dapat
mengenali pola yang rumit pada suatu data secara otomatis serta membuat
keputasan yang cerdas menggunakan proses learning (pembelajaran) dengan
dataset training sebagai basis pengetahuan dan dataset testing untuk mengevaluasi
performa (Zaccone, et al., 2017).
Machine learning merupakan bagian dari kecerdasan buatan dimana sebuah
sistem komputer tidak diprogram secara ekplisit untuk melakukan suatu hal,
melainkan belajar dari data yang diberikan. Machine learning menggunakan
berbagai algoritma yang secara iteratif belajar dari data untuk meningkatkan,
menggambarkan, dan memprediksi. Algoritma machine learning menggunakan
training data untuk menghasilkan model yang lebih akurat yang didasarkan pada
data tersebut. Model dari machine learning merupakan hasil keluaran dari
algoritma setelah proses training dengan data (Hurwitz & Kirsch, 2018).
11

Gambar 2.1 Machine learning dan deep learning sebagai bagian dari artificial
intelligence (Hurwitz & Kirsch, 2018)
Kesimpulan yang dapat diambil dari pengertian machine learning diatas
yaitu machine learning merupakan bagian dari kecerdasan buatan, didalam bidang
ini terdapat berbagai algoritma, dimana karakteristik dari program yang dihasilkan
dengan algoritma machine learning ini yaitu dia dapat mempelajari suatu pola
yang kompleks pada suatu data yang diberikan berdasarkan hasil pelatihan pada
suatu data latih, dan tidak diprogram secara khusus untuk melakukan suatu hal
secara eksplisit.
1. Supervised learning
Supervised learning merupakan suatu metode pembelaran machine
learning yang biasa umum ditemui untuk permasalah klasifikasi, regresi, dan
ranking, dimana algoritma machine learning akan menerima sekumpulan
contoh-contoh yang telah memiliki label sebagai data latih kemudian
melakukan prediksi terhadap data yang belum pernah dilihat sebelumnya.
Salah satu contoh supervised learning adalah deteksi spam (Mohri, et al.,
2012).
Supervised learning ditujukan untuk mencari pola tertentu pada suatu data
untuk proses analisis, dimana data tersebut telah memiliki label yang
mendefinisikan data tersebut. Algoritma dilatih dengan menggunakan data
yang telah diproses, setelah itu algoritma dievaluasi menggunakan data yang
belum pernah dilihat sebelumnya (data tes) (Hurwitz & Kirsch, 2018).
12

Supervised learning merupakan proses pembelajaran otomatis yang lebih


sederhana, metode ini berbasiskan pada contoh data yang telah terklasifikasi
kedalam suatu kategori dimana masukan data kepada suatu algoritma akan
dimasukan kedalam salah satu kategori tersebut. Dataset atau contoh terdiri
dari data yang telah memiliki label (terklasifikasi) yang disebut training set.
proses training algoritma supervised learning dilakukan dengan
meminimalkan error dari fungsi error (lost/cost function) berdasarkan
kesalahan output algoritma dengan kebenaran outputnya, kemudian sistem
akan mengubah parameter internalnya untuk membuat error lebih kecil. Pada
bagian akhir model dievaluasi dengan dataset test (Zaccone, et al., 2017).
2. Unsupervised learning
Unsupervised learning merupakan suatu metode pembelaran machine
learning dimana algoritma machine learning menerima data latih yang tidak
memiliki label dan mencoba untuk malakukan prediksi, kluster dan reduksi
dimensionalitas pada data yang belum pernah dilihat sebelumnya (Mohri, et
al., 2012).
Metode pembelajaran unsupervised learning mencoba untuk memahami
data dari bagaimana data dapat diklasifikasikan berdasarkan pola atau kluster
yang dapat ditemukan oleh algoritma. Algoritma supervised learning memilah
data kedalam suatu kelompok atau kluster yang dapat dianggap sebagai label
sehingga menjadi seperti supervised learning (Hurwitz & Kirsch, 2018).
Unsupervised learning merupakan metode pembelajaran dimana
sekumpulan data input yang tidak memiliki kelas/kategori dimasukan
kedalam algoritma yang mencoba untuk mengobserbasi data tersebut yang
seringkali digunakan pada permasalahan clustering yang mencoba untuk
memahami dan menemukan hubungan pada data dengan memasukan data
kepada berbagai kategori atau kluster (Zaccone, et al., 2017).
13

Gambar 2.2 Tipe pembelajaran dan masalah yang diselesaikan


(Zaccone, et al., 2017)
3. Klasifikasi
Permasalahan klasifikasi yaitu berusaha untuk memasukan suatu input
item kedalam kategori tertentu yang berjumlah kecil atau besar, seperti
klasifikasi citra, text dan suara (speech) (Mohri, et al., 2012).
Ketika hasil keluaran dari suatu model machine learning berupa sejumlah
terhingga nilai/label maka permasalahan yang dipecahkan tersebut disebut
klassifikasi, misalnya model machine learning yang dapat membedakan
hewan satu dengan lainnya pada suatu citra, dengan berdasakan pada banyak
contoh citra yang memiliki label untuk setiap hewan yang ada (Hurwitz &
Kirsch, 2018).
Kesimpulan yang dapat diambil dari beberapa pengertian klasifikasi diatas
yaitu klasifikasi merupakan suatu permasalahan machine learning yang
berusaha untuk memberikan label atau mengelompokan suatu masukan (input)
data kedalam suatu kategori tertentu yang terhingga.
4. Regresi
Regresi merupakan permasalahan dimana model harus dapat memprediksi
suatu angka real untuk setiap input item, dimana loss atau besar error diambil
dari besarnya perbedaan antara hasil prediksi dengan kebenarannya, salah satu
contohnya adalah prediksi saham berdasarkan berbagai variabel ekonomi
tertentu (Mohri, et al., 2012).
Regresi menggunakan metode pembelajaran supervised untuk membantu
memahami korelasi antar variabel yang ada dan memiliki label serta hasil
berupa angka kontinu (real) (Hurwitz & Kirsch, 2018).
14

Dari pengertian diatas regresi merupakan suatu masalah machine learning


yang mencoba untuk mendapatkan hasil prediksi berupa angka real dari data
input-nya yang dapat berupa variabel-variabel yang saling berkorelasi.
5. Clustering (Pengelompokan)
Didalam clustering data-data item yang biasanya berjumlah besar akan
dicoba untuk dianalisa dan dikelompokan kedalam kategori homogen (Mohri,
et al., 2012).

Gambar 2.3 Machine Learning untuk Pendeteksian Objek (Matlab, 2015)

2.1.4. Deep Learning


Deep learning merupakan bagian dari machine learning yang berfokus
kepada pemrosesan informasi non-linear (seperti citra) yang memiliki banyak
lapisan representasi data dengan level abstraksi yang berbeda untuk dapat
memodelkan hubungan kompleks antar data, yang biasanya menggunakan
jaringan syaraf tiruan dengan metode pembelajaran supervised atau unsupervised
untuk analisis pola, ekstrasi fitur dan klasifikasi (Deng & Yu, 2014).
Deep learning merupakan bidang penelitian dari machine learning yang
berbasis pada tipe mekanisme pembelajaran tertentu yang memiliki ciri dengan
dibuatnya model pembelajaran pada beberapa level, dimana suatu level (lapisan)
memiliki input dari lapisan sebelumnya dan mentransformasikannya kedalam
bentuk yang lebih abstrak, proses tersebut terinspirasi dari bagaimana otak
memproses dan mempelajari informasi (Zaccone, et al., 2017).
Deep learning merupakan suatu teknik machine learning yang
menggunakan neural network secara hirarki menggunakan algoritma
pembelajaran supervised dan unsupervised untuk dapat mempelajari pola yang
rumit pada data yang tidak terstruktur, deep learning dirancang untuk menirukan
cara kerja otak manusia sehingga komputer dapat dilatih untuk menyelesaikan
15

permasalahan yang tidak terdefinisi dengan baik, deep learning biasanya


digunakan pada image recognition, speech recognition dan computer vision
(Hurwitz & Kirsch, 2018).
Dari pengertian deep learning diatas dapat disimpulkan bahwa deep
learning adalah bagian dari machine learning, menggunakan metode
pembelajaran supervised dan unsupervised pada neural network yang memiliki
banyak lapisan (layer) abstraksi yang saling terhubung untuk memodelkan pola
tertentu pada data yang tidak terstruktur untuk permasalahan pada image
recognition, speech recognition dan computer vision.

Gambar 2.4 Deep Learning Untuk Pendeteksian Objek


2.1.5. Computer Vision
Computer Vision merupakan ilmu yang mempelajari bagaimana computer
dapat mengenali obyek yang diamati (Fairhust, 1988:5). Computer Vision adalah
kombinasi antara pengolahan citra dan pengenalan pola. Computer Vision
bersama intelegensia semu (artificial intelligence) akan mampu menghasilkan
sistem intelegen visual (visual intelligence system).

2.1.6. Face Recognition


Identifikasi (pengenalan) wajah atau face recognition adalah sebuah tugas
yang dikerjakan oleh manusia secara rutin dan mudah dalam kehidupan sehari-
hari. Penelitian dan pengembangan ilmu pengenalan wajah berkembang secara
otomatis atas dasar ketersediaan desktop kuat dan rendah biaya serta embedded-
system yang telah menciptakan minat yang sangat besar dalam pengolahan citra
digital dan video. Motivasi penelitian dan pengembangan dari pengenalan wajah
termasuk dalam lingkup otentikasi biometrik, pengawasan, interaksi manusia-
komputer, dan manajemen multimedia (Li & Jain, 2005:1).
16

Pengenalan wajah adalah salah satu ilmu yang terdapat di dalam computer
vision, di mana sebuah komputer dapat menganalisa suatu citra wajah yang
terdapat di dalam sebuah gambar dan dapat menemukan identitas atau data diri
dari citra wajah tersebut dengan membandingkan terhadap data-data citra wajah
yang sudah disimpan sebelumnya di dalam database. Pada umumnya face
recognition dilakukan dari sisi depan dengan pencahayaan yang merata ke seluruh
wajah. Akan tetapi muncul beberapa permasalahan, seperti posisi wajah, skala
atau jarak wajah, orientasi, umur, dan ekspresi wajah.
Sistem face recognition pada umumnya mencakup empat modul utama (Li
& Jain, 2005:2), yaitu: deteksi, alignment, ekstraksi fitur dan pencocokan. Proses
lokalisasi dan normalisasi (deteksi wajah dan alignment) adalah langkah- langkah
sebelum proses pengenalan wajah (ekstraksi fitur wajah dan pencocokan)
dilakukan.
Deteksi wajah adalah langkah awal untuk melakukan identifikasi wajah atau
face recognition. Sebuah pendeteksi wajah yang ideal seharusnya mampu
mengidentifikasi dan menemukan lokasi dan luas semua wajah yang ada di dalam
sebuah gambar tanpa memperhatikan pose, skala, orientasi, umur, dan ekspresi (Li
& Jain, 2005:13). Deteksi wajah melakukan segmentasi area citra wajah dengan
bagian latar (background).
Proses alignment bertujuan untuk memperoleh akurasi yang lebih baik dan
tinggi untuk lokalisasi dan normalisasi citra wajah sebab deteksi wajah
menyediakan batas lokasi dan skala dari setiap citra wajah yang dapat terdeteksi.
Setelah sebuah wajah dilakukan normalisasi, ekstraksi fitur dilakukan untuk
mengambil data yang efektif yang berguna untuk memisahkan antara citra- citra
wajah dan orang-orang yang berbeda satu sama. Pencocokan wajah dilakukan
dengan cara melakukan pencocokan fitur yang telah diekstraksi dari citra wajah
masukan dengan kumpulan data latihan dan uji coba citra wajah yang telah
tersimpan sebagai database wajah.
17

Gambar 2.5 Proses Pengenalan Wajah (Li & Jain, 2005:13)


Citra wajah direpresentasikan sebagai sebuah susunan pixel dengan dimensi
tinggi. Face recognition, dan penelitian computer vision secara umum, telah
mengamati pertumbuhan minat dalam teknik yang menerapkan aljabar dan fitur
statistik untuk melakukan ekstraksi dan analisis kasus jenis ini. Analisa komputer
untuk citra wajah dipengaruhi oleh sinyal visual (cahaya yang terpantul pada
permukaan wajah) yang disimpan oleh sebuah sensor digital sebagai sebuah
susunan dari nilai pixel. Nilai pixel ini menyimpan warna atau hanya intensitas
cahaya. Array pixel dari citra wajah berukuran m x n dapat disimpan dalam
bentuk sebuah trik (contoh: vektor) di dalam sebuah ruang citra mendimensi
dengan menulis nilai-nilai pixel-nya dalam urutan tetap. Masalah utama dari data
multidimensi adalah dimensionalitasnya, jumlah koordinat yang diperlukan untuk
menspesifikasikan sebuah titik data. Jumlah dimensionalitas ruang tersebut, yang
dibuat dari representasi pixel m x n, adalah jumlah yang sangat tinggi bahkan
untuk sebuah ukuran citra wajah yang sangat sederhana. Metode pengenalan
wajah untuk mengoperasikan representasi ini mengalami beberapa kesulitan.
Menurut Shakhnarovich & Moghaddam, (2005, p. 141), beberapa dari hambatan
ini juga disebut curse dari dimensionalitas.
- Menangani dimensionalitas yang tinggi, terutama dalam konteks
pengenalan berdasarkan kecocokan memerlukan biaya yang mahal secara
komputasi.
- Untuk metode parametrik, jumlah parameter yang diperlukan untuk
berkembang secara eksponensial berdasarkan dimensionalitasnya.
18

Terkadang jumlah nya lebih banyak dari jumlah citra yang disediakan
untuk latihan dan uji coba.
- Untuk metode non-parametrik, kompleksitas dari sampel cukup tinggi.
Menurut Cao (2005:7), face recognition merupakan proses penganalisa
karakteristik dari bentuk muka yang tidak berubah, seperti:
 Bagian atas dari rongga mata
 Area di sekitar tulang pipi
 Sisi kiri dan kanan dari mulut

Kesulitan dalam pengenalan wajah sering ditemukan pada:


 Noise dan blur yang disebabkan oleh ketidaksempurnaan kamera
 Skala: Ukuran wajah terhadap citra
 Perubahan bentuk: Posisi wajah, ekspresi, usia
 Intensitas cahaya: Pencahayaan, efek pantulan sinar
 Gangguan: kacamata, janggut, dan kumis

Menurut Turk (2005:3), pengenalan wajah bisa dilihat sebagai suatu cara
untuk secara tepat mengenali citra dari sebuah wajah, dengan menggunakan data-
data dari wajah yang telah lebih dahulu dikenal. Pengenalan wajah memiliki
semua hambatan dalam pengenalan yang berdasarkan pemrosesan citra.
Dikarenakan citra yang digunakan dapat berubah-ubah secara drastis disebabkan
beberapa faktor yang rumit dan membingungkan, seperti faktor pencahayaan,
posisi kamera, pengaturan kamera, dan noise.
Jadi hasil dari face recognition akan berupa informasi yang dikenal atau
tidak sebagai wajah dengan sebelumnya membandingkan dengan informasi dari
wajah yang diketahui. Proses face recognition ini memiliki permasalahan dari
pencahayaan, posisi kamera, parameter kamera dan noise yang didapatkan pada
sebuah citra.

2.1.7. Jaringan Syaraf Tiruan


Jaringan syaraf tiruan mencoba untuk menirukan bagaimana otak manusia
menyelesaikan suatu permasalahan dengan lapisan-lapisan unit (neuron) yang
saling terhubung satu sama lain untuk dapat mempelajari dan mengenali
19

hubungan dari data yang diamati, jaringan syaraf tiruan terdiri dari lapisan input,
satu atau lebih lapisan tersembunyi (hidden) dan lapisan output. Data dimasukan
melalui lapisan input kemudian data dimodifikasi pada lapisan tersembunyi dan
lapisan output berbasarkan weight (parameter pemberat) yang diterapkan dan
dipelajari. Jaringan syaraf tiruan disebut juga deep learning ketida terdapat lebih
dari satu hidden layer. Salah satu kasus penggunaannya adalah pada image
recognition dan computer vision (Hurwitz & Kirsch, 2018).

Gambar 2.6 Arsitektur Jaringan Syaraf Tiruan (Artificial Neural Network)


(Hurwitz & Kirsch, 2018)
Jaringan syaraf tiruan merupakan bagian dari deep learning, dan merupakan
abstraksi representasi dari sistem syaraf yang terdiri dari sekumpulan neuron yang
saling berinteraksi dengan satu sama lain melalui axon. Model jaringan syaraf
tiruan pertama kali diajukan pada 1943 oleh McCulloch dan Pitts dalam bentuk
model komputasi dari aktifitas neuron, kemudian model tersebut diikuti oleh John
von Neumann, Marvin Minsky, Frank Rosenblatt yang disebut perceptron
(Zaccone, et al., 2017).
Jaringan syaraf tiruan terinspirasi dari jaringan syaraf biologis yang terdiri
dari beberapa komponen sebagai berikut (Zaccone, et al., 2017).
1. Badan sel yang disebut soma
20

2. Satu atau lebih dendritis yang bertanggung jawab menerima sinyal dari
neuron lain
3. Axon yang mengeluarkan sinyal yang dihasilkan oleh suatu neuron untuk
ditransmisikan ke neuron lain.

Gambar 2.7 Model Neuron Biologis (Zaccone, et al, 2017)


Sama halnya seperti neuron biologis, artificial neuron juga terdiri dari.
1. Satu atau lebih koneksi masuk dari neuron output sebelumnya, dan setiap
koneksi memiliki weight yang digunakan untuk mempertinbangkan data
input tadi.
2. Satu atau lebih output yang merupakan hasil dari input (koneksi masuk).
3. Suatu fungsi aktifasi yang menentukan nilai output

Gambar 2.8 Artificial Neural Model (Zaccone, et al, 2017)


Pada Gambar 2.8 output merupakan hasil/signal yang ditransmit keluar
oleh suatu neuron, dimana nilai tersebut diambil dari weighted sum yaitu nilai
21

setiap nilai x dikali dengan masing-masing nilai w kemudian dijumlahkan dan


dimasukan kedalam fungsi aktifasi.
Feed forward neural network terdiri dari banyak artificial neuron yang
dikelompokan kedalam lapisan-lapisan (layers), yaitu satu input layer, satu atau
lebih hidden layer dan satu output layer. Setiap neuron terhubung ke seluruh
neuron pada layer sebelumnya, serta hubungan antar neuron tidak sama karena
setiap koneksi memiliki nilai weight yang berbeda, dimana weight koneksi
tersebut merepresentasikan pengetahuan dari neural network. Data input
memasuki input layer dan dilewatkan kedalam hidden layer satu persatu sampai
keoutput layer. Suatu neural network dengan jumlah neuron pada hidden layer
yang sedikit tidak dapat memperkirakan suatu fungsi tidak diketahui dengan
presisi yang cukup baik, karena terlalu komplek atau karena algoritma
backpropagation berakhir pada lokal minima, namun jika network memiliki
jumlah neuron yang banyak pada hidden layer dapat menimbulkan masalah overfit
yang akan memperburuk kemampuan generalisasi neural network itu sendiri
(Zaccone, et al., 2017).

Gambar 2.9 FeedFordwared Neural Network dengan 2 Hidden Layer dan Input
Class (Zaccone, et al, 2017)
22

Jaringan syaraf tiruan atau disebut juga feedforward neural network atau
multilayer perceptron (MLP), atau deep feedforward neural network merupakan
suatu model deep learning yang memiliki tujuan untuk memperkirakan suatu
fungsi f`, pada classifier model ini memiliki bentuk pemetaan y = f(x; θ) yang
memetakan data input x ke kategori y dengan mempelajari parameter θ yang
menghasilkan nilai klasifikasi atau fungsi perkiraan terbaik. Model ini disebut
feedforward karena informasi atau data input selalu mengalir ke suatu fungsi yang
sedang dievaluasi dari input x menuju operasi komputasi selanjutnya sampai ke
operasi terakhir yang mengeluarkan y (output). Network ini biasanya
direpresentasikan dengan menggabungkan fungsi-fungsi yang berbeda, sebagai
contoh terdapat tiga fungsi f(1), f(2) dan f(3) yang saling terhubung secara berantai
dengan bentuk penuh f(3)( f(2)( f(1)(x))), bentuk ini merupakan struktur umum dari
neural network, dalam hal ini f(1) sebagai layer pertama, f(2) sebagai layer kedua
(hidden layer) dan seterusnya. Keseluruhan rantai komputasi ini membentuk
depth (kedalaman) model neural network, setiap hidden layer merupakan suatu
nilai vector dimana dimensi dari dari hidden layer ini merupakan width (lebar)
dari model neural network. Layer dapat juga dianggap sebagai sesuatu yang
meiliki banyak units (neuron) yang bekerja secara paralel dan setiap unit
menggambarkan suatu fungsi konversi vector-to-scalar. Setiap unit menerima
input dari banyak unit lainnya dari layer sebelumnya dan menghitung nilai
aktifasinya yang dapat menjadi input untuk layer selanjutnya. Pada feedforward
neural network terdapat konsep yang disebut hidden layer dimana kita memiliki
suatu fungsi aktifasi yang digunakan untuk menghitung nilai unit dari hidden
layer tersebut, salah satu rekomendasi fungsi aktifasi yang dapat digunakan adalah
ReLU (Rectified Linear Unit) (Goodfellow, et al., 2016).
23

Gambar 2.10 Contoh Feedforward Neural Network (GoodFellow, 2016)


Pada Gambar 2.10 contoh feedforward neural network yang digambar
dengan dua gaya berbeda, yang pertama (kiri) digambar setiap unit sebagai suatu
node graph, dikanan setiap node menggambarkan keseluruhan vektor yang
merupakan layer aktifasi. Pada Gambar 2.10 menampilkan matrix W yang
mendeskripsikan mapping dari x ke h, dan vektor w mendeskripsikan mapping
dari h ke y.
Arsitektur neural network merujuk kepada keseluruhan struktur network
tersebut, seperti berapa banyak unit yang dimiliki dan bagaimana unit tersebut
terhubung satu sama lain. Sebagian besar neural network menamai sekelompok
unit sebagai layer dan mengurutkan layer tersebut secara sequence, dimana setiap
layer menjadi suatu fungsi dari layer yang mendahuluinya.
( ) ( ) ( ) ( )
( ) (2. 1)
2.1.8. Convolutional Neural Network
Convolutional neural network merupakan salah satu tipe jaringan syaraf
tiruan deep feed forward yang lebih mudah dilatih untuk dataset citra dan
memiliki kemampuan generalisasi yang lebih baik dari pada jaringan syaraf tiruan
biasa, jaringan jenis ini dirancang khusus untuk memproses data dalam bentuk
array multidimensi seperti data pixel pada citra berwarna yang merupakan array
dua dimensi untuk setiap channel warna (LeCun, et al., 2015).
Convolutional neural network merupakan suatu jenis khusus dari neural
network untuk memproses data yang memiliki bentuk (topologi) grid, salah satu
seperti data citra yang dapat dianggap sebagai grid pixel 2 dimensi, convolutional
24

neural network menggunakan operasi matematis yang disebut convolution


(Goodfellow, et al., 2016).
Layer convolutional pada convolutional neural network terdiri dari 3
tahapan yaitu yang pertama melakukan konvolusi secara parallel sehingga
menghasilkan data dari aktifasi linear, kemudian tahap kedua yaitu setiap hasil
aktifasi linear pada tahap pertama dimasukan kedalam suatu fungsi aktifasi non-
linear seperti ReLU, tahap terakhir adalah fungsi pooling untuk mengubah output
hasil aktifasi lebih lanjut dan mereduksi dimensi data (Goodfellow, et al., 2016).

Gambar 2.11 Komponen Lapisan Convolution Neural Network


(GoodFellow, et al, 2016)
25

Gambar 2.12 Contoh Arsitektur Convolutional Neural Network


(GoodFellow, et al, 2016)
Convolutional neural network merupakan jaringan syaraf deep learning
yang memiliki arsitektur yang dikelompokan kedalam serangkaian blok (layer),
yang pertama terdiri dari dua tipe layer, convolutional layer dan pooling layer,
sementara blok terakhir merupakan layer fully-connected dengan layer softmax.
Pada layer convolutional setiap neuron (unit) terhubung dengan area tertentu pada
area input yang disebut receptive field. Convolutional neural network dapat terdiri
dari beberapa layer convolutional yang terhubung secara sekuensial, output dari
setiap layer convolutional merupakan feature maps yang menjadi input untuk
layer selanjutnya. Convolutional neural network juga menggunakan pooling layer
yang biasanya ditempatkan tepat setelah layer convolutional, layer pooling
digunakan untuk mengurangi waktu komputasi dan meningkatkan robustness fitur
terhadap posisi spasial-nya. Layer terakhir pada network ini merupakan fully-
connected network dengan aktifasi softmax pada layer output-nya (Zaccone, et al.,
2017).
26

Gambar 2.13 Aliran data dua layer convolutional pertama (Zaccone, et al., 2017)
Pada Gambar 2.13 menunjukan citra input diproses pada layer
convolutional pertama menggunakan filter-weights, hasil dari operasi ini
menghasilkan 32 citra baru untuk setiap filter pada layer convolutional pertama,
kemudian citra di-downsample dengan operasi pooling sehingga ukuran citra
menjadi 14x14. Output 32 citra itu kemudian diproses pada layer convolutional
kedua dengan menggunakan filter-weights untuk setiap 32 fitur dan untuk setiap
output channel dari layer tersebut yaitu 64, citra diperkecil lagi menggunakan
pooling layer sehingga menghasilkan output 7x7.

Gambar 2.14 Aliran data tiga layer convolutional terakhir (Zaccone, et al., 2017)
Pada Gambar 2.14 output dari layer convolutional ketiga dipaparkan
menjadi vektor (flatten) dan menjadi input untuk fully connected layer, yang
kemudian masuk ke output layer dengan 10 neurons. Filter convolution diinisiasi
dengan nilai random, kemudian error antara hasil prediksi dengan kategori citra
sebenarnya dihitung dengan cost function.
27

Convolutional neural network memiliki tiga tipe layer yaitu convolutional


layer, pooling layer untuk downsampling dan fully-connected layer yang
menghasilkan nilai skor untuk klasifikasi. Network ini memiliki arsitektur umum
dimana layer convolutional ditumpuk, diikuti oleh layer pooling dan struktur ini
diulang-ulang sebelum dimasukan kedalam fully-connected layer seperti pada
Gambar 2.15 arsitektur lainnya yang umum digunakan yaitu dua layer
convolutional ditumpuk sebelum setiap layer pooling seperti pada Gambar 2.16
(O'Shea & Nash, 2015).

Gambar 2.15 Aristektur convolutional neural network sederhana


(O'Shea & Nash, 2015)

Gambar 2.16 Aristektur convolutional neural network dimana dua layer


convolution ditumpuk diantara relu sebelum layer pooling
(O'Shea & Nash, 2015)
Pada convolutional neural network terdapat beberapa tipe layer yang sering
digunakan yaitu convolutional, Activation, Pooling, Fully-Connected, Batch
normalization dan dropout. Dengan menumpuk layer-layer ini maka jadilah suatu
arsitektur convolutional neural network, yang dapat digambarkan dengan text
28

seperti: INPUT => CONV => RELU => FC => SOFTMAX, yang menyatakan
convolutional neural network yang menerima input, menerapkan layer
convolutional, melakukan activasi relu, masuk ke fully-connected layer dan
softmax untuk mendapatkan hasil akhir probabilitas klasifikasi (Rosebrock, 2017).

Gambar 2.17 Operasi Standar CNN (Roell, 2017)


1. Convolutional Layer
Pada operasi convolution terdapat data input dan kernel, output dari hasil
convolution disebut feature map, didalam machine learning data input biasanya
merupakan array multidimensi yang disebut tensor dan kernel juga merupakan
array multidimensi yang terus menerus diubah (adapted) oleh algorithma
pembelajaran. Sebagai contoh citra dua dimensi sebagai input I dengan
menggunakan kernel dua dimensi K (Goodfellow, et al., 2016).
( ) ( )( ) ∑ ∑ ( ) ( ) (2.2)
29

Gambar 2.18 Contoh 2D Konvolusi (Goodfellow, et al., 2016)


Operasi convolution pada neural network memiliki implementasi yang
sedikit berbeda dari operasi standar matematis, convolution pada neural network
merupakan operasi yang terdiri dari banyak operasi convolution secara parallel,
hal ini karena satu kernel tunggal hanya dapat men-ekstrak satu jenis fitur saja,
yang mana kita ingin setiap layer dapat men-ekstrak banyak fitur dari berbagai
lokasi input. Convolutional neural network memiliki input layer kedua dari output
layer pertama yang meruapakan hasil dari convolution yang berbeda. Network ini
bekerja pada citra berwarna dengan tiga channel red, green dan blue, jadi output
dari operasi ini menjadi tiga dimensi dimana satu index dimensi merujuk ke-
channel dan dimensi lainnya merujuk ke koordinat spasial pada channel tersebut.
Pada implementasi software operasi convolution ini bekerja pada data batch, jadi
dimensi menjadi empat dimensi data tensor, dengan sumbu keempat
merepresentasikan suatu data. K merupakan tensor kernel empat dimensi (4-D)
dengan setiap elemen Ki,j,k,l dengan hubungan antara unit channel output dan unit
channel i pada input dengan offset baris ke k dan kolom ke l antara unit output
dengan unit input. Kemudian data observasi (input receptive field) V dengan
elemen Vi,j,k merupakan unit input dengan channel i pada baris j dan kolom k,
kemudian output terdiri dari Z yang memiliki format sama dengan V, dimana Z
dihasilkan dari operasi convolution antara K dan V. (Goodfellow, et al., 2016).
∑ (2.3)
30

Pada persamaan diatas dilakukan penjumlahan pada seluruh data index ke l,


m dan n yang valid. Bentuk lainnya dari operasi ini yaitu dengan penggunaan
stride yang menunjukan bagaimana dan berapa banyak kernel digeser dan
diposisikan pada receptive field, stride dapat mereduksi dimensi dari data input
(downsampling). Salah satu fitur lainnya yaitu dengan kemampuan menambahkan
zero-padding pada data input V agar lebih besar agar ukuran dari output dapat
lebih terkontrol tanpa terpengaruh oleh stride (Goodfellow, et al., 2016).

( ) ∑ ( ) ( ) (2.4)

Convolutional layer merupakan hal yang sangat penting pada convolutional


neural network, pada layer terdapat parameter learnable yaitu kernel, kernel ini
biasanya memiliki ukuran yang kecil dari pada data inputnya tetapi memiliki
ukuran depth (kedalam) penuh yang sama dengan data input. Data input pada
layer ini akan dilakukan operasi convolution untuk setiap filter kernel pada setiap
dimensi input data sehingga menghasilkan activation map, kernel digeser
keseluruh data input, dan melakukan perkalian titik (dot product) untuk setiap
nilai input dengan kernel. Setiap kernel memiliki activation map-nya sendiri yang
ditumpuk-tumpuk (depth) membentuk volume output dari layer convolutional.
Kernel pada convolutional layer hanya terhubung pada area kecil tertentu pada
data input pada suatu waktu, area tersebut disebut sebagai receptive field. Jika
terdapat input data dengan ukuran 64x64x3 (citra berwarna RGB) kemudian
ukuran kernel (receptive field) 6x6x3 maka hanya terdapat 108 konektivitas.
Terdapat beberapa hyperparameter yang dapat diubah pada convolutional layer
yaitu depth, stride dan zero-padding, stride mendefinisikan pergeseran untuk
menempatkan kernel pada receptive field pada setiap dimensi, dimana jika stride 1
atau kecil akan memiliki receptive field yang saling overlap sementara jika stride
besar tidak akan banyak area receptive field yang overlap tetapi merduksi dimensi
output itu sendiri, kemudian zero-padding merupakan sejumlah padding dengan
nilai 0 yang ditempatkan disisi input data (border) untuk lebih mengontrol
dimensi volume output dari hasil convolution (O'Shea & Nash, 2015).
31

Gambar 2.19 Representasi visual layer convolutional (O'Shea & Nash, 2015)
Convolutional layer merupakan salah satu building block utama pada
convolutional neural network, layer ini memiliki learnable parameter yaitu
sekumpulan kernel K yang memiliki ukuran lebar dan tinggi yang selalu sama
(kotak) dan berukuran kecil serta memiliki depth (kedalaman) yang sama dengan
data input. Kernel K bergeser keseluruh volume input dan melakukan dot-product
dan menyimpannya kedalam activation map dua dimensi untuk setiap kernel K
(Rosebrock, 2017).

Gambar 2.20 Layer convolutional pada convolutional neural network


(Rosebrock, 2017)
Setelah menerapkan semua kernel K ke data input, maka output-nya
berupa activation map dua dimensi sebanyak K kernel yang ditumpuk menjadi
dimensi depth (kedalaman).
32

Gambar 2.21 Output layer convolutional setelah diterapkan seluruh kernel k


(Rosebrock, 2017)
Convolutional layer terhubung kernel ke area input data yang lebih kecil
(local region), area ini disebut receptive field. terdapat tiga parameter yang
mempengaruhi dan mengontrol ukuran output dari layer ini yait depth, stride dan
zero-padding.
a. Depth
Mengontrol depth (kedalaman) kernel dari layer convolutional yang terhubung
ke local region dari data input, yang akan menghasilkan activation map untuk
setiap kernel.
b. Stride
Stride mengontrol pergeseran setiap kernel pada setiap dimensi, jika
menggunakan stride S=1 maka kernel akan bergeser satu pixel dari kiri ke
kanan dan atas ke bawah pada satu waktu. Penggunaan kernel yang lebih besar
akan menyebabkan ukuran output mengecil dan sebaliknya.
c. Zero-padding
Zero-padding dapat mengotrol ukuran output volume dengan menambahkan
padding nol (zero) pada data input, dengan ini ukuran output dapat memiliki
ukuran yang sama dengan ukuran input-nya, jumlah padding yang dibutuhkan
dikontrol dengan parameter P. Untuk mengukur output dari layer convolution
yaitu. Pertama layer convolutional menerima input dengan ukuran Winput +
Hinput + Dinput , kemudian jumlah kernel K yang mengontrol kedalaman
volume output, ukuran receptive field (kernel) F yang biasanya kotak, nilai
stride S dan jumlah dari zero-padding P. kemudian dapat diambil persamaan
ukuran output.
33

Woutput = ((Winput – F + 2P) / S) + 1 (2.5)


Houtput = ((Hinput – F + 2P) / S) + 1 (2.6)
Doutput = K (2.7)
2. Pooling Layer
Fungsi pooling mengganti output dari dari neural network pada posisi
tertentu dengan statistik output terdekat-nya (Goodfellow, et al., 2016).
Fungsi utama dari layer pooling adalah untuk merduksi ukuran spasial
(width dan height) data input yang dapat membuat convolutional neural network
memiliki jumlah parameter lebih sedikit dan juga mengurangi komputasi yang
dibutuhkan. Pooling ini beroperasi pada setiap irisan depth (kedalaman) input
secara independen menggunakan fungsi max atau average. Tipe pooling layer
yang umum digunakan adalah max pooling, ukuran pool yang banyak digunakan
yaitu 2x2 dengan stride S=1 atau S=2. Untuk max pooling yang memiliki ukuran
2x2 maka hanya akan diambil nilai terbesari dari blok input 2x2 tersebut. Untuk
mengukur volume output dari hasil pooling layer ini, yang pertama input data
berukuran Winput + Hinput + Dinput, kemudian ukuran receptive field F yang disebut
juga pool size dan terakhir stride S. dengan menerapkan pooling maka ukuran
output menjadi Woutput + Houtput + Doutput dicari dengan.

Woutput = ((Winput –F) / S) + 1 (2.8)


Houtput = ((Hinput –F) / S) + 1 (2.9)
Doutput = Dinput (2.10)
34

Gambar 2.22 Contoh max pooling dengan ukuran 2x2 dan stride 2
(Rosebrock, 2017)

2.1.9. You Only Look Once (YOLO)


You Only Look Once atau YOLO merupakan pendekatan baru yang
digunakan untuk mendeteksi objek pada dataset Pascal VOC 2012 yang dapat
mendeteksi 20 objek pascal pada kelas kelas berikut (Redmon, et al, 2016):
1. Manusia
2. Hewan, seperti burung, kucing, sapi, anjing, kuda, domba
3. Kendaraan, seperti pesawat terbang, sepeda, perahu, bus, mobil, sepeda
motor, kereta api, dan
4. Perabotan, seperti botol, kursi, meja makan, pot tanaman, sofa, tv /
monitor
Pascal Visual Object Classess (PASCAL VOC) sendiri merupakan sebuah
provider yang menyediakan set data gambar standar untuk object class
recognition yang digunakan untuk mengevaluasi performa sebuah metode object
class recognition, pengumpulan objek dilakukan dari tahun 2005 sampai dengan
tahun 2012 oleh sebab itu metode YOLO dievaluasi dengan menggunakan
provider ini untuk mengetahui performanya yaitu pada versi pertama hanya
mampu mendeteksi 20 objek kelas yang berbeda.
35

Gambar 2.23 Sistem Pendeteksian Objek YOLO (Redmon, et al, 2016)


Pada Gambar 2.16 pertama, citra masukan diubah ukurannya menjadi
448x448 untuk versi standar, dan 416x416 untuk versi kecil (tiny), yang kemudian
menjalankan sebuah jaringan konvolusi tunggal yang secara bersamaan
memprediksi beberapa kotak pembatas dan probabilitas kelas pada kotak tersebut
dan menampilkan thresholds dari hasil pendeteksian (Redmon, et al, 2016).
Unified Detection
YOLO ini menggunakan pendekatan yang berbeda dengan metode lainnya,
dimana pada metode ini menerapkan jaringan saraf tunggal ke gambar penuh.
Jaringan ini membagi gambar menjadi beberapa grid dan memprediksi kotak
pembatas (bounding box) dan menerapkan probabilitas untuk setiap area. Kotak
pembatas tersebut diberikan bobot oleh probabilitas yang diprediksi (Redmon, et
al, 2016). Model YOLO memungkinkan pelatihan dari ujung ke ujung dan
kecepatan realtime dengan tetap mempertahankan presisi rata-rata yang tinggi.
Model ini membagi gambar input menjadi grid S x S. Apabila grid tersebut jatuh
kedalam grid cell, cell grid tersebut bertanggung jawab untuk mendeteksi objek
yang ada. Setiap sel kotak memprediksi kotak pembatas B (bouding box) dan skor
kepercayaan untuk kotak-kotak tersebut. Confident Score ini mencerminkan
seberapa yakin model tersebut berisi objek dan juga seberapa akurat kotak
tersebut dalam memprediksi. Secara formal confident score dapat dilihat pada
persamaan berikut.
C = Pr(Object) (2.11)
Apabila tidak ada objek didalam sel tersebut, confident score harus bernilai
nol untuk menyamakan Intersection Over Union (IOU) antara kotak prediksi dan
kenyataan (Redmon, et al, 2016).
36

Gambar 2.24 Rumus Intersect Over Union (IOU) (Rosebrock, 2016)


Setiap kotak pembatas terdiri dari 5 prediksi: x, y, w, h dan confident.
Koordinat (x, y) merepresentasikan pusat dari kotak yang relatif terhadap cell
grid. w (lebar) dan h (tinggi) diperkirakan relatif terhadap keseluruhan gambar.
Maka, prediksi objek menujukan IOU antara kotak prediksi dan kenyataan
(Redmon, et al, 2016).

Gambar 2.25 Implementasi Intersect Over Union (IOU) (Rosebrock, 2016)


Secara bersamaan, ketika kotak pembatas dibuat, setiap grid cell juga
memprediksi C conditional class probabiliy. Probabilitas kelas spesifik untuk
setiap grid cell didefinisikan sebagai.
( | ) ( ) ( ) (2.12)
Persamaan tersebut memberikan suatu confidence score kelas yang
spesifik untuk setiap kotak. Confidence score tersebut menerjemahkan kedua
probabilitas kelas yang muncul dalam kotak dan sebeberapa cocok kotak yang
diprediksi dengan objek.
37

Gambar 2.26 Contoh Intersect Over Union (IOU) (Rosebrock, 2016)


Algoritma ini mendeteksi model sebagai masalah regresi. Yang membagi
gambar menjadi grid S x S dan setiap grid cell memprediksi kotak pembatas
sebagai B, confidence score untuk kotak tersebut, dan memetakan probabilitas
kelas sebagai C. Prediksi ini diterjemahkan dengan persamaan berikut:
Output = S x S (B * (5 + C)) (2.13)

Gambar 2.27 Model You Only Look Once (Redmon, et al, 2016)
YOLO memprediksi beberapa kotak pembatas per grid cell. Selama
pelatihan data, model hanya membutuhkan satu kotak pembatas yang bertanggung
jawab untuk memprediksi satu objek yang memiliki intersect over union (IOU)
paling tinggi dengan ground truth. YOLO menggunakan persamaan dibawah
untuk menghitung loss dan melakukan optimasi pada confidence.
38

Loss = (2.14)

∑∑ ( ̂) ( ̂)

∑∑ [(√ √̂ ) (√ √̂ ) ]

∑∑ ( ̂)

∑∑ ( ̂)

∑ ∑ ( ( ) ̂ ( ))

Fungsi loss digunakan untuk memperbaiki kotak pusat dan kotak pembatas
dari setiap prediksi. Setiap gambar dibagi keladam SxS grid dengan kotak
pembatas setiap grid nya. dan merujuk pada pusat dari kotak setiap prediksi
, dan merujuk pada kotak pembatas. dan digunakan untuk
meningkatkan titik berat pada kotak yang ada objeknya, dan menurunkan titik
berat pada kotak tersebut yang tidak ada objeknya. C merujuk pada confidence
dan ( ) merujuk pada prediksi klasifikasi. adalah bernilai 1, apabila kotak
pembatas jth dalam sel ith diprediksi terdapat objek, dan bernilai 0 untuk
sebaliknya. adalah bernilai 1, apabila objek berada di sel i dan bernilai 0
untuk sebaliknya. Fungsi loss ini menunjukan performa dari algoritma ini, dimana
semakin kecil loss maka semakin tinggi performanya.
39

Gambar 2.28 Arsitektur You Only Look Once (Redmon, et al, 2016)
YOLO ini juga dapat digunakan sebagai object detection secara realtime,
dimana ketika metode ini dibandingkan dengan model lainnya, YOLO memiliki
performa dengan pendeteksian objek dan kecepatan deteksi yang lumayan bagus.
Tabel 2.1 Perbandingan Realtime Detectors (Redmon, et al, 2016)
Realtime Detectors Train (Pascal VOC) mAP FPS
100Hz DPM 2007 16.0 100
30Hz DPM 2007 26.1 30
Fast YOLO 2007+2012 52.7 155
YOLO 2007+2012 63.4 45
Fastest DPM 2007 30.4 15
R-CNN Minus R 2007 53.5 6
Fast R-CNN 2007+2012 70.0 0.5
Faster R-CNN VGG-16 2007+2012 73.2 7
Faster R-CNN ZF 2007+2012 62.1 18
YOLO VGG-16 2007+2012 66.4 21

R-CNN memiliki akurasi yang tinggi namun tidak mempunyai proposal


yang baik karena Frame Per Second yang rendah sehingga proses realtime
detector terasa sangat lag. Fast-RCNN meningkatkan kecepatan klasifikasi dari
metode R-CNN biasa akan tetapi dalam proses pencarian memakan waktu sekitar
2 detik per gambar untuk menampilkan kotak pembatas, meskipun memiliki
pemetaan atau pendeteksian objek yang tinggi akan tetapi dengan fps 0.5 masih
jauh dikatakan sebagai realtime detector (Redmon, et al, 2016).
40

Di tahun yang sama yaitu tahun 2016 metode YOLO ini dikembangkan
untuk versi keduanya dengan mempublikasikan penelitian yang berjudul
YOLO9000: Better, Faster, Stronger.
Pada judul penelitian tersebut telah jelas bahwa YOLO V2 ini
dikembangkan dengan tiga poin yaitu lebih baik (better), lebih cepat (faster) dan
lebih kuat (stronger).
1. Better
Pengembangan yang dilakukan adalah dengan memfokuskan pada
peningkatan recall dan lokalisasi sambil mempertahankan akurasi klasifikasi serta
lebih kuat untuk berjalan pada gambar dengan ukuran berbeda, adapun poin-poin
yang mendukung dalam proses pengembangan ini adalah sebagai berikut:
a. Normalisasi Batch, dengan menambahkan normalisasi batch pada semua
konvolusi yang meningkatkan lebih dari 2% dalam proses pemetaan (mAP).
b. High Resolution Clasifier, dengan memperbaiki clasification network pada
resolusi 448x448 untuk 10 epoch di ImageNet yang dapat memberikan waktu
pada clasification network untuk menyesuaikan filter agar bekerja lebih baik
pada input dengan resolusi yang tinggi.
c. Convolutional With Anchor Box, dengan menghilangkan fully connected layer
dan menggunakan anchor box untuk memprediksi kotak pembatas.
d. Dimension Cluster, dengan menggunakan k-means cluster untuk mendapatkan
prior yang bagus secara otomatis atau cluster centroid. Dengan menggunakan
standar euclidean distance yang berbasis k-mean clustering tidak cukup baik
karena kotak yang lebih besar menghasilkan lebih banyak kesalahan daripada
kotak yang lebih kecil. YOLO V2 menggunakan k-means clustering yang
menghasilkan skor IOU yang baik:
( ) ( ) (2.15)
Cluster IOU
e. Direct Location Prediction, dengan memprediksi lebar dan tinggi dari kotak
sebagai batas dari cluster centroid dan memprediksi pusat koordinat dari kotak
relatif ke lokasi dari filter aplikasi dengan menggunakan fungsi sigmoid.
41

Gambar 2.29 Bounding box menggunakan dimension cluster dan direct


location prediction (Redmon, et al, 2016)
Penjelasan dari gambar diatas adalah sebagai berikut:
(cx, cy) adalah lokasi daripada grid
(bx, by) adalah lokasi dari kotak pembatas (bounding box): (cx, cy) + delta
kotak dari hasil σ(tx) dan σ(ty)
(pw, ph) adalah anchor box yang sebelumnya didapatkan dari clustering
(bw, bh) adalah dimensi kotak pembatas: (pw, ph) diskalakan dengan
(tw, th)

f. Multi-scale Training, dengan mengubah jaringan setiap beberapa iterasi, setiap


10 batch jaringan pada YOLO V2 secara acak memilih dimensi gambar baru
diantaranya {320, 325, …, 608} yang menyebabkan pengubahan ukuran
jaringan saraf dan melanjutkan pelatihan.
42

Gambar 2.30 Tahap Pengembangan dari YOLO V1 ke YOLO V2


(Redmon, et al, 2016)
2. Faster
YOLO V2 yang dikembangkan tidak hanya memperhatikan pendeteksian
yang akurat, tetapi juga harus cepat, seperti robotika, self-driving car. Pada
pengembangan ini YOLO V2 menggunakan model klasifikasi baru yaitu Darknet-
19, dimana Darknet-19 ini memiliki 19 convolutional layer dan 5 max pooling
layer yang membutuhkan 5,58 juta operasi untuk memproses suatu gambar.

3. Stronger
Sebagian besar pendekatan untuk klasifikasi menggunakan lapisan softmax di
semua kategori yang mungkin untuk menghitung distribusi probabilitas akhir.
Menggunakan softmax mengasumsikan kelas-kelasnya saling berhubungan. Ini
dapat menimbulkan masalah dalam menggabungkan dataset, misalnya tidak ingin
menggabungkan ImageNet dan COCO dengan menggunakan model ini karena
kelas "norfolk terrier" dan "dog" tidak sama. Maka pada YOLO V2 ini klasifikasi
dibuat secara hirarki sehingga jenis objek dengan kategori yang sama dapat
diklasifikasi secara berbeda, sehingga YOLO V2 ini dikombinasikan dengan
Dataset WordTree.
43

Gambar 2.31 Dataset COCO dan ImageNet


(Redmon, et al, 2016)

Dataset Microsoft COCO, yang terdiri dari 100 ribu gambar menghasilkan 80
kelas objek umum yang disertai labelnya, seperti anjing, kucing, dll.
Dataset ImageNet, yang terdiri dari 13 juta gambar menghasilkan 22 ribu kelas
objek. Kelas objek yang dihasilkan lebih spesifik lagi seperti anjing cihuahua,
anjing bulldog, kucing anggora, kucing persia, dll.
Dari dua dataset diatas dapat disimpulkan bahwa kelas objek seperti anjing
dan cihuahua merupakan kelas objek yang berbeda, meskipun keduanya adalah
hewan jenis anjing. Namun, kita tidak bisa menyatukan dataset tersebut untuk
mendapatkan kelas objek yang lebih spesifik.

Gambar 2.32 Kombinasi dataset (Tsang, 2018)


Untuk mendapatkan kelas objek yang lebih spesifik dapat dengan
menggabungkan dua dataset, seperti COCO dan ImageNet akan tetapi dengan
menggunakan teknik yang berbeda, yaitu dengan menggunakan teknik WordTree.
44

Gambar 2.33 Teknik WordTree Pada Dataset (Tsang, 2018)


Pada gambar diatas, WordTree adalah sebuah pohon hirarki untuk
menghubungkan kelas dengan sub kelas secara bersamaan. WordTree berbasis
pohon yang dibangun berdasarkan WordNet berbasis grafik dengan
memvisualisasikan kata benda ImageNet dan memilih jalur yang lebih pendek di
WordNet.
Apabila jaringan saraf melihat sebuah gambar “anjing” tetapi tidak yakin
anjing jenis apa yang dilihat tetap akan melakukan prediksi sebagai anjing dengan
tingkat keyakinan tinggi berbasis pada probabilitas bersyarat.
Dari proses penggabungan dua dataset tersebut menghasilkan klasifikasi
objek sebanyak 9418, maka dari itu untuk YOLO V2 ini disebut juga sebagai
YOLO9000 karena mampu mengenali sekitar 9000 objek yang berbeda.

YOLO Lite (Tiny YOLO)


Beberapa metode, seperti You Only Look Once (YOLO) dan Regional-based
Convolutional Neural Network (R-CNN) telah berhasil menciptakan sebuah model
yang efisien dengan akurasi tinggi pada pemetaan objek (mAP). Bagaimanapun,
frame per second dari metode-metode tersebut tidak bekerja secara sempurna
untuk pendeteksi objek secara realtime pada komputer non-GPU. YOLO-Lite atau
bisa disebut Tiny YOLO dibuat untuk mengatasi masalah tersebut yang berbasis
pada algoritma You Only Look Once (YOLO) (Huang, 2018).
45

Maka penulis menyimpulkan bahwa, Tiny Yolo merupakan algoritma yang


digunakan sebagai realtime object detection pada komputer tanpa GPU (non-
GPU Computer) yang berbasis pada algoritma You Only Look Once (YOLO).
Pada Tiny Yolo V2 ini hanya menggunakan 9 convolutional layer dan 6 max
pooling pada proses klasifikasinya seperti yang terlihat pada Tabel 2.2.
Tabel 2.2 Arsitektur Tiny Yolo V2 - VOC
Output
Layer Kernel Stride Filters
Shape
Input 3 416 x 416
Convolution Layer 1 3x3 1 16 416 x 416
Max Pooling 2x2 2 16 208 x 208
Convolution Layer 2 3x3 1 32 208 x 208
Max Pooling 2x2 2 32 104 x 104
Convolution Layer 3 3x3 1 64 104 x 104
Max Pooling 2x2 2 64 52 x 52
Convolution Layer 4 3x3 1 128 52 x 52
Max Pooling 2x2 2 128 26 x 26
Convolution Layer 5 3x3 1 256 26 x 26
Max Pooling 2x2 2 256 13 x 13
Convolution Layer 6 3x3 1 512 13 x 13
Max Pooling 2x2 2 512 13 x 13
Convolution Layer 7 3x3 1 1024 13 x 13
Convolution Layer 8 3x3 1 1024 13 x 13
Convolution Layer 9 1x1 1 125 13 x 13
Region

Atau, dapat di representasikan menggunakan diagram pada gambar berikut.

Gambar 2.34 Arsitektur Tiny Yolo V2


46

Citra masukan diubah ukurannya menjadi 416x416 dengan tiga channel,


yaitu Red, Green, Blue, sehingga menghasilkan input 416x416x3. Citra masukan
tersebut di lakukan pra-pemrosesan dengan mengubahnya kedalam array dengan
jenis float32 untuk melakukan proses convolutional network dengan 9 convolution
layer dan 6 max pooling sehingga menghasilkan keluaran dalam bentuk
13x13x125 tensor, dimana 13x13 adalah jumlah grid pada citra. Setiap grid cell
memiliki 125 channel, yang dibentuk dari 5 kotak pembatas yang diprediksi oleh
gird cell dan 25 elemen data yang menggambarkan setiap kotak pembatas, maka
nilai 125 tersebut didapatkan dari mengalikan 5 kotak pembatas dan 25 elemen
yang ada pada setiap kotak pembatas itu sendiri. 25 elemen data tersebut terdiri
dari koordinat x, y, lebar dan tinggi kotak pembatas, confidence score, dan
persebaran probabilitas 20 kelas.
YOLO menggunakan regularisasi teknik yang disebut batch normalization
setelah proses convolutional layer. Batch normalization melakukan penskalaan
fitur untuk data diantara lapisan. Teknik ini membantu jaringan saraf bekerja lebih
baik karena menghentikan data agar tidak memburuk saat mengalir melalu
jaringan saraf (Hollemans, 2017).

Gambar 2.35 Perbandingan penggunaan batch normalization (Hollemans, 2017)


Batch normalization biasanya terjadi setelah lapisan convolutional layer
tetapi sebelum fungsi aktivasi, karena konvolusi dan batch normalization
melakukan transformasi linear data, hal tersebut dapat menggabungkan parameter
lapisan normalisasi batch dengan bobot (weight) untuk konvolusi yang disebuh
dengan folding lapisan normalisasi batch kedalam lapisan konvolusi.
47

Gambar 2.36 Batch Normalization (Loffe, et al, 2015)

2.1.10. Euclidean Distance


Euclidean distance adalah metrik yang digunakan untuk menghitung
kesamaan 2 vektor. Euclidean distance menghitung akar dari kuadrat perbedaan 2
vektor (Putra, 2010).
Rumus dari euclidean distance:

√∑ ( ) (2.16)

Contoh:
Terdapat 2 vektor data seperti berikut:
A = [0, 3, 4, 5]
B = [7, 6, 3, -1]
Euclidean distance dari vektor A dan B adalah:

√( ) ( ) ( ) ( ( )) (2.17)

√ (2.18)

2.1.11. REST Webservice


Web service adalah sistem perangkat lunak yang dirancang untuk
mendukung interaksi yang bisa beroperasi machine-to-machine di atas jaringan.
48

Web service mempunyai alat penghubung yang diuraikan di dalam format


machine processable (secara spesifik Web Services Description Language).
Sistem lain saling berhubungan dengan Web service di dalam cara yang
ditentukan oleh deskripsinya yang menggunakan pesan SOAP (Simple Object
Access Protocol), secara khas disampaikan menggunakan HTTP (Hypertext
Transfer Protocol) dengan XML (Extensible Markup Language) serialization,
bersama dengan standar lain yang terkait dengan web (Booth et al, 2004).
REST (Representational State Transfer) merupakan standar arsitektur
komunikasi berbasis web yang sering diterapkan dalam pengembangan layanan
berbasis web. Umumnya menggunakan HTTP (Hypertext Transfer Protocol)
sebagai protocol untuk komunikasi data (Fielding, 2000).
Pada arsitektur REST, REST server menyediakan resources (sumber
daya/data) dan REST client mengakses dan menampilkan resource tersebut untuk
penggunaan selanjutnya. Setiap resource diidentifikasi oleh URIs (Universal
Resource Identifiers) atau global ID. Resource tersebut direpresentasikan dalam
bentuk format teks, JSON atau XML. Pada umumnya formatnya menggunakan
JSON dan XML.
Berikut metode HTTP yang umum digunakan dalam arsitektur berbasis
REST :
3. GET, menyediakan hanya akses baca pada resource.
4. PUT, digunakan untuk menciptakan resource baru.
5. DELETE, digunakan untuk menghapus resource.
6. POST, digunakan untuk memperbarui resource yang ada atau membuat
resource baru.
7. OPTIONS, digunakan untuk mendapatkan operasi yang di support pada
resource.

2.1.12. Waterfall
Model waterfall atau model sekuensial linear (linear sequential), merupakan
model pengembangan perangkat lunak secara terurut dari mulai analisis,
perancangan, pengodean, pengujian. Pada tahap analisis yang pertama merupakan
proses spesifikasi kebutuhan yang perlu didokumentasikan, tahap perancangan
merupakan tahap merancang komponen-komponen yang akan diimplementasikan
49

dan perlu juga didokumentasikan. Tahap pembuatan program yaitu rancangan


yang telah dibuat akan dikodekan menggunakan bahasa pemrograman dan
menjadi suatu program komputer. Tahap selanjutnya yaitu pengujian yaitu
program yang telah dibuat akan diuji fungsionalitas dan kinerjanya dalam
melakukan hal yang diinginkan. Berikut pada Gambar 2.37 merupakan gambaran
prosesnya (A. S & M., 2014).

Analisis Perancangan Pengodean Pengujian

Gambar 2.37 Ilustrasi Model Waterfall (A. S. & M., 2014)

2.1.13. Flowchart
Flowchart merupakan diagram yang dapat menggambarkan suatu kegiatan
atau pengolahan suatu informasi ataupun tahap-tahap suatu program (algoritma),
berikut merupakan beberapa simbol yang ada pada flowchart (Lucas, 1993).

Tabel 2.3 Simbol-simbol flowchart (Lucas, 1993)

Simbol Deskripsi
Akhir, Penyela Simbol ini menunjukan awal atau akhir dari
suatu aliran.

Input Output Simbol ini menggambarkan data input atau


output dari suatu operasi terlepas dari media
atau format

Proses/Pengolahan Simbol ini menggambarkan suatu proses,


kegiatan atau pengolahan data

Keputusan Simbol ini menyatakan suatu keputusan yang


harus dibuat
50

Dokumen Simbol ini menggambarkan suatu penyimpanan


berupa file dokumen

Piringan Magnetik Simbol ini menunjukan media penyimpanan


magnetik disk

2.2. Tinjauan Pustaka


Berikut merupakan tinjauan pustaka dari penelitian terhadulu yang
digunakan sebagai sumber acuan dalam melakukan penelitian.
Pada penelitian yang dilakukan oleh Muhammad Yusuf, R. V. Hari Ginardi
dan Adhatus Solichah A. pada tahun 2016 yang berjudul Rancang Bangun
Aplikasi Absensi Perkuliahan Mahasiswa dengan Pengenalan Wajah
menghasilkan suatu aplikasi absensi mahasiswa berbasis desktop menggunakan
pengenalan wajah pada kondisi cahaya dan resolusi yang bagus dengan metode
eigenface. Sistem absensi dibuat menggunakan bahasa pemograman C#, library
emguCV, MySQL untuk melakukan pencatatan dan perekapan data absensi.
Selanjutnya, penelitian yang dilakukan oleh Halprin Abhirawa, Jondri
M.Si., Anditya Arifianto, ST., MT. pada tahun 2017 yang berjudul Pengenalan
Wajah Menggunakan Convolutional Neural Network yaitu menganalisis dari
diterapkannya algoritma convolutional neural network pada pengenalan wajah
menggunakan data testing The Extended Yale Face B dengan hasil akurasi
sebesasr 75,79% dengan menggunakan sistem dropout sebesar 86,71% dengan
ukuran filter 3x3 memiliki akurasi sebesar 89,73% dan 5x5 sebesar 86,71%.
Adapun, penelitian yang dilakukan oleh M. Bahrul Subkhi, Resty
Wulaningrum, M.Kom, Danar Putra Pamungkas, M.Kom., pada tahun 2018 yang
berjudul Sistem Pengenalan Wajah Untuk Presensi Kuliah dengan Metode
Eigenface PCA (Principal Component Analysis) dan Block City yang membuat
sistem deteksi wajah untuk presensi mahasiswa di universitas nusantara PGRI
Kediri dengan menggunakan metode eigenface dan digabung dengan algoritma
manhattan (city block) dengan 10 data training, pencahayaan terang dan jarak
50cm yang menghasilkan 80% kecocokan wajah.
51

Pada tahun 2018, Tiara Shafira melakukan penelitian yang berjudul


Implementasi Convolutional Neural Network Citra Tomat Menggunakan Keras
yang mengimplementasikan convolutional neural network menggunakan package
keras pada bahasa pemograman R yang digunakan untuk mengklasifikasikan
tomat layak dan tidak layak degngan menggunakan citra tomat. Penelitian ini
melakukan pengujian pada 100 sampel citra tomat dan menghasilkan tingkat
akurasi sebesar 90%.
Terakhir pada penelitian yang dilakukan oleh Fenti Endrianti, Wawan
Setiawan dan Yaya Wihardi dengan judul Sistem Pencatatan Kehadiran Otomatis
di Ruang Kelas Berbasis Pengenalan Wajah yang mengkaji sistem pencatatan
kehadiran mahasiswa berbasis pengenalan wajah di ruang kelas secara otomatis
menggunakan metode convolutional neural network dengan dua kategori data
latih yaitu 1200 data citra wajah lihat kamera dan 1200 data citra tidak lihat
kamera. Penelitian tersebut menghasilkan klarifikasi wajah dengan akurasi sebesar
93,33% yang bergantung apda kondisi pengambilan citra masukan, pendeteksian
wajah dan proses klarifikasi.
Tabel 2.4 Tinjauan Pustaka

Variabel Yang
No Tahun ISSN Peneliti Judul Penerbit Hasil Temuan
Terkait
Muhammad Rancang Bangun Aplikasi absensi mahasiswa Absensi,
JURNAL
Yusuf, R. V. Aplikasi Absensi berbasis desktop berbasis mahasiswa,
TEKNIK
1. 2016 2337-3539 Hari Ginardi, Perkuliahan pengenalan wajah yang dapat pengenalan
ITS Vol. 5,
Adhatus Mahasiswa dengan melakukan pencatatan dan wajah,
No. 2
Solichah A. Pengenalan Wajah perekapan data absensi. eigenface, C#
Face
Recognition,
Halprin e- Analisis implementasi
Convolutional
Abhirawa, Pengenalan Wajah Proceeding algoritma convolutional
Neural
Jondri, M.Si., Menggunakan of neural network pada
2. 2017 - Network,
Anditya Convolutional Neural Engineering pengenalan wajah
Dropout,
Arifianto, ST., Network Vol. 4, No. menggunakan data testing
absensi
MT. 3 The Extended Yale Face B.
kehadiran
mahasiswa
M. Bahrul Sistem Pengenalan Sistem deteksi wajah untuk
Subkhi, Resty Wajah Untuk Presensi presensi mahasiswa di Eigenface, city
Simki-
Wulanningrum, Kuliah Dengan Metode universitas nusantara PGRI block distance,
Techsain
3. 2018 2599-3011 M.Kom., Danar Eigenface PCA Kediri 10 data training, presensi,
Vol. 2, No.
Putra (Principal Component pencahayaan terang dan jarak pengenalan
3
Pamungkas, Analysis) dan City 50cm yang menghasilkan wajah
M.Kom. Block 80% kecocokan wajah.
Implementasi FMIPA Implementasi convolutional Tomat,
4. 2018 - Tiara Shafira Convolutional Neural Universitas neural network menggunakan Convolutional
Network Klasifikasi Islam package keras untuk Neural

52
Citra Tomat Indonesia mengklasifikasikan tomat Network,
Menggunakan Keras Yogyakarta layak dan tidak layak Keras, R
pengujian pada 100 sampel
citra tomat dan menghasilkan
tingkat akurasi sebesar 90%.
Mengkaji sistem pencatatan
kehadiran mahasiswa
Sistem Pencatatan Jurnal Teori Absensi
berbasis pengenalan wajah di
Kehadiran Otomatis di dan kehadiran
Fenti Endrianti, ruang kelas secara otomatis
Ruang Kelas Berbasis Aplikasi mahasiswa,
Wawan menggunakan metode
5. 2018 2615-577X Pengenalan Wajah Ilmu pengenalan
Setiawan, Yaya convolutional neural network
Menggunakan Metode Komputer wajah, data
Wihardi yang bergantung pada
Convolutional Neural (JATIKOM) latih, akurasi,
kondisi pengambilan citra
Network (CNN) Vol 1, No. 1 kondisi citra
masukan, pendeteksian wajah
dan proses klasifikasi.

53
BAB III
METODE PENELITIAN

3.1 Tahapan Penelitian


Berikut ini merupakan tahapan-tahapan yang dilakukan dalam penelitian ini
yang menggunakan metode waterfall.

Tahap Penelitian

Pengumpulan Data
Analisis

Preprocessing Data

Perancangan Arsitektur
Pendeteksi Wajah
Desain

Perancangan Arsitektur
Pengenalan Wajah

Perancangan Arsitektur
Absensi Pengenalan Wajah

Pengkodean Arsitektur
Pendeteksi Wajah
Pengkodean

Pengkodean Arsitektur
Pengenalan Wajah

Pengkodean Arsitektur
Absensi Pengenalan Wajah
Implementasi

Pengujian Akurasi
Pengenalan Wajah

Implementasi Sistem

Gambar 3.1 Tahapan Penelitian

54
55

3.2 Pengumpulan Data


Pada tahap ini dilakukan pengumpulan satu gambar berupa foto mahasiswa
nampak lurus kedepan dari 10 orang mahasiswa yang diambil dari berbagai
sumber, diantaranya dari kamera smartphone dan kamera digital.

3.3 Preprocessing Data


Setelah 10 foto mahasiswa didapatkan, selanjutnya adalah preprocessing
citra berupa cropping (pemotongan) dan pengubahan ukuran (resize) gambar.
Tahap pertama yaitu cropping, proses cropping dilakukan untuk menyeleksi foto
mahasiswa sehingga lebih terfokus pada seluruh area wajah saja, hasil dari proses
ini adalah sebuah gambar persegi yang memuat wajah mahasiswa dengan
memperhatikan aspek rasio.
Pengubahan ukuran citra (resizing) dilakukan pada gambar yang sudah di-
cropping karena memiliki resolusi yang berbeda-beda yang disebabkan gambar
didapatkan dari berbagai jenis kamera. Pada proses resizing ini citra diseragamkan
ukurannya menjadi 416x416 pixel sesuai dengan arsitektur algoritma Tiny Yolo v2
pada Gambar 2.34.

3.4 Perancangan Arsitektur Pendeteksi Wajah


Tahap ini merupakan tahap perancangan sistem pendeteksi wajah. Pada
tahap ini wajah dapat dideteksi secara realtime melalui webcam dengan
menggunakan algoritma Tiny YOLO v2, namun belum bisa mengenali wajah dari
mahasiswa. Citra wajah diambil dari video per 1 frame lalu dideteksi apakah
didalam citra tersebut terdapat wajah atau tidak. Apabila wajah terdeteksi pada
citra, maka tampilkan kotak pembatas di sekitar wajah. Tiny Yolo v2 sendiri dapat
dimuat oleh browser dengan menggunakan library javascript face-api.js.
56

Mulai

Muat Tag Video


HTML5

Atur Source
Video dari Webcam

Load Tiny Yolo V2


Face Detector

Ambil Citra
Dari Video

Mendeteksi Objek
Wajah

Tidak

Wajah
Terdeteksi ?

Ya

Tampilkan Bounding
Box di Wajah

Selesai

Gambar 3.2 Rancangan Arsitektur Sistem Pendeteksi Wajah


Algoritma yang digunakan untuk mendeteksi wajah pada penelitian ini
adalah Tiny Yolo v2, dimana pada awalnya algoritma tersebut dibuat untuk
digunakan sebagai pendeteksi objek atau object recognition. Berbeda dengan
algoritma pendeteksi wajah pada umumnya yang melakukan pengolahan citra,
algoritma Tiny Yolo v2 pada penelitian ini dalam melakukan pendeteksian wajah
berperan sebagai object recognition dengan 1 kelas objek, yaitu wajah. Untuk
lebih jelasnya mengenai sistem pendeteksian objek YOLO ini dapat dilihat pada
Gambar 2.23. Berikut merupakan alur dari algoritma pendeteksian objek wajah
pada penelitian ini.
57

Start

Input image
(video frame)

Resize image into


416x416

Divide images into


SxS grids

Find these grid cell which are


responsible for detecting face

Predict
B Bouding Box

Calculate
(x, y, w, h, confidence score)

Calculate the probability of


classification

Non-maximum suppression

Final face detection

End

Gambar 2.38 Flowchart algoritma pendeteksian wajah


Berikut adalah penjelasan dari flowchart algoritma pendeteksi wajah adalah
sebagai berikut:
1. Membaca gambar masukan
Gambar masukan yang digunakan dalam pendeteksian objek wajah
adalah dari video per satu frame dengan resolusi video yaitu 360x270 pixel.
58

Gambar 3.3 Contoh satu frame video dengan resolusi 360x270


2. Resize gambar masukkan menjadi 416x416
Resolusi video yang digunakan untuk streaming webcam adalah
360x270 dalam satuan pixel, sehingga ukuran setiap frame nya adalah sama
dengan resolusi video. Dalam deep learning, setiap pixel dari gambar adalah
sebuah fitur. Untuk satu frame dengan resolusi 360x270 tersebut, fitur
vektor nya adalah (x11, x12, . . . , x1n, x21, x22, . . ., x2n, . . ., xn1, xn2, . . .,
x360,270). Maka, frame dengan ukuran 360x720 diubah ukurannya oleh face-
api.js menjadi 416x416 sesuai dengan arsitektur Tiny Yolo v2 pada Gambar
2.34.

Gambar 3.4 Contoh frame yang telah diubah ukurannya menjadi 416x416
3. Bagi gambar kedalam kisi SxS
Tahap selanjutnya pada algoritma Tiny Yolo v2 ini adalah membagi
citra masukan kedalam kisi SxS dengan nilai S = 13 yang sesuai dengan
hasil akhir dari konvolusi algoritma yang membagi gambar kedalam kisi
13x13, seperti terlihat pada Gambar 2.34.
59

Gambar 3.5 Contoh frame yang telah dibagi dengan grid 13x13
4. Mencari sel kisi yang bertanggung jawab untuk memprediksi wajah
Model wajah yang telah dilatih atau biasa disebut pre-trained dataset
dapat secara otomatis menentukan pusat dari objek wajah pada gambar
masukkan. Apabila pusat dari objek wajah jatuh kedalam sel kisi, maka sel
kisi tersebut bertanggung jawab untuk mendeteksi wajah tersebut. Apabila
di dalam sel tersebut berisi wajah, maka probabilitas wajah bernilai satu atau
Pr(wajah) = 1, dan sebaliknya atau Pr(wajah) = 0.

Gambar 3.6 Contoh frame yang terdeteksi pusat dari objek wajahnya
5. Memprediksi kotak pembatas B
Setiap sel kisi memprediksi kotak pembatas B (B bounding box) dan
confidence score dari setiap kotak pembatasnya. Nilai dari B dapat
ditentukan secara dinamis menyesuaikan dengan performa optimal
algoritma dalam mendeteksi objek. Pada penelitian ini, nilai dari B adalah 5
yang sesuai dengan arsitektur algoritma pada Gambar 2.34. Nilai tersebut
adalah bahwa algoritma yang digunakan mampu memprediksi 5 kotak
pembatas untuk setiap objek wajah yang muncul, ukuran dari setiap kotak
pembatas tersebut bisa berbeda karena melakukan prediksi pada layer yang
berbeda-beda.
60

Gambar 3.7 Kotak pembatas B (B bounding box)


6. Kalkulasi parameter pendeteksi (x, y, w, h, score)
Setiap kotak pembatas berisi lima parameter pendeteksi, yaitu koordinat
(x, y), lebar kotak, tinggi kotak, dan score dari objek yang dideteksi. Nilai
score dapat dicari dengan rumus berikut.
score = Pr(wajah) * IOU (3.1)
Dimana, IOU adalah Intersection Over Union. IOU didefinisikan
sebagai berikut.
( )
IOU = (3.2)
( )

Dimana, variabel G merupakan posisi aktual dari wajah (ground truth


bounding box), dan variabel P merupakan posisi yang diprediksi (predicted
bounding box).
IOU ini digunakan untuk menghitung korelasi antara kenyataan dengan
prediksi. Dimana semakin besar score-nya, maka semakin baik pula
performanya dalam memprediksi seperti terlihat pada Gambar 2.26. Ketika
IOU = 1, performa pendeteksi adalah paling baik. Akan tetapi, pada
umumnya performa tersebut dapat dikatakan baik ketika score IOU > 0.5
dalam pendeteksian.
Oleh karena itu, merujuk pada pendefinisian Pr(wajah) dan IOU maka
jarak nilai score nya adalah antara 0 dan 1 yang mana memperlihatkan
seberapa yakin kotak tersebut berisi objek wajah dan juga seberapa akurat
kotak tersebut dalam melakukan prediksi.
7. Menghitung probabilitas untuk klasifikasi
Pada kenyataanya dalam deep learning, setelah target terdeteksi, sistem
pendeteksi juga perlu untuk mengklasifikasikan target tersebut apakah
burung, manusia, anjing, mobil, dan lain-lain, seperti pada dataset PASCAL
61

VOC. Karena pada penelitian ini hanya perlu untuk mendeteksi satu jenis
objek, maka target tersebut hanya dapat mendeteksi objek tersebut, yaitu
wajah. Maka, probabilitas kondisionalnya adalah Pr(wajah|target) =
Pr(wajah).

Gambar 3.8 Pemetaan probabilitas objek


8. Non-Maximum Suppression (NMS)
Algoritma ini menggunakan NMS untuk mempertahankan setiap kotak
pembatas B yang memiliki skor terbaik. Langkah pertama, yang dilakukan
NMS adalah menyeleksi semua prediksi kotak pembatas yang mempunyai
skor probabilitas (thershold) kurang dari thershold dan mempertahankan
yang lebih dari itu.

Gambar 3.9 Non-maximum suppression (NMS)

3.5 Perancangan Arsitektur Pengenalan Wajah


Untuk pengenalan wajah, arsitektur yang digunakan adalah sesuai dengan
Gambar 2.1, pada gambar tersebut menjelaskan bahwa proses pengenalan wajah
adalah dilakukan dengan melakukan pencocokan fitur yang diekstraksi antara citra
wajah masukan dengan citra yang ada di database. Oleh karena itu, sebuah
arsitektur diimplementasikan untuk mendapatkan fitur atau deskripsi wajah (face
descriptor) yang mana digunakan untuk menggambarkan karakteristik dari wajah
62

seseorang. Untuk menghitung deskripsi wajah tersebut pada penelitian ini


digunakan arsitektur ResNet-34 atau biasa disebut residual neural network yang
memiliki 34 layer dan menghasilkan fitur vektor sebanyak 128 dari setiap wajah
yang dikenali. Arsitektur ini dipilih karena arsitektur ini memiliki performa yang
baik dan dapat bekerja pada hardware yang terbatas atau spesifikasi rendah,
seperti yang digunakan oleh peneliti, maka arsitektur yang dipilih hanya memiliki
34 layer. Arsitektur ini tidak terbatas pada dataset wajah yang digunakan untuk
data latih, tapi juga dapat digunakan untuk pengenalan wajah siapapun. Dengan
arsitektur ini, dapat menentukan dua wajah yang berbeda dengan membandingkan
jarak deskriptor dari setiap wajah.
Pada penelitian ini, untuk mengetahui jarak antara dua deskriptor adalah
dengan menggunakan metode euclidean distance. Berikut ini merupakan
flowchart dari proses pengenalan wajah.

Mulai

Dataset
Pendeteksian Wajah
Citra
Secara Realtime
Wajah

Ekstraksi fitur Ekstraksi fitur


(ResNet-34) (ResNer-34)

D = min(jarak(fiturinput, fiturdataset)

D < Threshold

Ya Tidak

Tampilkan Tidak
Face ID Dikenali

Selesai

Gambar 3.10 Flowchart Proses Pengenalan Wajah


Berikut ini merupakan penjelasan dari flowchart diatas:
63

1. Dari hasil pendeteksian wajah secara realtime pada tahap sebelumnya,


wajah yang terdeteksi diseleksi dan diekstraksi untuk mendapatkan
deskriptor sebagai fiturinput.
2. Dari setiap citra wajah yang ada didataset di ekstraksi untuk
mendapatkan deskriptor sebagai fiturdataset.
3. Dalam proses ini dilakukan perhitungan jarak antara deskriptor citra
masukan dengan deskriptor citra yang ada di dataset. Deskriptor citra
masukan dibandingkan satu persatu dengan deskriptor citra yang ada di
dataset. Dalam proses pengukuran jarak deskriptor adalah dengan
menggunakan metode euclidean distance.

√∑ ( ) (3.3)

dxy merupakan nilai jarak euclidean yang didapat, sedangkan xi


merupakan vektor data citra masukan dan yi merupakan vektor data citra
di dataset. Setelah didapatkan nilai jarak euclidean pada masing-masing
citra kemudian dicari nilai yang paling kecil, dalam flowchart diatas
nilai paling kecil disimpan pada variabel D.
4. Nilai terkecil D, kemudian dibandingkan dengan nilai ambang
(threshold), nilai thershold yang digunakan untuk pengenalan wajah
pada penelitian ini adalah 0,45. jika nilai D lebih kecil dari thershold
maka akan menampilkan Face ID (nomor pokok mahasiswa) sebagai
bukti citra wajah masukan tersimpan pada dataset, jika lebih besar maka
akan menampilkan status tidak dikenali (unknown). Diambil nilai
terkecil karena semakin kecil jarak euclidean maka semakin mirip citra
wajah dengan yang tersimpan di dataset.

3.6 Perancangan Arsitektur Absensi Pengenalan Wajah


Tahap ini merupakan pengembangan dari tahap pendeteksi wajah yang
sebelumnya hanya mendeteksi wajah dan memberikan garis kotak disekitar wajah
dan mampu mengenali wajah berdasarkan dataset citra wajah yang ada di
basisdata. Pada tahap ini, setelah wajah terdeteksi maka sistem akan melakukan
pengenalan wajah dengan cara melakukan komputasi antara citra wajah yang
dideteksi dengan citra wajah yang ada di dataset dengan menggunakan metode
64

Tiny Yolo V2, apabila wajah dikenali maka sistem akan menampilkan label Nomor
Pokok Mahasiswa (NPM) karena setiap pelabelan citra pada dataset adalah
dengan menggunakan NPM. Setelah wajah dikenali dan label citra didapatkan,
untuk menampilkan informasi lengkap terkait citra adalah dengan melakukan
permintaan (request) fungsi untuk dieksekusi yaitu meminta detail mahasiswa
berdasarkan NPM ke webservice Data UNMA, apabila detail mahasiswa yang
dicari di webservice Data UNMA ada, maka webservice akan menampilkan
response detail mahasiswa dalam bentuk file JSON yang kemudian diekstrak oleh
sistem DHMD untuk ditampilkan ke layar. Setelah informasi muncul, maka dosen
melakukan validasi antara wajah mahasiswa secara fisik dengan citra yang ada di
video secara realtime, apabila sesuai maka dosen menekan tombol Absen yang
kemudian sistem melakukan permintaan (request) fungsi absensi ke webservice
Data UNMA untuk dieksekusi yaitu menyimpan data absensi berupa identitas
kelas kuliah, identitas berita acara perkuliahan dan NPM. Apabila proses simpan
data absensi berhasil maka webservice menampilkan response success yang
kemudian diekstrak oleh sistem DHMD sehingga dapat ditampilkan pesan
berhasil. Untuk lebih jelasnya peneliti merepresentasikannya dalam bentuk
diagram pada Gambar 3.11 dibawah.
65

Rancangan Sistem Pengenalan Wajah


Sistem Absensi
Webservice Data UNMA
DHMD

Mulai
Routing: GET

Muat Tag Video


HTML5 Request:
Mahasiswa_pt/{npm}

Atur Source
Video dari Webcam Database
Executing Request
Akademik

Load Tiny Yolo V2


Face Detector & Get Data
Recognition

Ambil Citra
Dari Video
Is Data Exist?

Mendeteksi Wajah
Yes

Tidak

Wajah Response
Terdeteksi ? JSON

Ya No
Tampilkan Bounding Dataset
Box di Wajah Wajah

Pengenalan Wajah
(Face Recognition)

Tidak

Routing: POST
Wajah Dikenali?

Ya Request:
Absensi/{1}/{2}
Ambil Face ID

Database
Executing Request
DHMD
Ekstrak Respon
Webservice

Save Data
Tampilkan
Informasi
Mahasiswa

Validasi Is Data Saved?


Mahasiswa
No

Yes

Klik Tombol Absen


Failed
Response

Success
Tampilkan Pesan
Response

Gambar 3.11 Rancangan Arsitektur Absensi Pengenalan Wajah


Dari rancangan arsitektur absensi pengenalan wajah diatas, penulis
melakukan uji eksperimen dengan mengimplementasikan arsitektur tersebut ke
66

aplikasi Daftar Hadir Mahasiswa dan Dosen di Universitas Majalengka. Maka,


penulis melakukan rancangan untuk antarmuka sistem absensi pengenalan wajah
ini.

Gambar 3.12 Rancangan Antarmuka

Pada rancangan antarmuka diatas sistem absensi dapat menampilkan video


yang bersumber dari webcam secara realtime yang kemudian citra diambil per 1
frame dari video tersebut untuk dilakukan pendeteksian wajah, apabila wajah
terdeteksi pada video maka wajah diekstrasi (bounding box) dengan dilakukan
pemotongan (cropping) sehingga fokus pada wajah yang terdeteksi. Citra hasil
ekstrasksi tersebut kemudian dilakukan proses pengenalan wajah, apabila wajah
dikenali maka sistem menyimpan label citra (Face ID) yang digunakan untuk
meminta detail mahasiswa ke webservice unma dan menampilkannya ke
antarmuka pada label NPM, Nama, Kelas, Prodi. Setelah wajah dikenali dan detail
mahasiswa ditampilkan, maka untuk melakukan absensi adalah dengan menekan
tombol Absen yang akan mengirimkan data kehadiran ke webservice Data
UNMA.
67

3.7 Pengkodean Pendeteksi Wajah


Pada tahap ini arsitektur pendeteksi wajah yang telah dirancang sebelumnya
akan diimplementasikan kedalam kode dengan menggunakan metode tiny yolo v2
pada library face-api.js dengan bahasa pemograman javascript dan dibantu oleh
bahasa pemograman HTML5 dan CSS3 untuk antarmuka-nya.

3.8 Pengkodean Absensi Pengenalan Wajah


Pada pembuatan sistem absensi pengenalan wajah ini peneliti memisahkan
antara antarmuka sistem absensi, basisdata sistem absensi, dan basisdata UNMA,
sehingga dalam proses pembuatan sistem ini peneliti dapat fokus pada setiap
bagian yang dibuat. Misalnya dalam membuat antarmuka sistem, penulis hanya
fokus untuk membuat antarmuka saja tanpa harus memperhatikan segi logika,
pada proses ini penulis menggunakan bahasa pemograman HTML5, CSS3,
Javascript, dan PHP (Framework CodeIgniter). Sedangkan penggunaan basisdata
pada antarmuka sistem, penulis menggunakan suatu arsitektur komunikasi
berbasis web yang dinamakan RESTfull webservice yang dibuat dengan
menggunakan framework Lumen yang berbasis bahasa pemograman PHP. Selain
itu, untuk dapat berkomunikasi dengan basisdata UNMA peneliti juga
menggunakan arsitektur yang sama untuk mendapatkan detail mahasiswa.

3.9 Perancangan Uji Akurasi Pengenalan Wajah


Dalam bagian ini akan dijelaskan tentang perancangan uji akurasi sistem
absensi dalam mengenali wajah mahasiswa untuk melakukan absensi kehadiran,
perancangan uji akurasinya adalah sebagai berikut:
1. Tempat Pengujian
Pada perancangan uji akurasi ini akan menggunakan salah satu ruangan kelas
yang ada di universitas majalengka. Hal ini dilakukan karena tempat tersebut
merupakan tempat yang akan digunakan untuk implementasi sistem.
2. Tujuan Pengujian
Tujuan dari pengujian akurasi ini adalah untuk mengetahui kemampuan sistem
dalam mendeteksi dan mengenali wajah mahasiswa untuk melakukan absensi
kehadiran.
3. Skenario Pengujian
68

Skenario dari pengujian akurasi ini dilakukan untuk mengetahui kemampuan


sistem dalam mengenali wajah mahasiswa yaitu berdasarkan jarak dan sudut
pandang yang dipengaruhi oleh pencahayaan ruangan kelas.
a. Jarak Pengenalan Wajah
Dalam pengujian ini akan dilakukan uji akurasi pengenalan wajah dengan
jarak yang berbeda yaitu 0,5 meter, 1 meter, 1,5 meter dan 2 meter.
Berikut ini tabel yang digunakan dalam pengujian jarak pengenalan wajah.
Tabel 3 1 Rancangan Pengujian Jarak Pengenalan Wajah
Jumlah Jumlah
No Jarak
Percobaan Berhasil
1 0,5 meter

2 1 meter

3 1,5 meter

4 2 meter

b. Variasi Pengenalan Wajah


Dalam uji akurasi ini akan dilakukan dengan 10 kondisi wajah yang
berbeda yaitu menghadap ke kiri, ke kanan, ke atas dan ke bawah dengan
sudut pandang 25o dan 45o dari kamera dan menghadap ke depan dengan
memejamkan mata serta menghadap ke depan kamera dengan membuka
mata. Berikut ini tabel uji akurasi dari kondisi wajah.
Tabel 3.2 Rancangan Pengujian Kondisi Wajah
Jumlah Jumlah
No Kondisi
Terdeteksi Berhasil
1 Menghadap ke kiri 25o

2 Menghadap ke kiri 45o


Menghadap ke kanan
3
25o
Menghadap ke kanan
4
45o
Menghadap ke atas
5
25o
Menghadap ke atas
6
45o
69

Menghadap ke bawah
7
25o
Menghadap ke bawah
8
45o
Menghadap ke depan
9
buka mata
Menghadap ke depan
10
tutup mata

3.10 Lokasi Penelitian


Penelitian ini dilakukan untuk menambahkan fitur atau fungsi baru dan
mengimplementasikannya pada aplikasi daftar hadir mahasiswa dan dosen di
Universitas Majalengka dalam melakukan absensi kehadiran mahasiswa.
3.10.1 Sejarah Universitas Majalengka
Pendirian Universitas Majalengka sudah dirintis sejak tahun 1984. Sebagai
langkah awal untuk merealisasikan hal tersebut, maka didirikanlah Yayasan
Pembina Pendidikan Majalengka yang akan menjadi Badan Penyelenggara dan
menaungi Universitas Majalengka. Yayasan ini disahkan dengan Akta Notaris
Iskandar Wiramihardja, S.H. No. 177 tanggal 25 Oktober 1984, dan akta
perubahan yang disahkan Notaris Laila Obed No. 88 tanggal 31 Mei 1999. Pada
awalnya Yayasan Pembina Pendidikan Majalengka (YPPM) ini mendirikan tiga
buah sekolah tinggi, yaitu :
1. Sekolah Tinggi Ilmu Administrasi (STIA-YPPM)
2. Sekolah Tinggi Keguruan dan Ilmu Pendidikan (STKIP-YPPM)
3. Sekolah Tinggi Hukum (STH-YPPM)

Pada tahun 1986, dikarenakan ada permasalahan teknis yang belum


terselesaikan, STKIP-YPPM dan STH-YPPM dimergerkan dengan Universitas
Sebelas April (UNSAP) Sumedang dan Universitas Swadaya Guning Djati
(UNSWAGATI) Cirebon. Sehingga Sekolah Tinggi yang tetap ada pada saat itu
hanya STIA-YPPM dengan Program Studi Administrasi Negara. Pada tahun
1997, setelah memperhatikan berbagai aspek dan tuntutan masyarakat, STIA-
YPPM berupaya mengembangkan misinya untuk membantu pemerintah dalam
membentuk sumber daya manusia yang berkualitas, dengan cara membuka
Program Studi Administrasi Bisnis. Dilanjutkan pada tahun 1998 membuka
70

Sekolah Tinggi baru, yaitu STKIP-YPPM dengan Program Studi Bahasa dan
Sastra Indonesia serta Pendidikan Kesegaran Jasmani dan Kesehatan.
Keberhasilan yang dicapai oleh STKIP-YPPM telah mendorong para
pendiri untuk segera mendirikan Sekolah Tinggi baru, yaitu STIP-YPPM dengan
membuka Program Studi Budidaya Pertanian, Sosek Pertanian dan Sosek
Peternakan dan mendirikan STIE-YPPM dengan Program Studi Manajemen dan
Akuntansi pada tahun 1998.
Pada tahun 2001, Yayasan Pembina Pendidikan Majalengka merintis
sekolah tinggi baru, yaitu Sekolah Tinggi Ilmu Kehutanan (STIK-YPPM) dengan
Program Studi Manajemen Hutan dan Budidaya Hutan yang izin operasionalnya
turun bersamaan dengan berdirinya Universitas Majalengka. Selanjutnya pada
tahun 2002 YPPM kembali mendirikan sekolah tinggi baru yaitu STAI-YPPM
dengan 4 program studi, yaitu : Program Studi Tarbiyah, Syariah, PGSD/MI dan
PGTKI/RA.
Untuk melengkapi berdirinya Universitas Majalengka, YPPM pada tahun 2004
mengusulkan enam Program Studi Eksak, yaitu : Manajemen Hutan, Budidaya
Hutan, Teknik Informatika, Teknik Sipil, Teknik Mesin dan Teknik Manajemen
Industri. Pada saat Universitas Majalengka ini didirikan, Sekolah Tinggi-Sekolah
Tinggi yang sudah ada berubah menjadi Fakultas-Fakultas. Saat ini terdapat tujuh
Fakultas, yaitu : FISIP, FKIP, FEKON, FAPERTA, FAI, FT, dan FH.
3.10.2 Lambang dan Arti Universitas Majalengka

Gambar 3.5 Logo Universitas Majalengka (https://unma.ac.id/lambang)


Komponen Lambang
1. Perisai segi lima warna dasar biru laut dilingkari sisi / garis pinggir warna
hitam.
2. Bintang bersudut delapan dengan api warna merah.
71

3. Obor berbingkai hitam sebanyak tujuh ruas dengan api warna merah.
4. Sepasang sayap dengan jumlah bulu enam belas helas berwarna kuning
emas.
5. Batang pohon Maja bercabang dengan warna hitam putih.
6. Tunas berwarna putih dengan ujung tunas sebanyak delapan.

Arti Lambang
1. Perisai ; dikenal sebagai alat untuk mempertahankan dan melindungi yang
melambangkan bahwa seluruh sivitas akademika memiliki daya tahan dan
daya juang dalam mengabdikan diri kepada masyarakat.
2. Segi lima ; melambangkan asas Pancasila.
3. Warna dasar biru laut ; melambangkan bahwa dalam wadah Universitas
Majalengka diharapkan adanya kedamaian, ketenangan, rasa percaya diri
sendiri sendiri serta mampu memelihara keseimbangan lahir dan bathin
untuk menuntut dan mendalami ilmu pengetahuan seluas dan sedalam
lautan.
4. Sisi/garis pinggir hitam ; menggambarkan keteguhan, ketabahan hati
dalam menghadapi segala masalah.
5. Bintang bersudut delapan melambangkan Ketuhanan Yang Maha Esa :
bahwa tujua pendidikan dari Universitas Majalengka dalam
membentuk generasi / manusia Indonesia menjadi ilmuan yang bertaqwa
kepada Tuhan Yang Maha Esa.
6. Sudut Delapan ; merupakan kompas delapan penjuru angin yang
melambangkan bahwa para lulusan Universitas Majalengka dapat
menyebar keseluruh penjuru tanah air guna membangun bangsa dan
negara.
7. Obor bertangkai hitam dengan warna api merah melambangkan bahwa
ilmu sebagai penerang dan penyuluh kehidupan yang dinamis dengan
berdasar pada keberanian, kewiraan yang pantang menyerah.
8. Tangkai Obor warna hitam sebanyak tujuh ruas melambangkan keteguhan,
kekuatan, dan ketabahan hati. Jumlah tujuh mengingatkan pada bulan
tujuh atau Juli pertanda bulan dimulainya perintisan Universitas
Majalengka.
72

9. Sepasang sayap warna kuning melambangkan kemauan untuk berkembang


yang lebih baik dan tinggi.
10. Jumlah bulu enam belas helai melambangkan tanggal perintisan berdirinya
Universitas Majalengka.
11. Warna kuning emas melambangkan keagungan, kejayaan dan
kewibawaan.
12. Batang pohon maja dengan warna hitam putih melambangkan Daerah
Majalengka.
13. Tunaswarna putih ; diharapkan Universitas Majalengka dapat melahirkan
mahasiswanya menjadi tunas-tunas bangsa yang mempunyai kesucian hati,
keihlasan dan berjiwa kesatria.
14. Jumlah tunas delapan kalau digabung dengan cabang yang tergambar pada
batang Pohon Maja adalah menunjukan angka delapan puluh empat (84),
jelasnya bahwa perintisan berdirinya Universitas Majalengka dimulai pada
tanggal 16 Juli 1984.

3.10.3 Visi, Misi dan Tujuan Universitas Majalengka


Visi Universitas Majalengka
“Menjadi pusat keunggulan akademik tahun 2026, yang didukung sistem tata
kelola universitas yang baik untuk terwujudnya Universitas yang sehat, dan
terkemuka di tingkat nasional”.

Misi Universitas Majalengka


1. Mengimplementasikan sistem penjaminan mutu internal melalui standar
pendidikan tinggi yang konsisten untuk menghasilkan lulusan Universitas
Majalengka yang bermutu, dan berjiwa entrepreneur
2. Menghasilkan jumlah dan mutu karya ilmiah bertaraf nasional dan
internasional yang didukung oleh fasilitas penelitian yang sesuai dengan
standar nasional penelitian melalui skema pendanaan yang proporsional
3. Menghasilkan jumlah dan mutu pengabdian kepada masyarakat melalui
penerapan standar nasional pengabdian kepada masyarakat dengan
melakukan kemitraan strategis dengan berbagai pihak untuk menyelesaikan
masalah yang berkembang di masyarakat.
73

Tujuan Universitas Majalengka


Berbasis Tri Dharma Perguruan Tinggi
1. Menghasilkan lulusan dengan masa studi dan indeks prestasi kumulatif yang
baik, dengan waktu tunggu yang pendek untuk mendapatkan pekerjaan
pertama
2. Setiap program studi memiliki wahana publikasi ilmiah paling sedikit satu
jurnal, dan setiap dosen paling sedikit menghasilkan satu karya ilmiah
dalam setahun yang dipublikasi bertaraf nasional dan internasional
3. Secara kelembagaan, Pusat Penelitian dan Pengabdian kepada Masyarakat
(P3M) melakukan paling sedikit satu kali pengabdian kepada masyarakat
secara multi disiplin yang melibatkan semua program studi. Secara
individual setiap dosen harus melakukan pengabdian kepada masyarakat
paling sedikit satu kali dalam setahun yang berbasis kompetensi yang
dimilikinya.

Tujuan Universitas Majalengka


Berbasis Balance Scorecard
Sebagai kerangka kerja dan penjabaran dari visi, misi dan strategi ke
dalam empat perspektif balance scorecard, adalah untuk menjawab pertanyaan
penting, berikut:
1. Perspektif Finansial:
Terkonsolidasinya dana operasional dan pengembangan yang cukup,
melalui sistem pengelolaan tata kelola keuangan yang transparan dan
akuntabel
2. Perspektif Pelanggan:
Pandangan para pelanggan (mahasiswa, mitra dan pengguna lulusan)
terhadap Universitas Majalengka
a. Jumlah mahasiswa strata satu (S1) dan pasca sarjana aktif yang
memadai
b. Meningkatnya mutu pelayanan kepada mahasiswa, dan mencapai
tingkat kepuasan mahasiswa
74

c. Meningkatkan kompetensi lulusan, sehingga menjadi sumberdaya


manusia yang memiliki daya saing untuk turut serta dalam
pembangunan nasional
3. Perspektif Proses Bisnis Internal
Proses yang harus diperbaiki atau ditingkatkan oleh Universitas Majalengka,
yaitu :
a. Terbentuknya indikator kinerja kunci untuk setiap unit dan personal
b. Meningkatnya peran sistem penjaminan mutu internal yang didukung
oleh kelembagaan yang mantap
c. Terbentuknya program S3 yang berbasis kekuatan sendiri
4. Perspektif pertumbuhan dan pembelajaran
Universitas Majalengka mampu melakukan perbaikan dan menciptakan nilai
secara berkesinambungan
a. Mayoritas komposisi dosen bergelar doktor linier, dan terdapat Guru
Besar tetap untuk membina norma akademik melalui rekrutmen dan
pembinaan yang konsisten
b. Memiliki sarana e-campus yang lengkap dan maju
c. Memiliki parasana dan sarana kampus yang modern untuk mendukung
academic atmosphere yang kondusif
BAB IV
HASIL PENELITIAN DAN PEMBAHASAN

4.1 Spesifikasi Perangkat Keras dan Perangkat Lunak


Berikut ini merupakan spesifikasi yang diperlukan untuk menjalankan
sistem absensi yaitu:
1. Sistem Operasi Windows/Linux/MacOS
2. RAM 2GB atau lebih tinggi
3. Processor Intel Pentium G4560 atau lebih tinggi
4. Koneksi internet atau intranet
5. Kamera tersemat atau webcam
6. Aplikasi browser
Adapun spesifikasi perangkat keras yang digunakan pada penelitian ini
adalah sebagai berikut:
1. Processor Intel Pentium G4560
2. RAM 4GB
3. GPU Nvidia GT 1030
Spesifikasi perangkat lunak yang digunakan pada penelitian ini yaitu
sebagai berikut:
1. Sublime Text 3.0, sebagai code editor untuk penulisan bahasa
pemograman HTML5, CSS3, Javascript dan PHP
2. WHM/Cpanel, sebagai web hosting untuk menyimpan sistem absensi dan
mendapatkan domain sehingga dapat diakses di internet
3. Face-api.js, sebagai library yang digunakan untuk pendeteksian dan
pengenalan wajah
4. Google Chrome V. 76.0.3809.100, sebagai aplikasi browser untuk
menampilkan sistem absensi

4.2 Hasil Pengumpulan Data


Tahap ini melakukan pengumpulan satu foto mahasiswa nampak lurus
kedepan (frontal face) dari 10 orang mahasiswa. Hasil dari pengumpulan foto
mahasiswa dapat dilihat pada Tabel 4.1 dibawah.

75
76

Tabel 4.1 Hasil Pengumpulan Foto Mahasiswa

No. Foto NPM Nama Sumber Foto

Teguh Dikri
15.14.1.0126 Kamera
1
Maulana Digital

15.14.1.0033 Hasna Faujiyah Kamera


2
Digital

Asep Bambang
3 17.14.1.0066 Webcam
Kurniawan

Yulia
4 17.14.1.0055 Krisnawathi Webcam
Dewi

M. Iqbal
5 17.14.1.0017 Webcam
Assegaf

Reyna Indra
6 14.14.1.0146 Webcam
Maulana
77

No. Foto NPM Nama Sumber Foto

7 15.14.1.0144 Hafidz Sanjaya Webcam

M. Syarif
8 15.14.1.0113 Webcam
Abdurrohman

Wildan
9 15.14.1.0127 Webcam
Rohmanudin

Yayat
10 15.14.1.0128 Webcam
Nurhidayat

Adapun hasil foto mahasiswa yang telah dikumpulkan seperti pada gambar
dibawah.

Gambar 4.1 Hasil Pengumpulan Foto Mahasiswa


78

4.3 Hasil Preprocessing Data


Tahap pertama pada preprocessing adalah cropping foto yang dikumpulkan
sehingga foto tersebut lebih terfokus pada wajah mahasiswa. Hasil dari cropping
ini akan berbeda-beda karena foto yang dikumpulkan diperoleh dari sumber yang
berbeda-beda, seperti kamera handphone, kamera digital dan kamera web
(webcam). Selain itu, hasil dari cropping ini dipengaruhi oleh kebutuhan peneliti
dalam menyeleksi wajah, sehingga menghasilkan ukuran yang berbeda-beda.
Berikut merupakan hasil dari cropping beberapa foto mahasiswa.

Gambar 4.2 Hasil Cropping Foto


Pada arsitektur Tiny Yolo v2 yang dintunjukan pada Gambar 2.34 bahwa
gambar masukkan memiliki ukuran 416x416 pixel, maka pada penelitian ini pun
untuk gambar pada dataset yang telah melalui proses cropping akan diubah
ukurannya menjadi 416x416 seperti pada gambar dibawah.

Gambar 4.3 Hasil Pengubahan Ukuran Foto

4.4 Implementasi Sistem Pendeteksi Wajah


Implementasi ini merupakan hasil pengkodean dari rancangan arsitektur
pendeteksian wajah, dimana pada implementasi ini akan menampilkan antarmuka
79

sebuah laman website yang dapat mendeteksi wajah dengan memberikan kotak
pembatas pada wajah yang terdeteksi.

Gambar 4.4 Antarmuka Sistem Pendeteksi Wajah


Pada gambar diatas merupakan tampilan apabila terdapat wajah pada video
maka sistem pendeteksi wajah akan memberikan kotak pembatas pada wajah
tersebut dan menampilkan skor probabilitas pendeteksian objek wajah sesuai
perbandingan antara bobot wajah pada data pralatih (pre-trained data) dengan
yang ada di kamera.
80

4.5 Implementasi Sistem Pengenalan Wajah


Implementasi ini merupakan hasil pengkodean dari rancangan arsitektur
sistem pengenalan wajah, dimana pada implementasi ini akan menampilkan
antarmuka sebuah laman website yang akan menampilkan face ID atau nama file
wajah ketika wajah dari mahasiswa tersebut dikenali oleh sistem dan akan
menampilkan output tidak dikenali (unknown) ketika wajah yang dideteksi tidak
terdaftar di dataset. Berikut merupakan hasil implementasi dari sistem pengenalan
wajah.

Gambar 4.5 Antarmuka Wajah Dikenali


Pada gambar diatas memperlihatkan antarmuka ketika wajah terdeteksi oleh
sistem pendeteksi wajah, maka face descriptor yang berjumlah 128 vektor dalam
bentuk array 1 dimensi seperti terlihat pada Gambar 4.6 yang merupakan vektor
hasil arsitektur ResNet-34 dari wajah yang terdeteksi untuk kemudian digunakan
menghitung jarak terdekatnya dengan wajah yang telah ada di dataset
menggunakan euclidean distance.
0: -0.10898739099502563 66: -0.13546568155288696
1: 0.17290399968624115 67: -0.16234098374843597
2: 0.05694536492228508 68: 0.12334635853767395
3: -0.03600268065929413 69: -0.14410942792892456
4: -0.09793945401906967 70: -0.11755070835351944
5: -0.08162740617990494 71: 0.059338971972465515
6: -0.16272689402103424 72: -0.13723568618297577
7: -0.16390949487686157 73: -0.17807608842849731
8: 0.09956681728363037 74: -0.39430004358291626
9: -0.07872695475816727 75: 0.029300589114427567
10: 0.2526835799217224 76: 0.40151551365852356
11: -0.06130121275782585 77: 0.09918870776891708
81

12: -0.1981760710477829 78: -0.2153044492006302


13: -0.1455424726009369 79: 0.016279740259051323
14: -0.060447342693805695 80: -0.041027095168828964
15: 0.17296242713928223 81: -0.008778129704296589
16: -0.19763804972171783 82: 0.1306694597005844
17: -0.16805076599121094 83: 0.12498471140861511
18: 0.004966170061379671 84: -0.050321388989686966
19: 0.0031493622809648514 85: 0.011417360976338387
20: 0.11556338518857956 86: -0.12825188040733337
21: -0.0008940873667597771 87: -0.01402905210852623
22: 0.009670141153037548 88: 0.19598297774791718
23: 0.042679592967033386 89: -0.01130868773907423
24: -0.12431515753269196 90: -0.051029134541749954
25: -0.3693964183330536 91: 0.2559398412704468
26: -0.12306168675422668 92: 0.02512017823755741
27: -0.06631327420473099 93: 0.10913649201393127
28: 0.006154611706733704 94: 0.036291830241680145
29: -0.04199474677443504 95: 0.12437253445386887
30: -0.053866758942604065 96: -0.055632129311561584
31: 0.03884162753820419 97: -0.007410723716020584
32: -0.17020562291145325 98: -0.11081749945878983
33: -0.050742439925670624 99: -0.0008783340454101562
34: -0.014162154868245125 100: -0.00010135315824300051
35: 0.08851515501737595 101: -0.008047477342188358
36: 0.029523726552724838 102: -0.06901013851165771
37: -0.020562630146741867 103: 0.12572810053825378
38: 0.10950332880020142 104: -0.07721830159425735
39: -0.02293390780687332 105: 0.12632940709590912
40: -0.2503414750099182 106: 0.03809741884469986
41: 0.08165774494409561 107: 0.07600876688957214
42: -0.002336834091693163 108: -0.023333365097641945
43: 0.2460411936044693 109: 0.025185834616422653
44: 0.16155458986759186 110: -0.05461058020591736
45: 0.06181900203227997 111: -0.12475466728210449
46: 0.03767269477248192 112: 0.1071600541472435
47: -0.1484273076057434 113: -0.21150906383991241
48: 0.09277227520942688 114: 0.1715271919965744
49: -0.14613685011863708 115: 0.15837621688842773
50: 0.0962442085146904 116: 0.07707148045301437
51: 0.2018389254808426 117: 0.11995325982570648
52: 0.07590232044458389 118: 0.11563985794782639
53: 0.037983763962984085 119: 0.07478488981723785
54: -0.00488112261518836 120: -0.05307416245341301
55: -0.08503290265798569 121: -0.11599840223789215
56: 0.007472619414329529 122: -0.1876855194568634
57: 0.15682917833328247 123: -0.02676745504140854
58: -0.2195199579000473 124: 0.10206598043441772
59: 0.008167721331119537 125: -0.046007826924324036
60: 0.0906587690114975 126: 0.06636353582143784
61: -0.03948139771819115 127: 0.04814722761511803
62: -0.0022387453354895115
63: -0.1021050214767456
64: 0.2008979171514511
65: 0.16192187368869781

Gambar 4.6 Face Descriptor Wajah dari Webcam


Pada Gambar 4.7 memperlihatkan bahwa wajah yang terdeteksi dikenali
dengan wajah yang ada di dataset ditunjukkan dengan tampilnya face ID pada
label NPM di antarmuka sistem sesuai dengan data yang dikumpulkan pada Tabel
82

4.1. Face ID yang ditampilkan adalah 151410144 yang merupakan nama file
wajah dengan jarak kedekatan 0.42 atau 42%. Adapun face descriptor dari wajah
yang ada di dataset dengan face ID tersebut adalah sebagai berikut.
0: -0.0840005874633789 66: -0.14327844977378845
1: 0.11700045317411423 67: -0.1526118516921997
2: 0.011817606166005135 68: 0.12510788440704346
3: -0.08086300641298294 69: -0.08754260838031769
4: -0.08169063925743103 70: -0.11240862309932709
5: -0.0100620798766613 71: 0.027659283950924873
6: -0.14057262241840363 72: -0.16724321246147156
7: -0.166653111577034 73: -0.14967596530914307
8: 0.10301537811756134 74: -0.3881770074367523
9: -0.09279121458530426 75: 0.03678563982248306
10: 0.24920912086963654 76: 0.37042340636253357
11: -0.01049149688333273 77: 0.05554667115211487
12: -0.20184332132339478 78: -0.26965081691741943
13: -0.16595228016376495 79: 0.03386969491839409
14: -0.09199371933937073 80: -0.007568306289613247
15: 0.19401898980140686 81: 0.024270374327898026
16: -0.23149076104164124 82: 0.19411174952983856
17: -0.1872386336326599 83: 0.15009614825248718
18: 0.0018460339633747935 84: -0.03081810101866722
19: -0.058300089091062546 85: 0.05049142986536026
20: 0.08101990818977356 86: -0.12238676846027374
21: 0.003570395987480879 87: 0.05704024061560631
22: 0.025568123906850815 88: 0.22269891202449799
23: 0.03449032083153725 89: -0.04553581774234772
24: -0.19909696280956268 90: -0.06867517530918121
25: -0.33421993255615234 91: 0.24891991913318634
26: -0.07569081336259842 92: 0.00572219118475914
27: -0.06684041768312454 93: 0.1289508193731308
28: -0.01652936078608036 94: 0.06484278291463852
29: -0.061053019016981125 95: 0.12404314428567886
30: -0.0654129758477211 96: -0.03278223052620888
31: 0.07666122168302536 97: 0.035247836261987686
32: -0.23177608847618103 98: -0.15658573806285858
33: -0.00905466079711914 99: 0.02308569848537445
34: -0.004744293168187141 100: 0.10015726834535599
35: 0.12018207460641861 101: 0.001604810357093811
36: 0.023739473894238472 102: -0.027161436155438423
37: -0.0027434134390205145 103: 0.15228070318698883
38: 0.18609663844108582 104: -0.0700993463397026
39: 0.035795800387859344 105: 0.09430034458637238
40: -0.19266489148139954 106: 0.042573653161525726
41: 0.051128312945365906 107: 0.0678320899605751
42: 0.0343460887670517 108: 0.015441151335835457
43: 0.2989523708820343 109: -0.004091108217835426
44: 0.21804873645305634 110: -0.10498355329036713
45: 0.010612601414322853 111: -0.1380952149629593
46: 0.025146562606096268 112: 0.12193193286657333
47: -0.10307934880256653 113: -0.2088741809129715
48: 0.09495867788791656 114: 0.18558906018733978
49: -0.1666499674320221 115: 0.1998654454946518
50: 0.0745467096567154 116: 0.024658994749188423
51: 0.17164960503578186 117: 0.11669513583183289
52: 0.06253577768802643 118: 0.16995258629322052
53: 0.05324883013963699 119: 0.07095310837030411
54: -0.04760141670703888 120: -0.030638255178928375
55: -0.12680751085281372 121: -0.042465388774871826
56: -0.017727723345160484 122: -0.20182651281356812
83

57: 0.12253565341234207 123: 0.005258135497570038


58: -0.09266932308673859 124: 0.10768411308526993
59: 0.021116748452186584 125: -0.024324333295226097
60: 0.04478158429265022 126: 0.08735903352499008
61: -0.10116471350193024 127: 0.028131850063800812
62: -0.06635620445013046
63: -0.07033663988113403
64: 0.24166010320186615
65: 0.0926378145813942

Gambar 4.7 Face Descriptor Wajah 151410144 di Dataset


Untuk menunjukkan bahwa citra masukkan teridentifikasi dengan citra yang
ada di dataset dan memiliki jarak kurang dari nilai thershold pengenalan wajah
yang ditetapkan, maka dihitung nilai jarak antara kedua deskriptor citra dengan
menggunakan euclidean distance. Berikut merupakan hasil perhitungan jarak
antara deskriptor wajah masukan (x) pada Gambar 4.6 dan deskriptor wajah
151410144 di dataset (y) pada Gambar 4.7.

√∑( )

√( ) ( ) ( )

(( ) ( ))
√ (( ) ( ))
(( ) ( ))

Maka, nilai jarak antara deskriptor citra masukan dan deskriptor citra di
dataset adalah 0.42542005404139693 atau 0.42 jarak kedekatan. Jarak tersebut
merupakan jarak paling kecil (min) diantara citra lainnya yang ada di dataset dan
dapat diidentifikasi oleh sistem pengenalan wajah dengan menampilkan face ID
karena memiliki jarak kurang dari thershold (D) yang ditentukan, yaitu 0,45.

4.6 Implementasi Sistem Absensi Pengenalan Wajah


Pada implementasi ini ketika wajah berhasil dideteksi dan diidentifikasi
dengan menampilkan NPM, maka selanjutnya sistem akan melakukan request
data nama mahasiswa dan program studi dengan menggunakan arsitektur
webservice sesuai dengan NPM dan menampilkannya, seperti pada Gambar 4.8.
84

Gambar 4.8 Antarmuka Hasil Request Data Menggunakan Webservice


Hasil dari request data tersebut digunakan untuk verifikasi kehadiran
mahasiswa oleh dosen pengajar untuk kemudian melakukan absensi dengan
menekan tombol Absen yang memiliki event apabila ditekan maka akan
mengirimkan identitas kelas kuliah, identitas berita acara perkuliahan dan NPM ke
server Data UNMA dengan menggunakan arsitektur webservice untuk
menyimpan data kehadiran mahasiswa. Apabila proses penyimpanan absensi
kehadiran mahasiswa berhasil, maka sistem akan menampilkan pesan
pemberitahuan bahwa absensi berhasil disimpan seperti terlihat pada Gambar 4.9.

Gambar 4.9 Antarmuka Pemberitahuan Berhasil Simpan Absensi


85

Pada Gambar 4.9 menampilkan antarmuka sistem DHMD dengan pesan


pemberitahuan sukses yang menunjukkan proses penyimpanan ke basisdata
berhasil, untuk melihat hasil dari proses absensi kehadiran mahasiswa
menggunakan sistem pengenalan wajah dapat dilihat pada halaman detail kelas
kuliah yang menampilkan informasi kehadiran mahasiswa per-pertemuan.
Informasi kehadiran mahasiswa yang hadir dan tidak hadir ditunjukkan dengan
menggunakan label angka yang dibedakan oleh 2 warna, yaitu hijau dan merah.
Hijau menunjukkan bahwa mahasiswa tersebut hadir dan merah menunjukkan
bahwa mahasiswa tersebut tidak hadir selama perkuliahan, untuk lebih jelasnya
mengenai halaman detail kelas kuliah dapat dilihat pada Gambar 4.10.

Gambar 4.10 Antarmuka Detail Kelas Kuliah


4.7 Hasil Pengujian Akurasi Pengenalan Wajah
Pengujian akurasi pengenalan wajah ini dilakukan dengan melakukan
simulasi yang bertempat di ruangan kelas dengan intensitas cahaya sekitar 98 lux.
Simulasi ini untuk mengetahui kemampuan sistem dalam mengenali wajah. Ada
beberapa hal yang diperhatikan dalam simulasi ini yaitu jarak antara kamera
dengan mahasiswa dan variasi wajah yang dideteksi. Thershold untuk jarak 2
gambar yang digunakan untuk menentukan kecocokan wajah pada pengujian ini
adalah 45, thershold tersebut merupakan nilai yang telah ditetapkan oleh peneliti.
Dalam pengujian ini dicari nilai euclidean distance dari setiap mahasiswa
tanpa memperhatikan thershold yang telah ditentukan oleh peneliti, artinya
86

meskipun euclidean suatu wajah melebihi thershold yang ditentukan akan tetapi
wajah masih bisa dikenali. Selama pengujian, euclidean yang didapatkan
disimpan pada suatu tabel hubungan antara jarak dan kondisi wajah, seperti pada
Tabel 4.2. indikator untuk kondisi wajah yang digunakan pada pengujian ini
adalah menggunakan nomor sesuai dengan referensi kondisi wajah pada Tabel
3.2.
Berikut merupakan nilai euclidean distance pada masing-masing mahasiswa
selama pengujian.
1. Pada jarak 0,5 meter
Tabel 4.2 Nilai Euclidean Distance Jarak 0,5 Meter
Euclidean distance wajah kondisi ke-
No Nama
1 2 3 4 5 6 7 8 9 10
1 Hafidz Sanjaya 26 31 23 28 29 32 25 37 27 26
2 Hasna Faujiyah 24 32 31 33 32 35 32 34 21 22
3 Asep Bambang Kurniawan 29 36 31 31 24 28 28 35 25 28
4 Wildan Rohmanudin 32 41 39 47 32 35 31 32 23 24
5 Yulia Krisnawathi Dewi 22 30 30 32 25 27 24 28 15 16
6 M. Iqbal Assegaf 25 29 28 34 27 35 25 40 24 25
7 Teguh Dikri Maulana 32 38 35 39 34 36 32 38 39 38
8 Yayat Nurhidayat 36 45 41 44 43 47 38 40 35 37
9 M. Syarif Abdurrohman 31 35 29 32 30 37 35 45 25 27
10 Reyna Indra Maulana 36 34 26 39 28 34 41 48 29 30

Total Keberhasilan 10 10 10 9 10 9 10 9 10 10

Pada tabel diatas menunjukkan bahwa selama pengujian semua wajah


mahasiswa dapat dikenali oleh sistem, namun terdapat beberapa wajah yang
melebihi thershold yang ditentukan, sehingga wajah yang melebihi thershold akan
dianggap tidak dikenali selama implementasi sistem absensi. Kondisi wajah yang
memiliki jarak tinggi adalah ketika menghadap kanan 45o, menghadap ke atas 45o
dan menghadap ke bawah 45o.
87

2. Pada jarak 1 meter


Tabel 4.3 Nilai Euclidean Distance Jarak 1 Meter
Euclidean distance wajah kondisi ke-
No Nama
1 2 3 4 5 6 7 8 9 10
1 Hafidz Sanjaya 28 32 29 32 32 38 27 39 28 27
2 Hasna Faujiyah 27 35 24 28 26 30 30 33 24 25
3 Asep Bambang Kurniawan 24 29 28 28 24 28 26 28 20 21
4 Wildan Rohmanudin 40 38 37 44 32 33 28 31 29 30
5 Yulia Krisnawathi Dewi 28 36 25 28 25 27 29 33 19 20
6 M. Iqbal Assegaf 24 30 23 30 30 33 25 40 23 24
7 Teguh Dikri Maulana 35 37 34 46 36 34 46 49 32 33
8 Yayat Nurhidayat 39 44 29 38 27 42 35 37 31 34
9 M. Syarif Abdurrohman 35 40 32 33 28 39 39 40 28 29
10 Reyna Indra Maulana 30 31 29 43 28 33 43 48 20 19

Total Keberhasilan 10 10 10 9 10 10 9 8 10 10

Pada tabel diatas menunjukkan bahwa selama pengujian semua wajah


mahasiswa dapat dikenali oleh sistem, namun terdapat beberapa wajah yang
melebihi thershold yang ditentukan, sehingga wajah yang melebihi thershold akan
dianggap tidak dikenali selama implementasi sistem absensi. Kondisi wajah yang
memiliki jarak tinggi adalah ketika menghadap ke kanan 45o, menghadap ke
bawah 25o dan menghadap ke atas 45o.

3. Pada jarak 1,5 meter


Tabel 4.4 Nilai Euclidean Distance Jarak 1,5 Meter
Euclidean distance wajah kondisi ke-
No Nama
1 2 3 4 5 6 7 8 9 10
1 Hafidz Sanjaya 27 33 29 30 30 34 31 33 28 29
2 Hasna Faujiyah 33 39 28 38 28 36 29 38 26 27
3 Asep Bambang Kurniawan 25 27 30 34 25 28 21 33 22 30
4 Wildan Rohmanudin 35 44 42 47 31 34 33 49 25 26
5 Yulia Krisnawathi Dewi 32 37 29 42 28 30 29 37 25 28
6 M. Iqbal Assegaf 26 30 26 38 26 34 28 32 17 18
88

Euclidean distance wajah kondisi ke-


No Nama
1 2 3 4 5 6 7 8 9 10
7 Teguh Dikri Maulana 37 39 38 39 35 38 37 39 33 34
8 Yayat Nurhidayat 33 47 34 43 44 43 37 35 26 28
9 M. Syarif Abdurrohman 38 40 34 44 32 36 40 44 36 37
10 Reyna Indra Maulana 31 37 42 48 32 33 40 47 28 31

Total Keberhasilan 10 9 10 8 10 10 10 8 10 10

Pada tabel diatas menunjukkan bahwa selama pengujian semua wajah


mahasiswa dapat dikenali oleh sistem, namun terdapat beberapa wajah yang
melebihi thershold yang ditentukan, sehingga wajah yang melebihi thershold akan
dianggap tidak dikenali selama implementasi sistem absensi. Pada skenario
pengujian ini terdapat 3 mahasiswa yang melebihi thershold yaitu pada kondisi
wajah menghadap ke kiri 45o, menghadap ke kanan 45o dan menghadap ke bawah
45o.

4. Pada jarak 2 meter


Tabel 4.5 Nilai Euclidean Distance Jarak 2 Meter
Euclidean distance wajah kondisi ke-
No Nama
1 2 3 4 5 6 7 8 9 10
1 Hafidz Sanjaya 29 30 28 32 31 36 32 30 30 32
2 Hasna Faujiyah 33 37 36 40 35 39 37 42 31 32
3 Asep Bambang Kurniawan 26 34 29 30 31 31 31 34 25 28
4 Wildan Rohmanudin 30 44 42 47 27 31 33 38 25 26
5 Yulia Krisnawathi Dewi 31 36 33 42 35 40 38 44 32 34
6 M. Iqbal Assegaf 25 33 22 28 28 34 28 33 22 24
7 Teguh Dikri Maulana 38 - - - - - - - 37 38
8 Yayat Nurhidayat 27 32 34 43 29 44 32 38 45 34
9 M. Syarif Abdurrohman 33 45 34 36 30 38 37 41 35 36
10 Reyna Indra Maulana 43 - 45 - 31 34 47 - 27 30

Total Keberhasilan 10 8 9 7 9 9 8 8 10 10

Pada skenario pengujian ini terdapat 2 mahasiswa yang melebihi thershold


yaitu pada kondisi menghadap ke atas 45o dan menghadap ke bawah 25 o, dan
89

terdapat 2 mahasiswa yang tidak dikenali sama sekali oleh sistem, hal tersebut
karena dipengaruhi beberapa faktor diantaranya mahasiswa yang tidak dikenali
merupakan mahasiswa yang menggunakan kacamata dan memiliki kulit yang
agak gelap.
Dibawah ini merupakan tabel dan grafik hasil pengujian akurasi adalah
sebagai berikut:
1. Hasil pengujian berdasarkan variasi wajah pada jarak 0,5 meter
Adapun tabel hasil pengujian akurasi pada jarak 0,5 meter dari Tabel 4.2.
Tabel 4.6 Hasil Pengujian Akurasi Jarak 0,5 Meter

Posisi Jumlah Percobaan Jumlah Berhasil


Kondisi 1 10 10
Kondisi 2 10 10
Kondisi 3 10 10
Kondisi 4 10 9
Kondisi 5 10 10
Kondisi 6 10 9
Kondisi 7 10 10
Kondisi 8 10 9
Kondisi 9 10 10
Kondisi 10 10 10
Total 97

Adapun grafik dari tabel pengujian diatas adalah sebagai berikut:


120

100
Keberhasilan (%)

80

60

40

20

Kondisi Wajah

Gambar 4.11 Grafik Keberhasilan Jarak 0,5 Meter


90

Pada hasil pengujian jarak 0,5 meter dari 10 percobaan (sejumlah


mahasiswa) yang dilakukan, didapatkan presentase kurang dari 100%
untuk kondisi wajah menghadap ke kanan 45o, menghadap ke atas 45o dan
menghadap ke bawah 45o.
2. Hasil simulasi berdasarkan variasi wajah pada jarak 1 meter
Adapun hasil pengujian akurasi pada jarak 1 meter dari Tabel 4.3.
Tabel 4.7 Rincian Keberhasilan Jarak 1 Meter

Posisi Jumlah Percobaan Jumlah Berhasil


Kondisi 1 10 10
Kondisi 2 10 10
Kondisi 3 10 10
Kondisi 4 10 9
Kondisi 5 10 10
Kondisi 6 10 10
Kondisi 7 10 9
Kondisi 8 10 8
Kondisi 9 10 10
Kondisi 10 10 10
Total 96

Adapun grafik pengujian dari tabel diatas adalah sebagai berikut:


120

100
Keberhasilan (%)

80

60

40

20

Kondisi Wajah

Gambar 4.12 Grafik Keberhasilan Jarak 1 Meter


Pada hasil pengujian jarak 1 meter dari 10 percobaan (sejumlah
mahasiswa) yang dilakukan, didapatkan 2 kondisi wajah yang memiliki
91

persentase 90% yaitu kondisi wajah menghadap ke kanan 45o dan


menghadap ke atas 25o, pada pengujian ini juga terdapat 1 kondisi wajah
yang memiliki presentase 80% yaitu pada kondisi wajah menghadap ke
atas 45o.
3. Hasil simulasi berdasarkan variasi wajah pada jarak 1,5 meter
Adapun hasil pengujian akurasi pada jarak 1,5 meter dari Tabel 4.4.
Tabel 4.8 Rincian Keberhasilan Jarak 1,5 Meter

Posisi Jumlah Percobaan Jumlah Berhasil


Kondisi 1 10 10
Kondisi 2 10 9
Kondisi 3 10 10
Kondisi 4 10 8
Kondisi 5 10 10
Kondisi 6 10 10
Kondisi 7 10 10
Kondisi 8 10 8
Kondisi 9 10 10
Kondisi 10 10 10
Total Keberhasilan 95

Adapun grafik pengujian dari tabel diatas adalah sebagai berikut:


120

100
Keberhasilan (%)

80

60

40

20

Kondisi Wajah

Gambar 4.13 Grafik Keberhasilan Jarak 1,5 Meter


Pada hasil pengujian jarak 1,5 meter dari 10 percobaan (sejumlah
mahasiswa) yang dilakukan, didapatkan presentase 80% pada kondisi
92

wajah menghadap ke kanan 45o dan menghadap ke bawah 45o, dan


presentase 90% pada kondisi wajah menghadap ke kiri 45o.
4. Hasil simulasi berdasarkan variasi wajah pada jarak 2 meter
Adapun hasil pengujian akurasi pada jarak 2 meter dari Tabel 4.5.
Tabel 4.9 Rincian Keberhasilan Jarak 2 Meter

Posisi Jumlah Percobaan Jumlah Berhasil


Kondisi 1 10 10
Kondisi 2 10 8
Kondisi 3 10 9
Kondisi 4 10 7
Kondisi 5 10 9
Kondisi 6 10 9
Kondisi 7 10 8
Kondisi 8 10 8
Kondisi 9 10 10
Kondisi 10 10 10
Total 88

Adapun grafik pengujian pada jarak 2 meter adalah sebagai berikut:


120

100
Keberhasilan (%)

80

60

40

20

Kondisi Wajah

Gambar 4.14 Grafik Keberhasilan Jarak 2 Meter


Pada hasil pengujian jarak 2 meter dari 10 percobaan (sejumlah mahasiswa)
yang dilakukan, didapatkan presentase terendah yaitu 70% pada kondisi
wajah menghadap ke kanan 45o, presentase 80% pada kondisi wajah
menghadap ke kiri 45o, menghadap ke bawah 25o dan menghadap ke bawah
93

45o, dan presentase 90% pada kondisi wajah menghadap ke kanan 25o,
menghadap ke atas 25o, dan menghadap ke atas 45o.

Dan berikut merupakan tabel keberhasilan jarak 0,5 meter, 1 meter, 1,5
meter, dan 2 meter.
Tabel 4.10 Keberhasilan Pada Masing-masing Jarak

No Jarak Jumlah Percobaan Jumlah Berhasil


1 0,5 meter 100 97
2 1 meter 100 96
3 1,5 meter 100 95
4 2 meter 100 88

Dan berikut ini merupakan grafik presentase keberhasilannya:

98 97
96
96 95
94
Keberhasilan (%)

92
90
88
88
86
84
82
0,5 Meter 1 Meter 1,5 Meter 2 Meter
Jarak

Gambar 4.15 Keberhasilan Berdasarkan Jarak


Dari representasi tabel dan grafik diatas adalah semakin jaraknya
bertambah, keberhasilan semakin berkurang. Pada jarak 0,5 meter identifikasi
mencapai 97% sedangkan pada jarak 2 meter keberhasilan 88%.
Dari percobaan diatas didapatkan beberapa analisa sebagai berikut:
1. Jarak wajah dengan kamera sangat mempengaruhi pada keberhasilan
sistem dalam mendeteksi dan mengindentifikasi wajah. Hal tersebut
dilihat pada grafik semakin jaraknya jauh maka akurasi semakin
menurun.
94

2. Posisi wajah mempengaruhi dalam proses identifikasi, jika posisi wajah


berbeda atau tidak sama pada waktu pengambilan foto yang digunakan
sebagai dataset maka akurasi berkurang hal tersebut ditunjukan dengan
nilai euclidian yang berbeda-beda, posisi wajah lurus kedepan memiliki
akurasi yang tinggi karena posisi tersebut digunakan dalam proses
pengambilan foto untuk dataset.
3. Penggunaan aksesoris pada wajah dan warna kulit wajah mempengaruhi
dalam proses deteksi dan indentifikasi, hal tersebut dilihat pada
pengujian jarak 2 meter terdapat wajah yang tidak terdeteksi dan tidak
teridentifikasi karena menggunakan kacamata dan memiliki kulit wajah
yang agak gelap.
BAB V
PENUTUP

5.1 Kesimpulan
Berdasarkan hasil penelitian yang telah dilakukan, dapat diambil
kesimpulan sebagai berikut:
1. Penerapan algoritma Tiny Yolo V2 sebagai sistem pendeteksi wajah yang
menggunakan Central Processing Unit (CPU) sebagai processing-nya
dengan mendapatkan deskripsi wajah yang terdeteksi dalam bentuk 128
vektor dengan menggunakan ResNet-34 yang kemudian diukur jaraknya
antara deskripsi wajah dari kamera dengan deskripsi wajah yang ada pada
dataset dengan menggunakan euclidian distance untuk proses pengenalan
wajah. Pada penelitian ini suatu wajah dikenali apabila jarak antara 2
wajah memiliki jarak yang kecil atau kurang dari sama dengan 0.45 atau
45%.
2. Pembuatan sistem pengenalan wajah berbasis website secara realtime
menggunakan library face-api.js dapat mempercepat proses
pengembangan karena memiliki berbagai operasi yang siap digunakan,
termasuk diantaranya algoritma Tiny Yolo V2, Resnet-34 dan euclidean
distance. Banyaknya operasi yang tersedia pada library dapat digunakan
untuk menentukan Face ID yang ingin ditampilkan, seperti pada penelitian
ini yaitu nomor pokok mahasiswa yang berasal dari nama berkas di
dataset. Nomor pokok mahasiswa (NPM) tersebut dapat digunakan untuk
absensi kehadiran pada sistem aplikasi daftar hadir mahasiswa dan dosen.
3. Jarak, posisi, penggunaan aksesoris dan warna kulit pada wajah sangat
mempengaruhi tingkat keberhasilan dalam mendeteksi dan
mengindentifikasi wajah. Dalam penelitian ini presentase keberhasilan
pada jarak 0,5 meter mencapai 97, jarak 1 meter 96%, jarak 1,5 meter 95%
dan jarak 2 meter dengan presentase 88% dimana terdapat 2 wajah yang
tidak terdeteksi dan teridentifikasi pada jarak tersebut karena
menggunakan kacamata dan memiliki warna kulit agak gelap.

95
96

4. Penggunaan webservice untuk menampilkan informasi mahasiswa dari


database akademik yang dapat digunakan untuk keperluan absensi
kehadiran mahasiswa yang ada di database DHMD, sehingga mempunyai
relasi data untuk dapat digunakan sebagai laporan kehadiran.
5.2 Saran
Berdasarkan penelitian yang telah dilakukan dapat diambil beberapa saran
untuk bisa meningkatkan dan mengembangkan penelitian selanjutnya, yaitu
sebagai berikut:
1. Penggunaan beberapa foto untuk dataset dengan posisi wajah dan
intensitas cahaya yang berbeda untuk meningkatkan tingkat keberhasilan
pengenalan.
2. Untuk meningkatkan tingkat keberhasilan dalam pengelanan wajah bisa
dengan menggunakan kamera dengan resolusi tinggi dan kualitas lebih
baik dari kamera yang digunakan pada penelitian ini.
DAFTAR PUSTAKA

A. S, R. & M., S., 2014. Rekayasa Perangkat Lunak Terstruktur dan Berorientasi
Objek. Bandung: Informatika.
Abhirawa, H., J. & Arifianto, A., 2017. Pengenalan Wajah Menggunakan
Convolutional Neural Network. e-Proceeding of engineering, 4(3), pp.
4907-4916.
APPJI. 2018. Penetrasi & Profil Perilaku Pengguna Internet Indonesia. Jakarta:
Asosiasi Penyedia Jasa Internet Indonesia.
Booth, D. et al, 2004, Web Services Architecture, http://www.w3.org/TR/wsarch.
Diakses tanggal 30 September 2019.
C, Fairhurst, M. 1988. Computer Vision for Robotic System, Prentice Hall
International Ltd, United Kingdom.
Cao, Z. et al. 2010. Face Recognition With Learning-Based Descriptor. IEEE
Conference on Computer Vision and Pattern Recognition (CVPR).1: pp.
2707-2714.
Deng, L. & Yu, D., 2014. Deep Learning: Methods and Applications.Washington:
NOW Publisher.
Endrianti, Fenti, dkk., 2018. Sistem Pencatatan Kehadiran Otomatis di Ruang
Kelas Berbasis Pengenalan Wajah Menggunakan Convolutional Neural
Network (CNN). Jurnal Teori dan Aplikasi Ilmu Komputer (JATIKOM),
Vol. 1, No. 1, pp. 40-44
Fadlisyah, S.Si., 2007, Computer Vision dan Pengolahan Citra, Penerbit Andi:
Yogyakarta
Fielding, R.T., 2000, Architectural Styles and the Design of Network-based
Software Architectures, Disertasi, University of California, Irvine.
Gonzales, Rafael, C. Woods, Richard E. 2002. Digital Image Processing. New
Jersey : Prentice-Hall, Inc.
Goodfellow, I., Bengio, Y. & Courville, A., 2016. Deep Learning. MIT Press.
Hammond, K., 2015. Practical Artificial Intelligence for Dummies. Hoboken:
John Wiley & Sons, Inc.

97
98

Hurwitz, J. & Kirsch, D., 2018. Machine Learning for Dummies. Hoboken: John
Wiley & Sons, Inc..
LeeCun Y., Yoshua B., & Geoffrey H., 2015, Deep Learning, Nature Vol. 521,
pp. 436-444
Li, Stan Z. & Anil K. Jain. 2005. Handbook of Face Recognition. New York,
USA : Springer Science + Business Media, Inc
Lucas, H. C., 1993. Analisis, Desain dan Implementasi Sistem Informasi. 3th ed.
Jakarta: Erlangga.
Mohri, M., Rostamizadeh, A. & Talwalkar, A., 2012. Foundations of achine
Learning. Cambridge: The MIT Press.
O'Shea, K. & Nash, R., 2015. An Introduction to Convolutional Neural Networks.
New York: Cornell University.
Priyambodo, Tri Kuntoro, 2005, Implementasi Web Service Untuk Pengembangan
Layanan Pariwisata Terpadu, Jurnal Fakultas Hukum UII Vol. 10 No. 2 .
pp. 105-118
Rahmanudin, Abdul Aris. 2018. Penerapan Algoritma Convolutional Neural
Network Sebagai Fitur Ekstraktor Untuk Pencarian Citra. Skripsi.
Majalengka: Universitas Majalengka.
Redmon, Joseph, Ali Farhadi, 2016, YOLO9000: Better, Faster, Stronger, arxiv:
cornell university, pp. 1-9.
Redmon, Joseph, et. al. 2016. You Only Look Once: Unified, Real-Time Object
Detection 5th edition. arxiv: cornell university, pp. 1-10
Redmon, Joseph, et. al. 2018. YOLOv3: an Incremental Improvement. arxiv:
cornell university, pp. 1-6
Shafira,Tiara. 2018. Implementasi Convolutional Neural Network Klasifikasi
Citra Tomat Menggunakan Keras. Skripsi. Yogyakarta: FMIPA Universitas
Islam Indonesia.
Shakhnarovich and Moghaddam. 2004. Face Recognation in Subspaces.
Handbook of Face Recognation. Spriger-Verlag.
Subkhi, M. Bahrul, dkk., 2018. Sistem Pengenalan Wajah Untuk Presensi Kuliah
Dengan Metode Eigenface PCA (Principal Component Analysis) dan City
Block. Simki-Techsain, Vol. 2, No. 3, pp. 1-10
99

Turk, M. A. & Pentland, A. P., 1991. Eigenface for Recognition, Journal of


Cognitive Neurosciene, Vol. 3 pp. 72-86.
Wahana Komputer, 2005, Pemanfaatan Kamera Digital dan Pengolahan
Imagenya, Penerbit Andi: Yogyakarta.
Yusuf, Muhammad, dkk., 2016. Rancang Bangun Aplikasi Absensi Perkuliahan
Mahasiswa dengan Pengenalan Wajah. Jurnal Teknik ITS, Vol. 5 No. 2, pp.
766-770
Zaccone, G., Karim, M. R. & Menshawy, A., 2017. Deep Learning with
TensorFlow. Birmingham: Packt Publishing.

Anda mungkin juga menyukai