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_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; 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);
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
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');
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
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)
% --- 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
% --- 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;
% --- 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', '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', '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)<0.8) a(1,1)=0;
else
end
if (output(2,1)<0.8) a(2,1)=0;
else
a(2,1)=1; end
if (output(3,1)<0.8) a(3,1)=0;
else
a(3,1)=1; end
if (output(4,1)<0.8) a(4,1)=0;
else
a(4,1)=1; end
sakit=[a(1,1);a(2,1);a(3,1);a(4,1)]; sakit1 = [1; 0; 0; 0;];
sakit2 = [0; 1; 0; 0;]; sakit3 = [0; 0; 1; 0;]; sakit4 = [0; 0; 0; 1;];
if isequal (a,sakit1) edit2='Lepra';
edit3='Pemeriksaan BTA'; elseif isequal (a,sakit2) edit2='Pityriasis Alba';
edit3='Pemberian Kortikosteroid topical'; elseif isequal (a,sakit3)
edit2='Pityriasis Versicolor';
edit3='Pemberian obat Ketoconazelo dan lotion selenium sulfide'; elseif isequal (a,sakit4)
edit2= 'Vitiligo';
edit3='Pemberian Hidrocortison'; else
edit2='Tidak Dikenali'; edit3='Tidak Dikenali'; end
set(handles.edit2,'String',edit2); set(handles.edit3,'String',edit3);
waktu = toc(tStart);
% --- Executes on button press in keluar.
function keluar_Callback(hObject, eventdata, handles) delete(handles.figure1)
% --- Executes on button press in reset.
function reset_Callback(hObject, eventdata, handles) xlswrite('penyakitb.xlsx', '0','Sheet2','A1:L4');
set(handles.edit2,'String','','Enable','on'); set(handles.edit3,'String','','Enable','on'); set(handles.waktu,'String','','Enable','on');
% --- function menuutama_Callback(hObject, eventdata, handles) hlmndepan
xlswrite('penyakitb.xlsx', '0','Sheet2','A1:L4'); delete(handles.figure1)
function ujibackpro_Callback(hObject, eventdata, handles) xlswrite('penyakitb.xlsx', '0','Sheet2','A1:L4');
% --- function ujikohonen_Callback(hObject, eventdata, handles) halamank2
xlswrite('penyakitb.xlsx', '0','Sheet2','A1:L4'); delete(handles.figure1)
% --- function latihbackpro_Callback(hObject, eventdata, handles) latihbackpro
% --- function latihkohonen_Callback(hObject, eventdata, handles) pelatihan
function waktu_Callback(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white'); end
% --- function bantuan_Callback(hObject, eventdata, handles) bantuan
delete(handles.figure1)
% --- function keluar2_Callback(hObject, eventdata, handles) delete(handles.figure1)
function untitled_2_Callback(hObject, eventdata, handles) function uji_Callback(hObject, eventdata, handles)
% --- function untitled_2_Callback(hObject, eventdata, handles)
% --- function Untitled_6_Callback(hObject, eventdata, handles)
hlmndepan.m (Halaman Depan)
function varargout = hlmndepan(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @hlmndepan_OpeningFcn, ... 'gui_OutputFcn', @hlmndepan_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
handles.output = hObject; guidata(hObject, handles);
% UIWAIT makes hlmndepan wait for user response (see UIRESUME) % uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
function varargout = hlmndepan_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;
function Backpropagation_Callback(hObject, eventdata, handles)
% --- function menuutama_Callback(hObject, eventdata, handles) xlswrite('penyakitb.xlsx', '0','Sheet2','A1:L4');
% --- function aa_Callback(hObject, eventdata, handles)
% --- function Untitled_5_Callback(hObject, eventdata, handles) % --- function ujibackpro_Callback(hObject, eventdata, handles) backpro
xlswrite('penyakitb.xlsx', '0','Sheet2','A1:L4'); delete(handles.figure1)
% --- function ujikohonen_Callback(hObject, eventdata, handles) halamank2
xlswrite('penyakitb.xlsx', '0','Sheet2','A1:L4'); delete(handles.figure1)
% --- function latihbackpro_Callback(hObject, eventdata, handles) latihbackpro
% --- function latihkohonen_Callback(hObject, eventdata, handles) pelatihan
bantuan.m (Bantuan)
function varargout = bantuan(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ...
'gui_OutputFcn', @bantuan_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 bantuan is made visible.
function bantuan_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;
guidata(hObject, handles);
function varargout = bantuan_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;
function edit1_Callback(hObject, eventdata, handles)
function edit1_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white'); end
function depan_Callback(hObject, eventdata, handles) hlmndepan
delete(handles.figure1)
CURRICULUM VITAE
Nama : Rizky Ramadhansyah Harahap
Alamat Sekarang : Jl. Pertahanan, Villa Permata Indah No F25 Medan Alamat Orang tua : Jl. Khihajar Dewantara Kecamatan Padang Bolak
Kabupaten Padang Lawas Utara, SUMUT
Telp/Hp : 081361670064
Riwayat Pendidikan
2009-2013 : S1 Ilmu Komputer Universitas Sumatera Utara, Medan
2006-2009 : SMA Negeri 1 Padang Bolak
2003-2006 : Mts Swasta YPIPL