LAMPIRAN LISTING PROGRAM
Beranda.m
function varargout = Beranda(varargin) % BERANDA M-file for Beranda.fig
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Beranda_OpeningFcn, ... 'gui_OutputFcn', @Beranda_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 Beranda is made visible.
function Beranda_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;
handles.citra=imread('logousu.jpg'); guidata(hObject,handles);
axes(handles.axes1); imshow(handles.citra);
% Choose default command line output for Beranda handles.output = hObject;
% Update handles structure guidata(hObject, handles);
% UIWAIT makes Beranda wait for user response (see UIRESUME) % uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line. function varargout = Beranda_OutputFcn(hObject, eventdata, handles) % Get default command line output from handles structure
varargout{1} = handles.output;
% ---function beranda_Callback(hObject, eventdata, handles)
Beranda
delete(handles.figure1)
% ---function menupelatihan_Callback(hObject, eventdata, handles)
% ---function menupengujian_Callback(hObject, eventdata, handles)
% ---function bantuan_Callback(hObject, eventdata, handles)
Bantuan
% ---function keluar_Callback(hObject, eventdata, handles)
choice= questdlg ('Apakah Anda Ingin Keluar?','Konfirmasi',... 'Ya','Tidak','Tidak'); function ujibam_Callback(hObject, eventdata, handles)
UjiBAM
delete(handles.figure1)
% ---function ujilvq_Callback(hObject, eventdata, handles)
UjiLVQ
delete(handles.figure1)
% --- function latihbam_Callback(hObject, eventdata, handles)
LatihBAM
delete(handles.figure1)
% ---function latihlvq_Callback(hObject, eventdata, handles)
LatihLVQ
delete(handles.figure1)
LatihBAM.m
function varargout = LatihBAM(varargin) % LATIHBAM M-file for LatihBAM.fig gui_Singleton = 1; 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 LatihBAM is made visible.
function LatihBAM_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;
% Update handles structure guidata(hObject, handles);
% --- Executes on button press in Kel.
function Kel_Callback(hObject, eventdata, handles) % --- Executes on button press in Keh.
% --- Executes on button press in Sak.
function Sak_Callback(hObject, eventdata, handles) % --- Executes on button press in tombollatih.
function tombollatih_Callback(hObject, eventdata, handles) tStart = tic; %untuk waktu
%1x16
target1 = [1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1]; target2 = [-1 -1 -1 -1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1]; target3 = [-1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 -1 -1 -1 -1]; target4 = [-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1]; input1 = xlsread('bam.xlsx', 'nilai', 'B1:U1'); %1x20 input2 = xlsread('bam.xlsx', 'nilai', 'B2:U2');
input3 = xlsread('bam.xlsx', 'nilai', 'B3:U3'); input4 = xlsread('bam.xlsx', 'nilai', 'B4:U4');
input5 = xlsread('bam.xlsx', 'nilai', 'B5:U5'); %1x20 input6 = xlsread('bam.xlsx', 'nilai', 'B6:U6');
input7 = xlsread('bam.xlsx', 'nilai', 'B7:U7'); input8 = xlsread('bam.xlsx', 'nilai', 'B8:U8');
input9 = xlsread('bam.xlsx', 'nilai', 'B9:U9'); %1x20 input10 = xlsread('bam.xlsx', 'nilai', 'B10:U10'); input11 = xlsread('bam.xlsx', 'nilai', 'B11:U11'); input12 = xlsread('bam.xlsx', 'nilai', 'B12:U12');
input13 = xlsread('bam.xlsx', 'nilai', 'B13:U13'); %1x20 input14 = xlsread('bam.xlsx', 'nilai', 'B14:U14');
input15 = xlsread('bam.xlsx', 'nilai', 'B15:U15'); input16 = xlsread('bam.xlsx', 'nilai', 'B16:U16');
input17 = xlsread('bam.xlsx', 'nilai', 'B17:U17'); %1x20 input18 = xlsread('bam.xlsx', 'nilai', 'B18:U18');
input19 = xlsread('bam.xlsx', 'nilai', 'B19:U19'); input20 = xlsread('bam.xlsx', 'nilai', 'B20:U20'); w1 = input1'* target1; %20x16
w2 = input2'* target1; w3 = input3'* target1; w4 = input4'* target1; w5 = input5'* target1; w6 = input6'* target2; w7 = input7'* target2; w8 = input8'* target2; w9 = input9'* target2; w10 = input10'* target2; w11 = input11'* target3; w12 = input12'* target3; w13 = input13'* target3; w14 = input14'* target3; w15 = input15'* target3; w16 = input16'* target4; w17 = input17'* target4; w18 = input18'* target4; w19 = input19'* target4; w20 = input20'* target4; %20x16
y_in16(indeks) = 1; end
if (y_in17(indeks) < 0) y_in17(indeks) = -1; else
y_in17(indeks) = 1; end
if (y_in18(indeks) < 0) y_in18(indeks) = -1; else
y_in18(indeks) = 1; end
if (y_in19(indeks) < 0) y_in19(indeks) = -1; else
y_in19(indeks) = 1; end
if (y_in20(indeks) < 0) y_in20(indeks) = -1; else
y_in20(indeks) = 1; end
end
waktupengujian = toc(tStart);
set(handles.waktulatih,'string',waktupengujian); h = msgbox('Data telah dilatih', 'Berhasil');
function namapenyakit_Callback(hObject, eventdata, handles) function namapenyakit_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
function waktulatih_Callback(hObject, eventdata, handles) function waktulatih_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end
% --- Executes on button press in tombolsimpan.
function tombolsimpan_Callback(hObject, eventdata, handles) a = get(handles.Sul,'Value');
g = get(handles.Mun,'Value'); h = get(handles.Ada,'Value'); i = get(handles.Lam,'Value'); j = get(handles.Atp,'Value'); k = get(handles.Sen,'Value'); l = get(handles.Kem,'Value'); m = get(handles.Ane,'Value'); n = get(handles.Ras,'Value'); o = get(handles.Pen,'Value'); p = get(handles.Tm,'Value'); q = get(handles.Md,'Value'); r = get(handles.Kel,'Value'); s = get(handles.Keh,'Value'); t = get(handles.Sak,'Value');
penyakit= [a b c d e f g h i j k l m n o p q r s t]; for indeks = 1 : 20
if (penyakit(indeks) == 0) penyakit(indeks) = -1; else
penyakit(indeks) = 1; end
end
nm = get(handles.namapenyakit,'String'); if (strcmp(nm , 'Radang Kerongkongan 1'))
xlswrite('bam.xlsx',penyakit,'Nilai','B1:U1'); elseif (strcmp(nm , 'Radang Kerongkongan 2')) xlswrite('bam.xlsx',penyakit,'Nilai','B2:U2'); elseif (strcmp(nm , 'Radang Kerongkongan 3')) xlswrite('bam.xlsx',penyakit,'Nilai','B3:U3'); elseif (strcmp(nm , 'Radang Kerongkongan 4')) xlswrite('bam.xlsx',penyakit,'Nilai','B4:U4'); elseif (strcmp(nm , 'Radang Kerongkongan 5')) xlswrite('bam.xlsx',penyakit,'Nilai','B5:U5');
elseif (strcmp(nm , 'Radang Lambung 1'))
xlswrite('bam.xlsx',penyakit,'Nilai','B6:U6'); elseif (strcmp(nm , 'Radang Lambung 2'))
xlswrite('bam.xlsx',penyakit,'Nilai','B7:U7'); elseif (strcmp(nm , 'Radang Lambung 3'))
xlswrite('bam.xlsx',penyakit,'Nilai','B8:U8'); elseif (strcmp(nm , 'Radang Lambung 4'))
xlswrite('bam.xlsx',penyakit,'Nilai','B9:U9'); elseif (strcmp(nm , 'Radang Lambung 5'))
xlswrite('bam.xlsx',penyakit,'Nilai','B10:U10'); elseif (strcmp(nm , 'Tukak Lambung 1'))
xlswrite('bam.xlsx',penyakit,'Nilai','B11:U11'); elseif (strcmp(nm , 'Tukak Lambung 2'))
xlswrite('bam.xlsx',penyakit,'Nilai','B12:U12'); elseif (strcmp(nm , 'Tukak Lambung 3'))
xlswrite('bam.xlsx',penyakit,'Nilai','B14:U14'); elseif (strcmp(nm , 'Tukak Lambung 5'))
xlswrite('bam.xlsx',penyakit,'Nilai','B15:U15');
elseif (strcmp(nm , 'Kanker Lambung 1'))
xlswrite('bam.xlsx',penyakit,'Nilai','B16:U16'); elseif (strcmp(nm , 'Kanker Lambung 2'))
xlswrite('bam.xlsx',penyakit,'Nilai','B17:U17'); elseif (strcmp(nm , 'Kanker Lambung 3'))
xlswrite('bam.xlsx',penyakit,'Nilai','B18:U18'); elseif (strcmp(nm , 'Kanker Lambung 4'))
xlswrite('bam.xlsx',penyakit,'Nilai','B19:U19'); elseif (strcmp(nm , 'Kanker Lambung 5'))
xlswrite('bam.xlsx',penyakit,'Nilai','B20:U20'); end
penyakit = [];
pesan = msgbox('Data telah disimpan', 'Berhasil'); % --- Executes on button press in tombolreset.
function tombolreset_Callback(hObject, eventdata, handles) set(handles.namapenyakit,'String','','Enable','on'); function beranda_Callback(hObject, eventdata, handles)
Beranda
delete(handles.figure1)
% ---function menubam_Callback(hObject, eventdata, handles)
% ---function menulvq_Callback(hObject, eventdata, handles)
% ---function bantuan_Callback(hObject, eventdata, handles)
UjiBAM.m
function varargout = UjiBAM(varargin) % UJIBAM M-file for UjiBAM.fig
gui_Singleton = 1;
'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @UjiBAM_OpeningFcn, ... 'gui_OutputFcn', @UjiBAM_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 UjiBAM is made visible.
function UjiBAM_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;
% Update handles structure guidata(hObject, handles);
% --- Outputs from this function are returned to the command line. function varargout = UjiBAM_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;
% --- Executes on button press in tombolreset.
function tombolreset_Callback(hObject, eventdata, handles) xlswrite('databam.xlsx', '0','nilai','B2:U2');
% --- Executes on button press in tombolhasil.
function tombolhasil_Callback(hObject, eventdata, handles) tStart=tic;
c = get(handles.Bat,'Value'); d = get(handles.Mua,'Value'); e = get(handles.Sua,'Value'); f = get(handles.Nye,'Value'); g = get(handles.Mun,'Value'); h = get(handles.Ada,'Value'); i = get(handles.Lam,'Value'); j = get(handles.Atp,'Value'); k = get(handles.Sen,'Value'); l = get(handles.Kem,'Value'); m = get(handles.Ane,'Value'); n = get(handles.Ras,'Value'); o = get(handles.Pen,'Value'); p = get(handles.Tm,'Value'); q = get(handles.Md,'Value'); r = get(handles.Kel,'Value'); s = get(handles.Keh,'Value'); t = get(handles.Sak,'Value');
data_uji = [a b c d e f g h i j k l m n o p q r s t]; for indeks = 1 : 20
if (data_uji(indeks) == 0) data_uji(indeks) = -1; else
data_uji(indeks) = 1; end
end
w = xlsread('bam.xlsx','bobot','A1:P20'); %20x16 output_uji = data_uji * w; %1x16
for indeks = 1 : 16
if (output_uji(indeks) < 0) output_uji(indeks) = -1; else
output_uji(indeks) = 1; end
end
output_uji
target1 = [1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1]; target2 = [-1 -1 -1 -1 1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1]; target3 = [-1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1 -1 -1 -1 -1]; target4 = [-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1];
if isequal (output_uji,target1)
set(handles.namapenyakit,'String','Radang Kerongkongan (reflux oesophagitis)');
set(handles.jenisobat,'String','Ranitidin , Omeprazole , Domperidone , Antasida , Sukralfat');
elseif isequal (output_uji,target2)
set(handles.jenisobat,'String','Omeprazole , Antasida , Bismuth , Amoxixilin , Claritromixin)');
elseif isequal (output_uji,target3)
set(handles.namapenyakit,'String','Tukak Lambung-Usus (ulcus pepticum)');
set(handles.jenisobat,'String','Antasida , Bismuth , Sukralfat , Ranitidin , Omeprazole');
elseif isequal (output_uji,target4)
set(handles.namapenyakit,'String','Kanker Lambung');
set(handles.jenisobat,'String','Kemoterapi , Radiasi , Operasi'); else
set(handles.namapenyakit,'String','Tidak Dikenali'); end
waktupengujian = toc(tStart);
set(handles.waktuuji,'string',waktupengujian); % --- Executes on button press in Sul.
function Sul_Callback(hObject, eventdata, handles)
% --- Executes on button press in Per.
function Per_Callback(hObject, eventdata, handles)
% --- Executes on button press in Bat.
function Bat_Callback(hObject, eventdata, handles)
% --- Executes on button press in Mua.
function Mua_Callback(hObject, eventdata, handles)
% --- Executes on button press in Sua.
function Sua_Callback(hObject, eventdata, handles) % --- Executes on button press in Nye.
function Nye_Callback(hObject, eventdata, handles)
% --- Executes on button press in Mun.
function Mun_Callback(hObject, eventdata, handles) % --- Executes on button press in Ada.
function Ada_Callback(hObject, eventdata, handles)
% --- Executes on button press in Lam.
function Lam_Callback(hObject, eventdata, handles) % --- Executes on button press in Atp.
function Atp_Callback(hObject, eventdata, handles) % --- Executes on button press in Sen.
function Sen_Callback(hObject, eventdata, handles) % --- Executes on button press in Kem.
LatihLVQ.m
function varargout = LatihLVQ(varargin) % LATIHLVQ M-file for LatihLVQ.fig gui_Singleton = 1;
'gui_OpeningFcn', @LatihLVQ_OpeningFcn, ... 'gui_OutputFcn', @LatihLVQ_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 on button press in Sak.
function Sak_Callback(hObject, eventdata, handles) % --- Executes on button press in tombolreset.
function tombolreset_Callback(hObject, eventdata, handles) xlswrite('datalvq.xlsx', '0','nilai','B2:U2');
function namapenyakit_Callback(hObject, eventdata, handles)
% --- Executes during object creation, after setting all properties. function namapenyakit_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white'); end
% --- Executes on button press in tombolsimpan.
function tombolsimpan_Callback(hObject, eventdata, handles) a = get(handles.Sul,'Value');
d = get(handles.Mua,'Value'); e = get(handles.Sua,'Value'); f = get(handles.Nye,'Value'); g = get(handles.Mun,'Value'); h = get(handles.Ada,'Value'); i = get(handles.Lam,'Value'); j = get(handles.Atp,'Value'); k = get(handles.Sen,'Value'); l = get(handles.Kem,'Value'); m = get(handles.Ane,'Value'); n = get(handles.Ras,'Value'); o = get(handles.Pen,'Value'); p = get(handles.Tm,'Value'); q = get(handles.Md,'Value'); r = get(handles.Kel,'Value'); s = get(handles.Keh,'Value'); t = get(handles.Sak,'Value');
penyakit= [a b c d e f g h i j k l m n o p q r s t]; for indeks = 1 : 20
if (penyakit(indeks) == 0) penyakit(indeks) = -1; else
penyakit(indeks) = 1; end
end
nm = get(handles.namapenyakit,'String'); if (strcmp(nm , 'Radang Kerongkongan 1'))
xlswrite('lvq.xlsx',penyakit,'Nilai','B1:U1'); elseif (strcmp(nm , 'Radang Kerongkongan 2')) xlswrite('lvq.xlsx',penyakit,'Nilai','B2:U2'); elseif (strcmp(nm , 'Radang Kerongkongan 3')) xlswrite('lvq.xlsx',penyakit,'Nilai','B3:U3'); elseif (strcmp(nm , 'Radang Kerongkongan 4')) xlswrite('lvq.xlsx',penyakit,'Nilai','B4:U4'); elseif (strcmp(nm , 'Radang Kerongkongan 5')) xlswrite('lvq.xlsx',penyakit,'Nilai','B5:U5');
elseif (strcmp(nm , 'Radang Lambung 1'))
xlswrite('lvq.xlsx',penyakit,'Nilai','B6:U6'); elseif (strcmp(nm , 'Radang Lambung 2'))
xlswrite('lvq.xlsx',penyakit,'Nilai','B7:U7'); elseif (strcmp(nm , 'Radang Lambung 3'))
xlswrite('lvq.xlsx',penyakit,'Nilai','B8:U8'); elseif (strcmp(nm , 'Radang Lambung 4'))
xlswrite('lvq.xlsx',penyakit,'Nilai','B9:U9'); elseif (strcmp(nm , 'Radang Lambung 5'))
xlswrite('lvq.xlsx',penyakit,'Nilai','B10:U10');
elseif (strcmp(nm , 'Tukak Lambung 1'))
elseif (strcmp(nm , 'Tukak Lambung 2'))
xlswrite('lvq.xlsx',penyakit,'Nilai','B12:U12'); elseif (strcmp(nm , 'Tukak Lambung 3'))
xlswrite('lvq.xlsx',penyakit,'Nilai','B13:U13'); elseif (strcmp(nm , 'Tukak Lambung 4'))
xlswrite('lvq.xlsx',penyakit,'Nilai','B14:U14'); elseif (strcmp(nm , 'Tukak Lambung 5'))
xlswrite('lvq.xlsx',penyakit,'Nilai','B15:U15');
elseif (strcmp(nm , 'Kanker Lambung 1'))
xlswrite('lvq.xlsx',penyakit,'Nilai','B16:U16'); elseif (strcmp(nm , 'Kanker Lambung 2'))
xlswrite('lvq.xlsx',penyakit,'Nilai','B17:U17'); elseif (strcmp(nm , 'Kanker Lambung 3'))
xlswrite('lvq.xlsx',penyakit,'Nilai','B18:U18'); elseif (strcmp(nm , 'Kanker Lambung 4'))
xlswrite('lvq.xlsx',penyakit,'Nilai','B19:U19'); elseif (strcmp(nm , 'Kanker Lambung 5'))
xlswrite('lvq.xlsx',penyakit,'Nilai','B20:U20'); end
penyakit = [];
pesan = msgbox('Data telah disimpan', 'Berhasil'); function waktu_Callback(hObject, eventdata, handles) % hObject handle to waktu (see GCBO)
% --- 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
% --- Executes on button press in tombollatih.
function tombollatih_Callback(hObject, eventdata, handles) tStart = tic; %untuk waktu
%target 1 x 20
input1 = xlsread('lvq.xlsx', 'nilai', 'B1:U1'); %1x20 input2 = xlsread('lvq.xlsx', 'nilai', 'B2:U2');
input3 = xlsread('lvq.xlsx', 'nilai', 'B3:U3'); input4 = xlsread('lvq.xlsx', 'nilai', 'B4:U4');
input5 = xlsread('lvq.xlsx', 'nilai', 'B5:U5'); %1x20 input6 = xlsread('lvq.xlsx', 'nilai', 'B6:U6');
input7 = xlsread('lvq.xlsx', 'nilai', 'B7:U7'); input8 = xlsread('lvq.xlsx', 'nilai', 'B8:U8');
input13 = xlsread('lvq.xlsx', 'nilai', 'B13:U13'); %1x20 input14 = xlsread('lvq.xlsx', 'nilai', 'B14:U14');
input15 = xlsread('lvq.xlsx', 'nilai', 'B15:U15'); input16 = xlsread('lvq.xlsx', 'nilai', 'B16:U16');
input17 = xlsread('lvq.xlsx', 'nilai', 'B17:U17'); %1x20 input18 = xlsread('lvq.xlsx', 'nilai', 'B18:U18');
input19 = xlsread('lvq.xlsx', 'nilai', 'B19:U19'); input20 = xlsread('lvq.xlsx', 'nilai', 'B20:U20'); pola = [input1 ; input2 ; input3 ; input4; input5 ; input6 ; input7 ; input8 ; input9 ; input10; input11; input12; input13 ; input14 ; input15 ; input16 ; input17; input18; input19; input20]; kelas = [1 ; 2 ; 3 ; 4];
while epoch <= max_epoch
for j = 1 : 20
pesan = msgbox('Data telah dilatih', 'Berhasil');
% ---LatihBAM
delete(handles.figure1)
% ---function ujibam_Callback(hObject, eventdata, handles)
UjiBAM
delete(handles.figure1)
UjiLVQ.m
function varargout = UjiLVQ(varargin) % UJILVQ M-file for UjiLVQ.fig
gui_Singleton = 1; 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{:});
% --- Executes on button press in tombolreset.
set(handles.Nye,'Value',0); set(handles.Mun,'Value',0); set(handles.Ada,'Value',0); set(handles.Lam,'Value',0); set(handles.Atp,'Value',0); set(handles.Sen,'Value',0); set(handles.Kem,'Value',0); set(handles.Ane,'Value',0); set(handles.Ras,'Value',0); set(handles.Pen,'Value',0); set(handles.Tm,'Value',0); set(handles.Md,'Value',0); set(handles.Kel,'Value',0); set(handles.Keh,'Value',0); set(handles.Sak,'Value',0);
% --- Executes on button press in tombolhasil.
function tombolhasil_Callback(hObject, eventdata, handles) tStart=tic;
a = get(handles.Sul,'Value'); b = get(handles.Per,'Value'); c = get(handles.Bat,'Value'); d = get(handles.Mua,'Value'); e = get(handles.Sua,'Value'); f = get(handles.Nye,'Value'); g = get(handles.Mun,'Value'); h = get(handles.Ada,'Value'); i = get(handles.Lam,'Value'); j = get(handles.Atp,'Value'); k = get(handles.Sen,'Value'); l = get(handles.Kem,'Value'); m = get(handles.Ane,'Value'); n = get(handles.Ras,'Value'); o = get(handles.Pen,'Value'); p = get(handles.Tm,'Value'); q = get(handles.Md,'Value'); r = get(handles.Kel,'Value'); s = get(handles.Keh,'Value'); t = get(handles.Sak,'Value');
penyakit= [a b c d e f g h i j k l m n o p q r s t]; for indeks = 1 : 20
if (penyakit(indeks) == 0) penyakit(indeks) = -1; else
penyakit(indeks) = 1; end
end
w1_awal = xlsread('lvq.xlsx', 'bobot', 'B3:U3'); w2_awal = xlsread('lvq.xlsx', 'bobot', 'B4:U4'); w3_awal = xlsread('lvq.xlsx', 'bobot', 'B5:U5'); w4_awal = xlsread('lvq.xlsx', 'bobot', 'B6:U6'); for i = 1 : 20
bobot1 = bobot1 + ((penyakit(i) - w1_awal(i))^2); bobot2 = bobot2 + ((penyakit(i) - w2_awal(i))^2); bobot3 = bobot3 + ((penyakit(i) - w3_awal(i))^2); bobot4 = bobot4 + ((penyakit(i) - w4_awal(i))^2); end
matriks =[ bobot1 bobot2 bobot3 bobot4]; if (min(matriks) == bobot1)
namapenyakit ='Radang Kerongkongan (reflux oesophagitis)'; jenisobat ='Ranitidin , Omeprazole , Domperidone , Antasida , Sukralfat';
elseif (min(matriks) == bobot2)
namapenyakit ='Radang lambung (gastritis)';
jenisobat ='Omeprazole , Antasida , Bismuth , Amoxixilin , Claritromixin';
elseif (min(matriks) == bobot3)
namapenyakit ='Tukak Lambung-Usus (ulcus pepticum)'; jenisobat ='Antasida , Bismuth , Sukralfat , Ranitidin , Omeprazole ';
elseif (min(matriks) == bobot4) namapenyakit ='Kanker Lambung';
jenisobat ='Kemoterapi , Radiasi , Operasi'; else
namapenyakit ='Tidak Dikenali'; end
set(handles.namapenyakit,'string',namapenyakit); set(handles.jenisobat,'string',jenisobat);
guidata(hObject, handles); waktupengujian = toc(tStart);
set(handles.waktuuji,'string',waktupengujian);
function namapenyakit_Callback(hObject, eventdata, handles)
% --- Executes during object creation, after setting all properties. function namapenyakit_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white') Bantuan.m
function varargout = Bantuan(varargin) % BANTUAN M-file for Bantuan.fig
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Bantuan_OpeningFcn, ... 'gui_OutputFcn', @Bantuan_OutputFcn, ... 'gui_LayoutFcn', [] , ...
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1}); end
% ---function keluar_Callback(hObject, eventdata, handles)
choice= questdlg ('Apakah Anda Ingin Keluar?','Konfirmasi',... 'Ya','Tidak','Tidak');
switch choice case 'Ya' close all; end
% ---function ujibam_Callback(hObject, eventdata, handles)
UjiBAM
delete(handles.figure1)
% ---function ujilvq_Callback(hObject, eventdata, handles)
UjiLVQ
delete(handles.figure1)
% ---function latihbam_Callback(hObject, eventdata, handles)
LatihBAM
delete(handles.figure1)
% ---function latihlvq_Callback(hObject, eventdata, handles)
LatihLVQ
CURRICULUM VITAE
Nama : Kh Nisa Dewi
Alamat Sekarang : Jl. Darussalam Sei Musi No 50A
Alamat Orang Tua : P.Siantar
Telp/ Hp : 085370425333
Email : khnisadewi@gmail.com
Riwayat Pendidikan
2011 – 2015 : S1 Ilmu Komputer Universitas Sumatera Utara, Medan
2008 – 2011 : SMA Negeri 1 Dolok Batu Nanggar
2005 – 2008 : SMP Negeri 1 Dolok Batu Nanggar
1999 – 2005 : SD Negeri 091663 Laras
Keahlian/Kursus yang diikuti
DAFTAR PUSTAKA
Anifah, L. 2009. Pengenalan Plat Mobil Indonesia menggunakan Learning Vector
Quantization. Jurnal Fisika dan Aplikasinya Volume 5, Nomor 1. Universitas
Negeri Surabaya.
Arifin, Z. 2009. Jaringan Syaraf Tiruan Bidirectional Associative Memory (BAM)
Sebagai Identifikasi Pola Sidik Jari Manusia. Jurnal. Samarinda : Universitas
Mulawarman.
Astuti, E. D. 2009. Pengantar Jaringan Saraf Tiruan. STAR PUBLISHING. Jateng.
Aziz, A. & Kurniawan, T. 2006. Identifikasi Pola Sidik Jari dengan Jaringan Syaraf
Tiruan Bidirectional Associative Memory. Jurnal. Universitas Gadjah Mada
Chartier, S. 2006. A Bidirectional Heteroassociative Memory for Binary and
Grey-Level Patterns. Journal IEEE Transactions on Neural Networks, Vol. 17, No. 2.
Hermawan, A. 2006. Jaringan Saraf Tiruan, Teori dan Aplikasi. ANDI. Yogyakarta.
Kosko, B. 1988. Bidirectional Associative Memory. Journal IEEE Transactions on
System, Man, and Cybernetics 18(1) : 49 - 60.
Kurniati, Y. 2014. Implementasi Metode Bidirectional Associative Memory Pada
Absensi Berbasis Identifikasi Wajah. Skripsi. Ilmu Komputer. USU.
Kusumadewi, S. 2005. Membangun Jaringan Syaraf Tiruan Menggunakan Matlab &
Excel Link. Graha Ilmu: Yogyakarta.
Kuwati. 2009. Sistem Pakar Pendeteksi Penyakit Saluran Pencernaan Pada Manusia
Menggunakan Metode Forward Chaining dan Visual Basic 2010. Jurnal TransIT
Volume 1 Nomer 1. Universitas Semarang.
Puspitaningrum, D. 2006. Pengantar Jaringan Saraf Tiruan. Penerbit Andi:
Yogyakarta.
Sahat, S. 2012. Panduan Penggunaan Obat. Jakarta; Rosemata Publisher.
Siahaan, A. 2011. Pengenalan Karakter Dan Manajemen Database Pada Formulir
Isian Menggunakan Jaringan Syaraf Tiruan Dengan Metode Learning Vector
Quantization (Lvq). TugasAkhir. Ilmu Komputer. USU.
Siang, J.J. 2005. Jaringan Syaraf Tiruan & Pemrogramannya Menggunakan Matlab.
ANDI. Yogyakarta.
Suyanto. 2014. Artificial Intelligence. Informatika : Bandung.
T, Subekti. & Utami, M.S. 2011. Metode Relaksasi Untuk Menurunkan Stres Dan
Keluhan Tukak Lambung Pada Penderita Tukak Lambung Kronis. Jurnal
Psikologi. Volume 38, No.2. Universitas Gadjah Mada.
Tjay, T. H.& Rahardja, K. 2005. Obat-obat Penting Khasiat, Penggunaan, dan
BAB 3
ANALISIS DAN PERANCANGAN SISTEM
3.1. Analisis Sistem
Analisis sistem adalah suatu tahapan sistem yang dilakukan untuk membantu
memahami suatu masalah dan apa yang akan menjadi kebutuhan sistem. Tujuannya
adalah untuk membantu mengetahui masalah yang ada dan merancang model suatu
sistem yang nantinya akan dibangun sehingga menjadi tepat guna.
3.1.1. Analisis masalah
Masalah yang ada pada perancangan sistem ini adalah membandingkan kecepatan
dan ketepatan antara algoritma Bidirectional Associative Memory dan Learning
Vector Quantization dalam menentukan obat penyakit saluran cerna lambung-usus
yang bertujuan untuk mengetahui algoritma mana yang lebih tepat digunakan dalam
menentukan obat yang tepat berdasarkan diagnosa penyakit saluran cerna
lambung-usus. Dengan alasan sebagai berikut :
1. Penyakit saluran cerna lambung-usus merupakan penyakit dalam yang harus
segera ditangani pengobatannya agar tidak menjadi lebih kronis.
2. Jenis obat yang digunakan untuk meringankan penyakit saluran cerna lambung
usus adalah Antasida, Ranitidin, Omeprazole, Domperidone, Sukralfat,
Bismuth, Amoxixilin, Claritromixin, Kemoterapi, Radiasi, dan Operasi. Oleh
karena itu, dibutuhkan waktu seefisien mungkin untuk menentukan jenis obat
dari penyakit saluran cerna lambung-usus dan dibutuhkan pencatat waktu
untuk mencatat dan mengetahui algoritma mana yang lebih cepat dalam
menentukan obat penyakit saluran cerna lambung-usus.
3. Penyakit saluran cerna lambung-usus seperti radang kerongkongan, radang
lambung, tukak lambung, dan kanker lambung memiliki gejala yang hampir
a. Gejala penyakit Radang Kerongkongan (Reflux Oesophagitis)
1. Sulit menelan
2. Perasaan asam atau pahit dimulut
3. Batuk
4. Mual
5. Suara serak
6. Nyeri di ulu hati
7. Muntah
b. Gejala penyakit Radang Lambung (Gastritis)
1. Nyeri di ulu hati
2. Muntah
3. Adanya gangguan pada pencernaan
4. Nyeri lambung
5. Adakalanya terjadi pendarahan
6. Kembung dan mual
7. Rasa penuh di ulu hati (cepat kenyang)
c. Gejala penyakit Tukak Lambung-Usus (Ulcus Pepticum)
1. Nyeri di ulu hati
2. Muntah
3. Sendawa
4. Kembung dan mual
5. Anemia
6. Rasa penuh di ulu hati (cepat kenyang)
7. Pendarahan lambung
d. Gejala penyakit Kanker Lambung
1. Sulit menelan
2. Nyeri di ulu hati
3. Tidak mau makan
4. Muntah darah
5. Keluar BAB dengan warna hitam pekat
6. Kehilangan berat badan mendadak
Oleh karena itu, dibutuhkan ketepatan hasil agar jenis obat yang dibutuhkan
sesuai dengan diagnosa penyakit yang dialami. Dan dalam menentukan
ketepatan hasil dari diagnosa penyakit, maka diperlukan aturan yang harus
diperhatikan yaitu ;
1. Untuk menentukan diagnosa penyakit maka lihat terebih dahulu seberapa
besar gejala yang dialami pasien terhadap suatu penyakit.
Sebagai contoh pasien lebih banyak mengalami gejala penyakit radang
kerongkongan dibandingkan dengan penyakit lain maka pasien termasuk
ke dalam penyakit radang kerongkongan. Begitu juga untuk gejala
penyakit yang lainnya.
2. Jenis obat yang akan digunakan berdasarkan diagnosa penyakit bukan
berdasarkan gejala penyakit. Jadi jenis obat sudah dikelompokkan ke
dalam tiap masing-masing penyakit.
Penyebab dan dampak dari permasalahan tersebut diperlihatkan pada diagram
Ishikawa pada Gambar 3.1.
Manusia Metode
Material Teknologi
Menentukan metode tercepat dan paling tepat dalam menentukan obat dari penyakit saluran cerna
lambung-usus Bahasa Pemrograman
Matlab BAM dan LVQ Diperlukan diagnosa
penyakit untuk menentukan jenis obat
yang tepat
Metode BAM dan LVQ untuk menetukan jenis obat
penyakit saluran cerna lambung-usus
Gambar 3.1. Diagram Ishikawa Analisis Permasalahan
3.1.2. Analisis kebutuhan sistem
Analisis kebutuhan sistem meliputi analisis kebutuhan fungsional sistem dan analisis
kebutuhan non-fungsional sistem.
3.1.2.1.Kebutuhan fungsional sistem
Kebutuhan fungsional yang harus dimiliki oleh sistem penentuan obat penyakit
1. Sistem dapat mendiagnosa penyakit berdasarkan masukan user (pengguna).
2. Sistem dapat menentukan jenis obat berdasarkan hasil diagnosa penyakit.
3. Sistem dapat menampilkan nama penyakit dan jenis obat.
4. Sistem dapat menampilkan waktu pelatihan.
5. Sistem dapat menampilkan waktu uji.
3.1.2.2.Kebutuhan non-fungsional sistem
Kebutuhan non-fungsional yang dimiliki oleh sistem adalah :
1. Interface sistem mudah dipahami oleh user (pengguna).
2. Sistem dapat dioperasikan dengan mudah oleh user.
3. Data yang terdapat pada sistem merupakan data yang relevan, sehingga dapat
menghasilkan pengenalan yang tepat.
4. Cara kerja sistem dilakukan dengan menguji coba sistem tersebut dengan data
yang telah diketahui hasilnya terlebih dahulu.
3.1.3. Analisis proses sistem
Sistem ini menggunakan dua algoritma yaitu Bidirectional Associative Memory dan
Learning Vector Quantization. Algoritma tersebut bertujuan untuk menentukan obat
penyakit saluran cerna lambung-usus. Berikut ini adalah contoh bagaimana penerapan
algoritma Bidirectional Associative Memory dan Learning Vector Quantization.
3.1.3.1. Analisis proses Bidirectional Associative Memory
Pada proses BAM, input (masukan) dari data pelatihan ada 20 data berupa gejala
umum penyakit, dan target yang diinginkan ada 4 klasifikasi penyakit yaitu radang
kerongkongan, radang lambung, tukak lambung, dan kanker lambung beserta jenis
obat dari penyakit tersebut seperti antasida, ranitidine, omeprazole, domperidone,
sukralfat, bismuth, amoxixilin, claritromixin. lansoprazole. Kenapa 20 data gejala
penyakit ? Karena semakin banyak data yang dilatih maka akan semakin banyak pula
mengenali pola yang lain. Inputan gejala yang dipilih akan di ubah ke dalam bentuk
vektor. Dengan kondisi jika checkbox diberi tanda maka akan bernilai 1 dan yang
tidak diberi tanda akan bernilai -1 karena algoritma BAM menggunakan fungsi
Untuk proses selanjutnya , di dalam sistem ini akan melatih sebanyak 20
neuron sebagai masukan dan 4 neuron sebagai hasil keluaran. Kemudian matriks
bobot dihitung berdasarkan hasil transpose setiap masukan dikali dengan setiap hasil
keluaran. Setelah itu dilakukan pemanggilan pola input untuk mengecek apakah
hasilnya sesuai dengan target output yang telah ditentukan. Sedangkan untuk tahap
pengujian, dilakukan perhitungan untuk mencari nilai masukan yang akan diuji
dengna cara mengalikan output yang telah ditentukan dengan hasil transpose bobot
yang sudah didapat sebelumnya. Setelah dilakukan perhitungan maka dapat dilihat
apakah hasilnya akan sesuai dengan target output atau tidak, jika ya maka akan
dikenali penyakit dan jenis obatnya dan jika tidak maka sebaliknya.
Untuk lebih jelas lagi berikut adalah contoh sederhana dari algoritma BAM
dalam melakukan pelatihan dan pengujian terhadap suatu pola.
Misalnya dalam menentukan obat penyakit saluran cerna lambung-usus dibutuhkan
gejala-gejala yang dialami penderita , dimana gejala tersebut dapat diartikan sebagai
pola input, sedangkan penyakit beserta obatnya merupakan pola output.
1. Atur pola input dan pola output
Misalkan ada 2 pola input berupa gejala penyakit dan 2 pola output sebagai
berikut :
Pola 1 : Gejala 1
x1: 1 1 1 1 –1 1 1 1 1 y1 -1 1
Pola 2 : Gejala 2
x2 : 1 –1 1 –1 1 –1 1 -1 1 y2 1 1
2. Hitung matriks bobot dari pola X ke pola Y
Matriks bobot untuk pola 1:
Matriks bobot untuk pola 2 :
w1 = x2t *y2
Matriks bobot tersebut merupakan penghubung antara neuron-neuron di lapisan
input dengan neuron-neuron di lapisan output. Sedangkan matriks bobot yang
menghubungkan antara neuron-neuron di lapisan output ke neuron-neuron yang
3. Recall pola input
Tentukan nilai yi dengan membandingkan nilai y_ini dengan threshold
Jika y_ini >= maka yi = 1
Misalkan kita ingin menguji bobot tersebut dengan pola input ke-1 yaitu gejala 1,
maka output yang dihasilkan adalah :
10 8
1), maka dari hasil pengujian didapat nilai y1 = [-1 1], yaitu sesuai dengan target
Karena (y_in2(1) = 10 > 0, maka y2(1) = 1) dan (y_in2(2) = 8 > 0, maka y2(2) = 1),
maka dari hasil pengujian didapat nilai y2 = [1 1], yaitu sesuai dengan target yang
diharapkan.
4. Balik arah, cari nilai x_ini
Sekarang kita balik, dimana y digunakan sebagai input untuk mendapatkan x
Setelah dilakukan perhitungan ternyata hasilnya sesuai dengan target, yaitu gejala
1.
Setelah dilakukan perhitungan ternyata hasilnya sesuai dengan target, yaitu gejala
2.
3.1.3.2. Analisis Proses Learning Vector Quantization
Sama halnya dengan algoritma BAM, di dalam proses algoritma LVQ juga akan
dimasukkan 20 data dan juga 4 target kelas yang akan digunakan nantinya. Berikut
adalah contoh proses pelatihan algoritma LVQ.
Misalnya dalam menentukan obat penyakit saluran cerna lambung-usus
dibutuhkan gejala-gejala yang dialami penderita , dimana gejala tersebut dapat
diartikan sebagai input vektor, sedangkan penyakit beserta obatnya merupakan kelas
yang akan ditentukan.
Contoh penerapan algoritma LVQ :
1. Misalkan inisialisasi bobot (bobot awal) :
w1 : 1 1 1 1 0 kelas 1
α : 0,05
MaxEpoch: 10
Penurunan α : 0,1*α(lama)
2. Misalnya diketahui 3 input vektor sebagai berikut :
x1: 1 1 1 01
x2 : 1 0 0 0 0
x3: 1 0 1 1 1
Penetapan kondisi awal :
Epoch : 0
Error : 1
3. Untuk epoch ke-1
- Data ke-1 adalah x1: (1 1 1 0 1)
Bobot ke-1 = = 1,4
Bobot ke-2 = = 1
Dari data ke-1 jarak terkecil terdapat pada bobot ke-2, maka target data ke-1 =
kelas ke-2 dan bobot ke-2 baru adalah :
w11(baru) = w11(lama) + α[x11– w11 (lama)] = 1+0,5*(1-1) = 1
w12(baru) = w12(lama) + α[x12 – w12 (lama)] = 0+0,5*(1-0) = 0,5
w13(baru) = w13(lama) + α[x13 – w13 (lama)] = 1+0,5*(1-1) = 1
w14(baru) = w14(lama) + α[x14 – w14 (lama)] = 0+0,5*(0-0) = 0
w15(baru) = w15(lama) + α[x15 – w15 (lama)] = 1+0,5*(1-1) = 1
Sehingga,w2 = (1 0,5 1 0 1) dan w1 = (1 1 1 1 0)
- Data ke-2 adalah x2 : (1 0 0 0 0)
Bobot ke-1 = = 1,7
Bobot ke-2 = = 1,5
Dari data ke-2 jarak terkecil terdapat pada bobot ke-2, maka target data ke-2 =
kelas ke-2 dan bobot ke-2 baru adalah :
w11(baru) = w11(lama) + α[x11 – w11 (lama)] = 1+0,5*(1-1) = 1
w12(baru) = w12(lama) + α[x12 – w12 (lama)] = 0,5+0,5*(0-0,5) = 0,25
w13(baru) = w13(lama) + α[x13 – w13 (lama)] = 1+0,5*(0-1) = 0,5
w15(baru) = w15(lama) + α[x15 – w15 (lama)] = 1+0,5*(0-1) = 0,5
Sehingga, w2 = (1 0,25 0,5 0 0,5) dan w1 = (1 1 1 1 0)
- Data ke-3 adalah x3:(1 0 1 1 1)
Bobot ke-1 = = 1,4
Bobot ke-2 =
=1,25
Dari data ke-3 jarak terkecil terdapat pada bobot ke-2, maka target data ke-2 =
kelas ke-2 dan bobot ke-2 baru adalah :
w11(baru) = w11(lama) + α[x11 – w11 (lama)] = 1+0,5*(1-1) = 1
w12(baru) = w12(lama) + α[x12 – w12 (lama)] = 0,25+0,5*(0-0,25) = 0,125
w13(baru) = w13(lama) + α[x13 – w13 (lama)] = 1+0,5*(1-0,5) = 1,25
w14(baru) = w14(lama) + α[x14 – w14 (lama)] = 1+0*(1-0) = 1
w15(baru) = w15(lama) + α[x15 – w15 (lama)] = 1+0,5*(1-0,5) = 1,25
Sehingga w2 = (1 0,1251,25 11,25) dan w1 = (1 1 1 1 0)
Sebelum masuk keepoch ke-2 maka α diupdate yaitu :
α = 0,1*α(lama)
= 0,1*0,05
= 0,005
… dst sampai dengan epoch ke-10
Misalnya setelah epoch ke-10 di dapat bobot :
w2 = (1 0,125 1,25 1 1,25) dan
w1 = (1 1 1 1 0)
Maka jika ingin menguji vektor inputan baru misalnya (1 1 1 1 1), dilakukanlah
perhitungan untuk mencari jarak terdekatnya :
Bobot ke-1 = = 1
Bobot ke-2 =
= 0,9437
Dari inputan tersebut jarak terkecil terdapat pada bobot ke-2, maka target inputan
3.2. Pemodelan Sistem
Secara umum, sistem penentuan obat penyakit saluran cerna lambung-usus ini terdiri
dari 2 proses, yaitu proses pelatihan inputan dan proses pengujian inputan. Pemodelan
kedua proses tersebut akan digambarkan melalui UML (Unified Modelling Language)
yang mencakup use case diagram, activity diagran, dan sequence diagram.
Pemodelan sistem ini berfungsi untuk menggambarkan proses sistem dan bagaimana
sistem bekerja dalam menentukan obat penyakit saluran cerna lambung-usus dengan
menggunakan perbandingan algoritma Bidirectional Associative Memory dan
Learning Vector Quantization.
3.2.1. Use case diagram
Use case diagram menggambarkan interaksi yang ada pada sistem, baik antara sistem,
maupun pengguna sistem dengan eksternal sistem sebagai suatu urutan tindakan yang
memberikan nilai terukur untuk aktor (pengguna).
Berikut adalah use case diagram dari sistem penentuan obat penyakit saluran
cerna lambung-usus.
Gambar 3.2 Use Case Diagram Sistem Penentu Obat Penyakit Saluran Cerna
3.2.1.1.Use case pelatihan BAM
Berikut adalah dokumentasi naratif dari pelatihan algoritma BAM.
Tabel 3.1 Dokumentasi Naratif Use Case Pelatihan BAM
Nama Use case Proses Pelatihan BAM
Aktor Pengguna
Deskripsi Use case ini mendeskripsikan proses pelatihan untuk
menentukan obat penyakit saluran cerna lambung-usus.
Prakondisi Sistem sudah masuk kedalam tampilan antarmuka
pelatihan dan sudah siap menerima masukan dari Jaringan Syaraf Tiruan.
Bidang Khas
Aksi Aktor Respon Sistem
1. Pengguna memilih tombol Menu Algoritma BAM.
5. Sistem menunjukkan pilihan Sub-Menu Algoritma BAM. 6. Pengguna memilih
sub-menu Pelatihan.
7. Sistem menampilkan antarmuka pelatihan BAM.
8. Pengguna
memasukkan data gejala penyakit dengan mencontreng checkbox dan mengetikkan nama penyakitkemudian menekan tombol Simpan.
9. Sistem menyimpan data kedalam file (bam.xlsx) , kemudian memunculkan message box“data berhasil disimpan”.
10. Pengguna menekan tombol Latih BAM.
11. Sistem melakukan pelatihan dan menampilkan hasil pelatihan.
Bidang Alternatif
12. Pengguna akan
memilih tombol Reset.
13. Sistem akan menghapus data gejala umum penyakit.
14. Pengguna akan memilih tombol Keluar.
15. Sistem akan mengakhiri aplikasi.
Post-Kondisi Sistem akan menampilkan hasil pelatihan berupa waktu
3.2.1.2.Use case pengujian BAM
Berikut adalah dokumentasi naratif dari pengujian algoritma BAM.
Tabel 3.2 Dokumentasi Naratif Use Case Pengujian BAM
Nama Use case Proses Pengujian BAM
Aktor Pengguna
Deskripsi Use case ini mendeskripsikan proses Pengujian untuk
menentukan obat penyakit saluran cerna lambung-usus.
Prakondisi Sistem sudah masuk kedalam tampilan antarmuka dan
sudah siap menerima masukan dari Jaringan Saraf Tiruan.
Bidang Khas
Aksi Aktor Respon Sistem
1. Pengguna memilih tombol Menu Algoritma BAM.
2. Sistem menunjukkan pilihan sub-menu Algoritma BAM.
3. Pengguna memilih sub-menu Pengujian.
4. Sistem menampilkan antarmuka pengujian BAM. 5. Pengguna memasukkan
data gejala penyakit dengan mencontreng checkbox kemudian menekan tombol Hasil.
6. Sistem menyimpan data kedalam file (bam.xlsx) , kemudian memunculkan hasil pengujian.
Bidang Alternatif
7. Pengguna akan memilih tombol Reset.
8. Sistem akan menghapus data gejala umum penyakit. 9. Pengguna akan memilih
tombol Keluar.
10. Sistem akan mengakhiri aplikasi.
Post-Kondisi Sistem akan menampilkan hasil pengujian berupa nama
3.2.1.3.Use case pelatihan LVQ
Berikut adalah dokumentasi naratif dari pelatihan algoritma LVQ.
Tabel 3.3 Dokumentasi Naratif Use Case Pelatihan LVQ
Nama Use case Proses Pelatihan LVQ
Aktor Pengguna
Deskripsi Use case ini mendeskripsikan proses pelatihan untuk
menentukan obat penyakit saluran cerna lambung-usus.
Prakondisi Sistem sudah masuk kedalam tampilan antarmuka
pelatihan dan sudah siap menerima masukan dari Jaringan Syaraf Tiruan.
Bidang Khas
Aksi Aktor Respon Sistem
1. Pengguna memilih tombol Menu Algoritma LVQ.
2. Sistem menunjukkan pilihan Sub-Menu Algoritma LVQ. 3. Pengguna memilih
sub-menu Pelatihan.
4. Sistem menampilkan antarmuka pelatihan LVQ.
5. Pengguna memasukkan data gejala penyakit dengan mencontreng
6. Sistem menyimpan data kedalam file (lvq.xlsx) , kemudian memunculkan message box “data berhasil disimpan”.
7. Pengguna menekan tombol Latih LVQ.
8. Sistem melakukan pelatihan dan menampilkan hasil pelatihan.
Bidang Alternatif
9. Pengguna akan
memilih tombol Reset.
10. Sistem akan menghapus data gejala umum penyakit.
11. Pengguna akan
memilih tombol Keluar.
12. Sistem akan mengakhiri aplikasi.
3.2.1.4.Use case pengujian LVQ
Berikut adalah dokumentasi naratif dari pengujian algoritma LVQ.
Tabel 3.4 Dokumentasi Naratif Use Case Pengujian LVQ
Nama Use case Proses Pengujian LVQ
Aktor Pengguna
Deskripsi Use case ini mendeskripsikan proses Pengujian untuk
menentukan obat penyakit saluran cerna lambung-usus.
Prakondisi Sistem sudah masuk kedalam tampilan antarmuka dan
sudah siap menerima masukan dari Jaringan Syaraf Tiruan.
Bidang Khas
Aksi Aktor Respon Sistem
1. Pengguna memilih tombol Menu Algoritma LVQ.
2. Sistem menunjukkan pilihan sub-menu Algoritma LVQ.
3. Pengguna memilih sub-menu Pengujian.
4. Sistem menampilkan antarmuka pengujian LVQ.
5. Pengguna memasukkan data gejala penyakit dengan mencontreng checkbox kemudian menekan tombol Hasil.
6. Sistem menyimpan data kedalam file (lvq.xlsx) , memunculkan hasil pengujian.
Bidang Alternatif
7. Pengguna akan memilih tombol Reset.
8. Sistem akan menghapus data gejala umum penyakit.
9. Pengguna akan memilih tombol Keluar.
10. Sistem akan mengakhiri aplikasi.
Post-Kondisi Sistem akan menampilkan hasil pengujian berupa nama
3.2.2. Activity diagram
Activity diagram adalah diagram yang menggambarkan aktivitas-aktivitas, objek, dan
alur aktivitas dari sebuah sistem. Dengan kata lain activity diagram menggambarkan
alur logika dari use case dan langkah-langkah kerja sistem secara berurutan.
Berikut adalah activity diagram dari sistem penentuan obat penyakit saluran
cerna lambung-usus.
3.2.2.1. Activity diagram proses pelatihan BAM
Berikut adalah activity diagram dari prses pelatihan algoritma BAM.
3.2.2.2. Activity diagram proses pengujian BAM
Berikut adalah activity diagram dari prses pengujian algoritma BAM.
3.2.2.3. Activity diagram proses pelatihan LVQ
Berikut adalah activity diagram dari prses pelatihan algoritma LVQ.
3.2.2.4. Activity diagram proses pengujian LVQ
Berikut adalah activity diagram dari prses pengujian algoritma LVQ.
3.2.3. Sequence diagram
Sequence diagram adalah diagram yang menjelaskan interaksi objek yang disusun
berdasarkan urutan waktu. Dengan kata lain, sequence diagram adalah gambaran
tahap demi tahap, termasuk kronologi (urutan) perubahan secara logis dari sistem.
Berikut adalah sequence diagram dari sistem penentuan obat penyakit saluran
cerna lambung-usus.
3.2.3.1. Sequence diagram proses pelatihan BAM
Gambar 3.7 Sequence Diagram Proses Pelatihan BAM
3.2.3.2. Sequence diagram proses pengujian BAM
3.2.3.3. Sequence diagram proses pelatihan LVQ
Gambar 3.9 Sequence Diagram Proses Pelatihan LVQ
3.2.3.4. Sequence diagram proses pengujian LVQ
3.3. Pseudocode Program
Pseudocode adalah deskripsi dari algoritma pemrograman komputer yang
menggunakan struktur sederhana dari beberapa bahasa pemrograman yang hanya
ditulis dalam bahasa universal dan lebih ringkas agar mudah dipahami.
3.3.1. Pseudocode Algoritma BAM
Pelatihan BAM
Pengujian BAM
Input<- data gejala umum penyakit
Neuron = 20
set <- target (y)
bobot(w) = input’*target y = input’*w
if (y_in < 0) y_in = -1; else
y_in = 1; end
Input <- data_uji
input <- bobot target kelas
output_uji = data_uji*w
set <- target
if (output_uji < 0) nama penyakit;
jenis obat; else
3.3.2. Pseudocode Algoritma LVQ
Pelatihan LVQ
Pengujian LVQ
Input <- data gejala umum penyakit
set <- bobot awal (w_awal)
kelas = 1;2;3;4
while epoch <= max_epoch for i = 1 : 20
for j = 1 : 20
w_baru = w_lama + ((pola(i,j) - w_lama(j))^2); end
w_baru = sqrt(w_baru); data = [w_baru];
if (min(data) == w_baru) for j = 1 : 20
w_baru(j) = w_awal(j) + a *(pola(i,j)–w_awal(j)); end
w_awal = w_baru; end
epoch = epoch + 1; a = 0.1 * a;
end
Input <- data_uji
Penyakit = data_uji
set <- w_awal = 0
input <- w_lama
for i = 1 : 20
w_baru = w_awal + ((penyakit(i) - w_awal(i))^2); end
matriks = [bobot]
if (min(matriks)== w_baru) nama penyakit;
jenis obat; else
3.3. Flowchart Sistem
Flowchart adalah gambar yang dilengkapi dengan simbol-simbol, dan setiap simbol
memiliki arti dan fungsi yang berbeda. Pada umumnya flowchart digunakan untuk
menggambarkan alur dari sebuah proses dan hubungannya. Tujuannya adalah untuk
menggambarkan kerja dari suatu algoritma atau kerja suatu sistem, sehingga mudah
dipahami.
3.4.1. Flowchart sistem secara umum
Flowchart sistem menggambarkan seluruh aktivitas yang dapat dilakukan sistem.
Adapun flowchart sistem secara umum dapat dilihat pada gambar 3.11.
Mulai
Input gejala-gejala penyakit saluran cerna
lambung-usus
Pelatihan algoritma BAM dan LVQ
Pengujian Algoritma BAM dan LVQ
Perbandingan Algoritma BAM dan LVQ berdasarkan kecepatan dan ketepatan dalam menentukan jenis obat penyakit saluran cerna
lambung-usus
Nama penyakit dan jenis obat
Selesai
3.4.2. Flowchart Algoritma BAM
Adapun flowchart AlgoritmaBAM dapat dilihat pada gambar 3.12.
Mulai
Tetapkan pola input (x), target (y)
Hitung matriks bobot (Wij) dari x ke y
Panggil pola input (xi) untuk menguji target (y_in) berdasarkan bobot (Wij)
Jika (y_in) >= 0 (yi) = -1
(yi) = 1
Balik arah cari nilai x_in
(xi) = 1
Jika (x_in) >= 0 (xi) = -1
Pola output
Selesai
ya
ya
ya
tidak tidak
Jika xi = yi
tidak
3.4.3. Flowchart Algoritma LVQ
Adapun flowchart AlgoritmaLVQ dapat dilihat pada gambar 3.13.
Mulai
Tetapkan Bobot awal, Target kelas, MaxEpoch, Parameter Learning rate
(α), Pengukuran Learning rate
(Decα), Minimal Learning rate
(Minα)
Input Data (Xij)
Epoch <= MaxEpoch && α >= Minα
Tentukan J, hingga di dapat bobot terdekat
Jika target sama dengan kelas
Dekatkan dengan input (tambah bobot)
Jaukan dengan input (kurangi bobot)
Kurangi nilai learning rate α
Bobot Akhir
Selesai
ya
ya
tidak
tidak
3.5. Perancangan Data
3.5.1. Perancangan masukan untuk Algoritma BAM dan LVQ
Penetapan masukan jaringan saraf tiruan untuk menentukan obat penyakit saluran
cerna lambung-usus adalah sebagai berikut.
1. X1 (Sulit menelan)
2. X2 (Perasaan asam atau pahit di mulut)
3. X3 (Batuk)
4. X4 (Mual)
5. X5 (Suara serak)
6. X6 (Nyeri di ulu hati)
7. X7 (Muntah)
8. X8 (Adanya gangguan pada pencernaan)
9. X9 (Nyeri lambung)
10.X10 (Adakalanya terjadi pendarahan)
11.X11 (Sendawa)
12.X12 (Kembung dan mual)
13.X13 (Anemia)
14.X14 (Rasa penuh di ulu hati atau cepat kenyang)
15.X15 (Pendarahan lambung)
16.X16 (Tidak mau makan)
17.X17 (Muntah darah)
18.X18 (Keluar BAB dengan warna hitam pekat)
19.X19 (Kehilangan berat badan mendadak)
20.X20 (Sakit kronis pada bagian perut)
3.5.2. Perancangan keluaran untuk Algoritma BAM dan LVQ
Penetapan keluaran untuk menentukan obat penyakit saluran cerna lambung-usus
adalah sebagai berikut.
1. Y1 (radang kerongkongan (reflux oesophagitis)) dan jenis obat (Ranitidin,
2. Y2 (radang lambung (gastritis)) dan jenis obat (Omeprazole, Antasida,
Bismuth, Amoxixilin, Claritromixin).
3. Y3 (tukak lambung-usus (ulcus pepticum)) dan jenis obat (Antasida,
Bismuth, Sukralfat, Ranitidin, Omeprazole).
4. Y4 (kanker lambung) dan jenis obat (Kemoterapi, Radiasi, Operasi).
3.6. Perancangan Antarmuka Sistem
Sistem penentuan obat penyakit saluran cerna lambung-usus ini dirancang dengan
menggunakan bahasa pemrograman Matlab. Perancangan antarmuka sistem bertujuan
untuk memudahkan user dalam memahami dan mengoperasikan sistem.
3.6.1. Antarmuka awal
Antarmuka awal sistem adalah tampilan utama ketika sistem dijalankan. Rancangan
antarmuka awal pada sistem dapat dilihat pada Gambar 3.14
.
Gambar 3.14 Tampilan Antarmuka Awal 1
6
2 3 4 5
7
Keterangan :
1. Beranda
Berfungsi untuk tampilan awal dari sistem penentuan obat penyakit saluran cerna
lambung-usus.
2. Menu Algoritma BAM
Berfungsi untuk menuju antarmuka pelatihan dan pengujian BAM.
3. Menu Algoritma LVQ
Berfungsi untuk menuju antarmuka pelatihan dan pengujian LVQ.
4. Menu Bantuan
Berfungsi untuk menampilkan halaman berisi informasi bantuan untuk
menjalankan sistem.
5. Menu Keluar
Berfungsi untuk keluar langsung dari sistem.
6. Textfield Judul
Berfungsi untuk menampilkan judul skripsi.
7. Axes Logo
Berfungsi untuk menampilkan gambar logo fakultas pada sistem.
8. Textfield Nama
3.6.2. Antarmuka Algoritma BAM
Gambar 3.15 Tampilan Antarmuka Pelatihan Algoritma BAM
Keterangan :
1. Textfield Judul
Berfungsi menampilkan judul halaman pelatihan algoritma BAM.
2. Radiobutton Gejala Umum Penyakit
Berfungsi sebagai pilihan untuk diisi sesuai dengan gejala penyakit.
3. Textfield Nama Penyakit
Berfungsi sebagai tempat untuk mengetik nama penyakit.
4. Tombol Simpan
Berfungsi untuk menyimpan hasil dari Radiobutton Gejala dan Textfield Hasil. 5. Tombol Latih BAM
Berfungsi untuk melatih sistem dengan algoritma BAM.
6. Textfield Waktu Latih
Berfungsi untuk menampilkan waktu pelatihan sistem.
7. Tombol Reset
Berfungsi untuk mengembalikan kondisi Radiobutton Gejala dan Textfield Nama Penyakit ke kondisi awal.
1
2 3
4
5
Gambar 3.16 Tampilan Antarmuka Pengujian Algoritma BAM
Keterangan :
1. Textfield Judul
Berfungsi menampilkan judul halaman pengujian BAM.
2. Radiobutton Gejala Umum Penyakit
Berfungsi sebagai pilihan untuk diisi sesuai dengan gejala penyakit.
3. Tombol Hasil
Berfungsi untuk melakukan pengujian identifikasi penyakit.
4. Textfield Nama Penyakit
Untuk menampilkan hasil identifikasi penyakit.
5. Textfield Jenis Obat
Untuk menampilkan jenis obat hasil identifikasi penyakit.
6. Textfield Waktu Uji
Berfungsi untuk menampilkan waktu pengujian sistem.
7. Tombol Reset
Berfungsi untuk mengembalikan kondisi Radiobutton Gejala dan Textfield Hasil. 1
2
3
4
5
6
3.6.3. Antarmuka Algoritma LVQ
Gambar 3.17 Tampilan Antarmuka Pelatihan Algoritma LVQ
Keterangan:
1. Textfield Judul
Berfungsi menampilkan judul halaman pelatihan algoritma LVQ.
2. Radiobutton Gejala Umum Penyakit
Berfungsi sebagai pilihan untuk diisi sesuai dengan gejala penyakit.
3. Textfield Nama Penyakit
Berfungsi sebagai tempat untuk mengetik nama penyakit.
4. Tombol Simpan
Berfungsi untuk menyimpan hasil dari Radiobutton Gejala dan Textfield Hasil.
5. Tombol Latih LVQ
Berfungsi untuk melatih sistem dengan algoritma LVQ.
6. Textfield Waktu Latih
Berfungsi untuk menampilkan waktu pelatihan sistem.
7. Tombol Reset
Berfungsi untuk mengembalikan kondisi Radiobutton Gejala dan Textfield
Hasil ke kondisi awal.
1
2 3
4
5
6
Gambar 3.18 Tampilan Antarmuka Pengujian Algoritma LVQ
Keterangan:
1. Textfield Judul
Berfungsi menampilkan judul halaman pengujian LVQ.
2. Radiobutton Gejala Umum Penyakit
Berfungsi sebagai pilihan untuk diisi sesuai dengan gejala penyakit.
3. Tombol Hasil
Berfungsi untuk melakukan pen gujian identifikasi penyakit .
4. Textfield Hasil
Untuk menampilkan hasil identifikasi penyakit.
5. Textfield Jenis Obat
Untuk menampilkan jenis obat hasil identifikasi penyakit.
6. Textfield Waktu Uji
Berfungsi untuk menampilkan waktu pengujian sistem.
7. Tombol Reset
Berfungsi untuk mengembalikan kondisi Radiobutton Gejala dan Textfield Hasil. 1
2
3
4
5
3.6.4. Antarmuka Bantuan
Gambar 3.19 Tampilan Antarmuka Bantuan Penggunaan Sistem
Keterangan : 1. Text Judul
Berisi judul halaman bantuan.
2. Textfield Bantuan
Berfungsi untuk menampilkan informasi bantuan penggunaan sistem.
3.6.5. Antarmuka Keluar
Gambar 3.20 Tampilan Antarmuka Keluar Dari Sistem 1
2 3
1
Keterangan :
1. Textfield Pertanyaan Keluar
Berisi pertanyaan ‘Apakah Anda Ingin Keluar?’
2. Tombol Ya
Berfungsi menjawab ‘Ya’ pada konfirmasi untuk keluar dari sistem.
3. Tombol Tidak
BAB 4
IMPLEMENTASI DAN PENGUJIAN SISTEM
4.1. Implementasi Sistem
Pada tahap implementasi sistem perbandingan algoritma Bidirectional Associative
Memory (BAM) dan Learning Vector Quantization (LVQ) dalam menentukan obat
penyakit saluran cerna lambung-usus, penulis membangun sistem dengan program
Matlab serta Microsofft Excel 2007 sebagai tempat penyimpanan data pelatihan
sistem. Pada sistem ini terdapat 6 form yang akan digunakan yaitu terdiri dari form
Beranda, form LatihBAM, form LatihLVQ, form UjiBAM, form UjiLVQ, dan form
Bantuan.
4.1.1. Tampilan antarmuka sistem
Sistem penentuan obat penyakit saluran cerna lambung-usus diimplementasikan dalam
beberapa tampilan antarmuka yaitu terdiri dari antarmuka Beranda, antarmuka
Algoritma BAM yang terdiri dari pelatihan dan pengujian BAM, antarmuka
Algoritma LVQ yang terdiri dari pelatihan dan pengujian LVQ antarmuka Bantuan
dan antarmuka Keluar.
4.1.1.1. Antarmuka Beranda sistem
Antarmuka Beranda adalah form antarmuka yang pertama kali muncul ketika sistem
dijalankan. Antarmuka Beranda ini terdiri dari menu Algoritma BAM dengan
submenu Pelatihan dan Pengujian, menu Algoritma LVQ dengan submenu Pelatihan
dan Pengujian, menu Bantuan, dan menu Keluar. Tampilan antarmuka Beranda
Gambar 4.1 Menu Beranda Sistem
4.1.1.2. Antarmuka latih BAM
Pada form antarmuka latih BAM terdiri dari beberapa bagian yaitu bagian input gejala
umum penyakit yang terdiri dari 20 checkbox, textfield nama penyakit untuk
memasukkan nama penyakit, tombol simpan untuk menyimpan data gejala dan nama
penyakit, tombol latih BAM untuk melakukan pelatihan data, textfield waktu latih
untuk menampilkan waktu pelatihan, dan tombol Reset untuk mengembalikan
checkbox gejala dan textfield nama penyakit ke kondisi awal. Tampilan antarmuka
Gambar 4.2 Form Latih BAM
Saat membuka tampilan latih BAM , maka hal yang dilakukan pertama kali
adalah memberi tanda pada gejala umum penyakit dengan cara memilih gajala
penyakit yang dialami pasien dan mengetikkan nama penyakit berdasarkan hasil
diagnosa pasien. Kemudian tekan tombol Simpan untuk menyimpan data, jika sudah
selesai maka akan menampilkan pesan seperti message box yang akan ditunjukkan
pada Gambar 4.3.
Gambar 4.3. Form Berhasil Simpan
Ketika data telah berhasil disimpan, maka dapat dilakukan pelatihan BAM
dengan menekan tombol Latih BAM. Waktu hasil latih BAM akan ditampilkan pada
4.1.1.3. Antarmuka uji BAM
Pada form antarmuka uji BAM terdiri dari beberapa bagian yaitu bagian input gejala
umum penyakit yang terdiri dari 20 checkbox, tombol Hasil, textfield nama penyakit
untuk menampilkan nama penyakit, textfield jenis obat untuk menampilkan jenis obat,
textfield waktu uji untuk menampilkan waktu pengujian, dan tombol Reset untuk
mengembalikan checkbox gejala penyakit, textfield nama penyakit, textfield jenis obat,
dan textfield waktu uji ke kondisi awal. Tampilan antarmuka Uji BAM sebelum diuji
ditunjukkan pada Gambar 4.4.
Gambar 4.4 Form Sebelum Pengujian BAM
Proses pengujian BAM dilakukan dengan cara memberi tanda pada gejala
umum penyakit. Kemudian tekan tombol Hasil untuk melakukan proses pengujian
BAM. Hasil dari proses pengujian tersebut adalah tampilan nama penyakit
berdasarkan gejala yang dialami pasien, tampilan jenis obat yang berisi jenis obat
yang dapat meringankan gejala penyakit, dan tampilan waktu yang mencatat berapa
lama waktu yang dibutuhkan dalam proses pengujian menggunakan algoritma BAM.
Sedangkan tombol Reset digunakan jika user ingin melakukan pengujian dengan
Gambar 4.5 Form Setelah Pengujian BAM
4.1.1.4. Antarmuka latih LVQ
Pada form antarmuka latih LVQ terdiri dari beberapa bagian yaitu bagian input gejala
umum penyakit yang terdiri dari 20 checkbox, textfield nama penyakit untuk
memasukkan nama penyakit, tombol simpan untuk menyimpan data gejala dan nama
penyakit, tombol latih LVQ untuk melakukan pelatihan data, textfield waktu latih
untuk menampilkan waktu pelatihan, dan tombol Reset untuk mengembalikan
checkbox gejala dan textfield nama penyakit ke kondisi awal. Tampilan antarmuka
Gambar 4.6 Form Latih LVQ
Saat membuka tampilan latih LVQ , maka hal yang dilakukan pertama kali
adalah memberi tanda pada gejala umum penyakit dengan cara memilih gajala
penyakit yang dialami pasien dan mengetikkan nama penyakit berdasarkan hasil
diagnosa pasien. Kemudian tekan tombol Simpan untuk menyimpan data, jika sudah
selesai maka akan menampilkan pesan seperti message box yang akan ditunjukkan
pada Gambar 4.7.
Gambar 4.7. Form Berhasil Simpan
4.1.1.5. Antarmuka uji LVQ
Pada form antarmuka uji LVQ terdiri dari beberapa bagian yaitu bagian input gejala
untuk menampilkan nama penyakit, textfield jenis obat untuk menampilkan jenis obat,
textfield waktu uji untuk menampilkan waktu pengujian, dan tombol Reset untuk
mengembalikan checkbox gejala penyakit, textfield nama penyakit, textfield jenis obat,
dan textfield waktu uji ke kondisi awal. Tampilan antarmuka Uji LVQ sebelum diuji
ditunjukkan pada Gambar 4.8.
Gambar 4.8 Form Sebelum Pengujian LVQ
Proses pengujian LVQ dilakukan dengan cara memberi tanda pada gejala
umum penyakit. Kemudian tekan tombol Hasil untuk melakukan proses pengujian
LVQ. Hasil dari proses pengujian tersebut adalah tampilan nama penyakit berdasarkan
gejala yang dialami pasien, tampilan jenis obat yang berisi jenis obat yang dapat
meringankan gejala penyakit, dan tampilan waktu yang mencatat berapa lama waktu
yang dibutuhkan dalam proses pengujian menggunakan algoritma LVQ. Sedangkan
tombol Reset digunakan jika user ingin melakukan pengujian dengan gejala yang lain.
Gambar 4.9 Form Setelah Pengujian LVQ
4.1.1.6. Antarmuka bantuan
Form antarmuka Bantuan berisi tentang informasi sistematis dalam menggunakan
sistem. Di dalamnya terdapat penjelasan tentang cara penggunaan sistem secara rinci
dengan tujuan untuk membantu user dalam mengoperasikan sistem. Tampilan
antarmuka Bantuan ditunjukkan pada Gambar 4.10.