BAB 4
IMPLEMENTASI DAN PENGUJIAN
Pada bab ini akan dilakukan implementasi dan pengujian perangkat lunak. Perangkat lunak dibuat dengan menggunakan bahasa pemrograman Matlab 7.0
yang telah menyediakan fungsi-fungsi di dalamnya toolbox Neural Network. Pengujian perangkat lunak untuk memrepresentasikan review akhir dari analisis,
perancangan dan implementasi.
4.1 Lingkungan Implementasi
Lingkungan implementasi merupakan lingkungan perangkat keras dan perangkat lunak yang digunakan untuk membangun dan mengoperasikan perangkat lunak.
Spesifikasi perangkat keras yang digunakan: 1.
CPU Intel Core 2 Duo T5600 1,83 Ghz 2.
RAM 1 Gb 3.
Harddisk 120 Gb 4.
Kartu VGA Intel Graphics Media Accelerator GMA 950, up to 224 Mb 5.
Monitor 14.1’’
Spesifikasi perangkat lunak yang digunakan adalah: 1.
Windows XP Professional Service pack 2 2.
Software Matlab 7.0 3.
Software PhotoStudio 5
Universitas Sumatera Utara
4.2 Implementasi Perangkat lunak
Seperti yang dirancang pada tahap perancangan, tampilan perangkat lunak begitu dijalankan sekaligus merupakan tampilan pelatihan dan pengenalan tanda tangan.
Listing program jaringan saraf tiruan untuk pengenalan tanda tangan yang menggunakan metode propagasibalik backpropagation terlampir pada
LAMPIRAN.
Tampilan perangkat lunak begitu program dijalankan ditunjukkan pada Gambar 4.1 berikut:
Gambar 4.1 Tampilan Perangkat Lunak Pengenalan Tanda Tangan
Universitas Sumatera Utara
4.2.1 Pelatihan
Data tanda tangan yang akan dilatih disimpan di dalam folder Latih, sedangkan target pelatihan disimpan pada file Target.txt. Sebelum melatih jaringan, terlebih
dahulu node layar tersembunyi, laju pembelajaran, fungsi aktivasi, batas toleransi, dan maksimum iterasi ditentukan. Setelah seluruh data ditentukan, proses
pelatihan akan berjalan dengan mengklik tombol PELATIHAN. Ketika proses
pelatihan berlangsung, grafik pelatihan yang menunjukkan perbandingan antara error dengan epoch akan ditampilkan hingga jaringan saraf tiruan konvergen atau
epoch iterasi maksimum terpenuhi. Setelah proses pelatihan selesai bobot akhir
pelatihan disimpan dengan mengklik tombol SIMPAN BOBOT BIAS.
Proses pelatihan dapat ditunjukkan pada Gambar 4.2 berikut:
Gambar 4.2 Tampilan Pelatihan
Universitas Sumatera Utara
Sedangkan grafik pelatihan dapat ditunjukkan pada Gambar 4.3 berikut:
Gambar 4.3 Tampilan Grafik Pelatihan
Pseudocode proses pelatihan adalah sebagai berikut:
loadTarget.txt; for i = 1:100
TrainImages=imreadstrcatLatih,\, strcatnum2stri,.bmp;
patterns = img_preprocessTrainImages; out:,i = patterns;
end S2 = str2doublegetproyek.enode_layar_tersembunyi,String;
eta = str2doublegetproyek.ekonstanta_belajar,String; tol = str2doublegetproyek.ebesar_galat,String;
iter = str2doublegetproyek.ebatas_iterasi,String; p = out:,1:i; nilai masukan
t=Target; t= t; nilai keluaran yang diinginkan
Pembuatan dan Pelatihan Jaringan Saraf Tiruan dengan Propagasi Balik
[S1,Q] = sizep; [S3,Q] = sizet;
inisialisasi jaringan net = newffminmaxp,[S2 S3],{logsig logsig },traingd;
Universitas Sumatera Utara
net.IW{1,1} = net.IW{1,1}0.05; inisialisasi bobot masukan dengan nilai acak -0.5 -
0.5 net.b{1} = net.b{1}0.05; inisialisasi bobot bias masukan
dengan nilai acak -0.5 - 0.5
net.LW{2,1} = net.LW{2,1}0.05; inisialisasi bobot tersembunyi- keluaran dengan nilai acak
-0.5 - 0.5 net.b{2} = net.b{2}0.05; inisialisasi bobot bias tersembunyi-
keluaran dengan nilai acak - 0.5 - 0.5
net.performFcn = mse; net.trainParam.goal = tol; batas nilai MSEtoleransi error
net.trainParam.lr = eta; konstanta pembelajaran net.trainParam.show = 20; selang tampilan
net.trainParam.epochs = iter; maksimum iterasiepoch [net,tr] = trainnet,p,t;
handles.net = net; assigninbase,net,net;
Pseudocode proses simpan bobot bias adalah sebagai berikut:
4.2.2 Pengujian
Pada proses pengujian, dilakukan pengujian kemampuan memorisasi dan
generalisasi jaringan. Fungsi pengujian memorisasi dilakukan oleh tombol UJI MEMORISASI, sedangkan fungsi pengujian generalisasi dilakukan oleh tombol
UJI GENERALISASI. Hasil pengujian dapat diketahui dalam command editor
Matlab.
Pseudocode proses uji memorisasi adalah sebagai berikut:
net = handles.net ; save bobotakhir net;
load bobotakhir; loadTarget.txt;
Universitas Sumatera Utara
Pseudocode proses uji generalisasi adalah sebagai berikut:
for i = 1:100 TestImages = imreadstrcatLatih,\,
strcatnum2stri,.bmp; patterns = img_preprocessTestImages;
out:,i = patterns; end
p = out:,1:i; nilai masukan t=Target;
t= t; nilai keluaran yang diinginkan [n,N]= sizep;
[result] = simnet,p; r=roundresult;
benar=0; for i=1:N
Hasil=r:,i; Target=t:,i;
if Hasil==Target disp[Data ke-,num2stri, = BENAR];
fprintfHasil Keluarannya =\n; Hasil keluaran
jaringan fprintf9.0f\n,Hasil;
fprintf\n; benar=benar+1;
else disp[Data ke-,num2stri, = SALAH];
fprintfHasil Keluarannya =\n; Hasil keluaran
jaringan fprintf9.0f\n,Hasil;
fprintf\n; end
end persen=benarN100;
disp[Banyak Data = num2strN]; disp[Jumlah Yang Benar = num2strbenar];
disp[Persentase Kebenaran Memorisasi = num2strpersen ];
load bobotakhir; loadTarget_uji.txt;
for i = 1:50
TestImages = imreadstrcatUji,\, strcatnum2stri,.bmp;
patterns = img_preprocessTestImages; out:,i = patterns;
end
Universitas Sumatera Utara
4.2.3 Pengenalan
Pada proses pengenalan, data tanda tangan yang akan dikenali diambil dari tempat penyimpanan berupa gambar bitmap. Fungsi pengambilan data tanda tangan
dilakukan oleh tombol BUKA DATA. Data tanda tangan yang telah dipilih akan
ditampilkan pada kotak gambar yang tersedia. Proses pengambilan data tanda tangan ditunjukkan pada Gambar 4.4 berikut:
p = out:,1:i; nilai masukan t=Target_uji;
t= t; nilai keluaran yang diinginkan [n,N]= sizep;
[result] = simnet,p; r=roundresult;
benar=0; for i=1:N
Hasil=r:,i; Target=t:,i;
if Hasil==Target disp[Data ke-,num2stri, = BENAR];
fprintfHasil Keluarannya =\n; Hasil keluaran jaringan
fprintf9.0f\n,Hasil; fprintf\n;
benar=benar+1; else
disp[Data ke-,num2stri, = SALAH]; fprintfHasil Keluarannya =\n; Hasil keluaran
jaringan fprintf9.0f\n,Hasil;
fprintf\n; end
end persen=benarN100;
disp[Banyak Data = num2strN]; disp[Jumlah Yang Benar = num2strbenar];
disp[Persentase Kebenaran Generalisasi = num2strpersen
];
Universitas Sumatera Utara
Gambar 4.4 Tampilan Pengambilan Data Tanda Tangan
Setelah data tanda tangan yang akan dikenali dipilih, proses pengenalan
dilakukan dengan mengklik tombol PENGENALAN. Hasil pengenalan akan
menampilkan kotak pesan berupa pesan “Dikenali Sebagai Tanda Tangan Nama Pemilik Tanda Tangan” atau ‘Tanda Tangan Diluar Database”.
Tampilan proses pengenalan dapat ditunjukkan pada Gambar 4.5 berikut:
Gambar 4.5 Tampilan Pengenalan
Universitas Sumatera Utara
Pseudocode proses buka data adalah sebagai berikut:
Pseudocode proses pengenalan adalah sebagai berikut:
[namafile, direktori] = uigetfile{.bmp;.jpg;.gif;.}, Buka Gambar;
if isequalnamafile,0 return;
end S = imread[direktori,namafile];
axeshandles.axes1; imshowS;
handles.S = S; setproyek.text_nama,string,namafile;
setproyek.text_panjang,string,sizeS,1; setproyek.text_lebar,string,sizeS,2;
load bobotakhir; S = handles.S;
axeshandles.axes1; patterns=img_preprocessS;
patterns=patterns; [result] = simnet,patterns;
r=roundresult; if r==[0; 0; 0; 1]
msgboxDikenal Sebagai Tanda Tangan SARI,Hasil Pengujian;
elseif r==[0; 0; 1; 0] msgboxDikenal Sebagai Tanda Tangan SELLI,Hasil
Pengujian; elseif r==[0; 0; 1; 1]
msgboxDikenal Sebagai Tanda Tangan UTRI,Hasil Pengujian;
elseif r==[0; 1; 0; 0] msgboxDikenal Sebagai Tanda Tangan EWID,Hasil
Pengujian; elseif r==[0; 1; 0; 1]
msgboxDikenal Sebagai Tanda Tangan BENNI,Hasil Pengujian;
elseif r==[0; 1; 1; 0]
msgboxDikenal Sebagai Tanda Tangan DESI,Hasil Pengujian;
elseif r==[0; 1; 1; 1] msgboxDikenal Sebagai Tanda Tangan ANDRIANY,Hasil
Pengujian; elseif r==[1; 0; 0; 0]
msgboxDikenal Sebagai Tanda Tangan ARNEN,Hasil Pengujian;
Universitas Sumatera Utara
4.3 Pengujian Dan Hasil