PENGENALAN WAJAH MANUSIA MENGGUNAKAN ALGORITMA EIGENFACE.

PENGENALAN WAJ AH MANUSIA
MENGGUNAKAN ALGORITMA EIGENFACE

SKRIPSI

Disusun oleh :

RULLY GITA HARTANTYO
NPM. 0934010219

J URUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”
J AWA TIMUR
2013

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

PENGENALAN WAJ AH MANUSIA
MENGGUNAKAN ALGORITMA EIGENFACE


SKRIPSI
Diajukan Untuk Memenuhi Sebagai Persyaratan
Dalam Memperoleh Gelar Sarjana Komputer
Jurusan Teknik Informatika

Disusun oleh :

RULLY GITA HARTANTYO
NPM. 0934010219

J URUSAN TEKNIK INFORMATIKA
FAKULTAS TEKNOLOGI INDUSTRI
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN”
J AWA TIMUR
2013

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.


LEMBAR PENGESAHAN

PENGENALAN WAJ AH MANUSIA
MENGGUNAKAN ALGORITMA EIGENFACE

Disusun oleh :

RULLY GITA HARTANTYO
NPM. 0934010219

Telah disetujui untuk mengikuti Ujian Negara Lisan
Gelombang IV Tahun Akademik 2012/2013

Pembimbing

Basuki Rahmat, S.Si, MT
NPT. 36907 060 2091

Mengetahui,
Ketua J ur usan Teknik Infor matika

Fakultas Teknologi Industr i
UPN “Veter an” J awa Timur

Dr. Ir . Ni Ketut Sar i, MT
NIP. 19650731 199203 2 001

SKRIPSI

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

PENGENALAN WAJ AH MANUSIA
MENGGUNAKAN ALGORITMA EIGENFACE
Disusun oleh :
RULLY GITA HARTANTYO
NPM. 0934010219
Telah dipertahankan dihadapkan dan diterima oleh Tim Penguji Skripsi
J urusan Teknik Infor matika Fakultas Teknologi Industri
Univer sitas Pembangunan Nasional “Veteran” J awa Timur
Pada Tanggal 14 J uni 2013

Pembimbing :

Tim Penguji :
1.

Basuki Rahmat, S.Si, MT
NPT. 36907 060 2091

Intan Yuniar P., S.Kom, MSc.
NPT. 38006 040 1981
2.

Wahyu S.J . Saputr a, S.Kom, M.Kom
NPT. 38608 100 2951
3.

Bar ry Nuqoba, S.Si, M.Kom
NIP. 198411020 21212 1 002

Mengetahui,

Dekan Fakultas Teknologi Industr i
Universitas Pembangunan Nasional “Veter an” J awa Timur

Ir . SUTIYONO, MT.
NIP. 19600713 198703 1001

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

YAYASAN KESEJ AHTERAAN PENDIDIK AN DAN PERUM AHAN
UNIVERSITAS PEMBANGUNAN NASIONAL “VETERAN” J AWA TIMUR
FAKULTAS TEKNOLOGI INDUSTRI
PANITIA UJ I AN SKRIPSI / KOMPREHENSIF

KETERANGAN REVISI

Mahasiswa di bawah ini :
Nama

: RULLY GITA HARTANTYO


NPM

: 0934010219

Jurusan

: Teknik Informatika

Telah mengerjakan revisi/ tidak ada revisi*) pra rencana (design)/ skripsi ujian
lisan gelombang IV, TA 2012/2013 dengan judul:
“PENGENALAN WAJ AH MANUSIA MENGGUNAKAN ALGORITMA
EIGENFACE ”

Surabaya, Juni 2013
Dosen Penguji yang memerintahkan revisi :

1) Intan Yuniar P., S.Kom, MSc.

{


}

{

}

{

}

NPT. 38006 040 1981

2) Wahyu S.J. Saputra, S.Kom, M.Kom
NPT. 38608 100 2951

3) Barry Nuqoba, S.Si, M.Kom
NPT. 198411020 21212 1 002

Mengetahui,

Pembimbing

Basuki Rahmat, S.Si, MT
NPT. 36907 060 2091

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

UCAPAN TERIMA KASIH

Skripsi ini dapat diselesaikan dengan baik karena dukungan, bimbingan dan
bantuan dari berbagi pihak. Oleh karena itu dalam kesempatan ini perkenankan
penulis mengucapkan rasa terima kasih yang sebesar-besarnya kepada :
1) Allah SWT., karena berkat rahmat dan karunia-Nya penulis dapat menyusun
dan menyelesaikan skripsi ini.
2) Keluarga tercinta. Ayah dan Ibu yang selalu memberikan kasih sayang,
dukungan moril, doa, semangat dan materiil yang tiada henti-hentinya. Mbak
Yani, mbak Riska, dek Rudhy dan dek Dhian tersayang yang selalu
memberikan semangat. Serta keponakan yang lucu-lucu (kak Atha, si kembar
kak Ndut dan kak Nit, dedek Chia) yang selalu mengobati di saat kejenuhan.

Dan juga Ay’ Lia Noviana yang selalu mendampingi, memberikan semangat
dan motivasi serta perhatian dan pengertian yang luar biasa.
3) Bapak Prof. Dr. Ir. Teguh Soedarto, MP selaku Rektor Universitas
Pembangunan Nasional “Veteran” Jawa Timur.
4) Bapak Sutiyono, MT selaku Dekan Fakultas Teknologi Industri UPN
“Veteran” Jawa Timur.
5) Ibu Dr. Ir. Ni Ketut Sari, MT selaku Ketua Jurusan Teknik Informatika UPN
“Veteran” Jawa Timur.
6) Bapak Frinda Wahyu N., S.Kom selaku PIA Tugas Akhir Teknik Informatika
UPN “Veteran” Jawa Timur.

iii
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

iv

7) Bapak Basuki Rahmat, S.Si, MT selaku dosen pembimbing skripsi ini di
UPN “Veteran” Jawa Timur yang telah banyak memberikan waktu,
bimbingan dan petunjuk sejak awal hingga terselesainya skripsi ini.

8) Sahabat seperjuangan Ryan Raynaldi, Kanti Putri R., Firna Anas O., Rizky
S., Ganggang R. dan Nur Vibria. Tiada hari siang malam tanpa ngopi dan
ngoding. Kenanglah selalu momen-momen indah pada saat itu.
9) Semua teman-teman Teknik Informatika 2009 UPN “Veteran” Jawa Timur.

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

KATA PENGANTAR

Puji syukur alhamdulillaahi rabbil ‘alamiin penulis ucapkan kehadirat
Allah SWT atas segala rahmat serta karunia-Nya yang diberikan kepada penulis
sehingga penulis dapat menyelesaikan skripsi yang berjudul “PENGENALAN
WAJ AH MANUSIA MENGGUNAKAN ALGORITMA EIGENFACE”.
Skripsi dengan beban 4 SKS ini disusun sebagai salah satu syarat untuk
menyelesaikan program Strata Satu (S1) pada jurusan Teknik Informatika,
Fakultas Teknologi Industri, UPN “Veteran” Jawa Timur.
Penulis menyadari bahwa penulisan skripsi ini masih jauh dari
kesempurnaan dikarenakan pengetahuan dan pengalaman yang dimiliki oleh
penulis masih sangat terbatas dan masih perlu diperbaiki baik dari segi penyajian

maupun isinya. Oleh karena itu, penulis mengharapkan kritik dan saran yang
bersifat membangun dari semua pihak yang membaca skripsi ini. Semoga skripsi
ini bermanfaat bagi semua pembaca pada umumnya dan bagi penulis pada
khususnya. Amiin.

Surabaya, Mei 2013

(Penulis)

ii
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

DAFTAR ISI
Halaman
LEMBAR PENGESAHAN
ABSTRAK ..................................................................................................

i

KATA PENGANTAR ................................................................................ ii
UCAPAN TERIMA KASIH ...................................................................... iii
DAFTAR ISI ...............................................................................................

v

DAFTAR GAMBAR .................................................................................. viii
DAFTAR TABEL ......................................................................................

x

BAB I PENDAHULUAN ..........................................................................

1

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

1

1.2. Rumusan Masalah ..................................................................

3

1.3. Batasan Masalah ....................................................................

3

1.4. Tujuan ……….. .....................................................................

4

1.5. Manfaat .................................................................................

4

BAB II TINJ AUAN PUSTAKA ...............................................................

6

2.1. Peneliti Pendahulu .................................................................

6

2.2. Image ....................................................................................

7

2.2.1. Definisi Image .............................................................

7

2.2.2. Warna ..........................................................................

8

2.3. Pengolahan Citra Digital (Image Processing) ......................... 10

v
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

vi

2.3.1. Tahap Resizing ............................................................. 10
2.3.2. Tahap Grayscaling ....................................................... 11
2.4. Pengenalan Citra Wajah ........................................................ 12
2.4.1. Eigenvalue, Eigenvector dan Eigenface ........................ 13
2.4.2. Eigenvalue ................................................................... 13
2.4.3. Eigenvector .................................................................. 14
2.4.4. Algoritma Eigenface .................................................... 16
2.5. Visual Basic .......................................................................... 25
2.6. Emgu CV .............................................................................. 27
2.7. haarcascade_frontalface_default.xml .................................... 32

BAB III METODOLOGI PENELITIAN ................................................. 34
3.1. Analisis Sistem ...................................................................... 34
3.1.1. Pre-processing ............................................................. 36
3.1.2. Feature Extraction ....................................................... 39
3.1.3. Recognition Process ...................................................... 40
3.2. Perancangan Interface ........................................................... 41
3.2.1. Interface Tampilan Awal .............................................. 41
3.2.2. Interface Menu ............................................................. 41
3.2.3. Interface Face Registration .......................................... 42
3.2.4. Interface Face Recognition .......................................... 43
3.3. Lingkungan Implementasi ..................................................... 43

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

vii

BAB IV HASIL DAN PEMBAHASAN ..................................................... 45
4.1. Implementasi Data ................................................................ 45
4.2. Implementasi Interface .......................................................... 45
4.3. Implementasi Proses .............................................................. 51
4.3.1. Proses Mengaktifkan Web-Camera dan
Deteksi Area Wajah ..................................................... 57
4.3.2. Proses Grayscale .......................................................... 58
4.3.3. Proses Resize ................................................................ 58
4.3.4. Proses Save to Database Training Faces ...................... 58
4.3.5. Proses Pengenalan Citra Wajah .................................... 60
4.4. Uji Coba Program ................................................................. 62
4.4.1. Skenario Uji Coba ........................................................ 62
4.4.2. Pelaksanaan Uji Coba .................................................. 63
4.5. Evaluasi Aplikasi .................................................................. 68
4.5.1. Analisis Proses Face Registration ................................ 69
4.5.2. Analisis Proses Face Recognition ................................. 72

BAB V KESIMPULAN DAN SARAN ..................................................... 74
5.1. Kesimpulan ........................................................................... 74
5.2. Saran .................................................................................... 75

DAFTAR PUSTAKA ................................................................................. 76

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

J UDUL
PENYUSUN
DOSEN PEMBIMBING

: PENGENALAN WAJ AH MANUSIA MENGGUNAKAN
ALGORITMA EIGENFACE
: RULLY GITA HARTANTYO
: BASUKI RAHMAT, S.Si, MT

ABSTRAK

Penelitian tentang sistem keamanan terutama keamanan berbasis
pengenalan wajah secara otomatis telah berkembang pesat. Dalam penerapannya,
aplikasi pengenalan citra wajah ini menggunakan sebuah web-camera untuk
menangkap citra wajah seseorang secara real-time kemudian dibandingkan
dengan wajah yang sebelumnya telah disimpan di dalam database tertentu.
Ada beberapa metode untuk proses pengenalan wajah. Pada penelitian ini
menggunakan metode Eigenface dengan bahasa pemrograman Visual Basic,
compiler Microsoft Visual Studio 2010 (.Net) dan image processing library Emgu
CV. Metode ini mempunyai komputasi yang sederhana dan cepat. Secara garis
besar proses dari aplikasi ini adalah kamera melakukan capture pada citra wajah
sehingga didapatkan sebuah nilai RGB. Dengan menggunakan pemrosesan awal,
dilakukan resize dan RGB ke gray. Metode eigenface berfungsi untuk menghitung
eigenvalue dan eigenvector yang akan digunakan sebagai fitur dalam melakukan
pengenalan. Metode euclidean distance digunakan untuk mencari jarak dengan
data fitur yang telah didapat dan jarak terkecil adalah hasilnya.
Dari percobaan dan pengujian yang dilakukan, aplikasi dapat mengenali
citra wajah dengan tingkat keberhasilan sampai 85%. Tinggi rendahnya unsur
pencahayaan yang berada di sekitar obyek sangat mempengaruhi proses
pendeteksian.

Kata Kunci : Eigenface, Pengenalan Wajah

i
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

BAB I
PENDAHULUAN

1.1.

Latar Belakang
Keamanan merupakan salah satu aspek penting dalam kehidupan manusia.

Penelitian tentang sistem keamanan terutama keamanan berbasis pengenalan citra
wajah secara otomatis telah berkembang pesat beberapa tahun ini. Hal tersebut
dikarenakan semakin tingginya permintaan aplikasi komputer untuk identifikasi
dalam lingkup penegak hukum, autentifikasi pada perbankkan dan sistem
keamanan lainnya.
Pengenalan citra wajah secara otomatis dan terkomputerisasi diadopsi
pada kemampuan manusia yang kemudian diimplementasikan dengan pendekatan
konsep learning. Dengan pendekatan konsep learning, sebuah program komputer
dapat mempelajari karakteristik dari data-data yang diberikan kemudian mampu
menggeneralisasikannya ke dalam bentuk pengetahuan. Pengetahuan ini yang
kemudian digunakan untuk membuat sistem pengenalan citra wajah yang
memiliki kemampuan seperti manusia.
AI atau Artificial Intelligence adalah kecerdasan yang diciptakan dan
dimasukkan ke dalam suatu mesin (komputer) agar dapat melakukan pekerjaan
seperti yang dapat dilakukan manusia. Salah satu cabang dari ilmu komputer
artificial intelligence adalah computer vision yang bertujuan untuk memahami isi
citra (image content). Area permasalahan dalam computer vision adalah
pengukuran dan pemrosesan citra, seperti pengenalan citra wajah manusia yang

1
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

2

dapat dilakukan dengan berbagai metode. Sistem pengenalan citra wajah manusia
memiliki aplikasi yang luas di bidang keamanan dan antarmuka komputer dengan
manusia. Suatu sistem pengenalan citra wajah yang lengkap terdiri dari beberapa
modul : face detection/location, facial feature extraction, dan face recognition.
Ada beberapa metode untuk proses pengenalan citra wajah. Salah satunya
adalah dengan menggunakan algoritma Eigenface. Algoritma Eigenface secara
keseluruhan cukup sederhana. Training images direpresentasikan dalam sebuah
vektor flat (gabungan vektor) dan digabung bersama-sama menjadi sebuah
matriks tunggal. Eigenface dari masing-masing citra kemudian diekstraksi dan
disimpan dalam file temporary atau database. Test image yang masuk
didefinisikan juga nilai eigenface-nya dan dibandingkan dengan eigenface dari
image dalam database atau temporary.
Sebelumnya telah dilakukan penelitian mengenai algoritma eigenface
dengan judul Rekayasa Sistem Pengenalan Wajah Menggunakan Algoritma
Eigenface Untuk Membangun Sistem Presensi Karyawan (Al Fatta Hanif, 2009).
Kelebihan dari penelitian tersebut adalah dijelaskan dengan detail bagaimana
membangun suatu sistem presensi karyawan dengan menggunakan algoritma
eigenface untuk mengenali citra wajah yang ter-capture kamera. Kekurangan dari
penelitian tersebut adalah citra wajah yang ter-capture tidak terdeteksi secara
otomatis.
Di dunia computer vision untuk mempermudah developer dalam
mengembangkan aplikasi pengolahan citra digunakanlah library seperti VXL,
Camellia, Open CV, dan lainnya. Open CV merupakan library yang paling

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

3

terkenal dan paling banyak digunakan hingga saat ini. Open CV dikembangkan
oleh Intel. Mulanya ditulis dalam bahasa C dan sekarang juga menyertakan
interface C++ sejak versi 2.0. Tentunya library ini secara default hanya bisa
digunakan oleh program yang ditulis dengan C atau C++. Agar fungsi-fungsi
dalam Open CV bisa dipanggil melalui bahasa pemrograman yang compatible
dengan .NET seperti C#, VB, dan VC++, maka dibuatlah Emgu CV yang
merupakan wrapper .Net untuk Open CV.

1.2.

Rumusan Masalah
Berdasarkan latar belakang tersebut maka dapat dirumuskan masalah

sebagai berikut :
1.

Bagaimana menerapkan tahapan proses untuk membuat sebuah aplikasi
pengenalan citra wajah dengan menggunakan library Emgu CV.

2.

Bagaimana menerapkan algoritma Eigenface pada library Emgu CV untuk
proses pengenalan citra wajah.

1.3.

Batasan Masalah
Adapun batasan-batasan masalah yang dibuat agar dalam pengerjaan tugas

akhir ini dapat berjalan dengan baik adalah sebagai berikut :
1. Citra wajah yang akan dideteksi adalah citra wajah yang menghadap ke
depan (frontal face), dalam posisi tegak dan tidak terhalangi sebagian oleh
objek lain (kacamata atau rambut).
2. Pengambilan citra dilakukan dengan web-camera beresolusi VGA.

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

4

3. Citra wajah yang digunakan sebagai data training untuk pengenalan citra
wajah adalah citra wajah grayscale yang disimpan dalam folder komputer
dengan resolusi 100 x 100 pixel berformat bmp.
4. Bahasa pemrograman yang dipakai adalah Visual Basic (.Net) dengan
compiler Microsoft Visual Studio 2010 dan library Emgu CV.
5. Menggunakan haarcascade_frontalface_default.xml pada library Emgu
CV untuk mendeteksi area wajah pada citra yang ter-capture.
6. Menggunakan algoritma Eigenface pada library Emgu CV

untuk

pengenalan citra wajah.

1.4.

Tujuan
Tujuan dari tugas akhir ini adalah membuat sebuah aplikasi berbasis

computer vision untuk pengenalan citra wajah manusia menggunakan algoritma
Eigenface pada library Emgu CV.

1.5.

Manfaat
Manfaat dari pembuatan aplikasi adalah :

1. Sebagai dasar solusi untuk membantu sistem keamanan seperti keamanan
log

in

sistem,

identifikasi

dan

autenfikasi,

yang

akan

dapat

mengidentifikasi citra wajah secara otomatis.
2. Menambah pengetahuan dalam bidang kecerdasan buatan dan metode
pengolahan citra khususnya pengenalan citra wajah dengan menggunakan
algoritma Eigenface.

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

5

3. Dapat dipergunakan sebagai dasar penelitian selanjutnya untuk sistem
pengenalan citra wajah, yang dapat dipergunakan untuk berbagai
keperluan.

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

BAB II
TINJ AUAN PUSTAKA

2.1.

Peneliti Pendahulu
Sebelumnya telah dilakukan penelitian mengenai algoritma eigenface

dengan judul Rekayasa Sistem Pengenalan Wajah Menggunakan Algoritma
Eigenface Untuk Membangun Sistem Presensi Karyawan (Al Fatta Hanif, 2009).
Kelebihan dari penelitian tersebut adalah dijelaskan dengan detail bagaimana
membangun suatu sistem presensi karyawan dengan menggunakan algoritma
eigenface untuk mengenali citra wajah yang ter-capture kamera. Dari pengujian
yang

dilakukan didapatkan kesimpulan

bahwa keberhasilan pengenalan

dipengaruhi beberapa hal, diantaranya :
• Jarak antara subjek dan kamera. Untuk pengenalan yang baik, jarak antara
subjek dan kamera saat pengisian data dan proses presensi dibuat konstan.
• Pencahayaan. Pencahayaan yang kurang ternyata memberikan hasil yang
lebih baik. Ini disebabkan karena pada pencahayaan yang terlalu tinggi
membuat detail gambar yang lebih rumit, mengakibatkan matriks dari
gambar menjadi lebih kompleks, sehingga pengenalan menjadi lebih
sensitif dan menurunkan kualitas pengenalan.
• Pose wajah. Untuk perubahan pose dari diam ke ekspresif tidak terlalu
mempengaruhi hasil pengenalan, sementara distorsi pose (miring ke kiri
atau ke kanan), jika sudut kemiringan cukup banyak akan menurunkan
kualitas pengenalan.

6
Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

7

Kekurangan dari penelitian tersebut adalah citra wajah yang ter-capture
tidak terdeteksi secara otomatis.

2.2.

Image
2.2.1.

Definisi Image
Secara harfiah image (citra) adalah gambar pada bidang dua dimensi.

Ditinjau dari sudut pandang matematis, citra merupakan fungsi menerus
(continue) dari intensitas cahaya pada bidang dua dimensi. (Sitorus dkk,
2006)
Citra didefinisikan sebagai fungsi intensitas cahaya dua dimensi
f(x,y) dimana x dan y menunjukkan koordinat spasial, dan nilai f pada suatu
titik (x,y) sebanding dengan tingkat kecerahan (gray level) dari citra di titik
tersebut. (Purwanto Ari, 2009)
Citra dapat dikelompokkan menjadi dua bagian yaitu citra diam (still
images) dan citra bergerak (moving images). Citra diam adalah citra tunggal
yang tidak bergerak. Sedang citra bergerak adalah rangkaian citra diam yang
ditampilkan secara beruntun (sekuensial), sehingga memberi kesan pada mata
sebagai gambar yang bergerak. (Sitorus dkk, 2006)
Citra digital adalah citra dengan f(x,y) yang nilainya didigitalisasikan
baik dalam koordinat spasial maupun dalam gray level. Digitalisasi dari
koordinat spasial citra disebut dengan image sampling. Sedangkan digitalisasi
dari gray level citra disebut dengan gray-level quantization. Citra digital
dapat dibayangkan sebagai suatu matriks dimana baris dan kolomnya

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

8

merepresentasikan suatu titik di dalam citra, dan nilai elemen matriks tersebut
menunjukkan gray level di titik tersebut. (Purwanto Ari, 2009)
Hal tersebut dapat diilustrasikan pada Gambar 2.1. berikut ini.

Gambar 2.1. Citra Digital

2.2.2.

Warna
Format data citra digital berhubungan erat dengan warna. Warna

adalah spektrum tertentu yang terdapat di dalam suatu cahaya sempurna
(berwarna putih). Nilai warna ditentukan oleh tingkat kecerahan maupun
kesuraman warna. Nilai ini dipengaruhi oleh penambahan putih ataupun
hitam.
Untuk keperluan penampilan secara visual, nilai data digital
merepresentasikan warna dari citra yang diolah. Format citra digital yang
banyak dipakai adalah :
• Citra Biner (binary image)
Citra biner (binary image) adalah citra yang hanya mempunyai dua nilai
derajat keabuan yaitu hitam dan putih. Pixel-pixel objek bernilai 1 dan

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

9

pixel-pixel latar belakang bernilai 0. Pada waktu menampilkan citra, 0
adalah putih dan 1 adalah hitam.
Hal tersebut dapat diilustrasikan pada Gambar 2.2. berikut ini.

Gambar 2.2. Citra Biner
• Cita Grayscale (skala keabuan)
Citra grayscale adalah citra digital yang setiap pixel-nya merupakan
sampel tunggal, yaitu informasi intensitas. Citra jenis ini terbentuk hanya
dari warna abu-abu pada tingkatan yang berbeda-beda, mulai dari warna
hitam pada tingkat intensitas terendah hingga warna putih pada tingkat
intensitas tertinggi.
Hal tersebut dapat diilustrasikan pada Gambar 2.3. berikut ini.

Gambar 2.3. Citra Grayscale

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

10

• Citra Warna (true color)
Setiap pixel pada citra warna mewakili warna yang merupakan kombinasi
tiga warna dasar, yaitu merah, hijau, dan biru (RGB = Red, Green, Blue).
Setiap warna pokok mempunyai intensitas sendiri dengan nilai maksimum
255.
RGB disebut juga ruang warna yang dapat diilustrasikan sebagai sebuah
kubus seperti gambar 2.4., dengan tiga sumbunya yang mewakili
komponen warna merah (red) R, hijau (green) G, biru (blue) B.

Gambar 2.4. Citra RGB

2.3.

Pengolahan Citra Digital (Image Processing)
2.3.1.

Tahap Resizing
Resizing merupakan proses mengubah ukuran citra digital sesuai

dengan ukuran yang diharapkan. Tahap resizing ini perlu dilakukan agar
semua citra digital memiliki ukuran yang sama. Resizing dapat dilakukan
dengan skala tertentu agar citra hasil yang didapat tetap mempunyai ukuran
yang proporsional sesuai dengan citra awal. Salah satu teknik resizing citra

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

11

digital tersebut adalah dengan menggunakan metode interpolasi. Teknik ini
menggunakan rata-rata suatu region untuk mewakili region tersebut.
Hal tersebut dapat diilustrasikan pada Gambar 2.5. berikut ini.

Gambar 2.5. Resizing Image

2.3.2.

Tahap Grayscaling
Citra digital yang telah melalui proses resizing kemudian diubah

menjadi citra dua warna dengan proses grayscaling. Proses perubahan warna
ini dilakukan karena citra dalam bentuk grayscale lebih mudah dianalisis
apabila dibandingkan dengan citra berwarna. Sistem warna RGB terdiri dari
24 bit, masing-masing bit untuk merah, hijau dan biru. Nilai grayscale
didapat dengan merata-ratakan ketiga nilai RGB tersebut.
Rumus untuk mengkonversi nilai RGB ke grayscale pada umumnya
adalah sebagai berikut :
W=

− − − − −


W = nilai grayscale
R = nilai warna merah

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

12

G = nilai warna hijau
B = nilai warna biru
Hal tersebut dapat diilustrasikan pada Gambar 2.6. berikut ini.

Gambar 2.6. Grayscaling Image

2.4.

Pengenalan Citra Wajah
Secara umum sistem pengenalan citra wajah dibagi menjadi dua jenis,

yaitu sistem feature-based dan sistem image-based. Pada sistem pertama
digunakan ciri yang diekstraksi dari komponen citra wajah seperti mata, hidung,
mulut, dan lain-lain yang kemudian dimodelkan secara geometris hubungan antara
ciri-ciri tersebut. Sedangkan pada sistem kedua menggunakan informasi mentah
dari pixel citra yang kemudian direpresentasikan dalam metode tertentu, misalnya
seperti Principal Component Analysis (PCA) atau transformasi wavelet yang
digunakan untuk klasifikasi indentitas citra. (Al Fatta Hanif, 2009)
Penelitian tentang deteksi dan pengenalan citra wajah telah dilakukan
sebelumnya, antara lain dengan menggunakan algoritma Eigenface (Turk dan
Pentland, 1991), dengan distribusi Gaussian dan Clustering (Sung dan Poggio,

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

13

1994), dengan Support Vector Machine (Osuna dkk, 1997), dan dengan metode
Statistic dan Wavelet (Schneiderman, 2000).
Berikut ini akan dijelaskan salah satu teknik untuk pengenalan citra wajah
dengan menggunakan algoritma Eigenface.

2.4.1.

Eigenvalue, Eigenvector dan Eigenface
Transformasi ruangan seperti translasi, rotasi, refleksi, strechting dan

kompresi, atau kombinasi dari transformasi ini, dapat divisualisasikan dengan
efek yang dihasilkan pada vektor. Vektor dapat divisualisasikan sebagai
panah yang menunjuk 1 titik ke titik yang lain.
Eigenvector dari suatu transformasi adalah vektor-vektor yang tidak
mengalami perubahan atau hanya dikalikan dengan scale factor setelah
transformasi. Sedangkan eigenvalue dari suatu eigenvector adalah scale
factor dimana eigenvector dikalikan.
Eigenface sebenarnya berasal dari bahasa Jerman “eigenwert”
dimana “eigen” artinya karakteristik dan “wert” artinya nilai. Eigenface
adalah salah satu algoritma pengenalan pola citra wajah yang berdasarkan
pada Principle Component Analysis (PCA) yang dikembangkan di MIT.
Hubungan antara eigenvalue, eigenvector dan eigenface dapat
dijelaskan sebagai berikut :
2.4.2.

Eigenvalue
Nilai eigenvalue dari suatu matriks bujursangkar merupakan

polynomial karakteristik dari matriks tersebut. Jika λ adalah eigenvalue dari

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

14

A maka akan ekuivalen dengan persamaan linier (A – λI)v = 0 (dimana I
adalah matriks identitas) yang memiliki pemecahan non-zero v (suatu
eigenvector), sehingga akan ekuivalen dengan determinan :
det(A – λI) = 0
Fungsi p(λ) = det(A – λI) adalah sebuah polynomial dalam λ karena
determinan dihitung dengan sum of product. Semua eigenvalue dari suatu
matriks A dapat dihitung dengan menyelesaikan persamaan pA(λ) = 0. Jika A
adalah matriks ukuran n x n, maka pA memiliki derajat n dan A akan
memiliki paling banyak n buah eigenvalue.

2.4.3.

Eigenvector
Jika eigenvalue λ diketahui,

eigenvector dapat dicari dengan

memecahkan :
(A – λI) v = 0
Dalam beberapa kasus dapat dijumpai suatu matriks tanpa
eigenvalue, misalnya :


0
−1

1

0

dimana karakteristik bilangan polynomialnya adalah λ2 + 1 sehingga
eigenvalue adalah bilangan kompleks i, -i. Eigenvector yang berasosiasi juga
tidak riil.
Jika diberikan matriks :
A=−

2
1

1

3

maka polynomial karakteristiknya dapat dicari sebagai berikut :

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

15

det −

(2 − λ )
0

−1
− =λ
(3 − λ )

2

- 5λ + 6 = 0

ini adalah persamaan kuadrat dengan akar-akarnya adalah λ = 2 dan λ = 3.
Adapun eigenvector yang didapat ada dua buah. Eigenvector
pertama dicari dengan mensubtitusikan λ = 3 ke dalam persamaan. Misalnya
Y0 adalah eigenvector yang berasosiasi dengan eigenvalue λ = 3. Set Y

0

dengan nilai :
Y0 = −

X−

Y−

Kemudian subtitusikan Y0 dengan v pada persamaan:
(A – λI)v = 0
sehingga diperoleh :
(2-3)X0 + (-Y0)
0

=0

+ (3-3)Y0 = 0

dapat disederhanakan menjadi :
-X0 - Y0 = 0
atau
Y0 = - X0
sehingga eigenvector untuk eigenvalue λ = 3 adalah :
Y0 = −

X−
X
1

− − = − − − = − X0 = −
Y−
− Y−
−1

Hubungan antara eigenvalue dan eigenvector dari suatu matriks
digambarkan oleh persamaan :
M x vi = λ i x v i

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

16

dimana v adalah eigenvector dari matriks M dan λ adalah

eigenvalue.

Terdapat n buah eigenvector dan eigenvalue dalam sebuah n x n matriks.

2.4.4.

Algoritma Eigenface
Prinsip dasar dari pengenalan citra wajah adalah dengan mengutip

informasi unik citra wajah tersebut kemudian di-encode dan dibandingkan
dengan hasil decode yang sebelumnya dilakukan. Dalam metode eigenface,
decoding

dilakukan

dengan

menghitung

eigenvector

kemudian

direpresentasikan dalam sebuah matriks yang berukuran besar.
Algoritma Eigenface secara keseluruhan cukup sederhana. Image
Matriks (Γ) direpresentasikan ke dalam sebuah himpunan matriks (Γ
Γ

M).

1,

Γ 2,…

Cari nilai rata-rata (Ψ) dan gunakan untuk mengekstraksi eigenvector (v)

dan eigenvalue (λ) dari himpunan matriks. Gunakan nilai eigenvector untuk
mendapatkan nilai eigenface dari image. Apabila ada sebuah image baru atau
test face (Γ

new)

untuk image (Γ

yang ingin dikenali, proses yang sama juga diberlakukan

new),

untuk mengekstraksi eigenvector (v) dan eigenvalue (λ),

kemudian cari nilai eigenface dari image test face (Γ
image baru (Γ

new)

new).

Setelah itu barulah

memasuki tahapan pengenalan dengan menggunakan

metode euclidean distance. Alur prosesnya dapat dilihat pada Gambar 2.7.

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

17

Gambar 2.7. Alur Proses Algoritma Eigenface
Algoritma eigenface selengkapnya dapat dijelaskan sebagai berikut.
Tahapan Perhitungan Eigenface :

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

18

1.

Langkah pertama adalah menyiapkan data dengan membuat
suatu himpunan S yang terdiri dari seluruh training image (Γ 1,
Γ 2,… Γ

M).

S = {Γ 1, Γ 2,… Γ

M}

Buat himpunan image (S) dari total M training image, dimana
setiap image adalah p x q pixel.
Misal di dalam himpunan image terdapat tiga image ukuran 3 x
3 pixel maka :
image1
0
− 1
0

2.

4
4
2

image2

3
2−
1

2
− 3
1

2
2
4

image3

1
4−
2

1
− 2
2

3
3
0

2
3−
3

Langkah kedua adalah ambil nilai tengah atau mean (Ψ)


Ψ=

∑ −− −







Cari nilai tengah atau mean (Ψ).

Ψ=




∑ −− −

1
Ψ= − 2
1

3.



3
3
2

0

nΓ = − − 1

0

4
4
2

3
2


+

2
3
1
1

2
2
4

1
1


+

2
4
2
2

3
3
0

2
3− −
3

2
3−
2

Langkah ketiga kemudian cari selisih (Ф) antara
(Γ i) dengan nilai tengah (Ψ)
Ф

i



Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

i

–Ψ

training image

19

Cari selisih (Ф) antara

training image (Г) dengan nilai tengah

(Ψ), apabila ditemukan nilai dibawah nol ganti nilainya dengan
nol.
Ф

Ф

Ф
4.

1=Г

0


Ψ
=
1
1
0

4
4
2

3
1
2− − − − − 2
1
1

3
3
2

0
2
3− = − 0
2
0

1
1
0

1
0−
0

2=Г

2


Ψ
=
3
2
1

2
2
4

1
4− − − −
2

1
− 2
1

3
3
2

2
1


=
1
3
2
0

0
0
2

0
1−
0

3=Г

1


Ψ
=
2
3
2

3
3
0

2
3− − − −
3

1
− 2
1

3
3
2

2
0


=
0
3
1
2

0
0
0

0
0−
1

Langkah keempat adalah menghitung nilai matriks kovarian (C)
C=



∑ −− −



Фn −




Ф

L = ATA



L=Ф

= AAT



Фn

Hitung nilai matriks kovarian (С).
C=




∑ −− −

Фn −


Ф

C = AAT A = (Ф



1, Ф

2, … , Ф

L = AAT, dimana Lm,n = Фn

0
L= − 0
0

3
L=− 2
0

1
1
0

2
3
0

1
0
0

1
1
0

0
0
2

M)



Ф

0
1
0

0
0−
6

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.



0
0
1

0
0
0

0
1
1
0
1
0 − − x− 0
1
0
0
0
0

0
1
0
1
0
1
0
0
0

0
0
0
0
2
0
1
0
1

20

5.

Langkah kelima menghitung eigenvalue (λ) dan eigenvector (v)
dari matriks kovarian (C)
C x v i = λ i x vi
Cari nilai eigenvalue (λ) dan eigenvector (v).
Lxv=λxv
L x v = λI x v
( L – λI ) = 0 atau ( λI – L ) = 0
maka eigenvalue (λ) dapat dihitung, det (λI – L) = 0

det − λ −

1
− 0
0

0
1
0

λ − 3
det− − − 2
0

(λ − 3 )−

3


λ

3

2

2

– 12λ

– 12λ

−2
λ − 3
0

λ − 3
0

(λ − 3 )(− λ

2

3
0
0− − − − 2
0
1

2
3
0

0
0− − = 0
6

0
0 − =0
λ − 6

−2
0
− – (– 2)−
λ − 6
0

0
−2
− – 0−
λ − 6
λ − 3

0
− =0
0

– 9λ + 18) + 2(– 2λ + 12) + 0 = 0

+ 45λ – 54) – 4λ + 24 = 0

+ 41λ – 30 = 0

akan dihasilkan nilai λ = 1, λ = 5 dan λ = 6.
v−
v
v=− − −
v−

eigenvector (v) dihasilkan dengan mensubtitusikan nilai
eigenvalue (λ) kedalam persamaan (λI – L) v = 0.
1− 3
untuk λ = 1, maka − − 2
0

−2
1− 3
0

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

v−
0
0
v
0 − − − − = − 0−
1 − 6 v−
0

21

−2
− −2
0
− 2v−
− − 2v−
0

−2
−2
0

0
0 −
−5

v−
0
v


− = − 0−
v−
0

− 2v−
− 2v−
0

0
0
0 − = − 0−
− 5v−
0

maka didapat persamaan :
− 2v− – 2v− = 0
− 2v− − − 2v− = 0
− 5v− = 0
dan jika diselesaikan maka :
− 2v− – 2v− = 0 artinya v− = – v− = – t
− 2v− – 2v− = 0 artinya v− = – v− = – t
− 5v− = 0 artinya v− = 0
−t
−1
v=− t − =− 1 − t
0
0
−1
dihasilkan eigenvector = − 1 −
0
5− 3
untuk λ = 5, maka − − 2
0
2
− −2
0
2v−

− 2v−
0

−2
2
0

0
0 −
−1

− 2v−
2v−
0

−2
5− 3
0

v−
0
v
− − − = − 0−
v−
0
0
0
0 − = − 0−
− v−
0

maka didapat persamaan :
2v− – 2v− = 0

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

v−
0
0
v
0 − − − − = − 0−
0
5 − 6 v−

22

− 2v− +− 2v− = 0
− v− = 0
dan jika diselesaikan maka :
2v− – 2v− = 0 artinya v− = v− = t

− 2v− + 2v− = 0 artinya v− = v− = t
− v− = 0 artinya v− = 0
t
1
v = − t − = − 1− t
0
0
1
dihasilkan eigenvector = − 1 −
0
6− 3
untuk λ = 6, maka − − 2
0
3
− −2
0
3v−
− − 2v−
0

−2
3
0

−2
6− 3
0

v−
0
0
v
0 − − − − = − 0−
0
6 − 6 v−

0 v−
0
0 − − v− − = − 0 −
0 v−
0

− 2v−
3v−
0

0
0
0− = − 0−
0
0

maka didapat persamaan :
3v− – 2v− = 0

− 2v− + 3v− = 0
v− = 0

dan jika diselesaikan maka :
3v−

– 2v−

= 0 *3

9v−

– 6v−

=0

− 2v−

+ 3v−

= 0 *2 − 4v−

+ 6v −

=0 +

5v−

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

=0

23

=0

v−
3( 0) – 2v−

=0

− 2v−

=0

v−

=0

v− = 0
0
0
0



v=
= 0− t
0
0
0
dihasilkan eigenvector = − 0 −
0

sehingga eigenvector yang dihasilkan dari matriks L adalah :
−1
− 1
0
6.

1
1
0

0
0−
0

Langkah keenam, setelah eigenvector (v) diperoleh, maka
eigenface (μ ) dapat dicari dengan:
μ i = ∑ −− −


v− Ф


l = 1,…,M
cari eigenface (μ )
μ i = ∑ −− −
μ

μ

μ

1

2

3

= v.− Ф

v− Ф




= v.− Ф

= v.− Ф






−1

= 1
0

1
1
0

0 0
0− − 0
0 0

1
1
0

1
0


0 = 0
0
0

0
2
0

−1
1 −
0

−1

= 1
0

1
1
0

0 1
0− − 1
0 0

0
0
2

0
0


1 = 2
0
0

0
0
0

1
1−
0

−1
=− 1
0

1
1
0

0 0
0− − 0
0 1

0
0
0

0
0
0− = − 0
1
0

0
0
0

0
0−
0

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

24

Tahapan Pengenalan :
1.

Sebuah citra wajah baru atau test face (Γ
dikenali,

new)

akan dicoba untuk

pertama terapkan cara pada tahapan pertama

perhitungan eigenface untuk mendapatkan nilai eigenface dari
image tersebut.
μ

new

= v . (Γ

Ω = [μ

− ,

μ

new

– Ψ)

− , …, μ − −

]

Cari nilai eigenface image baru (Γ new) yang akan dikenali.
a. Cari selisih (Ф) antara

test face (Γ new) dengan nilai tengah

(Ψ), apabila ditemukan nilai dibawah nol ganti nilainya
dengan nol.
Misal test face (Γ new) terdiri dari matriks 3 x 3 :
test face

Ф

3
− 5
1

6
1
0

5
3−
3

− −−

3
=− 5
1

6
1
0

5
1
3− − − − 2
1
3

3
3
2

2
2
3− = − 3
0
2

3
0
0

3
0−
1

b. Cari nilai eigenface dari test face (Γ new)
μ
μ
2.

new

= v.Ф

new

−1
=− 1
0

− −−

1
1
0

0 2
0− − 3
0 0

3
0
0

3
1
0− = − 5
1
0

−3
3
0

−3
3 −
0

Gunakan metode Euclidean Distance untuk mencari jarak
(distance) terpendek antara nilai eigenface dari training image
dalam database dengan eigenface dari image test face.

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

25

−−
−−

= || Ω

− 1 = || Ω

− 2 = || Ω

− 3 = || Ω



1

2

3

= || Ω



k||

new||



0
new|| = − − 0
0

0
2
0

−1
1
1 − −−−− 5
0
0

−3
3
0

−3
3 −−
0



0
new|| = − − 2
0

0
0
0

1
1
1− − − − 5
0
0

−3
3
0

−3
3 −−
0

= 16



0
new|| = − − 0
0

0
0
0

0
1
0− − − − − 5
0
0

−3
3
0

−3
3 −−
0

= 18

= 14

karena jarak (distance) eigenface image1 dengan eigenface test
face yang paling kecil, maka hasil identifikasi meyimpulkan
bahwa test face lebih mirip dengan image1 daripada image2 atau
image3.

2.5.

Visual Basic
Bahasa Visual Basic adalah salah satu diantara sekian banyak bahasa

pemrograman yang cukup banyak digunakan oleh para programmer. Visual Basic
adalah bahasa pemrograman visual dengan dasar pemrograman bahasa BASIC.
Bahasa BASIC (Beginner's All-purpose Sybolic Instruction Code) dikembangkan
pertama kali pada awal 1950-an. Sementara bahasa Visual Basic, yang merupakan
pengembangan bahasa BASIC dikembangkan pertama kali oleh Microsoft pada
tahun 1991.
Visual Basic merupakan salah satu development tool yaitu alat bantu yang
dapat digunakan untuk membuat berbagai macam program komputer, khususnya
yang berbasis windows. Pembuatan aplikasi dengan menggunakan bahasa Visual

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

26

Basic dimulai dengan memperkirakan kebutuhan, kemudian merancang tampilan
program yang diikuti dengan pembuatan kode program tersebut.
Tampilan dari Visual Basic 2010 seperti pada Gambar 2.8. berikut ini.

Gambar 2.8. Tampilan Lingkungan Visual Basic 2010
Agar bisa menguasai bahasa pemrograman Visual Basic, diharuskan
mempelajari dasar-dasarnya dengan lebih baik dan kuat. Beberapa komponen
utama dalam bahasa Visual Basic yang harus diketahui diantaranya :
• Project
Project adalah sekumpulan modul. Jadi project (proyek) adalah program
aplikasi itu sendiri. Didalamnya terdapat form beserta code nya. Project ini
disimpan dalam file berakhiran .vbproj.
• Form
Form adalah object yang dipakai sebagai tempat bekerja program aplikasi.
Jadi bisa dikatakan di form inilah kita melakukan aktifitas perancangan
program.

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

27

• Toolbox
Toolbox adalah kotak alat yang berisi icon-icon untuk memasukkan objek
tertentu ke dalam jendela form.
• Properties
Properties digunakan untuk menentukan setting suatu objek. Suatu objek
biasanya mempunyai beberapa properties yang dapat diatur langsung dari
jendela properties atau lewat kode program.
• Kode Program
Kode program adalah serangkaian tulisan perintah yang akan dilaksanakan
jika suatu objek dijalankan. Kode program ini akan mengontrol dan
menentukan jalannya suatu objek.
• Event
Event adalah peristiwa atau kejadian yang diterima oleh suatu objek,
misalnya klik, seret, tunjuk, dan lain-lain. Event yang diterima objek akan
memicu MS VB menjalankan kode program yang ada di dalamnya.

2.6.

Emgu CV
Emgu CV merupakan suatu library open source lintas platform. Emgu CV

sebenarnya adalah .Net wrapper pada Open CV library image processing. Emgu
CV dapat memanggil fungsi-fungsi pada Open CV dengan bahasa pemrograman
kompatibel .Net.
Keuntungan menggunakan library Emgu CV adalah :
a. Cross Platform

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

28

Emgu CV dapat dijalankan pada berbagai sistem operasi seperti Linux,
MacOS, Windows, iPad, iPhone dan Android.
b. Cross Language
Meskipun ditulis dalam bahasa pemrograman C#, Emgu CV dapat
digunakan oleh bahasa pemrograman lain yang kompatibel, seperti
VB.NET, C++, dan IronPython.
Emgu CV memiliki 2 layer, layer 1 berisi function, structure, dan
enumeration mappings yang secara langsung merefleksikan yang ada di Open
CV. Sementara layer 2 berisi class yang merupakan keuntungan dari bahasa
pemrograman .Net.
Di dalam Emgu CV terdapat beberapa folder yang berisi class – class yang
mempunyai fungsi – fungsi yang ditampilkan pada Tabel 2.1. berikut ini.
Tabel 2.1. Fungsi Class – Class Pada Emgu CV
(http://www.emgu.com/wiki/files/2.4.2/document/Index.html)
Class

Description

AdaptiveSkinDetector

Adaptive Skin Detector

CameraCalibration

Camera calibration functions
Capture images from either camera or

Capture

video file

CascadeClassifier

The Cascade Classifier

ColorInfoAttribute

Attribute

used

to

specify

color

information

Contour(T)

Wrapped class for Contour

CvArray(TDepth)

Wrapped CvArr

CvInvoke

Library to invoke OpenCV functions

DenseHistogram

A Dense Histogram
Class

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

Description

29

EigenObjectRecognizer

An

object

recognizer

using

PCA

(Principle Components Analysis)
The result returned the Recognized

EigenObjectRecognizer.RecognitionResult

function is called. Contains the label,
index and the eigen distance

ExtrinsicCameraParameters

Extrinsic camera parameters

FaceRecognizer

Face Recognizer

FeatureTree

A wrapper for CvFeatureTree

FisherFaceRecognizer

Fisher face recognizer

HaarCascade

HaarCascade for object detection

HOGDescriptor

A HOG discriptor

Image(TColor, TDepth)

An Image is a wrapper to IplImage of
OpenCV.

IntrinsicCameraParameters

Intrinsic camera parameters

Kalman

Kalman Filter

KinectCapture

Kinect Camera capture

LatentSvmDetector

Laten SVM detector

LBPHFaceRecognizer

LBPH face recognizer
A Map is similar to an Image, except

Map(TColor, TDepth)

that the location of the pixels is defined
by its area and resolution
A Matrix is a wrapper to cvMat of

Matrix(TDepth)

OpenCV
A

MemStorage

MemStorage

is

a

wrapper

to

cvMemStorage of OpenCV

MotionHistory

The motion history class

Octree

Oct-Tree
Contains a collection of optical flow

OpticalFlow

methods
Class

PointCollection
RotationMatrix2D(T)

Description
A collection of points
A (2x3) 2D rotation matrix. This Matrix
defines an Affine Transform

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

30

Seq(T)

Wrapper to cvSeq of OpenCV

SparseMatrix(TDepth)

Create a sparse matrix
Use Block Matching algorithm to find

StereoBM

stereo correspondence
Use Graph Cut algorithm to find stereo

StereoGC

correspondence
Create a video writer that write images

VideoWriter

to video format

Pada Emgu CV untuk melakukan pengenalan citra wajah dapat
menggunakan class EigenObjectRecognition. Di dalam class tersebut berisi
beberapa members yang dapat dilihat seperti pada Tabel 2.2. berikut ini.
Tabel 2.2. EigenObjectRecognizer Members
(http://www.emgu.com/wiki/files/2.4.2/document/Index.html)
Name
EigenObjectRecognizer(Image(Gray,
Byte)[], MCvTermCriteria)

EigenObjectRecognizer(Image(Gray,
Byte)[], String[], MCvTermCriteria)
EigenObjectRecognizer(Image(Gray,
Byte)[], String[], Double,
MCvTermCriteria)

Description
Create an object recognizer using the
specific tranning data and parameters, it will
always return the most similar object
Create an object recognizer using the
specific tranning data and parameters, it will
always return the most similar object
Create an object recognizer using the
specific tranning data and parameters

Name
CalcEigenObjects

Description
Caculate the eigen images for the specific
traning image

EigenDecomposite

Decompose the image as eigen values, using
the specific eigen vectors

EigenProjection

Given the eigen value, reconstruct the

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

31

projected image
Equals

Determines whether the specified Object is
equal to the current Object
(Inherited from Object.)

Finalize

Allows an Object to attempt to free resources
and perform other cleanup operations before
the

Object

is

reclaimed

by

garbage

collection
(Inherited from Object.)
GetEigenDistances

Get the Euclidean eigen-distance between
image and every other image in the database

GetHashCode

Serves as a hash function for a particular
type
(Inherited from Object.)

GetType

Gets the Type of the current instance.
(Inherited from Object.)

MemberwiseClone

Creates a shallow copy of the current Object
(Inherited from Object.)

Recognize

Try to recognize the image and return its
label

ToString

Returns a String that represents the current
Object.
Name

Description

AverageImage

Get the average Image

EigenDistanceThreshold

Get or set the eigen distance threshold. The
smaller the number, the more likely an
examined

image

will

be

treated

as

unrecognized object. Set it to a huge number
(e.g. 5000) and the recognizer will always
treated the examined image as one of the
known object
EigenImages

Get the eigen vectors that form the eigen
space

Hak Cipta © milik UPN "Veteran" Jatim :
Dilarang mengutip sebagian atau seluruh karya tulis ini tanpa mencantumkan dan menyebutkan sumber.

32

EigenValues

Get the eigen values of each of the training
image

Labels

Get or set the labels for the corresponding
training image

2.7.

haarcascade_frontalface_default.xml
Di dalam Emgu CV terdapat template yang digunakan untuk mendeteksi

area wajah yaitu haarcascade