Jalannya Program dan Pembahasannya

63

BAB IV IMPLEMENTASI PROGRAM

A. Jalannya Program dan Pembahasannya

Program ini meminta masukan berupa himpunan data pelatihan yang digunakan untuk membuat pohon keputusan dan aturan-aturan serta himpunan data tes yang digunakan untuk menguji aturan-aturan yang telah dibuat. Dari pengujian tersebut dapat diketahui seberapa besar ketepatan prediksi dari aturan-aturan yang telah dibuat. Berikut ini merupakan penjabaran proses jalannya program. Pada saat program dijalankan, form yang pertama kali ditampilkan adalah form berikut ini : Gambar 4.1 Form Menu dan Form Input Data Tabel Pada form menu terdapat menu File, Window dan Help. Masing- masing menu memiliki fungsi sendiri-sendiri. Di dalam menu file terdapat submenu-submenu yaitu Program Penambangan Data menu untuk melakukan proses penentuan data dan Keluar menu untuk keluar dari program. Menu Window untuk menampilkan form yang aktif atau yang sudah ditampilkan. Menu Bantuan terdiri dari submenu Aturan yaitu menu untuk menampilkan aturan-aturan tentang himpunan data pelatihan dan himpunan data tes dan submenu Tentang Program Penambangan Data yaitu menu untuk menampilkan informasi tentang program ini. Untuk lebih jelasnya, lihat gambar berikut ini : Gambar 4.2 Form Aturan Himpunan Tabel Pelatihan dan Tes Gambar 4.3 Form Tentang Program Penambangan Data Dalam form input data tabel, pertama-tama pemakai program diminta memilih tabel data pelatihan yang sudah ditampilkan dalam combo box pelatihan sewaktu form ini aktif dan memilih tabel data tes. Jika pemakai program belum memilih kedua tabel, maka program akan menampilkan kotak peringatan : Gambar 4.4 Kotak Peringatan 1 Jika tabel data tes belum dipilih, maka program akan menampilkan kotak peringatan : Gambar 4.5 Kotak Peringatan 2 Tombol Reset digunakan jika pemakai program ingin mengulang pemilihan tabel. Jika pemilihan tabel sudah selesai, maka untuk melanjutkan ke proses selanjutnya pengguna dapat menekan tombol OK. Tombol ini akan menampilkan form Data Tabel, dimana dalam form ini akan ditampilkan detail tabel data pelatihan dan tabel data tes yang telah dipilih sebelumnya. Pada program ini dipilih tabel training sebagai tabel data pelatihan dan tabel test sebagai tabel data tes. Di bawah ini merupakan form data tabel Tabel Pelatihan : Gambar 4.6 Form Data Tabel Tabel Pelatihan Berikut ini merupakan form data tabel Tabel Tes : Gambar 4.7 Form Data Tabel Tabel Tes Jika pemakai program memilih tab control untuk Tabel Pelatihan, maka akan ditampilkan tabcontrol tabel pelatihan yang di dalamnya terdapat tombol tampil tabel. Jika tombol ini ditekan, maka informasi detail tabel akan ditampilkan. Informasi ini berisi tentang jumlah atibut, jumlah data, nama atribut keputusan, jumlah dan nama kejadian atribut PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI keputusan dan informasi tentang detail atribut yang lain beserta jumlah sampel setiap kejadian suatu atribut. Untuk menampilkan informasi tentang detail atribut yang lain, pemakai program dapat memilih nama atribut yang sudah ditampilkan di combo box. Informasi yang ada pada tabel tes sebagian besar sama dengan informasi yang ada pada tabel pelatihan. Yang membedakan adalah penambahan informasi tentang nama atribut hasil. Tombol Tampil Tabel juga akan mengaktifkan tombol Proses ID3 yang berguna untuk menampilkan form penentuan node awal. Berikut ini adalah form Penentuan Node Awal : Gambar 4.8 Form Penentuan Node Awal Jika tombol Cari Node Awal ditekan, maka proses pencarian node awal akan dilakukan. Proses ini memilih atribut dengan nilai gain paling besar sebagai node awalnya. Dalam form ini juga terdapat progressbar PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI yang berfungsi untuk menunjukkan bahwa proses penentuan node awal sedang berlangsung. Konstruksi programnya adalah sebagai berikut : entropi_awal = 0 For i = 0 To MDI_utama.temp_sq1_akhir.Rows.Count - 1 q1 = select count MDI_utama.field_akhir from _ MDI_utama.tbl_training where MDI_utama.field_akhir _ = MDI_utama.temp_sq1_akhir.Rowsi.Item0 Dim ambil_p As New MySqlDataAdapterq1, konek Dim temp As New DataTable ambil_p.Filltemp PA = temp.Rows0.Item0 objDt.Rows.Count PAlog = Math.LogPA, 2 ea_p = -1 PA PAlog entropi_awal = entropi_awal + ea_p Next Fungsi di atas adalah untuk mencari nilai entropi total dari atribut keputusan untuk keseluruhan data sample. atribut = 0 j = 0 Do While j = tempfields.Rows.Count - 3 qkejadian = select distinct arrkejj from MDI_utama.tbl_training Dim ambil_kej As New MySqlDataAdapterqkejadian, konek Dim tempkej As New DataTable ambil_kej.Filltempkej Dim total_akhirtempkej.Rows.Count - 1, entropitempkej.Rows.Count - 1 As Double rt_entropi = 0 For i = 0 To tempkej.Rows.Count - 1 tot_akhir = 0 Dim jum_target1 For x = 0 To MDI_utama.temp_sq1_akhir.Rows.Count - 1 q2 = select count from MDI_utama.tbl_training where MDI_utama.field_akhir = MDI_utama.temp_sq1_akhir.Rowsx.Item0 and arrkejj = tempkej.Rowsi.Item0 Dim tot_entr1 As New MySqlDataAdapterq2, konek Dim qa1 As New DataTable tot_entr1.Fillqa1 jum_targetx = qa1.Rows0.Item0 tot_akhir = tot_akhir + jum_targetx Next total_akhiri = tot_akhir etot_at = 0 For x = 0 To MDI_utama.temp_sq1_akhir.Rows.Count - 1 If jum_targetx 0 Then Ptot = jum_targetx tot_akhir logPtot = Math.LogPtot, 2 End If If jum_targetx = 0 Then Ptot = 0 logPtot = 0 End If entrp = -1 Ptot logPtot etot_at = etot_at + entrp Next entropii = etot_at rt_entropi = rt_entropi + total_akhiri objDt.Rows.Count entropii Next gain = entropi_awal - rt_entropi gain_fieldj = gain gain = 0 j = j + 1 Loop Fungsi di atas adalah untuk menghitung nilai gain setiap atribut besar = gain_field0 For i = 0 To tempfields.Rows.Count - 3 If besar = gain_fieldi Then besar = gain_fieldi besar_i = i End If Next MDI_utama.node_awal = tempfields.Rowsbesar_i + 1.Item0 menyimpan atribut yang menjadi node awal gain_awal = gain_fieldbesar_i Fungsi ini adalah untuk mencari nilai gain yang paling besar dan memilih atribut dengan nilai gain ini sebagai node awal. Tombol Cari Node Awal ini harus ditekan terlebih dahulu sebelum melanjutkan ke proses selanjutnya. Tombol ini juga akan mengaktifkan tombol Lanjut yaitu tombol untuk melanjutkan ke form pembuatan pohon. Tombol ini menjadi tidak aktif ketika hasil penentuan node awal sudah ditampilkan. Di bawah ini merupakan form Pembuatan Pohon : PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Gambar 4.9 Form Pembuatan Pohon Proses pembuatan pohon ini akan dilakukan ketika tombol Buat Pohon ditekan. Proses ini akan menampilkan informasi tentang nomor akar, tingkat pohon, no akar atasnya, node, cabang dan hasil pohon. Konstruksi program untuk pembuatan pohon dapat dilihat di lampiran. Pada konstruksi program tersebut proses yang dilakukan pertama adalah mencari kejadian-kejadian yang ada pada node awal, kemudian menyimpannya dalam array. Dalam program ini digunakan arrayList untuk menyimpan nomor akar, tingkat pohon, nomor akar atasnya, node, cabang dan hasil. Berikut ini pendeklarasian dari arrayList : Public no, tingkat_phn, noakaratas_phn, node_phn, cabang_phn, _ hsl_phn As New ArrayList Proses selanjutnya mencari sampel tiap cabang kejadian dari node awal tersebut. Dari pencarian tersebut dilakukan pengecekan homogenitasnya. Jika sampel homogen, maka program akan menyimpan PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI kejadiannya sebagai hasil. Jika sampel tidak ada, maka program akan menyimpan kejadian paling banyak pada atribut keputusan sebagai hasil. Jika sampel masih heterogen, maka program akan mencari node lagi dan menyimpan sampel beserta nomor recordnya dalam arrayList sampel dan menyimpan node ini sebagai atribut yang tidak diikutkan dalam proses penentuan node selanjutnya. Jika sudah selesai, maka program akan melakukan pengecekan untuk mencari anak cabang. Jika MDI_utama.hsl_phnjfor = , maka program akan melakukan proses pembuatan anak cabang. Pada proses ini juga terdapat proses penghitungan nilai gain untuk memperoleh atribut dengan nilai gain terbesar. Proses selengkapnya dapat dilihat dalam konstruksi programnya di lampiran. Selama proses pembuatan pohon dilakukan, program akan menampilkan progress bar yang berfungsi sebagai indikator untuk mengetahui proses pembuatan pohon sedang berlangsung. Berikut ini progress bar tersebut : Gambar 4.10 Progress Bar Proses Pembuatan Pohon Jika dilakukan double klik pada salah satu cabang yang mempunyai hasil = “”, maka program akan menunjukkan anak cabangnya. Jika hasil tidak sama dengan “”, maka program akan menampilkan kotak pesan : Gambar 4.11 Kotak Pesan 1 Ketika tabel pohon ditampilkan dalam datagridview, maka tombol Buat Pohon menjadi tidak aktif sedangkan tombol Lanjut menjadi aktif. Jika tombol Lanjut ditekan, maka form Unpruned Aturan akan ditampilkan. Berikut ini form Unpruned Aturan tersebut : Gambar 4.12 Form Unpruned Aturan Proses unpruned aturan dilakukan jika tombol Unpruned ditekan. Proses ini dimulai dari indeks yang sudah pasti tidak ada anak cabangnya yaitu indeks yang terbesar sehingga program akan mencari indeks akar atasnya saja. Selanjutnya dilakukan pengecekan apakah hasil sama dengan “”. Jika tidak, maka program akan menyimpan aturan dengan hasil sebagai konsekuennya sedangkan atribut dan cabang sebagai antesedennya. Anteseden-anteseden akan terus dicari sampai akar paling atas atau indeks akar bernilai 0. untuk lebih jelasnya, berikut ini konstruksi programnya : fungsi untuk mencari rule menyimpan nomor rule no_rule = 0 menyimpan anteseden MDI_utama.i_rule = -1 indeks rule MDI_utama.i_prediksi = -1 indeks data sampel i_dtSampel = -1 dimulai dari indeks pohon paling besar Dim awal = MDI_utama.indx_phn Dim xyz, q As Integer Do While awal = 0 Dim hasilX = MDI_utama.hsl_phnawal Dim i_akar = MDI_utama.noakaratas_phnawal Dim jml_Sampel = MDI_utama.sampelsisa_phnawal If hasilX = Then Else If i_akar 0 Then jika belum mrpk akar plg atas menyimpan rule no_rule = no_rule + 1 MDI_utama.i_prediksi = MDI_utama.i_prediksi + 1 prediksi_A.InsertMDI_utama.i_prediksi, no_rule prediksi_B.InsertMDI_utama.i_prediksi, hasilX prediksi_C.InsertMDI_utama.i_prediksi, jml_Sampel mencari atribut cabang yg akan mjd anteseden sampai akar plg atas Dim i_Phn = awal Do While i_akar 0 menyimpan anteseden2 MDI_utama.i_rule = MDI_utama.i_rule + 1 rule_A.InsertMDI_utama.i_rule, no_rule rule_B.InsertMDI_utama.i_rule, _ MDI_utama.node_phni_Phn rule_C.InsertMDI_utama.i_rule, _ MDI_utama.cabang_phni_Phn xyz = i_akar menentukan akar atasnya i_akar = MDI_utama.noakaratas_phnxyz i_Phn = xyz Loop menyimpan anteseden2 yg mrpk atributakar plg atas MDI_utama.i_rule = MDI_utama.i_rule + 1 rule_A.InsertMDI_utama.i_rule, no_rule rule_B.InsertMDI_utama.i_rule, _ MDI_utama.node_phnxyz rule_C.InsertMDI_utama.i_rule, _ MDI_utama.cabang_phnxyz Else jika sudah mrpk akar plg atas menyimpan rule no_rule = no_rule + 1 MDI_utama.i_prediksi = MDI_utama.i_prediksi + 1 prediksi_A.InsertMDI_utama.i_prediksi, no_rule prediksi_B.InsertMDI_utama.i_prediksi, hasilX prediksi_C.InsertMDI_utama.i_prediksi, jml_Sampel menyimpan anteseden MDI_utama.i_rule = MDI_utama.i_rule + 1 rule_A.InsertMDI_utama.i_rule, no_rule rule_B.InsertMDI_utama.i_rule, _ MDI_utama.node_phnawal rule_C.InsertMDI_utama.i_rule, _ MDI_utama.cabang_phnawal End If menyimpan data sampel u suatu rule Dim sdsdsd = MDI_utama.indx_sampel2 For q = 0 To MDI_utama.indx_sampel2 If awal = MDI_utama.sampel2_Aq Then i_dtSampel = i_dtSampel + 1 MDI_utama.dt_sampel_A.Inserti_dtSampel, _ prediksi_AMDI_utama.i_prediksi MDI_utama.dt_sampel_B.Inserti_dtSampel, _ MDI_utama.sampel2_Bq End If Next End If awal = awal - 1 Loop Fungsi di atas adalah untuk mencari aturan dari tabel pohon yang telah dibuat sebelumnya Selama proses unpruned aturan berlangsung, program akan menampilkan status progress bar : Gambar 4.13 Status Progress Bar Unpruned Aturan Pada saat hasil proses unpruned aturan ditampilkan, maka tombol Unpruned menjadi tidak aktif dan tombol Lanjut menjadi aktif. Proses akan dilanjutkan dengan menekan tombol Lanjut dan form Aturan Default akan ditampilkan. Berikut ini form Aturan Default: Gambar 4.14 Form Aturan Default Pada form tersebut proses pembuatan aturan default dapat dilakukan dengan menekan tombol aturan default. Jika pemakai program menekan tombol ini, maka program akan menampilkan kotak pesan yang berisi konsekuen paling banyak yaitu : Gambar 4.15 Kotak Pesan 2 Jika memilih tombol ‘Yes’, maka aturan-aturan dengan konsekuen tersebut akan dieliminasi atau dengan kata lain dijadikan aturan default. Jika memilih tombol ‘No’, maka aturan-aturan dengan konsekuen tersebut tidak dieliminasi. Aturan-aturan dapat ditampilkan dengan memilih konsekuen yang ada pada combo box klasifikasi. Jika konsekuen yang dipilih merupakan konsekuen yang menjadi aturan default, maka akan ditampilkan kotak pesan : Gambar 4.16 Kotak Pesan 3 Untuk melanjutkan ke proses selanjutnya, maka pengguna program dapat menekan tombol Lanjut. Tombol ini akan menampilkan form Simulasi dan Pengujian Aturan. Dalam form ini, yang pertama kali ditampilkan adalah form simulasi : Gambar 4.17 Form Simulasi Pada form di atas proses pembuatan simulasi dapat dilakukan dengan menekan tombol Buat Simulasi. Proses pembuatan simulasi merupakan proses dimana pengguna dapat membuat variasi simulasi aturan. Proses ini dilakukan dengan cara menghapus aturan yang tidak diinginkan. Simulasi yang terbentuk memberikan hasil persentase keberhasilan prediksi yang bervariasi, sesuai dengan aturan-aturan yang dihapus sebelumnya. Jika tombol Buat Simulasi ditekan maka, akan memunculkan tombol Pengujian Aturan, Lihat Sampel, Hapus Sampel dan Selesai. Untuk lebih jelasnya dapat melihat gambar di bawah ini : PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Gambar 4.18 Form Simulasi Setelah Tombol Buat Simulasi diklik Tombol Lihat Sampel ditekan akan menampilkan form Detail Sampel lihat gambar di bawah Gambar 4.19 Form Detail Sampel Tombol Hapus Aturan ditekan, maka aturan yang terseleksi akan dihapus dan ditampilkan pada tabel Aturan yang Dihapus. Tombol Selesai ditekan, maka akan ditampilkan kotak pesan : Gambar 4.20 Kotak Pesan 4 Jika memilih tombol ‘Yes’, maka proses pembuatan simulasi telah selesai dan akan menampilkan tombol Pengujian Aturan. Jika memilih tombol ‘No’, maka akan kembali ke proses sebelumnya. Ada dua pilihan dalam proses ini, yaitu program memberikan fasilitas untuk melakukan penghapusan terhadap aturan-aturan sederhana yang tidak diinginkan, kemudian melakukan pengujian aturan atau langsung melakukan pengujian aturan terhadap himpunan data tes. Jika langsung melakukan pengujian aturan, maka dapat menekan tombol Pengujian Aturan. Tombol ini akan menampilkan form selanjutnya, yaitu form Pengujian Aturan. Berikut ini form Pengujian Aturan : Gambar 4.21 Form Pengujian Aturan Pada form tersebut, tombol Data Test digunakan untuk menampilkan tabel tes dan detail atribut keputusan pada tabel tes. Pengguna dapat melakukan pengujian aturan dengan menekan tombol Uji Aturan. Program akan PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI menyimpan hasil pengujian aturan dan menampilkan hasil prediksi pada tabel Pengujian Aturan beserta persentase keberhasilan prediksi. Program juga akan menampilkan Hasil Simulasi. Untuk lebih jelasnya dapat dilihat gambar di bawah ini : Gambar 4.22 Form Pengujian Aturan Setelah Tombol Uji Aturan diklik Pada tabel Hasil Simulasi terdapat tombol Aturan-Aturan, Pilih Simulasi, Hapus Simulasi dan Buat Simulasi. Untuk melihat aturan- aturan yang ada pada suatu simulasi tekan tombol Aturan-Aturan lihat gambar di bawah ini. Gambar 4.23 Form Detail Simulasi Aturan Untuk membuat simulasi lagi tekan tombol Buat Simulasi. Tekan tombol Hapus Simulasi untuk menghapus simulasi yang diinginkan dan menampilkan kotak pesan sebagai berikut : Gambar 4.24 Kotak Pesan 5 Jika memilih tombol ‘Yes’, maka simulasi yang dipilih akan dihapus. Jika memilih tombol ‘No’, maka akan kembali ke proses sebelumnya. Tekan tombol Pilih Simulasi untuk memilih simulasi yang diinginkan dan menampilkan kotak pesan : Gambar 4.25 Kotak Pesan 6 Jika memilih tombol ‘Yes’, maka akan dilanjutkan ke form Aturan-Aturan Sederhana dan Prediksi Sampel. Jika memilih tombol ‘No’, maka akan kembali ke proses sebelumnya. Berikut ini form Aturan-Aturan Sederhana: Gambar 4.26 Form Aturan-Aturan Sederhana Form di atas untuk mengetahui aturan-aturan yang paling sederhana berdasarkan simulasi yang telah dipilih sebelumnya. Untuk melakukan prediksi terhadap suatu sampel, tekan tab control Prediksi Sampel lihat gambar di bawah. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Gambar 4.27 Form Prediksi Sampel Untuk melakukan prediksi suatu sampel tekan tombol prediksi, maka combo box Nama Atribut akan aktif. Pemakai program dapat memilih atribut dari combo box tersebut. Setelah atribut dipilih maka combo box Nama Kejadian akan aktif. Combo box ini akan menampilkan nama-nama kejadian sesuai atribut yang dipilih sebelumnya. Proses ini dilakukan terus sampai nama atribut habis. Tombol Reset digunakan jika pengguna ingin mengulang pemilihan atribut yang sebelumnya telah dimasukkan. Kemudian tekan tombol Hasil Prediksi untuk menampilkan hasil prediksi berdasarkan nama-nama atribut dan kejadian yang telah dimasukan lihat gambar di bawah. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI Gambar 4.28 Form Prediksi Sampel Setelah Proses Prediksi Tekan tombol Prediksi untuk melakukan prediksi lagi dan tekan tombol Selesai untuk keluar dari program.

B. Analisa Hasil Program

Dokumen yang terkait

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

1 5 153

Mahasiswa Baru Sedang Mendaftar.

0 0 1

Sistem Penjadwalan Dinamis Mahasiswa Baru Menggunakan Algoritma Genetika (Studi Kasus: Registrasi Ulang Mahasiswa Baru Universitas Sumatera Utara)

0 0 11

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

Analisis faktor-faktor yang mempengaruhi keputusan peminat untuk memilih Universitas Sanata Dharma Yogyakarta dan bukan universitas Katolik yang lain : studi kasus pada calon mahasiswa baru angkatan 2008 Universitas Sanata Dharma Yogyakarta - USD Reposito

0 0 134

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