Diagram Sequence Diagram Kelas Desain Rincian Algoritma Setiap Method pada Tiap Kelas

4.3.3 Diagram Sequence

Berikut merupakan Diagram Sequence yang terdapat pada sistem deteksi outlier menggunakan algoritma Connectivity-based Outlier Factor: 1. Diagram Sequence Input Data File yang Berekstensi .xls 2. Diagram Sequence Input Data File yang Berekstensi .csv 3. Diagram Sequence Input Data File dari Tabel pada Database 4. Diagram Sequence Proses Deteksi Outlier 5. Diagram Sequence Simpan Hasil Deteksi Outlier 6. Diagram Sequence Seleksi Atribut Penjelasan dari masing-masing diagram sequence akan di jelaskan pada bagian lampiran 4.

4.3.4 Diagram Kelas Desain

Diagram kelas desain merupakan diagram yang menunjukan daftar tiap- tiap kelas yang nantinya akan di gunakan dalam pembuatan sistem deteksi outlier menggunakan algoritma Connectivity-based Outlier Factor. Diagram kelas ini memuat semua kelas beserta dengan atribut-atributnya. Boundary HomePage Boundary Home Boundary Halaman PilihFile Boundary Halaman PilihDataBase Boundary Halaman PilihTabel Controller DataControl Entity KoneksiDataBase Controller SeleksiAtributContr ol Entity CheckBoxTableMod el entity Graph entity Vertex entity CofTableModel entity DatCof Boundary Halaman About Boundary Halaman Help Boundary Halaman Prepocessing Boundary Halaman Deteksi Outlier memanggil memanggil memanggil memanggil memanggil memanggil memiliki memanggil memanggil memanggil memanggil memanggil memanggil memanggil memanggil memanggil 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1... 1... 1... Gambar 4.3 Diagram Kelas Desain Sistem Deteksi Outlier Menggunakan Algoritma Connectivity-based Outlier Factor. Penjelasan mengenai masing-masing kelas beserta dengan atribut dan method yang di gunakan akan di jelaskan pada lampiran 5.

4.3.5 Rincian Algoritma Setiap Method pada Tiap Kelas

1. Rincian Algoritma pada Setiap Method pada kelas KoneksiDataBase Nama Method Fungsi Method Algoritma Method getDBConnectionOracleStri ng, String, String Mendapatka n nilai dari username , password , dan url dari 1. Membuat obyek dari OracleDataSource. 2. Mengeset nilai url ke dalam obyek hasil inputan user untuk melakukan koneksi ke database Oracle . yang telah di buat. 3. Mengambil nilai userId dan password 4. Jika benar, maka mengembalikan nilai connection dan berhasil terkoneksi dengan database Oracle. getDBConnectionSqlString, String, String Mendapatka n nilai dari username , password , dan url dari hasil inputan user untuk melakukan koneksi ke database MySql. 1. Membuat koneksi ke database MySql dengan mengeset nilai connection dengan parameter url , userid , dan password . 2. Jika benar, maka mengembalikan nilai connection dan berhasil terkoneksi dengan database MySql. isConnectedSqlString, String, String Melakukan pengecekan apakah sistem sudah terkoneksi dengan 1. Memanggil method getDBConnectio nSql dengan parameter inputan user , password , dan database MySql. url yang telah di masukan oleh user 2. Apabila nilai parameter tersebut tidak kosong, maka akan mengembalikan nilai true. 3. Apabila nilai parameter kosong, maka akan mengembalikan nilai false. isConnectedOracleString, String, String Melakukan pengecekan apakah sistem sudah terkoneksi dengan database Oracle. 1. Memanggil method getDBConnection Oracle dengan parameter inputan user , password , dan url yang telah di masukan oleh user 2. Apabila nilai parameter tersebut tidak kosong, maka akan mengembalikan nilai true. 3. Apabila nilai parameter kosong, maka akan mengembalikan nilai false. close Di gunakan untuk memutus koneksi database dengan sistem. 1. Memanggil method getConn, apabila sudah tidak terhubung maka panggil method close untuk menutup koneksi. 2. Rincian Algoritma pada Setiap Method pada kelas Graph Nama Method Fungsi Method Algoritma Method addVertexString, ListDouble Membuat sebuah vertex untuk membentuk graph . 1. Membaca parameter label dan nilai. 2. Mendeklarasikan sebuah vertex baru dengan memasukan nilai label dan nilai ke dalam vertex. addEdgeint, int, Double Mengisi tiap-tiap nilai edge pada vertex 1. Membaca nilai parameter start, end, dan weight. 2. Memasukan nilai dari yang telah di buat. parameter ke dalam variabel adjMat untuk mengisi nilai edge. calculateEcluidianDistanc eint, int Menghitun g jarak dari edge 1.Membaca parameter array1 dan array2. 2. Membuat obyek x dan obyek y untuk menampung nilai dari array1 dan array2. 3. Mengeset nilai sum = 0.0. 4. Selama nilai i kurang dari jumlah data x, maka akan di lakukan perhitungan sum = sum + Math.powx.geti - y.geti, 2.0. 5. Mengembalikan nilai sum. show Menampilk an sebuah graph yang telah di buat. 1. Selama nilai i kurang dari panjang vertexList, maka akan ditampilkan label dari vertex tersebut. 2. Selama nilai i kurang dari panjang adjMat, maka akan di tampilkan perhitungan jarak Euclidian Distance . inputData Menginputk an data dari 1. Selama i kurang dari jumlah baris pada tabel, Jtable ke dalam matrix dalam graph . maka di buat obyek listNilai bertipe ArrayList. 2. Selama j kurang dari jumlah kolom pada tabel, dan j sama dengan 0 maka akan dilakukan pengesetan label ke dalam tabel 3. Apabila tidak maka memasukan nilai ke dalam listNilai. 4. Memanggil method addVertex untuk membuat vertex 5. Selama i kurang dari jumlah baris pada tabel, dan selama j sama dengan 1+i dan j kurang dari jumlah baris pada tabel, maka akan di lakukan pengecekan apabila i tidak sama dengan j maka memanggil method addEdge untuk mengisi nilai edge dengan jarak EcluidianDistance pada method calculateEcluidianDistanc e. SearchString Method untuk mencari 1. Untuk i = 0 dan i kurang dari panjang vertexList maka akan posisi indeks pada vertexLisr dilakukan pengecekan: a. Jika label sama dengan nilai label pada vertexList[i], maka mengembalikan nilai i. b. Mengembalikan nilai -1 Search2Double, int Method untuk mencari vertexList tertentu dan mengubah nilai wasVisited menjadi true. 1. Untuk i = 0 dan i kurang dari panjang vertexList maka akan dilakukan pengecekan: a. Jika adjMat pada index,i sama dengan jarak maka set atribut wasVisitedP menjadi true. cariKDistanceint, int Method untuk mencari kDistance pada masing- masing obyek. 1. Untuk i = 0 dan i kurang dari panjang vertexList maka set atribut wasVisitedP menjadi false. 2. Membuat obyek a bertipe Double. 3. Menginisialisasi nilai kDistance = 0.0 4. Membuat atribut temp1 bertipe Double. 5. Apabila nilai index sama dengan -1, berarti graph tidak terhubung. 6. Untuk j = 0, dan nilai j kurang dari panjang a, untuk i = 0 dan nilai i kurang dari panjang vertexList maka di lakukan pengecekan: a. Jika adjMat index, i tidak sama dengan -1, 0, dan isWasVisited = false. b. Jika adjMat index, o kurang dari temp1 maka nilai temp1 = adjMat index,i 7. Set nilai a = temp1. 8. Memasukan parameter temp1 dan index ke dalam method . 9. Untuk i = 0 dan i kurang dari panjang a akan dilakukan pengecekan: a. Jika kDistance kurang dari a[i], maka nilai kDistance = a[i] 10. Mengembalikan nilai kDistance. setKDistanceString, int Mengeset variabel kDistance ke dalam vertex 1. Membaca parameter label dan jangkauan. 2. Membuat variabel index dan di inisialisasi ke dalam method Search dengan parameter label. 3. Mengeset kDistance dengan memanggil method cariKDistance. calculateCofint Menginputk an nilai pada variabel COF dalam vertex 1. Membaca parameter minPts 2. Untuk nilai i = 0 dan i kurang dari panjang vertexList, maka mengeset nilai kDistance . 3. Untuk nilai i = 0 dan i kurang dari panjang vertexList, maka mengeset nilai nkp. 4. Untuk nilai i = 0 dan i kurang dari panjang vertexList, maka mengeset nilai sbnPath. cariNkpDouble, int Method untuk mencari masing- masing nkp pada setiap obyek 1. Membaca parameter kDistance dan index 2. Membuat variabel x bertipe ArrayList String 3. Jika index sama dengan -1, maka graph tidak terhubung 4. Untuk i = 0 dan i kurang dari panjang vertexList maka di lakukan pengecekan: a. Jika adjMat index, i tidak sama dengan -1 dan 0, dan jika adjMat index,i kurang dari sama dengan kDistance b. Maka memasukan nilai vertexList[i].getL abelP ke dalam x. 5. Mengembalikan nilai x. setNkpString Mengeset variabel nkp ke dalam vertex 1. Membaca parameter label. 2. Membuat atribut index dan di inisialisasikan ke dalam method Searchlabel 3.Mengeset nilai nkp dengan method cariNkp cariLabelString Method untuk mencari label pada vertexList 1. Membaca parameter label. 2. Untuk i = 0 dan i kurang dari panjang vertexList maka akan dilakukan pengecekan: a. Jika vertexList[i].getL abelP sama dengan label pada parameter, maka mengembalikan nilai i. 4. Mengembalikan nilai - 1. cariSbnPathDouble, int Method untuk mencari sbnPath pada masing- masing obyek 1. Membaca parameter kDistance dan index 2. Membuat variabel x bertipe ArrayList String 3. Jika index sama dengan -1, maka graph tidak terhubung 4. Untuk i = 0 dan i kurang dari panjang vertexList maka di lakukan pengecekan: a. Jika adjMat index, i tidak sama dengan -1 dan 0, dan jika adjMatt index,i kurang dari sama dengan kDistance b. Maka memasukan nilai vertexList[i].getL abelP ke dalam x. c. Melakukan sorting untuk nilai x.

5. Mengembalikan nilai x.

setSbnPathString Mengeset nilai sbnPath ke dalam vertex 1. Membaca parameter label. 2. Membuat atribut index dan di inisialisasikan ke dalam method Searchlabel Mengeset nilai nkp dengan method cariSbnPath displayAllint Menampilka n semua hasil perhitungan COF 1. Membaca parameter r. 2. Untuk i = 0 dan i kurang dari panjang vertexList maka akan ditampilkan: a. Memanggil dan menampilkan nilai labelP b. Memanggil dan menampilkan nilai kDistance c. Memanggil dan menampilkan nilai nkp d. Menghitung dan menampilkan jumlah nkp e. Memanggil dan menampilkan nilai sbnPath f. Membuat atribut hasil1 dengan tipe data ArrayList g. Membuat dan menginisialisasi atribut awal = 0 h. Membuat dan menginisialisasi atribut akhir= 1 i. Ketika nilai awal kurang dari ukuran sbnPath di kurangi 1 dan akhir kurang dari ukuran sbnPath maka: j. Mencetak nilai awal k. Mencetak nilai akhir. l. Menghitung selisih dari akhir di kurangi awal dan memasukan ke dalam variabel hasil1. m. Menginisialisasi awal = awal di tambah 1 n. Menginisialisasi akhir= akhirdi tambah 1 3. Untuk j = 0 dan j kurang dari hasil1, maka mencetak nilai j. 4. Membuat variabel jumlah1 bertipe data ArrayListString 5. Menginisialisasi nilai sum = 0.0 6. Untuk j = 0 dan j kurang dari hasil, maka memasukan nilai sum. 7. Mencetak nilai sum. 8. Mengeset nilai sum ke dalam acDist. 9. Untuk ia = 0 dan ia kurang dari vertexList, maka: a. Mencetak nilai labelP. b. Menginisialisasi nilai jumlah = 0.0. c. Untuk i = 0 dan i kurang dari nkp maka memanggil method cariLabel untuk nkp d. Menjumlah acDist untuk nkp. e. Mengeset jumlah ke acDistTetangga. 10. Untuk ib = 0 dan ib kurang dari vertexList maka: a. Membuat variabel nkp dan memasukan nilai nkp. b. Melakukan perhitungan cof, c. Mengeset nilai cof. d. Jika nilai cof lebih dari 1 maka outlier. setDataCofString Mengeset nilai dataCof ke dalam tabel 1. Membaca parameter label 2. Membuat variabel dlf dengan tipe data ArrayList 3. Untuk i = 0 dan i kurang dari vertexList maka: a. Jika cof lebih besar dari 1 maka memasukan nilai cof dan atributnya ke dalam tabel model 4. Membuat variabel dm bertipe data CofTableModel dengan parameter dlf dan label 5. Mengembalikan nilai dm. setDataCofBatasString, Double Mengeset nilai dataCofBata s ke dalam tabel 1. Membaca parameter label dan batasCof 2. Membuat variabel dataCofL dengan tipe data ArrayList 3. Untuk i = 0 dan i kurang dari vertexList maka: a. Jika cof lebih besar dari batasCof maka memasukan nilai cof dan atributnya ke dalam tabel model 4. Membuat variabel dm bertipe data CofTableModel dengan parameter dataCofL dan label 5. Mengembalikan nilai dm. 3. Rincian Algoritma pada Setiap Method pada kelas CheckBoxTableModel Nama Method Fungsi Method Algoritma Method addRowint, SeleksiAtributControl Menambahka n row atau baris ke dalam tabel atribut 1. Membaca parameter a dan field_m 2. Menambahkan nilai a dan field_m ke dalam variabel listSeleksi removeRow Menghapus row atau baris dari tabel atribut 1. Membuat atributseleksi dengan tipe data ArrayListSeleksiAtributControl 2. Untuk seleksiA : listSeleksi maka: a. Jika seleksiA.getPilih = true maka nilai seleksiA di tambahkan ke dalam seleksi. 3. Nilai listSeleksi = seleksi 4. Rincian Algoritma pada Setiap Method pada kelas DataControl Nama Method Fungsi Method Algoritma Method tampilTabelMySqlConnection Menampilkan tabel dari database MySql 1. Membaca parameter con 2. Membuat variabel stmt bertipe Statement 3. Membuat variabel rset bertipe ResultSet 4. Membuat variabel query bertipe String 5. Mengisikan nilai query = show tables 6. Mengeksekusi query 7. Menampilkan hasil query tampilTabelOracleConnection Menampilkan tabel dari database Oracle 1. Membaca parameter con 2. Membuat variabel stmt bertipe Statement 3. Membuat variabel rset bertipe ResultSet 4. Membuat variabel query bertipe String 5. Mengisikan nilai query = “select table_name from user_tables ” 6. Mengeksekusi query 7. Menampilkan hasil query selectTableConnection, String Menampilkan tabel 1. Membaca parameter con dan table 2. Membuat variabel stmt bertipe Statement 3. Membuat variabel rset bertipe ResultSet 4. Membuat variabel query bertipe String 5. Mengisikan nilai query = select from” + table 6. Mengeksekusi query 7. Menampilkan hasil query 5. Rincian Algoritma pada Setiap Method pada kelas Home Nama Method Fungsi Method Algoritma Method calculateCof Method untuk melakukan 1.Membuat variabel time1 yang bertipe long. 2.Melakukan pengecekan proses pendeteksia n outlier. jika nilai min pts dan r kosong maka: a. Jika min pts kosong maka akan di tampilkan pesan error b. Jika r kosong maka akan di tampilkan pesan error . 3.Melakukan pengecekan jika nilai min pts dan r tidak kosong maka: a. Membuat variabel min pts dan r yang bertipe int . b. Memasukan nilai min pts dari text field ke dalam variabel min pts yang telah dibuat c. Memasukan nilai r dari text field ke dalam variabel r yang telah dibuat d. Membuat obyek graph dari kelas Graph. e. Memanggil method input data dan memasukan data ke dalam tabel dataPrepocessing 2 f. Memanggil method calculateCOF yang berparameter minPts. g. Memanggil method show h. Memanggil method displayAll yang berparameter r. i. Mengeset hasil perhitungan outlier ke dalam tabelHasil. j. Mengurutkan arrayList dari tabelHasil. 4.Membuat variabel time2 yang bertipe long. 5.Mengeset jumlah outlier ke dalam text field jumlahOutlierField. 6.Mengeset lama deteksi outlier ke dalam text field lamaDeteksiField. hapusButton Method 1.Selama i = 0 dan i untuk menghapus atribut yang di pilih oleh pengguna. kurang dari jumlah baris dari tabelSeleksi 2.Akan di lakukan pengecekan jika tabelSeleksi.getValueAti, 1. equalstrue maka a. Selama j = 0 dan j kurang dari jumlah kolom dari dataPrepocessTab le b. Membuat atribut tableColumn1 yang bertipe TableColumn dan di isikan dari dataPrepocessTab le c. Membuat atribut tableColumn2 yang bertipe TableColumn dan di isikan dari dataPrepocessing 2. d. Memanggil method removeColumn untuk tableColumn1. e. Memanggil method removeColumn untuk tableColumn2. 3. Memanggil method removeRow. okBatasOutlier Method untuk memasukan hasil deteksi outlier yang telah di beri batasan ke dalam tabel hasil deteksi 1. Jika batas outlier kosong, maka akan di tampilkan pesan error. 2. Jika batas outlier nilainya 0-9 maka a. Mengeset dataCOFBatas ke dalam tabelHasil, b. Membuat variabel list yang bertipe ArrayList c. Memanggil method sort untuk melakukan pengurutan list. 3.Jika nilai batas outlier tidak berupa angka, maka akan menampilkan pesan error 4. Mengeset jumlah outlier ke dalam textField jumlahOutlierField dari jumlah baris dari tabelHasil. pilihDatabaseKoneksiDatabas e, String Method untuk memilih 1. Membaca parameter koneksiDb dan table 2. Membuat variabel dc database yang akan di gunakan yang bertipe DataControl 3. Membuat variabel rset yang bertipe ResultSet. 4. Memanggil method getConn pada kelas KoneksiDatabase. 5. Memangil method getMetaData 6. Membuat variabel coloumnCount yang bertipe int. 7. Membuat variabel headers dan data yang bertipe Vector 8. Selama i = 1 dan i kurang dari sama dengan coloumnCount maka menambahkan columnName ke dalam headers. 9. Mengeset nilai dataPrepocessTable dan data Prepocessing2. 10. Membuat variabel checkBoxT yang bertipe CheckBoxTableModel 11. Memasukan nilai checkBoxT ke dalam tabelSeleksi. 12. Mengeset nilai jumlah data ke dalam text field jumlahDataField dari jumlah baris pada tabel dataPrepocessTable. 13.Mengeset nilai jumlah data ke dalam text field jumlahData2Field dari jumlah baris pada tabel dataPrepocessing2. pilihFile Method untuk memilih file yang akan di gunakan 1. Membuat atribut fileChooser yang bertipe JFileChooser. 2. Mengeset nilai fileChooser menjadi true. 3. Membuat atribut namaFile yang bertipe String dan mengisikan dengan method getSelectedFile.getPath 4. Memotong namaFile dan memasukan ke dalam atribut nama yang bertipe String[] 5. Jika nama[1].equalsxls maka: a. Menampilkan file yang bertipe .xls ke dalam tabel data. 6. Jika nama[1].equalscsv maka: a. Menampilkan file yang bertipe .csv ke dalam tabel data. 7. Apabila selain file .xls dan .csv maka akan di tampilkan pesan error. 8. Mengeset nilai jumlah data ke dalam text field jumlahDataField dari jumlah baris pada tabel dataPrepocessTable. 9.Mengeset nilai jumlah data ke dalam text field jumlahData2Field dari jumlah baris pada tabel dataPrepocessing2. saveCof Method untuk menyimpan hasil perhitungan deteksi outlier ke dalam file yang berekstensi tertentu. 1. Membuat atribut fileChooser yang bertipe JFileChooser dan mengeset ke dalam directory E: 2. Mengeset nama ekstensi file .xls, .doc, dan .txt 3. Jika memilih .xls maka a. Memanggil nilai dari tabelHasil dan memasukan ke dalam variabel excel yang bertipe FileWriter. b. Memberikan pesan error jika data gagal disimpan. 4. Jika memilih .doc maka a. Memanggil nilai dari tabelHasil dan memasukan ke dalam variabel bfw yang bertipe BufferedWriter b. Memberikan pesan error jika data gagal disimpan. 5. Jika memilih .txt maka a. Memanggil nilai dari tabelHasil dan memasukan ke dalam variabel bfw yang bertipe BufferedWriter b. Memberikan pesan error jika data gagal disimpan. 6. Jika data berhasil di simpan pada path atau direktori tertentu, maka akan menampilkan pesan sukses. tandaiButton Method untuk menandai atribut yang ingin di hapus 1. Selama i = 0, dan i kurang dari jumlah baris tabelSeleksi, maka: 2. Mengeset tabelSeleksi dengan method setValueAttrue, i, 1 batalButton Method untuk membatalka n atribut yang telah ditandai 1. Selama i = 0, dan i kurang dari jumlah baris tabelSeleksi, maka: 2. Mengeset tabelSeleksi dengan method setValueAtfalse, i, 1

6.4 Perancangan Struktur Data

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 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 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 local outlier factor : studi kasus data akademik mahasiswa TI Universitas Sanata Dharma - USD Repository

0 0 241

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