Penerapan Face Recognition untuk pemerolehan identitas mahasiswa Universitas Sanata Dharma menggunakan metode Eigenface dan Euclidean Distance

(1)

PENERAPAN

FACE RECOGNITION

UNTUK

PEMEROLEHAN IDENTITAS MAHASISWA UNIVERSITAS

SANATA DHARMA MENGGUNAKAN METODE

EIGENFACE

DAN

EUCLIDEAN DISTANCE

SKRIPSI

Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer

Program Studi Teknik Informatika

Oleh :

Jonathan Darmawan Hartanto 135314006

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA


(2)

ii

THE APPLICATION OF FACE RECOGNITION FOR

ATTAINMENT THE STUDENTS’ IDENTITIES OF

SANATA DHARMA UNIVERSITY BY USING EIGENFACE

AND EUCLIDEAN DISTANCE METHOD

A THESIS

Presented as Partial Fulfillment of the Requirements for the Degree of Sarjana Komputer in Department of Informatics Engineering

Written by :

Jonathan Darmawan Hartanto 135314006

INFORMATICS ENGINEERING STUDY PROGRAM

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA


(3)

iii

HALAMAN PERSETUJUAN

SKRIPSI

PENERAPAN FACE RECOGNITION UNTUK PEMEROLEHAN IDENTITAS MAHASISWA UNIVERSITAS SANATA DHARMA MENGGUNAKAN METODE EIGENFACE DAN EUCLIDEAN DISTANCE

Oleh :

Jonathan Darmawan Hartanto

135314006

Telah Disetujui Oleh :

Pembimbing


(4)

iv

HALAMAN PENGESAHAN

SKRIPSI

PENERAPAN FACE RECOGNITION UNTUK PEMEROLEHAN IDENTITAS MAHASISWA UNIVERSITAS SANATA DHARMA MENGGUNAKAN METODE EIGENFACE DAN EUCLIDEAN DISTANCE

Dipersiapkan dan disusun oleh :

Jonathan Darmawan Hartanto

NIM : 135314006

Telah dipertahankan di depan Tim Penguji pada tanggal 12 Juni 2017

dan dinyatakan memenuhi syarat Susunan Panitia Penguji :

Nama Lengkap Tanda Tangan Ketua : Eko Hari Parmadi, S.Si., M.Kom. ... Sekretaris : Puspaningtyas Sanjoyo Adi, S.T., M.T. ... Anggota : Dr. Anastasia Rita Widiarti ...

Yogyakarta,

Fakultas Sains dan Teknologi Universitas Sanata Dharma Dekan


(5)

v

HALAMAN PERSEMBAHAN

Segala perkara dapat kutanggung di dalam Dia yang memberikan kekuatan kepadaku. Kerjakanlah bagianmu dengan maksimal, dan serahkanlah semuanya kepada Tuhan, Ia akan mengerjakan bagian-Nya untukmu. Percaya saja di dalam Tuhan dan Janganlah bimbang. Bukan karna kekuatanku, melainkan karna penyertaan dan perlindungan Tuhan. God is good all the time.

Kupersembahkan untuk : Tuhan Yesus Kristus

Papaku Thomas Andry Agus dan Mamaku Ivoney Serta Keluarga Besarku


(6)

vi

PERNYATAAN KEASLIAN KARYA

Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka sebagaimana layaknya karya ilmiah.

Yogyakarta, 15 Mei 2017 Penulis


(7)

vii

LEMBAR PERNYATAAN PERSETUJUAN

PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN

AKADEMIS

Yang bertanda tangan dibawah ini, saya mahasiswa Universitas Sanata Dharma :

Nama : Jonathan Darmawan Hartanto NIM : 135314006

Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma karya ilmiah yang berjudul :

PENERAPAN FACE RECOGNITION UNTUK PEMEROLEHAN IDENTITAS MAHASISWA UNIVERSITAS SANATA DHARMA MENGGUNAKAN METODE EIGENFACE DAN EUCLIDEAN DISTANCE

Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya dalam bentuk pangkalan data, mendistribusikan secara terbatas, dan mempublikasikannya di internet atau media lain untuk kepentingan akademis tanpa perlu meminta izin dari saya maupun memberikan royalty kepada saya selama tetap mencantumkan nama saya sebagai penulis.

Demikian pernyataan ini saya buat dengan sebenarnya.

Yogyakarta, 15 Mei 2017 Yang menyatakan


(8)

viii

ABSTRAK

Wajah merupakan bagian dari tubuh manusia yang sangat penting, karena dalam wajah manusia terdapat 4 indera. Wajah memberikan suatu pengetahuan atau informasi tentang identitas dari pemilik wajah tersebut. Dewasa ini, jumlah mahasiswa dalam setiap Universitas terus meningkat. Setiap Universitas perlu mempunyai data identitas dari seluruh mahasiswanya seperti nama lengkap dan nomor induk mahasiswa (NIM). Civitas akademika dalam suatu Universitas diharapkan untuk saling mengenal satu sama lain. Pengenalan identitas satu sama lain dalam suatu Universitas sangatlah penting, sehingga dapat terjalin hubungan yang baik dan terciptanya sistem yang baik dalam Universitas.

Dalam penelitian ini akan dibagun sebuah sistem pengenalan wajah mahasiswa, sehingga antar civitas akademika dalam suatu Universitas dapat mengenal identitas mahasiswa satu sama lain melalui foto wajahnya. Sistem pengenalan wajah ini, dapat menjadi sebuah teknologi baru yang bermanfaat bagi Universitas kedepannya. Contohnya, sistem pengenalan wajah ini dapat digunakan sebagai sistem untuk presensi kuliah, sistem kegiatan Universitas, sistem kegiatan mahasiswa, dan lain-lain. Penelitian ini menerapkan metode Eigenface untuk pencarian ciri wajah mahasiswa, serta Euclidean Distance yang digunakan untuk mencari jarak atau kemiripan satu citra dengan yang lain berdasarkan nilai-nilai ciri. Pada penelitian ini, dilakukan beberapa pengujian menggunakan 3 data berbeda. Data pertama memiliki 11 citra wajah tiap mahasiswa sehingga totalnya 275 citra, Data kedua memiliki 450 citra, dengan tiap mahasiswanya memiliki 18 citra, Data ketiga yaitu data uji tunggal baru sebanyak 25 citra. Penelitian ini menggunakan 3-fold cross validation untuk pembagian data training dan testing. Pada pengujian menggunakan data pertama didapatkan hasil akurasi tertinggi sebesar 69 % pada kombinasi Set kedua. Pada pengujian menggunakan data kedua memperoleh akurasi tertinggi sebesar 87.3333 % dengan kombinasi Set kedua. Pada pengujian data baru tunggal memperoleh akurasi sebesar 28 %. Sehingga dapat disimpulkan bahwa, sistem dapat mengenali wajah mahasiswa dengan baik ketika menggunakan data kedua dan memperoleh akurasi sebesar 87.3333 %.


(9)

ix

ABSTRACT

Face is the important part of the human body, because in the human face there are four senses. Face gives a knowledge or information about identity of the owner. Today, the number of students in every University increase continuously. Every University requires data of all students’ identities such as full name and student ID number. An academic community in every University is expected to know each other. Identify each other in an University is very important, to build good relationship and good system in University.

In this research, it will build a face recognition system of students, so academic community in an University can know each other students’ identities through the facial photo. This face recognition system can be a useful technology for the future of University. For example, this face recognition system can be used as a students attendance system, University activity system, students activity system, and much more. This study uses Eigenface method for feature extraction of students’ faces and Euclidean Distance to find distance or similarity of one image with other image based on features value.

In this research, several tests were performed using three different data. The first data has 11 images for each student, so the first data has 275 images in total. The second data has 450 images, with each student has 18 images. The third data is new single data of 25 images. This research uses 3-fold cross validation for training and testing data distribution. In testing that uses first data, obtained the highest accuracy of 69 % in the second combination. In the test using second data obtained the highest accuracy of 87.3333 % with the second combination. In testing using new single data obtained highest accuracy of 28 %. So, it can be conclude that the system can recognize the students face well when using the second data and obtained 87.3333 % of accuracy.


(10)

x

KATA PENGANTAR

Puji syukur dan terima kasih kepada Tuhan Yesus Kristus, yang telah menyertai, melindungi, dan senantiasa memberi kekuatan serta berkat dalam proses pengerjaan skripsi yang berjudul “Penerapan Face Recognition untuk Pemerolehan Identitas Mahasiswa Universitas Sanata Dharma menggunakan metode Eigenface dan Euclidean Distance” hingga selesai.

Dalam menyelesaikan skripsi ini penulis mendapat bantuan, bimbingan, dan arahan dari berbagai pihak. Oleh karena itu penulis mengucapkan terima kasih banyak kepada :

1. Tuhan Yesus Kristus yang selalu menyertai dan memberi kekuatan dalam proses pengerjaan skripsi ini.

2. Kedua orangtuaku tercinta, Papa Thomas Andry Agus dan Mama Ivoney yang senantiasa memberikan kasih, perhatian, doa, semangat, dan menyediakan segala keperluan penulis dari awal perkuliahan hingga penyelesaian skripsi ini. 3. Keluarga besar serta adik-adikku tercinta, Agatha Graciela Intania, Benedictus Reynaldo Hartanto, Irene Jeanne Intania, Ferdinand Orlando Hartanto yang telah memberikan semangat, motivasi, serta dukungan doa selama ini.

4. Ibu Dr. Anastasia Rita Widiarti selaku Dosen Pembimbing saya yang telah meluangkan waktunya untuk memberikan arahan, bimbingan, dorongan, serta semangat dalam proses pengerjaan skripsi hingga selesai.

5. Dosen-dosen Teknik Informatika Universitas Sanata Dharma yang telah memberikan ilmu, motivasi, arahan, serta semangat selama penulis berkuliah hingga sekarang.

6. Teman-teman penulis mahasiswa Teknik Informatika Universitas Sanata Dharma angkatan 2013, Fendi, Yeremia, Rusdi, Putra, Damian, Indra, Sonny, Arka, Medi, Martin, Enggal, Komang, Adit, Fanny, Ekky, Tanto, Vino, Chris, Baptista, Yosep, Hendra, Yosia, Tommy, Raymond, dan Andre, yang telah bersedia meluangkan waktunya menjadi responden dalam pengambilan foto atau pengumpulan data yang digunakan dalam penelitian.


(11)

xi

7. Biro-biro dalam Universitas Sanata Dharma, khususnya Biro Administrasi Perencanaan dan Sistem Informasi (BAPSI) yang telah bersedia memberikan data identitas mahasiswa Teknik Informatika Universitas Sanata Dharma angkatan 2013.

8. Sahabat-sahabat penulis, Tommy Nugraha Manoppo dan Andi Setianto yang memberikan semangat dan telah meluangkan waktu bersama penulis untuk mengerjakan skripsi bersama, bermain, berbagi, bercerita, dan belajar bersama selama ini.

9. Teman-teman seperjuangan penulis, Kautsar Rusydi R, Theodora Ratri Dewanti, Aloysius Tanto, Kasih Handoyo, Purbarini Sulysthian, serta mahasiswa Teknik Informatika Universitas Sanata Dharma angkatan 2013 yang tidak dapat penulis sebutkan satu persatu.

10.Semua pihak yang telah membantu proses penyelesaian skripsi ini, yang tidak dapat penulis sebutkan satu persatu.

Yogyakarta, 15 Mei 2017 Penulis


(12)

xii

DAFTAR ISI

HALAMAN JUDUL ... i

HALAMAN JUDUL (ENGLISH) ... ii

HALAMAN PERSETUJUAN ...iii

HALAMAN PENGESAHAN ... iv

HALAMAN PERSEMBAHAN ... v

PERNYATAAN KEASLIAN KARYA ... vi

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI ... vii

ABSTRAK ... viii

ABSTRACT ... ix

KATA PENGANTAR... x

DAFTAR ISI ... xii

DAFTAR GAMBAR ... xv

DAFTAR TABEL ... xvi

BAB I : PENDAHULUAN ... 1

1.1. Latar Belakang ... 1

1.2. Rumusan Masalah ... 5

1.3. Tujuan Penelitian ... 5

1.4. Manfaat Penelitian... 5

1.5. Batasan Masalah ... 6

1.6. Metodologi Penelitian ... 6

1.7.Sistematika Penulisan ... 7

BAB II : LANDASAN TEORI ... 8

2.1. Pengenalan Wajah ... 8

2.2. Metode Eigenface... 9

2.2.1. Proses Perhitungan Eigenface ... 10

2.2.2. Contoh Perhitungan Eigenface ... 13

2.3. Euclidean Distance ... 25

2.3.1. Contoh Perhitungan Euclidean Distance ... 26

2.3.2. Contoh Pengujian ... 27

BAB III : METODOLOGI PENELITIAN ... 30

3.1. Analisis Data ... 30


(13)

xiii

3.1.2. Metode Pengumpulan Data ... 31

3.1.3. Pembagian Data ... 32

3.2. Analisis Sistem ... 33

3.2.1. Preprocessing ... 34

3.2.2. Feature Extraction ... 35

Pseudo-code Metode Eigenface ... 38

3.2.3. Proses Pengujian ... 39

Pseudo-code Pengujian ... 49

3.2.4. Output ... 49

3.2.5. Akurasi ... 50

3.3. Desain User Interface ... 51

3.4. Spesifikasi Software dan Hardware ... 52

BAB IV : IMPLEMENTASI & ANALISIS HASIL ... 53

4.1. Implementasi Pelatihan Data ... 53

4.1.1. Data Awal ... 53

4.1.2. Implementasi Preprocessing ... 53

4.1.3. Implementasi Feature Extraction ... 59

4.2. Implementasi Pengujian Data ... 62

4.3. Hasil Pengujian ... 64

4.3.1. Hasil Pengujian Data Pertama ... 64

4.3.1.1. Hasil Pengujian Set 1 ... 65

4.3.1.2. Hasil Pengujian Set 2 ... 73

4.3.1.3. Hasil Pengujian Set 3 ... 83

4.3.2. Hasil Pengujian Data Kedua ... 93

4.3.2.1. Hasil Pengujian Set 1 ... 94

4.3.2.2. Hasil Pengujian Set 2 ... 108

4.3.2.3. Hasil Pengujian Set 3 ... 122

4.3.3. Hasil Pengujian Data Baru Tunggal ... 136

4.4. Analisis Hasil Pengujian ... 140

4.5. Implementasi Perancangan Antarmuka ... 144

4.5.1. Pengujian Benar atau Data Sesuai ... 145

4.5.2. Pengujian Salah atau Data Tidak Sesuai ... 146

4.5.3. Pengujian Semua Data Testing ... 147


(14)

xiv

BAB V : KESIMPULAN & SARAN ... 150

5.1. Kesimpulan ... 150

5.2. Saran ... 151

DAFTAR PUSTAKA ... 152


(15)

xv

DAFTAR GAMBAR

Gambar 3.1. Gambaran umum alur kerja sistem ... 33

Gambar 3.2. Desain User Interface... 51

Gambar 4.1. Beberapa data awal citra wajah mahasiswa ... 53

Gambar 4.2. Proses Cropping citra wajah mahasiswa ... 54

Gambar 4.3. Hasil Cropping citra wajah mahasiswa ... 54

Gambar 4.4. Proses Perubahan ukuran dimensi citra wajah mahasiswa ... 55

Gambar 4.5. Folder 3 SET ... 56

Gambar 4.6. Isi folder SET 1 ... 56

Gambar 4.7. Isi folder Training dari SET 1 ... 56

Gambar 4.8. Isi folder Testing dari SET 1 ... 57

Gambar 4.9. Beberapa data citra wajah mahasiswa pertama ... 64

Gambar 4.10. Beberapa data training pada Set 1 data pertama ... 65

Gambar 4.11. Beberapa data testing pada Set 1 data pertama ... 65

Gambar 4.12. Beberapa data training pada Set 2 data pertama ... 73

Gambar 4.13. Beberapa data testing pada Set 2 data pertama ... 73

Gambar 4.14. Beberapa data training pada Set 3 data pertama ... 83

Gambar 4.15. Beberapa data testing pada Set 3 data pertama ... 83

Gambar 4.16. Beberapa data training pada Set 1 data kedua... 94

Gambar 4.17. Beberapa data testing pada Set 1 data kedua ... 94

Gambar 4.18. Beberapa data training pada Set 2 data kedua... 108

Gambar 4.19. Beberapa data testing pada Set 2 data kedua ... 108

Gambar 4.20. Beberapa data training pada Set 3 data kedua... 122

Gambar 4.21. Beberapa data testing pada Set 3 data kedua ... 122

Gambar 4.22. Data baru tunggal 25 mahasiswa... 136

Gambar 4.23. Tampilan User Interface ... 144

Gambar 4.24. Memasukkan citra sebagai Input Image ... 145

Gambar 4.25. Hasil pengenalan yang sesuai ... 145

Gambar 4.26. Hasil pengenalan yang tidak sesuai ... 146

Gambar 4.27. Proses awal pengujian semua data testing ... 147

Gambar 4.28. Aktivitas antarmuka selama proses pengujian semua data testing ... 147

Gambar 4.29. Aktivitas Command Window pada pengujian semua data testing ... 148

Gambar 4.30. Tampilan user interface setelah pengujian semua data testing ... 148


(16)

xvi

DAFTAR TABEL

Tabel 2.1. Keterangan simbol-simbol variabel dalam algoritma ... 10

Tabel 2.2. Hasil pengurutan nilai Eigenvalues dan Eigenvectors ... 20

Tabel 2.3. Contoh Perhitungan Euclidean Distance ... 26

Tabel 3.1. Data mahasiswa TI USD angkatan 2013 yang digunakan dalam penelitian .... 30

Tabel 3.2. Pembagian data citra wajah tiap mahasiswa ... 32

Tabel 3.3. Contoh Matriks ... 40

Tabel 3.4. Contoh perhitungan jarak Matriks ... 41

Tabel 3.5. Contoh pencarian jarak paling minimum Matriks ... 41

Tabel 3.6. Data mahasiswa TI USD angkatan 2013 yang digunakan beserta label file ... 42

Tabel 3.7. Contoh penentuan label pada suatu indeks ... 44

Tabel 3.8. Contoh perhitungan jarak 5 citra ... 48

Tabel 4.1. Pembagian data training dan testing tiap mahasiswa ... 55

Tabel 4.2. Pembagian data training dan testing pada data pertama ... 64

Tabel 4.3. Hasil Pengujian Set 1 pada data pertama dengan indeks threshold 0.05 ... 65

Tabel 4.4. Hasil Pengujian Set 1 pada data pertama dengan indeks threshold 0.1 ... 68

Tabel 4.5. Hasil Pengujian Set 1 pada data pertama dengan indeks threshold 0.2 ... 70

Tabel 4.6. Hasil Pengujian Set 2 pada data pertama dengan indeks threshold 0.05 ... 73

Tabel 4.7. Hasil Pengujian Set 2 pada data pertama dengan indeks threshold 0.1 ... 76

Tabel 4.8. Hasil Pengujian Set 2 pada data pertama dengan indeks threshold 0.2 ... 79

Tabel 4.9. Hasil Pengujian Set 3 pada data pertama dengan indeks threshold 0.05 ... 83

Tabel 4.10. Hasil Pengujian Set 3 pada data pertama dengan indeks threshold 0.1 ... 86

Tabel 4.11. Hasil Pengujian Set 3 pada data pertama dengan indeks threshold 0.2 ... 89

Tabel 4.12. Hasil Pengujian pada data pertama ... 92

Tabel 4.13. Pembagian data training dan testing pada data kedua ... 93

Tabel 4.14. Hasil Pengujian Set 1 pada data kedua dengan indeks threshold 0.05 ... 94

Tabel 4.15. Hasil Pengujian Set 1 pada data kedua dengan indeks threshold 0.1 ... 99

Tabel 4.16. Hasil Pengujian Set 1 pada data kedua dengan indeks threshold 0.2 ... 103

Tabel 4.17. Hasil Pengujian Set 2 pada data kedua dengan indeks threshold 0.05 ... 108

Tabel 4.18. Hasil Pengujian Set 2 pada data kedua dengan indeks threshold 0.1 ... 113

Tabel 4.19. Hasil Pengujian Set 2 pada data kedua dengan indeks threshold 0.2 ... 117

Tabel 4.20. Hasil Pengujian Set 3 pada data kedua dengan indeks threshold 0.05 ... 122

Tabel 4.21. Hasil Pengujian Set 3 pada data kedua dengan indeks threshold 0.1 ... 127

Tabel 4.22. Hasil Pengujian Set 3 pada data kedua dengan indeks threshold 0.2 ... 131

Tabel 4.23. Hasil Pengujian pada data kedua ... 135

Tabel 4.24. Hasil Pengujian Set 2 pada data tunggal dengan indeks threshold 0.05 ... 137

Tabel 4.25. Hasil Pengujian Set 2 pada data tunggal dengan indeks threshold 0.1 ... 138

Tabel 4.26. Hasil Pengujian Set 2 pada data tunggal dengan indeks threshold 0.2 ... 139


(17)

1

BAB I

PENDAHULUAN

1.1.Latar Belakang

Wajah manusia merupakan salah satu bagian dalam tubuh manusia yang sangat penting. Empat bagian dari panca indra manusia yaitu mata, telinga, lidah, dan hidung terdapat pada wajah manusia. Empat bagian tersebut memiliki peranan penting dalam keberlangsungan hidup manusia yaitu mata untuk melihat, telinga untuk mendengar, lidah untuk merasakan rasa, dan hidung sebagai indra penciuman. Empat indra tersebut ditambah dengan kulit merupakan alat manusia untuk dapat melakukan kegiatan dan menjalani hidup. Setiap manusia memiliki empat indra pada wajahnya dengan bentuk yang berbeda-beda antara satu manusia dengan manusia yang lain. Misalnya, bentuk mata, ukuran hidung, ukuran telinga, tekstur lidah, dan lain-lain.

Wajah manusia yang terdiri dari empat indra tersebut merupakan suatu obyek pertama yang dilihat oleh manusia lain. Wajah manusia juga merupakan obyek yang berperan sebagai pengetahuan akan identitas diri dari manusia tersebut. Ketika manusia lain bertemu dengan manusia yang lain, obyek pertama yang akan mereka lihat dari lawannya adalah wajah. Dari wajah lawan yang manusia lihat tersebut, ia dapat mengidentifikasi identitas pribadi dari manusia lawan tersebut seperti misalnya nama, umur, tempat tanggal lahir, tempat tinggal, tempat berkuliah, jurusan, bahkan nomor telepon dan nama orang tua dari manusia tersebut.

Setiap manusia memiliki wajah dengan bentuk dan struktur yang berbeda antar satu manusia dengan manusia yang lain. Dari teori tersebut muncullah suatu ilmu untuk mengenali wajah manusia (face recognition), yang dapat diaplikasikan dalam banyak bidang. Misalnya dalam bidang keamanan, dapat membantu mencari seorang penjahat menggunakan foto wajahnya, lalu pengenalan wajah juga dapat membantu perusahaan atau


(18)

perkantoran dalam mengurus presensi atau kehadiran pegawai-pegawainya, dan masih banyak aplikasi pengenalan wajah pada bidang-bidang yang lain.

Dalam laporan ini akan membahas dan menjelaskan contoh pengaplikasian pengenalan wajah dalam bidang pendidikan. Pendidikan sekarang merupakan hal yang sangat penting dan wajib bagi setiap manusia untuk dijalaninya. Hampir setiap orang menjalani dan memasuki bangku sekolah bahkan sejak umur 5 tahun, dan sekarang jenjang pendidikan yang paling tinggi adalah tingkat Universitas. Banyak orang sangat menginginkan dan saling berebutan untuk memasuki jenjang pendidikan tingkat Universitas. Dengan banyaknya minat manusia untuk memasuki jenjang pendidikan maka pendaftaran untuk mahasiswa baru setiap Universitas selalu mempunyai jumlah yang cukup banyak.

Berdasarkan data statistik terbaru dari Badan Pusat Statistik Indonesia tanggal 14 September 2016, menunjukkan bahwa jumlah mahasiswa yang terdapat di Indonesia adalah sebanyak 341.315 untuk 53 Universitas Negeri dan 272.350 untuk 625 Universitas Swasta. Sehingga dari data tersebut dapat disimpulkan terdapat 900 lebih mahasiswa di setiap Universitas yang ada di Indonesia. Berdasarkan data tersebut jumlah mahasiswa di tiap Universitas cukup banyak, dan setiap Universitas perlu untuk mempunyai data dari seluruh mahasiswanya seperti nama, nomor induk mahasiswa, tempat tanggal lahir, alamat, nomor handphone, nama orangtua, dan lain-lain.

Kebutuhan akan identitas mahasiswa seperti nama lengkap dan nomor induk mahasiswa (NIM) sangat tinggi. Identitas mahasiswa tersebut sangat diperlukan untuk berbagai aktivitas mahasiswa seperti keperluan administrasi, akademis, kegiatan mahasiswa, dan lain-lain. Dengan menerapkan sistem face recognition, identitas mahasiswa dapat diperoleh secara cepat dan mudah dengan memproses foto wajah mahasiswa. Setiap civitas akademika yang ada dalam tiap Universitas diharapkan untuk saling mengenal satu sama lain, mulai dari dosen terhadap mahasiswa, mahasiswa


(19)

terhadap dosen, mahasiswa terhadap mahasiswa, karyawan terhadap mahasiswa, karyawan terhadap karyawan, dan lain-lain.

Pengenalan identitas satu sama lain antar civitas akademika dalam suatu Universitas sangatlah penting, karena dengan mengenali identitas satu sama lain tersebut maka akan terjalin hubungan yang baik satu sama lain serta terciptanya sistem yang baik dalam Universitas. Maka dari itu peran pengenalan wajah (face recognition) sangatlah penting dalam membantu permasalahan tersebut, karena wajah merupakan obyek utama yang digunakan untuk mengetahui identitas seseorang. Dalam dokumen ini, akan dibahas bagaimana civitas akademika (dosen, mahasiswa, dan karyawan) Universitas Sanata Dharma dapat memperoleh identitas mahasiswa serta mengenal mahasiswa satu sama lain, khususnya para mahasiswa Teknik Informatika angkatan 2013 menggunakan pengenalan wajah (face recognition).

Penelitian dalam bidang face recognition atau pengenalan wajah ini sudah banyak dilakukan oleh peneliti-peneliti sebelumnya dalam beberapa kasus. Contohnya yaitu seperti penelitian yang dilakukan oleh Slavković

dan Jevtić (2012) dengan jumlah data training sebanyak 190 gambar dari 38 orang (setiap orang memiliki 5 gambar berbeda). Lalu, dilakukan testing menggunakan data gambar sebanyak 40 gambar dari beberapa individu (38 gambar yang dikenali dan 2 gambar yang tidak diketahui). Dari tes yang dilakukan didapatkan hasil atau tingkat akurasinya sebesar 97.5% menggunakan 190 jumlah komponen utama (principal components) dan perhitungan jarak Euclidean Distance.

Contoh penelitian face recognition selanjutnya yaitu penelitian yang dilakukan oleh Linge dan Pawar (2014) menggunakan 165 gambar wajah dari Yale database menggunakan metode Neural Network dan PCA. Peneliti melakukan percobaan untuk memasukkan data testing berupa citra gambar pula sebagai input dan mengecek citra gambar orang tersebut apakah dikenali dan cocok dengan citra gambar orang pada data training yang sudah ada dalam database. Jika data testing (masukan) cocok dengan


(20)

data training (database) maka akan menampilkan citra gambar dari data training. Penelitian tersebut menghasilkan tingkat akurasi pengenalan sebesar 98.78%.

Contoh penelitian face recognition selanjutnya yaitu penelitian yang dilakukan oleh Agarwal dkk. (2010) menggunakan 40 gambar wajah orang dengan 10 kondisi yang berbeda, sehingga totalnya adalah 400 gambar wajah dari database wajah Olivetti and Oracle Research Laboratory (ORL). Penelitian ini menggunakan metode Eigenfaces dan Artificial Neural Network, peneliti melakukan percobaan untuk memasukkan data testing berupa citra gambar pula sebagai input dan mengecek citra gambar orang tersebut apakah dikenali dan cocok dengan citra gambar orang pada data training yang sudah ada dalam database. Jika data testing (masukan) cocok dengan data training (database) maka akan menampilkan citra gambar dari data training. Penelitian tersebut menghasilkan tingkat akurasi pengenalan sebesar 97.018%.

Dari ketiga penelitian tersebut, dapat disimpulkan bahwa penelitian pengenalan wajah (face recognition) sudah pernah dilakukan dan mendapatkan hasil atau tingkat akurasi yang tinggi, sehingga penelitian mengenai face recognition dapat dikembangkan dan dilanjutkan. Penelitian-penelitian face recognition sebelumnya mayoritas menggunakan metode Eigenface dalam memproses suatu data. Metode Eigenface merupakan metode yang sangat terkenal dan sering digunakan dalam penelitian-penelitian untuk pengenalan wajah. Metode Eigenface merupakan metode yang digunakan untuk mengurangi ruang dimensi data lalu mencari nilai Eigenvectors serta Eigenvalues sebagai karakteristik atau ciri suatu data. Kemudian karakteristik atau ciri tersebut menjadi data untuk training dan akan digunakan untuk mengenali data testing. Metode Eigenface memiliki beberapa kelebihan dalam penelitian pengenalan wajah dibandingkan dengan metode lain yaitu kesederhanaan algoritma, efisien, efektif, serta kecepatan dalam melakukan proses pengenalan wajah.


(21)

Penelitian pada dokumen ini adalah penelitian dalam bidang yang sama yaitu pengenalan wajah (face recognition), tetapi menggunakan beberapa hal yang berbeda dari penelitian-penelitian sebelumnya. Metode yang digunakan dalam penelitian ini adalah Eigenface dan Euclidean Distance untuk perhitungan jaraknya. Data yang digunakan adalah data citra foto wajah mahasiswa jurusan Teknik Informatika Universitas Sanata Dharma (TI USD) angkatan 2013. Lalu luaran dari penelitian ini yaitu akan menampilkan informasi atau identitas dari citra foto wajah mahasiswa tersebut.

1.2.Rumusan Masalah

1. Bagaimana metode Eigenface dan Euclidean Distance dapat melakukan pengenalan wajah mahasiswa serta menampilkan identitas mahasiswa ?

2. Berapa tingkat keberhasilan atau akurasi yang dihasilkan dalam mengenali wajah menggunakan metode Eigenface dan Euclidean Distance ?

1.3.Tujuan Penelitian

1. Menerapkan metode Eigenface untuk pencarian ciri dan Euclidean Distance untuk perhitungan jarak dengan baik sehingga dapat mengenali wajah mahasiswa dan mendapatkan identitas mahasiswa. 2. Mendapatkan tingkat keberhasilan atau akurasi pengenalan wajah

menggunakan metode Eigenface dan Euclidean Distance.

1.4.Manfaat Penelitian

1. Mengenali suatu gambar foto wajah seseorang sebagai mahasiswa Teknik Informatika Universitas Sanata Dharma angkatan 2013 atau bukan.

2. Memperoleh informasi identitas mahasiswa yaitu nama dan nomor induk mahasiswa (NIM), dari gambar foto wajah testing yang telah


(22)

dikenali sebagai seorang mahasiswa Teknik Informatika Universitas Sanata Dharma angkatan 2013.

3. Menggunakan identitas (nama dan NIM) mahasiswa dari hasil testing sebagai inputan atau data masukan untuk keperluan Universitas atau kegiatan mahasiswa.

4. Menggunakan dan mengembangkan sistem pengenalan wajah mahasiswa ini sebagai sistem presensi mahasiswa dalam perkuliahan.

1.5.Batasan Masalah

1. Citra gambar foto wajah mahasiswa yang digunakan dalam sistem melalui proses cropping dengan rasio 1:1 (square) terlebih dahulu, agar fokus pada wajahnya saja dan tidak mempunyai latar belakang yang kompleks. Lalu citra ukuran dimensinya dirubah menjadi 200x200.

2. Citra gambar foto wajah mahasiswa Universitas Sanata Dharma yang digunakan dalam sistem adalah citra gambar foto wajah 25 mahasiswa jurusan Teknik Informatika angkatan 2013.

1.6.Metodologi Penelitian

1 Pengumpulan data training yaitu citra gambar foto wajah 25 mahasiswa TI USD angkatan 2013 dari hasil pengambilan gambar menggunakan kamera smartphone, serta identitas mahasiswa dari Biro Administrasi Perencanaan dan Sistem Informasi (BAPSI) Universitas Sanata Dharma.

2 Studi Pustaka metode atau algoritma Eigenface dan Euclidean Distance.

3 Analisis dan Perancangan Sistem yang terdiri dari analisis masalah, alur kerja sistem, desain sistem, pembangunan database untuk data training dan testing, perancangan sistem dengan membangun program berdasarkan algoritma yang digunakan, dan pembuatan alat uji dengan membangun user interface untuk menguji data testing.


(23)

4 Pengujian sistem menggunakan data testing serta alat uji yang telah dibuat.

5 Analisis hasil dari pengujian yang telah dilakukan.

1.7.Sistematika Penulisan BAB I Pendahuluan

Bab ini akan menjelaskan mengenai latar belakang masalah yang akan dibahas dalam penelitian ini, rumusan masalah, tujuan penelitian, batasan masalah, manfaat penelitian, metode penelitian, serta sistematika penulisan laporan tugas akhir.

BAB II Landasan Teori

Bab ini berisi penjelasan singkat tentang metode atau algoritma yang digunakan dalam penelitian.

BAB III Metodologi Penelitian

Bab ini berisi langkah-langkah yang akan dilakukan dalam penelitian, metode pengumpulan data, metode pengolahan data, cara analisis data, metode pengujian, serta desain user interface alat uji penelitian yang akan dibagun.

BAB IV Implementasi & Analisis Hasil

Bab ini berisi proses impelementasi sistem dari preprocessing data sampai pengujian data dan hasil dari pengujian beserta analisisnya.

BAB V Kesimpulan & Saran

Bab ini berisi kesimpulan yang didapat dari penelitian yang dilakukan serta saran untuk penelitian-penelitan pengenalan wajah selanjutnya.


(24)

8

BAB II

LANDASAN TEORI

2.1.Pengenalan Wajah

Wajah merupakan bagian dari tubuh manusia yang sangat penting. Wajah manusia terdiri dari 4 indera yaitu mata, telinga, lidah, dan hidung. Wajah merupakan obyek pertama yang dilihat oleh manusia lain ketika dua atau lebih manusia bertemu. Wajah memberikan suatu pengetahuan atau informasi tentang identitas dari pemilik wajah tersebut. Tiap manusia memiliki wajah dengan bentuk dan struktur yang unik satu dengan yang lainnya. Empat indera yang terdapat pada wajah manusia juga memiliki keunikan antara satu manusia dengan manusia lainnya. Bentuk dan ukuran mata seseorang berbeda dengan bentuk dan ukuran mata seseorang yang lainnya. Begitu juga dengan ketiga indera yang lainnya yaitu telinga, lidah, dan hidung, masing-masing indera memiliki keunikan antara satu manusia dengan manusia yang lain. Sehingga dengan keunikan atau perbedaan wajah seseorang dan keempat indera di dalamnya, menjadikan wajah sebagai obyek yang mampu menjadi identitas seseorang atau obyek yang merupakan referensi utama dalam mengenali seseorang satu dengan yang lainnya.

Berdasarkan teori tersebut, maka muncullah suatu ilmu atau penelitian untuk mengenali seseorang dengan wajah yang dimilikinya yaitu pengenalan wajah (face recognition). Dewasa ini, ilmu pengenalan wajah sangat ramai dibicarakan, diperbincangkan, dan bahkan diteliti, sehingga ilmu pengenalan wajah ini sekarang telah diterapkan ke dalam teknologi yang mampu memudahkan manusia dalam memcahkan suatu masalah atau membantu manusia menyelesaikan pekerjaannya. Teknologi pengenalan wajah ini sekarang telah membantu manusia dalam bidang keamanan, pendidikan, kesehatan, sosial, dan lain-lain. Dalam bidang keamanan contohnya seperti penggunaan teknologi pengenalan wajah untuk


(25)

pencarian seorang kriminal, pencocokan wajah seseorang untuk akses masuk suatu ruangan atau benda yang berharga, dan lain-lain. Dalam bidang pendidikan contohnya seperti penggunaan teknologi pengenalan wajah untuk pengenalan suatu tokoh sejarah atau pahlawan. Dalam bidang kesehatan contohnya seperti penggunaan teknologi pengenalan wajah untuk mendapatkan informasi catatan kesehatan seseorang dari wajahnya. Dalam bidang sosial contohnya seperti penggunaan teknologi pengenalan wajah untuk mendapatkan informasi seseorang sehingga seseorang dapat saling mengenal, misal dalam suatu Universitas, sehingga tercapai komunikasi dan kerjasama yang baik.

2.2.Metode Eigenface

Metode Eigenface merupakan perkembangan dari metode atau pendekatan PCA (Principal Component Analysis) yang dikembangkan oleh Sirovich dan Kirby (1987) serta Turk dan Pentland (1991). PCA merupakan teknik yang digunakan untuk menyederhanakan suatu data, dengan cara mentransformasi data secara linier sehingga terbentuk sistem koordinat baru dengan varians maksimum. PCA merupakan metode yang cocok untuk face recognition (pengenalan wajah), karena PCA tidak mengkategorikan data wajah dengan perbedaan pada ukuran indera dalam wajah seperti ukuran hidung atau panjang alis mata. PCA mengkategorikan data wajah, dengan kumpulan data dari wajah seseorang yang dianalisis menggunakan PCA, untuk menentukan kumpulan variabel untuk varian dari wajah-wajah yang dikenal dengan istilah Eigenface (Balasuriya, 2000). Data gambar wajah yang dianalisis, direpresentasikan dalam suatu dimensi vector yang akan membentuk sebuah ruang dari gambar wajah (face space). Eigenvalues merupakan nilai ciri dari citra wajah yang bertipe skalar (nilai tunggal tanpa arah) yang didapat dari perhitungan dengan covariance matrix, Eigenvalues dominan merupakan nilai ciri yang memiliki nilai tertinggi sehingga membawa informasi penting dari citra dan menjadi representasi dari data citra.


(26)

Sedangkan Eigenvectors merupakan nilai ciri dari citra wajah yang bertipe vector (memiliki arah) dan nilai Eigenvectors didapatkan dari perhitungan algoritma menggunakan nilai Eigenvalues, sehingga Eigenvectors merupakan nilai yang berhubungan dengan nilai Eigenvalues. Nilai Eigenvalues dan Eigenvectors merupakan nilai karakteristik citra yang dapat membedakan satu citra dengan citra yang lain. Vektor-vektor yang merepresentasikan data gambar wajah pada face space merupakan Eigenvalues dan merupakan kumpulan dari Eigenvectors.

Eigenface merupakan suatu metode yang sangat populer atau sering digunakan dalam penelitian-penelitian bidang pengenalan wajah. Eigenface merupakan suatu metode yang dapat diandalkan dalam penelitian-penelitian bidang pengenalan wajah, karena dapat menghasilkan akurasi yang tinggi, kecepatan pemrosesan, algoritma yang sederhana, dan lain-lain.

2.2.1. Proses Perhitungan Eigenface

Apabila diketahui simbol variabel dalam Tabel 2.1, maka algoritma untuk menghitung Eigenface adalah sebagai berikut :

Tabel 2.1. Keterangan simbol-simbol variabel dalam algoritma Simbol variabel Arti

M Set kumpulan gambar

N Ukuran dimensi citra (square) Indeks nilai

Γ Representasi tiap citra Average (rata-rata)

Φ Nilai tiap citra setelah dikurangi dengan nilai Average

A Matriks hasil penggabungan nilai-nilai dari Φ


(27)

Eigenvectors

Eigenvalues

I Matriks Identitas

Matriks Eigenvectors sebanyak M

ω Nilai bobot ciri tiap citra

Matriks hasil penggabungan dari nilai bobot tiap citra ω

Threshold

1. Mentraining satu set kumpulan gambar (M) yang direpresentasikan dengan matriks berukuran N x N. Tiap gambar direpresentasikan dalam Γ , Γ … Γ. Lalu ubah semua matriks Γ berukuran dua dimensi menjadi satu dimensi N2 x 1. Kemudian gabungkan hasilnya dalam satu matriks Γ.

Γ = [Γ , Γ … Γ�] (2.1)

2. Menghitung Average atau nilai rata-rata dari matriks Γ.

= Σ�= Γ (2.2) 3. Melakukan pengurangan nilai matriks tiap gambar training pada

matriks Γ (tipe data matriks Γ telah diubah ke double) dengan nilai matriks rata-rata.

Φ = Γ − (2.3)

A = [Γ − , Γ − … Γ�− ] (2.4)

4. Menghitung nilai Covariance Matrix.

= ��� � = [Φ , Φ … Φ

� ] (2.5)

Karena hasil dari perhitungan = ��� menghasilkan dimensi yang besar, maka algoritma diubah menjadi


(28)

5. Menghitung nilai Eigenvalues dan Eigenvectors dari Covariance Matrix.

��� = � (2.7)

� − �� = (2.8)

� ∗ ��� = � ∗ � (2.9)

� ∗ �� = � � (2.10)

6. Mengurutkan nilai Eigenvalues dari yang terbesar ke terkecil lalu disertai nilai masing-masing Eigenvectors.

7. Menghitung nilai Eigenvectors sebanyak M (jumlah gambar training).

= � (2.11)

= � (2.12)

8. Memproyeksikan Γ ke dalam Eigenspace.

ω = � Γ − (2.13)

= � (2.14)

= [ ⋮

] (2.15)

9. Menghitung nilai Threshold (�).

� = ∗ √‖ − ‖ , = , … (2.16)


(29)

2.2.2. Contoh Perhitungan Eigenface

1. Representasi gambar wajah training dengan matriks berukuran N x N dua dimensi diubah menjadi matriks berukuran N2 x 1 satu dimensi. Misalnya terdapat 3 buah gambar wajah training berukuran 2x2 :

� Γ = [ ] → [ ]

� Γ = [ ] → [ ]

� Γ = [ ] → [ ]

Lalu hasil tersebut dimasukkan dalam satu matriks Γ, dengan tiap kolom pada matriks merupakan representasi dari 1 gambar wajah :

Γ = [Γ , Γ … Γ�] (2.1)


(30)

2. Menghitung Average atau nilai rata-rata dari matriks Γ

= Σ�= Γ (2.2)

Γ = [ ]

= + + = = .

= + + = =

= + + = = .

= + + = =

Lalu hasil rata-rata tiap baris matriks Γ dimasukkan dalam satu matriks :

= [ .

. ]

3. Melakukan pengurangan antara nilai matriks tiap gambar dengan nilai matriks Γ

Φ = Γ − (2.3)

A = [Γ − , Γ − … Γ�− ] (2.4)

Φ = [ ] − [ .

. ] = [

− .


(31)

Φ = [ ] − [ .

. ] = [

− .

− . ]

Φ = [ ] − [ .

. ] = [

. − .

− ]

Lalu hasil pengurangan tersebut digabungkan dalam satu matriks yaitu A :

A = [ − . − .

− . − .

. − .

− ]

4. Menghitung Covariance Matrix dari matriks A

= �� (2.6)

= [− .− . − .− .

. − . − ] [

− . − .

− . − .

. − .

− ]

=[ .. .. − .− .


(32)

5. Kemudian mencari Eigenvalues dan Eigenvectors dari matriks C. (Agar mempermudah perhitungan maka nilai matriks C dirubah)

��� = � (2.7)

� − �� = (2.8)

= [ −

− ]

[ −

− ] − [

� �

�]

[ − � − � −

− − �] =

− � | − � − �| − | − �| + − | − | =− �

− �[ − � − ] − [ − ] + − [ − − � ] =

− �[ − � ] − + − [− + �] =

− �[ − � ] + [ − �] = − �[ − � ] + [ − �] =

− �[ − � − � ] + =

− �[ − � − � + � + ] = − �[ � − � + ] =

− �[ � − � − ] =

− � � − � − =


(33)

Dari matriks kovarian C, mendapatkan 3 nilai Eigenvalues � yaitu 4, 3, dan 2. Nilai Eigenvalues tersebut digunakan untuk mencari nilai Eigenvectors yang berhubungan dengan tiap nilai Eigenvalues tersebut.

➢ Untuk � =

[ − � − � −

− − �] [ ] =

[ − − −

− − ] [ ] =

[− −

− ] [ ] =

Jika dikalikan maka akan menghasilkan persamaan :

− + + − =

− =

Karena = maka

− + + − =

− + − =

− =

Jadi = − & =

Sehingga Eigenvectors yang didapat dari nilai Eigenvalues

� = adalah

= [

− ]

= [


(34)

➢ Untuk � =

[ − � − � −

− − �] [ ] =

[ − − −

− − ] [ ] =

[− −

− ] [ ] =

Jika dikalikan maka akan menghasilkan persamaan :

− + − =

=

− + =

Karena = maka

− − = → − = → = −

+ = → = −

Jadi = − & =

Sehingga Eigenvectors yang didapat dari nilai Eigenvalues

� = adalah

= [− ]


(35)

➢ Untuk � =

[ − � − � −

− − �] [ ] =

[ − − −

− − ] [ ] =

[− −

− ] [ ] =

Jika dikalikan maka akan menghasilkan persamaan :

− + − =

=

− + =

Karena = maka

− − = → − = → = −

+ = → = − → = −

Jadi = − & =

Sehingga Eigenvectors yang didapat dari nilai Eigenvalues

� = adalah

= [

− ]

= [


(36)

6. Kemudian mengurutkan nilai Eigenvalues dari yang terbesar ke terkecil lalu disertai nilai masing-masing Eigenvectors.

Tabel 2.2. Hasil pengurutan nilai Eigenvalues dan Eigenvectors No Eigenvalues (� Eigenvectors ( )

1. � = = [

− ]

2. � = = [

− ]

3. � = = [

− ]

Kemudian nilai tiap Eigenvectors dimasukkan berdasarkan urutan dalam satu matriks yaitu x. Tiap kolomnya merupakan representasi nilai Eigenvectors yang berhubungan dari 1 nilai Eigenvalues.

= [


(37)

7. Menghitung nilai Eigenvectors sebanyak M (jumlah gambar) dari matriks A

= � (2.11)

= [ − . − . − . − . . − . − ] . [ − ] = [ − . . − . . ] = [ − . − . − . − . . − . − ] . [− ] = [ . − . . − . ] = [ − . − . − . − . . − . − ] . [ − ] = [ − . . − . . ] = [ − . . − . . − . . − . . − . . − . . ] Atau

= � (2.12)

= [ − . − . − . − . . − . − ] . [ − − − ] = [ − . . − . . − . . − . . − . . − . . ]


(38)

8. Memproyeksikan � ke dalam Eigenspace

� = � Γ − (2.13)

= [ ω ω ⋮ ω�

] (2.14)

� = [− . . − . . ] [

− .

− . ] = .

[− . . − . . ] [

− .

− . ] = .

[− . . − . . ] [

. − .

] = − .

� = [ . − . . − . ] [

− .

− . ] = − .

[ . − . . − . ] [

− .

− . ] = − .

[ . − . . − . ] [

. − .


(39)

� = [− . . − . . ] [ − . − . ] = . [− . . − . . ] [ − . − . ] = . [− . . − . . ] [ . − . − ] = − . = [ .. − .− . .. − . . − . ] Atau

= � (2.15)

= ( [− .. − .. − .. − .. − . . − . . ] . [ − . − . − . − . . − . − ] ) � = ([− .. − .. − .. . . − . ]) �

Kemudian nilai matriks W di-transpose agar sesuai dengan perhitungan algoritma atau tiap barisnya merepresentasikan bobot 1 wajah.

= [ .. − .− . ..

− . . − . ]

Nilai inilah yang akan digunakan untuk mengklasifikasikan data testing dengan data training.


(40)

9. Menghitung nilai threshold (�)

Threshold merupakan batas atau jarak minimum yang harus dilewati oleh data testing, untuk membuktikan bahwa data testing merupakan data yang dikenali atau berada dalam database. Nilai threshold dihitung melalui perhitungan jarak tiap data training satu per satu menggunakan Euclidean Distance, kemudian nilai threshold diambil dari jarak yang paling besar atau maksimum dan telah dikalikan dengan nilai indeks yang di-inputkan user. Jika gambar wajah testing mempunyai nilai yang lebih besar dari batas atau jarak minimum yang sudah ditentukan, maka gambar wajah testing tersebut tidak dikenali atau tidak berada dalam database.

= [ .. − .− . ..

− . . − . ]

, = √ . − . + − . + . + . − .

= .

, = √ . + . + − . − . + . + .

= .

, = √ . + . + − . − . + . + .

= .

(contoh jika nilai indeks threshold adalah 0.2)

� = . √‖ − ‖ , = , … (2.16)

� = . .


(41)

2.3.Euclidean Distance

Euclidean Distance merupakan suatu metode atau algoritma yang digunakan untuk membantu pengelompokkan suatu data dengan cara menghitung jarak suatu data dengan yang lainnya. Semakin kecil nilai jarak yang dihasilkan maka data tersebut dapat diklasifikasikan menjadi 1 kelompok. Metode atau algoritma Euclidean Distance dalam penelitian ini akan digunakan dalam bagian Recognition Steps (tahap pengenalan atau pengujian data testing terhadap data training).

Cara Pengujian Data :

1. Mengambil set atau kumpulan gambar testing untuk pengenalan. Kemudian ubah matriks tiap gambar testing berukuran dua dimensi menjadi satu dimensi N2 x 1.

2. Mengurangi nilai matriks gambar testing dengan nilai matriks rata-rata dari data training dengan rumus :

� = Γ − (2.17)

3. Memproyeksikan gambar testing dalam Eigenspace dengan rumus :

= � Γ (2.18)

= � (2.19)

= �. � (2.20)

= [� , � … ��] (2.21)

Kemudian mencari jarak antar vektor setiap gambar (Euclidean distance) dengan rumus :

� = ‖ − ‖ = [ , … ] (2.22)

4. Jika nilai � lebih dari (>) nilai threshold � , maka gambar testing tersebut tidak ada dalam database atau tidak diketahui.


(42)

2.3.1. Contoh Perhitungan Euclidean Distance

Tabel 2.3. Contoh Perhitungan Euclidean Distance

Euclidean Distance 1

Var1

2 Var2

Orang 1 20 80

Orang 2 30 44

Orang 3 90 40

Algoritma Euclidean Distance :

= √∑= − (2.23)

Untuk menghitung jarak antara orang 1 dan 2, perhitungannya :

= √ − + − = .

Untuk menghitung jarak antara orang 1 dan 3, perhitungannya :

= √ − + − = .

Untuk menghitung jarak antara orang 2 dan 3, perhitungannya :


(43)

2.3.2. Contoh Pengujian

1. Mengambil suatu gambar testing untuk pengenalan. Kemudian ubah matriks tiap gambar testing berukuran dua dimensi menjadi satu dimensi N2 x 1.

Γ = [ ]

Γ = [ ]

2. Mengurangi nilai matriks gambar testing dengan nilai matriks rata-rata dari data training dengan rumus :

� = Γ − (2.17)

� = [ ] − [

.

. ]

= [ − .

− − .

− ]

3. Memproyeksikan gambar testing dalam Eigenspace dengan rumus :

� = � Γ (2.18)

� = � (2.19)


(44)

� = [− . . − . . ] [ − . − − . − ] = . � = [ . − . . − . ] [ − . − − . − ] = − . � = [− . . − . . ] [ − . − − . − ] = . = [ . − . . ] Atau

= �. � (2.20)

= ([− .. − .. − .. − .. − . . − . . ] [ − . − − . − ]) � = ([− .. . ]) � = [ . − . . ]

Kemudian mencari jarak antar vektor setiap gambar (Euclidean distance) dengan rumus :

� = ‖ − ‖ = [ , … ] (2.22)

� = √ . − . + − . + . + . − . = . � = √ . − . + − . + . + . − . = . � = √ . + . + − . − . + . + . = .


(45)

4. Pengecekan dengan nilai threshold

� = . < � = .

Dari perhitungan jarak antara bobot gambar testing dan gambar training jarak terdekatnya yaitu . . Kemudian karena nilai jarak tidak lebih dari nilai threshold, maka gambar testing dikenali sebagai seseorang dalam gambar pada database. Sehingga gambar testing [ ] mirip dengan gambar training indeks ke-1 pada database [ ] .


(46)

30

BAB III

METODOLOGI PENELITIAN

3.1.Analisis Data 3.1.1. Data

Data yang digunakan dalam penelitian ini adalah foto wajah dan identitas mahasiswa Universitas Sanata Dharma Program Studi Teknik Informatika angkatan 2013 berjumlah 25 orang. Foto wajah mahasiswa yang diambil berjumlah 18 foto wajah dengan ekspresi berbeda dari 25 mahasiswa, sehingga totalnya adalah 450. Foto wajah mahasiswa berformat *.jpg dan memiliki dimensi asli 2304x4096.

Identitas setiap mahasiswa yang akan menjadi output dalam penelitian terdiri dari nama dan nomor induk mahasiswa (NIM). Tabel 3.1. Data mahasiswa TI USD angkatan 2013 yang digunakan

dalam penelitian

No. Nama Mahasiswa NIM

1. A Fendi Pratama 135314113 2. Yeremia Yoga Pratama 135314007 3. Kautsar Rusydi Rahmatullah 135314093 4. Dwi Putra Prihandito 135314048 5. Damian Arif Pradana 135314047 6. Gabriel Indra Widi Tamtama 135314075 7. Sonny Fernando K.Adji 135314084 8. Widya Yoga Arkadia 135314059 9. Angela Mediatrix Melly 135314074

10. Martin Nugraha 135314037


(47)

12. Ni Komang Asih Setiawati 135314104 13. Gerardo Adhitya Nugroho 135314068 14. Marcellina Fanny Kusuma Wardani 135314013

15. Ekky Alfian 135314086

16. Aloysius Tanto Wibowo 135314061

17. Elvino Prayogo 135314095

18. Yohanes Christian Brilliangga 135314058 19. Baptista Yorangga Varani 135314123 20. Yosep Kartika Dewandaru 135314076 21. Hironimus Hendra Setiawan 135314126 22. Yosia Adi Febrian 135314036 23. Tommy Nugraha Manoppo 135314027 24. Raymond Apriyogi Diki Putra 135314004 25. Andre Fransisco Bayuputra 135314015

3.1.2. Metode Pengumpulan Data

Foto wajah mahasiswa didapat dari hasil pengambilan gambar menggunakan kamera smartphone yang memiliki resolusi 13MP dan menghasilkan gambar berdimensi 2304x4096. Wajah mahasiswa diambil dengan jarak pengambilan antara kamera dengan obyek sekitar 20-30cm. Wajah tiap mahasiswa diambil 18 kali dengan ekspresi berbeda dan dengan kondisi cahaya yang cukup terang. Ekspresi wajah mahasiswa yang diambil tidak ditentukan atau bebas, namun tidak melakukan banyak pergerakan pada kepala.

Citra wajah mahasiswa diambil sebanyak 18 kali karena semakin banyak data yang digunakan khususnya untuk data training maka akan semakin tinggi tingkat akurasi yang dihasilkan. Kemudian dengan ekspresi wajah bebas tetapi tidak melakukan banyak pergerakan pada kepala, serta mengambil foto pada waktu pagi-sore hari atau dibawah lampu ruangan dapat meningkatkan tingkat akurasi. Perbandingan hasil uji akan diperjelas pada bab IV.


(48)

Identitas mahasiswa terdiri dari nama dan NIM yang didapat dari Biro Administrasi Perencanaan dan Sistem Informasi (BAPSI) Universitas Sanata Dharma.

3.1.3. Pembagian Data

Setelah melakukan Cropping dan perubahan dimensi citra pada tahap Preprocessing, data citra wajah mahasiswa akan dibagi untuk data training dan data testing. Pembagian data training dan data testing ini menggunakan k-Fold Cross Validation dengan k=3. Pembagian data citra wajah mahasiswa akan dibuat dalam 3 set (3 folder), yang setiap set-nya terdapat pembagian untuk data training dan data testing (1 folder untuk data training dan 1 folder untuk data testing). Setiap set mempunyai kombinasi berbeda untuk pembagian data training dan data testing. Dasar pembagian data citra wajah mahasiswa adalah 2/3 dari total data digunakan sebagai data training dan 1/3 total data digunakan sebagai data testing.

Untuk tiap mahasiswa yang memiliki 18 citra wajah, maka pembagiannya adalah 12 buah citra digunakan untuk data training dan 6 buah citra digunakan untuk data testing. Total data citra wajah 25 mahasiswa sebanyak 450 buah. Sehingga data yang digunakan sebagai data training sebanyak 300 buah dan untuk data testing sebanyak 150 buah untuk setiap set-nya.

Tabel 3.2. Pembagian data citra wajah tiap mahasiswa Set

Data Training (Citra wajah mahasiswa ke-)

Data Testing (Citra wajah mahasiswa ke-)

Set 1 1-12 13-18

Set 2 1-6 & 13-18 7-12


(49)

Kombinasi pembagian tersebut digunakan agar tiap indeks data pernah digunakan sebagai data training dan data testing. Pembagian data dengan k-Fold Cross Validation ini bertujuan untuk mencari set atau kombinasi pembagian untuk data training dan data testing yang menghasilkan akurasi pengenalan tertinggi.

3.2.Analisis Sistem

Langkah-langkah dalam memproses data training dan menganalisis data testing :

Gambar 3.1. Gambaran umum alur kerja sistem Data Training Foto Mahasiswa TI 2013 USD Preprocessing Cropping Grayscalling Feature Extraction Eigenspace Processing Euclidean Distance Data Testing Eigenvectors Eigenvalues Output Identitas Mahasiswa Akurasi Eigenface Preprocessing Feature Extraction Grayscalling Perubahan ukuran dimensi foto Perubahan ukuran dimensi foto Cropping Eigenspace Eigenface


(50)

3.2.1. Preprocessing

Sebelum data citra wajah mahasiswa Universitas Sanata Dharma Program Studi Teknik Informatika angkatan 2013 diproses, data citra wajah akan melalui proses Cropping, perubahan ukuran dimensi citra, Grayscalling. Proses pemotongan (cropping) dan perubahan ukuran dimensi citra dilakukan, agar data citra wajah dapat diproses lebih baik sehingga menghasilkan hasil yang optimal dalam waktu yang singkat.

Proses pemotongan (cropping) akan dilakukan menggunakan bantuan software untuk photo editing yaitu Adobe Photoshop. Data awal citra awal wajah mahasiswa sebanyak 450 buah akan dilakukan pemotongan dengan rasio 1:1 (square) menggunakan Adobe Photoshop. Data awal citra wajah mahasiswa hanya diambil pada bagian wajahnya saja (dari atas alis sampai bawah mulut), sehingga proses feature extraction lebih fokus pada bagian wajahnya saja tanpa bagian lain dan background foto yang kompleks.

Proses perubahan ukuran dimensi citra akan dilakukan menggunakan software yaitu FotoSizer. Data awal citra wajah mahasiswa yang telah melalui proses pemotongan (cropping) selanjutnya akan masuk pada proses perubahan ukuran dimensi citra. Data awal citra wajah mahasiswa yang mula-mula berukuran 2304x4096, kemudian dilakukan pemotongan rasio 1:1 (square) sehingga menghasilkan ukuran dimensi citra NxN sesuai dengan besarnya seleksi wajah tiap citra. Lalu hasil dari pemotongan tersebut, ukuran dimensi semua citra akan dirubah menjadi 200x200.

Setelah melalui proses cropping dan perubahan ukuran dimensi citra, data citra wajah mahasiswa akan melalui proses Pembagian Data terlebih dahulu. Lalu tiap citra akan melalui proses Grayscalling yaitu proses perubahan warna citra asli dari Red, Green, Blue (RGB) ke Grayscale (skala keabuan).


(51)

3.2.2. Feature Extraction

Setelah melalui proses Preprocessing, proses selanjutnya adalah pencarian nilai-nilai ciri (Eigenvalues, Eigenvectors, Eigenspace) dari set data training menggunakan metode Eigenface. Prosesnya yaitu :

1. Mentraining satu set kumpulan gambar (M) yang direpresentasikan dengan matriks berukuran N x N. Tiap gambar direpresentasikan dalam Γ , Γ … Γ. Lalu ubah semua matriks Γ berukuran dua dimensi menjadi satu dimensi N2 x 1. Kemudian gabungkan hasilnya dalam satu matriks Γ dengan tiap kolomnya merepresentasikan tiap citra wajah wajah mahasiswa.

Dimensi matriks citra awal wajah mahasiswa yaitu 200x200 akan menjadi matriks berdimensi 40000x1 (untuk 1 citra wajah mahasiswa). Kemudian matriks citra wajah tiap mahasiswa digabungkan dalam satu matriks. Terdapat 25 mahasiswa dan tiap mahasiswa mempunyai 12 citra wajah sebagai data training, sehingga matriks hasil penggabungan semua citra wajah mahasiswa berdimensi 40000x300.

2. Menghitung Average atau nilai rata-rata dari matriks Γ.

Mencari nilai rata-rata dari matriks hasil penggabungan semua citra wajah mahasiswa berdimensi yang 40000x300. Perhitungan rata-ratanya yaitu menjumlahkan nilai tiap kolom pada tiap baris dan membagi dengan jumlah data yaitu 300. Sehingga akan menghasilkan matriks rata-rata berdimensi 40000x1.


(52)

3. Melakukan pengurangan nilai matriks tiap gambar training pada matriks Γ (tipe data matriks Γ telah diubah ke double) dengan nilai matriks rata-rata.

Sebelum melakukan pengurangan, matriks hasil penggabungan semua citra wajah mahasiswa berdimensi 40000x300 tipe datanya diubah menjadi double. Lalu mengurangi nilai tiap kolom pada matriks dengan matriks rata-rata. Jadi nilai tiap citra wajah mahasiswa akan dikurangi dengan nilai matriks rata-rata. Pengurangan ini bertujuan untuk mendapatkan nilai tiap citra wajah mahasiswa yang merepresentasikan ciri pembedanya dan menghilangkan nilai umum atau yang dimiliki semua citra. Sehingga akan menghasilkan matriks baru (A) berdimensi 40000x300.

4. Menghitung nilai Covariance Matrix.

Mencari nilai kovarian dari perkalian matriks A yang telah ditranspose berdimensi 300x40000 dengan matriks A berdimensi 40000x300. Sehingga akan menghasilkan matriks nilai kovarian berdimensi 300x300.

5. Menghitung nilai Eigenvalues dan Eigenvectors dari Covariance Matrix.

Mencari nilai ciri yaitu Eigenvalues dan Eigenvectors dari matriks kovarian. Nilai Eigenvalues dan Eigenvectors merupakan nilai ciri yang dapat membedakan citra wajah satu mahasiswa dengan yang lain. Nilai Eigenvalues dan Eigenvectors sebanyak data citra wajah training. Sehingga akan menghasilkan matriks Eigenvalues berdimensi 300x300dan Eigenvectors berdimensi 300x300.


(53)

6. Mengurutkan nilai Eigenvalues dari yang terbesar ke terkecil lalu disertai nilai masing-masing Eigenvectors.

Mengurutkan nilai ciri yang mempunyai nilai terbesar ke terkecil, sehingga akan mengurutkan nilai ciri yang memiliki varian terbesar ke terkecil.

7. Menghitung nilai Eigenvectors sebanyak M (jumlah gambar training).

Mengalikan matriks A berdimensi 40000x300 dengan matriks Eigenvectors berdimensi 300x300 sehingga akan menghasilkan matriks U berdimensi 40000x300.

8. Memproyeksikan Γ ke dalam Eigenspace.

Mengalikan matriks U yang telah di-transpose berdimensi 300x40000 dengan matriks A. Kemudian hasilnya akan di-transpose kembali, sehingga menghasilkan matriks W berdimensi 300x300. 9. Menghitung nilai Threshold (�).

Mencari nilai batas atau jarak minimum untuk mengetahui bahwa citra yang di-uji terdapat dalam data training atau tidak. Perhitungannya dengan mencari jarak antar nilai tiap citra pada matriks W, kemudian dicari yang paling besar dan dikalikan nilai indeks threshold yang di-inputkan user.


(54)

Pseudo-code Metode Eigenface : start

Deklarasi set citra wajah training dengan matriks berukuran N x N for all citra wajah training

Baca data citra

Ubah skala warna dari RGB ke Grayscale Ubah matriks dua dimensi menjadi satu dimensi

Gabungkan tiap matriks dalam suatu matriks Γ berukuran M x N endfor

Cari nilai matriks rata-rata ) dari matriks Γ Ubah tipe data matriks Γ menjadi double for i=1:size(Γ)

Kurangi setiap kolom matriks Γ dengan matriks Gabungkan hasilnya kembali dalam satu matriks A endfor

Hitung matriks kovarian dari matriks A

Hitung nilai matriks ciri Eigenvalues � dan Eigenvector Urutkan nilai matriks ciri Eigenvalues � dan Eigenvector dari yang terbesar ke terkecil

Hitung nilai matriks u dengan mengkalikan matriks A dengan matriks ciri Hitung nilai matriks dengan mengkalikan matriks uT dengan A lalu transpose hasilnya

for i=1:size( ,

for j=(i+1): size( ,

Hitung jarak tiap kolom pada matriks endfor

endfor

Hitung nilai threshold (�) dari perkalian nilai indeksthreshold yang di-inputkan user dengan nilai jarak terbesar pada kolom matriks end


(55)

3.2.3. Proses Pengujian

Setelah melakukan proses Feature Extraction pada data training suatu set, proses selanjutnya yaitu melakukan pengujian data testing pada set tersebut. Sebelum melakukan pengujian, data testing juga harus melalui proses Preprocessing yaitu Cropping, perubahan ukuran dimensi citra dan Grayscalling.

Kemudian setelah melalui proses Preprocessing, set data testing juga melalui proses Feature Extraction. Tetapi, untuk data testing pencarian ciri yang akan dibandingkan dengan data training menggunakan proses yang berbeda dengan data training. Proses pencarian ciri data testing yaitu :

1. Mengambil set atau kumpulan gambar testing untuk pengenalan. Kemudian ubah matriks tiap gambar testing berukuran dua dimensi menjadi satu dimensi N2 x 1.

Proses ini sama dengan proses pencarian ciri pada data training, yaitu semua citra wajah data testing dua dimensi diubah menjadi satu dimensi. Sehingga dari matriks berdimensi 200x200 akan menjadi matriks berdimensi 40000x1 (untuk 1 citra).

2. Mengurangi nilai matriks gambar testing dengan nilai matriks rata-rata dari data training

Proses ini juga sama dengan pencarian ciri pada data training yaitu matriks citra wajah data testing tipe datanya diubah menjadi double. Lalu mengurangi nilai tiap kolom pada matriks dengan matriks rata-rata dari perhitungan data training. Sehingga akan menghasilkan matriks baru (� ) berdimensi 40000x1 (untuk 1 citra).

3. Memproyeksikan gambar testing dalam Eigenspace

Pada proses inilah, pencarian ciri pada data training dan data testing berbeda. Pencarian ciri atau komponen eigenface pada data testing melalui perkalian antara matriks U dari data training yang telah


(56)

di-transpose berdimensi 300x40000 dengan matriks � . Kemudian hasilnya akan di-transpose kembali, sehingga menghasilkan matriks berdimensi 1x300 (untuk 1 citra). Perkalian tersebut bertujuan untuk memproyeksikan citra wajah data testing ke dalam Eigenspace, sehingga dapat dibandingkan atau dicari jarak antara citra wajah data testing dengan citra wajah data training.

Untuk mengenali citra wajah data testing pada citra wajah data training, maka dilakukan pencarian jarak antara dengan menggunakan Euclidean Distance. Pencarian jarak akan dilakukan dari satu per satu setiap baris atau tiap citra wajah training pada matriks pada data training. Setiap hasil dari pengurangan dengan matriks tiap baris akan dicatat dalam satu matriks. Lalu akan memberi nomor atau indeks pada tiap barisnya dari 1-300 (banyaknya data training) sehingga dapat menunjukkan pada citra wajah training ke berapa memiliki jarak paling dekat. Kemudian akan diambil jarak yang paling minimum dari hasil pencarian jarak antara dengan dengan mengurutkannya dari paling kecil ke besar. Hasil jarak paling kecil menunjukkan citra wajah testing sesuai atau mirip dengan citra pada indeks matriks yang mempunyai jarak paling minimum atau berada pada baris pertama. Misalnya nilai adalah 25. Kemudian nilai tiap citra pada data training (4 citra) :

Tabel 3.3. Contoh Matriks Matriks

55 75 40 35


(57)

Langkah selanjutnya adalah mencari jarak citra wajah testing terhadap tiap citra atau baris pada matriks dan memberi nomor atau indeks tiap barisnya.

Tabel 3.4. Contoh perhitungan jarak Matriks Indeks Jarak

1 =

2 =

3 =

4 =

Kemudian mencari jarak paling minimum dengan mengurutkan tabel tersebut berdasarkan kolom jarak secara ascending.

Tabel 3.5. Contoh pencarian jarak paling minimum Matriks Indeks Jarak

4 10 3 15 1 30 2 50

Dari hasil perhitungan jarak tabel di-atas menunjukkan bahwa citra wajah testing mirip atau cocok dengan citra wajah training pada indeks atau urutan ke-4 pada set data training.


(58)

4. Pengecekan hasil perhitungan jarak dengan nilai threshold � . Setelah menemukan jarak paling dekat, langkah selanjutnya adalah melakukan pengecekan pada hasil perhitungan jarak paling minimum tersebut apakah telah memenuhi batas threshold.

Jika hasil perhitungan jarak paling minimum melebihi nilai threshold maka citra data testing merupakan citra yang tidak diketahui atau tidak ada dalam data training. Namun jika hasil perhitungan jarak paling minimum kurang dari nilai threshold, maka citra data testing diketahui atau ada dalam data training.

Sehingga akan masuk ke dalam proses selanjutnya, yaitu klasifikasi, untuk menunjukkan citra wajah testing tersebut sesuai atau cocok dengan citra wajah training yang mana. Lalu akan menampilkan informasi nama file citra, nama, dan nim mahasiswa yang sesuai dengan citra testing.

Tabel 3.6. Data mahasiswa TI USD angkatan 2013 yang digunakan beserta label file

No. Nama Mahasiswa NIM Label

1. A Fendi Pratama 135314113 a

2. Yeremia Yoga Pratama 135314007 b 3. Kautsar Rusydi Rahmatullah 135314093 c 4. Dwi Putra Prihandito 135314048 d 5. Damian Arif Pradana 135314047 e 6. Gabriel Indra Widi Tamtama 135314075 f 7. Sonny Fernando K.Adji 135314084 g 8. Widya Yoga Arkadia 135314059 h 9. Angela Mediatrix Melly 135314074 i

10. Martin Nugraha 135314037 j


(59)

12. Ni Komang Asih Setiawati 135314104 l 13. Gerardo Adhitya Nugroho 135314068 m 14. Marcellina Fanny Kusuma Wardani 135314013 n

15. Ekky Alfian 135314086 o

16. Aloysius Tanto Wibowo 135314061 p

17. Elvino Prayogo 135314095 q

18. Yohanes Christian Brilliangga 135314058 r 19. Baptista Yorangga Varani 135314123 s 20. Yosep Kartika Dewandaru 135314076 t 21. Hironimus Hendra Setiawan 135314126 u 22. Yosia Adi Febrian 135314036 v 23. Tommy Nugraha Manoppo 135314027 w 24. Raymond Apriyogi Diki Putra 135314004 x 25. Andre Fransisco Bayuputra 135314015 y

Label tersebut menunjukkan penamaan file citra tiap mahasiswa. Jadi misalnya A Fendi Pratama memiliki label a, maka nama 18 file citra dari A Fendi Pratama berawalan huruf a (a1-a18.jpg) begitu juga dengan mahasiswa lainnya.


(60)

Tabel 3.7. Contoh penentuan label pada suatu indeks Indeks Jarak

1 2

12 13 14

24 25 26

36

300

Cara untuk menentukan suatu indeks merupakan label apa adalah dengan melakukan pengecekan. Setiap mahasiswa atau label mempunyai citra data training sebanyak 12 (nobyek), sehingga 12 indeks mempunyai label yang sama. Jadi setiap 12 indeks akan mempunyai label yang berbeda. Proses pengecekannya :

1. Jika jarak terkecil terdapat pada indeks ke ≤ maka citra wajah testing sesuai dengan citra wajah berlabel a, sehingga akan menampilkan identitas mahasiswa berlabel a.

2. Jika jarak terkecil terdapat pada indeks ke > ≤

∗ maka citra wajah testing sesuai dengan citra wajah berlabel b, sehingga akan menampilkan identitas mahasiswa berlabel b.

3. Jika jarak terkecil terdapat pada indeks > ∗ ≤

∗ maka citra wajah testing sesuai dengan citra wajah Citra label a

Citra label b


(61)

berlabel c, sehingga akan menampilkan identitas mahasiswa berlabel c.

4. Jika jarak terkecil terdapat pada indeks > ∗ ≤

∗ maka citra wajah testing sesuai dengan citra wajah berlabel d, sehingga akan menampilkan identitas mahasiswa berlabel d.

5. Jika jarak terkecil terdapat pada indeks > ∗ ≤

∗ maka citra wajah testing sesuai dengan citra wajah berlabel e, sehingga akan menampilkan identitas mahasiswa berlabel e.

6. Jika jarak terkecil terdapat pada indeks > ∗ ≤

∗ maka citra wajah testing sesuai dengan citra wajah berlabel f, sehingga akan menampilkan identitas mahasiswa berlabel f.

7. Jika jarak terkecil terdapat pada indeks > ∗ ≤

∗ maka citra wajah testing sesuai dengan citra wajah berlabel g, sehingga akan menampilkan identitas mahasiswa berlabel g.

8. Jika jarak terkecil terdapat pada indeks > ∗ ≤

∗ maka citra wajah testing sesuai dengan citra wajah berlabel h, sehingga akan menampilkan identitas mahasiswa berlabel h.

9. Jika jarak terkecil terdapat pada indeks > ∗ ≤

∗ maka citra wajah testing sesuai dengan citra wajah berlabel i, sehingga akan menampilkan identitas mahasiswa berlabel i.

10.Jika jarak terkecil terdapat pada indeks > ∗ ≤

∗ maka citra wajah testing sesuai dengan citra wajah berlabel j, sehingga akan menampilkan identitas mahasiswa berlabel j.


(62)

11.Jika jarak terkecil terdapat pada indeks > ∗ ≤

∗ maka citra wajah testing sesuai dengan citra wajah berlabel k, sehingga akan menampilkan identitas mahasiswa berlabel k.

12.Jika jarak terkecil terdapat pada indeks > ∗ ≤

∗ maka citra wajah testing sesuai dengan citra wajah berlabel l, sehingga akan menampilkan identitas mahasiswa berlabel l.

13.Jika jarak terkecil terdapat pada indeks > ∗ ≤

∗ maka citra wajah testing sesuai dengan citra wajah berlabel m, sehingga akan menampilkan identitas mahasiswa berlabel m.

14.Jika jarak terkecil terdapat pada indeks > ∗ ≤

∗ maka citra wajah testing sesuai dengan citra wajah berlabel n, sehingga akan menampilkan identitas mahasiswa berlabel n.

15.Jika jarak terkecil terdapat pada indeks > ∗ ≤

∗ maka citra wajah testing sesuai dengan citra wajah berlabel o, sehingga akan menampilkan identitas mahasiswa berlabel o.

16.Jika jarak terkecil terdapat pada indeks > ∗ ≤

∗ maka citra wajah testing sesuai dengan citra wajah berlabel p, sehingga akan menampilkan identitas mahasiswa berlabel p.

17.Jika jarak terkecil terdapat pada indeks > ∗ ≤

∗ maka citra wajah testing sesuai dengan citra wajah berlabel q, sehingga akan menampilkan identitas mahasiswa berlabel q.

18.Jika jarak terkecil terdapat pada indeks > ∗ ≤


(63)

wajah berlabel r, sehingga akan menampilkan identitas mahasiswa berlabel r.

19.Jika jarak terkecil terdapat pada indeks > ∗ ≤

∗ maka citra wajah testing sesuai dengan citra wajah berlabel s, sehingga akan menampilkan identitas mahasiswa berlabel s.

20.Jika jarak terkecil terdapat pada indeks > ∗ ≤

∗ maka citra wajah testing sesuai dengan citra wajah berlabel t, sehingga akan menampilkan identitas mahasiswa berlabel t.

21.Jika jarak terkecil terdapat pada indeks > ∗ ≤

∗ maka citra wajah testing sesuai dengan citra wajah berlabel u, sehingga akan menampilkan identitas mahasiswa berlabel u.

22.Jika jarak terkecil terdapat pada indeks > ∗ ≤

∗ maka citra wajah testing sesuai dengan citra wajah berlabel v, sehingga akan menampilkan identitas mahasiswa berlabel v.

23.Jika jarak terkecil terdapat pada indeks > ∗ ≤

∗ maka citra wajah testing sesuai dengan citra wajah berlabel w, sehingga akan menampilkan identitas mahasiswa berlabel w.

24.Jika jarak terkecil terdapat pada indeks > ∗ ≤

∗ maka citra wajah testing sesuai dengan citra wajah berlabel x, sehingga akan menampilkan identitas mahasiswa berlabel x.

25.Jika jarak terkecil terdapat pada indeks > ∗ ≤

∗ maka citra wajah testing sesuai dengan citra wajah berlabel y, sehingga akan menampilkan identitas mahasiswa berlabel y.


(64)

Jadi, jika hasil perhitungan jarak seperti : Tabel 3.8. Contoh perhitungan jarak 5 citra

Indeks Jarak 35 10 23 20 4 30 104 40 284 50

Jarak terkecil merupakan baris pertama pada tabel setelah di-urutkan. Sehingga, jarak terkecil citra testing dan citra training berada pada indeks ke-35. Karena indeks ke 35 merupakan rentang dari > ≤ 36 maka citra wajah testing sesuai dengan citra wajah berlabel c, sehingga akan menampilkan identitas mahasiswa berlabel c.


(1)

User Interface :

facerec.fig

facerec.m

function varargout = facerec(varargin)

% FACEREC MATLAB code for facerec.fig

% FACEREC, by itself, creates a new FACEREC or raises the existing

% singleton*. %

% H = FACEREC returns the handle to a new FACEREC or the handle to

% the existing singleton*. %

% FACEREC('CALLBACK',hObject,eventData,handles,...) calls the local

% function named CALLBACK in FACEREC.M with the given input arguments.

%

% FACEREC('Property','Value',...) creates a new FACEREC or raises the

% existing singleton*. Starting from the left, property value pairs are

% applied to the GUI before facerec_OpeningFcn gets called. An


(2)

% unrecognized property name or invalid value makes property application

% stop. All inputs are passed to facerec_OpeningFcn via varargin.

%

% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one

% instance to run (singleton)". %

% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help facerec % Last Modified by GUIDE v2.5 27-May-2017 13:07:47

% Begin initialization code - DO NOT EDIT

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @facerec_OpeningFcn, ...

'gui_OutputFcn', @facerec_OutputFcn, ...

'gui_LayoutFcn', [] , ...

'gui_Callback', []);

if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

gui_mainfcn(gui_State, varargin{:});

end

% End initialization code - DO NOT EDIT

% --- Executes just before facerec is made visible.

function facerec_OpeningFcn(hObject, eventdata, handles, varargin)

% This function has no output args, see OutputFcn. % hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA) % varargin command line arguments to facerec (see VARARGIN) % Choose default command line output for facerec

handles.output = hObject; axes(handles.logo);

logo=imread('C:\Users\Jonathan\Pictures\sadhar.png','BackgroundC olor',[0.941 0.941 0.941]);

imshow(logo);

black=imread('C:\Users\Jonathan\Pictures\black.jpg'); handles.black=black;


(3)

% Update handles structure

guidata(hObject, handles);

% UIWAIT makes facerec wait for user response (see UIRESUME) % uiwait(handles.figure1);

% --- Outputs from this function are returned to the command line.

function varargout = facerec_OutputFcn(hObject, eventdata, handles)

% varargout cell array for returning output args (see VARARGOUT);

% hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure

varargout{1} = handles.output;

% --- Executes on button press in Browse.

function Browse_Callback(hObject, eventdata, handles)

% hObject handle to Browse (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

[filename,pathlocation]=uigetfile('*.jpg','Select Test Image'); imagetest=imread([pathlocation,filename]);

testname=strtok(filename,'.') handles.imagetest=imagetest; handles.testname=testname; guidata(hObject,handles); axes(handles.testaxes); imshow(imagetest);

set(handles.InputImage,'string',filename); set(handles.TestingPath,'string',pathlocation);

% --- Executes on button press in Recognition.

function Recognition_Callback(hObject, eventdata, handles)

% hObject handle to Recognition (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

R = evalin('base', 'R'); Ui = evalin('base', 'Ui'); W = evalin('base', 'W');

biodata = evalin('base', 'biodata'); n = evalin('base', 'n');

nobyek = evalin('base', 'nobyek'); files = evalin('base', 'files');

threshold = evalin('base', 'threshold');

testingimg = evalin('base', handles.testname); testingpath = get(handles.TestingPath,'string');


(4)

[matrikseuclid,label,nama,nim]=testingauto(testingimg,R,Ui,W,bio data,n,nobyek,files,threshold);

unknown='Gambar tidak diketahui';

if(strcmp(label,unknown)==1)

set(handles.Keterangan,'string','Data Tidak Diketahui'); set(handles.OutputImage,'string','null');

axes(handles.matchaxes); imshow(handles.black);

else

matchtest=imread([trainingpath,label]); handles.matchtest=matchtest;

guidata(hObject,handles); axes(handles.matchaxes); imshow(handles.matchtest);

set(handles.OutputImage,'string',label); if(label(1)==handles.testname(1))

set(handles.Keterangan,'string','Data Sesuai'); elseif(label(1)~=handles.testname(1))

set(handles.Keterangan,'string','Data Tidak Sesuai'); end

end

set(handles.NamaLengkapValue,'string',nama); set(handles.NIMValue,'string',nim);

function NamaLengkapValue_Callback(hObject, eventdata, handles)

% hObject handle to NamaLengkapValue (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of

NamaLengkapValue as text

% str2double(get(hObject,'String')) returns contents of NamaLengkapValue as a double

% --- Executes during object creation, after setting all properties.

function NamaLengkapValue_CreateFcn(hObject, eventdata, handles)

% hObject handle to NamaLengkapValue (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows.

% See ISPC and COMPUTER.

% --- Executes during object creation, after setting all properties.

function NIMValue_CreateFcn(hObject, eventdata, handles)


(5)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

function NIMValue_Callback(hObject, eventdata, handles)

% hObject handle to NIMValue (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of NIMValue as text

% str2double(get(hObject,'String')) returns contents of NIMValue as a double

% --- Executes during object creation, after setting all properties.

function Keterangan_CreateFcn(hObject, eventdata, handles)

% hObject handle to Keterangan (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% --- Executes on button press in Pretesting. % hObject handle to Pretesting (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% --- Executes on button press in Testingall.

function Testingall_Callback(hObject, eventdata, handles)

% hObject handle to Testingall (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

tic

h = waitbar(0,'Processing...'); allmatrikseuclid=[];

hasilklasifikasi=[]; truematriks=[]; matrikskebenaran=[]; true=0;

false=0; akurasi=0;

alllabelresult={}; labelresult={};


(6)

R = evalin('base', 'R'); Ui = evalin('base', 'Ui'); W = evalin('base', 'W');

biodata = evalin('base', 'biodata'); n = evalin('base', 'n');

nobyek = evalin('base', 'nobyek'); files = evalin('base', 'files');

threshold = evalin('base', 'threshold'); j = evalin('base', 'j');

filestest = evalin('base', 'filestest');

for i=1:j waitbar(i / j)

a=strtok(filestest(i).name,'.'); testingallimage = evalin('base', a);

[matrikseuclid,label,nama,nim]=testingauto(testingallimage,R,Ui, W,biodata,n,nobyek,files,threshold);

allmatrikseuclid=[allmatrikseuclid;matrikseuclid]; alllabelresult{i}={a,label};

labelresult=alllabelresult{1,i}

hasilklasifikasi=[hasilklasifikasi;labelresult];

if(a(1)==label(1)) true=1;

truematriks=[truematriks; true];

else

true=0;

truematriks=[truematriks; true];

end

akurasi=sum(truematriks)/j*100;

end

hasilakurasi=['Akurasi : ', num2str(akurasi), ' %']; disp(hasilakurasi);

matrikskebenaran=[allmatrikseuclid,truematriks]; matrikskebenaran=num2cell(matrikskebenaran); allhasil=[hasilklasifikasi,matrikskebenaran]; set(handles.Akurasi,'string',akurasi);

set(handles.Allhasil,'Data',allhasil); set(handles.Allhasil,'Visible','on'); toc