• Tidak ada hasil yang ditemukan

4.5 Perancangan Sistem

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 pilihXLS(JfileChooser,

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.getValue(j,0).isEmpty( ) = true, i =

model.getColumncount() -1 lalu break, jika false j++ lalu ke langkah 14

18.Jika

model.getValue(j,i).isEmpty() = true atau

model.getValue(j,i).matches (pola) = true atau

model.getValue(j,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

pilihCSV(JfileChooser, 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.getValue(j,i).isEmpty() = true atau

model.getValue(j,i).matches (pola) = true atau

model.getValue(j,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

displayTable(db.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.getValue(j,0).isEmpty( ) = true, i =

model.getColumncount() -1 lalu break, jika false j++ lalu ke langkah 13

16.Jika

model.getValue(j,i).isEmpty() = true atau

model.getValue(j,i).matches (pola) = true atau

model.getValue(j,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, List<String>)

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.get(i).equals(x), 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.get(i).equals(x), 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 adjustRowSizes(t) 2. Inisialisasi i = 0 3. Selama i < t.getColumnCount() panggil method adjustColumnSizes(t,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.setRowHeight(row, 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.setWidth(width)

tandaiSemua() Memberi tanda

check pada semua nama atribut pada

tabel atribut

1. Inisialisasi i = 0 2. Selama i <

cb.table.getRowCount, cb_table.setValueAt(true,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.setValueAt(false,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.getValueAt(i,1).equa ls(true), tambahkan cb_table.getValueAt(i,0) ke dalam hapus_atribut 5. Membuat vector

6. Inisialisasi i = 0 7. Selama i < cb_table.getRowCount, ke langkah 8 8. Jika method cekAtribut(cb_table.getValue At(i,0), hapus_atribut) mengembalikan nilai false maka

cb_table.getValueAt(i,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 cekAtribut2(model.getColum nName(j), columnNames) mengembalikan nilai true maka model.getValueAt(i,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 mponent(panelDeteksiOutlier ),

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 dan/atau 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 dan/atau 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 dan/atau 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

Dokumen terkait