• Tidak ada hasil yang ditemukan

Berdasarkan hasil analisis pada tugas akhir ini, penulis memberikan saran untuk perbaikan dan pengembangan program lebih lanjut antara lain:

1. Program yang dibangun ini belum bisa menerima masukan selain file berformat .xls, .csv dan tabel dari basis data sehingga format dataset tidak bebas. Sistem ini bisa dilengkapi dengan tambahan pembaca data dari format lain contohnya seperti .doc

2. Program yang dibangun ini belum bisa menangani data yang kosong yang berasal dari masukan data berupa file .csv. Sistem ini dapat disempurnakan dengan penanganan data kosong atau missing values pada data dengan format file.csv.

161

DAFTAR PUSTAKA

Baradwaj, Brijesh Kumar & Pal, Saurabh. 2011. Mining Educational Data to Analyze Student‟s Performance Vol. 2 No 6. Hal 63-69.

Fayyad, Usama et al. 1996. From Data Mining to Knowledge Discovery in Databases Vol. 17 No. 3. hal 37-54.

Ghoting, Amol et al. 2006. Fast Mining of Distance-Based Outliers in High-Dimensional Datasets. Hal 609-613.

Han, Jiawei & Kamber, Micheline. 2006. Data Mining: Concepts and Techniques 2nd ed. San Francisco, CA: Morgan Kaufmann Publishers.

Hawakins, Douglas M. 1980. Identification of Outliers. London: Chapman and Hall.

Khannedy, Eko. “Menampilkan JCheckBox Di JTable”.

http://eecchhoo.wordpress.com/2010/07/15/menampilkan-jcheckbox-di-jtable/. (diakses tanggal 10 Mei 2013)

Knorr, Edwin M & Ng., Raymond T. Algorithms for Mining Distance-Based Outliers in Large Datasets. Hal 392-403

MadProgrammer. “How to Adjust JTable Columns to Fit The Longest Content in

Column Cells”. http://stackoverflow.com/questions/13013989/how-to-adjust-jtable-columns-to-fit-the-longest-content-in-column-cells. (diakses tanggal 10 Mei 2013)

Rosa, Paulina Heruningsih Prima, Ridowati Gunawan, Sri Hartati Wijono. The Development of Academic Data Warehouse as a Basis for Decision Making : Case Study at XYZ University. Proceeding of International Conference on Enterprise Information Systems and Applications, Universitas Islam Indonesia, Yogyakarta, Indonesia, 2013.

Tair, Mohammed M. Abu & El-Halees, Alaa M. 2012. Mining Educational Data to Improve Students‟ Performance: A Case Study Vol. 2 No. 2. Hal 140-146

162 LAMPIRAN Lampiran 1 : Tabel Ringkasan Use Case

Tabel Deskripsi Use Case Nomor

Use Case

Nama Use Case Deskripsi Aktor

NL-001 Input data file .xls, .csv atau tabel dari basis data

Use case ini menggambarkan proses input data, dalam bentuk file .xls, .csv atau .tabel dari basis data yang akan digunakan untuk proses deteksi outlier

Pengguna

NL-002 Pencarian outlier Use case ini menggambarkan proses pencarian outlier dalam data yang telah diinputkan

Pengguna

NL-003 Simpan hasil pencarian outlier

Use case ini menggambarkan proses simpan hasil pencarian outlier ke dalam file .txt atau .doc

Pengguna

NL-004 Seleksi atribut Use case ini menggambarkan proses seleksi atribut dari data yang

diinputkan, sehingga atribut yang tidak diperlukan dapat dihapus

Pengguna

NL-005 Distribusi atribut Use case ini menggambarkan proses distribusi atribut serta melihat grafik distribusi atribut dari data yang diinputkan

Pengguna

Lampiran 2 : Skenario Use Case

Nama Use-case Input data file .xls, .csv atau tabel dari basis data

ID Use-case NL-001

Prioritas Tinggi

Pelaku Bisnis Utama Pengguna

Deskripsi Use case ini menggambarkan proses input data

Kondisi Awal Pengguna membuka halaman utama

Urutan Aktivitas Normal

Aksi Aktor Respon Sistem

Step 1: Menekan tombol Pilih File

Step 3 : Memilih data yang akan diinputkan

Step 2: Menampilkan JFileChooser

dalam bentuk file .xls

atau .csv Step 4 : Membaca file yang dipilihh lalu menampilkan data pada tabel data, menampilkan jumlah data dan

menampilkan nama atribut pada tabel atribut. Aktivitas Alternatif Alt-Step 1: Jika pengguna ingin menginputkan data

berupa tabel dalam basis data, maka pengguna menekan tombol Pilih DB.

Alt-Step 3 : Pengguna melakukan login ke basis data dan memilih tabel yang berisi data yang akan

diinputkan.

Kondisi Akhir Data berhasil dibaca lalu ditampilkan pada tabel data di halaman utama beserta jumlah data dan daftar nama atribut dalam data.

Nama Use-case Pencarian Outlier

ID Use-case NL-002

Prioritas Tinggi

Pelaku Bisnis Utama Pengguna

Deskripsi Use case ini menggambarkan proses pencarian outlier Kondisi Awal Pengguna telah membuka file yang berisi data yang

akan diolah Urutan Aktivitas

Normal

Aksi Aktor Respon Sistem

Step 1 : Menekan tombol Submit

Step 3: Memasukkan nilai parameter M dan D lalu menekan tombol Proses

Step 2: Menampilkan halaman utama bagian deteksi outlier dan menampilkan data pada tabel berserta jumlah datanya.

Step 4 : Menampilkan hasil pencarian outlier

Aktivitas Alternatif -

Kondisi Akhir Hasil deteksi outlier dari data pengujian berhasil ditampilkan

Nama Use-case Simpan Hasil Pencarian Outlier

ID Use-case NL-003

Prioritas Normal

Pelaku Bisnis Utama Pengguna

Deskripsi Use case ini menggambarkan proses menyimpan hasil

pencarian outlier

Kondisi Awal Pengguna telah memperoleh hasil pencarian outlier Urutan Aktivitas

Normal

Aksi Aktor Respon Sistem

Step 1 : Menekan tombol Simpan

Step 3 : Memasukkan nama file yang akan disimpan, memilih format file lalu menekan tombol Save

Step 2 : Menampilkan dialog untuk menyimpan file

Step 4 : Menyimpan file hasil pencarian outlier Aktivitas Alternatif -

Kondisi Akhir File hasil pencarian

outlier berhasil disimpan

Nama Use-case Seleksi Atribut

ID Use-case NL-004

Prioritas Normal

Pelaku Bisnis Utama Pengguna

Deskripsi Use case ini menggambarkan proses menyeleksi

atribut dari data yang diinputkan

Kondisi Awal Pengguna telah membuka file yang berisi data yang akan diolah

Urutan Aktivitas Normal

Aksi Aktor Respon Sistem

Step 1 : Memilih nama atribut yang akan dihapus lalu menekan

atribut yang telah dipilh dari tabel data

Aktivitas Alternatif -

Kondisi Akhir Atribut yang dipilih

berhasil dihapus

Nama Use-case Distribusi Atribut

ID Use-case NL-005

Prioritas Normal

Pelaku Bisnis Utama Pengguna

Deskripsi Use case ini menggambarkan proses distribusi atribut dari data

Kondisi Awal Pengguna telah membuka file yang berisi data yang akan diolah

Urutan Aktivitas Normal

Aksi Aktor Respon Sistem

Step 1 : Menekan tombol Distribusi Atribut

Step 3 : Memilih atribut dari daftar atribut

Step 2 : Menampilkan dialog distribusi atribut

Step 4 : Menampilkan detail isi atribut Aktivitas Alternatif Alt-Step 3 : Menekan tombol Lihat Grafik untuk

melihat grafik distribusi atribut Kondisi Akhir Distribusi atribut beserta

grafik berhasil ditampilkan

Lampiran 3 : Diagram Aktivitas

1. Input data file .xls, .csv atau tabel dari basis data.

Pengguna Sistem

Menekan tombol untuk input data

Menampilkan JFileChooser

Memasukkan username, password dan/atau nama

basis data lalu memilih nama tabel

Membaca data yang dipilih lalu menampilkannya pada

tabel data beserta jumlahnya dan daftar

nama atribut Menampilkan dialog

login ke basis data file .xls atau .csv

tabel dari basis data

2. Pencarian outlier

Pengguna Sistem

3. Simpan file hasil pencarian outlier

Pengguna Sistem

Memasukkan nilai parameter D dan M lalu menekan tombol Proses

Menampilkan hasil deteksi outlier

Menekan tombol Simpan Menampilkan dialog untuk menyimpan file

Memasukkan nama file yang akan disimpan, memilih format file lalu

menekan tombol Save

Menyimpan file hasil pencarian outlier Menekan tombol Submit

Menampilkan halaman utama bagian deteksi outlier dan menampilkan

data pada tabel berserta jumlah datanya.

4. Seleksi Atribut

Pengguna Sistem

5. Distribusi Atribut

Pengguna Sistem

Memilih nama atribut lalu menekan tombol Hapus

Menghapus atribut yang telah dipilih dari tabel data

Menekan tombol Distribusi Atribut

Menampilkan dialog distribusi atribut

Menampilkan detail isi atribut

Menampilkan grafik distribusi atribut Memilih nama atribut

dari daftar atribut

Lampiran 4 : Tabel Diagram Kelas Analisis

Tabel Kelas Analisis Input Data File .xls dan .csv No Nama Kelas Tipe Deskripsi

1 HalamanUtama Boundary Kelas ini menyediakan halaman untuk menginputkan data file .xls atau .csv

Tabel Kelas Analisis Input Data Tabel dari Basis Data No Nama Kelas Tipe Deskripsi

1 HalamanUtama Boundary Kelas ini menyediakan halaman untuk menginputkan tabel dari basis data 2 Halaman Pilih DB Boundary Kelas ini menyediakan tampilan untuk

memilih basis data dan memasukkan data untuk login ke basis data tersebut 3 Database Controller Kelas ini befungsi untuk mengirim data

login ke basis data tertentu ke kelas DatabaseConnection

4 DatabaseConnection Entity Kelas ini berfungsi untuk membangun koneksi ke basis data

5 Halaman Pilih Tabel

Boundary Kelas ini berfungsi untuk menyediakan halaman untuk memilih tabel yang berasal dari basis data yang telah terhubung dengan sistem

Tabel Kelas Analisis Pencarian Outlier No Nama Kelas Tipe Deskripsi

1 HalamanUtama Boundary Kelas ini menyediakan halaman deteksi outlier

2 Graph Entity Kelas ini berfungsi untuk menjalankan algoritma Block-based Nested-Loop

3 Vertex Entity Kelas ini berfungsi untuk menyimpan informasi setiap obyek vertex yang terbentuk

4 Block Entity Kelas ini berfungsi untuk menyimpan informasi setiap obyek block yang terbentuk

5 GraphController Controller Kelas ini berfungsi untuk menghubungkan kelas HalamanUtama dan Graph

Tabel Kelas Analisis Simpan Hasil Pencarian Outlier No Nama Kelas Tipe Deskripsi

1 HalamanUtama Boundary Kelas ini menyediakan halaman deteksi outlier yang di dalamnya terdapat tombol untuk menyimpan hasil deteksi outlier.

Tabel Kelas Analisis Seleksi Atribut

No Nama Kelas Tipe Deskripsi

1 HalamanUtama Boundary Kelas ini menyediakan tampilan untuk melakukan seleksi atribut 2 SeleksiAtribut Entity Kelas ini menyediakan

method-method untuk mengelola informasi setiap atribut

3 CheckBoxTableModel Controller Kelas ini menyediakan method-method untuk mengelola fungsi seleksi atau hapus atribut

Tabel Kelas Analisis Distribusi Atribut

No Nama Kelas Tipe Deskripsi

1 HalamanUtama Boundary Kelas ini menyediakan tampilan yang di dalamnya terdapat tombol

untuk masuk ke dialog distribusi atribut

2 HalamanDistribusiAtribut Boundary Kelas ini menyediakan tampilan untuk melihat detail isi setiap atribut serta grafik distrbusi atribut 3. BarChart Entity Kelas ini berisi method untuk

membentuk sebuah grafik distribusi atribut

Lampiran 5 : Diagram Sequence

Gambar Diagram Sequence Input Data File xls atau .csv Pengguna

<<boundary>> HalamanUtama

Menekan tombol Pilih File

pilihFile()

Menekan tombol Submit

Gambar Diagram Sequence Pencarian Outlier

Pengguna

<<boundary>> HalamanUtama Menekan tombol Simpan

simpanHasil() Menampilkan

konfirmasi file berhasil disimpan

Lampiran 6 : Listing program a. Kelas HalamanAwal

b. Kelas HalamanBantuan

public class HalamanAwal extends javax.swing.JFrame { /** Creates new form HalamanAwal */

public HalamanAwal() { initComponents(); }

private void masukButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_masukButtonActionPerformed

// TODO add your handling code here:

HalamanUtama utama = new HalamanUtama(); utama.setVisible(true);

this.dispose();

}//GEN-LAST:event_masukButtonActionPerformed

// Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JLabel footer1Label;

private javax.swing.JLabel footer2Label;

private javax.swing.JDesktopPane halamanAwalDesktopPane; private javax.swing.JPanel halamanAwalPanel;

private javax.swing.JLabel icon;

private javax.swing.JButton masukButton; private javax.swing.JLabel titleLabel;

// End of variables declaration//GEN-END:variables }

public class HalamanBantuan extends javax.swing.JFrame { /** Creates new form HalamanBantuan */

public HalamanBantuan() { initComponents(); }

private void keluarButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_keluarButtonActionPerformed

// TODO add your handling code here: HalamanBantuan.this.dispose(); }

c. Kelas HalamanMissingValues

private javax.swing.JDesktopPane jDesktopPane1; private javax.swing.JScrollPane jScrollPane1; private javax.swing.JTextArea jTextArea1; private javax.swing.JButton keluarButton;

// End of variables declaration//GEN-END:variables }

public class HalamanMissingValues extends javax.swing.JFrame { DefaultTableModel model;

public HalamanMissingValues(DefaultTableModel tabel) { initComponents();

model=tabel; }

private void yaButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_yaButtonActionPerformed

// TODO add your handling code here: String pola = "[0-9.]*";

String pola2 = "[.]*";

for (int i = 0; i < model.getRowCount(); i++) { for (int j = 1; j < model.getColumnCount(); j++) { if (model.getValueAt(i, j)==null || !model.getValueAt(i, j).toString().matches(pola) || model.getValueAt(i, j).toString().matches(pola2)) { model.setValueAt(0, i, j); } } } this.dispose(); }

private void tidakButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tidakButtonActionPerformed

// TODO add your handling code here: this.dispose();

}

private javax.swing.JDesktopPane jDesktopPane1; private javax.swing.JPanel jPanel1;

private javax.swing.JScrollPane jScrollPane1; private javax.swing.JTextArea missingValueTArea; private javax.swing.JButton tidakButton;

private javax.swing.JButton yaButton;

d. Kelas HalamanKonfirmasiKeluar

public class HalamanKonfirmasiKeluar extends javax.swing.JFrame { /** Creates new form HalamanKonfirmasiKeluar */

public HalamanKonfirmasiKeluar() { initComponents();

}

private void yaButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_yaButtonActionPerformed

// TODO add your handling code here: System.exit(0);

}

private void tidakButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_tidakButtonActionPerformed

// TODO add your handling code here: this.hide();

}

private javax.swing.JDesktopPane jDesktopPane1; private javax.swing.JPanel jPanel1;

private javax.swing.JLabel konfirmasiLabel; private javax.swing.JButton tidakButton; private javax.swing.JButton yaButton;

// End of variables declaration//GEN-END:variables }

Dokumen terkait