Upload
doanh
View
220
Download
0
Embed Size (px)
Citation preview
i
PENCARIAN KARAKTERISTIK CALON MAHASISWA
BARU UNIVERSITAS SANATA DHARMA YANG TIDAK
MENDAFTAR ULANG DENGAN MENGGUNAKAN
ALGORITMA POHON KEPUTUSAN
Skripsi
Diajukan untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Sains
Program Studi Ilmu Komputer
Oleh:
Lilik Haryanto
NIM: 033124010
PROGRAM STUDI ILMU KOMPUTER JURUSAN MATEMATIKA
FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA
YOGYAKARTA 2008
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
i
FINDING CHARACTERISTICS OF SANATA DHARMA
UNIVERSITY NOT-ENROLLING-APPLICANTS USING
DECISION TREE ALGORITHM
A Final Thesis
Presented as Partial Fulfillment of The Requirements
for the Degree of Sarjana Sains
in Computer Science
By:
Lilik Haryanto
Student Number: 033124010
COMPUTER SCIENCE STUDY PROGRAM DEPARTMENT OF MATHEMATICS
FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY
YOGYAKARTA 2008
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
“ Akirametakunai, Fuan ni naru to te wo nigiri, Issho ni ayunde kita “ -Kiroro-
Kupersembahkan untuk:
Jesus Christ
Ibu, Bapak (Alm), Budhe, mas Hari, Pam-Pam
Sahabat-Sahabatku...
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
ABSTRAK
Penambangan data merupakan suatu teknik untuk mengestraksi pola yang
penting atau informasi yang menarik dari basis data yang berukuran besar.
Penambangan data memberikan informasi yang digunakan sebagai penunjang
dalam melakukan pengambilan keputusan. Teknik yang digunakan dalam
melakukan penambangan data diantaranya adalah klasifikasi, yaitu teknik yang
menentukan kelas-kelas ataupun kategori dari suatu objek berdasarkan
sifat/atribut yang dimilikinya. Salah satu metode klasifikasi adalah algoritma
pohon keputusan.
Dalam penulisan tugas akhir ini, algoritma pohon keputusan
diimplementasikan untuk mengenali karakteristik calon mahasiswa yang tidak
melakukan daftar ulang. Data-data yang digunakan merupakan data penerimaan
mahasiswa baru Universitas Sanata Dharma dari tahun 2005 sampai dengan 2006.
Seluruh data yang digunakan berisi informasi tentang gelombang masuk, prioritas
pilihan program studi di mana calon mahasiswa tersebut diterima, jenis_kelamin,
jenis sma, program studi tempat calon mahasiswa diterima dan status daftar ulang
yang dilakukan serta nilai finalnya. Data-data ini digunakan sebagai himpunan
data pelatihan dan himpunan data tes dalam proses penambangan data. Pengujian
dilakukan terhadap himpunan data pelatihan dan himpunan data tes. Hasil
pengujian menggunakan fivefold cross-validation dengan sampel data sebanyak
1400 record adalah 61.64 %.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vii
ABSTRACT
Data mining is a way to extract important pattern or interesting
information from large databases. Data mining gives information that is used to
make a decision. Classification is one of technique that can be applied on data
mining. The technique will define classes or categories of an object based on its
characteristics. One of classification technique is decision tree algorithm.
On this undergraduate thesis, the decision tree algorithm is applied to
recognize characteristics of new student candidates of Sanata Dharma University
that do not perform her-registration. The data that is used is new student
candidates of 2005 to 2006 academic year, which consists of registration periods,
the priority of applied study program, sex, the type of their high school, the study
program where the new student are accepted, her-registration status and the final
score of acceptance test. The data’s are used as training set and test set on data
mining process. The experiment is done to test training set and test set. The result
of experiment with 1400 records using fivefold cross-validation method is 61.64
%.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
KATA PENGANTAR
Dalam nama Bapa Putera dan Roh Kudus, penulis selalu diberi kekuatan
untuk berkembang dan menjadi lebih. Puji dan syukur penulis panjatkan kepada-
Nya atas segala kesehatan, keselamatan, keberuntungan, berkat, rahmat, kasih dan
bimbingan-Nya sehingga dapat menyelesaikan penyusunan skripsi yang berjudul
“ Penambangan Data Penerimaan Mahasiswa Baru Universitas Sanata Dharma
untuk Mencari Pola Karakteristik Calon Mahasiswa yang tidak Mendaftar Ulang
dengan Menggunakan Algoritma Pohon Keputusan”.
Dalam kesempatan ini, penulis ingin mengucapkan terima kasih yang
sebesar-besarnya kepada semua pihak yang turut memberikan dukungan,
semangat dan bantuan hingga selesainya skripsi ini :
1. Jesus Christ….Makasih untuk selalu mendampingi dan menuntunku di
saat apapun….Engkau selalu ada di saat tak seorangpun menemani setiap
langkahku….Bersama-Mu segalanya menjadi lebih mudah dan begitu
indah….
2. Keluargaku….Ibu Th. Kasyati, Bpk. Marjuki (Alm), Budhe, Masku Hari,
adikku Pam-Pam. Terima kasih atas semua cinta, kasih dan semangat yang
diberikan sehingga aku dapat lebih baik….Bu… akhirnya lulus…
3. Ibu P.H Prima Rosa, S.Si., M.Sc. selaku dosen pembimbing dan Kaprodi,
atas segala kesabaran, waktu, bimbingan dan saran yang diberikan.
4. Staf BAPSI USD atas data-data mahasiswa yang diberikan.
5. Romo Dr. C. Kuntoro Adi SJ., MA., M.Sc. selaku dosen penguji
6. Bapak St. Eko Hari Parmadi, S.Si., M.Kom. selaku dosen penguji
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
7. Bapak Drs. H. Haris Sriwindono, M.Kom selaku dosen pembimbing
akademik atas bimbingannya selama kuliah.
8. Pak Tukijo dan mbak Linda, maaf telah banyak merepotkan
9. Mas Susilo selaku pegawai laboran
10. Anak-anak program studi Ilmu Komputer: Oneng, Ina, Teguh, Iin, Toto,
Elis, Frans, Citra, Josephine, Vika, Ika, Kelik, Gondez, Suryo, Rey, Vitri,
Kadek, Henry, Doni, Teteh, Dimas, Andi, Anjar, Clara, Hendro, Beni Aji,
Iyus, Guritno, Wiwid, Rano, Aris, Wawan, Kornel, Beni, Ferry, Puguh,
Bayu, Fatso, Fani, Prity
11. Teman-teman, yang selalu ada dan tidak dapat penulis sebutkan satu
persatu, yang telah memberikan semangat dalam penulisan skripsi ini.
Penulis menyadari bahwa penyusunan skripsi ini masih jauh dari
sempurna karena keterbatasan kemampuan dan pengetahuan yang dimiliki serta
terbatasnya waktu yang ada. Oleh karena itu, dengan kerendahan hati, penulis
mengharapkan segala kritik maupun saran yang berguna dan membangun bagi
perbaikan skripsi ini.
Akhir kata, penulis berharap semoga skripsi ini dapat bermanfaat bagi
pembaca dan pihak lain yang membutuhkannya.
Penulis
Lilik Haryanto
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
DAFTAR ISI
HALAMAN JUDUL .......................................................................................... i
HALAMAN PERSETUJUAN PEMBIMBING .............................................. ii
HALAMAN PENGESAHAN ............................................................................ iii
HALAMAN PERSEMBAHAN iv
PERNYATAAN KEASLIAN KARYA ............................................................ v
ABSTRAK .......................................................................................................... vi
ABSTRACT ........................................................................................................ vii
LEMBAR PERNYATAAN PERSETUJUAN viii
KATA PENGANTAR ........................................................................................ ix
DAFTAR ISI ....................................................................................................... xi
DAFTAR TABEL .............................................................................................. xiii
DAFTAR GAMBAR .......................................................................................... xiv
BAB I PENDAHULUAN ........................................................................... 1
A. Latar Belakang ..................................................................... 1
B. Perumusan Masalah .............................................................. 3
C. Batasan Masalah ................................................................... 3
D. Tujuan ................................................................................... 4
E. Manfaat ................................................................................. 4
F. Metodologi ........................................................................... 4
G. Sistematika Pembahasan ...................................................... 5
BAB II LANDASAN TEORI ...................................................................... 6
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
A. Penambangan Data ............................................................... 6
B. Proses Penambangan Data ................................................... 6
C. Teknik Klasifikasi ................................................................ 10
D. Pohon Keputusan .................................................................. 11
E. Contoh Penerapan Algoritma Pohon Keputusan ….............. 20
BAB III PERANCANGAN SISTEM .......................................................... 40
A. Identifikasi Sistem ................................................................ 40
B. Pembersihan Data ................................................................. 41
C. Integrasi Data ....................................................................... 41
D. Transformasi Data ................................................................ 42
E. Perancangan Umum Sistem ................................................. 42
1. Masukan Sistem ......................................................... 42
2. Proses Sistem ............................................................. 44
3. Keluaran Sistem ......................................................... 48
4. Perancangan Struktur Data ......................................... 50
5. Perancangan Antarmuka ............................................ 51
BAB IV IMPLEMENTASI SISTEM .......................................................... 63
A. Jalannya Program dan Pembahasannya ................................ 63
B. Analisa Hasil Program.......................................................... 84
BAB V KESIMPULAN DAN SARAN ...................................................... 89
A. Kesimpulan ........................................................................... 89
B. Saran ..................................................................................... 89
DAFTAR PUSTAKA ......................................................................................... 91
LAMPIRAN ........................................................................................................ 93
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
DAFTAR TABEL
Tabel 2.1 Tabel Kontingensi 2 x 2........................................................... 16
Tabel 2.2 Data Nasabah........................................................................... 20
Tabel 2.3 Nilai information gain data nasabah 1..................................... 27
Tabel 2.4 Nilai information gain data nasabah 2..................................... 31
Tabel 2.5 Aturan Klasifikasi yang diperoleh............................................ 32
Tabel 2.6 Tabel Kotingensi Untuk Kekayaan.......................................... 33
Tabel 2.7 Tabel Nilai Frekuensi Harapan Untuk Kekayaan.................... 34
Tabel 2.8 Tabel Kotingensi Untuk abungan............................................. 36
Tabel 2.9 Tabel Nilai Frekuensi Harapan Untuk Tabungan.................... 37
Tabel 2.10 Aturan Yang Paling Sederhana................................................ 38
Tabel 2.11 Hasil Prediksi........................................................................... 39
Tabel 3.1 Deskripsi Atribut-Atribut Tabel Data Pelatihan....................... 34
Tabel 3.2 Deskripsi Atribut-Atribut Tabel Data Tes................................ 34
Tabel 3.3 Keluaran Contoh ArrayList…………….................................. 51
Tabel 4.1 Confusion Matrix Pengujian I….............................................. 85
Tabel 4.2 Confusion Matrix Pengujian II................................................. 85
Tabel 4.3 Confusion Matrix Pengujian III................................................ 86
Tabel 4.4 Confusion Matrix Pengujian IV............................................... 86
Tabel 4.5 Confusion Matrix Pengujian V................................................. 86
Tabel 4.6 Pengujian Cross-validation...................................................... 87
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
DAFTAR GAMBAR
Gambar 2.1 Langkah-langkah dalam Penambangan Data........................... 8
Gambar 2.2 Penambangan data dan teknologi database lainnya................. 9
Gambar 2.3 Pohon Keputusan...................................................................... 11
Gambar 2.4 Contoh Pohon Keputusan......................................................... 12
Gambar 2.5 Nilai positif dan negatif kejadian atribut tabungan.................. 22
Gambar 2.6 Nilai positif dan negatif kejadian atribut kekayaan.................. 23
Gambar 2.7 Nilai positif dan negatif kejadian atribut pendapatan............... 25
Gambar 2.8 Pohon Awal.............................................................................. 27
Gambar 2.9 Nilai positif dan negatif kejadian atribut tabungan.................. 28
Gambar 2.10 Nilai positif dan negatif kejadian atribut pendapatan............... 30
Gambar 2.11 Pohon Percabangan.................................................................. 32
Gambar 3.1 Desain Antarmuka Form Input Data Tabel.............................. 51
Gambar 3.2 Desain Antarmuka Form Detail Tabel..................................... 52
Gambar 3.3 Desain Antarmuka Form Penentuan Node Awal..................... 53
Gambar 3.4 Desain Antarmuka Form Pembuatan Pohon............................ 54
Gambar 3.5 Desain Antarmuka Form Unpruned Aturan............................. 55
Gambar 3.6 Desain Antarmuka Form Aturan Default................................. 56
Gambar 3.7 Desain Antarmuka Form Simulasi........................................... 57
Gambar 3.8 Desain Antarmuka Form Pengujian Aturan............................. 58
Gambar 3.9 Desain Antarmuka Form Detail Sampel.................................. 60
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xv
Gambar 3.10 Desain Antarmuka Form Aturan-Aturan................................. 60
Gambar 3.11 Desain Antarmuka Form Aturan-Aturan Sederhana................ 61
Gambar 3.12 Desain Antarmuka Form Prediksi Sampel............................... 61
Gambar 4.1 Form Menu dan Form Input Data Tabel................................. 63
Gambar 4.2 Form Aturan Himpunan Tabel Pelatihan dan Tes................... 64
Gambar 4.3 Form Tentang Program Penambangan Data............................ 64
Gambar 4.4 Kotak Peringatan 1................................................................... 65
Gambar 4.5 Kotak Peringatan 2................................................................... 65
Gambar 4.6 Form Data Tabel (Tabel Pelatihan) ......................................... 66
Gambar 4.7 Form Data Tabel (Tabel Tes) .................................................. 66
Gambar 4.8 Form Penentuan Node Awal.................................................... 67
Gambar 4.9 Form Pembuatan Pohon.......................................................... 70
Gambar 4.10 Progress Bar Proses Pembuatan Pohon................................... 71
Gambar 4.11 Gambar 4.11 Kotak Pesan 1................................................... 72
Gambar 4.12 Form Unpruned Aturan............................................................ 72
Gambar 4.13 Status Progress Bar Unpruned Aturan.................................... 75
Gambar 4.14 Form Aturan Default................................................................ 75
Gambar 4.15 Kotak Pesan 2........................................................................... 76
Gambar 4.16 Kotak Pesan 3........................................................................... 76
Gambar 4.17 Form Simulasi.......................................................................... 77
Gambar 4.18 Form Simulasi Setelah Tombol Buat Simulasi diklik.............. 78
Gambar 4.19 Form Detail Sampel................................................................. 78
Gambar 4.20 Kotak Pesan 4........................................................................... 78
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvi
Gambar 4.21 Form Pengujian Aturan............................................................ 79
Gambar 4.22 Form Pengujian Aturan Setelah Tombol Uji Aturan diklik..... 80
Gambar 4.23 Form Detail Simulasi Aturan................................................... 81
Gambar 4.24 Kotak Pesan 5........................................................................... 81
Gambar 4.25 Kotak Pesan 6........................................................................... 82
Gambar 4.26 Form Aturan-Aturan Sederhana............................................... 82
Gambar 4.27 Form Prediksi Sampel.............................................................. 83
Gambar 4.28 Form Prediksi Sampel Setelah Proses Prediksi........................ 84
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
PENDAHULUAN
A. Latar Belakang
Dalam proses Penerimaan Mahasiswa Baru (PMB), calon
mahasiswa harus menjalani serangkaian tes tertulis terlebih dahulu
sebelum mereka dinyatakan diterima sebagai mahasiswa Universitas
Sanata Dharma. Setelah mengikuti tes dan dinyatakan lulus, maka data
calon mahasiswa yang bersangkutan disimpan dalam suatu basis data
tersendiri. Untuk melengkapi persyaratan dan bukti bahwa calon
mahasiswa yang telah dinyatakan lulus tes tersebut benar-benar terdaftar
sebagai mahasiswa Universitas Sanata Dharma, maka calon mahasiswa
diwajibkan untuk melakukan daftar ulang. Setelah melakukan daftar ulang,
seorang mahasiswa secara resmi menjadi civitas academica di Universitas
Sanata Dharma. Yang menjadi masalah disini adalah bagaimana jika
mahasiswa yang telah dinyatakan lulus tersebut tidak melakukan daftar
ulang. Hal ini akan sangat merugikan bagi Universitas Sanata Dharma.
Suatu program studi pasti mempunyai jumlah kuota tertentu dalam
setiap periode penerimaan mahasiswa baru. Kuota ditentukan sebagai hasil
kesepakatan antara Ketua program studi (Kaprodi) dengan pimpinan
universitas. Untuk memenuhi kuota tersebut, Kaprodi menerima sejumlah
mahasiswa berdasar kuota yang ditetapkan. Pada kenyataannya tidak
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
seluruh mahasiswa yang diterima, mendaftar ulang kembali sehingga
kuota tidak terpenuhi. Namun, ketika ditetapkan jumlah mahasiswa yang
diterima lebih dari kuota agar mahasiswa yang tidak mendaftar ulang
dapat terantisipasi, ada akibat jumlah pendaftar ulang melebihi kuota.
Masalah yang muncul adalah bagaimana menetapkan jumlah mahasiswa
yang diterima agar kuota yang ditetapkan bisa terpenuhi secara relatif
tetap.
Sebenarnya ada banyak solusi untuk mengatasi hal tersebut. Salah
satu caranya dengan penambangan data (data mining). Penambangan data
merupakan teknik untuk mengekstraksi informasi atau menemukan pola
yang penting atau menarik dari data yang ada dalam basis data yang besar.
Pendekatannya memakai algoritma pohon keputusan (decision trees).
Algoritma ini merupakan salah satu pendekatan klasifikasi, yaitu proses
pengelompokan data yang dipergunakan sebagai tujuan penambangan
data.
Dengan mempergunakan penambangan data ini diharapkan
Kaprodi bisa memprediksi kuota secara lebih tepat dengan
memperhitungkan mahasiswa-mahasiswa yang diperkirakan tidak akan
melakukan daftar ulang. Kerugian akibat melesetnya prediksi jumlah
mahasiswa pendaftar ulang dan kesulitan dalam menangani masalah
inipun dapat dikurangi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
B. Perumusan Masalah
Berangkat dari latar belakang masalah yang telah dikemukakan di
atas, maka perumusan masalah dalam penelitian ini adalah bagaimana
mengimplementasikan penambangan data pada basis data PMB
Universitas Sanata Dharma untuk mengenali karakteristik calon
mahasiswa yang tidak melakukan daftar ulang dengan mempergunakan
algoritma pohon keputusan ?
C. Batasan Masalah
Berdasarkan rumusan masalah yang akan diteliti, diperlukan
adanya pembatasan masalah. Hal ini dilakukan supaya penelitian lebih
terfokus pada inti dari permasalah yang akan diteliti. Oleh karena itu,
penulis memberi batasan penelitian sebagai berikut:
1. Pendekatan yang digunakan berupa pendekatan klasifikasi dengan
hanya memakai algoritma pohon keputusan (ID3 Quinland).
2. Input adalah data PMB yang diperoleh dari Biro Administrasi dan
Perencanaan Sistem Informasi (BAPSI). Universitas Sanata Dharma
dari tahun 2005 sampai 2006.
3. Program diimplementasikan menggunakan bahasa Visual Basic.net
dan MySQL
4. Outputnya berupa perkiraan atau prediksi siapa saja mahasiswa yang
tidak melakukan daftar ulang serta tingkat keberhasilan prediksi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
D. Tujuan
Dapat mengenali karakteristik calon mahasiswa yang tidak
melakukan daftar ulang.
E. Manfaat
Hasil klasifikasi dari penambangan data dapat digunakan oleh
Kaprodi untuk memprediksi kuota secara lebih tepat dengan
memperhitungkan mahasiswa-mahasiswa yang diperkirakan tidak akan
melakukan daftar ulang.
F. Metodologi
1. Mencari data PMB Universitas Sanata Dharma dari tahun 2005
sampai 2006.
2. Melakukan pembersihan data terhadap data yang tidak konsisten
ataupun data yang kosong.
3. Implementasi teknik pohon keputusan pada data PMB dengan cara:
a. Mengubah bentuk data menjadi model pohon.
b. Mengubah node pohon menjadi aturan.
c. Menyederhanakan aturan.
4. Uji coba Program
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
G. Sistematika Pembahasan
BAB I. PENDAHULUAN
Pada bab ini akan dibahas mengenai latar belakang masalah,
rumusan masalah, batasan masalah, tujuan, manfaat, metodologi, dan
sistematika laporan.
BAB II. LANDASAN TEORI
Pada bab ini disajikan landasan teori yang berisi
konsep/teori/temuan penelitian terdahulu/yang direplikasi yang berkaitan
dengan implementasi penambangan data. Secara khusus akan dibahas
algoritma pohon keputusan.
BAB III. PERANCANGAN SISTEM
Bab ini berisi tentang identifikasi sistem, pembersihan data,
integrasi data, transformasi data dan perancangan sistem secara umum.
BAB IV. IMPLEMENTASI PROGRAM
Bab ini berisi implementasi program penambangan data dan
analisis terhadap hasil penelitian yang telah dilakukan.
BAB V. KESIMPULAN DAN SARAN
Pada bab ini penulis memaparkan kesimpulan terhadap hasil
penelitian yang dilakukan serta memberikan saran-saran.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
BAB II
LANDASAN TEORI
A. Penambangan Data
Beberapa pengertian penambangan data menurut sejumlah penulis
adalah sebagai berikut :
1. Definisi sederhana dari penambangan data adalah ekstraksi
informasi atau pola yang penting atau menarik dari data yang
berada di basis data yang besar (Yudho, 2003:1).
2. Penambangan data adalah suatu percobaan untuk memperoleh
informasi yang berguna yang tersimpan di dalam basis data yang
sangat besar (Mitra & Acharya, 2003:1).
3. Suatu proses yang mengidentifikasi hubungan dan pola-pola
tersembunyi dalam suatu data (Groth, 1998:4).
Dari pengertian-pengertian diatas, penambangan data dapat diartikan
sebagai suatu proses untuk mencari pola-pola yang tersembunyi dari basis
data yang besar sehingga didapatkan informasi yang menarik.
B. Proses Penambangan Data
Proses penambangan data tidak dapat dipisahkan dengan
Knowledge Discovery in Databases (KDD), karena penambangan data
merupakan salah satu tahap dari proses KDD yang mempergunakan
analisa data dan penggunaan algoritma, sehingga menghasilkan pola-pola
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
khusus dalam basis data yang besar (Fayyad, Piatetsky-shapiro & Smyth,
1996: 40).
Berikut ini merupakan langkah-langkah dalam membangun
penambangan data :
1. Pembersihan Data. Proses ini dilakukan untuk membuang data
yang tidak konsisten dan derau yang ada dalam data tersebut,
seperti data yang tidak relevan, data yang salah ketik maupun data
kosong yang tidak diperlukan.
2. Integrasi data merupakan penggabungan tabel dari beberapa
sumber agar seluruh data terangkum dalam satu tabel utuh
(denormalisasi).
3. Seleksi dan transformasi data. Pada proses ini data yang ada dipilih
untuk selanjutnya diubah menjadi bentuk yang sesuai untuk
ditambang.
4. Penerapan teknik penambangan data adalah menerapkan algoritma
untuk mencari pola yang menarik
5. Evaluasi pola. Pola yang sudah didapat direpresentasikan kepada
pengguna akhir ke dalam bentuk yang menarik ataupun bentuk
yang mudah dipahami.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
Tahap-tahap tersebut diilustrasikan ke dalam gambar berikut ini :
Gambar 2.1 Langkah-langkah dalam Penambangan Data Sumber: Jiawei Han and Micheline Kamber
http://www.cs.sfu.ca/~han/dmbook
Tidak dapat dipungkiri bahwa penambangan data berkaitan erat
dengan data warehouse dan OLAP (Online Analytical Processing). Hal ini
dikarenakan teknologi yang ada pada data warehouse dan OLAP
digunakan sepenuhnya untuk melakukan penambangan data
(Yudho,2003:2). Data warehouse merupakan sistem gudang data
sedangkan OLAP merupakan basis data khusus yang digunakan untuk
menunjang proses pengambilan keputusan. Berikut ini merupakan gambar
yang menunjukkan posisi masing-masing teknologi :
PembersihanData
Integrasi Data
Databases
Data Warehouse
Tugas Data yang Relevan
Seleksi danTransformasi
Data Mining
Evaluasi PolaPengetahuan
PembersihanData
Integrasi Data
Databases
Data Warehouse
Tugas Data yang Relevan
Seleksi danTransformasi
Data Mining
Evaluasi PolaPengetahuan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
Gambar 2.2 Penambangan data dan teknologi database lainnya
Sumber: Jiawei Han and Micheline Kamber http://www.cs.sfu.ca/~han/dmbook
Dari gambar di atas terlihat bahwa teknologi data warehouse
digunakan untuk melakukan OLAP sedangkan penambangan data
digunakan untuk melakukan information discovery yang informasinya
lebih ditujukan untuk seorang Data Analysist dan Business Analysist.
Menurut Iko(2003;3) data warehouse merupakan data mentah untuk
penambangan data. Data warehouse sendiri secara periodik diisi data dari
OLTP(Online Transaction Processing) setelah menjalani pembersihan dan
integrasi data. OLTP merupakan basis data yang dipakai perusahaan-
perusahaan dalam melakukan operasi sehari-harinya seperti pencatatan
Increasing potentialto supportbusiness decisions End User
BusinessAnalyst
DataAnalyst
DBA
MakingDecisions
Data PresentationVisualization Techniques
Data MiningInformation Discovery
Data Exploration
OLAP, MDA
Statistical Analysis, Querying and Reporting
Data Warehouses / Data Marts
Data SourcesPaper, Files, Information Providers, Database Systems, OLTP
Increasing potentialto supportbusiness decisions End User
BusinessAnalyst
DataAnalyst
DBA
MakingDecisions
Data PresentationVisualization Techniques
Data MiningInformation Discovery
Data Exploration
OLAP, MDA
Statistical Analysis, Querying and Reporting
Data Warehouses / Data Marts
Data SourcesPaper, Files, Information Providers, Database Systems, OLTP
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
transaksi jual-beli, administrasi pengiriman barang, inventori, penggajian,
dan lain sebagainya.
C. Teknik Klasifikasi
Salah satu metode yang digunakan dalam membangun
penambangan data adalah teknik klasifikasi. Klasifikasi merupakan suatu
teknik yang menentukan kelas-kelas ataupun kategori dari suatu objek
berdasarkan sifat/atribut yang dimilikinya.
Algoritma teknik klasifikasi terdiri dari dua langkah, yaitu :
1. Membangun model
Tahap ini menggambarkan satu himpunan data dari kelas-kelas yang
telah ditentukan sebelumnya. Masing-masing sampel diasumsikan
sebagai kepunyaan suatu kelas yang sudah diketahui berdasarkan nilai-
nilai atributnya. Sampel-sampel data yang digunakan untuk
membangun model disebut himpunan data pelatihan. Model
direpresentasikan sebagai clasification rules, pohon keputusan, atau
formula matematis.
2. Penggunaan model
Tujuan dari penggunaan model ini adalah untuk melakukan klasifikasi
suatu objek yang akan datang atau yang tidak dikenal. Penilaian
tingkat akurasi model menggunakan himpunan data tes. Label yang
sudah diketahui dari contoh himpunan data tes dibandingkan dengan
hasil klasifikasi dari model. Tingkat akurasi merupakan persentase dari
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
contoh himpunan data tes yang diklasifikasikan secara benar oleh
model.
D. Pohon Keputusan
Ada beberapa model yang dapat dibangun pada teknik klasifikasi,
salah satunya adalah pohon keputusan. Pohon keputusan adalah suatu
diagram alir seperti struktur pohon, yang mana setiap titik (node) bagian
dalam merupakan sebuah atribut, setiap cabang (branch) menggambarkan
keluaran dari suatu logikal tes dan daun-daun (leaf node) menggambarkan
kelas-kelas atau suatu kelas distribusi. Node yang paling atas disebut akar
(root node). Untuk lebih jelasnya dapat dilihat pada gambar di bawah ini.
Gambar 2.3 Pohon Keputusan Sumber:http://www2.cs.uregina.ca/~hamilton/courses/831/notes/ml/dtrees/4_dtrees1.html
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
Di bawah ini merupakan contoh dari suatu pohon keputusan yang
mempunyai konsep tentang pembelian komputer dari suatu toko
elektronik, yang mengindikasikan kemungkinan seorang pelanggan
membeli komputer atau tidak.
Gambar 2.4 Contoh Pohon Keputusan Sumber: Jiawei Han and Micheline Kamber
http://www.cs.sfu.ca/~han/dmbook
Ada banyak algoritma yang dapat digunakan dalam membuat pohon
keputusan. Salah satu algoritma yang dapat digunakan untuk membuat
pohon keputusan adalah algoritma ID3 Quinland (Hamilton,2000).
Langkah–langkah untuk melakukan prediksi dalam pohon keputusan
dengan menggunakan algoritma ID3 Quinland adalah sebagai berikut :
1. Mengubah bentuk data menjadi bentuk model pohon
Langkah-langkah dalam mengubah model data menjadi model pohon
adalah sebagai berikut :
umur?
mahasiswa? credit_rating?
yatidak
ya
yatidak
baik sekali cukup ya tidak
<= 30 31…40 > 40
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
a. Menentukan node terpilih/node awal
Atribut mana yang harus dipilih sebagai node awal adalah atribut
yang memungkinkan untuk mendapatkan pohon keputusan yang
paling kecil ukurannya atau atribut yang bisa memisahkan objek
menurut kelasnya. Secara heuristik dipilih atribut yang
menghasilkan node yang paling ”purest” (paling bersih). Jika
dalam satu cabang anggotanya berasal dari satu kelas maka cabang
ini disebut pure. Semakin pure suatu cabang semakin baik. Ukuran
purity dinyatakan dengan tingkat impurity. Salah satu kriteria
impurity adalah information gain. Jadi dalam memilih atribut untuk
memecah objek dalam beberapa kelas harus dipilih atribut yang
menghasilkan information gain paling besar.
Untuk menghitung information gain perlu dihitung dahulu nilai
informasi dalam satuan bits dari suatu kumpulan obyek. Cara
penghitungan dilakukan dengan menggunakan konsep entropi.
Entropi menyatakan impurity suatu kumpulan obyek. Berikut ini
merupakan definisi dari entropi suatu ruang sampel data (S) :
entropi(S) = − P+ log2 P+ − P- log2 P- .......................2.1
dimana :
S = ruang sampel data yang digunakan untuk data pelatihan
P+ = jumlah yang bersolusi positif (mendukung) pada sampel data
P- = jumlah yang bersolusi negatif (tidak mendukung) pada sampel
data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
Nilai rata-rata terbobot entropi suatu atribut dapat dirumuskan
sebagai berikut :
E(A)= ∑=
⎟⎟⎠
⎞⎜⎜⎝
⎛×⎟⎠⎞
⎜⎝⎛inst
i t
i enn
1i ............................................................2.2
dimana :
inst = jumlah kejadian
ni = jumlah data kejadian ke-i
nt = jumlah total data keseluruhan
ei = nilai entropi kejadian ke-i
Sehingga information gain dapat di hitung dengan rumus:
Gain(A) = entropi(S) – E(A).......................................2.3
dimana :
entropi(S) = nilai entropi total dari atribut keputusan dalam ruang
sampel data S.
E(A) = nilai rata-rata terbobot entropi suatu atribut
b. Menyusun Pohon
Penyusunan pohon dimulai dari node yang terpilih. Node yang
terpilih tersebut menjadi akar (root leaf) dari pohon yang akan
disusun. Langkah selanjutnya adalah memilih node daun (leaf
node) selanjutnya. Langkah yang dilakukan adalah :
1) Memilih node dari sampel data yang tidak homogen
2) Mencari nilai gain dari setiap atribut kecuali atribut yang telah
menjadi node diatasnya
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
3) Pilih atribut yang mempunyai nilai gain paling besar sebagai
node daun selanjutnya.
Proses ini dilakukan secara terus menerus sampai setiap node daun
mempunyai sampel data yang homogen atau sampel data yang ada
kosong atau jika sampel masih tidak homogen (heterogen) tetapi
tidak ada lagi atribut yang tersisa.
2. Mengubah node pohon menjadi aturan
Pada tahap ini pohon yang telah selesai dibangun diubah menjadi
aturan if...then. Menurut Han dan Kamber (1998), node-node yang ada
merupakan anteseden pada suatu aturan, sedangkan nilai anteseden
merupakan cabang-cabang yang terbentuk pada node. Nilai
konsekuennya adalah :
Jika sampel sudah homogen, maka nilai konsekuennya adalah
kejadian atribut target/keputusan pada sampel data tersebut.
Jika sampel kosong, maka nilai konsekuennya merupakan kejadian
paling banyak dari atribut target pada keseluruhan sampel.
Jika sampel masih heterogen tetapi atribut kondisi sudah habis,
maka nilai konsekuennya adalah kejadian pada atribut target yang
mempunyai jumlah kejadian paling banyak pada sampel yang
tersisa (Han dan Kamber, 1998)
3. Menyederhanakan aturan (pruning)
Tahap ini bertujuan untuk mengidentifikasi dan menghilangkan
anteseden atau aturan yang tidak diperlukan atau yang tidak
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
meningkatkan akurasi klasifikasi. Aturan yang terbentuk menjadi lebih
sederhana dan lebih akurat. Menurut Hamilton (2000), langkah-
langkah dalam penyederhanaan aturan adalah :
a. Menyederhanakan aturan dengan menghilangkan anteseden yang
tidak perlu. Langkah-langkah untuk menghilangkan anteseden
adalah sebagai berikut :
1) Membangun tabel kontingensi untuk setiap aturan yang
mengandung lebih dari satu anteseden. Aturan yang hanya
memiliki satu anteseden tidak dapat disederhanakan lebih
lanjut, jadi hanya aturan yang terdiri dari dua atau lebih
anteseden yang dapat disederhanakan. Tabel kontingensi
merupakan nilai frekuensi yang teramati. Tabel kontingensi
terdiri dari r baris dan c kolom. Total r baris dan c kolom dalam
tabel kontingensi disebut frekuensi marjinal. Untuk lebih
jelasnya, dapat dilihat pada tabel berikut ini :
Tabel 2.1 Tabel Kontingensi 2 x 2
C1 C2 Jumlah Marjinal R1 x11 x12 R1T = x11 + x12 R2 x21 x22 R2T = x21 + x22
Jumlah Marjinal
CT1 = x11+ x21 CT2 = x1+x22 T = x11+x12+x21+x22
Keterangan :
R1, R2, C1, C2 : nilai-nilai dari salah satu anteseden atau
kejadian pada atribut target
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
x11, x12, x21, x22 : merepresentasikan frekuensi dari setiap
pasangan anteseden dengan konsekuen
R1T, R2T : jumlah marjinal dari baris
CT1, CT2 : jumlah marjinal dari kolom
T : jumlah keseluruhan frekuensi marjinal
2) Menguji data-data dari kriteria tertentu dengan menggunakan
uji kebaikan suai. Uji kebaikan suai ini berguna untuk
menentukan tingkat independensi pada suatu kriteria. Uji ini
didasarkan pada seberapa baik kesesuaian antara frekuensi
yang teramati dalam data dengan frekuensi harapan yang
didasarkan pada sebaran yang dihipotesiskan. Berikut ini
merupakan rumus untuk menghitung frekuensi harapan bagi
sembarang sel :
eij = T
CR TjiT • ...........................................................2.4
dimana :
eij = nilai frekuensi harapan baris ke-i kolom ke-j
RiT = total baris ke-i
CTj = total kolom ke-j
T = jumlah keseluruhan frekuensi marjinal
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
Uji kebaikan suai yang teramati dengan frekuensi harapan
didasarkan pada besaran :
2χ =2)(∑∑ −baris
i
kolom
j ij
ijij
eeo ..........................................2.5
dimana :
2χ = nilai bagi peubah acak 2χ yang sebaran penarikan
contohnya sangat menghampiri sebaran chi-square
i = baris
j = kolom
ijo = nilai frekuensi teramati baris ke-i kolom ke-j
ije = nilai frekuensi harapan baris ke-i kolom ke-j
Jika frekuensi yang teramati sangat dekat dengan frekuensi
harapannya, nilai 2χ akan kecil, hal ini menunjukkan
kesesuaian yang baik. Namun bila frekuensi yang teramati
berbeda cukup besar dari frekuensi harapannya, nilai 2χ akan
besar sehingga kesesuaiannya buruk. Kesesuaian yang terjadi
akan mempengaruhi penerimaan atau penolakan hipotesis nol
atau Ho. Hipotesis nol atau Ho merupakan pernyataan atau
dugaan mengenai satu atau lebih populasi yang dirumuskan
dengan harapan akan ditolak. Kesesuaian yang baik akan
membawa pada penerimaan Ho, sedangkan kesesuaian yang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
buruk akan membawa pada penolakan Ho. Penolakan Ho
mengakibatkan penerimaan hipotesis alternatif, yang
dilambangkan dengan H1 (Walpole, 1995).
3) Menghitung derajat kebebasan
Untuk menghitung derajat kebebasan digunakan rumus :
dk = (baris - 1)(kolom - 1)........................................2.6
4) Gunakan tabel chi-square dengan 2χ dan derajat kebebasan
untuk menentukan apakah anteseden secara individual
independen dengan konsekuennya. Untuk kepercayaan sebesar
α , jika :
αχχ 22 > dengan derajat kebebasan dk : tolak hipotesis
nol dan menerima alternatif hipotesis yaitu anteseden
secara individual dependen dengan konsekuen.
αχχ 22 ≤ dengan derajat kebebasan dk : terima hipotesis
nol yaitu anteseden yang secara individual independen
dengan konsekuen. αχ 2 dapat diperoleh pada tabel chi-
square.
b. Menyederhanakan aturan dengan membuang aturan-aturan yang
tidak perlu
Penyederhanaan aturan dilakukan untuk menghapus aturan yang
memiliki anteseden-anteseden yang sama dimana konsekuennya
sama dan untuk membuang aturan yang tidak perlu. Sebagai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
contoh penyederhanaan aturan adalah dengan membuat aturan
default. Aturan default ini dibentuk dengan mencari konsekuen
paling banyak pada aturan tersebut. Aturan-aturan yang memiliki
konsekuen inilah yang nanti dijadikan aturan default.
E. Contoh Penerapan Algoritma Pohon Keputusan
Berikut ini merupakan contoh penyelesaian suatu kasus dengan
menggunakan algoritma pohon keputusan. Pada kasus ini data yang
digunakan adalah data nasabah (Daniel, 2005). Permasalahan yang ada
disini adalah bagaimana mengklasifikasi resiko kredit seorang nasabah.
Data nasabah ini terdiri dari empat kategori atribut, yaitu tabungan,
kekayaan, pendapatan dan atribut resiko kredit sebagai atribut
keputusannya. Di bawah ini adalah data nasabah tersebut :
Tabel 2.2 Data Nasabah
Nasabah Tabungan Kekayaan Pendapatan($ 1000s)
Resiko kredit
1 Sedang Tinggi 75 Baik 2 Rendah Rendah 50 Buruk 3 Tinggi Sedang 25 Buruk 4 Sedang Sedang 50 Baik 5 Rendah Sedang 100 Baik 6 Tinggi Tinggi 25 Baik 7 Rendah Rendah 25 Buruk 8 Sedang Sedang 75 Baik
Langkah-langkah yang harus dilakukan untuk menyelesaikan
permasalahan tersebut menggunakan algoritma pohon keputusan adalah :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
Langkah 1 : mengubah bentuk data menjadi bentuk model pohon
1. Menentukan node terpilih
Hal yang harus dilakukan pada tahap ini adalah menghitung nilai
entropi atribut keputusan yaitu atribut resiko kredit dan nilai entropi
setiap kejadian dengan rumus 2.1, selanjutnya menghitung nilai rata-
rata terbobot entropi setiap atribut menggunakan rumus 2.2 dan
selanjutnya menghitung nilai information gain dengan rumus 2.3.
Pilihlah atribut yang mempunyai nilai information gain paling besar,
atribut inilah yang akan menjadi node awal. Berikut ini merupakan
penghitungan information gain dari setiap atribut.
Langkah awal adalah menghitung nilai entropi total dari atribut
keputusan, yaitu :
Pada data nasabah terdapat dua keputusan yaitu baik atau buruk. Ada 5
keputusan resiko kredit baik dan ada 3 keputusan resiko kredit buruk.
Dimisalkan bahwa keputusan resiko kredit baik adalah positif
sedangkan keputusan resiko kredit buruk adalah negatif, maka dapat
dihitung entropinya :
entropi(S) = − P+ log2 P+ − P- log2 P-
= 83log
83
85log
85
22 −−
= 0.423795 + 0.530639
= 0.954
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
a. Atribut tabungan
1) Cari jumlah nilai positif dan negatif dari setiap kejadian pada
atribut tabungan, berikut ini penggambarannya :
Gambar 2.5 Nilai positif dan negatif kejadian atribut tabungan
2) Hitung nilai entropi dari setiap kejadian, yaitu:
Tabungan = Tinggi (e1)
e1 = − P+ log2 P+ − P- log2 P-
e1 = 21log
21
21log
21
22 −−
e1 = 0.5 + 0.5
e1 = 1
Tabungan = Sedang (e2)
e2 = − P+ log2 P+ − P- log2 P-
e2 = 033log
33
2 −−
e2 = 0
Tabungan = Rendah (e3)
e3 = − P+ log2 P+ − P- log2 P-
Tabungan 3 positif
1 positif 2 negatif
Tinggi
Sedang
Rendah
1 positif 1 negatif
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
e3 = 32log
32
31log
31
22 −−
e3 = 0.528321 + 0.389975
e3 = 0.918
3) Hitung nilai rata-rata terbobot entropi atribut tabungan, yaitu:
E = ∑=
⎟⎟⎠
⎞⎜⎜⎝
⎛×⎟⎠⎞
⎜⎝⎛inst
i t
i enn
1i
E = ⎟⎠⎞
⎜⎝⎛ ×+⎟
⎠⎞
⎜⎝⎛ ×+⎟
⎠⎞
⎜⎝⎛ × 3
832
831
82 eee
E = 0.25 + 0 + 0.3444
E = 0.594
4) Hitung information gain dari atribut tabungan, yaitu:
Gain(A) = entropi(S) – E(A)
= 0.954 – 0.594
= 0.36
b. Atribut kekayaan
1) Cari jumlah nilai positif dan negatif dari setiap kejadian pada
atribut kekayaan, berikut ini penggambarannya :
Gambar 2.6 Nilai positif dan negatif kejadian atribut kekayaan
Kekayaan 3 positif 1 negatif
2 negatif
Tinggi
Sedang
Rendah
2 positif
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
2) Hitung nilai entropi dari setiap kejadian, yaitu:
Kekayaan = Tinggi (e1)
e1 = − P+ log2 P+ − P- log2 P-
e1 = 022log
22
2 −−
e1 = 0
Kekayaan = Sedang (e2)
e2 = − P+ log2 P+ − P- log2 P-
e2 = 41log
41
43log
43
22 −−
e2 = 0.311278 + 0.5
e2 = 0.811
Kekayaan = Rendah (e3)
e3 = − P+ log2 P+ − P- log2 P-
e3 = 22log
220 2−
e3 = 0
3) Hitung nilai rata-rata terbobot entropi atribut kekayaan, yaitu:
E = ∑=
⎟⎟⎠
⎞⎜⎜⎝
⎛×⎟⎠⎞
⎜⎝⎛inst
i t
i enn
1i
E = ⎟⎠⎞
⎜⎝⎛ ×+⎟
⎠⎞
⎜⎝⎛ ×+⎟
⎠⎞
⎜⎝⎛ × 3
822
841
82 eee
E = 0 + 0.3934 + 0
E = 0.406
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
4) Hitung information gain dari atribut kekayaan, yaitu:
Gain(A) = entropi(S) – E(A)
= 0.954 – 0.406
= 0.548
c. Atribut pendapatan
1) Cari jumlah nilai positif dan negatif dari setiap kejadian pada
atribut pendapatan, berikut ini penggambarannya :
Gambar 2.7 Nilai positif dan negatif kejadian atribut pendapatan
2) Hitung nilai entropi dari setiap kejadian, yaitu:
Pendapatan = 25 (e1)
e1 = − P+ log2 P+ − P- log2 P-
e1 = 32log
32
31log
31
22 −−
e1 = 0.528321 + 0.389975
e1 = 0.918
Pendapatan = 50 (e2)
e2 = − P+ log2 P+ − P- log2 P-
e2 = 21log
21
21log
21
22 −−
Pendapatan
1 positif 1 negatif
2 positif
25
50
75
1 positif 2 negatif
100 1 positif
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
e2 = 0.5 + 0.5
e2 = 1
Pendapatan = 75 (e3)
e3 = − P+ log2 P+ − P- log2 P-
e3 = 022log
22
2 −−
e3 = 0
Pendapatan = 100 (e4)
e4 = − P+ log2 P+ − P- log2 P-
e4 = 011log
11
2 −−
e4 = 0
3) Hitung nilai rata-rata terbobot entropi atribut pendapatan, yaitu:
E = ∑=
⎟⎟⎠
⎞⎜⎜⎝
⎛×⎟⎠⎞
⎜⎝⎛inst
i t
i enn
1i
E = ⎟⎠⎞
⎜⎝⎛ ×+⎟
⎠⎞
⎜⎝⎛ ×+⎟
⎠⎞
⎜⎝⎛ ×+⎟
⎠⎞
⎜⎝⎛ × 4
813
822
821
83 eeee
E = 0.34425 + 0.25 + 0 + 0
E = 0.594
4) Hitung information gain dari atribut pendapatan, yaitu:
Gain(A) = entropi(S) – E(A)
= 0.954 – 0.594
= 0.36
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
Dari penghitungan nilai information gain setiap atribut tersebut,
didapatkan tabel information gain sebagai berikut :
Tabel 2.3 Nilai information gain data nasabah 1
Atribut Nilai information gain Tabungan 0.360 Kekayaan 0.548 Pendapatan 0.360
Pada tabel tersebut terlihat bahwa nilai information gain paling besar
dimiliki oleh atribut kekayaan sebesar 0.548. Atribut kekayaan inilah
yang menjadi node awal dalam penyusunan pohon keputusan.
2. Menyusun pohon
Untuk menyusun suatu pohon ditentukan suatu atribut sebagai node
awal. Dalam kasus ini, didapatkan node awal yaitu atribut kekayaan.
Berikut ini merupakan pohon awal yang terbentuk :
Gambar 2.8 Pohon Awal
Tinggi Sedang Rendah
Kekayaan
baik baik
baik baik baik buruk
buruk buruk
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
Langkah selanjutnya adalah mencari atribut lain untuk menjadi node
selanjutnya. Dari pohon awal tersebut, terdapat sampel data yang tidak
homogen yaitu atribut kekayaan dengan kejadian sedang. Maka yang
menjadi node percabangan adalah node pada kejadian ini. Untuk
mencari node selanjutnya, dilakukan penghitungan untuk mencari nilai
information gain setiap atribut kecuali atribut yang menjadi node
diatasnya.
Berikut ini penghitungannya :
a. Atribut tabungan
1) Cari jumlah nilai positif dan negatif dari setiap kejadian pada
atribut tabungan, berikut ini penggambarannya :
Gambar 2.9 Nilai positif dan negatif kejadian atribut tabungan
2) Hitung nilai entropi dari setiap kejadian, yaitu:
Tabungan = Tinggi (e1)
e1 = − P+ log2 P+ − P- log2 P-
e1 = 11log
110 2−
e1 = 0
Tabungan 2 positif
1 positif
Tinggi
Sedang
Rendah
1 negatif
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
Tabungan = Sedang (e2)
e2 = − P+ log2 P+ − P- log2 P-
e2 = 022log
22
2 −−
e2 = 0
Tabungan = Rendah (e3)
e3 = − P+ log2 P+ − P- log2 P-
e3 = 011log
11
2 −−
e3 = 0
3) Hitung nilai rata-rata terbobot entropi atribut tabungan, yaitu:
E = ∑=
⎟⎟⎠
⎞⎜⎜⎝
⎛×⎟⎠⎞
⎜⎝⎛inst
i t
i enn
1i
E = ⎟⎠⎞
⎜⎝⎛ ×+⎟
⎠⎞
⎜⎝⎛ ×+⎟
⎠⎞
⎜⎝⎛ × 3
412
421
41 eee
E = 0 + 0 + 0
E = 0
4) Hitung information gain dari atribut tabungan, yaitu:
Gain(A) = entropi(S) – E(A)
= 0.954 – 0
= 0.954
b. Atribut pendapatan
1) Cari jumlah nilai positif dan negatif dari setiap kejadian pada
atribut pendapatan, berikut ini penggambarannya :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
Gambar 2.10 Nilai positif dan negatif kejadian atribut pendapatan
2) Hitung nilai entropi dari setiap kejadian, yaitu:
Pendapatan = 25 (e1)
e1 = − P+ log2 P+ − P- log2 P-
e1 = 11log
110 2−
e1 = 0
Pendapatan = 50 (e2)
e2 = − P+ log2 P+ − P- log2 P-
e2 = 011log
11
2 −−
e2 = 0
Pendapatan = 75 (e3)
e3 = − P+ log2 P+ − P- log2 P-
e3 = 011log
11
2 −−
e3 = 0
Pendapatan = 100 (e4)
Pendapatan 1 positif
1 positif
25
50
75
1 negatif
100 1 positif
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
e4 = − P+ log2 P+ − P- log2 P-
e4 = 011log
11
2 −−
e4 = 0
3) Hitung nilai rata-rata terbobot entropi atribut pendapatan, yaitu:
E = ∑=
⎟⎟⎠
⎞⎜⎜⎝
⎛×⎟⎠⎞
⎜⎝⎛inst
i t
i enn
1i
E = ⎟⎠⎞
⎜⎝⎛ ×+⎟
⎠⎞
⎜⎝⎛ ×+⎟
⎠⎞
⎜⎝⎛ ×+⎟
⎠⎞
⎜⎝⎛ × 4
413
412
411
41 eeee
E = 0 + 0 + 0 + 0
E = 0
4) Hitung information gain dari atribut pendapatan, yaitu:
Gain(A) = entropi(S) – E(A)
= 0.954 – 0
= 0.954
Dari penghitungan nilai information gain tersebut didapat suatu tabel
sebagai berikut :
Tabel 2.4 Nilai information gain data nasabah 2
Atribut Nilai information gain Tabungan 0.954 Pendapatan 0.954
Pada tabel tersebut terlihat bahwa nilai information gain paling besar
dimiliki oleh atribut yaitu sebesar 0.954, dipilih salah satu atribut yaitu
tabungan sebagai node berikutnya, sehingga pohon keputusannya
menjadi sebagai berikut:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
Gambar 2.11 Pohon Percabangan
Langkah 2 : mengubah node pohon menjadi aturan
Pada tahap ini, node pohon yang terbentuk di ubah ke dalam aturan
if...then, yaitu :
Tabel 2.5 Aturan Klasifikasi yang diperoleh
Aturan If Then 1 Kekayaan = Tinggi Baik 2 Kekayaan = Rendah Buruk3 Kekayaan = Sedang ^ Tabungan = Tinggi Buruk4 Kekayaan = Sedang ^ Tabungan = Sedang Baik 5 Kekayaan = Sedang ^ Tabungan = Rendah Baik
Tinggi Rendah
Kekayaan
baik baik
buruk buruk
Sedang
Tinggi Sedang Rendah
Tabungan
buruk baik baik baik
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
Langkah 3 : menyederhanakan aturan
1. Menyederhanakan aturan dengan menghilangkan anteseden yang tidak
perlu
Aturan yang perlu disederhanakan adalah aturan yang memiliki
anteseden lebih dari satu yaitu aturan nomor 3 sampai dengan nomor 5
yang melibatkan anteseden kekayaan dan tabungan. Pada tahap ini,
tabel Chi-Square digunakan untuk melakukan uji hipotesis. Data yang
ada telah dikalikan dengan nilai lima (5) agar data dapat digunakan
pada uji tabel Chi-Square dan diasumsikan nilai tingkat
kepercayaannya (α ) sebesar 0.05.
a. Hipotesis Ho : kekayaan dan resiko kredit independen
1) Membuat tabel kotingensi
Tabel 2.6 Tabel Kotingensi Untuk Kekayaan
Resiko kredit (Baik)
Resiko kredit (Buruk)
Jumlah Marjinal
Tinggi 10 0 10 Sedang 15 5 20 Rendah 0 10 10 Jumlah Marjinal 25 15 40
2) Nilai Frekuensi Harapan (eij)
Selanjutnya menggunakan rumus 2.4.3 untuk menghitung nilai
frekuensi harapan tiap sel, yaitu :
Frekuensi harapan pada sel X11 :
e11 = 40
2510× = 6.25
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
Frekuensi harapan pada sel X12 :
e12 = 40
1510× = 3.75
Frekuensi harapan pada sel X21 :
e21 = 40
2520× = 12.5
Frekuensi harapan pada sel X22 :
e22 = 40
1520× = 7.5
Frekuensi harapan pada sel X31 :
e31 = 40
2510× = 6.25
Frekuensi harapan pada sel X32 :
e32 = 40
1510× = 3.75
Berikut ini merupakan tabel nilai frekuensi harapan dari
penghitungan di atas :
Tabel 2.7 Tabel Nilai Frekuensi Harapan Untuk Kekayaan
Resiko kredit (Baik)
Resiko kredit (Buruk)
Tinggi 6.25 3.75 Sedang 12.5 7.5 Rendah 6.25 3.75
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
3) Nilai 2χ
Untuk menghitung nilai 2χ digunakan rumus 2.4.4, berikut
penghitunggannya :
2χ =2)(∑∑ −baris
i
kolom
j ij
ijij
eeo
2χ =
( ) ( ) ( )
( ) ( ) ( )75.3
75.31025.625.60
5.75.75
5.125.1215
75.375.30
25.625.610
222
222
−+
−+
−+
−+
−+
−
2χ = 2.25 + 3.75 + 0.5 + 0.833 + 6.25 + 10.417
2χ = 23.99967
4) Nilai derajat kebebasan
Nilai ini dihitung dengan menggunakan rumus 2.4.5, yaitu :
dk = (baris - 1)(kolom - 1) = (3 - 1)(2 - 1) = 2
5) Nilai αχ 2
Nilai αχ 2 pada tabel Chi-Square dengan derajat kebebasan
2 adalah 5.991.
6) Kesimpulan :
Karena nilai 2χ > αχ 2 , maka hipotesis nol independensi
Ho ditolak dan H1 diterima yang berarti kekayaan dan
resiko kredit tidak independen. Maka anteseden kekayaan
tidak dapat dieliminasi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
b. Hipotesis Ho : tabungan dan resiko kredit independen
1) Membuat tabel kotingensi
Tabel 2.8 Tabel Kotingensi Untuk Tabungan
Resiko kredit (Baik)
Resiko kredit (Buruk)
Jumlah Marjinal
Tinggi 5 5 10 Sedang 15 0 15 Rendah 5 10 15 Jumlah Marjinal 25 15 40
2) Nilai Frekuensi Harapan (eij)
Selanjutnya menggunakan rumus 2.4.3 untuk menghitung nilai
frekuensi harapan tiap sel, yaitu :
Frekuensi harapan pada sel X11 :
e11 = 40
2510× = 6.25
Frekuensi harapan pada sel X12 :
e12 = 40
1510× = 3.75
Frekuensi harapan pada sel X21 :
e21 = 40
2515× = 9.75
Frekuensi harapan pada sel X22 :
e22 = 40
1515× = 5.625
Frekuensi harapan pada sel X31 :
e31 = 40
2515× = 9.75
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
Frekuensi harapan pada sel X32 :
e32 = 40
1515× = 5.625
Berikut ini merupakan tabel nilai frekuensi harapan dari
penghitungan di atas :
Tabel 2.9 Tabel Nilai Frekuensi Harapan Untuk Tabungan
Resiko kredit (Baik)
Resiko kredit (Buruk)
Tinggi 6.25 3.75 Sedang 9.75 5.625 Rendah 9.75 5.625
3) Nilai 2χ
Untuk menghitung nilai 2χ digunakan rumus 2.4.4, berikut
penghitunggannya :
2χ =2)(∑∑ −baris
i
kolom
j ij
ijij
eeo
2χ =
( ) ( ) ( )
( ) ( ) ( )625.5
625.51075.975.95
625.5625.50
75.975.915
75.375.35
25.625.65
222
222
−+
−+
−+
−+
−+
−
2χ = 0.25 + 0.4167 + 2.827 + 5.625 + 2.314 + 3.403
2χ = 14.835
4) Nilai derajat kebebasan
Nilai ini dihitung dengan menggunakan rumus 2.4.5, yaitu :
dk = (baris - 1)(kolom - 1) = (3 - 1)(2 - 1) = 2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
5) Nilai αχ 2
Nilai αχ 2 pada tabel Chi-Square dengan derajat kebebasan
2 adalah 5.991.
6) Kesimpulan :
Karena nilai 2χ > αχ 2 , maka hipotesis nol independensi
Ho ditolak dan H1 diterima yang berarti tabungan dan resiko
kredit tidak independen. Maka anteseden tabungan tidak
dapat dieliminasi dan aturan klasifikasi masih tetap seperti
pada tabel 2.7.
2. Menyederhanakan aturan dengan membuang aturan
Setelah menyederhanakan aturan dengan menggunakan langkah
pertama, maka dilanjutkan dengan mencari konsekuen yang paling
banyak. Pada aturan diatas konsekuen yang paling banyak berjumlah
3, yaitu Baik. Ketiga aturan ini dijadikan default aturan, sehingga
aturan-aturan tersebut menjadi :
Tabel 2.10 Aturan Yang Paling Sederhana
Aturan If Then 1 Kekayaan = Rendah Buruk2 Kekayaan = Sedang ^ Tabungan = Tinggi Buruk
Default Aturan Baik
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
Langkah 4 : hasil prediksi himpunan data pelatihan
Tabel 2.11 Hasil Prediksi
Nasabah Tabungan Kekayaan Pendapatan($ 1000s)
Resiko kredit
Prediksi
1 Sedang Tinggi 75 Baik Baik 2 Rendah Rendah 50 Buruk Buruk 3 Tinggi Sedang 25 Buruk Buruk 4 Sedang Sedang 50 Baik Baik 5 Rendah Sedang 100 Baik Baik 6 Tinggi Tinggi 25 Baik Baik 7 Rendah Rendah 25 Buruk Buruk 8 Sedang Sedang 75 Baik Baik
Dari hasil prediksi pada data pelatihan di atas tidak ditemukan adanya
kesalahan prediksi, sehingga persentase keberhasilan prediksi adalah 100
%.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
BAB III
PERANCANGAN SISTEM
A. Identifikasi Sistem
Setiap pergantian tahun akademik baru, Universitas Sanata Dharma selalu
melakukan Penerimaan Mahasiswa Baru (PMB). Calon mahasiswa baru ini
harus melakukan serangkaian tes tertulis terlebih dahulu. Setiap tahun pula
program studi menyediakan kuota untuk mahasiswa baru yang diterima. Calon
mahasiswa yang diterima belum tentu melakukan daftar ulang, untuk itulah
Ketua Program Studi (Kaprodi) harus benar-benar selektif dalam memilih
mahasiswa mana yang pasti melakukan daftar ulang, sehingga kuota yang
ditetapkan dapat terisi relatif tepat. Masalah tersebut dapat diatasi dengan
menggunakan metode penambangan data, karena penambangan data ini dapat
digunakan untuk mengenali karakteristik mahasiswa yang tidak melakukan
daftar ulang.
Data-data mahasiswa diambil dari data calon mahasiswa baru mulai dari
angkatan tahun 2005 sampai dengan 2006. Data ini mencakup seluruh
program studi yang ada di Universitas Sanata Dharma yang diperoleh dari
Biro Administrasi dan Perencanaan Sistem Informasi (BAPSI) Universitas
Sanata Dharma Yogyakarta. Seluruh data yang diambil berisi informasi
tentang gelombang masuk, prioritas pilihan program studi di mana calon
mahasiswa tersebut diterima, jenis kelamin, jenis sma, program studi tempat
calon mahasiswa diterima dan status daftar ulang yang dilakukan serta nilai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
finalnya. Data yang didapat akan dibagi dua secara acak, kemudian digunakan
sebagai himpunan data pelatihan dan himpunan data tes dengan proporsi yang
bervariasi.
B. Pembersihan Data
Data calon penerimaan mahasiswa baru yang didapat dari BAPSI,
dibersihkan terlebih dahulu sebelum data tersebut ditambang. Proses
pembersihan data ini berfungsi untuk menghilangkan data yang tidak
konsisten dan derau seperti data tidak relevan, data yang salah ketik maupun
data kosong yang tidak diperlukan. Data yang tidak konsisten ini dapat berupa
jenis SMA yang mempunyai arti sama, tapi penulisannya berbeda-beda.
Misalnya IPA ada yang menuliskan SMA IPA ataupun IPA, jadi dalam proses
ini dilakukan penyeragaman nama terhadap data yang tidak konsisten.
C. Integrasi Data
Sesudah data itu bersih, maka data yang ada di tabel mahasiswa dari tiap
tahun angkatan tersebut digabungkan dengan data dari tabel angkatan yang
lain sehingga seluruh data terangkum dalam satu tabel yang utuh. Proses ini
disebut integrasi data. Seluruh data yang sudah terangkum, kemudian dipilih
dan diubah menjadi bentuk yang sesuai untuk ditambang.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
D. Transformasi Data
Dalam proses ini dilakukan klasifikasi data nilai final yang bertipe
numerik dan berkisar dalam rentang 0 sampai 10. Berikut ini klasifikasinya :
o N ≤ 3
o 3 < N ≤ 4
o 4 < N ≤ 5
o 5 < N ≤ 6
o 6 < N ≤ 7
o 7 < N ≤ 8
o N > 8
E. Perancangan Umum Sistem
1. Masukan Sistem
Masukan sistem yang akan dibuat adalah tabel himpunan data
pelatihan dan tabel himpunan data tes. Pada tabel himpunan data pelatihan,
yang menjadi atribut keputusan adalah atribut status yang terdiri dari dua
kondisi yaitu daftar ulang dan tidak daftar ulang.
Terdapat kolom tambahan pada tabel himpunan data tes yaitu
kolom prediksi, yang digunakan untuk menyimpan data hasil pengujian
aturan. Berikut ini merupakan deskripsi dari atribut-atribut pada tabel data
pelatihan beserta nilai kejadian dari atribut-atribut tersebut :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
Tabel 3.1 Deskripsi Atribut-Atribut Tabel Data Pelatihan
No Nama Atribut Deskripsi Nilai Kejadian 1 gelombang Gelombang masuk 1, 2, 3 2 pilihan Prioritas pilihan pada
program studi tempat calon mahasiswa tersebut diterima
1, 2 ,3
3 prodi Program studi tempat mahasiswa diterima
AKT, BK, FAR, FIS, IND, IPAK, MAN, MAT, MEKA, PAK, PBI, PBI, PBSID, PEK, PFIS, PGSD, PMAT, PSEJ, PSI, SEJ, SING, TE, TI, TM
4 jenis_kelamin Jenis kelamin mahasiswa L, P 5 jenis_sma Jenis SMA mahasiswa IPA, IPS, Bahasa,
SMK, STM, SMF, SPG/SGO, LAIN-LAIN
6 final Nilai final tes masuk berdasarkan program studi dimana mahasiswa tersebut diterima
N ≤ 3, 3 < N ≤ 4, 4 < N ≤ 5, 5 < N ≤ 6, 6 < N ≤ 7, 7 < N ≤ 8, N > 8
7 status Status mahasiswa yang melakukan daftar ulang atau tidak
Daftar Ulang, tidak DU
Berikut ini merupakan deskripsi dari atribut-atribut pada tabel data
tes beserta nilai kejadian dari atribut-atribut tersebut :
Tabel 3.2 Deskripsi Atribut-Atribut Tabel Data Tes
No Nama Atribut Deskripsi Nilai Kejadian 1 gelombang Gelombang masuk 1, 2, 3 2 pilihan Prioritas pilihan pada
program studi tempat calon mahasiswa tersebut diterima
1, 2, 3
3 prodi Program studi tempat AKT, BK, FAR,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
mahasiswa diterima FIS, IND, IPAK, MAN, MAT, MEKA, PAK, PBI, PBI, PBSID, PEK, PFIS, PGSD, PMAT, PSEJ, PSI, SEJ, SING, TE, TI, TM
4 jenis_kelamin Jenis kelamin mahasiswa L, P 5 jenis_sma Jenis SMA mahasiswa IPA, IPS, Bahasa,
SMK, STM, SMF, SPG/SGO, LAIN-LAIN
6 final Nilai keseluruhan tes berdasarkan program studi dimana mahasiswa tersebut diterima
N ≤ 3, 3 < N ≤ 4, 4 < N ≤ 5, 5 < N ≤ 6, 6 < N ≤ 7, 7 < N ≤ 8, N > 8
7 status Status mahasiswa yang melakukan daftar ulang atau tidak
Daftar Ulang, tidak DU
8 prediksi Nilai awalnya kosong, nantinya akan berisi prediksi status mahasiswa yang melakukan daftar ulang atau tidak
Daftar Ulang, tidak DU
2. Proses Sistem
Proses-proses yang dilakukan pada sistem yang dibangun adalah :
a. Mengubah bentuk data menjadi bentuk pohon
1) 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.1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
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.1
g) Lakukan langkah e dan f untuk keseluruhan atribut ke-i
h) Hitung rata-rata terbobot entropi atribut ke-i dengan rumus 2.2
i) Hitung nilai gain atribut ke-i dengan mengurangkan entropi
atribut keputusan dengan rata-rata terbobot entropi atribut ke-i.
j) Cari nilai gain atribut paling besar. Atribut inilah yang akan
menjadi node awal.
2) 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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
hasil dengan melakukan pencarian terhadap kejadian paling
banyak pada atibut keputusan pada sampel yang tersisa.
b. 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).
Jika tidak, maka nilai hasil akan menjadi konsekuen
Jika ada, maka cari anteseden selanjutnya dengan melakukan
langkah 1 dan seterusnya.
c. Menyederhanakan aturan-aturan
1) Menyederhanakan aturan dengan menghilangkan anteseden-
anteseden yang tidak perlu
Pada langkah ini, aturan-aturan yang memiliki anteseden lebih dari
satu diuji independensi dengan atribut keputusan dan atribut yang
lain didalam aturan tersebut. Dalam tugas akhir ini, langkah ini
tidak dilakukan karena ukuran matrix tabel kontingensi yang
terbentuk terlalu besar. Besarnya ukuran matrix ini akan
mempengaruhi besarnya nilai derajat kebebasan. Ketika digunakan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
tabel chi-square untuk menguji suatu hipotesis, nilai derajat
kebebasan yang terbentuk melebihi batas maksimal nilai derajat
kebebasan pada tabel chi-square, sehingga dibutuhkan dasar-dasar
teori teknik uji independensi tingkat lanjut.
2) Menyederhanakan aturan dengan membuang aturan-aturan yang
tidak perlu
Langkah ini mencari jumlah konsekuen yang paling banyak dan
selanjutnya aturan-aturan dengan konsekuen ini diubah menjadi
aturan default.
d. Menguji aturan-aturan pada himpunan data tes
Aturan–aturan yang sudah terbentuk diujikan pada himpunan data tes.
Nilai prediksi setiap data sampel yang dihasilkan dibandingkan dengan
nilai atribut keputusannya. Sesudah itu dihitung persentase
keberhasilan prediksi. Hasil penghitungan dari keberhasilan prediksi
ini akan disimpan sehingga pemakai program dapat membandingkan
hasilnya dengan hasil dari simulasi aturan yang akan dibuat
selanjutnya.
3. Keluaran Sistem
Sistem yang dibuat akan menampilkan keluaran sebagai berikut :
a. Menampilkan himpunan data pelatihan dan himpunan data tes beserta
detail atribut keputusan dan atribut yang lain dengan jumlah sampel
pada masing-masing kejadian.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
b. Keluaran pada penentuan node awal adalah nilai gain pada tiap atribut
beserta atribut yang dipilih sebagai node awal.
c. Pada proses pembuatan pohon, keluarannya adalah tabel pohon yang di
dalamnya berisi informasi nomor, tingkat pohon, nomor akar atasnya,
atribut-atribut yang menjadi node, cabang-cabang berupa nama
kejadian-kejadian dan hasilnya.
d. Pada proses unpruned aturan yaitu proses mengubah pohon menjadi
aturan, keluarannya ada dua tabel yaitu tabel pertama yang berisi
nomor aturan, konsekuen, banyaknya anteseden dan total sampel
sedangkan tabel kedua berupa anteseden-anteseden beserta nomor
aturannya.
e. Pada proses penyederhanaan aturan
Proses penyederhanaan aturan dengan membuang aturan-aturan yang
tidak perlu, keluarannya adalah konsekuen dengan jumlah paling
banyak dan mengeliminasi aturan-aturan dengan konsekuen tersebut
serta aturan yang telah disederhanakan.
f. Keluaran pada pengujian aturan adalah himpunan data tes beserta hasil
pengujian aturan dan informasi yang berisi persentase keberhasilan
prediksi, hasil simulasi berupa jumlah benar, jumlah salah dan jumlah
yang tidak dapat diprediksi
g. Keluaran pada proses prediksi suatu sampel berupa hasil prediksi yang
berisi nomor aturan dan prediksinya apakah daftar ulang atau tidak
daftar ulang.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
4. Perancangan Struktur Data
Dalam proses pembuatan pohon, data pohon disimpan dalam 6
ArrayList. ArrayList merupakan versi array yang berbentuk list. Jumlah
data pohon yang disimpan tidak dapat diperkirakan sebelumnya dalam
proses pembuatan pohon. ArrayList menjadi solusi karena tidak diperlukan
pendeklarasian seberapa banyak kuota yang harus disediakan untuk
menampung data. Kapasitas ArrayList akan bertambah secara otomatis
sesuai dengan jumlah data yang disimpan.
ArrayList pertama menyimpan nomor akar pohon, ArrayList kedua
menyimpan tingkat pohon, ArrayList ketiga menyimpan nomor akar
atasnya, ArrayList keempat menyimpan node, ArrayList kelima
menyimpan cabang, ArrayList keenam menyimpan hasil. Tipe data yang
dapat digunakan dalam ArrayList hanya tipe data objek. Tipe data objek
dapat berupa tipe data lain, misalnya string, numeric, booelan, char, date
dan sebagainya. Berikut ini contoh penggunaan ArrayList :
Public Class ContohArrayList Public Shared Sub Main() 'deklarasi ArrayList Dim tingkat, noAkar, node, cabang, _
hasil As New ArrayList
'Menyimpan data ke ArrayList tingkat.Insert(0, 1) tingkat.Insert(1, 1) noAkar.Insert(0, 0) noAkar.Insert(1, 0) node.Insert(0, "prodi") node.Insert(1, "prodi") cabang.Insert(0, "IKOM") cabang.Insert(1, "PSI") hasil.Insert(0, "Daftar Ulang") hasil.Insert(1, "tidak DU")
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
'menampilkan dalam DataGridView Dim i As Integer For i = 0 To 1 DataGridView1.Rows.Add() DataGridView1.Rows(i).Cells(0).Value = i + 1 DataGridView1.Rows(i).Cells(1).Value = tingkat(i) DataGridView1.Rows(i).Cells(2).Value = noAkar(i) DataGridView1.Rows(i).Cells(3).Value = node(i) DataGridView1.Rows(i).Cells(4).Value = cabang(i) DataGridView1.Rows(i).Cells(5).Value = hasil(i) Next End Sub End Class
Keluarannya :
Tabel 3.3 Keluaran Contoh ArrayList
No Tingkat No Akar Atasnya Node Cabang Hasil 1 1 0 prodi IKOM Daftar Ulang 2 1 0 prodi PSI Tidak DU
5. Perancangan Antarmuka
Perancangan antarmuka sistem adalah sebagai berikut :
a. Form Input Data Tabel
Gambar 3.1 Desain Antarmuka Form Input Data Tabel
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
Form di atas merupakan form awal dimana tabel data pelatihan dan
tabel data tes digunakan sebagai masukan untuk sistem. Ada dua
tombol dalam form ini yaitu :
Reset, digunakan untuk menghapus tabel data pelatihan dan tabel
data tes yang telah dimasukan sebelumnya
Ok, digunakan untuk melanjutkan ke form berikutnya yaitu form
detail tabel.
b. Form Detail Tabel
Gambar 3.2 Desain Antarmuka Form Detail Tabel
Form ini untuk menampilkan detail tabel yang telah dimasukkan
sebelumnya, baik itu tabel pelatihan maupun tabel tes. Informasi yang
diberikan berupa himpunan data sampel, jumlah atribut, jumlah data,
atribut keputusan, jumlah dan nama kejadian atribut keputusan, dan
atribut yang lain dengan jumlah sampel pada masing-masing kejadian.
Ada tiga tombol dalam form ini yaitu :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
Tampil tabel, digunakan untuk menampilkan himpunan data
sampel, beserta informasi detail tabel tersebut yang telah dijelaskan
di atas.
Proses ID3, untuk melanjutkan ke proses atau form selanjutnya
yaitu form penentuan node awal.
c. Form Penentuan Node Awal
Gambar 3.3 Desain Antarmuka Form Penentuan Node Awal
Form di atas untuk menampilkan nama atribut serta nilai gain masing-
masing atribut dan menampilkan atribut yang dipilih menjadi node
awal beserta nilai gainnya. Ada dua tombol dalam form ini yaitu:
Cari Node Awal, tombol ini digunakan untuk mencari atribut yang
dipilih menjadi node awal beserta nilai gainnya, serta mencari nilai
gain atribut yang lain.
Lanjut, untuk melanjutkan ke proses atau form selanjutnya yaitu
form pembuatan pohon.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
d. Form Pembuatan Pohon
Gambar 3.4 Desain Antarmuka Form Pembuatan Pohon
Form di atas digunakan untuk melakukan proses pembentukan pohon
dan menampilkan tabel pohon yang sudah terbentuk yang berisi
informasi tentang tingkat pohon, nomor akar atasnya, atribut-atribut
yang menjadi node, cabang-cabang berupa nama kejadian-kejadiannya
dan hasilnya. Ada dua tombol yaitu :
Buat Pohon, digunakan untuk melakukan proses pembentukan
pohon dan menampilkan tabel pohon yang terbentuk.
Lanjut, untuk melanjutkan ke proses atau form selanjutnya yaitu
form unpruned aturan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
e. Form Unpruned Aturan
Gambar 3.5 Desain Antarmuka Form Unpruned Aturan
Form di atas digunakan untuk proses penentuan aturan dan
menampilkan aturan tersebut serta jumlahnya. Dalam form tersebut
terdapat combo box klasifikasi yang digunakan untuk menampilkan
aturan-aturan berdasarkan klasifikasi yang dipilih. Informasi
ditampilkan dalam dua tabel, tabel pertama menampilkan informasi
tentang nomor aturan, konsekuen, total anteseden dan total sampel,
sedangkan tabel kedua menampilkan informasi anteseden yang berisi
nomor aturan dan anteseden. Ada dua tombol yaitu :
Unpruned, tombol ini digunakan untuk melakukan proses
penentuan aturan-aturan dari pohon yang telah dibentuk
sebelumnya dan menampilkan combo box klasifikasi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
Lanjut, untuk melanjutkan ke proses atau form selanjutnya yaitu
form Aturan Default
f. Form Aturan Default
Gambar 3.6 Desain Antarmuka Form Aturan Default
Form di atas digunakan untuk membuat aturan default. Dalam form
tersebut terdapat combo box klasifikasi yang digunakan untuk
menampilkan aturan-aturan berdasarkan klasifikasi yang dipilih. Ada
dua tombol dalam form ini yaitu
Aturan Default, digunakan untuk membuat aturan default.
Lanjut, untuk melanjutkan ke proses atau form selanjutnya yaitu
form simulasi dan pengujian aturan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
g. Form Simulasi dan Pengujian Aturan
o Form Simulasi
Gambar 3.7 Desain Antarmuka Form Simulasi
Form simulasi ini digunakan untuk membuat simulasi aturan,
menghapus aturan-aturan yang diinginkan dan menampilkan
informasi tentang aturan beserta anteseden yang dihapus. Informasi
tersebut berisi tentang nomor aturan, konsekuen, total anteseden
dan nama antesedennya. Dalam form tersebut terdapat combo box
klasifikasi yang digunakan untuk menampilkan aturan-aturan
berdasarkan klasifikasi yang dipilih dan jumlah aturan. Tombol-
tombol yang ada yaitu :
Buat Simulasi, tombol ini digunakan untuk membuat simulasi
aturan dan menampilkan aturan-aturan yang terbentuk
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
58
Pengujian Aturan, digunakan untuk melanjutkan ke form
pengujian aturan.
Lihat Sampel, tombol ini digunakan untuk menjalankan form
detail sampel.
Hapus Aturan, tombol ini digunakan untuk menghapus aturan
yang telah dipilih
Selesai, tombol ini digunakan untuk menyelesaikan pembuatan
simulasi dan menyimpan aturan-aturan yang termasuk dalam
simulasi ini.
Batal, digunakan untuk membatalkan aturan yang telah
dihapus.
o Form Pengujian Aturan
Gambar 3.8 Desain Antarmuka Form Pengujian Aturan
Form pengujian aturan ini digunakan untuk menguji aturan-aturan
dalam simulasi pada himpunan data tes dan menampilkan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
59
informasi yang berupa persentase keberhasilan prediksi dan detail
hasil simulasi yang berisi nomor simulasi, jumlah benar, jumlah
salah dan jumlah yang tidak dapat diprediksi. Tombol-tombol yang
ada dalam form ini yaitu :
Data Tes, digunakan untuk menampilkan tabel tes dan detail
atribut keputusan pada tabel tes
Uji Aturan, tombol ini digunakan untuk menampilkan hasil uji
yang terdapat pada atribut prediksi dan persentase keberhasilan
prediksi serta menampilkan detail hasil simulasi yang dibuat.
Aturan-Aturan, digunakan untuk menampilkan aturan-aturan
pada simulasi yang telah dibuat dengan menjalankan form
aturan-aturan.
Pilih Simulasi, digunakan untuk memilih salah satu simulasi
dimana aturan-aturan yang ada pada simulasi tersebut
merupakan aturan-aturan yang paling sederhana dan akan
melanjutkan ke Form aturan-aturan sederhana dan prediksi
sampel.
Hapus Simulasi, digunakan untuk menhapus simulasi yang
telah dibuat.
Buat Simulasi, tombol ini digunakan untuk menjalankan form
simulasi dan pengujian aturan dimana pemakai program ingin
membuat simulasi aturan dan melakukan pengujian aturan lagi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
60
o Form Detail Sampel
Gambar 3.9 Desain Antarmuka Form Detail Sampel
Form di atas digunakan untuk menampilkan informasi yang berisi
tentang jumlah sampel masing-masing kejadian pada atribut
keputusan dan detail sampelnya.
o Form Aturan-Aturan
Gambar 3.10 Desain Antarmuka Form Aturan-Aturan
Form di atas digunakan untuk menampilkan aturan-aturan yang
ada pada suatu simulasi yang telah dipilih.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
61
h. Form Aturan-Aturan Sederhana dan Prediksi Sampel
o Form Aturan-Aturan Sederhana
Gambar 3.11 Desain Antarmuka Form Aturan-Aturan Sederhana
Form di atas digunakan untuk menampilkan aturan-aturan yang
merupakan aturan paling sederhana.
o Form Prediksi Sampel
Gambar 3.12 Desain Antarmuka Form Prediksi Sampel
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
62
Form di atas digunakan untuk melakukan prediksi terhadap suatu
sampel yaitu dengan memasukkan data yang ada pada kedua
combo box dan menampilkan hasil prediksi. Tombol-tombol yang
ada pada form ini yaitu :
Prediksi, digunakan untuk memprediksi suatu sampel
Hasil Prediksi, tombol ini digunakan untuk memprediksi
sampel berdasarkan data yang telah dimasukkan dari kedua
combo box dan menampilkan hasil prediksi berupa nomor
aturan dan prediksinya.
Reset, tombol ini digunakan untuk mengganti keseluruhan
nilai-nilai kejadian yang telah dipilih
Selesai, digunakan untuk mengakhiri ataupun menutup
program
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
64
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.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
65
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) :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
66
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
67
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
68
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.Rows(i).Item(0) & "'" Dim ambil_p As New MySqlDataAdapter(q1, konek) Dim temp As New DataTable ambil_p.Fill(temp) PA = temp.Rows(0).Item(0) / objDt.Rows.Count PAlog = Math.Log(PA, 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(" & arrkej(j) & ") from " & MDI_utama.tbl_training & "" Dim ambil_kej As New MySqlDataAdapter(qkejadian, konek) Dim tempkej As New DataTable ambil_kej.Fill(tempkej) Dim total_akhir(tempkej.Rows.Count - 1), entropi(tempkej.Rows.Count - 1) As Double rt_entropi = 0 For i = 0 To tempkej.Rows.Count - 1
tot_akhir = 0 Dim jum_target(1) 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.Rows(x).Item(0) & "' and " & arrkej(j) & "='" & tempkej.Rows(i).Item(0) & "')" Dim tot_entr1 As New MySqlDataAdapter(q2, konek) Dim qa1 As New DataTable tot_entr1.Fill(qa1) jum_target(x) = qa1.Rows(0).Item(0) tot_akhir = tot_akhir + jum_target(x)
Next total_akhir(i) = tot_akhir etot_at = 0 For x = 0 To MDI_utama.temp_sq1_akhir.Rows.Count - 1 If jum_target(x) > 0 Then
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
69
Ptot = jum_target(x) / tot_akhir logPtot = Math.Log((Ptot), 2) End If If jum_target(x) = 0 Then Ptot = 0 logPtot = 0 End If entrp = (-1 * (Ptot * logPtot)) etot_at = etot_at + entrp Next entropi(i) = etot_at rt_entropi = rt_entropi + ((total_akhir(i) /
objDt.Rows.Count)* entropi(i)) Next gain = entropi_awal - rt_entropi gain_field(j) = gain gain = 0 j = j + 1 Loop
* Fungsi di atas adalah untuk menghitung nilai gain setiap atribut
besar = gain_field(0) For i = 0 To tempfields.Rows.Count - 3
If besar <= gain_field(i) Then besar = gain_field(i) besar_i = i
End If Next MDI_utama.node_awal = tempfields.Rows(besar_i + 1).Item(0) 'menyimpan atribut yang menjadi node awal gain_awal = gain_field(besar_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
70
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
71
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_phn(jfor) = "^^" , 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 :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
72
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
73
“^^”. 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_phn(awal) Dim i_akar = MDI_utama.noakaratas_phn(awal) Dim jml_Sampel = MDI_utama.sampelsisa_phn(awal) 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.Insert(MDI_utama.i_prediksi, no_rule) prediksi_B.Insert(MDI_utama.i_prediksi, hasilX) prediksi_C.Insert(MDI_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.Insert(MDI_utama.i_rule, no_rule) rule_B.Insert(MDI_utama.i_rule, _ MDI_utama.node_phn(i_Phn)) rule_C.Insert(MDI_utama.i_rule, _ MDI_utama.cabang_phn(i_Phn)) xyz = i_akar 'menentukan akar atasnya
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
74
i_akar = MDI_utama.noakaratas_phn(xyz) i_Phn = xyz Loop 'menyimpan anteseden2 'yg mrpk atributakar plg atas MDI_utama.i_rule = MDI_utama.i_rule + 1 rule_A.Insert(MDI_utama.i_rule, no_rule) rule_B.Insert(MDI_utama.i_rule, _
MDI_utama.node_phn(xyz)) rule_C.Insert(MDI_utama.i_rule, _
MDI_utama.cabang_phn(xyz)) 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.Insert(MDI_utama.i_prediksi, no_rule) prediksi_B.Insert(MDI_utama.i_prediksi, hasilX) prediksi_C.Insert(MDI_utama.i_prediksi, jml_Sampel) 'menyimpan anteseden MDI_utama.i_rule = MDI_utama.i_rule + 1 rule_A.Insert(MDI_utama.i_rule, no_rule) rule_B.Insert(MDI_utama.i_rule, _
MDI_utama.node_phn(awal)) rule_C.Insert(MDI_utama.i_rule, _
MDI_utama.cabang_phn(awal)) 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_A(q) Then i_dtSampel = i_dtSampel + 1 MDI_utama.dt_sampel_A.Insert(i_dtSampel, _
prediksi_A(MDI_utama.i_prediksi)) MDI_utama.dt_sampel_B.Insert(i_dtSampel, _
MDI_utama.sampel2_B(q)) 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 :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
75
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 :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
76
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 :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
77
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
78
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
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
79
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
80
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).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
81
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 :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
82
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
83
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
84
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
Untuk menganalisa hasil program, penulis melakukan pengujian
menggunakan metode cross-validation (Witten & Frank, 2005:149).
Metode ini membagi data keseluruhan menjadi beberapa partisi.
Pendekatan yang dilakukan menggunakan fivefold cross-validation, yaitu
membagi sampel data menjadi lima partisi dengan jumlah data masing-
masing partisi sama banyak. Setiap partisi menjadi himpunan data tes dan
partisi yang lain menjadi himpunan data pelatihan. Misalkan partisi 1
sebagai himpunan data tes, maka partisi 2, 3, 4 dan 5 menjadi himpunan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
85
data pelatihan. Langkah ini diulangi sampai setiap partisi digunakan tepat
satu kali sebagai himpunan data tes.
Dalam pengujian ini sampel data yang digunakan sebanyak 1400
record. Masing-masing partisi mempunyai sampel data sebanyak 280
record Berikut ini merupakan pengujian cross-validation:
• Pengujian I
Data pelatihan adalah partisi ke 2, 3, 4, 5 sedangkan data tes
merupakan partisi ke 1. Berikut confusion matrix yang terbentuk :
Tabel 4.1 Confusion Matrix Pengujian I
Kelas Prediksi Daftar Ulang Tidak DU Total
Daftar Ulang 134 40 174Kelas Sebenarnya Tidak DU 61 45 106
Total 195 85
• Pengujian II
Data pelatihan adalah partisi ke 1, 3, 4, 5 sedangkan data tes
merupakan partisi ke 2. Berikut confusion matrix yang terbentuk :
Tabel 4.2 Confusion Matrix Pengujian II
Kelas Prediksi Daftar Ulang Tidak DU Total
Daftar Ulang 135 47 182Kelas Sebenarnya Tidak DU 56 42 98
Total 191 89
• Pengujian III
Data pelatihan adalah partisi ke 1, 2, 4, 5 sedangkan data tes
merupakan partisi ke 3. Berikut confusion matrix yang terbentuk :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
86
Tabel 4.3 Confusion Matrix Pengujian III
Kelas Prediksi Daftar Ulang Tidak DU Total
Daftar Ulang 125 45 170Kelas Sebenarnya Tidak DU 57 53 101
Total 182 98
• Pengujian IV
Data pelatihan adalah partisi ke 1, 2, 3, 5 sedangkan data tes
merupakan partisi ke 4. Berikut confusion matrix yang terbentuk :
Tabel 4.4 Confusion Matrix Pengujian IV
Kelas Prediksi Daftar Ulang Tidak DU Total
Daftar Ulang 122 43 165Kelas Sebenarnya Tidak DU 71 44 115
Total 193 87
• Pengujian V
Data pelatihan adalah partisi ke 1, 2, 3, 4 sedangkan data tes
merupakan partisi ke 5. Berikut confusion matrix yang terbentuk :
Tabel 4.5 Confusion Matrix Pengujian V
Kelas Prediksi Daftar Ulang Tidak DU Total
Daftar Ulang 121 55 176Kelas Sebenarnya Tidak DU 62 42 104
Total 183 97
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
87
Berikut ini merupakan tabel dari pengujian-pengujian di atas :
Tabel 4.6 Pengujian Cross-validation
Pengujian Data Pelatihan
Data Tes Jumlah Benar
Jumlah Salah
I 2, 3, 4, 5 1 179 101II 1, 3, 4, 5 2 177 103III 1, 2, 4, 5 3 178 102IV 1, 2, 3, 5 4 166 114V 1, 2, 3, 4 5 163 117
Total 863 537
Dari tabel di atas, jumlah data pengujian yang benar untuk keseluruhan
pengujian sebanyak 863 record dan jumlah data pengujian yang salah
sebanyak 537 record sehingga persentase keberhasilan prediksi yang
didapat sebesar, %64.61%1001400863
=× .
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
88
BAB V
KESIMPULAN DAN SARAN
C. Kesimpulan
Kesimpulan yang dapat diperoleh sebagai hasil dari penyelesaian tugas
akhir ini adalah :
Pengujian menggunakan metode fivefold cross-validation dengan jumlah
data sebanyak 1400 sampel dapat memprediksi mahasiswa yang tidak
melakukan daftar ulang dengan tingkat keberhasilan prediksi sebesar
61.64 %
D. Saran
Berangkat dari hasil analisa tugas akhir, penulis memberikan saran
untuk perbaikan dan pengembangan program lebih lanjut, antara lain :
1) Program tidak melakukan uji independensi karena ukuran
matrik untuk tabel kontingensi terlalu besar. Untuk itu
program dapat dikembangkan lagi agar dapat menangani
ukuran matrik yang besar sehingga uji independensi dapat
dilakukan.
2) Karena lamanya waktu proses pembuatan pohon maka
program dapat dikembangkan untuk memberikan fasilitas
penyimpanan aturan-aturan yang telah terbentuk, sehingga
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
89
aturan-aturan ini dapat diujikan pada himpunan data tes yang
lain tanpa perlu mengulangi proses dari awal.
3) Program dapat dikembangkan untuk menangani data yang
bertipe numerik secara langsung tanpa perlu mengubahnya
menjadi data yang bertipe string terlebih dahulu, misalnya
menggunakan metode C4.5 (Daniel, 2005).
4) Pemilihan atribut tidak ditentukan secara intuitif namun
menggunakan feature analysis sehingga akurasi keberhasilan
dapat ditingkatkan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
90
DAFTAR PUSTAKA
Dzeroski, Saso & Lavrac, Nada. Relational Data Mining. Berlin: Springer. 2001
Fayyad, Usama & Shapiro, Gregory Piatetsky & Smyth, Padhraic. From Data Mining to Knowledge Discovery in Databases. http:// www.kdnuggets.com/gpspubs/aimag-kdd-overview-1996-Fayyad.pdf
Groth, Robert. Data Mining: A Hands-on Approach for Business Professionals. New Jersey: Prentice Hall PTR. 1998
Hamilton, Howard & Gurak, Ergun & Findlander, Leah & Olive, Wayne. Overview of Decision Trees. http://www2.cs.uregina.ca/~hamilton/courses/831/notes/ml/dtrees/4_dtrees1.html
Hamilton, Howard & Gurak, Ergun & Findlander, Leah & Olive, Wayne. Decision Tree Contruction. http://www2.cs.uregina.ca/~hamilton/courses/831/notes/ml/dtrees/4_dtrees2.html.2000
Hamilton, Howard & Gurak, Ergun & Findlander, Leah & Olive, Wayne. Decision Tree Rules & Pruning. http://www2.cs.uregina.ca/~hamilton/courses/831/notes/ml/dtrees/4_dtrees3.html.
Han, Jiawei. & Kamber, Micheline. Data Mining: Concepts And Techniques. http://www.cs.sfu.ca/~han/dmbook
Larose, Daniel T. Discovering Knowledge in Data: An Introduction to Data Mining. Canada: Wiley-Interscience. 2005
Mitra, Sushmita & Acharya, Tinku. Data Mining: Multimedia, Soft Computing, and Bioinformatics. Canada: Wiley-Interscience. 2003
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
91
Rosa, Paulina H.Prima. (2003, 7 Mei). Data Mining: Pemaknaan Data Secara Komprehensif. Makalah “Seminar Rumpun MIPA Universitas Sanata Dharma Yogyakarta”.
Sucahyo, Yudho Giri, Data Mining Menggali Informasi yang Terpendam. http://ilmukomputer.com/populer/yudho-datamining.php.2003
Sucahyo, Yudho Giri, Penerapan Data Mining: Permasalahan Apa Saja yang Bisa Diselesaikan. http://ilmukomputer.com/populer/yudho-datamining.php.2003
Witen, Ian H. & Frank, Eibe. Data Mining: Practical Machine Learning Tools and Techniques. California: Morgan Kaufmann Publishers. 2005
Witen, Ian H. & Frank, Eibe. Data Mining: Practical Machine Learning Tools and Techniques with Java Implementations. California: Morgan Kaufmann Publishers. 2000 http://www.cs.sfu.ca/~han/bk/7class.ppt
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
92
LAMPIRAN Listing Program Pembuatan Pohon : '******membuat cabang pada node awal******* tingkat = 1 MDI_utama.indx_phn = -1 indx_sampel = -1 indx_attr = -1 MDI_utama.indx_sampel2 = -1 Dim kejdo, akhir, total_jum_target, no_kejadian As Integer Dim jum_target_akhir(1) 'mencari total kejadian pd node awal Dim qr2 As String 'mencari kejadian2 yang ada pada node awal qr2 = "select distinct(" & MDI_utama.node_awal & ") from " & MDI_utama.tbl_training & "" Dim ambil_qr2 As New MySqlDataAdapter(qr2, konek) Dim temp_qr2 As New DataTable ambil_qr2.Fill(temp_qr2) kejdo = 0 nmr_phn = 0 Do While kejdo <= temp_qr2.Rows.Count - 1 MDI_utama.indx_phn = MDI_utama.indx_phn + 1 nmr_phn = nmr_phn + 1 'menyimpan nomor no_phn.Insert(MDI_utama.indx_phn, nmr_phn) 'menyimpan tingkat tingkat_phn.Insert(MDI_utama.indx_phn, tingkat) 'menyimpan node MDI_utama.node_phn.Insert(MDI_utama.indx_phn,
MDI_utama.node_awal) 'menyimpan cabang MDI_utama.cabang_phn.Insert(MDI_utama.indx_phn,
temp_qr2.Rows(MDI_utama.indx_phn).Item(0)) total_jum_target = 0 Dim qr3 As String For akhir = 0 To MDI_utama.temp_sq1_akhir.Rows.Count - 1 qr3 = "select count(*) from " & MDI_utama.tbl_training & "
where " & MDI_utama.node_awal & " = '" & temp_qr2.Rows(kejdo).Item(0) & "' and status = '" & MDI_utama.temp_sq1_akhir.Rows(akhir).Item(0) & "'"
Dim ambil_qr3 As New MySqlDataAdapter(qr3, konek) Dim temp_qr3 As New DataTable ambil_qr3.Fill(temp_qr3) jum_target_akhir(akhir) = temp_qr3.Rows(0).Item(0) total_jum_target = total_jum_target + jum_target_akhir(akhir) Next
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
93
'cek homogenitasnya Dim jum_nol = 0 Dim jum_tak_nol = 0 For akhir = 0 To MDI_utama.temp_sq1_akhir.Rows.Count - 1 If jum_target_akhir(akhir) = 0 Then jum_nol = jum_nol + 1 End If If jum_target_akhir(akhir) > 0 Then jum_tak_nol = jum_tak_nol + 1 no_kejadian = akhir End If Next If jum_nol = MDI_utama.temp_sq1_akhir.Rows.Count Then '*******jika sampel tidak ada******* 'jumlah sampel sisa MDI_utama.sampelsisa_phn.Insert(MDI_utama.indx_phn, 0) 'menyimpan hasil MDI_utama.hsl_phn.Insert(MDI_utama.indx_phn,
MDI_utama.kej_jum_max) ElseIf jum_tak_nol = 1 Then '****jika sampel homogen*** '---menyimpan hasil--- MDI_utama.hsl_phn.Insert(MDI_utama.indx_phn,
MDI_utama.temp_sq1_akhir.Rows(no_kejadian).Item(0)) '---menyimpan jumlah sampel tersisa MDI_utama.sampelsisa_phn.Insert(MDI_utama.indx_phn,
jum_target_akhir(no_kejadian)) '---Mencari Sampel--- '::mencari jumlah sampel:: Dim qr5 As String '::mencari nomor record:: qr5 = "select no from " & MDI_utama.tbl_training & " where "_ & MDI_utama.node_awal & "= '" & temp_qr2.Rows(kejdo).Item(0)
& "'" Dim ambil_qr5 As New MySqlDataAdapter(qr5, konek) Dim temp_qr5 As New DataTable ambil_qr5.Fill(temp_qr5) 'menyimpan data sampel Dim sfor As Integer For sfor = 0 To temp_qr5.Rows.Count - 1 MDI_utama.indx_sampel2 = MDI_utama.indx_sampel2 + 1 MDI_utama.sampel2_A.Insert(MDI_utama.indx_sampel2,
MDI_utama.indx_phn) MDI_utama.sampel2_B.Insert(MDI_utama.indx_sampel2,
temp_qr5.Rows(sfor).Item(0)) Next Else '***jika sampel masih heterogen dan sampel tidak kosong*** 'menyimpan hasil MDI_utama.hsl_phn.Insert(MDI_utama.indx_phn, "^^")
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
94
'menyimpan jumlah sampel tersisa MDI_utama.sampelsisa_phn.Insert(MDI_utama.indx_phn, -1) Dim qr5 As String '::mencari nomor record:: qr5 = "select no from " & MDI_utama.tbl_training & " where "_ & MDI_utama.node_awal & "= '" & temp_qr2.Rows(kejdo).Item(0)
& "'" Dim ambil_qr5 As New MySqlDataAdapter(qr5, konek) Dim temp_qr5 As New DataTable ambil_qr5.Fill(temp_qr5) 'menyimpan data sampel Dim sfor As Integer For sfor = 0 To temp_qr5.Rows.Count - 1 indx_sampel = indx_sampel + 1 sampel_A.Insert(indx_sampel, MDI_utama.indx_phn) sampel_B.Insert(indx_sampel, temp_qr5.Rows(sfor).Item(0)) Next 'mencari atribut tdk ikut proses penghitungan gain indx_attr = indx_attr + 1 attr_g_ikut1.Insert(indx_attr, MDI_utama.indx_phn) attr_g_ikut2.Insert(indx_attr, MDI_utama.node_awal) End If 'menyimpan indeks akar atasnya MDI_utama.noakaratas_phn.Insert(MDI_utama.indx_phn, 0) 'akar
paling atas kejdo = kejdo + 1 Loop 'memanggil function cek() fcek() ProgressBar1.Value = 95 'menampilkan(pohon) Dim tfor As Integer For tfor = 0 To MDI_utama.indx_phn grid_phn.Rows.Add() grid_phn.Rows(tfor).Cells(0).Value = no_phn.Item(tfor) grid_phn.Rows(tfor).Cells(1).Value = tingkat_phn(tfor) grid_phn.Rows(tfor).Cells(2).Value =
MDI_utama.noakaratas_phn(tfor) grid_phn.Rows(tfor).Cells(3).Value = MDI_utama.node_phn(tfor) grid_phn.Rows(tfor).Cells(4).Value = MDI_utama.cabang_phn(tfor) grid_phn.Rows(tfor).Cells(5).Value = MDI_utama.hsl_phn(tfor) Next ProgressBar1.Value = 100 ProgressBar1.Visible = False
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
95
Public Function fcek() '********function untuk mencari anak cabang (jika ada)******** Dim afor, jfor, x, xfor, jml_phn, nx, no_fields, calc As Integer Dim nilai_etr, tot_akhir2, etot_at, entrp, Ptot, logPtot, _ etot_at2, entrp2, Ptot2, logPtot2, rt_entropi, gainS As Double Dim node1, sqr2, sqr3, sqr4 As String jfor = 0 jml_phn = MDI_utama.indx_phn 'menyimpan atribut Dim qr_kolom = "show fields from " & MDI_utama.tbl_training & "" Dim ambil_qr_kolom As New MySqlDataAdapter(qr_kolom, konek) Dim temp_qr_kolom As New DataTable ambil_qr_kolom.Fill(temp_qr_kolom) Dim arr_kolom_ikut(temp_qr_kolom.Rows.Count - 3) As String For afor = 0 To temp_qr_kolom.Rows.Count - 3 arr_kolom_ikut(afor) = temp_qr_kolom.Rows(afor + 1).Item(0) Next Do While jfor <= jml_phn If MDI_utama.hsl_phn(jfor) = "^^" Then 'jika mempunyai anak cabang Dim indxs_pohon = jfor 'mencari node selanjutnya(sebagai anak cabang) Dim jml_atribut_ikut = MDI_utama.jml_atribut -
tingkat_phn(indxs_pohon) '---mencari nilai gain--- Dim N_gainS(jml_atribut_ikut - 1, 1) As String Dim noNilai_etr = -1 nx = 0 Dim jum_target(1) Do While nx < MDI_utama.jml_atribut Dim ikut = 0 For no_fields = 0 To indx_attr If attr_g_ikut1(no_fields) = indxs_pohon Then If (arr_kolom_ikut(nx)) = (attr_g_ikut2(no_fields)) Then ikut = ikut + 1 End If End If Next If ikut = 0 Then noNilai_etr = noNilai_etr + 1 N_gainS(noNilai_etr, 0) = arr_kolom_ikut(nx) 'mencariEntropiPada atribut temp_qr_kolom.Rows(nx).Item(0) rt_entropi = 0 nilai_etr = 0 sqr2 = "select distinct(" & arr_kolom_ikut(nx) & ") from "
& MDI_utama.tbl_training & "" Dim ambil_sqr2 As New MySqlDataAdapter(sqr2, konek) Dim temp_sqr2 As New DataTable ambil_sqr2.Fill(temp_sqr2) Dim re = 0 Dim jum_target2(1)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
96
Do While re <= temp_sqr2.Rows.Count - 1 For x = 0 To MDI_utama.temp_sq1_akhir.Rows.Count - 1 jum_target(x) = 0 jum_target2(x) = 0 Next Dim tot_record = 0 sqr3 = "select no," & MDI_utama.field_akhir & " from " &
MDI_utama.tbl_training & " where " _ & arr_kolom_ikut(nx) & "='" &
temp_sqr2.Rows(re).Item(0) & "'" Dim ambil_sqr3 As New MySqlDataAdapter(sqr3, konek) Dim temp_sqr3 As New DataTable ambil_sqr3.Fill(temp_sqr3) sqr4 = "select no," & MDI_utama.field_akhir & " from " &
MDI_utama.tbl_training & "" Dim ambil_sqr4 As New MySqlDataAdapter(sqr4, konek) Dim temp_sqr4 As New DataTable ambil_sqr4.Fill(temp_sqr4) tot_akhir2 = 0 calc = 0 Dim no_indx, no_indx2 As Integer Do While calc <= indx_sampel If sampel_A(calc) = indxs_pohon Then tot_record = tot_record + 1 'untuk mencari jumlah (+) dan (-) pada cabang For no_indx2 = 0 To temp_sqr4.Rows.Count - 1 Dim noMhs2 = temp_sqr4.Rows(no_indx2).Item(0) Dim at_target2 = temp_sqr4.Rows(no_indx2).Item(1) If sampel_B(calc) = noMhs2 Then For xfor=0 To MDI_utama.temp_sq1_akhir.Rows.Count-1 If at_target2 =
MDI_utama.temp_sq1_akhir.Rows(xfor).Item(0) Then
jum_target2(xfor) = jum_target2(xfor) + 1 End If Next End If Next 'mencari (+) dan (-) tiap kejadian pada atribut For no_indx = 0 To temp_sqr3.Rows.Count - 1 Dim noMhs = temp_sqr3.Rows(no_indx).Item(0) Dim at_target = temp_sqr3.Rows(no_indx).Item(1) If sampel_B(calc) = noMhs Then tot_akhir2 = tot_akhir2 + 1 For x=0 To MDI_utama.temp_sq1_akhir.Rows.Count-1 If at_target =
MDI_utama.temp_sq1_akhir.Rows(x).Item(0) Then jum_target(x) = jum_target(x) + 1 End If Next End If Next
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
97
End If calc = calc + 1 Loop 'hitung entropi awal etot_at2 = 0 For x = 0 To MDI_utama.temp_sq1_akhir.Rows.Count - 1 If jum_target2(x) > 0 Then Ptot2 = jum_target2(x) / tot_record logPtot2 = Math.Log((Ptot2), 2) End If If jum_target2(x) = 0 Then Ptot2 = 0 logPtot2 = 0 End If entrp2 = (-1 * (Ptot2 * logPtot2)) etot_at2 = etot_at2 + entrp2 Next 'hitung rata-rata entropi tiap atribut etot_at = 0 For x = 0 To MDI_utama.temp_sq1_akhir.Rows.Count - 1 If jum_target(x) > 0 Then Ptot = jum_target(x) / tot_akhir2 logPtot = Math.Log((Ptot), 2) End If If jum_target(x) = 0 Then Ptot = 0 logPtot = 0 End If entrp = (-1 * (Ptot * logPtot)) etot_at = etot_at + entrp Next rt_entropi=rt_entropi+((tot_akhir2/tot_record)* etot_at) re = re + 1 Loop gainS = etot_at2 - rt_entropi N_gainS(noNilai_etr, 1) = gainS gainS = 0 End If nx = nx + 1 Loop 'mencari nilai gain paling besar sebagai node selanjutnya '================================================= Dim i, besar_indk As Integer Dim Attr_besar = N_gainS(0, 1) For i = 0 To jml_atribut_ikut - 1 If Attr_besar <= N_gainS(i, 1) Then Attr_besar = N_gainS(i, 1) besar_indk = i End If Next node1 = N_gainS(besar_indk, 0)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
98
'********Buat cabang pada node1*********** 'mencari kejadian-kejadian pada node1 Dim sqr_n1, sqr_n2 As String Dim tt As Integer sqr_n1 = "select distinct(" & node1 & ") from " &
MDI_utama.tbl_training & "" Dim ambil_sqr_n1 As New MySqlDataAdapter(sqr_n1, konek) Dim temp_sqr_n1 As New DataTable ambil_sqr_n1.Fill(temp_sqr_n1) Dim jum_sampel = indx_sampel Dim jum_attr = indx_attr tt = 0 Do While tt <= temp_sqr_n1.Rows.Count - 1 MDI_utama.indx_phn = MDI_utama.indx_phn + 1 nmr_phn = nmr_phn + 1 'menyimpan no pohon no_phn.Insert(MDI_utama.indx_phn, nmr_phn) 'menyimpan tingkat tingkat_phn.Insert(MDI_utama.indx_phn,
tingkat_phn(indxs_pohon) + 1) 'menyimpan node MDI_utama.node_phn.Insert(MDI_utama.indx_phn, node1) 'menyimpan cabang MDI_utama.cabang_phn.Insert(MDI_utama.indx_phn,
temp_sqr_n1.Rows(tt).Item(0)) sqr_n2 = "select no, " & MDI_utama.field_akhir & " from " &
MDI_utama.tbl_training _ & " where " & node1 & "='" &
temp_sqr_n1.Rows(tt).Item(0) & "'" Dim ambil_sqr_n2 As New MySqlDataAdapter(sqr_n2, konek) Dim temp_sqr_n2 As New DataTable ambil_sqr_n2.Fill(temp_sqr_n2) For x = 0 To MDI_utama.temp_sq1_akhir.Rows.Count - 1 jum_target(x) = 0 Next 'mencari jumlah kejadian -kejadian pada field akhir Dim tq = 0 Dim kk As Integer Do While tq <= temp_sqr_n2.Rows.Count - 1 Dim nobaru = temp_sqr_n2.Rows(tq).Item(0) For kk = 0 To jum_sampel If sampel_A(kk) = indxs_pohon And sampel_B(kk) = nobaru
Then Dim hsl = temp_sqr_n2.Rows(tq).Item(1) For x = 0 To MDI_utama.temp_sq1_akhir.Rows.Count - 1 If hsl=MDI_utama.temp_sq1_akhir.Rows(x).Item(0) Then jum_target(x) = jum_target(x) + 1 End If
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
99
Next End If Next tq = tq + 1 Loop 'cek homogenitasnya Dim jum_nol = 0 Dim jum_tak_nol = 0 Dim akhir, no_kejadian As Integer For akhir = 0 To MDI_utama.temp_sq1_akhir.Rows.Count - 1 If jum_target(akhir) = 0 Then jum_nol = jum_nol + 1 End If If jum_target(akhir) > 0 Then jum_tak_nol = jum_tak_nol + 1 no_kejadian = akhir End If Next If jum_nol = MDI_utama.temp_sq1_akhir.Rows.Count Then '*******jika sampel tidak ada******* 'jumlah sampel sisa MDI_utama.sampelsisa_phn.Insert(MDI_utama.indx_phn, 0) 'menyimpan hasil MDI_utama.hsl_phn.Insert(MDI_utama.indx_phn,
MDI_utama.kej_jum_max) ElseIf jum_tak_nol = 1 Then '****jika sampel homogen*** '---menyimpan hasil--- MDI_utama.hsl_phn.Insert(MDI_utama.indx_phn,
MDI_utama.temp_sq1_akhir.Rows(no_kejadian).Item(0)) '---menyimpan jumlah sampel tersisa MDI_utama.sampelsisa_phn.Insert(MDI_utama.indx_phn,
jum_target(no_kejadian)) 'menyimpan data sampel berupa nomor record Dim aa = 0, bb As Integer Do While aa <= temp_sqr_n2.Rows.Count - 1 Dim nobaru = temp_sqr_n2.Rows(aa).Item(0) For bb = 0 To jum_sampel If sampel_A(bb) = indxs_pohon Then If sampel_B(bb) = nobaru Then MDI_utama.indx_sampel2 = MDI_utama.indx_sampel2 + 1 MDI_utama.sampel2_A.Insert(MDI_utama.indx_sampel2,
MDI_utama.indx_phn) MDI_utama.sampel2_B.Insert(MDI_utama.indx_sampel2,
nobaru) End If End If Next aa = aa + 1 Loop
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
100
Else '***jika sampel masih heterogen dan sampel tidak kosong*** If tingkat_phn(MDI_utama.indx_phn) < MDI_utama.jml_atribut
Then '--jika atribut masih ada-- ‘menyimpan hasil MDI_utama.hsl_phn.Insert(MDI_utama.indx_phn, "^^") 'menyimpan jumlah sampel tersisa MDI_utama.sampelsisa_phn.Insert(MDI_utama.indx_phn, -1) '***Mencari Sampel*** Dim aa = 0, bb, ss As Integer Do While aa <= temp_sqr_n2.Rows.Count - 1 Dim nobaru = temp_sqr_n2.Rows(aa).Item(0) For bb = 0 To jum_sampel If sampel_A(bb) = indxs_pohon Then If sampel_B(bb) = nobaru Then indx_sampel = indx_sampel + 1 sampel_A.Insert(indx_sampel,
MDI_utama.indx_phn) sampel_B.Insert(indx_sampel, nobaru) End If End If Next aa = aa + 1 Loop If ProgressBar1.Value < 90 Then ProgressBar1.PerformStep() Else End If 'mencari atibut tdk ikut proses penghitungan gain For ss = 0 To jum_attr If attr_g_ikut1(ss) = indxs_pohon Then indx_attr = indx_attr + 1 attr_g_ikut1.Insert(indx_attr, MDI_utama.indx_phn) attr_g_ikut2.Insert(indx_attr, attr_g_ikut2(ss)) End If Next indx_attr = indx_attr + 1 attr_g_ikut1.Insert(indx_attr, MDI_utama.indx_phn) attr_g_ikut2.Insert(indx_attr, node1) Else '***jika atribut kondisi sudah habis*** '---mencari kejadian paling banyak pada sampel--- Dim jml_maks = jum_target(0) Dim vfor, ah As Integer For vfor = 0 To MDI_utama.temp_sq1_akhir.Rows.Count - 1 If jml_maks <= jum_target(vfor) Then jml_maks = jum_target(vfor) ah = vfor End If Next
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
101
'menyimpan hasil MDI_utama.hsl_phn.Insert(MDI_utama.indx_phn,
MDI_utama.jml_kej_akhir(ah)) Dim total1 = 0 For x = 0 To MDI_utama.temp_sq1_akhir.Rows.Count - 1 total1 = total1 + jum_target(x) Next ‘menyimpan jumlah sampel tersisa MDI_utama.sampelsisa_phn.Insert(MDI_utama.indx_phn,
total1) ‘---Mencari Sampel--- Dim aa = 0, bb As Integer Do While aa <= temp_sqr_n2.Rows.Count - 1 Dim nobaru = temp_sqr_n2.Rows(aa).Item(0) For bb = 0 To jum_sampel If sampel_A(bb) = indxs_pohon Then If sampel_B(bb) = nobaru Then MDI_utama.indx_sampel2=MDI_utama.indx_sampel2 + 1 MDI_utama.sampel2_A.Insert(MDI_utama.indx_sampel2,
MDI_utama.indx_phn) MDI_utama.sampel2_B.Insert(MDI_utama.indx_sampel2,
nobaru) End If End If Next aa = aa + 1 Loop End If End If ‘menyimpan indeks akar atasnya MDI_utama.noakaratas_phn.Insert(MDI_utama.indx_phn,
indxs_pohon + 1) 'akar paling atas tt = tt + 1 Loop 'menghapus sampel yg mempunyai nilai sampel_A(...)=indxs_pohon Dim tempSampel(indx_sampel, 1) As String Dim rave1 = 0 Dim rave As Integer For rave = 0 To indx_sampel If sampel_A(rave) <> indxs_pohon Then rave1 = rave1 + 1 tempSampel(rave1, 0) = sampel_A(rave) tempSampel(rave1, 1) = sampel_B(rave) End If Next indx_sampel = rave1 For rave = 0 To indx_sampel sampel_A.Insert(rave, tempSampel(rave, 0)) sampel_B.Insert(rave, tempSampel(rave, 1)) Next
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
102
'menghapus atribut yang mempunyai nilai kolom1= indxs_pohon Dim tempAttr(indx_attr, 1) As String rave1 = 0 For rave = 0 To indx_attr If attr_g_ikut1(rave) <> indxs_pohon Then rave1 = rave1 + 1 tempAttr(rave1, 0) = attr_g_ikut1(rave) tempAttr(rave1, 1) = attr_g_ikut2(rave) End If Next indx_attr = rave1 For rave = 0 To indx_attr attr_g_ikut1.Insert(rave, tempAttr(rave, 0)) attr_g_ikut2.Insert(rave, tempAttr(rave, 1)) Next '***********Cabang Selanjutnya************** jfor = indxs_pohon + 1 jml_phn = MDI_utama.indx_phn Else jfor = jfor + 1 End If Loop Return 0 End Function Listing Program Untuk Unpruned Aturan : '*********fungsi untuk mencari rule*********** 'menyimpan nomor rule no_rule = -1 '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 ToolStripProgressBar1.Value = 5 Dim awal = MDI_utama.indx_phn Dim xyz, q As Integer Do While awal >= 0 ToolStripProgressBar1.Value = +1 Dim hasilX = MDI_utama.hsl_phn(awal) Dim i_akar = MDI_utama.noakaratas_phn(awal) Dim i_akarX = i_akar - 1 Dim jml_Sampel = MDI_utama.sampelsisa_phn(awal)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
103
If hasilX = "^^" Then Else If i_akarX > 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.Insert(MDI_utama.i_prediksi, no_rule) prediksi_B.Insert(MDI_utama.i_prediksi, hasilX) prediksi_C.Insert(MDI_utama.i_prediksi, jml_Sampel) 'mencari atribut & cabang yg akan mjd anteseden 'sampai akar plg atas Dim i_Phn = awal Do While i_akarX > 0 'menyimpan anteseden2 MDI_utama.i_rule = MDI_utama.i_rule + 1 rule_A.Insert(MDI_utama.i_rule, no_rule) rule_B.Insert(MDI_utama.i_rule, MDI_utama.node_phn(i_Phn)) rule_C.Insert(MDI_utama.i_rule,
MDI_utama.cabang_phn(i_Phn)) xyz = i_akarX 'menentukan akar atasnya i_akarX = MDI_utama.noakaratas_phn(xyz) - 1 i_Phn = xyz Loop 'menyimpan anteseden2 yg mrpk atributakar plg atas MDI_utama.i_rule = MDI_utama.i_rule + 1 rule_A.Insert(MDI_utama.i_rule, no_rule) rule_B.Insert(MDI_utama.i_rule, MDI_utama.node_phn(xyz)) rule_C.Insert(MDI_utama.i_rule, MDI_utama.cabang_phn(xyz)) If i_akarX = 0 Then MDI_utama.i_rule = MDI_utama.i_rule + 1 rule_A.Insert(MDI_utama.i_rule, no_rule) rule_B.Insert(MDI_utama.i_rule,
MDI_utama.node_phn(i_akarX)) rule_C.Insert(MDI_utama.i_rule,
MDI_utama.cabang_phn(i_akarX)) End If 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.Insert(MDI_utama.i_prediksi, no_rule) prediksi_B.Insert(MDI_utama.i_prediksi, hasilX) prediksi_C.Insert(MDI_utama.i_prediksi, jml_Sampel) 'menyimpan anteseden MDI_utama.i_rule = MDI_utama.i_rule + 1 rule_A.Insert(MDI_utama.i_rule, no_rule) rule_B.Insert(MDI_utama.i_rule, MDI_utama.node_phn(awal)) rule_C.Insert(MDI_utama.i_rule, MDI_utama.cabang_phn(awal))
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
104
If i_akarX = 0 Then MDI_utama.i_rule = MDI_utama.i_rule + 1 rule_A.Insert(MDI_utama.i_rule, no_rule) rule_B.Insert(MDI_utama.i_rule,
MDI_utama.node_phn(i_akarX)) rule_C.Insert(MDI_utama.i_rule,
MDI_utama.cabang_phn(i_akarX)) End If 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_A(q) Then i_dtSampel = i_dtSampel + 1 MDI_utama.dt_sampel_A.Insert(i_dtSampel,
prediksi_A(MDI_utama.i_prediksi)) MDI_utama.dt_sampel_B.Insert(i_dtSampel,
MDI_utama.sampel2_B(q)) End If Next End If awal = awal - 1 Loop '********************************************* ToolStripProgressBar1.Value = 50 'tukar posisi prediksi & ganti no rule Dim no1 = -1 'indeks un_prediksi Dim no2 = -1 'indeks no_ruleAll Dim no_Rbaru As Integer 'no rule baru no_Rbaru = -1 Dim jm = MDI_utama.i_prediksi Dim p, km As Integer km = -1 Do While jm >= 0 no_Rbaru = no_Rbaru + 1 no1 = no1 + 1 'menyimpan no rule MDI_utama.un_prediksi_A.Insert(no1, no_Rbaru) 'menyimpan prediksi MDI_utama.un_prediksi_B.Insert(no1, prediksi_B(jm)) 'menyimpan jum sampel jml_sampelSisa.Insert(no1, prediksi_C(jm)) For p = 0 To i_dtSampel If MDI_utama.dt_sampel_A(p) = prediksi_A(jm) Then km = km + 1 dt_sampel2_A.Insert(km, MDI_utama.un_prediksi_A(no1)) dt_sampel2_B.Insert(km, MDI_utama.dt_sampel_B(p)) End If Next
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
105
Dim jml = 0 'jumlah syarat pd tiap no rule Dim pfor As Integer For pfor = 0 To MDI_utama.i_rule If rule_A(pfor) = prediksi_A(jm) Then no2 = no2 + 1 jml = jml + 1 no_ruleAll_A.Insert(no2, pfor) no_ruleAll_B.Insert(no2, no_Rbaru) End If Next 'menyimpan jumlah anteseden pd suatu rule MDI_utama.un_prediksi_C.Insert(no1, jml) jm = jm - 1 Loop ToolStripProgressBar1.Value = 60 'tukar posisi anteseden Dim x = -1 Dim kol = MDI_utama.i_rule Dim v, indw As Integer Do While kol >= 0 For v = 0 To MDI_utama.i_rule If no_ruleAll_A(v) = kol Then indw = v End If Next x = x + 1 MDI_utama.un_rule_A.Insert(x, no_ruleAll_B(indw)) MDI_utama.un_rule_B.Insert(x, rule_B(kol)) MDI_utama.un_rule_C.Insert(x, rule_C(kol)) kol = kol - 1 Loop ToolStripProgressBar1.Value = 80 Dim xfor, yfor, y2, totalSam As Integer y2 = -1 totalSam = 0 For xfor = 0 To MDI_utama.i_prediksi grid_unpruned.Rows.Add() grid_unpruned.Rows(xfor).Cells(0).Value =
MDI_utama.un_prediksi_A(xfor) grid_unpruned.Rows(xfor).Cells(1).Value =
MDI_utama.un_prediksi_B(xfor) grid_unpruned.Rows(xfor).Cells(2).Value =
MDI_utama.un_prediksi_C(xfor) grid_unpruned.Rows(xfor).Cells(3).Value = jml_sampelSisa(xfor) totalSam = totalSam + jml_sampelSisa(xfor) For yfor = 0 To MDI_utama.i_rule If MDI_utama.un_rule_A(yfor) = MDI_utama.un_prediksi_A(xfor)
Then y2 = y2 + 1 grid_unpruned2.Rows.Add() grid_unpruned2.Rows(y2).Cells(0).Value =
MDI_utama.un_rule_A(yfor)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
106
Dim syarat = MDI_utama.un_rule_B(yfor) + "=" + MDI_utama.un_rule_C(yfor)
grid_unpruned2.Rows(y2).Cells(1).Value = syarat End If Next Next Label3.Text = MDI_utama.i_prediksi + 1 Label4.Text = MDI_utama.i_rule + 1 Label5.Text = totalSam 'menampilkan konsekuen dlm combobox Dim lo, lo2 As Integer lo2 = 0 Dim result_pre(MDI_utama.temp_sq1_akhir.Rows.Count) As String result_pre(lo2) = "Semua Aturan" For lo = 0 To MDI_utama.temp_sq1_akhir.Rows.Count - 1 lo2 = lo2 + 1 result_pre(lo2) = MDI_utama.temp_sq1_akhir.Rows(lo).Item(0) Next ComboBox1.DataSource = result_pre ToolStripProgressBar1.Value = 100
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI