DAFTAR PUSTAKA [BER97] Berry, Michael J. A., dan Gordon Linoff. (1997). Data Mining Techniques For Marketing, Sales, and Customer Support. John Wiley & Sons, Inc., New York. [CHO03] Chonoles, Michael Jesse dan James A. Schardt. (2003). UML 2 for Dummies. Wiley Publisher, Inc. New York. [DHA04] Dhaneswara, Giri. (2004). Implementasi Jaringan Saraf Tiruan Tipe Multilayer Feed-Forward Menggunakan Algoritma Backpropagation dengan
Momentum
untuk
Klasifikasi
Data.
Universitas
Katolik
Parahyangan, Bandung. [FAY96] Fayyad U. M., G. Piatetsky-Shapiro, P. Smyth, dan R. Uthurusamy. 1996. Advances in Knowledge Discovery and Data Mining. AAAI Press / The MIT Press. [GAB05] Gaber, Mohammed Medhat, et al. (2005). Mining Data Streams: A Review. SIGMOD Record 34(2): 18-26. [HAN01] Han, Jiawei dan Micheline Kamber. (2001). Data Mining: Concept and Techniques. Morgan Kaufmann Publishers. [KRO03] Kroll, Per dan Philippe Kruchten. (2003). Rational Unified Process Made Easy: A Practitioner’s Guide to the RUP. Addison Wesley. [PRE97] Pressman, Roger S. (1997). Software Engineering: A Practitioner’s Approach, Fourth Edition. McGraw-Hill Inc. [SCH05] Scholz, Martin dan Ralf Klinkenberg. (2005). An Ensemble Classifier for Drifting Concepts. Proceedings of the Second International Workshop on Knowledge Discovery in Data Streams, in conjunction with ECML-PKDD '05, pages 53--64, Porto, Portugal. [STR01] Street, W. Nick dan YongSeog Kim. (2001). A Streaming Ensemble Algorithm (SEA) for Large-Scale Classification. 7th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining (KDD01), pages 377-382, San Francisco, CA. [TAN06] Tan, Pang-Ning, et al. (2006). Introduction to Data Mining. Pearson Education.
74
[TSY04] Tsymbal, Alexey. (2004). The problem of concept drift: definitions and related work. Computer Science Department, The University of Dublin, Trinity College, Ireland. [KOH96] Kohavi, Ronny dan Barry Becker. (1996). Adult Dataset. UCI Repository of Machine Learning Databases, Department of Information and Computer Science, University of California, Irvine. [WAN02] Wang, Haixun, et al. (2002). Mining Concept-Drifting Data Streams using Ensemble Classifiers. 9th ACM International Conference on Knowledge Discovery and Data Mining (SIGKDD). [WID96] Widmer, Gerhard dan Miroslav Kubat. (1996). Learning in The Presence of Concept Drift and Hidden Contexts. Machine Learning, 23, 69-101. [WIT05] Witten, Ian H., dan Eibe Frank. (2005). Data Mining: Practical Machine Learning Tools and Techniques. Morgan Kaufmann Publishers.
75
LAMPIRAN A Skenario Use-Case A.1. Skenario Use-Case Proses Klasifikasi Data Identifikasi Case 1 Proses Klasifikasi Data User dapat melakukan proses klasifikasi data User mengkonfigurasi basis data, base classifier, SEA. Hasil dari konfigurasi tersebut akan digunakan untuk proses klasifikasi data User Aktor Skenario Utama Kondisi Awal Sistem menampilkan halaman utama PL SEA Aksi Aktor Reaksi Sistem 1 User memilih menu konfigurasi basis data 2 Sistem menampilkan form konfigurasi basis data 3 User membangun connection string yang akan digunakan sebagai koneksi perangkat lunak dengan basis data 4 Sistem menggunakan connection string untuk terkoneksi ke basis data 5 Sistem menampilkan tabel-tabel yang ada di basis data yang telah terkoneksi tersebut 6 User memilih tabel yang akan digunakan untuk proses mining 7 Sistem menampilkan atribut-atribut pada tabel yang telah dipilih 8 User memilih jenis atribut (drop, numeric, nominal, dan class) untuk tiap atribut pada tabel 9 User meng-apply konfigurasi basis data yang telah dibuat ini 10 Sistem menampung semua konfigurasi basis data yang telah dibuat ke memory 11 Sistem menutup form konfigurasi basis data 12 User memilih menu konfigurasi base classifier 13 Sistem menampilkan form konfigurasi base classifier 14 User memasukan perilaku base classifier yang diinginkan Nomor Nama Tujuan Deskripsi
76
15
User meng-apply konfigurasi base classifier yang telah dibuat ini
16
Sistem menampung semua konfigurasi base classifier yang telah dibuat ke memory Sistem menutup form konfigurasi base classifier
17 18
User memilih menu konfigurasi SEA
19 20
21
Sistem menampilkan form konfigurasi SEA User memasukan jumlah record yang ditangani oleh base classifier, ukuran ensemble, dan faktor correctness (PC) User memilih menu proses klasifikasi SEA
22
Sistem menampung semua konfigurasi SEA yang telah dibuat ke memory. Sistem menampilkan form pelatihan dan prediksi SEA
23 24 25
User memasukan nomor rekord awal untuk menandai dari rekord mana pelatihan mulai dilakukan. User memilih untuk membangun ensemble
26
Sistem melakukan pelatihan terhadap ensemble dengan menggunakan data pelatihan. Sistem menampilkan tiap mean-square error (MSE) yang dihasilkan selama pelatihan Sistem selesai melakukan pelatihan terhadap ensemble
27 28
29
User memasukan nomor rekord mana yang akan ditest akurasinya dari data (nomor rekord berupa range). User memilih untuk melakukan test akurasi ensemble
30
Sistem melakukan test akurasi terhadap ensemble 31 Sistem menampilkan hasil nilai akurasi ensemble Kondisi Akhir User memperoleh model yang telah dilatih dan dapat digunakan untuk melakukan proses klasifikasi data
77
A.2. Skenario Use-Case Konfigurasi Basis Data Identifikasi Case 2 Konfigurasi Basis Data User dapat mengkonfigurasi basis data User mengkonfigurasi basis data, sehingga sistem dapat terkoneksi dengan basis data User Aktor Skenario Utama Kondisi Awal Sistem menampilkan halaman utama PL SEA Aksi Aktor Reaksi Sistem 1 User memilih menu konfigurasi basis data 2 Sistem menampilkan form konfigurasi basis data 3 User membangun connection string yang akan digunakan sebagai koneksi perangkat lunak dengan basis data 4 Sistem menggunakan connection string untuk terkoneksi ke basis data 5 Sistem menampilkan tabel-tabel yang ada di basis data yang telah terkoneksi tersebut 6 User memilih tabel yang akan digunakan untuk proses mining 7 Sistem menampilkan atribut-atribut pada tabel yang telah dipilih 8 User memilih jenis atribut (drop, numeric, nominal, dan class) untuk tiap atribut pada tabel 9 User meng-apply konfigurasi basis data yang telah dibuat ini 10 Sistem menampung semua konfigurasi basis data yang telah dibuat ke memory 11 Sistem menutup form konfigurasi basis data Kondisi Akhir Sistem memperoleh konfigurasi basis data. Sistem juga terkoneksi dengan basis data. Nomor Nama Tujuan Deskripsi
78
A.3. Skenario Use-Case Manipulasi Basis Data Identifikasi Case 3 Manipulasi Basis Data User dapat melakukan perintah-perintah manipulasi data User melakukan manipulasi data seperti tambah rekord, ubah rekord, dan hapus rekord. User Aktor Skenario Utama Kondisi Awal Sistem menampilkan halaman utama PL SEA Aksi Aktor Reaksi Sistem 1 User memilih menu manipulasi basis data 2 Sistem menampilkan form manipulasi basis data 3 Data dari basis data diperoleh dan ditampilkan 4 User melakukan salah satu kegiatan manipulasi basis data yaitu tambah rekord, ubah rekord, dan hapus rekord 5 Sistem menerima perubahan yang dilakukan oleh user, kemudian memprosesnya 6 User memilih untuk menutup form manipulasi basis data 7 Sistem menutup form manipulasi basis data Kondisi Akhir Data-data pada basis data berubah sesuai dengan apa yang dilakukan user pada data Nomor Nama Tujuan Deskripsi
79
A.4. Skenario Use-Case Konfigurasi Base Classifier Identifikasi Case 4 Konfigurasi Base Classifier User dapat mengkonfigurasi base classifier User mengkonfigurasi base classifier. Sistem menggunakan hasil konfigurasi tersebut untuk pelatihan dan prediksi base classifier sebagai single classifier, dan pelatihan dan prediksi SEA User Aktor Skenario Utama Kondisi Awal Sistem menampilkan halaman utama PL SEA Aksi Aktor Reaksi Sistem 1 User memilih menu konfigurasi base classifier 2 Sistem menampilkan form konfigurasi base classifier 3 User memasukan perilaku base classifier yang diinginkan 4 User meng-apply konfigurasi base classifier yang telah dibuat ini 5 Sistem menampung semua konfigurasi base classifier yang telah dibuat ke memory 6 Sistem menutup form konfigurasi base classifier ditutup Kondisi Akhir Sistem memperoleh konfigurasi base classifier Nomor Nama Tujuan Deskripsi
80
A.5. Skenario Use-Case Bangun Single Base Classifier Identifikasi Case 5 Bangun Single Base Classifier User dapat melakukan proses untuk membangun base classifier dengan menganggapnya sebagai single classifier. User melakukan proses untuk membangun sebuah base Deskripsi classifier dengan menganggap base classifier sebagai single classifier, pelatihan disesuaikan dengan keadaan konfigurasi basis data dan konfigurasi base classifier saat itu User Aktor Skenario Utama Kondisi Awal Sistem menampilkan halaman utama PL SEA Aksi Aktor Reaksi Sistem 1 User memilih menu konfigurasi base classifier 2 Sistem menampilkan form konfigurasi base classifier 3 User memilih menu pelatihan dan prediksi base classifier 4 Sistem menampilkan form pelatihan dan prediksi base classifier 5 User memasukan nomor rekord (dalam range) yang akan dijadikan sebagai data pelatihan 6 User memilih untuk membangun single classifier 7 Sistem melakukan proses membangun base classifier yang dianggap sebagai single classifier dengan menggunakan data pelatihan. Sistem menampilkan tiap mean-square error (MSE) yang dihasilkan selama pelatihan 8 Sistem selesai melakukan proses membangun single classifier Kondisi Akhir Sistem memperoleh hasil sebuah base classifier yang telah dilatih Nomor Nama Tujuan
81
A.6. Skenario Use-Case Test Akurasi Single Base Classifier Identifikasi Case 6 Test Akurasi Single Base Classifier User dapat melakukan test akurasi pada base classifier yang telah dibangun User melakukan test akurasi pada base classifier yang telah Deskripsi dibangun. User Aktor Skenario Utama Sistem menampilkan halaman proses klasifikasi base classifier. Kondisi Awal Single base classifier telah dibangun Aksi Aktor Reaksi Sistem 1 User memasukan nomor rekord (dalam range) yang akan dijadikan sebagai data test 2 User memilih untuk melakukan test akurasi single classifier 3 Sistem melakukan test akurasi terhadap single classifier 4 Sistem menampilkan hasil nilai akurasi single classifier Kondisi Akhir User memperoleh hasil prediksi Nomor Nama Tujuan
82
A.7. Skenario Use-Case Konfigurasi SEA Identifikasi Case 7 Konfigurasi Klasifikasi SEA User dapat mengkonfigurasi SEA User mengkonfigurasi SEA. Sistem menggunakan hasil konfigurasi tersebut untuk pelatihan dan prediksi SEA User Aktor Skenario Utama Kondisi Awal Sistem menampilkan halaman utama PL SEA Aksi Aktor Reaksi Sistem 1 User memilih menu konfigurasi SEA 2 Sistem menampilkan form SEA 3 User memasukan jumlah record yang ditangani oleh base classifier, ukuran ensemble, dan faktor correctness (PC) 4 User meng-apply konfigurasi SEA yang telah dibuat ini 5 Sistem menampung semua konfigurasi SEA yang telah dibuat ke memory Sistem menutup form konfigurasi SEA Kondisi Akhir Sistem memperoleh konfigurasi SEA Nomor Nama Tujuan Deskripsi
83
A.8. Skenario Use-Case Bangun Ensemble Identifikasi Case 8 Bangun Ensemble User dapat membangun ensemble User membangun ensemble, pelatihan disesuaikan dengan keadaan konfigurasi basis data, base classifier dan SEA saat itu User Aktor Skenario Utama Kondisi Awal Sistem menampilkan halaman utama PL SEA Aksi Aktor Reaksi Sistem 1 User memilih menu konfigurasi SEA 2 Sistem menampilkan form konfigurasi SEA 3 User memilih menu pelatihan dan prediksi SEA 4 Sistem menampilkan form pelatihan dan prediksi SEA 5 User memasukan nomor rekord awal untuk menandai dari rekord mana pelatihan mulai dilakukan. 6 User memilih untuk membangun ensemble 7 Sistem membangun ensemble dengan menggunakan data pelatihan. Sistem menampilkan tiap error yang dihasilkan selama pembangunan 8 Sistem selesai membangun ensemble Kondisi Akhir Sistem memperoleh hasil sebuah ensemble yang telah dibangun Nomor Nama Tujuan Deskripsi
84
A.9. Skenario Use-Case Test Akurasi Ensemble Identifikasi Case 9 Test Akurasi Ensemble User dapat melakukan test akurasi pada ensemble yang telah dibangun User melakukan test akurasi pada ensemble yang telah Deskripsi dibangun. User Aktor Skenario Utama Sistem menampilkan halaman proses klasifikasi SEA. Ensemble Kondisi Awal telah dibangun Aksi Aktor Reaksi Sistem 1 User memasukan nomor rekord (dalam range) yang akan dijadikan sebagai data test 2 User memilih untuk melakukan test akurasi ensemble 3 Sistem melakukan test akurasi terhadap ensemble 4 Sistem menampilkan hasil nilai akurasi ensemble Kondisi Akhir User memperoleh hasil nilai akurasi ensemble Nomor Nama Tujuan
85
LAMPIRAN B Diagram Sequence B.1. Diagram sequence untuk proses klasifikasi data (Use Case 1)
86
B.2. Diagram sequence untuk konfigurasi basis data (Use Case 2)
B.3. Diagram sequence untuk save konfigurasi basis data (Use Case 3)
87
B.4. Diagram sequence untuk load konfigurasi basis data (Use Case 4)
B.5. Diagram sequence untuk manipulasi data (Use Case 5)
88
B.6. Diagram sequence untuk tambah rekord (Use Case 6)
B.7.
Diagram sequence untuk ubah rekord (Use Case 7)
89
B.8. Diagram sequence untuk hapus rekord (Use Case 8)
90
B.9. Diagram sequence untuk konfigurasi base classifier (Use Case 9)
B.10. Diagram sequence untuk save konfigurasi base classifier (Use Case 10)
91
B.11. Diagram sequence untuk load konfigurasi base classifier (Use Case 11)
:FormKonfigurasiBaseClassifier
:FileKonfigurasiBaseClassifier
User Pilih "Load Konfigurasi Base Classifier" Tampilkan "Load Dialog" Input "Nama File" Pilih "OK" Load semua field input dari file konfigurasi base classifier
B.12. Diagram sequence untuk bangun single base classifier (Use Case 12)
92
B.13. Diagram sequence untuk test akurasi single base classifier (Use Case 13)
:FormBaseClassifier
:BasisData
User Input "Nomor Rekord Data Test" Pilih "Test akurasi" Request Data Data
Baca hasil model yang telah dibangun Lakukan test akurasi Hasil test akurasi
B.14. Diagram sequence untuk konfigurasi SEA (Use Case 14)
93
B.15. Diagram sequence untuk save konfigurasi SEA (Use Case 15)
:FormKonfigurasiSEA
:FileKonfigurasiSEA
User Pilih "Save Konfigurasi SEA" Tampilkan "Save Dialog" Input "Nama File" Pilih "OK" Save semua field input ke file konfigurasi SEA
B.16. Diagram sequence untuk load konfigurasi SEA (Use Case 16)
94
B.17. Diagram sequence untuk bangun ensemble (Use Case 17)
B.18. Diagram sequence untuk test akurasi ensemble (Use Case 18)
:FormSEA
:BasisData
User Input "Nomor Rekord Data Prediksi" Pilih "Test akurasi ensemble" Request Data Data
Baca hasil model yang telah dibangun Lakukan test akurasi ensemble Hasil test akurasi
95
LAMPIRAN C Daftar Atribut dan Operasi Kelas C.1. Atribut dan Operasi FormMain Nama Atribut dan Tipenya StatusKonfigurasiBasisData: TLabel; StatusKonfigurasiBaseClassifier: TLabel; StatusKonfigurasiSEA: Tlabel
Nama Operasi
Visibility (Private, Public) Private Private Private
Visibility (Private, Public)
procedure SetStatusKonfigurasiBasisData(status: Boolean); procedure SetStatusKonfigurasiBaseClassifier(status: Boolean); procedure SetStatusKonfigurasiSEA(status: Boolean); function CekStatusKonfigurasiBasisData: Boolean; function CekStatusKonfigurasiBaseClassifier: Boolean; function CekStatusKonfigurasiSEA: Boolean;
Public Public Public Public Public Public
C.2. Atribut dan Operasi FormKonfigurasiBasisData Nama Atribut dan Tipenya StringKoneksi: TEdit; TabelDataMining: TcomboBox; TipeAtribut: TlistView;
Visibility (Private, Public) Private Private Private
Nama Operasi
Visibility (Private, Public)
procedure SetStringKoneksi(Input: String); procedure SetTabelDataMining(Input: String); procedure SetTipeAtribut(Input: TListItems); function BacaStringKoneksi: String; function BacaTabelDataMining: String; function BacaTipeAtribut: TListItems; procedure LoadKonfigurasiBasisData; procedure SaveKonfigurasiBasisData; procedure BikinStringKoneksi; procedure KoneksiBasisData; procedure PutusKoneksiBasisData; procedure PilihTabelUntukDataMining; procedure BatalKonfigurasiBasisDataBaru; procedure TerimaKonfigurasiBasisDataBaru;
Private Private Private Public Public Public Private Private Private Public Public Private Private Private
C.3. Atribut dan Operasi FileKonfigurasiBasisData Nama Atribut dan Tipenya Filename: String;
Visibility (Private, Public) Private
Nama Operasi
Visibility (Private, Public)
procedure SetFilename(Filename: String); procedure TulisKonfigurasiBasisData; procedure BacaKonfigurasiBasisData;
96
Public Public Public
C.4. Atribut dan Operasi BasisData Nama Atribut dan Tipenya MyADOConnection: TADOConnection; MyADOTable: TADOTable; MyDataSource: TDataSource;
Visibility (Private, Public) Private Private Private
Nama Operasi
Visibility (Private, Public)
procedure SetConnectionString(Input: String); procedure SetTableName(Input: String); function BacaAtributTabel: TListItems; function BacaJumlahRekord: Integer; procedure LakukanTambahData; procedure LakukanUbahData; procedure LakukanHapusData; procedure KoneksiBasisData; procedure PutusKoneksiBasisData;
Public Public Public Public Public Public Public Public Public
C.5. Atribut dan Operasi FormManipulasiBasisData Nama Operasi procedure procedure procedure procedure
Visibility (Private, Public)
PerbaharuiInformasiTabel; TambahData; UbahData; HapusData;
Private Private Private Private
C.6. Atribut dan Operasi FormKonfigurasiBaseClassifier Nama Atribut dan Tipenya JumlahNeuronHiddenLayer1: TEdit; JumlahNeuronHiddenLayer2: TEdit; FungsiAktivasiHiddenLayer1: TComboBox; FungsiAktivasiHiddenLayer2: TComboBox; FungsiAktivasiOutputLayer: TComboBox; LearningRate: TEdit; Momentum: TEdit; EpochMaksimum: TEdit; MSEMinimum: TEdit;
Nama Operasi procedure procedure procedure String); procedure String); procedure String); procedure procedure procedure
Visibility (Private, Public) Private Private Private Private Private Private Private Private Private
Visibility (Private, Public)
SetJumlahNeuronHiddenLayer1(Input: String); SetJumlahNeuronHiddenLayer2(Input: String); SetFungsiAktivasiHiddenLayer1(Input:
Private Private Private
SetFungsiAktivasiHiddenLayer2(Input:
Private
SetFungsiAktivasiOutputLayer(Input:
Private
SetLearningRate(Input: String); SetMomentum(Input: String); SetEpochMaksimum(Input: String);
Private Private Private
97
Nama Atribut dan Tipenya procedure SetMSEMinimum(Input: String); function BacaJumlahNeuronHiddenLayer1: String; function BacaJumlahNeuronHiddenLayer2: String; function BacaFungsiAktivasiHiddenLayer1: String; function BacaFungsiAktivasiHiddenLayer2: String; function BacaFungsiAktivasiOutputLayer: String; function BacaLearningRate: String; function BacaMomentum: String; function BacaEpochMaksimum: String; function BacaMSEMinimum: String; procedure LoadKonfigurasiBaseClassifier; procedure SaveKonfigurasiBaseClassifier; function CekBanyakKelas: Integer; procedure BatalKonfigurasiBaseClassifier; procedure TerimaKonfigurasiBaseClassifier;
Visibility (Private, Public) Private Private Private Private Private Private Private Private Private Private Private Private Private Private Private
C.7. Atribut dan Operasi FileKonfigurasiBaseClassifier Nama Atribut dan Tipenya Filename: String;
Visibility (Private, Public) Private
Nama Operasi
Visibility (Private, Public)
procedure SetFilename(Filename: String); procedure TulisKonfigurasiBaseClassifier; procedure BacaKonfigurasiBaseClassifier;
Public Public Public
C.8. Atribut dan Operasi FormBaseClassifier Nama Atribut dan Tipenya StopPelatihanSingleClassifier: Boolean; ClassifierRecord: Integer; ListKelas: TStringList; LearningRate: Real; Momentum: Real; EpochMaksimum: Integer; MSEMinimum: Real; NeuronInputLayer: Integer; NeuronHiddenLayer1: Integer; NeuronHiddenLayer2: Integer; NeuronOutputLayer: Integer; C: TClassifier;
Nama Operasi procedure procedure procedure procedure procedure procedure procedure procedure procedure
Visibility (Private, Public) Private Private Private Private Private Private Private Private Private Private Private Public
Visibility (Private, Public)
SetClassifierRecord (Input: Integer); SetListKelas(Input: TStringList); SetLearningRate(Input: Real); SetMomentum(Input: Real); SetEpochMaksimum(Input: Integer); SetMSEMinimum(Input: Real); SetNeuronInputLayer(Input: Integer); SetNeuronHiddenLayer1(Input: Integer); SetNeuronHiddenLayer2(Input: Integer);
98
Public Public Public Public Public Public Public Public Public
Nama Atribut dan Tipenya procedure SetNeuronOutputLayer(Input: Integer); function BacaClassifierRecord: Integer; function BacaListKelas: TStringList; function BacaLearningRate: Real; function BacaMomentum: Real; function BacaEpochMaksimum: Integer; function BacaMSEMinimum: Real; function BacaNeuronInputLayer: Integer; function BacaNeuronHiddenLayer1: Integer; function BacaNeuronHiddenLayer2: Integer; function BacaNeuronOutputLayer: Integer; procedure PerolehSettingJaringan; procedure AcakWeight( var WeightBiasHiddenLayer1: array of Real; var WeightHiddenLayer1: Real2Dimension; var WeightBiasHiddenLayer2: array of Real; var WeightHiddenLayer2: Real2Dimension; var WeightBiasOutputLayer: array of Real; var WeightOutputLayer: Real2Dimension); procedure Propagation(Input: Real2Dimension; n: Integer; var HiddenLayer1_in: array of Real; var HiddenLayer1: array of Real; var HiddenLayer2_in: array of Real; var HiddenLayer2: array of Real; var OutputLayer_in: array of Real; var OutputLayer: array of Real; WeightBiasHiddenLayer1: array of Real; WeightHiddenLayer1: Real2Dimension; WeightBiasHiddenLayer2: array of Real; WeightHiddenLayer2: Real2Dimension; WeightBiasOutputLayer: array of Real; WeightOutputLayer: Real2Dimension); procedure Backpropagation(Input: Real2Dimension; n: Integer; HiddenLayer1_in: array of Real; HiddenLayer1: array of Real; HiddenLayer2_in: array of Real; HiddenLayer2: array of Real; ErrorTermOutputLayer: array of Real; var WeightBiasHiddenLayer1: array of Real; var WeightHiddenLayer1: Real2Dimension; var WeightBiasHiddenLayer2: array of Real; var WeightHiddenLayer2: Real2Dimension; var WeightBiasOutputLayer: array of Real; var WeightOutputLayer: Real2Dimension); function FungsiAktivasi(Input: Real; TipeAktivasi: Integer): Real; function TurunanFungsiAktivasi(Input: Real; TipeAktivasi: Integer): Real; procedure PelatihanSingleClassifier; procedure PrediksiSingleClassifier;
99
Visibility (Private, Public) Public Public Public Public Public Public Public Public Public Public Public Public Public
Public
Public
Public Public Private Private
C.9. Atribut dan Operasi FormKonfigurasiSEA Nama Atribut dan Tipenya JumlahRekordDitangani: TEdit; UkuranEnsemble: TEdit; FaktorCorrectness: TEdit;
Visibility (Private, Public) Private Private Private
Nama Operasi
Visibility (Private, Public)
procedure SetJumlahRekordDitangani(Input: String); procedure SetUkuranEnsemble(Input: String); procedure SetFaktorCorrectness(Input: String); function BacaJumlahRekordDitangani: String; function BacaUkuranEnsemble: String; function BacaFaktorCorrectness: String; function LoadKonfigurasiSEA(filename: String): Boolean; function SaveKonfigurasiSEA(filename: String): Boolean; procedure BatalKonfigurasiSEA; procedure TerimaKonfigurasiSEA;
Public Public Public Public Public Public Private Private Private Private
C.10. Atribut dan Operasi FileKonfigurasiSEA Nama Atribut dan Tipenya Filename: String;
Visibility (Private, Public) Private
Nama Operasi
Visibility (Private, Public)
procedure SetFilename(filename: String); procedure TulisKonfigurasiSEA; procedure BacaKonfigurasiSEA;
Public Public Public
C.11. Atribut dan Operasi FormSEA Nama Atribut dan Tipenya StopPelatihanSEA: Boolean; JumlahRekordClassifier: Integer; UkuranMaksimumEnsemble: Integer; Pc: Integer; Ensemble: Array of TPClassifier; UkuranEnsemble: Integer TabelKwalitasEnsemble: Array of Real;
Nama Operasi
Visibility (Private, Public) Private Private Private Private Private Private Private
Visibility (Private, Public)
procedure SetStopPelatihanSEA: Boolean; procedure SetJumlahRekordClassifier: Integer; procedure SetUkuranMaksimumEnsemble: Integer; procedure SetPc: Integer; procedure SetEnsemble: Array of TPClassifier; procedure SetUkuranEnsemble: Integer procedure SetTabelKwalitasEnsemble: Array of Real; function BacaStopPelatihanSEA: Boolean; function BacaJumlahRekordClassifier: Integer;
100
Public Public Public Public Public Public Public Public Public
Nama Atribut dan Tipenya function BacaUkuranMaksimumEnsemble: Integer; function BacaPc: Integer; function BacaEnsemble: Array of TPClassifier; function BacaUkuranEnsemble: Integer function BacaTabelKwalitasEnsemble: Array of Real; procedure PerolehSetting; procedure PelatihanSEA; procedure PrediksiSEA;
101
Visibility (Private, Public) Public Public Public Public Public Public Private Private
LAMPIRAN D Diagram State D.1. Diagram state untuk proses klasifikasi data (Use Case 1)
D.2. Diagram state untuk konfigurasi basis data (Use Case 2)
102
D.3. Diagram state untuk save konfigurasi basis data (Use Case 3)
D.4. Diagram state untuk load konfigurasi basis data (Use Case 4)
D.5. Diagram state untuk manipulasi data (Use Case 5)
Tampilkan Data --------------------------------------------Do: Menampilkan keterangan tabel dan datanya
Lakukan Manipulasi data --------------------------------------------Do: Lakukan salah satu kegiatan manipulasi data Do: Cek jika berhasil
Berhasil
Tampilkan Pesan --------------------------------------------Do: Tampilkan pesan kelayar jika manipulasi data berhasil
Gagal
Tampilkan Pesan --------------------------------------------Do: Tampilkan pesan kelayar jika manipulasi data gagal
103
D.6. Diagram state untuk tambah rekord (Use Case 6)
D.7. Diagram state untuk ubah rekord (Use Case 7)
Tampilkan Data --------------------------------------------Do: Menampilkan keterangan tabel dan datanya
Lakukan Ubah Rekord --------------------------------------------Do: Masukan nilai ke atribut-atribut pada rekord yang dipilih untuk diubah Do: Kirimkan nilai-nilai yang diubah tersebut ke basis data Do: Cek jika berhasil
Berhasil
Tampilkan pesan --------------------------------------------Do: Tampilkan pesan kelayar “Rekord berhasil diubah”
Gagal
Tampilkan pesan --------------------------------------------Do: Tampilkan pesan kelayar “Rekord gagal diubah”
104
D.8. Diagram state untuk hapus rekord (Use Case 8)
D.9. Diagram state untuk konfigurasi base classifier (Use Case 9)
D.10.Diagram state untuk save konfigurasi base classifier (Use Case 10)
OK Masukan Nama Save File --------------------------------------------Do: Buka file dialog Do: Masukan nama file Do: Pilih OK atau Cancel
Save Konfigurasi Base Classifier --------------------------------------------Do: Save semua konfigurasi base classifier ke file
Cancel
105
D.11.Diagram state untuk load konfigurasi base classifier (Use Case 11)
OK Masukan Nama Load File --------------------------------------------Do: Buka file dialog Do: Masukan nama file Do: Pilih OK atau Cancel
Load Konfigurasi Base Classifier --------------------------------------------Do: Load semua konfigurasi base classifier dari file
Cancel
D.12.Diagram state untuk bangun single base classifier (Use Case 12)
D.13.Diagram state untuk test akurasi single base classifier (Use Case 13)
Pilih Test Akurasi --------------------------------------------Do: Baca hasil model yang telah dibangun
Lakukan Test Akurasi --------------------------------------------Do: Lakukan test akurasi terhadap data test Do: Tampilkan hasil akurasi
106
D.14.Diagram state untuk konfigurasi SEA (Use Case 14)
D.15.Diagram state untuk konfigurasi SEA (Use Case 15)
OK Masukan Nama Save File --------------------------------------------Do: Buka file dialog Do: Masukan nama file Do: Pilih OK atau Cancel
Save Konfigurasi SEA --------------------------------------------Do: Save semua konfigurasi SEA ke file
Cancel
D.16.Diagram state untuk konfigurasi SEA (Use Case 16)
OK Masukan Nama Load File --------------------------------------------Do: Buka file dialog Do: Masukan nama file Do: Pilih OK atau Cancel
Load Konfigurasi SEA --------------------------------------------Do: Load semua konfigurasi SEA dari file
Cancel
107
D.17.Diagram state untuk bangun ensemble (Use Case 17)
D.18.Diagram state untuk test akurasi ensemble (Use Case 18)
Pilih Test Akurasi --------------------------------------------Do: Baca hasil model yang telah dibangun
Lakukan Test Akurasi --------------------------------------------Do: Lakukan test akurasi terhadap data test Do: Tampilkan hasil test akurasi
108
LAMPIRAN E Hasil Pengujian Pengujian Terhadap Masukan Perangkat Lunak 1. Pengujian terhadap “String Koneksi” pada bagian konfigurasi basis data Pengujian dilakukan dengan membuat “String Koneksi” melalui form konfigurasi basis data. Hasil pengujiannya dapat dilihat sebagai berikut: No.
Kasus Uji
1
“String Koneksi” sembarang nilai. Lakukan koneksi ke basis dat “String Koneksi” dibuat melalui API pembuatan koneksi basis data atau sesuai dengan aturan-aturan pembuatan string koneksi basis data
2
Hasil yang Diharapkan Pesan kesalahan Koneksi berhasil, tabel-tabel pada basis data tersebut ditampilkan
Hasil uji Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan
2. Pengujian terhadap “Tabel Data Mining” pada bagian konfigurasi basis data Pengujian dilakukan dengan memilih “Tabel Data Mining” melalui form konfigurasi basis data. Hasil pengujiannya dapat dilihat sebagai berikut: No.
Kasus Uji
1
“Tabel Data Mining” berisi kosong
Hasil yang Diharapkan Pesan kesalahan
2
“Tabel Data Mining” berisi salah satu pilihan tabel yang ada pada basis data
Atribut-atribut dari tabel ditampilkan
Hasil uji Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan
3. Pengujian terhadap “Jumlah Neuron pada Hidden Layer 1” pada bagian konfigurasi base classifier Pengujian dilakukan dengan memasukan nilai pada “Jumlah Neuron pada Hidden Layer 1” melalui form konfigurasi base classifier. Hasil pengujiannya dapat dilihat sebagai berikut:
109
No.
Kasus Uji
1
“Jumlah Neuron pada Hidden Layer 1” berisi karakter selain bilangan integer “Jumlah Neuron pada Hidden Layer 1” berisi bilangan float / real “Jumlah Neuron pada Hidden Layer 1” berisi kosong “Jumlah Neuron pada Hidden Layer 1” berisi bilangan integer ≤ 0 “Jumlah Neuron pada Hidden Layer 1” berisi bilangan integer > 0
2 3 4 5
Hasil yang Diharapkan Pesan kesalahan Pesan kesalahan Pesan kesalahan Pesan kesalahan Masukan “Jumlah Neuron pada Hidden Layer 1” diterima
Hasil uji Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan
4. Pengujian terhadap “Jumlah Neuron pada Hidden Layer 2” pada bagian konfigurasi base classifier Pengujian dilakukan dengan memasukan nilai pada “Jumlah Neuron pada Hidden Layer 2” melalui form konfigurasi base classifier. Hasil pengujiannya dapat dilihat sebagai berikut: No.
Kasus Uji
1
“Jumlah Neuron pada Hidden Layer 2” berisi karakter selain bilangan integer “Jumlah Neuron pada Hidden Layer 2” berisi bilangan float / real “Jumlah Neuron pada Hidden Layer 2” berisi kosong “Jumlah Neuron pada Hidden Layer 2” berisi bilangan integer ≤ 0 “Jumlah Neuron pada Hidden Layer 2” berisi bilangan integer > 0
2 3 4 5
Hasil yang Diharapkan Pesan kesalahan Pesan kesalahan Pesan kesalahan Pesan kesalahan Masukan “Jumlah Neuron pada Hidden Layer 2” diterima
Hasil uji Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan
5. Pengujian terhadap “Jumlah Kelas” pada bagian konfigurasi base classifier Pengujian dilakukan dengan memasukan nilai “Jumlah Kelas” melalui form konfigurasi base classifier. Hasil pengujiannya dapat dilihat sebagai berikut:
110
No. 1
Kasus Uji
Hasil yang Diharapkan Pesan kesalahan
“Jumlah Kelas” berisi karakter selain bilangan integer “Jumlah Kelas” berisi bilangan float / real “Jumlah Kelas” berisi kosong
2 3 4
Pesan kesalahan Pesan kesalahan
“Jumlah Kelas” berisi bilangan integer ≤ 0 “Jumlah Kelas” berisi bilangan integer > 0
5
Pesan kesalahan Masukan “Jumlah Kelas” diterima
Hasil uji Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan
6. Pengujian terhadap “Learning Rate” pada bagian konfigurasi base classifier Pengujian dilakukan dengan memasukan nilai pada “Learning Rate” melalui form konfigurasi base classifier. Hasil pengujiannya dapat dilihat sebagai berikut: No. 1
Kasus Uji
Hasil yang Diharapkan Pesan kesalahan
“Learning Rate” berisi karakter selain bilangan float / real “Learning Rate” berisi kosong
2 3
Pesan kesalahan
“Learning Rate” berisi bilangan integer ≤ 0 “Learning Rate” berisi bilangan float / real > 0
4
Pesan kesalahan Masukan “Learning Rate” diterima
Hasil uji Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan
7. Pengujian terhadap “Momentum” pada bagian konfigurasi base classifier Pengujian dilakukan dengan memasukan nilai pada “Momentum” melalui form konfigurasi base classifier. Hasil pengujiannya dapat dilihat sebagai berikut: No.
Kasus Uji
1
“Momentum” berisi karakter selain bilangan float / real “Momentum” berisi kosong
2 3 4
Hasil yang Diharapkan Pesan kesalahan Pesan kesalahan
“Momentum” berisi bilangan Pesan kesalahan integer ≤ 0 “Momentum” berisi bilangan float / Masukan real > 0 “Momentum” diterima 111
Hasil uji Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan
8. Pengujian terhadap “Epoch Maksimum” pada bagian konfigurasi base classifier Pengujian dilakukan dengan memasukan nilai pada “Epoch Maksimum” melalui form konfigurasi base classifier. Hasil pengujiannya dapat dilihat sebagai berikut: No. 1 2 3 4
Kasus Uji
Hasil yang Diharapkan “Epoch Maksimum” berisi karakter Pesan kesalahan selain bilangan integer “Epoch Maksimum” berisi Pesan kesalahan bilangan float / real “Epoch Maksimum” berisi kosong Pesan kesalahan “Epoch Maksimum” berisi bilangan integer ≤ 0 “Epoch Maksimum” berisi bilangan integer > 0
5
Pesan kesalahan Masukan “Epoch Maksimum” diterima
Hasil uji Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan
9. Pengujian terhadap “MSE Minimum” pada bagian konfigurasi base classifier Pengujian dilakukan dengan memasukan nilai pada “MSE Minimum” melalui form konfigurasi base classifier. Hasil pengujiannya dapat dilihat sebagai berikut: No. 1 2 3 4
Kasus Uji “MSE Minimum” berisi karakter selain bilangan float / real “MSE Minimum” berisi kosong “MSE Minimum” berisi bilangan integer ≤ 0 “MSE Minimum” berisi bilangan float / real > 0
Hasil yang Diharapkan Pesan kesalahan Pesan kesalahan Pesan kesalahan Masukan “MSE Minimum” diterima
Hasil uji Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan
10. Pengujian terhadap “Seed Acak Bobot” pada bagian konfigurasi base classifier Pengujian dilakukan dengan memasukan nilai pada “Seed Acak Bobot” melalui form konfigurasi base classifier. Hasil pengujiannya dapat dilihat sebagai berikut:
112
No.
Kasus Uji
1
“Seed Acak Bobot” berisi karakter selain bilangan integer “Seed Acak Bobot” berisi bilangan float / real “Seed Acak Bobot” berisi kosong
2 3 4
“Seed Acak Bobot” berisi bilangan integer ≤ 0 “Seed Acak Bobot” berisi bilangan integer > 0
5
Hasil yang Diharapkan Pesan kesalahan Pesan kesalahan Pesan kesalahan Pesan kesalahan Masukan “Seed Acak Bobot” diterima
Hasil uji Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan
11. Pengujian terhadap “Nomor rekord” untuk klasifikasi pada bagian klasifikasi dan prediksi base classifier Pengujian dilakukan dengan memasukan nilai pada “Nomor rekord” untuk klasifikasi melalui form klasifikasi dan prediksi base classifier. Hasil pengujiannya dapat dilihat sebagai berikut: No.
Kasus Uji
1
“Nomor rekord” untuk klasifikasi berisi karakter selain bilangan integer “Nomor rekord” untuk klasifikasi berisi bilangan float / real “Nomor rekord” untuk klasifikasi berisi kosong “Nomor rekord” untuk klasifikasi berisi bilangan integer ≤ 0 “Nomor rekord” untuk klasifikasi berisi bilangan integer > jumlah rekord pada tabel Nomor rekord dari > Nomor rekord sampai “Nomor rekord” untuk klasifikasi berisi bilangan integer > 0 dan < jumlah rekord pada tabel
2 3 4 5 6 7
Hasil yang Diharapkan Pesan kesalahan Pesan kesalahan Pesan kesalahan Pesan kesalahan Pesan kesalahan Pesan kesalahan “Nomor rekord” untuk klasifikasi diterima
Hasil uji Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan
12. Pengujian terhadap “Nomor rekord” untuk prediksi pada bagian klasifikasi dan prediksi base classifier Pengujian dilakukan dengan memasukan nilai pada “Nomor rekord” untuk prediksi melalui form klasifikasi dan prediksi base classifier. Hasil pengujiannya dapat dilihat sebagai berikut: 113
No.
Kasus Uji
1
“Nomor rekord” untuk prediksi berisi karakter selain bilangan integer “Nomor rekord” untuk prediksi berisi bilangan float / real “Nomor rekord” untuk prediksi berisi kosong “Nomor rekord” untuk prediksi berisi bilangan integer ≤ 0 “Nomor rekord” untuk prediksi berisi bilangan integer > jumlah rekord pada tabel Nomor rekord dari > Nomor rekord sampai “Nomor rekord” untuk prediksi berisi bilangan integer > 0 dan < jumlah rekord pada tabel
2 3 4 5 6 7
Hasil yang Diharapkan Pesan kesalahan Pesan kesalahan Pesan kesalahan Pesan kesalahan Pesan kesalahan Pesan kesalahan “Nomor rekord” untuk prediksi diterima
Hasil uji Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan
13. Pengujian terhadap “Jumlah rekord ditangani” pada bagian konfigurasi SEA Pengujian dilakukan dengan memasukan nilai pada “Jumlah rekord ditangani” melalui form konfigurasi SEA. Hasil pengujiannya dapat dilihat sebagai berikut: No. 1 2 3 4 5
Kasus Uji “Jumlah rekord ditangani” berisi karakter selain bilangan integer “Jumlah rekord ditangani” berisi bilangan float / real “Jumlah rekord ditangani” berisi kosong “Jumlah rekord ditangani” berisi bilangan integer ≤ 0 “Jumlah rekord ditangani” berisi bilangan integer > 0
Hasil yang Diharapkan Pesan kesalahan Pesan kesalahan Pesan kesalahan Pesan kesalahan “Jumlah rekord ditangani” diterima
Hasil uji Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan
14. Pengujian terhadap “Ukuran Ensemble” pada bagian konfigurasi SEA Pengujian dilakukan dengan memasukan nilai pada “Ukuran Ensemble” melalui form konfigurasi SEA. Hasil pengujiannya dapat dilihat sebagai berikut:
114
No. 1
Kasus Uji
Hasil yang Diharapkan Pesan kesalahan
“Ukuran Ensemble” berisi karakter selain bilangan integer “Ukuran Ensemble” berisi bilangan Pesan kesalahan float / real “Ukuran Ensemble” berisi kosong Pesan kesalahan
2 3 4
“Ukuran Ensemble” berisi bilangan Pesan kesalahan integer ≤ 0 “Ukuran Ensemble” berisi bilangan “Ukuran integer > 0 Ensemble” diterima
5
Hasil uji Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan
15. Pengujian terhadap “Faktor Correctness” pada bagian konfigurasi SEA Pengujian dilakukan dengan memasukan nilai pada “Faktor Correctness” melalui form konfigurasi SEA. Hasil pengujiannya dapat dilihat sebagai berikut: No.
Kasus Uji
1
“Faktor Correctness” berisi karakter selain bilangan integer “Faktor Correctness” berisi bilangan float / real “Faktor Correctness” berisi kosong
2 3 4 5 6
“Faktor Correctness” berisi bilangan integer < 0 “Faktor Correctness” berisi bilangan integer > 100 “Faktor Correctness” berisi bilangan integer ≥ 0 dan ≤ 100
Hasil yang Diharapkan Pesan kesalahan Pesan kesalahan Pesan kesalahan Pesan kesalahan Pesan kesalahan “Faktor Correctness” diterima
Hasil uji Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan
16. Pengujian terhadap “Nomor rekord” untuk klasifikasi pada bagian klasifikasi dan prediksi SEA Pengujian dilakukan dengan memasukan nilai pada “Nomor rekord” untuk klasifikasi melalui form klasifikasi dan prediksi SEA. Hasil pengujiannya dapat dilihat sebagai berikut:
115
No. 1
Kasus Uji “Nomor rekord” untuk klasifikasi berisi karakter selain bilangan integer “Nomor rekord” untuk klasifikasi berisi bilangan float / real “Nomor rekord” untuk klasifikasi berisi kosong “Nomor rekord” untuk klasifikasi berisi bilangan integer ≤ 0 “Nomor rekord” untuk klasifikasi berisi bilangan integer > 0
2 3 4 5
Hasil yang Diharapkan Pesan kesalahan Pesan kesalahan Pesan kesalahan Pesan kesalahan “Nomor rekord” untuk klasifikasi diterima
Hasil uji Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan
17. Pengujian terhadap “Stop rekord ke” untuk klasifikasi pada bagian klasifikasi dan prediksi SEA Pengujian dilakukan dengan memasukan nilai pada “Stop rekord ke” untuk klasifikasi melalui form klasifikasi dan prediksi SEA. Hasil pengujiannya dapat dilihat sebagai berikut: No. 1 2 3 4 5 6
Kasus Uji “Stop rekord ke” untuk klasifikasi berisi karakter selain bilangan integer “Stop rekord ke” untuk klasifikasi berisi bilangan float / real “Stop rekord ke” untuk klasifikasi berisi kosong “Stop rekord ke” untuk klasifikasi berisi bilangan integer ≤ 0 “Stop rekord ke” untuk klasifikasi berisi bilangan integer > jumlah rekord pada tabel “Stop rekord ke” untuk klasifikasi berisi bilangan integer > 0 dan < jumlah rekord pada tabel
Hasil yang Diharapkan Pesan kesalahan Pesan kesalahan Pesan kesalahan Pesan kesalahan Pesan kesalahan “Stop rekord ke” untuk klasifikasi diterima
Hasil uji Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan
18. Pengujian terhadap “Nomor rekord” untuk prediksi pada bagian klasifikasi dan prediksi SEA Pengujian dilakukan dengan memasukan nilai pada “Nomor rekord” untuk prediksi melalui form klasifikasi dan prediksi SEA. Hasil pengujiannya dapat dilihat sebagai berikut:
116
No.
Kasus Uji
1
“Nomor rekord” untuk prediksi berisi karakter selain bilangan integer “Nomor rekord” untuk prediksi berisi bilangan float / real “Nomor rekord” untuk prediksi berisi kosong “Nomor rekord” untuk prediksi berisi bilangan integer ≤ 0 “Nomor rekord” untuk prediksi berisi bilangan integer > jumlah rekord pada tabel Nomor rekord dari > Nomor rekord sampai “Nomor rekord” untuk prediksi berisi bilangan integer > 0 dan ≤ jumlah rekord pada tabel
2 3 4 5 6 7
Hasil yang Diharapkan Pesan kesalahan Pesan kesalahan Pesan kesalahan Pesan kesalahan Pesan kesalahan Pesan kesalahan “Nomor rekord” untuk klasifikasi diterima
Hasil uji Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan
Pengujian Terhadap Fungsionalitas Perangkat Lunak 1. Pengujian terhadap fungsi untuk melakukan koneksi pada basis data Pengujian dilakukan dengan mencoba melakukan koneksi dengan basis data melalui form konfigurasi basis data. Pertama kali string koneksi dibuat, kemudian mengklik tombol koneksi. Hasilnya jika tidak muncul pesan bahwa string koneksi error maka basis data sudah tersambung. Setelah dilakukan pengujian melalui langkah-langkah ini maka basis data dapat tersambung dengan perangkat lunak seperti yang diharapkan. 2. Pengujian terhadap fungsi untuk memperoleh tabel pada basis data Pengujian dilakukan dengan mencoba melakukan koneksi dengan basis data melalui form konfigurasi basis data, kemudian dapat memilih tabel yang ada pada basis data. Setelah basis data tersambung, maka pada “Tabel Data Mining” akan muncul nama tabel apa saja yang ada pada basis data. Setelah dilakukan pengujian melalui langkah-langkah ini maka tabel pada basis data dapat diperoleh seperti yang diharapkan.
117
3. Pengujian terhadap fungsi untuk menampilkan atribut dari tabel pada basis data Pengujian dilakukan dengan mencoba melakukan koneksi dengan basis data melalui form konfigurasi basis data, kemudian memilih tabel yang ada pada basis data, serta menampilkan atribut pada tabel yang dipilih tersebut. Setelah “Tabel Data Mining” dipilih dan di-klik “OK” maka atribut-atibut dari tabel yang dipilih tersebut akan ditampilkan. Setelah dilakukan pengujian melalui langkah-langkah ini maka atribut-atribut pada tabel dapat diperoleh seperti yang diharapkan. 4. Pengujian terhadap fungsi untuk membuka file konfigurasi basis data Pengujian dilakukan dengan meng-klik “Buka Konfigurasi” untuk file konfigurasi basis data, kemudian memilih file yang mengandung konfigurasi basis data. Hasil pengujiannya dapat dilihat sebagai berikut: No.
Kasus Uji
1
Masukan file tidak sesuai
2
Masukan file sesuai
Hasil yang Diharapkan Pesan kesalahan Nilai masukan yang ada pada form konfigurasi basis data sesuai dengan yang ada di file
Hasil uji Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan
5. Pengujian terhadap fungsi untuk menyimpan file konfigurasi basis data Pengujian dilakukan dengan meng-klik “Simpan Konfigurasi” untuk file konfigurasi basis data. Hasil adalah file yang berisi konfigurasi basis data. Setelah dilakukan pengujian melalui langkah-langkah ini maka file yang menampung nilai-nilai untuk konfigurasi basis data sesuai dengan nilai-nilai yang ada pada form konfigurasi basis data saat dilakukannya penyimpanan. 6. Pengujian terhadap fungsi untuk memperoleh informasi mengenai data Setelah konfigurasi basis data dilakukan dengan baik maka pada form manipulasi basis data setelah meng-klik “Perbaharui Informasi” maka hasil akan ditampilkan.
118
Setelah dilakukan pengujian dengan data pada Tabel II.1 (Play Sports) maka mengeluarkan hasil: •
Jumlah Rekord = 14
•
Nama Tabel = Play Sports
•
Jumlah Atribut = 5
Hal ini sesuai dengan yang diharapkan. 7. Pengujian terhadap fungsi untuk menambahkan rekord pada basis data Pengujian dilakukan dengan menambahkan rekord pada tabel “Play Sports”. Setelah dilakukan pengujian dengan menambahkan rekord berikut: •
Outlook = Rainy
•
Temperature = 85
•
Humidity = 80
•
Windy = False
•
Play = Yes
Maka pada tabel terlihat bahwa rekord telah bertambah, hal ini sesuai dengan yang diharapkan. 8. Pengujian terhadap fungsi untuk mengubah rekord pada basis data Pengujian dilakukan dengan mengubah rekord pada tabel “Play Sports”. Setelah dilakukan pengujian dengan mengubah rekord berikut: •
Outlook = Sunny
•
Temperature = 85
•
Humidity = 85
•
Windy = False
•
Play = No
menjadi: •
Outlook = Sunny
•
Temperature = 85
•
Humidity = 85
•
Windy = False
•
Play = Yes
119
Maka pada tabel terlihat bahwa rekord telah berubah, hal ini sesuai dengan yang diharapkan. 9. Pengujian terhadap fungsi untuk menghapus rekord pada basis data Pengujian dilakukan dengan menghapus rekord pada tabel “Play Sports”. Setelah dilakukan pengujian dengan menghapus rekord berikut: •
Outlook = Sunny
•
Temperature = 80
•
Humidity = 90
•
Windy = True
•
Play = No
Maka pada tabel terlihat bahwa rekord telah hilang, hal ini sesuai dengan yang diharapkan. 10. Pengujian terhadap fungsi untuk mengecek jumlah kelas pada data Pengujian dilakukan dengan menggunakan data tabel “Play Sports”. Setelah jumlah kelas dicek maka menghasilkan “Jumlah Kelas” = 2. Hal ini sesuai dengan banyaknya kelas yang ada pada data jika ditelusuri secara manual. 11. Pengujian terhadap fungsi untuk membuka file konfigurasi base classifier Pengujian dilakukan dengan meng-klik “Buka Konfigurasi” untuk file konfigurasi base classifier, kemudian memilih file yang mengandung konfigurasi base classifier. Hasil pengujiannya dapat dilihat sebagai berikut: No.
Kasus Uji
1
Masukan file tidak sesuai
2
Masukan file sesuai
Hasil yang Diharapkan Pesan kesalahan Nilai masukan yang ada pada form konfigurasi base classifier sesuai dengan yang ada di file
120
Hasil uji Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan
12. Pengujian terhadap fungsi untuk menyimpan file konfigurasi base classifier Pengujian dilakukan dengan meng-klik “Simpan Konfigurasi” untuk file konfigurasi base classifier. Hasil adalah file yang berisi konfigurasi base classifier. Setelah dilakukan pengujian melalui langkah-langkah ini maka file yang menampung nilai-nilai untuk konfigurasi base classifier sesuai dengan nilainilai yang ada pada form konfigurasi base classifier saat dilakukannya penyimpanan. 13. Pengujian terhadap fungsi untuk melakukan klasifikasi pada base classifier Pengujian dilakukan untuk menguji apakah pelatihan base classifier dapat berjalan. Data yang digunakan adalah “Play Sports”, dengan pengaturan konfigurasi base classifier sebagai berikut: •
Jumlah Neuron pada Hidden Layer 1 = 9
•
Jumlah Neuron pada Hidden Layer 2 = 3
•
Fungsi Aktivasi Hidden Layer 1 = Radial Basis
•
Fungsi Aktivasi Hidden Layer 2 = Radial Basis
•
Fungsi Aktivasi Output Layer = Radial Basis
•
Jumlah Kelas = 2
•
Learning Rate = 0,025
•
Momentum = 1
•
Epoch Maksimum = 1000
•
MSE Minimum = 0,01
•
Seed Acak Bobot = 19081985
Setelah diuji untuk data pelatihan dari nomor rekord 1 sampai 12 maka pelatihan dapat berjalan dengan baik dengan adanya penurunan error. Hasilnya akhirnya yaitu: •
MSE Epoch Terakhir = 0,00990380878759153
•
Jumlah Epoch = 286
•
Waktu Pelatihan = 1.546 ms
Grafik penurunan error-nya selama pelatihannya ditunjukkan pada sebagai berikut:
121
14. Pengujian terhadap fungsi untuk melakukan prediksi pada base classifier Dari hasil pelatihan yang dilakukan pada pengujian fungsionalitas nomor 13, maka dilakukanlah pengujian apakah dari hasil pelatihan dapat digunakan untuk melakukan prediksi dengan baik. Dalam melakukan prediksi base classifier maka akan menggunakan data baru yaitu data “Play Sports” dengan nomor rekord 13 sampai 14, serta menggunakan data pelatihan yaitu data “Play Sports” dengan nomor 1 sampai 12. Grafik hasilnya pengujiannya untuk data test ditunjukkan sebagai berikut:
Grafik hasil pengujiannya untuk data pelatihan ditunjukkan sebagai berikut:
122
Dapat dilihat bahwa prediksi pada base classifier dapat berjalan dengan baik. Untuk prediksi data test dapat dilihat bahwa persentase kebenaran hasil prediksinya adalah 50%. Untuk prediksi data pelatihan dapat dilihat bahwa kebenaran hasil prediksinya adalah 100%. 15. Pengujian terhadap fungsi untuk membuka file konfigurasi SEA Pengujian dilakukan dengan meng-klik “Buka Konfigurasi” untuk file konfigurasi SEA, kemudian memilih file yang mengandung konfigurasi SEA. Hasil pengujiannya dapat dilihat sebagai berikut: No.
Kasus Uji
1
Masukan file tidak sesuai
2
Masukan file sesuai
Hasil yang Diharapkan Pesan kesalahan Nilai masukan yang ada pada form konfigurasi SEA sesuai dengan yang ada di file
Hasil uji Sesuai dengan hasil yang diharapkan Sesuai dengan hasil yang diharapkan
16. Pengujian terhadap fungsi untuk menyimpan file konfigurasi SEA Pengujian dilakukan dengan meng-klik “Simpan Konfigurasi” untuk file konfigurasi SEA. Hasil adalah file yang berisi konfigurasi SEA. 123
Setelah dilakukan pengujian melalui langkah-langkah ini maka file yang menampung nilai-nilai untuk konfigurasi SEA sesuai dengan nilai-nilai yang ada pada form konfigurasi SEA saat dilakukannya penyimpanan.
17. Pengujian terhadap fungsi untuk melakukan klasifikasi pada SEA Pengujian dilakukan untuk menguji apakah pelatihan SEA dapat berjalan. Data yang digunakan adalah “Play Sports”, dengan pengaturan konfigurasi base classifier sebagai berikut: •
Jumlah Neuron pada Hidden Layer 1 = 9
•
Jumlah Neuron pada Hidden Layer 2 = 3
•
Fungsi Aktivasi Hidden Layer 1 = Radial Basis
•
Fungsi Aktivasi Hidden Layer 2 = Radial Basis
•
Fungsi Aktivasi Output Layer = Radial Basis
•
Jumlah Kelas = 2
•
Learning Rate = 0,025
•
Momentum = 1
•
Epoch Maksimum = 1000
•
MSE Minimum = 0,01
•
Seed Acak Bobot = 19081985
dan pengaturan konfigurasi SEA sebagai berikut: •
Jumlah rekord ditangani = 2
•
Ukuran Ensemble = 3
•
Faktor Correctness = 70
Setelah diuji untuk data pelatihan dari nomor rekord 1 sampai 12 maka pelatihan dapat berjalan dengan baik dengan adanya keberhasilan ensemble dalam mengklasifikasikan kelas selama pelatihan berlangsung. Hasilnya akhirnya yaitu: •
Jumlah Concept Drift = 3
•
Waktu Pelatihan = 58703 ms
•
Base Classifier yang ada pada ensemble = C6, C2, C5
124
Grafik keberhasilan ensemble dalam mengklasifikasikan data selama pelatihan ditunjukkan sebagai berikut:
Dari grafik tersebut ditunjukkan bahwa saat pelatihan berjalan, ensemble hanya mampu berhasil mengklasifikasi data dengan tingkat kebenaran 50% untuk blok data 3, 4, 5, dan 7. Untuk blok data 1 dan 2 ensemble belum dihitung jumlah kelas benarnya, sehingga rata-rata tingkat kebenaran ensemble selama pelatihan adalah (50% + 50% + 50% + 0% + 50%) / 5 = 40%. 18. Pengujian terhadap fungsi untuk melakukan prediksi pada SEA Dari hasil pelatihan yang dilakukan pada pengujian fungsionalitas nomor 17, maka dilakukanlah pengujian apakah dari hasil pelatihan dapat digunakan untuk melakukan prediksi dengan baik. Dalam melakukan prediksi SEA maka akan menggunakan data baru yaitu data “Play Sports” dengan nomor rekord 13 sampai 14, serta menggunakan data pelatihan yaitu data “Play Sports” dengan nomor 1 sampai 12. Grafik hasilnya pengujiannya untuk data test ditunjukkan sebagai berikut:
125
Grafik hasil pengujiannya untuk data pelatihan ditunjukkan sebagai berikut:
Dapat dilihat bahwa prediksi pada SEA dapat berjalan dengan baik. Untuk prediksi data baru dapat dilihat bahwa kebenaran hasil prediksinya adalah 50%. Untuk prediksi data pelatihan dapat dilihat bahwa kebenaran hasil prediksinya adalah 66,67%.
126