-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
4.5.6.1 Detail Algoritma Pada Method di Kelas HalamanUtama
Tabel 4.2 Tabel Kelas HalamanUtama Nama method
Fungsi method Algoritma method
pilihFile Menampilkan
dialog untuk memilih file .xls
atau .csv 1.
Menampilkan dialog Open File
2. Jika file yang pilih berformat
.xls ,
panggil method
pilihXLS 3.
Jika file yang pilih berformat .csv
, panggil
method pilihCSV
4. Jika file yang dipilih selain
yang berformat .xls dan .csv, menampilkan
pesan peringatan
pilihXLSJfileChooser, String, String, String
Membaca file dalam format .xls
dan menampilkannya
ke dalam tabel data 1.
Membuat vector baru dengan nama columnNames dan data
2. Inisialisasi row = 0
3. Selama row
sheet.getRows, ke langkah 4, jika tidak ke langkah 11
4. Membuat vector baru dengan
nama rows 5.
Inisialisasi column = 0 6.
Selama column sheet.getColumn, ke
langkah 6, jika tidak ke langkah 10
7. Jika row = 0, ke langkah 6,
jika tidak ke langkah 7 8.
Cell column, row dari file .xls
ditambahkan ke vector columnNames. column++,
lalu kembali ke langkah 6
9. Cell column, row dari file
.xls ditambahkan ke vector
rows. column++, lalu kembali ke langkah 6
10. Jika row = 0, maka rows
ditambahkan ke vector data. Lalu row++ dan kembali ke
langkah 3
11. Mengeset model tabel
preprocess dengan nama
kolom = vector columnNames dan data =
vector data
12. Inisialisasi nilai i = 0
13. Selama i
model.getColumnCount, ke langkah 13, jika tidak ke
langkah 19
14. Inisialisasi nilai j = 0
15. Selama j
model.getRowCount, ke langkah 15, jika tidak ke
langkah 18 16.
Jika i=0 ke langkah 16, jika i=0 ke langkah 17
17. Jika
model.getValuej,0.isEmpty = true, i =
model.getColumncount -1 lalu break, jika false j++ lalu
ke langkah 14
18. Jika
model.getValuej,i.isEmpty = true atau
model.getValuej,i.matches pola = true atau
model.getValuej,i. matches pola2= true, panggil
HalamanMissingValues, i = model.getColumncount -
1 lalu break Jika false semua, j++ lalu
kembali ke langkah 14
19. i++ lalu kembali ke langkah
12 20.
Inisialisasi i = 0 21.
Selama i model.getColumncount
tambahkan nama kolom ke cb_table
pilihCSVJfileChooser, String, String, String
Membaca file dalam format .csv
dan menampilkannya
ke dalam tabel data 1.
Membuat vector baru dengan nama columnNames dan data
2. Membaca baris pertama dari
file .csv 3.
Selama masih terdapat cell yg berisi nilai tertentu,
menambahkan setiap nilai cell
pada baris pertama ke vector columnNames. Jika
tidak ke langkah 4
4. Selama masih ada baris
selanjutnya, ke langkah 5 jika tidak ke langkah 6
5. Selama masih terdapat cell yg
berisi nilai tertentu, menambahkan setiap nilai
cell ke vector row. Jika tidak,
row ditambahkan ke vector data lalu pindah ke baris
berikutnya dan kembali ke langkah 4
6. Mengeset model tabel
preprocess dengan nama
kolom = vector columnNames dan data =
vector data
7. Inisialisasi nilai i = 0
8. Selama i
model.getColumnCount, ke langkah 8, jika tidak ke
langkah 12
9. Inisialisasi nilai j = 0
10. Selama j
model.getRowCount, ke langkah 10, jika tidak ke
langkah 11
11. Jika
model.getValuej,i.isEmpty = true atau
model.getValuej,i.matches pola = true atau
model.getValuej,i. matches pola2= true, panggil
HalamanMissingValues, i = model.getColumncount -
1 lalu break Jika false semua, j++ lalu
kembali ke langkah 9
12. i++ lalu kembali ke langkah 7
13. Inisialisasi i = 0
14. Selama i
model.getColumncount tambahkan nama kolom ke
cb_table
tampilTabelBasisdata DatabaseConnection,
String Membaca tabel dari
basis data dan menampilkannya
ke dalam tabel data 1.
Mengambil tabel dari basis data dengan memaggil
method displayTabledb.getConnectio
n, namaTabel
2. Membuat vector
columnName dan vector data 3.
Inisialisasi i = 1 4.
Selama i = columnCount, ambil nama kolom ke-i dari
basis data dan ditambahkan ke columnName
5. Selama rs.next = true
kerjakan langkah 6-8 6.
Inisialisasi i = 1, buat vector data2
7. Selama i = columnCount,
ambil data pada setiap baris di kolom ke-I dan
ditambahkan ke data2
8. Tambahkan data2 ke dalam
data, kembali ke langkah 5 9.
Mengeset model tabel preprocess
dengan nama kolom = vector
columnNames dan data = vector data
10. Inisialisasi nilai i = 0
11. Selama i
model.getColumnCount, ke langkah 12, jika tidak ke
langkah 18
12. Inisialisasi nilai j = 0
13. Selama j
model.getRowCount, ke langkah 14, jika tidak ke
langkah 17
14. Jika i=0 ke langkah 15, jika
i=0 ke langkah 16 15.
Jika model.getValuej,0.isEmpty
= true, i = model.getColumncount -1
lalu break, jika false j++ lalu ke langkah 13
16. Jika
model.getValuej,i.isEmpty = true atau
model.getValuej,i.matches pola = true atau
model.getValuej,i. matches pola2= true,
i = model.getColumncount - 1 lalu break
Jika false semua, j++ lalu kembali ke langkah 13
17. i++ lalu kembali ke langkah
11 18.
Inisialisasi i = 0 19.
Selama i model.getColumncount
tambahkan nama kolom ke cb_table
cekAtribut String, ListString
Mengecek nama- nama atribut yang
akan dihapus berdasarkan tabel
1. Inisialisasi i = 0
2. Selama i hapus.size ke
langkah 3, jika tidak ke
atribut langkah 4
3. Jika hapus.geti.equalsx,
kembalikan nilai true 4.
Kembalikan nilai false cekAtribut2
String, Vector Mengecek nama-
nama atribut yang tidak dihapus dari
tabel data 1.
Inisialisasi i = 0 2.
Selama i kolom.size ke langkah 3, jika tidak ke
langkah 4
3. Jika kolom.geti.equalsx,
kembalikan nilai true 4.
Kembalikan nilai false updateCellWidth
JTable Mengatur lebar cell
pada setiap kolom dari tabel data agar
sesuai dengan ukuran karakter
terpanjang 1.
Memanggil method adjustRowSizest
2. Inisialisasi i = 0
3. Selama i
t.getColumnCount panggil method
adjustColumnSizest,i,2
adjustRowSizes JTable
Mengatur ukuran baris pada tabel
data 1.
Inisialisasi row = 0 2.
Selama row jTable.getRowCount ke
langkah 3
3. maxHeight = 0
4. Inisialisasi column = 0
5. Selama column
6. jTable.getColumnCount,
bandingkan tinggi baris ke- row
, kolom ke-column dengan maxHeight lalu
simpan nilai maksimum ke maxHeight
7. Tentukan tinggi baris ke-row
dengan memanggil method
jTable.setRowHeightrow, maxheight lalu kembali ke
langkah 2
adjustColumnSizes JTable
Mengatur ukuran kolom pada tabel
data 1.
Inisialisasi r = 0, lebar nama kolom = width =
comp.getPreferredSize.widt h
2. Selama r
table.getRowCount, lebar kolom pada baris ke-r =
currentWidth lalu ambil nilai maksimum antara width dan
currentWidth kemudian disimpan dalam width
3. Menentukan lebar kolom,
col.setWidthwidth tandaiSemua
Memberi tanda check
pada semua nama atribut pada
tabel atribut 1.
Inisialisasi i = 0 2.
Selama i cb.table.getRowCount,
cb_table.setValueAttrue,i,1 batalTandai
Menghapus tanda check
pada semua nama atribut pada
tabel atribut 1.
Inisialisasi i = 0 2.
Selama i cb.table.getRowCount,
cb_table.setValueAtfalse,i,1 hapusAtribut
Menghapus atribut pada tabel data
sesuai dengan yang diberi tanda pada
tabel atribut 1.
Membuat list bernama hapus_atribut
2. Inisialisasi i = 0
3. Selama i
cb_table.getRowCount, ke langkah 4
4. Jika
cb_table.getValueAti,1.equa lstrue, tambahkan
cb_table.getValueAti,0 ke dalam hapus_atribut
5. Membuat vector
columnNames dan data
6. Inisialisasi i = 0
7. Selama i
cb_table.getRowCount, ke langkah 8
8. Jika method
cekAtributcb_table.getValue Ati,0, hapus_atribut
mengembalikan nilai false maka
cb_table.getValueAti,0 ditambahkan ke
columnNames
9. Inisialisasi i = 0
10. Selama i row, buat vector
rows lalu ke langkah 11 11.
Inisialisasi j = 0 12.
Selama j column, ke langkah 13
13. Jika method
cekAtribut2model.getColum nNamej, columnNames
mengembalikan nilai true maka model.getValueAti,j
ditambahkan ke rows
14. rows ditambahkan ke data,
kembali ke langkah 7 15.
Mengeset model tabel preprocess
dengan nama kolom = vector
columnNames dan data = vector data
distribusiAtribut Menampilkan
distribusi atribut dari data yang ada
di tabel data 1.
Membuat list daftarAtribut untuk menampung nama-
nama atribut 2.
jumlahAtribut = preprocessTabel.getColumnC
ount ā 1
3. Inisialisasi i = 1
4. Selama i jumlahAtribut,
tambahkan nama kolom ke-1 ke dalam daftarAtribut
5. Mengirim daftarAtribut dan
preprocessTabel ke kelas HalamanDistribusiAtribut
submitData Menyalin data tabel
dan jumlah data dari tab Preprocess
ke tab Deteksi outlier
1. Mengambil model dari
preprocessTabel, preprocessTable.getModel,
lalu menyimpannya dalam variabel model
2. Mengeset model
deteksiOutlierTabel = model 3.
Berpindah ke tab deteksi otulier dengan mengeset
jTabbedPane1.setSelectedCo mponentpanelDeteksiOutlier
, jTabbedPane1.setEnabledAt
1, true
prosesData Mengirim data pada
tabel data serta nilai D dan M untuk
proses pencarian outlier
1. Membuat pattern untuk
karakter angka danatau tanda titik yaitu pola = [0-9.]
2. Membuat pattern untuk
karakter tanda titik yaitu pola2 = [.]
3. Jika
jumDataField.getText.equal sāā, menampilkan pesan
bahwa data kosong
4. Jika isi field D danatau M
lebih dari 0 karakter dan mengandung karakter selain
yang ada pada pola dan pola2, tampilkan pesan bahwa nilai
M dan D harus berupa bilangan bulat atau desimal
5. Jika isi field D danatau M
tidak diisi, tampilkan pesan bahwa keduanya harus diisi
6. Jika langkah 3-4 bernilai
false, panggil method tampilHasil
deteksiOutlierTabel, m, d, jumDataField.getText,
pathField.getText
simpanHasil Menyimpan hasil
deteksi outlier dalam bentuk file
.txt atau .doc 1.
Membuka dialog Save File 2.
Membaca lokasi penyimpanan file
fileChooser.getSelectedFile. getPath
dan disimpan dalam variabel filename
3. Membaca format file yang
dipilih fileChooser.getFileFilter.get
Description dan disimpan dalam variabel extension
4. Jika extension = Microsoft
Word .doc maka format file adalah .doc
5. Jika extension = Text
Documents .txt maka format file adalah .txt
6. Mengambil teks dari text area
hasilOutlierTextArea.getText lalu disimpan dalam
hasil_text_area
7. Menampung tiap baris dalam
hasil_text_area ke dalam array
baca 8.
Inisialisasi i = 0 9.
Selama i baca.length, tulis baca ke-I ke dalam file
4.5.6.2 Detail Algoritma Pada Method di Kelas HalamanPilihDB