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 -deteksi
Outlier
Tabel : JTable
-distAtributButton : JButton
-hapusAtributButton : JButton
-hapusAtributLabel : JLabel
-hapusAtributTable : JTable
-hasil
Outlier
TextArea : JTextArea
-jTabbedPane1 : JTabbedPane
-jumDataField : JTextField
-jumDataLabel : JLabel
-jumlahDataField : JTextField
-jumlahDataLabel : JLabel
-keluarButton : JButton
-namaAlgoLabel : JLabel
-panelDeteksi
Outlier
: 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 +deteksi
Outlier
int 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 +display
Outlier
JTable 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_
outlier
boolean 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