Gambar 4.6 Implementasi Halaman Transformasi dan Reduct 3
Gambar 4.7 Pesan data berhasil ditransformasi
Selain data hasil transformasi informasi yang ditampilkan pada halaman transformasi berupa keterangan jumlah atribut dan jumlah data. Setelah
data berhasil ditransformasi maka dilanjutkan dengan proses reduct. Untuk melakukan proses ini pengguna harus menekan tombol reduct yang ada
pada halamaman transformasi dan reduct.
3. Halaman Bentuk Aturan
Gambar 4.8 Implementasi Halaman Bentuk Aturan
Gambar 4.9 Pesan proses reduct berhasil
Setelah proses reduct berhasil dilakukan hasil dari proses tersebut ditampilkan pada halaman bentuk aturan. Pada halaman bentuk aturan
ditampilkan data hasil reduct, keterangan jumlah atribut hasil reduct, keterangan jumlah data dan keterangan waktu proses reduct. Setelah data
berhasil melewati proses reduct pengguna dapat melanjutkan ke proses pembentukan aturan dengan menekan tombol bentuk aturan yang ada pada
halaman bentuk aturan.
4. Halaman Hasil Aturan
Gambar 4.10 Implementasi Halaman Hasil Aturan
Gambar 4.11 pesan pohon sudah terbentuk
Setelah proses bentuk aturan berhasil dilakukan maka sistem akan menampilkan pesan bahwa pohon saudah terbentuk dan menampilkan
halaman hasil aturan. Halaman hasil aturan berisi pola klasifikasi dalam bentuk pohon keputusan dari data hasil reduct, waktu proses reduct, waktu
proses bentuk aturan, total waktu proses keseluruhan dan tingkat akurasi dari pola yang terbentuk. Untuk menyimpan hasil aturan dalam bentuk file
Pengguna harus menekan tombol simpan, setelah pengguna menekan tombol simpan maka sistem akan menampilkan file chooser untuk
memberi nama file dan memilih letak penyimpanan file.
Gambar 4.12 File Chooser untuk memilih letak penyimpanan file.
Setelah pengguna memberi nama file dan memilih letak penyimpanan sistem akan menampilkan pesan bahwa data berhasil disimpan dan
keterangan letak penyimpanan dari data tersebut.
Gambar 4.13 Pesan Data berhasil disimpan.
IV.4 Implementasi Diagram Kelas
Sistem dibangun dengan berbasis objek, sehingga dalam implementasi dibutuhkan kelas
– kelas untuk mendefinisikan objek yang akan dipakai untuk membangun sistem. Dalam sistem yang dibangun ini kelas-kelas yang dibentuk
dibagi dalam 4 package yaitu package Entity, Boundary, Controller dan Tools. Karena banyaknya metode dalam pembuatan sistem, maka yang disajikan pada
penelitian ini hanya metode yang berperan penting dalam penelitian yaitu metode Reduct Computation Algorthm RCA, Sedangkan untuk penyajian metode secara
lengkap terlampir pada lampiran 3. Berikut ini disajikan penjabaran metode RCA yang dibangun dalam penelitian.
Nama Paket : Entity Nama Kelas : Reduct Computation
Nama Metode : ReductComputationVector vs[],String[] atribut,Vector data,long lamaProses
Fungsi Metode : Berfungsi untuk melakukan proses Reduct Computation yang merupakan
bagian dari algoritma Reduct Based Decision Tree. Hasil dari metode ini berupa atribut dari hasil reduct.
Listing Program :
public ReductComputationVector vs[],String[] atribut,Vector data {
DataSet.addAlldata; HAPtemp=new ArrayList;
MB= new int[vs[0].sizevs[1].size][atribut.length- 1]; menyediakan matrik boolean kosong
HAPFinal= new Vector; long elapsedTimeMillis = 0;
long start = System.currentTimeMillis; T1 = new
String[vs[0].size+vs[1].size][atribut.length]; int counterFold=0;
statusMhs[1] tidak_sisip_program
int counterTemp=0; forint a=0;avs.length;a++{
forint b=0;bvs[a].size;b++{ forint k=0;katribut.length;k++{
Mahasiswa mhsw = Mahasiswa vs[a].elementAtb; mhsw.setProgramStudimhsw.getProgramStudi;
ifk==0{ T1[b+counterFold][k]=mhsw.getTahun;
}else ifk==1{ T1[b+counterFold][k]=mhsw.getProgramStudi;
}else ifk==2{ mhsw.setJenisKelaminmhsw.getJenisKelamin;
T1[b+counterFold][k]=mhsw.getJenisKelamin; }else ifk==3{
mhsw.setAsalKabupatenmhsw.getAsalKabupaten; T1[b+counterFold][k]=mhsw.getAsalKabupaten;
}else ifk==4{ mhsw.setKonversiPvmhsw.getKonversiPv;
T1[b+counterFold][k]=mhsw.getKonversiPv; }else ifk==5{
mhsw.setKonversiKnmhsw.getKonversiKn; T1[b+counterFold][k]=mhsw.getKonversiKn;
}else ifk==6{ mhsw.setKonversiPmmhsw.getKonversiPm;
T1[b+counterFold][k]=mhsw.getKonversiPm; }else ifk==7{
mhsw.setKonversiHrmhsw.getKonversiHr; T1[b+counterFold][k]=mhsw.getKonversiHr;
}else ifk==8{ mhsw.setKonversiBimhsw.getKonversiBi;
T1[b+counterFold][k]=mhsw.getKonversiBi; }else ifk==9{
mhsw.setDiterimamhsw.getDiterima; T1[b+counterFold][k]=mhsw.getDiterima;
}else ifk==10{
mhsw.setGelombangmhsw.getGelombang; T1[b+counterFold][k]=mhsw.getGelombang;
}else ifk==11{ mhsw.setJenisSmamhsw.getJenisSma;
T1[b+counterFold][k]=mhsw.getJenisSma; }else ifk==12{
mhsw.setAsalSmamhsw.getAsalSma; T1[b+counterFold][k]=mhsw.getAsalSma;
} else ifk==13{
mhsw.setKeteranganSmamhsw.getKeteranganSma; T1[b+counterFold][k]=mhsw.getKeteranganSma;
}else ifk==14{ mhsw.setKabupatenSmamhsw.getKabupatenSma;
T1[b+counterFold][k]=mhsw.getKabupatenSma; }else{
mhsw.setStatusmhsw.getStatus; T1[b+counterFold][k]=mhsw.getStatus;
}} counterTemp+=1;
}counterFold=counterFold+counterTemp; } tutup fold data vs
===========PROSES MEMBUAT MATRIK BOOLEAN=========== forint i = 0 ; i T1.length ; i++{
looping untuk data ke 1 forint j = 1 ; j T1.length-i ;j++{
looping untuk data ke 2 kemudian kedua data dibandingkan keputusanya
int w = i + j; ifT1[i][atribut.length1].equalsIgnoreCaseT1[w][atri
but.length-1]{ jika keputusan berbeda pasanganObject = pasanganObject + 1;
forint k = 0 ; k atribut.length - 1 ; k++{ ifT1[i][k].equalsIgnoreCaseT1[w][k]{
MB[pasanganObject][k]=1; mengisi matrik boolean dengan 1
}else{ MB[pasanganObject][k]=0; mengisi matrik boolean
dengan 0 }
} }PROSES REDUCT Melakukan SUM ,Cari HAP Final dan
Delete data sesuai HAP temp ===MenjumlahSUM Seluruh Nilai Atribut dari
MB===whileMB.length0{ Ketika jumlah data pada MB masih 0 lakukan proses
Reduct forint a=0;aatribut.length-1;a++{
forint b=0;bMB.length;b++{ int tempNilaiBarisAtribut = 0; set temp menjadi 0
tempNilaiBarisAtribut=MB[b][a]; totalNilaiAtribut=totalNilaiAtribut+
tempNilaiBarisAtribut; }
arraySumAtribut[a]=totalNilaiAtribut; simpan semua jumlahSUM nilai atribut ke array
totalNilaiAtribut=0; set total mejadi 0 }
===========mencari jumlahSUM terbesar=========== cariJumlahNilaiAtributTerbesararraySumAtribut;
for int u=0;uarraySumAtribut.length;u++{ ifcariJumlahNilaiAtributTerbesararraySumAtribut==ar
raySumAtribut[u]{ System.out.printlnatribut[u]++u++=+arraySumAt
ribut[u]; HAPtemp.addu; memaasukkan hasil Reduct ke HAP
sementara yang dimasukkan indexnya }
} disini ada proses mencocokkan hasil HAP agar
tidak ada duplikasi
Memasukan hasil Reduct pada HAPTemp ke HAPFinal ifHAPFinal.isEmpty{
for int i = 0; i HAPtemp.size; i++ { HAPFinal.addHAPtemp.geti;
} }else{
ReductComputation m = new ReductComputation; konvert HAPTemp kedalam bentuk array terlebih
dahulu int a[] = new int[HAPtemp.size];
for int i = 0; i HAPtemp.size; i++ { int x=Integer HAPtemp.geti.intValue;
konvert kedalam bentuk Integer a[i]=x;
} konvert HAPFinal kedalam bentuk array terlebih
dahulu int b[] = new int[HAPFinal.size];
for int j = 0; j HAPFinal.size; j++ { int y=Integer HAPFinal.getj.intValue;
konvert kedalam bentuk Integer b[j]=y;
} HAPFinal = new VectorObject; HAPFinal di
kosongkan kembali dng membuat baru Memasukkan hasil gabungan Reduct HAPFinal yg l dgn
HAPTemp kedalam HAPFinal yg baru int g[]=m.gabunga, b;
for int i = 0; i g.length; i++ { HAPFinal.addg[i];
} } akhir dari else
--------------------DELETE MB--------------------- int jmlColomBernilai1=HAPtemp.size;
int jmlKolom=0; untuk menyimpan array satu baris data dr bm per