Anda di halaman 1dari 9
Hout Prabtm daringan Saal Teean. JST Back Propagation (BP) 4 4.1.Raneangan Graphical User Interface (GUI) Fie (at Vor Uno Test te Dg seeoe ses OSe/> a= OO ————— +e =: rs y | rca a ah ae . a = | me) 2 sesinaery Has Tse Gambar 4.1 Rancangan GUI program aplixasi JST BP 4.2 Daftar Komponen © aoe A sks tonpis nud i Hout Prabtm daringan Saal Teean, No | Komponen Propel 1 | Panel Title Training 2 [Tistbox String Tag data_trainning_listbox 3 [Pushbutton | String open data trainning Tag data_{rainning_pushbutton 4 _/Tistbox String Tag data_wb_listbox 3 [Pushbutton | String open weight - bias Tag data_wb_pushbutton 6 [Static text String Jumlah hidden unit 7 | Edit text String tag ‘jml_hidden_edit 7_| Static text String Leaming Rate | Edit text String tag Teaming _rate_edit 9 | Static text String weight(w)-bias(b) after training 10. | listbox String Tag ‘wb_result_listbox 11 [Pushbutton | String Start Training Tag start_training_pushbutton 12 [Panel Title Testing 13. | listbox String Tag data_testing_listbox 14 [Pushbutton | String open data testing, Tag data_testing_pushbutton 15 | listbox String Tag result_listbox 16 | Static text String Hasil Testing 17 [Push button | String Start Testing Tag start_testing_pushbutton 16 | Static text String Physics, Unud, Bali 4.3. Kode Program (source code) ‘ion ike Kong Hout Prabtm daringan Saal Teean. 4.3.1 Function data_trainning_pushbutton _Callback [filoname,handles.pathname|=uigotfile(*.x!s;*.xlsx,Select data trainning’); handles.data_trainning_file = strcal(handles pathname, filename); if exist(handles.data_trainning_file) % check if files exists handles.data_trainning=xlsread(handles.data_trainning_file); % read data trainning in ‘excels’ file end set(handles.data_trainning_lstbox,'String’,num2str(handles.data_trainning)); uidata(hObject,fiandles); 4.3.2 Function data_wb_pushbutton _ callback [filename,pathname}=uigettile("*xls;* x!sx’/Select data trainning’); handles.wb_file = streat(pathname,filename), if exist(handles.wb_file) % check if files exists handles.wb=xlsread(handles.wb_file); % read data trainning in ‘excels’ file end set(handles.data_wb_listbox, guidata(hObject,fiandles); tring’ num2sir(handles.wb)); 4.3.3 Function start_training_pushbutton _Callback |ml_baris=size(handles.data_trainning,1); jmI_kolom=size(handles.data_trainning,2); ml pola=size(nandles.data_trainning, 1) {ml input=size(handles data_trainning,2)-1; jmI_output=size(handles.data_trainning,2)-jm\_input jml_hid=str2num(get(handles jm|_hidden_edit'String’) alpa=str2num(get(handles.leaming_rate_edit, String); Spreading data source for n=1:1:jml_pola for i=1:1;jml_input s(n.)= handles.data_trainning(n,); end end s Spreading data target for n=1:1:jml_pola for i=1:1:ml_output \(n,i)=handles.data_trainning(n,jm\_input+i); end ond t jml_input imLhid size(handles.wb) Sphandles.wb(2,4) Spreading data weight and bias threading data weight hidden layer for i=1:1:jml_input for j=1:1;7mI_hid randles.wb(i,); end end © aoe A sks tonpis nud 3 Hout Prabtm daringan Saal Teean, breading data bias hidden layer for i=1:1:jml_hid ‘vO(i}=handles.wb(jml_input+ end vo Spreading data weight output layer for i=1:1;iml_hid for j=1:1:jml_output ‘w(ij)=hardles.wb(jml_input+1#,) end end w Spreading data bias output layer for =1:1:jml_output ‘wO()}=haridles.wb(iml_input+4+ml_hid+4,i); end jml_iterasi=0, stop=false; {wt*****MIulai Pelatihan™*""* while stop==false W%tot_er for n=f:1:jml_pola 1:jml_hid “1jm_input (ni) t jeri) Z_in()=vo())+tot_j; ‘%Ybz{i]=1/(1+exp -(2_in|]})); %F UNGSI BINER SIGMOID 2()=(2/(1+exp(-{z_in(j)))))-1; %FUNGS| BIPOLAR SIGMOID- end for k- 4:jm\_output tol_k=tot_k+2())"w(.k); end (K)=wO(k)+tot_k; 1(1-+exp(-y_infk)); %F UNGSI BINER SIGMOID y(k)=(2/(1 +exp(-y_in(k))))-1; %FUNGSI BIPOLAR SIGMOID end %BACKPROPAGATION =0; “1;ml_output 1(1-rexp(-y_inlk})}; Sabiner sigmois Seeitf=fe"(1-x)turunan pertama fe=(21(1+8xp(-y_in{k)))-1; %4Bipolar sigmoid dif 5*(1+fx)"(14x); Yeturunan pertama {i(k)=tn,k); Sotarget tot_err=tot_err+(k)-y(k))°2; ‘total error kuadrat del_kik)=(ti(k)-yk))ritf: error ®%tot_ert=tot_err+powi(del_Kik].2); Cionieagt to eka kono nd Hout Prabtm daringan Saal Teean. for j=1:1;jmL_hid dolta_w(,k)=alpa'del_k(k)*2()); Yedelta bobot pada unit output end delta_w0(k}=alpatdel_k(k); %delta bias pd unit output, end k+del_k(k)'w(.k) lot_e_k; _in(j))); %ebiner sigmoid del_i(j)=del_inG) cit; for =1:1:jmL_input x(I)=s(n detta_v(i)}=alpa‘del_{()"x(i); Yodelta bobot pd unit hidden end delta_v0())=alpa*del_j(j); %delta bias pd unit hidden end %UBAH BOBOT DAN BIAS ‘%Ubah bobot unit output for j=1:1:jmL_hid for k=1:1:jml_output wO.k)=w6,k)+delta_w(ik); end end eubah bias unit output for k=1:1;iml_output ‘wO(k)=w0(k)+delta_w0(k); end oubah bobot unit hidden for i=1:1:jml_input for j=1:1:jmL_hid W{ii=vbijrdelta_wi) end end wubah bias unit hidden for j=1:1;jm_hid vO()=vO{Fedelta_vog); end end %4forn if tot_err>eps %continue tol_err jml itera stop=false; else %stop stop=true; end Literasi+1 ‘end %while stop %saving training result into excels fle vv(iml_input+1,:)=v0; %bias unit hiden © aoe A sks tonpis nud 3 Hout Prabtm daringan Saal Teean, for i=1:1;imI_hid v(iml_input+1+i,1)=w(i); %ebobot unit output end for i=1:1:jml_output ‘v(imi_input+1+jml_hid+i,1)=w0(); %bias unit output end %psimpan bobot w dan bias b dalam excel file if exist(strcat(handles.pathname,'bobot_hasil_backprop xls')} delete (strcat{handles.pathname, bobot_hasil_backprop xis’); xswrite(streat(handles.pathname,'bobot_hasil_backprop.xls',v); else xlswrite(strcat(handles.pathname,'bobot_hasil_backprop.xls).v); end set(handles.wb_result_listbox,'String’.num2str(v)}; %#%tampilkan bobot dan bias hasil pelatihan dalam comman window ‘efor j=1:1:jml_output % for i=1:1:jml_input % — disp(strcai('w,num2str(),num2str(),’ = "num2str(handles.w(i,)))); % end end ‘%Tampilkan bobot dalam list box 4:1;jml_output %index dari bobot w % for i=1:1:jml_input nent; Spset(handles.we_result_listbox,'String’ streat(‘w,num2str(in}),num2str(n’), “snum2str(wn')); guidata(hObject,handles); 4.3.4 Function data_testing_pushbutton Callback {flename,pathname|=uigetfile("xIs;* xlsx’ Select data trainning’); handles.data_testing_flle = strcat(pathname filename); if exist(handles.data_testing fle) % check if files exists handles.data_testing=xlsread(handles.data_testing_fle); % read data trainning in ‘excels’ fle end set(handles.data_testing_listbox,'String,num2str(handies.data_testing’)); guidata(hObject,handles); 4.3.5 Function start_testing_pushbutton _Callback jml_pola=size(handles.data_trainning,1); © aoe A sks tonpis nud 6 Hout Prabtm daringan Saal Teean. jmI_input=size(handles.data_trainning,2)-1; jml_output=size(handles.data_trainning,2)-jml_input; mth alpi tr2num(get(handles,jml_hidden_edit,'String’); 2num(get(handles.learning_rate_edit,'String)) threading data source for i=1:1jml_input x() handies.data_testing(1 i); end Spread weight and bias of trainning wb_testing=xisread(strcat(handles. pathname, bobot_hasil_backprop.xls’)); threading data weight of hidden layer , v for i=1:1;7ml_input for j=1:1;jmnl_hid ‘v(ij)=wb Testing(i); end end v Spreading data bias hidden layer, vO for i=1:1:jml_hid vvO(i}=wb_testing(im|_input+1 i); end vo ‘Sereading data weight output layer, w for i=1:1:jml_hid for j=1:1:jml_output ‘w(ij)=wb_testing(iml_input+1+i,); end end Soreading data bias output layer , WO for i=1:1:jml_output ‘wO())=wb_testing(jml_input+1jml_hid+1,); end wo proses Testing for j=1:1ml_hid 4:jmI_input lotx("vi); O() tot; Fal)=1i(1exp(2_in())); bier sigmoid 2()=(2/(1exp(-Z_in()))}-1; %ebipolar sigmoid end for k=1:1:jm|_output tot=0; for j=4:1:jml_hid tot=tot+z(j)*w(j.k); end set(handles.result_listbox,’String’,num2str(y)); %eset(handles.wb_result_listbox,'String’ ist_box_new) y © aoe A sks tonpis nud 7 Hout Prabtm daringan Saal Teean, 44 Hasil Eksekusi (RUN) program Hasil eksekusi program IST BP dapat dilihat dalam Gambar 4.2 bce prepagaton wn x vanes =| | Seo mn anata Heat Testg Gambar 4.2 Hasil Eksekusi program JST BP kasus Gerbang logika XOR Cara kerja program - Buka file data pelatihan (dalam format file excel) dengan menekan tombol pada panel Trainning ~ Buka file bobot (w) dan bias (b) (dalam format excel) dengan menekan tombol open weight-bias pada panel Trainning - Masukkan Jumlzh hidden unit, misal : 4 - Masukkan nilai Learning Rate, misal : 0.2 = Lakukan proses training dengan menekan tombol Start Training - Buka file testing (format excel) dengan menekan tombol open data testing pada panel Testing ~ Klik tombol Start Testing, selanjutnya akan ditampilkan data hasil testing yang cocok dengan data pelatihan, yaitu : -0.90633 dibulatkan jadi -1. Jadi cocok dengan data pada pola pelatihan pertama yaitu : Data input x: x2 =-1 -1 maka outputnya -1 © aoe A sks tonpis nud 8 Hout Prabtm daringan Saal Teean. 4.5 Latihan 1, Buatlah percobaan dengan menggunakan program aplikasi JST BP dengan data pelatihan gerbang logika AND. 2. Buatlah percobaan dengan menggunakan program aplikasi JST BP dengan data pelatihan gerbang logika OR. © aoe A sks tonpis nud 9

Anda mungkin juga menyukai