PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
IMPLEMENTASI DATA MINING UNTUK MENGIDENTIFIKASI PROFIL DONATUR ORGANISASI VETERAN AMERIKA MENGGUNAKAN MODEL POHON KEPUTUSAN (DECISION TREE)
Skripsi
Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Sains Program Studi Ilmu Komputer
Oleh : Stefany Yunita Baralangi NIM : 013124067
PROGRAM STUDI ILMU KOMPUTER JURUSAN MATEMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2008
i
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
THE IMPLEMENTATION OF DATA MINING TO IDENTIFY DONOR’S PROFILE OF AMERICAN VETERAN ORGANIZATION USING DECISION TREE MODEL
A Thesis
Presented as Partial Fulfillment of the Requirements To Obtain the Sarjana Sains Degree in Computer Science Study Program
By: Stefany Yunita Baralangi Student Number : 013124067
COMPUTER SCIENCE STUDY PROGRAM DEPARTMENT OF MATHEMATICS FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY YOGYAKARTA 2008
ii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
HALAMAN PERSEMBAHAN
Lord, seeking You as a precious jewel… Lord, to give up, I’d be a fool…
Dedicated To: • •
My All in All, ..JESUS CHRIST..
Beloved, Bpk Paulus R Baralangi & Mama Elty Topayung
•
Little brother, Donny
v
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
HALAMAN MOTTO
Diberkatilah orang yang mengandalkan
•
TUHAN,
yang
menaruh harapannya pada TUHAN (Yeremia 17:7) •
Dengan diri kami sendiri kami tidak sanggup untuk memperhitungkan sesuatu seolah-olah pekerjaan kami sendiri; tidak, kesanggupan kami adalah pekerjaan Allah (2 Korintus 3:5) Masa depan,…. Bukan sekedar impian Perubahan,…. Bukan sekedar pembicaraan Kemenangan,…. Bukan sekedar penantian Semua adalah kenyataan yang berproses di kehidupan Dari DIA, oleh DIA, untuk DIA,… di dalam Kita (Pdt. Bigman Sirait)
vi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.
Yogyakarta, 30 Agustus 2008 Penulis
STEFANY YUNITA BARALANGI
vii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ABSTRAK Data mining didefinisikan sebagai metode penemuan informasi yang tersembunyi dalam suatu basisdata yang berukuran besar dan sulit diperoleh dengan hanya menggunakan kueri biasa. Data mining dapat direpresentasikan dengan berbagai model dimana salah satunya adalah model klasifikasi. Dalam tugas akhir ini diimplementasikan salah satu teknik dalam model klasifikasi yaitu pohon keputusan (decision tree) dengan algorima
ID3.
Implementasi
ini
akan
digunakan
untuk
mengidentifikasi profil donatur organisasi veteran Amerika yang memberikan respon terhadap layanan pengiriman surat langsung dengan kartu kosong (NK) pada tahun 1997. Data-data diperoleh dari dataset yang disediakan oleh situs http:// kdd.ics.uci.edu/ databases/ kddcup98/ kddcup98.html. Uji aturan dengan menetapkan 310 records sebagai data pada training set dan mengubah-ubah jumlah sampel data pada test set menghasilkan nilai rerata persentase keberhasilan sebesar 66.1815 %. Uji aturan dengan mengubah-ubah jumlah sampel data training set dan menetapkan jumlah sampel test set
sebanyak 50 records
menghasilkan nilai rerata persentase keberhasilan sebesar 64.75 %.
viii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ABSTRACT
Data mining was defined as a method of discovery the hidden information in a large database which is difficult to get by usual query. Data mining can be represented by various models. One of them is classification. This paper implemented decision tree technique using ID3 algorithm
as
one
technique
of
classification
model.
This
implementation will be used to identify donor’s profile of American Veteran Organization who give response to direct mail service with an empty card (NK) in 1997. The dataset was obtained from the following site: http://kdd.ics.uci.edu/databases/kddcup98/kddcup98.html. The average success rate of experiments with 310 records as training set and various amount of test set is 66.1815 %. The average success rate of experiments with various amount of training set and 50 records as test set is 64.75 %.
ix
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
KATA PENGANTAR
Puji dan sembah syukur penulis haturkan kepada Tuhan Yesus atas cinta dan anugerahNya sehingga penulisan skripsi ini dapat terselesaikan dengan baik. Skripsi ini ditulis untuk melengkapi salah satu syarat memperoleh gelar Sarjana Sains pada Program Studi Ilmu Komputer, Fakultas Sains dan Teknologi Universitas Sanata Dharma. Dalam proses penulisan skripsi ini penulis tidak terlepas dari dukungan doa, bimbingan dan bantuan dari berbagai pihak. Dengan rasa sukacita, pada kesempatan ini penulis menyampaikan terima kasih kepada : 1.
Ibu Paulina Heruningsih Prima Rosa, S.Si., M.Sc selaku dosen pembimbing skripsi dan KaProdi Ilmu Komputer, telah membimbing penulis dengan penuh kasih, memberikan saran dan diskusi bagi penyempurnaan penulisan skripsi ini. Terimakasih Ibu, sudah “mengajarkan” saya apa arti penelitian yang sesungguhnya.
2.
Bapak Ir. Ign. Aris Dwiatmoko, M.Sc, yang telah meluangkan waktu untuk membimbing, berdiskusi dan meminjamkan buku-buku statistik yang sangat membantu.
3.
Bapak Yanuarius Joko Nugroho, S.Si selaku dosen penguji, yang telah memberikan saran yang sangat membantu untuk penyempurnaan skripsi ini.
4.
Bapak Iwan Binanto, S.Si selaku dosen penguji, yang telah memberikan saran yang sangat membantu untuk penyempurnaan skripsi ini.
x
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5.
Romo Ir. Greg. Heliarko S.J., S.S., B.S.T., M.A., M.Sc, selaku Dekan Fakultas Sains dan Teknologi.
6.
Bapak St. Eko Hari Permadi, S.Kom., M.Kom selaku dosen pembimbing akademik, yang sudah menemani IKOMers 01 mengikuti proses perkuliahan.
7.
Dosen-dosen jurusan Matematika Prodi Ilmu Komputer FST USD yang telah membagikan ilmu pengetahuan Anda.
8.
Ibu Ridowati Gunawan, S.Kom., M.T, yang telah memberikan bimbingan dan pengajaran mengenai dasar-dasar data mining.
9.
Staf sekretariat Fakultas Sains dan Teknologi, Universitas Sanata Dharma (khususnya Bpk Z.Tukija dan Ibu Linda) dan laboran Lab.TA (Mas Susilo).
10.
Bapak&Mama, yang tidak pernah lelah “berkata” melalui tindakannya: “Dalam persekutuan dengan TUHAN jerih payahmu tidak sia-sia”. Terimakasih Fany tak akan pernah cukup mewakili yang sudah Bapak&Mama berikan, saya terberkati karenanya. Selalu hanya bisa bilang “Puji Tuhan, Kurre sumanga’ pole poraya“.
11.
Adikku, Donny, tanpa banyak kata saya tau ji ko selalu sayang & dukung ka’. Terima kasih untuk rasa berbagi, pinjaman kamar & mp 4 mu nah.
12.
Kel. Besar Baralangi dan Topayung. Terima kasih untuk dukungan doa dan semangat yang tiada henti.
13.
Rina, Grace, Gini, Via, Fanya+adik2 rohaninya, Nona dan Mindy. I’m speechless for everything..Terimakasih sudah jarang bertanya ”Kenapa.?”
xi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14.
Kel. besar SMADA’01 Mks khususnya saudara2ku di Persekutuan KrisMan’01+Made, Pépeng, dkk.
15.
Sahabat2 di IKOM’01: Janner, Melia, Sakti, Agnes, Niken, Prio, Fajar, Berto, Agnes Desi, Mujib, Fefe, Oix, Handry, Ferdi, Ijal, Simon, Tommy, Sam, Deta dan yang belum dapat dituliskan namanya satu-persatu.
16.
Kel. Drs Muh Djazim, K’Ante & K’Emma (di kost Bu Koen) & saudara2 di kost Pelita: K’ Iwa, Sinta, Rika, K’Yeni, Cé Yenni, Tari & Ufa.
17.
The Four Musketeers: Rian, Herbert, Jimmy & Joslea.
18.
K’Marlin & Mbak Galuh (IKOM’99), Mbak Bertha (IKOM’00), Pritty (IKOM 02), IKOM 03 & IKOM 04 (komunitas Lab.TA) untuk diskusinya.
19.
Dan di atas segalanya & selamanya, Terimakasih TUHAN YESUS untuk semuanya (“kiriman” laptop, utusan orang2 terhebat yang telah & belum sempat saya tuliskan namanya di atas & hal2 mengagumkan yang telah diijinkan terjadi untuk memproses saya..)
Besar harapan penulis agar skripsi ini dapat menjadi inspirasi dan bermanfaat
bagi
pengembangan
ilmu
pengetahuan
pembaca.
Penulis
mengucapkan terima kasih jika ada kritik dan saran yang bermanfaat bagi penulis karena adanya ketidaksempurnaan dalam skripsi ini.
Yogyakarta, 30 Agustus 2008
Penulis xii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR ISI
HALAMAN JUDUL...................................................................................... i HALAMAN PERSETUJUAN PEMBIMBING ............................................ iii HALAMAN PENGESAHAN........................................................................ iv HALAMAN PERSEMBAHAN .................................................................... v HALAMAN MOTTO .................................................................................... vi PERNYATAAN KEASLIAN KARYA ........................................................ vii ABSTRAK ..................................................................................................... viii ABSTRACT ..................................................................................................... ix KATA PENGANTAR ................................................................................... x DAFTAR ISI.................................................................................................. xiii DAFTAR TABEL.......................................................................................... xv DAFTAR GAMBAR ..................................................................................... xviii BAB I PENDAHULUAN ............................................................................. 1 A. Latar Belakang Masalah ................................................................ 1 B. Rumusan Masalah.......................................................................... 4 C. Batasan Masalah ............................................................................ 4 D. Metodologi..................................................................................... 5 E. Tujuan............................................................................................ 6 F. Manfaat.......................................................................................... 6 G. Sistematika Penulisan .................................................................... 7
xiii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB II LANDASAN TEORI ....................................................................... 8 A. Pengertian Data Mining................................................................. 8 B. Proses Data Mining ....................................................................... 8 C. Model Klasifikasi .......................................................................... 11 D. Pohon Keputusan........................................................................... 12 E. Contoh Penerapan Algoritma Pohon Keputusan ........................... 26 BAB III ANALISA DAN PERANCANGAN SISTEM............................... 44 A. Identifikasi dan Analisa Sistem ..................................................... 44 B. Perancangan Sistem....................................................................... 45 1. Input .......................................................................................... 45 2. Proses ........................................................................................ 59 3. Output ....................................................................................... 63 4. Antarmuka Pengguna................................................................ 65 BAB IV IMPLEMENTASI SISTEM ........................................................... 78 A. Spesifikasi Software dan Hardware .............................................. 78 B. Jalannya Program .......................................................................... 78 C. Analisa Hasil Program................................................................... 110 D. Kelebihan dan Kelemahan Program .............................................. 116 BAB V KESIMPULAN DAN SARAN........................................................ 118 A. Kesimpulan.................................................................................... 118 B. Saran .............................................................................................. 119 DAFTAR PUSTAKA .................................................................................... 120
xiv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR TABEL
Tabel 2.1 Bentuk Umum Tabel Kontingensi 2x2 ......................................... 17 Tabel 2.2 Data Cuaca .................................................................................... 26 Tabel 2.3 Nilai Gain Untuk Menentukan Simpul Awal Setiap Atribut ........ 34 Tabel 2.4 Nilai Gain Untuk Menentukan Simpul Selanjutnya...................... 36 Tabel 2.5 Aturan If..Then Yang Belum Disederhanakan .............................. 37 Tabel 2.6 Tabel Kontingensi Outlook ........................................................... 38 Tabel 2.7 Nilai Frekuensi Harapan Outlook.................................................. 38 Tabel 2.8 Tabel Kontingensi Humidity ......................................................... 39 Tabel 2.9 Nilai Frekuensi Harapan Humidity................................................ 40 Tabel 2.10 Tabel Kontingensi Wind................................................................ 41 Tabel 2.11 Nilai Frekuensi Harapan Wind ...................................................... 42 Tabel 2.12 Aturan Yang Paling Sederhana ..................................................... 43 Tabel 2.13 Hasil Prediksi Pada Data Training ................................................ 43 Tabel 3.1 Deskripsi Atribut (Variable) Tabel Training ................................ 45 Tabel 3.2 Nilai Kejadian Atribut ODATEDW Year (dua digit pertama) ..... 48 Tabel 3.3 Nilai Kejadian Atribut ODATEDW Month (dua digit terakhir)......................................................................... 48 Tabel 3.4 Nilai Kejadian Atribut MAILCODE............................................. 48 Tabel 3.5 Nilai Kejadian Atribut PVASTATE ............................................. 48 Tabel 3.6 Nilai Kejadian Atribut NOEXCH ................................................. 49 Tabel 3.7 Nilai Kejadian Atribut RECINHSE .............................................. 49 xv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Tabel 3.8 Nilai Kejadian Atribut RECP3...................................................... 49 Tabel 3.9 Nilai Kejadian Atribut RECPGVG ............................................... 49 Tabel 3.10 Nilai Kejadian Atribut RECSWEEP ............................................. 49 Tabel 3.11 Nilai Kejadian Atribut TCODE .................................................... 50 Tabel 3.12 Nilai Kejadian Atribut MDMAUD ............................................... 52 Tabel 3.13 Nilai Kejadian 1st Byte : Recency of Giving................................ 52 Tabel 3.14 Nilai Kejadian 2nd Byte : Frequency of Giving ........................... 53 Tabel 3.15 Nilai Kejadian 3rd Byte : Amount of Giving................................ 53 Tabel 3.16 Nilai Kejadian Atribut DOMAINX .............................................. 53 Tabel 3.17 Nilai Kejadian Atribut Cluster ...................................................... 53 Tabel 3.18 Nilai Kejadian Atribut AGE.......................................................... 53 Tabel 3.19 Nilai Kejadian Atribut AGEFLAG ............................................... 54 Tabel 3.20 Nilai Kejadian Atribut HOMEOWNR.......................................... 54 Tabel 3.21 Nilai Kejadian Atribut NUMCHLD.............................................. 54 Tabel 3.22 Nilai Kejadian Atribut INCOME .................................................. 54 Tabel 3.23 Nilai Kejadian Atribut GENDER.................................................. 54 Tabel 3.24 Nilai Kejadian Atribut WEALTH ................................................. 55 Tabel 3.25 OTHER TYPES OF MAIL ORDER OFFERS............................. 55 Tabel 3.26 Nilai Kejadian Atribut OTHER TYPES OF MAIL ORDER OFFERS.......................................................................... 55 Tabel 3.27 Nilai Kejadian Atribut DATASRCE............................................. 56 Tabel 3.28 Nilai Kejadian Atribut MALEMILI.............................................. 56 Tabel 3.29 Nilai Kejadian Atribut VETS........................................................ 56 xvi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Tabel 3.30 Nilai Kejadian Atribut GOV ......................................................... 56 Tabel 3.31 Nilai Kejadian Atribut SOLP3 ...................................................... 56 Tabel 3.32 Nilai Kejadian Atribut SOLIH ...................................................... 57 Tabel 3.33 Nilai Kejadian Atribut MAJOR .................................................... 57 Tabel 3.34 Nilai Kejadian Atribut LIFESRC.................................................. 57 Tabel 3.35 Nilai Kejadian Atribut PEPSTRFL ............................................... 57 Tabel 3.36 Nilai Kejadian Atribut HPHONE_D............................................. 57 Tabel 3.37 Nilai Kejadian Atribut RFA_2 ...................................................... 58 Tabel 3.38 Nilai Kejadian 1st Byte Recency of Giving .................................. 58 Tabel 3.39 Nilai Kejadian 2nd Byte Frequency of Giving.............................. 58 Tabel 3.40 Nilai Kejadian 3rd Byte: Amount of Giving................................. 59 Tabel 3.41 Nilai Kejadian Atribut TARGET_B (Atribut Keputusan) ............ 59 Tabel 4.1 Struktur Tabel Tipe Data Record TrecKej .................................... 87 Tabel 4.2 Sampel Data Homogen ................................................................. 93 Tabel 4.3 Struktur String Grid Pada Form Unprunned Rule ........................ 97 Tabel 4.4 Contoh Sampel Data Pada Form Uji Sampel Data Pengguna....... 106 Tabel 4.5 Hasil Percobaan 1.......................................................................... 111 Tabel 4.6 Detail Jumlah Aturan Percobaan 1................................................ 111 Tabel 4.7 Hasil Percobaan 2.......................................................................... 112 Tabel 4.8 Detail Jumlah Aturan Percobaan 2................................................ 112 Tabel 4.9 Hasil Percobaan 3.......................................................................... 114 Tabel 4.10 Detail Jumlah Aturan Percobaan 3................................................ 114
xvii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR GAMBAR
Gambar 2.1
Diagram Tahapan Proses Data Mining .................................... 9
Gambar 2.2
Data Mining dan Teknologi Basis Data Lainnya ..................... 10
Gambar 2.3
Nilai Positif dan Negatif Kejadian Outlook.............................. 27
Gambar 2.4
Nilai Positif dan Negatif Kejadian Temperature...................... 29
Gambar 2.5
Nilai Positif dan Negatif Kejadian Humidity............................ 31
Gambar 2.6
Nilai Positif dan Negatif Kejadian Wind .................................. 32
Gambar 2.7
Pohon Awal .............................................................................. 34
Gambar 2.8
Percabangan Pohon .................................................................. 36
Gambar 3.1
Desain Form Menampilkan Data ............................................. 65
Gambar 3.2
Desain Form Detail Data.......................................................... 67
Gambar 3.3
Desain Form Unprunned Tree.................................................. 68
Gambar 3.4
Desain Form Detail Gain.......................................................... 70
Gambar 3.5
Desain Form Unprunned Rule.................................................. 71
Gambar 3.6
Desain Form Keterangan Anteseden........................................ 73
Gambar 3.7
Desain Form Uji Aturan........................................................... 74
Gambar 3.8
Desain Form Uji Sampel Data Pengguna................................. 75
Gambar 4.1
Form Awal................................................................................ 78
Gambar 4.2
Form Tampil Data Training Set ............................................... 79
Gambar 4.3
Form Tampil Data Test Set....................................................... 80
Gambar 4.4
Form Detail Data Training Set ................................................. 81
Gambar 4.5
Kotak Pesan 1 ........................................................................... 82 xviii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4.6
Form Detail Data Test Set ........................................................ 83
Gambar 4.7
Kotak Pesan 2 ........................................................................... 84
Gambar 4.8
Form Unprunned Tree.............................................................. 84
Gambar 4.9
Form Pesan Saat Proses Mining Sedang Berlangsung ............. 90
Gambar 4.10 Kotak Pesan 3 ........................................................................... 90 Gambar 4.11 Tampilan Form Unprunned Tree Setelah Program Memperoleh Pohon Keputusan ................................................ 95 Gambar 4.12 Kotak Pesan 4 ........................................................................... 95 Gambar 4.13 Form Detail Gain...................................................................... 96 Gambar 4.14 Form Unprunned Rule.............................................................. 97 Gambar 4.15 Form Unprunned Rule dengan Konsekuen ‘YES’................... 98 Gambar 4.16 Form Unprunned Rule dengan Konsekuen ‘NO’..................... 99 Gambar 4.17 Form Keterangan Anteseden.................................................... 99 Gambar 4.18 Form Uji Aturan ...................................................................... 100 Gambar 4.19 Form Uji Aturan Saat Pengguna Menekan Tombol Buka Tabel Tes ...........................................................................101 Gambar 4.20 Kotak Pesan 5 ........................................................................... 102 Gambar 4.21 Kotak Pesan 6 ........................................................................... 102 Gambar 4.22 Kotak Pesan 7 ........................................................................... 102 Gambar 4.23 Kotak Pesan 8 ........................................................................... 103 Gambar 4.24 Kotak Pesan 9 ........................................................................... 103 Gambar 4.25 Form Pesan Saat Proses Mining Sedang Berlangsung ............. 104 Gambar 4.26 Form Uji Aturan Setelah Memperoleh Hasil Uji Aturan ......... 104 xix
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4.27 Form Uji Sampel Data Pengguna............................................. 105 Gambar 4.28 Kotak Pesan 10 ......................................................................... 106 Gambar 4.29 Form Uji Sampel Data Pengguna Setelah Pengguna Memasukkan Sampel Aturan ................................................... 107 Gambar 4.30 Form Uji Sampel Data Pengguna Dengan Nilai Konsekuen TARGET_B Tidak Dapat Diprediksi.................... 108 Gambar 4.31 Kotak Pesan 11 ......................................................................... 108 Gambar 4.32 Form Tentang Program ............................................................ 109 Gambar 4.33 Form Pembuat Program ........................................................... 110 Gambar 4.34 Grafik Persentase Keberhasilan Percobaan 2 .......................... 113 Gambar 4.35 Grafik Persentase Keberhasilan Percobaan 3 .......................... 115
xx
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB I PENDAHULUAN
A.
Latar Belakang Masalah Data-data yang berguna bagi suatu organisasi biasanya direkam dalam basis data, seperti profil anggota, pencatatan administrasi keuangan, program kerja, dan lain-lain. Semakin besar ruang lingkup kerja suatu organisasi maka semakin besar pula ukuran basis data yang diperlukan untuk merekam data-datanya. Ukuran basis data dapat bertambah hingga mencapai terabytes. Melalui basis data yang ada, suatu organisasi dapat menemukan pola strategis dari informasi yang terekam untuk melakukan evaluasi peningkatkan kinerja organisasi. Cara tradisional penemuan pola yang dapat digunakan adalah membangun basis data yang disebut OLAP (Online Analytical Processing). OLAP adalah istilah yang menggambarkan suatu teknologi yang memproses data di dalam data warehouse dalam struktur multi dimensional agar dapat menyediakan akses yang cepat untuk kueri analisis yang kompleks (Ridowati Gunawan, 2005). Dengan ukuran basis data yang bertambah besar sesuai dengan kebutuhan penyimpanan data organisasi maka sulit jika hanya menggunakan laporan hasil kueri dan OLAP. Salah satu organisasi yang mempunyai basis data dalam ukuran besar adalah organisasi veteran Amerika. Organisasi ini
1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 2
merupakan organisasi nirlaba yang menyediakan layanan pengobatan bagi para pejuang veteran Amerika Serikat yang menderita lumpuh. Organisasi veteran Amerika ini memperoleh dana dari para donatur yang terekam dalam basis data dengan mengirimkan surat langsung kepada donatur. Surat langsung yang dikirimkan bermacam-macam, seperti kartu kosong (NK), kartu ucapan (GK), kalender (CC), dan lain-lain. Pengiriman surat langsung akan menjadi sia-sia belaka jika donatur yang dikirimi surat tidak memberi tanggapan. Jika hal ini terjadi maka organisasi akan menghabiskan biaya yang besar untuk pengiriman surat tersebut. Oleh karena itu dari data-data donatur yang terekam dapat dilakukan identifikasi profil donatur yang memberikan tanggapan terhadap salah satu bentuk pengiriman surat langsung. Pada tugas akhir ini penulis akan melakukan identifikasi profil donatur yang memberikan tanggapan pada salah satu bentuk pengiriman surat langsung yaitu pengiriman surat langsung dengan kartu kosong (NK). Data-data mengenai profil para anggota donatur diperoleh dari situs http:/ kdd.ics.uci.edu/ databases/ kddcup98/ kddcup98.html dan disediakan oleh American Association for Artificial Intelligence (AAAI) dan Epsilon Data Mining Laboratory. Data-data tersebut (dalam format .TXT) berisi informasi mengenai anggota donatur dengan kapasitas yang sangat besar, yaitu terdiri dari 95412 observasi (records) dan 481 atribut (fields). Informasi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 3
yang ingin didapatkan dari data-data tersebut adalah identifikasi profil anggota donatur yang seperti apakah yang akan memberikan respon terhadap bentuk pengiriman surat langsung dengan kartu kosong (NK). Untuk melakukan identifikasi profil anggota tersebut, tentu sulit jika hanya menggunakan kueri. Seiring
perkembangan
teknologi
maka
muncullah
teknologi baru yang lebih dari sekedar kueri, yaitu data mining. Data mining digambarkan sebagai proses penentuan pola penting dari sebuah basis data yang besar. Data mining timbul karena meningkatnya kebutuhan informasi manusia sehingga terjadi data explosion dari data yang sudah direkam selama bertahun-tahun tanpa mempertimbangkan kegunaan informasinya bagi organisasi (Yudho Giri Sucahyo, 2003). Dengan teknologi data mining, kasus identifikasi profil donatur yang memberikan respon terhadap pengiriman surat langsung dapat diselesaikan. Dalam
masalah
ini
penulis
menggunakan
model
klasifikasi dengan algoritma pohon keputusan (decision tree). Hal ini sesuai dengan masalah yang akan diselesaikan yaitu bagaimanakah profil donatur yang memberikan respon terhadap bentuk pengiriman surat langsung dengan kartu kosong (NK). Selain itu pohon keputusan adalah algoritma model klasifikasi yang mudah dipelajari dibandingkan algoritma model klasifikasi yang lain.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 4
B.
Rumusan Masalah Bagaimana mengimplementasikan data mining pada dataset organisasi veteran Amerika untuk mengidentifikasi profil donatur yang memberikan respon terhadap bentuk pengiriman surat langsung dengan kartu kosong (NK) pada tahun 1997 menggunakan model pohon keputusan (decision tree) ?
C.
Batasan Masalah 1.
Dalam skripsi ini dilakukan identifikasi profil donatur pada salah satu bentuk layanan pengiriman surat langsung yang dilakukan organisasi berupa pengiriman surat langsung dengan kartu kosong pada tahun 1997, yaitu 97NK.
2.
Algoritma pohon keputusan yang digunakan adalah algoritma ID3.
3.
Data-data diperoleh dari dataset yang disediakan oleh situs http://kdd.ics.uci.edu/databases/kddcup98/kddcup98.html.
4.
Implementasi program menggunakan Borland Delphi 7.0 dan jenis tabel menggunakan Paradox 7.
5.
Input Dataset anggota donatur pada organisasi veteran Amerika sebanyak 350 records dan 67 atribut. Proses pengelompokan data dilakukan secara intuitif. Atribut keputusan dari sistem yang dibangun adalah TARGET_B. TARGET_B adalah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 5
variabel target yang menjadi indikator apakah seorang anggota memberikan respon terhadap layanan 97NK. Berikut ini perincian jumlah sampel masing-masing kelas kejadian TARGET_B : 6.
Proses a.
Membangun pemahaman akan domain aplikasi, yaitu pengetahuan awal dan tujuan akhir yang akan dicapai oleh pengguna.
b.
Membuat himpunan target dataset, yang terdiri dari pemilihan data, fokus pada subset data.
7.
c.
Memilih task data mining.
d.
Memilih dan menggunakan algoritma data mining.
e.
Interpretasi, evaluasi dan visualisasi pola.
Output Outputnya adalah identifikasi profil anggota yang memberikan respon terhadap bentuk layanan pengiriman surat langsung dengan kartu kosong pada tahun 1997, yaitu 97NK.
D.
Metodologi 1.
Mengidentifikasi masalah dan tujuan yang ingin dicapai dari dataset yang ada.
2.
Melakukan seleksi terhadap field dan record data yang berguna dalam pengambilan keputusan dari dataset. Membuang data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 6
yang tidak konsisten dan noise seperti data-data yang out of date, data yang salah ketik, maupun data yang kosong. 3.
Menerapkan teknik data mining dengan mengaplikasikan algoritma yang tepat. Model klasifikasi yang akan digunakan adalah model pohon keputusan dengan algoritma ID3 Quinlan.
4.
Pengujian
model
agar
dapat
direpresentasikan
kepada
pengguna. 5.
E.
Kesimpulan.
Tujuan Dapat melakukan identifikasi profil donatur pada organisasi veteran Amerika yang memberikan respon terhadap bentuk pengiriman surat langsung dengan kartu kosong (NK) pada tahun 1997.
F.
Manfaat Hasil identifikasi profil dapat bermanfaat bagi organisasi veteran Amerika untuk memprediksikan donatur yang akan memberikan respon terhadap layanan pengiriman surat langsung dengan kartu kosong
(NK)
pengiriman.
sehingga
organisasi
dapat
mengurangi
biaya
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 7
G.
Sistematika Penulisan Bab I.
Pendahuluan Dalam bab ini dibahas tentang latar belakang masalah,
rumusan masalah, batasan masalah, metodologi, tujuan, manfaat, dan sistematika penulisan. Bab II.
Landasan Teori Dalam bab ini akan dijelaskan mengenai pengetahuan yang
menjadi dasar teori dalam mengimplementasikan data mining pada dataset untuk mengidentifikasi profil anggota donatur yang memberikan respon terhadap bentuk pengiriman surat langsung dengan kartu kosong (NK). Dasar teori mencakup data mining, model klasifikasi, dan algoritma ID3. Bab III. Analisa dan Perancangan Sistem Dalam bab ini akan diidentifikasikan masalah yang akan diselesaikan dan tahap-tahap penyelesaian masalah tersebut dengan menggunakan algoritma ID3. Bab IV. Implementasi Sistem Bab ini memuat implementasi sistem menggunakan algoritma ID3 dan hasil implementasi algoritma tersebut. Bab V.
Kesimpulan dan Saran Dalam bab ini terdapat kesimpulan dan saran dari
keseluruhan penulisan tugas akhir.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 8
BAB II LANDASAN TEORI
A.
Pengertian Data Mining Data mining dapat didefinisikan sebagai suatu metode pencarian informasi yang tersembunyi dan merupakan bagian yang penting dalam suatu basis data berukuran besar yang sulit diperoleh dengan hanya menggunakan kueri basis data biasa atau analisis statistik biasa (Djunaidy dan Soelaiman, 2001). Data mining berhubungan dekat dengan sub area Knowledge Discovery in Databases (KDD). Karakteristik yang membedakan data mining adalah volume data yang sangat besar.
B.
Proses Data Mining Proses-proses yang terjadi dalam data mining adalah : a. Seleksi dan penarikan contoh Seleksi / segmentasi data sesuai dengan kriteria tertentu sehingga subset dari data dapat ditentukan. b. Pengolahan Merupakan tahap pembersihan data dengan membuang data yang dianggap tidak perlu sehingga dapat memperlambat proses kueri. Pembersihan juga dapat dilakukan dengan rekonfigurasi data agar format data tetap konsisten.
8
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 9
c. Transformasi Data diubah menjadi data yang berguna dan terarah. d. Data mining Tahap ini dilakukan penyaringan pola data. e. Evaluasi Pola yang diperoleh sistem diinterpretasi ke dalam bentuk pengetahuan yang mendukung pengguna untuk mengambil keputusan, misalnya prediksi dan klasifikasi. Proses-proses di atas diilustrasikan pada gambar 2.1 di bawah ini:
Gambar 2.1 Diagram Tahapan Proses Data Mining Sumber : http://www.directing.gr/files/images/ase.jpg
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 10
Diantara bermacam-macam teknologi basis data yang ada, data mining sering disejajarkan dengan data warehouse (gudang data). Data warehouse digunakan untuk melakukan OLAP (On-Line Analytical Processing), sedangkan data mining digunakan untuk melakukan information discovery yang ditujukan bagi data analyst dan business analyst. OLAP adalah istilah yang menggambarkan suatu teknologi yang memproses data di dalam struktur multidimensional agar dapat menyediakan akses yang cepat untuk kueri analisis yang kompleks.
Gambar 2.2 Data Mining dan Teknologi Basis Data Lainnya Sumber http://ilmukomputer.com/2006/08/29/mengenal-data-mining/
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 11
C.
Model Klasifikasi Data mining memiliki bermacam-macam model yang dapat digunakan dalam melakukan analisa terhadap suatu basis data. Model yang akan digunakan dalam identifikasi profil anggota yang merespon salah satu bentuk layanan pengiriman surat langsung adalah model klasifikasi. Klasifikasi merupakan proses pemodelan berdasarkan himpunan kelas data dan nilai-nilai (label kelas) dalam suatu atribut klasifikasi dan menggunakannya didalam mengklasifikasikan data baru. Proses klasifikasi melalui dua tahap (Jiawei Han dan Micheline Kamber, 2001), yaitu : 1.
Membangun model. Tahap ini menguraikan suatu himpunan kelas yang ditentukan sebelumnya. Setiap tuple/sampel dimisalkan masuk ke
dalam suatu kelas yang didefinisikan
sebelumnya, seperti yang ditetapkan melalui atribut label kelas. Model disajikan sebagai kaidah klasifikasi, pohon keputusan, atau rumus matematika. 2.
Menggunakan model untuk klasifikasi. Model yang ada digunakan untuk klasifikasi atau untuk mengambil keputusan. Model diimplementasikan dalam test set (independen dengan training set) untuk menguji
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 12
seberapa besar keakuratan model yang ada dalam klasifikasi. Tingkat akurasi adalah persentase dari contoh training set yang diklasifikasikan secara benar oleh model.
D.
Pohon Keputusan Pohon keputusan adalah representasi graph dari kumpulan aturan klasifikasi. Pohon keputusan merupakan model data tertentu yang digunakan untuk membantu memecahkan masalah dengan mengklasifikasikan masalah ke dalam banyak kategori untuk dapat memprediksikan hasilnya. Pengklasifikasian masalah pada pohon keputusan dapat dilakukan secara rekursif. Suatu pohon keputusan adalah suatu graph atau pohon yang memiliki sifat-sifat sebagai berikut : a.
Pohon tersebut memiliki simpul (node) awal yang disebut root.
b.
Memiliki
beberapa simpul
akhir
yang
tidak
memiliki simpul lanjutan (successor) yang disebut leaf. c.
Memiliki atribut yang digunakan sebagai internal node, yang mempunyai satu simpul pendahulu (predecessor) dan beberapa simpul lanjutan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 13
Dalam tugas akhir ini, penulis melakukan analisa dengan menggunakan salah satu
algoritma pohon keputusan, yaitu ID3.
Algoritma ID3 dipublikasikan oleh J.R Quinlan dalam makalahnya yang berjudul “Induction of Decision Tree”. Algoritma ID3 merupakan salah satu algoritma yang digunakan untuk membangun sebuah pohon keputusan dari sekumpulan contoh yang ada dimana hasilnya digunakan untuk mengklasifikasikan contoh yang akan datang. Algoritma ID3 memiliki kelas yang didapat dari kumpulan kejadian tertentu dengan proses sebagai berikut : 1. Mengubah bentuk data menjadi model pohon Langkah-langkah untuk mengubah bentuk data (tabel) menjadi pohon adalah sebagai berikut : a. Menentukan simpul terpilih Untuk
menentukan
simpul
terpilih
dilakukan
penghitungan nilai gain dari setiap kriteria. Nilai gain diperoleh setelah melakukan penghitungan nilai entropi. Simpul yang dipilih adalah kriteria dengan nilai gain yang paling besar. Entropi (S) merupakan jumlah informasi dalam sebuah atribut dan menggambarkan ukuran homogenitas dari sekumpulan sampel. Suatu himpunan S yang memuat kejadian-kejadian positif dan negatif memiliki entropi dari
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 14
himpunan
S
relatif
terhadap
klasifikasi
biner
yang
didefinisikan sebagai berikut : entropi (S) = - P+ log2 P+ - P- log2 P- ...................... 2.1 dimana : S = ruang sampel data yang digunakan untuk training. P+ = rasio dari kejadian positif dalam S terhadap jumlah sampel dalam S. P- = rasio dari kejadian negatif dalam S terhadap jumlah sampel dalam S. Entropi bernilai 0 bila himpunan S homogen sempurna. Entropi bernilai 1 bila himpunan S tak homogen sempurna. Jika himpunan memuat jumlah sampel positif dan negatif tak sama, entropi akan terletak diantara 0 dan 1. Nilai rata-rata entropi suatu atribut dirumuskan sebagai berikut: E=
inst
⎛ ⎛ ni ⎞
⎞
∑ ⎜⎜ ⎜⎝ n ⎟⎠ × e ⎟⎟ ........................................................... 2.2 i =1
⎝
t
i
⎠
dimana : inst = jumlah kejadian ni
= jumlah data kejadian ke-i
nt
= jumlah total data keseluruhan
ei
= nilai entropi kejadian ke-i
Setelah menghitung nilai rata-rata entropi, dilakukan perhitungan nilai gain. Gain (S A) adalah informasi yang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 15
diperoleh melalui percabangan simpul pada atribut A. Gain dirumuskan sebagai berikut : Gain (S A) = Entropi (S) – Nilai rata-rata Entropi (S)…2.3 dimana : S = ruang sampel data yang digunakan untuk training. A
= atribut dalam sampel data training
b. Menyusun pohon Menyusun pohon dimulai pada simpul terpilih setelah dicari nilai gain. Nilai gain atribut yang terbesar yang dijadikan simpul terpilih. Semakin besar nilai gain, semakin banyak informasi yang dapat diperoleh tentang atribut output. Untuk menentukan simpul daun selanjutnya, dilakukan langkah-langkah berikut ini : 1)
Pilih simpul daun yang memiliki sampel data yang tidak homogen.
2)
Cari nilai gain pada setiap atribut kecuali atribut yang telah menjadi simpul di atasnya.
3)
Tentukan simpul selanjutnya dengan memilih atribut yang memiliki nilai gain paling besar.
2. Mengubah simpul pohon menjadi aturan Pada langkah ini simpul atau pohon yang telah selesai dibangun diubah menjadi aturan if...then. Simpul-simpul yang ada
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 16
merupakan anteseden pada aturan, sedangkan cabang-cabang pada simpul adalah nilai anteseden. 3. Menyederhanakan aturan (prunning) Tujuan dilakukan prunning adalah untuk mengidentifikasi dan membuang beberapa anteseden (cabang) yang tidak dapat meningkatkan akurasi klasifikasi. Langkah-langkah penyederhanaan aturan sebagai berikut : a. Menyederhanakan aturan dengan membuang anteseden yang tidak perlu. Jika aturan memiliki hanya satu anteseden maka tidak perlu disederhanakan. Sebaliknya aturan dengan lebih dari satu anteseden perlu disederhanakan. Langkah-langkah penyederhanaan aturan adalah sebagai berikut: a.1. Melakukan uji independensi setiap anteseden secara individual
dengan
konsekuen.
Langkah-langkahnya
sebagai berikut : 1.
Membangun tabel kontingensi untuk setiap aturan yang memiliki dua atau lebih anteseden. Tabel kontingensi
merupakan
merepresentasikan
aturan-aturan
tabel dengan
yang nilai
frekuensi yang teramati. Tabel kontingensi memiliki r baris dan c kolom. Total baris dan total kolom dalam tabel kontingensi disebut frekuensi marjinal.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 17
Untuk lebih jelasnya, lihat bentuk umum tabel kontingensi 2x2 (Everitt, 1977: bab1) berikut ini: Tabel 2.1 Bentuk Umum Tabel Kontingensi 2x2 C1 C2 Jumlah Marjinal n1r = x11 + x12 x11 x12 R1 n2r = x21 + x22 x21 x22 R2 Jumlah Marjinal nc1 = x11 + x21 nc2 = x12 + x22 N = x11 + x12 + x21 + x22
dimana : n1r, n2r
= jumlah marjinal baris
nc1, nc2
= jumlah marjinal kolom
x11, x12, x21 ,x22 = representasi setiap
frekuensi
pasangan
dari
anteseden-
konsekuen. N
= jumlah keseluruhan frekuensi marjinal.
2.
Melakukan uji independensi terhadap anteseden dan mengeliminasi aturan yang tidak perlu. Untuk menentukan tingkat independensi suatu anteseden, data-data dari anteseden tertentu diuji dengan menggunakan uji independensi yaitu uji Chi-Square ( χ 2 ).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 18
Berikut ini aturan Cochran (1954) yang menjadi pedoman penggunaan uji Chi-Square : • Tidak satupun nilai frekuensi harapan yang kurang dari 1 (Rasmussen, 1992). • Nilai frekuensi harapan yang kurang dari 5 tidak lebih dari 20% (Rasmussen, 1992) Rumus umum untuk mendapatkan frekuensi harapan bagi sembarang sel xij, 1 i r, 1 j c adalah : Eij =
ni × n j N
.......................................... 2.4
dimana : Eij
= Nilai frekuensi harapan baris ke-i kolom ke-j
ni
= Total frekuensi baris ke-i
nj
= Total frekuensi kolom ke-j
N
= Jumlah total frekuensi keseluruhan.
Diasumsikan
akan
dilakukan
pengamatan
terhadap sampel data yang diambil secara random dari
sebuah
dikelompokkan kualitatif.
populasi. berdasarkan
Pengamatan dua
variabel
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 19
Hipotesis nol (H0) yaitu pernyataan atau dugaan mengenai satu atau lebih populasi yang dirumuskan
dengan
harapan
akan
ditolak.
Penolakan H0 mengakibatkan penerimaan suatu hipotesis alternatif, yang dilambangkan dengan H1. Untuk menguji hipotesis nol (H0) bahwa dua variabel independen dalam sebuah populasi digunakan uji independensi Chi-Square. Jika dua variabel independen maka tidak ada korelasi antara dua variabel tersebut. Di bawah ini adalah penjelasan mengenai uji Chi-Square : • Uji Chi-Square Berikut
ini
langkah-langkah
dalam
melakukan uji Chi-Square : 1) Menentukan hipotesis nol (H0) dengan asumsi bahwa dua variabel independen dan hipotesis alternatif (H1) dengan asumsi bahwa dua variabel dependen.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 20
2) Uji independensi Chi-Square antara dua variabel yang teramati dengan frekuensi harapan di bawah H0 didasarkan pada besaran :
χ = 2
r
c
∑∑
(n
ij
i =1 j =1
− Eij )
2
Eij
............ 2.5
dimana :
χ 2 = nilai bagi peubah acak χ 2 yang sebaran
penarikan
contohnya
sangat menghampiri sebaran ChiSquare r
= baris
c
= kolom
nij = nilai frekuensi teramati baris ke-i kolom ke-j
Eij = nilai frekuensi harapan baris ke-i kolom ke-j 3) Menghitung derajat bebas (df) dengan rumus sebagai berikut : df = (r - 1)(c - 1)................... 2.6 dimana : r
= baris
c
= kolom
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 21
4) Menentukan tingkat kepercayaan α 5) Menggunakan tabel Chi-Square dengan
χ 2 dan df untuk menentukan apakah anteseden secara individual independen dengan konsekuennya. Untuk tingkat kepercayaan sebesar α, nilai kritiknya
χ α2 dapat diperoleh dari tabel ChiSquare. 6) Kesimpulan
untuk
χ α2 yang
nilai
dihitung dari penjumlahan semua sel adalah : •
Bila χ 2 ≤ χ α2 Terima anteseden
hipotesis
nol
independen
yaitu secara
individual dengan konsekuen. •
Bila χ 2 > χ α2 Tolak hipotesis nol dan terima hipotesis alternatif yaitu anteseden yang dependen secara individual dengan konsekuen.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 22
7) Jika dalam proses uji independensi setiap anteseden secara individual di atas (proses a.1) ditemukan adanya anteseden yang
independen
dengan
konsekuen
secara
individual
maka
anteseden
tersebut tidak dapat dieliminasi secara langsung. Selanjutnya dilakukan uji independensi anteseden secara bersamasama dengan konsekuennya (Everitt, 1977). Jika ditemukan adanya anteseden yang dependen konsekuen
secara maka
individual uji
dengan
independensi
anteseden secara bersama-sama dengan konsekuen (proses a.2) tidak dilakukan. a.2.
Melakukan
uji
bersama-sama
independensi dengan
anteseden
konsekuennya.
secara
Langkah-
langkahnya sebagai berikut : 1) Menentukan hipotesis nol (H0) sebagai berikut :
H0 : Pijk = Pi.. P.j. P..k
; dengan asumsi
bahwa dua variabel secara bersama-sama independen dengan konsekuen.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 23
2) Membuat tabel kontingensi multidimensional berdasarkan semua kejadian dari anteseden dan konsekuen. 3) Membuat tabel frekuensi harapan dengan rumus sebagai berikut :
ni ..n. j.n..k
Eijk =
....................... 2.7
N2
dimana :
Eijk = nilai frekuensi harapan baris ke-i, kolom ke-j, layer ke-k
ni = jumlah marjinal baris ke-i n. j = jumlah marjinal kolom ke-j n..k = jumlah marjinal layer ke-k
= jumlah total frekuensi keseluruhan.
N
4) Melakukan uji Chi-Square dengan rumus sebagai berikut : r
c
l
χ = ∑∑∑ 2
i =1 j =1 k =1
(n
− Eijk )
2
ijk
Eijk
dimana : r
= jumlah baris
c
= jumlah kolom
l
= jumlah layer
............ 2.8
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
5) Menghitung derajat kebebasan dengan rumus sebagai berikut: d.f = rcl – r – c – l + 2 ................... 2.9 6) Menggunakan tabel Chi-Square dengan χ 2 dan d.f untuk menentukan apakah anteseden secara bersama-sama independen dengan konsekuennya. Untuk tingkat kepercayaan sebesar α, nilai kritiknya χ α2 dapat diperoleh dari tabel Chi-Square. 7) Kesimpulan untuk nilai χ α2 yang dihitung dari penjumlahan semua sel adalah : •
Bila χ 2 ≤ χ α2 Terima hipotesis nol yaitu anteseden independen secara bersama-sama dengan konsekuen.
•
Bila χ 2 > χ α2 Tolak hipotesis nol dan terima hipotesis alternatif yaitu anteseden yang dependen secara bersama-sama dengan konsekuen. Suatu kriteria tidak dapat dieliminasi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
8) Jika dalam proses uji independensi anteseden secara bersama-sama di atas ditemukan : •
Anteseden independen secara bersamasama
dengan
anteseden
yang
individual
dengan
konsekuen,
maka
independen
secara
konsekuen
(pada
proses a.1) dapat dieliminasi. •
Anteseden dependen secara bersamasama dengan konsekuen, maka semua anteseden
tersebut
tidak
dapat
dieliminasi.
b.
Menyederhanakan aturan dengan mengeliminasi aturan yang tidak perlu. Penyederhanaan
aturan
selanjutnya
yaitu
dengan
mengeliminasi aturan yang tidak perlu. Default rule merupakan salah satu cara untuk menyederhanakan aturan. Default rule dibuat dengan mencari konsekuen yang
paling banyak dari aturan. Aturan yang memiliki konsekuen tersebut dijadikan default rule.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
E.
Contoh Penerapan Algoritma Pohon Keputusan
Berikut ini adalah contoh permasalahan yang akan diselesaikan dengan algoritma pohon keputusan untuk memutuskan mana cuaca yang baik atau tidak baik dalam bermain golf. Target dari klasifikasi ini adalah ”Akankah kita bermain golf?”. Keputusannya dapat berupa YES atau NO. Data cuaca yang digunakan memiliki 14 records dan 6 fields. Atribut data terdiri dari atribut day, outlook, temperature, humidity, wind, dan play_golf. Berikut ini adalah data yang diberikan :
Tabel 2.2 Data Cuaca Day D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14
Outlook Sunny Sunny Overcast Rain Rain Rain Overcast Sunny Sunny Rain Sunny Overcast Overcast Rain
Temperature Hot Hot Hot Mild Cool Cool Cool Mild Cool Mild Mild Mild Hot Mild
Humidity High High High High Normal Normal Normal High Normal Normal Normal High Normal High
Wind Weak Strong Weak Weak Weak Strong Strong Weak Weak Weak Strong Strong Weak Strong
Play_Golf No No Yes Yes Yes No Yes No Yes Yes Yes Yes Yes No
Sumber : Ian H Witten and Eibe Frank Data Mining Practical Machine Learning Tools and Techniques with Java
Implementation (Page 9 Table 1.2)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
Langkah 1 : Mengubah data menjadi model pohon
1.
Menentukan simpul terpilih Untuk menentukan simpul awal dihitung nilai gain untuk setiap atribut dengan menggunakan rumus 2.3. Sebelumnya dilakukan perhitungan nilai entropi setiap kejadian dengan menggunakan rumus 2.1, sedangkan nilai rata-rata entropi setiap atribut dihitung dengan menggunakan rumus 2.2. a. Atribut outlook Atribut outlook dengan kejadian-kejadiannya beserta jumlah nilai positif dan negatifnya digambarkan sebagai berikut :
Gambar 2.3 Nilai Positif dan Negatif Kejadian Outlook.
Dari nilai positif dan negatif setiap kejadian dapat dihitung nilai entropi masing-masing kejadian sebagai berikut : Outlook = sunny (q1)
q1 = - P+ log2 P+ - P- log2 Pq1 = −
3 3 2 2 log 2 - log 2 5 5 5 5
q1= 0.97
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
Outlook = overcast (q2)
q2 = - P+ log2 P+ - P- log2 Pq2 = -
4 4 0 0 log 2 - log 2 4 4 4 4
q2= 0 Outlook = rain (q3)
q3= - P+ log2 P+ - P- log2 Pq3 = -
3 3 2 2 log 2 - log 2 5 5 5 5
q3= 0.97 Nilai rata-rata entropi atribut outlook adalah : E=
inst
⎛ ⎛ ni ⎞
⎞
∑ ⎜⎜ ⎜⎝ n ⎟⎠ × e ⎟⎟ i =1
⎝
t
i
⎠
⎛5 ⎞ ⎛ 4 ⎞ ⎛5 ⎞ E= ⎜ × q1⎟ + ⎜ × q 2 ⎟ + ⎜ × q3 ⎟ ⎝ 14 ⎠ ⎝ 14 ⎠ ⎝ 14 ⎠
⎛5 ⎞ ⎛ 4 ⎞ ⎛5 ⎞ E= ⎜ × 0.97 ⎟ + ⎜ × 0 ⎟ + ⎜ × 0.97 ⎟ ⎝ 14 ⎠ ⎝ 14 ⎠ ⎝ 14 ⎠
E= 0.69 Nilai gain atribut outlook dihitung berdasarkan rumus 2.3 adalah : Gain (S,Outlook) = Soutlook (P+ , P-) – E(outlook) Soutlook P+ = 9 ; Soutlook P- = 5 9 9 5 5 log2 log2 14 14 14 14
S (9,5)
= -
S (9,5)
= 0.94
Gain (S, outlook) = 0.94 – 0.69 = 0.25
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
b.
Atribut temperature
Atribut temperature dengan kejadian-kejadiannya beserta jumlah nilai positif dan negatifnya digambarkan sebagai berikut :
Gambar 2.4 Nilai Positif dan Negatif Kejadian Temperature
Dari nilai positif dan negatif setiap kejadian dapat dihitung nilai entropi masing-masing kejadian sebagai berikut : Temperature = hot (q1)
q1 = - P+ log2 P+ - P- log2 Pq1= -
2 2 2 2 log 2 - log 2 4 4 4 4
q1= 1 Temperature = cool (q2)
q2= - P+ log2 P+ - P- log2 Pq2= -
3 3 1 1 log 2 - log 2 4 4 4 4
q2= 0.81125
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
Temperature = mild (q3)
q3= - P+ log2 P+ - P- log2 Pq3= -
4 4 2 2 log 2 - log 2 6 6 6 6
q3= 0.917 Nilai rata-rata entropi atribut temperature adalah : E=
inst
⎛ ⎛ ni ⎞
⎞
∑ ⎜⎜ ⎜⎝ n ⎟⎠ × e ⎟⎟ i =1
⎝
t
i
⎠
⎛4 ⎞ ⎛ 4 ⎞ ⎛6 ⎞ E= ⎜ × q1⎟ + ⎜ × q 2 ⎟ + ⎜ × q3 ⎟ ⎝ 14 ⎠ ⎝ 14 ⎠ ⎝ 14 ⎠ ⎞ ⎞ ⎛6 ⎛ 4 ⎞ ⎛4 E= ⎜ × 1⎟ + ⎜ × 0.811⎟ + ⎜ × 0.918 ⎟ ⎠ ⎠ ⎝ 14 ⎝ 14 ⎠ ⎝ 14
E= 0.91 Nilai gain atribut temperature dihitung berdasarkan rumus 2.3 adalah : Gain (S,Temperature) = Stemperature (P+ , P-) – E(temperature) Stemperature P+ = 9 ; Stemperature P- = 5 9 9 5 5 log2 log2 14 14 14 14
S (9,5)
= -
S (9,5)
= 0.94
Gain (S, temperature) = 0.94 – 0.91 = 0.03
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
c.
Atribut Humidity Atribut humidity dengan kejadian-kejadiannya beserta jumlah nilai positif dan negatifnya digambarkan sebagai berikut :
Gambar 2.5 Nilai Positif dan Negatif Kejadian Humidity
Dari nilai positif dan negatif setiap kejadian dapat dihitung nilai entropi masing-masing kejadian sebagai berikut : Humidity = high (q1)
q1 = - P+ log2 P+ - P- log2 Pq1 = -
3 3 4 4 log 2 - log 2 7 7 7 7
q1 = 0.985 Humidity = normal (q2)
q2= - P+ log2 P+ - P- log2 P6 6 1 1 q2 = - log 2 - log 2 7 7 7 7
q2= 0.591
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
Nilai rata-rata entropi atribut humidity adalah : E=
inst
⎛ ⎛ ni ⎞
⎞
∑ ⎜⎜ ⎜⎝ n ⎟⎠ × e ⎟⎟ i =1
⎝
i
t
⎠
⎞ ⎛7 ⎞ ⎛7 E= ⎜ × q1⎟ + ⎜ × q 2 ⎟ ⎠ ⎝ 14 ⎠ ⎝ 14 ⎛7 ⎞ ⎛7 ⎞ E= ⎜ × 0.985 ⎟ + ⎜ × 0.591⎟ ⎝ 14 ⎠ ⎝ 14 ⎠
E= 0.79 Nilai gain atribut humidity dihitung berdasarkan rumus 2.3 adalah : Gain (S,Humidity) = Shumidity (P+ , P-) – E(humidity) Shumidity P+
= 9 ; Shumidity P- = 5
S (9,5)
= -
S (9,5)
= 0.94
9 9 5 5 log2 log2 14 14 14 14
Gain (S, Humidity) = 0.94 – 0.79 = 0.15
d.
Atribut wind Atribut wind dengan kejadian-kejadiannya beserta jumlah nilai positif dan negatifnya digambarkan sebagai berikut : Strong
2 positif 3 negatif
Weak
7 positif 2 negatif
Wind
Gambar 2.6 Nilai Positif dan Negatif Kejadian Wind
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
Wind = strong (q1)
q1 = - P+ log2 P+ - P- log2 Pq1= -
2 2 3 3 log 2 - log 2 5 5 5 5
q1 = 0.97 Wind = weak (q2)
q2 = - P+ log2 P+ - P- log2 Pq2 = -
7 7 2 2 log 2 - log 2 9 9 9 9
q2 = 0.763 Nilai rata-rata entropi atribut wind adalah : E=
inst
⎛ ⎛ ni ⎞
⎞
∑ ⎜⎜ ⎜⎝ n ⎟⎠ × e ⎟⎟ i =1
⎝
t
i
⎠
⎞ ⎛5 ⎞ ⎛9 E= ⎜ × q1⎟ + ⎜ × q 2 ⎟ ⎠ ⎝ 14 ⎠ ⎝ 14 ⎛5 ⎞ ⎛9 ⎞ E= ⎜ × 1⎟ + ⎜ × 0.46 ⎟ ⎝ 14 ⎠ ⎝ 14 ⎠
E= 0.84 Nilai gain atribut wind dihitung berdasarkan rumus 2.3 adalah : Gain (S,Wind) = Swind (P+ , P-) – E(wind) Swind P+ = 9 ; Swind P- = 5 S (9,5)
= -
9 9 5 5 log2 log2 14 14 14 14
S (9,5) = 0.94 Gain (S, Wind) = 0.94 – 0.84 = 0.1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
Dari pencarian nilai gain di atas didapatkan tabel nilai gain sebagai berikut : Tabel 2. 3 Nilai Gain Untuk Menentukan Simpul Awal Setiap Atribut Atribut Outlook Temperature Humidity Wind
Nilai Gain 0.25 0.03 0.15 0.1
Dari tabel di atas diperoleh nilai gain yang paling besar yaitu nilai gain atribut Outlook. Sehingga outlook terpilih sebagai simpul awal. 2. Menyusun pohon Menyusun pohon dimulai dari simpul terpilih pada langkah ke-1 sebagai berikut : Outlook
Sunny
Overcast
Rain
D1 (-) D2 (-) D8 (-) D9 (+) D11 (+)
D3 (+) D7 (+) D12 (+) D13 (+)
D4 (+) D5 (+) D6 (-) D10 (+) D14 (-)
Gambar 2.7 Pohon Awal
Dari pohon di atas kita tentukan simpul daun selanjutnya. Simpul yang akan bercabang adalah simpul pada kejadian yang memiliki nilai positif dan negatif. Kejadian yang memiliki nilai positif dan negatif adalah kejadian sunny (D1 (-), D2 (-),
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
D8 (-),D9 (+), D11 (+) D14 (-)
) dan rain (D4 (+), D5 (+), D6 (-), D10 (+),
). Atribut outlook yang akan memiliki simpul daun
selanjutnya adalah sunny dan rain. Untuk menentukan atribut simpul keputusan di bawah atribut sunny maka dilakukan penghitungan nilai gain dari atribut yang tersisa yaitu temperature, humidity dan wind. Nilai gain yang terbesar akan
menjadi simpul keputusan di bawah sunny.
Gain(Ssunny,Wind)=Entropi(Ssunny)3 2 × entropi ( Ssunny , weak ) - × entropi ( Ssunny , strong ) = 0.029 5 5
Gain(Ssunny,Humidity)=Entropi(Ssunny)3 2 × entropi ( Ssunny , high ) - × entropi ( Ssunny , normal ) = 0.976 5 5
Gain(Ssunny,Temperature)=Entropi(Ssunny)2 2 × entropi ( Ssunny , hot ) - × entropi ( Ssunny , mild ) 5 5 1 × entropi ( Ssunny , cool ) = 0.576 5
Selanjutnya
dilakukan
perhitungan
nilai
gain
untuk
menentukan atribut simpul keputusan di bawah nilai Rain 3 Gain(Srain,Wind)=Entropi(Srain)- × entropi ( Srain, weak ) 5 2 × entropi ( Srain, strong ) = 0.976 5
Gain(Srain,Temperature)=Entropi(Srain)3 2 × entropi ( Srain, mild ) - × entropi ( Srain, cool ) = 0.029 5 5
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
Tabel 2.4 Nilai GainUntuk Menentukan Simpul Selanjutnya Atribut Gain(Ssunny,Wind) Gain(Ssunny,Humidity) Gain(Ssunny,Temperature) Gain(Srain,Wind) Gain(Srain,Temperature)
Nilai Gain 0.029 0.976 0.576 0.976 0.029
Dari tabel di atas atribut humidity terpilih sebagai simpul selanjutnya di bawah atribut sunny karena memiliki nilai gain yang paling besar, sehingga pohon menjadi sebagai berikut :
Gambar 2.8 Percabangan Pohon
Pohon di atas tidak memiliki percabangan lagi karena pada setiap kejadiannya sudah memiliki nilai yang homogen.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
Langkah 2 : Mengubah simpul pohon menjadi aturan
Pada gambar 2.8 diubah menjadi aturan if..then sebagai berikut : Tabel 2.5 Aturan If..Then Yang Belum Disederhanakan Aturan
If
Then
1 2 3 4 5
Outlook = sunny ^ humidity = high Outlook = sunny ^ humidity = normal Outlook = overcast Outlook = rain ^ wind = strong Outlook = rain ^ wind = weak
Play_Golf = No Play_Golf = Yes Play_Golf = Yes Play_Golf = No Play_Golf = Yes
Langkah 3 : Menyederhanakan Aturan
a. Menyederhanakan aturan dengan membuang anteseden yang tidak perlu. Pada langkah ini anteseden yang tidak diperlukan dieliminasi. Dalam aturan sebelumnya (tabel 2.5) aturan yang memiliki lebih dari satu anteseden adalah aturan 1, 2, 4, 5 dengan anteseden outlook, humidity dan wind. Untuk menyederhanakan aturan
dilakukan uji independen untuk setiap anteseden secara individual sebagai berikut :
1)
Hipotesis Nol (H0): outlook (anteseden) dan play_golf (konsekuen) independen.
Outlook
a) Membuat tabel kontingensi yang memuat nilai frekuensi pengamatan (oij)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
Tabel 2.6 Tabel Kontingensi Outlook
Play_Golf
Outlook
Jumlah_Marjinal
Yes
No
Sunny
2
3
5
No_Sunny
7
2
9
Jumlah Marjinal
9
5
14
b) Menghitung
frekuensi
harapan
tiap
sel
menggunakan rumus 2.3 yaitu : Frekuensi harapan pada sel X11 =
e11 =
R1T × CT 1 5×9 → e11 = = 3.21 T 14
Frekuensi harapan pada sel X12 =
e12 =
R1T × CT 2 5×5 → e12 = = 1.79 T 14
Frekuensi harapan pada sel X21 =
e21 =
R2 T × C T 1 9×9 → e21 = = 5.79 T 14
Frekuensi harapan pada sel X22 =
e22 =
R2 T × CT 2 9×5 → e22 = = 3.21 T 14
Tabel nilai frekuensi harapan berdasarkan perhitungan: Tabel 2.7 Nilai Frekuensi Harapan Outlook Play_Golf Outlook Sunny No Sunny
Yes 3.21 5.79
No 1.79 3.21
dengan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
c) Dari tabel 2.7 di atas diketahui bahwa tidak ada nilai frekuensi harapan Outlook yang kurang dari 1 dan nilai frekuensi harapan yang kurang dari 5 lebih dari 20%. Berdasarkan aturan Cochran, nilai frekuensi harapan outlook tidak memenuhi untuk menggunakan uji Chi-
Square.
2)
Hipotesis Nol (H0): humidity (anteseden) dan play_golf (konsekuen) independen.
Humidity
a) Membuat tabel kontingensi yang memuat nilai frekuensi pengamatan (oij) Tabel 2.8 Tabel Kontingensi Humidity
Play_Golf
Jumlah_Marjinal
Humidity Yes
No
High
3
4
7
Normal
6
1
7
Jumlah Marjinal
9
5
14
b) Menghitung
frekuensi
harapan
menggunakan rumus 2.3 yaitu : Frekuensi harapan pada sel X11 =
e11 =
R1T × CT 1 → e11 = 7 × 9 = 4.5 T 14
tiap
sel
dengan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
Frekuensi harapan pada sel X12 =
e12 =
R1T × CT 2 7×5 → e12 = = 2.5 T 14
Frekuensi harapan pada sel X21 =
e21 =
R2 T × C T 1 7×9 → e21 = = 4.5 T 14
Frekuensi harapan pada sel X22 =
e22 =
R2 T × CT 2 7×5 → e22 = = 2.5 T 14
Tabel nilai frekuensi harapan berdasarkan perhitungan di atas : Tabel 2.9 Nilai Frekuensi Harapan Humidity
Play_Golf Humidity Yes
No
High
4.5
2.5
Normal
4.5
2.5
c) Dari tabel 2.9 di atas diketahui bahwa tidak ada nilai frekuensi harapan Humidity yang kurang dari 1 dan nilai frekuensi harapan yang kurang dari 5 lebih dari 20%. Berdasarkan aturan Cochran, nilai frekuensi harapan humidity tidak memenuhi untuk menggunakan uji Chi-
Square.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
3) Hipotesis H0: wind (anteseden) dan play_golf (konsekuen) independen.
Wind
a) Membuat tabel kontigensi yang memuat nilai frekuensi pengamatan (oij)
Tabel 2.10 Tabel Kontingensi Wind
Play_Golf
Jumlah_Marjinal
Wind Yes
No
Strong
2
3
5
Weak
7
2
9
Jumlah Marjinal
9
5
14
b) Menghitung
frekuensi
harapan
menggunakan rumus 2.3 yaitu : Frekuensi harapan pada sel X11 =
e11 =
R1T × CT 1 → e11 = 5 × 9 = 3.21 T 14
Frekuensi harapan pada sel X12 =
e12 =
R1T × CT 2 5×5 → e12 = = 1.78 T 14
Frekuensi harapan pada sel X21 =
e21 =
R2 T × C T 1 9×9 → e21 = = 5.78 T 14
tiap
sel
dengan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
Frekuensi harapan pada sel X22 =
e22 =
R2 T × CT 2 9×5 → e22 = = 3.21 T 14
Tabel nilai frekuensi harapan berdasarkan perhitungan : Tabel 2.11 Nilai Frekuensi Harapan Wind
Play_Golf
Wind Yes
No
Strong
3.21
1.78
Weak
5.78
3.21
c) Dari tabel 2.11 di atas diketahui bahwa tidak ada nilai frekuensi harapan Wind yang kurang dari 1 dan nilai frekuensi harapan yang kurang dari 5 lebih dari 20%. Berdasarkan aturan Cochran, nilai frekuensi harapan wind tidak memenuhi untuk menggunakan uji Chi-Square. Kesimpulan: Nilai frekuensi harapan yang kecil dari setiap anteseden (outlook, humidity dan wind) mengakibatkan pengujian independensi anteseden secara individual menggunakan uji Chi-Square tidak dapat digunakan. Aturan yang berlaku masih sama dengan aturan pada tabel 2.5.
2.
Menyederhanakan aturan dengan membuang aturan yang tidak perlu
Penyederhanaan aturan dapat dilakukan dengan menggunakan default rule. Default rule diperoleh dengan mencari konsekuen yang paling
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
banyak. Pada tabel 2.5 diperoleh Yes sebagai konsekuen yang paling banyak dari aturan yang terbentuk. Ketiga aturan dengan konsekuen Yes dijadikan default rule. Aturan yang paling sederhana diperoleh sebagai berikut : Tabel 2.12 Aturan Yang Paling Sederhana Aturan
Rule
Then
1 2
Outlook = sunny ^ humidity = high Outlook = rain ^ wind = strong Default rule
Play_Golf = No Play_Golf = No Play_Golf = Yes
Langkah 4 : Hasil Prediksi Pada Data Training
Hasil prediksi pada data training sebagai berikut : Tabel 2.13 Hasil Prediksi Pada Data Training Day D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14
Outlook Sunny Sunny Overcast Rain Rain Rain Overcast Sunny Sunny Rain Sunny Overcast Overcast Rain
Temperature Hot Hot Hot Mild Cool Cool Cool Mild Cool Mild Mild Mild Hot Mild
Humidity High High High High Normal Normal Normal High Normal Normal Normal High Normal High
Wind Weak Strong Weak Weak Weak Strong Strong Weak Weak Weak Strong Strong Weak Strong
Play_Golf No No Yes Yes Yes No Yes No Yes Yes Yes Yes Yes No
Prediksi No No Yes Yes Yes No Yes No Yes Yes Yes Yes Yes No
Dari hasil prediksi pada data training di atas tidak didapatkan kesalahan prediksi dari 14 data sehingga besar kesalahan prediksi yaitu sebesar 0%.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
BAB III ANALISA DAN PERANCANGAN SISTEM
A.
Identifikasi dan Analisa Sistem
Organisasi veteran Amerika merupakan organisasi nirlaba yang menyediakan layanan pengobatan bagi para pejuang veteran Amerika Serikat yang menderita lumpuh. Organisasi ini memperoleh dana melalui pengiriman surat yang direspon oleh donatur. Surat yang dikirimkan juga merupakan hadiah bagi donatur dalam bentuk kalender, kartu ucapan, stiker dan lain-lain. Jika organisasi memiliki 3 juta donatur dan mengeluarkan biaya 10 dollar per surat maka biaya yang akan dihabiskan adalah 30.000.000 dollar. Dalam setahun dana yang harus dikeluarkan adalah 360.000.000 dollar. Dana yang dihabiskan sebesar 360.000.000 dollar akan menjadi pengeluaran yang sia-sia jika kurang mendapat respon dari para donatur. Masalah yang dialami oleh organisasi nirlaba ini dapat diatasi menggunakan data mining melalui model klasifikasi. Dalam tugas akhir ini digunakan model klasifikasi untuk mengetahui profil donatur yang selama ini memberikan respon terhadap salah satu bentuk pengiriman surat yaitu pengiriman surat dengan kartu kosong pada tahun 1997 yang diberi kode 97_NK. Identifikasi profil donatur yang memberikan respon ini bertujuan untuk mengurangi biaya pengeluaran yang sia-sia.
44
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
Dalam tugas akhir ini sampel data yang digunakan sebanyak 350 records dan 67 atribut. Sampel data tersebut diambil dari dataset donatur
organisasi
veteran
Amerika
yang
disediakan
oleh
situs
http://kdd.ics.uci.edu/ databases/ kddcup98/ kddcup98.html.
B.
Perancangan Sistem 1. Input
Data-data yang diperoleh dibagi dalam dua tabel secara random yaitu sebagai tabel training dan tabel tes. Data yang akan digunakan dalam proses penambangan data adalah data pada tabel training yang diberi nama tabel member.db. Model klasifikasi dari proses penambangan data yang diperoleh selanjutnya diimplementasikan ke dalam tabel tes untuk diuji tingkat keakuratannya. Atribut-atribut yang terdapat dalam tabel training sama dengan atribut-atribut yang terdapat dalam tabel tes, kecuali satu atribut tambahan dalam tabel tes yaitu atribut PREDIKSI. Atribut PREDIKSI digunakan untuk menghitung tingkat keakuratan model klasifikasi. Berikut ini atribut yang terdapat dalam tabel training : Tabel 3.1 Deskripsi Atribut (Variable) Tabel Training Variable CONTROLN
ODATE
Description Control number (unique record identifier) Origin Date. Date of donor's first gift to PVA YYMM format (Year/Month).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
Tabel 3.1 Deskripsi Atribut (Variable) Tabel Training (Lanjutan) Variable MAILCODE
PVASTATE NOEXCH RECINHSE RECP3 RECPGVG RECSWEEP TCODE MDMAUD DOMAINX CLUSTER AGE AGEFLAG HOMEOWNR NUMCHLD INCOME GENDER WEALTH MBCRAFT MBGARDEN MBBOOKS MBCOLECT MAGFAML MAGFEM MAGMALE PUBGARDN PUBCULIN PUBHLTH PUBDOITY PUBNEWFN PUBPHOTO PUBOPP DATASRCE MALEMILI VETS GOV SOLP3 SOLIH MAJOR COLLECT1
Description Mail Code Indicates whether the donor lives in a state served by the organization's EPVA chapter Do Not Exchange Flag (For list rental) In House File Flag P3 File Flag Planned Giving File Flag Sweepstakes file flag Donor title code The Major Donor Matrix code DOMAIN/Cluster code. CLUSTER Overlay Age Age Flag Home Owner Flag NUMBER OF CHILDREN HOUSEHOLD INCOME Gender Wealth Rating Buy Craft Hobby Buy Gardening Buy Books Buy Collectables Buy General Family Mags Buy Female Mags Buy Sports Mags Gardening Pubs Culinary Pubs Health Pubs Do It Yourself Pubs News / Finance Pubs Photography Pubs Opportunity Seekers Pubs Source of Overlay Data % Males active in the Military %Vets % Employed by Gov SOLICIT LIMITATION CODE P3 SOLICITATION LIMIT CODE IN HOUSE Major ($$) Donor Flag COLLECTABLE (YES/NO)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
Tabel 3.1 Deskripsi Atribut (Variable) Tabel Training (Lanjutan) Variable VETERANS BIBLE CATLG HOMEE PETS CDPLAY STEREO PCOWNERS PHOTO CRAFTS FISHER GARDENIN BOATS WALKER KIDSTUFF CARDS PLATES LIFESRC PEPSTRFL HPHONE_D RFA_2R RFA_2F RFA_2A MDMAUD_R MDMAUD_F MDMAUD_A CLUSTER2 GEOCODE2 TARGET_B
Description VETERANS (YES/NO) BIBLE READING (YES/NO) SHOP BY CATALOG (YES/NO) WORK FROM HOME (YES/NO) HOUSEHOLD PETS (YES/NO) CD PLAYER OWNERS (YES/NO) STEREO/RECORDS/TAPES/CD (YES/NO) HOME PC OWNERS/USERS (YES/NO) PHOTOGRAPHY (YES/NO) CRAFTS (YES/NO) FISHING (YES/NO) GARDENING (YES/NO) POWER BOATING (YES/NO) WALK FOR HEALTH (YES/NO) BUYS CHILDREN'S PRODUCTS (YES/NO) STATIONARY/CARDS BUYER (YES/NO) PLATE COLLECTOR (YES/NO) LIFE STYLE DATA SOURCE Indicates PEP Star RFA Status Presence of a published home Recency code for RFA_2 Frequency code for RFA_2 Donation Amount code for RFA_2 Recency code for MDMAUD Frequecy code for MDMAUD Donation Amount code for MDMAUD Classic Cluster Code (a nominal symbolic field) County Size Code Indicator for Response to 97NK Mailing
Nilai kejadian atribut-atribut di atas berada pada rentang nilai yang besar sehingga penulis melakukan pengelompokan nilai kejadian dengan rentang nilai yang lebih kecil untuk memudahkan proses pengambilan keputusan. Pengelompokan nilai kejadian dilakukan secara intuitif.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
Berikut ini hasil pengelompokan nilai kejadian dari setiap atribut : Tabel 3.2 Nilai Kejadian Atribut ODATEDW Year (dua digit pertama) KEJADIAN Y1 Y2 Y3 Y4
DESKRIPSI 80-85 86-90 91-95 > 95
Tabel 3.3 Nilai Kejadian Atribut ODATEDW Month (dua digit terakhir) KEJADIAN M1 M2 M3 M4
DESKRIPSI 01-03 04-06 07-09 10-11
Misalnya : ODATEDW 8901 menjadi Y2M1
Tabel 3.4 Nilai Kejadian Atribut MAILCODE KEJADIAN OK B
DESKRIPSI Address is OK Bad address
Tabel 3.5 Nilai Kejadian Atribut PVASTATE KEJADIAN P E U
DESKRIPSI PVA State EPVA State (Northeastern US) Unkknown
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
Tabel 3.6 Nilai Kejadian Atribut NOEXCH KEJADIAN 0 X
DESKRIPSI Can be exchanged Do not exchanged
Tabel 3.7 Nilai Kejadian Atribut RECINHSE KEJADIAN U X
DESKRIPSI Not an In House record Donor has given to PVA’s In House programme
Tabel 3.8 Nilai Kejadian Atribut RECP3 KEJADIAN U X
DESKRIPSI Not a P3 record Donor has given to PVA’s P3 programme
Tabel 3.9 Nilai Kejadian Atribut RECPGVG KEJADIAN U X
DESKRIPSI Not a Planned Giving record Planned Giving record
Tabel 3.10 Nilai Kejadian Atribut RECSWEEP KEJADIAN U X
DESKRIPSI Not a Sweepstakes record Sweepstakes record
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
Tabel 3.11 Nilai Kejadian Atribut TCODE KEJADIAN 000 001 001001 001002 002 002002 003 003003 004 004002 004004 005 006 009 010 010002 010010 011 011002 012 012002 013 013002 014 014002 015 015002 016 017 017002 018 018002 019 020 021002 022002 024 026 027
DESKRIPSI MR. MESSRS. MR. & MRS. MRS. MESDAMES MISS MISSES DR. DR. & MRS. DOCTORS MADAME SERGEANT RABBI PROFESSOR PROFESSOR & MRS. PROFESSORS ADMIRAL ADMIRAL & MRS. GENERAL GENERAL & MRS. COLONEL COLONEL & MRS. CAPTAIN CAPTAIN & MRS. COMMANDER COMMANDER & MRS. DEAN JUDGE JUDGE & MRS. MAJOR MAJOR & MRS. SENATOR GOVERNOR SERGEANT & MRS. COLNEL & MRS. LIEUTENANT MONSIGNOR REVEREND
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
Tabel 3.11 Nilai Kejadian Atribut TCODE (Lanjutan)
KEJADIAN 029 031 031002 033 036 037 038 040 042 043 044 046 047 048 050 056 059002 062 063 064 065 068 069 070 072002 073 075 085 087 089 090 091 092 100 103 104 106 107 108
DESKRIPSI BISHOP AMBASSADOR AMBASSADOR & MRS. CANTOR BROTHER SIR COMMODORE FATHER SISTER PRESIDENT MASTER MOTHER CHAPLAIN CORPORAL ELDER MAYOR LIEUTENANT & MRS. LORD CARDINAL FRIEND FRIENDS ARCHDEACON CANON BISHOP REVEREND & MRS. PASTOR ARCHBISHOP SPECIALIST PRIVATE SEAMAN AIRMAN JUSTICE MR. JUSTICE M. MLLE. CHANCELLOR REPRESENTATIVE SECRETARY LT. GOVERNOR
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
Tabel 3.11 Nilai Kejadian Atribut TCODE (Lanjutan)
KEJADIAN 109 111 114 116 117 118 120 122 123 124 125 126 127 128 129 130 131 132 135 210
DESKRIPSI LIC. SA. DA. SR. SRA. SRTA. YOUR MAJESTY HIS HIGHNESS HER HIGHNESS COUNT LADY PRINCE PRINCESS CHIEF BARON SHEIK PRINCE AND PRINCESS YOUR IMPERIAL MAJEST M. ET MME. PROF.
Tabel 3.12 Nilai Kejadian Atribut MDMAUD KEJADIAN DESKRIPSI First byte: Recency of Giving See the section of Recency Second byte : Frequency of Giving See the section of Frequency Third byte : Amount of Giving See the section of Amount 4th byte: Blank/meaningless/filler 'X' indicates that the donor is not a major donor.
An RFA (Recency / Frequency / Amount) field of MDMAUD Tabel 3.13 Nilai Kejadian 1st Byte Recency of Giving KEJADIAN C L I D
DESKRIPSI Current Donor Lapsed Donor Inactive Donor Dormant Donor
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
Tabel 3.14 Nilai Kejadian 2nd Byte: Frequency of Giving KEJADIAN 1 2 3
DESKRIPSI One gift in the period of recency Two-Four gifts in the period of recency Five+ gifts in the period of recency
Tabel 3.15 Nilai Kejadian 3rd Byte: Amount of Giving KEJADIAN L C M T
DESKRIPSI Less than $100(Low Dollar) $100-499(Core) $500-999(Major) =$1,000+(Top)
Tabel 3.16 Nilai Kejadian Atribut DOMAINX KEJADIAN DESKRIPSI 00 DOMAINX empty 01 A-M 02 N-Z Ket: Pengelompokan berdasarkan huruf depan (digit pertama )
Tabel 3.17 Nilai Kejadian Atribut Cluster KEJADIAN A B C D E X
DESKRIPSI 1-20 21-40 41-60 61-80 81-100 Empty
Tabel 3.18 Nilai Kejadian Atribut AGE KEJADIAN Middle-aged Old Older U
DESKRIPSI 21-40 41-70 >71 Unknown
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
Tabel 3.19 Nilai Kejadian Atribut AGEFLAG KEJADIAN E I U
DESKRIPSI Exact Inferred from Date Of Birth Unknown
Tabel 3.20 Nilai Kejadian Atribut HOMEOWNR KEJADIAN H U
DESKRIPSI Home owner Unknown
Tabel 3.21 Nilai Kejadian Atribut NUMCHLD KEJADIAN 0 1 >1
DESKRIPSI Empty 0ne child More than one child
Tabel 3.22 Nilai Kejadian Atribut INCOME KEJADIAN Low Medium High None
DESKRIPSI 1-3 4-6 7-10 Empty
Tabel 3.23 Nilai Kejadian Atribut GENDER KEJADIAN M F J
DESKRIPSI Male Female Joint account, unknown gender
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
Tabel 3.24 Nilai Kejadian Atribut WEALTH KEJADIAN 0 1 2 3 4 5 6 7 8 9
DESKRIPSI
Wealth rating uses median family income and population statistics from each area to index relative wealth within each state. The segments are denoted 0-9, with 9 being the highest income group and zero being the lowest. Each rating has a different meaning within each state.
Tabel 3.25 OTHER TYPES OF MAIL ORDER OFFERS ATRIBUT MBCRAFT MBGARDEN MBBOOKS MBCOLECT MAGFAML MAGFEM MAGMALE PUBGARDN PUBCULIN PUBHLTH PUBDOITY PUBNEWFN PUBPHOTO PUBOPP
DESKRIPSI Buy Craft Hobby Buy Gardening Buy Books Buy Collectables Buy General Family Mags Buy Female Mags Buy Sports Mags Gardening Pubs Culinary Pubs Health Pubs Do It Yourself Pubs News / Finance Pubs Photography Pubs Opportunity Seekers Pubs
KEJADIAN See table 3.26 See table 3.26 See table 3.26 See table 3.26 See table 3.26 See table 3.26 See table 3.26 See table 3.26 See table 3.26 See table 3.26 See table 3.26 See table 3.26 See table 3.26 See table 3.26
Tabel 3.26 Nilai Kejadian Atribut OTHER TYPES OF MAIL ORDER OFFERS KEJADIAN 0 1 >1
DESKRIPSI Not responded to other types of mail order offers Once time has responded to other types of mail order offers More than once time has responded to other types of mail order offers
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
Tabel 3.27 Nilai Kejadian Atribut DATASRCE KEJADIAN 1 2 3
DESKRIPSI Metro mail Polk Both
Tabel 3.28 Nilai Kejadian Atribut MALEMILI KEJADIAN 0 1 >1
DESKRIPSI Empty One percent More than one percent
Tabel 3.29 Nilai Kejadian Atribut VETS KEJADIAN 0 MALE VIET WWII
DESKRIPSI Empty Males veterans Vietnam vets WWII vets
Tabel 3.30 Nilai Kejadian Atribut GOV KEJADIAN 0 LOCAL STATE FED
DESKRIPSI Empty Employed by LOCAL gov Employed by STATE gov Employed by FED gov
Tabel 3.31 Nilai Kejadian Atribut SOLP3 KEJADIAN D 00 01 02 03 04 05 06 12
DESKRIPSI Can be mailed (Default) Do not solicit or mail One solicitations per year Two solicitations per year Three solicitations per year Four solicitations per year Five solicitations per year Six solicitations per year Twelve solicitations per year
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
Tabel 3.32 Nilai Kejadian Atribut SOLIH KEJADIAN D 00 01 02 03 04 05 06 12
DESKRIPSI Can be mailed (Default) Do not solicit or mail One solicitations per year Two solicitations per year Three solicitations per year Four solicitations per year Five solicitations per year Six solicitations per year Twelve solicitations per year
Tabel 3.33 Nilai Kejadian Atribut MAJOR KEJADIAN 0 X
DESKRIPSI Not a major flag Major donor
Tabel 3.34 Nilai Kejadian Atribut LIFESRC KEJADIAN 0 1 2 3
DESKRIPSI If LIFESRC empty Matched on metro mail only Matched on polk only Matched on metro mail and polk
Tabel 3.35 Nilai Kejadian Atribut PEPSTRFL KEJADIAN B X
DESKRIPSI Not Considered to be a PEP Star (Empty) Has PEP Star RFA Status
Tabel 3.36 Nilai Kejadian Atribut HPHONE_D KEJADIAN 0 1
DESKRIPSI Does not presence of a published home number Presence of a published home number
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
58
Tabel 3.37 Nilai Kejadian Atribut RFA_2 Atribut DESKRIPSI RFA_2R See the section on RFA, Recency code for RFA_2 RFA_2F See the section on RFA, Frequency code for RFA_2 RFA_2A See the section on RFA, Donation Amount code for RFA_2 RFA_2 : mailing was use to construct the target fields (TARGET_B)
An RFA (Recency / Frequency / Amount) field of RFA_2 Tabel 3.38 Nilai Kejadian 1st Byte Recency of Giving KEJADIAN F
N
A L I S
DESKRIPSI First time donor. Anyone who has made their first donation in the last 6 months and has made just one donation. New donor. Anyone who has made their first donation in the last 12 months and is not a First time donor. This is everyone who made their first donation 7-12 months ago, or people who made their first donation between 0-6 months ago and have made 2 or more donations. Active Donor. Anyone who made their first donation more than 12 months ago and has made a donation in the last 12 months. Lapsing Donor. A previous donor who made their last donation between 13-24 months ago. Inactive donor. A previous donor who has not made a donation in the last 24 months. It is people who made a donation 25+ months ago. Star donor. Donors are individuals who have given to 3 consecutive card mailings.
Tabel 3.39 Nilai Kejadian 2nd Byte: Frequency of Giving KEJADIAN 1 2 3 4
DESKRIPSI One gift in the period of recency Two gifts in the period of recency Three gifts in the period of recency Four or more gifts in the period of recency
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
59
Tabel 3.40 Nilai Kejadian 3rd Byte: Amount of Giving KEJADIAN A B C D E F G
DESKRIPSI $0.01 - $1.99 $2.00 - $2.99 $3.00 - $4.99 $5.00 - $9.99 $10.00 - $14.99 $15.00 - $24.99 $25.00 and above
Tabel 3.41 Nilai Kejadian Atribut TARGET_B (Atribut Keputusan) Atribut YES NO
DESKRIPSI Response to 97 NK Mailing Does not response to 97 NK Mailing
2. Proses
Proses-proses yang terjadi dalam model klasifikasi TARGET_B adalah sebagai berikut : A. Mengubah data menjadi model pohon aturan 1) Menentukan simpul awal Simpul awal ditentukan dengan menghitung nilai gain setiap atribut dimana atribut dengan nilai gain terbesar yang menjadi simpul awal. Proses menghitung nilai gain adalah sebagai berikut : a) Menghitung jumlah keseluruhan sampel data. b) Menghitung
jumlah
kejadian
dari
atribut
keputusan. Dalam sampel data terdapat dua kelas
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
60
kejadian yang berbeda, yaitu TARGET_B=YES dan TARGET_B=NO. c) Hasil perhitungan dari langkah (b) di atas digunakan untuk menghitung nilai entropi untuk keseluruhan sampel. Rumus yang digunakan adalah rumus 2.1, yaitu…. entropi (S) = - P+ log2 P+ - P- log2 P-
dimana : S = ruang sampel data training P+ = rasio dari kejadian TARGET_B = YES P- = rasio dari kejadian TARGET_B=NO d) Menghitung jumlah atribut dan kejadian dari setiap atribut tersebut. e) Menghitung nilai entropi setiap atribut berdasarkan kejadian yang dimiliki dengan menggunakan rumus dari langkah c. f) Menghitung nilai rata-rata entropi setiap atribut berdasarkan rumus 2.2, yaitu sebagai berikut : E=
inst
⎛ ⎛ ni ⎞
⎞
∑ ⎜⎜ ⎜⎝ n ⎟⎠ × e ⎟⎟ i =1
⎝
t
i
⎠
dimana : inst = jumlah kejadian ni = jumlah data kejadian ke-i nt = jumlah total data keseluruhan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
61
ei = nilai entropi kejadian ke-i g) Menghitung nilai gain setiap atribut berdasarkan rumus 2.3, yaitu sebagai berikut : Gain(S A) =Entropi (S) – Nilai rata-rata Entropi(S) dimana : S = ruang sampel data training yaitu sampel data dalam tabel member. A = atribut dalam sampel data training yaitu sampel data dalam tabel member. Gain (S A) adalah informasi yang diperoleh melalui percabangan simpul pada atribut A . h) Atribut dengan nilai gain terbesar dipilih sebagai simpul awal.
2) Menyusun pohon Pohon keputusan yang terbentuk dalam setiap tingkat disimpan dalam sebuah tabel yang dideklarasikan dengan variabel bertipe array. Struktur variabel array ini memiliki range indeks yang dinamis sesuai dengan banyaknya kejadian dari atribut yang menjadi simpul awal. Hal ini bertujuan untuk mengatasi percabangan pohon keputusan yang belum diketahui secara pasti.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
62
Setelah diperoleh atribut yang menjadi simpul awal, maka pohon keputusan disusun dengan langkah sebagai berikut : a) Membentuk percabangan simpul awal berdasarkan kejadian-kejadian atribut yang menjadi simpul awal. b) Pada tingkat ke-2 dan seterusnya dari pohon keputusan,
simpul
awal
diperoleh
dengan
mengulangi proses pada langkah 1 (Menentukan simpul awal) secara rekursif. Sebuah atribut yang sudah menjadi simpul awal tidak diikutsertakan dalam
perhitungan
simpul
awal
di
tingkat
selanjutnya. Proses rekursif percabangan pohon keputusan dihentikan jika semua sampel data sudah berada pada kelas yang sama (homogen). c) Aturan yang dihasilkan dari proses ini disimpan dalam sebuah tabel dengan nama aturan.db. Tabel aturan memiliki struktur tabel yang sama dengan tabel training.
B. Menyederhanakan aturan Jumlah sampel data yang ada dalam program ini tidak memungkinkan untuk melakukan pemangkasan pohon
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
63
keputusan (prunned tree) dengan uji statistik sehingga penulis hanya melakukan penyederhanaan aturan. Penyederhanaan aturan dilakukan dengan membuat default rule. Default Rule diperoleh dengan menghitung
nilai konsekuen terbanyak dari tabel aturan. Proses selanjutnya
adalah
melakukan
eliminasi
aturan
berdasarkan default rule.
C. Pengujian Aturan Pada Tabel Tes a) Aturan-aturan yang sudah disederhanakan, diuji ke dalam tabel tes. Pengujian dilakukan dengan membandingkan data yang terdapat antara atribut TARGET_B dan PREDIKSI. Hal ini bertujuan untuk mengetahui tingkat keakuratan aturan. b) Pengguna dengan
dapat
melakukan
memasukkan
dikehendaki
berdasarkan
pengujian
aturan
aturan-aturan
yang
pilihan
atribut
dan
kejadian yang ada.
3. Output
Output dari sistem yang dibuat adalah sebagai berikut : a. Menampilkan data yang terdapat dalam tabel training dan tabel tes. Data ditampilkan secara detail meliputi nama atribut dan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
64
kejadian-kejadian yang dimiliki setiap atribut serta jumlah kejadian berdasarkan atribut keputusan. b. Pada proses mengubah data menjadi model pohon aturan, yaitu : 1. Menampilkan nama atribut yang menjadi simpul awal dan nilai gain dari atribut tersebut. 2. Menampilkan nama atribut yang memiliki sampel homogen (jika ditemukan sampel homogen selama proses pembentukan pohon aturan berlangsung). 3. Menampilkan nilai gain tiap-tiap atribut berdasarkan kejadian yang dimiliki oleh atribut. 4. Menampilkan aturan (dalam bentuk string grid) yang terbentuk dari proses pembentukan pohon aturan. Aturan yang diperoleh terdiri atas anteseden dan konsekuen. c. Menampilkan data dari tabel tes dan melakukan pengujian aturan yang diperoleh ke dalam tabel tes. Selanjutnya menampilkan hasil pengujian aturan berupa jumlah aturan salah, aturan benar dan persentase keberhasilan aturan. d. Menampilkan hasil pengujian aturan berdasarkan data aturan yang diberikan oleh pengguna sehingga dapat diketahui nilai respon
pada
TARGET_B
TARGET_B = NO)
(TARGET_B
=
YES
atau
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
65
4. Antarmuka Pengguna
Form menampilkan data.
Gambar 3. 1 Desain Form Menampilkan Data
Pada form ini pengguna dapat memilih data dari tabel yang diinginkan berdasarkan pilihan menu yang terdapat dalam komponen radio group Tampil Data. Jika pengguna memilih radio group Tampil Data yaitu Training Set maka tabel Training Set
akan ditampilkan dalam komponen dbGrid1. Jika pengguna memilih radio group Tampil Data yaitu Test Set maka tabel Test Set akan ditampilkan dalam komponen dbGrid1.
Tombol-tombol yang terdapat dalam form ini adalah : •
Detail Tombol
Detail
berfungsi
untuk
menampilkan
form
selanjutnya, yaitu Form Detail Data (Training Set / Test Set)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
66
•
Unprunned Tree
Tombol Unprunned Tree berfungsi untuk menampilkan form selanjutnya, yaitu Form Unprunned Tree. Menu-menu yang terdapat dalam setiap form adalah sebagai berikut: •
Program Sub menu dalam menu Program adalah : o Tutup
Tutup form yang sedang aktif. •
Bantuan Sub menu dalam menu Bantuan adalah : o Tentang Program
Berisi penjelasan tentang program. o Tentang Pembuat Program
Berisi biodata pembuat program.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
67
Form Detail Data
Gambar 3. 2 Desain Form Detail Data
Form ini akan menampilkan tabel training set atau tabel test set
dalam komponen dbGrid1. Jumlah record data yang terdapat dalam tabel ditampilkan dalam komponen edit1. Detail data tiap-tiap atribut kondisi ditampilkan dalam radio group DETAIL DATA. Berikut ini penjelasan mengenai radio group DETAIL DATA: •
Combo box Atribut Kondisi
pengguna terlebih dahulu memilih atribut kondisi yang ingin ditampilkan. Pilihan atribut-atribut kondisi terdapat di dalam komponen combo box Atribut Kondisi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
68
•
Tombol Kejadian Atribut Tombol ini berfungsi untuk menampilkan detail kejadian dan kelas
kejadian
(TARGET_B)
ke
dalam
komponen
StringGridData berdasarkan atribut kondisi yang dipilih
pengguna. •
Tombol Unprunned Tree Tombol ini berfungsi untuk menampilkan form selanjutnya, yaitu Form Unprunned Tree.
Form Unprunned Tree
Gambar 3. 3 Desain Form Unprunned Tree
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
69
Form Unprunned Tree berfungsi dalam proses pembentukan pohon
keputusan dengan beberapa fasilitas sebagai berikut : •
dbGrid1
Komponen ini berfungsi untuk menampilkan tabel training set yang akan dimining. •
Tombol Hitung Gain Tombol ini berfungsi untuk melakukan proses perhitungan nilai gain tiap-tiap atribut dan pembentukan pohon keputusan. Jika simpul awal telah diketahui maka nama atribut yang menjadi simpul awal ditampilkan dalam komponen editNode dan nilai gain ditampilkan dalam komponen editGain.
•
Tombol Detail Gain Tombol ini berfungsi untuk menampilkan form selanjutnya, yaitu Form Detail Gain.
•
Tombol Unprunned Rule Tombol ini berfungsi untuk menampilkan form selanjutnya, yaitu Form Unprunned Rule.
•
Memo 1 Memo 1 berfungsi untuk menampilkan sampel data yang homogen pada proses pembentukan pohon.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
70
Form Detail Gain
Gambar 3.4 Desain Form Detail Gain
Form ini berfungsi untuk menampilkan nilai gain tiap-tiap atribut
pada proses pembentukan pohon awal. Beberapa fasilitas yang terdapat dalam Form Detail Gain adalah sebagai berikut : •
Combo box Nama Atribut
Pengguna dapat menampilkan nilai gain tiap-tiap atribut dengan memilih nama atribut yang diinginkan melalui komponen combo box Nama Atribut. Komponen edit1 akan menampilkan nilai gain atribut yang dipilih pengguna pada komponen combo box Nama Atribut.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
71
•
String gridStatistik String grid ini berfungsi untuk menampilkan detail statistik
atribut berdasarkan nama atribut yang dipilih pengguna melalui komponen combo box Nama Atribut. •
String gridDetail String grid ini berfungsi untuk menampilkan semua nilai gain
dari setiap atribut berdasarkan pohon keputusan pada tingkat awal. •
Tombol Unprunned Rule Tombol ini berfungsi untuk menampilkan form selanjutnya, yaitu Form Unprunned Rule.
Form Unprunned Rule
Gambar 3.5 Desain Form Unprunned Rule
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
72
Form Unprunned Rule berfungsi untuk menampilkan daftar aturan
yang diperoleh dari proses pembentukan pohon keputusan menggunakan algoritma ID 3. Beberapa fasilitas yang terdapat dalam Form Unprunned Rule adalah sebagai berikut : •
Daftar aturan ditampilkan dalam bentuk tabel pada komponen StringGridPohon.
•
Summary berisi informasi tentang : o Jumlah
aturan
dengan
konsekuen
Jumlah
TARGET_B=‘YES’ ditampilkan dalam komponen edit1 dan
Jumlah
aturan
dengan
konsekuen
Jumlah
TARGET_B=‘NO’ ditampilkan dalam komponen edit2. o Tombol Lihat Aturan YES
Tombol ini berfungsi untuk menampilkan aturan dengan konsekuen TARGET_B = ‘YES’. o Tombol Lihat Aturan NO
Tombol ini berfungsi untuk menampilkan aturan dengan konsekuen TARGET_B = ‘NO’. o Tombol All
Tombol ini berfungsi untuk menampilkan semua aturan yang ada dengan konsekuen TARGET_B = ‘YES’ dan TARGET_B = ‘NO’.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
73
•
Tombol Kamus Atribut Tombol ini berfungsi untuk menampilkan Form Keterangan Anteseden.
•
Tombol Lanjut Form ini berfungsi untuk menampilkan form selanjutnya,
yaitu Form Uji Aturan.
Form
Keterangan
Anteseden
Gambar 3.6 Desain Form Keterangan Anteseden
Form ini berfungsi untuk menampilkan keterangan dari tiap-tiap
atribut yang terdapat dalam tabel training set. Keterangan atribut yang ditampilkan dalam komponen ValueListEditor berupa penjelasan atribut dan kejadian-kejadian yang dimiliki.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
74
Tombol Lanjut berfungsi untuk menampilkan form selanjutnya, yaitu Form Uji Aturan.
Form Uji Aturan
Gambar 3.7 Desain Form Uji Aturan
Form ini berfungsi untuk menampilkan hasil uji aturan Unprunned Rule dengan tabel test set. Beberapa fasilitas yang terdapat dalam form Uji Aturan adalah sebagai berikut : •
Tombol Buka Tabel Tes Tombol ini berfungsi untuk membuka tabel tes yang akan digunakan untuk pengujian aturan. Tabel test set ditampilkan dalam komponen dbGrid1.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
75
•
Tombol Uji Aturan Tombol ini berfungsi untuk melakukan pengujian tingkat keberhasilan aturan.
•
Tombol Dialog Tombol ini berfungsi untuk menampilkan form selanjutnya, yaitu Form Uji Sampel Data Pengguna.
•
Komponen edit1 berfungsi untuk menampilkan hasil uji aturan dengan jumlah records aturan yang benar.
•
Komponen edit2 berfungsi untuk menampilkan hasil uji aturan dengan jumlah records aturan yang salah.
•
Komponen edit3 berfungsi untuk menampilkan persentase keberhasilan hasil uji aturan dalam satuan persen (%).
Form Uji Sampel Data Pengguna
Gambar 3.8 Desain Form Uji Sampel Data Pengguna
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
76
Form Uji Sampel Data Pengguna memberikan fasilitas bagi
pengguna untuk melakukan input sampel data yang diinginkan dan menguji data tersebut berdasarkan aturan yang ada. Hasil pengujian memberikan informasi apakah sampel data yang diberikan pengguna memberikan respon terhadap layanan surat NK (TARGET_B) Beberapa fasilitas yang terdapat dalam Form Uji Sampel Data Pengguna adalah sebagai berikut : a.
Combo box Nama Atribut Combo box ini memberikan fasilitas bagi pengguna untuk
memilih nama atribut yang ingin diuji. b.
Combo box Nilai Atribut Combo box ini memberikan fasilitas bagi pengguna untuk
memilih nilai kejadian atribut yang ingin diuji. c.
Tombol Tambah Aturan Tombol ini berfungsi untuk menampilkan nama dan nilai kejadian dari atribut sesuai dengan pilihan pengguna ke dalam komponen String grid 1.
d.
Tombol Uji Aturan Tombol ini berfungsi untuk melakukan pengujian sampel data dari pengguna. Hasil uji aturan ditampilkan dalam komponen String grid 2.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
77
e.
Tombol Reset Tombol ini berfungsi untuk mengosongkan komponen string grid 1 sehingga pengguna dapat memberikan input sampel
data yang baru. f.
Tombol Selesai Tombol ini berfungsi untuk mengakhiri program.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
78
BAB IV IMPLEMENTASI SISTEM
A.
Spesifikasi Software dan Hardware Spesifikasi Software : Sistem operasi Microsoft Windows XP Professional versi 2002 S.P 2 Bahasa pemrograman Borland Delphi 7.0 Basis data menggunakan Database Desktop dengan jenis tabel
Paradox 7 Spesifikasi Hardware : Prosesor Intel Centrino Core 2 Duo 1.6 GHz Memori 512 MB HardDisk 100 GB
B.
Jalannya Program
Tampilan form pada saat program dijalankan pertama kali adalah sebagai berikut :
Gambar 4.1 Form Awal
78
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
79
Form awal berisi informasi tentang nama program, nama pembuat
program, waktu dan tanggal saat program dijalankan. Dalam Form Awal terdapat tombol OK yang berfungsi untuk menampilkan form selanjutnya, yaitu Form Tampil Data. Berikut ini tampilan Form Tampil Data Training Set:
Gambar 4.2 Form Tampil Data Training Set
Pada form ini, pengguna dapat memilih data dari tabel yang ingin ditampilkan. Dalam radio group Tampil Data terdapat dua tombol pilihan untuk tabel yang ingin ditampilkan yaitu Training Set dan Test Set. Jika pengguna menekan tombol Training Set maka form akan menampilkan tabel Training Set dalam komponen dbGrid.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
80
Pada form ini terdapat dua tombol, yaitu : a.
Detail Jika pengguna memilih untuk menampilkan tabel Training Set maka tombol Detail berfungsi untuk menampilkan Form Detail Training Set.
b.
Unprunned Tree
Tombol ini berfungsi untuk menampilkan Form Unprunned Tree.
Jika pengguna menekan tombol Test Set pada radio group Tampil Data maka form akan menampilkan tabel Test Set dalam komponen dbGrid. Berikut ini tampilannya :
Gambar 4.3 Form Tampil Data Test Set
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
81
Pada form Tampil Data Test Set ini terdapat dua tombol, yaitu : a.
Detail Jika pengguna memilih untuk menampilkan tabel Test Set maka tombol Detail berfungsi untuk menampilkan Form Detail Test Set.
b.
Unprunned Tree
Tombol ini berfungsi untuk menampilkan Form Unprunned Tree. Berikut ini tampilan Form Detail Data Training Set jika pengguna menekan tombol Detail pada saat Form Tampil Data menampilkan tabel Training Set:
Gambar 4.4 Form Detail Data Training Set
Form ini berfungsi untuk memberikan informasi kepada pengguna
mengenai detail data training set dengan menampilkan tabel training set dan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
82
jumlah record data. Dalam program ini, tabel training set terdiri dari 310 records.
Untuk mengetahui detail data dari setiap atribut kondisi training set, pengguna dapat memilih atribut yang terdapat dalam combo box Atribut Kondisi. Pengguna tidak dapat memilih Atribut Keputusan karena program telah mengatur default Atribut Keputusan adalah TARGET_B. Setelah memilih Atribut Kondisi, pengguna dapat menekan tombol Kejadian Atribut untuk mengetahui detail kejadian berdasarkan Atribut Kondisi. String grid Detail Data akan menampilkan nama kejadian dan jumlah data kejadian tersebut berdasarkan atribut keputusan, yaitu TARGET_B = YES dan TARGET_B = NO. Jika pengguna belum memilih Atribut Kondisi dan menekan tombol Kejadian Atribut maka akan program akan menampilkan pesan di bawah ini:
Gambar 4.5 Kotak Pesan 1
Jika pengguna menekan tombol Unprunned Tree maka program akan menampilkan form selanjutnya, yaitu Form Unprunned Tree. Berikut ini tampilan Form Detail Data Test Set jika pengguna menekan tombol Detail pada saat Form Tampil Data menampilkan tabel Test Set:
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
83
Gambar 4.6 Form Detail Data Test Set
Form Detail Data Test Set berfungsi untuk memberikan informasi
kepada pengguna mengenai detail data test set dengan menampilkan tabel test set dan jumlah record data. Dalam program ini, tabel test set terdiri dari
40 records. Untuk mengetahui detail data dari setiap atribut kondisi test set, pengguna dapat memilih atribut yang terdapat dalam combo box Atribut Kondisi. Pengguna tidak dapat memilih Atribut Keputusan karena program telah mengatur default Atribut Keputusan adalah TARGET_B. Setelah memilih Atribut Kondisi, pengguna dapat menekan tombol Kejadian Atribut untuk mengetahui detail kejadian berdasarkan Atribut Kondisi. String grid Detail Data akan menampilkan nama kejadian dan jumlah data kejadian tersebut berdasarkan atribut keputusan, yaitu TARGET_B = YES dan TARGET_B = NO.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
84
Jika pengguna belum memilih Atribut Kondisi dan menekan tombol Kejadian Atribut maka akan program akan menampilkan pesan di bawah ini:
Gambar 4.7 Kotak Pesan 2
Jika pengguna menekan tombol Unprunned Tree pada Form Detail Data Training Set dan Form Detail Data Test Set maka program akan menampilkan Form Unprunned Tree. Berikut ini tampilannya:
Gambar 4.8 Form Unprunned Tree
Pada saat pengguna menekan tombol Hitung Gain, program akan menghitung nilai gain semua atribut dengan memanggil procedure
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
85
cari_node, function HitungInfo, procedure hitung dan function homogen
yang
cari_node
tersimpan
merupakan
dalam procedure
Unit_Hitung_Gain. pertama
yang
Procedure
diproses
dalam
Unit_Hitung_Gain. Dalam procedure ini dilakukan proses pencarian
atribut yang menjadi simpul awal sekaligus atribut yang menjadi simpul internal untuk setiap percabangan pohon keputusan. Berikut ini listing program procedure cari_node: procedure TF_Gain.CariNode(T:tdataset; var Node:String); Var InfoAwal:real; JmlData,JmlYes,JmlNo:integer; Entropi:array[1..maxkej] of real; Info:array[1..maxkej] of real; S1,S2:array[1..maxkej] of integer; i,j,NA:integer; nKolom:integer; jmlKej:integer; sama:boolean; DataKej:array [1..maxkej] of TrecKej; begin JmlYes:=0; JmlNo:=0; JmlData:=0; T.First; while not T.Eof do begin if (T['TARGET_B'])='YES' then Inc(JmlYes) else Inc(JmlNo); T.next; end; JmlData:=JmlYes+JmlNo; InfoAwal:=HitungInfo(JmlYes,JmlNo); nKolom:= T.FieldCount-2; //hitung jumlah atribut for i:=1 to nKolom do //i utk looping atribut begin for j:=1 to maxkej do begin DataKej[j].nama:=''; DataKej[j].frek[1]:=0; // 1 utk Yes DataKej[j].frek[2]:=0; // 2 utk No end; //for j:=1 to maxkej T.First; DataKej[1].nama:=T.Fields[i].AsString;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
86
if (T['TARGET_B'])='YES' then DataKej[1].frek[1]:=1 else DataKej[1].frek[2]:=1; jmlKej:=1; // counter jml kejadian T.Next; while not T.Eof do begin sama:=False; for j:=1 to jmlKej do begin if (DataKej[j].nama = T.Fields[i].AsString) then begin sama:=True; if (T['TARGET_B'])='YES' then begin inc(DataKej[j].frek[1]); end else begin inc(DataKej[j].frek[2]); end; break; end end; if not sama then begin inc(jmlKej); DataKej[jmlKej].nama:=T.Fields[i].AsString; if (T['TARGET_B'])='YES' then DataKej[jmlkej].frek[1]:=1 else DataKej[jmlkej].frek[2]:=1; end; T.next; end; Entropi[i]:=0; //hitung info utk tiap2 kejadian for j:=1 to jmlKej do begin S1[j]:=DataKej[j].frek[1]; S2[j]:=DataKej[j].frek[2]; Info[j]:=HitungInfo(S1[j],S2[j]); DataKej[j].info:=info[j]; StatKej[i].Kej[j]:=DataKej[j]; //hitung entropi utk tiap2 atribut Entropi[i]:=Entropi[i]+((S1[j]+S2[j])/JmlData)*Info[j]; Gain[i]:=InfoAwal-Entropi[i]; end;//for j:=1 to jmlKej StatKej[i].jml:=jmlKej; end; //for i:=1 to nKolom do //Mencari Gain terbesar
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
87
GainMax:=0; NA:=0; for i:=1 to nKolom do begin F_Detail_Gain.ComboBox1.Items.Add(T.Fields[i].DisplayName); if Gain[i]>GainMax then begin GainMax:=Gain[i]; NA:=i;//Var utk menampilkan Gain Max end; end; Node:= T.Fields.Fields[NA].DisplayName; end;
Data kejadian dari setiap atribut dideklarasikan dalam sebuah tipe data record sebagai berikut : Type TrecKej=record nama: string; frek: array [1..2] of integer; info:real; end;
Deklarasi tipe data record TrecKej terdiri dari beberapa field dengan tipe data yang berbeda-beda yaitu : o
Nama : variabel untuk menyimpan nama kejadian dengan tipe string.
o
Frek : variabel array untuk menyimpan jumlah kejadian berdasarkan konsekuen TARGET_B = YES dan TARGET_B = NO.
o
Info : variabel untuk menyimpan nilai info tiap-tiap kejadian dengan tipe real.
Berikut ini struktur tabel tipe data record TrecKej : Tabel 4.1 Struktur Tabel Tipe Data Record TrecKej
Nama
Frek Yes
No
Info
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
88
Untuk mendapatkan simpul awal dan simpul internal dilakukan perhitungan entropi, nilai rata-rata entropi dan gain untuk setiap atribut. Proses perhitungan entropi berlangsung saat pemanggilan function HitungInfo berikut ini: function HitungInfo(S1,S2:integer):Real; Var Jml:integer; Begin Jml:=S1+S2; If (S1=0) or (S2=0) then Result:=0 Else Result:=(-(S1/Jml)*log2(S1/Jml))-(S2/Jml)*Log2(S2/Jml)); End;
Pada saat procedure cari_node menemukan simpul awal maupun simpul internal, proses mining berlanjut ke procedure hitung dengan listing sebagai berikut: (listing program selengkapnya dapat dilihat pada file listing.pdf) procedureTF_Gain.hitung(h1,h2,str1,cnode:string; kolom:string; dftKej:TarrKej; jmlKej:integer); var xxx,str2,jenis,cnode1:string; jmlYes,jmlNo:integer; i,j,jmlKej1:integer; q:TQuery; H1A,H2A:string; dftKej1:TarrKej; begin q:=Tquery.create(self); q.DatabaseName:='..\prog_mining\basisdata'; //proses mining............ for j:=1 to jmlKej do begin q.sql.Clear; xxx:='select ' +kolom+ ' from member where ' +cnode+ '=' + QuotedStr(DftKej[j])+ ' '+str1; q.sql.Add(xxx); q.open; q.Last; q.First; if q.RecordCount > 0 then //hitung jml yes no pd dataset begin if homogen(q,jenis) then begin
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
89
DataSource1.DataSet := q; h1a:=h1+','+cnode; h2a:=h2+','+QuotedStr(DftKej[j]); memo2.Lines.Add(cnode+'=' + QuotedStr(DftKej[j])+ '+str1+' --> Homogen '+jenis);//cnode:rootnode tingkat 2, dst h1a:=copy(h1a,2,length(h1a)-1); h2a:=copy(h2a,2,length(h2a)-1); Q1.SQL.Clear; Q1.SQL.Add('INSERT INTO ATURAN ('+h1a+',TARGET_B)'); Q1.SQL.Add('VALUES ('+h2a+',"'+jenis+'")');
' ke
//tampil jml aturan Yes&No pd form Pohon Q2.SQL.Clear; Q2.sql.add('select count(*) as jumlah from aturan where TARGET_B="YES"'); Q2.Open; Q2.Last; Q2.First; JmlYes:=Q2.RecordCount; F_Pohon.Edit1.Text:=InttoStr(JmlYes); Q2.SQL.Clear; Q2.sql.add('select count(*) as jumlah from aturan where TARGET_B="NO"'); Q2.Open; Q2.Last; Q2.First; JmlNo:=Q2.RecordCount; F_Pohon.Edit2.Text:=InttoStr(JmlNo); Q1.ExecSQL; end else //jika TIDAK homogen kerjakan yg ini begin if q.FieldCount > 1 then begin cnode1:=''; carinode(q,cnode1); //cari kolom tanpa cnode1 //baca nama kolom tanpa kolom yg sdh jadi root node kolom:=''; for i:=0 to q.FieldCount-1 do if(q.FieldDefs[i].DisplayName <> cnode1) and (q.FieldDefs[i].DisplayName <> cnode) then kolom:=kolom+','+q.FieldDefs[i].DisplayName; //hitung jml kejadian & buat daftar kejadian Q1.SQL.Clear; Q1.SQL.Add('Select '+cNode1 +' from member Group by ' +cNode1); Q1.open; Q1.First; jmlKej1:=Q1.RecordCount; for i:=1 to jmlKej1 do
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
90
begin dftKej1[i]:=Q1.Fields[0].AsString; Q1.Next; end; kolom:=copy(kolom,2,length(kolom)-1); str2:=str1+ ' and ' +cnode+ QuotedStr(dftKej[j]); h1:=h1+','+cnode; h2:=h2+','+QuotedStr(dftKej[j]);
'='
+
hitung(h1,h2,str2,cnode1,kolom,dftKej1,jmlKej1); end; end; end; end; //for j:=1 to jmlKej do q.Destroy; end;
Pada saat melakukan proses pembentukan pohon, program akan menampilkan form pesan yang dilengkapi dengan komponen animasi penghitung waktu sebagai berikut :
Gambar 4.9 Form Pesan Saat Proses Mining Sedang Berlangsung
Setelah memperoleh simpul awal dan nilai gain, program akan menampilkan pesan di bawah ini :
Gambar 4.10 Kotak Pesan 3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
91
Nama atribut dan nilai gain atribut yang menjadi simpul awal ditampilkan dalam komponen edit Node Awal dan komponen edit Nilai Gain. Pada program ini yang menjadi simpul awal adalah atribut RFA_2F dengan nilai gain sebesar 0.0283. Tabel aturan yang membentuk pohon keputusan dalam program ini disimpan dalam deklarasi variabel berikut : Const maxkej=250; T:array [1..maxkej] of TDataSet;
Variabel T merupakan variabel berbentuk tabel dinamis yang disusun dalam bentuk array dengan kapasitas maksimum sebanyak 250 elemen. Struktur array variabel T dapat berubah-ubah sesuai dengan banyaknya kejadian dari atribut simpul awal maupun simpul internal yang membentuk percabangan pohon. Struktur array yang berubah-ubah ini dikarenakan jumlah kejadian untuk setiap atribut berbeda-beda. Misalnya, diperoleh atribut RFA_2F sebagai simpul awal (tingkat pertama) dengan jumlah kejadian pada atribut RFA_2F sebanyak 4 kejadian yaitu 1, 2, 3 dan 4. Untuk tingkat pertama dari pohon keputusan terbentuk 4 percabangan sesuai kejadian atribut RFA_2F. Variabel T akan membuat tabel baru yang bersifat temporer dengan menyimpan atribut tersisa (tanpa mengikutsertakan atribut RFA_2F). Atribut-atribut dalam tabel baru ini kemudian dihitung nilai entropi, nilai rata-rata entropi dan nilai gainnya untuk mendapatkan simpul internal selanjutnya (tingkat kedua). Begitu seterusnya proses yang terjadi dalam
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
92
deklarasi variabel T dimana percabangan pohon keputusan tidak sama pada setiap tingkatan simpul. Selain variabel T, ada beberapa variabel yang juga merupakan variabel dinamis, yaitu: • Entropi:array[1..maxkej] of real; • Info:array[1..maxkej] of real; • S1,S2:array[1..maxkej] of integer;
Pendeklarasian variabel dinamis ini dimaksudkan agar program memiliki kemampuan yang fleksibel untuk menyimpan data sehingga dapat menangani percabangan pohon keputusan. Setelah pengguna menekan tombol OK pada form Kotak Pesan 3, program melanjutkan proses pembentukan pohon keputusan dengan membuat percabangan dari simpul awal berdasarkan banyaknya kejadian pada simpul awal (RFA_2F). Proses pembentukan pohon keputusan selanjutnya dilakukan dengan memanggil kembali procedure cari_node, function HitungInfo, procedure hitung dan function homogen dalam Unit_Hitung_Gain. Pada saat program mengeksekusi function homogen
dan menemukan sampel data yang homogen maka sampel data tersebut ditampilkan dalam komponen memo. Berikut ini listing function homogen untuk mengecek sampel data yang homogen: FunctionTF_Gain.homogen(t:tdataset;var jenis:string):boolean; var jmlya,jmltdk,jml:integer; begin jmlya:=0; jmltdk:=0;
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
93
jml:=0; T.First; while not T.Eof do begin if T['TARGET_B']='YES' then jmlya:=jmlya+1; if T['TARGET_B']='NO' then jmltdk:=jmltdk+1; jml:=jml+1; T.Next; end;//while not T.Eof do if jml=jmlya then begin homogen:=true; Jenis:='YES'; end; // if jml=jmlya then if jml=jmltdk then begin homogen:=true; jenis:='NO'; end;// if jml=jmltdk then end;
Pemanggilan procedure dan function dalam tombol Hitung Gain dilakukan secara rekursif sampai proses pembentukan pohon keputusan selesai. Sampel data homogen yang terbentuk dari hasil perhitungan gain merupakan suatu aturan pembentuk pohon keputusan. Di bawah ini merupakan contoh sampel data homogen: Tabel 4.2 Sampel Data Homogen No 1 2
Aturan AGE='OLD' and RFA_2F='1' and TCODE='1002' AGE='OLDER' and RFA_2F='1' and TCODE='1002'
Homogen YES NO
Penjelasan : Dari aturan di atas dapat diketahui bahwa anggota organisasi yang memiliki profil: 1. AGE='OLD'
dan
RFA_2F='1'
dan
TCODE='1002'
memberikan respon terhadap layanan NK (Target_B=YES).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
94
2. AGE='OLDER' dan RFA_2F='1' dan TCODE='1002' tidak memberikan respon terhadap layanan NK (Target_B=NO). Aturan-aturan tersebut disimpan dalam tabel aturan.db melalui statement dalam listing program berikut: memo2.Lines.Add(cnode+'='+QuotedStr(DftKej[j])+''+str1+'->Homogen'+jenis); h1a:=copy(h1a,2,length(h1a)-1); h2a:=copy(h2a,2,length(h2a)-1); Q1.SQL.Clear; Q1.SQL.Add('INSERT INTO ATURAN ('+h1a+',TARGET_B)'); Q1.SQL.Add('VALUES ('+h2a+',"'+jenis+'")'); Q1.ExecSQL;
Susunan dan jumlah field pada tabel aturan diharuskan sama dengan tabel training. Hal ini bertujuan untuk memudahkan program membaca isi tabel aturan pada saat pengujian aturan ke dalam tabel tes. Isi record dalam tabel aturan diurutkan sesuai dengan nomor aturan yang terbentuk. Misalnya, sampel data homogen yang pertama diperoleh adalah : INCOME='HIGH' and RFA_2F='1' and TCODE='0' and WEALTH='0' and PEPSTRFL='B' and GENDER='F' --> Homogen YES
Sampel data di atas menjadi aturan pertama dalam tabel aturan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
95
Berikut ini tampilan form setelah program memperoleh pohon keputusan:
Gambar 4.11 Tampilan Form Unprunned Tree Setelah Program Memperoleh Pohon Keputusan
Jika program telah menyelesaikan proses pembentukan pohon, program akan menampilkan sampel data homogen pada komponen memo dan kotak pesan tentang lamanya proses berlangsung. Berikut ini tampilan kotak pesan tersebut :
Gambar 4.12 Kotak Pesan 4
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
96
Jika pengguna menekan tombol Detail Gain pada Form Unprunned Tree maka program akan menampilkan Form Detail Gain seperti di bawah
ini:
Gambar 4.13 Form Detail Gain
Form ini berfungsi menampilkan nama kejadian, jumlah kejadian
dengan TARGET_B = YES dan TARGET_B = NO serta jumlah info setiap atribut berdasarkan nama atribut yang dipilih oleh pengguna. Informasi di atas ditampilkan dalam string grid Detail Statistik Atribut. Informasi yang ditampilkan dalam string grid Detail Gain Atribut merupakan informasi nilai gain untuk keseluruhan atribut. Tombol Unprunned Rule pada Form Detail Gain berfungsi untuk menampilkan Form Unprunned Rule.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
97
Jika pengguna menekan tombol Lihat Aturan pada Form Unprunned Tree maka program akan menampilkan Form Unprunned Rule seperti di
bawah ini:
Gambar 4.14 Form Unprunned Rule
Pada form ini pengguna dapat melihat aturan yang terbentuk dari pohon keputusan dimana aturan-aturan yang ada ditampilkan dalam bentuk string grid dengan contoh struktur sebagai berikut:
Tabel 4.3 Struktur String Grid Pada Form Unprunned Rule No
1
Anteseden INCOME='HIGH' and RFA_2F='1' and TCODE='0' and WEALTH='0' and PEPSTRFL='B' and GENDER='F'
Konsekuen
YES
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
98
Jumlah aturan dengan Target_B=’YES’ dan Jumlah aturan dengan Target_B=’NO’ ditampilkan dalam group box Summary. Tombol ALL berfungsi menampilkan semua aturan pada string grid. Tombol Lihat Aturan YES berfungsi menampilkan aturan-aturan dengan konsekuen Target_B=’YES’ pada string grid. Berikut ini tampilan Form Unprunned Rule dengan konsekuen ‘YES’:
Gambar 4.15 Form Unprunned Rule dengan Konsekuen ‘YES’
Tombol Lihat Aturan NO berfungsi menampilkan aturan-aturan dengan konsekuen Target_B=’NO’ pada string grid.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
99
Berikut ini tampilan Form Unprunned Rule dengan konsekuen ‘NO’:
Gambar 4.16 Form Unprunned Rule dengan Konsekuen ‘NO’
Jika pengguna menekan tombol Kamus Atribut pada Form Unprunned Rule maka program akan menampilkan Form Keterangan Anteseden seperti
gambar di bawah ini :
Gambar 4.17 Form Keterangan Anteseden
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
100
Pada form di atas pengguna dapat melihat keterangan dari setiap atribut dan kejadian-kejadiannya yang menjadi anteseden dalam sebuah aturan. Tombol Lanjut pada Form Unprunned Rule dan tombol Lanjut pada Form Keterangan Anteseden berfungsi untuk melanjutkan proses ID3
dengan menampilkan Form Uji Aturan seperti di bawah ini:
Gambar 4.18 Form Uji Aturan
Untuk melakukan pengujian aturan ke dalam tabel test set pengguna terlebih dahulu membuka tabel tes dengan menekan tombol Buka Tabel Tes.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
101
Program akan membuka kotak dialog dan menampilkan pilihan tabel test set yang ada seperti pada form di bawah ini :
Gambar 4.19 Form Uji Aturan Saat Pengguna Menekan Tombol Buka Tabel Tes
Tabel test set yang diuji diharuskan memenuhi syarat-syarat berikut, yaitu: o
Memiliki susunan field yang sama dengan tabel training set.
o
Memiliki satu field tambahan setelah atribut keputusan (TARGET_B) untuk menyimpan hasil pengujian aturan. Dengan kata lain jumlah field tabel test set adalah jumlah field tabel training set + 1. Pada
program ini field tambahan tersebut diberi nama PREDIKSI.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
102
Jika pengguna memilih tabel test set yang tidak memenuhi syaratsyarat di atas maka program akan menampilkan pesan-pesan di bawah ini :
Gambar 4.20 Kotak Pesan 5
Gambar 4.21 Kotak Pesan 6
Jika pengguna memilih tabel yang memenuhi syarat untuk menjadi tabel test set maka program akan menampilkan kotak pesan di bawah ini:
Gambar 4.22 Kotak Pesan 7
Selanjutnya, untuk melakukan pengujian aturan pengguna harus menekan tombol Uji Aturan. Selanjutnya, tombol Uji Aturan melakukan pengujian aturan dengan menjalankan procedure TF_Uji.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
103
Sebelum melakukan pengujian, program akan menampilkan kotak pesan di bawah ini :
Gambar 4.23 Kotak Pesan 8
Dalam pengujian aturan, program tidak menggunakan uji statistik (uji Chi-Square) karena data-data yang ada tidak memenuhi syarat untuk melakukan
uji
Chi-Square.
Pengujian
aturan
dilakukan
dengan
menyederhanakan aturan (Unprunned Rule) menggunakan default rule. Default rule diperoleh dari konsekuen terbanyak dalam tabel aturan.
Kemudian program akan menampilkan kotak pesan berikut:
Gambar 4.24 Kotak Pesan 9
Program akan melakukan pengujian aturan dan mengeliminasi aturanaturan berdasarkan default rule = NO.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
104
Pada saat melakukan proses pengujian aturan, program akan menampilkan form pesan yang dilengkapi dengan komponen animasi penghitung waktu sebagai berikut :
Gambar 4.25 Form Pesan Saat Proses Mining Sedang Berlangsung
Di bawah ini tampilan form setelah program memperoleh hasil pengujian aturan :
Gambar 4.26 Form Uji Aturan Setelah Memperoleh Hasil Uji Aturan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
105
Hasil pengujian aturan memperoleh tingkat persentase keberhasilan sebesar 77.5000 % atau 77.5 %. Total aturan dengan prediksi benar sebanyak 31 aturan dan total aturan dengan prediksi salah sebanyak 9 aturan. Jika pengguna menekan tombol Dialog pada form uji aturan maka program akan menampilkan Form Uji Sampel Data Pengguna seperti di bawah ini :
Gambar 4.27 Form Uji Sampel Data Pengguna
Form Uji Sampel Data Pengguna berfungsi untuk melakukan
pengujian aturan berdasarkan input aturan dari pengguna. Sebelum melakukan pengujian aturan, pengguna terlebih dahulu memasukkan nama dan nilai atribut yang terdapat dalam menu pilihan combo box Nama Atribut dan combo box Nilai Atribut. Setelah nama dan nilai atribut dipilih,
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
106
pengguna harus menekan tombol Tambah Aturan untuk menampilkan pilihan atribut tersebut ke dalam string grid data. Jika pengguna belum memilih nama atribut tetapi langsung memilih nilai atribut maka program akan menampilkan kotak pesan di bawah ini:
Gambar 4.28 Kotak Pesan 10
Setelah memasukkan aturan yang ingin diuji, pengguna diharuskan menekan tombol Uji Aturan untuk mengetahui hasil uji aturan. Sampel aturan yang dimasukkan pengguna kemudian dicek dengan aturan yang tersimpan dalam tabel aturan. Jika ada aturan yang sesuai dengan sampel aturan pengguna maka nomor aturan dan nilai konsekuen Target_B ditampilkan. Dimisalkan, pengguna memasukkan sampel data sebagai berikut :
Tabel 4.4 Contoh Sampel Data Pada Form Uji Sampel Data Pengguna No 1 2
Nama Atribut TCODE RFA_2F
Nilai Atribut 3 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
107
Berdasarkan
tabel
aturan,
contoh
sampel
data
tersebut
mengindikasikan bahwa anggota dengan profil TCODE ='3' dan RFA_2F ='1' akan memberikan respon terhadap layanan NK (Target_B = YES). Aturan yang sesuai dengan contoh profil tersebut adalah aturan nomor 58 pada tabel aturan (TCODE ='3' and RFA_2F ='1' --> Target_B = YES).
Berikut ini tampilan Form Uji Sampel Data Pengguna:
Gambar 4.29 Form Uji Sampel Data Pengguna Setelah Pengguna Memasukkan Sampel Aturan
Jika tidak ada aturan yang sesuai dengan sampel aturan pengguna maka nilai konsekuen TARGET_B tidak dapat diprediksikan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
108
Berikut ini tampilannya :
Gambar 4.30 Form Uji Sampel Data Pengguna Dengan Nilai Konsekuen TARGET_B Tidak Dapat Diprediksi
Hasil uji aturan berupa nomor aturan dan konsekuen (TARGET_B) ditampilkan dalam string grid Hasil Uji Aturan. Tombol Reset berfungsi bagi pengguna untuk memasukkan daftar aturan baru yang ingin diuji. Tombol Selesai berfungsi untuk mengakhiri program dengan menampilkan kotak pesan di bawah ini :
Gambar 4.31
Kotak Pesan 11
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
109
Main menu yang terdapat dalam setiap form berisi informasi berikut: o Program, berisi sub menu
a.
Tutup, yang berfungsi untuk menutup form yang sedang aktif.
o Bantuan, berisi sub menu :
a.
Tentang Program. Jika pengguna memilih sub menu ini maka program akan menampilkan
penjelasan
tentang
program
dengan
tampilan sebagai berikut:
Gambar 4.32 Form Tentang Program
Tombol Ke Awal berfungsi untuk menampilkan Form Tampil Data (Training Set / Test Set). Tombol Keluar berfungsi untuk menutup form ini.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
110
b.
Tentang Pembuat Program Jika pengguna memilih sub menu ini maka program akan menampilkan penjelasan tentang pembuat program dengan tampilan sebagai berikut:
Gambar 4.33 Form Pembuat Program
Tombol Ke Awal berfungsi untuk menampilkan Form Tampil Data (Training Set / Test Set). Tombol Keluar berfungsi untuk menutup form ini.
C.
Analisa Hasil Program
Hasil uji aturan dalam program ini dapat digunakan untuk mengidentifikasi profil anggota organisasi yang memberikan respon terhadap layanan pengiriman surat dengan kartu kosong (NK). Dalam tugas akhir ini penulis melakukan 3 jenis percobaan yaitu: • Menggunakan data training set sekaligus berfungsi sebagai
data test set.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
111
• Menetapkan 310 records data sebagai data pada training set
dan mengubah proporsi jumlah sampel data pada test set. • Mengubah-ubah proporsi jumlah sampel data training set dan
menetapkan jumlah sampel test set sebanyak 50 records. Detail hasil percobaan-percobaan di atas adalah sebagai berikut: o Percobaan 1
Pada percobaan ini penulis menggunakan data training set sekaligus berfungsi sebagai data test set. Hasil yang diperoleh sebagai berikut :
Tabel 4.5 Hasil Percobaan 1
No
1
Jumlah Sampel Training Test Set Set 291 291
Node Awal
Jumlah Aturan
Persentase keberhasilan
MALEMILI
87
100
Di bawah ini detail jumlah aturan untuk setiap tahap pengujian dari percobaan 1: Tabel 4.6 Detail Jumlah Aturan Percobaan 1
No
1
Aturan dengan Konsekuen TARGET_B YES NO
39
48
Total Aturan dengan Prediksi.. Benar Salah
291
0
Total Aturan
87
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
112
o Percobaan 2
Pada percobaan ini penulis menetapkan 310 records data sebagai data pada training set dan mengubah-ubah proporsi jumlah sampel data pada test set. Hasil yang diperoleh sebagai berikut: Tabel 4.7 Hasil Percobaan 2 Jumlah Sampel Percobaan Training Node Awal Test Set Set 1 310 5 RFA_2F 2 310 10 RFA_2F 3 310 15 RFA_2F 4 310 20 RFA_2F 5 310 25 RFA_2F 6 310 30 RFA_2F 7 310 35 RFA_2F 8 310 40 RFA_2F Rerata Persentase Keberhasilan
Jumlah Aturan
Persentase Keberhasilan
146 146 146 146 146 146 146 146
80 60 73.3333 70 76 73.3333 74.2857 77.5 66.1815
Di bawah ini detail aturan untuk setiap tahap pengujian dari percobaan 2:
Tabel 4.8 Detail Jumlah Aturan Percobaan 2 Aturan Total Aturan dengan dengan Konsekuen Total Prediksi… No TARGET_B Aturan Training Test YES NO Benar Salah Set Set 1 68 78 4 1 146 310 5 2 68 78 6 4 146 310 10 3 68 78 11 4 146 310 15 Jumlah Sampel
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
113
Tabel 4.8 Detail Jumlah Aturan Percobaan 2 (Lanjutan) Aturan Total Aturan dengan dengan Total Konsekuen No Prediksi… Aturan TARGET_B Training Test YES NO Benar Salah Set Set 4 68 78 14 6 146 310 20 5 68 78 19 6 146 310 25 Jumlah Sampel
6
310
30
68
78
22
8
146
7
310
35
68
78
26
9
146
8
310
40
68
78
31
9
146
Hasil percobaan di atas dapat dilihat pada grafik di bawah ini:
Gambar 4.34 Grafik Persentase Keberhasilan Percobaan 2 o Percobaan 3
Pada percobaan ini penulis hanya mengubah-ubah proporsi jumlah sampel data training set. Dimisalkan jumlah sampel test set untuk setiap tahap percobaan sebanyak 50 records.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
114
Hasil yang diperoleh sebagai berikut: Tabel 4.9 Hasil Percobaan 3
Jumlah Sampel Percobaan Training Node Awal Test Set Set 1 30 50 WEALTH 2 40 50 WEALTH 3 155 50 RFA_2F 4 165 50 RFA_2F 5 175 50 RFA_2F 6 291 50 RFA_2F 7 295 50 RFA_2F 8 300 50 RFA_2F Rerata Persentase Keberhasilan
Jumlah Aturan
Persentase Keberhasilan
24 22 77 73 78 136 134 141
74 68 58 66 68 60 62 62 64.75
Di bawah ini detail aturan untuk setiap tahap pengujian dari percobaan 3: Tabel 4.10 Detail Jumlah Aturan Percobaan 3 Aturan Total Aturan Jumlah dengan dengan Sampel Total Konsekuen No Prediksi… TARGET_B Aturan Training Test YES NO Benar Salah Set Set 1 10 12 37 13 30 50 24 2 11 13 34 16 40 50 22 3 33 44 29 21 155 50 77
4
165
50
29
44
33
17
73
5
175
50
32
46
36
16
78
6
291
50
58
78
30
20
136
7
295
50
58
76
31
19
134
8
300
50
66
63
31
19
141
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
115
Hasil percobaan 3 dapat dilihat pada grafik di bawah ini:
Gambar 4.35 Grafik Persentase Keberhasilan Percobaan 3
Berdasarkan hasil percobaan di atas terlihat bahwa : 1.
Jika program diujikan pada data training set diperoleh tingkat persentase keberhasilan sebesar 0 % (berdasarkan percobaan 1).
2.
Jumlah sampel data training set dapat mempengaruhi node awal yang terbentuk. Hal ini disebabkan karena node awal diperoleh dari hasil perhitungan nilai gain yang terbesar berdasarkan banyaknya record data pada training set
(berdasarkan
percobaan 3). 3.
Uji aturan pada percobaan dengan menetapkan 310 records data sebagai data pada training set dan mengubah proporsi jumlah
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
116
sampel data pada test set menghasilkan nilai rerata persentase keberhasilan sebesar 66.1815 % (berdasarkan percobaan 2). 4.
Uji aturan pada percobaan dengan mengubah-ubah proporsi jumlah sampel data training set dan jumlah sampel test set untuk setiap tahap percobaan sebanyak 50 records menghasilkan nilai rerata persentase keberhasilan sebesar 64.75% (berdasarkan percobaan 3).
D.
Kelebihan dan Kelemahan Program
Kelebihan program: Program menyediakan fasilitas dialog bagi pengguna dengan menginputkan suatu sampel data sehingga dapat diprediksikan nilai responnya terhadap layanan NK. Program dapat digunakan untuk melakukan klasifikasi pada data yang berbeda, dengan syarat-syarat sebagai berikut: •
Tabel data diharuskan berada pada direktori yang sama dengan direktori basis data.
•
Mempunyai tabel training set dan tabel test set.
•
Field atribut keputusan diletakkan paling akhir pada tabel training set. Field tambahan untuk menyimpan hasil prediksi
diletakkan paling akhir pada tabel test set. •
Mengatur nama atribut keputusan pada program sesuai dengan nama atribut keputusan dari tabel yang akan digunakan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
117
Kelemahan Program: Proses pengelompokan data masih dilakukan secara intuitif dan manual. Program hanya dapat mengakses basisdata dalam format .db (Paradox). Struktur basisdata program menggunakan array yang memiliki keterbatasan dalam menampung data. Jumlah sampel data yang digunakan untuk data training set sedikit karena proses penginputan data dari format .TXT ke dalam basis data dengan format .DB masih dilakukan secara manual. Jumlah sampel data training set yang sedikit tidak memungkinkan untuk melakukan uji independensi (uji Chi-Square). Program ini belum dapat menampilkan pohon keputusan dalam bentuk tree view tetapi dalam bentuk string grid.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
118
BAB V KESIMPULAN DAN SARAN
A.
KESIMPULAN
Algoritma ID3 dapat digunakan untuk mengidentifikasi profil anggota organisasi yang memberikan respon terhadap layanan pengiriman surat kosong (NK) Berdasarkan hasil percobaan dapat disimpulkan beberapa hal sebagai berikut: 1.
Jika program diujikan pada data training set diperoleh tingkat persentase keberhasilan sebesar 0 %.
2.
Uji aturan dengan menetapkan 310 records data sebagai data pada training set dan mengubah jumlah sampel data pada test set
menghasilkan nilai rerata persentase keberhasilan sebesar 66.1815 %. 3.
Uji aturan dengan menetapkan 310 records data sebagai data pada training set dan mengubah jumlah sampel data pada test set menghasilkan nilai rerata persentase keberhasilan sebesar 66.1815 %.
4.
Uji aturan dengan hanya mengubah jumlah sampel data training set dan jumlah sampel test set sebanyak 50 records menghasilkan
nilai rerata persentase keberhasilan sebesar 64.75 %. 118
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
119
B.
SARAN
Saran yang diperlukan untuk pengembangan program lebih lanjut antara lain: 1. Program dapat menangani proses migrasi data dari format .TXT ke format .DB. 2. Pohon aturan yang terbentuk tidak ditampilkan dalam bentuk tabel tetapi dalam bentuk tree view sehingga pengguna lebih mudah untuk memahami. 3. Untuk
pengembangan
selanjutnya
sebaiknya
program
dapat
mengimplementasikan uji independensi Chi-Square untuk memangkas aturan. Hal ini dimaksudkan agar proses pengujian aturan dapat lebih efisien.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
120
DAFTAR PUSTAKA
Anonymous. Introduction to Data Mining and Knowledge Discovery. U.S.A: Two Crows Corporation, 1999 http://www.twocrows.com Diakses pada tanggal 10-9-2007
Djunaidy, Arif. & Soelaiman, Rully. Perbandingan Kinerja Perangkat Lunak Data Mining Untuk Pencarian Pola Asosiasi Dengan Metode Graf Asosiasi dan Metode Dimensi Fraktal. Jurnal Ilmu Komputer dan Teknologi
Informasi, Vol.1 No.2. Oktober 2001.
Everitt, B.S. The Analysis of Contingency Tables. London: Chapman and Hall, Ltd. 1977. Groth, Robert. Data Mining: A Hands-On Approach for Business Professionals. New Jersey: Prentice Hall PTR, 1997. Gunawan, Ridowati. Data Mining or “Knowledge Discovery in Databases”. Bahan Perkuliahan Data Mining Jurusan Teknik Informatika Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta. 2005.
Han, Jiawei. & Kamber, Micheline. Data Mining: Concepts and Techniques. San Fransisco: Morgan Kaufmann Publishers, 2001.
120
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
121
Husni. Pemrograman Database dengan Delphi. Yogyakarta: Penerbit Graha Ilmu, 2004. Rasmussen, Shelley. An Introduction to Statistics with Data Analysis. California: Brooks/Cole Publishing Company, 1992. Rosa, Paulina H. Prima. Penambangan Data dengan Metode Pohon Keputusan. Makalah Seminar Rumpun MIPA Universitas Sanata Dharma Yogyakarta. 12 April 2006.
Sucahyo, Yudho Giri, Data Mining Menggali Informasi Yang Terpendam http://ilmukomputer.com/2006/08/29/mengenal-data-mining/ Diakses pada tanggal 29-8-2006
Wahana Komputer. Panduan Praktis Pemrograman Borland Delphi 7.0. Yogyakarta: Penerbit Andi, 2003. Wiraty, Ni Made Pritty. Implementasi Data Mining Pada Data Penerimaan Mahasiswa Baru dan Data Akademik Mahasiswa Universitas Sanata Dharma Dengan Algoritma Decision Tree : Skripsi. Universitas Sanata
Dharma Yogyakarta, 2006 http://www.directing.gr/files/images/ase.jpg, diakses pada tanggal 16-7-2008