Implementasi Diagram Kelas IMPLEMENTASI SISTEM

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 iterasi int dataRows[] = new int[atribut.length]; forint a=0 ; a MB.length;a++{ mencegah jumlah kesamping 0 semua int jmlKolomTotalKesamping=0; for int i = 0; i atribut.length-1; i++ { int temp; temp=MB[a][i]; jmlKolomTotalKesamping=jmlKolomTotalKesamping+temp; }memeriksa setiap kolom attribut reduct nilainya 1 dan menambahkan nilai jmlKolom forint b=0; b HAPtemp.size;b++{ int c=Integer HAPtemp.getb.intValue; untuk mengambil value indeks atribut yg ada pada HAPTemp konversi object arraylist ke integer ifMB[a][c]==1{ jmlKolom=jmlKolom+1; menjumlah kesamping nilai 1 dari hasil reduct } } ifjmlKolom=jmlColomBernilai1jmlKolomTotalKesamping =0{ yg diambil adalah yg nilai kesamping tidak satu semua for int j = 0; j atribut.length - 1; j++ { panjang attribut dataRows[j] = MB[a][j]; } tempTampungMB.adddataRows; dataRows = new int[atribut.length]; buat baru kembali isi dataRowsnya kekeadaan semula kosong } jmlKolom = 0; }tutup for a int ukuranMBLama=MB.length; int ukuranMBLama=MB.length; jika tidak ada yg bisa di delete dari proses Reduct maka tetapakan HAP secara kasar ifukuranMBLama==ukuranMBbaru{ break;proses SUM MB dan DELETE MB berhenti }else{ for int g = 0; g tempTampungMB.size; g++ { dataBongkar = int[] tempTampungMB.elementAtg; for int k = 0; k atribut.length - 1; k++ { MB[g][k] = dataBongkar[k]; } dataBongkar = new int[3]; kosongkan lagi } tempTampungMB.clear;temp tampunng MB dibuat kosong dataBongkar = new int[3]; kosongkan lagi HAPtemp.clear; HAPtemp dibuat kosong tempTampungMB.clear; System.out.println index HAP FinalHasil Reduct=========== +HAPFinal; } }akhir dari While MB 0 if MB.length == 0 { System.out.printlnPROSES SELESAI +\n; System.out.printlnLanjut Hitung menggunakan C4.5+\n; String[] arrayAtribut={Tahun,programStudi,jenisKelamin,a salKabupaten,pv,kn, pm,hr,bi,diterima,gelombang,jenisSma, asalSma,keteranganSma,kabupatenSma,status}; atributHAPFinal = new VectorObject; for int i = 0; i arrayAtribut.length; i++ { for int j = 0; j HAPFinal.size; j++ { ifi==HAPFinal.getj{ atributHAPFinal.addarrayAtribut[i]; }}} paksakan attribut status registrasi Dimasukkan atributHAPFinal.addstatus; atributRemove = new VectorObject; copy arrayAtribut kedalam vector atributRemove for int i = 0; i arrayAtribut.length; i++ { atributRemove.addarrayAtribut[i]; } ambil atribut yang bukan merupakan atribut HAP for int i = 0; i atributHAPFinal.size; i++ { for int j = 0; j atributRemove.size; j++ { if atributHAPFinal.geti==atributRemove.getj { atributRemove.removej; } } } simpan atribut yang bukan merupakan HAP atribut remove kedalam database for int i = 0; i atributRemove.size; i++ { SimpanAtributRemoveatributRemove.geti.toString; } ArrayList kirimAttribut = new ArrayList; for int i = 0; i arrayAtribut.length; i++{ for int j = 0; j atributHAPFinal.size; j++{ ifarrayAtribut[i].containsatributHAPFinal.elementAt j.toString { kirimAttribut.addatribut[i]; } } } String[] arrKirim = new String[kirimAttribut.size]; for int i = 0; i kirimAttribut.size; i++ { arrKirim[i] = kirimAttribut.geti.toString; SimpanAtributHAParrKirim[i]; } } Vector valueTransfer = new Vector; valueTransfer.addAllDataSet; JOptionPane.showMessageDialognull,proses Reduct berhasil; System.out.printlnjml data transfer=+valueTransfer.size; HalamanBentukAturan form = new HalamanBentukAturanvalueTransfer,arrKirim,elapsedTime Millis; form.setVisibletrue; }else{ System.out.printlnROUGH; System.out.printlnLanjut Hitung menggunakan C4.5+\n; String[] arrayAtribut={Tahun,programStudi,jenisKelamin,a salKabupaten,pv,kn, pm,hr,bi,diterima,gelombang,jenisSma, asalSma,keteranganSma,kabupatenSma,status}; atributHAPFinal = new VectorObject; for int i = 0; i arrayAtribut.length; i++ { for int j = 0; j HAPFinal.size; j++ { ifi==HAPFinal.getj{ atributHAPFinal.addarrayAtribut[i]; } } } paksakan attribut status registrasi Dimasukkan atributHAPFinal.addstatus; atributRemove = new VectorObject; copy arrayAtribut kedalam vector atributRemove for int i = 0; i arrayAtribut.length; i++ { atributRemove.addarrayAtribut[i]; } ambil atribut yang bukan merupakan atribut HAP for int i = 0; i atributHAPFinal.size; i++ { for int j = 0; j atributRemove.size; j++ { ifatributHAPFinal.geti==atributRemove.getj { atributRemove.removej; } } } simpan atribut yang bukan merupakan HAP atribut remove kedalam database for int i = 0; i atributRemove.size; i++ { SimpanAtributRemoveatributRemove.geti.toString; } ArrayList kirimAttribut = new ArrayList; for int i = 0; i arrayAtribut.length; i++ { for int j = 0; j atributHAPFinal.size; j++ { ifarrayAtribut[i].containsatributHAPFinal.elementAt j.toString { kirimAttribut.addatribut[i]; } } } String[] arrKirim = new String[kirimAttribut.size]; for int i = 0; i kirimAttribut.size; i++ { arrKirim[i] = kirimAttribut.geti.toString; SimpanAtributHAParrKirim[i]; } Vector valueTransfer = new Vector; valueTransfer.addAllDataSet; JOptionPane.showMessageDialognull,proses Reduct berhasil; HalamanBentukAturan form = new HalamanBentukAturanvalueTransfer, arrKirim,elapsedTimeMillis; form.setVisibletrue;} 98

BAB V ANALISIS HASIL

Tahap akhir dari penelitian ini adalah evaluasi pola dan presentasi pengetahuan dari keluaran sistem yang telah dibangun. Sistem yang dibangun ditahap sebelumnya mengimplementasikan algloritma Reduct Based Decision Tree RDT dan telah berhasil diimplementasikan kedalam sebuah program. Dalam tahap analisis hasil terdapat dua tahap dari proses Knowledge discovery in database KDD yaitu evaluasi pola dan presentasi pengetahuan.

V.1 Evaluasi Pola

Dalam penelitian ini atribut yang digunakan sebagai data input pada penelitian ini berjumlah 16. Dari seluruh atribut tersebut setelah melalui proses reduct menggunakan metode RCA Reduct Computation Algoritm didapat 11 atribut yang menjadi pembeda. Atribut tersebut meliputi tahun, programStudi, jenisKelamin, asalKabupaten, penalaran verbal pv, penalaran mekanik pm, hubungan ruang hr, bahasa inggris bi, gelombang, asal SMA dan status. Sedangkan atribut kemampuan numerik kn, diterima, jenis SMA, dan kabupaten SMA tidak dapat dijadikan sebagai pembeda. Sistem yang dibangun dalam penelitian ini menghasilkan output berupa pola klasifikasi dalam bentuk pohon keputusan. Sistem telah berhasil dibangun dan diimplementasikan. Dari pohon keputusan yang terbentuk menghasilkan 1258 pola dari 2192 record data, dimana 227 pola memiliki nilai atribut status SISIP_PROGRAM. Karena banyaknya pola yang dihasilkan maka hanya sebagian Output yang ditampilkan pada Gambar 5.1. Untuk detail keseluruhan pola klasifikasi disajikan pada lampiran 5 , sedangkan output yang dihasilkan oleh sistem secara keseluruhan disajikan pada lampiran 6. Gambar 5.1 Contoh Pola Klasifikasi Data PMB 2007-2009 Jalur Reguler. Dari pola yang terbentuk menggunakan atribut hasil proses reduct, atribut asal SMA menjadi simpul akar dalam menentukan status mahasiswa. Atribut asal SMA memiliki gain ratio paling besar dibandingkan dengan atribut yang lainnya sehingga atribut asal SMA menjadi simpul akar dari pohon keputusan yang ditunjukkan pada gambar 5.1. Selain atribut asal SMA atribut lain yang muncul dalam pohon keputusan dengan hasil akhir SISIP_PROGRAM sangat beragam yaitu tahun, jenis kelamin, program studi, asal kabupaten, gelombang pendaftaran, nilai penalaran mekanik pm, nilai hubungan ruang hr, nilai penalaran verbal pv, dan nilai bahasa inggris bi. Apabila pola klasifikasi tersebut ditinjau dari sudut pandang lainnya, presentase mahasiswa yang berasal dari SMA_N_2_MIMIKA lebih banyak mengalami sisip program. Untuk membuktikan analisis tersebut berikut ini disajikan perbandingan komposisi data asal SMA pada tabel 5.1. Karena banyaknya data asal SMA mahasiswa maka komposisi data yang disajikan adalah data dengan jumlah presentase kejadian sisip program = 10 . Untuk komposisi data asal SMA secara lengkap disajikan pada lampiran 4. Tabel 5.1 dibawah ini digunakan untuk membantu memperoleh informasi yang menarik dari hasil pola klasifikasi yang telah dibentuk. Pada tabel 5.1 kolom asal SMA berisi asal SMA dari mahasiswa. Kolom jumlah SISIP_PROGRAM berisi jumlah kejadian sisip program dari setiap asal SMA pada saat pembentukan pola. Kolom tolal berisi total mahasiswa dari setiap SMA, sedangkan kolom presentase merupakan presentase mahasiswa yang mengalami sisip program. Nilai tersebut diperoleh dari hasil bagi antara jumlah kejadian sisip program dibagi jumlah total mahasiswa dan dikalikan dengan 100 . Tabel 5.1 Komposisi Data Asal SMA Mahasiswa. Asal SMA Jumlah Total Mahasis wa SISIP_ PROGR AM Presentase SMA_N_2_MIMIKA 4 3 75 SMA_N_1_OKBIBAB 10 7 70 SMA_K_SANTO_MIKAEL_WARAK 23 10 43,47 SMA_KRISTEN_1_MAGELANG 7 3 42,85 SMA_N_1_JOGONALAN 19 3 15,78 SMA_PANGUDI_LUHUR_YOGYAKARTA 33 4 12,12 SMA_STELLA_DUCE_1_YOGYAKARTA 35 4 11,42 Setelah komposisi data pada tabel 5.1 tersebut ditinjau kembali berdasarkan pola klasifikasi, didapat bahwa mahasiswa yang berasal dari SMA_N_2_MIMIKA dan SMA_N_1_OKBIBAB memiliki presentase kejadian sisip program 50 . Untuk mahasiswa yang berasal dari SMA_N_2_MIMIKA terdapat tiga mahasiswa mengalami sisip program dimana satu mahasiswa berasal dari program studi PEND._BAHASA_INGGRIS dan dua mahasiswa berasal dari program studi PEND._SEJARAH. Untuk mahasiswa yang berasal dari SMA_N_1_OKBIBAB terdapat satu mahasiswa berasal dari program studi PEND._BAHASA_INGGRIS, satu mahasiswa berasal dari program studi PEND._AKUNTANSI, satu mahasiswa berasal dari program studi AKUNTANSI, tiga mahasiswa berasal dari program studi MANAJEMEN dan satu mahasiswa berasal dari program studi TEKNIK_INFORMATIKA. Hal tersebut menunjukkan bahwa mahasiswa yang berasal dari SMA_N_2_MIMIKA dan berasal dari SMA_N_1_OKBIBAB dengan program studi yang bervariasi memiliki kemungkinan sisip program. Untuk membuktikan analisis tersebut berikut ini disajikan tabel 5.2 yang berisi detail pola klasifikasi untuk tabel 5.1. Tabel 5.2 Detail Pola Klasifikasi Mahasiswa Sisip Program Untuk Tabel 5.1. No Aturan rule Status Jumlah data 1 IF asalSma=SMA_N_2_MIMIKA AND programStudi=PEND._BAHASA_INGGRIS SISIP_PROGRAM 1 2 IF asalSma=SMA_N_2_MIMIKA AND programStudi=PEND._SEJARAH SISIP_PROGRAM 2 3 IF asalSma= SMA_N_1_OKBIBAB AND tahun=2008 AND programStudi= PEND._BAHASA_INGGRIS SISIP_PROGRAM 1 4 IF asalSma= SMA_N_1_OKBIBAB AND tahun=2008 AND programStudi= PEND._AKUNTANSI SISIP_PROGRAM 1 5 IF asalSma= SMA_N_1_OKBIBAB AND tahun=2008 AND programStudi= AKUNTANSI SISIP_PROGRAM 1 6 IF asalSma= SMA_N_1_OKBIBAB AND tahun=2008 AND programStudi= MANAJEMEN SISIP_PROGRAM 3 7 IF asalSma= SMA_N_1_OKBIBAB AND tahun=2008 AND programStudi= TEKNIK_INFORMATIKA SISIP_PROGRAM 1 8 IF asalSma= SMA_K_SANTO_MIKAEL_WARAK AND asalKabupaten=Aceh_Barat SISIP_PROGRAM 1 9 IF asalSma= SMA_K_SANTO_MIKAEL_WARAK AND asalKabupaten= Banjarmasin SISIP_PROGRAM 1 10 IF asalSma= SMA_K_SANTO_MIKAEL_WARAK AND asalKabupaten= Bekasi SISIP_PROGRAM 1 11 IF asalSma= SMA_K_SANTO_MIKAEL_WARAK AND asalKabupaten= Cirebon SISIP_PROGRAM 2 12 IF asalSma= SMA_K_SANTO_MIKAEL_WARAK AND asalKabupaten= Palembang SISIP_PROGRAM 1 13 IF asalSma= SMA_K_SANTO_MIKAEL_WARAK AND asalKabupaten= Sleman AND bi= B SISIP_PROGRAM 1 14 IF asalSma= SMA_K_SANTO_MIKAEL_WARAK AND asalKabupaten= Sleman AND bi= D AND pm= A SISIP_PROGRAM 1 15 IF asalSma= SMA_K_SANTO_MIKAEL_WARAK AND asalKabupaten= Yapen_Waropen AND tahun=2009 SISIP_PROGRAM 1 16 IF asalSma= SMA_K_SANTO_MIKAEL_WARAK AND asalKabupaten= Yogyakarta SISIP_PROGRAM 1 17 IF asalSma= SMA_KRISTEN_1_MAGELANG AND pm= D AND jenisKelamin = Laki-laki SISIP_PROGRAM 3 18 IF asalSma= SMA_N_1_JOGONALAN AND pv= D AND tahun=2007 AND programStudi= PSIKOLOGI SISIP_PROGRAM 1 19 IF asalSma=SMA_N_1_JOGONALAN AND pv= D AND tahun=2009 SISIP_PROGRAM 2 20 IF asalSma= SMA_PANGUDI_LUHUR_YOGYAKARTA AND programStudi= PEND._BAHASA_INGGRIS AND bi= B SISIP_PROGRAM 1 21 IF asalSma= SMA_PANGUDI_LUHUR_YOGYAKARTA AND programStudi= AKUNTANSI AND tahun=2008 SISIP_PROGRAM 1 22 IF asalSma= SMA_PANGUDI_LUHUR_YOGYAKARTA AND programStudi= TEKNIK_MESIN SISIP_PROGRAM 1 23 IF asalSma= SMA_PANGUDI_LUHUR_YOGYAKARTA AND programStudi= TEKNIK_INFORMATIKA AND tahun=2008 SISIP_PROGRAM 1 24 IF asalSma= SMA_STELLA_DUCE_1_YOGYAKARTA AND programStudi= BIMBINGAN_DAN_KONSELING SISIP_PROGRAM 1 25 IF asalSma= SMA_STELLA_DUCE_1_YOGYAKARTA AND programStudi=AKUNTANSI AND asalKabupaten= Yogyakarta SISIP_PROGRAM 1 26 IF asalSma= SMA_STELLA_DUCE_1_YOGYAKARTA AND programStudi=PSIKOLOGI AND gelombang= Gelombang_1 AND tahun=2009 SISIP_PROGRAM 1 27 IF asalSma= SMA_STELLA_DUCE_1_YOGYAKARTA AND programStudi=PSIKOLOGI AND gelombang= Gelombang_3 SISIP_PROGRAM 1 Dari tabel 5.1 komposisi data asal SMA mahasiswa dan tabel 5.2 detail pola klasifikasi mahasiswa sisip program yang disajikan tersebut terdapat pola menarik, untuk mahasiswa yang berasal dari SMA_K_SANTO_MIKAEL_WARAK memiliki populasi jumlah kejadian sisip program paling banyak yaitu 10 mahasiswa.