Implementasi Kelas FuzzyCMeans Implementasi Kelas

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