• Tidak ada hasil yang ditemukan

Perbandingan Algoritma Bidirectional Associative Memory dan Learning Vector Quantization Dalam Menentukan Obat Penyakit Saluran Cerna Lambung-Usus

N/A
N/A
Protected

Academic year: 2017

Membagikan "Perbandingan Algoritma Bidirectional Associative Memory dan Learning Vector Quantization Dalam Menentukan Obat Penyakit Saluran Cerna Lambung-Usus"

Copied!
119
0
0

Teks penuh

(1)

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

(2)

% ---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.

(3)

% --- 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

(4)
(5)
(6)

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');

(7)

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'))

(8)

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;

(9)

'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;

(10)

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)

(11)

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;

(12)

'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');

(13)

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'))

(14)

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');

(15)

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

(16)

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.

(17)

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

(18)

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', [] , ...

(19)

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

(20)

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

(21)

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.

(22)

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

(23)

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

(24)

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

(25)

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

(26)

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

(27)

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:

(28)

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

(29)

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

(30)

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

(31)

α : 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

(32)

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

(33)

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

(34)

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

(35)

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

(36)

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.

(37)

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

(38)

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.

(39)

3.2.2.2. Activity diagram proses pengujian BAM

Berikut adalah activity diagram dari prses pengujian algoritma BAM.

(40)

3.2.2.3. Activity diagram proses pelatihan LVQ

Berikut adalah activity diagram dari prses pelatihan algoritma LVQ.

(41)

3.2.2.4. Activity diagram proses pengujian LVQ

Berikut adalah activity diagram dari prses pengujian algoritma LVQ.

(42)

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

(43)

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

(44)

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

(45)

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

(46)

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

(47)

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

(48)

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

(49)

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,

(50)

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

(51)

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

(52)

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

(53)

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

(54)

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

(55)

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

(56)

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

(57)

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

(58)

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

(59)

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

(60)

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

(61)

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

(62)

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

(63)

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

(64)

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.

(65)

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.

Gambar

Gambar 3.2 Use Case Diagram Sistem Penentu Obat Penyakit Saluran Cerna
Tabel 3.1 Dokumentasi Naratif Use Case Pelatihan BAM
Gambar 3.3 Activity Diagram Proses Pelatihan BAM
Gambar 3.5 Activity Diagram Proses Pelatihan LVQ
+7

Referensi

Dokumen terkait

[r]

Pada penelitian ini juga didapatkan bahwa ihu-ihu yang selalu kawatir akan masa depan rumah tangga dan anak, dan kurangmandiri lain cendcrung mempunyai anak dengan keadaan

Nomina deadjektival dalam BMDM adalah kata kelas nomina hasil proses derivasi yang berdasarkan pengujian kategorial dan identitas leksikal, berbeda dari kata sifat menjadi

Dari latar belakang diatas maka masalah yang akan diteliti lebih lanjut adalah tentang kemampuan siswa dalam mengoprasikan Aplikasi Editing Video, dan perbandingan hasil ketrampilan

Salah satu produk penyaluran dana yang ada pada Baitul Qiradh Baiturrahman Cabang Ulee Kareng adalah pembiayaan murābahah, suatu pembiayaan untuk penambahan pembelian barang

Martha Ervina, S.Si., M.Si., Apt., selaku Penguji dan Dekan Fakultas Farmasi Universitas Katolik Widya Mandala Surabaya yang telah memberikan masukan, saran dan bantuan

The cells were then refed with fresh medium without sample for 46 hours; (ii) to assess the antiviral effect at the post entry step, HCV was inoculated to the cells

Keberhasilan siswa belajar tidak hanya bergantung pada (presentasi) mengajar, tetapi juga pada susunan bahan dan aktivitas belajar siswa. Presentasi dalam pengajaran