• Tidak ada hasil yang ditemukan

PERANCANGAN DAN IMPLEMENTASI SISTEM ABSE

N/A
N/A
Protected

Academic year: 2018

Membagikan "PERANCANGAN DAN IMPLEMENTASI SISTEM ABSE"

Copied!
134
0
0

Teks penuh

(1)

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

(2)

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.

(3)

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.

(4)

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.

(5)

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 kecuali

orang-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,

(6)

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

(7)

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

(8)

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

(9)

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

(10)

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

(11)

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

(12)

vi

(13)

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

(14)

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

(15)

ix

DAFTAR LAMPIRAN

1 Profil Perusahaan 2 API Kairos

3 Kode Sumber Program 4 Dokumentasi

(16)

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.

(17)

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.

(18)

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

(19)

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

(20)

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

(21)

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

(22)

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

(23)

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

(24)

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.

(25)

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

(26)

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

(27)

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.

(28)

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.

(29)

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

(30)

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

(31)

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

(32)

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,

(33)

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,

(34)

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.

(35)

III-1 BAB III

METODOLOGI PENELITIAN

Gambar 3.1 Flowchart Penelitian

(36)

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.

(37)

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

(38)

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

(39)

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

(40)

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.

(41)

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.

(42)

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.

(43)

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,

(44)

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

(45)

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

(46)

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.

(47)

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

(48)

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.

(49)

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.

(50)

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.

(51)

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.

(52)

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

(53)

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)

(54)

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.

(55)

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”.

(56)

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

(57)

IV-10

3. pengenalan (masuk), lama waktu absen masuk kerja 4. pengenalan (pulang), lama waktu absen pulang kerja 5. tanggal, tanggal dilaksanaknnya absensi

(58)

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

(59)

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

(60)

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

(61)

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

(62)

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

Gambar

Gambar 2.2. Proses Tahapan (a) Pelatihan Wajah (b) Pengenalan Wajah[10]
Gambar 2.3. Flowchart Algoritma Eigenface[1]
Gambar 2.8. Perhitungan Nilai Eigenface Untuk Testface[7]
Gambar 2.11. Sistem Kerja Kairos
+7

Referensi

Dokumen terkait

    Penelitian  ini  dilaksanakan  di  SLB  Kabupaten  Jember  pada  semester  ganjil  tahun  2008/2009.  Kepada  anak  tunanetra  yang  merupakan  siswa  SLB 

Nurshanti (2011) menyatakan bahwa penyinaran matahari mempengaruhi pertumbuhan, re- produksi dan hasil tanaman melalui proses fotosintesis, sehingga apabila intensitas

Menurut hasil penelitian Rihana dkk (2013), bahwa perlakuan pupuk kotoran kambing berpengaruh terhadap panjang tanaman, jumlah daun, bobot kering total tanaman,

Menimbang : bahwa untuk melaksanakan ketentuan Pasal 5 Undang- Undang Nomor 35 Tahun 2007 tentang Pembentukan Kabupaten Kubu Raya di Provinsi Kalimantan Barat,

Masukan limbah yang berasal dari aktivitas manusia (antropogenik) dikhawatirkan mengandung logam berat yang secara langsung maupun tidak langsung akan masuk ke perairan

Metode penalaran yang digunakan dalam sistem adalah penalaran pelacakan maju (Forward Chaining) yaitu dimulai dari sekumpulan fakta – fakta tentang suatu gejala yang

• MOMOGI, sebagai snack / makanan ringan memiliki bentuk yang unik (tube) dan rasa yang tidak kalah dengan pesaingn lainnya. • MOMOGI yang dikenal dengan snack yang berbentuk tube

Berdasarkan hasil penelitian dan pembahasan, dapat ditarik beberapa kesimpulan. 1) Perubahan genetik yang terjadi dalam suatu perkawinan antar ras dapat diidentifikasi