13 HalamanPilihTabel Boundary
Kelas ini berisi tampilan untuk memilih tabel basisdata
yang akan digunakan untuk proses deteksi outlier.
14 HalamanTentang Boundary
Kelas ini berisi tampilan informasi tentang sistem.
15 HalamaUtama Boundary
Kelas ini berisi tentang tampilan halaman utama dari
sistem yang terdiri dari proses input data, seleksi tabel, dan
deteksi outlier.
4.3.3 Diagram Sequence
Diagram Sequence digunakan untuk menggambarkan perilaku pada setiap skenario dan digunakan untuk memberikan gambaran
detail dari setiap diagram use case. 1.
Diagram Sequence Input Data dari File .xls atau .csv. 2.
Diagram Sequence Input Data dari Tabel Basisdata. 3.
Diagram Sequence Deteksi Outlier. 4.
Diagram Sequence Simpan Hasil Deteksi Outlier. 5.
Diagram Sequence Seleksi Atribut. Untuk penjelasan rinci dari masing-masing diagram sequence
dapat dilihat pada lampiran 7.
4.3.4 Diagram Kelas Desain
Diagram kelas desain adalah diagram yang berisi kelas yang akan digunakan untuk pembuatan sistem. Diagram Kelas Desain memuat
semua kelas untuk menjalankan semua fungsi pada sistem dapat dilihat pada lampiran 8. Untuk rincian atribut dan method untuk
masing-masing diagram kelas dapat dilihat pada lampiran 9.
4.3.5 Rincian Algoritma Setiap Method Pada Tiap Kelas
1. Rincian
Algoritma pada
Method di
Kelas DatabaseController.
Nama Method Fungsi Method
Algoritma Method
tampilTabelOracleCo nnection conn
Menampilkan seluruh daftar tabel
yang ada
di database Oracle.
1. Membuat kueri untuk menampilkan
daftar tabel dari basisdata Oracle dengan sintaks: select table_name
from user_tables user_tables. 2.
Mengeksekusi kueri. 3.
Mengembalikan nilai rset yang berisi daftar tabel yang ada pada basisdata
Oracle. tampilTabelMYSql
Connection conn Menampilkan
seluruh dartar tabel yang
ada di
database mySQL. 1.
Membuat kueri untuk menampilkan daftar tabel dari basisdata MySQL
dengan sintaks: show tables. 2.
Mengeksekusi kueri. 3.
Mengembalikan nilai rset yang berisi daftar tabel yang ada pada basisdata
mySQL. selectTableConnectio
n conn,
String namaTable
Menampilkan isi
tabel berdasarkan tabel yang dipilih.
1. Membuat kueri untuk menampilkan
daftar tabel dari basisdata MySQL dengan sintaks:
select from + namaTable.
2. Mengeksekusi kueri.
3. Mengembalikan nilai rset yang berisi
daftar tabel yang sesuai dengan parameter “namaTable” pada kueri.
2. Rincian Algoritma pada Method di Kelas KoneksiDatabase.
Nama Method Fungsi Method
Algoritma Method
KoneksiDataBaseSQL String url, String user,
String password Melakukan koneksi
ke Database
MySQL. 1.
Membuat koneksi basis data SQL ke dalam
method connection
= DriverManager.getConnectionurl,
user, password. Parameter tersebut dicocokkan dengan nilai dari inputan
pengguna pada login ke dalam database.
2. Jika inputan benar maka kan muncul
pesan Koneksi Berhasil”. 3.
JIka tidak maka akan muncul pesan error.
4. Mengembalikan connection.
KoneksiDataBaseOrac leString url, String
user, String password Melakukan koneksi
ke Database Oracle 1.
Membuat koneksi basis data Oracle ke dalam method connection =
DriverManager.getConnectionurl, user, password. Parameter tersebut
dicocokkan dengan nilai dari inputan pengguna pada login ke dalam
database. 2.
Jika inputan benar maka kan muncul pesan Koneksi Berhasil”.
3. JIka tidak maka akan muncul pesan
error. 4.
Mengembalikan connection. OracleConnectedStri
ng url,
String username,
String password
Mengecek apakah sistem
sudah terhubung dengan
1. Jika parameter pada method
KoneksiDataBaseOracleString url, String user, String password terisi
database Oracle
atau belum. maka akan mengembalikan nilai
true. 2.
Jika tidak,
maka akan
mengembalikan nilai false. SQLConnectedString
url, String username, String password
Mengecek apakah sistem
sudah terhubung dengan
database MySQL
atau belum. 1.
Jika parameter pada method KoneksiDataBaseSQLString
url, String user, String password terisi
maka akan mengembalikan nilai true.
2. Jika
tidak, maka
akan mengembalikan nilai false.
getClosed Memutuskan
koneksi basis data. 1.
Mengecek apakah sistem masih terhubung ke database, maka akan
memanggil method Connected. 2.
Jika ya maka tutup koneksi dan mengembalikan nilai true.
3. Jika tidak maka mengembalikan nilai
false.
3. Rincian Algrotima pada Method di Kelas Graph.
Nama Method Fungsi Method
Algoritma Method
addVertexString label,
ListDouble nilai
Membuat vertex
untuk membentuk
graph. 1.
Membaca parameter berupa label dan list nilai.
2. Membuat vertex baru dengan label
dan nilai yang diinputkan melalui parameter.
addEdgeint awal, int akhir, Double nilai
Mengisi nilai edge pada vertex.
1. Membaca parameter berupa awal,
akhir, dan nilai. 2.
Mengisi nilai jarak kedalam edge[awal][akhir]
dan edge[akhir][awal].
inputDataJTable jTableData
Menginputkan data dari Jtable ke dalam
matrix dalam graph. 1.
Selama i = 0 dan i tidak lebih dari jumlah baris dalam jTable maka
lakukan langkah dibawah ini maka membuat variable label bertipe
String dan listNilai yang bertipe arrayList Double.
2. Selama j = 0 dan j tidak lebih dari
jumlah baris dalam jTable. Jika j = 0 maka set label = data yang ada
dalam baris dan kolom tabel tersebut.
3. Selama j = 0 maka cek data tersebut
merupakan data numerik, jika ya maka masukkan data pada baris i,
j, dan jika tidak maka masukkan nilai 0.0 ke dalam arrayList nilai.
4. Memanggil nilai addVertex dengan
inputan label dan list Nilai.
5. Selama i = 0 dan i tidak lebih dari
jumlah baris pada jTable, selama j = i + 1 dan j tidak lebih dari jumlah
baris dari jTable, dan jika i tidak sama dengan j maka panggil method
addEdge dan memasukkan inputan j dan j kemudian menghitung jarak
berdasarkan rumus
Ecludiian Distance
dengan memanggil
method cariJarakEcludian. cariJarakEcludian
int indexAwal,
int indexTujuan
Menghitung jarak
dengan rumus
Euclidean Distance. 1.
Membaca nilai parameter input method yaitu nilai awal dan nilai
akhir. 2.
Membuat dua buah list yaitu a dan b.
a merupakan
vertexList indexAwal
dan b
merupakan vertexList indexAkhir.
3. Mengisi vertexList[awal].getNilai
da vertexList[akhir].getNilai. 4.
Selama i a.size maka lakukan perhitungan
total =
total +
Math.powa.geti - b.geti, 2; 5.
Mengembalikan Math.sqrttotal. tampilJarakEuclidean
Untuk menampilkan perhitungan
jarak dengan
menggunakan rumus Euclidean Distance.
1. Jika i = 0 dan I kurang dari jumlah
baris vertexList
maka akan
menampilkan vertexList[i] dengan memanggil method getLabel.
2. Jika i = 0 dan i kurang dari jumlah
baris adjMat
maka akan
menampilkan vertexList[i] dengan memanggil method getLabel.
3. Jika j = 0 dan j kurang dari jumlah
baris vertexList
maka akan
menampilkan adjMat[i][j]. cariRNeighborhoodD
ouble radius, int indeks Untuk
mencari RNeighborhood.
1. Membuat ArrayList dengan nama a.
2. Selama i = 0 dan i kurang dari
jumlah baris vertexList, cek apakah adjMat[indeks][i]
= -1,
dan adjMat[indeks][i] = 0, lalu cek
apakah adjMat[indeks[i] kurang dari sama dengan radius. Jika ya
maka tambahkan vertexList[i] ke dalam array a.
3. Mengembalikan a.
cariAnggotaRNeighbo rint indeks, Double
radius Untuk
mencari anggota RNeighbor.
1. Set semua wasVisited dari semua
obyek vertex menjadi false. 2.
Membuat variabel
AnggotaRNeighbor bertipe Double, temp1
bertipe Double,
dan anggotaNpir yang bertipe int.
3. Selama i = 0 dan i tidak lebih dari
jumlah baris
vertexList, dan
adjMAt[indeks][i] =
-1 dan
wasVisited == false, jika ya maka cek
apakah adjMat[indeks][i]
kurang dari sama dengan radius, jika ya maka set adjMat[indeks][i]
ke dalam variabel temp1.
4. Memanggil variabel anggotaNpir
untuk menampung npir[i]. 5.
Set AnggotaRNeighbor = temp1. 6.
Kemudian ubah wasVisited dari arrayList menjadi true dengan
memanggil method Search2 dengan inputan temp1, indeks.
7. Mengembalikan
AnggotaRNeighbor. setAnggotaRNeighbor
String label, Double radius
Untuk mengeset
anggotaRNeighbor ke dalam vertex.
1. Membuat variabel indeks dengan
memanggil method Search dengan parameter label.
2. Memanggil method setrNeighbors
pada vertexList[indeks] dengan inputan
hasil dari
cariRNeighborhood dengan inputan vertexList[indeks].getAnggotaRNei
ghbor, index. setRNeighborhoodStr
ing label Untuk
mengeset variable
RNeighborhood ke dalam vertex.
1. Membuat variabel indeks dengan
memanggil method Seacrh dengan parameter label.
2. Memanggil
method setAnggotaRNeighbors
pada vertexList[indeks] dengan inputan
hasil dari
cariAnggotaRNeighborhood dengan parameter indeks dan radius.
setNpir Untuk
mengeset npir.
1. Membuat variabel x.
2. Selama i = 0 dan i tidak lebih dari
jumlah baris adjMat, jika j = 0 dan j
tidak lebih dari jumlah barus vertexList, maka akan di cek apakah
adjmat[i][j] tidak kurang dari sama dengan radius, jika ya maka x = x +
1. Mengeset rneighbors[i][j] = j. 3.
Mengeset npir[i] = x; 4.
Mengesey nilai x = 0; tampilRNeighbor
Untuk menampilkan anggota npir dan
npi, r 1.
Membuat variabel rn. 2.
Selama i = 0 dan i tidak lebih dari jumlah barus adjMat, dan jika j = 0
dan j tidak lebih dari jumlah baris j, cek apakah adjMat[i][j] tidak lebih
dari sama dengan radius, jika ya maka rn = rn + 1 dan menampilkan
anggota npir dengan memanggil adjMat[i][j].
3. Menampilkan
npi,r dengan
memanggil atribut rn. 4.
Mengeset niali rn = 0; cariARNeighborhood
Double radius, int indeks
Untuk mencari
anggota ARneighbor.
1. Membuat ArrayList dengan nama a.
2. Selama i = 0 dan i kurang dari
jumlah baris vertexList, cek apakah adjMat[indeks][i]
= -1,
dan adjMat[indeks][i] = 0, lalu cek
apakah adjMat[indeks[i] kurang dari sama dengan alpha radius.
Jika ya
maka tambahkan
vertexList[i] ke dalam array a. 3.
Mengembalikan a.
cariAnggotaARNeigh borint indeks, Double
radius Untuk
mencari anggota
ARneighbor. 1.
Set semua wasVisited dari semua obyek vertex menjadi false.
2. Membuat
variabel AnggotaARNeighbor
bertipe Double, temp2 bertipe Double, dan
anggotaNpar yang bertipe int. 3.
Selama i = 0 dan i tidak lebih dari jumlah
baris vertexList,
dan adjMAt[indeks][i]
= -1
dan wasVisited == false, jika ya maka
cek apakah
adjMat[indeks][i] kurang dari sama dengan alpha
radius, jika
ya maka
set adjMat[indeks][i] ke dalam variabel
temp2. 4.
Memanggil variabel anggotaNpar untuk menampung npar[i].
5. Set AnggotaARNeighbor = temp2.
6. Kemudian ubah wasVisited dari
arrayList menjadi true dengan memanggil method Search2 dengan
inputan temp2, indeks. 7.
Mengembalikan AnggotaARNeighbor.
setAnggotaARNeighb orString label, Double
radius Untuk
mengeset anggotaARNeighbor
ke dalam vertex. 1.
Membuat variabel indeks dengan memanggil method Seacrh dengan
parameter label. 2.
Memanggil method setrNeighbors pada vertexList[indeks] dengan
inputan hasil
dari cariARNeighborhood
dengan
inputan vertexList[indeks].getAnggotaAR
Neighbor, index. setARNeighborhood
String label Untuk
mengeset variable
ARNeighborhood ke dalam vertex.
1. Membuat variabel indeks dengan
memanggil method Search dengan parameter label.
2. Memanggil
method setAnggotaARNeighbors
pada vertexList[indeks] dengan inputan
hasil dari
cariAnggotaARNeighborhood dengan parameter indeks dan
radius. setNpar
Untuk mengeset
npar. 1.
Membuat variabel x. 2.
Selama i = 0 dan i tidak lebih dari jumlah baris adjMat, jika j = 0 dan j
tidak lebih dari jumlah barus vertexList, maka akan di cek apakah
adjmat[i][j] tidak kurang dari sama dengan alpha radius jika ya maka
x =
x +
1. Mengeset
arneighbors[i][j] = j. 3.
Mengeset npar[i] = x; 4.
Mengesey nilai x = 0; tampilARNeighbor
Untuk menampilkan anggota npar dan
npa, r 1.
Membuat variabel arn. 2.
Selama i = 0 dan i tidak lebih dari jumlah barus adjMat, dan jika j = 0
dan j tidak lebih dari jumlah baris j, cek apakah adjMat[i][j] tidak lebih
dari sama dengan radius, jika ya
maka arn = arn + 1 dan menampilkan anggota npar dengan
memanggil adjMat[i][j]. 3.
Menampilkan npa,r
dengan memanggil atribut arn.
4. Mengeset niali arn = 0;
setJumlahAnggota Untuk
mengeset jumlah anggota.
1. Membuat variabel x dan y dengan
tipe int. 2.
Selama i = 0 dan i kurang dari jumlah baris adjMat, dan selama j =
0 dan j kurang dari jumlah baris vertexList, jika ya maka cek apakah
adjMat[i][j] kurang dari sama dengan radius, jika ya x = x + 1 dan
set rneighbors[i][j] = j. 3.
Jika tidak set rneighbors[i][j] = max.
4. Cek apakah adjmat[i][j] kurang dari
sama dengan alpha radius, jika ya maka y = y + 1 dan set
arneighbors[i][j] = j. 5.
Set npir[i] = x. 6.
Set npar[i] = y. 7.
Set nilai x = 0. 8.
Set nilai y = 0. cariLoci
Untuk mencari
outlier. 1.
Membuat variabel
jml_npar, jml_npar2, avgNpira, stdevNpira,
mdef, omdef, komdef dengan tipe Double.
2. Memanggil
method setJumlahAnggota.
3. Mengecek apakah rneighbor[i][j]
tidak sama dengan max. jika ya maka jml_npar = jml_npar +
npar[j]. npar[j] digunakan untuk menyimpan nilai rneighbors yang
kurang dari max. 4.
Menghitung rata-rata npar dengan rumus avgNpira = jml_npar
npir[i]. 5.
Menampilkan avgNpira dengan memanggil
hasil perhitungan
avgNpira. 6.
Mengecek apakah rneighbor[i][j] tidak sama dengan max. jika ya
maka ekseksui rumus jml_npar2 = jml_npar2 + Math.pownpar[j] -
avgNpira, 2. 7.
Menghitung standar deviasi npira dengan
memanggil rumus
stdevNpira = Math.sqrtjml_npar2 npir[i].
8. Menampilkan stdevNpira dengan
memanggil hasil
perhitungan stdevNpira.
9. Menghitung nilai mdef dengan
rumus mdef = 1 - npar[i] avgNpira.
10. Menampilkan nilai mdef dengan
memanggil hasil perhitungan mdef.
11. Mengeset
mdef kedalam
vertexList[i] dengan memanggil method setMdef.
12. Menghitung omdef dengan rumus
omdef = stdevNpira avgNpira. 13.
Menampilkan nilai omdef dengan memanggil
hasil perhitungan
omdef. 14.
Mengeset omdef
kedalam vertexList[i] dengan memanggil
method setOmdef. 15.
Menghitung komdef dengan rumus komdef = konstanta omdef.
16. Menampilkan nilai komdef dengan
memanggil hasil
perhitungan komdef.
17. Mengeset
komdef kedalam
vertexList[i] dengan memanggil method setKomdef.
18. Jika nilai mdef lebih besar dari
komdef maka
akan dianggap
sebagai outlier, jika tidak maka bukan outlier.
19. Mengeset jml_npar = 0.0;
20. Mengeset jml_npar2 = 0.0;
21. Mengeset nilai mdef = 0.0.
22. Mengeset nilai omdef = 0.0.
23. Mengeset nilai komdef = 0.0.
setDataLociString label
Untuk mengeset
tabel HasilDeteksiOutlier
1. Membuat ArrayList dengan nama
dlc yang bertipe ListDataLoci.
agar hasil deteksi outlier
dapat di
tampilkan ke dalam tabel.
2. Membuat atribut dl dengan tipe
DataLoci. 3.
Mengecek apakah nilai Mdef lebih besar dari nilai Komdef dengan cara
memanggil method getMdef dan getKomdef.
4. Jika ya, membuat obyek baru
dengan nama dl untuk mengeset label, mdef, dan komdef dengan
memanggil method
getLabel, getMdef, dan getKomdef.
5. Menambahkan obyek dl kedalam
ListDataLoci. 6.
Membuat obyek
dari LociTabelModel dengan nama ltm.
7. Mengembalikan ltm.
4. Rincian
Algrotima pada
Method di
Kelas CheckBoxTableModel.
Nama Method Fungsi Method
Algoritma Method
addint a,
SeleksiAtribut field_m
Menambah data ke dalam
CheckBoxTableMode. 1.
Membaca parameter a dan field_m. 2.
Menambahkan nilai field_m sebagai data di index ke-a ke dalam list.
removeRow Menghapus
atribut yang di hapus dari
tabel seleksi atribut. 1.
Membuat ArrayList
bertipe SeleksiAtribut dengan nama sa.
2. Selama select kurang dari list maka
di cek apakah atribut tersebut telah dipilih. Jika ya maka nilai select
ditambahkan pada ArrayList sa. 3.
Mengeset list = sa.
5. Rincian Algrotima pada Method di Kelas HalamanUtama.
Nama Method Fungsi Method
Algoritma Method
pilihFile Untuk memilih file
bertipe .xls atau .csv. 1.
Menampilkan kotak dialog Open File.
2. namaFile menangkap nama file
terpilih. 3.
Cut_namaFile =
namaFile.split\\. 4.
Jika cut_namafile adalah .xls maka jalankan langkah pada tabel
pilih .xls 5.
Jika cut_namafile adalah .csv maka jalankan langkah pada tabel
pilih .csv 6.
Jika buka .xls dan .csv maka menampilkan pesan peringatan.
pilihDataBaseKoneks iDataBase kdb, String
table Untuk
memasukkan data
dari tabel
basisdata. 1.
Mengambil isi tabel dari basis data melalui
method selectTable
kdb.getConnection, table. 2.
Membuat vector
baru columnName dan data.
3. Selama i = 1, dan i kurang dari
sama dengan columnCount maka columnName diisi dengan nama
kolom ke i yang didapat dari basisdata
melalui method
getColumnName.
4. Selama rset.next benar maka buat
vector data2 diisi dengan baris di kolom ke i.
5. Tambahkan data2 ke dalam data.
6. Selama i = 1 dan i kurang dari
sama dengan columnCount maka data2 diisi dengan data pada setiap
baris di kolom ke i. 7.
Tambahkan data2 ke dalam data. 8.
Selama i = 0 dan i kurang dari model.getColumnCount, membuat
obyek seleksiAtribut kemudian memanggil
method setAtribut
untuk memanggil columnName. 9.
Memanggil setPilihfalse. 10.
Menambahkan seleksiAtribut
kedalam cexboxtable. 11.
Atur tabel dataPreprocessTable. hapusAtribut
Menghapus atribut
tabel data
sesuai atribut yang dipilih
pengguna. 1.
Selama i = 0 dan i kurang dari jumlah baris seleksiTable.
2. Jika seleksiTable.getValueAti,
1.equalstrue maka cek apakah nilai ke i dari seleksiTable berisi
nama kolom
pada dataPreprocessTable.
3. Membuat variabel tcol1 dengan
inisialisasi nilai
dataPreprocessTable.getColumnM odel.getColumnj.
4. Membuat variabel tcol 2 dengan
inisialisasi nilai
dataOutlierTable.getColumnMode l.getColumnj.
5. Hapus
kolom pada
dataPreprocessTable. 6.
Hapus kolom
pada dataOutlierTable.
7. Hapus baris pada cekboxtable.
submitData Memasukkan
data pada tabel data pada
tab Preprocessing dan tab Deteksi Outlier.
1. Membuat varaibel tableModel
dengan mengambil model dari tabel dataPreprocessTable.
2. Mengeset
dataOutlierTable dengan tablemodel.
3. Mengeset
dataOutlierTable.setAutoCreateR owSortertrue.
4. Menampilkan tabel pada tabel
Deteksi pada tabbed pane Deteksi Outlier
dengan jTabbedPane1.setSelectedCompo
nentdeteksiPanel dan
jTabbedPane1.setEnabledAt1, true;
prosesDeteksi Menerima input radius
dan alpha untuk proses deteksi outlier.
1. Jika nilai radius kosong akan
menampilkan pesan “Nilai radius tidak boleh kosong
”, lakukan pengisian
ulang parameter
tersebut. 2.
Jika nilai alpha kosong akan menampilkan pesan “Nilai alpha
tidak boleh kosong ”, lakukan
pengisian ulang
parameter tersebut.
3. Jika nilai konstanta kosong akan
menampilkan pesan
“Nilai konstanta tidak boleh kosong
”, lakukan pengisian ulang parameter
tersebut. 4.
Membuat variabel t1 bertipe long. 5.
Jika nilai radius, alpha, dan konstanta terisi, maka cek apakah
nilai radius lebih besar dari 0, nilai alpha lebih besar dari 0, nilai alpha
kurang dari sama dengan 1, dan nilai konstanta bilangan bulat
positif lebih besar dari 0. 6.
Jika tidak akan menampilkan pesan “Nilai radius harus bilangan
real + \n + nilai alpha antara 0- 1 + \n + dan nilai konstanta
harus bilangan bulat positif 0. 7.
Jika ya buat obyek baru dengan nama
graph dan
memanggil jumlah
baris pada
dataOutlierTable. 8.
Mengeset radius. 9.
Mengeset alpha. 10.
Mengeset konstanta. 11.
Memanggil method inputData ke dalam dataOutlierTable.
12. Memanggil
method tampilJarakEuclidean.
13. Memanggil
method tampilRNeighbor.
14. Memanggil
method tampilARNeighbor.
15. Memanggil method cariLoci.
16. Mengeset
HasilOutlierTable dengan mengeset model untuk
setDataLocidataOutlierTable.get ColumnName0.
17. Membuat variabel t2 bertipe long.
18. Menghitung waktu proses deteksi
dengan rumus t2 - t1 java.lang.Math.pow10, -9 dan
menampilkan pada
lamaDeteksiTextField. simpanLoci
Untuk menyimpan
hasil deteksi outlier ke dalam file .xls, .doc,
atau .txt. 1.
Membuat obyek fileChooser. 2.
Membaca lokasi penyimpanan file dan disimpan dalam variabel
filename. 3.
Membaca format file yang dipilih pengguna
dengan fileChooser.getFileFilter.getDes
cription kemudian ditampung dalam variabel ext.
4. Jika ext = Microsoft Excel .xls
maka format yang dipilih adalah .xls.
5. Membuat variabel model dengan
memanggil model
pada HasilOutlierTable.
6. Membuat obyek excel yang bertipe
FileWriter. 7.
Jika i = 0 dan i kurang dari jumlah kolom, maka memanggil method
write yang
berisi model.getColumnNamei.
8. Jika i = 0 dan i kurang dari jumlah
baris, jika j = 0 dan j kurang dari jumlah kolom, maka memanggil
method write
yang berisi
model.getValueAti, j.toString. 9.
Excel.close. 10.
Jika ext = Microsoft Word .doc maka format yang dipilih adalah
.doc. 11.
Membuat obyek bfw yang bertipe BufferedWriter.
12. Jika i = 0 dan i kurang dari jumlah
kolom, HasilOutlierTable maka memanggil method write yang
berisi HasilOutlierTable.getColumnNam
ei. 13.
Jika i = 0 dan i kurang dari jumlah baris HasilOutlierTable, jika j = 0
dan j kurang dari jumlah kolom HasilOutlierTable,
maka memanggil method write yang
berisi HasilOutlierTable.getValueAti,
j.toString.
14. bfw.close;
15. Jika ext = Text Documents
.txt maka format yang dipilih adalah .txt.
16. Membuat obyek bfw yang bertipe
BufferedWriter. 17.
Jika i = 0 dan i kurang dari jumlah kolom, HasilOutlierTable maka
memanggil method write yang berisi
HasilOutlierTable.getColumnNam ei.
18. Jika i = 0 dan i kurang dari jumlah
baris HasilOutlierTable, jika j = 0 dan j kurang dari jumlah kolom
HasilOutlierTable, maka
memanggil method write yang berisi
HasilOutlierTable.getValueAti, j.toString.
19. bfw.close;
20. Jika proses simpan gagal akan
menampilkan pesan
“Penyimpanan Gagal”. 21.
Jika proses simpan berhasil akan mnampilkan pesan “Hasil Deteksi
Outlier Telah Berhasil Disimpan”.
4.4 Perancangan Struktur Data