Pada bab IV ini akan dijelaskan mengenai implementasi, hasil uji coba dan evaluasi dari rancangan program yang telah dibuat pada bab III. Bagian implementasi aplikasi kali ini meliputi: lingkungan implementasi, implementasi data, implementasi antarmuka dan implementasi proses.
4.1. Kebutuhan Hardwar e dan Software
Pada bagian ini akan dijelaskan mengenai perangkat keras dan perangkat lunak yang digunakan pada implementasi aplikasi ini.
Kebutuhan Hardwar e :
a) Komputer dengan processor AMD A8-4500M APU – 1,9 GHz b) RAM (4096MB)
c) VGA Card share memory up to 2000 MegaByte AMD Radeon HD 7640G d) Monitor 14”
e) Hard Disk 500 GigaByte Kebutuhan Software :
a) Sistem OperasiWindows 7. b) Matlab 2012
c) File image PGM.
34
4.2. Implementasi Data
Seperti yang telah dijelaskan secara konseptual pada Bab 3, maka data yang akan diimplementasikan pada aplikasi pengenalan wajah manusaia dengan menggunakan metode Diagonal Principal Component Analysis ialah dengan menggunakan sumber data dari ORL database (format PGM) kemudian diambil sebagian gambar untuk dijadikan dataset.
Dari input-an gambar dari dataset tersebut nantinya akan diperoses melalui beberapa tahapan proses , dimana output dari proses ini adalah gambar dikenali atau gagal dikenali.
4.3. Implementasi Antar muka
Pada implementasi antarmuka ini merupakan interaksi antara pemakai (user) dengan sistem. Halaman form utama ini merupakan tampilan awal saat program dijalankan. Pada form utama ini terdapat program secara keseluruhan beserta dengan prosedur-prosedur programnya. Pada masing – masing menu memiliki fungsi yang berbeda – beda pada aplikasi ini. Berikut penjelasan dari setiap form pada menu utamaini :
a. Input : untuk memilih input gambar yang akan diproses. b. Proses : untuk melakukan proses eksekusi inputan gambar. c. Keluar : untuk keluar dari program.
Pada tampilan form utama terdapat 7 kolom yang mempunyai fungsi yang berbeda beda. Kolom pertama dan ke dua berfungsi menampilkan citra testing dan menampilkan citra yang telah diubah menjadi citra diagonal. Dan kolom ketiga
35 proyek=guidata(gcbo); [namafile,direktori]=uigetfile(... {'*.pgm';... '*.bmp'},'Buka Gambar'); if isequal(namafile,0) return; end eval(['cd ''' direktori ''';']);
I=imread(namafile); %membaca file gambar
set(proyek.figure1,'CurrentAxes',proyek.axes1); set(imshow(I)); %menampilkan file gambar
set(proyek.figure1,'Userdata',I); set(proyek.axes1,'Userdata',I);
menampilkan hasil dari principal component analysis berupa citra yang telah dikenali.
4.4. Implementasi Pr oses
Bagian implementasi proses ini menjelaskan mengenai implementasi proses-proses sesuai dengan konsep yang telah dibuat pada bab 3. Seperti yang telah digambarkan dalam flowchart.
4.4.1. Pr oses Input Images
Proses Input Images merupakan proses yang bertujuan untuk memilih inputan berupa gambar yang akan ditampilkan pada form utama. (Kode program 4.1)
Kode pr ogram 4.1. Proses Input Image
36
4.4.2. Pr oses Diagonal Image
Kemudian dari image yang telah di inputkan, akan dirubah ke diagonal image dengan cara melakukan duplikasi image kebawah, kemudian diambil nilai diagonal dari duplikasi image tersebut. Setelah nilai didapat, kemudian image ditampilkan. (kode program 4.2).
Kode program 4.2. Proses Diagonal Image
4.4.3. Pr oses Pengenalan Citr a Wajah
Proses pengenalan citra wajah ini adalah proses dimana diawali dari nilai diagonal matrik dibentuk menjadi matrik baris atau matrik kolom. Kemudian dihitung matrik rata – rata nya, selanjutnya setiap nilai pada data tes dikurangi nilai rata – rata tiap parameter untuk menghitung nilai zeromean. Selanjutnya menghitung matrik kovarian. Matirik kovarian kita bisa dapat dari mengalikan nilai matrik zeromean transpose dengan matrik zeromean. Selanjutnya dari nilai tersebut dihitung nilai eigen vector dan nilai eigen value nya. Nilai eigen dari image testing kemudian dihitung perbedaan kesamaan dari database training image menggunakan perhitungan Euclidean distance. Nilai terkecil dari
I=im2double(I); %merubah gambar binary ke double
[a,b]= size(I); %ukuran I dari nilai a,b
x=[I;I]; %nilai x = 2 nilai I
y=zeros(a,b); for kolom=1:b y(:,kolom)=(x(kolom:(a+kolom-1),kolom)); end set(proyek.figure1,'CurrentAxes',proyek.axes2); set(imshow(y)); set(proyek.axes2,'Userdata',y);
37
perhitungan Euclidean distance merupakan hasil dari citra gambar yang dikenali. (Source code 4.3).
Kode pr ogram 4.3. Proses Pengenalan Wajah 4.5. Uji Coba Program
proyek=guidata(gcbo); w=load_database(); y=get(proyek.axes2,'userdata'); ri=360; y=im2double(y); r=y(:);
v=w(:,[1:ri-1 ri+1:end]); %proses menjadikan matrik kolom
N=20; O=(ones(1,size(v,2)));
m=(mean(v,2)); %proses menghitung nilai rata-rata matrik
vzm=v-(single(m)*single(O)); L=single(vzm)'*single(vzm);
[V,D]=eig(L); %proses menghitung nilai eigen
V=single(vzm)*V; V=V(:,end:-1:end-(N-1)); cv=zeros(size(v,2),N); for i=1:size(v,2); cv(i,:)=single(vzm(:,i))'*V; end set(imshow(y));title('Mencari...','FontWeight','bold','Fontsiz e',16,'color','red'); set(proyek.figure1,'CurrentAxes',proyek.axes3); p=r-m; s=single(p)'*V; z=[]; for i=1:size(v,2)
z=[z,norm(cv(i,:)-s,2)]; %proses Euclidean distance
if(rem(i,20)==0) set(imshow(reshape(v(:,i),112,92))); end; drawnow; end [a,i]=min(z); folder=floor((i-1)/9+1); nomor=i-((folder-1)*9); namafile=strcat('C:\Users\Baru\Documents\MATLAB\s',num2str(fol der),'\',num2str(nomor),'.pgm'); str=strcat(num2str(i),'=s',num2str(folder),'\',num2str(nomor), '.pgm') set(proyek.figure1,'CurrentAxes',proyek.axes3); set(imshow(namafile));title(str,'FontWeight','bold','Fontsize' ,16,'color','red');
38
Pada sub bab ini akan dibahas mengenai uji coba terhadap aplikasi yang telah dibuat dan selanjutnya akan dievaluasi dari hasil uji coba tersebut. Uji coba dilaksanakan untuk mengetahui kemampuan aplikasi dapat berjalan dengan baik sesuai dengan rancangan. Evaluasi dilakukan untuk menentukan tingkat keberhasilan dari aplikasi yang dibuat.
4.5.1. Skenario Uji Coba
Untuk memastikan bahwa aplikasi ini berjalan dengan baik, diperlukan adanya skenario yang akan dicoba, antara lain :
a. Melakukan input citra testing yang telah disediakan.
b. Melakukan proses pengenalan citra wajah dan menguji tingkat keberhasilan metode.
4.5.2. Pelaksanaan Uji Coba
Langkah pertama dalam membuat program pengenalan wajah adalah dengan merancang tampilan program dengan menggunakan GUI pada Matlab.
Gambar 4.1.Tampilan Awal Aplikasi
Setelah perancangan program dibuat dengan menggunakan GUI,
39
dilakukan callback untuk memenuhi source code. Setelah membuat source code , maka langkah terakhir adalah dengan mencoba program tersebut.Dengan menekan tombol input , maka akan muncul figure tampilan seperti pada gambar 4.1.
Klik menu input pada tampilan program berfungsi untuk memasukkan citra yang akan diproses. Setelah menekan tombol input maka akan tampil jendela Open File Dialog seperti pada gambar 4.2
Gambar 4.2 Tampilan Input Image
Didalam folder yang akan di uji terdapat 40 image , image yang akan diambil adalah file yang berformat PGM. Pada proses Input Image, program hanya bias menjalankan perintah open atau cancel, tombol aplikasi lainnya tidak bias dijalankan sebelum proses Input Image selesai dijalankan.
Image yang telah dipanggil melalui input image akan ditampilkan pada imagebox langsung diproses dan dijadikan menjadi diagonal image seperti pada gambar 4.3
40
Gambar 4.3 Tampilan Image yang telah dipilih
Tombol proses berfungsi untuk menjalankan proses pengenalan wajah. Inputan image yang berupa diagonal image akan diproses untuk mendapatkan hasil dikenali atau gagal dikenali. Jika semua proses pengujian selesai dan sudah didapatkan hasilnya, maka tombol keluar untuk keluar dari aplikasi. Seperti Gambar 4.4.
Gambar 4.4 Tampilan image yang dikenali
41
4.6. Evaluasi Aplikasi
Berdasarkan hasil uji coba yang telah dilakukan, maka akan dilakukan evaluasi proses, antara lain sebagai berikut:
4.6.1. Tabel Hasil Analisa Ujicoba Aplikasi
Pada sub bab kali ini terdapat tabel 4.1 yang merupakan hasil uji coba yang telah dilakukan. Dimana uji coba pengenalan wajah dilakukan sebanyak 40 kali pada citra yang berbeda untuk mengetahui tingkat keberhasilan metode tersebut.
Tabel 4.1.Tabel Uji Coba Pengenalan Wajah
Uji Cob a Ke
Citra Testing Citra Diagonal Hasil Keteranga n
1 Dikenalli
2 Dikenali
42 3 Dikenali 4 Dikenali 5 Gagal 6 Dikenali 7 Dikenali
43 8 Dikenali 9 Dikenali 10 Gagal 11 Dikenali 12 Dikenali
44 13 Dikenali 14 Dikenali 15 Dikenali 16 Dikenali 17 Dikenali
45 18 Dikenali 19 Dikenali 20 Dikenali 21 Dikenali 22 Dikenali
46 23 Dikenali 24 Gagal 25 Dikenali 26 Dikenali 27 Dikenali
47 28 Dikenali 29 Dikenali 30 Dikenali 31 Dikenali 32 Dikenali
48 33 Dikenali 34 Dikenali 35 Dikenali 36 Dikenali 37 Dikenali
49
38 Dikenali
39 Dikenali
40 Dikenali
Dari percobaan yang telah dilakukan , dapat dilihat bahwa dari 40 kali ujicoba menghasilkan wajah berhasil dikenali sebanyak 37 kali dan 3 kali tidak dikenali.ini menunjukkan tingkat keberhasilan akurasi wajah ini sangat tinggi yaitu mencapai 92.5 %.
50