Perancangan Sistem Pengenalan Wajah Menggunakan Algoritma Eigenface.

(1)

i ABSTRAK

Saat ini komputer dan piranti pendukungnya telah masuk dalam setiap aspek kehidupan dan pekerjaan. Komputer yang ada sekarang memiliki kemampuan yang lebih dari sekedar perhitungan matematik biasa. Aplikasi komputer telah bergeser dari komputasi biasa ke aplikasi komputer yang memiliki kecerdasan. Salah satu konsep kecerdasan adalah bagaimana memprogram komputer agar dapat mengenali wajah seseorang hanya dengan menggunakan webcam.

Perancangan sistem pengenalan wajah ini menggunakan algoritma eigenface. Sistem pengenalan wajah ini berbasis image yang menggunakan informasi mentah dari pixel citra yang kemudian direpresentasikan dalam metoda Principal Component Analysis (PCA). Adapun cara kerja algoritma eigenface adalah dengan menghitung rata-rata pixel dari gambar-gambar yang sudah tersimpan dalam suatu database, dari rata-rata pixel tersebut akan didapat nilai eigenface masing-masing gambar dan kemudian akan dicari nilai eigenface terdekat dari gambar citra wajah yang ingin dikenali.


(2)

ii ABSTRACT

Today computers and supporting devices have been included in every aspect of life and work. Computers have a greater ability than ordinary mathematical calculations now. Computer applications have shifted from the ordinary computing to computer applications that have intelligence. One of the concepts of intelligence is how to reprogram the computer to recognize a person's face using only the webcam.

This face recognition system design using eigenface algorithm. This face recognition system based on image, which uses information from the raw pixel image which was then represented by a method of Principal Component Analysis (PCA). As for how the algorithm is to calculate eigenface average pixel of the images already stored in a database, from the average pixel will be obtained eigenface value of each picture and then to search the nearest eigenface value of the image face image to recognizable.


(3)

iii DAFTAR ISI

ABSTRAK ... i

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... ix

DAFTAR TABEL... xi

DAFTAR LAMPIRAN ... xii

BAB I PENDAHULUAN 1.1 Latar Belakang... 1

1.2 Identifikasi Masalah... 2

1.3 Tujuan... 2

1.4 Batasan Masalah... 2

1.5 Sistematika Penulisan... 3

BAB II LANDASAN TEORI 2.1 Bahasa Pemrograman Visual Basic ... 4

2.1.1 Object ... 4

2.1.2 Property ... 5

2.1.3 Event ... 5

2.2 Variabel ... 7

2.2.1 Penggunaan Option Explicit ... 7


(4)

iv

2.3.1 Input Box ... 8

2.3.2 Message Box ... 8

2.4 Struktur Kendali ... 9

2.4.1 Percabangan IF ... 9

2.4.2 Percabangan Case ... 9

2.4.3 Pengulangan Do...Loop ... 10

2.4.4 For...Next ... 10

2.5 Procedure ... 11

2.5.1 Sub Procedure ... 11

2.5.2 Function Procedure ... 12

2.6 Menu Editor ... 12

2.7 Database ... 13

2.8 Active Data Objects (ADO) ... 14

2.8.1 Connection ... 14

2.8.2 Command ... 14

2.8.3 Parameter ... 15

2.8.4 Recordset ... 15

2.8.5 Field ... 15

2.8.6 Error ... 16

2.8.7 Property ... 16

2.8.8 Collection (Koleksi) ... 16


(5)

v

2.9 OLE DB ... 17

2.10 Citra Digital ... 18

2.10.1 Image Processing ... 18

2.10.2 Gambar Berwarna ... 19

2.10.3 Gambar Grayscale ... 19

2.11 Pengenalan Wajah ... 20

2.11.1 Principal Component Analysis (PCA) ... 21

2.12 Algoritma Eigenface ... 21

BAB III PERANCANGAN 3.1 Diagram Blok ... 25

3.2 Perancangan Database ... 26

3.3 Struktur Program ... 28

3.4 Desain Input ... 29

3.5 Modules dan Class Modules ... 31

3.6 Flowchart ... 32

BAB IV PENGAMATAN DATA 4.1 Database ... 35

4.2 Form Setting Kemiripan ... 37

4.3 Input Foto ... 37

4.4 Proses Pengenalan Wajah ... 42

4.4.1 Capture Citra Wajah ... 42


(6)

vi

4.4.3 Identifikasi Data Id Berdasarkan Identifikasi Wajah ... 44

4.5 Data Pengamatan ... 46

BAB V KESIMPULAN DAN SARAN

5.1 Kesimpulan... 49

5.2 Saran... 50

DAFTAR PUSTAKA ... 51 LAMPIRAN A


(7)

vii

DAFTAR GAMBAR

Gambar 2.1 Illustrasi Object, Method, Property, dan Event ... 5

Gambar 2.2 Citra grayscale ukuran 80 x 80 piksel ... 18

Gambar 2.3 Perbedaan gambar berwarna dan grayscale ... 20

Gambar 2.4 Contoh Penyusunan FlatVector ... 22

Gambar 2.5 Contoh Perhitungan Rataan FlatVector ... 22

Gambar 2.6 Contoh Menentukan Nilai Eigenface ... 23

Gambar 2.7 Contoh Perhitungan Nilai Eigenface untuk Testface ... 23

Gambar 2.8 Contoh Proses Identifikasi ... 24

Gambar 3.1 Diagram Blok ... 25

Gambar 3.2 Data Consumer dan Data Provider ... 27

Gambar 3.3 Struktur Program ... 28

Gambar 3.4 Desain Form Login... 29

Gambar 3.5 Desain Form Input Foto ... 30

Gambar 3.6 Desain Form Setting ... 30

Gambar 3.7 Desain Form Pengenalan Wajah ... 31

Gambar 3.8 Forms, Modules, dan Class Modules ... 32

Gambar 3.9 Flowchart Input Data ... 32

Gambar 3.10 Flowchart Input Foto ... 33


(8)

viii

Gambar 4.1 Komponen DataGrid... 36

Gambar 4.2 Form Setting ... 37

Gambar 4.3 Proses Cropping ke Ukuran 80 x 80 pixel ... 38

Gambar 4.4 Proses Konversi ke Format Grayscale ... 40


(9)

ix

DAFTAR TABEL

Tabel 2.1 Tabel Event ... 6

Tabel 2.2 Tabel Deklarasi Variabel ... 7

Tabel 3.1 Database Id ... 26

Tabel 3.2 Database Setting ... 26

Tabel 4.1 Data Pengamatan I ... 46

Tabel 4.2 Data Pengamatan II ... 47

Tabel 4.3 Data Pengamatan III... 47


(10)

x

DAFTAR LAMPIRAN

Lampiran A Form Log In ... A-1

Lampiran A Menu ... A-1

Lampiran A Form Setting ... A-2

Lampiran A Form Input Data ... A-2

Lampiran A Form Pengenalan Wajah ... A-3

Lampiran A Hasil Pengenalan Wajah yang Teridentifikasi ... A-3

Lampiran A Hasil Pengenalan Wajah yang Tidak Teridentifikasi ... A-7

Lampiran B Source Code Form Log In... B-1

Lampiran B Source Code Form Id ... B-2

Lampiran B Source Code Form Setting ... B-4

Lampiran B Source Code Form Pengenalan Wajah ... B-5

Lampiran B Source Code Data Module ... B-5

Lampiran B Source Code Mengubah Ekstensi .bmp Menjadi .jpg ... B-6

Lampiran B Source Code Library ... B-6


(11)

(12)

1. Form Log In


(13)

3. Form Setting


(14)

4. Form Pengenalan Wajah


(15)

(16)

(17)

(18)

(19)

(20)

(21)

(22)

(23)

(24)

(25)

4. Source Code Form Pengenalan Wajah


(26)

6. Source Code Mengubah Ekstensi .bmp Menjadi .jpg


(27)

(28)

(29)

(30)

(31)

(32)

(33)

(34)

(35)

(36)

(37)

(38)

(39)

(40)

(41)

(42)

(43)

(44)

(45)

(46)

(47)

(48)

(49)

(50)

(51)

(52)

(53)

(54)

(55)

(56)

(57)

(58)

(59)

(60)

(61)

1 BAB I PENDAHULUAN

1.1 Latar Belakang

Sejak dahulu kala, proses pengolahan data telah dilakukan oleh manusia. Manusia juga menemukan alat-alat mekanik dan elektronik untuk membantu manusia dalam penghitungan dan pengolahan data supaya mendapatkan hasil yang lebih cepat. Komputer yang ditemui saat ini adalah suatu evolusi panjang dari penemuan-penemuan manusia sejak dahulu kala berupa alat mekanik maupun elektronik.

Saat ini komputer dan piranti pendukungnya telah masuk dalam setiap aspek kehidupan dan pekerjaan. Komputer yang ada sekarang memiliki kemampuan yang lebih dari sekedar perhitungan matematik biasa, di antaranya adalah sistem komputer di kassa supermarket yang mampu membaca kode barang belanja, sentral telepon yang menangani jutaan panggilan dan komunikasi, jaringan komputer dan internet yang menghubungkan berbagai tempat di dunia. Perkembangan teknologi yang begitu cepat khususnya pada perangkat lunak menjadi semakin mudah digunakan.

Aplikasi komputer telah bergeser dari komputasi biasa ke aplikasi komputer yang memiliki kecerdasan. Salah satu konsep kecerdasan adalah bagaimana memprogram komputer agar dapat mengenali wajah seseorang dengan menggunakan webcam. Pengenalan wajah ini diharapkan dapat meningkatkan aplikasi komputer khususnya dalam bidang keamanan.


(62)

2 1.2 Identifikasi Masalah

Bagaimana mengenali wajah seseorang menggunakan webcam? Bagaimana cara kerja algoritma eigenface dalam pengenalan wajah?  Bagaimana membedakan wajah seseorang yang sudah tersimpan dalam

database dan yang belum tersimpan dalam database?

Seberapa akurat pengenalan wajah menggunakan algoritma eigenface? 1.3 Tujuan

Merancang program pengenalan wajah yang :

 Mengenali wajah seseorang dengan mengambil gambar menggunakan webcam.

Mengetahui cara kerja algoritma eigenface untuk pengenalan wajah. Membedakan wajah seseorang yang sudah tersimpan dalam database dan

yang belum tersimpan dalam database.

 Mengetahui keakuratan pengenalan wajah menggunakan algoritma eigenface.

1.4 Batasan Masalah

Kamera yang digunakan adalah webcam.

Software yang akan digunakan adalah Visual Basic 6 dan Microsoft

Access sebagai database.

Algoritma yang digunakan adalah algoritma eigenface.

Wajah yang akan dikenali adalah berupa gambar grayscale dengan ekstensi jpeg ukuran 80 x 80 pixel yang difoto dengan kamera webcam. Posisi wajah yang difoto adalah tegak lurus menghadap kamera webcam


(63)

3 1.5 Sistematika Penulisan

Pembahasan makalah ini dibagi menjadi lima bab yang secara besar diuraikan berikut:

Bab pertama, merupakan bab Pendahuluan yang mencakup latar belakang, identifikasi masalah, tujuan, batasan masalah, dan sistematika makalah.

Bab kedua, Landasan Teori merupakan dasar-dasar teori yang melandasi

pembuatan laporan.

Bab ketiga, Perancangan yang membahas langkah-langkah yang telah dilakukan dalam merealisasikan pengenalan wajah menggunakan algoritma eigenface.

Bab keempat, Pengamatan Data yang membahas hasil-hasil dari pengerjaan software dalam merealisasikan pengenalan wajah menggunakan algoritma eigenface berikut data pengamatan.

Bab kelima, Kesimpulan dan Saran berisi kesimpuan dari hasil pembuatan software dalam merealisasikan pengenalan wajah menggunakan algoritma eigenface. Sekaligus menjadi jawaban atas identifikasi masalah yang diajukan. Selanjutnya saran diberikan kepada beberapa pihak untuk mencapai hasil yang lebih baik.


(64)

49 BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Dari hasil percobaan yang sudah dilakukan, dapat ditarik kesimpulan antara lain:

 Aplikasi pengenalan wajah dapat dibuat dengan menggunakan algoritma eigenface untuk pengenalan wajah, software Visual Basic, dan Microsoft Access sebagai database dari gambar-gambar citra.

Algoritma eigenface bekerja dengan menghitung rata-rata pixel dari gambar-gambar yang sudah tersimpan dalam suatu database, dari rata-rata pixel tersebut akan didapat nilai eigenface masing-masing gambar dan kemudian akan dicari nilai eigenface terdekat dari gambar citra wajah yang ingin dikenali.

 Wajah seseorang yang dapat dikenali adalah yang tersimpan dalam database gambar wajah yang sudah diproses dengan algoritma eigenface, selain itu wajah tidak akan dikenali atau wajah yang dikenali tidak sesuai.  Keberhasilan pengenalan wajah menggunakan algoritma eigenface

semakin tinggi bila database citra wajah yang tersimpan semakin banyak. Kesimpulan ini didapat dari hasil perbandingan antara data pengamatan pertama yang dicoba pada 5 orang dengan backgrournd yang memiliki benda lain tetapi setiap orang hanya terdapat satu database citra wajah, dan data pengamatan ke-2 yang dicoba pada 5 orang dengan background yang memiliki benda lain tetapi setiap orang terdapat 5 database citra wajah. Data pengamatan ke-2 dengan database citra wajah yang lebih banyak memiliki tingkat keberhasilan yang lebih tinggi dibandingkan dengan data pengamatan pertama yang hanya terdapat 1 database saja, demikian pula perbandingan antara data pengamatan ke-3 yang dicoba pada 5 orang dengan backgrournd tidak terdapat benda lain tetapi setiap


(65)

50 orang hanya terdapat satu database citra wajah, dan data pengamatan ke-4 yang dicoba pada 5 orang dengan background tidak terdapat benda lain tetapi setiap orang terdapat 5 database citra wajah. Data pengamatan ke-4 dengan database citra wajah yang lebih banyak memiliki tingkat keberhasilan yang lebih tinggi dibandingkan dengan data pengamatan ke-3 yang hanya terdapat 1 database saja.

5.2 Saran

Pengenalan wajah menggunakan algoritma eigenface dapat direalisasikan pada aplikasi absensi, tetapi sebagai sistem keamanan, pengenalan wajah menggunakan algoritma eigenface kurang tepat, untuk sistem keamanan lebih baik menggunakan sistem feature based karena pada sistem ini digunakan fitur yang diekstraksi dari komponen citra wajah (mata, hidung, mulut, dan lain-lain) yang kemudian hubungan antara fitur-fitur tersebut dimodelkan secara geometris.


(66)

49 DAFTAR PUSTAKA

Fatta,Hanif al, Rekayasa Sistem Pengenalan Wajah, C.V ANDI OFFSET, Yogyakarta, 2009.

MADCOMS, Seri Panduan Pemrograman Database Visual Basic 6.0 dengan Crystal Report, C.V ANDI OFFSET , Yogyakarta, 2002.

Mesran, Visual Basic, Mitra Wacana Media , Jakarta, 2009.

Sutoyo, T., Edy Mulyanto, Teori Pengolahan Citra Digital, C.V ANDI OFFSET, Yogyakarta, 2009.

http://docs.google.com/viewer?a=v&q=cache:UbtpeK_yZKsJ:resources.unpad.ac. id/unpad-content/uploads/publikasi_dosen/PCA. (22 Juli 2010)


(1)

1 BAB I

PENDAHULUAN

1.1 Latar Belakang

Sejak dahulu kala, proses pengolahan data telah dilakukan oleh manusia. Manusia juga menemukan alat-alat mekanik dan elektronik untuk membantu manusia dalam penghitungan dan pengolahan data supaya mendapatkan hasil yang lebih cepat. Komputer yang ditemui saat ini adalah suatu evolusi panjang dari penemuan-penemuan manusia sejak dahulu kala berupa alat mekanik maupun elektronik.

Saat ini komputer dan piranti pendukungnya telah masuk dalam setiap aspek kehidupan dan pekerjaan. Komputer yang ada sekarang memiliki kemampuan yang lebih dari sekedar perhitungan matematik biasa, di antaranya adalah sistem komputer di kassa supermarket yang mampu membaca kode barang belanja, sentral telepon yang menangani jutaan panggilan dan komunikasi, jaringan komputer dan internet yang menghubungkan berbagai tempat di dunia. Perkembangan teknologi yang begitu cepat khususnya pada perangkat lunak menjadi semakin mudah digunakan.

Aplikasi komputer telah bergeser dari komputasi biasa ke aplikasi komputer yang memiliki kecerdasan. Salah satu konsep kecerdasan adalah bagaimana memprogram komputer agar dapat mengenali wajah seseorang dengan menggunakan webcam. Pengenalan wajah ini diharapkan dapat meningkatkan aplikasi komputer khususnya dalam bidang keamanan.


(2)

2 1.2 Identifikasi Masalah

Bagaimana mengenali wajah seseorang menggunakan webcam? Bagaimana cara kerja algoritma eigenface dalam pengenalan wajah?  Bagaimana membedakan wajah seseorang yang sudah tersimpan dalam

database dan yang belum tersimpan dalam database?

Seberapa akurat pengenalan wajah menggunakan algoritma eigenface? 1.3 Tujuan

Merancang program pengenalan wajah yang :

 Mengenali wajah seseorang dengan mengambil gambar menggunakan webcam.

Mengetahui cara kerja algoritma eigenface untuk pengenalan wajah. Membedakan wajah seseorang yang sudah tersimpan dalam database dan

yang belum tersimpan dalam database.

 Mengetahui keakuratan pengenalan wajah menggunakan algoritma eigenface.

1.4 Batasan Masalah

Kamera yang digunakan adalah webcam.

Software yang akan digunakan adalah Visual Basic 6 dan Microsoft Access sebagai database.

Algoritma yang digunakan adalah algoritma eigenface.

Wajah yang akan dikenali adalah berupa gambar grayscale dengan ekstensi jpeg ukuran 80 x 80 pixel yang difoto dengan kamera webcam. Posisi wajah yang difoto adalah tegak lurus menghadap kamera webcam


(3)

3 1.5 Sistematika Penulisan

Pembahasan makalah ini dibagi menjadi lima bab yang secara besar diuraikan berikut:

Bab pertama, merupakan bab Pendahuluan yang mencakup latar belakang, identifikasi masalah, tujuan, batasan masalah, dan sistematika makalah. Bab kedua, Landasan Teori merupakan dasar-dasar teori yang melandasi

pembuatan laporan. Bab ketiga, Perancangan yang membahas langkah-langkah yang telah dilakukan

dalam merealisasikan pengenalan wajah menggunakan algoritma eigenface. Bab keempat, Pengamatan Data yang membahas hasil-hasil dari pengerjaan software dalam merealisasikan pengenalan wajah menggunakan algoritma eigenface berikut data pengamatan.

Bab kelima, Kesimpulan dan Saran berisi kesimpuan dari hasil pembuatan software dalam merealisasikan pengenalan wajah menggunakan algoritma eigenface. Sekaligus menjadi jawaban atas identifikasi masalah yang diajukan. Selanjutnya saran diberikan kepada beberapa pihak untuk mencapai hasil yang lebih baik.


(4)

49 BAB V

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Dari hasil percobaan yang sudah dilakukan, dapat ditarik kesimpulan antara lain:  Aplikasi pengenalan wajah dapat dibuat dengan menggunakan algoritma

eigenface untuk pengenalan wajah, software Visual Basic, dan Microsoft Access sebagai database dari gambar-gambar citra.

Algoritma eigenface bekerja dengan menghitung rata-rata pixel dari gambar-gambar yang sudah tersimpan dalam suatu database, dari rata-rata pixel tersebut akan didapat nilai eigenface masing-masing gambar dan kemudian akan dicari nilai eigenface terdekat dari gambar citra wajah yang ingin dikenali.

 Wajah seseorang yang dapat dikenali adalah yang tersimpan dalam database gambar wajah yang sudah diproses dengan algoritma eigenface, selain itu wajah tidak akan dikenali atau wajah yang dikenali tidak sesuai.  Keberhasilan pengenalan wajah menggunakan algoritma eigenface

semakin tinggi bila database citra wajah yang tersimpan semakin banyak. Kesimpulan ini didapat dari hasil perbandingan antara data pengamatan pertama yang dicoba pada 5 orang dengan backgrournd yang memiliki benda lain tetapi setiap orang hanya terdapat satu database citra wajah, dan data pengamatan ke-2 yang dicoba pada 5 orang dengan background yang memiliki benda lain tetapi setiap orang terdapat 5 database citra wajah. Data pengamatan ke-2 dengan database citra wajah yang lebih banyak memiliki tingkat keberhasilan yang lebih tinggi dibandingkan dengan data pengamatan pertama yang hanya terdapat 1 database saja, demikian pula perbandingan antara data pengamatan ke-3 yang dicoba pada 5 orang dengan backgrournd tidak terdapat benda lain tetapi setiap


(5)

50 orang hanya terdapat satu database citra wajah, dan data pengamatan ke-4 yang dicoba pada 5 orang dengan background tidak terdapat benda lain tetapi setiap orang terdapat 5 database citra wajah. Data pengamatan ke-4 dengan database citra wajah yang lebih banyak memiliki tingkat keberhasilan yang lebih tinggi dibandingkan dengan data pengamatan ke-3 yang hanya terdapat 1 database saja.

5.2 Saran

Pengenalan wajah menggunakan algoritma eigenface dapat direalisasikan pada aplikasi absensi, tetapi sebagai sistem keamanan, pengenalan wajah menggunakan algoritma eigenface kurang tepat, untuk sistem keamanan lebih baik menggunakan sistem feature based karena pada sistem ini digunakan fitur yang diekstraksi dari komponen citra wajah (mata, hidung, mulut, dan lain-lain) yang kemudian hubungan antara fitur-fitur tersebut dimodelkan secara geometris.


(6)

49 DAFTAR PUSTAKA

Fatta,Hanif al, Rekayasa Sistem Pengenalan Wajah, C.V ANDI OFFSET, Yogyakarta, 2009.

MADCOMS, Seri Panduan Pemrograman Database Visual Basic 6.0 dengan Crystal Report, C.V ANDI OFFSET , Yogyakarta, 2002.

Mesran, Visual Basic, Mitra Wacana Media , Jakarta, 2009.

Sutoyo, T., Edy Mulyanto, Teori Pengolahan Citra Digital, C.V ANDI OFFSET, Yogyakarta, 2009.

http://docs.google.com/viewer?a=v&q=cache:UbtpeK_yZKsJ:resources.unpad.ac. id/unpad-content/uploads/publikasi_dosen/PCA. (22 Juli 2010)