• Tidak ada hasil yang ditemukan

1. Beranda.m (Antarmuka Beranda) - Implementasi Algoritma K-Nearest Neighbor untuk Mengklasifikasikan Motif Batik Besurek Bengkulu

N/A
N/A
Protected

Academic year: 2019

Membagikan "1. Beranda.m (Antarmuka Beranda) - Implementasi Algoritma K-Nearest Neighbor untuk Mengklasifikasikan Motif Batik Besurek Bengkulu"

Copied!
18
0
0

Teks penuh

(1)

LAMPIRAN LISTING PROGRAM

1.

Beranda.m (Antarmuka Beranda)

function varargout = Beranda(varargin) 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) % This function has no output args, see OutputFcn.

% hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to Beranda (see VARARGIN)

% 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) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure

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

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

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

% hObject handle to Beranda (see GCBO)

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

(2)

-function Bantuan_Callback(hObject, eventdata, handles) Bantuan

close Beranda

% hObject handle to Bantuan (see GCBO)

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

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

Pelatihan close Beranda

% hObject handle to Pelatihan (see GCBO)

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

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

Pengujian close Beranda

% hObject handle to Pengujian (see GCBO)

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

%

-function Keluar_Callback(hObject, eventdata, handles) choice= questdlg ('Apakah Anda Ingin

Keluar?','Keluar','Ya','Tidak','Tidak');

% 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 axes1_CreateFcn(hObject, eventdata, handles)

clear;

citra=imread('FASILKOMTI.jpg'); citra=uint8(citra);

imshow(citra);

% hObject handle to axes1 (see GCBO)

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

% Hint: place code in OpeningFcn to populate axes1

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

clear;

citra=imread('batik1.jpg'); citra=uint8(citra);

imshow(citra);

% hObject handle to axes3 (see GCBO)

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

% Hint: place code in OpeningFcn to populate axes3

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

clear;

citra=imread('batik2.jpg'); citra=uint8(citra);

(3)

2.

Pelatihan.m (Antarmuka Pelatihan)

function varargout = Pelatihan(varargin) gui_Singleton = 1;

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

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @Pelatihan_OpeningFcn, ...

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

function Pelatihan_OpeningFcn(hObject, eventdata, handles, varargin) set(handles.deteksi,'Enable','Off');

% Choose default command line output for Pelatihan handles.output = hObject;

% Update handles structure guidata(hObject, handles);

% UIWAIT makes Pelatihan wait for user response (see UIRESUME) % uiwait(handles.figure1);

% --- Outputs from this function are returned to the command line. function varargout = Pelatihan_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure

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

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

%

-function Untitled_1_Callback(hObject, eventdata, handles) Beranda

close Pelatihan

% hObject handle to Untitled_1 (see GCBO)

(4)

%

-function Bantuan_Callback(hObject, eventdata, handles) Bantuan

close Pelatihan

% hObject handle to Bantuan (see GCBO)

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

%

-function Pelatihan_Callback(hObject, eventdata, handles)

% hObject handle to Pelatihan (see GCBO)

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

%

-function Pengujian_Callback(hObject, eventdata, handles) Pengujian

close Pelatihan

% hObject handle to Pengujian (see GCBO)

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

%

-function Keluar_Callback(hObject, eventdata, handles) choice= questdlg ('Apakah Anda Ingin

Keluar?','Keluar','Ya','Tidak','Tidak');

switch choice

case'Ya'

close all;

end

% hObject handle to Keluar (see GCBO)

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

% --- Executes on selection change in motif.

function motif_Callback(hObject, eventdata, handles)

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

% hObject handle to motif (see GCBO)

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

(5)

% See ISPC and COMPUTER.

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

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

end

% Hint: popupmenu 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 on button press in load.

function load_Callback(hObject, eventdata, handles) value1 = get(handles.motif,'value')

if value1 == 1

value1 = 'Relung Paku'

gb4=imread('RelungPaku1.jpg'); gb5=imread('RelungPaku2.jpg'); gb6=imread('RelungPaku3.jpg'); axes(handles.axes1);imshow(gb4) axes(handles.axes2);imshow(gb5) axes(handles.axes3);imshow(gb6)

elseif value1 == 2

value1 = 'Bunga Rafflesia'

gb7=imread('Rafflesia1.jpg'); gb8=imread('Rafflesia2.jpg'); gb9=imread('Rafflesia3.jpg'); axes(handles.axes1);imshow(gb7) axes(handles.axes2);imshow(gb8) axes(handles.axes3);imshow(gb9)

elseif value1 == 3

value1 = 'Burung Kuau'

gb10=imread('BurungKuau1.jpg'); gb11=imread('BurungKuau2.jpg'); gb12=imread('BurungKuau3.jpg'); axes(handles.axes1);imshow(gb10) axes(handles.axes2);imshow(gb11) axes(handles.axes3);imshow(gb12)

else

value1 = 'Rembulan'

gb13=imread('Rembulan1.jpg'); gb14=imread('Rembulan2.jpg'); gb15=imread('Rembulan3.jpg'); axes(handles.axes1);imshow(gb13) axes(handles.axes2);imshow(gb14) axes(handles.axes3);imshow(gb15)

end

%guidata(hObject, handles);

% hObject handle to load (see GCBO)

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

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

(6)

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

end

% --- Executes on button press in reset.

function reset_Callback(hObject, eventdata, handles) axes(handles.axes1);

imshow(1);

axes(handles.axes2); imshow(1);

axes(handles.axes3); imshow(1);

set(handles.slider1,'Value',0); set(handles.text4,'string',0); axes(handles.axes6);

imshow(1);

set(handles.slider2,'Value',0); set(handles.text5,'string',0); axes(handles.axes7);

imshow(1);

set(handles.slider3,'Value',0); set(handles.text6,'string',0); axes(handles.axes8);

imshow(1);

guidata(hObject,handles);

set(handles.deteksi,'Enable','Off');

% hObject handle to reset (see GCBO)

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

% Hint: edit 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 on slider movement.

function slider1_Callback(hObject, eventdata, handles) thres = get(handles.slider1,'value');

handles.thres = round(thres); guidata(hObject, handles);

set(handles.text4,'string',handles.thres); citra = getimage(handles.axes1);

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

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

if citra_gray(x,y)<thres

(7)

end

end end

citra_threshold_batik;

handles.citra_tres_batik1=citra_threshold_batik; guidata(hObject, handles);

axes(handles.axes6);

imshow(citra_threshold_batik);

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

% hObject handle to slider1 (see GCBO)

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

% Hint: slider controls usually have a light gray background. if isequal(get(hObject,'BackgroundColor'),

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

end

% --- Executes on slider movement.

function slider2_Callback(hObject, eventdata, handles) thres2 = get(handles.slider2,'value');

handles.thres = round(thres2); guidata(hObject, handles);

set(handles.text5,'string',handles.thres); citra2 = getimage(handles.axes2);

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

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

if citra_gray(x,y)<thres2

citra_threshold_batik(x,y)=1; elseif citra_gray(x,y)>=thres2 citra_threshold_batik(x,y)=0; end

end end

citra_threshold_batik;

handles.citra_tres_batik2=citra_threshold_batik; guidata(hObject, handles);

axes(handles.axes7);

imshow(citra_threshold_batik);

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

% hObject handle to slider2 (see GCBO)

(8)

% Hint: slider controls usually have a light gray background. if isequal(get(hObject,'BackgroundColor'),

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

end

% --- Executes on slider movement.

function slider3_Callback(hObject, eventdata, handles) thres3 = get(handles.slider3,'value');

handles.thres = round(thres3); guidata(hObject, handles);

set(handles.text6,'string',handles.thres); citra3 = getimage(handles.axes3);

citra3= rgb2gray(citra3); citra_gray=double(citra3);

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

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

if citra_gray(x,y)<thres3

citra_threshold_batik(x,y)=1; elseif citra_gray(x,y)>=thres3 citra_threshold_batik(x,y)=0; end

end end

citra_threshold_batik

handles.citra_tres_batik3=citra_threshold_batik; guidata(hObject, handles);

axes(handles.axes8);

imshow(citra_threshold_batik); set(handles.deteksi,'Enable','on');

% hObject handle to slider3 (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 slider3_CreateFcn(hObject, eventdata, handles)

% hObject handle to slider3 (see GCBO)

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

% Hint: slider controls usually have a light gray background. if isequal(get(hObject,'BackgroundColor'),

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

end

% --- Executes on button press in deteksi.

function deteksi_Callback(hObject, eventdata, handles) citra1=getimage(handles.axes6);

(9)

citra2rb=edge(citra2,'roberts',0.1); citra3rb=edge(citra3,'roberts',0.1); axes(handles.axes6);imshow(citra1rb); axes(handles.axes7);imshow(citra2rb); axes(handles.axes8);imshow(citra3rb); jenismotif=get(handles.motif,'String');

jenismotif=jenismotif{get(handles.motif,'Value')}; a = double(getimage(handles.axes6));

b = double(getimage(handles.axes7)); c = double(getimage(handles.axes8)); motif1 =[reshape(a, 1, 10000); reshape(b, 1, 10000); reshape(c, 1, 10000)];

if (strcmp(jenismotif,'Relung Paku'))

xlswrite('Data.xlsx',motif1,'Motif','C5'); elseif (strcmp(jenismotif,'Bunga Rafflesia')) xlswrite('Data.xlsx',motif1,'Motif','C8'); elseif (strcmp(jenismotif,'Burung Kuau'))

xlswrite('Data.xlsx',motif1,'Motif','C11'); else

xlswrite('Data.xlsx',motif1,'Motif','C14'); end

h= msgbox('Data disimpan', 'Berhasil');

3.

Pengujian.m (Antarmuka Pengujian)

function varargout = Pengujian(varargin) gui_Singleton = 1;

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

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @Pengujian_OpeningFcn, ...

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

function Pengujian_OpeningFcn(hObject, eventdata, handles, varargin) set(handles.deteksitepi,'Enable','off');

set(handles.kenali,'Enable','off');

% This function has no output args, see OutputFcn. % hObject handle to figure

(10)

% varargin command line arguments to Pengujian (see VARARGIN)

% Choose default command line output for Pengujian handles.output = hObject;

% Update handles structure guidata(hObject, handles);

% UIWAIT makes Pengujian wait for user response (see UIRESUME) % uiwait(handles.figure1);

% --- Outputs from this function are returned to the command line. function varargout = Pengujian_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure

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

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

%

-function Beranda_Callback(hObject, eventdata, handles) Beranda

close Pengujian

% hObject handle to Beranda (see GCBO)

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

%

-function Bantuan_Callback(hObject, eventdata, handles) Bantuan

close Pengujian

% hObject handle to Bantuan (see GCBO)

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

%

-function Pelatihan_Callback(hObject, eventdata, handles) Pelatihan

close Pengujian

% hObject handle to Pelatihan (see GCBO)

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

%

-function Pengujian_Callback(hObject, eventdata, handles) % hObject handle to Pengujian (see GCBO)

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

%

(11)

choice= questdlg ('Apakah Anda Ingin Keluar?','Keluar','Ya','Tidak','Tidak');

switch choice

case'Ya'

close all;

end

% hObject handle to Keluar (see GCBO)

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

% --- Executes on button press in buka.

function buka_Callback(hObject, eventdata, handles)

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

if ~isequal(nama_file,0)

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

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

else

return;

end;

% hObject handle to buka (see GCBO)

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

% --- Executes on button press in kenali.

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

%B adalah matriks vektor untuk menampung citra uji B = xlsread('Data.xlsx','Motif','C25:NTR25'); E = xlsread('Data.xlsx','Motif','C5:NTR5'); panjang = length(E);

jumlah = 0;

for i = 1:panjang

jumlah = (E(1,i) - B(1,i))^2 + jumlah; end

xlswrite('Data.xlsx',jumlah,'ED','B5');

F = xlsread('Data.xlsx','Motif','C6:NTR6'); panjang = length(F);

jumlah = 0;

for i = 1:panjang

jumlah = (F(1,i) - B(1,i))^2 + jumlah; end

xlswrite('Data.xlsx',jumlah,'ED','B6');

G = xlsread('Data.xlsx','Motif','C7:NTR7'); panjang = length(G);

jumlah = 0;

for i = 1:panjang

jumlah = (G(1,i) - B(1,i))^2 + jumlah; end

xlswrite('Data.xlsx',jumlah,'ED','B7');

(12)
(13)

end

xlswrite('Data.xlsx',jumlah,'ED','B15');

S = xlsread('Data.xlsx','Motif','C16:NTR16'); panjang = length(S);

jumlah = 0;

for i = 1:panjang

jumlah = (S(1,i) - B(1,i))^2 + jumlah; end

xlswrite('Data.xlsx',jumlah,'ED','B16');

%untuk Ascending hasil Euclidean Distance dan kelas arrayA = xlsread('Data.xlsx','ED','B5:B16')

[numB,txtB,rawB] = xlsread('Data.xlsx','ED','A5:A16') arrayTemp = zeros(12,1)

[numD,txtD,rawD] = xlsread('Data.xlsx','ED','D5:D16') n = 12;

for i = n : -1 : 1 for j = 1 : i -1

if arrayA(j)>arrayA(j+1) temp = arrayA(j);

arrayA(j) = arrayA(j+1); arrayA(j+1) = temp; end

end end

arrayC = arrayTemp + arrayA disp(arrayC)

xlswrite('Data.xlsx',arrayC,'ED','C5:C16') arrayA = xlsread('Data.xlsx','ED','B5:B16')

for i = 1:12 for j = 1:12

if arrayC(i) == arrayA(j) rawD(i) = rawB(j) end

end end

xlswrite('Data.xlsx',rawD,'ED','D5:D16') %K-NN

%ambil kolom, masukkan ke variabel rawD

[txtD, rawD] = xlsread('Data.xlsx','ED','D5:D16'); deretAngka = xlsread('Data.xlsx','ED','C5:C16'); k = get(handles.nilaik,'value');

if k == 1 k = 1

elseif k == 2 k = 3

(14)

k = 5

else

k = 7

end

% variabel penampung data unique dari rawD dataA = {};

% variabel penampung jumlah dari setiap data unique di dataA dataIndA = [];

% variabel penampung data angka uniqe di dataA dataAngkaA = [];

for i = 1:k

% mengecek apakah elemen sudah ada dalam dataA exist = false;

panjangDataA = length(dataA); for j = 1:panjangDataA

% jika elemen sudah ada

if(strcmp(rawD(i), dataA(j)))

% nyatakan bahwa elemen sudah ada exist = true;

% jika elemen sudah eksis, maka naikkan jumlah elemen di dalam

% array dataIndA

dataIndA(j) = dataIndA(j) + 1;

dataAngkaA(j) = dataAngkaA(j) + deretAngka(i); end

end

% jika elemen belum ada, masukkan elemen baru ke dataA if(~exist)

dataA(end + 1) = rawD(i); % dan buat jumlah elemennya 1 dataIndA(end + 1) = 1;

dataAngkaA(end + 1) = deretAngka(i); %disp(deretAngka(i));

end end

panjang = length(dataIndA); maks = 1;

indeksTerbanyakElemen = 1;

% variabel penampung data angka uniqe di dataA %mencari rata-rata

for i = 1:panjang

if(dataIndA(i) > 1)

dataAngkaA(i) = dataAngkaA(i) / dataIndA(i); end

end

% mencari index yang berisi bilangan terbesar dalam dataIndA % yang berarti index tersebut memiliki elemen paling banyak for i = 1:panjang

if(dataIndA(i) > maks) maks = dataIndA(i);

indeksTerbanyakElemen = i; end

(15)

indeksNilaiTerkecil = indeksTerbanyakElemen;

%jika ada lebih dari 1 indeks yang memiliki terbanyak for i = 1:panjang

% jika yang dicek adalah indeks yang telah ditentukan, lanjutkan. if i == indeksTerbanyakElemen

continue; end

%jika ada indeks yang memiliki jumlah elemen sama if(dataIndA(i) == dataIndA(indeksTerbanyakElemen))

%maka indeks teratas adalah indeks dengan nilai rata-rata terkecil

if(dataAngkaA(i) < dataAngkaA(indeksTerbanyakElemen)) indeksNilaiTerkecil = i;

end

end end

hasil = rawD(indeksNilaiTerkecil);

set(handles.klasifikasi,'String',hasil); guidata(hObject, handles);

waktupengujian = toc(tStart);

set(handles.waktu,'string',waktupengujian); set(handles.deteksitepi,'Enable','Off');

% Hint: edit 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

% Hint: edit 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 on selection change in nilaik.

function nilaik_Callback(hObject, eventdata, handles) set(handles.kenali,'Enable','on');

% hObject handle to nilaik (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 nilaik contents as cell array

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

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

% hObject handle to nilaik (see GCBO)

(16)

% Hint: popupmenu 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 on button press in ekstraksiciri.

function ekstraksiciri_Callback(hObject, eventdata, handles)

% hObject handle to ekstraksiciri (see GCBO)

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

% --- Executes on button press in hapus.

function hapus_Callback(hObject, eventdata, handles) axes(handles.axes1);

imshow(1);

set(handles.slider2,'Value',0); set(handles.text9,'string',0); set(handles.nilaik,'Value',1);

set(handles.klasifikasi,'String','','Enable','on'); set(handles.waktu,'String','','Enable','on');

set(handles.deteksitepi,'Enable','Off'); set(handles.kenali,'Enable','Off'); % hObject handle to hapus (see GCBO)

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

% --- Executes on slider movement.

function slider2_Callback(hObject, eventdata, handles) thres = get(handles.slider2,'value');

handles.thres = round(thres); guidata(hObject, handles);

set(handles.text9,'string',handles.thres); 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)<thres

citra_threshold_batik(x,y)=1; elseif citra_gray(x,y)>=thres citra_threshold_batik(x,y)=0; end

end end

citra_threshold_batik;

(17)

axes(handles.axes1);

imshow(citra_threshold_batik);

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

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

% hObject handle to slider2 (see GCBO)

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

% Hint: slider controls usually have a light gray background. if isequal(get(hObject,'BackgroundColor'),

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

end

% --- Executes on button press in deteksitepi.

function deteksitepi_Callback(hObject, eventdata, handles) citra1=getimage(handles.axes1);

citra1rb=edge(citra1,'roberts',0.1); axes(handles.axes1);imshow(citra1rb);

uji = double(getimage(handles.axes1)); motif = reshape(uji, 1, 10000);

xlswrite('Data.xlsx',motif,'Motif','C25');

(18)

CURICULUM VITAE

Nama

:

Westhyma Sibarani

Alamat

:

Jl.Pambangunan No.122,Kampus USU, Medan

Telp/Hp

:

082364509288

Email

:

westhyma@gmail.com

Pendidikan

1998-2004

:

SD Sint Carolus, Bengkulu

2004=2007

:

SMP Sint Carolus, Bengkulu

2007-2010

:

SMAK Sint Carolus, Bengkulu

Referensi

Dokumen terkait

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

Pada penelitian ini penulis akan menentukan nilai keandalan dan berbagai indeks yang berhubungan dengan kualitas saluran penyulang 20 kV pada jaringan distribusi

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

Sehubungan dengan itu, Lembaga Penelitian Universitas Negeri Padang bekerjasama dengan Pimpinan Universitas, telah memfasilitasi peneliti untuk melaksanakan penelitian

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