Implementasi Kelas Graph_NaiveNL

public class Graph_NaiveNL { private double[][] matrix; private Vertex_NaiveNL[] vertex; private int size = 0; public Graph_NaiveNLint a { matrix = new double[a][a]; vertex = new Vertex_NaiveNL[a]; for int i = 0; i a; i++ { for int j = 0; j a; j++ { matrix[i][j] = -1; matrix[j][i] = -1; } matrix[i][i] = 0; } } public void addVertexString label, ListDouble nilai { vertex[size++] = new Vertex_NaiveNLlabel, nilai; } public void addEdgeint asal, int tujuan, double jarak { matrix[asal][tujuan] = matrix[tujuan][asal] = jarak; } public double euclideanDistanceint asal, int tujuan { ListDouble awal = new ArrayListDouble; ListDouble akhir = new ArrayListDouble; awal = vertex[asal].getNilai; akhir = vertex[tujuan].getNilai; double total = 0; for int i = 0; i awal.size; i++ { total = total + awal.geti - akhir.geti awal.geti - akhir.geti; } return Math.sqrttotal; } public void NaiveNLdouble m, double D { double jumlah_tetangga = 0; double jumlahData = vertex.length; System.out.printlnJumlah Data : + jumlahData; System.out.printlnNilai M : + m; System.out.printlnNilai D : + D; for int i = 0; i jumlahData; i++ { jumlah_tetangga = 0; for int j = 0; j jumlahData; j++ { if matrix[i][j] 0 i = j matrix[i][j] = D { if jumlah_tetangga == m + 1 { break; } jumlah_tetangga++; } } if jumlah_tetangga m + 1 { vertex[i].setOutliertrue; } else if jumlah_tetangga = m + 1 { vertex[i].setOutlierfalse; } } } public String displayOutlierDouble m, Double D, String jml_baris, JTable t,String path { String hasil_outlier = ; boolean isi = false; int jumlah_outlier = 0; long t1 = System.nanoTime; NaiveNLm, D; long t2 = System.nanoTime; System.out.println; hasil_outlier = hasil_outlier + Hasil Deteksi Outlier\n\n; hasil_outlier = hasil_outlier + Nilai M : + m + \n; hasil_outlier = hasil_outlier + Nilai dmin : + D + \n; hasil_outlier = hasil_outlier + Asal Data : + path + \n; hasil_outlier = hasil_outlier + Jumlah Data : + jml_baris + \n; hasil_outlier = hasil_outlier + ===================================================== ================ \n\n; for int i = 0; i vertex.length; i++ { if vertex[i].isOutlier == true { jumlah_outlier++; hasil_outlier = hasil_outlier + Mahasiswa + vertex[i].getLabelData + adalah outlier\n\n; for int j = 1; j t.getColumnCount; j++ { for int k = 0; k t.getRowCount; k++ { if vertex[i].getLabelData == t.getValueAtk, 0 { hasil_outlier = hasil_outlier + t.getColumnNamej+ bernilai + t.getValueAtk, j+\n ; } } } hasil_outlier = hasil_outlier +\n; isi = true; } } hasil_outlier = hasil_outlier + Jumlah Outlier : + jumlah_outlier + \n; if isi == false { hasil_outlier = hasil_outlier + Tidak ada hasil outlier \n; } hasil_outlier = hasil_outlier + Lama Deteksi Outlier Dengan Algoritma Index Based: + t2 - t1 java.lang.Math.pow10, -9 + detik\n; return hasil_outlier; } } Listing Program 5.2 Kelas Kelas Graph_NaiveNL.java

5.3.3 Implementasi Kelas CheckBoxTableModel

Berikut merupakan implementasi dari atribut dan method pada kelas CheckBoxTableModel yang dibuat sesuai dengan perancangannya. Kelas ini berkaitan dengan fungsi seleksi atribut karena berfungsi untuk menampilkan atribut-atribut yang akan diseleksi sebelum proses deteksi outlier dilakukan pada HalamanUtama. public class CheckBoxTableModel extends AbstractTableModel { String[] colom = {Atribut, Pilih}; SeleksiAtribut fm = new SeleksiAtribut, false; ListSeleksiAtribut lfm; public CheckBoxTableModel { lfm = new ArrayListSeleksiAtribut; } public int getRowCount { return lfm.size; } public int getColumnCount { return colom.length; } public String getColumnNameint col { return colom[col]; } public Object getValueAtint rowIndex, int columnIndex { switch columnIndex { case 0: return lfm.getrowIndex.getAtribut; case 1: return lfm.getrowIndex.getPilih; } return null; } public Class getColumnClassint columnIndex { return getValueAt0, columnIndex.getClass; } public void setValueAtObject val, int rowIndex, int columnIndex { switch columnIndex { case 0: lfm.getrowIndex.setAtributval.toString; break; case 1: lfm.getrowIndex.setPilihBoolean val; break; } fireTableCellUpdatedrowIndex, columnIndex; } public boolean isCellEditableint row, int col { return true; } public void addint a, SeleksiAtribut field_m { lfm.adda, field_m; fireTableRowsInsertedgetRowCount - 1, getRowCount - 1; } public void removeRow { ListSeleksiAtribut s = new ArrayListSeleksiAtribut; for SeleksiAtribut seleksi : lfm { if seleksi.getPilih { s.addseleksi; } } lfm = s; fireTableDataChanged; } public void removeRow2 { ListSeleksiAtribut s = new ArrayListSeleksiAtribut; for SeleksiAtribut seleksi : lfm { if seleksi.getPilih { s.removeseleksi; } }

Dokumen yang terkait

Deteksi outlier menggunakan Algoritma Local Correlation Integral (LOCI) : studi kasus data akademik mahasiswa Teknik Informatika Universitas Sanata Dharma.

0 0 258

Deteksi outlier menggunakan Algoritma Local Outlier Probability : studi kasus data akademik mahasiswa Program Studi Teknik Informatika Universitas Sanata Dharma.

0 5 265

Deteksi outlier menggunakan Algoritma Connectivity Based Outlier Factor : studi kasus data akademik mahasiswa Teknik Informatika Universitas Sanata Dharma.

0 4 252

Deteksi Outlier menggunakan algoritma Block-Based Nested-Loop : studi kasus data akademik mahasiswa Program Studi Teknik Informatika Universitas Sanata Dharma.

0 2 202

Deteksi outlier menggunakan algoritma Naive Nested Loop (studi kasus : data akademik mahasiswa program studi PS Universitas XYZ).

0 0 4

Deteksi outlier menggunakan Algoritma Connectivity Based Outlier Factor studi kasus data akademik mahasiswa Teknik Informatika Universitas Sanata Dharma

1 8 250

Deteksi outlier menggunakan Algoritma Local Outlier Probability studi kasus data akademik mahasiswa Program Studi Teknik Informatika Universitas Sanata Dharma

1 9 263

Deteksi Outlier menggunakan algoritma Block Based Nested Loop studi kasus data akademik mahasiswa Program Studi Teknik Informatika Universitas Sanata Dharma

0 1 200

Deteksi outlier menggunakan Algoritma Local Correlation Integral (LOCI) studi kasus data akademik mahasiswa Teknik Informatika Universitas Sanata Dharma

0 4 256

Deteksi Outlier menggunakan algoritma Naive Nested Loop : studi kasus data akademik mahasiswa Program Studi Teknik Informatika, Universitas Sanata Dharma, Yogyakarta - USD Repository

0 0 234