PERANCANGAN DAN IMPLEMENTASI
SISTEM ABSENSI PENGENALAN WAJAH
MENGGUNAKAN METODE EIGENFACE
Diajukan Untuk Memenuhi Syarat Kelulusan
Mata Kuliah Tugas Akhir
Disusun oleh :
Ahmad Khairul Anwar NIM : 1364001
PROGRAM STUDI TEKNIK ELEKTRO STRATA I
SEKOLAH TINGGI TEKNOLOGI JAWA BARAT
BANDUNG
LEMBAR PENGESAHAN
JUDUL :
PERANCANGAN DAN IMPLEMENTASI SISTEM
ABSENSI PENGENALAN WAJAH
MENGGUNAKAN METODE EIGENFACE
NAMA : AHMAD KHAIRUL ANWAR
NIM : 1364001
Laporan Tugas Akhir ini ini telah kami baca dan dapat diterima untuk di presentasikan di Program Studi Teknik Elektro Sekolah Tinggi Teknologi Jawa Barat
Menyetujui,
Ajeng Mayang KS, MT. Asdianur Hadi, MT.
Pembimbing I Pembimbing II
Mengetahui,
Riki Ridwan Margana, MT. Ajeng Mayang KS, MT.
ABSTRAK
Pengenalan wajah adalah teknologi komputer untuk menentukan lokasi wajah, ukuran wajah, deteksi fitur wajah dan pengabaian citra latar, selanjutnya dilakukan identifikasi citra wajah[1]. Mesin absensi kartu Amano GX500 banyak memiliki kekurangan. Seperti sistem penggajian perminggu yang harus dilakukan dengan menyalin jam-jam masuk dari kartu dan mengolahnya didalam microsoft excel hal ini tentu memakan waktu lama dan rawan human error. Berdasarkan masalah tersebut penulis melaksanakan penelitian yang bertujuan untuk merancang dan membuat sistem absensi berbasis pengenalan wajah menggunakan metode eigenface sebagai pengganti sistem absensi kartu.
Penelitian diawali dengan pengumpulan referensi yang berkaitan dengan sistem absensi pengenalan wajah, kemudian berdasarkan referensi tersebut dibuat aplikasi deteksi dan pengenalan wajah untuk menguji akurasi dari sistem. Setelah itu sistem absensi berbasis pengenalan wajah kemudian dibuat untuk diuji di CV. Karya Mitra Utama sebagai pengganti sistem absensi berbasis kartu. Hasil dari pengujian berupa Persentase nilai akurasi sistem adalah 97,22%. Dimana keluaran aplikasi berupa nilai gaji karyawan dalam format Hal ini menandakan bahwa aplikasi dapat digunakan sebagai aplikasi sistem absensi sekaligus dapat mempercepat proses pengolahan data absensi karyawan.
ABSTRACT
Face recognition is a computer technology for determining face location, face size, face detection and background image abandonment, then identifying face image[1]. Attendance card machine Amano GX500 has many problem and shortcomings. Like a weekly payroll system that needs to be done by copying the incoming hours of the card and processing it in microsoft excel it certainly takes a long time and prone to human error. Based on these problems the authors carry out research that aims to design and make an attendance system with face recognition based using eigenface method as substitute card attendance system.
The research begins with collection of references related to the face recognition system, then based on these references author made face detection and recognition application to test the accuracy of the system. After that applications face recognition based system then made to be tested in CV. Karya Mitra Utama as a replacement for card-based attendance system. The result of the test is percentage of system accuracy value at 97.22%. Where the application output have form of employee salary value in xlsx format. This indicates that the application can be used as system application attendance as well as to accelerate process employee attendace data.
ii
MOTTO DAN PERSEMBAHAN
ْﺐَﺼْﻧﺎَﻓ َﺖْﻏَﺮَـﻓ اَذِﺈَﻓ o اًﺮْﺴُﻳ ِﺮْﺴُﻌْﻟا َﻊَﻣ نِإ
Sesungguhnya, sesudah kesulitan itu ada kemudahan.Maka apabila kamu telah selesai (dari sesuatu urusan), kerjakanlah dengan
sungguh-sungguh (urusan) yang lain," – (QS.94: 6 - 7)
ِْﱪﺼﻟﺎِﺑ o ٍﺮْﺴُﺧ ﻲِﻔَﻟ َنﺎَﺴْﻧﻹا نِإ
اْﻮَﺻاَﻮَـﺗَو ﻖَْﳊﺎِﺑ اْﻮَﺻاَﻮَـﺗَو ِتﺎَِﳊﺎﺼﻟا اﻮُﻠِﻤَﻋَو اﻮُﻨَﻣآ َﻦﻳِﺬﻟا ﻻِإ
Sesungguhnya manusia itu benar-benar berada dalam kerugian kecualiorang-orang yang beriman dan mengerjakan amal shaleh,
dan nasehat menasehati, supaya mentaati kebenaran, dan nasehat menasehati,
supaya menetapi kesabaran." – (QS.103: 2 - 3)
Kupersembahkan skripsi ini untuk orang tua,
KATA PENGANTAR
Puji syukur penulis panjatkan kepada Allah SWT atas limpahan berkat dan
rahmat-Nya, maka penulis dapat menyelesaikan penyusunan laporan tugas akhir “Perancangan dan Implementasi Sistem Absensi Pengenalan Wajah menggunakan Metode Eigenface”.
Penulis menyadari bahwa tanpa bantuan dan bimbingan dari berbagai pihak,
sangat sulit bagi penulis untuk menyelesaikan skripsi ini. Oleh karena itu, penulis
mengucapkan terima kasih yang sebesar-besarnya kepada:
1. Allah SWT. sebagai Dzat yang maha segalanya yang telah
membimbing, membantu dan memberikan petunjuk.
2. Orangtua, kakak dan adik tercinta yang memberi dukungan selama
menyusun laporan tugas akhir.
3. Bapak Riki Ridwan Margana, MT., selaku ketua STT Jabar.
4. Ibu Ajeng Mayang KS, MT., sebagai kaprodi teknik elektro STT Jabar,
dosen penguji serta dosen pembimbing.
5. Bapak Asdianur Hadi, MT. dan Bapak Iwan Juandi, MT., selaku dosen
pembimbing dan dosen penguji.
6. Seluruh staff di CV. Karya Mitra Utama atas bantuannya
7. Seluruh staff di STT Jabar yang telah banyak membantu memberikan
saran dan masukan dalam pengerjaan tugas akhir.
8. Indra, Riandi dan seluruh teman-teman mahasiswa STT Jabar yang
memberikan dukungan dan semangat dalam penyusunan laporan ini.
9. Semua pihak yang tidak dapat disebutkan satu per satu yang telah
banyak membantu dalam penyusunan laporan ini.
Akhir kata, penulis berharap Allah SWT berkenan membalas setiap
kebaikan semua pihak yang telah membantu. Semoga skripsi ini dapat membawa
manfaat untuk pengembangan ilmu kedepannya.
Bandung, 16 September 2017
i
DAFTAR ISI
Halaman
LEMBAR PENGESAHAN ABSTRAK
KATA PENGANTAR
LEMBAR PERSEMBAHAN
DAFTAR ISI ... i
DAFTAR TABEL ... iv
DAFTAR GAMBAR ... v
DAFTAR SINGKATAN ... ix
DAFTAR ISTILAH ... x
DAFTAR LAMPIRAN ... xi BAB I PENDAHULUAN
1.1. Latar Belakang ... I-1 1.2. Perumusan Masalah ... I-2 1.3. Pembatasan Masalah ... I-2 1.4. Tujuan ... I-3 1.5. Kegunaan ... I-3 1.6. Sistematika Penulisan ... I-3
BAB II LANDASAN TEORI
ii
2.6.1 Sistem Kerja Kairos ... II-9 2.6.2 Fitur Kairos ... II-10 2.6.3 Perbandingan Kairos dengan OpenCV ... II-12 2.7 PHP ... II-12 2.8 MySQL ... II-14
BAB III METODOLOGI PENELITIAN
3.1 Analisa Pembuatan Aplikasi Deteksi Wajah dan
Pengenalan Wajah ... III-2 3.2 Desain Aplikasi Deteksi Wajah dan Pengenalan Wajah ... III-2 3.3 Analisa Pembuatan Aplikasi Absensi Berbasis
Pengenalan Wajah ... III-3 3.4 Desain Aplikasi Absensi Berbasis Pengenalan Wajah ... III-5 3.4.1 Halaman Absen ... III-5 3.9 Implementasi Aplikasi ... III-13
BAB IV PENGUMPULAN DAN PENGOLAHAN DATA
4.1. Pengumpulan Data ... IV-1 4.2. Pengolahan Data ... IV-2 4.2.1 Pengolahan Data Uji Akurasi Aplikasi ... IV-2 4.2.2 Pengolahan Data Implementasi Aplikasi Sistem Absensi
Berbasis Pengenalan Wajah ... IV-7
BAB IV ANALISA DAN PEMBAHASAN
iii
5.1.3 Citra Wajah Identik Sama ... V-5 5.1.4 Citra Wajah Menggunakan Aksesoris ... V-6 5.1.5 Pengenalan Multi Citra Wajah ... V-7 5.2 Impelentasi Aplikasi Sistem Absensi Berbasi Pengenalan Wajah V-10 5.3 Rekapitulasi Pengujian Aplikasi ... V-13
BAB V KESIMPULAN DAN SARAN
5.1. Kesimpulan ... VI-1 5.2. Saran ... VI-2
iv
DAFTAR TABEL
Halaman Tabel 2.1 Hasil Deteksi Pengenalan Wajah Kairos ... II-11 Tabel 2.2 Perbandingan Kairos dan OpenCV ... II-12 Tabel 3.1 Spesifikasi Masing-masing Kamera ... III-12 Tabel 4.1 Kairos Error Message ... III-6 Tabel 4.2 Keluaran Pada Proses Pengenalan Wajah ... IV-8 Tabel 4.3 Keluaran Pada Proses Latih Wajah ... IV-9 Tabel 5.1 Sampel Citra Wajah dan Bukan Wajah ... V-1 Tabel 5.2 Hasil Pengujian Citra Wajah dan Bukan Wajah ... V-2 Tabel 5.3 Sampel Citra Wajah Terdaftar dan Tidak Terdaftar ... V-3 Tabel 5.4 Hasil Latih Citra Wajah Terdaftar ... V-4 Tabel 5.5 Hasil Pengenalan Citra Wajah Terdaftar dan
v
DAFTAR GAMBAR
Halaman
Gambar 2.1 Proses Face Tracking ... II-3 Gambar 2.2 Proses Tahapan Pelatihan Wajah dan Pengenalan
Wajah ... II-4 Gambar 2.3 Flowchart Algoritma Eigenface ... II-5 Gambar 2.4 Skema Matriks Wajah ... II-6 Gambar 2.5 Penyusunan Matriks Flatvector ... II-6 Gambar 2.6 Penentuan Rataan Flatvector ... II-7 Gambar 2.7 Perhitungan Nilai Eigenface Untuk Training ... II-7 Gambar 2.8 Perhitungan Nilai Eigenface Untuk Testface ... II-8 Gambar 2.9 Proses Identifikasi Dengan Input Image Testface ... II-8 Gambar 2.10 Feature Point Detection ... II-9 Gambar 2.11 Sistem Kerja Kairos ... II-9 Gambar 2.12 Verifikasi Wajah ... II-10 Gambar 2.13 Citra Wajah Yang Diuji dan Hasil Yang Masih
vi
vii
DAFTAR ISTILAH
ISTILAH PENGERTIAN
Citra : Gambar dua dimensi yang dihasilkan dari gambar analog dua dimensi yang kontinu menjadi gambar diskrit melalui proses sampling.
Gambar : Sesuatu yang dapat mewakilkan suatu objek nyatanya serta memiliki karakter warna maupun bentuk yang sesuai dengan aslinya
Sistem Absensi
: Sistem yang berisi informasi lengkap mengenai kehadiran dan ketidakhadiran seorang karyawan
Identifier : Tanda pengenal atau identitas dari seseorang
Xlsx : Sebuah ekstensi file untuk program microsoft excel, microsoft excel sendiri merupakan sebuah program untuk mengolah angka
2 Dimensi (2D)
: bentuk dari benda yang memiliki panjang dan lebar. Istilah ini biasanya digunakan dalam bidang seni, animasi, komputer dan matematika.
Video : Teknologi untuk menangkap, merekam, memproses, mentransmisikan dan menata ulang gambar bergerak. Biasanya menggunakan film seluloid, sinyal elektronik, atau media digital
Machine Learning
: Disebut juga pembelajaran mesin adalah proses komputer untuk belajar dari data
Ekspresi : Ungkapan perasaan manusia. Blok
Diagram
: Diagram dari sebuah sistem , di mana bagian utama atau fungsi yang diwakili oleh blok dihubungkan dengan garis, yang menunjukkan hubungan dari blok.
Desain : Perencanaan dalam pembuatan sebuah Program
Webcam : Periferal berupa kamera yang dikendalikan oleh sebuah komputer atau oleh jaringan komputer.
Basis Web
viii
DAFTAR SINGKATAN
SINGKATAN PENGERTIAN
XLSX : Extensible Stylesheet Language
PHP : Personal Home Page, Hypertext Preprocessor SQL : Structured Query Language
PCA : Principle Component Analysis API : Application Programming Interface HTML : HyperText Markup Language
ID : Identifier
PC : Personal Computer
DBMS : Database Management System
ix
DAFTAR LAMPIRAN
1 Profil Perusahaan 2 API Kairos
3 Kode Sumber Program 4 Dokumentasi
I-1
BAB I PENDAHULUAN
1.1 Latar Belakang
Pengenalan wajah adalah teknologi komputer untuk menentukan lokasi wajah, ukuran wajah, deteksi fitur wajah dan pengabaian citra latar, selanjutnya dilakukan identifikasi citra wajah[1]. Pengenalan wajah melibatkan banyak variabel, misalnya citra sumber, citra hasil pengolahan citra, citra hasil
ekstraksi dan data profil seseorang[1]. Dibutuhkan juga alat pengindera berupa sensor kamera dan metode untuk menentukan apakah citra yang ditangkap oleh webcam tergolong wajah manusia atau bukan, sekaligus untuk menentukan informasi profil yang sesuai dengan citra wajah yang dimaksud.
Pengenalan wajah telah dikembangkan untuk banyak aplikasi keamanan, aplikasi absensi dan aplikasi pendataan penduduk[1]. Penggunaan wajah sebagai identifier mempunyai banyak manfaat, terutama kepraktisannya karena memerlukan sebuah gambar untuk identifikasi[1].
CV. Karya Mitra Utama merupakan salah satu perusahaan yang bergerak pada bidang perindustrian seperti machining, electroplating, heat treatment,
supplier, consultant management dan general trading. Sebagai perusahaan yang cukup besar dan memiliki banyak karyawan, pada sistem absensi CV. Karya Mitra Utama masih menggunakan mesin absensi kartu.
Mesin mesin absensi kartu tersebut yang bernama amano GX500 masih berjalan sampai saat ini, namun alat tersebut memiliki banyak kekurangan, Seperti sistem penggajian perminggu yang harus dilakukan dengan
menyalin jam-jam masuk dari kartu dan mengolahya didalam microsoft excel hal ini tentu memakan waktu yang lumayan lama dan rawan human
error. Selain banyak karyawan yang terpaksa menunggu pada setiap hari
gajian, seringkali gaji yang didapatkan tidak sesuai dengan jam bekerja karyawan.
I-2
pengenalan wajah yang menggunakan metode feature-based dan pustaka perangkat lunak kairos. Selain membuat sistem absensi wajah penelitian ini juga bertujuan menguji seberapa akurat sistem pengenalan wajah yang menggunakan metode feature-based dan pustaka perangkat lunak kairos, serta menguji sistem pengolahan data yang akan dibuat menggunakan bahasa pemograman PHP dan database MySQL, sehingga output yang
diberikan oleh aplikasi berupa file microsoft excel (xlsx) untuk keperluan pembuatan laporan dan struk gaji.
1.2 Perumusan Masalah
Berdasarkan latar belakang maka didapatkan perumusan masalah, yaitu: 1. Bagaimana membuat aplikasi pengenalan wajah sebagai identifikasi untuk
sistem absensi dan menggantikan absensi berbasis kartu.
2. Bagaimana membuat sistem absensi pengenalan wajah menggunakan menggunakan metode eigenface, bahasa pemograman PHP, database MySQL dan pustaka perangkat lunak kairos.
3. Bagaimana mementukan nilai akurasi sistem pengenalan wajah yang dibuat menggunakan metode eigenface, serta bagaimana aplikasi dapat mempercepat proses pengolahan data absensi karyawan
1.3 Pembatasan Masalah
Berikut beberapa pembatasan masalah pada sistem absensi pengenalan wajah menggunakan metode eigenface, yaitu :
1. Aplikasi sistem absensi berbasis pengenalan wajah dibuat untuk menggantikan sistem absensi kartu.
2. Aplikasi dibuat menggunakan metode eigenface, bahasa pemograman PHP, sistem manajemen database MySQL dan pustaka perangkat lunak kairos.
I-3
1.4 Tujuan
Tujuan dalam pembuatan sistem absensi pengenalan wajah
menggunakan metode eigenface adalah:
1. Membuat sistem absensi berbasis pengenalan wajah sebagai pengganti sistem absensi berbasis kartu.
2. Merancang dan membuat aplikasi sistem absensi berbasis pengenalan wajah menggunakan metode eigenface, bahasa pemograman PHP, sistem manajemen database MySQL dan pustaka perangkat lunak kairos 3. Melaksanakan pengujian untuk mengetahui seberapa besar nilai akurasi sistem absensi berbasis pengenalan wajah dan membuat sistem aplikasi yang dapat mempercepat proses pengolahan data absensi karyawan.
1.5 Kegunaan
Dengan dilaksanakannya penelitian ini diharapkan sistem absensi pengenalan wajah dapat menjadi sistem absensi pengganti yang lebih baik dari mesin kartu.
1.6 Sistematika Penulisan
Sistematika penulisan ini membagi penyajian tulisan menjadi enam bab, masing-masing bab meliputi;
BAB I PENDAHULUAN
Membahas latar belakang, perumusan masalah, pembatasan masalah, tujuan, kegunaan serta sistematika penulisan laporan.
BAB II LANDASAN TEORI
Berisi referensi, materi maupun teori dasar mengenai pengolahan citra, pengenalan wajah, deteksi wajah, metode eigenface, pustaka perangkat lunak kairos dan hal lainya yang menyangkut dengan penelitian yang akan dilaksanakan
BAB III METODOLOGI PENELITIAN
I-4
perangkat lunak yang dibutuhkan serta metode pengujian dan implementasi aplikasi
BAB IV PENGUMPULAN DAN PENGOLAHAN DATA
Membahas metode yang digunakan dalam melaksanakan pengumpulan dan pengolahan data untuk pengujian akurasi maupun implementasi aplikasi
BAB V ANALISIS DAN PEMBAHASAN
Berisi analisis dan pembahasan dari hasil penelitian dari pengujian akurasi seperti pengujian aplikasi pengenalan wajah pada citra wajah dan bukan wajah. Pada bab ini juga terdapat analisis dan pembahasan dari implementasi aplikasi yang hasil akhirnya berupa gaji mingguan karyawan. BAB VI PENUTUP
II-1 BAB II
LANDASAN TEORI
2.1 Visi Komputer
Visi komputer (Computer Vision) merupakan ilmu yang mempelajari
tentang bagaimana komputer dapat mengamati dan mengobservasi suatu benda
tertentu. Hal ini bertujuan untuk meniru visualisasi yang dapat dilakukan oleh
manusia sehingga dapat dilakukan oleh komputer, yang dalam aplikasinya
dapat dilakukan pemrosesan lebih lanjut[9]. Visi komputer terbagi menjadi 2 bidang ilmu, yaitu :
1. Pengolahan Citra
Pengolahan Citra (image Processing)merupakan salah satu ilmu yang
mempelajari tentang teknik perbaikan kualitas citra yang kurang baik
menjadi citra yang lebih baik dan diterima sebagi citra yang mudah
dikenali[3]. 2. Pengenalan pola
Pengenalan pola (Pattern recognition) merupakan pengidentifikasian
objek berdasarkan proses pengelompokkan data numerik dan simbolik
(termasuk citra), yang dilakukan secara otomatis oleh komputer[3] .
Pola adalah suatu bentuk dimana masing-masing pola memiliki
ciri-cirinya. Ciri-ciri tersebut digunakan utuk membedakan suatu pola dengan
pola yang lainnya. Ciri yang baik adalah ciri yang memiliki daya pembeda
yang tinggi, sehingga pengelompokkan pola berdasarkan ciri yang
dimiliki dapat dilakukan dengan keakuratan yang tinggi[6].
2.2 Citra
Data atau informasi tidak hanya disajikan dalam bentuk teks saja, akan
tetapi dapat berupa sebuah gambar (citra), audio (bunyi, suara, musik), dan
video. Macam-macam data atau informasi tersebut sering disebut
multimedia. Citra sendiri adalah gambar pada bidang dwiwarna (dua
dimensi), ditinjau dari sudut pandang matematis, citra merupakan fungsi
II-2
cahaya menerangi objek, objek memantulkan kembali sebagian dari berkas
cahaya tersebut. Pantulan cahaya ini ditangkap oleh alat optik, misalnya
mata pada manusia, kamera, pemindai (scanner) dan sebagainya, sehingga
bayangan objek yang disebut citra tersebut terekam[3].
Citra merupakan salah satu komponen multimedia yang memiliki
peranan penting sebagai informasi visual. Citra memiliki karakteristik yang
tidak dimiliki oleh data teks, yaitu citra kaya dengan informasi[1]. Pengolahan citra secara digital dimulai pada awal tahun 1921, yaitu pertama
kalinya sebuah foto berhasil di transmisikan secara digital melalui kabel laut
dari kota New York ke kota London dengan memakan waktu kurang dari 3
jam yang biasanya pengiriman suatu foto saat itu membutuhkan waktu
sekitar satu minggu. Selanjutnya pada tahun 1960 tercatat perkembangan
pesat dikarenakan munculnya teknologi komputer yang sanggup memenuhi
suatu kecepatan proses dan kapasitas memori yang dibutuhkan oleh
berbagai algoritma pengolahan citra[3].
2.3 Sistem Deteksi Wajah
Deteksi wajah merupakan salah satu teknologi biometrik, yang
digunakan oleh perangkat lunak untuk mendektesi keberadaan wajah
manusia sekaligus menghiraukan objek lain seperti pohon, bangunan dan
tubuh manusia dalam sebuah citra[1].
Proses pendeteksian wajah adalah proses mensegmentasi area wajah
dengan latar belakang dari suatu masukan citra. Proses ini bekerja dengan
cara memeriksa citra yang dimasukan, apakah memiliki citra wajah atau
tidak, jika memiliki citra wajah, maka akan dilakukan pemisahan dengan
cara memotong citra wajah dari latar belakang citra yang dimasukan[10]. Untuk masukan berbentuk video, proses yang dilakukan adalah proses
face tracking. Secara umum, proses face tracking dan proses pendeteksian
wajah mempunyai fungsi yang sama. Perbedaannya terletak pada proses
pendeteksiannya saja, jika pada masukan berbentuk citra, sistem berjalan
offline sehingga dapat menggunakan proses pendeteksian wajah, sedangkan
II-3
membutuhkan pendeteksian secara langsung maka proses yang digunakan
adalah proses face tracking[11]. Proses face tracking dapat dilihat pada gambar 2.1.
Gambar 2.1. Proses Face Tracking
Dalam deteksi wajah ada empat istilah yang sering dipakai antara
lain[9]:
1. True positive = Wajah terdeteksi benar sebagai wajah
2. True Negative = Wajah terdeteksi benar sebagai bukan wajah
3. False positive = Wajah tidak terdeteksi sebagai wajah
4. False negative = Bukan wajah terdeteksi wajah
2.4 Sistem Pengenalan Wajah
Pengenalan wajah adalah teknologi biometrik untuk menentukan lokasi
wajah, ukuran wajah, deteksi fitur wajah dan pengabaian citra latar,
selanjutnya dilakukan identifikasi citra wajah[1]. Prinsip dasar dari pengenalan wajah adalah dengan mengutip informasi unik wajah tersebut,
kemudian di-encode dan dibandingkan dengan hasil decode yang
sebelumnya dilakukan[7].
Sistem pengenalan wajah digunakan untuk membangunan identitas.
dengan tujuan utama yaitu mengidentifikasi sebuah wajah dalam citra dan
mencocokannya dengan citra yang ada di dalam database[1]. Secara umum cara kerjanya adalah dengan mengkonversikan foto, sketsa, dan citra video
menjadi serangkaian angka kemudian membandingkannya dengan
II-4
Secara umum, meskipun didasari dengan metode-metode yang
berbeda proses pengenalan wajah terdiri dari dua proses utama yaitu, proses
pelatihan citra dan proses pengenalan citra. Kedua proses ini memiliki
tahapan-tahapan yang hampir sama, perbedaannya terletak pada hasil
ekstraksi fiturnya[10]. Untuk lebih jelasnya, pada Gambar 2.2 ditunjukan diagram blok sistem pelatihan dan pengenalan citra wajah secara umum.
(a)
(b)
Gambar 2.2. Proses Tahapan (a) Pelatihan Wajah (b) Pengenalan Wajah[10]
Pertama akan ditentukan lokasi wajah pada citra atau video (deteksi
wajah), selanjutnya citra bukan wajah akan dibuang atau diabaikan,
kemudian fitur pada wajah di ekstraksi menjadi vektor, langkah selanjutnya
untuk pelatihan wajah vektor fitur akan disimpan, sedangkan untuk
pengenalan wajah vektor fitur akan dicocokan dengan fitur yang ada dalam
database.
Secara umum, teknik dan metode dalam pengenalan wajah dapat
dikelompokan ke dalam tiga pendekatan berdasarkan data yang
dibutuhkannya[1], yaitu:
1. Pendekatan holistik. Pada pendekatan holistik, seluruh bagian atau
ciri-ciri global wajah digunakan sebagai data masukan untuk pengenalan
wajah. Contoh: eigenface, fisherface, nearest feature line (NFL), dan
II-5
2. Pendekatan feature-based. Pada pendekatan feature-based, wajah terbagi
berdasarkan ciri-ciri lokal wajah seperti hidung, mulut, mata, dan lainnya
yang kemudian digunakan sebagai data masukan. Contoh : Hidden
Markov Model, Kairos dan Dynamic Link Architecture.
2.5 Algoritma Eigenface
Kata eigenface sebenarnya berasal dari bahasa Jerman “eigenwert”
dimana “eigen” artinya karakteristik dan “wert” artinya nilai[5]. Eigenface sendiri merupakan salah satu algoritma pengenalan pola wajah yang
berdasarkan pada Principle Component Analysis (PCA).
Dalam metode eigenface, decoding dilakukan dengan menghitung
eigenvector kemudian direpresentasikan dalam sebuah matriks yang
berukuran besar. Eigenvector juga dinyatakan sebagai karakteristik wajah
oleh karena itu metode ini disebut dengan eigenface[5].
Untuk menghasilkan eigenface, sekumpulan besar citra digital dari
wajah manusia diambil pada kondisi pencahayaan yang sama, dinormalisasi
dan kemudian diolah pada resolusi yang sama (misalnya m x n), dan
kemudian diperlakukan sebagai vektor dimensi mn di mana komponennya
diambil dari nilai dari pikselnya[1]. Flowchat dari algoritma eigenface dapat dilihat pada gambar 2.3.
II-6
Adapun algoritma selengkapnya adalah sebagai berikut:
1. Penyusunan Flat Vector
Langkah pertama adalah menyusun seluruh training image rnenjadi
1 matriks tunggal. Misalkan citra berukuran H × W piksel dan
jumlahnya N buah, maka flatvector yang dihasilkan berdimensi N × (H
× W). Selanjutnya representasikan semua matriks training menjadi
matriks dengan bentuk N × 1 atau matriks linier. Untuk lebih jelasnya
dapat dilihat pada gambar 2.4.
Gambar 2.4. Skema Matriks Wajah
Sebagai contoh untuk training image yang didalamnya terdapat 2
citra wajah dengan ukuran 3 × 3 piksel maka eigenvector akan memiliki
ukuran 2 × 9 ( 2 × 3 × 3 ). dua buah citra wajah yang telah diubah
menjadi matriks, kemudian diubah kedalam bentuk rataan flatvector.
Untuk lebih jelasnya dapat dilihat pada gambar 2.5.
Gambar 2.5. Penyusunan Flatvector[1]
2. Penghitungan Rataan FlatVector
Dari flatvector yang diperoleh, jumlahkan seluruh barisnnya
sehingga memperoleh matriks berukuran 1 x (H x W). Setelah itu
mastriks tersebut dibagi dengan jumlah image N untuk mendapatkan
rataan flatvector. Nilai flatvector citra akan digunakan untuk
menghitung nilai eigenface citra wajah (training image). Untuk lebih
II-7
Gambar 2.6. Penentuan Rataan Flatvector[1]
3. Tentukan nilai eigenface
Dengan menggunakan rataan flatvector citra yang telah didapatkan,
nilai eigenface untuk matriks flatvector yang sudah disusun tersebut
dapat dihitung nilai eigenface-nya. Caranya dengan mengurangi
baris-baris pada matriks flatvector dengan rataan flatvector. Jika didapatkan
nilai dibawah nol, maka nilainya diganti dengan nol. Untuk lebih
jelasnya dapat dilihat pada gambar 2.7
Gambar 2.7. Perhitungan Nilai Eigenface Untuk Training[1]
4. Proses Identifikasi
Untuk mengenali citra tes (testface), langkah identifikasinya adalah
menghitung nilai eigenface untuk matriks testface dengan cara
II-8
Gambar 2.8. Perhitungan Nilai Eigenface Untuk Testface[7]
Setelah nilai eigenface untuk testface diperoleh maka proses
identifikasi dapat diliakukan dengan menentukan jarak terpendek antara
eigenface dan eigenvector training image. Pertama tentukan nilai
absolut dari pengurangan baris pada matriks eigenface training image
dengan eigenface dari testface, kemudian jumlahkan elemen-elemen
penyusun vector yang dihasilkan dari pengurangan tadi untuk
menghasilkan jarak indeks, lakukan untuk semua baris kemudian, cari
nilai yang terkecil. Untuk lebih jelasnya dapat dilihat pada gambar 2.9.
II-9
Dari hasil perhitungan, diperoleh jarak citra face 2 memiliki nilai
yang terkecil yaitu satu, maka hasil identifikasi menyimpulkan bahwa
testface lebih mirip dengan face dua dari pada face satu.
2.6 Algoritma Kairos
Kairos adalah perusahaan yang bergerak pada bidang kecerdasan
buatan khususnya pengenalan wajah. melalui visi komputer (computer
vision) dan pembelajaran mesin (machine learning), kairos dapat
mengenal wajah dari video, foto maupun dunia nyata (realtime)[11]. Dengan nama yang sama produknya yaitu kairos adalah salah satu
pustaka perangkat lunak yang dikhususkan untuk deteksi wajah,
menggunakan metode featured-based. Kairos dapat membaca atau
mengenali emosi, identitas serta demografi dari citra atau citra masukan
hanya dengan beberapa baris kode[11].
2.6.1 Sistem Kerja Kairos
Kairos feature point detection menggunakan 49 titik unik
pada wajah manusia untuk mengumpulkan data termasuk
didalamnya emosi, ekspresi, umur dan jenis kelamin [11]. feature point detection kairos dapat dilihat pada gambar 2.10.
Gambar 2.10. Feature Point Detection[3]
Sistem kerja kairos hampir sama dengan pustaka perangkat
lunak lainnya. Untuk lebih jelasnya dapat dilihat pada gambar 2.11.
II-10
Setelah citra diambil oleh kamera, kairos akan mencari wajah
dan menentukan feature point detection pada citra, kemudian kairos
mengklasifikasikan fitur (deteksi wajah, pengenalan wajah,
verifikasi wajah, dan lain-lain), setelah itu kairos memberikan hasil
data berupa deteksi wajah atau pengenalan wajah tergantung fitur
kairos mana yang digunakan[3].
2.6.2 Fitur Kairos
Selain deteksi wajah dan pengenalan wajah, pustaka perangkat
lunak kairos memiliki beberapa fitur utama yaitu:
A. Deteksi wajah
Setelah citra diambil oleh kamera, kairos akan mencari
wajah dan menentukan feature point detection pada citra. setelah
dianalisa dengan fitur deteksi wajah kairos akan memberikan
hasil berupa titik unik dari wajah, identitas serta demografi dari
wajah.
B. Pengenalan wajah
Pengenalan wajah kairos terbagi menjadi dua yaitu
pelatihan wajah dan pengenalan wajah kedua-duanya memiliki
sistem kerja yang hampir sama dengan deteksi wajah. Hanya
saja setelah hasil berupa titik unik dari wajah ditentukan. Pada
pelatihan wajah, citra wajah tersebut disimpan ke database,
sedangkan pada pengenalan wajah, citra wajah tersebut
dicocokan dengan wajah yang ada pada database.
C. Verifikasi wajah
Sistem kerja verifikasi wajah hampir sama dengan deteksi
wajah, hanya saja verifikasi wajah memerlukan dua buah citra
wajah yang nantinya setelah hasil berupa titik unik dari wajah
ditentukan, kedua wajah tersebut akan dicocokan, intinya
apakah wajah didalam dua foto ini sama atau tidak. Sebagai
contoh dapat dilihat pada gambar 2.12. Hasilnya berupa kedua
II-11
Gambar 2.12. Verifikasi Wajah[11]
D. Deteksi ekspresi dan demografi
Setiap wajah yang dideteksi oleh kairos melalui fitur deteksi
wajah dan pengenalan wajah, setelah titik unik pada wajah
ditentukan, terdapat keluaran tambahan berupa ekspresi dan juga
demografi. Untuk lebih jelasnya, dapat dilihat citra wajah yang
diuji serta hasilnya pada gambar 2.13.
(a) (b)
Gambar 2.13. (a) Citra Wajah Yang Diuji (b) Hasil Yang Masih Berupa Skrip[11]
Penjelasan secara detail hasil pengenalan wajah kairos dapat
dilihat pada tabel 2.1.
Tabel 2.1. Hasil Deteksi Pengenalan Wajah Kairos
Faktor Hasil Keterangan
Umur 27 Tahun
Grup Umur Dewasa Awal (Young adult) Rentang umur 26 - 35
Jenis Kelamin (Gender) maleConfidence : 0.99317 Skala 0 s/d 1, maleConfidence = Laki - laki, femaleConfidence = Perempuan, Nilai tertinggi adalah kemungkinan terbesar jenis kelamin yang dimiliki citra wajah
femaleConfidence : 0.00189
Suku / Ras Asia (Asian) : 0.97943 Skala 0 s/d 1, Semakin tinggi nilai, semakin tinggi kemungkinan ras atau suku milik citra wajah
II-12
Faktor Hasil Keterangan
Kondisi bibir Terpisah (Apart)
Terpisah = Apart, Menutup = Together
Kacamata (glasees) Tidak (No)
Berkacamata = Yes, Tidak berkacamata = No
Emosi Marah (anger) : 0 Skala 0 s/d 100, Semakin tinggi nilai, semakin tinggi kemungkinan emosi yang sedang ditunjukan pada citra wajah
2.6.3 Perbandingan Kairos dengan OpenCV
Dari banyak pustaka perangkat lunak yang ada kairos memiliki
banyak kelebihan. kelebihan kairos dibandingkan dengan pustaka
perangkat lunak lain sebagai contoh OpenCV selengkapnya dapat
dilihat pada tabel 2.1.
Tabel 2.2. Perbandingan Kairos dan OpenCV
Metode Kairos OpenCV Deteksi Wajah
Memiliki lebih dari 2500 algoritma yang dioptimalkan untuk
segala hal mulai dari deteksi wajah hingga pelacakan objek[9], fitur pengenalan dan deteksi wajah pada OpenCV ternyata
terbatas, selain itu penggunaannya yang terbilang kompleks sulit
untuk mengitegrasikan OpenCV dengan Hypertext Preprocessor
(PHP).
Berbeda dengan kairos, kairos memiliki banyak fitur pada
deteksi maupun pengenalan wajah, API milik kairos yang
bersifat easy-to-use dan gratis sangat mudah diitegrasikan
II-13
adalah kumpulan fungsi atau kumpulan kode program yang
berfungsi mengkomunikasikan sebuah program dengan kernel dari
sebuah sistem operasi[11].
2.7 Hypertext Preprocessor (PHP)
PHP adalah sebuah bahasa pemograman umum yang
digunakan untuk pembuatan aplikasi berbasis web yang bisa
ditanamkan pada HTML[2]. Pada awalnya PHP merupakan singkatan dari Personal Home Page (Situs personal). PHP pertama
kali dibuat oleh Rasmus Lerdorf pada tahun 1995[12]. Pada tahun 1997-1998, sebuah perusahaan bernama Zend menulis ulang
interpreter PHP menjadi lebih bersih, lebih baik, dan lebih cepat
dan mengubah singkatan PHP dari Personal Home Page ke
Hypertext Preprocessor[12].
PHP harus ditulis di antara tag <?php dan ?>. Setiap satu
statement (perintah) harus diakhiri dengan titik-koma(;). PHP
adalah bahasa pemograman yang case sensitive untuk nama
identifiernya (variable, konstanta, fungsi dan lain-lain) contoh:
$nama ≠ $Nama ≠ $NAMA[12].
Dari banyaknya bahasa pemograman yang ada PHP memiliki
banyak kelebihan dibandingkan dengan bahasa pemograman lain.
Beberapa kelebihan tersebut antara lain :
1. PHP bersifat open source yang berarti dapat digunakan oleh
siapa saja secara gratis.
2. Program yang dibuat dengan PHP bisa dijalankan oleh semua
sistem operasi karena PHP berjalan secara web based yag
artinya semua sistem operasi bahkan HP yang mempunyai web
browser dapat menjalankan PHP[2].
3. Aplikasi PHP lebih cepat dibandingkan dengan ASP maupun
Java[2].
4. Mendukung banyak paket database seperti MySQL, Oracle,
II-14
5. Bahasa pemrograman PHP tidak memerlukan Kompilasi
dalam penggunaannya.
6. Banyak web server yang mendukung PHP seperti Apache,
Lighttpd, dan IIS[2]..
7. Pengembangan aplikasi PHP mudah karena banyak
dokumentasi, referensi dan developer yang membantu dalam
pengembangannya.
8. Banyak bertebaran aplikasi dan program PHP yang gratis dan
siap pakai seperti wordpress dan prestashop[2]..
Selain memiliki kelebihan, PHP juga memiliki kekurangan.
Namun dibandingkan dengan kelebihan yang dimilikinya, PHP
hanya memiliki kekurangan yang sedikit. kekurangan tersebut
antara lain :
1. Tidak bisa memisahkan antara tampilan dengan logik dengan
baik (dapat diperbaiki dengan menggunakan template)[2]. 2. PHP tidak di encoding, sehingga dapat dibaca semua orang
(php dapat di encoding menggunakan software seperti IonCube
atau menggunkan tool dari Zend)[11].
3. PHP memiliki kelemahan keamanan. Programmer harus jeli
dan berhati-hati dalam melakukan pemrograman dan
Konfigurasi PHP[2].
2.8 My Structured Query Language (MySQL)
MySQL merupakan sistem manajemen database (Database
management System) SQL (Structured Query Language) yang
open-source, multithread, multi-user, dengan sekitar 6 juta
instalasi di seluruh dunia[9]. MySQL memiliki beberapa keistimewaan, antara lain :
1. Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem
operasi seperti Windows, Linux, FreeBSD, Mac Os X Server,
II-15
2. MySQL didistribusikan sebagai perangkat lunak sumber terbuka,
dibawah lisensi GPL sehingga dapat digunakan secara gratis[9]. 3. Multi-user. MySQL dapat digunakan oleh beberapa pengguna
dalam waktu yang bersamaan tanpa mengalami masalah atau
konflik[9].
4. Performance tuning, MySQL memiliki kecepatan yang
menakjubkan dalam menangani query sederhana, dengan kata lain
dapat memproses lebih banyak SQL per satuan waktu[9].
5. MySQL memiliki ragam tipe data, seperti signed atau unsigned
integer, float, double, char, text, date, timestamp, dan lain-lain[2]. 6. Perintah dan Fungsi. MySQL memiliki operator dan fungsi secara
penuh yang mendukung perintah Select dan Where dalam perintah
(query) [2].
7. MySQL memiliki beberapa lapisan keamanan seperti level
subnetmask, nama host, dan izin akses user dengan sistem
perizinan yang mendetail serta sandi terenkripsi[9].
Namun terhitung sejak PHP versi 5.5, MySQL tidak lagi
disarankan penggunaannya dan berstatus deprecated, yang berarti
akan dihapus pada PHP versi berikutnya. Sebagai gantinya programmer
disarankan mulai beralih menggunakan MySQLi[12].
Secara garis besar, tidak ada perbedaan besar antara MySQL
dengan MySQLi. Nama-nama fungsi dalam MySQLi sebagian besar
mirip dengan apa yang ada pada MYSQL, karena MySQLi sendiri
merupakan pengembangan dari MySQL, i sendiri dalam MySQLi
adalah improved yang artinya pengembangan,
MySQLi dikembangkan mulai dari MySQL versi 4.1.3[12]. Kelebihan MySQLi dibandingkan MySQL antara lain:
1. Mendukung OOP (Object Oriented Programming).
2. Mendukung Prepared Statements.
3. Mendukung Multiple Statements.
III-1 BAB III
METODOLOGI PENELITIAN
Gambar 3.1 Flowchart Penelitian
III-2
3.1 Analisa Pembuatan Aplikasi Deteksi Wajah dan Pengenalan Wajah
Aplikai deteksi wajah dan pegenalan wajah dibuat hanya untuk menguji akurasi dari pustaka perangkat kairos, secara umum terdapat tiga bagian utama yaitu bagian masukan (input), proses (process), dan keluaran (output). blok diagram sistem dapat dilihat pada Gambar 3.2.
Gambar 3.2 Blok Diagram Sistem
Dapat dilihat pada blok diagram sistem, masukan berasal dari kamera, gambar dari kamera tersebut kemudian di unggah, selanjutnya kemudian diproses oleh aplikasi dan hasil dari keluaran dari proses berupa peryataan dari sistem seperti tidak terdeteksi, terdeteksi dan dikenali.
3.2 Desain Aplikasi Deteksi Wajah dan Pengenalan Wajah
Desain dari aplikasi deteksi dan pengenalan wajah sangat sederhana dan hanya memiliki satu halaman, dimana pada halaman ini citra wajah diambil melalui webcam dan selanjutnya citra wajah diunggah, setelah diproses hasil akan diperlihatkan pada bagian terbawah aplikasi. selengkapnya dapat dilihat pada gambar 3.3.
III-3
(b) upload gambar
Gambar 3.3 Desain Aplikasi Deteksi Dan Pengenalan Wajah
3.3 Analisa Pembuatan Aplikasi Absensi Berbasis Pengenalan Wajah
Pada perancangan aplikasi absensi berbasis pengenalan wajah, secara umum terdapat tiga bagian utama yaitu bagian masukan (input), proses (process), dan keluaran (output). blok diagram sistem dapat dilihat pada gambar 3.4.
Gambar 3.4 Blok Diagram Sistem
III-4
karyawan yang sudah berupa lihat data (tabel) dan unduh data (excel). Gambaran lengkapnya dapat dilihat pada gambar 3.5.
Gambar 3.5 Sitemap Aplikasi
Aplikasi sendiri terbagi menjadi dua halaman, dimana pengaturan, pengunduhan data serta fitur latih terdapat pada halaman admin dan fitur absen wajah dan absen pilih nama berada pada halaman absen. Adapun penjelasan selengkapnya yaitu:
A. Pengaturan
Pengaturan merupakan bagian masukan dan inti dari aplikasi, karena variabel yang di masukan pada pengaturan secara langsung akan mempengaruhi jumlah gaji. Jam masuk dan jam keluar masukannya berupa angka, merepresentasikan jam masuk dan jam keluar kantor. Sedangkan gaji, lembur dan terlambat per jam, masukannya berupa angka, merepresentasikan jumlah uang yang diterima karyawan jika masuk hari ini atau lembur dan potongan jumlah uang jika terlambat.
B. Unduh data
III-5
C. Lihat data
Lihat data merupakan bagian keluaran dimana rekap data karyawan yang sudah melaksanakan absensi dapat dilihat dalam bentuk tabel.
D. Fitur Latih
Fitur latih merupakan bagian masukan dimana fitur latih digunakan untuk mengambil citra wajah karyawan yang selanjutnya citra wajah tersebut digunakan untuk absensi.
E. Fitur Absen (Wajah)
Fitur absen (wajah) merupakan bagian masukkan dimana fitur absen ini berbasis pengenalan wajah, karyawan hanya perlu menghadapkan wajah ke kamera untuk melaksanakan absensi.
F. Fitur Absen (Pilih Nama)
Fitur absen (pilih nama) merupakan bagian masukan dimana fitur absen ini berbasis pilih nama, yang hanya digunakan bila terjadi masalah pada wajah seperti wajah karyawan yang tidak terbaca dikarenakan perubahan bentuk wajah yang signifikan hasil dari kecelakaan.
3.4 Desain Aplikasi Absensi Berbasis Pengenalan Wajah
Seperti yang telah disebutkan pada poin 3.2 aplikasi memiliki dua halaman, dimana halaman absen adalah halaman utama dan halaman admin adalah halaman pengaturan.
3.4.1Halaman Absen
III-6
absen hari ini atau error message (pesan kesalahan) berupa tidak ada koneksi internet, wajah tidak ditemukan, wajah tidak terdaftar. Selengkapnya dapat dilihat pada gambar 3.6.
III-7
Sistem kerja absen pilih nama hampir sama dengan pengenalan wajah, perbedaannya hanya terletak pada masukannya, absen pilih nama masukannya berupa nama karyawan yang sudah terdaftar. Untuk desain halaman absen dapat dilihat pada gambar 3.7.
Gambar 3.7 Desain Halaman Absen
3.4.2Halaman Admin
Halaman admin terbagi dalam empat menu utama, pada halaman ini terdapat pengaturan (jam masuk, jam keluar, besaran uang gaji, uang lembur, dan potongan terlambat), unduh data (excel), lihat data (tabel) dan fitur latih citra wajah. Adapun desain selengkapnya sebagai berikut:
A. Pengaturan
Masuk dan pulang diisi dengan jam masuk dan jam pulang kantor dengan rentang waktu 00.00 - 23.00, untuk gaji per jam, lembur per jam dan terlambat per jam diisi dengan angka (nominal uang). desain pengaturan dapat dilihat pada gambar 3.8.
III-8
B. Unduh Data
Rentang data yang dapat diunduh adalah pertahun, dimana rentang tanggal dari 01 - 31, untuk bulan 01 - 12, dan tahun sampai dengan 2025. Desain unduh data dapat dilihat pada gambar 3.9.
Gambar 3.9 Desain Unduh Data
Setelah rentang data tanggal, bulan, tahun dimasukan, kemudian tombol unduh di klik maka rekap data absensi karyawan dengan rentang waktu tersebut akan terunduh. Contoh rekap data absensi karyawan dalam format microsoft excel (xlsx) dapat dilihat pada gambar 3.10.
III-9
C. Lihat Data
Seluruh data absensi karyawan dapat dilihat disini. Kolom gaji pada tabel lihat data ini berasal dari perhitungan gaji CV. Karya Mitra Utama dengan perhitungan sebagai berikut:
Gaji Perjam (GPJ) :
(Jam Keluar - Jam Masuk) × Nominal Gaji Per Jam Terlambat Perjam (TPJ) :
(Jam Masuk Karyawan - Jam Masuk) × Nominal Terlambat Per Jam Lembur Perjam (LPJ) :
(Jam Pulang Karyawan - Jam Pulang) × Nominal Lembur Per Jam Gaji Perhari :
GPJ + LPJ + TPJ
Sedangkan untuk desain lihat data dapat dilihat pada gambar 3.11.
Gambar 3.11Desain Lihat Data Absen Karyawan
Dapat dilihat pada gambar 3.11 data yang diperlihatkan 10 data, show digunakan unutk melihat jumlah data per-page,
III-10
D. Fitur Latih
Pada fitur latih terdapat frame untuk mengambil citra wajah, dimana ID karyawan, nama karyawan, dan citra wajahnya disimpan ke dalam database, tanpa adanya proses latih karyawan tidak bisa melaksanakan absensi. Selengkapnya dapat dilihat pada gambar 3.12.
Gambar 3.12Flowchart Latih
III-11
Gambar 3.13Desain Fitur Latih
Selain kondisi data karyawan, keluaran dapat juga berupa
error message atau pesan kesalahan berupa tidak ada koneksi internet, wajah tidak ditemukan dan terlalu banyak wajah.
3.5 Rancangan Database
Pada database aplikasi terdapat tiga buat tabel yaitu tabel absensi, tabel karyawan, tabel pengaturan yang berfungi untuk menyimpan data. Gambaran lengkapnya dapat dilihat pada Entity Relationship Diagram (ERD) gambar 3.14.
Gambar 3.14 Entity Relationship Diagram
Tabel pertama adalah t_absensi berfungsi untuk menyimpan data karyawan yang absen (absensi), tabel kedua adalah t_karyawan yang berfungisi untuk menyimpan data karyawan dan yang terakhir t_pengaturan berfungsi untuk menyimpan data pengaturan absensi.
3.6 Perangkat Keras
III-12
buah kamera masing-masing, digital PC camera CMET-W002, chicony 2.0 USB camera (webcam laptop), logitech c270.
Personal Computer (PC) atau komputer personal adalah laptop yang akan digunakan untuk membuat aplikasi, pemrosesan pendeteksian wajah serta pengolahan data. spesifikasi dari laptop yang akan digunakan adalah sebagai berikut:
1. Jenis Laptop : Toshiba Satelite L645 2. Sistem Operasi : Windows 7 64 Bit 3. Prosesor : Intel Core i3 m 350 4. Memori : 2GB DDR2
5. LCD : 13.3 inchi (Resolusi 1366 x 768)
Sedangkan kamera digunakan untuk mengambil citra wajah, yang mana pada uji coba aplikasi akan menggunakan tiga buah kamera. sedangkan untuk absensi menggunakan chicony 2.0 USB camera (webcam laptop). Spesifikasi masing-masing adalah sebagai berikut:
Tabel 3.1. Spesifikasi Masing-masing Kamera
Kamera CMET-W002 Chicony 2.0 C270
Foto (min) 3.0 MP 2.0 MP 3.0 MP Resolusi 640×480 640×480 640×480 Pengambilan
Perangkat lunak yang akan digunakan dalam membuat aplikasi adalah bahasa pemograman PHP, database management system (DBMS) MySQL dan pustaka perangkat lunak kairos.
3.8 Pengujian Aplikasi
Pengujian aplikasi dilakukan dengan berbagai percobaan untuk membuktikan sistem ini bekerja sesuai dengan tujuan perancangan dan juga sesuai dengan yang diharapkan.
III-13
menggunakan aplikasi deteksi dan pengenalan wajah melalui beberapa proses pengolahan citra untuk dapat mengenali citra yang ada dalam database sesuai dengan tujuan perancangan. Pengujian yang akan dilakukan adalah:
1. Citra wajah dan citra bukan wajah. 2. Citra wajah terdaftar dan tidak terdaftar. 3. Citra wajah identik sama.
4. Citra wajah menggunakan aksesoris. 5. Pengenalan multi citra wajah.
Sedangkan untuk ketentuan pengujian adalah sebagai berikut: 1. Wajah menghadap kamera dengan jarak ± 45 cm, dengan
kemiringan maksimal 15 derajat kekiri dan kekanan.
2. Pencahayaan saat penyimpanan dan pengenalan wajah dalam kondisi cukup, tidak kurang dan juga tidak berlebih.
3. Hasil yang dicatat berupa hasil pengujian (terdeteksi atau tidak) dan kecepatan pendeteksian, khusus untuk pengujian aplikasi waktu serta tanggal juga dicatat.
4. Citra latih yang digunakan sebanyak 6 citra untuk setiap orang. Penggunaan 6 citra latih didasari oleh kemampuan pengenalan wajah kairos akan bekerja maksimal jika menggunakan 6 – 8 citra latih dan minimal menggunakan 1 citra latih[11].
5. Bandwith internet yang digunakan dalam pengujian sebesar 30Mbps
3.9 Implementasi Aplikasi
IV-1 BAB IV
PENGUMPULAN DAN PENGOLAHAN DATA
4.1 Pengumpulan Data
Setelah mengumpulkan referensi baik dari buku, maupun sumber-sumber informasi yang berhubungan dengan sistem absensi pengenalan wajah (perangkat keras maupun perangkat lunak) yang akan dibuat. Kemudian dibuat aplikasi deteksi dan pengenalan wajah yang digunakan untuk menguji uji akurasi aplikasi. Ketentuan pengumpulan pengujian akurasi aplikasi adalah sebagai berikut:
1. Citra wajah dan bukan wajah
Pengumpulan data untuk pengujian citra wajah dan citra bukan wajah menggunakan tiga buah citra wajah dan menggunakan tiga buah citra bukan wajah, kesemua citra tidak melalui proses latih.
2. Citra wajah terdaftar dan tidak terdaftar
Pengumpulan data untuk pengujian citra wajah terdaftar dan tidak terdaftar menggunakan tiga buah citra wajah yang telah melalui proses latih dan tiga buah citra wajah yang tidak melalui proses latih.
3. Citra wajah identik sama.
Pengumpulan data untuk pengujian citra wajah identik sama menggunakan dua buah citra wajah yang telah melalui proses latih dan dua buah citra wajah yang tidak melalui proses latih.
4. Citra wajah menggunakan aksesoris.
Pengumpulan data untuk pengujian citra wajah aksesoris, dimana citra yang telah melalui proses latih, kemudian pada proses pengenalan wajah, citra tersebut menggunakan aksesoris berupa masker, helm, topi dan kacamata.
IV-2
Pengumpulan data untuk pengujian pendeteksian multi wajah menggunakan tiga buah citra wajah yang telah melalui proses latih, kemudian ketiga buah citra wajah tersebut melaksanakan proses pengenalan wajah secara bersamaan.
Setelah pengujian akurasi deteksi dan pengenalan wajah dilaksanakan, Aplikasi absensi berbasis pengenalan wajah kemudian dibuat yang untuk selanjutnya diimplementasikan di CV. Karya Mitra Utama dimana, lima karyawan akan melaksanakan absensi menggunakan aplikasi absensi berbasis pengenalan wajah selama satu minggu kerja (6 hari).
4.2 Pengolahan Data
Pengolahan data secara garis besar terbagi dua yaitu pengolahan data hasil dari uji akurasi aplikasi. Dimana hasil dari uji akurasi akan menentukan dan bagaimana implementasi dari pengolahan data yang selanjutnya yaitu pengolahan aplikasi absensi berbasis pengenalan wajah.
4.2.1 Pengolahan Data Uji Akurasi Aplikasi
Pengolahan data untuk uji akurasi aplikasi secara garis besar terbagi menjadi dua bagian yaitu pengenalan wajah dan latih wajah. \
Pada proses pengenalan wajah citra diunggah dan kemudian diproses dengan keluaran hasil sukses berupa terdeteksi dan dikenali serta hasil salah berupa tidak terdeteksi (tidak ada citra wajah pada gambar). Seluruh bentuk keluaran masih berupa skrip, namun terdapat indikator pada bagian-bagian tertentu untuk mengetahui hasilnya.
IV-3
Gambar 4.1. Terdeteksi
Dapat dilihat pada gambar 4.1 Indikator yang menunjukan terdeteksi wajah pada citra terdapat pada bagian “status”,”failure”
yang artinya pengenalan proses gagal dan “message”,“no match found” yang tidak ada wajah yang cocok.
Sedangkan dikenali berarti ada wajah dalam aplikasi dan pemilik wajah dikenali oleh sistem. Indikator yang menunjukan wajah dikenali ada bagian “status”,”succes” yang artinya proses pengenalan wajah sukses. Keluaran dari proses aplikasi dapat dilihat pada gambar 4.2.
Gambar 4.2. Dikenali
Dapat dilihat gambar 4.2. pada bagian “subject_id”, “faisal2”
artinya wajah dikenali sebagai subject_id faisal2. Subject_id
merupakan nomor unik yang diberikan pada setiap wajah sebagai pembeda dengan wajah lainnya. Singkatnya subject_id pada aplikasi sama fungsinya dengan plat nomor pada mobil atau nomor KTP pada KTP.
IV-4
nilai keyakinan sistem terhadap wajah yang dikenali, semakin besar nilai maka sistem semakin yakin dengan rentang dari 0 hingga 1.
Tidak terdeteksi artinya tidak ada wajah pada citra. Indikator yang menunjukan citra wajah tidak terdeteksi ada pada bagian no faces found in the image yang artinya tidak ada wajah pada gambar. Keluaran dari proses aplikasi dapat dilihat pada gambar 4.3.
Gambar 4.3. Tidak Terdeteksi
Setelah citra diuji, hasil pengujian tersebut dicatat dalam format tabel seperti digambarkan pada gambar 4.4.
Citra
Tipe Kamera Deteksi Waktu Hasil
Chicony 2.0
CMET-W002
C270
Gambar 4.4. Gambar Format Tabel Hasil Pengujian
Pada proses latih wajah citra diunggah bersama dengan subject_id
dari wajah kemudian diproses dengan keluaran hasil benar berupa terdeteksi dan citra akan langsung dimasukan ke database serta hasil salah berupa tidak terdeteksi (tidak ada citra wajah pada gambar) dan terlalu banyak citra wajah pada gambar. Seluruh bentuk keluaran masih berupa skrip, namun terdapat indikator pada bagian-bagian tertentu untuk mengetahui hasilnya.
IV-5
Gambar 4.5. Terdeteksi
Dapat dilihat pada gambar 4.5 pada proses latih wajah pada bagian
subject_id terdapat “hamdan4” yang artinya wajah pada gambar 4.5 diberi subject_id hamdan4.
Tidak terdeteksi pada latih wajah sama dengan proses pengenalan wajah. Sehingga Indikator yang meunjukan juga sama yaitu pada bagian “message”, “no faces found in the image” yang artinya tidak ada wajah pada gambar. Keluaran dari proses aplikasi dapat dilihat pada gambar 4.6.
Gambar 4.6. Tidak Terdeteksi
IV-6
Gambar 4.7. Terlalu Banyak Wajah
Setelah citra diuji, hasil pengujian tersebut dicatat dalam format tabel. Seperti yang telah dijelaskan pada bab 3 bahwa citra latih yang digunakan adalah enam buah, yang artinya dua untuk setiap kamera seperti digambarkan pada gambar 4.8.
Foto
Tipe Kamera Latih Waktu Latih Waktu
Chicony 2.0
CMET-W002
C270
Gambar 4.8. Gambar Format Tabel Hasil Pengujian
Wajah tidak temukan dan terlalu banyak wajah pada satu gambar merupakan error message atau pesan kesalahan yang berarti proses pengenalan, deteksi atau latih mengalami kendala sehingga tidak dapat memberikan hasil yang diinginkan.
Dapat dilihat pada gambar 4.3, gambar 4.6 dan gambar 4.7 bahwa setiap pesan kesalahan diawali dengan “errors” dilanjutkan dengan pesan kesalahan dan kode kesalahannya. Selain dari pesan kesalahan yang telah isebukan ada beberapa pesan kesalahan lain yang terdapat pada aplikasi. Kesalahan tersebut merupakan kesalahan yang jarang terjadi seperti pemeliharan server (maintenance server), terdapat karakter khusus pada id, nama id terlalu panjang, dan lain-lain. Selengkapnya dapat dilihat pada tabel 4.1
Tabel 4.1 Kairos Error Message
No Kode
Kesalahan Pesan Kesalahan Keterangan
1 1000 invalid characters found
in parameters
Terdapat karakter yang
dilarang pada subject_id
(contoh : /.,!@#$%^&, dll)
IV-7
subject_id terlalu panjang
3 3001 API temporarily
unavailable
API sedang mengalami
pemeliharan server
(maintenance server)
4 5000
an invalid image was sent must be jpg or png format
Gambar yang dikirim harus berformat PNG atau JPG
5 5002 no faces found in the
image
Tidak terdapat wajah pada gambar
6 5005
face that was detected is corrupt and cannot be processed
Wajah yang terdeteksi setelah diteliti kembali ternyata bukan wajah
7 5010 too many faces in image Terlalu banyak wajah pada
gambar (latih wajah)
Sumber : https://www.kairos.com/docs/api/error-codes, selengkapnya dapat dilihat
pada lampiran
Lain halnya dengan masalah koneksi internet, pada kasus tidak ada koneksi internet atau koneksi internet terlalu kecil aplikasi tidak akan memberikan hasil apapun (sukses maupun pesan kesalahan). Sehingga indikator yang menunjukan koneksi internet tidak ada atau koneksi internet terlalu kecil adalah kosong. seperti diperlihatkan gambar 4.9.
Gambar 4.9. Tidak Ada Koneksi Internet
4.2.2 Pengolahan Data Implementasi Aplikasi Sistem Absensi Berbasis
Pengenalan Wajah
Sama seperti uji akurasi pengolahan data pada implementasi aplikasi sistem absensi berbasis pengenalan wajah secara garis besar terbagi menjadi dua bagian yaitu pengenalan wajah dan latih wajah.
Pengolahan data pada bagian ini tidak serumit pada uji akurasi, karena keluaran tidak lagi berupa skrip, melainkan sudah berupa pesan yang mewakili hasil proses dari pengenalan maupun latih wajah aplikasi.
IV-8
diproses dengan hasil keluaran berupa hasil sukses dan hasil gagal. Lebih jelasnya dapat dilihat pada gambar 4.10
Gambar 4.10. Pengenalan Wajah Pada Implementasi Sistem
Dapat dilihat pada gambar 4.10 bahwa keluaran yang diberikan yaitu “terjadi kesalahan koneksi internet bermasalah silakan coba kembali”. Keluaran selengkapnya dapat dilihat pada tabel 4.2.
Tabel 4.2 Keluaran Pada Proses Pengenalan Wajah
No Keluaran Hasil Sukses Keluaran Hasil Gagal
1 Selamat datang (nama) Tidak ada Koneksi Internet
2 Selamat pulang (nama) Wajah Tidak ditemukan
3 Anda sudah melaksanakan absen hari ini Wajah Tidak Terdaftar
Pada gambar 4.10 juga terdapat “status” yang merupakan status proses penganalan wajah, dimana “ok” berarti aplikasi sudah siap presensi wajah bisa dilaksanakan, dan “harap tunggu” berarti aplikasi sedang memproses presensi wajah dan presenti tidak dapat dilakukan.
Untuk pesan kesalahan (error message) selain dari yang terdapat pada tabel seperti maintenance server aplikasi memiliki pesan default
yaitu “terjadi kesalahan silahkan coba kembali”.
IV-9
Gambar 4.11. Latih Wajah Pada Implementasi Sistem
Dapat dilihat pada gambar 4.10 bahwa keluaran yang diberikan yaitu “terjadi kesalahan koneksi internet bermasalah silakan coba kembali”. Keluaran selengkapnya dapat dilihat pada tabel 4.3.
Tabel 4.3 Keluaran Pada Proses Latih Wajah No Keluaran Hasil Sukses Keluaran Hasil Gagal
1 Data karyawan berhasil
ditambahkan Tidak ada Koneksi Internet
2 Data latih berhasil
ditambahkan Wajah Tidak ditemukan
3 Terlalu Banyak Wajah dalam
satu gambar
Untuk pesan kesalahan (error message) selain dari yang terdapat pada tabel seperti maintenance server aplikasi memiliki pesan default
yaitu “terjadi kesalahan silahkan coba kembali”.
Hasil implementasi tersebut kemudian dicatat dalam format tabel seperti digambarkan pada gambar 4.12.
Foto
Gambar 4.12. Gambar Format Tabel Hasil Pengujian
Dengan penjelasan sebagai berikut: 1. Foto diisi dengan foto karyawan
IV-10
3. pengenalan (masuk), lama waktu absen masuk kerja 4. pengenalan (pulang), lama waktu absen pulang kerja 5. tanggal, tanggal dilaksanaknnya absensi
V-1
BAB V
ANALISIS DAN PEMBAHASAN
5.1 Pengujian Akurasi Aplikasi
Pada pengujian ini akan menjelaskan bagaimana proses pengujain akurasi aplikasi pengenalan wajah mulai dari proses latih sampai dengan proses pengenalan wajah. Pengujian akan dilakukan dengan berbagai percobaan untuk membuktikan sistem ini bekerja sesuai dengan tujuan perancangan dan sesuai dengan yang diharapkan. Berikut adalah beberapa pengujian yang akan dilakukan untuk mendapatkan data-data hasil pengujiannya antara lain:
1. Citra wajah dan bukan wajah.
2. Citra wajah terdaftar dan tidak terdaftar. 3. Citra wajah identik sama.
4. Citra wajah menggunakan aksesoris. 5. Pengenalan multi citra wajah.
5.1.1 Citra Wajah Dan Bukan Wajah
Pengujian ini menggunakan tiga buah citra wajah dan tiga buah citra bukan wajah, kesemua citra tidak melalui proses latih. Sampel dari pengujian dapat dilihat pada tabel 5.1
Tabel 5.1 Sampel Citra Wajah dan Bukan Wajah
No Citra wajah Citra bukan wajah
1
V-2
No Citra wajah Citra bukan wajah
2
Hamdan Meja
3
Ian Rerumputan
Sedangkan hasil dari pengujian dapat dilihat pada tabel 5.2. Tabel 5.2 Hasil Pengujian Citra Wajah dan Bukan Wajah
No Nama Tipe Kamera Deteksi Waktu Hasil
1 Faisal
Chicony 2.0 8 detik Terdeteksi
CMET-W002 22 detik Terdeteksi
C270 5 detik Terdeteksi
2 Hamdan
Chicony 2.0 14 detik Terdeteksi
CMET-W002 12 detik Terdeteksi
C270 6 detik Terdeteksi
3 Ian
Chicony 2.0 12 detik Terdeteksi
CMET-W002 13 detik Terdeteksi
C270 7 detik Terdeteksi
4 Jalan
Chicony 2.0 10 detik Tidak terdeteksi
CMET-W002 9 detik Tidak terdeteksi
C270 7 detik Tidak terdeteksi
5 Meja
Chicony 2.0 10 detik Tidak terdeteksi
CMET-W002 11 detik Tidak terdeteksi
C270 8 detik Tidak terdeteksi
6 Rerumputan
Chicony 2.0 11 detik Tidak terdeteksi
CMET-W002 8 detik Tidak terdeteksi
V-3
Dari hasil pengujian pengenalan citra wajah dan citra bukan wajah dapat dilihat hasilnya bahwa seluruh citra wajah (9 citra ) terdeteksi dan seluruh citra bukan wajah (9 citra) tidak terdeteksi. Waktu total yang digunakan selama pengujian untuk pengenalan wajah (18 citra) adalah 182 detik.
5.1.2 Citra Wajah Terdaftar Dan Tidak Terdaftar
Pengujian ini menggunakan tiga buah citra wajah terdaftar atau sudah melalui proses latih wajah dan tiga buah citra wajah tidak terdaftar atau tidak melalui proses latih wajah. Sampel dari pengujian dapat dilihat pada tabel 5.3.
Tabel 5.3 Sampel Citra Wajah Terdaftar dan Tidak Terdaftar No Citra wajah terdaftar Citra wajah tidak terdaftar
1
Faisal Umar
2
Hamdan Suryo
3
V-4
Hasil dari pengujian (latih wajah) dapat dilihat pada tabel 5.4. Tabel 5.4 Hasil Latih Citra Wajah Terdaftar
No Nama Tipe Kamera Latih Waktu Latih Waktu
Total waktu pengujian 159 detik
Sedangkan hasil dari pengujian (pengenalan wajah) dapat dilihat pada tabel 5.5.
Tabel 5.5 Hasil Pengenalan Citra Wajah Terdaftar dan Tidak Terdaftar No Nama Tipe Kamera Deteksi Waktu Hasil
1 Faisal
Chicony 2.0 9 detik Dikenali
CMET-W002 10 detik Dikenali
C270 3 detik Dikenali
2 Hamdan
Chicony 2.0 10 detik Dikenali
CMET-W002 10 detik Dikenali
C270 4 detik Dikenali
3 Ian
Chicony 2.0 14 detik Dikenali
CMET-W002 13 detik Dikenali
C270 5 detik Dikenali
4 Umar
Chicony 2.0 13 detik Terdeteksi
CMET-W002 11 detik Terdeteksi
C270 4 detik Terdeteksi
5 Suryo
Chicony 2.0 13 detik Tidak Terdeteksi
CMET-W002 10 detik Terdeteksi
C270 4 detik Terdeteksi
6 Vega
Chicony 2.0 14 detik Terdeteksi
CMET-W002 12 detik Terdeteksi
C270 5 detik Terdeteksi
V-5
Dari hasil pengujian pengenalan citra wajah terdaftar dan citra wajah tidak terdaftar dapat dilihat hasilnya bahwa semua citra wajah terdaftar (9 citra) dikenali sedangkan untuk citra tidak terdaftar, 8 citra terdeteksi dan 1 citra tidak terdeteksi. Waktu total yang digunakan selama pengujian (32 citra) adalah 323 detik (latih wajah 18 citra 159 detik, pengenalan wajah 18 citra 164 detik).
5.1.3 Citra Wajah Identik Sama
Pengujian ini menggunakan dua buah citra wajah yang telah melalui proses latih dan dua buah citra wajah yang tidak melalui proses latih. Sampel dari pengujian dapat dilihat pada tabel 5.6.
Tabel 5.6 Sampel Citra Wajah Identik Sama
No Citra wajah terdaftar Citra wajah tidak terdaftar
1
Fazila Fatya
Hasil dari pengujian (latih wajah) dapat dilihat pada tabel 5.7. Tabel 5.7 Hasil Latih Citra Wajah Identik Sama
No Nama Tipe Kamera Latih Waktu Latih Waktu
1 Fazila
Chicony 2.0 16 detik 17 detik
CMET-W002 10 detik 11 detik
C270 2 detik 3 detik
2 Fatya
Chicony 2.0 15 detik 16 detik
CMET-W002 13 detik 12 detik
C270 2 detik 2 detik