Perancangan Struktur Data ANALISIS DAN PERANCANGAN SISTEM

a. Data yang dipilih dalam bentuk tabel data, jumlah data b. Daftar nama atribut 2. Proses deteksi outlier menampilkan : a. Outlier beserta daftar nilai untuk setiap atribut b. Jumlah data c. Jumlah outlier d. Lama deteksi outlier

4.3 Perancangan Struktur Data

Sistem Pendeteksi Outlier Menggunakan Algoritma Block-based Nested- Loop ini menggunakan struktur data berupa graph . Pemilihan penggunaan struktur data graph karena dapat membantu penyimpanan data dengan banyak atribut serta untuk menghubungkan satu data dengan data lainnya. Setiap data akan dianggap sebagai vertex . Setiap vertex memiliki label serta nilai. Nilai setiap vertex disimpan dalam bentuk list karena setiap vertex dapat memiliki lebih dari satu atribut. Penggunaan algoritma Block-based Nested-Loop mengharuskan adanya pembentukan blok-blok data untuk membantu proses load data ke memori. Setiap blok berisi sekumpulan vertex yang jumlahnya disesuaikan dengan perhitungan blok. Setiap blok memiliki nomor blok, isi blok, jumlah anggota, sisa dan status first array . Nomor blok digunakan untuk membantu pertukaran blok selama proses deteksi outlier berlangsung. Saat pembagian vertex ke dalam sejumlah blok, ada kemungkinan terdapat sisa vertex karena jumlah data tidak habis dibagi dengan jumlah blok. Sisa vertex ini akan dimasukkan ke blok tertentu. Karena tidak ada aturan khusus mengenai penempatan vertex sisa tersebut, peneliti menetapkan untuk memasukkannya ke dalam blok dengan nomor urut terakhir. Status first array bertipe boolean dan digunakan sebagai penanda bahwa sebuah blok sudah pernah menjadi first array . Status ini diperlukan sebab sesuai dengan aturan dalam algoritma Block-based Nested-Loop , sebuah blok hanya dapat sekali menjadi first array . Ilustrasi struktur data yang digunakan oleh sistem ini dapat dilihat pada gambar di bawah ini. Nama Atribut 1 Atribut 2 Atribut 3 A . . . . . . . . . . . . B . . . . . . . . . . . . C . . . . . . . . . . . . D . . . . . . . . . . . . E . . . . . . . . . . . . F . . . . . . . . . . . . G . . . . . . . . . . . . H . . . . . . . . . . . . Index 1 2 3 4 5 6 7 0 -1 -1 -1 -1 -1 -1 -1 1 -1 0 -1 -1 -1 -1 -1 -1 2 -1 -1 0 -1 -1 -1 -1 -1 3 -1 -1 -1 0 -1 -1 -1 -1 4 -1 -1 -1 -1 0 -1 -1 -1 5 -1 -1 -1 -1 -1 0 -1 -1 6 -1 -1 -1 -1 -1 -1 0 -1 7 -1 -1 -1 -1 -1 -1 -1 0 Buat Graph 8 Input data sejumlah 8 baris dengan 3 atribut - Dibentuk matriks jarak edge . Karena data berjumlah 8 maka dibentuk matriks 8x8. Untuk pertemuan indeks yang sama akan diberi nilai 0 dan pertemuan indeks yang berbeda akan diberi nilai -1. - Dibentuk vertex kosong sebanyak 8 buah A Vertex[0] = Label „A‟ List nilai StatusUnmarked = true StatusNon Outlier =false index . . . . . . . . . H Vertex[7] = Label „H‟ List nilai StatusUnmarked = true StatusNon Outlier =false Insert Vertex Hitung jumlah blok dan pembagian vertex ke dalam blok Diasumsikan pada contoh kasus ini, diperoleh : jumlah blok = 3 data per blok = 2 sisa = 2 sisa lalu dimasukkan ke blok terakhir A B C D E F G H Blok 1 Blok 2 Blok 3 Insert edge dan pencarian outlier First Array Second Array Blok 1 Blok 2 Blok 1 Blok 1 Blok 3 dan dan Status first array blok 1 harus false baru dimasukkan ke First Array Untuk tiap vertex dalam blok 1 : -jumlah tetangga = M -status unmarked = true -status nonoutlier = false Setiap vertex yang berada dalam blok 1 dihitung euclidean distance dan jumlah tetangganya Karena status first array blok 1 = true, maka blok 1 tidak dimasukkan lagi ke first array . Hal ini menandakan seluruh blok telah dicek outlier nya. Kemudian proses Status first array blok 1 = true First Array Second Array Blok 3 Blok 1 Blok 3 Blok 3 Blok 2 dan dan Status first array blok 3 harus false baru dimasukkan ke First Array Untuk tiap vertex dalam blok 3 : -jumlah tetangga = M -status unmarked = true -status nonoutlier = false Setiap vertex yang berada dalam blok 3 dihitung euclidean distance dan jumlah tetangganya Status first array blok 3 = true Status first array blok 2 = true First Array Second Array Blok 2 Blok 3 Blok 2 Blok 2 Blok 1 dan dan Status first array blok 2 harus false baru dimasukkan ke First Array Untuk tiap vertex dalam blok 2 : -jumlah tetangga = M -status unmarked = true -status nonoutlier = false Setiap vertex yang berada dalam blok 2 dihitung euclidean distance dan jumlah tetangganya pencarian outlier selesai. Lalu setiap vertex yang memiliki status non outlier = false akan ditampilkan sebagai outlier .

4.4 Diagram Use Case

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