• Tidak ada hasil yang ditemukan

4.3 Perancangan Sistem

4.3.7 Rincian Algoritma Setiap Method Pada Tiap Kelas

4.3.7.6 Rincian Algoritma pada Method di Kelas HalamanUtama

Nama method Fungsi method Algoritma method tampilIsiDataBasisdata(Da

tabaseConnection conn, String namaTabel)

Membaca tabel yang dipilih pada basisdata dan menampilkan isi datanya ke dalam tabel data

1. Ambil isi tabel dari basis data dengan melalui method tampilIsiTable(conn.g etConnection(), namaTabel) 2. buat vector baru

columnName dan data 3. Inisialisasi nilai i = 1 4. Selama i <=

columnCount benar, columnName diisi dengan nama kolom ke i yang didapat dari basisdata melalui method

getColumnName 5. Selama rs.next benar

lakukan langkah 6-9 6. buat vector data2 7. Inisialisasi nilai i = 1, 8. Selama i <=

columnCount benar, data2 diisi dengan data pada setiap baris di kolom ke i

9. Tambahkan data2 ke dalam data, lalu kembali ke langkah 5 10.Mengatur model tabel

data nama kolom dari

vector columnNames

dan data dari vector

data 11.Inisialisasi nilai i = 0 12.Selama i < model.getColumnCou nt() benar, lanjutkan ke langkah 13

13.Inisialisasi nilai j = 0 14.Selama j <

model.getRowCount() benar, cek i==0 jika benar lanjut ke langkah 15, jika salah ke langkah 16

15.Jika

model.getValueAt(j, i) == null, tampilkan pesan label data tidak lengkap, i = model.getColumnCou nt() – 1, this.dispose() lalu break; 16.Jika model.getValueAt(j, i) == null atau !model.getValueAt(j, i).toString().matches(" [0-9.]*") atau model.getValueAt(j, i).toString().matches(" [.]*") benar, maka tampilkan pesan data tidak lengkap lalu i = model.getColumnCou nt() – 1 dan break; 17.i++ lalu ke langkah 11 18.insialisasi i=0

19. selama

i<model.getColumnCo unt benar tambahkan nama kolom ke dalam cb_tabel

20.Atur tabel

dataPreprocessTable

pilihDB() Menanggil kelas

HalamanPilihDatab ase

1. Buat objek pilih_db dari kelas Halaman PilihDatabase 2. Objek pilih_db

memanggil method setVisible()

submitData() Memasukan data pada tabel data di

tabbed pane

Preprocess ke tabel data pada tabbed paneDeteksi

Outlier

1. Ambil model dari tabel

preprocess dengan method getModel(), lalu simpan ke variabel tableModel 2. Jika tableModel.getColumn Count() = = 0 maka data belum dimasukkan 3. Jika tidak, isi

tableDeteksiOutlier sesuai tableModel 4. Tampilkan tabel pada

tabel Deteksi pada

tabbed pane Deteksi

Outlier dengan jTabbedPane1.setSelec tedComponent(deteksi Panel) dan jTabbedPane1.setEnab ledAt(1, true); distribusiAtribut() Menampilkan distribusi per atribut berdasar nama kolom pada tabel data

1. Buat List bertipe data String dengan nama daftar_atribut 2. Inisialisasi nilai i=1 3. Selama i<dataPreprocessTable. getColumnCount benar ini daftar_atribut dengan dataPreprocessTable.g etColumnName(i) 4. Mengirim nilai daftar_atribut dan dataPreprocessTable ke HalamanDistribusiAtri but untuk selanjutnya diproses disana

pilihFile() Menampilkan

kotak dialog untuk memilih file .xls atau .csv lalu membaca file tersebut dan

1. Menampilkan kotak dialog Open File

2. nama_file menangkap nama file terpilih 3. potong_nama_file =

menampilkannya ke dalam tabel data

4. Jika

potong_nama_file[1].e quals("xls") lakukan langkah pada algoritma pilih file xls (di bawah tabel method

HalamanTampilTabel) 5. Jika

potong_nama_file[1].e quals("xls")csv

lakukan langkah pada tabel pilih file .csv (di bawah tabel method HalamanTampilTabel) 6. Jika tidak keduanya

(bukan file .xls dan csv yang dipilih) ,

tampilkan pesan peringatan updateCellWidth(JTable) Mengatur ukuran

lebar kolom pada tabel data agar disesuaikan dengan ukuran karakter isi kolom yang paling panjang 1. panggil method adjustJTableRowSizes (table) 2. inisialisasi nilai i = 0 3. selama i < table.getColumnCount () panggil method adjustColumnSizes(t,i, 2) adjustJTableRowSizes (JTable) Mengatur ukuran baris pada tabel data

1. Inisialisasi nilai row = 0 2. Selama row < jTable.getRowCount() lakukan ke langkah 3 3. int maxHeight = 0 4. inisialisasi column = 0 5. Selama column < jTable.getColumnCou nt(), bandingkan tinggi baris ke-row dan kolom ke-column dengan maxHeight lalu masukan ke dalam maxHeight 6. Buat tinggi baris

jTable.setRowHeight( row, maxheight) dan kembali ke langkah 2 adjustColumnSizes(JTable

,int,int)

Mengatur ukuran kolom pada tabel data

1. TableCellRenderer renderer =

col.getHeaderRendere r()

2. Jika renderer = = null maka renderer = table.getTableHeader( ).getDefaultRenderer( ) 3. inisialisasi nilai r = 0 dan width = comp.getPreferredSiz e().width 4. Selama r < table.getRowCount, lebar kolom pada baris ke-r bernilai currentWidth yang diambil dari nilai maksimum antara width dan

currentWidth dan dimasukan dalam nilai width

5. Buat ukuran lebar kolom kolom dengan col.setPreferredWidth (width) lalu

col.setWidth(width) prosesDeteksi() Menerima input M

dan dmin serta data untuk diproses pencarian outlier

nya

1. Jika nilai M atau dmin kosong, lakukan pengisian ulang kedua parameter tersebut 2. Jika nilai M dan dmin

isi, lanjutkan ke langkah 3

3. Jika nilaiMdan dmin cocok dengan pola [0-9.]* lakukan langkah 4 4. Inisialisasi i=0

5. Selama i<baris, lakukan langkah 6-9

6. Buat arraylist dengan nama data_nilai 7. Insialisasi j=0 8. Selama j<kolom

lakukan pengecekan jika j==0 maka label diisi dengan

tableModel.getValueA t(i,j)

Jika tidak tambahkan tableModel.getValueA t(i, j).toString() ke dalam variabel data nilai

9. addVertex(label,data_n ilai)

10.Inisialisasi i=0

11.Selama i<baris lakukan langkah 12-13

12.Inisialisasi j=0 13.Selama j<baris, jika

i!=j lakukan addEdge 14.hasilDeteksiTextArea

diisi dengan hasil deteksi outlier dengan memanggil method displayOutlier pada kelas Graph cek_atribut_hapus(String, List<String>) Mengecek nama atribut yang akan dihapus dari tabel seleksi atribut

1. boolean cek = false 2. inisialisasi nilai i = 0 3. selama i <

hapus_atribut.size() maka ke langkah 4, jika kondisi salah kelangkah 5 4. Jika

hapus_atribut.get(i).eq uals(atribut), maka cek=true

5. kembalikan nilai cek=

false

cek_atribut_kolom(String, Vector)

Mengecek nama atribut yang tidak dihapus dari tabel data

1. boolean cek = false 2. inisialisasi nilai i = 0 3. selama i

<kolom.size() maka ke langkah 4, jika

kondisi salah kelangkah 5 4. Jika

kolom.get(i).equals(at ribut), maka cek=true

5. kembalikan nilai cek = false

hapusAtribut() Menghapus atribut tabel data sesuai atribut yang dipilih pengguna

1. buat list bernama hapus_seleksi 2. inisialisasi nilai i = 0 3. selama i < cb_table.getRowCoun t, lakukan pengecekan langkah ke 4 4. Jika cb_table.getValueAt(i, 1).equals(true), tambah kan nilai cb_table.getValueAt(i, 0) ke dalam atribut hapus_seleksi 5. int kolom= model.getColumnCou nt(); int baris = model.getRowCount() ;

6. buat vector baru namaKolom dan isiData 7. inisialisasi nilai k = 0 8. selama k< cb_table.getRowCoun t, lakukan pengecekan ke langkah 9 9. Jika method cek_atribut_hapus(cb_ table.getValueAt(k,0). toString, hapus_atribut)= =

false maka tambahkan cb_table.getValueAt(k ,0) ke

10.inisialisasi a = 0 11.Selama a< baris, buat

vector baru satu_baris lalu ke langkah 12 12.inisialisasi b = 0 13.Selama b < kolom , lalu lakukan pengecekan ke langkah 14 14.Jika method cek_atribut_kolom(m odel.getColumnName (b).toString, namaKolom) == true maka model.getValueAt(a,b ) ditambahkan ke variabel satu_baris 15.satu_baris ditambahkan pada variabel isiData, lalu kembali ke langkah 8 16.Mengeset model tabel

preprocess dengan nama kolom dengan vector namaKolom dan baris dengan vector isiData

17.Lakukan removeRow pada tabel

seleksiAtribut sesuai nama atribut yang dihapus

batalTandaiSemuaAtribut( )

Menghapus tanda centang pada semua kolom Pilih nama atribut pada tabel seleksi atribut

1. inisialisasi nilai i = 0 2. selama i < cb.table.getRowCount , lakukan cb_table.setValueAt(f alse,i,1)

tandaiSemuaAtribut() Memberi tanda centang pada semua kolom pilih nama atribut pada tabel seleksi atribut

1. inisialisasi i = 0 2. selama i < cb.table.getRowCount , lakukan cb_table.setValueAt(tr ue,i,1)

simpanFile() Menyimpan hasil deteksi outlier

dalam file .txt atau .doc

1. Buka kotak dialog

Save File 2. Baca lokasi penyimpanan file dan disimpan dalam variabel filename 3. Membaca format file yang dipilih pengguna dengan fileChooser.getFile Filter().getDescript ion() lalu ditampung dalam variabel extension 4. Jika extension = “"Microsoft Word (*.doc)" maka format file yang

dipilih “.doc”

5. Jika extension = "Text Documents (*.txt)" maka format file adalah

“.txt”

6. Ambil isi teks pada hasilDeteksiTextAr ea.getText() lalu tampung pada variabel hasil_text_area 7. Potong isi hasil_text_area per baris dengan method split("\\n") 8. Tampung isi baris

dari hasil_text_area ke dalam variabel array potong_isi 9. Selama i < potong_isi.length, ambil nilai potong_isi ke i, konversi ke tipe data String lalu simpan nilai

tersebut

4.3.7.7 Rincian Algoritma pada Method di Kelas HalamanDistribusiAtribut

Dokumen terkait