Proses Sistem Perancangan Umum Sistem .1 Masukan Sistem

Mulai Masukkan Data Uji Proses Prediksi Tampilkan Hasil Prediksi dan Alokasi Kuota Selesai Gambar 3.4 Alur proses prediksi data Algoritma dari setiap proses-proses diatas diuraikan seperti dibawah ini :

3.4.2.1 Proses Transformasi

1. Masukkan Data 2. Cari nilai rata-rata untuk setiap kolom yang akan ditransformasi pada data 3. Cari nilai Standar Deviasi untuk setiap kolom yang akan ditransformasi pada data a. Set 1 jika x = X + 1.96 σ n b. Set 2 jika X = x X + 1.96 σ n c. Set 3 jika X - 1.96 σ n = x X d. Set 4 jika x X - 1.96 σ n

3.4.2.2 Proses Reduct

1. Baca Tabel input .csv T1 2. Simpan Tabel dalam bentuk matriks array 2 dimensi T1 [ ][ ] 3. Urutkan baris secara ASC berdasarkan atribut keputusan 4. Buat Array SPA[ ] untuk menyimpan set predominan attribute 5. Buat Array untuk menyimpan semua atribut tabel, ArrDataAttribut [ ] 6. Buat Boolean Matriks BM [ ] [ ] for int i = 0; i T1.length; i++ { for int j = 1; j T1.length - i; j++ { int w = i + j; int lengthh = attribut.length - 1; if T1[ I ][attribut.length - 1].equalsIgnoreCaseT1[ w ] [attribut.length - 1] { construct = construct + 1; for int k = 0; k attribut.length - 1; k++ { if T1[i][k].equalsIgnoreCaseT1[w][k] { BM[construct][k] = 1; } else { BM[construct][k] = 0; } } tutup k } Jika keputusannya sama, Lanjut } } 7. Buat array untuk menampung jumlah setiap kolom pada BM, ArrJmlBM [ ] 8. Menghitung jumlah BM dari setiap atribut dan dimasukkan kedalam ArrJmlBM [ ] 9. Int counter,temp,terbesar; 10. Counter = 0; 11. Terbesar = 0; for i=0; iBM.column.count; i++ { for j=0 ; jBM.rows.count; j++ { temp = BM[j][i]; terbesar = terbesar + temp; } ArrJmlBM [counter] = terbesar Counter +=1; Terbesar =0; } Counter =0; 12. Buat Array untuk menampung proses penyimpanan index attribute SPA, ArrTemp[ ] 13. Cari A, data nilai terbesar dari array ArrJmlBM [ ] 14. Bandingkan nilai A dengan setiap nilai pada ArrJmlBM [ ], jika sama dengan nilai A, maka simpan index nya, dan masukkan kedalam array ArrTemp[ ] 15. Membandingkan setiap nilai data pada array ArrTemp[ ], dan bandingkan nilai tersebut dengan index pada ArrDataAttribut [ ], dapatkan isinya ArrDataAttribut [ ], dan masukkan ke array SPA[ ], sebagai atribut predominan 16. Hapus nilai data BM[][] yang nilainya 1 untu setiap barisnya yang kolomnya seperti pada setiap nilai pada ArrTemp[ ] 17. Kosongkan ArrTemp[ ] 18. Kosongkan ArrJmlBM[ ] 19. Ulangi langkah 8 – 19 sampai isi BM[ ][ ] habis

3.4.2.3 Proses Reduce Data Pelatihan

a. Baca data pelatihan b. Hilangkan semua atribut data pelatihan yang tidak terdapat pada SPA

3.4.2.4 Proses Pembentukan Aturan

a. Ambil atribut-atribut dari proses reduct dari SPA b. Mengubah bentuk data menjadi bentuk pohon a. Menentukan node awal Langkah yang dilakukan untuk menentukan node awal adalah menghitung nilai gain tiap atribut kecuali atribut keputusan. Berikut merupakan langkah-langkah penghitungannya : a Hitung jumlah baris pada sampel data b Hitung entropi atribut keputusan dengan rumus 2.3 c Cari atribut-atribut dan hitung jumlah atribut yang akan dihitung nilai gainnya d Hitung jumlah kejadian untuk atribut ke-i e Untuk atribut ke-i, kejadian ke-j Hitung jumlah sampel yang memenuhi syarat kejadian dengan atribut ke-i = kejadian ke-j dan status = Daftar Ulang Hitung jumlah sampel yang memenuhi syarat kejadian dengan atribut ke-i = kejadian ke-j dan status = tidak DU. f Kemudian hitung nilai entropi pada kejadian ke-j dengan rumus 2.4 g Lakukan langkah e dan f untuk keseluruhan atribut ke-i h Hitung rata-rata terbobot entropi atribut ke-i dengan rumus 2.5 i Hitung nilai gain atribut ke-i dengan mengurangkan entropi atribut keputusan dengan rata-rata terbobot entropi atribut ke-i. j Cari Split dengan rumus 2.6 j Cari Gain Ratio dengan rumus 2.7 j Cari nilai gain ratio atribut paling besar. Atribut inilah yang akan menjadi node awal. b. Menyusun pohon Setelah node awal didapat, langkah selanjutnya adalah menyusun pohon. Hal pertama yang harus dilakukan adalah mencari kejadian-kejadian yang ada pada node awal. Kejadian- kejadian ini yang akan menjadi cabang- cabang pada pohon. Langkah selanjutnya, mencari sampel data pada setiap cabang dimana harus memenuhi nilai dari cabang tersebut dan nilai dari cabang-cabang di atasnya jika ada. Proses dibawah ini dilakukan pada setiap cabang-cabang tersebut. Hitung jumlah sampel yang memenuhi syarat di atas dan setiap kejadian pada atribut keputusan yaitu dalam hal ini adalah atribut status. Selanjutnya dilakukan proses pengecekan untuk menentukan ada atau tidaknya percabangan, proses tersebut berupa :  Jika sampel tidak ada, maka cari kejadian paling banyak pada atribut keputusan untuk keseluruhan sampel. Kejadian paling banyak inilah yang menjadi nilai hasil.  Jika sampel sudah homogen, maka hasilnya berupa kejadian atribut keputusan pada sampel ini, dan tidak dilakukan percabangan lagi.  Jika sampel masih heterogen dan sampel tidak kosong serta atribut kondisi masih ada maka dilakukan percabangan lagi. Proses ini dilakukan dengan menentukan node selanjutnya. Proses penentuan node selanjutnya hampir sama dengan proses penentuan node awal, yang membedakan adalah tidak dilakukannya penghitungan nilai gain pada atribut yang menjadi node di atasnya. Setelah itu lakukan lagi langkah-langkah di atas. Namun jika atribut kondisi sudah habis, maka tidak dilakukan percabangan lagi, kemudian cari nilai hasil dengan melakukan pencarian terhadap kejadian paling banyak pada atibut keputusan pada sampel yang tersisa. c. Mengubah node pohon menjadi aturan Langkah-langkah untuk mengubah node pohon menjadi aturan yang dimulai dari node pertama adalah sebagai berikut : 1. Pada node tersebut, cari cabang-cabang kejadian-kejadian dari pohon. Setiap cabang akan menjadi aturan dengan anteseden berupa node = cabang ke-j. 2. Selanjutnya untuk setiap cabang dilakukan pengecekan apakah ada node lagi hasil kosong atau tidak hasil berupa Daftar Ulang atau tidak DU. a. Jika tidak, maka nilai hasil akan menjadi konsekuen b. Jika ada, maka cari anteseden selanjutnya dengan melakukan langkah 1 dan seterusnya.

3.4.2.5 Proses Simpan Aturan

Pada saat proses mengubah pohon menjadi aturan dalam proses sebelumnya, setiap satu aturan terbentuk, akan langsung disimpan kedalam tabel aturan pada basis data.

3.4.2.6 Proses Prediksi

1. Baca file data .csv 2. Masukkan ke array mahasiswa 3. Masukkan semua data nilai mahasiswa, data numeric kedalam array sebagai berikut : int jumData = mahasiswa.length; int arrayVerbal[ ] = new int[jumData]; int arrayNumerik[ ] = new int[jumData]; int arrayMekanik[ ] = new int[jumData]; int arrayRuang[ ] = new int[jumData]; int arrayInggris[ ] = new int[jumData]; for int i = 0; i jumData; i++ { looping sebanyak jumData for int j = 0; j 5; j++ { loop kolom yg ingin ditransform if j == 0 { arrayVerbal[i] = mahasiswa [i].getPenalaran_verbal; } else if j == 1 { arrayNumerik[i] = mahasiswa [i].getKemampuan_numerik; } else if j == 2 { arrayMekanik[i] = mahasiswa [i].getPenalaran_mekanik; } else if j == 3 { arrayRuang[i] = mahasiswa [i].getHubungan_ruang; } else if j == 4 { arrayInggris[i] = mahasiswa [i].getBahasa_inggris; } } } 4. Transformasikan data nilai setiap array diatas, dan simpan hasilnya untuk setiap langkahnya kedalam array yang lain sebagai berikut : String KonArrayVerbal[ ] = new String [arrayVerbal.length]; String KonArrayNumerik[ ] = new String [arrayNumerik.length]; String KonArrayMekanik[ ] = new String [arrayMekanik.length]; String KonArrayRuang[ ] = new String [arrayRuang.length]; String KonArrayInggris[ ] = new String [arrayInggris.length]; 5. Set mahasiswa set data masukan diatas kedalam kelas mahasiswa 6. for int x = 0; x mhs.length; x++ { id_master = 1; set idRoot = 1 String prediksi; Ambil pola dari database Masukkan ke tree, dan dari tree masukkan ke arraylist.addtree Cari atribut akar dari tree A. String atribut, int idRoot =1 , String atribut akar, mhs[x]; for int i = 0; i arraylist.size; i++ { Tree tree = Tree arraylist.elementAti; Jika idRoot di tree = idRoot { Jika atribute = attributA { Jika tree.cabang = mhs[x].getAtributA { idRoot = tree.getId; jika tree.status == null { ???? jika tree.atribut = atributA { atribut = atributA; } lainnya jika tree.atribut = atributB { atribut = atributB; } Dan seterusnya sebanyak atribut yang ada. Ulangi dari langkah A diatas secara rekursif; } tutup ???? Lainnya { Status = tree.getStatus; jadi untuk mahasiswa[x] = Status; } } tutup Lainnya jika { lihat bagian yang diarsir Ulangi bagian Cek untuk setiap attibut yang ada; tree.cabang = mhs[x].getAtributB; tree.cabang = mhs[x].getAtributC; dll; } tutup } tutup } tutup idRoot } tutup loop sebanyak pohon size 7. Ulang sebanyak jumlah mahasiswa.

3.4.2.7 Proses Pengukuran Tingkat Akurasi

A. Masukkan hasil transformasi data mahasiswa kedalam vector [ ] DataSet B. totalDATA = DataSet.size C. Bagi DataSet kedalam fold asumsi dibagi kedalam 2 fold D. Vector[ ] statusMhs = {new Vector, new Vector}; Vector[ ] fold = {new Vector, new Vector}; Masukkan semua mahasiswa dengan status “tidak_daftar_ulang” kedalam Vector statusMhs[0], dan semua mahasiswa dengan status “daftar_ulang” kedalam Vector statusMhs[1]. E. int iterasiFold = 0; pisah data mhs daftar_ulang kedalam 2 fold for int a = 0; a statusMhs[0].size; a++ { fold[iterasiFold].addstatusMhs[0].geta; iterasiFold++; if iterasiFold == 2 { iterasiFold = 0; } } pisah data mhs tidak_ daftar_ulang kedalam 2 fold for int b = 0; b statusMhs[1].size; b++ { fold[iterasiFold].addstatusMhs[1].getb; iterasiFold++; if iterasiFold == 2 { iterasiFold = 0; } } F. Setelah DataSet dipecah menjadi 2 fold, simpan hasilnya kedalam Vector[ ] data, data[0] dan data[1]; G. Atur data sebagai berikut, untuk membagi data menjadi data pelatihan training dan data pengujian testing. H. Iterasi = 0; Vector dataTraining = new Vector; Vector dataTesting = new Vector; Jika iterasi == 1 { dataTesting.addAlldata[0]; data fold 1 sbg testing dataTraining.addAlldata[1]; data fold 2 sbg training } lainnya jika iterasi == 2 { dataTesting.addAlldata[1]; data fold 2 sbg testing dataTraining.addAlldata[0]; data fold 1 sbg training } I. Untuk iterasi 1, bentuk aturan dari data training. J. Prediksi data testing dengan pola yang terbentuk dari data training K. Cari jumlah data prediksi yang sama dengan status mahasiswa sebenarnya, jika benar, simpan jumlah data benar kedalam variable misal TotalDataValid. L. Lanjutkan dengan iterasi yang kedua M. TingkatAkurasi = TotalDataValid total data 100

3.4.3 Keluaran Sistem

Sistem yang akan dibuat menampilkan keluaran sebagai berikut : 1. Menampilkan atribut keseluruhan 2. Menampilkan data pelatihan dan jumlahnya 3. Menampilkan hasil reduct dari data pelatihan 4. Menampilkan pola dari proses klasifikasi pembentukan pohon 5. Hasil Prediksi untuk setiap data uji dan tingkat keakurasian

3.4.4 Diagram Kelas Analisis

Pada tahap ini, diagram kelas analisis digambarkan secara keseluruhan. Berikut adalah gambar diagram kelas analisis : Use Case Input Data javax.swing JPanel swingmakeover GradientPanel view Transform entity Mahasiswa swingmakeover PanelBackGround controller ReadCSVFIle Gambar 3.5 Alur kelas untuk use case input data pelatihan Use Case Transformasi javax.swing JPanel swingmakeover GradientPanel view Transform entity Mahasiswa swingmakeover PanelBackGround controller ReadCSVFIle controller TrainingProcess Gambar 3.6 Alur kelas untuk use case transformasi data Use Case Reduct javax.swing JPanel swingmakeover GradientPanel view Transform controller BooleanMatriks entity Mahasiswa swingmakeover PanelBackGround controller ReadCSVFIle entity tree swingmakeover RenderWarnaWarni controller TrainingProcess entity statusenum swingmakeover PanelAlphaRect view FormHasilReduct Gambar 3.7 Alur kelas untuk use case reduct Use Case Pembentukan Pohon dan Simpan Aturan javax.swing JPanel swingmakeover GradientPanel controller CrossValidasi entity Mahasiswa swingmakeover PanelBackGround controller PrediksiControlle r swingmakeover RenderWarnaWarni entity tree swingmakeover PanelAlphaRect view FormHasilReduct controller TrainingProcess entity Prediksi swingmakeover PanelBackgroundTree view TreeForm Gambar 3.8 Alur kelas pembentukan pohon keputusan Use Case Prediksi dan Alokasi Kuota javac.swing JButton javax.swing JPanel swingmakeover ButtonImageGlass swingmakeover GradientPanel view HomeIndex view PerencanaanQouta entity Mahasiswa swingmakeover PanelAlphaRect swingmakeover PanelBackGround swingmakeover PanelBackgroundHome view FormPrediksiData controller ReadCSVFIle swingmakeover PanelGlass controller TrainingProcess Gambar 3.9 Alur kelas pembentukan pohon keputusan

Dokumen yang terkait

Implementasi algoritma reduct based decision tree untuk mengenali pola klasifikasi mahasiswa yang terkena sisip program.

0 1 229

Pencarian karakteristik calon mahasiswa baru Universitas Sanata Dharma yang tidak mendaftar ulang dengan menggunakan algoritma pohon.

0 0 125

MANAJEMEN WAKTU MAHASISWA TERHADAP KURIK

0 1 17

Pencarian karakteristik calon mahasiswa baru Universitas Sanata Dharma yang tidak mendaftar ulang dengan menggunakan algoritma pohon - USD Repository

0 0 123

Klasifikasi Data Penerimaan Mahasiswa Baru dan Prestasi akademik mahasiswa Jurusan Teknik Informatika Universitas Sanata Dharma dengan menggunakan algoritma naive bayesian - USD Repository

0 1 145

Pencarian pola klasifikasi mahasiswa yang tidak memenuhi sisip program berdasarkan nilai tes masuk penerimaan mahasiswa baru dan latar belakang mahasiswa Universitas Sanata Dharma dengan menggunakan algoritma C4.5 - USD Repository

0 0 175

Prediksi calon mahasiswa baru Universitas Sanata Dharma yang tidak mendaftar ulang menggunakan algoritma Naive Bayessian - USD Repository

0 0 119

Pengenalan pola klasifikasi status registrasi calon mahasiswa baru Universitas Sanata Dharma dengan algoritma Reduct Based Decision Tree (RDT) - USD Repository

0 1 151

Pencarian pola klasifikasi karya pengembangan profesi guru berdasarkan data sertifikasi guru dengan algoritma Reduct Based Decision Tree (RDT) - USD Repository

0 0 231

Implementasi algoritma reduct based decision tree untuk mengenali pola klasifikasi mahasiswa yang terkena sisip program - USD Repository

0 0 227