Implementasi Jaringan Syaraf Tiruan Dalam Mendeteksi Penyakit Pada Ayam Dengan Metode Self-Organizing Feature Maps (Sofm)
LAMPIRAN A: LISTING PROGRAM
1.
Latih.m
input = xlsread('Ayam1.xlsx', 'Sheet1', 'B2:P49'); %memasukkan input dari excel file ‘Ayam’, sheet ‘Sheet1’, baris kolom 'B2:BJ17'
input= input'; %transpose input utk jd masukan sofm net1=newsom(minmax(input),16); %buat jaringan sofm
net.trainparam.epochs=100; %batasi iterasi latih sampai 100 iterasi net1=train(net1,input); %latih
bobot1=net1.IW{1,1};%inisialisasi bobot sebagai net.iw{1,1} atau bobot
xlswrite('Ayam1.xlsx', bobot1, 'Bobot', 'A1:O16');%simpan bobot pada file ayam sheet Bobot
b1=sim(net1,input); %latih input berdasarkan jaringan syaraf yg telah dibuat
ac1=vec2ind(b1) %melihat vektor hasil pelatihan input = xlsread('Ayam1.xlsx', 'Sheet1', 'Q2:AE49'); input= input';
net2=newsom(minmax(input),16); net.trainparam.epochs=100; net2=train(net2,input); bobot2=net2.IW{1,1};
xlswrite('Ayam1.xlsx', bobot2, 'Bobot', 'P1:AD16'); b2=sim(net2,input);
ac2=vec2ind(b2)
input = xlsread('Ayam1.xlsx', 'Sheet1', 'AF2:AT49'); input= input';
net3=newsom(minmax(input),16); net.trainparam.epochs=100; net3=train(net3,input); bobot3=net3.IW{1,1};
xlswrite('Ayam1.xlsx', bobot3, 'Bobot', 'AE1:AS16'); b3=sim(net3,input);
ac3=vec2ind(b3)
input = xlsread('Ayam1.xlsx', 'Sheet1', 'AU2:BI49'); input= input';
net4=newsom(minmax(input),16); net.trainparam.epochs=100; net4=train(net4,input); bobot4=net4.IW{1,1};
xlswrite('Ayam1.xlsx', bobot4, 'Bobot', 'AT1:BH16'); b4=sim(net4,input);
(2)
2.
Depan.m
function varargout = Depan(varargin) gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @Depan_OpeningFcn, ... 'gui_OutputFcn', @Depan_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 Depan_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject ;
handles.citra=imread('ayam.jpg'); guidata(hObject, handles);
axes(handles.axes1); imshow(handles.citra); guidata(hObject, handles);
function varargout = Depan_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;
function Diagnosa_Callback(hObject, eventdata, handles) xlswrite('Ayam1.xlsx', '0','Sheet2','A1:BH1');
Diagnosa1
delete(handles.figure1)
function Penyakit_Callback(hObject, eventdata, handles) Diagnosa2
delete(handles.figure1)
function Keluar_Callback(hObject, eventdata, handles) respon = Keluar('Title','Konfirmasi Keluar');
switch lower(respon) case 'Tidak' case 'Ya' close Depan end
(3)
3.
Diagnosa1.m
function varargout = Diagnosa1(varargin) gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Diagnosa1_OpeningFcn, ... 'gui_OutputFcn', @Diagnosa1_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 Diagnosa1_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;
guidata(hObject, handles);
function varargout = Diagnosa1_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;
function F_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.F,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','E'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','E'); end
function G_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.G,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','F'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','F'); end
function H_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.H,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','G'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','G'); end
function I_Callback(hObject, eventdata, handles) guidata(hObject,handles);
(4)
a=get(handles.I,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','H'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','H'); end
function J_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.J,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','I'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','I'); end
function L_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.L,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','K'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','K'); end
function M_Callback(hObject, eventdata, handles)%prosedur checkbutton L
guidata(hObject,handles);
a=get(handles.M,'value'); %kenali nilai a sbg nilai yg didapat dari checkbutton L
if a == 1 %jk a = 1 (checkbutton dicentang) maka
xlswrite('Ayam1.xlsx', '1','Sheet2','L'); %masukkan nilai 1 pada file excel Ayam.xlsx, sheet2 kolom K
else %jk tdk
xlswrite('Ayam1.xlsx', '0','Sheet2','L'); %masukkan nilai 0 pada file excel Ayam.xlsx, sheet2 kolom K
end
function N_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.N,'value'); %kenali nilai a sbg nilai yg didapat dari checkbutton N
if a == 1 %jk a = 1 (checkbutton dicentang) maka
xlswrite('Ayam1.xlsx', '1','Sheet2','M'); %masukkan nilai 1 pada file excel Ayam.xlsx, sheet2 kolom M
else %jk tdk
xlswrite('Ayam1.xlsx', '0','Sheet2','M'); %masukkan nilai 0 pada file excel Ayam.xlsx, sheet2 kolom M
end
function P_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.P,'value'); %kenali nilai a sbg nilai yg didapat dari checkbutton P
if a == 1 %jk a = 1 (checkbutton dicentang) maka
xlswrite('Ayam1.xlsx', '1','Sheet2','O'); %masukkan nilai 1 pada file excel Ayam.xlsx, sheet2 kolom O
(5)
else %jk tdk
xlswrite('Ayam1.xlsx', '0','Sheet2','O'); %masukkan nilai 0 pada file excel Ayam.xlsx, sheet2 kolom O
end
function T_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.T,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','S'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','S'); end
function U_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.U,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','T'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','T'); end
function V_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.V,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','U'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','U'); end
function W_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.W,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','V'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','V'); end
function X_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.X,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','W'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','W'); end
function Y_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.Y,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','X'); else
(6)
xlswrite('Ayam1.xlsx', '0','Sheet2','X'); end
function Z_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.Z,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','Y'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','Y'); end
function AA_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.AA,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','Z'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','Z'); end
function AB_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.AB,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','AA'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','AA'); end
function AC_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.AC,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','AB'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','AB'); end
function AD_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.AD,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','AC'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','AC'); end
function AE_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.AE,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','AD'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','AD'); end
(7)
function AF_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.AF,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','AE'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','AE'); end
function AG_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.AG,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','AF'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','AF'); end
function AI_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.AI,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','AH'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','AH'); end
function AK_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.AK,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','AJ'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','AJ'); end
function AL_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.AL,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','AK'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','AK'); end
function AN_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.AN,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','AM'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','AM'); end
function AQ_Callback(hObject, eventdata, handles) guidata(hObject,handles);
(8)
a=get(handles.AQ,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','AP'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','AP'); end
function AP_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.AP,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','AO'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','AO'); end
function AU_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.AU,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','AT'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','AT'); end
function pushbutton2_Callback(hObject, eventdata, handles) xlswrite('Ayam1.xlsx', '0','Sheet2','A1:BH1');
Depan
delete(handles.figure1) %tutup GUI Depan(file diagnosa)
function pushbutton7_Callback(hObject, eventdata, handles) Diagnosa12
delete(handles.figure1)
4.
Diagnosa2.m
function varargout = Diagnosa2(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Diagnosa2_OpeningFcn, ... 'gui_OutputFcn', @Diagnosa2_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
(9)
end
function Diagnosa2_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;
guidata(hObject, handles);
function varargout = Diagnosa2_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;
function radiobutton1_Callback(hObject, eventdata, handles) set(handles.radiobutton1,'Value',0); set(handles.radiobutton2,'Value',0); set(handles.radiobutton3,'Value',0); set(handles.radiobutton4,'Value',0); set(handles.radiobutton5,'Value',0); set(handles.radiobutton6,'Value',0); set(handles.radiobutton7,'Value',0); set(handles.radiobutton8,'Value',0); set(handles.radiobutton9,'Value',0); set(handles.radiobutton10,'Value',0); set(handles.radiobutton11,'Value',0); set(handles.radiobutton12,'Value',0); set(handles.radiobutton13,'Value',0); set(handles.radiobutton14,'Value',0); set(handles.radiobutton15,'Value',0); set(handles.radiobutton16,'Value',0); pilih = 1;
handles.pilih=pilih; guidata(hObject,handles);
set(handles.radiobutton1,'Value',1);
function radiobutton2_Callback(hObject, eventdata, handles) set(handles.radiobutton1,'Value',0); set(handles.radiobutton2,'Value',0); set(handles.radiobutton3,'Value',0); set(handles.radiobutton4,'Value',0); set(handles.radiobutton5,'Value',0); set(handles.radiobutton6,'Value',0); set(handles.radiobutton7,'Value',0); set(handles.radiobutton8,'Value',0); set(handles.radiobutton9,'Value',0); set(handles.radiobutton10,'Value',0); set(handles.radiobutton11,'Value',0); set(handles.radiobutton12,'Value',0); set(handles.radiobutton13,'Value',0); set(handles.radiobutton14,'Value',0); set(handles.radiobutton15,'Value',0); set(handles.radiobutton16,'Value',0); pilih = 2;
handles.pilih=pilih; guidata(hObject,handles);
set(handles.radiobutton2,'Value',1);
function radiobutton3_Callback(hObject, eventdata, handles) set(handles.radiobutton1,'Value',0);
(10)
set(handles.radiobutton3,'Value',0); set(handles.radiobutton4,'Value',0); set(handles.radiobutton5,'Value',0); set(handles.radiobutton6,'Value',0); set(handles.radiobutton7,'Value',0); set(handles.radiobutton8,'Value',0); set(handles.radiobutton9,'Value',0); set(handles.radiobutton10,'Value',0); set(handles.radiobutton11,'Value',0); set(handles.radiobutton12,'Value',0); set(handles.radiobutton13,'Value',0); set(handles.radiobutton14,'Value',0); set(handles.radiobutton15,'Value',0); set(handles.radiobutton16,'Value',0); pilih = 3;
handles.pilih=pilih; guidata(hObject,handles);
set(handles.radiobutton3,'Value',1);
function radiobutton4_Callback(hObject, eventdata, handles) set(handles.radiobutton1,'Value',0); set(handles.radiobutton2,'Value',0); set(handles.radiobutton3,'Value',0); set(handles.radiobutton4,'Value',0); set(handles.radiobutton5,'Value',0); set(handles.radiobutton6,'Value',0); set(handles.radiobutton7,'Value',0); set(handles.radiobutton8,'Value',0); set(handles.radiobutton9,'Value',0); set(handles.radiobutton10,'Value',0); set(handles.radiobutton11,'Value',0); set(handles.radiobutton12,'Value',0); set(handles.radiobutton13,'Value',0); set(handles.radiobutton14,'Value',0); set(handles.radiobutton15,'Value',0); set(handles.radiobutton16,'Value',0); pilih = 4;
handles.pilih=pilih; guidata(hObject,handles);
set(handles.radiobutton4,'Value',1);
function radiobutton5_Callback(hObject, eventdata, handles) set(handles.radiobutton1,'Value',0); set(handles.radiobutton2,'Value',0); set(handles.radiobutton3,'Value',0); set(handles.radiobutton4,'Value',0); set(handles.radiobutton5,'Value',0); set(handles.radiobutton6,'Value',0); set(handles.radiobutton7,'Value',0); set(handles.radiobutton8,'Value',0); set(handles.radiobutton9,'Value',0); set(handles.radiobutton10,'Value',0); set(handles.radiobutton11,'Value',0); set(handles.radiobutton12,'Value',0); set(handles.radiobutton13,'Value',0); set(handles.radiobutton14,'Value',0);
(11)
set(handles.radiobutton15,'Value',0); set(handles.radiobutton16,'Value',0); pilih = 5;
handles.pilih=pilih; guidata(hObject,handles);
set(handles.radiobutton5,'Value',1);
function radiobutton6_Callback(hObject, eventdata, handles) set(handles.radiobutton1,'Value',0); set(handles.radiobutton2,'Value',0); set(handles.radiobutton3,'Value',0); set(handles.radiobutton4,'Value',0); set(handles.radiobutton5,'Value',0); set(handles.radiobutton6,'Value',0); set(handles.radiobutton7,'Value',0); set(handles.radiobutton8,'Value',0); set(handles.radiobutton9,'Value',0); set(handles.radiobutton10,'Value',0); set(handles.radiobutton11,'Value',0); set(handles.radiobutton12,'Value',0); set(handles.radiobutton13,'Value',0); set(handles.radiobutton14,'Value',0); set(handles.radiobutton15,'Value',0); set(handles.radiobutton16,'Value',0); pilih = 6;
handles.pilih=pilih; guidata(hObject,handles);
set(handles.radiobutton6,'Value',1);
function radiobutton7_Callback(hObject, eventdata, handles) set(handles.radiobutton1,'Value',0); set(handles.radiobutton2,'Value',0); set(handles.radiobutton3,'Value',0); set(handles.radiobutton4,'Value',0); set(handles.radiobutton5,'Value',0); set(handles.radiobutton6,'Value',0); set(handles.radiobutton7,'Value',0); set(handles.radiobutton8,'Value',0); set(handles.radiobutton9,'Value',0); set(handles.radiobutton10,'Value',0); set(handles.radiobutton11,'Value',0); set(handles.radiobutton12,'Value',0); set(handles.radiobutton13,'Value',0); set(handles.radiobutton14,'Value',0); set(handles.radiobutton15,'Value',0); set(handles.radiobutton16,'Value',0); pilih = 7;
handles.pilih=pilih; guidata(hObject,handles);
set(handles.radiobutton7,'Value',1);
function radiobutton8_Callback(hObject, eventdata, handles) set(handles.radiobutton1,'Value',0);
set(handles.radiobutton2,'Value',0); set(handles.radiobutton3,'Value',0); set(handles.radiobutton4,'Value',0);
(12)
set(handles.radiobutton5,'Value',0); set(handles.radiobutton6,'Value',0); set(handles.radiobutton7,'Value',0); set(handles.radiobutton8,'Value',0); set(handles.radiobutton9,'Value',0); set(handles.radiobutton10,'Value',0); set(handles.radiobutton11,'Value',0); set(handles.radiobutton12,'Value',0); set(handles.radiobutton13,'Value',0); set(handles.radiobutton14,'Value',0); set(handles.radiobutton15,'Value',0); set(handles.radiobutton16,'Value',0); pilih = 8;
handles.pilih=pilih; guidata(hObject,handles);
set(handles.radiobutton8,'Value',1);
function radiobutton9_Callback(hObject, eventdata, handles) set(handles.radiobutton1,'Value',0); set(handles.radiobutton2,'Value',0); set(handles.radiobutton3,'Value',0); set(handles.radiobutton4,'Value',0); set(handles.radiobutton5,'Value',0); set(handles.radiobutton6,'Value',0); set(handles.radiobutton7,'Value',0); set(handles.radiobutton8,'Value',0); set(handles.radiobutton9,'Value',0); set(handles.radiobutton10,'Value',0); set(handles.radiobutton11,'Value',0); set(handles.radiobutton12,'Value',0); set(handles.radiobutton13,'Value',0); set(handles.radiobutton14,'Value',0); set(handles.radiobutton15,'Value',0); set(handles.radiobutton16,'Value',0); pilih = 9;
handles.pilih=pilih; guidata(hObject,handles);
set(handles.radiobutton9,'Value',1);
function radiobutton10_Callback(hObject, eventdata, handles) set(handles.radiobutton1,'Value',0); set(handles.radiobutton2,'Value',0); set(handles.radiobutton3,'Value',0); set(handles.radiobutton4,'Value',0); set(handles.radiobutton5,'Value',0); set(handles.radiobutton6,'Value',0); set(handles.radiobutton7,'Value',0); set(handles.radiobutton8,'Value',0); set(handles.radiobutton9,'Value',0); set(handles.radiobutton10,'Value',0); set(handles.radiobutton11,'Value',0); set(handles.radiobutton12,'Value',0); set(handles.radiobutton13,'Value',0); set(handles.radiobutton14,'Value',0); set(handles.radiobutton15,'Value',0); set(handles.radiobutton16,'Value',0); pilih = 10;
(13)
handles.pilih=pilih; guidata(hObject,handles);
set(handles.radiobutton10,'Value',1);
function radiobutton11_Callback(hObject, eventdata, handles) set(handles.radiobutton1,'Value',0); set(handles.radiobutton2,'Value',0); set(handles.radiobutton3,'Value',0); set(handles.radiobutton4,'Value',0); set(handles.radiobutton5,'Value',0); set(handles.radiobutton6,'Value',0); set(handles.radiobutton7,'Value',0); set(handles.radiobutton8,'Value',0); set(handles.radiobutton9,'Value',0); set(handles.radiobutton10,'Value',0); set(handles.radiobutton11,'Value',0); set(handles.radiobutton12,'Value',0); set(handles.radiobutton13,'Value',0); set(handles.radiobutton14,'Value',0); set(handles.radiobutton15,'Value',0); set(handles.radiobutton16,'Value',0); pilih = 11;
handles.pilih=pilih; guidata(hObject,handles);
set(handles.radiobutton11,'Value',1);
function radiobutton12_Callback(hObject, eventdata, handles) set(handles.radiobutton1,'Value',0); set(handles.radiobutton2,'Value',0); set(handles.radiobutton3,'Value',0); set(handles.radiobutton4,'Value',0); set(handles.radiobutton5,'Value',0); set(handles.radiobutton6,'Value',0); set(handles.radiobutton7,'Value',0); set(handles.radiobutton8,'Value',0); set(handles.radiobutton9,'Value',0); set(handles.radiobutton10,'Value',0); set(handles.radiobutton11,'Value',0); set(handles.radiobutton12,'Value',0); set(handles.radiobutton13,'Value',0); set(handles.radiobutton14,'Value',0); set(handles.radiobutton15,'Value',0); set(handles.radiobutton16,'Value',0); pilih = 12;
handles.pilih=pilih; guidata(hObject,handles);
set(handles.radiobutton12,'Value',1);
function radiobutton13_Callback(hObject, eventdata, handles) set(handles.radiobutton1,'Value',0); set(handles.radiobutton2,'Value',0); set(handles.radiobutton3,'Value',0); set(handles.radiobutton4,'Value',0); set(handles.radiobutton5,'Value',0); set(handles.radiobutton6,'Value',0); set(handles.radiobutton7,'Value',0); set(handles.radiobutton8,'Value',0); set(handles.radiobutton9,'Value',0);
(14)
set(handles.radiobutton10,'Value',0); set(handles.radiobutton11,'Value',0); set(handles.radiobutton12,'Value',0); set(handles.radiobutton13,'Value',0); set(handles.radiobutton14,'Value',0); set(handles.radiobutton15,'Value',0); set(handles.radiobutton16,'Value',0); pilih = 13;
handles.pilih=pilih; guidata(hObject,handles);
set(handles.radiobutton13,'Value',1);
function radiobutton14_Callback(hObject, eventdata, handles) set(handles.radiobutton1,'Value',0); set(handles.radiobutton2,'Value',0); set(handles.radiobutton3,'Value',0); set(handles.radiobutton4,'Value',0); set(handles.radiobutton5,'Value',0); set(handles.radiobutton6,'Value',0); set(handles.radiobutton7,'Value',0); set(handles.radiobutton8,'Value',0); set(handles.radiobutton9,'Value',0); set(handles.radiobutton10,'Value',0); set(handles.radiobutton11,'Value',0); set(handles.radiobutton12,'Value',0); set(handles.radiobutton13,'Value',0); set(handles.radiobutton14,'Value',0); set(handles.radiobutton15,'Value',0); set(handles.radiobutton16,'Value',0); pilih = 14;
handles.pilih=pilih; guidata(hObject,handles);
set(handles.radiobutton14,'Value',1);
function radiobutton15_Callback(hObject, eventdata, handles) set(handles.radiobutton1,'Value',0); set(handles.radiobutton2,'Value',0); set(handles.radiobutton3,'Value',0); set(handles.radiobutton4,'Value',0); set(handles.radiobutton5,'Value',0); set(handles.radiobutton6,'Value',0); set(handles.radiobutton7,'Value',0); set(handles.radiobutton8,'Value',0); set(handles.radiobutton9,'Value',0); set(handles.radiobutton10,'Value',0); set(handles.radiobutton11,'Value',0); set(handles.radiobutton12,'Value',0); set(handles.radiobutton13,'Value',0); set(handles.radiobutton14,'Value',0); set(handles.radiobutton15,'Value',0); set(handles.radiobutton16,'Value',0); pilih = 15;
handles.pilih=pilih; guidata(hObject,handles);
set(handles.radiobutton15,'Value',1);
function radiobutton16_Callback(hObject, eventdata, handles) set(handles.radiobutton1,'Value',0);
(15)
set(handles.radiobutton3,'Value',0); set(handles.radiobutton4,'Value',0); set(handles.radiobutton5,'Value',0); set(handles.radiobutton6,'Value',0); set(handles.radiobutton7,'Value',0); set(handles.radiobutton8,'Value',0); set(handles.radiobutton9,'Value',0); set(handles.radiobutton10,'Value',0); set(handles.radiobutton11,'Value',0); set(handles.radiobutton12,'Value',0); set(handles.radiobutton13,'Value',0); set(handles.radiobutton14,'Value',0); set(handles.radiobutton15,'Value',0); set(handles.radiobutton16,'Value',0); pilih = 16;
handles.pilih=pilih; guidata(hObject,handles);
set(handles.radiobutton16,'Value',1);
function pushbutton1_Callback(hObject, eventdata, handles) pilih =handles.pilih; switch handles.pilih; case 1 Diagnosa21 delete(handles.figure1) case 2 Diagnosa22 delete(handles.figure1) case 3 Diagnosa23 delete(handles.figure1) case 4 Diagnosa24 delete(handles.figure1) case 5 Diagnosa25 delete(handles.figure1) case 6 Diagnosa26 delete(handles.figure1) case 7 Diagnosa27 delete(handles.figure1) case 8 Diagnosa28 delete(handles.figure1) case 9 Diagnosa29 delete(handles.figure1) case 10 Diagnosa30 delete(handles.figure1) case 11 Diagnosa31 delete(handles.figure1) case 12 Diagnosa32
(16)
delete(handles.figure1) case 13
Diagnosa33
delete(handles.figure1) case 14
Diagnosa34
delete(handles.figure1) case 15
Diagnosa35
delete(handles.figure1) case 16
Diagnosa36
delete(handles.figure1)
end
function pushbutton2_Callback(hObject, eventdata, handles) Depan
delete(handles.figure1)
5.
Diagnosa3.m
function varargout = Diagnosa3(varargin) gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Diagnosa3_OpeningFcn, ... 'gui_OutputFcn', @Diagnosa3_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 Diagnosa3_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;
guidata(hObject, handles);
function varargout = Diagnosa3_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;
function pushbutton1_Callback(hObject, eventdata, handles) Diagnosa12
(17)
6.
Diagnosa12.m
function varargout = Diagnosa12(varargin) gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Diagnosa12_OpeningFcn, ... 'gui_OutputFcn', @Diagnosa12_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 Diagnosa12_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
function varargout = Diagnosa12_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('Ayam1.xlsx', '1','Sheet2','A'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','A'); end
function C_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.C,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','B'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','B'); end
function D_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.D,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','C'); else
(18)
end
function E_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.E,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','D'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','D'); end
function K_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.K,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','J'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','J'); end
function O_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.O,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','N'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','N'); end
function Q_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.Q,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','P'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','P'); end
function R_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.R,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','Q'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','Q'); end
function S_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.S,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','R'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','R'); end
(19)
function AH_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.AH,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','AG'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','AG'); end
function AJ_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.AJ,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','AI'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','AI'); end
function AM_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.AM,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','AL'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','AL'); end
function AO_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.AO,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','AN'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','AN'); end
function AR_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.AR,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','AQ'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','AQ'); end
function AS_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.AS,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','AR'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','AR'); end
function AT_Callback(hObject, eventdata, handles) guidata(hObject,handles);
(20)
a=get(handles.AT,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','AS'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','AS'); end
function AV_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.AV,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','AU'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','AU'); end
function AW_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.AW,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','AV'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','AV'); end
function AX_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.AX,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','AW'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','AW'); end
function AY_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.AY,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','AX'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','AX'); end
function AZ_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.AZ,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','AY'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','AY'); end
function BA_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.BA,'value'); if a == 1
(21)
xlswrite('Ayam1.xlsx', '1','Sheet2','AZ'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','AZ'); end
function BB_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.BB,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','BA'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','BA'); end
function BC_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.BC,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','BB'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','BB'); end
function BD_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.BD,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','BC'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','BC'); end
function BE_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.BE,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','BD'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','BD'); end
function BF_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.BF,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','BE'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','BE'); end
function BG_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.BG,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','BF'); else
(22)
xlswrite('Ayam1.xlsx', '0','Sheet2','BF'); end
function BH_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.BH,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','BG'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','BG'); end
function BI_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.BI,'value'); if a == 1
xlswrite('Ayam1.xlsx', '1','Sheet2','BH'); else
xlswrite('Ayam1.xlsx', '0','Sheet2','BH'); end
function SOFM_Callback(hObject, eventdata, handles) input=xlsread('Ayam1.xlsx', 'Sheet2', 'A1:O1'); input= input';
net1=newsom(minmax(input),16); net1 = init(net1);
net1.IW{1,1}=xlsread('Ayam1.xlsx', 'Bobot','A1:O16'); b1=sim(net1,input);
ac1=vec2ind(b1);
input=xlsread('Ayam1.xlsx', 'Sheet2', 'P1:AD1'); input= input';
net2=newsom(minmax(input),16); net2 = init(net2);
net2.IW{1,1}=xlsread('Ayam1.xlsx', 'Bobot','P1:AD16'); b2=sim(net2,input);
ac2=vec2ind(b2);
input=xlsread('Ayam1.xlsx', 'Sheet2', 'AE1:AS1'); input= input';
net3=newsom(minmax(input),16); net3 = init(net3);
net3.IW{1,1}=xlsread('Ayam1.xlsx', 'Bobot','AE1:AS16'); b3=sim(net3, input);
ac3=vec2ind(b3);
input=xlsread('Ayam1.xlsx', 'Sheet2', 'AT1:BH1'); input= input';
net4=newsom(minmax(input),16); net4 = init(net4);
net4.IW{1,1}=xlsread('Ayam1.xlsx', 'Bobot','AT1:BH16'); b4=sim(net4,input);
ac4=vec2ind(b4); ac=[ac1 ac2 ac3 ac4]
if ac == [10 6 9 16] Diagnosa21
(23)
elseif ac == [10 6 9 16] Diagnosa21
elseif ac == [10 6 9 16] Diagnosa21
elseif ac == [3 6 9 1] Diagnosa22
elseif ac == [3 6 11 8] Diagnosa22
elseif ac == [3 6 11 1] Diagnosa22
elseif ac == [10 6 9 4] Diagnosa23
elseif ac == [10 6 9 6] Diagnosa23
elseif ac == [10 6 11 5] Diagnosa23
elseif ac == [10 6 14 8] Diagnosa24
elseif ac == [10 6 14 11] Diagnosa24
elseif ac == [10 6 14 12] Diagnosa24
elseif ac == [1 6 16 13] Diagnosa25
elseif ac == [1 6 9 14] Diagnosa25
elseif ac == [1 6 16 14] Diagnosa25
elseif ac == [8 6 16 10] Diagnosa26
elseif ac == [10 14 16 8] Diagnosa26
elseif ac == [8 14 16 13] Diagnosa26
elseif ac == [6 13 12 8] Diagnosa27
elseif ac == [7 13 12 8] Diagnosa27
elseif ac == [6 13 12 8] Diagnosa27
elseif ac == [10 11 9 8] Diagnosa28
elseif ac == [10 13 9 8] Diagnosa28
elseif ac == [12 11 9 8] Diagnosa28
elseif ac == [15 8 9 8] Diagnosa29
elseif ac == [14 8 2 8] Diagnosa29
elseif ac == [16 8 2 8] Diagnosa29
elseif ac == [3 16 1 8] Diagnosa30
elseif ac == [3 14 1 8] Diagnosa30
(24)
elseif ac == [3 14 1 8] Diagnosa30
elseif ac == [8 6 4 8] Diagnosa31
elseif ac == [8 6 5 8] Diagnosa31
elseif ac == [8 6 5 8] Diagnosa31
elseif ac == [8 1 9 8] Diagnosa32
elseif ac == [3 4 9 8] Diagnosa32
elseif ac == [5 1 7 8] Diagnosa32
elseif ac == [7 2 16 8] Diagnosa33
elseif ac == [7 3 9 8] Diagnosa33
elseif ac == [14 2 16 8] Diagnosa33
elseif ac == [3 16 9 8] Diagnosa34
elseif ac == [12 15 9 8] Diagnosa34
elseif ac == [3 16 9 8] Diagnosa34
elseif ac == [16 10 9 8] Diagnosa35
elseif ac == [15 10 9 8] Diagnosa35
elseif ac == [16 10 9 8] Diagnosa35
elseif ac == [5 6 9 8] Diagnosa36
elseif ac == [6 6 9 8] Diagnosa36
elseif ac == [5 6 9 8] Diagnosa36
else
Diagnosa3 end
delete(handles.figure1)
function pushbutton6_Callback(hObject, eventdata, handles) xlswrite('Ayam1.xlsx', '0','Sheet2','A1:BH1');
Diagnosa1
delete(handles.figure1) %tutup GUI Halaman Utama (file diagnosa)
7.
Diagnosa21.m
function varargout = Diagnosa21(varargin) gui_Singleton = 1;
(25)
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Diagnosa21_OpeningFcn, ... 'gui_OutputFcn', @Diagnosa21_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 Diagnosa21_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;
guidata(hObject, handles);
function varargout = Diagnosa21_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function pushbutton1_Callback(hObject, eventdata, handles) Diagnosa2
delete(handles.figure1)
function pushbutton2_Callback(hObject, eventdata, handles) Diagnosa1
delete(handles.figure1)
8.
Diagnosa22.m
function varargout = Diagnosa22(varargin) gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Diagnosa22_OpeningFcn, ... 'gui_OutputFcn', @Diagnosa22_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 Diagnosa22_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;
(26)
guidata(hObject, handles);
function varargout = Diagnosa22_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function pushbutton1_Callback(hObject, eventdata, handles) Diagnosa2
delete(handles.figure1)
function pushbutton2_Callback(hObject, eventdata, handles) Diagnosa1
delete(handles.figure1)
9.
Diagnosa23.m
function varargout = Diagnosa23(varargin) gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Diagnosa23_OpeningFcn, ... 'gui_OutputFcn', @Diagnosa23_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 Diagnosa23_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;
guidata(hObject, handles);
function varargout = Diagnosa23_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function pushbutton1_Callback(hObject, eventdata, handles) Diagnosa2
delete(handles.figure1)
function pushbutton2_Callback(hObject, eventdata, handles) Diagnosa1
(27)
10.
Diagnosa24.m
function varargout = Diagnosa24(varargin) gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Diagnosa24_OpeningFcn, ... 'gui_OutputFcn', @Diagnosa24_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 Diagnosa24_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;
guidata(hObject, handles);
function varargout = Diagnosa24_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function pushbutton1_Callback(hObject, eventdata, handles) Diagnosa2
delete(handles.figure1)
function pushbutton2_Callback(hObject, eventdata, handles) Diagnosa1
delete(handles.figure1)
11.
Diagnosa25.m
function varargout = Diagnosa25(varargin) gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Diagnosa25_OpeningFcn, ... 'gui_OutputFcn', @Diagnosa25_OutputFcn, ... 'gui_LayoutFcn', [] , ...
'gui_Callback', []); if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1}); end
(28)
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else
gui_mainfcn(gui_State, varargin{:}); end
function Diagnosa25_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;
guidata(hObject, handles);
function varargout = Diagnosa25_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function pushbutton1_Callback(hObject, eventdata, handles) Diagnosa2
delete(handles.figure1)
function pushbutton2_Callback(hObject, eventdata, handles) Diagnosa1
delete(handles.figure1)
12.
Diagnosa26.m
function varargout = Diagnosa26(varargin) gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Diagnosa26_OpeningFcn, ... 'gui_OutputFcn', @Diagnosa26_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 Diagnosa26_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;
guidata(hObject, handles);
function varargout = Diagnosa26_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function pushbutton1_Callback(hObject, eventdata, handles) Diagnosa2
(29)
function pushbutton2_Callback(hObject, eventdata, handles) Diagnosa1
delete(handles.figure1)
13.
Diagnosa27.m
function varargout = Diagnosa27(varargin) gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Diagnosa27_OpeningFcn, ... 'gui_OutputFcn', @Diagnosa27_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 Diagnosa27_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;
guidata(hObject, handles);
function varargout = Diagnosa27_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function pushbutton1_Callback(hObject, eventdata, handles) Diagnosa2
delete(handles.figure1)
function pushbutton2_Callback(hObject, eventdata, handles) Diagnosa1
delete(handles.figure1)
14.
Diagnosa28.m
function varargout = Diagnosa28(varargin) gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Diagnosa28_OpeningFcn, ... 'gui_OutputFcn', @Diagnosa28_OutputFcn, ... 'gui_LayoutFcn', [] , ...
(30)
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 Diagnosa28_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;
guidata(hObject, handles);
function varargout = Diagnosa28_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function pushbutton1_Callback(hObject, eventdata, handles) Diagnosa2
delete(handles.figure1)
function pushbutton2_Callback(hObject, eventdata, handles) Diagnosa1
delete(handles.figure1)
15.
Diagnosa29.m
function varargout = Diagnosa29(varargin) gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Diagnosa29_OpeningFcn, ... 'gui_OutputFcn', @Diagnosa29_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 Diagnosa29_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;
guidata(hObject, handles);
function varargout = Diagnosa29_OutputFcn(hObject, eventdata, handles)
(31)
varargout{1} = handles.output;
function pushbutton1_Callback(hObject, eventdata, handles) Diagnosa2
delete(handles.figure1)
function pushbutton2_Callback(hObject, eventdata, handles) Diagnosa1
delete(handles.figure1)
16.
Diagnosa30.m
function varargout = Diagnosa30(varargin) gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Diagnosa30_OpeningFcn, ... 'gui_OutputFcn', @Diagnosa30_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 Diagnosa30_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;
guidata(hObject, handles);
function varargout = Diagnosa30_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function pushbutton1_Callback(hObject, eventdata, handles) Diagnosa2
delete(handles.figure1)
function pushbutton2_Callback(hObject, eventdata, handles) Diagnosa1
delete(handles.figure1)
17.
Diagnosa31.m
function varargout = Diagnosa31(varargin) gui_Singleton = 1;
(32)
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Diagnosa31_OpeningFcn, ... 'gui_OutputFcn', @Diagnosa31_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 Diagnosa31_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;
guidata(hObject, handles);
function varargout = Diagnosa31_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function pushbutton1_Callback(hObject, eventdata, handles) Diagnosa2
delete(handles.figure1)
function pushbutton2_Callback(hObject, eventdata, handles) Diagnosa1
delete(handles.figure1)
18.
Diagnosa32.m
function varargout = Diagnosa32(varargin) gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Diagnosa32_OpeningFcn, ... 'gui_OutputFcn', @Diagnosa32_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
(33)
handles.output = hObject; guidata(hObject, handles);
function varargout = Diagnosa32_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function pushbutton1_Callback(hObject, eventdata, handles) Diagnosa2
delete(handles.figure1)
function pushbutton2_Callback(hObject, eventdata, handles) Diagnosa1
delete(handles.figure1)
19.
Diagnosa33.m
function varargout = Diagnosa33(varargin) gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Diagnosa33_OpeningFcn, ... 'gui_OutputFcn', @Diagnosa33_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 Diagnosa33_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;
guidata(hObject, handles);
function varargout = Diagnosa33_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function pushbutton1_Callback(hObject, eventdata, handles) Diagnosa2
delete(handles.figure1)
function pushbutton2_Callback(hObject, eventdata, handles) Diagnosa1
(34)
20.
Diagnosa34.m
function varargout = Diagnosa34(varargin) gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Diagnosa34_OpeningFcn, ... 'gui_OutputFcn', @Diagnosa34_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 Diagnosa34_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;
guidata(hObject, handles);
function varargout = Diagnosa34_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function pushbutton1_Callback(hObject, eventdata, handles) Diagnosa2
delete(handles.figure1)
function pushbutton2_Callback(hObject, eventdata, handles) Diagnosa1
delete(handles.figure1)
21.
Diagnosa35.m
function varargout = Diagnosa35(varargin) gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Diagnosa35_OpeningFcn, ... 'gui_OutputFcn', @Diagnosa35_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
(35)
gui_mainfcn(gui_State, varargin{:}); end
function Diagnosa35_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;
guidata(hObject, handles);
function varargout = Diagnosa35_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function pushbutton1_Callback(hObject, eventdata, handles) Diagnosa2
delete(handles.figure1)
function pushbutton2_Callback(hObject, eventdata, handles) Diagnosa1
delete(handles.figure1)
22.
Diagnosa36.m
function varargout = Diagnosa36(varargin) gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Diagnosa36_OpeningFcn, ... 'gui_OutputFcn', @Diagnosa36_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 Diagnosa36_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;
guidata(hObject, handles);
function varargout = Diagnosa36_OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
function pushbutton1_Callback(hObject, eventdata, handles) Diagnosa2
delete(handles.figure1)
function pushbutton2_Callback(hObject, eventdata, handles) Diagnosa1
(36)
delete(handles.figure1)
23.
Keluar.m
function varargout = Keluar(varargin) gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @Keluar_OpeningFcn, ... 'gui_OutputFcn', @Keluar_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 Keluar_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = 'Yes';
guidata(hObject, handles); if(nargin > 3)
for index = 1:2:(nargin-3),
if nargin-3==index, break, end switch lower(varargin{index}) case 'title'
set(hObject, 'Name', varargin{index+1}); case 'string'
set(handles.text1, 'String', varargin{index+1}); end
end end
FigPos=get(0,'DefaultFigurePosition'); OldUnits = get(hObject, 'Units'); set(hObject, 'Units', 'pixels'); OldPos = get(hObject,'Position'); FigWidth = OldPos(3);
FigHeight = OldPos(4); if isempty(gcbf)
ScreenUnits=get(0,'Units'); set(0,'Units','pixels');
ScreenSize=get(0,'ScreenSize'); set(0,'Units',ScreenUnits);
FigPos(1)=1/2*(ScreenSize(3)-FigWidth); FigPos(2)=2/3*(ScreenSize(4)-FigHeight); else
(37)
GCBFOldUnits = get(gcbf,'Units'); set(gcbf,'Units','pixels');
GCBFPos = get(gcbf,'Position'); set(gcbf,'Units',GCBFOldUnits);
FigPos(1:2) = [(GCBFPos(1) + GCBFPos(3) / 2) - FigWidth / 2, ... (GCBFPos(2) + GCBFPos(4) / 2) - FigHeight / 2]; end
FigPos(3:4)=[FigWidth FigHeight]; set(hObject, 'Position', FigPos); set(hObject, 'Units', OldUnits); load dialogicons.mat
IconData=questIconData;
questIconMap(256,:) = get(handles.Keluar, 'Color'); IconCMap=questIconMap;
Img=image(IconData, 'Parent', handles.axes1); set(handles.Keluar, 'Colormap', IconCMap); set(handles.axes1, ...
'Visible', 'off', ...
'YDir' , 'reverse' , ... 'XLim' , get(Img,'XData'), ... 'YLim' , get(Img,'YData') ... );
set(handles.Keluar,'WindowStyle','modal') uiwait(handles.Keluar);
function varargout = Keluar_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;
delete(handles.Keluar);
function Ya_Callback(hObject, eventdata, handles) handles.output = get(hObject,'String');
guidata(hObject, handles); uiresume(handles.Keluar); close Depan
function Tidak_Callback(hObject, eventdata, handles) handles.output = get(hObject,'String');
guidata(hObject, handles); uiresume(handles.Keluar);
function Keluar_CloseRequestFcn(hObject, eventdata, handles) if isequal(get(handles.Keluar, 'waitstatus'), 'waiting') uiresume(handles.Keluar);
else
delete(handles.Keluar); end
function Keluar_KeyPressFcn(hObject, eventdata, handles) if isequal(get(hObject,'CurrentKey'),'escape')
handles.output = 'No'; guidata(hObject, handles); uiresume(handles.Keluar);
(38)
end
if isequal(get(hObject,'CurrentKey'),'return') uiresume(handles.Keluar);
(39)
LAMPIRAN B : TABEL JENIS PENYAKIT, CIRI DAN GAJALANYA
No
Nama Penyakit
Ciri dan Gejala Penyakit
1
Marek Diseases
Bulu Melebar
Mata Terlihat Kelabu
Pupil Menyempit
Lumpuh
Pembesaran Syaraf
Diare
Sesak Nafas
2
CRD
Muka Ayam Bengkak
Fases Cair
Warna Bulu Pucat
Menggelengkan Kepalanya
Sayap Terkulai
Hidung Berlendir
Mengantuk
Nafsu Makan Turun
Ngorok
Bersin
3
Salesma Ayam
Hidung Berlendir
Mata Berair
Lendir Berdarah Pada Rongga Mulut
Bila Bernafas Kepala Ditegakkan
Sesak Nafas
Batuk
4
Infectious Bursal Diseases
Bulu Mengkerut
Bulu Disekitar Kloaka Kotor
Fases Berwarna Keputih-putihan
Duduk Membungkuk
Mematuki Kloakanya
Gemetar/Menggigil
Diare
Mengantuk
Nafsu Makan Turun
Lesu/Lemes
5
Newcastle Diseases
Mematuki Kloakanya
Warna Fases Kehijauan
Bulu Tampak Jatuh Kebawah
Gemetar/Menggigil
Pembengkakan Dibagian Kepala Dan Leher
Leher Yang Berputar
Lumpuh
Diare
Sesak Nafas
6
Avian Tuberculosis
Wajah Pial Dan Leher Pucat
Diare
(40)
Kurus
7
Infectious Laryngotraceitis
Mata Berair
Pembengkakan Mata
Sesak Nafas
Batuk
Pendarahan Pada Selaput Mata
8
Infectious Coryza
Muka Ayam Bengkak
Menggelengkan Kepalanya
Sayap Terkulai
Hidung Berlendir
Pembengkakan Mata
Terdapat Kerak Pada Hidung
Tembolok Kosong
Mengantuk
Nafsu Makan Turun
Ngorok
9
Infectious Bronchitis
Hidung Berlendir
Ngorok
Bersin
Batuk
10
Avian Influenza
Hidung Berlendir
Mata Berair
Pembengkakan Dibagian Kepala Dan Leher
Bulu Disekitar Leher Dan Punggung Berdiri
Jengger Dan Pial Kebiruan
Bintik-bintik Merah Pada Unggas
Jengger Dan Pial Bengkak
Diare
Sesak Nafas
Bersin
Batuk
Depresi
Muka Ayam Tampak Pucat
Bulu Ayam Kasar
11
Avian Colibacillosis
Kotoran Menempel Pada Kloaka
Diare
Batuk
Lesu/Lemes
Terengah-engah
12
Aspergillosis
Sayap Terkulai
Kotoran Menempel Pada Kloaka
Lumpuh
Sesak Nafas
Mengantuk
Lesu/Lemes
Pergerakan Pada Otot Tidak Terkoordianator
Dengan Baik
(41)
Gerakan Tidak Aktif
Luka Berwarna Hitam Dibagian kulit
13
Necrotic Dermatitis
Bulu Disekitar Leher Dan Punggung Berdiri
Kotoran Menempel Pada Kloakanya
Depresi
Lesu/Lemes
Pergerakan Kaki Tidak Terkoordinator Dengan
Baik
14
Nevel Infection
Pusar Tersa Basah Jika Diraba
Pusar Membengkak
Depresi
Pusar Menebal
15
Fowl Pox
Sesak Nafas
Nafsu Makan Turun
Depresi
Adanya Bungkul-bungkul Putih
Adanya Luka Keropeng
Terdapat Lesi
16
Dermatommycosis
Kulit Yang Tidak Berbulu Terasa Kasar
Terdapat Warna Kekuning-kuningan
(42)
CURRICULUM VITAE
Nama
: Anny Maghfirah
Tempat / Tanggal Lahir
: Natal / 27 Agustus 1990
Alamat
: Jl. Sawit Raya no. 3A P. Simalingkar Medan
Agama
: Islam
Status
: Mahasiswa
Alamat Email
No. Hp
: 081375395127
Pendidikan Terakhir
: SMA
PENDIDIKAN FORMAL
2005-2008
SMA Negeri 1 Natal Kab. Madina
2002-2005
Mts. Muhammadiyah 20 Natal Kab. Madina
1996-2002
SD Negeri 358 Natal Kab. Madina
SEMINAR, KURSUS
2011
Peserta Seminar Nasional Bidang Komputer 2011 Universitas
Sumatera Utara
2009
Peserta Seminar Nasional Teknologi Informasi “ Internet Masa
Depan : Prospek Dan Tantangannya”
2005
Peserta Kursus Komputer
PENGALAMAN ORGANISASI
2008-Sekarang
Anggota IKAPENAS (Ikatan Pelajar Natal Sekitar )
2010
Ketua Seksi Kesehatan PMB (Penerimaan Mahasiswa Baru)
2008
Anggota IMILKOM (Ikatan Mahasiswa Ilmu Komputer)
2006
Anggota OSIS SMA Negeri 1 Natal
(43)
DAFTAR PUSTAKA
[1] Fadilah, Roni, dan Polana, Agustin. 2011. 71 Mengatasi Penyakit pada Ayam.
Jakarta: Penerbit AgroMedia Pustaka.
[2] Fausett, Laurene., 1994. Fundamentals of Neural Network Architectures,
Algorithms and Aplication. New Jersey: Prentice Hall.
[3] Hariadi, Mochamad. Muhtadin. Purnomo, Mauridhy Hery. 2007. Simulasi
Autonomous Robot Berbasis Player/Stage Menggunakan Self-Organizing
Feature Maps Untuk Pemetaan Lingkungan Global Yang Tidak Diketahui.
Jurnal Informatika. Program Studi Teknik Sistem Komputer. Surabaya,
Indonesia: Institut Teknologi Sepuluh Nopember 8(2): hal. 139-146.
[4] Haykin, Simon. 2009. Neural Networks and Learning Machines. New Jersey:
Pearson Education.
[5] Hermanto, Luky Agus. 2008. Klasifikasi unggas/burung (Aves) Menggunakan
Algoritma Grey Self-Organizing Feature Maps: Jurnal Informatika.
Surabaya, Indonesia: Institut Teknologi Adhi Tama Surabaya 1(1): hal.1-4.
[6] Jong Jek Siang. 2004. Jaringan Syaraf Tiruan & Pemrogramannya Menggunakan
Matlab. Penerbit Andi. Yogjakarta.
[7] Kusumadewi, Sri. 2003. Artificial Intelligence: Teknik dan Aplikasinya.
Yogyakarta: Graha Ilmu..
(44)
[8] Kusumadewi, Sri. 2004. Membangun Jaringan Syaraf Tiruan Menggunakan
Matlab Dan Excelink. Yogyakarta: Graha Ilmu.
[9] Pandjaitan, Lanny W. 2007. Dasar-Dasar Komputasi Cerdas. Yogyakarta:
Penerbit Andi.
[10] Puspitaningrum, Diyah. 2006. Pengantar Jaringan Syaraf Tiruan. Yogyakarta:
Penerbit Andi.
[11] Sinaga, I.S Maria. 2010. Analisis Dan Perancangan Sistem Pakar Fuzzy Berbasis
WEB Untuk Mendiaknosa Penyakit THT. Tugas Akhir. Universitas
Sumatera Utara.
[12] Zayuman, Hidayat. 2007. Pengenalan Wajah Manusia Menggunakan Analisis
Komponen Utama (PCA) Dan Jaringan Syaraf Tiruan Perambatan-Balik.
Tugas Akhir. Universitas Diponegoro.
(45)
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Permasalahan
Hewan ternak yang banyak diserang penyakit yaitu pada ayam. Salah satu contoh
penyakit yang banyak menyerang ayam adalah penyakit avian influenza. Penyakit ini
dapat menyebabkan kematian. Tingkat kematian akibat penyakit ini bisa mencapai
100% dan tingkat penularan yang sangat tinggi.
Hasil yang diperoleh oleh seorang dokter hewan dengan melihat gejala-gejala
yang terdapat pada ayam sering bersifat parsial, sehingga kadang kala seorang dokter
hewan pun mengalami kesulitan dalam mencari hubungan antara gejala-gejala dengan
penyakit. Dari hasil analisis permasalahan, perlu dirancang sebuah aplikasi yang dapat
mendeteksi suatu penyakit dan hasilnya bermanfaat dan memuaskan bagi para
pemakai.
3.2 Analisis Sistem
Sistem pendeteksian penyakit yang dirancang dalam penelitian ini diharapkan dapat
mengenali penyakit apa saja yang ditimbulkan. Untuk mengetahui hasil suatu
penyakit, seorang dokter hewan harus memperoleh gejala-gejala yang diderita hewan
tersebut. Dalam mendeteksi penyakit dibutuhkan sebuah sistem yang dapat
dimanfaatkan dalam mendeteksi penyakit yang ada pada ayam.
Agar sistem dapat mengenali beberapa penyakit yang diderita ayam tersebut
maka sebelumnya sistem harus melalui proses pelatihan. Setelah proses pelatihan,
(46)
sistem akan menyimpan matriks bobot hasil pelatihan. Matriks bobot inilah yang
digunakan untuk mengenali kembali penyakit pada proses pengujian atau simulasi.
3.2.1 Analisis Masukan dan Keluaran Sistem
Data yang digunakan sebagai masukan sistem adalah berupa ciri-ciri dan gejala yang
tampak pada ayam yaitu :
1.
Bulu Melebar
2.
Mata Terlihat Kelabu
3.
Pupil Menyempit
4.
Fases Cair
5.
Warna Bulu Pucat
6.
Menggelengkan Kepalanya
7.
Sayap Terkulai
8.
Hidung Berlendir/Berair
9.
Mata Berair
10.
Leher Yang Berputar
11.
Wajah,Pial Dan Leher Pucat
12.
Bulu Tampak Jatuh Ke Bawah
13.
Gemetar/Menggigil
14.
Pembengkakan Dibagian Kepala Dan Leher
15.
Muka Ayam Bengkak
16.
Jengger Dan Pial Kebiruan
17.
Bintik-Bintik Merah Pada Unggas
18.
Kotoran Menempel Pada Kloaka
19.
Duduk Membungkuk
20.
Mematuki Kloakanya
21.
Warna Fases Kehijauan
22.
Fases Berwarna Keputih-Putihan
23.
Lendir Berdarah Pada Rongga Mulut
24.
Bila Bernapas Kepala Ditegakkan
25.
Bulu Mengkerut
(47)
26.
Pembengkakan Mata
27.
Bulu Sekitar Kloaka Kotor
28.
Terdapat Kerak Pada Hidung
29.
Tembolok Kosong
30.
Bulu Disekitar Leher Dan Punggung Berdiri
31.
Terengah-Engah
32.
Gerakan Tidak Aktif
33.
Luka Berwarna Hitam Di Bagian Kulit
34.
Pusar Membengkak
35.
Pusar Menebal
36.
Pusar Terasa Basah Jika Diraba
37.
Adanya Bungkul-Bungkul Putih
38.
Adanya Luka (Keropeng)
39.
Terdapat Lesi
40.
Adanya Kerak-Kerak Putih
41.
Terdapat Warna Kekuning-Kuningan
42.
Kulit Yang Tidak Berbulu Terasa Kasar
43.
Jengger Dan Pial Bengkak
44.
Muka Ayam Tampak Pucat
45.
Bulu Ayam Kasar
46.
Lumpuh
47.
Pembesaran Pada Syaraf
48.
Diare
49.
Sesak Nafas
50.
Mengantuk
51.
Nafsu Makan Turun
52.
Ngorok
53.
Bersin
54.
Batuk
55.
Kurus
56.
Pendarahan Pada Selaput Mata
57.
Depresi
(48)
59.
Pergerakan Otot Tidak Terkoordinasi Dengan Baik
60.
Pergerakan Kaki Tidak Terkoordinasi Dengan Baik.
Ciri dan gejala tersebut dikonversikan ke dalam bilangan biner yang kemudian
disimpan di Microsoft Office Excel 2007. Keluaran yang dihasilkan oleh sistem adalah
berupa 16 jenis penyakit ayam yaitu :
1.
Marek Disease
2.
Chronic Respiratory Disease
3.
Salesma Ayam
4.
Infectious Bursal Disease
5.
Newcastle Disease
6.
Avian Tuberculosis
7.
Avian Laryngotraceitis
8.
Infectious Coryza
9.
Infectious Bronchitis
10.
Avian Influenza
11.
Avian Collibacillosos
12.
Aspergillosis
13.
Necrotic Dermatitis
14.
Nevel Infection
15.
Fowl Pox
16.
Dermatommycosis
Sebagai contoh apabila di input : Lumpuh, Pembesaran Syaraf dan Diare
maka Output : Penyakit Marek Disease.
3.2.2 Analisis Jaringan Syaraf Tiruan
Jaringan syaraf tiruan terdiri dari elemen-elemen pemroses yang tersusun dan
terhubung dengan arsitektur tertentu. Hubungan antar elemen tersebut mempuyai nilai
tertentu yang dapat mengatur sinyal yang melewati koneksi tersebut. Nilai yang
dikenal dengan nilai bobot ini akan mengalami perubahan dalam proses pelatihan.
(49)
Metode pelatihan yang digunakan dengan metode pembelajaran yang dilakukan
adalah metode pelatihan tidak terpandu. Algoritma pelatihan yang digunakan berupa
algoritma pelatihan self-organizing feature maps.
Self Organizing Feature Maps terdiri dari dua lapisan, yaitu lapisan input dan
lapisan output. Setiap neuron output mempunyai bobot untuk masing-masing neuron
input. Setiap input yang diberikan dihitung jarak Euclidean dengan setiap neuron
output, kemudian dicari neuron output yang mempunyai jarak minimum. Neuron yang
mempunyai jarak yang paling kecil disebut neuron pemenang atau neuron yang paling
sesuai denga input yang diberikan.
3.2.3 Analisis Self-Organizing Feature Maps
Analisis Self-Organizing Feature Maps dilakukan untuk mendapatkan jaringan syaraf
tiruan Self-Organizing Feature Maps dengan performa terbaik untuk mendeteksi
penyakit pada ayam. Pada analisis jaringan syaraf tiruan Self-Organizing Feature
Maps dilihat hasil pengelompokan yang dihasilkan dari proses pelatihan jaringan
syaraf tiruan. Pelatihan jaringan sayraf tiruan dilakukan dengan menggunakan data
dari 16 jenis penyakit, dimana setiap jenis penyakit terdiri dari tiga jenis ciri penyakit.
Banyak variabel yang akan digunakan untuk pengelompokan adalah 60 variabel.
Sehingga masukan berupa 60 variabel dari 48 jenis ciri dan gejala penyakit yang akan
dikelompokkan menjadi 16 kelas.
Pada proses pelatihan pertama digunakan satu jaringan syaraf tiruan
Self-Organizing Feature Maps, data hasil pengelompokan yang didapat adalah sebagai
berikut:
Ac= [5 15 2 10 4 7 2 16 14 1 9 12 9 8 5 6]
Dari pelatihan hingga 200.000 epoch masih terdapat beberapa hasil
pengelompokan yang sama, sehingga dapat disimpulkan performa jaringan syaraf
tiruan belum maksimal.
(50)
Pada proses pelatihan kedua digunakan enam jaringan syaraf tiruan
Self-Organizing Feature Maps, dimana data masukan dari setiap jaringan syaraf tiruan
Self-Organizing Feature Maps adalah 10 variabel dari 48 jenis ciri dan gejala
penyakit. Pelatihan mencapai hasil maksimal pada epoch ke-100. Data hasil
pengelompokan yang didapat adalah sebagai berikut:
Ac= [11 8 5 5 16 9
13 8 5 5 16 9
11 8 5 5 16 9
1 16 5 5 16 9
1 15 5 5 16 9
1 16 5 5 16 9
16 1 1 5 16 9
3 4 1 5 16 9
16 3 5 5 16 9
7 12 15 5 7 9
9 12 16 5 16 9
7 8 14 5 7 9
12 8 11 1 16 9
16 8 9 5 16 9
9 8 11 5 16 9
9 8 5 9 16 9
9 8 5 9 16 9
9 8 5 8 16 9
16 3 5 11 16 9
16 3 5 11 16 9
16 4 5 11 16 9
1 16 5 11 16 9
1 15 5 11 16 9
(51)
3 2 5 5 16 9
3 6 5 5 16 9
3 6 5 5 16 9
13 2 9 16 11 9
9 2 5 5 11 9
13 6 9 2 10 9
9 4 5 5 3 9
3 4 5 5 7 9
9 8 5 5 4 9
14 10 5 5 1 9
14 8 5 5 13 9
14 8 5 5 2 9
3 8 5 16 2 12
3 8 5 16 7 12
3 8 5 13 7 9
3 8 5 13 16 1
3 8 5 5 16 2
3 8 5 5 16 3
16 12 5 13 16 6
16 12 5 13 16 9
16 12 5 5 16 6
3 8 5 5 16 16
3 8 5 5 16 16
3 8 5 5 16 14]
Pada proses pelatihan ketiga digunakan empat jaringan syaraf tiruan
Self-Organizing Feature Maps, dimana data masukan dari setiap jaringan syaraf tiruan
Self-Organizing Feature Maps adalah 15 variable dari 48 jenis ciri dan gejala
(52)
penyakit. Pelatihan mencapai hasil maksimal pada epoch ke-100. Data hasil
pengelompokan yang didapat adalah sebagai berikut:
Ac= [5 6 9 8
6 6 9 8
5 6 9 8
16 10 9 8
15 10 9 8
16 10 9 8
3 16 9 8
12 15 9 8
3 16 9 8
14 2 16 8
7 3 9 8
7 2 16 8
5 1 7 8
3 4 9 8
8 1 9 8
8 6 5 8
8 6 5 8
8 6 4 8
3 16 1 8
3 16 1 8
3 14 1 8
16 8 2 8
14 8 2 8
15 8 9 8
12 11 9 8
10 13 9 8
(1)
vii
IMPLEMENTATION OF ARTIFICIAL NEURAL NETWORKS FOR DETECTING DISEASES IN CHICKEN BY METHOD
SELF-ORGANIZING FEATURE MAPs (SOFM)
ABSTRACT
With the development of technology, a system can detect diseases in humans, plants and animals. Self-Organizing Feature Maps is one method of neural network that can perform detection, where the neuron that has the smallest distance is the winner neuron or neurons that best suits a given input. Parameter in the system are chicken diseases. Input into the system are 60 traits and symptoms of the diseases and the output are 16 kinds of chicken diseases. There are training and simulation stages in the system. The system uses Matlab2007b and Excel 2007 as data storage which consists of 60 traits and diseases which are then grouped into 4 artificial neural network. The first artificial neural network has 15 traits and symptoms of the disease, starting from trait #1 to #15. Traits #16 to #30 are placed in the second artificial neural network, and so forth until the fourth artificial neural network. The system is trained with 100 iterations. By inputting traits and symptoms, the system will output one of the 16 chicken diseases. However, the accuracy of the artificial neural networks with SOFM method is not 100% correct which was indicated by some input not resulting in the correct output.
Keywords: Artificial Neural Networks, Competitive Networks Self-Organizing Feature Maps (SOFM), Chicken Diseases, Iteration, Training
(2)
DAFTAR ISI
Halaman
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak vi
Abstract vii Daftar Isi viii Daftar Tabel x
Daftar Gambar xi
Daftar Lampiran xiii Bab 1 Pendahuluan 1.1 Latar Belakang 1
1.2 Rumusan Masalah 2
1.3 Batasan Masalah 2
1.4 Tujuan Penelitian 3
1.5 Manfaat Penelitian 3
1.6 Metode Penelitian 3
1.7 Diagram Alir Penelitian 4
1.8 Sistematika Penulisan 5
Bab 2 Tinjauan Pustaka 2.1 Anatomi Ayam 7 2.2 Jaringan Syaraf Biologi 7 2.3 Jaringan Syaraf Tiruan 9 2.3.1 Komponen Jaringan Syaraf 12
2.3.2 Manfaat Jaringan Syaraf Tiruan 13
2.4 Keunggulan Jaringan Syaraf Tiruan 14
2.5 Arsitektur Jaringan Syaraf Tiruan 14 2.5.1 Jaringan Umpan-Maju Lapisan Unggal 15
2.5.2 Jaringan Umpan-Maju Lapisan Banyak 15
2.5.3 Jaringan Syaraf Tiruan Recurrent 16
2.6 Metode Pembelajaran 17
2.6.1 Metode Pembelajaran Terpandu 17
2.6.2 Metode Pembelajaran Tidak Terpandu 18
2.6.3 Metode Pembelajaran Hibrida (Reinforcement) 18
2.7 Jaringan Syaraf Tiruan Sel-Organizing Feature Maps 18
2.7.1 Arsitektur Jaringan Self-Organizing Feature Maps 20
(3)
ix
Bab 3 Analisis Dan Perancangan Sistem
3.1 Analisis Permasalahan 24
3.2 Analisis Sistem 24
3.2.1 Analisis Masukan dan Keluaran Sistem 25
3.2.2 Analisis Jaringan Syaraf Tiruan 27
3.2.3 Analisis Self-Organizing Feature Maps 28
3.3 Perancangan Sistem 33
3.3.1 Perancangan Prosedural 34
3.3.1.1 Proses Pelatihan JST 34
3.3.1.2 Proses Pengujian JST 35
3.3.2 Perancangan Data Flow Diagram (DFD) 37
3.3.3 Tabel Penyakit, Ciri Dan Gejalanya 38
3.3.4 Perancangan Antarmuka 52
3.3.4.1. Antarmuka Depan 52
3.3.4.2. Antarmuka Diagnosa Penyakit 53
3.3.4.3. Antarmuka Jenis Penyakit 55
3.3.4.4. Antarmuka Lihat Jenis Penyakit 56
Bab 4 Implementasi Dan Pengujian Sistem
4.1 Implementasi Sistem 58
4.1.1 Tampilan Antarmuka Sistem 58
4.1.1.1 Antarmuka Depan 59
4.1.1.2 Antarmuka Diagnosa Penyakit 59
4.1.1.3 Antarmuka Lihat Jenis Penyakit 61
4.1.1.4 Antarmuka Keluar 62
4.2 Pengujian Sistem 63
4.2.1 Pengujian Pengenalan Penyakit 63
Bab 5 Kesimpulan Dan Saran
5.1 Kesimpulan 71
5.2 Saran 72
(4)
DAFTAR TABEL
Halaman
3.1 Penyakit, ciri dan Gejala 38
4.1 Perbandingan Hasil Pengujian Pertama 66
4.2 Perbandingan Hasil Pengujian Kedua 66
4.3 Perbandingan Hasil Pengujian Ketiga 67
4.4 Perbandingan Hasil Pengujian Keempat 68
(5)
xi
DAFTAR GAMBAR
Halaman
1.1 Diagram Alir Sistem 5
2.1 Struktur Dasar Jaringan Syaraf Tiruan dan Struktur Sederhana Sebuah
Neuron 9
2.2 Model Neuron 11
2.3 Struktur Neuron Jaringan Syaraf Tiruan 12
2.4 Jaringan Umpan-Maju Lapisan Tunggal 15
2.5 Jaringan Umpan-Maju Lapisan Banyak 16
2.6 Jaringan Syaraf Tiruan Recurrent 17
2.7 Arsitektur Jaringan Self-Organizing Feature Maps 19
3.1 Diagram Alir Proses Pelatihan JST 34
3.2 Diagram Alir Proses Pengujian JST 35
3.3 Diagram Konteks Sistem Pengenal Penyakit 37
3.4 DFD Level 1 Sistem Pengenal Penyakit 38
3.5 Tampilan Rancangan Antarmuka Depan 53
3.6 Tampilan Rancangan Antarmuka Diagnosa Penyakit 54
3.7 Tampilan Rancangan Antarmuka Diagnosa Penyakit Kedua 55
3.8 Tampilan Rancangan Antarmuka Jenis Penyakit 56
3.9 Tampilan Rancangan Antarmuka Lihat Jenis Penyakit 57
4.1 Tampilan Antarmuka Depan 59
4.2 Tampilan Antarmuka Diagnosa Penyakit Pertama 60
4.3 Tampilan Antarmuka Diagnosa Penyakit Kedua 61
4.4 Tampilan Antarmuka Lihat Jenis Penyakit 62
4.5 Tampilan Antarmuka Konfirmasi Keluar 62
4.6 Tampilan Input Ciri Dan Gejala Penyakit Pertama 63
4.7 Tampilan Input Ciri Dan Gejala Penyakit Kedua 64
4.8 Tampilan Hasil Pengujian Sistem Dalam Penganalan Penyakit 65
(6)
LAMPIRAN
A. Listing Program A-1
B. Jenis Penyakit, Ciri Dan Gejalanya B-1