Implementasi Jaringan Syaraf Tiruan Dalam Mendeteksi Penyakit Pada Ayam Dengan Metode Self-Organizing Feature Maps (Sofm)

(1)

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