GUI.m Pengelompokan artikel berbahasa Jawa dengan hierarchical k means clustering.

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