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
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
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, DonnyHALAMAN 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)
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
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
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 %.
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
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
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
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
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
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:
nt = jumlah total data keseluruhan
ei = nilai entropi kejadian ke-i
Setelah menghitung nilai rata-rata entropi, dilakukan
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
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
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
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
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
2) Uji independensi Chi-Square antara dua
variabel yang teramati dengan frekuensi
harapan di bawah H0 didasarkan pada
besaran :
sebaran penarikan contohnya
sangat menghampiri sebaran
Chi-Square
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
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
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
2) Membuat tabel kontingensi multidimensional
berdasarkan semua kejadian dari anteseden
dan konsekuen.
3) Membuat tabel frekuensi harapan dengan
rumus sebagai berikut :
2
E = nilai frekuensi harapan baris ke-i,
kolom ke-j, layer ke-k
4) Melakukan uji Chi-Square dengan rumus
sebagai berikut :
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.
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
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
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
Outlook = overcast (q2)
Nilai rata-rata entropi atribut outlook adalah :
E=
∑
Nilai gain atribut outlook dihitung berdasarkan rumus 2.3 adalah :
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 = mild (q3)
Nilai rata-rata entropi atribut temperature adalah :
E=
∑
Nilai gain atribut temperature dihitung berdasarkan rumus 2.3adalah :
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 :
Nilai rata-rata entropi atribut humidity adalah :
Nilai gain atribut humidity dihitung berdasarkan rumus 2.3adalah :
Gain (S,Humidity) = Shumidity (P+ , P-) – E(humidity)
d. Atribut wind
Atribut wind dengan kejadian-kejadiannya beserta jumlah nilai positif
dan negatifnya digambarkan sebagai berikut :
Wind
Wind = strong (q1)
Nilai rata-rata entropi atribut wind adalah :
E=
∑
Nilai gain atribut wind dihitung berdasarkan rumus 2.3adalah :
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
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
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
)-)
Gain(Ssunny,Humidity)=Entropi(Ssunny
)-)
Gain(Ssunny,Temperature)=Entropi(Ssunny
)-)
Selanjutnya dilakukan perhitungan nilai gain untuk
menentukan atribut simpul keputusan di bawah nilai Rain
Gain(Srain,Wind)=Entropi(Srain)- ( , )
Gain(Srain,Temperature)=Entropi(Srain
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
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
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 =
Tabel nilai frekuensi harapan berdasarkan perhitungan:
Tabel 2.7 Nilai Frekuensi Harapan Outlook Play_Golf
Outlook
Yes No
Sunny 3.21 1.79
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)
b) Menghitung frekuensi harapan tiap sel dengan
menggunakan rumus 2.3 yaitu :
Frekuensi harapan pada sel X12 =
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
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
b) Menghitung frekuensi harapan tiap sel dengan
menggunakan rumus 2.3 yaitu :
Frekuensi harapan pada sel X22 =
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
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
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.
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)
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
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
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)
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
Tabel 3.11 Nilai Kejadian Atribut TCODE
010002 PROFESSOR & MRS.
010010 PROFESSORS
015002 COMMANDER & MRS.
016 DEAN
021002 SERGEANT & MRS.
022002 COLNEL & MRS.
Tabel 3.11 Nilai Kejadian Atribut TCODE (Lanjutan)
KEJADIAN DESKRIPSI
029 BISHOP 031 AMBASSADOR
031002 AMBASSADOR & MRS.
033 CANTOR
059002 LIEUTENANT & MRS.
062 LORD
072002 REVEREND & MRS.
Tabel 3.11 Nilai Kejadian Atribut TCODE (Lanjutan)
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
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
Tabel 3.18 Nilai Kejadian Atribut AGE KEJADIAN DESKRIPSI
Middle-aged 21-40 Old 41-70 Older >71
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
Tabel 3.24 Nilai Kejadian Atribut WEALTH
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
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
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
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