84
LAMPIRAN
Source Code 1.
GUI.fig
2. GUI.m
function varargout = GUIvarargin
GUI MATLAB code for GUI.fig GUI, by itself, creates a new GUI or raises the
existing singleton.
H = GUI returns the handle to a new GUI or the handle to
the existing singleton. GUICALLBACK,hObject,eventData,handles,... calls
the local function named CALLBACK in GUI.M with the given input
arguments. GUIProperty,Value,... creates a new GUI or
raises the existing singleton. Starting from the left,
property value pairs are
85
applied to the GUI before GUI_OpeningFcn gets called. An
unrecognized property name or invalid value makes property application
stop. All inputs are passed to GUI_OpeningFcn via varargin.
See GUI Options on GUIDEs Tools menu. Choose GUI allows only one
instance to run singleton. See also: GUIDE, GUIDATA, GUIHANDLES
Edit the above text to modify the response to help GUI Last Modified by GUIDE v2.5 22-Jun-2015 22:06:08
Begin initialization code - DO NOT EDIT gui_Singleton = 1;
gui_State = struct gui_Name
, mfilename, ...
gui_Singleton , gui_Singleton,
... gui_OpeningFcn
, GUI_OpeningFcn, ...
gui_OutputFcn , GUI_OutputFcn,
... gui_LayoutFcn
, [] , ...
gui_Callback , [];
if nargin ischarvarargin{1}
gui_State.gui_Callback = str2funcvarargin{1}; end
if nargout
[varargout{1:nargout}] =
gui_mainfcngui_State, varargin{:};
else gui_mainfcngui_State, varargin{:};
end End initialization code - DO NOT EDIT
--- Executes just before GUI is made visible. function
GUI_OpeningFcnhObject, 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 GUI see VARARGIN
86
Choose default command line output for GUI handles.output = hObject;
clc; axeshandles.logo
imshow usd.jpg
Pengaturan awal tabel sethandles.tblHasil,
ColumnWidth ,{45,55,55,60,35,35,35,35}
; sethandles.tblHasil,
Data ,{};
sethandles.tblPembagianCls, ColumnWidth
,{30}; sethandles.tblPembagianCls,
Data ,{};
sethandles.tblCentroid, ColumnWidth
,{45}; sethandles.tblCentroid,
Data ,{};
sethandles.tblInfoTeks, ColumnWidth
,{40,75}; sethandles.tblInfoTeks,
RowName ,{};
sethandles.tblInfoTeks, Data
,{}; sethandles.tblConfMat,
ColumnWidth ,{50};
sethandles.tblConfMat, Data
,{}; sethandles.axCluster,
Visible ,
off ;
Update handles structure guidatahObject, handles;
UIWAIT makes GUI wait for user response see UIRESUME uiwaithandles.figure1;
--- Outputs from this function are returned to the command line.
function varargout = GUI_OutputFcnhObject, 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;
87
--- Executes on button press in btnPreprocessing. function
btnPreprocessing_CallbackhObject, eventdata,
handles hObject handle to btnPreprocessing see GCBO
eventdata reserved - to be defined in a future version of MATLAB
handles structure with handles and user data see GUIDATA
clc; N=75;
fileID = fopen kamus\hubung.txt
; Membuka file
hubung = textscanfileID, s
; Membaca file
fclosefileID; Menutup file
kamusHubung=hubung{1}; baca kamus, insset into matrix
fileID = fopen kamus\kamus.txt
; Membuka file
kamus = textscanfileID, s
; Membaca file
fclosefileID; Menutup file
dataKamus=kamus{1}; matFile = fullfilecd,
hasilPreprocessing.mat ;
ada=existmatFile, file
; if
ada==1 deletematFile;
end batasAwal=[50;70];
batasAkhir=[150;90]; handles.batasAwal=batasAwal;
handles.batasAkhir=batasAkhir; [jmlPerKataUnik,matrixFIle,kataUnik,calonData
]=preprocessingbatasAwal,batasAkhir,N,kamusHubung,dataKamus ;
save hasilPreprocessing.mat
, jmlPerKataUnik
, matrixFIle
, kataUnik
, calonData
, batasAwal
, batasAkhir
; handles.jmlPerKataUnik=jmlPerKataUnik;
handles.matrixFIle=matrixFIle; handles.kataUnik=kataUnik;
88
uiwaitmsgbox Preprocessing
sudah selesai.
, Peringatan
, modal
; guidatahObject, handles;
--- Executes on button press in btnProses. function
btnProses_CallbackhObject, eventdata, handles hObject handle to btnProses see GCBO
eventdata reserved - to be defined in a future version of MATLAB
handles structure with handles and user data see GUIDATA
clc; sethandles.tblHasil,
Data ,{};
sethandles.tblPembagianCls, Data
,{}; sethandles.tblCentroid,
Data ,{};
sethandles.tblInfoTeks, Data
,{}; sethandles.tblConfMat,
Data ,{};
sethandles.axCluster, Visible
, off
; sethandles.txtIterasi,
String ,
; sethandles.txtJmlKataUnik,
String ,
; sethandles.txtAkurasi,
String ,
; jmlPerKataUnik=handles.jmlPerKataUnik;
matrixFIle=handles.matrixFIle; kataUnik=handles.kataUnik;
load hasilPreprocessing.mat
, jmlPerKataUnik
; load
hasilPreprocessing.mat ,
matrixFIle ;
load hasilPreprocessing.mat
, kataUnik
; load
hasilPreprocessing.mat ,
calonData ;
load hasilPreprocessing.mat
, batasAwal
; load
hasilPreprocessing.mat ,
batasAkhir ;
N=75; jmlCluster=3;
dataTemp=[]; data=[];
nDist=[]; calonData1=calonData;
[mC,nC]=sizec; [m,n]=sizebatasAwal;
89
[~,nCd]=sizecalonData1; iterasi=0;
for i=1:mC
for j=1:nCd
iterasi=iterasi+1; sethandles.txtIterasi,
String ,num2striterasi;
[calonData,dist,SSE,jmlObyekCls,pembagianCls,cPusat,clusterS ingle]
= pembentukanClscalonData1{1,j},N,jmlCluster,ci,1;
dataTemp=[ci,batasAwalj,1,batasAkhirj,1,SSE,jmlObyekCl s1,1,jmlObyekCls2,1,jmlObyekCls3,1];
data=[data;dataTemp]; dataTemp=[];
nDist{iterasi,1}=dist; nPembagianCls{iterasi,1}=pembagianCls;
nCPusat{iterasi,1}=cPusat; nClusterSingle{iterasi,1}=clusterSingle;
nCalonData{iterasi,1}=calonData; pause3
end end
[data,idxMin]=warnaMinhObject, eventdata, handles, data; sethandles.tblHasil,
ColumnWidth ,{45,55,55,60,35,35,35,35}
; sethandles.tblHasil,
Data ,data;
nCls=N; class=1;
class_test=zerosnCls,1; for
i=1:nCls if
modi,25 == 0 class_testi,1=class;
class=class+1; if
i nCls class_testi+1,1=class;
end else
class_testi,1=class; end
end
90
confMat=hitungConfusionmatclass_test,nPembagianCls{idxMin} ;
[M,~]=maxconfMat; [dataConfMat]=warnaConfusionhObject,
eventdata, handles,confMat;
sethandles.tblConfMat, ColumnWidth
,{50}; sethandles.tblConfMat,
Data ,dataConfMat;
acc=sumMsumconfMat:100; sethandles.txtAkurasi,
String ,num2stracc;
sethandles.axCluster, Visible
, on
; axeshandles.axCluster;
warna = nClusterSingle{idxMin}end-jmlCluster+2,3-eps; dendrogramnClusterSingle{idxMin},
0, colorthreshold
,warna; sethandles.tblPembagianCls,
RowName ,{};
sethandles.tblPembagianCls, ColumnName
,{}; sethandles.tblPembagianCls,
Data ,nPembagianCls{idxMin};
assignin base
, tblPembagianCls
,nPembagianCls{idxMin}; sethandles.tblCentroid,
Data ,nCPusat{idxMin};
sethandles.tblInfoTeks, Data
,[num2celljmlPerKataUnik,kat aUnik];
sethandles.tblInfoTeks, ColumnWidth
,{40,75}; sethandles.txtJmlKataUnik,
String ,num2strnumelkataUnik
;
uiwaitmsgbox Proses
sudah selesai.
, Peringatan
, modal
; guidatahObject, handles;
function ConMatrix=hitungConfusionmatclass_test,class_predict
yu=uniqueclass_test; confMat=zeroslengthyu;
for i=1:lengthyu
for j=1:lengthyu
confMati,j=sumclass_test==yui class_predict==yuj;
end end
91
ConMatrix=confMat;
function [data,idxMin]=warnaMinhObject, eventdata, handles,
data Konversi matrix dari nomor ke cell array string
dataCell =
reshapestrtrimcellstrnum2strdata:, sizedata;
Penentuan yang akan diberi warna dengan fotmat html [m,n]=sizedata;
sseTemp=data1,4; sseTemp=data1,4;
idxMin=0; for
i=1:m if
~isnandatai,4 if
datai,4 sseTemp idxMin=i;
sseTemp=datai,4; dataCelli,1:7 = strcat
... htmlspan
style=color:FF0000; font-
weight:bold; font-size:12;
text-align:center; vertical-
align:middle;background-color:ffffcc; ,
... dataCelli,1:7,
... spanhtml
; else
dataCelli,1:7 = strcat ...
htmlspan style=color:000000;
font- size:10; text-align:center; vertical-align:middle;
, ...
dataCelli,1:7, ...
spanhtml ;
end end
end data=dataCell;
function [dataConfMat]=warnaConfusionhObject, eventdata,
handles,dataConfMat hObject handle to BtnFigureTable see GCBO
eventdata reserved - to be defined in a future version of MATLAB
handles structure with handles and user data see GUIDATA
Hint: gethObject,Value returns toggle state of BtnFigureTable
X=dataConfMat;
92
Konversi matrix dari nomor ke cell array string XX = reshapestrtrimcellstrnum2strX:, sizeX;
Penentuan yang akan diberi warna dengan fotmat html [~,I] = maxX;
for i=1:sizeI,2
XXIi,i = strcat ...
htmlspan style=color: 429808; font-weight: bold;font-size:14;
, ...
XXIi,i, ...
spandivhtml ;
end dataConfMat=XX;
--- Executes on button press in buttonProses. function
buttonProses_CallbackhObject, eventdata, handles hObject handle to buttonProses see GCBO
eventdata reserved - to be defined in a future version of MATLAB
handles structure with handles and user data see GUIDATA
3. Preprocessing.m