A1 LAMPIRAN LISTING PROGRAM Prototype.m function varargout = prototype(varargin) gui_singleton = 1; gui_state = struct('gui_name', mfilename,... 'gui_singleton', gui_singleton,... 'gui_openingfcn', @prototype_openingfcn,... 'gui_outputfcn', @prototype_outputfcn,... 'gui_layoutfcn', [],... 'gui_callback', []); if nargin && ischar(varargin{1}) gui_state.gui_callback = str2func(varargin{1}); if nargout [varargout{1:nargout}] = gui_mainfcn(gui_state, varargin{:}); gui_mainfcn(gui_state, varargin{:}); % Executes just before prototype is made visible. function prototype_openingfcn(hobject, eventdata, handles, varargin) handles.output = hobject; guidata(hobject, handles); % Outputs from this function are returned to the command line. function varargout = prototype_outputfcn(hobject, eventdata, handles) varargout{1} = handles.output; function utama_callback(hobject, eventdata, handles) function pelatihan_callback(hobject, eventdata, handles) function pengujian_callback(hobject, eventdata, handles) function bantuan_callback(hobject, eventdata, handles) menubantuan
A2 function keluar_callback(hobject, eventdata, handles) choice= questdlg ('apakah Anda yakin ingin keluar?','confirm',... 'Yes','No','No'); switch choice case'yes' close all; function ujibackpropagation_callback(hobject, eventdata, handles) ujibackpropagation close prototype; function ujiperceptron_callback(hobject, eventdata, handles) ujiperceptron close prototype; function metodebackpropagation_callback(hobject, eventdata, handles) metodebackpropagation close prototype; function metodeperceptron_callback(hobject, eventdata, handles) metodeperceptron close prototype; metodebackpropagation.m function varargout = metodebackpropagation(varargin) gui_singleton = 1; gui_state = struct('gui_name', mfilename,... 'gui_singleton', gui_singleton,... 'gui_openingfcn', @metodebackpropagation_openingfcn,... 'gui_outputfcn', @metodebackpropagation_outputfcn,... 'gui_layoutfcn', [],... 'gui_callback', []); if nargin && ischar(varargin{1}) gui_state.gui_callback = str2func(varargin{1}); if nargout [varargout{1:nargout}] = gui_mainfcn(gui_state, varargin{:}); gui_mainfcn(gui_state, varargin{:}); % End initialization code DO NOT EDIT % Executes just before metodebackpropagation is made visible.
A3 function metodebackpropagation_openingfcn(hobject, eventdata, handles, varargin) handles.output = hobject; guidata(hobject, handles); function varargout = metodebackpropagation_outputfcn(hobject, eventdata, handles, varargin) varargout{1} = handles.output; function utama_callback(hobject, eventdata, handles) metodebackpropagation \ function uji_jst_callback(hobject, eventdata, handles) ujibackpropagation close metodebackpropagation; function bantuan_callback(hobject, eventdata, handles) bantuanpelatihan function keluar_callback(hobject, eventdata, handles) function menuutama_callback(hobject, eventdata, handles) prototype close metodebackpropagation; function edit1_callback(hobject, eventdata, handles) % Executes during object creation, after setting all properties. function edit1_createfcn(hobject, eventdata, handles) % Executes on button press in cari. function cari_callback(hobject, eventdata, handles) [nama_file,nama_path] = uigetfile({'*.jpg','file jpeg (*.jpg)'},'buka File Citra'); if ~isequal(nama_file,0) handles.citra=imread(fullfile(nama_path,nama_file)); imshow(handles.citra); imshow(handles.citra); return; ;
A4 % Executes on button press in cari2. function cari2_callback(hobject, eventdata, handles) [nama_file,nama_path] = uigetfile({'*.jpg','file jpeg (*.jpg)'},'buka File Citra'); if ~isequal(nama_file,0) handles.citra2=imread(fullfile(nama_path,nama_file)); axes(handles.axes2); imshow(handles.citra); axes(handles.axes2); imshow(handles.citra); return; ; % function edit3_callback(hobject, eventdata, handles) function edit3_createfcn(hobject, eventdata, handles) % Executes on slider movement. function varargout = sd_tres_callback(hobject, eventdata, handles, varargin) nilai_red = get(handles.sd_tres,'value'); handles.nilai_red = round(nilai_red); set(handles.edit,'string',handles.nilai_red); citra_gray=rgb2gray(handles.citra); citra_gray=double(citra_gray); [b k]=size(citra_gray); for x=1:b for y=1:k if citra_gray(x,y)<nilai_red citra_threshold(x,y)=0; if citra_gray(x,y)>=nilai_red citra_threshold(x,y)=1; citra_threshold handles.citra_tres=citra_threshold; imshow(citra_threshold); % Executes during object creation, after setting all properties. function sd_tres_createfcn(hobject, eventdata, handles) if isequal(get(hobject,'backgroundcolor'), set(hobject,'backgroundcolor',[.9.9.9]); function varargout = sd_tres2_callback(hobject, eventdata, handles, varargin)
A5 nilai_red2 = get(handles.sd_tres2,'value'); handles.nilai_red2 = round(nilai_red2); set(handles.edit3,'string',handles.nilai_red2); citra_gray2=rgb2gray(handles.citra2); citra_gray2=double(citra_gray2); [b k]=size(citra_gray2); for x=1:b for y=1:k if citra_gray2(x,y)<nilai_red2 citra_threshold2(x,y)=0; if citra_gray2(x,y)>=nilai_red2 citra_threshold2(x,y)=1; citra_threshold2 handles.citra_tres2=citra_threshold2; axes(handles.axes2); imshow(citra_threshold2); function sd_tres2_createfcn(hobject, eventdata, handles) if isequal(get(hobject,'backgroundcolor'), set(hobject,'backgroundcolor',[.9.9.9]); % Executes on button press in reduksidata. function reduksidata_callback(hobject, eventdata, handles) dataawal = xlsread('programbackpropagation.xlsx','datapincode'); prosesdata=mean(dataawal); [A,B]=size(dataawal); databaru= dataawal repmat(prosesdata,a,1); [A,B]=size(databaru); for x = 1:A for y = 1:B if databaru(x,y)<=0 databaru(x,y)=0; olahdata = 1/B *(databaru*databaru'); [PC,V]= eig(olahdata); V=diag(V); [junk,rindices]= sort(1*v); V=V(rindices); PC = PC (:,rindices); signal=dataawal'*pc; ext= dataawal*signal; minr=min(ext); minr=min(minr); maxr=max(ext); maxr=max(maxr); delta=maxrminr; datautama=2*(extminr)/delta1; xlswrite('programbackpropagation1.xlsx',signal,'datapincode','a1:t250 0');
A6 xlswrite('programbackpropagation1.xlsx',ext,'datapincode','a2502:t252 1'); xlswrite('programbackpropagation1.xlsx',datautama,'datapincode','a252 3:T2542'); % Executes on button press in simpanbackpropagation. function simpanbackpropagation_callback(hobject, eventdata, handles) nopin = get(handles.edit1,'string'); a = double(handles.citra_tres); b = double(handles.citra_tres2); pin = [reshape(a,1,2500); reshape(b,1,2500)]; set(handles.edit1,'string',''); set(handles.edit,'string','0'); set(handles.edit3,'string','0'); imshow(1); axes(handles.axes2); imshow(1); if(strcmp(nopin,'21a86cc1')) xlswrite('programbackpropagation.xlsx',pin,'datapincode','a1'); if (strcmp(nopin,'21e52edc')) xlswrite('programbackpropagation.xlsx',pin,'datapincode','a3'); if (strcmp(nopin,'25d6096b')) xlswrite('programbackpropagation.xlsx',pin,'datapincode','a5'); if (strcmp(nopin,'26b5e5c0')) xlswrite('programbackpropagation.xlsx',pin,'datapincode','a7'); if (strcmp(nopin,'27c30b0b')) xlswrite('programbackpropagation.xlsx',pin,'datapincode','a9'); if (strcmp(nopin,'27fbba4a')) xlswrite('programbackpropagation.xlsx',pin,'datapincode','a11'); if (strcmp(nopin,'29ea3a24')) xlswrite('programbackpropagation.xlsx',pin,'datapincode','a13'); if (strcmp(nopin,'3114aa76')) xlswrite('programbackpropagation.xlsx',pin,'datapincode','a15'); if (strcmp(nopin,'231708d0')) xlswrite('programbackpropagation.xlsx',pin,'datapincode','a17'); if (strcmp(nopin,'2585926a')) xlswrite('programbackpropagation.xlsx',pin,'datapincode','a19'); xlswrite('programbackpropagation.xlsx',pin,'datapincode','a21'); % Executes on button press in resetbackpropagation. function resetbackpropagation_callback(hobject, eventdata, handles) set(handles.edit1,'string','','enable','on'); set(handles.edit,'string','','enable','on'); imshow(1); axes(handles.axes2); imshow(2); % Executes during object creation, after setting all properties. function edit_callback(hobject, eventdata, handles) % Executes during object creation, after setting all properties. function edit_createfcn(hobject, eventdata, handles)
A7 % Executes on button press in backpropagation. function backpropagation_callback(hobject, eventdata, handles) input = xlsread('programbackpropagation1.xlsx','datapincode','a2523:t2542'); target = [1 0 0 0 0 0 0 0 0 0; 1 0 0 0 0 0 0 0 0 0; 0 1 0 0 0 0 0 0 0 0; 0 1 0 0 0 0 0 0 0 0; 0 0 1 0 0 0 0 0 0 0; 0 0 1 0 0 0 0 0 0 0; 0 0 0 1 0 0 0 0 0 0; 0 0 0 1 0 0 0 0 0 0; 0 0 0 0 1 0 0 0 0 0; 0 0 0 0 1 0 0 0 0 0; 0 0 0 0 0 1 0 0 0 0; 0 0 0 0 0 1 0 0 0 0; 0 0 0 0 0 0 1 0 0 0; 0 0 0 0 0 0 1 0 0 0; 0 0 0 0 0 0 0 1 0 0; 0 0 0 0 0 0 0 1 0 0; 0 0 0 0 0 0 0 0 1 0; 0 0 0 0 0 0 0 0 1 0; 0 0 0 0 0 0 0 0 0 1; 0 0 0 0 0 0 0 0 0 1]; target = target'; input=input'; net = newff(minmax(input),[20 20 10], {'tansig','tansig','tansig'},'traingda'); net.trainparam.show=100; net.trainparam.epochs=20000; net.trainparam.goal=0.0001; net.trainparam.lr = 0.1; net.trainparam.mc = 0.1; [net,tr] = train(net,input,target); xlswrite('programbackpropagation2.xlsx',net.iw{1,1},'bobot','a'); xlswrite('programbackpropagation3.xlsx',net.lw{2,1},'bobot','a'); xlswrite('programbackpropagation4.xlsx',net.lw{3,2},'bobot','a'); xlswrite('programbackpropagation5.xlsx',net.b{1},'bias','a1:a20'); xlswrite('programbackpropagation5.xlsx',net.b{2},'bias','b1:b20'); xlswrite('programbackpropagation5.xlsx',net.b{3},'bias','c1:c10'); output = sim(net,input) metodeperceptron.m function varargout = metodeperceptron(varargin) gui_singleton = 1; gui_state = struct('gui_name', mfilename,... 'gui_singleton', gui_singleton,... 'gui_openingfcn', @metodeperceptron_openingfcn,... 'gui_outputfcn', @metodeperceptron_outputfcn,... 'gui_layoutfcn', [],... 'gui_callback', []); if nargin && ischar(varargin{1})
A8 gui_state.gui_callback = str2func(varargin{1}); if nargout [varargout{1:nargout}] = gui_mainfcn(gui_state, varargin{:}); gui_mainfcn(gui_state, varargin{:}); % Executes just before metodeperceptron is made visible. function metodeperceptron_openingfcn(hobject, eventdata, handles, varargin) handles.output = hobject; guidata(hobject, handles); % Outputs from this function are returned to the command line. function varargout = metodeperceptron_outputfcn(hobject, eventdata, handles) varargout{1} = handles.output; function edit1_callback(hobject, eventdata, handles) % Executes during object creation, after setting all properties. function edit1_createfcn(hobject, eventdata, handles) function utama_callback(hobject, eventdata, handles) metodeperceptron function bantuan_callback(hobject, eventdata, handles) bantuanpelatihan function keluar_callback(hobject, eventdata, handles) close metodeperceptron; function uji_jst_callback(hobject, eventdata, handles) ujiperceptron close metodeperceptron; % Executes on button press in cari. function cari_callback(hobject, eventdata, handles) [nama_file,nama_path] = uigetfile({'*.jpg','file jpeg (*.jpg)'},'buka File Citra'); if ~isequal(nama_file,0) handles.citra=imread(fullfile(nama_path,nama_file));
A9 imshow(handles.citra); imshow(handles.citra); return; ; % Executes on button press in cari. function cari2_callback(hobject, eventdata, handles) [nama_file,nama_path] = uigetfile({'*.jpg','file jpeg (*.jpg)'},'buka File Citra'); if ~isequal(nama_file,0) handles.citra2=imread(fullfile(nama_path,nama_file)); axes(handles.axes2); imshow(handles.citra2); axes(handles.axes2); imshow(handles.citra2); return; ; % Executes on slider movement. function varargout = sd_tres_callback(hobject, eventdata, handles, varargin) nilai_red = get(handles.sd_tres,'value'); handles.nilai_red = round(nilai_red); set(handles.edit1,'string',handles.nilai_red); citra_gray=rgb2gray(handles.citra); citra_gray=double(citra_gray); [b k]=size(citra_gray); for x=1:b for y=1:k if citra_gray(x,y)<nilai_red citra_threshold(x,y)=0; if citra_gray(x,y)>=nilai_red citra_threshold(x,y)=1; citra_threshold handles.citra_tres=citra_threshold; imshow(citra_threshold); % Executes on slider movement. function sd_tres2_callback(hobject, eventdata, handles) nilai_red2 = get(handles.sd_tres2,'value'); handles.nilai_red2 = round(nilai_red2); set(handles.edit2,'string',handles.nilai_red2); citra_gray2=rgb2gray(handles.citra2); citra_gray2=double(citra_gray2); [b k]=size(citra_gray2); for x=1:b for y=1:k if citra_gray2(x,y)<nilai_red2
A10 citra_threshold2(x,y)=0; if citra_gray2(x,y)>=nilai_red2 citra_threshold2(x,y)=1; citra_threshold2 handles.citra_tres2=citra_threshold2; axes(handles.axes2); imshow(citra_threshold2); function sd_tres2_createfcn(hobject, eventdata, handles) function sd_tres_createfcn(hobject, eventdata, handles) if isequal(get(hobject,'backgroundcolor'), set(hobject,'backgroundcolor',[.9.9.9]); if isequal(get(hobject,'backgroundcolor'), set(hobject,'backgroundcolor',[.9.9.9]); % Executes on button press in simpanperceptron function simpanperceptron_callback(hobject, eventdata, handles) nopin = get(handles.edit3,'string'); a = double(handles.citra_tres); b = double(handles.citra_tres2); pin = [reshape(a,1,2500); reshape(b,1,2500)]; set(handles.edit3,'string',''); set(handles.edit1,'string','0'); set(handles.edit2,'string','0'); imshow(1); axes(handles.axes2); imshow(1); if(strcmp(nopin,'21a86cc1')) xlswrite('programperceptron.xlsx',pin,'datapincode','a1'); if (strcmp(nopin,'21e52edc')) xlswrite('programperceptron.xlsx',pin,'datapincode','a3'); if (strcmp(nopin,'25d6096b')) xlswrite('programperceptron.xlsx',pin,'datapincode','a5'); if (strcmp(nopin,'26b5e5c0')) xlswrite('programperceptron.xlsx',pin,'datapincode','a7'); if (strcmp(nopin,'27c30b0b')) xlswrite('programperceptron.xlsx',pin,'datapincode','a9'); if (strcmp(nopin,'27fbba4a')) xlswrite('programperceptron.xlsx',pin,'datapincode','a11'); if (strcmp(nopin,'29ea3a24')) xlswrite('programperceptron.xlsx',pin,'datapincode','a13'); if (strcmp(nopin,'3114aa76')) xlswrite('programperceptron.xlsx',pin,'datapincode','a15'); if (strcmp(nopin,'231708d0')) xlswrite('programperceptron.xlsx',pin,'datapincode','a17'); if (strcmp(nopin,'2585926a')) xlswrite('programperceptron.xlsx',pin,'datapincode','a19');
A11 xlswrite('programperceptron.xlsx',pin,'datapincode','a21'); % Executes on button press in reduksidata. function reduksidata_callback(hobject, eventdata, handles) dataawal = xlsread('programperceptron.xlsx','datapincode'); prosesdata=mean(dataawal); [A,B]=size(dataawal); databaru= dataawal repmat(prosesdata,a,1); [A,B]=size(databaru); for x = 1:A for y = 1:B if databaru(x,y)<=0 databaru(x,y)=0; olahdata = 1/B *(databaru*databaru'); [PC,V]= eig(olahdata); V=diag(V); [junk,rindices]= sort(1*v); V=V(rindices); PC = PC(:,rindices); signal=dataawal'*pc; ext= dataawal*signal; minr=min(ext); minr=min(minr); maxr=max(ext); maxr=max(maxr); delta=maxrminr; datautama=2*(extminr)/delta1; xlswrite('programperceptron1.xlsx',signal,'datapincode','a1:t2500'); xlswrite('programperceptron1.xlsx',ext,'datapincode','a2502:t2521'); xlswrite('programperceptron1.xlsx',datautama,'datapincode','a2523:t25 42'); % Executes on button press in reset. function reset_callback(hobject, eventdata, handles) set(handles.edit1,'string','','enable','on'); set(handles.edit2,'string','','enable','on'); imshow(1); axes(handles.axes2); imshow(2); % Executes on button press in latihjst. function latihjst_callback(hobject, eventdata, handles) input = xlsread('programperceptron1.xlsx','datapincode','a2523:t2542') target = [1 0 0 0 0 0 0 0 0 0; 1 0 0 0 0 0 0 0 0 0; 0 1 0 0 0 0 0 0 0 0; 0 1 0 0 0 0 0 0 0 0; 0 0 1 0 0 0 0 0 0 0; 0 0 1 0 0 0 0 0 0 0; 0 0 0 1 0 0 0 0 0 0; 0 0 0 1 0 0 0 0 0 0; 0 0 0 0 1 0 0 0 0 0; 0 0 0 0 1 0 0 0 0 0; 0 0 0 0 0 1 0 0 0 0;
A12 0 0 0 0 0 1 0 0 0 0; 0 0 0 0 0 0 1 0 0 0; 0 0 0 0 0 0 1 0 0 0; 0 0 0 0 0 0 0 1 0 0; 0 0 0 0 0 0 0 1 0 0; 0 0 0 0 0 0 0 0 1 0; 0 0 0 0 0 0 0 0 1 0; 0 0 0 0 0 0 0 0 0 1; 0 0 0 0 0 0 0 0 0 1]; target = target'; input=input'; net = newp(minmax(input),10); net.trainparam.show=1000; net.trainparam.epochs=20000; net.trainparam.goal=0.0001; %net.adaptparam.passes = 500; [net,output]= adapt (net,input,target); [net,tr] = train (net,input,target); xlswrite('programperceptron2.xlsx',net.iw{1,1},'bobot','a'); xlswrite('programperceptron5.xlsx',net.b{1},'bias','a1:a10'); output = sim (net,input) function edit2_callback(hobject, eventdata, handles) % Executes during object creation, after setting all properties. function edit2_createfcn(hobject, eventdata, handles) function menuutama_callback(hobject, eventdata, handles) prototype close metodeperceptron; function edit3_callback(hobject, eventdata, handles) % Executes during object creation, after setting all properties. function edit3_createfcn(hobject, eventdata, handles) ujibackpropagation.m function varargout = ujibackpropagation(varargin) gui_singleton = 1; gui_state = struct('gui_name', mfilename,... 'gui_singleton', gui_singleton,... 'gui_openingfcn', @ujibackpropagation_openingfcn,... 'gui_outputfcn', @ujibackpropagation_outputfcn,... 'gui_layoutfcn', [],...
A13 'gui_callback', []); if nargin && ischar(varargin{1}) gui_state.gui_callback = str2func(varargin{1}); if nargout [varargout{1:nargout}] = gui_mainfcn(gui_state, varargin{:}); gui_mainfcn(gui_state, varargin{:}); % Executes just before ujibackpropagation is made visible. function ujibackpropagation_openingfcn(hobject, eventdata, handles, varargin) handles.output = hobject; guidata(hobject, handles); % Outputs from this function are returned to the command line. function varargout = ujibackpropagation_outputfcn(hobject, eventdata, handles) varargout{1} = handles.output; function utama_callback(hobject, eventdata, handles) ujibackpropagation function bantuan_callback(hobject, eventdata, handles) bantuanpengujian function keluar_callback(hobject, eventdata, handles) function menuutama_callback(hobject, eventdata, handles) prototype function edit1_callback(hobject, eventdata, handles) % Executes during object creation, after setting all properties. function edit1_createfcn(hobject, eventdata, handles) % Executes on button press in cari. function cari_callback(hobject, eventdata, handles) [filename, pathname] = uigetfile({'*.jpg','file jpeg (*.jpg)'}, 'Open Bitmap File'); if isequal(filename, 0) return; info = imfinfo([pathname, filename]);
A14 filename = info.filename; handles.citra = imread(fullfile(pathname, filename)); guidata(hobject, handles); imshow(handles.citra); set(handles.edit3, 'string', filename); ; function edit2_callback(hobject, eventdata, handles) % Executes during object creation, after setting all properties. function edit2_createfcn(hobject, eventdata, handles) % Executes on slider movement. function slider1_callback(hobject, eventdata, handles) nilai_red = get(handles.slider1,'value'); handles.nilai_red = round(nilai_red); set(handles.edit1,'string',handles.nilai_red); citra_gray=rgb2gray(handles.citra); citra_gray=double(citra_gray); [b k]=size(citra_gray); for x=1:b for y=1:k if citra_gray(x,y)<nilai_red citra_threshold(x,y)=0; if citra_gray(x,y)>=nilai_red citra_threshold(x,y)=1; citra_threshold handles.citra_tes=citra_threshold; guidata(hobject,handles) imshow(citra_threshold); % Executes during object creation, after setting all properties. function slider1_createfcn(hobject, eventdata, handles) if isequal(get(hobject,'backgroundcolor'), set(hobject,'backgroundcolor',[.9.9.9]); % Executes on button press in reset. function reset_callback(hobject, eventdata, handles) set(handles.edit1,'string','','enable','on'); set(handles.edit2,'string','','enable','on'); imshow(1); % Executes on button press in ujipengenalan. function ujipengenalan_callback(hobject, eventdata, handles)
A15 tstart=tic; Signal = xlsread('programbackpropagation1.xlsx','datapincode','a1:t2500'); ext = xlsread('programbackpropagation1.xlsx','datapincode','a2502:t2521'); input = xlsread('programbackpropagation1.xlsx','datapincode','a2523:t2542'); citrauji = double(handles.citra_tes); flatvec = [reshape(citrauji,1,2500)]; mat_uji = flatvec*signal; minr=min(ext); minr=min(minr); maxr=max(ext); maxr=max(maxr); delta=maxrminr; datapengujian = 2 *(mat_ujiminr)/delta1; target =[ 1 0 0 0 0 0 0 0 0 0; 1 0 0 0 0 0 0 0 0 0; 0 1 0 0 0 0 0 0 0 0; 0 1 0 0 0 0 0 0 0 0; 0 0 1 0 0 0 0 0 0 0; 0 0 1 0 0 0 0 0 0 0; 0 0 0 1 0 0 0 0 0 0; 0 0 0 1 0 0 0 0 0 0; 0 0 0 0 1 0 0 0 0 0; 0 0 0 0 1 0 0 0 0 0; 0 0 0 0 0 1 0 0 0 0; 0 0 0 0 0 1 0 0 0 0; 0 0 0 0 0 0 1 0 0 0; 0 0 0 0 0 0 1 0 0 0; 0 0 0 0 0 0 0 1 0 0; 0 0 0 0 0 0 0 1 0 0; 0 0 0 0 0 0 0 0 1 0; 0 0 0 0 0 0 0 0 1 0; 0 0 0 0 0 0 0 0 0 1; 0 0 0 0 0 0 0 0 0 1]; target = target'; input = input'; net = newff(minmax(input),[20 20 10], {'tansig','tansig','tansig'},'traingdx'); net = init(net); net.iw{1,1}= xlsread('programbackpropagation2.xlsx','bobot'); net.lw{2,1}= xlsread('programbackpropagation3.xlsx','bobot'); net.lw{3,2}= xlsread('programbackpropagation4.xlsx','bobot'); net.b{1}= xlsread('programbackpropagation5.xlsx','bias','a1:a20'); net.b{2}= xlsread('programbackpropagation5.xlsx','bias','b1:b20'); net.b{3}= xlsread('programbackpropagation5.xlsx','bias','c1:c10'); datapengujian=datapengujian' output = sim(net,datapengujian) if (output(1,1)<0.9) a(1,1)=0; a(1,1)=1; if (output(2,1)<0.9) a(2,1)=0;
A16 a(2,1)=1; if (output(3,1)<0.9) a(3,1)=0; a(3,1)=1; if (output(4,1)<0.9) a(4,1)=0; a(4,1)=1; if (output(5,1)<0.9) a(5,1)=0; a(5,1)=1; if (output(6,1)<0.9) a(6,1)=0; a(6,1)=1; if (output(7,1)<0.9) a(7,1)=0; a(7,1)=1; if (output(8,1)<0.9) a(8,1)=0; a(8,1)=1; if (output(9,1)<0.9) a(9,1)=0; a(9,1)=1; if (output(10,1)<0.9) a(10,1)=0; a(10,1)=1; pin=[a(1,1);a(2,1);a(3,1);a(4,1);a(5,1);a(6,1);a(7,1);a(8,1);a(9,1);a (10,1)]; pin1 = [1; 0; 0; 0; 0; 0; 0; 0; 0; 0;]; pin2 = [0; 1; 0; 0; 0; 0; 0; 0; 0; 0;]; pin3 = [0; 0; 1; 0; 0; 0; 0; 0; 0; 0;]; pin4 = [0; 0; 0; 1; 0; 0; 0; 0; 0; 0;]; pin5 = [0; 0; 0; 0; 1; 0; 0; 0; 0; 0;]; pin6 = [0; 0; 0; 0; 0; 1; 0; 0; 0; 0;];
A17 pin7 = [0; 0; 0; 0; 0; 0; 1; 0; 0; 0;]; pin8 = [0; 0; 0; 0; 0; 0; 0; 1; 0; 0;]; pin9 = [0; 0; 0; 0; 0; 0; 0; 0; 1; 0;]; pin10 = [0; 0; 0; 0; 0; 0; 0; 0; 0; 1;]; if isequal (a,pin1) edit2='21a86cc1'; if isequal (a,pin2) edit2='21e52edc'; if isequal (a,pin3) edit2='25d6096b'; if isequal (a,pin4) edit2= '26B5E5C0'; if isequal (a,pin5) edit2='27c30b0b'; if isequal (a,pin6) edit2='27fbba4a'; if isequal (a,pin7) edit2='29ea3a24'; if isequal (a,pin8) edit2='3114aa76'; if isequal (a,pin9) edit2= '231708D0'; if isequal (a,pin10) edit2= '2585926A'; edit2='tidak Dikenali'; set(handles.edit2,'string',edit2); waktuuji = toc(tstart); set(handles.edit4,'string',waktuuji); function edit3_callback(hobject, eventdata, handles) % Executes during object creation, after setting all properties. function edit3_createfcn(hobject, eventdata, handles) function edit4_callback(hobject, eventdata, handles) % Executes during object creation, after setting all properties. function edit4_createfcn(hobject, eventdata, handles) ujiperceptron.m function varargout = ujiperceptron(varargin) gui_singleton = 1; gui_state = struct('gui_name', mfilename,... 'gui_singleton', gui_singleton,...
A18 'gui_openingfcn', @ujiperceptron_openingfcn,... 'gui_outputfcn', @ujiperceptron_outputfcn,... 'gui_layoutfcn', [],... 'gui_callback', []); if nargin && ischar(varargin{1}) gui_state.gui_callback = str2func(varargin{1}); if nargout [varargout{1:nargout}] = gui_mainfcn(gui_state, varargin{:}); gui_mainfcn(gui_state, varargin{:}); % Executes just before ujiperceptron is made visible. function ujiperceptron_openingfcn(hobject, eventdata, handles, varargin) handles.output = hobject; guidata(hobject, handles); % Outputs from this function are returned to the command line. function varargout = ujiperceptron_outputfcn(hobject, eventdata, handles) varargout{1} = handles.output; % function utama_callback(hobject, eventdata, handles) ujiperceptron function bantuan_callback(hobject, eventdata, handles) bantuanpengujian function keluar_callback(hobject, eventdata, handles) close ujiperceptron; function menuutama_callback(hobject, eventdata, handles) prototype close ujiperceptron; function edit3_callback(hobject, eventdata, handles) % Executes during object creation, after setting all properties. function edit3_createfcn(hobject, eventdata, handles) % Executes on button press in cari. function varargout = cari_callback(hobject, eventdata, handles, varargin) [filename, pathname] = uigetfile({'*.jpg','file jpeg (*.jpg)'}, 'Open Bitmap File');
A19 if isequal(filename, 0) return; info = imfinfo([pathname, filename]); filename = info.filename; handles.citra = imread(fullfile(pathname, filename)); guidata(hobject, handles); imshow(handles.citra); set(handles.edit3, 'string', filename); ; % Executes on slider movement. function slider1_callback(hobject, eventdata, handles) nilai_red = get(handles.slider1,'value'); handles.nilai_red = round(nilai_red); set(handles.edit1,'string',handles.nilai_red); citra_gray=rgb2gray(handles.citra); citra_gray=double(citra_gray); [b k]=size(citra_gray); for x=1:b for y=1:k if citra_gray(x,y)<nilai_red citra_threshold(x,y)=0; if citra_gray(x,y)>=nilai_red citra_threshold(x,y)=1; citra_threshold handles.citra_tes=citra_threshold; guidata(hobject,handles) imshow(citra_threshold); % Executes during object creation, after setting all properties. function slider1_createfcn(hobject, eventdata, handles) if isequal(get(hobject,'backgroundcolor'), set(hobject,'backgroundcolor',[.9.9.9]); % Executes on button press in reset. function reset_callback(hobject, eventdata, handles) set(handles.edit1,'string','','enable','on'); set(handles.edit2,'string','','enable','on'); imshow(1); % function edit1_callback(hobject, eventdata, handles) % Executes during object creation, after setting all properties. function edit1_createfcn(hobject, eventdata, handles)
A20 % function edit2_callback(hobject, eventdata, handles) % Executes during object creation, after setting all properties. function edit2_createfcn(hobject, eventdata, handles) % Executes on button press in ujipengenalan. function ujipengenalan_callback(hobject, eventdata, handles) tstart=tic; signal = xlsread('programperceptron1.xlsx','datapincode','a1:t2500'); ext = xlsread('programperceptron1.xlsx','datapincode','a2502:t2521'); input = xlsread('programperceptron1.xlsx','datapincode','a2523:t2542'); datainput = double (handles.edit2); citrauji = double(handles.citra_tes); flatvec = [reshape(citrauji,1,2500)]; mat_uji = flatvec*signal; minr=min(ext); minr=min(minr); maxr=max(ext); maxr=max(maxr); delta=maxrminr; datapengujian = 2 *(mat_ujiminr)/delta1; target =[ 1 0 0 0 0 0 0 0 0 0; 1 0 0 0 0 0 0 0 0 0; 0 1 0 0 0 0 0 0 0 0; 0 1 0 0 0 0 0 0 0 0; 0 0 1 0 0 0 0 0 0 0; 0 0 1 0 0 0 0 0 0 0; 0 0 0 1 0 0 0 0 0 0; 0 0 0 1 0 0 0 0 0 0; 0 0 0 0 1 0 0 0 0 0; 0 0 0 0 1 0 0 0 0 0; 0 0 0 0 0 1 0 0 0 0; 0 0 0 0 0 1 0 0 0 0; 0 0 0 0 0 0 1 0 0 0; 0 0 0 0 0 0 1 0 0 0; 0 0 0 0 0 0 0 1 0 0; 0 0 0 0 0 0 0 1 0 0; 0 0 0 0 0 0 0 0 1 0; 0 0 0 0 0 0 0 0 1 0; 0 0 0 0 0 0 0 0 0 1; 0 0 0 0 0 0 0 0 0 1]; target = target'; input = input'; net = newp(minmax(input),10); net = init(net); net.adaptparam.passes = 500; [net,output]= adapt (net,input,target); net.iw{1,1}= xlsread('programperceptron2.xlsx','bobot'); net.b{1}= xlsread('programperceptron5.xlsx','bias','a1:a10'); datapengujian=datapengujian' output = sim(net,datapengujian)
A21 if (output(1,1)<0.6) a(1,1)=0; a(1,1)=1; if (output(2,1)<0.6) a(2,1)=0; a(2,1)=1; if (output(3,1)<0.6) a(3,1)=0; a(3,1)=1; if (output(4,1)<0.6) a(4,1)=0; a(4,1)=1; if (output(5,1)<0.9) a(5,1)=0; a(5,1)=1; if (output(6,1)<0.9) a(6,1)=0; a(6,1)=1; if (output(7,1)<0.9) a(7,1)=0; a(7,1)=1; if (output(8,1)<0.9) a(8,1)=0; a(8,1)=1; if (output(9,1)<0.9) a(9,1)=0; a(9,1)=1; if (output(10,1)<0.9) a(10,1)=0; a(10,1)=1;
A22 pin=[a(1,1);a(2,1);a(3,1);a(4,1);a(5,1);a(6,1);a(7,1);a(8,1);a(9,1);a (10,1)]; pin1 = [1; 0; 0; 0; 0; 0; 0; 0; 0; 0;]; pin2 = [0; 1; 0; 0; 0; 0; 0; 0; 0; 0;]; pin3 = [0; 0; 1; 0; 0; 0; 0; 0; 0; 0;]; pin4 = [0; 0; 0; 1; 0; 0; 0; 0; 0; 0;]; pin5 = [0; 0; 0; 0; 1; 0; 0; 0; 0; 0;]; pin6 = [0; 0; 0; 0; 0; 1; 0; 0; 0; 0;]; pin7 = [0; 0; 0; 0; 0; 0; 1; 0; 0; 0;]; pin8 = [0; 0; 0; 0; 0; 0; 0; 1; 0; 0;]; pin9 = [0; 0; 0; 0; 0; 0; 0; 0; 1; 0;]; pin10 = [0; 0; 0; 0; 0; 0; 0; 0; 0; 1;]; if isequal (a,pin1) edit2='21a86cc1'; if isequal (a,pin2) edit2='21e52edc'; if isequal (a,pin3) edit2='25d6096b'; if isequal (a,pin4) edit2= '26B5E5C0'; if isequal (a,pin5) edit2='27c30b0b'; if isequal (a,pin6) edit2='27fbba4a'; if isequal (a,pin7) edit2='29ea3a24'; if isequal (a,pin8) edit2='3114aa76'; if isequal (a,pin9) edit2= '231708D0'; if isequal (a,pin10) edit2= '2585926A'; edit2='tidak Dikenali'; set(handles.edit2,'string',edit2); waktuuji = toc(tstart); set(handles.edit4,'string',waktuuji); function edit4_callback(hobject, eventdata, handles) % Executes during object creation, after setting all properties. function edit4_createfcn(hobject, eventdata, handles) menubantuan.m function varargout = menubantuan(varargin) gui_singleton = 1; gui_state = struct('gui_name', mfilename,... 'gui_singleton', gui_singleton,...
A23 'gui_openingfcn', @menubantuan_openingfcn,... 'gui_outputfcn', @menubantuan_outputfcn,... 'gui_layoutfcn', [],... 'gui_callback', []); if nargin && ischar(varargin{1}) gui_state.gui_callback = str2func(varargin{1}); if nargout [varargout{1:nargout}] = gui_mainfcn(gui_state, varargin{:}); gui_mainfcn(gui_state, varargin{:}); function menubantuan_openingfcn(hobject, eventdata, handles, varargin) handles.output = hobject; guidata(hobject, handles); function varargout = menubantuan_outputfcn(hobject, eventdata, handles) varargout{1} = handles.output; function edit3_callback(hobject, eventdata, handles) function edit3_createfcn(hobject, eventdata, handles) function bantuan_callback(hobject, eventdata, handles) menubantuan function keluar_callback(hobject, eventdata, handles) close menubantuan; bantuanpelatihan.m function varargout = bantuanpelatihan(varargin) gui_singleton = 1; gui_state = struct('gui_name', mfilename,... 'gui_singleton', gui_singleton,... 'gui_openingfcn', @bantuanpelatihan_openingfcn,... 'gui_outputfcn', @bantuanpelatihan_outputfcn,... 'gui_layoutfcn', [],... 'gui_callback', []); if nargin && ischar(varargin{1}) gui_state.gui_callback = str2func(varargin{1});
A24 if nargout [varargout{1:nargout}] = gui_mainfcn(gui_state, varargin{:}); gui_mainfcn(gui_state, varargin{:}); function bantuanpelatihan_openingfcn(hobject, eventdata, handles, varargin) handles.output = hobject; guidata(hobject, handles); function varargout = bantuanpelatihan_outputfcn(hobject, eventdata, handles) varargout{1} = handles.output; function edit3_callback(hobject, eventdata, handles) function edit3_createfcn(hobject, eventdata, handles) function bantuanpelatihan_callback(hobject, eventdata, handles) bantuanpelatihan function keluar_callback(hobject, eventdata, handles) close bantuanpelatihan bantuanpengujian.m function varargout = bantuanpengujian(varargin) gui_singleton = 1; gui_state = struct('gui_name', mfilename,... 'gui_singleton', gui_singleton,... 'gui_openingfcn', @bantuanpengujian_openingfcn,... 'gui_outputfcn', @bantuanpengujian_outputfcn,... 'gui_layoutfcn', [],... 'gui_callback', []); if nargin && ischar(varargin{1}) gui_state.gui_callback = str2func(varargin{1}); if nargout [varargout{1:nargout}] = gui_mainfcn(gui_state, varargin{:}); gui_mainfcn(gui_state, varargin{:}); function bantuanpengujian_openingfcn(hobject, eventdata, handles, varargin)
A25 handles.output = hobject; guidata(hobject, handles); function varargout = bantuanpengujian_outputfcn(hobject, eventdata, handles) varargout{1} = handles.output; function edit3_callback(hobject, eventdata, handles) function edit3_createfcn(hobject, eventdata, handles) function bantuanpengujian_callback(hobject, eventdata, handles) bantuanpengujian function keluar_callback(hobject, eventdata, handles) close bantuanpengujian
B1 CURRICULUM VITAE Nama Alamat Sekarang Alamat Orang tua : Ardi Hasiholan : Jl. Dr. Mansyur No. 70 Asrama PuteraMedan : Jl. Lumbu Timur 1A No. 60 RawalumbuBekasi Telp/Hp : 082163779327 Email : ardihasiholan@gmail.com Riwayat Pidikan 20092013 : S1 Ilmu Komputer, Medan 20062009 : SMA Mahanaim Bekasi 20032006 : SMP Negeri 16 Bekasi 19972003 : SD Negeri Bojong Rawalumbu XI Bekasi Keahlian/Kursus yang diikuti Jaringan Komputer