BAB VI PENUTUP
6.2. Saran
Meskipun kesimpulan akhir penelitian ini sudah menjawab rumusan masalah dan memenuhi tujuan penelitian, namun tingkat keakuratan algoritma belum bisa dikatakan baik. Oleh karena itu, bagi peneliti yang akan melanjutkan penelitian ini, penulis menyarankan:
1. Gunakan data dengan jumlah yang lebih besar dan jumlah data yang setara untuk masing-masing kelas.
2. Data yang digunakan dalam penelitian ini adalah nilai matakuliah yang diambil oleh mahasiswa. Pada keadaan sebenarnya, satu matakuliah dapat diampu oleh beberapa dosen, sehingga persebaran nilai (varian) untuk masing-masing dosen adalah berbeda. Untuk peneliti yang akan menggunakan data yang sama, maka sebaiknya gunakan data nilai matakuliah yang diampu oleh satu dosen.
3. Sistem yang dibuat sebaiknya dirancang agar user dapat mengubah atribut dan model yang digunakan oleh algoritma, sehingga sistem dapat digunakan untuk meneliti berbagai jenis kasus.
DAFTAR PUSTAKA
Pang-Ning Tan, Michael Steinbach, Vipin Kumar. (2006). Introduction to Data
Mining. Boston: Pearson Education, Inc.
Jiawei Han, Micheline Kamber (2006). Data Mining: concept and techniques. San Francisco: Elsevier Inc.
Larose, Daniel T. (2006). Data Mining: methods and models. New Jersey: John Wiley & Sons, Inc.
Santosa Budi (2007), Data Mining: Teknik Pemanfaatan Data Untuk Keperluan
Bisnis. Yogyakarta: Graha Ilmu.
Richard O. Duda; Peter E. Hart; David G. Stork. (2006). Pattern Classification.
Canada: John Wiley & Sons, Inc.
Kamath, Chandrika. (2009). Scientific Data Mining: a practical perspective. Philadelpia: Society for Industrial and Applied Mathematics.
Pal, Sankar K., dan Mitra, Pabitra. (2004). Pattern Recognition Algorithms for Data
Mining. Florida: Chapman and Hall/CRC.
Nurgiyantoro, Burhan; Gunawan; Marzuki. (2009). Statistik Terapan Untuk
Penelitian Ilmu-Ilmu Sosial. Yogyakarta: Gadjah Mada University Press..
Uyanto, Stanislaus S. (2006). Pedoman Analisis Data Dengan SPSS. Yogyakarta: Graha Ilmu.
LAMPIRAN I
Pengujian Korelasi Antara Atribut dan Kelas
Pengujian korelasi dilakukan dengan menggunakan metode Pearson’s product
moment dan menggunakan software IBM SPSS Statistics. Hasil pengujian korelasi
antara atribut dengan kelas ditunjukkan pada tabel 1, dan hasil pengujian korelasi antara atribut dengan atribut titunjukkan pada tabel 2.
Tabel 1. Korelasi Antara Atribut dengan Kelas
INF100 Pearson Correlation .242** Sig. (2-tailed) 0.002 N 168 INF110 Pearson Correlation .206** Sig. (2-tailed) 0.007 N 169 INF111 Pearson Correlation 0.131 Sig. (2-tailed) 0.09 N 168 INF114 Pearson Correlation .283** Sig. (2-tailed) 0 N 168 INF160 Pearson Correlation .254** Sig. (2-tailed) 0.001 N 169 INF112 Pearson Correlation .217** Sig. (2-tailed) 0.008 N 150 INF113 Pearson Correlation 0.09 Sig. (2-tailed) 0.249 N 167 INF115 Pearson Correlation .185* Sig. (2-tailed) 0.018 N 163
INF121 Pearson Correlation .418**
N 168 INF121P Pearson Correlation .349** Sig. (2-tailed) 0 N 161 INF150 Pearson Correlation .255** Sig. (2-tailed) 0.001 N 168 INF161 Pearson Correlation .200** Sig. (2-tailed) 0.009 N 169 INF220 Pearson Correlation .355** Sig. (2-tailed) 0 N 164 INF220P Pearson Correlation .165* Sig. (2-tailed) 0.036 N 161 INF221 Pearson Correlation .239** Sig. (2-tailed) 0.002 N 162 INF221P Pearson Correlation .320** Sig. (2-tailed) 0 N 161 INF232 Pearson Correlation .271** Sig. (2-tailed) 0 N 167 INF232P Pearson Correlation .178* Sig. (2-tailed) 0.022 N 167 INF251 Pearson Correlation .188* Sig. (2-tailed) 0.015 N 167 INF270P Pearson Correlation -0.026 Sig. (2-tailed) 0.746 N 160
**. Correlation is significant at the 0.01 level (2-tailed). *. Correlation is significant at the 0.05 level (2-tailed).
Tabel 2. Korelasi Antara Atribut dengan Atribut INF 100 INF 110 INF 114 INF 160 INF 112 INF 115 INF 121 INF 121P INF 150 INF 161 INF 220 INF 220P INF 221 INF 221P INF 232 INF 232P INF 251 INF 100 Pearson Correlation 1 .264** .214** .182* .235** 0.131 .260** .241** .272** .165* .250** .309** .359** .376** .292** 0.141 .230** Sig. (2-tailed) 0.001 0.006 0.018 0.004 0.095 0.001 0.002 0 0.032 0.001 0 0 0 0 0.069 0.003 N 168 168 167 168 149 162 167 160 167 168 164 160 161 160 166 166 166 INF 110 Pearson Correlation .264** 1 .574** .407** .468** .532** .296** .306** .333** .241** .436** .384** .161* .330** .308** .309** .324** Sig. (2-tailed) 0.001 0 0 0 0 0 0 0 0.002 0 0 0.04 0 0 0 0 N 168 169 168 169 150 163 168 161 168 169 164 161 162 161 167 167 167 INF 114 Pearson Correlation .214** .574** 1 .442** .479** .565** .417** .394** .398** .329** .425** .412** .308** .351** .406** .305** .315** Sig. (2-tailed) 0.006 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 N 167 168 168 168 149 163 167 160 167 168 163 160 162 161 166 166 166 INF 160 Pearson Correlation .182* .407** .442** 1 .372** .351** .385** .275** .342** .257** .361** .352** .248** .312** .293** .257** .208** Sig. (2-tailed) 0.018 0 0 0 0 0 0 0 0.001 0 0 0.001 0 0 0.001 0.007 N 168 169 168 169 150 163 168 161 168 169 164 161 162 161 167 167 167 INF 112 Pearson Correlation .235** .468** .479** .372** 1 .575** .411** .349** .460** .314** .428** .366** .299** .382** .434** .179* .354** Sig. (2-tailed) 0.004 0 0 0 0 0 0 0 0 0 0 0 0 0 0.029 0 N 149 150 149 150 150 145 150 145 149 150 145 143 145 143 148 148 148 INF Pearson Correlation 0.131 .532** .565** .351** .575** 1 .465** .392** .440** .313** .440** .453** .320** .455** .402** .367** .336**
115 Sig. (2-tailed) 0.095 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 N 162 163 163 163 145 163 162 156 162 163 159 157 161 159 162 162 162 INF 121 Pearson Correlation .260** .296** .417** .385** .411** .465** 1 .580** .619** .211** .451** .401** .463** .578** .524** .415** .366** Sig. (2-tailed) 0.001 0 0 0 0 0 0 0 0.006 0 0 0 0 0 0 0 N 167 168 167 168 150 162 168 161 167 168 163 160 161 161 166 166 166 INF 121P Pearson Correlation .241** .306** .394** .275** .349** .392** .580** 1 .355** .313** .450** .391** .428** .677** .462** .383** .243** Sig. (2-tailed) 0.002 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.002 N 160 161 160 161 145 156 161 161 161 161 157 155 156 155 160 160 160 INF 150 Pearson Correlation .272** .333** .398** .342** .460** .440** .619** .355** 1 .158* .475** .417** .414** .416** .489** .403** .236** Sig. (2-tailed) 0 0 0 0 0 0 0 0 0.041 0 0 0 0 0 0 0.002 N 167 168 167 168 149 162 167 161 168 168 163 160 161 160 166 166 166 INF 161 Pearson Correlation .165* .241** .329** .257** .314** .313** .211** .313** .158* 1 .189* .263** .249** .281** .213** .216** .260** Sig. (2-tailed) 0.032 0.002 0 0.001 0 0 0.006 0 0.041 0.016 0.001 0.001 0 0.006 0.005 0.001 N 168 169 168 169 150 163 168 161 168 169 164 161 162 161 167 167 167 INF 220 Pearson Correlation .250** .436** .425** .361** .428** .440** .451** .450** .475** .189* 1 .451** .434** .439** .580** .326** .272** Sig. (2-tailed) 0.001 0 0 0 0 0 0 0 0 0.016 0 0 0 0 0 0 N 164 164 163 164 145 159 163 157 163 164 164 160 159 158 164 164 164 INF 220P Pearson Correlation .309** .384** .412** .352** .366** .453** .401** .391** .417** .263** .451** 1 .392** .438** .349** .305** .357** Sig. (2-tailed) 0 0 0 0 0 0 0 0 0 0.001 0 0 0 0 0 0
N 160 161 160 161 143 157 160 155 160 161 160 161 157 156 161 161 161 INF 221 Pearson Correlation .359** .161* .308** .248** .299** .320** .463** .428** .414** .249** .434** .392** 1 .537** .426** .237** .240** Sig. (2-tailed) 0 0.04 0 0.001 0 0 0 0 0 0.001 0 0 0 0 0.002 0.002 N 161 162 162 162 145 161 161 156 161 162 159 157 162 159 162 162 162 INF 221P Pearson Correlation .376** .330** .351** .312** .382** .455** .578** .677** .416** .281** .439** .438** .537** 1 .444** .316** .319** Sig. (2-tailed) 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 N 160 161 161 161 143 159 161 155 160 161 158 156 159 161 161 161 161 INF 232 Pearson Correlation .292** .308** .406** .293** .434** .402** .524** .462** .489** .213** .580** .349** .426** .444** 1 .302** .378** Sig. (2-tailed) 0 0 0 0 0 0 0 0 0 0.006 0 0 0 0 0 0 N 166 167 166 167 148 162 166 160 166 167 164 161 162 161 167 167 167 INF 232P Pearson Correlation 0.141 .309** .305** .257** .179* .367** .415** .383** .403** .216** .326** .305** .237** .316** .302** 1 .188* Sig. (2-tailed) 0.069 0 0 0.001 0.029 0 0 0 0 0.005 0 0 0.002 0 0 0.015 N 166 167 166 167 148 162 166 160 166 167 164 161 162 161 167 167 167 INF 251 Pearson Correlation .230** .324** .315** .208** .354** .336** .366** .243** .236** .260** .272** .357** .240** .319** .378** .188* 1 Sig. (2-tailed) 0.003 0 0 0.007 0 0 0 0.002 0.002 0.001 0 0 0.002 0 0 0.015 N 166 167 166 167 148 162 166 160 166 167 164 161 162 161 167 167 167
LAMPIRAN II
Skenario Use Case
Nama Use Case Mengimpor Data
Deskripsi Use Case Use case ini digunakan untuk memasukkan data kedalam sistem menggunakan file berekstensi .xls, atau file dari aplikasi Ms. Excel 2003. Data yang akan dimasukkan adalah data yang akan ditambang menggunakan algoritma NBC dan BBN.
Pra Kondisi -
Langkah Umum Kegiatan Aktor Respon Sistem 1. Pengguna menekan
tombol impor
2. Sistem menampilkan kotak dialog open file
3. Memilih file dan menekan tombol open
4. Sistem membaca file, dan menampilkannya dalam tabel
Alternatif -
Kesimpulan Use Case ini berhenti apabila data dalam file excel dapat terbaca dan berhasil dimasukkan kedalam tabel
Nama Use Case Mengekspor Data
Deskripsi Use Case Use case ini digunakan untuk menyimpan data dari sistem kedalam file Ms. Excel.
Pra Kondisi -
Langkah Umum Kegiatan Aktor Respon Sistem 1. Pengguna menekan tombol
ekspor
2. Sistem menampilkan kotak dialog save file
3. Memilih lokasi penyimpanan dan memasukkan nama file.
4. Sistem menyimpan data table kedalam file excel
Alternatif -
Kesimpulan Use Case ini berhenti apabila data dalam tabel berhasil disimpan kedalam file excel
Nama Use Case Menambah Baris
Deskripsi Use Case Use case ini digunakan untuk menambah baris baru kedalam tabel. Baris baru yang ditambahkan tidak berisi data (null) dan baris akan ditambahkan pada tabel diurutan paling akhir.
Pra Kondisi -
Langkah Umum Kegiatan Aktor Respon Sistem 1. Pengguna menekan tombol
Tambah Baris
2. Sistem menambahkan baris baru dalam tabel
Alternatif -
Kesimpulan Use Case ini berhenti apabila baris baru berhasil ditambahkan kedalam tabel
Nama Use Case Menghapus Baris
Deskripsi Use Case Use case ini digunakan untuk menghapus baris dalam tabel. Baris yang akan dihapus adalah baris yang dipilih (blok) oleh
Pengguna. Pengguna dapat menghapus satu baris atau banyak baris sekaligus.
Pra Kondisi -
Langkah Umum Kegiatan Aktor Respon Sistem 1. Pengguna memilih 1 baris
atau lebih yang akan dihapus dari tabel kemudian
menekan tombol Hapus Baris
2. Sistem menghapus baris yang dipilih dalam tabel
Alternatif -
Kesimpulan Use Case ini berhenti apabila baris yang dipilih berhasil dihapus dari dalam tabel
Nama Use Case Menyortir Data
Deskripsi Use Case Use case ini digunakan untuk mengurutkan data tabel berdasarkan kolom NIM atau Peminatan secara ascending
Pra Kondisi -
1. Pengguna menekan tombol sorting, lalu memilih salah satu pilihan sorting.
2. Sistem melakukan sorting dan menampilkan data
Alternatif -
Kesimpulan Use Case ini berhenti apabila semua data berhasil sortir
Nama Use Case Mengubah Data
Deskripsi Use Case Use case ini digunakan untuk memasukkan atau mengubah data kedalam tabel secara manual (ketik).
Pra Kondisi -
Langkah Umum Kegiatan Aktor Respon Sistem 1. Pengguna memilih cell dari
tabel dan memasukkan data
2. Sistem menyimpan data yang dimasukkan pengguna
Alternatif -
Kesimpulan Use Case ini berhenti apabila data berhasil dimasukkan/diubah dari dalam tabel
Nama Use Case Pencarian Data
Deskripsi Use Case Use case ini digunakan untuk mencari tupel berdasarkan kolom NIM
Pra Kondisi -
Langkah Umum Kegiatan Aktor Respon Sistem 1. Pengguna mengetikkan kata
kunci pencarian dalam textfield, lalu menekan tombol enter pada keyboard.
2. Sistem mencari NIM mahasiswa kemudian menampilkannya
Alternatif -
Kesimpulan Use Case ini berhenti apabila data berhasil dimasukkan/diubah dari dalam tabel
Nama Use Case Menentukan Jumlah Fold
Deskripsi Use Case Use case ini digunakan menentukan jumlah fold yang akan digunakan dalam proses cross validation.
Pra Kondisi Tabel data mahasiswa yang akan ditambang sudah terisi
Langkah Umum Kegiatan Aktor Respon Sistem 1. Pengguna memasukkan
angka di spinner, lalu menekan tombol Proses
2. Sistem menampilkan rincian rencana cross validation
Alternatif -
Kesimpulan Use Case ini berhenti apabila telah memasukkan angka pada kolom Cross Validation, dan menekan tombol proses.
Nama Use Case Melakukan Klasifikasi
Deskripsi Use Case Use case ini digunakan untuk melakukan proses cross validation, klasifikasi, dan menghitung akurasi. Pengguna dapat melihat hasil klasifikasi algoritma, hasil cross validation, model hasil proses training algoritma, dan akurasi yang dihasilkan.
Pra Kondisi Tabel data mahasiswa yang akan ditambang sudah terisi, dan tidak terdapat data yang mengandung error
Use case Menentukan Jumlah Fold sudah dijalankan
Langkah Umum Kegiatan Aktor Respon Sistem 1. Pengguna menekan tombol
Klasifikasi
2. Sistem melakukan proses cross validation, klasifikasi, dan menghitung akurasi, kemudian menampilkan hasilnya.
3. Sistem menampilkan list proses cross validation pada panel Klasifikasi,dan tabel akurasi algoritma pada panel Akurasi
4. Pengguna memilih list proses cross validation, kemudian menekan tombol Hasil Klasifikasi
5. Sistem menampilkan tabel hasil klasifikasi Algoritma 6. Pengguna memilih list
proses cross validation, kemudian menekan tombol Data Training
7. Sistem menampilkan tabel Data Training Hasil proses cross validation
8. Pengguna memilih list proses cross validation, kemudian menekan tombol Data Testing
9. Sistem menampilkan tabel Data Testing Hasil proses cross validation
10. Pengguna memilih list proses cross validation, kemudian menekan tombol Model NBC
11. Sistem menampilkan model yang dihasilkan algoritma NBC
12. Pengguna memilih list proses cross validation, kemudian menekan tombol Model BBN
13. Sistem menampilkan model yang dihasilkan algoritma BBN
14. Pengguna menekan tombol Akurasi pada Halaman Utama sistem
15. Sistem menampilkan panel Akurasi yang didalamnya terdapat rinci akurasi algoritma
Alternatif -
Kesimpulan Use case ini berhenti apabila akurasi algoritma sudah berhasil dihitung dan ditampilkan.
LAMPIRAN III
Diagram Aktifitas
1. Diagram Aktifitas Mengimpor Data
AKTOR SISTEM
Menampilkan Internal Frame Set Data
Klik tombol Set Data
klik tombol Impor Mula i Sesuai format? Tampilkan data Tampilkan pesan eror Ya Tidak Selesai Menampilkan kotak dialog
Memilih file dalam drive, lalu menekan tombol Open
2. Diagram Aktifitas Mengekspor Data
3. Diagram Aktifitas Menambah Baris
AKTOR SISTEM
Klik Tombol Set Data
Menampilkan Internal Frame Set Data
Selesai Mula
i
Klik tombol Tambah Baris
Menambah baris dalam tabel
AKTOR SISTEM
Selesai Klik tombol Set Data
Menampilkan Internal Frame Set Data
Mula i
Klik tombol Ekspor
Menampilkan kotak dialog Memilih lokasi penyimpanan,
memasukkan nama file, dan menekan tombol Save
4. Diagram Aktifitas Menghapus Baris
5. Diagram Aktifitas Menyortir Data
AKTOR SISTEM
Klik Tombol Set Data
Menampilkan Internal Frame Set Data
Selesai Mula
i
Klik tombol sorting, kemudian
pilih salah satu item Menyortir dan menampilkan data
AKTOR SISTEM
Klik Tombol Set Data
Menampilkan Internal Frame Set Data
Selesai Mula
i
Pilih baris, lalu klik tombol
Hapus Baris Menghapus baris yang dipilih
6. Diagram Aktifitas Mengubah Data
7. Diagram Aktifitas Pencarian Data
AKTOR SISTEM
Klik Tombol Set Data
Menampilkan Internal Frame Set Data
Selesai Mula
i
Ketikkan kata kunci pada kolom pencarian, lalu tekan
enter
Menandai data yang mengandung kata kunci
pencarian
AKTOR SISTEM
Klik Tombol Set Data
Menampilkan Internal Frame Set Data
Selesai Mula
i
Klik 2x pada cell dalam tabel, lalu
masukkan data baru Menyimpan data baru yang dimasukkan oleh pengguna
8. Diagram Aktifitas Menentukan Jumlah Fold
9. Diagram Aktifitas Melakukan Klasifikasi
AKTOR SISTEM
Klik Tombol Set Data
Menampilkan panel Set Data
Selesai Mulai
Ketikkan angka pada jspinner,
lalu tekan tombol Proses Menampilkan rincian data rencana cross validation
AKTOR SISTEM
Menampilkan panel Klasifikasi, didalamnya terdapat list proses
cross validation dan tombol
Klik Tombol Set Data
Menampilkan panel Set Data Mulai
Mengklik tombol Klasifikasi
Melakukan proses cross
validation, klasifikasi, dan
mengukur akurasi algoritma NBC dan BBN
Selesai Memilih salah satu list proses
cross validation, lalu menekan
tombol Hasil Klasifikasi Menampilkan tabel hasil klasifikasi algoritma Memilih salah satu list proses
cross validation, lalu menekan
tombol Data Training
Memilih salah satu list proses
cross validation, lalu menekan
tombol Data Testing Menampilkan data testing hasil proses cross validation Memilih salah satu list proses
cross validation, lalu menekan
tombol Model NBC Menampilkan model hasil
training algoritma NBC
Memilih salah satu list proses
cross validation, lalu menekan
tombol Model BBN Menampilkan model hasil
training algoritma BBN
Menekan tombol Akurasi di
Halaman Utama Menampilkan panel Akurasi
yang didalamnya terdapat rinci akurasi algoritma Menampilkan data training hasil proses cross validation
LAMPIRAN IV
Diagram Sekuensial
1. Diagram Sekuensial Mengimpor Data
<<Boundary>> InFrameSetData
<<Control>> ToolClass
1: klik tombol impor data
2: ImporData() 3: kotak dialog Open
Actor
4: pilih file
5: baca file 6: data tabel
2. Diagram Sekuensial Mengekspor Data
<<Boundary>> InFrameSetData
<<Control>> ToolClass
1: klik tombol Ekspor Data
2: EksporData() 3: kotak dialog Save
Actor
4: beri nama file
3. Diagram Sekuensial Menambah Baris
4. Diagram Sekuensial Menghapus Baris
1: klik tombol hapus baris
Actor
2: menghapus baris tabel <<Boundary>>
InFrameSetData
5. Diagram Sekuensial Menyortir Data
1: Sortir Nim 2: SortingNim() Actor 3: Sortir Peminatan 4: SortingPeminatan() <<Boundary>> InFrameSetData <<Control>> ToolClass 1: klik tombol tambah baris
Actor
2: menambah baris tabel <<Boundary>>
6. Diagram Sekuensial Mengubah Data
1: input data pada cell tabel
Actor
2: mengubah data pada cell <<Boundary>>
InFrameSetData
7. Diagram Sekuensial Pencarian Data
1: Pencarian Data 2: search(String) Actor 3: Pesan Pencarian <<Boundary>> InFrameSetData <<Control>> ToolClass
8. Diagram Sekuensial Melakukan Cross Validation
<<Boundary>> InFrameSet Data Actor 2: Rincian data 1: jumlah fold
9. Diagram Sekuensial Melakukan Klasifikasi
<<Control>> CrossValidation <<Control>>
KlasifikasiNBC
1: klik tombol Klasifikasi
10: Tabel Akurasi Actor <<Control>> ToolClass <<Control>> KlasifikasiBBN 9: hasil klasifikasi
2: jml fold, data tabel
4: tabel training/testing 8: hasil klasifikasi 3: jml fold, CrossValidation 7: tabel training/testing 5: hasil klasifikasi <<Boundary>> InFrameKlasifikasi 15: tabel training 11: klik tombol Hasil Klasifikasi
12: menampilkan tabel Hasil Klasifikasi 13: klik tombol Data Training
14: fold terpilih 6: jml fold, CrossValidation
16: klik tombol Data Testing
18: tabel testing 17: fold terpilih 19: klik tombol Model NBC
21: model NBC 20: fold terpilih
22: klik tombol Model BBN
24: model BBN 23: fold terpilih
LAMPIRAN V
Diagram Kelas
InFrameSetData -btEkspor : JButton -btImpor : JButton -btTambahBaris : JButton -btHapusBaris : JButton -tfPencarian : JTextField -tabelData :JTable - spinnerCV : JSpinner -tools : ToolClass -dataTabel : DefaultTableModel +InFrameSetData() :<<Constructor>> -tfPencarianActionPerformed(ActionEvent) : void -btImporActionPerformed(ActionEvent) : void -btEksporActionPerformed(ActionEvent) : void -btTambahBarisActionPerformed(ActionEvent) : void -btHapusBarisActionPerformed(ActionEvent) : void - btProsesCVActionPerformed(ActionEvent) : void -btKlasifikasiActionPerformed(ActionEvent) : void -spinnerCVStateChanged(ChangeEvent) : void HalamanUtama - btHasilKlasifikasi : JButton - btManagaData : JButton - btPerbandingan : JButton - setData : SetData - klasifikasi : Klasifikasi - akurasi : Akurasi + HalamanUtama() : <<Constructor>> - btManagaDataActionPerformed(ActionEvent) :void - btHasilKlasifikasiActionPerformed(ActionEvent) :void - btPerbandinganActionPerformed(ActionEvent) :void + klasifikasi(int) : voidInFrameKlasifikasi -lismod : DefaultListModel -listProses : JList -btHasilKL :JButton -btModelBBN :JButton -btModelNBC :JButton -btTesting :JButton - btTraining :JButton - lismod : DefaultListModel -tools : ToolClass -fold : int - tabelHasil : DefaultTableModel[] -nbc : KlasifikasiNBC2 -bbn : KlasifikasiBBN -cv : CrossValidation +Klasifikasi() : <<Constructor>> -listProsesValueChanged(ActionEvent) : void -btHasilKLActionPerformed(ActionEvent) : void -btModelBBNActionPerformed(ActionEvent) : void -btModelNBCActionPerformed(ActionEvent) : void -btTestingActionPerformed(ActionEvent) : void -btTrainingActionPerformed(ActionEvent) : void +setHasilKlasifikasi(DefaultTableModel, int) : void -kelolaTabelHasilKlasifikasi(int) : void +setParent(HalamanUtama) : void InFrameAkurasi - akurasiBBNtotal : JProgressBar - akurasiNBCtotal : JProgressBar - bbnTabel : JTable - nbcTabel : JTable + InFrameAkurasi() : <<Constructor>> - setAkurasi(DefaultTableModel, DefaultTableModel) CrossValidation -dataTabel : DefaultTableModel -jmlKelompok : int - dataTraining : DefaultTableModel -dataTesting : DefaultTableModel
+ CrossValidation(DefaultTableModel, int) : <<Constructor>> + getTabelTraining (int) : DefaultTableModel
KlasifikasiNBC - attModel : float[][][] -kelasModel[] : float -hasilKlasifikasi : Object[][] - probKlasifikasi : Object[][] -cv : CrossValidation
+ KlasifikasiNBC (int, CrossValidation) : <<Constructor>> -trainingNBC(int) : void
-testingNBC(int) : void -indexAtt (Object) : int -indexKelas (Object) : int + getModel(int fold) : String + getHasilKlasifikasi () : Object[][] + getProbKlasifikasi() : Object[][] KlasifikasiBBN - kelasModel : float[][][] -inf121Model : float[][] -hasilKlasifikasi : Object[][] - probKlasifikasi : Object[][] -cv : CrossValidation
+ KlasifikasiBBN(int, CrossValidation) : <<Constructor>> -trainingBBN(int) : void
-testingBBN( int) : void - indexAtt (Object) : int - indexKelas (Object) : int + getModel(int fold) : String + getHasilKlasifikasi () : Object[][] + getProbKlasifikasi() : Object[][] ToolClass -dataTabel : DefaultTableModel -tabelNBC : DefaultTableModel -tabelBBN : DefaultTableModel + ToolClass(DefaultTableModel) :<<Constructor>> + cekTabelEror() : boolean + search(String) : int + sortingNim() :void + sortingPeminatan() : void + eksporData() : void + imporData() : void - getFilterFile(JFileChooser) : File + hitungAkurasi () : void + getTabelNBC() : DefaultTableModel + getTabelBBN() : DefaultTableModel
Diagram Kelas Keseluruhan
HalamanUtama
InFrameSetData InFrameKlasifikasi InFrameAkurasi
ToolsClass KlasifikasiNBC KlasifikasiBBN Akurasi CrossValidation
LAMPIRAN VI
Algoritma Proses Klasifikasi
A. Algoritma getTabelTraining
a. Nama Kelas : CrossValidation
b. Nama Metode : getTabelTraining(int fold)
c. Fungsi Metode : memperoleh data training dari data keseluruhan menggunakan metode cross validation.
d. Algoritma :
1. Untuk i=0, selama memenuhi i < dataTabel.getRowCount(), lakukan perintah 2
2. Cek, jika variable i%jmlFold != fold, maka salin data dari dataTabel baris ke-j ke baris baru dataTraining
3. Berikan hasil (return) dataTraining
B. Algoritma getTabelTesting
a. Nama Kelas : CrossValidation
b. Nama Metode : getTabelTesting(int fold)
c. Fungsi Metode : memperoleh data testing dari data keseluruhan menggunakan metode cross validation.
d. Algoritma :
1. Untuk i=0, selama memenuhi i < dataTabel.getRowCount(), lakukan perintah 2
2. Cek, jika variable i%jmlFold == fold, maka salin data dari dataTabel baris ke-j ke baris baru dataTesting
3. Berikan hasil (return) dataTesting
C. Algoritma indexAtt
a. Nama Kelas : KlasifikasiNBC dan KlasifikasiBBN b. Nama Metode : indexAtt(Object nilai)
c. Fungsi Metode : untuk menunjukkan indeks dalam array. d. Algoritma :
1. Cek, jika nilai sama dengan “A”, berikan hasil (return) 0 2. Cek, jika nilai sama dengan “B”, berikan hasil (return) 1 3. Cek, jika nilai sama dengan “C”, berikan hasil (return) 2 4. Cek, jika nilai sama dengan “D”, berikan hasil (return) 3
D. Algoritma indexKelas
e. Nama Kelas : KlasifikasiNBC dan KlasifikasiBBN f. Nama Metode : indexKelas(Object nilai)
g. Fungsi Metode : untuk menunjukkan indeks dalam array. h. Algoritma :
1. Cek, jika nilai sama dengan “COM”, berikan hasil (return) 0 2. Cek, jika nilai sama dengan “DBS”, berikan hasil (return) 1 3. Cek, jika nilai sama dengan “NET”, berikan hasil (return) 2
E. Algoritma trainingNBC
a. Nama Kelas : KlasifikasiNBC b. Nama Metode : trainingNBC(int fold)
c. Fungsi Metode : melakukan proses training dan menghasilkan model untuk kelas yang ditentukan
d. Algoritma :
1. Deklarasikan variabel dataTrain bertipe DefaultTableModel dan bernilai samadengan hasil (return) getTabelTraining(fold) dari kelas CrossValidation
2. Deklarasikasikan variabel attModel bertipe float array 3 dimensi, dengan dimensi pertama sejumlah banyak atribut, dimensi kedua sejumlah banyak nilai atribut (A,B,C,D), dan dimensi ketiga sejumlah banyak kelas label (COM, DBS, NET)
3. Isikan nilai 1 untuk array attModel disemua indeks
4. Deklarasikan variabel kelasModel bertipe array float sejumlah banyak label kelas
5. Isikan nilai 0 untuk array kelasModel disemua indeks
6. Untuk i=0, dan selama memenuhi i < dataTrain.getRowCount(), lakukan langkah 7
7. Lakukan algoritma indexKelas dengan parameter berupa label kelas pada baris ke-i, lalu gunakan hasil (return) sebagai index array kelasModel. Ubah nilai variabel tersebut dengan
menambahkan nilainya dengan 1;
8. Untuk j=0, sampai sebanyak jumlah atribut yang digunakan dalam NBC, lakukan proses berikut
9. lakukan penambahan nilai 1 pada variabel attModel indeks di dimensi 1 adalah j, indeks di dimensi 2 adalah hasil algoritma indexAtt dengan parameter berupa data pada atribut NBC di baris ke-i, dan indeks di dimensi 3 adalah hasil algoritma indexKelas dengan parameter berupa label kelas di baris ke-i.
10. Hitung probabilitas attModel berdasarkan peminatannya 11. Hitung probabilitas kelasModel
F. Algoritma testingNBC
a. Nama Kelas : KlasifikasiNBC b. Nama Metode : testingNBC
c. Variabel Kelas : float[][] comModel, dbsModel, netModel; Object[][] hasilKlasifikasi
d. Parameter : DefaultTableModel dataTest
e. Fungsi Metode : melakukan proses testing dan menghasilkan label kelas untuk tiap record data
f. Algoritma :
1. Deklarasikan variabel dataTest bertipe DefaultTableModel dan bernilai samadengan hasil (return) getTabelTesting(fold) dari kelas CrossValidation
2. Untuk setiap baris pada dataTest, lakukan perintah berikut
3. Hitung probabilitas kelas COM pada baris dan simpan hasilnya dalam variabel hasilCOM
4. Hitung probabilitas kelas DBS pada baris dan simpan hasilnya dalam variabel hasilDBS
5. Hitung probabilitas kelas NET pada baris dan simpan hasilnya dalam variabel hasilNET
6. Cek nilai terbesar antara hasilCom, hasilDbs, dan hasilNet? Simpan hasil klasifikasi dalam variabel hasilKlasifikasi[fold][i], dan simpan probabilitasnya dalam variabel hasilProbabilitas[fold][i],
G. Algoritma trainingBBN
a. Nama Kelas : KlasifikasiBBN b. Nama Metode : trainingBBN(int fold)
c. Fungsi Metode : melakukan proses training dan menghasilkan model untuk kelas yang ditentukan
d. Algoritma :
1. Deklarasikan variabel dataTrain bertipe DefaultTableModel dan bernilai samadengan hasil (return) getTabelTraining(fold) dari kelas CrossValidation
2. Deklarasikan variable inf121Model bertipe array float 2 dimensi. Dimensi 1 digunakan untuk menyimpan peminatan, dan dimensi 2 digunakan untuk menyimpan nilai atribut.
3. Isikan nilai 1 untuk semua indeks dalam inf121Model 4. Untuk setiap baris dalam dataTrain, lakukan perintah 5
5. Lakukan proses inf121Model[indexKelas(label kelas tupel)][indexAtt(nilai matakuliah inf121)]++
7. Deklarasikan variabel kelasModel bertipe float array 3 dimensi,
dengan dimensi pertama sejumlah banyak banyak nilai atribut INF100, dimensi kedua sejumlah banyak nilai atribut INF232P , dan dimensi ketiga sejumlah banyak kelas label (COM, DBS, NET)
8. Isikan nilai 1 untuk semua indeks dalam kelasModel 9. Untuk setiap baris pada dataTrain lakukan perintah berikut
10. lakukan perintah kelasModel[indexAtt(nilai makul inf
100)][indexAtt(nilai makul inf232P)][indexKelas(label kelas tupel)]++
11. Hitung probabilitas kelasModel berdasarkan atribut INF100 dan INF232P
H. Algoritma trainingBBN
a. Nama Kelas : KlasifikasiBBN b. Nama Metode : testingBBN(fold)
c. Fungsi Metode : melakukan proses training dan menghasilkan model untuk kelas yang ditentukan
d. Algoritma :
1. Deklarasikan variabel dataTest bertipe DefaultTableModel dan bernilai samadengan hasil (return) getTabelTesting(fold) dari kelas CrossValidation
2. Untuk setiap baris pada dataTest, lakukan perintah berikut
3. Hitung probabilitas kelas COM pada baris dan simpan hasilnya dalam variabel hasilCOM
4. Hitung probabilitas kelas DBS pada baris dan simpan hasilnya dalam variabel hasilDBS
5. Hitung probabilitas kelas NET pada baris dan simpan hasilnya dalam variabel hasilNET
6. Cek nilai terbesar antara hasilCom, hasilDbs, dan hasilNet? Simpan hasil klasifikasi dalam variabel hasilKlasifikasi[fold][i], dan simpan probabilitasnya dalam variabel hasilProbabilitas[fold][i],
I. Algoritma hitungAkurasi
a. Nama Kelas : ToolClass b. Nama Metode : hitungAkurasi
c. Fungsi Metode : menghitung akurasi algoritma per-proses Cross
Validation
d. Algoritma :
1. Hitung jumlah data yang diklasifikasikan oleh algoritma NBC dengan tepat, dan simpan hasilnya dalam variabel jmlBenarNBC 2. Hitung jumlah data yang diklasifikasikan oleh algoritma BBN