Implementasi Kelas Graph Implementasi Struktur Data

5.2.2 Implementasi Kelas Graph

Dalam sistem ini, seluruh data yang diolah akan dibentuk menjadi sebuah graph . Setiap graph memiliki atribut berupa double[ ][ ] edge, int size = 0, Vertex[ ] vertex dan Block[ ] block. Implementasi struktur data graph dapat dilihat pada listing program di bawah ini. Gambar 5.26 Listing Programlas Gra public Graphint a { edge = new double[a][a]; vertex = new Vertex[a]; size = 0; for int i = 0; i a; i++ { for int j = 0; j a; j++ { edge[i][j] = -1; edge[j][i] = -1; } edge[i][i] = 0; } } public int getJumlah_tetangga { return jumlah_tetangga; } public void setJumlah_tetanggaint jumlah_tetangga { this.jumlah_tetangga = jumlah_tetangga; } public boolean isUnmarked { return unmarked; } public void setUnmarkedboolean unmarked { this.unmarked = unmarked; } public boolean isNon_ outlier { return non_ outlier ; } public void setNon_ outlier boolean non_ outlier { this.non_ outlier = non_ outlier ; }} Method insertVertex digunakan untuk menambahkan sebuah data sebagai vertex. sebuah vertex memiliki label dan nilai dalam bentuk list bertipe double. .27 Listing Program Kelas Graph method insertVertex Method insertBlock digunakan untuk menambahkan beberapa vertex ke dalam sebuah blok tertentu. Setiap blok memiliki nomor urut. ng Program Kelas Graph method insertBlock Method insertEdge digunakan untuk memasukkan komponen nilai setiap vertex ke dalam matriks graph . Gambar 5.29 Listing Program Kelas Graph method insertEdge Method euclidean digunakan untuk menghitung jarak antara dua vertex menggunakan rumus euclidean distance . Method ini lalu mengembalikan nilai jarak tersebut dengan format double. public void insertVertexString label, ListDouble nilai { vertex[size++] = new Vertexlabel, nilai; } public void insertBlockint no_urut, ListInteger daftar_vertex { block[no_urut] = new Blockno_urut, daftar_vertex; } public void insertEdgeint i, int j, double nilai { edge[i][j] = edge[j][i] = nilai; } public double euclideanint a, int b { ListDouble data1 = new ArrayListDouble; ListDouble data2 = new ArrayListDouble; data1 = vertex[a].getNilai; data2 = vertex[b].getNilai; double total = 0; for int i = 0; i data1.size; i++ { total = total + Math.powdata1.geti - data2.geti, 2.0; } return Math.sqrttotal; }

5.2.3 Implementasi Kelas Block

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 Teknik Informatika, Universitas Sanata Dharma, Yogyakarta.

2 3 236

Deteksi outlier menggunakan algoritma Block-based Nested Loop (studi kasus: data akademik mahasiswa prodi PS Universitas XYZ).

1 5 6

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 Naive Nested Loop : studi kasus data akademik mahasiswa Program Studi Teknik Informatika, Universitas Sanata Dharma, Yogyakarta - USD Repository

0 0 234