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
function [semuaJmlPerKataUnik,matrixFIle,semuaKataUnik,calonDataCell
] = preprocessingbatasAwal,batasAkhir,N,kamusHubung,dataKamus
UNTITLED2 Summary of this function goes here Detailed explanation goes here
[matrixFIle{1:N,1}]=dealzeros0; for
i=1:N baca dokumen
alamatFile=strcat doc\
,int2stri, .txt
; fileID = fopenalamatFile;
Membuka file data = textscanfileID,
s ;
Membaca file fclosefileID;
Menutup file data=data{1};
Memasukkan data ke dalam matriks data=regexprepdata,
[.,?-+=\ :[];_12345678910â”—
] ,
; Menghilangkan tanda baca
93
data=strtrimdata; datastrcmp
,data = []; Menghilangkan cell yang
kosong data=lowerdata;
Mengubah huruf besar menjadi kecil fid = fopen
Data\dataAwal.txt ,
w ;
for row = 1:sizedata,1
fprintffid, repmat s\t
,1,sizedata,2-1, data{row,1:end-1};
fprintffid, s\n
, data{row,end}; end
fclosefid; stemming data,kamus ;
perl stemcoba.pl
; fileID = fopen
Data\dataHasil.txt ;
Membuka file data = textscanfileID,
s ;
Membaca file fclosefileID;
Menutup file hasilStem=data{1};
Memasukkan data ke dalam matriks hasilStem=regexprephasilStem,
- ,
; Menghilangkan
tanda baca hasilStem=strtrimhasilStem;
hasilStemstrcmp ,hasilStem = [];
Menghilangkan cell yang kosong
matrixFIle{i} = hasilStem; end
matrixGabungan=[]; for
i=1:N matrixGabungan=[matrixGabungan;matrixFIle{i}];
okAGROW end
cek dengan kamus dan hapus kata hubung yaTdk=ismembermatrixGabungan,kamusHubung;
assigninbase,yaTdk,yaTdk; [m,n]=sizematrixGabungan;
dataTemp=[]; z=1;
for j=1:m
if yaTdkj,1==0
dataTemp{z}=matrixGabungan{j}; z=z+1;
94
end end
hasilStem=dataTemp; idexHasilKamus=ismemberhasilStem,dataKamus;
[m,~]=sizeidexHasilKamus; n=1;
for i=1:m
for j=1:n if
idexHasilKamusi,1==1 hasilKamus{n,1}=hasilStem{i,1};
n=n+1; end
end end
hasilKamus=hasilKamus~cellfun isempty
,hasilKamus; [kataUnik,~,indeksKata]=uniquehasilKamus;
Menentukan kata unik beserta indeksnya
jmlReduksiKataUnik = lengthkataUnik; Jumlah total kata
unik jmlPerKataUnik = histindeksKata,1:jmlReduksiKataUnik;
Jumlah per kata unik jmlPerKataUnik=jmlPerKataUnik;
semuaKataUnik=kataUnik; semuaJmlPerKataUnik=jmlPerKataUnik;
[m,n]=sizebatasAwal;
for k=1:m
[m,n]=sizejmlPerKataUnik; dataTemp2=[];
dataTemp3=[]; dataTemp4=[];
dataTemp5=[]; x=1;
y=1;
for i=1:m
if jmlPerKataUniki,1batasAwalk,1
jmlPerKataUniki,1batasAkhirk,1 if jmlPerKataUniki,12 jmlPerKataUniki,1200
if jmlPerKataUniki,12 jmlPerKataUniki,1100
if jmlPerKataUniki,180 jmlPerKataUniki,1100
95
dataTemp2x,1=jmlPerKataUniki,1; dataTemp3{x,1}=kataUnik{i,1};
x=x+1; else
dataTemp4y,1=jmlPerKataUniki,1; dataTemp5{y,1}=kataUnik{i,1};
y=y+1; end
end jmlPerKataUnik= dataTemp2;
kataUnik= dataTemp3; jmlSelainKataUnik{k}=dataTemp4;
selainKataUnik{k}=dataTemp5; countKataUnik = sumjmlPerKataUnik;
[m,n]=sizejmlPerKataUnik; matrixBobot=zerosm,n;
for i=1:m
matrixBoboti=log10countKataUnikjmlPerKataUniki; end
calonData=zerossizematrixBobot,1,N; for
i=1:N tempMatrixFile=matrixFIle{i};
[m,n]=sizetempMatrixFile; for
j=1:m [row,~] =
findismemberkataUnik,tempMatrixFilej,1; calonDatarow, i=matrixBobotrow,1;
end end
calonDataCell{k}=calonData; end
assignin base
, jmlSelainKataUnik
,jmlSelainKataUnik; assignin
base ,
selainKataUnik ,selainKataUnik;
assignin base
, jmlSelainKataUnik
,jmlSelainKataUnik; assignin
base ,
selainKataUnik ,selainKataUnik;
end
4. Kmeans1.m