Method HapusAtributBtnActionPerformed merupakan method yang digunakan untuk menghapus atribut yang tidak diperlukan pada proses
input data. Pertama terjadi looping untuk membaca baris atribut yang akan dihapus, setelah itu jika nilai dari variabel TabelAtribut ke-i dan satu sama
dengan benar,maka kemudian akan terjadi looping lagi untuk membaca kolom atribut yang akan dihapus, setelah itu jika nilai dari variabel
TabelAtribut ke-i dan nol sama dengan variabel TabelDataInput mendapatkan nama kolom, maka method TableColumn dengan nama alias
hapusKolom bernilai sama dengan variabel TabelDataInput mendapatkan model kolom dan nilai kolom, kemudian variabel TabelDataInput akan
menghapus kolom dengan nama alias hapusKolom menggunakan method removeColumn. Kemudian jumlah data dan banyak atribut pun akan
berubah yang ditampilkan dalam variabel jumDataField dan AtributField.
5.1.2.3 Implementasi Kelas FuzzyCMeans
Method – method penting yang terdapat dalam kelas FuzzyCMeans
adalah method matriksAwal, method hitungPusatklaster, method fungsiObjektif, method matriksPartisiBaru, method getMaxValue,
method Hasil berikut penjelasannya.
private void HapusAtributBtnActionPerformedjava.awt.event.ActionEvent evt
{ for int i = 0; i TabelAtribut.getRowCount; i++ {
if TabelAtribut.getValueAti, 1.equalstrue { for int j = 0; j TabelDataInput.getColumnCount;
j++ {
if TabelAtribut.getValueAti, 0.equalsTabelDataInput.getColumnNamej {
TableColumn hapusKolom = TabelDataInput.getColumnModel.getColumnj;
TabelDataInput.removeColumnhapusKolom; jumDataField.setTextString.valueOfTabelDataInput.getRowCount
; AtributField.setTextString.valueOfTabelDataInput.getColumnCou
nt; }
} }
} SeleksiAtributModel seatModel = new SeleksiAtributModel;
seatModel.hapusAtribut; }
public double[][] hitungPusatklaster { double[] SumU = new double[c];
double[][] hitungUW = new double[baris][c]; for int i = 0; i baris; i++ {
for int j = 0; j c; j++ { hitungUW[i][j] = Math.powmatriksU[i][j], w;
var hitungUW menyimpan pemangkatan matriks keanggotaan dengan pembobot w
SumU[j] += hitungUW[i][j]; var jumU untuk menyimpan jumlah dari var hitungUW
} }
System.out.println; instansiasi var simpansementara untuk menyimpan
pusat klaster simpansementara = new double[c][kolom];
double[][] sementara = new double [c][kolom]; for int i = 0; i baris; i++ {
for int j = 0; j c; j++ { for int l = 0; l kolom; l++ {
sementara[j][l] += hitungUW[i][j]input[i][l]; return simpansementara;
} }
} public double[][] matriksAwal {
matriksU = new double[baris][c]; Random random = new Random;
membuat random nilai dengan nilai desimal 1 dibelakang koma
for int i = 0; i baris; i++ { for int j = 0; j c; j++ {
matriksU[i][j] = Math.roundrandom.nextDouble 100.0 100.0;
} }
cetak matriks keanggotaan System.out.printlnMatriks U awal : ;
for int i = 0; i baris; i++ { for int j = 0; j c; j++ {
System.out.printmatriksU[i][j] + \t;
} System.out.println;
} return matriksU;
}
public double[][] matriksPartisiBaru { double pemangkat = -1 w - 1;
double[] jum = new double[baris]; double[][] UBaru = new double[baris][c];
decimalF = new DecimalFormat.; System.out.printlnMatriks U Baru : ;
for int i = 0; i baris; i++ { for int j = 0; j c; j++ {
jum[i] += Math.powtotalP[i][j], pemangkat;var jum untuk menyimpan jumlh matriks keanggotaan yang
di pangkatkan }
for int j = 0; j c; j++ { UBaru[i][j] = Math.powtotalP[i][j],
pemangkat jum[i]; System.out.printdecimalF.formatUBaru[i][j] +
\t; }
System.out.println; }
matriksU = UBaru; return matriksU;
} public double fungsiObjektif {
totalP = new double[baris][simpansementara.length]; double[][] sementaraP = new
double[baris][simpansementara.length]; double Pbaru = 0;
System.out.printFungsi Objektif : ; for int i = 0; i baris; i++ {
for int j = 0; j simpansementara.length; j++{ for int l = 0; l simpansementara[0].length; l++
{ totalP[i][j] += Math.powinput[i][l] -
simpansementara[j][l], 2; var totalP menyimpan jumlah Xij-Vkj2
} sementaraP[i][j] = totalP[i][j]
Math.powmatriksU[i][j], w; var sementaraP untuk menyimpan hasil perkalian Uikw P
objektif[i] += sementaraP[i][j]; }
Pbaru += objektif[i]; var Pbaru untuk menyimpan fungsi objektif baru
} System.out.printlnPbaru;
System.out.println; return Pbaru;
}
5.1.2.4 Implementasi Kelas HalamanFuzzyCMeans