Implementasi data mining untuk mengindentifikasi profil donatur organisasi veteran Amerika menggunakan model pohon keputusan [decision tree].
viii
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 %.
(2)
ix
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 %.
(3)
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
(4)
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
(5)
(6)
(7)
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(8)
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
A
llah
(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)
(9)
vii
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
(10)
viii
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 %.
(11)
ix
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 %.
(12)
(13)
x
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
(14)
xi
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.?”
(15)
xii
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
(16)
xiii
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
(17)
xiv
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
(18)
xv
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
(19)
xvi
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
(20)
xvii
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
(21)
xviii
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
(22)
xix
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
(23)
xx
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
(24)
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
(25)
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
(26)
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.
(27)
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
(28)
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.
c. Memilih task data mining.
d. Memilih dan menggunakan algoritma data mining. e. Interpretasi, evaluasi dan visualisasi pola.
7. 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
(29)
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. Kesimpulan.
E. 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) sehingga organisasi dapat mengurangi biaya pengiriman.
(30)
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.
(31)
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.
(32)
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
(33)
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 multi-dimensional agar dapat menyediakan akses yang cepat untuk kueri analisis yang kompleks.
Gambar 2.2 Data Mining dan Teknologi Basis Data Lainnya
(34)
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
(35)
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.
(36)
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
(37)
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 i i t i e n n 1 ... 2.2 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
(38)
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
(39)
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 tabel yang merepresentasikan aturan-aturan dengan nilai frekuensi yang teramati. Tabel kontingensi memiliki
r baris dan c kolom. Total baris dan total kolom dalam tabel kontingensi disebut frekuensi marjinal.
(40)
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
R1 x11 x12 n1r = x11 + x12 R2 x21 x22 n2r = x21 + x22 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 frekuensi dari
setiap pasangan 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).
(41)
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 :
N n n
Eij = i× j ... 2.4
dimana :
Eij = Nilai frekuensi harapan baris ke-i kolom ke-j
i
n = Total frekuensi baris ke-i
j
n = Total frekuensi kolom ke-j
N = Jumlah total frekuensi keseluruhan.
Diasumsikan akan dilakukan pengamatan terhadap sampel data yang diambil secara random dari sebuah populasi. Pengamatan dikelompokkan berdasarkan dua variabel kualitatif.
(42)
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
(43)
2) Uji independensi Chi-Square antara dua variabel yang teramati dengan frekuensi harapan di bawah H0 didasarkan pada
besaran :
2
χ =
∑∑
(
)
= =− r
i c
j ij
ij ij
E E n 1 1
2
... 2.5
dimana :
2
χ = nilai bagi peubah acak yang sebaran penarikan contohnya sangat menghampiri sebaran Chi-Square
2
χ
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
(44)
4) Menentukan tingkat kepercayaan
α
5) Menggunakan tabel Chi-Square dengan dan df untuk menentukan apakah anteseden secara individual independen dengan konsekuennya. Untuk tingkat kepercayaan sebesar α, nilai kritiknya
dapat diperoleh dari tabel Chi-Square.
2
χ
2 α
χ
6) Kesimpulan untuk nilai yang dihitung dari penjumlahan semua sel adalah :
2 α
χ
• Bila χ2 ≤ χα2
Terima hipotesis nol yaitu anteseden independen secara individual dengan konsekuen.
• Bila χ2 > χα2
Tolak hipotesis nol dan terima hipotesis alternatif yaitu anteseden yang dependen secara individual dengan konsekuen.
(45)
7) Jika dalam proses uji independensi setiap anteseden secara individual di atas (proses a.1) ditemukan adanya anteseden yang independen secara individual dengan konsekuen maka anteseden tersebut tidak dapat dieliminasi secara langsung. Selanjutnya dilakukan uji independensi anteseden secara bersama-sama dengan konsekuennya (Everitt, 1977).
Jika ditemukan adanya anteseden yang dependen secara individual dengan konsekuen maka uji independensi anteseden secara bersama-sama dengan konsekuen (proses a.2) tidak dilakukan. a.2. Melakukan uji independensi anteseden secara
bersama-sama dengan konsekuennya. 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.
(46)
2) Membuat tabel kontingensi multidimensional berdasarkan semua kejadian dari anteseden dan konsekuen.
3) Membuat tabel frekuensi harapan dengan rumus sebagai berikut :
2
..
.
.
..
N
n
n
n
E
ijk=
i j k ... 2.7dimana : ijk
E = nilai frekuensi harapan baris ke-i, kolom ke-j, layer ke-k
i
n = jumlah marjinal baris ke-i
j
n. = jumlah marjinal kolom ke-j
k
n.. = jumlah marjinal layer ke-k
N = jumlah total frekuensi keseluruhan. 4) Melakukan uji Chi-Square dengan rumus
sebagai berikut :
(
)
∑∑∑
= = = − = r i c j l k ijk ijk ijk E E n 1 1 12 2
χ ... 2.8 dimana :
r = jumlah baris
c = jumlah kolom
(47)
5) Menghitung derajat kebebasan dengan rumus sebagai berikut:
d.f = rcl – r – c – l + 2 ... 2.9 6) Menggunakan tabel Chi-Square dengan
dan d.f untuk menentukan apakah anteseden secara bersama-sama independen dengan konsekuennya. Untuk tingkat kepercayaan sebesar α, nilai kritiknya dapat diperoleh dari tabel Chi-Square.
2
χ
2 α
χ
7) Kesimpulan untuk nilai yang dihitung dari penjumlahan semua sel adalah :
2 α
χ
• 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.
(48)
8) Jika dalam proses uji independensi anteseden secara bersama-sama di atas ditemukan : • Anteseden independen secara
bersama-sama dengan konsekuen, maka anteseden yang independen secara individual dengan konsekuen (pada proses a.1) dapat dieliminasi.
• Anteseden dependen secara bersama-sama 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.
(49)
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 Outlook Temperature Humidity Wind Play_Golf
D1 Sunny Hot High Weak No
D2 Sunny Hot High Strong No
D3 Overcast Hot High Weak Yes
D4 Rain Mild High Weak Yes
D5 Rain Cool Normal Weak Yes
D6 Rain Cool Normal Strong No
D7 Overcast Cool Normal Strong Yes
D8 Sunny Mild High Weak No
D9 Sunny Cool Normal Weak Yes
D10 Rain Mild Normal Weak Yes
D11 Sunny Mild Normal Strong Yes
D12 Overcast Mild High Strong Yes
D13 Overcast Hot Normal Weak Yes
D14 Rain Mild High Strong No
Sumber : Ian H Witten and Eibe Frank
Data Mining Practical Machine Learning Tools and Techniques with Java Implementation (Page 9 Table 1.2)
(50)
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 P-
q1 = 5 2
− log2
5 2
- 5 3
log2 5 3
(51)
Outlook = overcast (q2) q2 = - P+ log2 P+ - P- log2 P-
q2 = -4 4 log2 4 4 - 4 0 log2 4 0 q2= 0
Outlook = rain (q3)
q3= - P+ log2 P+ - P- log2 P-
q3 = - 5 3 log2 5 3 - 5 2 log2 5 2 q3= 0.97
Nilai rata-rata entropi atribut outlook adalah :
E=
∑
= ⎟⎟⎠ ⎞ ⎜⎜ ⎝ ⎛ × ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ inst i i t i e n n 1 E= ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ × 1 14 5q + ⎟
⎠ ⎞ ⎜ ⎝ ⎛ × 2 14 4
q + ⎟
⎠ ⎞ ⎜ ⎝ ⎛ × 3 14 5 q
E= ⎟
⎠ ⎞ ⎜ ⎝ ⎛ × 97 . 0 14 5 + ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ × 0 14 4 + ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ × 97 . 0 14 5 E= 0.69
Nilai gain atribut outlook dihitung berdasarkan rumus 2.3 adalah : Gain (S,Outlook) = Soutlook (P+ , P-) – E(outlook)
SoutlookP+ = 9 ; SoutlookP- = 5
S (9,5) = -14 9 log2 14 9 - 14 5 log2 14 5
S (9,5) = 0.94
(52)
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 P-
q1= - 4 2
log2
4 2
- 4 2
log2
4 2
q1= 1
Temperature = cool (q2) q2= - P+ log2 P+ - P- log2 P-
q2= - 4 3
log2
4 3
- 4 1
log2
4 1
(53)
Temperature = mild (q3) q3= - P+ log2 P+ - P- log2 P-
q3= - 6 4 log2 6 4 - 6 2 log2 6 2 q3= 0.917
Nilai rata-rata entropi atribut temperature adalah :
E=
∑
= ⎟⎟⎠ ⎞ ⎜⎜ ⎝ ⎛ × ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ inst i i t i e n n 1E= ⎟
⎠ ⎞ ⎜ ⎝ ⎛ × + ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ × + ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ × 3 14 6 2 14 4 1 14 4 q q q
E= ⎟
⎠ ⎞ ⎜ ⎝ ⎛ × + ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ × + ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ × 918 . 0 14 6 811 . 0 14 4 1 14 4 E= 0.91
Nilai gain atribut temperature dihitung berdasarkan rumus 2.3adalah : Gain (S,Temperature) = Stemperature (P+ , P-) – E(temperature)
Stemperature P+ = 9 ; StemperatureP- = 5
S (9,5) = -14 9 log2 14 9 - 14 5 log2 14 5
S (9,5) = 0.94
(54)
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 P-
q1 = - 7 3
log2
7 3
- 7 4
log2
7 4
q1 = 0.985
Humidity = normal (q2) q2= - P+ log2 P+ - P- log2 P-
q2 = -7 6
log2
7 6
- 7 1
log2
7 1
(55)
Nilai rata-rata entropi atribut humidity adalah : E=
∑
= ⎟⎟⎠ ⎞ ⎜⎜ ⎝ ⎛ × ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ inst i i t i e n n 1E= ⎟
⎠ ⎞ ⎜ ⎝ ⎛ × + ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ × 2 14 7 1 14 7 q q
E= ⎟
⎠ ⎞ ⎜ ⎝ ⎛ × + ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ × 0.591 14 7 0.985 14 7 E= 0.79
Nilai gain atribut humidity dihitung berdasarkan rumus 2.3adalah : Gain (S,Humidity) = Shumidity (P+ , P-) – E(humidity)
ShumidityP+ = 9 ; ShumidityP- = 5
S (9,5) = -14 9 log2 14 9 - 14 5 log2 14 5
S (9,5) = 0.94
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 :
Wind 2 positif 3 negatif 7 positif 2 negatif Strong Weak
(56)
Wind = strong (q1)
q1 = - P+ log2 P+ - P- log2 P-
q1= - 5 2 log2 5 2 - 5 3 log2 5 3
q1 = 0.97
Wind = weak (q2)
q2 = - P+ log2 P+ - P- log2 P-
q2 = - 9 7 log2 9 7 - 9 2 log2 9 2
q2 = 0.763
Nilai rata-rata entropi atribut wind adalah :
E=
∑
= ⎟⎟⎠ ⎞ ⎜⎜ ⎝ ⎛ × ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ inst i i t i e n n 1E= ⎟
⎠ ⎞ ⎜ ⎝ ⎛ × + ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ × 2 14 9 1 14 5 q q
E= ⎟
⎠ ⎞ ⎜ ⎝ ⎛ × + ⎟ ⎠ ⎞ ⎜ ⎝ ⎛ × 0.46 14 9 1 14 5 E= 0.84
Nilai gain atribut wind dihitung berdasarkan rumus 2.3adalah : Gain (S,Wind) = Swind (P+ , P-) – E(wind)
SwindP+ = 9 ; SwindP- = 5
S (9,5) = -14 9 log2 14 9 - 14 5 log2 14 5
S (9,5) = 0.94
(57)
Dari pencarian nilai gain di atas didapatkan tabel nilai gain sebagai berikut :
Tabel 2. 3 Nilai Gain Untuk Menentukan Simpul Awal Setiap Atribut
Atribut Nilai Gain
Outlook 0.25
Temperature 0.03
Humidity 0.15
Wind 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 (-),
(58)
D8 (-),D9 (+), D11 (+) ) dan rain (D4 (+), D5 (+), D6 (-), D10 (+), D14 (-) ). 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 )-) , ( 5 3 weak Ssunny entropi × - ( , ) 5 2 strong Ssunny entropi
× = 0.029
Gain(Ssunny,Humidity)=Entropi(Ssunny )-) , ( 5 3 high Ssunny entropi × - ( , ) 5 2 normal Ssunny entropi
× = 0.976
Gain(Ssunny,Temperature)=Entropi(Ssunny )-) , ( 5 2 hot Ssunny entropi × - ( , ) 5 2 mild Ssunny entropi × -) , ( 5 1 cool Ssunny entropi
× = 0.576
Selanjutnya dilakukan perhitungan nilai gain untuk menentukan atribut simpul keputusan di bawah nilai Rain
Gain(Srain,Wind)=Entropi(Srain)- ( , ) 5 3 weak Srain entropi × - ) , ( 5 2 strong Srain entropi
× = 0.976
Gain(Srain,Temperature)=Entropi(Srain )-) , ( 5 3 mild Srain entropi × - ( , ) 5 2 cool Srain entropi
(59)
Tabel 2.4 Nilai GainUntuk Menentukan Simpul Selanjutnya
Atribut Nilai Gain
Gain(Ssunny,Wind) 0.029 Gain(Ssunny,Humidity) 0.976 Gain(Ssunny,Temperature) 0.576
Gain(Srain,Wind) 0.976
Gain(Srain,Temperature) 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.
(60)
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 Outlook = sunny ^ humidity = high Play_Golf = No
2 Outlook = sunny ^ humidity = normal Play_Golf = Yes
3 Outlook = overcast Play_Golf = Yes
4 Outlook = rain ^ wind = strong Play_Golf = No
5 Outlook = rain ^ wind = weak 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)
(61)
Tabel 2.6 Tabel Kontingensi Outlook Play_Golf
Outlook
Yes No Jumlah_Marjinal
Sunny 2 3 5
No_Sunny 7 2 9
Jumlah Marjinal 9 5 14
b) Menghitung frekuensi harapan tiap sel dengan menggunakan rumus 2.3 yaitu :
Frekuensi harapan pada sel X11 =
11 e =
T C R1T × T1
→ e11 = 14
9 5×
= 3.21 Frekuensi harapan pada sel X12 =
12 e =
T C R1T × T2
→ e12 = 14
5 5×
= 1.79 Frekuensi harapan pada sel X21 =
21 e =
T C R2T × T1
→ e21 = 14
9 9×
= 5.79 Frekuensi harapan pada sel X22 =
22 e =
T C R2T × T2
→ e22 = 14
5 9×
= 3.21
Tabel nilai frekuensi harapan berdasarkan perhitungan:
Tabel 2.7 Nilai Frekuensi Harapan Outlook
Play_Golf Outlook
Yes No
Sunny 3.21 1.79
(62)
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
Humidity
Yes No
Jumlah_Marjinal
High 3 4 7
Normal 6 1 7
Jumlah Marjinal 9 5 14
b) Menghitung frekuensi harapan tiap sel dengan menggunakan rumus 2.3 yaitu :
Frekuensi harapan pada sel X11 =
11 e =
T C R1T × T1
→ e11 = 14
9 7×
(63)
Frekuensi harapan pada sel X12 =
12 e =
T C R1T × T2
→ e12 = 14
5 7×
= 2.5 Frekuensi harapan pada sel X21 =
21 e =
T C R2T × T1
→ e21 = 14
9 7×
= 4.5 Frekuensi harapan pada sel X22 =
22 e =
T C R2T × T2
→ e22 = 14
5 7×
= 2.5
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.
(64)
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
Wind
Yes No
Jumlah_Marjinal
Strong 2 3 5
Weak 7 2 9
Jumlah Marjinal 9 5 14
b) Menghitung frekuensi harapan tiap sel dengan menggunakan rumus 2.3 yaitu :
Frekuensi harapan pada sel X11 =
11 e =
T C R1T × T1
→ e11 = 14
9
5× = 3.21
Frekuensi harapan pada sel X12 =
12 e =
T C R1T × T2
→ e12 = 14
5 5×
= 1.78 Frekuensi harapan pada sel X21 =
21 e =
T C R2T × T1
→ e21 = 14
9 9×
(65)
Frekuensi harapan pada sel X22 =
22 e =
T C R2T × T2
→ e22 = 14
5 9×
= 3.21
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
(66)
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 Outlook = sunny ^ humidity = high Play_Golf = No
2 Outlook = rain ^ wind = strong Play_Golf = No
Default rule 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 Outlook Temperature Humidity Wind Play_Golf Prediksi
D1 Sunny Hot High Weak No No
D2 Sunny Hot High Strong No No
D3 Overcast Hot High Weak Yes Yes
D4 Rain Mild High Weak Yes Yes
D5 Rain Cool Normal Weak Yes Yes
D6 Rain Cool Normal Strong No No
D7 Overcast Cool Normal Strong Yes Yes
D8 Sunny Mild High Weak No No
D9 Sunny Cool Normal Weak Yes Yes
D10 Rain Mild Normal Weak Yes Yes
D11 Sunny Mild Normal Strong Yes Yes
D12 Overcast Mild High Strong Yes Yes
D13 Overcast Hot Normal Weak Yes Yes
D14 Rain Mild High Strong No No
Dari hasil prediksi pada data training di atas tidak didapatkan kesalahan prediksi dari 14 data sehingga besar kesalahan prediksi yaitu sebesar 0%.
(67)
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.
(68)
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 Description
CONTROLN Control number (unique record identifier) ODATE Origin Date. Date of donor's first gift to PVA YYMM
(69)
Tabel 3.1 Deskripsi Atribut (Variable) Tabel Training (Lanjutan)
Variable Description
MAILCODE Mail Code
PVASTATE
Indicates whether the donor lives in a state served by the organization's
EPVA chapter
NOEXCH Do Not Exchange Flag (For list rental) RECINHSE In House File Flag
RECP3 P3 File Flag
RECPGVG Planned Giving File Flag RECSWEEP Sweepstakes file flag
TCODE Donor title code
MDMAUD The Major Donor Matrix code DOMAINX DOMAIN/Cluster code.
CLUSTER CLUSTER
AGE Overlay Age
AGEFLAG Age Flag
HOMEOWNR Home Owner Flag
NUMCHLD NUMBER OF CHILDREN
INCOME HOUSEHOLD INCOME
GENDER Gender
WEALTH Wealth Rating
MBCRAFT Buy Craft Hobby MBGARDEN Buy Gardening
MBBOOKS Buy Books
MBCOLECT Buy Collectables MAGFAML Buy General Family Mags
MAGFEM Buy Female Mags MAGMALE Buy Sports Mags PUBGARDN Gardening Pubs
PUBCULIN Culinary Pubs
PUBHLTH Health Pubs
PUBDOITY Do It Yourself Pubs PUBNEWFN News / Finance Pubs
PUBPHOTO Photography Pubs PUBOPP Opportunity Seekers Pubs DATASRCE Source of Overlay Data
MALEMILI % Males active in the Military
VETS %Vets
GOV % Employed by Gov
SOLP3 SOLICIT LIMITATION CODE P3 SOLIH SOLICITATION LIMIT CODE IN HOUSE MAJOR Major ($$) Donor Flag
(70)
Tabel 3.1 Deskripsi Atribut (Variable) Tabel Training (Lanjutan)
Variable Description
VETERANS VETERANS (YES/NO) BIBLE BIBLE READING (YES/NO) CATLG SHOP BY CATALOG (YES/NO) HOMEE WORK FROM HOME (YES/NO) PETS HOUSEHOLD PETS (YES/NO) CDPLAY CD PLAYER OWNERS (YES/NO)
STEREO STEREO/RECORDS/TAPES/CD (YES/NO) PCOWNERS HOME PC OWNERS/USERS (YES/NO)
PHOTO PHOTOGRAPHY (YES/NO) CRAFTS CRAFTS (YES/NO)
FISHER FISHING (YES/NO) GARDENIN GARDENING (YES/NO)
BOATS POWER BOATING (YES/NO) WALKER WALK FOR HEALTH (YES/NO) KIDSTUFF BUYS CHILDREN'S PRODUCTS (YES/NO)
CARDS STATIONARY/CARDS BUYER (YES/NO)
PLATES PLATE COLLECTOR (YES/NO)
LIFESRC LIFE STYLE DATA SOURCE PEPSTRFL Indicates PEP Star RFA Status HPHONE_D Presence of a published home RFA_2R Recency code for RFA_2 RFA_2F Frequency code for RFA_2 RFA_2A Donation Amount code for RFA_2 MDMAUD_R Recency code for MDMAUD MDMAUD_F Frequecy code for MDMAUD
MDMAUD_A Donation Amount code for MDMAUD CLUSTER2 Classic Cluster Code (a nominal symbolic field) GEOCODE2 County Size Code
TARGET_B 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.
(71)
Berikut ini hasil pengelompokan nilai kejadian dari setiap atribut :
Tabel 3.2 Nilai Kejadian Atribut ODATEDW Year (dua digit pertama)
KEJADIAN DESKRIPSI
Y1 80-85 Y2 86-90 Y3 91-95
Y4 > 95
Tabel 3.3 Nilai Kejadian Atribut ODATEDW Month (dua digit terakhir)
KEJADIAN DESKRIPSI
M1 01-03 M2 04-06 M3 07-09 M4 10-11 Misalnya : ODATEDW 8901 menjadi Y2M1
Tabel 3.4 Nilai Kejadian Atribut MAILCODE KEJADIAN DESKRIPSI
OK Address is OK
B Bad address
Tabel 3.5 Nilai Kejadian Atribut PVASTATE KEJADIAN DESKRIPSI
P PVA State
E EPVA State (Northeastern US)
(72)
Tabel 3.6 Nilai Kejadian Atribut NOEXCH KEJADIAN DESKRIPSI
0 Can be exchanged X Do not exchanged
Tabel 3.7 Nilai Kejadian Atribut RECINHSE
KEJADIAN DESKRIPSI
U Not an In House record
X Donor has given to PVA’s In House programme
Tabel 3.8 Nilai Kejadian Atribut RECP3
KEJADIAN DESKRIPSI
U Not a P3 record
X Donor has given to PVA’s P3 programme
Tabel 3.9 Nilai Kejadian Atribut RECPGVG KEJADIAN DESKRIPSI
U Not a Planned Giving record X Planned Giving record
Tabel 3.10 Nilai Kejadian Atribut RECSWEEP KEJADIAN DESKRIPSI
U Not a Sweepstakes record
(73)
Tabel 3.11 Nilai Kejadian Atribut TCODE
KEJADIAN DESKRIPSI
000 - 001 MR. 001001 MESSRS. 001002 MR. & MRS.
002 MRS. 002002 MESDAMES
003 MISS 003003 MISSES
004 DR. 004002 DR. & MRS.
004004 DOCTORS 005 MADAME 006 SERGEANT 009 RABBI 010 PROFESSOR 010002 PROFESSOR & MRS.
010010 PROFESSORS 011 ADMIRAL 011002 ADMIRAL & MRS.
012 GENERAL 012002 GENERAL & MRS.
013 COLONEL 013002 COLONEL & MRS.
014 CAPTAIN 014002 CAPTAIN & MRS.
015 COMMANDER 015002 COMMANDER & MRS.
016 DEAN 017 JUDGE
017002 JUDGE & MRS.
018 MAJOR 018002 MAJOR & MRS.
019 SENATOR 020 GOVERNOR 021002 SERGEANT & MRS.
022002 COLNEL & MRS.
024 LIEUTENANT 026 MONSIGNOR 027 REVEREND
(74)
Tabel 3.11 Nilai Kejadian Atribut TCODE (Lanjutan)
KEJADIAN DESKRIPSI
029 BISHOP 031 AMBASSADOR 031002 AMBASSADOR & MRS.
033 CANTOR
036 BROTHER
037 SIR
038 COMMODORE
040 FATHER
042 SISTER 043 PRESIDENT
044 MASTER
046 MOTHER
047 CHAPLAIN 048 CORPORAL 050 ELDER
056 MAYOR 059002 LIEUTENANT & MRS.
062 LORD 063 CARDINAL
064 FRIEND
065 FRIENDS 068 ARCHDEACON
069 CANON
070 BISHOP
072002 REVEREND & MRS.
073 PASTOR
075 ARCHBISHOP
085 SPECIALIST 087 PRIVATE 089 SEAMAN 090 AIRMAN
091 JUSTICE
092 MR. JUSTICE
100 M.
103 MLLE.
104 CHANCELLOR 106 REPRESENTATIVE
107 SECRETARY 108 LT. GOVERNOR
(75)
Tabel 3.11 Nilai Kejadian Atribut TCODE (Lanjutan)
KEJADIAN DESKRIPSI
109 LIC.
111 SA.
114 DA.
116 SR. 117 SRA. 118 SRTA. 120 YOUR MAJESTY
122 HIS HIGHNESS 123 HER HIGHNESS
124 COUNT 125 LADY
126 PRINCE
127 PRINCESS
128 CHIEF
129 BARON 130 SHEIK 131 PRINCE AND PRINCESS
132 YOUR IMPERIAL MAJEST 135 M. ET MME.
210 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 DESKRIPSI
C Current Donor
L Lapsed Donor
I Inactive Donor
(76)
Tabel 3.14 Nilai Kejadian 2nd Byte: Frequency of Giving KEJADIAN DESKRIPSI
1 One gift in the period of recency 2 Two-Four gifts in the period of recency 3 Five+ gifts in the period of recency
Tabel 3.15 Nilai Kejadian 3rd Byte: Amount of Giving KEJADIAN DESKRIPSI
L Less than $100(Low Dollar)
C $100-499(Core) M $500-999(Major) T =$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 DESKRIPSI
A 1-20 B 21-40 C 41-60 D 61-80 E 81-100 X Empty
Tabel 3.18 Nilai Kejadian Atribut AGE KEJADIAN DESKRIPSI
Middle-aged 21-40 Old 41-70 Older >71
(77)
Tabel 3.19 Nilai Kejadian Atribut AGEFLAG KEJADIAN DESKRIPSI
E Exact I Inferred from Date Of Birth
U Unknown
Tabel 3.20 Nilai Kejadian Atribut HOMEOWNR KEJADIAN DESKRIPSI
H Home owner
U Unknown
Tabel 3.21 Nilai Kejadian Atribut NUMCHLD KEJADIAN DESKRIPSI
0 Empty
1 0ne child
> 1 More than one child
Tabel 3.22 Nilai Kejadian Atribut INCOME KEJADIAN DESKRIPSI
Low 1-3 Medium 4-6
High 7-10 None Empty
Tabel 3.23 Nilai Kejadian Atribut GENDER KEJADIAN DESKRIPSI
M Male F Female J Joint account, unknown gender
(78)
Tabel 3.24 Nilai Kejadian Atribut WEALTH
KEJADIAN DESKRIPSI
0 1 2 3 4 5 6 7 8 9
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 DESKRIPSI KEJADIAN
MBCRAFT Buy Craft Hobby See table 3.26 MBGARDEN Buy Gardening See table 3.26 MBBOOKS Buy Books See table 3.26 MBCOLECT Buy Collectables See table 3.26 MAGFAML Buy General Family Mags See table 3.26 MAGFEM Buy Female Mags See table 3.26 MAGMALE Buy Sports Mags See table 3.26 PUBGARDN Gardening Pubs See table 3.26 PUBCULIN Culinary Pubs See table 3.26 PUBHLTH Health Pubs See table 3.26 PUBDOITY Do It Yourself Pubs See table 3.26 PUBNEWFN News / Finance Pubs See table 3.26 PUBPHOTO Photography Pubs See table 3.26 PUBOPP Opportunity Seekers Pubs See table 3.26
Tabel 3.26 Nilai Kejadian Atribut OTHER TYPES OF MAIL ORDER OFFERS
KEJADIAN DESKRIPSI
0 Not responded to other types of mail order offers 1 Once time has responded to other types of mail order offers >1 More than once time has responded to other types of mail order offers
(79)
Tabel 3.27 Nilai Kejadian Atribut DATASRCE KEJADIAN DESKRIPSI
1 Metro mail
2 Polk 3 Both
Tabel 3.28 Nilai Kejadian Atribut MALEMILI KEJADIAN DESKRIPSI
0 Empty
1 One percent
> 1 More than one percent
Tabel 3.29 Nilai Kejadian Atribut VETS KEJADIAN DESKRIPSI
0 Empty MALE Males veterans
VIET Vietnam vets WWII WWII vets
Tabel 3.30 Nilai Kejadian Atribut GOV KEJADIAN DESKRIPSI
0 Empty LOCAL Employed by LOCAL gov
STATE Employed by STATE gov FED Employed by FED gov
Tabel 3.31 Nilai Kejadian Atribut SOLP3 KEJADIAN DESKRIPSI
D Can be mailed (Default) 00 Do not solicit or mail 01 One solicitations per year 02 Two solicitations per year 03 Three solicitations per year 04 Four solicitations per year 05 Five solicitations per year 06 Six solicitations per year 12 Twelve solicitations per year
(80)
Tabel 3.32 Nilai Kejadian Atribut SOLIH KEJADIAN DESKRIPSI
D Can be mailed (Default) 00 Do not solicit or mail 01 One solicitations per year 02 Two solicitations per year 03 Three solicitations per year 04 Four solicitations per year 05 Five solicitations per year 06 Six solicitations per year 12 Twelve solicitations per year
Tabel 3.33 Nilai Kejadian Atribut MAJOR KEJADIAN DESKRIPSI
0 Not a major flag
X Major donor
Tabel 3.34 Nilai Kejadian Atribut LIFESRC
KEJADIAN DESKRIPSI
0 If LIFESRC empty 1 Matched on metro mail only 2 Matched on polk only 3 Matched on metro mail and polk
Tabel 3.35 Nilai Kejadian Atribut PEPSTRFL
KEJADIAN DESKRIPSI
B Not Considered to be a PEP Star (Empty) X Has PEP Star RFA Status
Tabel 3.36 Nilai Kejadian Atribut HPHONE_D
KEJADIAN DESKRIPSI
0 Does not presence of a published home number 1 Presence of a published home number
(81)
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 DESKRIPSI
F First time donor. Anyone who has made their first donation in the last 6 months and has made just one donation.
N 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.
A Active Donor. Anyone who made their first donation more than 12 months ago and has made a donation in the last 12 months.
L Lapsing Donor. A previous donor who made their last donation between 13-24 months ago.
I 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.
S Star donor. Donors are individuals who have given to 3 consecutive card mailings.
Tabel 3.39 Nilai Kejadian 2nd Byte: Frequency of Giving KEJADIAN DESKRIPSI
1 One gift in the period of recency 2 Two gifts in the period of recency 3 Three gifts in the period of recency 4 Four or more gifts in the period of recency
(82)
Tabel 3.40 Nilai Kejadian 3rd Byte: Amount of Giving KEJADIAN DESKRIPSI
A $0.01 - $1.99 B $2.00 - $2.99 C $3.00 - $4.99 D $5.00 - $9.99 E $10.00 - $14.99 F $15.00 - $24.99 G $25.00 and above
Tabel 3.41 Nilai Kejadian Atribut TARGET_B (Atribut Keputusan) Atribut DESKRIPSI
YES Response to 97 NK Mailing NO 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
(1)
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.
(2)
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.
(3)
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 %.
(4)
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.
(5)
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.
(6)
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