LAMPIRAN LISTING PROGRAM
Pelatihan.m (Pelatihan Kohonen)
function varargout = Pelatihan(varargin) gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ... if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1}); end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else
gui_mainfcn(gui_State, varargin{:}); end
% End initialization code - DO NOT EDIT
% --- Executes just before Pelatihan is made visible.
function Pelatihan_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;
guidata(hObject, handles);
% --- Outputs from this function are returned to the command line. function varargout = Pelatihan_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;
tStart=tic;
input = xlsread('Datakohonen.xlsx', 'Sheet1', 'B2:M29'); input= input'; %transpose input utk jd masukan kohonen net=newsom(minmax(input),4); %buat jaringan kohonen net = init (net);
net.trainparam.epochs=2000; net=train(net,input); %latih
bobot=net.IW{1,1};%inisialisasi bobot sebagai net.iw{1,1} atau bobot xlswrite('Datakohonen.xlsx', bobot, 'Bobot', 'A1:L4');
b=sim(net,input);
ac=vec2ind(b) %melihat vektor hasil pelatihan waktu = toc(tStart);
set(handles.waktu,'string',waktu);
function waktu_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white'); end
% --- function keluar_Callback(hObject, eventdata, handles) delete(handles.figure1)
latihbackpro.m (pelatihan Backpropagation)
function varargout = latihbackpro(varargin) gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ... if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1}); end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else
gui_mainfcn(gui_State, varargin{:}); end
% End initialization code - DO NOT EDIT
% --- Executes just before latihbackpro is made visible.
function latihbackpro_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;
guidata(hObject, handles);
% --- Outputs from this function are returned to the command line.
function varargout = latihbackpro_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;
tStart=tic;
input = xlsread('Penyakitb.xlsx','sheet1','B2:M29'); target = [1 0 0 0;
1 0 0 0;
target = target'; input=input';
net = newff(minmax(input),[12 12 4], {'tansig','tansig','tansig'},'traingda'); net.trainParam.show=100;
net.trainParam.epochs=2000; net.trainParam.goal=0.0001; net.trainParam.lr = 0.1; net.trainParam.mc = 0.1; [net,tr] = train(net,input,target);
xlswrite('bobot1.xlsx',net.IW{1,1},'bobot','A'); output = sim(net,input)
waktu = toc(tStart);
set(handles.waktu,'string',waktu);
set(hObject,'BackgroundColor','white'); end
function keluar_Callback(hObject, eventdata, handles) delete(handles.figure1)
halamank2.m (Pengujian Kohonen)
function varargout = halamank2(varargin) gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ... if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1}); end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else
gui_mainfcn(gui_State, varargin{:}); end
function halamank2_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject; guidata(hObject, handles);
function varargout = halamank2_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;
function B_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.B,'value'); if a == 1
xlswrite('Datakohonen.xlsx', '1','nilai','A'); else
xlswrite('Datakohonen.xlsx', '0','nilai','A'); end
guidata(hObject,handles); a=get(handles.C,'value'); if a == 1
xlswrite('Datakohonen.xlsx', '1','nilai','B'); else
xlswrite('Datakohonen.xlsx', '0','nilai','B'); end
function D_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.D,'value'); if a == 1
xlswrite('Datakohonen.xlsx', '1','nilai','C'); else
xlswrite('Datakohonen.xlsx', '0','nilai','C'); end
function E_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.E,'value'); if a == 1
xlswrite('Datakohonen.xlsx', '1','nilai','D'); else
xlswrite('Datakohonen.xlsx', '0','nilai','D'); end
function F_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.F,'value'); if a == 1
xlswrite('Datakohonen.xlsx', '1','nilai','E'); else
xlswrite('Datakohonen.xlsx', '0','nilai','E'); end
function G_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.G,'value'); if a == 1
xlswrite('Datakohonen.xlsx', '1','nilai','F'); else
xlswrite('Datakohonen.xlsx', '0','nilai','F'); end
function H_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.H,'value');
else %jk tdk
xlswrite('Datakohonen.xlsx', '0','nilai','G'); end
function I_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.I,'value');
if a == 1 %jk a = 1 (checkbutton dicentang) maka xlswrite('Datakohonen.xlsx', '1','nilai','H'); else %jk tdk
xlswrite('Datakohonen.xlsx', '0','nilai','H'); end
function J_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.J,'value');
if a == 1 %jk a = 1 (checkbutton dicentang) maka xlswrite('Datakohonen.xlsx', '1','nilai','I'); else %jk tdk
xlswrite('Datakohonen.xlsx', '0','nilai','I'); end
function K_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.K,'value'); if a == 1
xlswrite('Datakohonen.xlsx', '1','nilai','J'); else
xlswrite('Datakohonen.xlsx', '0','nilai','J'); end
function L_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.L,'value'); if a == 1
xlswrite('Datakohonen.xlsx', '1','nilai','K'); else
xlswrite('Datakohonen.xlsx', '0','nilai','K'); end
function M_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.M,'value'); if a == 1
xlswrite('Datakohonen.xlsx', '1','nilai','L'); else
xlswrite('Datakohonen.xlsx', '0','nilai','L'); end
function hasil_Callback(hObject, eventdata, handles) tStart=tic;
input=xlsread('Datakohonen.xlsx', 'nilai', 'A1:L1'); input= input';
set(handles.edit3,'String','Lepra','Enable','on');
set(handles.edit4,'String','Pemeriksaan BTA','Enable','on'); elseif ac == 2
set(handles.edit3,'String','pityriasis Alba','Enable','on');
set(handles.edit4,'String','Pemberian Kortikosteroid topical','Enable','on'); elseif ac == 4
set(handles.edit3,'String','pityriasis versicolor','Enable','on');
set(handles.edit4,'String','Pemberian obat Ketoconazelo dan lotion selenium sulfide','Enable','on');
elseif ac == 1
set(handles.edit3,'String','Vitiligo','Enable','on');
set(handles.edit4,'String','Pemberian Hidrocortison','Enable','on'); else
set(handles.edit3,'String','Tidak Ditemukan Jenis Penyakt','Enable','on'); set(handles.edit4,'String','Tidak Ditemukan Jenis Penyakt','Enable','on'); end
waktu = toc(tStart);
set(handles.waktu,'string',waktu);
function keluar_Callback(hObject, eventdata, handles)
delete(handles.figure1) %tutup GUI Halaman Utama (file diagnosa)
% --- Executes on button press in reset.
function reset_Callback(hObject, eventdata, handles) xlswrite('Datakohonen.xlsx', '0','nilai','A1:L1'); function menuutama_Callback(hObject, eventdata, handles) hlmndepan
xlswrite('Datakohonen.xlsx', '0','nilai','A1:L1'); delete(handles.figure1)
% --- function Untitled_2_Callback(hObject, eventdata, handles)
% ---
function latihbackpropagation_Callback(hObject, eventdata, handles) latihbackpro
% --- function latihkohonen_Callback(hObject, eventdata, handles) pelatihan
function Pengujian_Callback(hObject, eventdata, handles)
% ---
function ujibackpropagation_Callback(hObject, eventdata, handles) backpro
xlswrite('Datakohonen.xlsx', '0','nilai','A1:L1'); delete(handles.figure1)
% --- function ujikohonen_Callback(hObject, eventdata, handles) xlswrite('Datakohonen.xlsx', '0','nilai','A1:L1');
function edit4_Callback(hObject, eventdata, handles)
function edit4_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white'); end
function edit3_Callback(hObject, eventdata, handles)
function edit3_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white'); end
function waktu_Callback(hObject, eventdata, handles)
% --- Executes during object creation, after setting all properties. function waktu_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white'); end
% --- function bantuan_Callback(hObject, eventdata, handles) bantuan
delete(handles.figure1)
% --- function keluar2_Callback(hObject, eventdata, handles) delete(handles.figure1)
backpro.m (pengujian Backpropagation)
function varargout = backpro(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ... if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1}); end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else
gui_mainfcn(gui_State, varargin{:}); end
% End initialization code - DO NOT EDIT
% --- Executes just before backpro is made visible.
function backpro_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
guidata(hObject, handles);
function varargout = backpro_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;
% --- Executes on button press in B.
function B_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.B,'value'); if a == 1
xlswrite('penyakitb.xlsx', '1','Sheet2','A'); else
xlswrite('penyakitb.xlsx', '0','Sheet2','A'); end
% --- Executes on button press in C.
function C_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.C,'value'); if a == 1
xlswrite('penyakitb.xlsx', '1','Sheet2','B'); else
xlswrite('penyakitb.xlsx', '0','Sheet2','B'); end
% --- Executes on button press in D.
function D_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.D,'value'); if a == 1
xlswrite('penyakitb.xlsx', '1','Sheet2','C'); else
xlswrite('penyakitb.xlsx', '0','Sheet2','C'); end
% --- Executes on button press in E.
function E_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.E,'value'); if a == 1
xlswrite('penyakitb.xlsx', '1','Sheet2','D'); else
xlswrite('penyakitb.xlsx', '0','Sheet2','D'); end
% --- Executes on button press in F.
function F_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.F,'value'); if a == 1
xlswrite('penyakitb.xlsx', '0','Sheet2','E'); end
% --- Executes on button press in G.
function G_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.G,'value'); if a == 1
xlswrite('penyakitb.xlsx', '1','Sheet2','F'); else
xlswrite('penyakitb.xlsx', '0','Sheet2','F'); end
% --- Executes on button press in H.
function H_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.H,'value'); if a == 1
xlswrite('penyakitb.xlsx', '1','Sheet2','G'); else
xlswrite('penyakitb.xlsx', '0','Sheet2','G'); end
% --- Executes on button press in I.
function I_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.I,'value'); if a == 1
xlswrite('penyakitb.xlsx', '1','Sheet2','H'); else
xlswrite('penyakitb.xlsx', '0','Sheet2','H'); end
% --- Executes on button press in J.
function J_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.J,'value'); if a == 1
xlswrite('penyakitb.xlsx', '1','Sheet2','I'); else
xlswrite('penyakitb.xlsx', '0','Sheet2','I'); end
% --- Executes on button press in K.
function K_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.K,'value'); if a == 1
xlswrite('penyakitb.xlsx', '0','Sheet2','J'); end
% --- Executes on button press in L.
function L_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.L,'value'); if a == 1
xlswrite('penyakitb.xlsx', '1','Sheet2','K'); else
xlswrite('penyakitb.xlsx', '0','Sheet2','K'); end
% --- Executes on button press in M.
function M_Callback(hObject, eventdata, handles) guidata(hObject,handles);
a=get(handles.M,'value'); if a == 1
xlswrite('penyakitb.xlsx', '1','Sheet2','L'); else
xlswrite('penyakitb.xlsx', '0','Sheet2','L'); end
% --- Executes on button press in hasil.
function hasil_Callback(hObject, eventdata, handles) tStart=tic;
input=xlsread('penyakitb.xlsx', 'Sheet2', 'A1:L7'); target = [1 0 0 0;
net = newff(minmax(input),[12 12 4], {'tansig','tansig','tansig'},'traingdx'); net = init(net);
net.IW{1,1}= xlsread('bobot1.xlsx','bobot'); net.LW{2,1}= xlsread('bobot2.xlsx','bobot'); net.LW{3,2}= xlsread('bobot3.xlsx','bobot'); net.b{1}= xlsread('bias.xlsx','bias','A1:A12'); net.b{2}= xlsread('bias.xlsx','bias','B1:B12'); net.b{3}= xlsread('bias.xlsx','bias','C1:C4'); output = sim(net,input)
if (output(1,1)<0.8) a(1,1)=0;
else
end
if isequal (a,sakit1) edit2='Lepra';
edit3='Pemeriksaan BTA'; elseif isequal (a,sakit2) edit2='Pityriasis Alba';
edit3='Pemberian Kortikosteroid topical'; elseif isequal (a,sakit3)
edit2='Pityriasis Versicolor';
edit3='Pemberian obat Ketoconazelo dan lotion selenium sulfide'; elseif isequal (a,sakit4)
edit2= 'Vitiligo';
edit3='Pemberian Hidrocortison'; else
waktu = toc(tStart);
% --- Executes on button press in keluar.
function keluar_Callback(hObject, eventdata, handles) delete(handles.figure1)
% --- Executes on button press in reset.
function reset_Callback(hObject, eventdata, handles) xlswrite('penyakitb.xlsx', '0','Sheet2','A1:L4'); function menuutama_Callback(hObject, eventdata, handles) hlmndepan
xlswrite('penyakitb.xlsx', '0','Sheet2','A1:L4'); delete(handles.figure1)
function ujibackpro_Callback(hObject, eventdata, handles) xlswrite('penyakitb.xlsx', '0','Sheet2','A1:L4');
% --- function ujikohonen_Callback(hObject, eventdata, handles) halamank2 function latihbackpro_Callback(hObject, eventdata, handles) latihbackpro
% --- function latihkohonen_Callback(hObject, eventdata, handles) pelatihan
function waktu_Callback(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white'); end
% --- function bantuan_Callback(hObject, eventdata, handles) bantuan
delete(handles.figure1)
% --- function keluar2_Callback(hObject, eventdata, handles) delete(handles.figure1)
function untitled_2_Callback(hObject, eventdata, handles) function uji_Callback(hObject, eventdata, handles)
% --- function untitled_2_Callback(hObject, eventdata, handles)
% --- function Untitled_6_Callback(hObject, eventdata, handles)
hlmndepan.m (Halaman Depan)
function varargout = hlmndepan(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ... if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1}); end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else
gui_mainfcn(gui_State, varargin{:}); end
handles.output = hObject; guidata(hObject, handles);
% UIWAIT makes hlmndepan wait for user response (see UIRESUME) % uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
function varargout = hlmndepan_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;
function Backpropagation_Callback(hObject, eventdata, handles)
% --- function menuutama_Callback(hObject, eventdata, handles) xlswrite('penyakitb.xlsx', '0','Sheet2','A1:L4');
% --- function aa_Callback(hObject, eventdata, handles)
% --- function Untitled_5_Callback(hObject, eventdata, handles) % --- function ujibackpro_Callback(hObject, eventdata, handles) backpro
xlswrite('penyakitb.xlsx', '0','Sheet2','A1:L4'); delete(handles.figure1)
% --- function ujikohonen_Callback(hObject, eventdata, handles) halamank2
xlswrite('penyakitb.xlsx', '0','Sheet2','A1:L4'); delete(handles.figure1)
% --- function latihbackpro_Callback(hObject, eventdata, handles) latihbackpro
% --- function latihkohonen_Callback(hObject, eventdata, handles) pelatihan
bantuan.m (Bantuan)
function varargout = bantuan(varargin)
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ...
'gui_OutputFcn', @bantuan_OutputFcn, ... 'gui_LayoutFcn', [] , ...
'gui_Callback', []); if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1}); end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else
gui_mainfcn(gui_State, varargin{:}); end
% End initialization code - DO NOT EDIT
% --- Executes just before bantuan is made visible.
function bantuan_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;
guidata(hObject, handles);
function varargout = bantuan_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;
function edit1_Callback(hObject, eventdata, handles)
function edit1_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white'); end
function depan_Callback(hObject, eventdata, handles) hlmndepan
delete(handles.figure1)
CURRICULUM VITAE
Nama : Rizky Ramadhansyah Harahap
Alamat Sekarang : Jl. Pertahanan, Villa Permata Indah No F25 Medan Alamat Orang tua : Jl. Khihajar Dewantara Kecamatan Padang Bolak
Kabupaten Padang Lawas Utara, SUMUT
Telp/Hp : 081361670064
Riwayat Pendidikan
2009-2013 : S1 Ilmu Komputer Universitas Sumatera Utara, Medan 2006-2009 : SMA Negeri 1 Padang Bolak
2003-2006 : Mts Swasta YPIPL
DAFTAR PUSTAKA
[1] Adhi, Djuanda. 2003. Ilmu Penyakit Kulit Dan Kelamin.Fakultas Kedokteran. Universitas Indonesia. Jakarta.
[2] Asrofa, Sadifa. 2012. Perancangan Sistem Pengenal Tanda Tangan Menggunakan
Metode Analisis Komponen Utama dan Jaringan Syaraf Tiruan Backpropagation. Tugas Akhir. Universitas Sumatera Utara.
[3] Hermawan, Arief, 2006. Jaringan Saraf Tiruan : Teori dan Aplikasi.. Andi. Yogyakarta.
[4] Jiwo Syeto, Galang. 2010. Peramalan Beban Listrik Menggunakan Jaringan Saraf
Tiruan Metode Kohonen. Tugas Akhir. Institut Teknologi sepuluh
Nopember.
[5] Josef Havel. 2013. Artificial neural networks in medical diagnosis. Jurnal.
University of Salamanca.
[6] Kiki. 2004. Analisis Jaringan Saraf Tiruan dengan Metode Backpropagation
Untuk Mendeteksi Gangguan Psikologi. Tugas akhir. Universitas Islam
Indonesia.
[7] Kusumadewi, Sri. 2004. Membangun Jaringan Syaraf Tiruan Menggunakan
Matlab & Excel Link. Graha Ilmu. Yogyakarta.
[8] Luthfie, Safie Nur. 2012. Implementasi Jaringan Saraf Tiruan Backpropagation
Pada Aplikasi Pengenalan Wajah Dengan Jarak Yang Berbeda Menggunakan MATLAB 7.0. Tugas Akhir. Universitas Gunadarma.
[9] Partogi, Donna. 2008. Pityriasis Versicolor Dan Diagnosa Bandingnya (
Ruam-ruam bercak putih pada kulit). Jurnal. Universitas Sumatera Utara.
[10] Puspitaningrum, Diyah. 2006. Pengantar Jaringan Saraf Tiruan. Andi. Yogyakarta.
[11] Siang, Jong Jek. 2005. Jaringan Syaraf Tiruan & Pemrogramannya
Menggunakan Matlab. ANDI. Yogyakarta.
[12] Yuwono, Bambang, 2011. Diagnosa gangguan saluran Pernafasan
menggunakan jaringan Syaraf Tiruan Backpropagation. Seminar
BAB III
ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Masalah
Masalah yang ada pada perancangan sistem ini adalah menentukan kecepatan dan ketepan antara metode Backpropagation dan Kohonen dalam mengidentifikasi penyakit infeksi pada kulit dengan gejala bercak putih untuk mengetahui metode mana yang cocok digunakan dalam mendiagnosa penyakit tersebut agar terhindar dari salah diagnosa dan keefesianan waktu dengan alasan sebagai berikut :
1. Untuk ketepatan dalam mendiagnosa suatu penyakit User dapat dipermudah untuk mengambil keputusan jenis penyakit apa yang diderita penderita namun banyak metode dalam jaringan syaraf tiruan sehingga saya disini mengambil dua metode untuk memperbandingkanya agar dapat diketahui metode yang paling tepat dalam mengidentifikasi penyakit tersebut.
2. Untuk mengidentifikasi suatu penyakit diperlukan waktu seefisian mungkin sehingga dibutuhkan adanya penghitungan waktu pada aplikasi tersebut agar diketahui metode mana yang dipaling cepat dalam mengidentifikasi penyakit.
Berikut adalah diagram iskhikawa untuk menggambarkan permasalahan.
Material Metode
Manusia Mesin
Menentukan metode tercepat dan dan paling tepat antara Backrpopagation dan Kohonen dalam mengidentifikasi penyakit infeksi pada
kulit dengan gejala bercak putih
Kurang tepatnya dokter Mengidetifikasi suatu
penyakit
Diperlukan waktu seefesien mungkin untuk mendiagnosa suatu
penyakit Metode Backpropagatio dan kohonen yang dapat mengidentifikasi penyakit kulit dengan gejala bercak
putih
Belum adanya metode yang membandingkan kedua metode tersebut dalam identifikasi penyakit
ini
Memamfaatkan teknologi informasi untuk membandingkan kedua
metode tersebut
3.2 Analisis Kebutuhan Sistem
Analisis kebutuhan sistem dibagi menjadi dua meliputi analisis kebutuhan fungsional dan analisis kebutuhan non-fungsional .
3.2.1 Kebutuhan Fungsional Sistem
Kebutuhan fungsional dalam membandingkan kedua metode Backpropagation dan
Kohonen adalah :
1. Sistem dapat mendiagnosa penyakit berdasarkan masukan User. 2. Sistem dapat menghitung waktu identifikasi.
3. Sistem dapat menampilkan jenis penyakit. 4. Sistem dapat menampilkan waktu identifikasi.
5. Sistem dapat menampilkan tindakan medis selanjutnya
3.2.2 Kebutuhan Non-Fungsional
Merupakan fitur yang mendukung fungsional adalah :
1. User mudah memahami dan mengerti tampilan antarmuka sistem.
2. Data yang terdapat pada sistem berupa data yang relevan, sehingga menghasilkan pengenalan yang tepat.
3. Sistem dapat menentukan jenis penyakit infeksi kulit dengan gejala bercak putih. 4. Sistem dapat dikembangkan sehingga dapat mengikuti perkembangan dunia
medis.
5. Kinerja sistem berjalan dengan menguji coba sistem tersebut dngan data yang telah diketahui hasilnya terlebih dahulu.
3.3 Analisis Proses
3.3.1 Analisis Proses Backpropagatin
Gunakan backpropagation dengan sebuah layer tersembunyi (dengan 3 unit), untuk mengenali fungsi logika XOR dengan 2 masukan X1 dan X2. Buatlah iterasi untuk menghitung bobot jaringan untuk pola pertama (X1=1, X2=1 dan t=0). Gunakan laju
pemahaman α=0.2.
Penyelesaian
Gamber 3.2 Arsitektur Backpropagation
Bobot-bobot diberikan nilai acak dengan range -1 sampai dengan 1. Missal bobot dari layer input ke layer tersembunyi seperti pada table 3.1 dan bobot-bobot dari layer tersembunyi ke layer output seperti pada table 3.2.
Langkah 0
Inisialisasi semua bobot dengan bilangan acak kecil. 1
1
W10 V10
V30 V20
W11 V11
V21
Z1 X1
V31
W12 Y1
Z2 V12
V22 X2
W13
V32
Tabel 3.1 Nilai Bobot Lapisan Masukan ke Lapisan Tersembunyi (vji)
z z1 Z2 Z3 X1 0.2 0.3 -0.1 X2 0.3 0.1 -0.1 1 -0.3 0.3 0.3
Tabel 3.2 Bobot Lapisan Masukan ke Lapisan Tersembunyi (wkj)
Y Z1 0.5 Z2 -0.3 Z3 -0.4 1 -0.1
Langkah 1
Jika kondisi penghentian belum terpenuhi, lakukan langkah 2 sampai dengan 8 Langkah 2
Untuk setiap pasang data pelatihan, lakukan langkah 3 sampai dengan 8
Fase I: Propagasi Maju Langkah 3
Tiap unit masukkan menerima sinyal dan meneruskan ke unit tersembunyi Langkah 4
𝑧𝑧𝑛𝑛𝑛𝑛𝑛𝑛 𝑗𝑗 =𝑣𝑣𝑗𝑗0+� 𝑥𝑥𝑖𝑖𝑣𝑣𝑗𝑗𝑖𝑖
Hitung semua jaringan di unit keluaran (yk)
𝑦𝑦𝑘𝑘 =𝑓𝑓(𝑦𝑦_𝑛𝑛𝑛𝑛𝑛𝑛𝑘𝑘) =
1
1 +𝑛𝑛−𝑦𝑦_𝑛𝑛𝑛𝑛𝑛𝑛𝑘𝑘 = 1
1 +𝑛𝑛−0,24 = 0,44
Fase II : Propagasi Maju Langkah 6
δk=(tk-yk) f’(y_netk)= (tk-yk) yk (1-yk)
δ1=(t1-y1) f’(y_net1)= (t1-y1) y1 (1-y1)=(0-0,44) 0,44 (1-0,44)=-0,11
Δwkj= α δk zj
Δw10= α δ1 (1)=0,2 . (-0,11) . (1)=-0,022
Δw11= α δ1 (z1)=0,2 . (-0,11) . (0,55)=-0,01
Δw12= α δ1 (z2)=0,2 . (-0,11) . (0,67)=-0,01
Δw13= α δ1 (z3)=0,2 . (-0,11) . (0,52)=-0,01
Langkah 7
Hitung factor δ unit tersembunyi berdasarkan kesalahan di setiap unit tersembunyi zj (j=1,2,3,…,p)
δ_𝑛𝑛𝑛𝑛𝑛𝑛𝑗𝑗 = �δ𝑘𝑘𝑤𝑤𝑘𝑘𝑗𝑗
𝑚𝑚
𝑘𝑘=1
δ_𝑛𝑛𝑛𝑛𝑛𝑛1 = δ1.𝑤𝑤11 = (−0,11). 0,5 =−0,055
δ_𝑛𝑛𝑛𝑛𝑛𝑛2 =δ1.𝑤𝑤12 = (−0,11). (−0,3) = 0,033
δ_𝑛𝑛𝑛𝑛𝑛𝑛3 =δ1.𝑤𝑤13 = (−0,11). (−0,4) = 0,044
Faktor kesalahan δ unit tersembunyi
δj = δ_netj f’(z_netj)= δ_net zj (1-zj)
δ2 = δ_net2 z2 (1-z2)=(0.033).0,67.(1-(0,67))=0,01
δ3 = δ_net3 z3 (1-z3)=(0.044).0,52.(1-(0,52))=0,01
Δvji=α δjxi
Δv10=α δ1=0,2*(-0,01)*1= -0,002
Δv20=α δ2=0,2*(0,01)*1=0,002
Δv30=α δ3=0,2*(0,01)*1=0,002
Δv11=α δ1x1=0,2*(-0,01)*1=-0,002
Δv21=α δ2x1=0,2*(0,01)*1=0,002
Δv31=α δ3x1=0,2*(0,01)*1=0,002
Δv12=α δ1x2=0,2*(-0,01)*1=-0,002
Δv22=α δ2x2=0,2*(0,01)*1=0,002
Δv32=α δ3x2=0,2*(0,01)*1=0,002
Fase III : Perubahan Bobot Langkah 8
Perubahan bobot garis yang menuju unit keluaran wkj (baru)= wkj (lama) + Δwkj
w10 (baru)= w10 (lama) + Δw10= -0,1-0,022=-0,122 w11 (baru)= w11 (lama) + Δw11=0,5-0,01=0,49 w12 (baru)= w12 (lama) + Δw12=-0,3-0,01=0,31 w13 (baru)= w13(lama) + Δw13=-0,4-0,01=0,41 Vji (baru)= vji(lama) + Δvji
V21 (baru)= v21 (lama) + Δv21 =0,3+0,002=0,302 V31 (baru)= v31(lama) + Δv31 =-0,1+0,002=-0,098 V12 (baru)= v12(lama) + Δv12 =0,3-0,002=0,298 V22 (baru)= v22 (lama) + Δv22 =0,1+0,002=0,102 V32 (baru)= v32 (lama) + Δv32 =-0,1+0,002=-0,098
3.3.1 Analisis Proses Kohonen
1. Diketahui 4 buah vektor x(1)=(1,1,0,0), x(2)=(0,0,0,1), x(3)=(1,0,0,0), dan x(4)=(0,0,1,1).
2. Gunakan jaringan kohonen untuk mengelompokkan 4 buah vektor tersebut kedalam maksimum 2 kelompok.
3. Gunakan laju pemehaman awal α(0)=0.6, dan α(t+1)=0.5 α(t).
4. Jari-jari vektor sekitar yang dimodifikasi = 0 (hanya vektor pemenang yang dimodifikasi bobotnya pada setiap langkah)
Jawab:
1. Inisialisasi bobot awal
a) Kolom matrik bobot —› jumlah komponen vektor=4 b) Jumlah baris —› jumlah maksimum kelompok=2 c) 𝒘𝒘= 𝟎𝟎.𝟐𝟐𝟎𝟎.𝟔𝟔𝟎𝟎.𝟓𝟓𝟎𝟎.𝟗𝟗𝟎𝟎.𝟖𝟖𝟎𝟎.𝟒𝟒𝟎𝟎.𝟕𝟕𝟎𝟎.𝟑𝟑
d) Jari =0
e) Laju pemahaman awal=0.6
2. Pelatihan tiap vektor Vektor x(1)=(1,1,0,0) D(j)= (𝒘𝒘𝒋𝒋𝒊𝒊−𝒙𝒙𝒊𝒊)𝟐𝟐𝒊𝒊
D(1)=(0.2-1)2+(0.6-1)2+(0.5-0)2+(0.9-0)2=1.86 D(2)=(0.8-1)2+(0.4-1)2+(0.7-0)2+(0.3-0)2=0.98
Minimum pada j=2, maka vektor bobot di baris kedua di modifikasi pada baris 2
W21=0.8 + 0.6(1-0.8)=0.92 W22=0.4 + 0.6(1-0.4)=0.76 W23=0.7+0.6(0-0.7)=0.28 W24=0.3+0.6(0-0.3)=0.12
Sehingga vektor bobotnya menjadi w= 0.20.60.50.90.920.760.280.12
Vektor x(2)=(0,0,0,1)
D(1)=(0.2-0)2+(0.6-0)2+(0.5-0)2+(0.9-1)2=0.66 D(2)=(0.92-0)2+(0.76-0)2+(0.28-0)2+(0.12-1)2=2.20
Minimum pada j=1, maka vektor bobot di baris kesatu di modifikasi pada baris 1 W11=0.2 + 0.6(0-0.2)=0.08
W12=0.6 + 0.6(0-0.6)=0.24 W13=0.5 + 0.6(0-0.5)=0.2 W14=0.9 + 0.6(1-0.9)=0.96
Sehingga vektor bobotnya menjadi 𝒘𝒘= 𝟎𝟎.𝟎𝟎𝟖𝟖𝟎𝟎.𝟐𝟐𝟒𝟒𝟎𝟎.𝟐𝟐𝟎𝟎.𝟗𝟗𝟔𝟔𝟎𝟎.𝟗𝟗𝟐𝟐𝟎𝟎.𝟕𝟕𝟔𝟔𝟎𝟎.𝟐𝟐𝟖𝟖𝟎𝟎.𝟏𝟏𝟐𝟐
Vektor x(3)=(1,0,0,0)
D(1)=(0.08-1)2+(0.24-0)2+(0.2-0)2+(0.96-0)2=1.78 D(2)=(0.92-1)2+(0.76-0)2+(0.28-0)2+(0.12-0)2=0.68
Minimum pada j=2, maka vektor bobot di baris kedua di modifikasi pada baris 2 W21=0.92 + 0.6(1-0.92)=0.968
W22=0.76 + 0.6(0-0.76)=0.304 W23=0.28 + 0.6(0-0.28)=0.112 W34=0.12 + 0.6(0-0.12)=0.048
Sehingga vektor bobotnya menjadi w= 0.080.240.20.960.9680.3040.1120.048
Vektor x(4)=(0,0,1,1)
D(1)=(0.08-0)2+(0.24-0)2+(0.2-1)2+(0.96-1)2=0.7056 D(2)=(0.969-0)2+(0.304-0)2+(0.112-1)2+(0.048-1)2=2.724
Minimum pada j=1, maka vektor bobot di baris kedua di modifikasi pada baris 1 W11=0.08 + 0.6(0-0.08)=0.032
W14=0.96 + 0.6(1-0.96)=0.984 Sehingga vektor bobotnya menjadi
𝒘𝒘= 𝟎𝟎.𝟎𝟎𝟑𝟑𝟐𝟐𝟎𝟎.𝟎𝟎𝟗𝟗𝟔𝟔𝟎𝟎.𝟔𝟔𝟖𝟖𝟎𝟎.𝟗𝟗𝟖𝟖𝟒𝟒𝟎𝟎.𝟗𝟗𝟔𝟔𝟖𝟖𝟎𝟎.𝟑𝟑𝟎𝟎𝟒𝟒𝟎𝟎.𝟏𝟏𝟏𝟏𝟐𝟐𝟎𝟎.𝟎𝟎𝟒𝟒𝟖𝟖
Sebelum melakukan iterasi kedua, dilakukan modifikasi laju pemahaman:
α(baru)=0.5 (0.6)=0.3
dengan cara yang sama maka diperoleh bobot: iterasi ke-2 : w= 0.005-0.170.710.990.30.020.086
iterasitersebut akan konvergen ke vektor bobot : w= 000.5110.00
Pengelompokkan vektor Vektor x(1)=(1,1,0,0)
D(1)=(0-1)2+(0-1)2+(0.5-0)2+(1-0)2=3.25 D(2)=(1-1)2+(0.5-1)2+(0-0)2+(0-0)2=0.25 Berarti x(1) masuk dalam kelompok 2 Vektor x(2)…?
Vektor x(3)…? Vektor x(4)…? x(2)=(0,0,0,1) x(3)=(1,0,0,0) x(4)=(0,0,1,1) 3.4 Pemodelan
Pemodelan pada sistem ini menggunakan UML untuk mendisain dan merancang sistem idntifikasi penyakit infeksi kulit. Adapun model- model UML yang digunakan adalah use case diagram, sequence diagram dan activity diagram.
3.4.1 Use Case Diagram
untuk mengetahui fungsi apa saja yang ada di dalam sebuah sistem informasi dan siapa saja yang berhak menggunakan fungsi – fungsi itu. Pengidentifikasian aktor dan
use case pada sistem ini dilakukan dengan menjawab pertanyaan-pertanyaan berikut:
1. Siapa yang menggunakan sistem? Jawaban: Pengguna
2. Siapa yang diperlukan untuk melaksanakan fungsi pada sistem? Jawaban: Pengguna dan programmer
3. Apa saja yang dapat dilakukan pengguna pada sistem?
Jawaban: Melakukan pelatihan dan pengujian JST dan melakukan identifikasi penyakit infeksi kulit dengan gejala bercak putih
Use case diagram berdasarkan aktor dan use case ditampilkan pada Gambar
Sistem Identifikasi Penyakit Kulit
Pelatihan JST
Uji Pengenalan
Metode Backpropagation
Metode Kohonen
Metode Kohonen Metode Backpropagation
<<include>>
<<include>>
<<include>>
<<include>>
Programer Actor
Pengguna
3.4.2. Sequence Diagram
Adalah suatu diagram yang memperlihatkan atau menampilkan interaksi-interaksi antar objek di dalam sistem yang disusun pada sebuah urutan atau rangkaian waktu. Interaksi antar objek tersebut termasuk pengguna, display, dan sebagainya berupa pesan/message. Sequence Diagram digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai sebuah respon dari suatu kejadian/even untuk menghasilkan output tertentu. Berikut ini merupakan gambaran dari sequence diagram dari sistem yang telah dirancang dan dibangun oleh penulis
Latih jst Input data
Proses Latih
Simpan Bobot
Gambar 3.4 Sequence Diagram Proses Pelatihan JST Backpropagation
Input gejala Uji Jst
Proses UJI
set string ( penyakit)
Input gejala Uji Jst
Proses UJI
set string ( penyakit)
Gambar 3.6 Sequence Diagram Proses Pengujian JST Backpropagation
Input gejala Uji Jst
Proses UJI
set string ( penyakit)
3.4.3 Activity Diagram
Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang
dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Activity diagram merupakan
state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar
transisi di-trigger oleh selesainya state sebelumnya (internal processing) Berikut ini merupakan activity digram dari sistem yang telah dirancang dan dibangun oleh penulis.
Gambar 3.8 Activity Diagram Proses Pelatihan JST Backpropagation dan Kohonen
Aktor Sistem
Aktor menekan tombol Pelatihan backpropagation/ pelatihan kohonen untuk pelatihan JST Backpropagation dan kohonen
Sistem melakukan pelatihan terhadap Data penyakit
Aktor mengisi gejala dengan menandai radio button
Sistem menyimpan nilai dari radio button sebagai input untuk pengujian dengan ditandai bernilai 1 (iya)
dan tidak ditandai 0 (tidak)
Aktor menekan tombol Hasil
Sistem melakukan pengujian Identifikasi penyakit kulit
Sistem menampilkan hasil Identifikasi penyakit kulit
Aktor
Sistem
Sistem menampilkan waktu pengujian Aktor menekan tombol reset
Sistem menyimpan nilai 0 pada nilai input
Gambar 3.9 Activity Diagram Proses Pengujian JST Backpropagation dan Kohonen
3.5 Arsitektur Jaringan Syaraf Tiruan
3.5.1 Arsitektur JST Backpropagation
Gambar 3.10 Arsitektur JST Backpropagation
3.5.2 Arsitektur JST Kohonen
Gambar 3.11 Arsitektur JST Kohonen
Gambar 3.10 menunjukkan arsitektur JST kohonen dengan 4 buah unit inputan dan 4 buah unit keluaran.
3.6 Pseudocode Program
Pseudocode adalah bahasa yang digunakan untuk menyederhanakan penulisan
algoritma. Pseudocode bukan bahasa pemrograman. Pseudocode adalah notasi yang menyerupai bahasa pemrograman tingkat tinggi. Keuntungan menggunakan notasi
pseudocode adalah kemudahan mengkonversinya lebih tepat yang disebut
mentranslasi ke notasi bahasa pemrograman, karena terdapat korespondensi antara setiap pseudocode dengan notasi bahasa pemrograman.
3.6.1. Pseudocode Proses Pelatihan JST LATIH JST Backpropagation
target ← target’
S ← jumlah hidden layer
TF ← fungsi transfer
BTF ←fungsi pelatihan
net ←newff(input, target,[S1 S2...S(N-l)],{TF1 TF2...TF(N-l)}, BTF)
[net,tr] ← train (net,input,target);
LATIH JST Kohonen
input← gejala_penyakit
target ← target’
PR : Matrix nilai minimum dan maksimum vektor masukan
S ← jumlah neuron target
KLR ← Laju pemahaman Kohonen
CLR ←Laju pemahaman Consciece
net ←newc (PR, S, KLR, CLR)
[net,tr] ← train(net,input);
3.6.2. Pseudocode Proses Pengujian JST PENGUJIAN JST Backpropagation
input← gejala penyakit
target ← target'
input←input'
net ← newff(minmax(input),[12 12 4]
net ← init(net);
output=sim(net, input)
PENGUJIAN JST Kohonen
input← gejala penyakit
input← input'
net←newsom(minmax(input),4);
net ← init(net)
3.7 Perancangan Sistem
3.7.1 Perancangan Flowchart Sistem
Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta instruksinya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol menggambarkan proses tertentu. Sedangkan hubungan antar proses digambarkan dengan garis penghubung. Flowchart ini merupakan langkah awal pembuatan program. Dengan adanya flowchart urutan poses kegiatan menjadi lebih jelas. Jika ada penambahan proses maka dapat dilakukan lebih mudah. Setelah flowchart selesai disusun, selanjutnya pemrogram (programmer) menerjemahkannya ke bentuk program dengan bahasa pemrograman. Berikut merupakan flowchart awal dari sistem yang nantinya akan dibangun .
Mulai
Input Variabel
Latihan JST
Pengujian JST
Perbandingan Metode
Selesai Hasil penguian
3.7.2 Flowchart Pelatihan Backpropagation
3.7.3 Flowchart Pelatihan Kohonen
Mulai
Masukkan max epoh
Inisialisasi bobot
Load data pelatihan dari xcel
Epoh <= max epoh
MENCARI WINNER OUTPUT
D(j) = (𝑤𝑤𝑖𝑖𝑗𝑗−𝑥𝑥𝑖𝑖)2
CARI INDEKS D(j)
MINIMUM SEBAGAI WINNER
DISPLAY BOBOT WINNER
UPDATE BOBOT
wij(new)=wij(old) + α[xi -
wij(old)]
Epoh=max epoh
Simpan bobot
Selesai
3.7.4 Flowchart Pengujian Backpropagation
Mulai
Load data pengujian
Ambil bobot terbaik
Feedforward
Denormalisasi data
Tampilkan hasil pengujian
selesai
3.7.5 Flowchart Pengujian Kohonen
Mulai
Load data pengujian
pengujian
Tampilkan hasil pengujian
Selesai
Gambar 3.16 Flowchart Pengujian Kohonen
3.7.2 Perancangan Data
Dalam perancangan data akan menjelaskan bagaimana data yang terdapat dalam sistem sesuai dengan fungsinya sebagai data input ataupun data output sistem
.3.7.2.1 Masukan
Adapun penetapan masukan didapat dari pengambilan data rekamedis di RSU H. Adam Malik Medan dan buku Adhi, Djuanda. 2003. Ilmu Penyakit Kulit Dan Kelamin.Fakultas Kedokteran. Universitas Indonesia. Jakarta. Berikut inputan jaringan syaraf tiruan untuk identifikasi penyakit infeksi pada kulit dengan gejala becak putih pada
backpropagation dan kohonen adalah sebagai berikut :
1. Lepra dengan masukan sebagai berikut :
a. Kulit tidak terasa / mati rasa
b. Kulit Menebal
c. Demam
2. Pitiriasis alba dengan masukan sebagi berikut :
a. Tidak terasa nyeri
b. Tidak terasa gatal
3. Pitiriasis versicolor dengan masukan sebagi berikut :
a. Gatal Ketika Berkeringat
b. Berawal dari bintik merah
4. Vitiligo dengan masukan sebagi berikut :
a. Tidak terasa nyeri
b. Tidak terasa gatal
c. Riwayat keluarga
d. Bercak berada di tangan / kaki e. Terasa gatal walau tidak berkeringat f. Bercak bertambah dan menyebar.
.3.7.2.2 Keluaran
Adapun penetapan keluaran jaringan syaraf tiruan untuk identifikasi penyakit infeksi pada kulit dengan gejala bercak putih adalah sebagai berikut :
Backpropagation :
5. Lepra (target 1000)
6. Pitiriasis alba (target 0100) 7. Pitiriasis versicolor (target 0010) 8. Vitiligo (target 0001)
Kohonen :
1. Lepra (kelas 1)
2. Pitiriasis alba (kelas 3) 3. Pitiriasis versicolor (kelas 2) 4. Vitiligo (kelas 4)
3.7.7 Perancangan Antarmuka (Interface)
pembuatan sistem ini dapat terlaksana. Pembuatan sistem ini menggunakan bahasa pemograman MATLAB 2007.
3.7.3.1 Form Depan
Berikut adalah rancangan tampilan Form depan.
Gambar 3.17 Rancangan Form Depan Keterangan :
1. Menu Utama
Menampilkan nama sistem yang merupakan tampilan awal dari sistem identifikasi penyakit infeksi kulit dengan gejala bercak putih.
2. Menu Pelatihan .
Berfungsi untuk melatih kedua metode JST nantinya terdapat 2 pilihan untuk pelatihan yaitu Backpropagation dan Kohonen .
3. Menu Pengujian.
4. Menu bantuan
Berfungsi untuk menghubungkan antarmuka form depan dengan antar muka bantuan
5. Menu keluar
Berfungsi untuk keluar dari sistem.
3.7.3.2 Form Metode Backpropagation
Berikut rancangan form metode Backpropagation.
1
2 3 4
5 6
7
Gambar 3.18 Rancangan Form Metode Backpropagation Keterangan :
1. Radiobutton
Merupakan tempat untuk memasukkan gejala penyakit yang akan di uji. 2. Tombol Reset
Untuk mengosongkan kembali textfield yang sebelumnya telah diisi oleh pengguna
3. Tombol Hasil
4. Tombol Keluar
Untuk kelura dari sistem
5. Textfield
Merupakan tempat keluaran hasil dari uji identifikasi penyakit infeksi kulit hasil keluarnya berupa nama penyakit
6. Textfield
Merupakan tempat keluaran hasil dari uji identifikasi penyakit infeksi kulit hasil keluarnya berupa penanggulangan penyakit
7. Textfield
Menampilkan waktu uji identifikasi penyakit infeksi pada kulit.
3.7.4.2 Form Metode Kohonen
Berikut rancangan form metode Kohonen
1
2 3 4
5 6
7
Keterangan : 1. Radiobutton
Merupakan tempat untuk memasukkan gejala penyakit yang akan di uji. 2. Tombol Reset
Untuk mengosongkan kembali textfield yang sebelumnya telah diisi oleh pengguna
3. Tombol Hasil
Untuk melakukan pengujian identifikasi yang sebelumnya telah dilatih 4. Tombol Keluar
Untuk kelura dari sistem
5. Textfield
Merupakan tempat keluaran hasil dari uji identifikasi penyakit infeksi kulit hasil keluarnya berupa nama penyakit
6. Textfield
Merupakan tempat keluaran hasil dari uji identifikasi penyakit infeksi kulit hasil keluarnya berupa penanggulangan penyakit
7. Textfield
BAB IV
IMPLEMENTASI DAN PENGUJIAN
4.1 Implementasi
Pada tahap implementasi dan pengujian terhadap sistem identifikasi penyakit infeksi pada kulit penulis membangun sistem dengan bahasa pemograman MATLAB 2007 dan menggunakan Microsoft Excel 2007 sebagai tempat penyimpanan data pelatihan. pada sistem ini terdapat 4 form yang digunakan yang mana terdiri dari form depan, form uji backpropagation, form uji kohonen dan form bantuan sedangkan untuk pelatihannya penulis tidak menggunakan form hanya berupa menu yang ada di sub menu dari menu pelatihan dan hasil pelatihan dapat dilihat di m-file Matlab 2007.
4.1.1 Form Depan
Form depan adalah form tampilan awal pada sistem identifikasi penyakit infeksi pada
kulit ini. Didalam form ini berisi keterangan judul skripsi, nama , nim penulis skripsi,
menu dan sub menu sistem yang membantu user dalam menjalankan sistem. Didalam
menu terdapat beberapa sub menu diaantaranya adalah menu pelatihan dengan sub menunya pelatihan backpropagation dan kohonen, menu pengujian dengan sub menu pengujian backpropagation dan pengujian kohonen. Berikut tampilan form depan
Pada form ini akan dilakukan pengujian metode backpropagation terhadap identifikasi penyakit infeksi pada kulit pada pengujian tersebut akan dimasukkan data yang belum dikenali oleh sistem kemudian akan dilakukan pengujian dan hasilnya adalah pengenalan sistem terhadap data yang di uji tersebut. Untuk melakukan pengujian hal pertama yang dilakukan adalah memasukkan gejala penyakit dengan cara menekan
radiobutton dan kemudian menekan tombol hasil, hasil pengujian akan menampilkan
jenis penyakit, pengobatan dan waktu pengujian. Jika ingin melakukan pengujian lainnya maka tombol reset berfungsi untuk mengosongkan nilai pada data pengujian sebelumnya. Berikut tampilan form pengujian backpropagation
Gambar 4.3 Form Pengujian Backpropagation yang telah melakukan pengujian Identifikasi penyakit infeksi pada kulit
4.1.3 Form Pengujian Kohonen
Gambar 4.4 Form Pengujian Kohonen
Gambar 4.5 Form Pengujian Kohonen yang telah melakukan pengujian Identifikasi penyakit infeksi pada kulit
From bantuan berfungsi membantu user untuk menjelaskan cara penggunaan sistem
identifikasi penyakit infeksi pada kulit. Berikut tampilan form bantuan.
Gambar 4.6 Form Bantuan
4. 2 Pengujian
Cara pengujian sistem ini adalah dengan menguji apakah sistem dapat mengidentifikasi penyakit infeksi pada kulit dengan gejala bercak putih dengan baik yang tentunya menggunakan metode backpropagati maupun metode kohonen . dengan pengujian tersebut hasil yang ingin diketahui dari judul skripsi ini dapat terselesaikan yaitu mengetahui metode mana yang lebih cepat dan tepat dalam mengidentifikasi penyakit kulit dengan gejala bercak .
Pengujian sistem dilakukan dengan 2 cara yaitu pengujian ketepan metode dalam mengidentifikasi penyakit infeksi pada kulit dengan gejala bercak putih dan yang kedua pengujian kecepatan metode dalam proses idntifikasi penyakit infeksi pada kulit dengan gejala bercak putih.
4.2.1.1 Ketepatan Identifikasi Penyakit Infeksi Pada Kulit Dengan Gejala Bercak Putih
Hasil yang dilihat dari Pengujian sistem untuk ketepatan identifikasi ini adalah sistem dapat mengetahui jenis penyakit sesuai target yang sebelumnya sudah diketahui hasilnya. Sebelum melakukan pengujian, sistem terlebih dahulu melakukan pelatihan dengan dengan melatih data pelatihan yang telah disimpan di dalam file Microsoft
office excel 2007 dengan perintah pemanggilan input =
xlsread('Datakohonen.xlsx', 'Sheet1', 'B2:M29'); dengan cara memilih submenu pada menu pelatihan berikut gambar submenu pelatihan dan hasil pelatihan metode backpropagation dan Kohonen
Gambar 4.7 Submenu Pelatihan Backpropagation
13 0 0 0 0 1 1 0 0 0 0 0 0 Pitiriasis alba
14 0 0 0 0 1 1 0 0 0 0 0 0 Pitiriasis
alba
15 0 0 0 0 0 1 0 1 0 0 0 0 Pitiriasis
versicolor
16 0 0 0 0 0 0 1 0 0 0 0 0 Pitiriasis
versicolor
17 0 0 0 0 0 0 1 1 0 0 0 0 Pitiriasis
versicolor
18 0 0 0 0 0 0 1 1 0 0 0 0 Pitiriasis
versicolor
19 0 0 0 0 0 0 1 0 0 0 0 0 Pitiriasis
versicolor
20 0 0 0 0 0 0 1 1 0 0 0 0 Pitiriasis
versicolor
21 0 0 0 0 0 0 1 1 0 0 0 0 Pitiriasis
versicolor
22 0 0 0 0 1 1 0 0 1 1 0 1 Vitiligo
23 0 0 0 0 1 1 0 0 1 1 0 1 Vitiligo
24 0 0 0 0 1 1 0 0 1 1 0 1 Vitiligo
25 0 0 0 0 1 1 0 0 0 1 0 1 Vitiligo
26 0 0 0 1 0 0 0 0 0 1 1 1 Vitiligo
27 0 0 0 1 0 0 0 0 1 1 1 1 Vitiligo
Dalam pelatihan sistem Identifikasi penyakit infeksi pada kulit dengan gejala bercak putih metode backpropagation dilakukan dengan 28 masukan dengan 4 target yakni 1000 untuk lepra, 0100 untuk pitiriasis Alba, 0010 untuk pitiriasis versicolor dan 0001 untuk vitiligo. Adapun parameter yang digunakan dalam pelatihan sistem ini yaitu menggunakan fungsi aktivasi sigmoid (biner), jumlah epoch maksimal yaitu 2000 epoch, dan goal performance yaitu 0,0001.
Sedangkan pada metode kohonen dilakukan dengan 28 masukan dengan 4 kelas yakni kelas 2 untuk lepra, kelas 3 untuk pitiriasis Alba, kelas 1 untuk pitiriasis versicolor dan kelas 4 untuk vitiligo. Data yang akan dilatih sama dengan data pada motode
backpropagation hal ini bertujuan untuk agar dapat membanding kedua metode ini.
Berikut hasil pelatihan metode kohonen.
13 0 0 0 0 1 1 0 0 0 0 0 0 Pitiriasis alba
14 0 0 0 0 1 1 0 0 0 0 0 0 Pitiriasis
alba
15 0 0 0 0 0 1 0 1 0 0 0 0 Pitiriasis
versicolor
16 0 0 0 0 0 0 1 0 0 0 0 0 Pitiriasis
versicolor
17 0 0 0 0 0 0 1 1 0 0 0 0 Pitiriasis
versicolor
18 0 0 0 0 0 0 1 1 0 0 0 0 Pitiriasis
versicolor
19 0 0 0 0 0 0 1 0 0 0 0 0 Pitiriasis
versicolor
20 0 0 0 0 0 0 1 1 0 0 0 0 Pitiriasis
versicolor
21 0 0 0 0 0 0 1 1 0 0 0 0 Pitiriasis
versicolor
22 0 0 0 0 1 1 0 0 1 1 0 1 Vitiligo
23 0 0 0 0 1 1 0 0 1 1 0 1 Vitiligo
24 0 0 0 0 1 1 0 0 1 1 0 1 Vitiligo
25 0 0 0 0 1 1 0 0 0 1 0 1 Vitiligo
26 0 0 0 1 0 0 0 0 0 1 1 1 Vitiligo
27 0 0 0 1 0 0 0 0 1 1 1 1 Vitiligo
Setelah melakukan pelatihan kemudian sistem akan di uji ketepatanya dengan inputan yang berbeda dengan inputan pelatihan berikut hasil pengujian ketepatan identifikasi penyakit infeksi pada kulit dengan gejala bercak putih.
Gambar 4.9 Sebelum Melakukan Pengujian Metode Backpropagation
Gambar 4.11 Sebelum Melakukan Pengujian Metode Kohonen
color
9 0 0 0 0 0 0 1 0 0 0 0 0 Pitirias
is versi-color
Pitirias is versi-color
Dikenali
10 0 0 0 0 1 1 0 0 1 0 0 1 Vitiligo Vitiligo Dikenali
11 0 0 0 1 0 0 0 0 1 0 1 1 Vitiligo Vitiligo Dikenali
12 0 0 0 1 0 0 0 0 1 1 0 0 Vitiligo Vitiligo Dikenali
13 1 0 0 0 0 0 0 0 0 0 0 1 lepra lepra Dikenali
14 0 0 0 0 0 1 0 0 0 0 0 0
Pitiri-asis alba
Pitiri-asis alba
Dikenali
15 0 0 0 1 0 0 0 0 0 0 0 0 Vitiligo Pitirias
is versi-color
Tidak dikenali
16 1 0 0 1 0 0 0 0 0 0 0 0 Lepra Lepra Dikenali
Berdasarkan hasil pengujian pada tabel 4.3 dan 4.4 dapat dilihat bahwa identifikasi penyakit infeksi pada kulit dengan gejala bercak putih menggunakan metode kohonen memiliki ketepatan dengan persentase 92%. Sedangkan dengan metode backpropagationn persentase ketepatannya adalah 88,2%. Perbandingan kedua metode tersebut dapat dilihat pada gambar 4.13.
Gambar 4.13 Grafik Perbandingan Ketepatan Backpropagation Dan Kohonen
Berdasarkan hasil pengujian terhadap identifikasi penyakit infeksi pada kulit dengan gejala bercak putih dengan kedua metode tersebut yaitu backpropagation dan
kohonen dapat diketahui bahwa dengan menggunakan metode backpropagation
sedikit lebih tepat dibandingkan dengan kohonen pada pengujian ini.
Pada metode backpropagation jika 1 gejala penyakit yang dimiliki oleh dua penyakit maka hasil dari sistem tersebut tidak diketahui namun untuk metode kohonen penyakit yang akan muncul adalah penyakit yang memiliki gejala yang sering muncul pada pelatihan .
Backpropagation Kohonen
0,00% 10,00%20,00%30,00%40,00%50,00%60,00%70,00%80,00%90,00%100,00%
Grafik Perbandingan Ketepatan Pengujian
Backpropagation Dan Kohonen
4.2.1.1.1 Kombinasi Inputan Pengujian Identifikasi Penyakit Infeksi Pada Kulit Dengan Gejala Bercak Putih
Kombinasi inputan pengujian identifikasi penyakit infeksi pada kulit dengan gejala bercak putih ini mengkombinasikan masing masing inputan sehingga didapat irisan dari semua inputan, untuk mendapat kombinasi tersebut maka dibuat sebuah diagram pohon dengan 4 buah penyakit (Lepra, pitiriasis alba, Pitiriasis versicolor dan
vitiligo)yang akan di uji
0
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 0
Gambar 4.14 Diagram Pohon Kombinasi Inputan
Dari diagram pohon pada gambar 4.14 maka didapat sebanyak 16 kombinasi pengujian dengan ke 4 penyakit infeksi pada kuliat dengan gejala bercak putih, berikut kombinasinya :
P =
Dari kombinasi masukan tersebut diambil sebuah kesimpulan metode kohonen lebih banyak mengenali gejala penyakit dibandingkan dengan metode backpropagation.
9 1 1 1 1 0 0 0 0 0 0 0 0 Lepra Lepra
10 1 1 1 1 0 0 0 0 1 1 1 1 lepra Tidak
dikenali
11 1 1 1 1 0 0 1 1 0 0 0 0 Lepra
Pitiri-asis versi-color
12 1 1 1 1 0 0 1 1 1 1 1 1 Lepra Tidak
dikenali
13 1 1 1 1 1 1 0 0 0 0 0 0 lepra Tidak
dikenali
14 1 1 1 1 1 1 0 0 1 1 1 1 Vitiligo Vitiligo
15 1 1 1 1 1 1 1 1 0 0 0 0 Lepra Pitirias
is versi-color
16 1 1 1 1 1 1 1 1 1 1 1 1 Vitiligo Tidak
4.2.1.2 Kecepatan Identifikasi Penyakit Infeksi Pada Kulit Dengan Gejala Bercak Putih
Perbandinngan yang ke dua yang ingin dibandingkan adalah membandingkan kecepatan kedua metode dalam mengidentifikasi penyakit infeksi pada kulit dengan gejala bercak putih. Proses pengujian metode tersebut deilakukan dengan memasukkan inputan yang sama kemudian akan dihitung waktu dalam identifikasi sampai hasilnya keluar. Berikut tabel perbandingan kecepatan antara metode
backpropagation dan kohonen
Tabel 4.6 Perbandingan Waktu Pengujian Kecepatan metode Backpropagation dan Kohonen pada Identifikasi Penyakit Infeksi Pada Kulit Dengan Gejala
detik
12 0 0 0 1 0 0 0 0 1 1 0 0 12.4014 detik 3.10727
detik
13 1 0 0 0 0 0 0 0 0 0 0 1 11.0112 detik 2.45524
detik
14 0 0 0 0 0 1 0 0 0 0 0 0 12.4095 detik 3.90879
detik
15 0 0 0 1 0 0 0 0 0 0 0 0 9.43775 detik 4.36336
detik
16 1 0 0 1 0 0 0 0 0 0 0 0 10.2108 detik 1.97646
detik
17 0 0 0 1 0 0 0 0 0 0 0 1 7.83462 detik 3.93442
detik
Waktu hasil pengujian identifikasi penyakit infeksi pada kulit dengan gejala bercak putih dengan kedua metode tersebut dapat dilihat di tabel 4.1 . berdasarkan dengan hasil tersebut metode backpropagation menguji antara 7.43775 detik samapai 12.9876 detik. Sedangkan untuk pengujian kohonen berkisar antara 1.94846 detik sampai 3.96654 detik. %.
Berdasarkan dengan hasil pengujian waktu terhadap kedua metode yaitu
backpropagation dan kohonen maka diperolah metode yang paling cepat dalam
identifikasi penyakit infeksi pada kulit dengan gejala bercak putih yaitu metode
kohonen dengan rata- rata waktu pengujian 2.812640833 detik sedangkan metode
backpropagation memiliki waktu rata- rata dalam pengujian selama 10.357415833
Gambar 4.14 Grafik Perbandingan Kecepatan Backpropagation Dan
Grafik Perbandingan Keceptan Backpropagation Dan
Kohonen
Lama pengujian Backpropagation
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Setelah melakukan perancangan, implementasi dan membandingkan kedua metode
backpropagation dan kohonen terhadap identifikasi penyakit infeksi pada kulit dengan
gejala bercak putih maka dapat ditarik beberapa kesimpulan antara lain :
1. Semakin sering melakukan pelatihan terhadap kedua metode tersebut maka tingkat ke akuratan dalam identifikasi penyakit infeksi pada kulit dengan gejala bercak putih semakin akurat.
2. Identifikasi penyakit infeksi pada kulit dengan gejala bercak putih dapat dilakukan kedua metode tersebut dengan persentase ketepatan 92% untuk metode kohonen. Sedangkan dengan metode backpropagation persentase ketepatannya adalah 88,2%.
5.2 Saran
Untuk melakukan pengembangan terhadap sistem yang telah dibangun ini, penulis menyarankan beberapa pengembangan sebagai berikut :
1. Data yang diujikan pada jaringan lebih dikembangkan dan ditambah dalam jumlah, sehingga jaringan dapat pengenal data lebih baik lagi.
2. Melakukan penelitian identifikasi penyakit infeksi pada kulit dengan gejala bercak putih dengan menggunakan metode lain yaitu seperti metode assosiative memory, metode LVQ dan lain sebagainya.
BAB II
LANDASAN TEORI
2.1 Kulit
Kulit adalah organ tubuh yang terletak paling luar dan membatasi dari lingkungan hidup manusia. Luas kulit orang dewasa 1.5 m2 dengan berat kira-kira 15% berat badan. Kulit merupakan organ yang esensial dan vital serta merupakan cermin kesehatan dan kehidupan. Kulit juga sangat kompleks. elastis dan sensitif, bervariasi pada keadaan iklim. Umur, ras dan juga bergantung pada lokasi tubuh.Banyak jenis penyakit kulit yang sering datang pada kulit manusia kebanyakan gejala dan ciri-cirinya hampir sama namun efek yang akan ditimbulkan berbeda, jenis penyakit kulit yang memiliki gejala yang sama salah satunya adalah penyakit kulit dengan gejala bercak putih yang sulit dibedakan jika dilihat dengan kasat mata, penyakit kulit yang memiliki gejala bercak putih ada 4 penyakit yaitu Lepra, Pitiriasis alba, Pitiriasis
versicolor dan Vitiligo. [1]
2.1.1 Lepra
Lepra atau kusta adalah penyakit infeksi yang kronik, penyebabnya ialah
Mycobacterium leprae yang intraselular obligat. Syaraf parifer sebagai afinitas
pertama, lalu kulit dan mukosa traktus respiratus bagian atas, kemudian dapat ke organ lain kecuali susunan syaraf pusat. [1]
2.1.2 Pitiriasis Alba
Pitiriasis Alba adalah suatu bentuk Dermatitis yang ringan. Dematitis itu sendiri
bercak-bercak warna putih di wajah, tubuh, atau di lengan tangan dan lengan kaki yang tidak gatal. [1]
Biasanya penderita datang untuk berobat ke dokter dikarenakan bercak putih ini cukup mengganggu penampilan dan mengurangi percaya diri.Kasus Pitiriasis Alba sering dijumpai tidak hanya di praktek Dokter Spesialis Kulit, namun juga praktek Dokter Umum. Sering kali salah di diagnosa dengan infeksi jamur dikarenakan secara klinis memang mirip. Pitiriasis Alba merupakan kelainan kulit dengan bercak putih bersisik halus seukuran koin sampai plakat dengan bentuk bulat, oval dan tidak teratur. Paling banyak mengenai anak-anak umur 3-16 tahun, walaupun orang dewasa juga dapat terkena.
2.1.3. Pitiriasis Versicolor
Pitiriasis versicolor adalah penyakit universal tapi lebih banyak dijupai di daerah
tropis oleh karena tingginya temperature dan kelembaban. Menyerang hampir semua usia terutama remaja, terbanyak pada usia 16-40 tahun. Tidak ada perbedaan antara pria dan wanita, walaupun di Amerika Serikat dilaporkan bahwa penderita berusia 20-30 tahun dengan perbandingan 1,09% pria dan 0,6% wanita. [9]
2.1.4. Vitiligo
Vitiligo adalah hipomelanosis idiopatik dapat ditandai dengan adanya macula putih
yang dapat meluas. Dapat mengenai seluruh bagian tubuh yang mengandungsel melasonit, misalnya rambut dan mata. [1]
2.2 Jaringan Syaraf Biologi
Jaringan syaraf biologis merupakan kumpulan dari sel-sel syaraf (neuron). [10] Neuron mempunyai tugas mengolah informasi. Neuron memiliki 3 komponen penting yaitu dendrit menerima sinyal dari neuron lain. Sinyal tersebut berupa impuls elektrik yang dikirim melalui celah sinaptik melalui proses kimiawi. Sinyal tersebut dimodifikasi (diperkuat/ diperlemah ) dicelah sinaptik. Berikutnya, soma menjumlahkan semua sinyal-sinyal yang masuk. Kalau jumlahan tersebut cukup kuat dan melebihi batas ambang (threshold), maka sinyal tersebut akan diteruskan ke sel lain melalui axon. Frekuensi penerusan sinyal berbeda-beda antara satu sel dengan yang lain[11]
2.3 Jaringan Syaraf Tiruan
Jaringan syaraf tiruan merupakan salah satu sistem pemerosesan yang dirancang dan dilatih untuk memiliki kemampuan seperti yang dimiliki oleh manusia dalam menyelesaikan persoalan yang rumit dengan melakukan proses belajar melalui perubahan bobot sinapsisnya. Jaringan syaraf mensimulasi struktur proses-proses otak (fungsi syaraf biologis) dan kemudian membawanya kepada perangkat lunak kelas baru yang dapat mengenali pola-pola yang kompleks serta belajar dari pengalaman-pengalaman masa lalu. [12] Jaringan syaraf tiruan termasuk bidang kecerdasan buatan. Jaringan syaraf tiruan banyak diterapkan dalam penelitian karena mempunyai model sistem yang non-linear di mana hubungan antara variabel tidak diketahui atau sangat kompleks. [5]
Jaringan Syaraf Tiruan merupakan sistem pemrosesan informasi yang memiliki karakteristik kemampuan yang secara umum mirip dengan jaringan syaraf biologi. Jaringan syaraf tiruan dibentuk sebagai generalisasi model matematika dari jaringan syaraf biologi, dengan asumsi bahwa. [11]:
1. Pemrosesan informasi terjadi pada banyak elemen sederhana ( neuron). 2. Sinyal dikirimkan diantara neuron-neuron melalui penghubung-penghubung.
3. Penghubung antara neuron memiliki bobot yang akan memperkuat atau memperlemah
sinyal.
Karakteristik dari jaringan syaraf tiruan adalah sebagai berikut [11]:
1. Pola hubungan antar neuron ( yang menjadi arsitekturnya).
2. Metode penentuan bobot dalam koneksi (disebut sebagai proses latihan, pembelajaran, atau Algoritma ).
3. Fungsi aktivasi.
Model dari sebuah neuron ditunjukkan pada gambar 2.1
Gambar 2.1. Model Neuron
Dari model sebuah neuron pada Gambar 2.1 dapat dituliskan persamaan:
y = f (∑𝑁𝑁𝑖𝑖=1 w * xi – ѳ) keterangan:
xi = sinyal masukan ke-i. wi = bobot hubungan ke-i.
ѳ = bias
f(.) = fungsi aktivasi atau elemen pemroses
y = sinyal keluaran. [2]
Adapun cara belajar jaringan syaraf tiruan sebagai berikut: ke dalam jaringan syaraf tiruan diinputkan informasi yang sebelumnya telah diketahui hasil keluarannya. Penginputan informasi ini dilakukan lewat node-node atau unit-unit input. Bobot-bobot antar koneksi dalam suatau arsitektur deberi nilai awal dan kemudian jaringan
syaraf tiruan dijalankan. Bobot-bobot ini bagi jaringan digunakan untuk belajar dan mengingat suatu informasi. Pengaturan bobot dilakukan secara terus menerus dan dengan kriteria tertentu sampai diperoleh keluaran yang diharapkan.
Hal yang ingin dicapai dengan melatih/mengajari jaringan syaraf tiruan adalah untuk mencapai keseimbangan antara kemampuan memoriasi dan generalisasi. Yang dimaksud dengan kemampuan memorisasi adalah kemampuan jaringan syaraf tiruan untuk memanggil kembali secara sempurna sebuah pola yang telah dipelajari. Kemampuan generalisasi. Adalah kemampuan jaringan syaraf tiruan untuk menghasilkan respons yang bisa diterima terhadap pola pola input yang serupa (namun tidak identik) dengan pola-pola yang sebelumnya telah dipelajari. Hal ini sangat bermamfaat bila pada suatu saat ke dalam jaringan syaraf tiruan itu diinputkan informasi baru yang belum pernah dipelajari, maka jaringan syaraf tiruan itu akan tetap dapat memberikan tanggapan yang baik, memberikan keluaraan yang paling mendekati. [10]
2.3.1 Komponen Dalam Jaringan Syaraf Tiruan
Pembagian arsitektur jaringan syaraf tiruan bisa dilihat dari kerangka kerja dan skema interkoneksi. Kerangka kerja jaringan syaraf tiruan bisa dilihat dari jumlah lapisan (layer) dan jumlah node pada setiap lapisan.
Lapisan-lapisan penyusun jaringan syaraf tiruan dapat dibagi menjadi tiga, yaitu: 1. Lapisan input
Node-node di dalam lapisan input disebut unit-unit input. Unit-unit input menerima input dari dunia luar. Input yang dimasukkan merupakan penggambaran dari suatu masalah.
2. Lapisan tersembunyi