Perbandingan Jaringan Syaraf Tiruan Backpropagation dan Kohonen pada Identifikasi Penyakit Infeksi pada Kulit Dengan Gejala Bercak Putih
A-1
LAMPIRAN LISTING PROGRAM
Pelatihan.m (Pelatihan Kohonen)
function varargout = Pelatihan(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name',
mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Pelatihan_OpeningFcn, ...
'gui_OutputFcn', @Pelatihan_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Executes just before Pelatihan is made visible.
function Pelatihan_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
% --- Outputs from this function are returned to the command line.
function varargout = Pelatihan_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
tStart=tic;
input = xlsread('Datakohonen.xlsx', 'Sheet1', 'B2:M29');
input= input'; %transpose input utk jd masukan kohonen
net=newsom(minmax(input),4); %buat jaringan kohonen
net = init (net);
net.trainparam.epochs=2000;
net=train(net,input); %latih
bobot=net.IW{1,1};%inisialisasi bobot sebagai net.iw{1,1} atau bobot
xlswrite('Datakohonen.xlsx', bobot, 'Bobot', 'A1:L4');
b=sim(net,input);
ac=vec2ind(b) %melihat vektor hasil pelatihan
waktu = toc(tStart);
set(handles.waktu,'string',waktu);
% -------------------------------------------------------------------function waktu_Callback(hObject, eventdata, handles)
Universitas Sumatera Utara
A-2
function waktu_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% -------------------------------------------------------------------function keluar_Callback(hObject, eventdata, handles)
delete(handles.figure1)
latihbackpro.m (pelatihan Backpropagation)
function varargout = latihbackpro(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name',
mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @latihbackpro_OpeningFcn, ...
'gui_OutputFcn', @latihbackpro_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Executes just before latihbackpro is made visible.
function latihbackpro_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
% --- Outputs from this function are returned to the command line.
function varargout = latihbackpro_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
tStart=tic;
input = xlsread('Penyakitb.xlsx','sheet1','B2:M29');
target = [1 0 0 0;
1 0 0 0;
1 0 0 0;
1 0 0 0;
1 0 0 0;
Universitas Sumatera Utara
A-3
1 0 0 0;
1 0 0 0;
0 1 0 0;
0 1 0 0;
0 1 0 0;
0 1 0 0;
0 1 0 0;
0 1 0 0;
0 1 0 0;
0 0 1 0;
0 0 1 0;
0 0 1 0;
0 0 1 0;
0 0 1 0;
0 0 1 0;
0 0 1 0;
0 0 0 1;
0 0 0 1;
0 0 0 1;
0 0 0 1;
0 0 0 1;
0 0 0 1;
0 0 0 1];
target = target';
input=input';
net = newff(minmax(input),[12 12 4], {'tansig','tansig','tansig'},'traingda');
net.trainParam.show=100;
net.trainParam.epochs=2000;
net.trainParam.goal=0.0001;
net.trainParam.lr = 0.1;
net.trainParam.mc = 0.1;
[net,tr] = train(net,input,target);
xlswrite('bobot1.xlsx',net.IW{1,1},'bobot','A');
xlswrite('bobot2.xlsx',net.LW{2,1},'bobot','A');
xlswrite('bobot3.xlsx',net.LW{3,2},'bobot','A');
xlswrite('bias.xlsx',net.b{1},'bias','A1:A12');
xlswrite('bias.xlsx',net.b{2},'bias','B1:B12');
xlswrite('bias.xlsx',net.b{3},'bias','C1:C4');
output = sim(net,input)
waktu = toc(tStart);
set(handles.waktu,'string',waktu);
function waktu_Callback(hObject, eventdata, handles)
function waktu_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
Universitas Sumatera Utara
A-4
set(hObject,'BackgroundColor','white');
end
function keluar_Callback(hObject, eventdata, handles)
delete(handles.figure1)
halamank2.m (Pengujian Kohonen)
function varargout = halamank2(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name',
mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @halamank2_OpeningFcn, ...
'gui_OutputFcn', @halamank2_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
function halamank2_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
function varargout = halamank2_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function B_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.B,'value');
if a == 1
xlswrite('Datakohonen.xlsx', '1','nilai','A');
else
xlswrite('Datakohonen.xlsx', '0','nilai','A');
end
function C_Callback(hObject, eventdata, handles)
Universitas Sumatera Utara
A-5
guidata(hObject,handles);
a=get(handles.C,'value');
if a == 1
xlswrite('Datakohonen.xlsx', '1','nilai','B');
else
xlswrite('Datakohonen.xlsx', '0','nilai','B');
end
function D_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.D,'value');
if a == 1
xlswrite('Datakohonen.xlsx', '1','nilai','C');
else
xlswrite('Datakohonen.xlsx', '0','nilai','C');
end
function E_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.E,'value');
if a == 1
xlswrite('Datakohonen.xlsx', '1','nilai','D');
else
xlswrite('Datakohonen.xlsx', '0','nilai','D');
end
function F_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.F,'value');
if a == 1
xlswrite('Datakohonen.xlsx', '1','nilai','E');
else
xlswrite('Datakohonen.xlsx', '0','nilai','E');
end
function G_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.G,'value');
if a == 1
xlswrite('Datakohonen.xlsx', '1','nilai','F');
else
xlswrite('Datakohonen.xlsx', '0','nilai','F');
end
function H_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.H,'value');
if a == 1 %jk a = 1 (checkbutton dicentang) maka
xlswrite('Datakohonen.xlsx', '1','nilai','G');
Universitas Sumatera Utara
A-6
else %jk tdk
xlswrite('Datakohonen.xlsx', '0','nilai','G');
end
function I_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.I,'value');
if a == 1 %jk a = 1 (checkbutton dicentang) maka
xlswrite('Datakohonen.xlsx', '1','nilai','H');
else %jk tdk
xlswrite('Datakohonen.xlsx', '0','nilai','H');
end
function J_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.J,'value');
if a == 1 %jk a = 1 (checkbutton dicentang) maka
xlswrite('Datakohonen.xlsx', '1','nilai','I');
else %jk tdk
xlswrite('Datakohonen.xlsx', '0','nilai','I');
end
function K_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.K,'value');
if a == 1
xlswrite('Datakohonen.xlsx', '1','nilai','J');
else
xlswrite('Datakohonen.xlsx', '0','nilai','J');
end
function L_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.L,'value');
if a == 1
xlswrite('Datakohonen.xlsx', '1','nilai','K');
else
xlswrite('Datakohonen.xlsx', '0','nilai','K');
end
function M_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.M,'value');
if a == 1
xlswrite('Datakohonen.xlsx', '1','nilai','L');
else
xlswrite('Datakohonen.xlsx', '0','nilai','L');
end
Universitas Sumatera Utara
A-7
function hasil_Callback(hObject, eventdata, handles)
tStart=tic;
input=xlsread('Datakohonen.xlsx', 'nilai', 'A1:L1');
input= input';
net=newsom(minmax(input),4);
net = init(net);
net.IW{1,1}=xlsread('Datakohonen.xlsx', 'Bobot','A1:L4');
b=sim(net,input);
ac=vec2ind(b);
ac=[ac]
if ac == 3
set(handles.edit3,'String','Lepra','Enable','on');
set(handles.edit4,'String','Pemeriksaan BTA','Enable','on');
elseif ac == 2
set(handles.edit3,'String','pityriasis Alba','Enable','on');
set(handles.edit4,'String','Pemberian Kortikosteroid topical','Enable','on');
elseif ac == 4
set(handles.edit3,'String','pityriasis versicolor','Enable','on');
set(handles.edit4,'String','Pemberian obat Ketoconazelo dan lotion selenium
sulfide','Enable','on');
elseif ac == 1
set(handles.edit3,'String','Vitiligo','Enable','on');
set(handles.edit4,'String','Pemberian Hidrocortison','Enable','on');
else
set(handles.edit3,'String','Tidak Ditemukan Jenis Penyakt','Enable','on');
set(handles.edit4,'String','Tidak Ditemukan Jenis Penyakt','Enable','on');
end
waktu = toc(tStart);
set(handles.waktu,'string',waktu);
function keluar_Callback(hObject, eventdata, handles)
delete(handles.figure1) %tutup GUI Halaman Utama (file diagnosa)
% --- Executes on button press in reset.
function reset_Callback(hObject, eventdata, handles)
xlswrite('Datakohonen.xlsx', '0','nilai','A1:L1');
set(handles.edit3,'String','','Enable','on');
set(handles.edit4,'String','','Enable','on');
set(handles.waktu,'String','','Enable','on');
% -------------------------------------------------------------------function menuutama_Callback(hObject, eventdata, handles)
hlmndepan
xlswrite('Datakohonen.xlsx', '0','nilai','A1:L1');
delete(handles.figure1)
Universitas Sumatera Utara
A-8
% -------------------------------------------------------------------function Untitled_2_Callback(hObject, eventdata, handles)
% -------------------------------------------------------------------function latihbackpropagation_Callback(hObject, eventdata, handles)
latihbackpro
% -------------------------------------------------------------------function latihkohonen_Callback(hObject, eventdata, handles)
pelatihan
function Pengujian_Callback(hObject, eventdata, handles)
% -------------------------------------------------------------------function ujibackpropagation_Callback(hObject, eventdata, handles)
backpro
xlswrite('Datakohonen.xlsx', '0','nilai','A1:L1');
delete(handles.figure1)
% -------------------------------------------------------------------function ujikohonen_Callback(hObject, eventdata, handles)
xlswrite('Datakohonen.xlsx', '0','nilai','A1:L1');
function edit4_Callback(hObject, eventdata, handles)
function edit4_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit3_Callback(hObject, eventdata, handles)
function edit3_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function waktu_Callback(hObject, eventdata, handles)
% --- Executes during object creation, after setting all properties.
function waktu_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
Universitas Sumatera Utara
A-9
% -------------------------------------------------------------------function bantuan_Callback(hObject, eventdata, handles)
bantuan
delete(handles.figure1)
% -------------------------------------------------------------------function keluar2_Callback(hObject, eventdata, handles)
delete(handles.figure1)
backpro.m (pengujian Backpropagation)
function varargout = backpro(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name',
mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @backpro_OpeningFcn, ...
'gui_OutputFcn', @backpro_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Executes just before backpro is made visible.
function backpro_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
function varargout = backpro_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
Universitas Sumatera Utara
A-10
% --- Executes on button press in B.
function B_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.B,'value');
if a == 1
xlswrite('penyakitb.xlsx', '1','Sheet2','A');
else
xlswrite('penyakitb.xlsx', '0','Sheet2','A');
end
% --- Executes on button press in C.
function C_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.C,'value');
if a == 1
xlswrite('penyakitb.xlsx', '1','Sheet2','B');
else
xlswrite('penyakitb.xlsx', '0','Sheet2','B');
end
% --- Executes on button press in D.
function D_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.D,'value');
if a == 1
xlswrite('penyakitb.xlsx', '1','Sheet2','C');
else
xlswrite('penyakitb.xlsx', '0','Sheet2','C');
end
% --- Executes on button press in E.
function E_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.E,'value');
if a == 1
xlswrite('penyakitb.xlsx', '1','Sheet2','D');
else
xlswrite('penyakitb.xlsx', '0','Sheet2','D');
end
% --- Executes on button press in F.
function F_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.F,'value');
if a == 1
xlswrite('penyakitb.xlsx', '1','Sheet2','E');
else
Universitas Sumatera Utara
A-11
xlswrite('penyakitb.xlsx', '0','Sheet2','E');
end
% --- Executes on button press in G.
function G_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.G,'value');
if a == 1
xlswrite('penyakitb.xlsx', '1','Sheet2','F');
else
xlswrite('penyakitb.xlsx', '0','Sheet2','F');
end
% --- Executes on button press in H.
function H_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.H,'value');
if a == 1
xlswrite('penyakitb.xlsx', '1','Sheet2','G');
else
xlswrite('penyakitb.xlsx', '0','Sheet2','G');
end
% --- Executes on button press in I.
function I_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.I,'value');
if a == 1
xlswrite('penyakitb.xlsx', '1','Sheet2','H');
else
xlswrite('penyakitb.xlsx', '0','Sheet2','H');
end
% --- Executes on button press in J.
function J_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.J,'value');
if a == 1
xlswrite('penyakitb.xlsx', '1','Sheet2','I');
else
xlswrite('penyakitb.xlsx', '0','Sheet2','I');
end
% --- Executes on button press in K.
function K_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.K,'value');
if a == 1
xlswrite('penyakitb.xlsx', '1','Sheet2','J');
else
Universitas Sumatera Utara
A-12
xlswrite('penyakitb.xlsx', '0','Sheet2','J');
end
% --- Executes on button press in L.
function L_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.L,'value');
if a == 1
xlswrite('penyakitb.xlsx', '1','Sheet2','K');
else
xlswrite('penyakitb.xlsx', '0','Sheet2','K');
end
% --- Executes on button press in M.
function M_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.M,'value');
if a == 1
xlswrite('penyakitb.xlsx', '1','Sheet2','L');
else
xlswrite('penyakitb.xlsx', '0','Sheet2','L');
end
% --- Executes on button press in hasil.
function hasil_Callback(hObject, eventdata, handles)
tStart=tic;
input=xlsread('penyakitb.xlsx', 'Sheet2', 'A1:L7');
target = [1 0 0 0;
0 1 0 0;
0 0 1 0;
0 0 0 1];
target = target';
input=input';
net = newff(minmax(input),[12 12 4], {'tansig','tansig','tansig'},'traingdx');
net = init(net);
net.IW{1,1}= xlsread('bobot1.xlsx','bobot');
net.LW{2,1}= xlsread('bobot2.xlsx','bobot');
net.LW{3,2}= xlsread('bobot3.xlsx','bobot');
net.b{1}= xlsread('bias.xlsx','bias','A1:A12');
net.b{2}= xlsread('bias.xlsx','bias','B1:B12');
net.b{3}= xlsread('bias.xlsx','bias','C1:C4');
output = sim(net,input)
if (output(1,1)
LAMPIRAN LISTING PROGRAM
Pelatihan.m (Pelatihan Kohonen)
function varargout = Pelatihan(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name',
mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Pelatihan_OpeningFcn, ...
'gui_OutputFcn', @Pelatihan_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Executes just before Pelatihan is made visible.
function Pelatihan_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
% --- Outputs from this function are returned to the command line.
function varargout = Pelatihan_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
tStart=tic;
input = xlsread('Datakohonen.xlsx', 'Sheet1', 'B2:M29');
input= input'; %transpose input utk jd masukan kohonen
net=newsom(minmax(input),4); %buat jaringan kohonen
net = init (net);
net.trainparam.epochs=2000;
net=train(net,input); %latih
bobot=net.IW{1,1};%inisialisasi bobot sebagai net.iw{1,1} atau bobot
xlswrite('Datakohonen.xlsx', bobot, 'Bobot', 'A1:L4');
b=sim(net,input);
ac=vec2ind(b) %melihat vektor hasil pelatihan
waktu = toc(tStart);
set(handles.waktu,'string',waktu);
% -------------------------------------------------------------------function waktu_Callback(hObject, eventdata, handles)
Universitas Sumatera Utara
A-2
function waktu_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
% -------------------------------------------------------------------function keluar_Callback(hObject, eventdata, handles)
delete(handles.figure1)
latihbackpro.m (pelatihan Backpropagation)
function varargout = latihbackpro(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name',
mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @latihbackpro_OpeningFcn, ...
'gui_OutputFcn', @latihbackpro_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Executes just before latihbackpro is made visible.
function latihbackpro_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
% --- Outputs from this function are returned to the command line.
function varargout = latihbackpro_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
tStart=tic;
input = xlsread('Penyakitb.xlsx','sheet1','B2:M29');
target = [1 0 0 0;
1 0 0 0;
1 0 0 0;
1 0 0 0;
1 0 0 0;
Universitas Sumatera Utara
A-3
1 0 0 0;
1 0 0 0;
0 1 0 0;
0 1 0 0;
0 1 0 0;
0 1 0 0;
0 1 0 0;
0 1 0 0;
0 1 0 0;
0 0 1 0;
0 0 1 0;
0 0 1 0;
0 0 1 0;
0 0 1 0;
0 0 1 0;
0 0 1 0;
0 0 0 1;
0 0 0 1;
0 0 0 1;
0 0 0 1;
0 0 0 1;
0 0 0 1;
0 0 0 1];
target = target';
input=input';
net = newff(minmax(input),[12 12 4], {'tansig','tansig','tansig'},'traingda');
net.trainParam.show=100;
net.trainParam.epochs=2000;
net.trainParam.goal=0.0001;
net.trainParam.lr = 0.1;
net.trainParam.mc = 0.1;
[net,tr] = train(net,input,target);
xlswrite('bobot1.xlsx',net.IW{1,1},'bobot','A');
xlswrite('bobot2.xlsx',net.LW{2,1},'bobot','A');
xlswrite('bobot3.xlsx',net.LW{3,2},'bobot','A');
xlswrite('bias.xlsx',net.b{1},'bias','A1:A12');
xlswrite('bias.xlsx',net.b{2},'bias','B1:B12');
xlswrite('bias.xlsx',net.b{3},'bias','C1:C4');
output = sim(net,input)
waktu = toc(tStart);
set(handles.waktu,'string',waktu);
function waktu_Callback(hObject, eventdata, handles)
function waktu_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
Universitas Sumatera Utara
A-4
set(hObject,'BackgroundColor','white');
end
function keluar_Callback(hObject, eventdata, handles)
delete(handles.figure1)
halamank2.m (Pengujian Kohonen)
function varargout = halamank2(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name',
mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @halamank2_OpeningFcn, ...
'gui_OutputFcn', @halamank2_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
function halamank2_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
function varargout = halamank2_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function B_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.B,'value');
if a == 1
xlswrite('Datakohonen.xlsx', '1','nilai','A');
else
xlswrite('Datakohonen.xlsx', '0','nilai','A');
end
function C_Callback(hObject, eventdata, handles)
Universitas Sumatera Utara
A-5
guidata(hObject,handles);
a=get(handles.C,'value');
if a == 1
xlswrite('Datakohonen.xlsx', '1','nilai','B');
else
xlswrite('Datakohonen.xlsx', '0','nilai','B');
end
function D_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.D,'value');
if a == 1
xlswrite('Datakohonen.xlsx', '1','nilai','C');
else
xlswrite('Datakohonen.xlsx', '0','nilai','C');
end
function E_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.E,'value');
if a == 1
xlswrite('Datakohonen.xlsx', '1','nilai','D');
else
xlswrite('Datakohonen.xlsx', '0','nilai','D');
end
function F_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.F,'value');
if a == 1
xlswrite('Datakohonen.xlsx', '1','nilai','E');
else
xlswrite('Datakohonen.xlsx', '0','nilai','E');
end
function G_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.G,'value');
if a == 1
xlswrite('Datakohonen.xlsx', '1','nilai','F');
else
xlswrite('Datakohonen.xlsx', '0','nilai','F');
end
function H_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.H,'value');
if a == 1 %jk a = 1 (checkbutton dicentang) maka
xlswrite('Datakohonen.xlsx', '1','nilai','G');
Universitas Sumatera Utara
A-6
else %jk tdk
xlswrite('Datakohonen.xlsx', '0','nilai','G');
end
function I_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.I,'value');
if a == 1 %jk a = 1 (checkbutton dicentang) maka
xlswrite('Datakohonen.xlsx', '1','nilai','H');
else %jk tdk
xlswrite('Datakohonen.xlsx', '0','nilai','H');
end
function J_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.J,'value');
if a == 1 %jk a = 1 (checkbutton dicentang) maka
xlswrite('Datakohonen.xlsx', '1','nilai','I');
else %jk tdk
xlswrite('Datakohonen.xlsx', '0','nilai','I');
end
function K_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.K,'value');
if a == 1
xlswrite('Datakohonen.xlsx', '1','nilai','J');
else
xlswrite('Datakohonen.xlsx', '0','nilai','J');
end
function L_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.L,'value');
if a == 1
xlswrite('Datakohonen.xlsx', '1','nilai','K');
else
xlswrite('Datakohonen.xlsx', '0','nilai','K');
end
function M_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.M,'value');
if a == 1
xlswrite('Datakohonen.xlsx', '1','nilai','L');
else
xlswrite('Datakohonen.xlsx', '0','nilai','L');
end
Universitas Sumatera Utara
A-7
function hasil_Callback(hObject, eventdata, handles)
tStart=tic;
input=xlsread('Datakohonen.xlsx', 'nilai', 'A1:L1');
input= input';
net=newsom(minmax(input),4);
net = init(net);
net.IW{1,1}=xlsread('Datakohonen.xlsx', 'Bobot','A1:L4');
b=sim(net,input);
ac=vec2ind(b);
ac=[ac]
if ac == 3
set(handles.edit3,'String','Lepra','Enable','on');
set(handles.edit4,'String','Pemeriksaan BTA','Enable','on');
elseif ac == 2
set(handles.edit3,'String','pityriasis Alba','Enable','on');
set(handles.edit4,'String','Pemberian Kortikosteroid topical','Enable','on');
elseif ac == 4
set(handles.edit3,'String','pityriasis versicolor','Enable','on');
set(handles.edit4,'String','Pemberian obat Ketoconazelo dan lotion selenium
sulfide','Enable','on');
elseif ac == 1
set(handles.edit3,'String','Vitiligo','Enable','on');
set(handles.edit4,'String','Pemberian Hidrocortison','Enable','on');
else
set(handles.edit3,'String','Tidak Ditemukan Jenis Penyakt','Enable','on');
set(handles.edit4,'String','Tidak Ditemukan Jenis Penyakt','Enable','on');
end
waktu = toc(tStart);
set(handles.waktu,'string',waktu);
function keluar_Callback(hObject, eventdata, handles)
delete(handles.figure1) %tutup GUI Halaman Utama (file diagnosa)
% --- Executes on button press in reset.
function reset_Callback(hObject, eventdata, handles)
xlswrite('Datakohonen.xlsx', '0','nilai','A1:L1');
set(handles.edit3,'String','','Enable','on');
set(handles.edit4,'String','','Enable','on');
set(handles.waktu,'String','','Enable','on');
% -------------------------------------------------------------------function menuutama_Callback(hObject, eventdata, handles)
hlmndepan
xlswrite('Datakohonen.xlsx', '0','nilai','A1:L1');
delete(handles.figure1)
Universitas Sumatera Utara
A-8
% -------------------------------------------------------------------function Untitled_2_Callback(hObject, eventdata, handles)
% -------------------------------------------------------------------function latihbackpropagation_Callback(hObject, eventdata, handles)
latihbackpro
% -------------------------------------------------------------------function latihkohonen_Callback(hObject, eventdata, handles)
pelatihan
function Pengujian_Callback(hObject, eventdata, handles)
% -------------------------------------------------------------------function ujibackpropagation_Callback(hObject, eventdata, handles)
backpro
xlswrite('Datakohonen.xlsx', '0','nilai','A1:L1');
delete(handles.figure1)
% -------------------------------------------------------------------function ujikohonen_Callback(hObject, eventdata, handles)
xlswrite('Datakohonen.xlsx', '0','nilai','A1:L1');
function edit4_Callback(hObject, eventdata, handles)
function edit4_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit3_Callback(hObject, eventdata, handles)
function edit3_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function waktu_Callback(hObject, eventdata, handles)
% --- Executes during object creation, after setting all properties.
function waktu_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
Universitas Sumatera Utara
A-9
% -------------------------------------------------------------------function bantuan_Callback(hObject, eventdata, handles)
bantuan
delete(handles.figure1)
% -------------------------------------------------------------------function keluar2_Callback(hObject, eventdata, handles)
delete(handles.figure1)
backpro.m (pengujian Backpropagation)
function varargout = backpro(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name',
mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @backpro_OpeningFcn, ...
'gui_OutputFcn', @backpro_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT
% --- Executes just before backpro is made visible.
function backpro_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
function varargout = backpro_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
Universitas Sumatera Utara
A-10
% --- Executes on button press in B.
function B_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.B,'value');
if a == 1
xlswrite('penyakitb.xlsx', '1','Sheet2','A');
else
xlswrite('penyakitb.xlsx', '0','Sheet2','A');
end
% --- Executes on button press in C.
function C_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.C,'value');
if a == 1
xlswrite('penyakitb.xlsx', '1','Sheet2','B');
else
xlswrite('penyakitb.xlsx', '0','Sheet2','B');
end
% --- Executes on button press in D.
function D_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.D,'value');
if a == 1
xlswrite('penyakitb.xlsx', '1','Sheet2','C');
else
xlswrite('penyakitb.xlsx', '0','Sheet2','C');
end
% --- Executes on button press in E.
function E_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.E,'value');
if a == 1
xlswrite('penyakitb.xlsx', '1','Sheet2','D');
else
xlswrite('penyakitb.xlsx', '0','Sheet2','D');
end
% --- Executes on button press in F.
function F_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.F,'value');
if a == 1
xlswrite('penyakitb.xlsx', '1','Sheet2','E');
else
Universitas Sumatera Utara
A-11
xlswrite('penyakitb.xlsx', '0','Sheet2','E');
end
% --- Executes on button press in G.
function G_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.G,'value');
if a == 1
xlswrite('penyakitb.xlsx', '1','Sheet2','F');
else
xlswrite('penyakitb.xlsx', '0','Sheet2','F');
end
% --- Executes on button press in H.
function H_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.H,'value');
if a == 1
xlswrite('penyakitb.xlsx', '1','Sheet2','G');
else
xlswrite('penyakitb.xlsx', '0','Sheet2','G');
end
% --- Executes on button press in I.
function I_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.I,'value');
if a == 1
xlswrite('penyakitb.xlsx', '1','Sheet2','H');
else
xlswrite('penyakitb.xlsx', '0','Sheet2','H');
end
% --- Executes on button press in J.
function J_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.J,'value');
if a == 1
xlswrite('penyakitb.xlsx', '1','Sheet2','I');
else
xlswrite('penyakitb.xlsx', '0','Sheet2','I');
end
% --- Executes on button press in K.
function K_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.K,'value');
if a == 1
xlswrite('penyakitb.xlsx', '1','Sheet2','J');
else
Universitas Sumatera Utara
A-12
xlswrite('penyakitb.xlsx', '0','Sheet2','J');
end
% --- Executes on button press in L.
function L_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.L,'value');
if a == 1
xlswrite('penyakitb.xlsx', '1','Sheet2','K');
else
xlswrite('penyakitb.xlsx', '0','Sheet2','K');
end
% --- Executes on button press in M.
function M_Callback(hObject, eventdata, handles)
guidata(hObject,handles);
a=get(handles.M,'value');
if a == 1
xlswrite('penyakitb.xlsx', '1','Sheet2','L');
else
xlswrite('penyakitb.xlsx', '0','Sheet2','L');
end
% --- Executes on button press in hasil.
function hasil_Callback(hObject, eventdata, handles)
tStart=tic;
input=xlsread('penyakitb.xlsx', 'Sheet2', 'A1:L7');
target = [1 0 0 0;
0 1 0 0;
0 0 1 0;
0 0 0 1];
target = target';
input=input';
net = newff(minmax(input),[12 12 4], {'tansig','tansig','tansig'},'traingdx');
net = init(net);
net.IW{1,1}= xlsread('bobot1.xlsx','bobot');
net.LW{2,1}= xlsread('bobot2.xlsx','bobot');
net.LW{3,2}= xlsread('bobot3.xlsx','bobot');
net.b{1}= xlsread('bias.xlsx','bias','A1:A12');
net.b{2}= xlsread('bias.xlsx','bias','B1:B12');
net.b{3}= xlsread('bias.xlsx','bias','C1:C4');
output = sim(net,input)
if (output(1,1)