• Tidak ada hasil yang ditemukan

Mendeteksi Penyakit Gigi Menggunakan Jaringan Saraf Tiruan Dengan Menggunakan Metode Backpropagation Dan Metode Hopfield

N/A
N/A
Protected

Academic year: 2019

Membagikan "Mendeteksi Penyakit Gigi Menggunakan Jaringan Saraf Tiruan Dengan Menggunakan Metode Backpropagation Dan Metode Hopfield"

Copied!
20
0
0

Teks penuh

(1)

LAMPIRAN LISTING PROGRAM

Utama.m

function varargout = TampilanAwal(varargin) % Begin initialization code - DO NOT EDIT gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @TampilanAwal_OpeningFcn, ... 'gui_OutputFcn', @TampilanAwal_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 TampilanAwal is made visible.

function TampilanAwal_OpeningFcn(hObject, eventdata, handles, varargin)

handles.output = hObject;

handles.citra=imread('logo.jpg'); guidata(hObject, handles);

axes(handles.axes1); imshow(handles.citra);

% --- Outputs from this function are returned to the command line. function varargout = TampilanAwal_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;

function BantuanAwal_Callback(hObject, eventdata, handles) BantuanAwal

delete(handles.utama)

% ---function keluar_Callback(hObject, eventdata, handles)

close TampilanAwal

% ---function PengujianJST_Callback(hObject, eventdata, handles)

PengujianJST

delete(handles.utama)

function PelatihanJST_Callback(hObject, eventdata, handles) PelatihanJST

delete(handles.utama)

% --- Executes during object creation, after setting all properties. function utama_CreateFcn(hObject, eventdata, handles)

% --- Executes during object creation, after setting all properties. function logoUSU_CreateFcn(hObject, eventdata, handles)

(2)

citra_asli=imread('logo usu.jpg'); imshow(citra_asli);

% Hint: place code in OpeningFcn to populate logoUSU function Untitled_1_Callback(hObject, eventdata, handles) function gambar_Callback(hObject, eventdata, handles) DaftarGambar

delete(handles.utama)

Pelatihan.m

function varargout = PelatihanJST(varargin) % Begin initialization code - DO NOT EDIT gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @PelatihanJST_OpeningFcn, ... 'gui_OutputFcn', @PelatihanJST_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 PelatihanJST is made visible.

function PelatihanJST_OpeningFcn(hObject, eventdata, handles, varargin)

%hback = axes('units','normalized','position',[0 0 1 1]); %uistack(hback,'bottom');

%[back map]=imread('gambar\background biru.jpg'); %image(back)

%colormap(map)

%set(hback,'handlevisibility','off','visible','off') handles.output = hObject;

% Update handles structure guidata(hObject, handles);

% --- Outputs from this function are returned to the command line. function varargout = PelatihanJST_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;

% --- Executes during object creation, after setting all properties. function slider1_CreateFcn(hObject, eventdata, handles)

if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 .9 .9]); end

function nilai_Callback(hObject, eventdata, handles)

% --- Executes during object creation, after setting all properties. function nilai_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

(3)

end

% --- Executes on button press in open.

function open_Callback(hObject, eventdata, handles)

[nama_file,nama_path] = uigetfile({'*.jpg','File jpeg (*.jpg)'},'Buka File Citra');

if ~isequal(nama_file,0)

handles.citra=imread(fullfile(nama_path,nama_file)); guidata(hObject,handles);

axes(handles.citra1); imshow(handles.citra);

set(handles.Name,'String',nama_file); else

return; end;

% --- Executes on button press in reduksi.

function reduksi_Callback(hObject, eventdata, handles) a = double(handles.citra_tres1);

aa=a; pos=0; for i=1:50 for j=1:5 z(i,j)=0; for k=1:10 pos=pos+1;

z(i,j)=z(i,j)+aa(i,pos); end

end pos=0; end

pos=0; for i=1:5 for j=1:5 zz(j,i)=0; for k=1:10 pos=pos+1;

zz(j,i)=zz(j,i)+z(pos,i); end

end pos=0; end

zz

for i=1:5 for j=1:5

if(zz(i,j)==100) zz(i,j)=0; else

if(zz(i,j)>=1 && zz(i,j)<=99) zz(i,j)=1;

end end end end zz

zz1=reshape(zz,1,[]); zz1

(4)

xlswrite('datagigi.xlsx',zz1,'datagigi','A1'); elseif (strcmp(id,'karies2'))

xlswrite('datagigi.xlsx',zz1,'datagigi','A2'); elseif (strcmp(id,'karies3'))

xlswrite('datagigi.xlsx',zz1,'datagigi','A3'); elseif (strcmp(id,'pulpitis1'))

xlswrite('datagigi.xlsx',zz1,'datagigi','A4'); elseif (strcmp(id,'pulpitis2'))

xlswrite('datagigi.xlsx',zz1,'datagigi','A5'); elseif (strcmp(id,'pulpitis3'))

xlswrite('datagigi.xlsx',zz1,'datagigi','A6'); elseif (strcmp(id,'gingivitis1'))

xlswrite('datagigi.xlsx',zz1,'datagigi','A7'); elseif (strcmp(id,'gingivitis2'))

xlswrite('datagigi.xlsx',zz1,'datagigi','A8'); elseif (strcmp(id,'gingivitis3'))

xlswrite('datagigi.xlsx',zz1,'datagigi','A9'); elseif (strcmp(id,'absesgigi1'))

xlswrite('datagigi.xlsx',zz1,'datagigi','A10'); elseif (strcmp(id,'absesgigi2'))

xlswrite('datagigi.xlsx',zz1,'datagigi','A11'); elseif (strcmp(id,'absesgigi3'))

xlswrite('datagigi.xlsx',zz1,'datagigi','A12'); else

xlswrite('datagigi.xlsx',zz1,'datagigi','A13'); end

msgbox('Data Sudah direduksi dan disimpan'); % --- Executes on button press in reset.

function latihHP_Callback(hObject, eventdata, handles) tStart=tic;

input = xlsread('datagigi.xlsx','datagigi','A1:Y12'); T=input;

T=T';

net = newhop(T);

xlswrite('bobothp.xlsx',net.LW{1,1},'bobot','A'); xlswrite('biashp.xlsx',net.b{1},'bias','A'); Ai=T;

output = sim(net,12,[],Ai)

xlswrite('outputHP.xlsx',output,'OutputHP','A'); msgbox('Pelatihan Hopfield Selesai');

waktuuji = toc(tStart);

set(handles.timer,'string',waktuuji);

function id_Callback(hObject, eventdata, handles)

% --- Executes during object creation, after setting all properties. function id_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white'); end

% --- Executes on button press in latihBP.

(5)

input = xlsread('datagigi.xlsx','datagigi','A1:Y12'); target = [1 0 0 0 ;

1 0 0 0 ; 1 0 0 0 ; 0 1 0 0 ; 0 1 0 0 ; 0 1 0 0 ; 0 0 1 0 ; 0 0 1 0 ; 0 0 1 0 ; 0 0 0 1 ; 0 0 0 1 ;

0 0 0 1 ; ] target = target';

input=input';

net = newff(minmax(input),[12 12 4], {'tansig','tansig','tansig'},'traingdx'); net.trainParam.show=100;

net.trainParam.epochs=50000; net.trainParam.goal=0.0001; net.trainParam.lr = 0.01; net.trainParam.mc = 0.01;

[net,tr] = train(net,input,target);

xlswrite('bobot1.xlsx',net.IW{1,1},'bobot','A'); xlswrite('bobot2.xlsx',net.LW{2,1},'bobot','A'); xlswrite('bobot3.xlsx',net.LW{3,2},'bobot','A'); xlswrite('bias.xlsx',net.b{1},'bias','A1:A12'); xlswrite('bias.xlsx',net.b{2},'bias','B1:B12'); xlswrite('bias.xlsx',net.b{3},'bias','C1:C4');

output = sim(net,input)

xlswrite('outputBP6.xlsx',output,'OutputBP','A'); msgbox('Pelatihan Backpropagation Selesai'); waktuuji = toc(tStart);

set(handles.timer,'string',waktuuji);

% --- Executes on button press in Reset.

function Reset_Callback(hObject, eventdata, handles) set(handles.id,'String','','Enable','on');

set(handles.slider1,'Enable','on');

set(handles.nilai,'String','','Enable','on'); set(handles.Name,'String','','Enable','on'); axes(handles.citra1);

imshow(1);

function Name_Callback(hObject, eventdata, handles)

% --- Executes during object creation, after setting all properties. function Name_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white'); end

% ---function TampilanAwal_Callback(hObject, eventdata, handles)

(6)

delete(handles.formpelatihan)

% ---function MenuPelatihan_Callback(hObject, eventdata, handles)

% ---function PengujianJST_Callback(hObject, eventdata, handles)

PengujianJST

delete(handles.formpelatihan)

% ---function BantuanPelatihanJST_Callback(hObject, eventdata, handles) BantuanPelatihanJST

delete(handles.formpelatihan)

% ---function MenuKeluar_Callback(hObject, eventdata, handles)

close PelatihanJST

% ---function gambar_Callback(hObject, eventdata, handles)

KetGbr

delete(handles.formpelatihan)

function datagambar_Callback(hObject, eventdata, handles)

% --- Executes during object creation, after setting all properties. function datagambar_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white'); end

function timer_Callback(hObject, eventdata, handles)

% --- Executes during object creation, after setting all properties. function timer_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white'); end

% --- Executes on button press in pushbutton9. % --- Executes on button press in pushbutton10.

function pushbutton10_Callback(hObject, eventdata, handles) citra_gray=rgb2gray(handles.citra);

citra_gray=double(citra_gray); [b k]=size(citra_gray);

for x=1:b for y=1:k

if citra_gray(x,y)<130

citra_threshold1(x,y)=0; elseif citra_gray(x,y)>=130 citra_threshold1(x,y)=1; end

end end

citra_threshold1

handles.citra_tres1=citra_threshold1; guidata(hObject,handles);

axes(handles.citra1); imshow(citra_threshold1);

% hObject handle to pushbutton10 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)

(7)

function listbox1_Callback(hObject, eventdata, handles) citra_threshold1

% hObject handle to listbox1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: contents = get(hObject,'String') returns listbox1 contents as cell array

% contents{get(hObject,'Value')} returns selected item from listbox1

% --- Executes during object creation, after setting all properties. function listbox1_CreateFcn(hObject, eventdata, handles)

% hObject handle to listbox1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called

% Hint: listbox controls usually have a white background on Windows. % See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white'); end

% --- Executes during object creation, after setting all properties. function text9_CreateFcn(hObject, eventdata, handles)

citra_threshold1

% hObject handle to text9 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called

Pengujian.m

function varargout = PengujianJST(varargin) % Begin initialization code - DO NOT EDIT gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @PengujianJST_OpeningFcn, ... 'gui_OutputFcn', @PengujianJST_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 PengujianJST is made visible.

function PengujianJST_OpeningFcn(hObject, eventdata, handles, varargin)

% Create background axes and move them to the background handles.output = hObject;

(8)

% --- Outputs from this function are returned to the command line. function varargout = PengujianJST_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;

% --- Executes on button press in open.

function open_Callback(hObject, eventdata, handles)

[nama_file,nama_path] = uigetfile({'*.jpg','File jpeg (*.jpg)'},'Buka File Citra');

if ~isequal(nama_file,0)

handles.citra=imread(fullfile(nama_path,nama_file)); guidata(hObject,handles);

axes(handles.image_uji); imshow(handles.citra);

set(handles.name,'String',nama_file); else

return; end;

% --- Executes during object creation, after setting all properties. function slider_thres_CreateFcn(hObject, eventdata, handles)

if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 .9 .9]); end

function nilai_Callback(hObject, eventdata, handles)

% --- Executes during object creation, after setting all properties. function nilai_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white'); end

% --- Executes on button press in kenali_bp.

function kenali_bp_Callback(hObject, eventdata, handles) tStart=tic;

input = xlsread('datagigi.xlsx','datagigi','A1:Y4'); citrauji = double(handles.citra_tres);

aa=citrauji; pos=0;

for i=1:50 for j=1:5 z(i,j)=0; for k=1:10 pos=pos+1;

z(i,j)=z(i,j)+aa(i,pos); end

end pos=0; end

pos=0; for i=1:5 for j=1:5 zz(j,i)=0; for k=1:10 pos=pos+1;

zz(j,i)=zz(j,i)+z(pos,i); end

end pos=0; end

(9)

for i=1:5 for j=1:5

if(zz(i,j)==100) zz(i,j)=0; else

if(zz(i,j)>=1 && zz(i,j)<=99) zz(i,j)=1;

end end end end zz

zz1=reshape(zz,1,25); datapengujian = zz1; target = [1 0 0 0 ; 1 0 0 0 ; 1 0 0 0 ; 0 1 0 0 ; 0 1 0 0 ; 0 1 0 0 ; 0 0 1 0 ; 0 0 1 0 ; 0 0 1 0 ; 0 0 0 1 ; 0 0 0 1 ; 0 0 0 1 ; ] target = target'; input = input';

net = newff(minmax(input),[12 12 4], {'tansig','tansig','tansig'},'traingdx'); net = init(net);

net.IW{1,1}= xlsread('bobot1.xlsx','bobot'); net.LW{2,1}= xlsread('bobot2.xlsx','bobot'); net.LW{3,2}= xlsread('bobot3.xlsx','bobot'); net.b{1}= xlsread('bias.xlsx','bias','A1:A12'); net.b{2}= xlsread('bias.xlsx','bias','B1:B12'); net.b{3}= xlsread('bias.xlsx','bias','C1:C4'); datapengujian=datapengujian'

output = sim(net,datapengujian) if (output(1,1)<0.86)

b(1,1)=0; else

b(1,1)=1; end

if (output(2,1)<0.86) b(2,1)=0;

else

b(2,1)=1; end

if (output(3,1)<0.86) b(3,1)=0;

else

b(3,1)=1; end

if (output(4,1)<0.86) b(4,1)=0;

else

b(4,1)=1; end

(10)

gigi1 = [1; 0; 0; 0; ]; gigi2 = [0; 1; 0; 0; ]; gigi3 = [0; 0; 1; 0; ]; gigi4 = [0; 0; 0; 1; ];

if isequal (b,gigi1) name='karies';

solusi='Bersihkan jaringan gigi yang terkena karies gigi dan lakukan penambalan gigi, penambalan gigi bisa bermacam-macam bahan yang umum digunakana adalah komposit, kompomer, glass ionomer, dan amalgam.';

elseif isequal (b,gigi2) name='pulpitis';

solusi='Penambalan sementara yang mengandung obat penenag saraf bisa menghilangkan rasa nyeri, tambalan ini dibiarkan 6 sampai 8 minggu dan kemudian diganti dengan penambalan permanen';

elseif isequal (b,gigi3) name='gingivitis';

solusi='Pengobatan utama pada gingivitis adalah dengan

menghilangkan penyebabnya, yaitu dengan membersihkan karang gigi (scaling). Membersihkan karang gigi dapat dilakukan di praktik dokter gigi. Satu minggu pasca pembersihan karang gigi, dicek apakah kondisi sudah membaik atau belum';

elseif isequal (b,gigi4) name= 'abses gigi';

solusi='Pasien dianjurkan berkumur-kumur dengan air hangat, minum obat Paracetamol untuk mengurangi nyeri dan rasa sakit pada gigi yang mengalami Abses.Jika jelas terdapat infeksi, dapat diberikan terapi dengan Antibiotika Amoksisilin selama 5 hari';

else

name='Tidak Dikenali'; solusi='Tidak Dikenali'; end

set(handles.nama,'String',name); set(handles.solusi,'String',solusi); waktuuji = toc(tStart);

set(handles.timer,'string',waktuuji);

% --- Executes on button press in kenali_hp.

function kenali_hp_Callback(hObject, eventdata, handles) tStart=tic;

input = xlsread('datagigi.xlsx','datagigi','A1:Y4'); citrauji = double(handles.citra_tres);

aa=citrauji; pos=0;

for i=1:50 for j=1:5 z(i,j)=0; for k=1:10 pos=pos+1;

z(i,j)=z(i,j)+aa(i,pos); end

end pos=0; end

(11)

zz(j,i)=0; for k=1:10 pos=pos+1;

zz(j,i)=zz(j,i)+z(pos,i); end

end pos=0; end

zz

for i=1:5 for j=1:5

if(zz(i,j)==100) zz(i,j)=0; else

if(zz(i,j)>=1 && zz(i,j)<=99) zz(i,j)=1;

end end end end zz

zz1=reshape(zz,1,25); datapengujian = zz1; target=input;

target=target';

net = newff(minmax(input),[12 12 4], {'satlins','satlins','satlins'},'traingdx'); net = newhop(target);

net = init(net);

net.LW{1,1}= xlsread('bobothp.xlsx','bobot'); net.b{1}= xlsread('biashp.xlsx','bias'); datapengujian={[datapengujian']}

output = sim(net,{1 10},{},datapengujian) output=[output{10}]%cell array 2

if (output(1,1)<0.6) a(1,1)=0;

else

a(1,1)=1; end

if (output(2,1)<0.6) a(2,1)=0;

else

a(2,1)=1; end

if (output(3,1)<0.6) a(3,1)=0;

else

a(3,1)=1; end

if (output(4,1)<0.6) a(4,1)=0;

else

a(4,1)=1; end

if (output(5,1)<0.6) a(5,1)=0;

else

a(5,1)=1; end

(12)

a(6,1)=0; else

a(6,1)=1; end

if (output(7,1)<0.6) a(7,1)=0;

else

a(7,1)=1; end

if (output(8,1)<0.6) a(8,1)=0;

else

a(8,1)=1; end

if (output(9,1)<0.6) a(9,1)=0;

else

a(9,1)=1; end

if (output(10,1)<0.6) a(10,1)=0;

else

a(10,1)=1; end

if (output(11,1)<0.6) a(11,1)=0;

else

a(11,1)=1; end

if (output(12,1)<0.6) a(12,1)=0;

else

a(12,1)=1; end

if (output(13,1)<0.6) a(13,1)=0;

else

a(13,1)=1; end

if (output(14,1)<0.6) a(14,1)=0;

else

a(14,1)=1; end

if (output(15,1)<0.6) a(15,1)=0;

else

a(15,1)=1; end

if (output(16,1)<0.6) a(16,1)=0;

else

a(16,1)=1; end

if (output(17,1)<0.6) a(17,1)=0;

else

a(17,1)=1; end

(13)

a(18,1)=0; else

a(18,1)=1; end

if (output(19,1)<0.6) a(19,1)=0;

else

a(19,1)=1; end

if (output(20,1)<0.6) a(20,1)=0;

else

a(20,1)=1; end

if (output(21,1)<0.6) a(21,1)=0;

else

a(21,1)=1; end

if (output(22,1)<0.6) a(22,1)=0;

else

a(22,1)=1; end

if (output(23,1)<0.6) a(23,1)=0;

else

a(23,1)=1; end

if (output(24,1)<0.6) a(24,1)=0;

else

a(24,1)=1; end

if (output(25,1)<0.6) a(25,1)=0;

else

a(25,1)=1; end

gigi=[a(1,1);a(2,1);a(3,1);a(4,1);a(5,1);a(6,1);a(7,1);a(8,1);a(9,1); a(10,1);a(11,1);a(12,1);a(13,1);a(14,1);a(15,1);a(16,1);a(17,1);a(18, 1);a(19,1);a(20,1);a(21,1);a(22,1);a(23,1);a(24,1);a(25,1)];

gigi1=[0;0;0;1;1; 1;1;1;1;1; 1;1;0;1;1; 1;1;1;1;0; 1;0;0;0;0;]; gigi2=[1;1;0;1;1; 1;1;1;0;1; 1;1;1;1;0; 1;1;1;0;1; 1;1;1;1;1;]; gigi3=[1;0;0;0;1; 1;0;1;1;1; 1;0;1;1;1; 1;0;1;1;1; 1;0;0;0;1;]; gigi4=[1;1;1;1;1; 1;1;1;1;1; 1;1;1;1;1; 0;1;1;1;1; 1;1;1;1;1;]; gigi5=[1;1;1;1;1; 1;0;1;1;1; 1;0;1;1;0; 1;1;1;1;1; 1;1;1;1;1;]; gigi6=[0;1;1;0;1; 0;1;0;0;1; 1;0;1;1;1; 1;1;1;1;1; 1;1;1;0;0;]; gigi7=[1;1;1;1;1; 1;1;0;0;1; 1;1;1;0;1; 1;1;1;0;0; 1;1;1;0;1;]; gigi8=[1;1;1;1;1; 1;1;1;0;1; 1;1;1;1;1; 1;1;1;0;1; 1;1;1;1;1;]; gigi9=[1;0;1;1;1; 1;0;1;1;1; 1;1;1;1;1; 1;0;1;1;1; 1;0;1;1;1;]; gigi10=[1;1;1;1;0; 1;0;1;1;1; 1;0;1;1;1; 1;1;1;1;0; 1;1;1;1;1;]; gigi11=[1;0;1;1;1; 1;0;1;0;0; 1;1;0;1;1; 1;0;1;1;1; 1;1;1;1;1;]; gigi12=[1;1;1;1;1; 1;1;1;0;1; 1;1;0;1;1; 0;0;1;0;1; 1;1;1;0;1;];

if isequal (a,gigi1) name='karies';

(14)

yang umum digunakana adalah komposit, kompomer, glass ionomer, dan amalgam.';

elseif isequal (a,gigi2) name='karies';

solusi='Bersihkan jaringan gigi yang terkena karies gigi dan lakukan penambalan gigi, penambalan gigi bisa bermacam-macam bahan yang umum digunakana adalah komposit, kompomer, glass ionomer, dan amalgam.';

elseif isequal (a,gigi3) name='karies';

solusi='Bersihkan jaringan gigi yang terkena karies gigi dan lakukan penambalan gigi, penambalan gigi bisa bermacam-macam bahan yang umum digunakana adalah komposit, kompomer, glass ionomer, dan amalgam.';

elseif isequal (a,gigi4) name='pulpitis';

solusi='Penambalan sementara yang mengandung obat penenag saraf bisa menghilangkan rasa nyeri, tambalan ini dibiarkan 6 sampai 8 minggu dan kemudian diganti dengan penambalan permanen';

elseif isequal (a,gigi5) name='pulpitis';

solusi='Penambalan sementara yang mengandung obat penenag saraf bisa menghilangkan rasa nyeri, tambalan ini dibiarkan 6 sampai 8 minggu dan kemudian diganti dengan penambalan permanen';

elseif isequal (a,gigi6) name='pulpitis';

solusi='Penambalan sementara yang mengandung obat penenag saraf bisa menghilangkan rasa nyeri, tambalan ini dibiarkan 6 sampai 8 minggu dan kemudian diganti dengan penambalan permanen';

elseif isequal (a,gigi7) name='gingivitis';

solusi='Pengobatan utama pada gingivitis adalah dengan

menghilangkan penyebabnya, yaitu dengan membersihkan karang gigi (scaling). Membersihkan karang gigi dapat dilakukan di praktik dokter gigi. Satu minggu pasca pembersihan karang gigi, dicek apakah kondisi sudah membaik atau belum';

elseif isequal (a,gigi8) name='gingivitis';

solusi='Pengobatan utama pada gingivitis adalah dengan

menghilangkan penyebabnya, yaitu dengan membersihkan karang gigi (scaling). Membersihkan karang gigi dapat dilakukan di praktik dokter gigi. Satu minggu pasca pembersihan karang gigi, dicek apakah kondisi sudah membaik atau belum';

elseif isequal (a,gigi9) name='gingivitis';

solusi='Pengobatan utama pada gingivitis adalah dengan

menghilangkan penyebabnya, yaitu dengan membersihkan karang gigi (scaling). Membersihkan karang gigi dapat dilakukan di praktik dokter gigi. Satu minggu pasca pembersihan karang gigi, dicek apakah kondisi sudah membaik atau belum';

elseif isequal (a,gigi10) name= 'abses gusi';

solusi='Pasien dianjurkan berkumur-kumur dengan air hangat, minum obat Paracetamol untuk mengurangi nyeri dan rasa sakit pada gigi yang mengalami Abses Jika jelas terdapat infeksi, dapat diberikan terapi dengan Antibiotika Amoksisilin selama 5 hari';

elseif isequal (a,gigi11) name= 'abses gusi';

(15)

yang mengalami Abses Jika jelas terdapat infeksi, dapat diberikan terapi dengan Antibiotika Amoksisilin selama 5 hari';

elseif isequal (a,gigi12) name= 'abses gusi';

solusi='Pasien dianjurkan berkumur-kumur dengan air hangat, minum obat Paracetamol untuk mengurangi nyeri dan rasa sakit pada gigi yang mengalami Abses Jika jelas terdapat infeksi, dapat diberikan terapi dengan Antibiotika Amoksisilin selama 5 hari';

else

name='Tidak Dikenali'; solusi='Tidak Dikenali'; end

set(handles.nama,'String',name); set(handles.solusi,'String',solusi); waktuuji = toc(tStart);

set(handles.timer,'string',waktuuji);

function nama_Callback(hObject, eventdata, handles)

% --- Executes during object creation, after setting all properties. function nama_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white'); end

function solusi_Callback(hObject, eventdata, handles)

% --- Executes during object creation, after setting all properties. function solusi_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white'); end

function timer_Callback(hObject, eventdata, handles)

% --- Executes during object creation, after setting all properties. function timer_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white'); end

% --- Executes on button press in Reset.

function name_Callback(hObject, eventdata, handles)

% --- Executes during object creation, after setting all properties. function name_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white'); end

% ---function Untitled_1_Callback(hObject, eventdata, handles)

% ---function TampilanAwal_Callback(hObject, eventdata, handles)

TampilanAwal

delete(handles.formpengujian)

% ---function PelatihanJST_Callback(hObject, eventdata, handles)

PelatihanJST

(16)

% ---function BantuanPengujianJST_Callback(hObject, eventdata, handles) BantuanPengujianJST

delete(handles.formpengujian)

% ---function MenuKeluar_Callback(hObject, eventdata, handles)

close PengujianJST

% ---function Untitled_2_Callback(hObject, eventdata, handles)

% ---function gambar_Callback(hObject, eventdata, handles)

KetGbr

delete(handles.formpengujian)

% --- Executes on button press in reset.

function reset_Callback(hObject, eventdata, handles) set(handles.slider_thres,'Enable','on');

set(handles.nilai,'String','','Enable','on'); set(handles.name,'String','','Enable','on'); set(handles.nama,'String','','Enable','on'); set(handles.solusi,'String','','Enable','on'); set(handles.timer,'String','','Enable','on'); axes(handles.image_uji);

imshow(1);

% --- Executes on button press in pushbutton7.

function pushbutton7_Callback(hObject, eventdata, handles) citra_gray=rgb2gray(handles.citra);

citra_gray=double(citra_gray); [b k]=size(citra_gray);

for x=1:b for y=1:k

if citra_gray(x,y)<130 citra_threshold(x,y)=0; elseif citra_gray(x,y)>=130 citra_threshold(x,y)=1; end

end end

citra_threshold

handles.citra_tres=citra_threshold; guidata(hObject,handles);

axes(handles.image_uji); imshow(citra_threshold);

% hObject handle to pushbutton7 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % --- Executes during object creation, after setting all properties. function solusi_CreateFcn(hObject, eventdata, handles)

% hObject handle to solusi (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called

% Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER.

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

(17)

bantuanUtama.m

function varargout = BantuanAwal(varargin) % Begin initialization code - DO NOT EDIT gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @BantuanAwal_OpeningFcn, ... 'gui_OutputFcn', @BantuanAwal_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 BantuanAwal is made visible.

function BantuanAwal_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 = BantuanAwal_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;

% --- Executes on selection change in listbox1.

function listbox1_Callback(hObject, eventdata, handles)

% --- Executes during object creation, after setting all properties. function listbox1_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white'); end

% --- Executes on selection change in popupmenu1.

function popupmenu1_Callback(hObject, eventdata, handles)

% --- Executes during object creation, after setting all properties. function popupmenu1_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white'); end

% --- Executes during object creation, after setting all properties. function figure1_CreateFcn(hObject, eventdata, handles)

% ---function Untitled_1_Callback(hObject, eventdata, handles)

% ---function MUtama_Callback(hObject, eventdata, handles)

Utama

delete(handles.figure1)

% ---function MPelatihan_Callback(hObject, eventdata, handles)

Pelatihan

(18)

% ---function MPengujian_Callback(hObject, eventdata, handles)

Pengujian

delete(handles.figure1)

% ---function MGambar_Callback(hObject, eventdata, handles)

KetGbr

delete(handles.figure1)

% ---function MKeluar_Callback(hObject, eventdata, handles)

TampilanAwal

delete(handles.figure1)

bantuanPelatihan.m

function varargout = BantuanPelatihanJST(varargin) % Begin initialization code - DO NOT EDIT

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @BantuanPelatihanJST_OpeningFcn, ...

'gui_OutputFcn', @BantuanPelatihanJST_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 BantuanPelatihanJST is made visible.

function BantuanPelatihanJST_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 = BantuanPelatihanJST_OutputFcn(hObject,

eventdata, handles)

varargout{1} = handles.output;

% --- Executes on selection change in listbox2.

function listbox2_Callback(hObject, eventdata, handles)

% --- Executes during object creation, after setting all properties. function listbox2_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white'); end

% --- Executes during object creation, after setting all properties. function bantuanlatih_CreateFcn(hObject, eventdata, handles)

% ---function MenuKeluar_Callback(hObject, eventdata, handles)

(19)

delete(handles.bantuanlatih)

bantuanPengujian.m

function varargout = BantuanPengujianJST(varargin) % Begin initialization code - DO NOT EDIT

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @BantuanPengujianJST_OpeningFcn, ...

'gui_OutputFcn', @BantuanPengujianJST_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 BantuanPengujianJST is made visible.

function BantuanPengujianJST_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 = BantuanPengujianJST_OutputFcn(hObject,

eventdata, handles)

% Get default command line output from handles structure varargout{1} = handles.output;

% --- Executes during object creation, after setting all properties. function bantuanuji_CreateFcn(hObject, eventdata, handles)

% --- Executes on selection change in listbox1.

function listbox1_Callback(hObject, eventdata, handles)

% --- Executes during object creation, after setting all properties. function listbox1_CreateFcn(hObject, eventdata, handles)

if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))

set(hObject,'BackgroundColor','white'); end

function Untitled_1_Callback(hObject, eventdata, handles) function MenuUtama_Callback(hObject, eventdata, handles) Utama

delete(handles.bantuanuji)

function MenuPelatihan_Callback(hObject, eventdata, handles) Pelatihan

delete(handles.bantuanuji)

function MenuGambar_Callback(hObject, eventdata, handles) KetGbr

delete(handles.bantuanuji)

function MenuKeluar_Callback(hObject, eventdata, handles) PengujianJST

(20)

CURRICULUM VITAE

Nama : Raja Rizky Ramadhan Hsb

Alamat Sekarang : Jl. Bajak II H No. 5 Medan

Alamat Orang tua : Jl. Bajak II H No. 5 Medan

Telp/Hp : 085270100500

Email

Riwayat Pendidikan

2009-2014 : S1 Ilmu Komputer Universitas Sumatera Utara, Medan

2006-2009 : SMA Negri 21 Medan

2003-2006 : SMP Negeri 6 Medan

1997-2003 : SD Negeri 060924 Medan

Keahlian/Kursus yang diikuti Jaringan Komputer

Referensi

Dokumen terkait

Instrumen penelitian pada penelitian ini menggunakan kuesioner untuk mengetahui perilaku beresiko masyarakat terhadap demam berdarah dengue (DBD), dan keberadaan

Setelah berdiskusi siswa diharapkan mampu menyajikan dalam bentuk tulisan tentang perkembangan kerajaan –kerajaan Islam di Jawa.. Setelah berdiskusi siswa diharapkan

dalam pasal 11 ayat (1) dilakukan paling lama 1 (satu) bulan sejak diterimanya permohonan pengembalian kelebihan pembayaran pajak sehubungan diterbitkannya Surat

Demikian juga dengan kepemimpinan manajer yang menunjukkan kategori kurang baik dengan persentase 70%.Hasil penelitian ini juga menunjukkan bahwa adanya hubungan yang

Hal itu dipertegas melalui Permendiknas Nomor 41 Tahun 2007 tentang standar proses yang berbunyi perencanaanproses pembelajaran yang mensyaratkan pendidik untuk mengembangkan

yang ditemukan selama pengamatan adalah Gejala serangan Penggerek Batang padi, populasi Wereng hijau dan Walang sangit (lihat gambar 4, 5 dan Lampiran 2), Hasil pengamatan rata

Yohanes Indrayono/Iman Santoso, S.E.. Yohanes Indrayono/Iman

Swasakti Utama Tasikmalaya yang didasarkan pada hasil dari analisis faktor internal dan analisis faktor eksternal juga analisis SWOT yang kemudian datanya digunakan