Spesifikasi Perangkat Lunak dan Perangkat Keras Uji Validasi Sistem Implementasi Antarmuka Dengan Pengguna

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