Lingkungan Implementasi Implementasi Perangkat lunak

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