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.