4.5 Perancangan Sistem
4.5.1 Diagram Konteks
Gambar 4.3 Diagram Konteks
4.5.2 Diagram Aktivitas
Diagram aktivitas digunakan untuk menunjukan aktivitas yang dikerjakan oleh pengguna dan sistem dalam setiap use case yang disebutkan dalam gambar
4.1. Berikut adalah diagram aktivitas dari setiap use case: 1.
Diagram Aktivitas Input Data File .xls, .csv atau Tabel Dari Basis Data 2.
Diagram Aktivitas Pencarian Outlier 3.
Diagram Aktivitas Simpan Hasil Pencarian Outlier 4.
Diagram Aktivitas Seleksi Atribut 5.
Diagram Aktivitas Distribusi Atribut
Detail diagram aktivitas dari setiap use case dapat dilihat pada bagian
lampiran dalam tugas akhir ini pada lampiran 3.
Pengguna Sistem Pendeteksi Outlier
Menggunakan Algoritma Block-based Nested-Loop
Data .xls, data .csv, tabel dalam basis data, M, D
Outlier, jumlah outlier, jumlah data,
lama deteksi outlier
4.5.3 Diagram Kelas Analisis
Gambar 4.4 Diagram Kelas Analisis
Detail tabel diagram kelas analisis dapat dilihat pada bagian lampiran dalam tugas akhir ini pada lampiran 4.
4.5.4 Diagram Sequence
Sistem Pendeteksi Outlier Menggunakan Algoritma Block-based Nested- Loop
ini memiliki beberapa sequence diagram dalam proses perancangannya. Berikut adalah sequence diagram dari Sistem Pendeteksi Outlier Menggunakan
Algoritma Block-based Nested-Loop. 1.
Diagram Sequence Input Data File .xls, .csv atau Tabel Dari Basis Data 2.
Diagram Sequence Pencarian Outlier 3.
Diagram Sequence Simpan Hasil Pencarian Outlier 4.
Diagram Sequence Seleksi Atribut 5.
Diagram Sequence Distribusi Atribut Untuk penjelasan detail dari masing
– masing diagram sequence dapat dilihat pada lampiran yang terdapat pada tugas akhir ini pada lampiran 5.
4.5.3 Diagram Kelas Desain
Gambar 4.5 Diagram Kelas Desain
HalamanAwal -titleLabel
: JLabel -footer1Label
: JLabel -footer2Label
: JLabel -masukButton
: JButton -icon
: JLabel -halamanAwalDesktopPane
: JDesktopPane -halamanAwalPanel
: Jpanel +HalamanAwal
: constructor -masukButtonActionPerformed java.awt.event.ActionEvent evt : void
HalamanUtama -atributDField
: JTextField -atributDLabel
: JLabel -atributMField
: JTextField - atributMLabel
: JLabel -bantuanButton
: JButton -buttonPanel
: JPanel -checkAllButton
: JButton -deteksiOutlierTabel
: JTable -distAtributButton
: JButton -hapusAtributButton
: JButton -hapusAtributLabel
: JLabel -hapusAtributTable
: JTable -hasilOutlierTextArea
: JTextArea -jTabbedPane1
: JTabbedPane -jumDataField
: JTextField -jumDataLabel
: JLabel -jumlahDataField
: JTextField -jumlahDataLabel
: JLabel -keluarButton
: JButton -namaAlgoLabel
: JLabel -panelDeteksiOutlier
: JPanel -panelPreprocess
: JPanel -pathField
: JTextField -pilihDBButton
: JButton -pilihFileButton
: JButton -preprocessTabel
: JTable -prosesButton
: JButton -simpanButton
: JButton -submitDataButton
: JButton -titleLabel
: JLabel -titlePanel
: JPanel -uncheckAllButton
: JButton cb_table
:
CheckBoxTableModel fm
: SeleksiAtribut con
: DatabaseConnection +HalamanUtama
: constructor +HalamanUtamaDatabaseConnection db,
String namaTabel : constructor
+pilihFile : void
+pilihXLSJfileChooser chooser, String nama_file, String pola, String pola2 : void
+pilihCSVJfileChooser chooser, String nama_file, String pola, String pola2 : void
+tampilTabelBasisdataDatabaseConnection db, String namaTabel : void +cekAtributString x, ListString hapus
: boolean +cekAtribut2String x, Vector kolom
: boolean +updateCellWidthJTable t
: void +adjustRowSizesJTable jTable
: void +adjustColumnSizesJTable table, int column, int margin
: void +tandaiSemua
: void +batalTandai
: void +hapusAtribut
: void +distribusiAtribut
: void +submitData
: void +prosesData
: void +simpanHasil
: void
Database -connection
: Connection +getConnOracleString url, String user, String pwd
: static boolean +getConnMySQLString url, String user, String pwd
: static boolean +displayTableOracleConnection conn
: ResultSet +displayTableMySqlConnection conn
: ResultSet +displayTableConnection conn, String namaTabel
: ResultSet
DatabaseConnection -connection
: static Connection +setConnectionConnection aConnection
: static void +isConnectedOracleString url, String user, String pwd
: boolean +isConnectedMySQLString url, String user, String pwd
: boolean +connectToOracleString url, String user, String pwd
: Connection
+connectToMySQLString url, String user, String pwd :
Connection +getConnection
: Connection +closeConnectionString url, String user, String pwd
: boolean
CheckBoxTableModel colom
: String[ ] nama_atribut
: ListString fm
: SeleksiAtribut lfm
: ListSeleksiAtribut +CheckBoxTableModel
: constructor +getRowCount
: int +getColumnNameint col
: String +getValueAtint rowIndex, int columnIndex
: Object +getColumnClassint columnIndex
: Class +setValueAtObject val, int rowIndex, int columnIndex : void
+isCellEditableint row, int col : boolean
+addint x,SeleksiAtribut field_m : void
+removeRow : void
+removeRow2 : void
SeleksiAtribut -atribut
: ListString -atribut2
: String -pilih
: Boolean +SeleksiAtribut
: constructor +SeleksiAtributString vl, boolean st
: constructor +getPilih
: boolean +setPilihBoolean pilih
: void +getAtribut
: ListString +setAtributListString atribut : void
+getAtribut2 : String
+setAtribut2String atribut2 : void
GraphController g
: Graph +deteksiOutlierint row
: void +tampilHasilJTable t, double m, double d, String jumData, String path :
String
Graph edge
: double[ ][ ] size
: int vertex
: Vertex[ ] block
: Block[ ]
+Graphint a :
constructor +insertVertexString label, ListDouble nilai
: void +insertBlockint no_urut, ListInteger daftar_vertex
: void +insertEdgeint i, int j, double nilai
: void +euclideanint a, int b
: double +NestedLoopJTable tabel, double m, double d
: void +displayMatrix
: void +displayOutlierJTable t, double m, double d, String jumData, String path
: String
Block -no_urut
: int -jum_anggota
: int -jum_blok
: int -sisa
: int -isi_blok
: ListInteger -firstArray
: boolean +Block
: constructor +Blockint no_urut, ListInteger dv
: constructor
+getNo_urut : int
+setNo_urutint no_urut : void
+getJum_anggota : int
+setJum_anggotaint jum_anggota : void
+getJum_blok : int
+setJum_blokint jum_blok : void
+getSisa : int
+setSisaint sisa : void
+isFirstArray : boolean
+setFirstArrayboolean firstArray : void +getIsi_blok
: ListInteger +setIsi_blokListInteger isi_blok
: void
Vertex -label
: String -unmarked
: boolean -non_outlier
: boolean -nilai
: ListDouble -jumlah_tetangga
: int +Vertex
: constructor +VertexString label, ListDouble nilai : constructor
+getLabel : String
+setLabelString label : void
+getNilai : ListDouble
+setNilaiListDouble nilai : void
+getJumlah_tetangga : int
+setJumlah_tetanggaint jumlah_tetangga : void +isUnmarked
: boolean +setUnmarkedboolean unmarked
: void +isNon_outlier
: boolean +setNon_outlierboolean non_outlier
: void
HalamanBantuan -jDesktopPane1
: JDesktopPane -jScrollPane1
: JScrollPane -jTextArea1
: JTextArea -keluarButton
: JButton +HalamanBantuan
: constructor -keluarButtonActionPerformedjava.awt.event.ActionEvent evt : void
HalamanDistribusiAtribut -atributCombo
: JComboBox -jDesktopPane1
: JDesktopPane -jLabel2
: JLabel -jLabel3
: JLabel -jPanel1
: JPanel1 -jPanel2
: JPanel2 -keluarButton
: JButton -lihatGrafikButton
: JButton -tabelDistribusi
: JTable model
: JTable -count
: int + HalamanDistribusiAtributjava.awt.Frame parent,
ListString daftarAtribut, JTable tabel : constructor
-daftarAtributListString daftarAtribut, JTable tabel : void
-pilihAtribut : void
-viewGrafik : void
+getCount : int
+setCountint count : void
BarChart +tampilint[][] v, String[][] n, String[][] t : void
HalamanKonfirmasiKeluar -jDesktopPane1
: JDesktopPane -jPanel1
: JPanel -konfirmasiLabel
: JLabel -tidakButton
: JButton -yaButton
: JButton +HalamanKonfirmasiKeluar
: constructor -yaButtonActionPerformedjava.awt.event.ActionEvent evt
: void -tidakButtonActionPerformedjava.awt.event.ActionEvent evt
: void
HalamanMissingValues -jDesktopPane1
: JDesktopPane -jPanel1
: JPanel -missingValueTArea
: JTextArea -tidakButton
: JButton -yaButton
: JButton model
: DefaultTableModel +HalamanMissingValuesDefaultTableModel tabel
: constructor -yaButtonActionPerformedjava.awt.event.ActionEvent evt
: void -tidakButtonActionPerformedjava.awt.event.ActionEvent evt
: void
HalamanPilihDB -batalButton
: JButton -databaseField
: JTextField -databaseLabel
: JLabel -kueriLabel
: JLabel -okButton
: JButton -passwordField
: JTextField -passwordLabel
: JLabel -pilihKoneksiCombo
: JComboBox -pilihKoneksiDesktopPane
: JDesktopPane - pilihKoneksiPanel
: JPanel - titleLabel
: JLabel - urlField
: JTextField - usernameField
: JTextField - usernameLabel
: JLabel +HalamanPilihDB
: constructor -pilihBasisdata
: void -koneksi
: void -batalButtonActionPerformedjava.awt.event.ActionEvent evt
: void
HalamanPilihTabel
-batal1Button : JButton
-daftarTableCombo : JComboBox
-jDesktopPane1 : JDesktopPane
-jLabel1 : JLabel
-jLabel2 : JLabel
-jPanel1 : JPanel
-okPilihTabelButton : JButton
con : DatabaseConnection
+HalamanPilihTabelDatabaseConnection c, int db : constructor
-batallButtonActionPerformedjava.awt.event.ActionEvent evt : void -daftarTabelint db
: void -pilihTabel
: void
4.5.4 Detail Algoritma Tiap Method Pada Tiap Kelas