Penerapan Face Recognition pada Keamanan Folder Menggunakan Metode Eigenface
09PENGENALAN GARIS TELAPAK TANGAN DENGAN MENGGUNAKAN EKSTRAKSI FITUR OPERASI BLOK NON-OVERLAPPING DAN
PENCOCOKAN NORMALIZED EUCLIDEAN DISTANCE
SKRIPSI
HANI FEBRINA RASYAD SIREGAR
091402126
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2014
PENERAPAN
FACE RECOGNITION
PADA KEAMANAN
FOLDER
(2)
PENERAPAN
FACE RECOGNITION
PADA KEAMANAN
FOLDER
MENGGUNAKAN METODE
EIGENFACE
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah
Sarjana Teknologi Informasi
HANI FEBRINA RASYAD SIREGAR
091402126
PROGRAM STUDI S1 TEKNOLOGI INFORMASI
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2014
(3)
PERSETUJUAN
Judul : PENERAPAN FACE RECOGNITION PADA
KEAMANAN FOLDER MENGGUNAKAN METODE EIGENFACE
Kategori : SKRIPSI
Nama : HANI FEBRINA RASYAD SIREGAR
Nomor Induk Mahasiswa : 091402126
Program Studi : SARJANA (S1) TEKNOLOGI INFORMASI
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI
INFORMASI UNIVERSITAS SUMATERA UTARA
Diluluskan di Medan, 2014
Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Drs. Sawaluddin, M.IT
NIP 195912311998021001
Romi Fadillah Rahmat, B.Comp.Sc., M.Sc NIP 198603032010121004
Diketahui/disetujui oleh
Program Studi S1 Teknologi Informasi Ketua,
Muhammad Anggia Muchtar, S.T., M.M.IT NIP 198001102008011010
(4)
PERNYATAAN
PENERAPAN FACE RECOGNITION PADA KEAMANAN FOLDER
MENGGUNAKAN METODE EIGENFACE
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, Juli 2014
Hani Febrina Rasyad Siregar 091402126
(5)
PENGHARGAAN
Puji dan syukur penulis sampaikan kehadirat Allah SWT yang telah memberikan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan skripsi ini sebagai syarat untuk memperoleh gelar Sarjana Teknologi Informasi, Program Studi S1 Teknologi Informasi Universitas Sumatera Utara. Penulis menyadari bahwa tanpa bantuan dan bimbingan dari berbagai pihak sangatlah sulit untuk menyelesaikan skripsi ini. Maka dalam kesempatan ini penulis ingin mengucapkan terimakasih sebesar-besarnya kepada:
1. Papa dan Mama selaku kedua orangtua penulis Hasan Siregar dan Rita Erlinda
Nasution, S.H yang sudah memberikan do‟a, dukungan dan semangat disetiap
saat. Terimakasih untuk beliau yang sudah berhasil menyekolahkan penulis hingga sarjana. Semoga penulis dapat membuat Papa dan Mama bangga. 2. Dekan dan Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi
Universitas Sumatera Utara, semua dosen serta pegawai di Program Studi S1 Teknologi Informasi.
3. Ketua dan Sekretaris Program Studi Teknologi Informasi, Muhammad Anggia Muchtar, S.T., M.M.IT. dan Mohammad Fadly Syahputra, B.Sc., M.Sc.IT. 4. Seluruh dosen Departemen Teknologi Informasi dan Ilmu Komputer USU
yang telah mengajarkan dan memberikan dukungan, arahan dan bantuannya dalam menyelesaikan tugas akhir ini.
5. Kepada Bapak Romi Fadillah Rahmat, B.Comp.Sc.,M.Sc selaku pembimbing satu dan Bapak Drs. Sawaluddin, M.IT selaku pembimbing dua yang telah menyediakan waktu, tenaga dan pikiran untuk mengarahkan penulis dalam penyusunan skripsi ini.
6. Adik-adik penulis Rizkita Andelia Rasyad Siregar, Nadhila Rasyad Siregar, Billa Syakira Rasyad Siregar serta yang terkasih Rio Auditya Pratama Samosir telah banyak membantu dan memberikan semangat kepada penulis dalam menyelesaikan skripsi ini.
7. Kepada sahabat Soraya Al Mahdaly dan Raisa Arifah, S.I.Kom. Teman-teman penulis Raisha Ariani Sirait, Fanny Sari Wulandari, Nuryuliana, Yunisya Aulia Putri, S.TI., Fatya Al Mahdaly, Lubna Al Mahdaly, Nurul Khadijah, S.TI., Julia Annisa Sitepu, S.TI., Ade Maulana, S.Kom., grup LINE SEMPA(K) serta teman-teman mahasiswa Teknologi Informasi lainnya yang tidak dapat penulis sebutkan satu persatu.
Penulis menyadari skripsi ini belumlah sempurna. Dengan segala kerendahan hati penulis mengharapkan saran dan kritik yang membangun. Semoga Tuhan selalu memberikan berkah dan rahmat-Nya pada kita semua.
(6)
ABSTRAK
Keamanan folder merupakan salah satu hal yang penting bagi banyak orang guna mengamankan data pribadi yang penting. Banyak cara untuk menjaga keamanan
folder, yang sering digunakan adalah keamanan dengan password berupa text. Kemajuan Teknologi yang pesat dapat membantu memberikan keamanan folder yang lebih spesifik. Salah satunya adalah keamanan folder yang menggunakan wajah dan
password untuk mengunci folder. Sistem keamanan folder yang menggunakan dua lapis keamanan wajah dan password dapat memberikan keamanan yang lebih spesifik terhadap suatu folder atau lebih. Dengan menggunakan wajah dan password
keamanan folder akan lebih terjaga, sebab dengan menggunakan dua keamanan folder
melalui wajah dan password, maka folder hanya dapat diakses oleh user tersebut sehingga terhindar dari orang-orang yang berusaha mengakses.
Dalam membangun aplikasi keamanan folder ini, penulis menggunakan metode Eigenface. Hasil dari penelitian ini adalah sebuah aplikasi yang berfungsi untuk menjaga keamanan folder menggunakan wajah.
Kata kunci : Folder, Eigenface, Aplikasi Keamanan Folder, Face Recognition, Password.
(7)
IMPLEMENTASION OF FACE RECOGNITION IN FOLDERS’ SECURITY IS USING EIGENFACE METHOD
ABSTRACT
Folder‟s security is one of the most important things for some people to protect their important personal data. There are many ways to protect the folders and the recent most popular way is using password in text format. An advanced technology also can be used to protect folders in more specific ways. A combined “face-lock” and
“password” folders‟ security system is one of sophisticated way to protect the folders. It will provide more protection because the folders are protected by two security systems. The folders only can be accessed by the appropriate user using his/her own face and password; there is no other face (user) can access the folders.
The method that has been implemented to develop the application of folder‟s security system as described above is Eigenface method. The result of this study is, an application that can be used to protect the folder security using the user face and password.
Keywords : Folder, Eigenface, Folder Security Application, Face Recognition, Password.
(8)
DAFTAR ISI
Halaman
PERSETUJUAN ii
PERNYATAAN iii
PENGHARGAAN iv
ABSTRAK v
ABSTRACT vi
DAFTAR ISI vii
DAFTAR TABEL ix
DAFTAR GAMBAR x
BAB 1 PENDAHULUAN 1
1.1Latar Belakang 1
1.2 Rumusan Masalah 3
1.3 Batasan Masalah 3
1.4 Tujuan Penelitian 3
1.5 Manfaat Penelitian 3
1.6 Metodologi Penelitian 4
1.7 Sistematika Penulisan 4
BAB 2 LANDASAN TEORI 6
2.1 Folder 6
2.2 Keamanan Folder 7
2.3 Folder Lock dalam Windows 7
2.4 Face Recognition 9
2.5 Principal Component Analysis (PCA) 9
2.6 Metode Eigenface 10
2.7 Penelitian Terdahulu 14
BAB 3 ANALISIS DAN PERANCANGAN 15
3.1 Proses Prapengolahan Wajah Terdeteksi 16
3.1.1 Resize 17
3.1.2 Proses Grayscale 17
3.1.3 Reshape Image 2D ke vektor 1D 18
3.2 Proses PCA (Principal Component Analysis) 19
3.3 Proses Eigenface 20
3.4 Proses Euclidean Distance 21
3.5 Perancangan Sistem 22
3.5.1 Diagram Use Case 22
3.5.2 Penjelasan Use Case 23
3.5.3 General Architecture 23
3.6 Perancangan Tampilan Antarmuka 24
3.6.1 Perancangan Struktur Menu 24
3.6.2 Perancangan Tampilan Halaman Utama 25
3.6.3 Rancangan Tampilan Daftar User 26
3.6.4 Rancangan Tampilan Halaman Login 27
3.6.5 Perancangan Tampilan Lock dan Unlock Folder 27
(9)
viii
4.1Implementasi Sistem 29
4.1.1 Perangkat Keras (Hardware) dan Perangkat Lunak (Software) 29
4.1.2 Tampilan Implementasi Sistem 30
4.2 Pengujian 40
4.2.1 Pengujian Deteksi Wajah 40
4.2.2 Pengujian Keamanan User Login 41
4.2.3 Pengujian Keamanan Folder 49
BAB 5 KESIMPULAN DAN SARAN 54
5.1 Kesimpulan 54
5.2 Saran 54
DAFTAR PUSTAKA 55
(10)
DAFTAR TABEL
Halaman
Tabel 3.1 Penjelasa use case 23
(11)
DAFTAR GAMBAR
Halaman
Gambar 3.1 Tahapan proses pengenalan wajah 15
Gambar 3.2 Proses prapengolahan wajah terdeteksi 16
Gambar 3.3 Proses grayscale 18
Gambar 3.4 Reshapeimage 2D ke vektor 1D 19
Gambar 3.5 Proses PCA 19
Gambar 3.6 Proses eigenface 20
Gambar 3.7 Proses euclidean distance 21
Gambar 3.8 Diagram use case 22
Gambar 3.9 Rancangan tampilan keseluruhan atau general architecture 24
Gambar 3.10 Rancangan tampilan antarmuka 25
Gambar 3.11 Rancangan tampilan halaman utama 25
Gambar 3.12 Rancangan tampilan daftar user 26
Gambar 3.13 Rancangan tampilan halaman login 27
Gambar 3.14 Rancangan tampilan lock and unlock 28
Gambar 4.1 Tampilan awal program 30
Gambar 4.2 Tampilan daftar baru 31
Gambar 4.3 Tampilan capture pertama 31
Gambar 4.4 Tampilan capture kedua 32
Gambar 4.5 Tampilan capture ketiga 33
Gambar 4.6 Tampilan daftar mengisi data diri 33
Gambar 4.7 Tampilan daftar kemudian simpan 34
Gambar 4.8 Tampilan login awal sebelum capture wajah 35 Gambar 4.9 Tampilan login awal setelah capture wajah 35 Gambar 4.10 Tampilan login awal wajah terdeteksi 36 Gambar 4.11 Tampilan login awal setelah login dan berhasil 37
Gambar 4.12 Tampilan login password 37
Gambar 4.13 Tampilan folder tidak terkunci 38
Gambar 4.15 Tampilan folder terkunci yang dibuka tanpa menggunakan aplikasi 39 Gambar 4.16 Tahap pengujian ketika aplikasi berhasil mendeteksi wajah 40 Gambar 4.17 Tahap pengujian ketika aplikasi tidak berhasil mendeteksi wajah 41 Gambar 4.18 Login dengan HANI FEBRINA tanpa menggunakan jilbab 42 Gambar 4.19 Login user ID HANI FEBRINA dengan menggunakan jilbab 43 Gambar 4.20 Login user ID HANI FEBRINA dengan menggunakan pas photo 3x4 43
Gambar 4.21 Login user ID RAFIQA 44
Gambar 4.22 Login user ID YESSI 45
Gambar 4.23 Login user ID EMMA 46
Gambar 4.24 Login user ID RIO AUDITYA 47
Gambar 4.25 Login user ID SALIM 47
(12)
Gambar 4.27 Pengujian keamanan folder yang telah di lock dan dibuka tanpa
menggunakan aplikasi 49
Gambar 4.28 Pengujian keamanan folder yang telah di lock dan dipindahkan ke
directory lain 50
Gambar 4.29 Pengujian keamanan folder yang telah di lock dan dibuka menggunakan
Linux Ubuntu 13.04 50
Gambar 4.30 Pengujian keamanan folder yang telah di lock dan dibuka menggunakan
MAC OS 51
(13)
ABSTRAK
Keamanan folder merupakan salah satu hal yang penting bagi banyak orang guna mengamankan data pribadi yang penting. Banyak cara untuk menjaga keamanan
folder, yang sering digunakan adalah keamanan dengan password berupa text. Kemajuan Teknologi yang pesat dapat membantu memberikan keamanan folder yang lebih spesifik. Salah satunya adalah keamanan folder yang menggunakan wajah dan
password untuk mengunci folder. Sistem keamanan folder yang menggunakan dua lapis keamanan wajah dan password dapat memberikan keamanan yang lebih spesifik terhadap suatu folder atau lebih. Dengan menggunakan wajah dan password
keamanan folder akan lebih terjaga, sebab dengan menggunakan dua keamanan folder
melalui wajah dan password, maka folder hanya dapat diakses oleh user tersebut sehingga terhindar dari orang-orang yang berusaha mengakses.
Dalam membangun aplikasi keamanan folder ini, penulis menggunakan metode Eigenface. Hasil dari penelitian ini adalah sebuah aplikasi yang berfungsi untuk menjaga keamanan folder menggunakan wajah.
Kata kunci : Folder, Eigenface, Aplikasi Keamanan Folder, Face Recognition, Password.
(14)
IMPLEMENTASION OF FACE RECOGNITION IN FOLDERS’ SECURITY IS USING EIGENFACE METHOD
ABSTRACT
Folder‟s security is one of the most important things for some people to protect their important personal data. There are many ways to protect the folders and the recent most popular way is using password in text format. An advanced technology also can be used to protect folders in more specific ways. A combined “face-lock” and
“password” folders‟ security system is one of sophisticated way to protect the folders. It will provide more protection because the folders are protected by two security systems. The folders only can be accessed by the appropriate user using his/her own face and password; there is no other face (user) can access the folders.
The method that has been implemented to develop the application of folder‟s security system as described above is Eigenface method. The result of this study is, an application that can be used to protect the folder security using the user face and password.
Keywords : Folder, Eigenface, Folder Security Application, Face Recognition, Password.
(15)
5
Bab 2 Tinjauan Pustaka
Pada bab tinjauan pustaka berisi landasan teori, kerangka pikir dan hipotesis yang diperoleh dari acuan yang mendasari dalam melakukan penelitian ini. Bab 3 Analisis dan Perancangan Sistem
Pada bab metodologi berisikan paparan analisis terhadap permasalahan dan penyelesaian persoalan terhadap penerapan Face Recognition pada Keamanan
Folder menggunakan metode Eigenface.
Bab 4 Hasil dan Pembahasan
Pada bab hasil dan pembahasan berisi implementasi perancangan sistem dari hasil analisis dan perancangan yang sudah dibuat, serta menguji sistem untuk menemukan kelebihan dan kekurangan pada penerapan Face Recognition pada Keamanan Folder menggunakan metode Eigenface.
Bab 5 Kesimpulan dan Saran
Pada bab kesimpulan dan saran berisi kesimpulan dari hasil penelitian dan saran-saran yang berkaitan dengan penelitian yang dapat dikembangkan selanjutnya.
(16)
BAB 2
LANDASAN TEORI
2.1 Folder
Sebuah directory (folder) adalah seperti ruangan-ruangan (kamar-kamar) pada sebuah komputer yang berfungsi sebagai tempat penyimpanan dari berkas-berkas (file).
Sedangkan file adalah kumpulan data-data baik berupa teks, angka, gambar, video, slide, program, dan lain-lain yang diberi nama tertentu secara digital (Daniel. C dan Angkasa. W. P. 2009). Folder pada dasarnya dapat diakses oleh semua pengguna dari komputer. Oleh sebab itu tingkat keamanan data-data yang terdapat dalam sebuah
folder masih belum ada. Kemajuan Teknologi dapat dimanfaatkan untuk menjaga kemanan sebuah folder. folder pada window sejarahnya dimulai ketika Microsofot merilis windows XP. Windows XP pertama kali dirilis pada 25 Oktober 2001, dan lebih dari 400 juta salinan instalasi digunakan pada Januari 2006, menurut perkiraan seorang analis IDC. Windows XP digantikan oleh Windows Vista, yang dirilis untuk pengguna volume license pada 8 November 2006, dan di seluruh dunia untuk masyarakat umum pada tanggal 30 Januari 2007. Banyak Original Equipment Manufacturer (OEM) dan juga penjual ritel menghentikan produksi perangkat dengan Windows XP pada tanggal 30 Juni 2008. Microsoft sendiri terus menjual Windows XP melalui Custom-built PC (OEM kecil yang menjual komputer rakitan) sampai dengan 31 Januari 2009. Windows XP mungkin akan tetap tersedia bagi para pengguna korporasi dengan volume licensing, sebagai sarana downgrade untuk komputer-komputer yang belum siap menjalankan sistem operasi baru, Windows Vista Business Edition atau Ultimate Edition atau Windows 7.
(17)
7
2.2 Keamanan Folder
Keamanan folder merupakan salah satu cara untuk memberikan satu sistem keamanan kepada folder yang berguna untuk mengamankan data atau file- file yang bersifat rahasia dan penting. Dalam penerapannya, telah banyak cara untuk memberikan sistem keamanan terhadap folder, diantaranya dengan memberikan password berupa huruf/ angka, atau dengan menyembunyikan folder tersebut sehingga tidak kelihatan oleh orang lain (Daniel. C, et al. 2009).
Seiring berkembangnya kemajuan teknologi, sudah banyak situs yang menyediakan aplikasi pembantu untuk memberikan keamanan terhadap folder. Keamanan folder adalah keadaan dimana ada sebuah software yang dapat mengunci
folder (directory) beserta dengan file di dalamnya sehingga tidak dapat diakses oleh sembarang orang. Jika ada yang hendak mengakses folder yang dikunci tersebut, maka user harus membuka folder tersebut terlebih dahulu dengan memasukkan
password yang telah dimasukkan sebelumnya.
2.3 Folder Lock dalam Windows
Folder Lock adalah sebuah software yang dapat mengunci Folder (Directory) beserta dengan file di dalamnya sehingga tidak dapat diakses oleh sembarang orang. Jika ada yang hendak mengakses folder yang dikunci tersebut, maka user harus membuka
folder tersebut terlebih dahulu dengan memasukkan password yang telah dimasukkan sebelumnya.
Bagi orang yang sering menggunakan komputer, tentunya telah mengetahui bahwa Folder (directory) memiliki attribute. Attribute itu dapat kita lihat dengan cara klik kanan pada salah satu folder kemudian pilih properties, maka akan terlihat
attribute Folder Read-Only, Archive, & Hidden. Namun, tidak semua orang tahu. Windows memiliki attribute-attribute lain yang tidak ditampilkan. Salah satunya adalah attribute System (kadang disebut juga sebagai SuperHidden) yang biasa digunakan Windows untuk menyembunyikan komponen komponen. Folder penting bagi Windows. Pada pembuatan Folder Lock ini, attribute System juga akan diberikan
(18)
pada folder yang dipilih, sehingga folder tidak akan tampak walaupun tanda “Show
Hidden Folder” telah diberikan pada Folder Option. Dalam memberikan attribute System pada folder, function yang akan digunakan adalah function yang biasa diakses melalui cmd. Function tersebut adalah Function “attrib” yang menggunakan
Attrib.exe yang berada pada folder %windir%/system32. Di dalam Windows sebenarnya terdapat suatu fungsi yang dapat digunakan untuk mengunci folder
pribadi, sehingga tidak dapat diakses oleh orang yang tidak berkepentingan. Fungsi tersebut adalah dengan mengubah Access Permission dari folder tersebut. Sayangnya, fungsi ini hanya sedikit yang mengetahui dan hanya dapat berjalan pada HardDisk yang telah menggunakan sistem NTFS. Access Permission ini juga baru diaplikasikan mulai dari Windows XP. Cara kerja dari Access Permission ni mirip dengan Access Permission yang diberikan sewaktu pengguna login dengan Id yang berbeda pada sebuah komputer yang mempunyai sistem operasi Windows. Jika pengguna membuka Windows dengan suatu Id, maka pengguna tersebut tidak dapat mengakses folder
milik Id lain. Perintah yang digunakan untuk menjalankan fungsi ini adalah CACLS.exe yang secara default telah ada pada Windows XP yang biasanya terletak
pada “C:\windows\system32\”(dengan anggapan Windows diletakkan pada Drive C). Program CACLS ini merupakan singkatan dari Change Access Control ListS yang berfungsi untuk mengubah ACLs pada Windows. Secara sederhana, ACLs adalah sebuah daftar yang menjelaskan pengguna mana yang dapat mengakses suatu folder
atau data tertentu. Yang artinya, pengguna bisa saja tidak memberikan access kepada orang lain(baca:account lain) terhadap milik pengguna tersebut ataupun sebaliknya. CACLS juga dapat digunakan walaupun pada komputer tersebut hanya memiliki satu account saja yang tidak perlu melalui login Windows. Hal ini dapat dilakukan dengan tidak memberikan Access Permission pada account itu sendiri, sehingga data atau
folder tersebut tidak dapat diakses oleh siapapun pada komputer tersebut. CACLS dapat diakses dengan menggunakan command prompt. Untuk perintah lengkap dari CACLS juga dapat dilihat pada command prompt itu sendiri (Daniel. C dan Angkasa. W. P. 2011).
(19)
9
2.4 Face Recognition
Face Recognition atau pengenalan wajah adalah salah satu teknologi biometrik yang telah banyak diaplikasikan dalam sistem security selain pengenalan retina mata, pengenalan sidik jari dan iris mata. Dalam aplikasinya sendiri pengenalan wajah menggunakan sebuah kamera untuk menangkap wajah seseorang kemudian dibandingkan dengan wajah yang sebelumnya telah disimpan di dalam database
tertentu. Ada beberapa macam metoda pengenalan wajah yaitu neural network, jaringan syaraf tiruan, neuro fuzzy adaptif dan eigenface (Bayu. S, et al. 2011).
Face perception adalah proses „mengenali wajah‟ dimana otak dan pikiran
berusaha memahami dan menafsirkan wajah yang ada di hadapannya, terutama wajah manusia. Proporsi dan ekspresi wajah manusia dinilai penting untuk identifikasi awal mengenai kecenderungan emosional, kualitas kesehatan, ataupun beberapa informasi sosial. Wajah merupakan salah satu dari bagian tubuh manusia yang terdiri dari beberapa panca indera. Setiap manusia memiliki pola wajah yang berbeda. Itulah sebabnya wajah manusia dapat digunakan sebagai bagian penting yang dapat diidentifikasi untuk beberapa kepentingan yang bersifat personal dan penting. Salah satunya adalah keamanan untuk suatu folder menggunakan citra wajah. Banyak metode yang dapat digunakan dalam membangun sebuah Face Recognition
diantaranya metode Embedded Hidden MarkovModels, Eigenface, dan lain lain. Dalam penelitian ini, penulis akan membangun sebuah aplikasi yang berfungsi untuk menjaga keamanan folder menggunakan pencitraan wajah. Metode yang digunakan adalah metode Eigenface.
2.5 Principal Component Analysis (PCA)
PCA merupakan algoritma yang di dalamnya terdapat eigenface. Prinsip dasar dari algoritma PCA adalah memproyeksikan image ke dalam bidang ruang eigen- nya. Caranya adalah dengan mencari eigen vector yang dimiliki setiap image dan memproyeksikannya ke dalam ruang eigen yang didapat tersebut. Besarnya dimensi
(20)
ruang eigen tergantung dari jumlah image yang dimiliki oleh program training (Purwanto, J, E).
Perhitungan PCA dimulai dengan pembentukan matriks kovarians dari sekumpulan citra latih dalam basis-data. Untuk membuat matriks kovarians dapat dilakukan dengan mengurangkan setiap kolom dari matriks ruang citra dengan reratanya masing-masing sehingga didapatkan suatu matriks transformasi, kemudian mengalikan matriks hasilnya dengan transpos matriks tersebut sendiri. Jika dimisalkan matriks transformasinya adalah X, maka matriks kovariansnya adalah ∑X = XXT . Ide utama PCA adalah menemukan vektor dengan nilai terbaik untuk distribusi citra wajah dalam seluruh ruang citra. Vektor-vektor ini mendefinisikan subruang citra wajah atau biasa disebut dengan nama ruang wajah. Vektor ini mendefinisikan subruang dari citra-citra wajah dan subruang tersebut dinamakan ruang wajah. Identifikasi suatu citra uji, membutuhkan proyeksi suatu citra ke dalam ruang wajah untuk menentukan korespondensi kumpulan bobot-bobot. Dengan membandingkan kumpulan bobot-bobot wajah dalam training set, pengujian citra dapat diidentifikasi. Menurut Puri. F. T. 2011, Bentuk umum dari Principal Component Analysis (PCA) adalah sebagai berikut :
C = - Ѱ) ( –Ѱ
Tujuan yang ingin dicapai adalah membangun sebuah ruang wajah, dengan setiap komponennya tidak saling berkorelasi. Ini berarti bahwa matriks kovarians dari komponen yang baru haruslah berbentuk diagonal.
2.6 Metode Eigenface
Kata Eigenface sebenarnya berasal dar bahasa Jerman “eigenvert” dimana “eigen”
yang artinya karakteristik dan “wert” artinya nilai. Eigenface adalah salah satu algoritma pengenalan pola wajah yang berdasarkan pada Principal Component Analysis (PCA) yang dikembangkan di MIT (Prasetyo dan Rahmatun, 2007).
(21)
11
Eigenface merupakan sekumpulan standardize dace ingredient yang diambil dari analisis statistik dari banyak gambar wajah. Dalam menghasilkan Eigenface, sekumpulan citra digital dari wajah manusia diambil pada kondisi pencahayaan yang sama kemudian dinormalisasikan dan diproses pada resolusi yang sama (misal m x n), kemudian citra tadi diperlakukan sebagai vektor dimensi m x n dimana komponennya diambil dari nilai piksel citra.
Algoritma Eigenface secara keseluruhan cukup sederhana. Image matriks
( ). 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 ( ) yang ingin dikenali, proses yang sama juga diberlakukan untuk image
( ), untuk mengektraksi eigenvector (v) dan eigenvalue (λ), kemudian cari nilai Eigenface dari image test face ( ). Setelah itu barulah image baru ( ) memasuki tahapan pengenalan dengan menggunakan metode euclidean distance.
Metode euclidean distance digunakan untuk mencari jarak dengan data fitur yang telah didapat, dan jarak terkecil adalah hasilnya. (Kusumoputro dan sripomo, 2002).
Di tahun 1933, Hotelling mengajukan sebuah teknik untuk mengurangi dimensi sebuah ruang yang direpresentasikan oleh variabel statistik x1, x2, . . . ., xn,
dimana variabel tersebut biasanya saling berkorelasi satu dengan yang lain. Selanjutnya Hotelling menyebut metode tersebut sebagai Principal Component Analysis (PCA) atau kadang juga Transformasi Hotelling atau disebut juga Transformasi Karhunen – Loeve (Prasetyo, et al. 2007).
Pengenalan wajah dengan pendekatan Eigenface dapat digolongkan dalam suatu metoda appearance-based, ini dikarenakan pengenalan wajah Eigenface
menggunakan informasi mentah dari pixel citra yang kemudian direpresentasikan dalam metode tertentu (misalnya Principal Component Analysis (PCA), transformasi wavelet, dll) yang selanjutnya digunakan untuk pelatihan dan klasifikasi indentitas citra. Ide dari metode ini adalah memproyeksikan sebuah wajah yang merupakan sebuah citra dapat dilihat sebagai sebuah vektor.
Metode PCA yang juga dikenal dengan nama Karhunen-Loeve transformation
(KLT), sudah dikenal sejak 30 tahun lalu dalam dunia pengenalan pola. PCA
memberikan transformasi ortogonal yang disebut dengan „eigenimage„ yang mana
(22)
eigenimage yang bersesuaian dengan nilai eigen terbesar dari matrix covariance. Secara praktis matrix covariance ini dibangun dari sekumpulan image training yang diambil dari berbagai obyek/kelas.
Pada metode ini setiap citra wajah dianggap sebagai vektor yang panjang, nantinya akan di representasikan sebagai satu titik pada dimensi tinggi. Karena fitur yang akan dihasilkan terletak dalam dimensi tinggi maka perlu dilakukan reduksi dimensi-dimensi fitur yaitu, Principal Component Analysis (PCA), (M. Turk and A. Pentland, 1991). Selain itu model wajah dipelajari melalui proses training dengan menggunakan satu set data pelatihan yang berisi contoh-contoh wajah. Kemudian hasil training ini digunakan untuk pengenalan wajah.
Proses identifikasi image wajah adalah sebagai berikut: 1. Pengambilan Citra Wajah
Pengambilan citra wajah adalah proses pengambilan wajah yang akan digunakan sebagai password untuk membuka folder. Pengambilan citra wajah menggunakan
Web Camera atau yang sebagaimana biasa disingkat sebagai webcam. Webcam
merupakan kamera kecil yang terdapat di komputer. Alat ini digunakan untuk mengambil gambar untuk digunakan sebagai kunci untuk mengakses keamanan
folder dalam aplikasi ini.
Pengenalan wajah adalah suatu pengenalan pola yang khusus untuk kasus wajah. Ataupun sebagai pengklasifikasian suatu wajah apakah dikenali (know)
atau tidak dikenali (unkwon), dimana setelah dibandingkan kemudian disimpan secara tersendiri.
Pada sistem dibagi menjadi dua, yaitu sistem feature based dan image based. Sistem yang pertama digunakan fitur yang diekstraksi dari komponen citra wajah (mata, hidung, mulut, dll) kemudian hubungan antara fitur-fitur tersebut dimodelkan secara geometris. Sedangkan sistem kedua menggunakan informasi mentah dari piksel citra (webcam) kemudian dipresentasikan dalam metode tertentu seperti Principal Component Analysis (PCA), transformasi wavelet yang kemudian digunakan untuk klasifikasi identitas citra.
Pada metode ini, model wajah dipelajari melalui proses training dengan menggunakan satu set data pelatihan yang berisi contoh-contoh wajah. Kemudian hasil training ini digunakan untuk pengenalan wajah. Yang termasuk dengan metode Eigenface.
(23)
13
Algoritma Eigenface memanfaatkan Principal Component Analysis (PCA) untuk mereduksi dimensinya guna menemukan vektor-vektor yang mempunyai nilai terbaik untuk distribusi citra wajah didalam ruang citra masukan.
PCA menemukan vektor dengan nilai terbaik untuk distribusi citra wajah dalam seluruh ruang citra. Vektor-vektor ini mendefenisikan subruang citra wajah atau biasa disebut dengan ruang wajah.
2. Input Citra
Input citra merupakan proses memasukkan gambar yang diambil dari webcam. Aplikasi ini membutuhkan input pengambilan gambarwajah sebanyak 3 kali. Jika gambar sipengguna sudah terdapat di database, maka gambar wajah yang diinput akan disesuaikan dengan gambar yang sudah ada di database, dan jika sesuai maka folder bisa dibuka.
3. Dilation
Jika gambar wajah belum terdapat di database, maka proses akan berlanjut ke
Dilation. Proses ini merupakan proses normalisasi image (gambar). Pada proses ini ukuran dari gambar wajah yang diinput akan diseragamkan dengan menggunakan ukuran 80 x 80 piksel.
4. Grayscale
Tahapan berikutnya adalah pengubahan warna gambar menjadi grayscale. Tahapan ini termasuk ke dalam tahapan normalisasi image juga.Pada tahapan ini, gambar yang telah diseragamkan uzkurannnya akan diturunkan kualitas warnanya menjadi tipe grayscale. Tujuan dari penurunan kualitas warna menjadi tipe
grayscale adalah untuk memudahkan pengenalan pola wajah. 5. Eigenface Feature Extraction
Pada metode ini setiap citra wajah dianggap sebagai vektor yang panjang, nantinya akan di representasikan sebagai satu titik pada dimensi tinggi. Karena fitur yang akan dihasilkan terletak dalam dimensi tinggi maka perlu dilakukan reduksi dimensi-dimensi fitur yaitu, Principal Component Analysis (PCA), (M. Turk and A. Pentland, 1991).
a. Kalkulasi Eigenface
Tujuan kalkulasi Eigenface adalah untuk menentukan nilai Eigenface dari
image wajah.
(24)
Setelah nilai dari kalkulasi Eigenface diperoleh, maka tahapan selanjutnya adalah menghitung Euclidean Distance untuk mencari selisih terkecil antara titik yang satu dengantitik lain. Setelah proses eigenface selesai, maka pola gambar wajah akan tersimpan di database.
6. Matching
Pada tahapan ini, aplikasi akan menyesuaikan pola wajah untuk membuka ataupun menutup sebuah folder (lock / unlock folder).
2.7 Penelitian Terdahulu
Penulis memiliki beberapa referensi dari beberapa penelitian terdahulu, mengenai pengenalan wajah maupun pencitraan wajah untuk membangun aplikasi Keamanan
Folder pada penelitian ini dapat dilihat pada tabel 2.1.
Tabel 2.1 Penelitian Terdahulu
Peneliti Terdahulu Judul
Indra, 2012
Sistem Pengenalan Wajah Dengan Metode Eigenface Untuk Absensi Pada Pt Florindo Lestari
Jemmy E.Purwanto Pengenalan Wajah Melalui Webcam Dengan Menggunakan Algoritma Pricipal Component Alaysis (PCA) Dan Linier Discriminant Analysis (LDA)
Setya Bayu 1, Akhmad Hendriawan 2 , Ronny Susetyoko 2
Penerapan face recognition dengan metode eigenface dalam Intelligent home security
(25)
BAB 3
ANALISIS DAN PERANCANGAN
Bab ini membahas beberapa hal diantaranya yaitu analisis suatu sistem yang bertujuan untuk mengidentifikasi permasalahan yang ada pada sistem tersebut. Analisis ini sangat diperlukan sebagai dasar perancangan sistem sebelum dibangun. Analisis sistem mencakup beberapa bagian yaitu desain data, deskripsi sistem, dan implementasi desain. Secara umum, tahapan pengenalan wajah dapat dilihat pada gambar 3.1.
Start
Citra input dari webcam
Deteksi wajah
Prapengolahan wajah terdeteksi
Proses PCA dari gambar acuan
Hitung eigenface
Hasil pengenalan wajah
Wajah dikenali
Password
Password benar
Daftar folder
End
Y
N
Y
N
(26)
Proses pengenalan wajah memiliki langkah-langkah sebagai berikut:
1. Citra input diterima dari webcam untuk lakukan proses pengenalan wajah.
2. Citra input yang diterima kemudian diteruskan ke proses pendeteksian wajah guna untuk mengambil wajah yang terdapat pada webcam.
3. Wajah yang telah terdeteksi, kemudian diteruskan ke prapengolahan yang didalamnya terdapat proses resize dan grayscale. Prapengolahan ini bertujuan untuk menyelaraskan citra sehingga akan lebih mudah untuk di kenali.
4. Hasil dari prapengolahan inilah yang digunakan untuk proses PCA (Principal Component Analysis).
5. Setelah proses PCA selesai, hasil dari PCA tersebut akan diteruskan ke proses
eigenface.
6. Hasil dari proses eigenface dicari nilai minimumnya dengan menggunakan
Euclidean distance untuk menentukan hasil dari pengenalan wajah tersebut.
3.1 Proses Prapengolahan Wajah Terdeteksi
Proses pra pengolahan wajah dapat dilihat pada gambar 3.2 berikut:
1. Inputan berupa citra wajah yang telah terdeteksi di lakukan proses resize atau penyamaan ukuran menjadi 30 x 30.
2. Hasil dari resize ini kemudian diproses untuk didapatkan nilai keabuannya
(Grayscale).
Start
Citra wajah terdeteksi
Resize ukuran citra
Grayscale
End Hasil prapengolahan
(27)
17
3.1.1 Resize
Proses resize pada skripsi ini menggunakan fungsi bawaan yang telah ada pada Aforge.net yaitu fungsi ResizeBilinear.
3.1.2 Proses Grayscale
Proses grayscale memiliki langkah-langkahnya sebagai berikut :
1. Mengubah image RGB menjadi image grayscale. Tiga layer pada citra berwarna, R-layer, G-layer, dan B-layer diubah menjadi satu layer grayscale.
2. Hasil dari proses mendapatkan sebuah vektor ciri dan mendapatkan jarak
distance.
3. Untuk mengubah citra berwarna yang memiliki nilai matrik masing-masing R, G, dan B menjadi citra grayscale dengan membagi jumlah ketiga layer, dengan persamaan dibawah ini:
4. Setelah didapatkan citra yang sudah ter-grayscale, selanjutnya citra diproses dengan mengubahnya menjadi vektor matriks untuk mendapatkan nilai vektor dari citra tersebut. Proses grayscale dapat dilihat pada gambar 3.3 flowchart di bawah ini (imam, 2010).
(28)
Start
Gbr = citra input i=0;j=0
i<Gbr.Height
J<Gbr.Width
3
j].B Gbr[i, j].G Gbr[i, j].R Gbr[i, ] , [i j Gray
j+=1 i+=1
End Y
N
Y
3.1.3 Reshape Image 2D ke vektor 1D
Setelah didapatkan image yang hasil dari hasil proses pengolahan wajah, kemudian masuk ke dalam proses grayscale, maka image dimasukkan ke dalam proses PCA untuk masuk kedalam proses eigenface. Selanjutnya setelah semua proses itu selesai maka masuk ke dalam proses reshape image 2D ke dalam 1D dimana image diubah menjadi vektor satu dimensi untuk untuk mempermudah dalam menghitung distance
dari setiap image yang nantinya digunakan dalam proses pengenalan wajah. Misalnya dalam citra input yang diperoleh dari webcam diproses dan terdapat image dengan ukuran 3 x 4 piksel maka kita akan mempunyai flatvector ukuran 1 x 9. Ilustrasinya pada gambar 3.4 berikut (sediyono, 2009) :
(29)
19
2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2
3.2 Proses PCA (Principal Component Analysis)
Principal Component Analysis dapat dilihat pada gambar 3.5 dibawah ini.
Start
Someface inisialisasi = seluruh
data wajah
Matrikkov = ubah someface ke image kovarian
Mean = rata-rata matrikkov
Data adjust = matrikkov - mean
Eigenvalue = eigenvalue dari evd
Eigenvektor = eigenvektor dari evd
End
Evd = eigen value decomposition dari data adjust
Urutkan data eigenvektor
Final data = data adjust eigenvektor
Proses PCA atau Principal Component Analysis memiliki langkah-langkah sebagai berikut :
1. Someface adalah variable yang berfungsi untuk menginisialisasikan wajah terhadap seluruh data wajah yang ada.
2. Seluruh data wajah yang ada dirubah ke dalam bentuk matrik kovarian.
Gambar 3.4Reshape Image 2D ke vektor 1D
(30)
3. Matrik kovarian ini kemudian dihitung nilai rata - ratanya (mean).
4. Data adjust atau data nomal diperoleh selanjutnya dari pengurangan matrik kovarian terhadap mean.
5. Setelah itu didapatkan eigenvalue decomposition dari data adjust,
6. Setelah itu mendapatkan eigenvektor dari eigenvalue decomposition.
7. Eigenvektor kemudian diurutkan.
8. Final data diperoleh sebagai hasil akhir dari data adjust eigenvektor.
3.3 Proses Eigenface
Proses Eigenface dapat dilihat pada gambar 3.6 berikut ini:
Start
Inisialisasi data capture wajah
Rata-rata = ambil rata-rata data set wajah
End Hasil = wajah inputan – rata-rata
Proses eigenface memiliki langkah-langkah sebagai berikut:
1. Menginisialisasikan data wajah capture sebagai wajah inputan. 2. Kemudian hitung rata-rata dari data set wajah.
3. Kurangi semua vektor wajah dan vektor wajah input dengan nilai rata – rata dari data set.
(31)
21
3.4 Proses Euclidean Distance
Proses Euclidean Distance memiliki langkah-langkah sebagai berikut :
1. Inisialisasi vektor wajah input dan vektor data wajah yang telah proses eigenface -nya.
2. Inisialisasi nilai ambang dan i=0
3. Selama I < banyaknya vektor data lakukan langkah ke 4 4. Hitung Euclidean Distance dengan rumus:
5. Cari nilai minimum dari Euclidean Distance, data dengan nilai minimum terendah dan tidak lebih besar dari nilai ambang maka vektor tersebutlah yang sama dengan wajah inputan.
Start
Vektor wajah input, vektor data
Inisialisasi nilai ambang i=0,min=-1 Minimal total=1000 i<vektor data.length i+=1 j=0, Total=0 j<vektor wajah input.length
Total + = (vektor wajah input ke j-vektor data ke i,j)2
j+=1 Min=j Minimal total=total Total<minimal total Minimal total<nilai ambang Login diterima Login ditolak End Total = √total
N Y N Y N Y Y N
(32)
3.5 Perancangan Sistem
Perancang sistem bertujuan untuk menggambarkan ide sistem yang akan dibuat.
3.5.1 Diagram Use Case
Pada sistem pembelajaran ini, terdapat satu pengguna dalam aturan sistemnya. Gambar diagram use case dari sistem ini dapat dilihat pada gambar 3.6.
Deteksi Wajah
Keluar Halaman Utama Daftar Baru
Set ke Database Password
Nama User ID Capture Wajah
Login Masuk ke Folder
Password
User
(33)
23
3.5.2 Penjelasan Use Case
Berikut ini adalah pendefinisan use case berdasarkan diagram yang digambarkan oleh tabel 3.1.
Tabel 3.1 Penjelasan use case
No Use Case Deskripsi
1 Halaman Utama Halaman pertama sekali muncul yang berisikan
capture wajah untuk login, daftar baru, dan login
alternatif.
2 Daftar baru Melakukan daftar user baru untuk folder lock.
3 Capture Wajah Mengolah citra wajah hasil capture dari webcam
sebelum dilakukan pengenalan dan sebelum disimpan ke dalam database.
4 Password Masukkan password untuk dua keamanan pada aplikasi ini agar keamanan lebih terjamin.
Pada use case diatas hanya terdapat 4 bagian utama yang terdapat pada aplikasi yang akan dibangun yaitu halaman utama, daftar baru sebagai user, capture wajah, dan
password. Selebihnya yang tidak dicantumkan di dalam bagian use case diatas hanya sebagai penambahan saja.
3.5.3 General Architecture
Rancangan keseleruhan sistem dapat ditampilakan dalam gambaran secara umum melalui general architecture. Alur yang pertama ketika wajah ditangkap adalah ketika wajah sebagai input citra masuk ke dalam tahapan dilasi kemudia grayscale supaya dapat di ekstraksi dengan kalkulasi eigenface dan euclidean distance. Proses selanjutnya akan dilakukan proses matching dimana mencocokkan wajah ke dalam
(34)
database sistem. Berdasarkan uraian diatas, general architecture-nya dapat dilihat pada gambar 3.9 dibawah ini.
Webcam
Grayscale Resize
Eigenface PCA
Lock/Unlock Folder Matching
Database
3.6 Perancangan Tampilan Antarmuka
Perancang tampilan antarmuka bertujuan untuk menggambarkan ide tampilan antarmuka sistem yang dibuat.
3.6.1 Perancangan Struktur Menu
Struktur menu dari aplikasi yang akan dibangun memuat 4 poin yaitu capture wajah, deteksi wajah, dan database sistem. Capture wajah dan deteksi wajah akan dihubungkan ke dalam database sistem, sedangkan setelah proses matchingeigenface
akan masuk ke dalam folder agar dapat melakukan lock dan unlock folder. Untuk lebih jelasnya dapat dilihat pada Gambar 3.10 di bawah ini (sediyono, 2009):
Image Processing
(35)
25
Halaman Utama
Capture image Deteksi wajah Keluar
Tampil pengenalan METODE EIGENFACE
Pilih folder yang akan di-lock dan unlock Database sistem
Tampil pengenalan METODE EIGENFACE
3.6.2 Perancangan Tampilan Halaman Utama
Halaman ini berisikan halaman awal dari aplikasi ketika pertama kali dijalankan. Perhatikan gambar 3.11 dibawah ini.
(36)
Rancangan halaman utama terdiri dari menu capture, deteksi wajah, daftar baru, login
dan box untuk webcam dan wajah yang terdeteksi nantinya.
3.6.3 Rancangan Tampilan Daftar User
Pada gambar 3.12 merupakan tampilan proses ketika user klik daftar. Halaman ini berfungsi untuk mendaftarkan user yang baru.
Bagian yang utama pada gambar 3.12 desain ini adalah dimana input untuk user baru adalah user ID, nama, sandi, ulang sandi untuk disimpan di dalam basis data yang akan digunakan sebagai data dari user untuk dapat login. Sedangkan capture wajah dilakukan sebanyak 3 kali untuk mendapatkan probabilitas tertinggi. Dan password
untuk keamanan kedua. Ketika login wajah berhasil maka harus masukkan password
terlebih dahulu untuk masuk kedalam sistem ini.
(37)
27
3.6.4 Rancangan Tampilan Halaman Login
Gambar 3.13 dibawah ini berisikan halaman awal dari aplikasi ketika user akan melakukan login untuk dapat masuk ke dalam sistem.
Pada halaman utama “webcam” adalah bagian dari aplikasi yang berguna sebagai
media perantara menangkap wajah. Pada “wajah terdeteksi” untuk mengetahui wajah
yang sudah dideteksi dan di-capture oleh sistem. Apabila hasil dari tes sistem didapatkan kecocokan wajah, maka user akan dapat masuk dan mengakses folder.
3.6.5 Perancangan Tampilan Lock dan Unlock Folder
Gambar 3.14 dibawah ini berisikan halaman sebagai user yang ingin mencari folder
yang akan dikunci dan buka kunci folder yang diinginkannya.
(38)
(39)
BAB 4
IMPLEMENTASI DAN PENGUJIAN
Tahapan yang dilakukan setelah analisis dan perancangan sistem adalah implementasi dan pengujian sistem. Tahapan ini diperlukan untuk mengetahui apakah media teknologi informasi tersebut berhasil atau tidak.
4.1 Implementasi Sistem
Sesuai dengan hasil analisis dan perancangan sistem yang telah dibuat, dilakukanlah implementasi perancangan menjadi aplikasi keamanan folder guna menjaga keamanan didalam pengaksesan folder dengan metode eigenface ke dalam program.
4.1.1 Perangkat Keras (Hardware) dan Perangkat Lunak (Software)
Dalam pembuatan sistem ini, menggunakan perangkat keras dengan spesifikasi sebagai berikut:
1. Processor Intel® Core™ i5-3210M CPU @ 2.50Ghz (4CPUs), 2.5Ghz 2. Memori, 4 Gb
3. Hardisk, 700 Gb 4. Webcam
Perangkat Lunak (software) yang digunakan adalah sebagai berikut: 1. Windows seven Ultimate 64bit
2. CorelDraw 12
(40)
4.1.2 Tampilan Implementasi Sistem
Tampilan hasil implementasi program dapat dilihat pada penjelasan berikut: 1. Tampilan awal program
Tampilan awal program saat pertama kali dibuka disajikan dengan empat buah
button menu yang ditunjukkan pada gambar 4.1.
Gambar 4.1 Tampilan awal program
Tampilan awal program berisi button pilihan modul-modul seperti capture, deteksi wajah, daftar baru, dan login.
2. Tampilan daftar baru
Tampilan daftar baru menampilkan pengisian data ID user dan gambar wajah
(41)
31
Gambar 4.2 Tampilan daftar baru
Pada gambar 4.2 dapat dilihat bahwa ketika diklik tombol daftar baru, maka akan muncul kotak dialog yang mendeteksi wajah. Pada menu ini akan dilakukan sebanyak tiga kali capture wajah.
- Tampilan capture pertama
(42)
Gambar 4.3 merupakan tampilan proses ketika user klik capture untuk foto pertama. Diperlukan tiga kali capture wajah agar image dari wajah tersebut dapat lebih akurat digunakan sebagai login.
- Tampilan capture kedua
Gambar 4.4 Tampilan capture kedua
Gambar 4.4 merupakan halaman ketika menu capture klik untuk kedua kali. Dan disarankan dengan ekspresi yang berbeda agar ketika login user dapat mencoba dengan ekspresi yang berbeda-beda.
(43)
33
Gambar 4.5 Tampilan capture ketiga
Gambar 4.5 merupakan langkah akhir saat akan mengambil gambar wajah user. Setelah dilakukan capture sebanyak tiga kali dilanjutkan dengan mengklik user id dan diisi dengan user id yang user inginkan, kemudian isi nama lengkap user, masukkan sandi untuk login password, lalu tulis ulang sandi kembali.
- Tampilan daftar mengisi data diri
(44)
Gambar 4.6 merupakan tampilan halaman disaat user mengisi biodata yang nantinya data ini berfungsi untuk menentukan kita login sebagai siapa. Dan akan masuk ke folder user tersebut. Password berfungsi sebagai login kedua. Ketika aplikasi dapat mengenali wajah user kemudian masukkan password. Agar keamanan folder lebih terjamin maka aplikasi ini memiliki keamanan ganda.
- Tampilan daftar kemudian simpan
Gambar 4.7 Tampilan daftar kemudian simpan
Gambar 4.7 merupakan tampilan halaman ketika user selesai capture wajah sebanyak tiga kali dan telah mengisi data diri user, kemudian user mengklik menu simpan. Ketika diklik simpan maka aplikasi akan menyimpan capture
wajah user ke dalam database. 3. Tampilan login user
Tampilan login user sama dengan tampilan awal program. Ketika user akan login harus capture wajah telebih dahulu kemudian deteksi wajah dan login face dan
password.
- Tampilan login awal sebelum capture wajah
Tampilan login awal sebelum capture wajah. Dalam hal ini webcam akan berfungsi untuk menampilkan wajah dari user. Setelah capture maka hasil dari
(45)
35
capture akan ditampilkan pada kotak yang dibawahnya. Tampilan login awal sebelum capture dapat dilihat pada gambar 4.8.
Gambar 4.8 Tampilan login awal sebelum capture wajah - Tampilan login awal setelah capture
Pada login awal setelah capture wajah tetapi wajah belum dideteksi. Kemudian
user harus klik tombol deteksi wajah wajah dapat dideteksi. Gambar ketika
userlogin dan kemudian capture wajah dapat dilihat pada gambar 4.9.
(46)
- Tampilan login awal wajah terdeteksi
Tampilan login awal wajah terdeteksi ini menandakan bahwa user yang ketika
capture wajahnya telah dapat dideteksi oleh aplikasi ini. Setelah wajah terdeksi, maka user dapat klik login. Ketika login wajah berhasil maka kemudian akan muncul tampilan masukkan password. Tampilan login awal ketika capture dan wajah terdeksi dapat dilihat pada gambar 4.10.
Gambar 4.10 Tampilan login awal wajah terdeteksi - Tampilan login awal setelah login dan berhasil
Ketika klik tombol login maka akan muncul kotak dialog yang menyatakan bahwa user telah berhasil login sesuai dengan data gambar user yang telah tersimpan sebelumnya dalam database. Tampilan login awal setelah login dan berhasil dapat dilihat pada gambar 4.11.
(47)
37
Gambar 4.11 Tampilan login awal setelah login dan berhasil - Tampilan login password
Tampilan loginpassword memiliki fungsi untuk keamanan yang berlapis agar keamanan folder lebih terjamin. Ketika user yang telah login dengan wajah dan berhasil, maka user harus memasukkan password. Kemudian klik login
maka user dapat masuk kedalam folder. Jika login dengan menggunakan wajah berhasil tetapi password salah maka user tidak dapat masuk kedalam aplikasi. Halaman login password dapat dilihat pada gambar 4.12.
Gambar 4.12 Tampilan login password
4. Tampilan halaman folder
Tampilan halaman folder berfungsi untuk tambah folder, keluarkan folder, kunci
(48)
- Tampilan folder tidak terkunci
Ketika folder yang diinginkan tidak dikunci, maka pada status akan tertulis tidak terkunci. Ini menandakan bahwa folder HANIII tidak terkunci dan masih dapat diakses oleh orang lain dimana folder tersebut disimpan. Tampilan dari
folder yang tidak terkunci dapat dilihat pada gambar 4.13.
Gambar 4.13 Tampilan folder tidak terkunci - Tampilan folder terkunci
Tampilan halaman folder terkunci berfungsi untuk mengunci folder yang telah di tambah sebelumnya kedalam aplikasi ini. Ketika folder yang diinginkan akan dikunci, terlebih dahulu klik tombol yang berbentuk gembok untuk mengunci folder. Dan berhasil dikunci, maka pada status akan tertulis terkunci. Ini menandakan bahwa folder HANIII berhasil terkunci dan tidak akan dapat diakses oleh orang lain. Halaman folder terkunci dapat dilihat pada gambar 4.14.
(49)
39
Gambar 4.14 Tampilan folder terkunci
- Tampilan folder terkunci yang dibuka tanpa menggunakan aplikasi
Tampilan folder terkunci yang dibuka secara manual untuk melihat apakah ketika folder yang sudah dikunci pada aplikasi ini masih dapat dibuka kembali dimana folder tersebut tersimpan. Tampilan folder terkunci yang dibuka tanpa menggunakan aplikasi ini dapat dilihat pada gambar 4.15.
(50)
4.2 Pengujian
Tahap pengujian sistem adalah tahapan yang dilakukan untuk menguji sistem atau aplikasi yang dibangun apakah sudah layak di gunakan atau tidak, menguji apakah ada terdapat kekurangan atau yang lainnya. Pada sistem yang dibangun ini, ada dua tahap pengujian yang dilakukan yaitu tahap pengujian ketika aplikasi mendeteksi wajah dan ketika aplikasi tidak berhasil mendeteksi wajah.
4.2.1 Pengujian Deteksi Wajah
Pada tahap pengujian deteksi wajah, aplikasi dirancang untuk mengenali wajah yang kemudian akan disesuaikan dengan database yang telah disimpan ketika daftar baru. 1. Tahap pengujian ketika aplikasi berhasi mendeteksi wajah
Ketika aplikasi berhasil mendeteksi wajah, itu menandakan bahwa aplikasi yang dibangun telah sesuai dengan yang diharapkan. Tahap pengujian ketika aplikasi berhasil mendeteksi wajah dapat dilihat pada gambar 4.16.
(51)
41
2. Tahap pengujian ketika aplikasi tidak berhasil mendeteksi wajah
Ketika aplikasi tidak berhasil mendeteksi wajah, itu menandakan bahwa aplikasi yang dibangun telah sesuai dengan yang diharapakan. Karena pada dasarnya aplikasi dibangun untuk mendeteksi wajah dengan posisi yang sama. Tahap pengujian ketika aplikasi tidak berhasil mendeteksi wajah dapat dilihat pada gambar 4.17.
4.2.2 Pengujian Keamanan User Login
Pengujian berikut dilakukan untuk mencoba melihat tingkat keamanan dari login
wajah. Daftar user yang akan diuji yaitu HANI FEBRINA, RAFIQAH NURI, dan RIO AUDITYA yang masing-masing user ID akan diuji dengan menggunakan dua wajah yang berbeda-beda. Dilakukan juga pengujian dengan menggunakan aksesoris lain seperti jilbab. Pengujian juga dilakukan dengan menggunakan pas photo.
(52)
4.2.2.1 Pengujian Pertama
Pengujian dilakukan dengan user ID HANI FEBRINA didaftarkan dengan tidak memakai jilbab, dicoba login dengan memakai jilbab dan dengan menggunakan pas
photo 3x4. Pengujian ini berfungsi untuk melihat apakah aplikasi ini dapat mengenal
user dengan tampilan user yang berbeda-beda.
1. Loginuser ID HANI FEBRINA tanpa menggunakan jilbab.
Gambar 4.18Login dengan HANI FEBRINA tanpa menggunakan jilbab Pada gambar 4.18, dapat dilihat bahwa login berhasil tanpa menggunakan jilbab. Disini user dengan ID HANI FEBRINA melakukan daftar baru dengan tidak menggunakan jilbab.
(53)
43
Gambar 4.19Login user ID HANI FEBRINA dengan menggunakan jilbab. Pada Gambar 4.19 dapat dilihat proses login ke user id Hani tetap berhasil walaupun user menggunakan jilbab.
3. Login user HANI FEBRINAdengan menggunakan pas photo 3x4.
(54)
Pada Gambar 4.20 dapat dilihat bahwa wajah dapat terdeteksi dan login berhasil diterima sebagai HANI FEBRINA. Dikarenakan pas photo tersebut adalah wajah HANI FEBRINA.
4.2.2.2 Pengujian Kedua
Pengujian kedua didaftarkan dengan user ID RAFIQAH, dan akan dicoba login
dengan menggunakan wajah Rafiqah, Yessi, dan Ivo. Pada pengujian kedua ini masing-masing user memiliki kemiripan seperti memiliki rambut yang panjang. Maka aplikasi akan menguji apakah dengan memiliki ciri yang sama aplikasi tetap dapat
login sesuai dengan user ID masing-masing user.
1. Login user ID RAFIQAH
Gambar 4.21Login user ID RAFIQAH
Pada gambar 4.21 login user ID RAFIQAH didaftarkan dengan user ID RAFIQAH berhasil diterima. Pengujian yang dilakukan pada ID RAFIQAH dengan menggunakan wajah Yessi dan Emma. Dan hasilnya pengujian dengan menggunakan wajah Rafiqah tetap diterima sebagai Rafiqah, wajah Yessi diterima sebagai RAFIQAH dan aplikasi ini salah mengenali wajah Yessi
(55)
45
menjadi Rafiqah. Wajah Emma berhasi dikenal dengan ID EMMA. Dalam hal ini pengujian dengan 3 wajah berbeda terdapat satu wajah yang dikenali berbeda dengan ID nya. Aplikasi ini keliru dikarenakan wajah yang mirip atau memiliki ciri yang sama seperti pada gambar 4.21 Rafiqah memiliki rambut yang panjang dan pada gambar 4.22 Yessi juga memiliki rambut yang panjang.
2. Login user ID YESSI
Gambar 4.22Login user ID YESSI
Pada gambar 4.22 login user ID YESSI didaftarkan dengan user ID YESSI dan berhasil diterima. Pengujian dilakukan dengan menggunakan wajah Rafiqah dan wajah Emma. Hasil dari pengujian tersebut aplikasi tidak mengalami kesalahan. Wajah Rafiqah dikenali dengan ID RAFIQAH dan wajah Emma dikenali dengan ID EMMA.
(56)
Gambar 4.23 Login user ID EMMA
Pada gambar 4.23 login user ID EMMA didaftarkan dengan user ID EMMA dan berhasil diterima. Pengujian dilakukan dengan menggunakan wajah Rafiqah dan wajah Emma. Hasil dari pengujian tersebut aplikasi tidak mengalami kesalahan. Wajah Rafiqah dikenali dengan ID RAFIQAH dan wajah Emma dikenali dengan ID EMMA.
4.2.2.3 Pengujian Ketiga
Pada tahap pengujian ini akan dicoba dengan sample pria dan akan diuji keamanan aplikasi ini.Pengujian ketiga ini didaftarkan dengan user ID RIO AUDITYA, SALIM dan TUNGGUL. Dan akan dicoba login dengan menggunakan wajah Rio Auditya, Salim, dan Tunggul. Masing-masing user memiliki kemiripan seperti memiliki rambut yang pendek. Maka aplikasi akan menguji apakah dengan memiliki ciri yang sama aplikasi tetap dapat login sesuai dengan user ID masing-masing user.
(57)
47
Gambar 4.24 Loginuser ID RIO AUDITYA
Pada gambar 4.24 login dengan user Rio Auditya didaftarkan dengan user ID RIO AUDITYA dan berhasil diterima. Pengujian dilakukan dengan menggunakan wajah Salim dan wajah Tunggul. Hasil dari pengujian tersebut aplikasi tidak mengalami kesalahan. Wajah Salim dikenali dengan ID SALIM dan wajah Tunggul dikenali dengan ID TUNGGUL.
2. Loginuser ID SALIM
(58)
Pada gambar 4.25 login dengan user Salim didaftarkan dengan user ID SALIM dan berhasil diterima. Pengujian yang dilakukan pada ID SALIM dengan menggunakan wajah Rio Auditya dan Tunggul. Dan hasilnya pengujian dengan menggunakan wajah Rio Auditya tetap diterima sebagai RIO AUDITYA, Wajah Salim berhasil dikenal dengan ID SALIM. Wajah Tunggul diterima sebagai SALIM dan aplikasi ini salah mengenali wajah Tunggul menjadi SALIM. Dalam hal ini pengujian dengan 3 wajah berbeda terdapat satu wajah yang dikenali berbeda dengan ID nya. Aplikasi ini keliru dikarenakan wajah yang mirip atau memiliki ciri yang sama seperti pada gambar 4.25 Salim memiliki rambut pendek dan mata yang kecil dan pada gambar 4.26 Tunggul juga memiliki rambut yang pendek dan mata yang kecil.
3. Login user ID TUNGGUL
Gambar 4.26 Loginuser IDTUNGGUL
Pada Gambar 4.26 login dengan user Tunggul didaftarkan dengan user ID TUNGGUL dan berhasil diterima. Pengujian dilakukan dengan menggunakan wajah Rio Auditya dan wajah Salim. Hasil dari pengujian tersebut aplikasi tidak mengalami kesalahan. Wajah Rio Auditya dikenali dengan ID RIO AUDITYA dan wajah Salim dikenali dengan ID SALIM.
(59)
49
4.2.3 Pengujian Keamanan Folder
Pengujian berikut dilakukan untuk mencoba melihat tingkat keamanan folder.
Folder akan di lock dan dibuka tanpa menggunakan aplikasi ini. Kemudian folder
yang telah di lock akan dipindahkan ke directory lain. Pengujian keamanan folder
dapat dilihat sebagai berikut:
1. Pengujian keamanan folder yang telah di lock dan dibuka tanpa menggunakan aplikasi
Gambar 4.27 Pengujian keamanan folder yang telah di lock dan dibuka tanpa menggunakan aplikasi
Pada gambar 4.27 pengujian keamanan folder yang telah di lock dan dibuka tanpa menggunakan aplikasi hasilnya tidak dapat dibuka. Dan dapat dipastikan folder
terjaga keamanannya.
(60)
Gambar 4.28 Pengujian keamanan folder yang telah di lock dan dipindahkan ke
directory lain
Pada gambar 4.28 pengujian keamanan folder yang telah di lock dan dipindahkan ke directory lain hasilnya tidak dapat dibuka. Dan dapat dipastikan folder terjaga keamanannya.
3. Pengujian keamanan folder yang telah di lock dan dibuka menggunakan Linux Ubuntu 13.04.
Gambar 4.29 Pengujian keamanan folder yang telah di lock dan dibuka menggunakan Linux Ubuntu 13.04
Pada gambar 4.29 pengujian keamanan folder yang telah di lock dan dibuka menggunakan Linux Ubuntu 13.04 hasilnya dapat dibuka. Ini adalah folder yang telah di lock sebelumnya dengan menggunakan aplikasi keamanan folder. Folder
tersebut berada dalam harddisk external dan dibuka menggunakan Linux Ubuntu 13.04.
(61)
51
Gambar 4.30 Pengujian keamanan folder yang telah di lock dan dibuka menggunakan MAC OS
Pada gambar 4.30 pengujian keamanan folder yang telah di lock dan dibuka menggunakan MAC OS hasilnya dapat dibuka. Ini adalah folder yang telah di lock
sebelumnya dengan menggunakan aplikasi keamanan folder. Folder tersebut berada dalam harddisk external dan dibuka menggunakan MAC OS.
Setelah dilakukan tahapan implementasi dan pengujian tersebut, dilakukanlah percobaan sendiri terhadap aplikasi yang telah dibangun yang bertujuan untuk mencari kesimpulan tentang kemampuan aplikasi untuk mengenali wajah dan menyesuaikan dengan database.
Tabel 4.1 Hasil Pengujian Keamanan Login
User Percobaan dengan Wajah Diterima dengan Hasil uji
HANI FEBRINA
Hani Febrina tanpa jilbab HANI FEBRINA Aman Hani Febrina menggunakan jilbab HANI FEBRINA Aman Hani Febrina pas photo HANI FEBRINA Aman
RAFIQA
Rafiqa RAFIQA Aman
Yessi RAFIQA Tidak
aman
Emma EMMA Aman
(62)
YESSI Yessi YESSI Aman
Emma EMMA Aman
IVO
Rafiqa RAFIQA Aman
Yessi YESSI Aman
Ivo IVO Aman
RIO AUDITYA
Rio Auditya RIO AUDITYA Aman
Salim SALIM Aman
Tunggul TUNGGUL Aman
SALIM
Rio Auditya RIO AUDITYA Aman
Salim SALIM Aman
Tunggul SALIM Tidak
aman
TUNGGUL
Rio Auditya RIO AUDITYA Aman
Salim SALIM Aman
Tunggul TUNGGUL Aman
Dari tabel 4.1, dapat dilihat persentase keberhasilan aplikasi dalam mendeteksi wajah dari user untuk login pada grafik berikut ini:
Gambar 4.31 Grafik persentase tiap-tiap user yang diuji
0% 20% 40% 60% 80% 100% 120%
USER
HANI FEBRINA
RAFIQA
YESSI
EMMA
RIO AUDITYA
SALIM
(63)
53
Dari gambar 4.31 grafik persentase dari tiap-tiap user yang diuji, dapat dilihat bahwa keberhasilan aplikasi dalam mendeteksi wajah belum 100%. Dari 21 kali percobaan dan menggunakan wajah tujuh orang yang berbeda-beda dapat disimpulkan bahwa pada pengujian pertama aplikasi ini dapat mendeteksi wajah dengan menggunakan jilbab dan diterima login berhasil juga dapat mendeteksi wajah dengan menggunakan pas photo 3x4 dan berhasil login yang merupakan kelemahan dari sistem ini. Maka dari itu aplikasi ini memiliki dua lapis keamanan. Face login dan password untuk menghindari pembobolan sistem keamanan folder ini. Dan pada pengujian kedua, ketiga dapat dilihat bahwa aplikasi dapat mendeteksi wajah dan login dengan user ID berbeda dengan wajahnya. hal ini dapat disebabkan oleh beberapa faktor yang mempengaruhi misalnya adalah pemakaian jilbab, rambut panjang, mata kecil, dan lain-lain.
(64)
BAB 5
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Dari pembangunan aplikasi ini, maka dapat diambil beberapa kesimpulan bahwa aplikasi kemanan folder menggunakan wajah ini diharapkan dapat bermanfaat bagi penggunanya karena aplikasi ini dapat lebih spesifik untuk menjaga kerahasiaan
folder terlebih folder yang berisi data pribadi seseorang. Selain itu aplikasi ini juga dapat dikembangkan untuk kepentingan instansi maupun swasta yang bermanfaat menjaga kerahasiaan suatu data yang sangat penting. Akan tetapi kemampuan aplikasi dalam mendeteksi wajah belum sempurna 100% dikarenakan aplikasi yang dibangun masih sederhana dan wajah yang akan dideteksi dipengaruhi oleh beberapa faktor diantaranya, pemakaian jilbab, posisi, cahaya, dan lain-lain.
5.2 Saran
Adapun saran-saran untuk penelitian berikutnya guna pengembangan yang lebih lanjut adalah aplikasi dibangun dengan mempergunakan hitungan yang lebih rinci dari jarak setiap organ yang terdapat pada wajah agar aplikasi lebih akurat mengenali wajah. Hal ini disarankan guna meminimalkan ketidakmampuan aplikasi untuk mengenali wajah. Dengan adanya perhitungan yang lebih rinci, wajah yang dideteksi akan lebih akurat sehingga menghasilkan aplikasi pendeteksi. Selain daripada itu diharapkan untuk penelitian berikutnya, kata sandi cadangan menggunakan suara user sehingga saling mendukung dalam hal Face Recognition dan Speech Recognition.
(65)
DAFTAR PUSTAKA
Bayu, S. Hendriawan, A. Susetyoko, R. 2011. Penerapan Face Recognition Dengan Metode Eigenface Dalam Intellegent Home Security. Institut Teknologi Sepuluh November, Surabaya.
Daniel. C dan Angkasa W. P. 2009. Perancangan Aplikasi Folder Lock Dengan Metode DES. STMIK IBBI, Medan.
Dewi. A. R. 2005. Ekstraksi Fitur dan Segmentasi Wajah sebagai Semantik Pada Sistem Pengenalan Wajah. Universitas Gunadarma, Jakarta.
Dwiprasetyo, J dan Hariadi, M. 2012. Pengenalan Wajah dan Komputer Vision. Institut Teknologi Sepuluh November, Surabaya.
Imam, M. 2010. Pengenalan Citra Wajah Menggunakan Metode Eigenface. Bandung
Indra. 2012. Sistem Pengenalan Wajah Dengan Metode Eigenface Untuk Absensi Pada PT Florindo Lestari. Universitas Budi Luhur. Jakarta.
Kamus Besar Bahasa Indonesia (KBBI), 2009. Penerbit : Balai Pustaka.
M. Turk and A. Pendland, Eigenfaces for recognition, J. Of Cognitive Neuroscience, Vol. 3, No.1, pp. 71-86, 1991.
Prasetyo, E. Rahmatun, I. 2007. Desain Sistem Pengenalan Wajah dengan Variasi Ekspresi dan Posisi Menggunakan Metode – Eigenface. Jakarta.
(66)
Purwanto. E. Jemmy. pengenalan wajah melalui webcam dengan menggunakan algoritma pricipal component alaysis (PCA) dan linier discriminant analysis (LDA). Universitas Komputer Indonesia.
Sediyono, E. 2010. Pengenalan Lahan Subur pada Peta Taksonomi Jawa Tengah dengan metode Eigenface. Pusat penelitian : Malang.
(67)
LAMPIRAN : LISTING PROGRAM
//Form Utama
Public Class FormUtama Public Sub menuutama()
Dim UCUtama As New UserControlUtama PanelControl.Controls.RemoveAt(0) PanelControl.Controls.Add(UCUtama) End Sub
Public Sub menuLogin()
Dim UCLogin As New UserControlLogin PanelControl.Controls.RemoveAt(0) PanelControl.Controls.Add(UCLogin) End Sub
Public Sub Daftar()
Dim UCDaftar As New UserControlDaftar PanelControl.Controls.RemoveAt(0) PanelControl.Controls.Add(UCDaftar) End Sub
Public Sub Profil()
Dim UCProfil As New UserControlProfil PanelControl.Controls.RemoveAt(0) PanelControl.Controls.Add(UCProfil) End Sub
Private Sub FormUtama_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Dim UCLogin As New UserControlLogin Dim UCLogin As New UserControlLogin2 PanelControl.Controls.Add(UCLogin) End Sub
End Class
//Form Login Alternatif
Public Class FormLoginAlternatif
Private Sub Button1_Click(sender As Object, e As EventArgs) End Sub
Private Sub ButtonLogin_Click(sender As Object, e As EventArgs) Handles ButtonLogin.Click
Dim gagal As Boolean = True
(68)
If (TextBox1.Text = _listuser.getlistuser(i).UID And TextBox2.Text = _listuser.getlistuser(i).password) Then
username = TextBox1.Text FormUtama.menuutama() gagal = False
Exit For End If Next
If gagal Then
MsgBox("UID atau Password anda salah") End If Me.Close() End Sub End Class //List Folder <Serializable()> _ Public Class ListFolder <Serializable()> _ Structure ListFolder
Dim AlamatFolder As String Dim Status As String End Structure
Dim _ListFolder As List(Of ListFolder) Sub New()
_ListFolder = New List(Of ListFolder) End Sub
Sub hapus(ByVal index As Integer) If _ListFolder.Count - 1 = 0 Then
MessageBox.Show("Tidak Ada Folder di dalam daftar") Else
_ListFolder.Remove(_ListFolder(index)) End If
End Sub
Public Sub Tambah(ByVal alamatfolder As String, ByVal status As String) For Each A As ListFolder In _ListFolder
If A.AlamatFolder = alamatfolder Then
MsgBox("Folder Telah ada dalam Daftar!") Exit Sub
End If Next
Dim TmpListfolder As ListFolder
TmpListfolder.AlamatFolder = alamatfolder TmpListfolder.Status = status
_ListFolder.Add(TmpListfolder) End Sub
Function getAlamat(ByVal index As Integer) As String If index < 0 Then
Return "Tidak Ada" Else
Return _ListFolder(index).AlamatFolder End If
(1)
//UserControlLogin2
Imports Accord.Vision.Detection
Imports Accord.Vision.Detection.Cascades Imports AForge.Video
Imports AForge.Video.DirectShow Imports System.IO
Imports System.Drawing.Imaging Public Class UserControlLogin2 Dim w As Integer = 50
Dim AMBILWEBCAM As PictureBox
' Dim imgFrame As Image(Of Bgr, Byte) 'Dim vidCapture As Capture
'Dim imgGray As Image(Of Gray, Byte) Dim pctwajah As PictureBox
Dim gbr_Rata(,) As Double Dim gbrDipilih As Bitmap
Dim AppIdleAMBILWEBCAM As Object
Dim videoDevices As FilterInfoCollection Dim videosource As VideoCaptureDevice
Dim TampilVideo As AForge.Controls.VideoSourcePlayer Dim Namafile As String = "JarBackPro.net"
Dim idM, idS, idSdh As Integer Dim valM, valS, valSdh As Double Dim TMP_wajah, TMP_fitur As Bitmap
Dim videosourceplayer1 As New AForge.Controls.VideoSourcePlayer Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonLogin.Click
If Not PctWajahPeng.Image Is Nothing Then Dim _pca As New PCA
Dim listdata As New List(Of Image)
For i As Integer = 0 To _listuser.getcount - 1 _pca.addData(_listuser.getlistuserimage(i), _listuser.getlistuser(i).Nama)
Next
Dim banding As String = _pca.bandingwajah(PctWajahPeng.Image) If banding.Split("|")(0) = "Login Diterima" Then
MsgBox(banding.Split("|")(0) & " sebagai " & banding.Split("|")(1))
username = banding.Split("|")(1) matikanWebCam()
FormUtama.menuutama() Else
MsgBox("Login Ditolak, Silahkan Coba Lagi") End If
Else
MsgBox("Harus Ada Wajah Terdeteksi terlebih dahulu") End If
End Sub
Sub hidupkanWebcam(Tmp As PictureBox, TmpWajah As PictureBox, player As AForge.Controls.VideoSourcePlayer)
Try
AMBILWEBCAM = Tmp pctwajah = TmpWajah TampilVideo = player videoDevices = New
(2)
videosource = New VideoCaptureDevice(videoDevices(0).MonikerString) TampilVideo.SignalToStop()
TampilVideo.WaitForStop()
TampilVideo.VideoSource = videosource TampilVideo.Start()
AddHandler Application.Idle, AddressOf AppIdle Catch ex As Exception
MessageBox.Show(ex.Message) End Try
End Sub
Sub matikanWebCam()
RemoveHandler Application.Idle, AddressOf AppIdle AMBILWEBCAM = Nothing
pctwajah = Nothing
TampilVideo.SignalToStop() TampilVideo.WaitForStop() TampilVideo.Stop()
End Sub
Public Sub AppIdle(ByVal sender As System.Object, ByVal e As System.EventArgs)
AMBILWEBCAM.Image = TampilVideo.GetCurrentVideoFrame
End Sub
Private Sub UserControlLogin_Load(sender As Object, e As EventArgs) Handles MyBase.Load
hidupkanWebcam(PctWebcamPeng, PctWajahPeng, videosourceplayer1) If File.Exists("ListUser") Then
LoadListUser() Else
_listuser = New listUser End If
End Sub
Private Sub Button1_Click_1(sender As Object, e As EventArgs) Handles Button1.Click
matikanWebCam() FormUtama.Daftar() End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
FormLoginAlternatif.Show() End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
PictureBox3.Image = AMBILWEBCAM.Image End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
Try
Dim detector As HaarObjectDetector Dim cascade As New FaceHaarCascade
(3)
detector = New HaarObjectDetector(cascade, 30)
detector.SearchMode = ObjectDetectorSearchMode.Average detector.ScalingFactor = 1.5
detector.ScalingMode = ObjectDetectorScalingMode.GreaterToSmaller detector.UseParallelProcessing = True
detector.Suppression = 3
Dim faceObjects As Rectangle() = detector.ProcessFrame(PictureBox3.Image)
Dim g As Graphics = Graphics.FromImage(PictureBox3.Image) If faceObjects.Length = 0 Then
MsgBox("Tidak Ada wajah terdeteksi") Else
For Each face In faceObjects
Dim CropImage = New Bitmap(face.Width, face.Height) Using grp = Graphics.FromImage(CropImage)
grp.DrawImage(PictureBox3.Image, New Rectangle(0, 0, face.Width, face.Height), face, GraphicsUnit.Pixel)
End Using
pctwajah.Image = CropImage g.DrawRectangle(Pens.Red, face)
If Not IsNothing(PctWajahPeng.Image) Then TMP_wajah = New Bitmap(PctWajahPeng.Image) Dim gbrKirim As Bitmap = pctwajah.Image End If
Next End If
Catch ex As Exception
'TxtPesan.Text = "Error : " & (ex.Message) End Try
End Sub End Class
//UserControlUtama
Imports System.IO
Imports System.Runtime.Serialization.Formatters.Binary Imports System.Security.AccessControl
Public Class UserControlUtama Dim _Listfolder As ListFolder
Sub kuncifolder(ByVal alamat As String)
Dim perintah As String = "Attrib +s +h +r " & ListView1.SelectedItems(0).Text
Shell(perintah)
(4)
fs.AddAccessRule(New FileSystemAccessRule(Environment.UserName, FileSystemRights.FullControl, AccessControlType.Deny))
File.SetAccessControl(alamat, fs) End Sub
Sub bukakuncifolder(ByVal alamat As String)
Dim fs As FileSystemSecurity = File.GetAccessControl(alamat) fs.RemoveAccessRule(New FileSystemAccessRule(Environment.UserName, FileSystemRights.FullControl, AccessControlType.Deny))
File.SetAccessControl(alamat, fs)
Dim perintah As String = "Attrib -s -h -r " & ListView1.SelectedItems(0).Text
Shell(perintah) End Sub
Private Sub ToolStripButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton3.Click
If ListView1.SelectedItems().Count > 0 Then kuncifolder(ListView1.SelectedItems(0).Text)
_Listfolder.setStatus(ListView1.SelectedItems(0).Index, "Terkunci") simpanListFolder()
tampilkankeListview() End If
End Sub
Private Sub ToolStripButton1_Click(sender As Object, e As EventArgs) Handles ToolStripButton1.Click
If FolderBrowserDialog1.ShowDialog = DialogResult.OK Then
ListView1.Items.Add(FolderBrowserDialog1.SelectedPath.ToString) ListView1.Items(ListView1.Items.Count - 1).SubItems.Add("Tidak Terkunci")
_Listfolder.Tambah(FolderBrowserDialog1.SelectedPath.ToString, "Tidak Terkunci")
If File.Exists("ListFolder") Then File.Delete("ListFolder") End If
simpanListFolder() End If
End Sub
Private Sub ToolStripButton2_Click(sender As Object, e As EventArgs) Handles ToolStripButton2.Click
If Not ListView1.SelectedItems(0) Is Nothing Then _Listfolder.hapus(ListView1.SelectedItems(0).Index) simpanListFolder()
tampilkankeListview() End If
End Sub
Private Sub ToolStripButton4_Click(sender As Object, e As EventArgs) Handles ToolStripButton4.Click
If ListView1.SelectedItems().Count > 0 Then
bukakuncifolder(ListView1.SelectedItems(0).Text)
_Listfolder.setStatus(ListView1.SelectedItems(0).Index, "Tidak Terkunci")
simpanListFolder() tampilkankeListview() End If
(5)
End Sub
Private Sub UserControlUtama_Load(sender As Object, e As EventArgs) Handles MyBase.Load
If File.Exists("Listfolder") Then LoadListFolder()
tampilkankeListview() Else
_Listfolder = New ListFolder End If
End Sub
Sub simpanListFolder()
If File.Exists(username) Then File.Delete(username) End If
Dim FS As New FileStream(username, FileMode.Append) Dim BF As New BinaryFormatter
BF.Serialize(FS, _Listfolder) FS.Close()
End Sub
Sub LoadListFolder()
If File.Exists(username) Then
Dim FS As New FileStream(username, FileMode.Open) Dim BF As New BinaryFormatter
_Listfolder = BF.Deserialize(FS) FS.Close()
Else
_Listfolder = New ListFolder End If
End Sub
Sub tampilkankeListview() ListView1.Items.Clear()
For i As Integer = 0 To _Listfolder.jumlah - 1 ListView1.Items.Add(_Listfolder.getAlamat(i)) ListView1.Items(ListView1.Items.Count - 1).SubItems.Add(_Listfolder.getStatus(i))
Next End Sub
Private Sub ToolStripLabel1_Click(sender As Object, e As EventArgs) Handles ToolStripLabel1.Click
FormUtama.menuLogin() End Sub
End Class
// Citra
Imports Accord.Imaging Module Citra
Function grayscale(ByVal img As Bitmap) As Bitmap
Dim filter As AForge.Imaging.Filters.Grayscale = New AForge.Imaging.Filters.Grayscale(0.2125, 0.7154, 0.0721) Dim grayImg As Bitmap = filter.Apply(img)
Return grayImg End Function
(6)
Dim filter As AForge.Imaging.Filters.ResizeBilinear = New AForge.Imaging.Filters.ResizeBilinear(30, 30)
Dim newimg As Bitmap = filter.Apply(img) Return newimg
End Function
Function threshold(ByVal img As Bitmap) As Bitmap
Dim filter As AForge.Imaging.Filters.Threshold = New AForge.Imaging.Filters.Threshold(100)
Dim newimg As Bitmap = filter.Apply(img) Return newimg
End Function
Function prapengolahan(ByVal img As Bitmap) As Bitmap Return threshold(grayscale(resize(img)))
End Function
Function imgTovector(ByVal img As Bitmap) As Double() Dim hasil(img.Width * img.Height) As Double Dim pos As Integer = 0
For i As Integer = 0 To img.Height - 1 For j As Integer = 0 To img.Width - 1 hasil(pos) = img.GetPixel(i, j).R Next
Next
Return hasil End Function
Function converttoimgKov(ByVal img As List(Of Bitmap)) As Double(,) Dim hasil(img(0).Width * img(0).Height, img.Count - 1) As Double For i As Integer = 0 To img.Count - 1
Dim tmpvektor() As Double = imgTovector(img(i)) For j As Integer = 0 To tmpvektor.Length - 1 hasil(j, i) = tmpvektor(j)
Next Next
Return hasil End Function End Module