Post on 30-May-2019
KLASIFIKASI PENYAKIT HIPERTENSI
MENGGUNAKAN ALGORITMA C4.5
STUDI KASUS RSU PROVINSI NTB
SKRIPSI
Diajukan untuk Memenuhi Salah Satu Syarat
Memperoleh Gelar Sarjana Komputer
Program Studi Teknik Informatika
Disusun oleh :
Audio Alief Kautsar Hartama
125314119
PROGRAM STUDI TEKNIK INFORMATIKA
JURUSAN TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2017
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
CLASSIFICATION OF HYPERTENSION DISEASE
USING C4.5 ALGORITHM
CASE STUDY IN WEST NUSA TENGGARA GENERAL
HOSPITAL
THESIS
Presented as Partial Fulfillment of the Requirements
To Obtain Sarjana Komputer Degree
In Informatics Engineering
By :
Audio Alief Kautsar Hartama
125314119
INFORMATICS ENGINEERING STUDY PROGRAM
DEPARTMENT OF INFORMATICS ENGINEERING
FACULTY OF SCIENCE AND TECHNOLOGY
SANATA DHARMA UNIVERSITY
YOGYAKARTA
2017
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iii
HALAMAN PENGESAHAN
SKRIPSI
KLASIFIKASI PENYAKIT HIPERTENSI MENGGUNAKAN ALGORITMA
C4.5 STUDI KASUS RSU PROVINSI NTB
Studi Data : RSU Provinsi NTB
Yang Dipersiapkan dan Disusun Oleh :
Audio Alief Kautsar Hartama
125314119
Telah dipertahankan di depan Panitia Penguji
Pada tanggal 09 Januari 2017
Dan dinyatakan memenuhi syarat
Susunan Panitia Penguji
Nama Lengkap Tanda Tangan
Ketua : P.H Prima Rosa, S.Si., M.Sc. ………………
Sekretaris : Eko Hari Parmadi S.Si., M.Kom. ………………
Anggota : Albertus Agung Hadhiatma, S.T., M.T. ………………
Yogyakarta, 10 Februari 2017
Fakultas Sains dan Teknologi
Universitas Sanata Dharma
Dekan,
Sudi Mungkasi, S.Si.,M.Math.Sc.,Ph.D
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
iv
HALAMAN MOTTO
“If you never try, you'll never know what you are capable of.”
-John Barrow-
WANI NGALAH LUHUR WEKASANE
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
v
HALAMAN PERSEMBAHAN
1. Sembah Sujud Yang Utama dari Segalanya serta Syukur kepada Allah SWT,
taburan cinta dan kasih sayang-Mu telah memberikanku kekuatan, membekaliku
dengan ilmu serta memperkenalkanku dengan cinta, atas karunia serta
kemudahan yang Engkau berikan akhirnya skripsi ini dapat terselesaikan.
2. Orang tua, adik, dan keluarga yang selalu memberikan doa, dukungan, nasihat
dalam proses perkuliahan dan pengerjaan skripsi.
3. Seluruh Dosen dan semua karyawan yang telah memberikan pengetahuan,
bimbingan dan fasilitas selama perkuliahaan.
4. Teman-teman Teknik Informatika Angkatan 2012 yang telah memberikan
semangat, motivasi, dukungan, dan keceriaan.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vi
PERNYATAAN KEASLIAN KARYA
Saya menyatakan dengan sesungguhnya bahwa tugas akhir yang saya tulis tidak
memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam
kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.
Yogyakarta, 10 Februari 2017
Penulis
Audio Alief Kautsar Hartama
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
vii
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI
KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS
Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma ;
Nama : Audio Alief Kautsar Hartama
Nomor Mahasiswa : 125314119
Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan
Universitas Sanata Dharma karya ilmiah saya yang berjudul :
KLASIFIKASI PENYAKIT HIPERTENSI MENGGUNAKAN ALGORITMA
C4.5 STUDI KASUS RSU PROVINSI NTB
Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya
memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk
menyimpan, mengalihkan dalam bentuk media lain, mengelolanya di internet atau
media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun
memberikan royalty kepada saya selama tetap mencantumkan nama saya sebagai
penulis.
Demikian pernyataan ini saya buat dengan sebenarnya.
Dibuat di Yogyakarta
Pada tanggal : 10 Februari 2017
Audio Alief Kautsar Hartama
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
viii
ABSTRAK
Perkembangan dunia kesehatan saat ini sangatlah penting, itu karena
kesadaran masyarakat akan manfaat kesehatan sudah tinggi sehingga
peningkatan jumlah kesehatan setiap tahun mengalami kenaikan. Dengan
demikian bukan tidak mungkin dapat menimbulkan masalah bagi setiap anggota
medis dalam mendiagnosa dengan baik. Hipertensi merupakan penyebab
kematian nomor tiga setelah stroke dan tuberkolosis , yakni mencapai 6,7%
kematian pada semua umur di Indonesia. Data Riskesdas 2007 menyebutkan
prevalensi hipertensi di Indonesia berkisar 30%. Di RSU Propinsi NTB sendiri,
jumlah kasus untuk penyakit hipertensi ini tergolong cukup banyak
penderitanya. Pada tahun 2014, didapatkan jumlah kunjungan sebanyak 3040
pasien, dimana 1537 pasiennya mengidap penyakit hipertensi primer
diantaranya 731 pasien laki-laki dan 806 pasien perempuan.
Dari data penyakit hipertensi yang didapatkan dari RSU Provinsi NTB
tersebut dapat diolah menggunakan proses data mining dengan menggunakan
metode klasifikasi dimana metode ini akan mengelompokkan objek ke dalam
kategori yang sudah ditentukan sebelumnya dengan tujuan untuk memprediksi
kelas target dari setiap record di data baru. Dalam proses klasifikasi akan
digunakan algoritma decision tree C4.5 yang akan melakukan perhitungan
probabilitas atribut dalam data yang kemudian akan dibentuk suatu model pohon
atau aturan (rule) yang digunakan untuk menentukan hasil akhir prediksi.
Keluaran sistem adalah hasil prediksi jenis penyakit hipertensi yang
diambil dari RSU Provinsi NTB. Peneliti melakukan pengujian pada dataset
dengan jumlah 654 record data dan mengggunakan fold benilai 3,5,10,15 dan 20
cross validation dengan nilai rata-rata tingkat akurasi yang dihasilkan mencapai
97.2%.
Kata kunci : decision tree, C4.5, Cross Validation, Klasifikasi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ix
ABSTRACT
Development of the medical field in nowadays is very important. It is
because the citizen's awareness on the health benefit is already high, that makes
the increase on health grows every year. Therefore, it is possible for the medical
personnel to get more difficulty in diagnosing patient. Hypertension is the third
most cause of death after Stroke and Tuberculosis, which reaches 6.7% deaths
on all ages in Indonesia. Riskesdas’s data in 2007 mentioned that prevalence of
hypertension in Indonesia is around 30 %. On General Hospital in NTB
Province, the total cases for hypertension are considerable number. On 2014,
there were 3040 patients, where 1537 patients, 731 were male patients and 806
were female patients, had primary hypertension.
From the data about hypertension taken from general hospital in the West
Nusa Tenggara province above, it can be processed using data mining task with
classification method, where the method will classify object that has been
determined before, in purpose to predict target class from each record in a new
data. In the classification process, it will calculate the probability of the
attributes in the data which will then be constructed into model of a tree or a rule
representation which is used to determine the final prediction outcome.
The output system is the final prediction of hypertension disease.
Researcher determines test on dataset with total 654 record data and use
provisions fold 3,5,10,15 and 20 cross validation with an average accuracy of
97.2%.
Keywords: decision tree, C4.5, Cross Validation, Classification.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
x
KATA PENGANTAR
Terima kasih dan segala puji syukur penulis panjatkan kepada Tuhan
Yang Maha Esa, dikarenakan karena anugrah dan kehendak-Nya penulis dapat
menyelesaikan tugas akhir dengan judul “Klasifikasi Penyakit Hipertensi
menggunakan Algoritma C4.5 Studi Kasus RSU Provinsi NTB”. Tugas akhir ini
ditulis sebagai salah satu syarat untuk memperoleh gelar sarjana program studi
Teknik Informatika, Fakultas Sains dan Teknologi Universitas Sanata Dharma.
Penulis juga mengucapkan terimakasih kepada semua orang yang
membantu penulis dalam menyelesaikan penulisan tugas akhir ini, antara lain
kepada :
1. Bapak Sudi Mungkasi, S.Si.,M.Math.Sc.,Ph.D selaku Dekan Fakultas Sains
dan Teknologi Universitas Sanata Dharma Yogyakarta.
2. Ibu Dr. Anastasia Rita Widiarti, S.Si.,M.Kom selaku Kaprodi Teknik
Informatika Universitas Sanata Dharma Yogyakarta.
3. Bapak Albertus Agung Hadhiatma, S.T.,M.T selaku Dosen Pembimbing,
yang telah sabar dalam memberikan bimbingan dan segala masukan sehingga
penulis dapat menyelesaikan tugas akhir ini.
4. Ibu Paulina Heruningsih Prima Rosa, S.Si.,M.Sc. dan Bapak Eko Hari
Parmadi S.Si., M.Kom. selaku panitia penguji yang telah memberikan kritik
dan saran dalam penulisan tugas akhir.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xi
5. Seluruh dosen dan staff karyawan Program Studi Teknik Informatika
Universitas Sanata Dharma yang telah memberikan bekal ilmu, bimbingan
serta pengalaman dan fasilitas selama saya menempuh studi.
6. Ibunda tercinta Yosephine Martati Nugraheni S.Pd, M.A, terimakasih untuk
cinta dan kasih sayang, doa, nasehat serta perjuangan selama hidupku. Ayah
terkasih H. Jusuf Yuli Hartama S.E, terimakasih untuk siraman rohani, serta
ajaran-ajaranmu tentang bagaimana menjadi seorang pria yang selalu
berusaha dan bekerja keras untuk bertahan hidup dalam dunia yang semakin
menantang.
7. Yang selalu mendampingi, memberi solusi, membantu mengkoreksi dan
melancarkan negoisasi, serta akan menjadi partner dalam menjelajah samudra
kehidupan, my dear Rani Novianis Rizky Saputri S.KM, terimakasih atas
cinta dan kasih sayang serta kesabaranmu dalam menemani penulis saat
proses pengerjaan skripsi.
8. Staff Rekam Medis RSU Provinsi NTB : Dian Karmila Walla selaku Kepala
Rekam Medis RSU Provinsi NTB, Bapak M. Syahrial Luthfi, Ibu Mariatun,
Ibu Baiq Widyanti, Ibu Irmiati atas bantuan, bimbingan dan perhatiannya
selama penulis melakukan penelitian dan pengambilan data.
9. Nyoman Wisnu Wardhana, Raden Alexander Purbo, Paulus Dian Wicaksana,
yang telah memberikan bantuan dukungan dan nasehatnya selama dalam
masa bimbingan bersama dosen pembimbing.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xii
10. Adik paling ribet dan perfeksionis, Brigitta Novena Prabandari, terimakasih
untuk bantuan logistik untuk penulis saat proses pengerjaan tugas akhir dalam
bentuk protein dan kafein.
11. Teman-teman Teknik Informatika angkatan 2012 yang selalu berbahagia
walau sebenarnya banyak beban pikiran dan tekanan dari segala arah, tetap
semangat ya, kita semua mampu melalui proses ini kok.
12. Maroon Five, Katy Perry, Boyce Avenue, Daniel Powter, Goo Goo Dolls,
David Archuleta, terimakasih atas lantunan karya musiknya yang menemani
penulis saat pengerjaan skripsi.
13. Serta seluruh pihak yang telah membantu penulisan dan pembuatan tugas
akhir baik secara langsung maupun tidak langsung yang tidak dapat
disebutkan satu persatu.
Akhirnya dengan rendah hati, penulis menyadari bahwa skripsi ini jauh dari
kata sempurna. Oleh karena itu, penulis mengharapkan kritik dan saran yang
membangun guna memperbaiki skripsi ini. Semoga skripsi ini dapat berguna dan
bermanfaat bagi semua pihak. Terima kasih.
Yogyakarta, 10 Februari 2017
Penulis
Audio Alief Kautsar Hartama
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiii
DAFTAR ISI
HALAMAN JUDUL ................................................................................................... i
HALAMAN PERSETUJUAN ..................................... Error! Bookmark not defined.
HALAMAN PENGESAHAN ................................................................................... iii
HALAMAN MOTTO ............................................................................................... iv
HALAMAN PERSEMBAHAN ................................................................................ v
PERNYATAAN KEASLIAN KARYA ................................................................... vi
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI ................................ vii
ABSTRAK ............................................................................................................... viii
ABSTRACT ............................................................................................................... ix
KATA PENGANTAR ................................................................................................ x
DAFTAR ISI ............................................................................................................ xiii
DAFTAR GAMBAR ............................................................................................... xvi
DAFTAR TABEL ................................................................................................. xviii
BAB I PENDAHULUAN .......................................................................................... 1
1.1 Latar Belakang Masalah ........................................................................................... 1
1.2 Rumusan Masalah .................................................................................................... 4
1.3 Tujuan Penelitian ...................................................................................................... 4
1.4 Batasan Masalah ....................................................................................................... 5
1.5 Luaran ....................................................................................................................... 5
1.6 Metodologi ............................................................................................................... 5
1.7 Sistematika Penulisan ............................................................................................... 6
BAB II LANDASAN TEORI ................................................................................... 7
2.1 Penelitian Terdahulu yang Relevan .......................................................................... 7
2.2 Hipertensi ................................................................................................................. 8
2.2.1 Etiologi ............................................................................................................. 9
2.2.2 Gejala Hipertensi............................................................................................ 10
2.2.3 Pemeriksaan Penunjang ................................................................................. 10
2.3 Data Mining ............................................................................................................ 16
2.3.1 Klasifikasi ...................................................................................................... 20
2.3.2 Algoritma C4.5 ....................................................................................................... 22
2.3.3 Algoritma Konstruksi decision tree ............................................................... 23
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xiv
2.3.4 Entropy ........................................................................................................... 25
2.3.5 Information gain ............................................................................................. 27
2.3.6 Gain ratio ....................................................................................................... 28
2.4 Pengujian ................................................................................................................ 50
2.4.1 K-Fold Cross Validation ................................................................................ 50
2.4.2 Confusion Matrix ........................................................................................... 52
BAB III METODOLOGI ........................................................................................ 54
3.1 Data ........................................................................................................................ 54
3.2 Analisis Pengolahan Data ....................................................................................... 56
3.2.1 Pembersihan Data .......................................................................................... 56
3.2.2 Transformasi Data .......................................................................................... 56
3.2.3 Penambangan Data ......................................................................................... 56
3.3 Perancangan Sistem ................................................................................................ 57
3.3.1 Diagram Use Case .......................................................................................... 57
3.4 Perancangan Algoritma decision tree C4.5 ............................................................ 68
3.5 Desain Antarmuka Sistem ...................................................................................... 69
3.5.1 Tab Home ....................................................................................................... 69
3.5.2 Tab Uji Algoritma .......................................................................................... 70
3.5.3 Tab Uji Data Tunggal .................................................................................... 72
3.6 Perancangan Struktur Data ..................................................................................... 73
3.6.1 ArrayList ........................................................................................................ 73
3.6.2 HashMap ........................................................................................................ 75
3.6.3 HashSet .......................................................................................................... 76
3.6.4 HashTable ...................................................................................................... 77
3.7 Pengujian ................................................................................................................ 77
BAB IV IMPLEMENTASI SISTEM ..................................................................... 78
4.1 Spesifikasi Hardware dan Software ........................................................................ 78
4.2 Implementasi User Interface ................................................................................... 79
4.2.1 Halaman Tab Home ....................................................................................... 79
4.2.2 Halaman Tab Uji Algoritma .......................................................................... 80
4.2.3 Halaman Tab Uji Data Tunggal ..................................................................... 82
4.3 Proses Input Data .................................................................................................... 83
4.3.1 Membaca Teks kedalam Sistem ..................................................................... 84
4.3.2 Mengkonversi Teks didalam Sistem .............................................................. 87
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xv
4.4 Implementasi Algoritma decision tree C4.5 pada sistem ....................................... 90
4.4.1 Menghitung distribusi frekuensi kelas dari masing-masing atribut ............... 91
4.4.2 Menghitung Entropy Total dari data .............................................................. 93
4.4.3 Menghitung Entropy dari setiap atribut dalam data ....................................... 94
4.4.4 Menghitung Information gain dari setiap atribut dalam data ......................... 95
4.4.5 Menghitung Gain ratio dari setiap atribut dalam data .................................... 96
4.5 Pengujian ................................................................................................................ 99
4.5.1 Menghitung Evaluasi Cross Validation ......................................................... 99
4.5.2 Menghitung Presentase Akurasi ................................................................... 106
4.5.3 Menghitung Presentase Error ....................................................................... 106
4.5.4 Melakukan Pengujian Data Tunggal ............................................................ 107
BAB V PENGUJIAN DAN ANALISA HASIL ................................................... 108
5.1 Hasil Pengujian Sistem ......................................................................................... 108
5.1.1 Hasil Uji Akurasi ......................................................................................... 108
5.1.2 Hasil Decision Tree ...................................................................................... 123
5.1.3 Hasil Uji Data Tunggal ................................................................................ 129
BAB VI PENUTUP ................................................................................................ 132
6.1 Kesimpulan ........................................................................................................... 132
6.2 Saran ..................................................................................................................... 133
DAFTAR PUSTAKA ............................................................................................. 134
LAMPIRAN I ......................................................................................................... 135
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvi
DAFTAR GAMBAR
Gambar 2.1 Tahap-tahap proses KDD. (Fayyad., 1996) .......................................... 16
Gambar 2.2 Pengelompokan teknik klasifikasi ........................................................ 21
Gambar 2.3 Skema klasifikasi secara umum ............................................................ 22
Gambar 2.4 Model Pohon Keputusan ...................................................................... 24
Gambar 2.5 decision tree Node 1 (root node) .......................................................... 36
Gambar 2.6 decision tree Node 1 ( root node dan Leaf node )................................. 37
Gambar 2.7 decision tree Node 1.1 .......................................................................... 42
Gambar 2.8 decision tree Node dan Leaf Node 1.1.................................................. 43
Gambar 2.9 decision tree Node 1.2 .......................................................................... 48
Gambar 2.10 decision tree final ................................................................................ 49
Gambar 2.11 Ilustrasi metode Cross Validation menggunakan 10 fold ................... 51
Gambar 2.12 Confusion Matrix ................................................................................ 52
Gambar 3.1 Diagram Use Case ................................................................................ 58
Gambar 3.2 Diagram Aktivitas Mengimpor Data .................................................... 64
Gambar 3.3 Diagram Aktivitas Memilih jumlah fold .............................................. 65
Gambar 3.4 Diagram Aktivitas Melakukan Uji Akurasi .......................................... 66
Gambar 3.5 Diagram Aktivitas Melakukan Uji Data Tunggal ................................. 67
Gambar 3.6 Desain Antarmuka Tab Home .............................................................. 69
Gambar 3.7 Desain Antarmuka Tab Uji Algoritma ................................................. 70
Gambar 3.8 Desain Antarmuka Tab Uji Data Tunggal ............................................ 72
Gambar 3.9 Ilustrasi struktur data ArrayList ............................................................ 74
Gambar 3.10 Ilustrasi struktur data HashMap .......................................................... 75
Gambar 4.1 Tampilan User Interface Halaman Tab Home ...................................... 79
Gambar 4.2 Tampilan User Interface Halaman Tab Uji Algoritma ......................... 80
Gambar 4.3 Tampilan kotak dialog Choose file ....................................................... 81
Gambar 4.4 Tampilan User Interface Halaman Tab Uji Data Tunggal.................... 82
Gambar 5.1 Dataset yang akan diuji ....................................................................... 109
Gambar 5.2 Hasil uji akurasi menggunakan 3 fold ................................................ 110
Gambar 5.3 Hasil uji akurasi menggunakan 5 fold ................................................ 111
Gambar 5.4 Hasil uji akurasi menggunakan 10 fold .............................................. 112
Gambar 5.5 Hasil uji akurasi menggunakan 15 fold .............................................. 113
Gambar 5.6 Hasil uji akurasi menggunakan 20 fold ............................................. 114
Gambar 5.7 Dataset yang akan diuji (bagian II) ..................................................... 116
Gambar 5.8 Hasil Uji Akurasi menggunakan 3 fold (bagian II) ............................ 117
Gambar 5.9 Hasil Uji Akurasi menggunakan 5 fold (bagian II) ............................ 118
Gambar 5.10 Hasil Uji Akurasi menggunakan 10 fold (bagian II) ........................ 119
Gambar 5.11 Hasil Uji Akurasi menggunakan 15 fold (bagian II) ........................ 120
Gambar 5.12 Hasil Uji Akurasi menggunakan 20 fold (bagian II) ........................ 121
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xvii
Gambar 5.13 simpul daun decision tree bagian kiri ............................................... 123
Gambar 5.14 simpul daun decision tree bagian kanan ........................................... 125
Gambar 5.15 simpul daun decision tree bagian kiri dari pengujian II ................... 127
Gambar 5.16 simpul daun decision tree bagian kanan dari pengujian II ............... 128
Gambar 5.17 Data testing atau data tunggal yang akan diuji ................................. 130
Gambar 5.18 Hasil pengujian data tunggal ............................................................ 131
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
xviii
DAFTAR TABEL
Tabel 2.1 Klasifikasi Hipertensi menurut Joint National Committee 7 ...................... 9
Tabel 2.2 Data Buys Computer ................................................................................. 29
Tabel 3.1 Atribut Penyakit Hipertensi ....................................................................... 55
Tabel 3.2 Deskripsi Use Case .................................................................................... 59
Tabel 3.3 Skenario Use Case : Impor Dataset ........................................................... 60
Tabel 3.4 Skenario Use Case : Memilih jumlah fold ................................................ 61
Tabel 3.5 Skenario Use Case : Hitung Akurasi ......................................................... 62
Tabel 3.6 Skenario Use Case : Uji Data Tunggal ...................................................... 63
Tabel 5.1 Hasil Akurasi Sistem ............................................................................... 115
Tabel 5.2 Hasil Akurasi Sistem (bagian II) ............................................................. 122
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1
BAB I
PENDAHULUAN
1.1 Latar Belakang Masalah
Hipertensi merupakan masalah kronis yang tergolong penting di dunia, hal ini
disebabkan prevalensinya cukup tinggi dan sebagai penyebab dari banyak penyakit
kardiovaskuler seperti stroke, penyakit jantung koroner dan gangguan fungsi ginjal.
Risiko komplikasi ini juga sudah meningkat walau pada hipertensi ringan. Bahkan
pada hipertensi di Asia diperkirakan mencapai 8-18%. Angka prevalensi hipertensi di
Amerika Serikat menunjukkan kisaran antara 15-22% sedangkan di Indonesia
berkisar antara 0,65-28,6% (Kariani, 2014).
Menurut Mansjoer (2001), hipertensi sendiri tidak menunjukkan gejala
tertentu. Terdapat sekitar 95% kasus hipertensi yang tidak diketahui penyebabnya,
sedangkan sisanya ditimbulkan akibat adanya penyakit lain seperti penyakit jantung
koroner, gangguan fungsi ginjal, dan gangguan fungsi kognitif atau stroke. Tidak
jarang hipertensi ditemukan secara tidak sengaja saat pemeriksaan kesehatan rutin
atau datang dengan keluhan lain. Bahkan terkadang gejala paling parah yang
dirasakan adalah ketika tekanan darah sudah sangat tinggi.
Data World Health Organization (WHO) tahun 2012 menunjukkan, di seluruh
dunia, sekitar 972 juta orang atau 26,4% penghuni bumi mengidap hipertensi dengan
perbandingan 26,6% pria dan 26,1% wanita. Angka ini kemungkinan akan
meningkat menjadi 29,2% di tahun 2030. Dari 972 juta pengidap hipertensi, 333 juta
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
2
berada di negara maju dan 639 sisanya berada di negara sedang berkembang,
temasuk Indonesia (WHO, 2012).
Beberapa penelitian di Indonesia menjelaskan bahwa prevalensi hipertensi
berkisar antara 17-22%. Prevalensi hipertensi yang ditentukan berdasarkan kriteria
ambang hipertensi (Bordeline Hypertension) yaitu tekanan darah dengan rentang
141/91-159/94 mmHg, diperkirakan 4,8-18,8%. Angka ini lebih tinggi dari angka
prevalensi yang dilaporkan oleh Cheng di Taipeh, yaitu sekitar 62% dan dilaporkan
oleh Freis di Amerika Serikat, yaitu 10-15%. Menurut pengamatan WHO, selama 10
tahun terakhir jumlah penderita hipertensi yang dirawat di berbagai RS di Semarang
meningkat lebih dari 10 kali lipat. Peningkatan ini tentu saja sangat mencemaskan
siapapun yang perduli karena penemuan kasus hanya dilakukan secara pasif pada
masyarakat (Kodim, 2013).
Pada tahun 2013 penyakit hipertensi termasuk dalam 10 besar penyakit yaitu
berada pada urutan 4 dengan 726 kasus dari jumlah penduduk 21.221 jiwa. Tahun
2014 penyakit hipertensi juga masuk dalam 10 besar penyakit yaitu pada urutan 4
dengan 706 kasus dari jumlah penduduk 21.724 jiwa. Data laporan pada tahun 2015
periode bulan Januari sampai dengan November, prevalensi hipertensi pada wilayah
kerja Puskesmas Poasia juga menunjukkan prevalensi yang tetap tinggi dari tahun ke
tahun. Walaupun terjadi penurunan dalam 3 tahun terkhir, namun penurunannya
tidak begitu signifikan (Laporan Puskesmas Poasia, 2015).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3
Di RSU Propinsi NTB sendiri, jumlah kasus untuk penyakit hipertensi ini
sendiri tergolong cukup banyak penderitanya. Pada tahun 2014, didapatkan jumlah
kunjungan sebanyak 3040 pasien, dimana 1537 pasiennya mengidap penyakit
hipertensi primer diantaranya 731 pasien laki-laki dan 806 pasien perempuan.
Data mining merupakan analisis dari peninjauan kumpulan data untuk
menemukan hubungan yang tidak diduga dan meringkas data dengan cara yang
berbeda dengan sebelumnya, yang dapat dipahami dan bermanfaat bagi pemilik data,
dan merupakan bidang dari beberapa keilmuan yang menyatukan teknik dari
pembelajaran mesin, pengenalan pola, statistik, database, dan visualisasi untuk
penanganan permasalahan pengambilan informasi dari database yang besar.(Larose,
2006).
Untuk bisa mendapatkan informasi dari data-data yang ada perlu dilakukan
proses data mining seperti klasifikasi. Klasifikasi adalah sebuah proses untuk
menemukan model yang menjelaskan atau membedakan konsep atau kelas data,
dengan tujuan untuk dapat memperkirakan kelas dari suatu objek yang kelasnya tidak
diketahui (Tan et all, 2004).
Di dalam klasifikasi diberikan sejumlah record yang dinamakan training set,
yang terdiri dari beberapa atribut, atribut dapat berupa kontinyu ataupun kategoris,
salah satu atribut menunjukkan kelas untuk record.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4
Algoritma C4.5 adalah salah satu metode klasifikasi dari data mining yang
digunakan untuk mengkonstruksikan pohon keputusan (decision tree). Menurut
Prasetyo (2014), pohon keputusan atau decision tree adalah pohon yang digunakan
sebagai prosedur penalaran untuk mendapatkan jawaban dari masalah yang
dimasukkan. Menurut Witten et al., (2011), Algoritma C4.5 merupakan
pengembangan dari ID3 yang mampu mengatasi nilai yang hilang (missing
value),mengatasi data bertipe kontinyu, dan melakukan pemangkasan pohon
(pruning tree). Selain itu, dengan menggunakan Algoritma C4.5 dapat diketahui pula
nilai akurasi klasifikasinya.
1.2 Rumusan Masalah
Masalah yang dirumuskan dalam penelitian ini adalah bagaimana Algoritma
C4.5 mampu mengklasifikasikan jenis penyakit hipertensi pada data yang didapatkan
dari RSU Provinsi NTB.
1.3 Tujuan Penelitian
Menerapkan algortima C4.5 dalam melakukan klasifikasi dan memberikan
hasil akurasi pada data penyakit hipertensi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5
1.4 Batasan Masalah
Batasan masalah dari penelitian ini adalah :
1. Algoritma klasifikasi yang digunakan adalah Algoritma C4.5
2. Data yang digunakan adalah data hasil uji laboratorium RSU Provinsi NTB
untuk penyakit hipertensi dengan rentang tahun 2013-2015
3. Atribut yang digunakan sejumlah 16 atribut (termasuk kelas)
4. Hasil dari output sistem yang akan dibuat ini adalah tingkat persentase akurasi
berdasarkan input dari atribut data penyakit hipertensi, hasil decision tree dan
prediksi jenis penyakit hipertensi dari pengujian data tunggal, serta informasi
hasil jumlah data yang terklasifikasi benar dan terklasifikasi salah
1.5 Luaran
Sistem yang dirancang mampu secara otomatis mengidentifikasi dan
melakukan klasifikasi pada penyakit hipertensi.
1.6 Metodologi
Metodologi penelitian yang digunakan dalam penelitian ini antara lain :
1. Studi literatur untuk mempelajari metode data mining khususnya mengenai
klasifikasi data penyakit hipertensi dan metode Algoritma C4.5.
2. Analisis Pengolahan Data menggunakan proses KDD (Knowledge Discovery in
Database) untuk melakukan klasifikasi terhadap penyakit hipertensi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6
3. Desain merupakan proses membentuk model untuk data yang akan digunakan.
4. Implementasi adalah proses untuk membuat desain model yang telah dibuat ke
dalam bentuk yang dapat dieksekusi.
5. Pengujian menggunakan k-fold cross validation dengan membagi data training
dan data testing. Pengujian dilakukan untuk mengetahui akurasi dari metode
Algoritma C4.5.
1.7 Sistematika Penulisan
BAB I merupakan pendahuluan yang berisikan latar belakang, rumusan
masalah, tujuan, batasan masalah, keluaran yang dihasilkan, metodologi dan
sistematika penulisan.
BAB II merupakan landasan teori yang dipakai untuk pembuatan dan
penyusunan tugas akhir.
BAB III merupakan metodologi penelitian yang berisikan tentang data
penyakit hipertensi, alur proses training dan testing serta penjelasan rancangan sistem
yang akan dibuat.
BAB IV merupakan implementasi sistem yang akan membahas hasil
implementasi sistem yang telah dirancang.
BAB V merupakan analisis hasil yang berisikan tentang pengujian sistem yang
telah dirancang pada bab IV.
BAB VI merupakan penutup yang berisikan kesimpulan dan saran dari
penelitian yang telah dilakukan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
7
BAB II
LANDASAN TEORI
Dalam bab landasan teori ini akan djelaskan tentang teori-teori yang
digunakan dalam penyusunan penelitian, diantaranya tentang penelitian terdahulu
yang relevan, hipertensi, data mining, klasifikasi, algoritma decision tree C4.5, dan
cross-validation. Hal-hal tersebut akan dibahas satu per satu dalam subbab yang ada
di bawah ini.
2.1 Penelitian Terdahulu yang Relevan
Penelitian tentang penerapan berbagai jenis algoritma decison tree telah banyak
dilakukan, kajian terhadap penelitian-penelitian tersebut sangat bervariasi sesuai
dengan bidang permasalahan yang diamati oleh peneliti lain, penelitian mengenai
penerapan algoritma decison tree dalam dunia medis pernah dilakukan oleh D.
Senthil Kumar, G. Sathyadevi dan S. Sivanesh dalam penelitianya menyatakan
bahwa algoritma decison tree adalah salah satu metode klasifikasi yang paling
efektif. Penelitian ini bertujuan untuk mengembangkan dan mengevaluasi sistem
pendukung keputusan bagi dunia medis untuk perawatan pasien yang menderita
penyakit jantung, diabetes dan hepatitis. Penelitian ini menggunakan beberapa
algoritma decison tree yaitu C4.5, ID3 dan CART untuk mengklasifikasi penyakit
diabetes, hepatitis dan jantung. Dari perbandingan algoritma decison tree didapat
bahwa CART menunjukan kinerja yang lebih baik dari pada algortima yang lainnya
dengan akurasi sebesar 83,2%, sedangkan algoritma C4.5 dan ID3 masing-masing
menghasilkan akurasi sebesar 71,4% dan 64,8% (2011).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
8
Sa’diyah Noor Novita Alfisahrin pada tesisnya melakukan komparasi algoritma
decison tree C4.5, Naive Bayes dan Neural Network untuk memprediksi penyakit
jantung, dengan menggunakan 13 atribut yang terdapat pada gejala penyakit jantung
diperoleh dari UCI Repository diperoleh akurasi yang paling tingi dalam
memprediksi penyakit jantung adalah menggunakan metode C4.5 yaitu sebesar
96.15% (Alfisahrin, 2012).
Moertini (2003) melakukan penelitian menggunakan algoritma C4.5, hasil dari
penelitian tersebut menyebutkan bahwa algoritma C4.5 memiliki performa yang baik
dalam mengkonstruksi sebuah decison tree dan menghasilkan aturan-aturan yang
dapat digunakan pada waktu yang akan datang. Salah satu kesimpulan yang
diperoleh mempertegas alasan bahwa algoritma ini digunakan untuk klasifikasi data
yang memiliki atribut-atribut numerik dan kategorikal.
2.2 Hipertensi
Hipertensi adalah kondisi yang terjadi ketika sejumlah darah dipompakan oleh
jantung melebihi kemampuan yang dapat ditampung dinding arteri. Ketika jumlah
darah tinggi, komplikasi dapat terjadi tergantung pada hubungan antara jumlah darah
dan kapasitas arteri. Semakin banyak darah yang mengalir dan semakin sempit
dinding arteri, tekanan darah akan semakin tinggi. Terdapat dua jenis tekanan darah,
bergantung pada penyebabnya: hipertensi primer atau yang mendasar, di mana dapat
terbangun bertahun-tahun tanpa adanya gejala-gejala, dan hipertensi sekunder, yang
terjadi sebagai efek dari kondisi pokok lainnya. Meskipun lebih umum diantara
orang-orang tua, tekanan darah tinggi dapat terjadi pada setiap orang di setiap usia,
termasuk pada anak-anak dan remaja. Orang-orang yang mengalami hipertensi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
9
menghadapi resiko yang lebih tinggi terhadap kondisi yang lebih serius seperti
serangan jantung dan stroke. (Rusdi, 2009)
2.2.1 Etiologi
Hipertensi didefinisikan oleh Joint National Committee on Detection,
Evaluation and Treatment of High Blood pressure (JNC) sebagai tekanan yang lebih
tinggi dari 140/90 mmHg dan diklasifikasikan sesuai derajat keparahannya
mempunyai rentang dari tekanan darah (TD) normal tinggi sampai hipertensi
maligna. Keadaan ini dikategorikan sebagai primer/esensial (hampir 90% dari semua
kasus) atau sekunder, terjadi sebagai akibat dari kondisi patologi yang dapat dikenali,
seringkali dapat diperbaiki (Doenges, 2000).
Tabel 2.1 Klasifikasi Hipertensi menurut Joint National Committee 7
Kategori Sistolik Dan/Atau Diastolik
Normal <120 Dan <80
Pre Hipertensi 120-139 Atau 80-89
Stadium 1 140-159 Atau 90-99
Stadium 2 ≥160 Atau ≥100
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
10
2.2.2 Gejala Hipertensi
Dalam beberapa kasus tekanan darah tinggi, gejala-gejala tidak nampak
bahkan ketika pembacaan tekanan darah telah mencapai tataran tinggi. Ini dapat
berbahaya karena gejala biasanya muncul hanya ketika kondisi telah mengancam
kehidupan. Namun, gejala-gejala yang umumnya berhubungan dengan kondisi
tersebut adalah sebagai berikut:
Pusing atau Sakit kepala
Mimisan ( darah keluar dari lubang hidung)
Permasalahan keseimbangan
Rasa berat di bagian tengkuk
Sering tidur
Mudah marah
2.2.3 Pemeriksaan Penunjang
Pemeriksaan penunjang umunya diperlukan untuk membantu mengevaluasi
tingkat hipertensi pasien. Penilaian berulang terhadap fungsi renal, elektrolit serum,
gula darah puasa, dan lemak dapat dilakukan setelah pemberian obat-obatan
antihipertensi yang baru, dan tiap tahun atau secara sering diperiksa jika secara klinis
diperlukan. Uji laboratorium yang lebih ekstensif diperlukan jika pasien mengalami
resistensi obat atau ketika evaluasi klinis menemukan suatu bentuk hipertensi
sekunder.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
11
Pemeriksaan penunjang lainnya dapat berupa Elektrokardiogram (EKG),
dengan mengamati tanda-tanda sekunder dari hipertensi, seperti pembesaran jantung,
maupun gagal jantung.
Pemeriksaan penunjang terdiri atas:
Tes darah rutin
Glukosa darah (dianjurkan puasa)
Kolesterol total serum
Kolesterol LDL dan HDL serum
Trigilserida serum ( puasa 9 sampai 12 jam )
Asam urat serum
Kreatinin serum
Kalium serum
Hemoglobin dan hematokrit
Urinalisis
Elektrokardiogram (EKG)
Pada pasien hipertensi, beberapa pemeriksaan untuk menentukan adanya
kerusakan organ target dapat dilakukan secara rutin, sedang pemeriksaan lainnya
hanya dilakukan bila ada kecurigaan yang didukung oleh keluhan dan gejala pasien.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
12
Berikut ini adalah penjelasan teori singkat dari sebagian subjek pengukuran
yang dilakukan dalam pemeriksaan penunjang diatas :
Hemoglobin
Hemoglobin (Hgb) adalah suatu protein yang mengandung zat besi (Fe) dan
memberi warna merah pada darah. Fungsi utama hemoglobin adalah untuk mengikat
oksigen. Satu gram hemoglobin akan bergabung dengan 1,34 ml oksigen. Jika
hemoglobin banyak mengikat oksigen maka darah akan berwarna merah cerah dan
jika hemoglobin tidak banyak mengikat oksigen maka darah akan berwarna merah
tua.
Hematokrit
Hematokrit menunjukkan persentase zat padat (kadar sel darah merah, dan Iain-
Iain) dengan jumlah cairan darah. Semakin tinggi persentase HMT berarti
konsentrasi darah makin kental. Hal ini terjadi karena adanya perembesan
(kebocoran) cairan ke luar dari pembuluh darah sementara jumlah zat padat tetap,
maka darah menjadi lebih kental.
Sel darah Putih
Sel darah putih (bahasa Inggris: white blood cell, WBC) adalah sel yang
membentuk komponen darah. Sel darah putih ini berfungsi untuk membantu tubuh
melawan berbagai penyakit infeksi sebagai bagian dari sistem kekebalan tubuh. Sel
darah putih tidak berwarna, memiliki inti, dapat bergerak secara amoebeid, dan dapat
menembus dinding kapiler.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13
Asam Urat
Asam urat adalah bagian dari metabolism purin, namun apabila tidak berlangsung
secara normal maka akan terjadi sebuah proses penumpukan Kristal dari asam urat
pada persendian yang bisa mengakibatkan rasa sakit yang cukup tinggi. Sebenarnya
asam urat sudah ada pada tubuh kita dan bukan suatu penyakit, asal asam urat
tersebut dalam nilai yang normal.
Kolesterol LDL
Kolesterol LDL (Low Densisty Lipoprotein) atau biasa disebut sebagai kolesterol
jahat. Kandungan ldl yang tepat dalam tubuh sekitar 60% sampai 70%. LDL akan
membawa kolesterol ke seluruh tubuh yang membutuhkan melalui jaringan arteri.
Dia akan mengirimkan kapan saja ketika sel tersebut membutuhkan. Tetapi ketika ldl
terlalu banyak, akan menimbun kolesterol pada arteri sehingga menyebabkan plak-
plak. Timbunan kolesterol tersebut akan menyumbat saluran pembuluh arteri. Ldl
berpengaruh dengan kadar lemak jenuh dalam tubuh dan kandungan kolesterol yang
kita makan. Sehingga ketika kadar kolesterol tinggi, anda harus melakukan diet
rendah lemak.
Kolesterol HDL
Kolesterol HDL (High Desity Lipoprotein) tidak mengandung banyak lemak
seperti ldl tetapi mengandung banyak protein. Ldl berfungsi sebagai pengantar
kolesterol sedangkan hdl berfungsi sebagai pembersih dalam saluran pembuluh darah
arteri. Jadi hdl akan membersihkan ldl yang terlalu tinggi dalam pembuluh darah
arteri untuk kembali ke hati dan dicoba untuk didaur ulang kembali. Jika kadar hdl
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14
tinggi resiko penyakit jantung sangat kecil tetapi jika hdl rendah akan mengakibatkan
penyakit jantung.
Trigleserida
Trigleserida merupakan salah satu jenis lemak dalam tubuh yang mengandung
banyak sekali energy. Ketika anda mengkonsumsi makanan dan energy dalam tubuh
sudah tercukupi, sebagian energy akan disimpan sebagai trigleserida. Kadar
trigleserida yang normal sangat dibutuhkan oleh tubuh. Tetapi jika terlalu tinggi akan
mengakibatkan penyakit jantung, darah tinggi dan diabetes.
Kolesterol Total
Kolesterol Total adalah perhitungan total dari semua jenis kolesterol dalam
darah. Kolesterol merupakan senyawa lemak yang diproduksi di hati yang biasanya
ditemukan dalam darah. Peningkatan kadar kolesterol terlihat pada gangguan lipid
familial dan hipotiroidisme dan dianggap sebagai faktor risiko penyakit jantung.
Kreatinin
Kreatinin terbuat dari zat yang disebut kreatin, yang dibentuk ketika makanan
berubah menjadi energi melalui proses yang disebut metabolisme. Sekitar 2% dari
kreatin tubuh diubah menjadi kreatinin setiap hari. Kreatinin diangkut melalui aliran
darah ke ginjal. Ginjal menyaring sebagian besar kreatinin dan membuangnya dalam
urin. Bila ginjal terganggu, kreatinin akan meningkat. Tingkat kreatinin abnormal
tinggi memperingatkan kemungkinan kerusakan atau kegagalan ginjal, kadang-
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
15
kadang bahkan sebelum pasien melaporkan gejala apapun. Itulah mengapa kreatinin
dihitung dalam standar pemeriksaan darah dan urin rutin.
Tekanan Darah
Tekanan darah sistolik (angka atas) mengukur jumlah tekanan darah yang
diberikan pada pembuluh ketika jantung berdetak. Tekanan darah diastolik (angka
bawah) mengukur tekanan dalam pembuluh diantara detak jantung.Tekanan darah
sistolik (angka atas) mengukur jumlah tekanan darah yang diberikan pada pembuluh
ketika jantung berdetak. Tekanan darah diastolik (angka bawah) mengukur tekanan
dalam pembuluh diantara detak jantung.
Ureum
Ureum adalah hasil akhir metabolisme protein. Berasal dari asam amino yang
telah dipindah amonianya di dalam hati dan mencapai ginjal, dan diekskresikan rata-
rata 30 gram sehari. Kadar ureum darah yang normal adalah 20 mg – 40 mg setiap
100 ccm darah, tetapi hal ini tergantung dari jumlah normal protein yang di makan
dan fungsi hati dalam pembentukan ureum.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
16
2.3 Data Mining
Data Mining merupakan upaya menggali informasi yang terpendam dalam
timbunan data yang berjumlah besar. Data mining bukanlah suatu bidang yang
sama sekali baru. Salah satu kesulitan untuk mendefinisikan data mining adalah
kenyataan bahwa data mining mewarisi banyak aspek dan teknik dari bidang-bidang
ilmu yang sudah mapan terlebih dulu. Beberapa solusi yang dapat diselesaikan oleh
Data Mining adalah dalam bidang pasar dan manajemen, keuangan, telekomunikasi,
keuangan, astronomi, medis dan bidang-bidang lainnya.
Data Mining adalah suatu proses untuk menemukan suatu pengetahuan atau
informasi yang berguna dari data berskala besar. Sering juga disebut segabai bagian
proses KDD (Knowledge Discovery in Database) (Santosa, 2007). Adapun tahapan
tersbut dapat dilihat pada gambar 2.3.
Gambar 2.1 Tahap-tahap proses KDD. (Fayyad., 1996)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
17
Berikut adalah penjelasan tahapan-tahapan dari gambar 2.1
1. Seleksi data (Data Selection)
Data yang ada sering kali tidak semuanya dipakai, oleh karena itu hanya data
yang sesuai untuk dianalisis yang akan diambil dari database. Sebagai contoh,
sebuah kasus yang meneliti faktor kecenderungan orang membeli dalam kasus
market basket analysis, tidak perlu mengambil nama pelanggan, cukup dengan
id pelanggan saja.
2. Pembersihan data (Data Prepocessing / Cleaning)
Pembersihan data merupakan proses menghilangkan noise dan data yang
tidak konsisten atau data tidak relevan. Pada umumnya data yang diperoleh,
baik dari database suatu perusahaan maupun hasil eksperimen, memiliki isian-
isian yang tidak sempurna seperti data yang hilang, data yang tidak valid atau
juga hanya sekedar salah ketik. Selain itu, ada juga atribut-atribut data yang
tidak relevan dengan hipotesa data mining yang dimiliki. Data-data yang tidak
relevan itu juga lebih baik dibuang. Pembersihan data juga akan mempengaruhi
performasi dari teknik data mining karena data yang ditangani akan berkurang
jumlah dan kompleksitasnya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
18
3. Transformasi data (Data Transformation)
Data diubah atau digabung ke dalam format yang sesuai untuk diproses
dalam data mining. Beberapa metode data mining membutuhkan format data
yang khusus sebelum bisa diaplikasikan. Sebagai contoh beberapa metode
standar seperti analisis asosiasi dan clustering hanya bisa menerima input data
kategorikal. Karenanya data berupa angka numerik yang berlanjut perlu dibagi-
bagi menjadi beberapa interval. Proses ini sering disebut transformasi data.
4. Proses penambangan data (Data Mining Process)
Proses ini terdiri dari tiga langkah. Pertama, memilih tugas data mining
dengan mencocokkan tujuan yang ditetapkan pada tahap pertama dengan
metode data mining tertentu seperti klastering, regresi, klasifikasi, dll Kedua,
memilih algoritma data mining, dan memilih metode serta parameter untuk
mencari pola dalam data. Ketiga, menerapkan algoritma data mining untuk
menghasilkan pola data dalam bentuk representasi tertentu. Hasil dari proses ini
adalah Pola dan Model
5. Presentasi pengetahuan (Knowledge Presentation)
Untuk mengidentifikasi pola-pola menarik kedalam knowledge based yang
ditemukan. Dalam tahap ini hasil dari teknik data mining berupa pola-pola yang
khas maupun model prediksi dievaluasi untuk menilai apakah hipotesa yang
ada memang tercapai. Bila ternyata hasil yang diperoleh tidak sesuai hipotesa
ada beberapa alternatif yang dapat diambil seperti menjadikannya umpan balik
untuk memperbaiki proses data mining, mencoba metode data mining lain yang
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
19
lebih sesuai, atau menerima hasil ini sebagai suatu hasil yang di luar dugaan
yang mungkin bermanfaat.
Data mining juga dibagi menjadi beberapa kelompok berdasarkan tugas
yang dapat dilakukan, yaitu.:
1. Deskripsi, terkadang peneliti dan analis secara sederhana ingin mencoba
mencari cara untuk menggambarkan pola dan kecenderungan yang
terdapat dalam data.
2. Estimasi, estimasi hampir sama dengan klasifikasi, kecuali variabel target
estimasi lebih ke arah numerik dari pada ke arah kataegori. Model
dibangun menggunakan record lengkap yang menyediakan nilai variabel
target sebagai nilai prediksi.
3. Prediksi, prediksi hampir sama dengan klasifikasi dan estimasi, kecuali
bahwa dalam prediksi nilai dari hasil akan ada di masa mendatang.
4. Klasifikasi, dalam klasifikasi, terdapat target variabel kategori. Sebagai
contoh, penggolongan pendapatan dapat dipisahkan dalam tiga kategori,
yaitu pendapatan tinggi, pendapatan sedang, dan pendapatan rendah.
5. Pengklusteran, pengklusteran merupakan pengelompokan record,
pengamatan, atau memperhatikan dan membentuk kelas objek-objek yang
memiliki kemiripan. Kluster adalah kumpulan record yang memiliki
kemiripan satu dengan yang lainnya dan memiliki ketidakmiripan dengan
record-record dalam kluster lain.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
6. Asosiasi, asosiasi dalam data mining adalah menemukan atribut yang
muncul dalam satu waktu. Dalam dunia bisnis lebih umum disebut
analisis keranjang belanja.
2.3.1 Klasifikasi
Salah satu teknik Data Mining yang umum digunakan adalah Teknik
Klasifikasi. Klasifikasi adalah sebuah proses untuk menemukan model yang
menjelaskan atau membedakan konsep atau kelas data, dengan tujuan untuk dapat
memperkirakan kelas dari suatu objek yang kelasnya tidak diketahui (Tan et all,
2004). Di dalam klasifikasi diberikan sejumlah record yang dinamakan training set,
yang terdiri dari beberapa atribut, atribut dapat berupa kontinyu ataupun kategoris,
salah satu atribut menunjukkan kelas untuk record.
Teknik klasifikasi dalam data mining dikelompokkan ke dalam teknik
decision tree, Bayesian (Naïve Bayesian dan Bayesian Belief Networks), Jaringan
Saraf Tiruan, teknik yang berbasis konsep dari penambangan aturan-aturan asosiasi,
dan teknik lain (k-Nearest Neighboor, algoritma genetik, teknik dengan pendekatan
himpunan rough dan fuzzy.) (Lihat Gambar 2.2).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
21
Gambar 2.2 Pengelompokan teknik klasifikasi
Setiap teknik memiliki kelebihan dan kekurangannya sendiri. Data dengan
profil tertentu mungkin paling optimal jika diklasifikasi dengan teknik tertentu, atau
dengan kata lain, profil data tertentu dapat mendukung termanfaatkannya kelebihan
dari teknik-teknik klasifikasi diatas.
Secara umum, proses klasifikasi dapat dilakukan dalam dua tahap, yaitu
proses belajar dari data pelatihan dan klasifikasi kasus baru (lihat Gambar 2.3). Pada
proses belajar, algoritma klasifikasi mengolah data pelatihan untuk menghasilkan
sebuah model. Setelah model diuji dan dapat diterima, pada tahap klasifikasi, model
tersebut digunakan untuk memprediksi kelas dari kasus baru untuk membantu proses
pengambilan keputusan (Han et al.,2001; Quinlan, 1993). Kelas yang dapat
diprediksi adalah kelas-kelas yang sudah terdefinisi pada data pelatihan. Karena
proses klasifikasi kasus baru cukup sederhana, penelitian lebih banyak ditujukan
untuk memperbaiki teknik-teknik pada proses belajar.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
22
Gambar 2.3 Skema klasifikasi secara umum
2.3.2 Algoritma C4.5
Algoritma C4.5 adalah algoritma klasifikasi data dengan teknik decison tree
yang terkenal dan disukai karena memiliki kelebihan-kelebihan. Kelebihan ini
misalnya: dapat mengolah data numerik (kontinyu) dan diskret, dapat menangani
nilai atribut yang hilang, menghasilkan aturan-aturan yang mudah
diinterpretasikan dan tercepat di antara algoritma-algoritma yang menggunakan
memori utama di komputer (Quinlan, 1993; Han et al., 2001; Berry et al., 1997;
Ruggieri, 2001).
Pada subbab 2.3.1 sudah membahas bahwa proses klasifikasi terdiri dari dua
tahap, yaitu tahap belajar dari data pelatihan untuk menghasilkan model dan tahap
klasifikasi yang menggunakan model untuk prediksi kelas. Pada tahap belajar dari
data, algoritma C4.5 mengkonstruksi decison tree dari data pelatihan, yang berupa
kasus-kasus atau record-record. Setiap kasus berisikan nilai dari atribut-atribut
untuk sebuah kelas. Setiap atribut dapat berisi data diskret atau kontinyu (numerik).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
23
C4.5 juga menangani kasus yang tidak memiliki nilai untuk sebuah atau lebih
atribut. Akan tetapi, atribut kelas hanya bertipe nominal dan tidak boleh kosong.
2.3.3 Algoritma Konstruksi decision tree
Algoritma dasar untuk induksi pohon keputusan pada C4.5 (dan
turunannya) adalah algoritma greedy yang membangun pohon keputusan dari atas
ke bawah (top-down) secara rekursif dengan cara divide dan conquer. Masukan dari
algoritma ini adalah himpunan data yang berisi sample-sample data dan kandidat
atribut yang harus ditelaah, terdiri dari minimal sebuah atribut prediktor dan
sebuah atribut kelas. Atribut prediktor dapat bertipe diskret atau numerik, sedangkan
atribut kelas harus bertipe diskret. Dalam penelitian ini, himpunan data berupa file
csv (comma separated values), sedangkan sample adalah record-record yang
nilainya dipisahkan oleh tanda koma. Himpunan data ini dapat memiliki atribut
(kolom yang juga nilainya dipisahkan oleh tanda koma) yang bertipe diskret
maupun kontinyu. Ilustrasi model pohon keputusan diberikan pada Gambar 2.4.
Disini, simpul dinotasikan dengan kotak dan daun dengan elips. Pada level
teratas, pohon memiliki sebuah simpul yang merepresentasikan atribut prediktor
yang digunakan untuk membuat cabang atau daun di level di bawahnya (atribut ini
dinamakan atribut split). Jika atribut prediktor bertipe diskret (ad), cabang simpul
dibuat untuk setiap nilai unik pada atribut diskret ini (v1, v2, …,vm). Sedangkan
jika atribut prediktor bertipe kontinyu atau numerik (an), cabang simpul dibuat
untuk dua buah nilai, yaitu an ≤ vth dan an > vth, dimana vth adalah sebuah nilai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
24
ambang yang didapat dari nilai-nilai an. Daun merepresentasikan sebuah nilai pada
atribut kelas.
Gambar 2.4 Model Pohon Keputusan
Adapun langkah-langkah konstruksi pohon, seperti ditunjukkan pada Algoritma
II.1, adalah (Quinlan, 1993; Han et al., 2001):
a. Pohon dimulai dengan sebuah simpul yang merepresentasikan sample data
pelatihan (langkah 1).
b. Jika semua sample berada dalam kelas yang sama, maka simpul ini
menjadi daun dan dilabeli menjadi kelas (langkah 2 dan 3).
c. Jika tidak, gain ratio akan digunakan untuk memilih atribut split, yaitu atribut
yang terbaik dalam memisahkan data sample menjadi kelas-kelas individu
(langkah 6). Atribut ini menjadi atribut “tes” atau “keputusan” pada simpul
itu (langkah 7).
d. Cabang akan dibuat untuk setiap nilai pada atribut tes dan data sample
akan dipartisi lagi (langkah 8-10).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
25
e. Algoritma ini menggunakan proses rekursif untuk membentuk
pohon keputusan pada setiap data partisi. Jika sebuah atribut sudah
digunakan di sebuah simpul, maka atribut ini tidak akan digunakan lagi di
simpul anak- anaknya (langkah 13).
f. Proses rekursif ini berhenti jika dicapai kondisi berikut ini:
- Semua sample pada simpul berada di dalam satu kelas (langkah 2 dan3).
- Tidak ada atribut lainnya yang dapat digunakan untuk mempartisi
sample lebih lanjut (langkah 4). Dalam hal ini, akan diterapkan “suara
terbanyak” (langkah 5). Ini berarti mengubah sebuah simpul menjadi daun
dan melabelinya dengan kelas pada suara terbanyak. Sebagai alternatif lain,
distribusi kelas pada simpul ini dapat disimpan.
- Tidak ada sample yang memenuhi test-attribute = ai (langkah 11).
Dalam hal ini, sebuah daun dibuat dan dilabeli dengan kelas yang memiliki
sample terbanyak (langkah 12).
2.3.4 Entropy
Sebuah obyek yang diklasifikasikan dalam pohon harus dites nilai
entropinya. Entropy adalah ukuran dari teori informasi yang dapat mengetahui
karakteristik dari impurity ,dan homogenity dari kumpulan data. Entropi digunakan
untuk memprediksi rata-rata jumlah bit per simbol yang diperlukan untuk
mentransmisikan data, misalnya X, jika peluang kejadian setiap simbol pada data
yang akan ditransmisikan diketahui (MacKay, D. J.C, 2003) dan (Moore, 2003).
Dari nilai entropy tersebut kemudian dihitung nilai Information gain (IG) masing-
masing atribut, rumus entropy didefinisikan pada persamaan (1)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
26
………….(1) � = − ∑ � ∗ � =
Keterangan :
S adalah himpunan data training
k adalah banyaknya partisi S
Pj adalah rasio dari kelas Ci didalam set data sample S = { x1 , x2 , … xk }
atau dapat direpresentasikan dengan persamaan Pj = �� ∈ ��
Pada beberapa kasus, jika semua member dari set sample S memiliki nilai
yang sama, maka nilai entropy adalah nol. Hal itu berarti tidak ada klasifikasi yang
mempunyai ketidakpastian (uncertainty). Namun jika jumlah sample positif sama
dengan jumlah sample negatif, maka entropy bernilai 1, berarti ketidakpastian
bernilai maksimum. Ini berarti set sample tidak mempunyai ketidakpastian
(keputusan dari decision tree sudah jelas). Jika jumlah sample positif tidak sama
dengan jumlah sample negatif, maka nilai entropy akan berada diantara 0 dan 1.
Dari rumus entropy diatas dapat disimpulkan bahwa definisi entropy (S) adalah
jumlah bit yang diperkirakan dibutuhkan untuk dapat mengekstrak suatu kelas (+
atau -) dari sejumlah data acak pada suatu ruang sample S. Entropy bisa dikatakan
sebagai kebutuhan bit untuk menyatakan suatu kelas. Semakin kecil nilai entropy
maka semakin baik digunakan dalam mengekstraksi suatu kelas.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
27
……….….(2)
2.3.5 Information gain
Setelah mendapat nilai entropy untuk suatu kumpulan data, maka kita dapat
mengukur efektivitas suatu atribut dalam mengklasifikasikan data. Ukuran
efektifitas ini disebut information gain. Secara matematis, infomation gain dari
suatu atribut A, rumusnya didefinisikan pada persamaan (2)
� , � = � − ∑ | || | ∗ ∈�� �� � �
Keterangan :
Entropy (S) adalah Entropy dari data training
A adalah Atribut dari data training
v adalah Suatu nilai yang mungkin untuk atribut A
Values (A) adalah Himpunan yang mungkin untuk atribut A
|Sv| adalah Jumlah sample untuk nilai v
|S| adalah Jumlah seluruh sample data training
Entropy (Sv) adalah Entropy untuk sample-sample yang memiliki nilai v
dimana bobot Wi = |��||�| adalah rasio dari data dengan atribut v di dalam set
sample data training.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
28
………….(3)
………….(4)
2.3.6 Gain ratio
Pada konstruksi pohon C4.5, di setiap simpul pohon, atribut dengan nilai gain
ratio yang tertinggi dipilih sebagai atribut split untuk simpul. Rumus dari gain ratio
didefinisikan pada persamaan (3)
� , � = � , � � , �
Dimana Gain(S,A) adalah information gain dari atribut A untuk himpunan
sampel S dan Split info(S,A) menyatakan entropy atau informasi potensial yang
didapat pada pembagian S menjadi k sub himpunan berdasarkan telaahan pada atribut
A, sedangkan rumus Split info(S,A) didefinisikan pada persamaan (4)
� , � = − ∑ | || | ∗ = | || |
Dimana Sj menyatakan sub himpunan ke j pada sample S.
Alasan penggunaan Gain ratio(S,A) pada C4.5 ( bukan Gain(S,A) ) sebagai
kriteria pada pemilihan atribut split adalah Information gain ternyata dapat terjadi
bias terhadap atribut yang memiliki banyak nilai unik. Pembagian Gain(S,A) dengan
Split info(S,A) dimaksudkan untuk mengatasi hal ini.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
29
Berikut contoh kasus menggunakan data buys computer yang akan
diselesaikan dengan algoritma decision tree C4.5 :
Tabel 2.2 Data Buys Computer
ID Age Income Student Credit_Rating Class
1. <=30 High No Fair No
2. <=30 High No Excellent No
3. 31-40 High No Fair Yes
4. >40 Medium No Fair Yes
5. >40 Low Yes Fair Yes
6. >40 Low Yes Excellent No
7. 31-40 Low Yes Excellent Yes
8. <=30 Medium No Fair No
9. <=30 Low Yes Fair Yes
10. >40 Medium Yes Fair Yes
11. <=30 Medium Yes Excellent Yes
12. 31-40 Medium No Excellent Yes
13. 31-40 High Yes Fair Yes
14. >40 Medium No Excellent No
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
30
Berdasarkan data Buys Computer pada tabel 2.2., langkah -langkah
perhitungan C4.5 Classifier adalah sebagai berikut:
Pada tabel 2.2, atribut-atributnya adalah Age, Income, Student,
Credit_Rating, setiap atribut memiliki nilai masing-masing, sedangkan kelasnya
ada pada kolom Class, yaitu kelas Yes dan kelas No, kemudian data tersebut
memiliki 14 Total sampel yang terdiri dari 9 Yes dan 4 No pada kolom Class.
Langkah 1 , menghitung Entropy Total dari masing-masing nilai Class dengan
persamaan (1) :
Entropy Total (9yes , 5no) = (-9/14 * log2(9/14)) + (-5/14 * log2(5/14))
= 0.40977638 + 0.53050958
= 0.940285959
Langkah 2 , menghitung Entropy dari atribut Age dengan persamaan (1) :
Entropy Age <=30 ( 2yes,3no) = (-2/5 * log2(2/5)) + (-3/5 * log2(3/5))
= 0.528771238 + 0.442179356
= 0.97095059
Entropy Age 31-40 (4yes,0no) = (-4/4 * log2(4/4)) + ( 0 ))
= 0 + 0
= 0
Entropy Age >40 (3yes,2no) = (-3/5 * log2(3/5)) + (-2/5 * log2(2/5))
= 0.442179356 + 0.528771238
= 0.97095059
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
31
Entropy Total (Age) = 5/14 * (0.97095059) + 0 + 5/14 * (0.97095059)
= 0.346768069 + 0.346768069
= 0.693536139
Langkah 3, menghitung Information gain untuk atribut Age dengan persamaan (2) :
Gain(Total,Age) = 0.940285959 - 0.693536139
= 0.24674982
Langkah 4, menghitung Split information untuk atribut Age dengan persamaan (4) :
SplitInfo(Total,Age) = (-5/14 * log2(5/14)) + (-4/14 * log2(4/14)) +
(-5/14 * log2(5/14))
= 1.577406283
Langkah 5, menghitung Gain ratio untuk atribut Age dengan persamaan (3) :
Gain ratio (Total,Age) = 0.24674982/1.577406283
= 0.156427563
Ulangi Langkah 2 , menghitung Entropy dari atribut Income dengan persamaan (1) :
Entropy Income low ( 3yes,1no) = (-3/4 * log2(3/4)) + (-1/4 * log2(1/4))
= 0.311278124 + 0.5
= 0.81127812
Entropy Income medium (4yes,2no) = (-4/6 * log2(4/6)) + (-2/6 * log2(2/6))
= 0.389975 + 0.528320834
= 0.91829583
Entropy Income high (2yes,2no) = (-2/4 * log2(2/4)) + (-2/4 * log2(2/4))
= 0.5 + 0.5
= 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
32
Entropy Total (Income) = 4/14 * (0.81127812) + 6/14 * (0.91829583) +
4/14 * (1)
= 0.23179375 + 0.39355536 + 0.28571429
= 0.9110634
Ulangi Langkah 3, menghitung Information gain untuk atribut Income dengan
persamaan (2):
Gain(Total,Income) = 0.940285959 - 0.9110634
= 0.029222559
Ulangi Langkah 4, menghitung Split information untuk atribut Income dengan
persamaan (4) :
SplitInfo(Total,Income) = (-4/14 * log2(4/14)) + (-6/14 * log2(6/14)) +
(-4/14 * log2(4/14))
= 1.556656707
Ulangi Langkah 5, menghitung Gain ratio untuk atribut Income dengan persamaan
(3) :
Gain ratio (Total,Income) = 0.029222559/1.556656707
= 0.018772642
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
33
Ulangi Langkah 2 , menghitung Entropy dari atribut Student dengan persamaan (1) :
Entropy Student yes ( 6yes,1no) = (-6/7 * log2(6/7)) + (-1/7 * log2(1/7))
= 0.190622075 + 0.401050703
= 0.591672779
Entropy Student no (3yes,4no) = (-3/7 * log2(3/7)) + (-4/7 * log2(4/7))
= 0.523882466 + 0.46134567
= 0.985228136
Entropy Total (Student) = 7/14 * (0.591672779) + 7/14 * (0.985228136)
= 0.29583639 + 0.492614068
= 0.788450458
Ulangi Langkah 3,menghitung Information gain untuk atribut Student dengan
persamaan (2) :
Gain(Total,Student) = 0.940285959 - 0.788450458
= 0.151835501
Ulangi Langkah 3,menghitung Information gain untuk atribut Student dengan
persamaan (2) :
Gain(Total,Student) = 0.940285959 - 0.788450458
= 0.151835501
Ulangi Langkah 4, menghitung Split information untuk atribut Student dengan
persamaan (4) :
SplitInfo(Total,Student) = (-7/14 * log2(7/14)) + (-7/14 * log2(7/14))
= 0.5 + 0.5
= 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
34
Ulangi Langkah 5, menghitung Gain ratio untuk atribut Student dengan persamaan
(3) :
Gain ratio (Total,Student) = 0.151835501/1
= 0.151835501
Ulangi Langkah 2 , menghitung Entropy dari atribut Credit_Rating dengan
persamaan (1):
Entropy Credit_Rating fair ( 6yes,2no) = (-6/8 * log2(6/8)) + (-2/8 * log2(2/8))
= 0.311278124 + 0.5
= 0.811278124
Entropy Credit_Rating excellent (3yes,3no) = (-3/6 * log2(3/6)) + (-3/6 * log2(3/6))
= 0.5 + 0.5
= 1
Entropy Total (Credit_Rating) = 8/14 * (0.811278124) + 6/14 * (1)
= 0.463587499 + 0.428571429
= 0.892158928
Ulangi Langkah 3,menghitung Information gain untuk atribut Credit_Rating dengan
persamaan (2) :
Gain(Total,Credit_Rating) = 0.940285959 - 0.892158928
= 0.048127031
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
35
Ulangi Langkah 4, menghitung Split information untuk atribut Credit_Rating
dengan persamaan (4) :
SplitInfo(Total,Credit_Rating) = (-8/14 * log2(8/14)) + (-6/14 * log2(6/14))
= 0.46134567 + 0.523882466
= 0.985228136
Ulangi Langkah 5, menghitung Gain ratio untuk atribut Credit_Rating dengan
persamaan (3) :
Gain ratio (Total,Credit_Rating) = 0.048127031/0.985228136
= 0.048848616
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
36
Karena atribut Age mempunyai nilai Gain ratio tertinggi, maka Age menjadi
node akar (root node)
Gambar 2.5 decision tree Node 1 (root node)
Income Student Credit_Rating Class
high no fair no
high no excellent no
medium no fair no
low yes fair yes
medium yes excellent yes
Income Student Credit_Rating Class
medium no fair yes
low yes fair yes
low yes excellent no
medium yes fair yes
medium no excellent no
Income Student Credit_Rating Class
high no fair yes
low yes excellent yes
medium no excellent yes
high yes fair yes
>40
31-40
<=30
Age
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
37
<=30
31-40
>40
Age
Pada gambar 2.5 diketahui bahwa semua nilai atribut Class pada cabang Age
31-40 bernilai yes, maka dibuat Leaf node dengan kelas = Yes
Gambar 2.6 decision tree Node 1 ( root node dan Leaf node )
Pada gambar 2.6 dapat dilihat bahwa masih ada 2 cabang yang masih tersisa,
proses split yang sama harus dilakukan untuk cabang Age <=30, dan cabang Age
>40 dimana kedua cabang tersebut masih memiliki atribut
Income,Student,Credit_rating, atribut manakah yang harus digunakan untuk
membagi partisi pada cabang Age <=30 ? , untuk mengetahuinya, yang harus
dilakukan ialah ulangi perhitungan seperti yang sudah dilakukan sebelumnya.
Income Student Credit_Rating Class
medium no fair yes
low yes fair yes
low yes excellent no
medium yes fair yes
medium no excellent no
Income Student Credit_Rating Class
high no fair no
high no excellent no
medium no fair no
low yes fair yes
medium yes excellent yes
Yes
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
38
Langkah 1.1 , menghitung Entropy Total dari masing-masing nilai Class dengan
persamaan (1) :
Entropy Total (2yes , 3no) = (-2/5 * log2(2/5)) + (-3/5 * log2(3/5))
= 0.528771238 + 0.442179356
= 0.970950594
Langkah 2.1 , menghitung Entropy dari atribut Income dengan persamaan (1) :
Entropy Income low ( 1yes,0no) = (-1/1 * log2(1/1)) + (0)
= 0 + 0
= 0
Entropy Income medium (1yes,1no) = (-1/2 * log2(1/2)) + (-1/2* log2(1/2))
= 0.5 + 0.5
= 1
Entropy Income high (0yes,2no) = (0) + (-2/2 * log2(2/2))
= 0 + 0
= 0
Entropy Total (Income) = 1/5 * (0) + 2/5 * (1) + 2/5 * (0)
= 0 + 0.4 + 0
= 0.4
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
39
Langkah 3.1 , menghitung Information gain untuk atribut Income dengan persamaan
(2):
Gain(Total,Income) = 0.970950594 - 0.4
= 0.570950594
Langkah 4.1 , menghitung Split information untuk atribut Income dengan persamaan
(4) :
SplitInfo(Total,Income) = (-1/14 * log2(1/14)) + (-2/14 * log2(2/14)) +
(-2/14 * log2(2/14))
= 0.271953923 + 0.401050703 + 0.401050703
= 1.074055329
Langkah 5.1 , menghitung Gain ratio untuk atribut Income dengan persamaan (3) :
Gain ratio (Total,Income) = 0.570950594/1.074055329
= 0.531583968
Ulangi Langkah 2.1 ,menghitung Entropy dari atribut Student dengan persamaan (1)
:
Entropy Student yes ( 2yes,0no) = (-2/2 * log2(2/2)) + (0)
= 0 + 0
= 0
Entropy Student no (0yes,3no) = (0) + (-3/3* log2(3/3))
= 0 + 0
= 0
Entropy Total (Student) = 2/5 * (0) + 3/5 * (0)
= 0 + 0
= 0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
40
Ulangi Langkah 3.1 , menghitung Information gain untuk atribut Student dengan
persamaan (2):
Gain(Total,Student) = 0.970950594 - 0
= 0.970950594
Ulangi Langkah 4.1 , menghitung Split information untuk atribut Student dengan
persamaan (4) :
SplitInfo(Total,Student) = (-2/14 * log2(2/14)) + (-3/14 * log2(3/14))
= 0.401050703 + 0.476226947
= 0.877277651
Ulangi Langkah 5.1 , menghitung Gain ratio untuk atribut Student dengan
persamaan (3) :
Gain ratio (Total,Student) = 0.970950594/0.877277651
= 1.106776849
Ulangi Langkah 2.1 , menghitung Entropy dari atribut Credit_Rating dengan
persamaan (1) :
Entropy Credit_Rating fair (1yes,2no) = (-1/3*log2(1/3))+(-2/3* log2(2/3))
= 0.528320834 + 0.389975
= 0.918295834
Entropy Credit_Rating excellent (1yes,1no) = (-1/2*log2(1/2))+(-1/2* log2(1/2))
= 0.5 + 0.5
= 1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
41
Entropy Total (Credit_Rating) = 3/5 * (0.918295834) + 2/5 * (1)
= 0.5509775 + 0.4
= 0.9509775
Ulangi Langkah 3.1 , menghitung Information gain untuk atribut Credit_Rating
dengan persamaan (2):
Gain(Total, Credit_Rating) = 0.970950594 - 0.9509775
= 0.019973094
Ulangi Langkah 4.1 , menghitung Split information untuk atribut Credit_Rating
dengan persamaan (4) :
SplitInfo(Total,Credit_Rating) = (-3/14 * log2(3/14)) + (-2/14 * log2(2/14))
= 0.476226947 + 0.401050703
= 0.877277651
Ulangi Langkah 5.1 , menghitung Gain ratio untuk atribut Credit_Rating dengan
persamaan (3) :
Gain ratio (Total, Credit_Rating) = 0.019973094/0.877277651
= 0.02276713
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
42
no yes
<=30
31-40
>40
Age
Student
Karena atribut Student mempunyai nilai Gain ratio tertinggi,maka split
dataset menggunakan atribut tersebut.
Gambar 2.7 decision tree Node 1.1
Pada gambar 2.7 diketahui bahwa semua nilai atribut Class pada cabang
Studentyes bernilai yes, maka dibuat Leaf node dengan kelas = Yes , serta semua
nilai atribut Class pada cabang Studentno bernilai no, maka dibuat Leaf node
dengan kelas = No
Income Student Credit_Rating Class
medium no fair yes
low yes fair yes
low yes excellent no
medium yes fair yes
medium no excellent no
Income Student Credit_Rating Class
low yes fair yes
medium yes excellent yes Income Student Credit_Rating Class
high no fair no
high no excellent no
medium no fair no
Yes
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
43
yes no
<=30
31-40
>40
Age
Student
Gambar 2.8 decision tree Node dan Leaf Node 1.1
Pada gambar 2.8 dapat dilihat bahwa masih ada 1 cabang yang masih tersisa,
proses split yang sama harus dilakukan untuk cabang Age >40 dimana cabang
tersebut masih memiliki atribut Income,Student,Credit_rating, atribut manakah yang
harus digunakan untuk membagi partisi pada cabang Age >40 ? , untuk
mengetahuinya, yang harus dilakukan ialah ulangi perhitungan seperti yang sudah
dilakukan sebelumnya.
Langkah 1.2 , menghitung Entropy Total dari masing-masing nilai Class dengan
persamaan (1) :
Entropy Total (3yes , 2no) = (-3/5 * log2(3/5)) + (-2/5 * log2(2/5))
= 0.442179356 + 0.528771238
= 0.970950594
Income Student Credit_Rating Class
medium no fair yes
low yes fair yes
low yes excellent no
medium yes fair yes
medium no excellent no Yes
Yes No
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
44
Langkah 2.2 , menghitung Entropy dari atribut Income dengan persamaan (1) :
Entropy Income low ( 1yes,1no) = (-1/2 * log2(1/2)) + (-1/2 * log2(1/2))
= 0.5 + 0.5
= 1
Entropy Income medium (2yes,1no) = (-2/3 * log2(2/3)) + (-1/3* log2(1/3))
= 0.389975 + 0.528320834
= 0.918295834
Entropy Total (Income) = 2/5 * (1) + 3/5 * (0.918295834)
= 0.4 + 0.5509775
= 0.9509775
Langkah 3.2 , menghitung Information gain untuk atribut Income dengan persamaan
(2):
Gain(Total,Income) = 0.970950594 - 0.9509775
= 0.019973094
Langkah 4.2 , menghitung Split information untuk atribut Income dengan persamaan
(4) :
SplitInfo(Total,Income) = (-2/14 * log2(2/14)) + (-3/14 * log2(3/14))
= 0.401050703 + 0.476226947
= 0.877277651
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
45
Langkah 5.2 , menghitung Gain ratio untuk atribut Income dengan persamaan (3) :
Gain ratio (Total,Income) = 0.019973094/0.877277651
= 0.02276713
Ulangi Langkah 2.2 , menghitung Entropy dari atribut Student dengan persamaan
(1) :
Entropy Student yes ( 2yes,1no) = (-2/3 * log2(2/3)) + (-1/3 * log2(1/3))
= 0.389975 + 0.528320834
= 0.918295834
Entropy Student no (1yes,1no) = (-1/2 * log2(1/2)) + (-1/2* log2(1/2))
= 0.5 + 0.5
= 1
Entropy Total (Student) = 3/5 * (0.918295834) + 2/5 * (1)
= 0.5509775 + 0.4
= 0.9509775
Ulangi Langkah 3.2 , menghitung Information gain untuk atribut Student dengan
persamaan (2):
Gain(Total,Student) = 0.970950594 - 0.9509775
= 0.019973094
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
46
Ulangi Langkah 4.2 , menghitung Split information untuk atribut Student dengan
persamaan (4) :
SplitInfo(Total,Student) = (-3/14 * log2(3/14)) + (-2/14 * log2(2/14))
= 0.476226947 + 0.401050703
= 0.877277651
Ulangi Langkah 5.2 , menghitung Gain ratio untuk atribut Student dengan
persamaan (3) :
Gain ratio (Total,Student) = 0.019973094/0.877277651
= 0.02276713
Ulangi Langkah 2.2 , menghitung Entropy dari atribut Credit_Rating dengan
persamaan (1) :
Entropy Credit_Rating fair (3yes,0no) = (-3/3*log2(3/3)) + (0)
= 0 + 0
= 0
Entropy Credit_Rating excellent (0yes,2no) = (0)+(-2/2* log2(2/2))
= 0 + 0
= 0
Entropy Total (Credit_Rating) = 3/5 * (0) + 2/5 * (0)
= 0 + 0
= 0
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
47
Ulangi Langkah 3.2 , menghitung Information gain untuk atribut Credit_Rating
dengan persamaan (2):
Gain(Total, Credit_Rating) = 0.970950594 - 0
= 0.970950594
Ulangi Langkah 4.2 , menghitung Split information untuk atribut Credit_Rating
dengan persamaan (4) :
SplitInfo(Total,Credit_Rating) = (-3/14 * log2(3/14)) + (-2/14 * log2(2/14))
= 0.476226947 + 0.401050703
= 0.877277651
Ulangi Langkah 5.2 , menghitung Gain ratio untuk atribut Credit_Rating dengan
persamaan (3) :
Gain ratio (Total, Credit_Rating) = 0.970950594/0.877277651
= 1.106776849
Karena atribut Credit_Rating mempunyai nilai Gain ratio tertinggi,maka split
dataset menggunakan atribut tersebut.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
48
yes
<=30
no
31-40
>40
Age
Student
fair excellent
Credit_Rating
Gambar 2.9 decision tree Node 1.2
Pada gambar 2.9 diketahui bahwa semua nilai atribut Class pada cabang
Credi_Ratingfair bernilai yes, maka dibuat Leaf node dengan kelas = Yes , serta
semua nilai atribut Class pada cabang Credit_Ratingexcellent bernilai no, maka
dibuat Leaf node dengan kelas = No
Income Student Class
low yes no
medium no no
Income Student Class
medium no yes
low yes yes
medium yes yes
Yes
Yes No
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
49
yes
<=30
no
31-40
>40
Age
Student
fair excellent
Credit_Rating
Gambar 2.10 decision tree final
Pada gambar 2.10 telah didapat hasil decision tree dari data pada tabel 2.2
yang dihitung dengan Algoritma C4.5, dari decision tree tersebut dapat dibentuk
suatu kumpulan rule (aturan) sebagai berikut :
1. IF age <=30 AND student = no THEN class : no (3.0)
2. IF age <=30 AND student = yes THEN class : yes (2.0)
3. IF age 31-40 THEN class : yes (4.0)
4. IF age >40 AND credit_rating = fair THEN class : yes (3.0)
5. IF age >40 AND credit_rating = excellent THEN class : no (2.0)
Yes
Yes No Yes No
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
50
Maka jika diberikan contoh kasus age <30, income=medium, student=yes,
credit_rating=fair , class = ? maka untuk menentukan class dari contoh kasus
tersebut, dapat dihitung dengan melihat decision tree final atau rule yang terbentuk,
dengan demikian dapat dilihat bahwa class untuk contoh kasus ialah Yes
2.4 Pengujian
2.4.1 K-Fold Cross Validation
Cross validation merupakan salah satu metode yang digunakan untuk
mengetahui rata-rata keberhasilan dari suatu sistem dengan cara melakukan
perulangan dengan mengacak atribut masukan sehingga sistem tersebut teruji untuk
beberapa atribut input yang acak. k-fold cross validation diawali dengan membagi
data sejumlah k-fold yang diinginkan. Dalam proses cross validation data akan
dibagi dalam k buah partisi dengan ukuran yang sama D1,D2,D3..Dn selanjutnya
proses testing dan training dilakukan sebanyak k kali. Dalam iterasi ke-i partisi Di
akan menjadi data testing dan sisanya akan menjadi data training. Untuk penggunaan
jumlah fold terbaik untuk uji validitas, dianjurkan menggunakan 10-fold cross
validation dalam model. (Ron Kohavi, 1995).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
51
Gambar 2.11 Ilustrasi metode Cross Validation menggunakan 10 fold
9 dari 10 subset digunakan untuk training classifier Subset ke 10
digunakan sebagai
Testing Set pada
iterasi ke 10
Ulangi
iterasi
1 hingga 10 Training Set
Dataset
1 2 3 4 5 6 7 8 9 10
1 2 3 4 5 6 7 8 9 10
1 2
3 4
5
6 7
8 9 10
Dibagi secara random menjadi 10 subset
Testing Set
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
52
2.4.2 Confusion Matrix
Confusion matrix adalah merupakan sebuah metode untuk evaluasi yang
menggunakan tabel matrix seperti berikut :
Klasifikasi
Benar
Diklasifikasikan Sebagai
+ -
+ True
Positives
False
Negatives
- False
Positives
True
Negatives
Gambar 2.12 Confusion Matrix
Evaluasi dengan menggunakan confusion matrix menghasilkan nilai
accuracy, nilai accuracy merupakan presentase jumlah record data yang
diklasifikasikan secara benar oleh sebuah algoritma, pada tabel confusion matrix
diatas, True Positives adalah jumlah record positif yang diklasifikasikan sebagai
positif, False positives adalah jumlah record negatif yang diklasifikasikan sebagai
positif, False negatives adalah jumlah record positif yang diklasifikasikan sebagai
negatif, True negatives adalah jumlah record negatif yang diklasifikasikan sebagai
negatif, kemudian masukkan data uji. Setelah data uji dimasukkan ke dalam
confusion matrix, hitung nilai-nilai yang telah dimasukkan tersebut untuk dihitung
jumlah accuracy nya (Han dan Kamber), untuk menghitung digunakan persamaan
(5) atau (6)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
53
…….(5)
…….(6)
= _ + __ + _ + _ + _ %
= ∑ ∑ %
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
54
BAB III
METODOLOGI
Bab ini berisi gambaran proses yang akan dilakukan dalam penelitian dan cara
kerja sistem.
3.1 Data
Dalam penelitian ini, sistem mengklasifikasikan jenis-jenis hipertensi yang
diidentifikasi dari data yang dihasilkan laboratorium RSU Provinsi Nusa Tenggara
Barat sepanjang tahun 2013 hingga 2015 menggunakan algoritma decision tree C4.5.
Data ini berjumlah 654, dengan 16 atribut termasuk atribut kelas yang didefinisikan
menggunakan teks (String), yaitu Jenis Kelamin, Umur, Hemoglobin (HGB),
Hematokrit (HCT), White Blood Cell (WBC), PLT, Asam Urat (Uric Acid),
Kolesterol LDL, Kolesterol HDL, Kolesterol Total, Kreatinin, Tekanan Darah
(Sistolik dan Diastolik), Trigilserida, dan Ureum. Adapun tiap atribut yang
disebutkan diatas memiliki nilai rujukan yang dapat dilihat pada tabel dibawah :
.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
55
Tabel 3.1 Atribut Penyakit Hipertensi
Data Nilai Rujukan Satuan
Jenis Kelamin - -
Umur - -
HGB L : 13.0 – 18.0
P : 11.5 – 16.5
Mg %
HCT L : 40.0 – 50.0
P : 37.0 – 45.0
Mg %
WBC 4.0 – 11.0 Mg %
PLT 150 - 400 Mg %
Asam Urat L : 3.5 – 7.2
P : 2.6 – 6.0
Mg %
Kolesterol LDL < 130 Mg %
Kolesterol HDL < 45 Mg %
Kolesterol Total < 200 Mg %
Kreatinin L : 0.9 – 1.3
P : 0.6 – 1.1
Mg %
Ureum 6 - 26 Mg %
Trigilserida < 200 Mg %
Sistolik <120 - >=160 mmHG
Diastolik <80 - >=100 mmHG
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
56
3.2 Analisis Pengolahan Data
Sebelum data diolah menggunakan sistem yang akan dirancang, dilakukan
metode pemrosesan data awal terlebih dahulu sesuai dengan proses KDD. Dalam
penelitian ini, terdapat 3 langkah dalam melakukan pemrosesan data awal, yaitu
pembersihan data, transformasi data, dan penambangan data.
3.2.1 Pembersihan Data
Pada tahap ini akan dilakukan pembersihan data yang tidak lengkap, kosong
(null), noise, dan data yang tidak konsisten. Dalam langkah ini, data yang bernilai
kosong (null), akan dibersihkan dengan cara mengganti data tersebut dengan nilai
yang frekuensinya dominan dalam setiap masing-masing baris yang mempunyai
missing value pada data.
3.2.2 Transformasi Data
Pada tahap ini akan dilakukan transformasi data, atribut jenis kelamin diubah
dari 0 dan 1 menjadi wanita dan pria, dan data atribut umur nilainya diubah dari
satuan numerik menjadi satuan kategori umur tertentu, terakhir, atribut kelas pada
data hipertensi diklasifikasikan menjadi beberapa stadium sesuai dengan jurnal
ilmiah Joint National Comitte on Detection, Evaluation, and Treatment of High
Blood Pressure (JNC) yang dapat dilihat pada tabel 2.1 dalam Bab II subbab 2.2.1.
3.2.3 Penambangan Data
Data yang telah diproses pada tahap sebelumnya kemudian akan diuji
menggunakan algoritma decision tres C4.5. Langkah awal adalah proses input
dimana sistem akan membaca data teks yang berformat CSV (Comma Separated
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
57
Values). Setelah data dibaca, data berupa string akan tercampur di dalam satu baris
data, sehingga data perlu dipisah untuk kemudian diubah ke tipe data double kecuali
data jenis kelamin, umur, dan kelas, yaitu NORMAL, PREHIP, STADIUM1, STADIUM2,
sehingga data dapat diproses ke dalam perhitungan klasifikasi. Untuk melakukan
pemrosesan data tersebut maka sistem perlu menulis ulang data teks hipertensi
sehingga data hipertensi dapat diproses oleh sistem dan menghasilkan output berupa
hasil akurasi dan prediksi jenis hipertensi.
3.3 Perancangan Sistem
Pada bagian ini, akan dijelaskan tentang gambaran sistem yang akan
dibangun, yaitu berupa diagram Use Case, skenario Use Case, diagram Aktivitas,
dan desain antarmuka sistem.
3.3.1 Diagram Use Case
Aktor dari sistem ini hanya pengguna. Fungsi utama yang dapat dilakukan
oleh pengguna adalah melakukan klasifikasi. Pengguna juga dapat mengimpor data
dan menentukan jumlah fold. Ketika sistem melakukan fungsi klasifikasi, sistem
akan melakukan proses cross validation, menghitung akurasi dan menampilkan hasil
(output) berupa presentase akurasi, presentase error, jumlah data yang
diklasifikasikan dengan benar, jumlah data yang diklasifikasikan dengan salah dari
pemrosesan dengan algoritma decision tree C4.5.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
58
User
Gambar 3.1 Diagram Use Case
3.3.2 Deskripsi Use Case
Fungsi yang dapat dilakukan oleh Pengguna terhadap sistem digambarkan
dengan diagram use case seperti pada Gambar 3.1. Berikut ini deskripsi atau
penjelasan dari diagram tersebut:
<< depends on >>
<< depends on >>
Hitung
Akurasi
Memilih
jumlah fold
Impor
Dataset
Uji Data
Tunggal
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
59
Tabel 3.2 Deskripsi Use Case
No Nama Use Case Deskripsi Use Case
1. Impor Dataset Fungsi ini digunakan untuk memasukkan data
kedalam sistem menggunakan file berekstensi
.csv. Dataset yang dimasukkan akan diproses
dengan menggunakan algoritma C4.5.
2. Memilih jumlah fold Fungsi ini digunakan untuk menentukan jumlah
fold yang akan digunakan dalam proses cross
validation.
3. Hitung Akurasi Fungsi ini digunakan untuk menghitung tingkat
akurasi untuk kemudian mendapatkan hasil
berupa presentase akurasi, presentase error,
jumlah data yang diklasifikasikan dengan benar,
jumlah data yang diklasifikasikan dengan salah.
4. Uji Data Tunggal Fungsi ini digunakan untuk melakukan proses
pengujian data tunggal untuk kemudian
mendapatkan hasil berupa nilai kelas yang
diprediksi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
60
3.3.3 Skenario Use Case
Skenario Use Case merupakan penjabaran dari masing-masing use case yang
terdapat pada diagram Use Case.
Tabel 3.3 Skenario Use Case : Impor Dataset
Nama Use Case Impor Dataset
Deskripsi
Use Case
Use case ini digunakan untuk memasukkan data ke dalam
sistem menggunakan file yang berekstensi .csv
Pra Kondisi -
Langkah
Umum
Kegiatan Aktor Respon Sistem
Pengguna menekan
tombol Load Train File
Sistem menampilkan kotak
dialog Choose file
Pengguna memilih file
yang diinginkan dan
menekan tombol Open
Sistem membaca file dan
menampilkan lokasi file ke
dalam sistem
Alternatif -
Kesimpulan Use case ini berhenti apabila data telah masuk dan
terbaca oleh sistem.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
61
Tabel 3.4 Skenario Use Case : Memilih jumlah fold
Nama Use Case Memilih jumlah fold
Deskripsi Use
Case
Use case ini digunakan untuk menentukan jumlah fold
yang akan digunakan dalam proses cross validation.
Pra Kondisi Data telah diimpor
Langkah Umum Kegiatan Aktor Respon Sistem
Pengguna memilih
jumlah fold yang
diinginkan sesuai jumlah
yang telah ditetapkan
sistem dalam combo box.
Sistem mengeset angka yang
telah diganti sebagai fold.
Alternatif -
Kesimpulan Use case ini berhenti apabila telah memilih angka di
combo box dan menekan tombol proses.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
62
Tabel 3.5 Skenario Use Case : Hitung Akurasi
Nama Use Case Hitung Akurasi
Deskripsi Use
Case
Use case ini digunakan untuk melakukan proses uji
algoritma decision tree C.4.5 dan menghitung akurasi.
Pengguna dapat melihat presentase akurasi yang
dihasilkan.
Pra Kondisi - Dataset telah dimasukkan ke dalam sistem.
- Jumlah fold telah ditentukan
Langkah Umum Kegiatan Aktor Respon Sistem
Pengguna menekan
tombol proses
Sistem menampilkan hasil
presentase akurasi, presentase
error, jumlah data yang
diklasifikasikan dengan
benar,dan jumlah data yang
diklasifikasikan dengan salah.
Alternatif -
Kesimpulan Sistem menampilkan hasil presentase akurasi, presentase
error, jumlah data yang diklasifikasikan dengan benar,dan
jumlah data yang diklasifikasikan dengan salah.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
63
Tabel 3.6 Skenario Use Case : Uji Data Tunggal
Nama Use Case Uji Data Tunggal
Deskripsi Use
Case
Use case ini digunakan untuk melakukan proses uji data
tunggal. Pengguna dapat melihat hasil hasil prediksi yang
diproses oleh sistem.
Pra Kondisi - Dataset telah dimasukkan ke dalam sistem.
Langkah Umum Kegiatan Aktor Respon Sistem
Pengguna menekan
tombol proses
Sistem menampilkan hasil
prediksi dari data tunggal
yang diuji.
Alternatif -
Kesimpulan Use case ini berhenti apabila telah berhasil menampilkan
hasil prediksi kelas dari data tunggal yang diuji.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
64
Selesai
Mulai
Klik tombol
Load Train File
No Yes
Impor
Train File
Tampilkan
pesan error
Menampilkan
kotak Dialog
Choose File
Memilih Train
File dalam
explorer lalu
tekan Open
Sesuai
Format
3.3.4 Diagram Akivitas
Diagram Aktivitas ini digunakan untuk menunjukkan kegiatan yang
dilakukan oleh pengguna dan respon sistem atas setiap kegiatan pengguna dalam
setiap use case. Berikut rincian diagram Aktivitas dari sistem yang dibuat :
3.3.5 Diagram Aktivitas Mengimpor Data
AKTOR SISTEM
Gambar 3.2 Diagram Aktivitas Mengimpor Data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
65
3.3.6 Diagram Aktivitas Memilih jumlah fold
AKTOR SISTEM
Gambar 3.3 Diagram Aktivitas Memilih jumlah fold
Mulai
User memilih jumlah
folds dalam combo box
Mengeset angka yang
dipilih User sebagai
jumlah folds
Selesai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
66
3.3.7 Diagram Aktivitas Uji Akurasi
AKTOR SISTEM
Gambar 3.4 Diagram Aktivitas Melakukan Uji Akurasi
Mulai
User menekan tombol
Proses
Menampilkan hasil
berupa Akurasi,
Error,Data Benar, Data
Salah,dan decision tree
Selesai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
67
3.3.8 Diagram Aktivitas Melakukan Uji Data Tunggal
AKTOR SISTEM
Gambar 3.5 Diagram Aktivitas Melakukan Uji Data Tunggal
Mulai
User menekan tombol
Proses pada tab Uji Data
Tunggal Menampilkan hasil
berupa prediksi kelas
dari data tunggal yang
diuji
Selesai
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
68
3.4 Perancangan Algoritma decision tree C4.5
Pada bagian ini akan disebutkan bagaimana proses jalannya algoritma
decision tree C4.5. Berikut adalah langkah-langkah prosesnya :
1. Masukkan data hipertensi.
2. Menghitung Total Entropy sebelum dicari masing-masing Entropy class dari
masing-masing atribut.
3. Hitung nilai Information gain , Split information, dan Gain ratio dari masing-
masing atribut.
4. Ulangi langkah ke-2 dan ke-3 hingga semua record terpartisi.
5. Jika :
a. Semua record didalam node N mendapat kelas yang sama.
b. Tidak ada atribut didalam record yang dapat dipartisi lagi.
c. Tidak ada record didalam Leaf yang kosong.
Maka : Proses partisi decision tree berhenti.
6. Selesai.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
69
3.5 Desain Antarmuka Sistem
3.5.1 Tab Home
Gambar 3.6 Desain Antarmuka Tab Home
Home Uji Algoritma Uji Data Tunggal
Klasifikasi Penyakit Hipertensi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
70
Load Dataset
Home Uji Algoritma Uji Data Tunggal
Tunggal
Klasifikasi Penyakit Hipertensi
Cross Validation
Output decision tree C4.5
Data Benar
Data Salah
Akurasi
Error
Proses
Tab Home merupakan halaman yang muncul pertama kali saat sistem
dijalankan. Halaman ini tidak mempunyai fungsi utama sistem, melainkan hanya
display gambar tentang nama dari sistem tersebut, atau bisa disebut sebagai halaman
welcome screen.
3.5.2 Tab Uji Algoritma
Gambar 3.7 Desain Antarmuka Tab Uji Algoritma
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
71
Tab Uji Algoritma merupakan halaman yang mempunyai fungsi utama
dalam sistem, disini akan dilakukan proses pengujian algoritma decision tree C4.5
terhadap data hipertensi yang dimasukkan ke sistem.
Untuk mendapat hasil akurasi dari proses klasifikasi, pertama-tama user
menekan tombol Load Train File , kemudian akan muncul kotak dialog Choose file,
disini user memilih file data hipertensi yang berekstensi .csv , untuk selanjutnya klik
Open , lalu data hipertensi telah masuk, kemudian pikih jumlah fold yang sudah
disediakan dalam combo box cross validation , jika sudah memilih jumlah fold,
kemudian klik pada tombol proses untuk melakukan proses klasifikasi pada data
hipertensi, jika proses sudah selesai maka akan ditampilkan hasil presentase akurasi,
presentase error, jumlah data yang diklasifikasikan dengan benar,dan jumlah data
yang diklasifikasikan dengan salah, dimana ilustrasinya dapat dilihat pada gambar
3.7
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
72
Klasifikasi Penyakit Hipertensi
Load Test File
Home Uji Algoritma Uji Data Tunggal
Hasil Klasifikasi
Output Test File
Proses
3.5.3 Tab Uji Data Tunggal
Gambar 3.8 Desain Antarmuka Tab Uji Data Tunggal
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
73
Tab Uji Data Tunggal merupakan halaman yang berfungsi untuk melakukan
pengujian data tunggal yang bertujuan melakukan prediksi penyakit hipertensi. Pada
halaman ini pertama-tama pengguna menekan tombol Load Test File, kemudian
muncul dialog Choose file , pilih file uji data tunggal, lalu klik Open untuk
memasukkan dan menampilkan isi data yang akan di uji, selanjutnya klik tombol
proses untuk melihat hasil prediksi dari file data tunggal yang diuji, dimana
ilustrasinya dapat dilihat pada gambar 3.8
3.6 Perancangan Struktur Data
Perancangan struktur data dalam pembuatan sistem ini digunakan untuk
menyimpan dan mengorganisasikan informasi yang tersedia. Struktur data sendiri
dapat membantu pengolahan data agar lebih efisien. Pada sistem yang akan
dirancang, struktur data yang digunakan adalah konsep struktur data ArrayList,
HashMap, HashSet, dan HashTable.
3.6.1 ArrayList
ArrayList merupakan sebuah kelas yang memungkinkan untuk membuat list
objek array yang ukurannya dapat berubah secara dinamis atau dengan kata lain
ukuran ArrayList dapat berubah sesuai dengan data yang dimasukkan. ArrayList
hampir mirip seperti fungsi array, digunakkan untuk menyimpan data objek. Namun
perbedaannya dengan array biasa terletak pada tipe data dari objek yang
akan disimpan ke dalam ArrayList. Pada struktur data ini setiap metode tidak diberi
keyword synchronized, sehingga ketika dieksekusi dalam Thread, hal ini dapat
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
74
mengakibatkan unsafe Thread, alias dapat terjadi tabrakan Thread ketika mencoba
memanggil metode ArrayList.
Gambar 3.9 Ilustrasi struktur data ArrayList
Pada gambar 3.9 menunjukkan bahwa size atau ukuran banyaknya data yang
ditampung adalah 16 karena data yang diinputkan ada 8 data, jika ditambahkan data
lagi, maka size ArrayList akan berubah secara dinamis sesuai jumlah data.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
d1
d1 d2
d1 d2 d3
d1 d2 d3 d4
d1 d2 d3 d4 d5
d1 d2 d3 d4 d5 d6
d1 d2 d3 d4 d5 d6 d7
d1 d2 d3 d4 d5 d6 d7 d8
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
75
3.6.2 HashMap
Hashmap adalah struktur data map yang di berikan kemampuan hashing.
hashing adalah salah satu metode pemberian nilai pada string, yang biasanya di pakai
untuk pembandingan kesamaan atau kedekatan dari satu string ke string yang lain.
Pada proses pencarian pada HashMap yaitu pertama membuat nilai hash pada string
yang di cari kemudian membandingkan nilai hash tersebut dengan nilai hash pada
semua string yang ada di hashmap atau di struktur data.
Dalam tabel hash yang digunakan pada Java, setiap lokasi array adalah suatu
list berantai yang berisi pasangan kunci/nilai (atau mungkin juga list kosong). Jika
dua item memiliki kode hash yang sama, maka kedua item tersebut akan ada pada
list yang sama. Berikut desain struktur data dari HashMap :
Gambar 3.10 Ilustrasi struktur data HashMap
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
76
Pada gambar 3.10., hanya ada satu item dengan kode hash 0, tidak ada item
dengan kode hash 1, dua item dengan kode hash 2, dan seterusnya. Pada tabel hash
yang dirancang dengan benar, hampir semua list berantai berisi nol atau satu elemen
saja, dengan rata-rata panjang list kurang dari 1. Meskipun kode hash dari suatu
kunci mungkin tidak membawa kita langsung pada kunci yang kita mau, akan tetapi
tidak akan lebih dari satu atau dua item yang harus kita cari sebelum kita sampai
pada item yang kita inginkan (Anonim. 2012).
3.6.3 HashSet
Set mengikuti model himpunan, dimana objek atau anggota yang tersimpan
didalamnya harus bersifat unik, urutan maupun letak dari anggota tidaklah penting,
hanya keberadaan anggota saja yang penting. HashSet memiliki kemiripan dengan
ArrayList, namun berbeda dengan ArrayList yang memperbolehkan duplikasi data,
pada HashSet tidak dibolehkan terdapat duplikasi data, struktur data ini mirip dengan
HashMap namun tidak memiliki nilai, hanya memiliki key.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
77
3.6.4 HashTable
Hash Table merupakan solusi untuk menyelesaikan masalah pencarian. Hash
Table, seperti HashMap, menyimpan pasangan kunci/nilai. Jika kita mengetahui
kuncinya, maka kita bisa mencari nilainya di dalam tabel. Jika tabel hash digunakan
untuk mengimplementasikan set, maka semua nilainya berisi null. Kita masih harus
mencari kuncinya di dalam tabel. Pada hakekatnya hash table merupakan solusi yang
sangat efisien dalam mengatasi masalah pencarian pada sebuah data. Hal ini
dikarenakan table hash seperti halnya hashmap menyimpan setiap pasangan kunci
atau nilai dari setiap data. Jika diketahui sebuah kuncinya maka bukan hal yang
mustahil lagi untuk mencari atau mengetahui nilai dari data tersebut. Namun lain
halnya jika hash table diimplementasikan pada system set data maka untuk mencari
sebuah nilai kita harus mencari kunci di dalam table hash padahal semua nilai yang
berada dalam tabel berisi null.
3.7 Pengujian
Pengujian dilakukan untuk mengetahui akurasi dari proses klasifikasi. Akurasi
merupakan presentase data yang terklasifikasikan dengan benar. Pengujian ini
menggunakan k-fold cross validation dengan membagi data menjadi beberapa bagian
untuk training dan testing. Dari jumlah data, akan dibagi menjadi beberapa bagian
dan digunakan untuk testing dan training. Proses tersebut dilakukan beberapa kali
dengan kombinasi kelompok data yang berbeda-beda. Hasil dari proses tersebut
dapat dibentuk menjadi tabel confusion matrix dimana tabel tersebut dapat diketahui
jumlah data yang teridentifikasi secara benar untuk selanjutnya dihitung akurasinya.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
78
BAB IV
IMPLEMENTASI SISTEM
Bab ini akan membahas hasil penelitian berupa sistem yang telah dibangun
berdasarkan perancangan yang telah dibahas pada bab sebelumnya dan hasil yang
didapatkan dari sistem. Implementasi yang dijelaskan berupa software dan hardware
yang digunakan dalam implementasi sistem dan implementasi kelas pembuatan
sistem.
4.1 Spesifikasi Hardware dan Software
Spesifikasi Hardware yang digunakan dalam implementasi sistem ini adalah :
Hardware :
Processor : Intel® Core™
i5-4200H @ 2,8 GHz
Memory : 8 GB DDR3
Hard disk : 1000 GB
Software :
Operating System : Windows 10 Pro 64-Bit
Bahasa Pemrograman : Java
IDE Environment : Netbeans IDE 8.1
78
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
79
4.2 Implementasi User Interface
Pada bagian ini akan dibahas mengenai implementasi dari sistem yang telah
dirancang pada bab sebelumnya. Sistem ini mempunyai tiga bagian, yaitu bagian
halaman tab Home, halaman tab Uji Algoritma, dan halaman tab uji Data Tunggal.
4.2.1 Halaman Tab Home
Gambar 4.1 Tampilan User Interface Halaman Tab Home
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
80
Tab Home merupakan halaman yang muncul pertama kali saat sistem
dijalankan. Halaman ini tidak mempunyai fungsi utama sistem, melainkan hanya
display gambar tentang nama dari sistem tersebut, atau bisa disebut sebagai halaman
welcome screen.
4.2.2 Halaman Tab Uji Algoritma
Gambar 4.2 Tampilan User Interface Halaman Tab Uji Algoritma
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
81
Halaman Tab Uji Algoritma merupakan halaman yang mempunyai fungsi
utama dalam sistem, disini akan dilakukan proses pengujian algoritma decision tree
C4.5 terhadap data hipertensi yang dimasukkan ke sistem.
Untuk mendapat hasil akurasi dari proses klasifikasi, pertama-tama user
menekan tombol Load Train File , kemudian akan muncul kotak dialog Choose file
seperti pada gambar 4.3, disini user memilih file data hipertensi yang berekstensi .csv
, untuk selanjutnya klik Open , lalu data hipertensi telah masuk, kemudian pikih
jumlah fold yang sudah disediakan dalam combo box cross validation , jika sudah
memilih jumlah fold, kemudian klik pada tombol proses untuk melakukan proses
klasifikasi pada data hipertensi, jika proses sudah selesai maka akan ditampilkan
hasil presentase akurasi, presentase error, jumlah data yang diklasifikasikan dengan
benar,dan jumlah data yang diklasifikasikan dengan salah.
Gambar 4.3 Tampilan kotak dialog Choose file
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
82
4.2.3 Halaman Tab Uji Data Tunggal
Gambar 4.4 Tampilan User Interface Halaman Tab Uji Data Tunggal
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
83
Halaman Tab Uji Data Tunggal merupakan halaman yang berfungsi untuk
melakukan pengujian data tunggal yang bertujuan melakukan prediksi penyakit
hipertensi. Pada halaman ini pertama-tama pengguna menekan tombol Load Test
File, kemudian muncul dialog Choose file seperti yang ditunjukkan oleh gambar 4.3 ,
pilih file uji data tunggal, lalu klik Open ,untuk memasukkan dan menampilkan isi
data yang akan di uji Selanjutnya klik tombol proses untuk melihat hasil prediksi dari
file data tunggal yang diuji.
4.3 Proses Input Data
Pada subbab ini akan dibahas langkah-langkah bagaimana sistem melakukan
preprocessing dari data hipertensi RSU Provinsi Nusa Tenggara Barat agar data
tersebut nantinya dapat dimasukkan ke dalam proses klasifikasi. Data yang
digunakan adalah data yang berbentuk teks, agar data teks tersebut dapat diproses
dengan klasifikasi maka langkah pertama adalah membaca data teks kemudian
menulis ulang menjadi data yang dapat di proses oleh sistem untuk dapat
dilakukannya klasifikasi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
84
4.3.1 Membaca Teks kedalam Sistem
Pada tahap ini, sistem akan melakukan pembacaan file teks, dimana proses
pembacaan teks dilakukan secara perbaris dengan melakukan perulangan untuk
membaca teks dari baris awal sampai dengan baris akhir. Berikut kode programnya :
public void setSource(InputStream input) throws IOException {
m_structure = null;
m_sourceFile = null;
m_File = null;
m_sourceReader = new BufferedReader(new InputStreamReader(input));
}
Langkah Pertama dari potongan kode diatas ialah deklarasi variabel untuk
membangun sebuah struktur file yang akan dibaca kedalam sistem, dengan method
BufferedReader sebagai pembaca isi dalam file.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
85
private void readHeader() throws IOException {
m_rowCount = 1;
m_current = new ArrayList<Object>();
m_rowBuffer = new ArrayList<String>();
String firstRow = m_sourceReader.readLine();
if (firstRow == null) {
throw new IOException("Tidak terdapat Data didalam File!");
}
ArrayList<Attribute> attribNames = new ArrayList<Attribute>();
StringReader sr = new StringReader(firstRow + "\n");
m_st = new StreamTokenizer(sr);
initTokenizer(m_st);
attribNames.add(new Attribute(attName, (List<String>) null));
}
Kode program diatas berfungsi sebagai pembaca string pada baris pertama
file yang mengindikasikan baris pertama adalah deklarasi nama-nama untuk setiap
atribut pada file yang dipilih pengguna.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
86
Langkah pertama pada potongan kode diatas adalah variabel m_rowCount =
1; yang berfungsi sebagai indikasi jumlah baris dalam file , nilai 1 dimaksudkan
bahwa baris pertama adalah nama atribut, lalu variabel m_current = new
ArrayList<Object>(); adalah deklarasi object arraylist baru yang digunakan untuk
menyimpan satu baris teks kedalam arraylist ketika membaca, kemudian
m_rowBuffer = new ArrayList<String>(); berfungsi untuk menyimpan String dalam
arraylist, kemudian String firstRow = m_sourceReader.readLine(); berfungsi
sebagai pembaca isi baris dalam file yang kemudian dibuat object arraylist baru
untuk menyimpan nama-nama atribut dari file yang dibaca
Potongan kode diatas berfungsi sebagai penampung isi dalam teks yang
dibaca sebagai String dengan fungsi StringBuilder, yang kemudian jumlah barisnya
pun bertambah sesuai banyaknya jumlah baris dalam file tersebut.
StringBuilder temp = new StringBuilder();
for (Object o : m_current) {
temp.append(o.toString()).append(m_FieldSeparator);
}
m_rowCount++;
return temp.substring(0, temp.length() - 1);
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
87
4.3.2 Mengkonversi Teks didalam Sistem
Pada tahap ini akan dilakukan proses konversi isi dari data teks yang telah
dibaca ke dalam sistem agar dapat di proses oleh algoritma decision tree C4.5.
Langkah – langkah yang akan dilakukan sistem yaitu :
1. Mengambil data per atribut.
2. Mengkonversi teks ke double agar dapat diproses oleh sistem.
3. Menyimpan ke Dataset.
Langkah pertama dalam melakukan penulisan ulang isi dari data teks adalah
mengambil data per atribut, Berikut adalah potongan kode programnya :
// menyimpan data per atribut sebanyak jumlah atribut kedalam vals
double[] vals = new double[m_structure.numAttributes()];
//untuk setiap jumlah data dari atribut
for (int i = 0; i < m_structure.numAttributes(); i++) {
// mengambil data dan menyimpan ke object val
Object val = m_current.get(i);
// jika ada data dari setiap atribut yang bertipe String
if (m_structure.attribute(i).isString()) {
// maka nilai double nya 0 atau tidak ada nilainya
vals[i] = 0;
// simpan sebagai String
m_structure.attribute(i).setStringValue(Utils.unquote(val.toString()));
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
88
Potongan kode diatas pertama-tama adalah menyimpan data per atribut
sebanyak jumlah atribut kedalam variabel vals yang bertipe double, lalu untuk
setiap jumlah data dari atribut dalam file akan diambil datanya yang kemudian
akan disimpan ke object val , lalu jika ada data dari setiap atribut yang bertipe
String , maka nilai variabel vals untuk setiap atribut yang mempunyai kondisi
seperti diatas akan diberi nilai double nya menjadi 0, atau tidak ada nilainya,
yang akhirnya akan di set nilainya sebagai String.
// jika ada data dari setiap atribut yang bertipe numerik
} else if (m_structure.attribute(i).isNumeric()) {
try {
// maka akan di parse ke double
Double v = Double.parseDouble(val.toString());
// menyimpan vals sebagai double array v
vals[i] = v.doubleValue();
} catch (NumberFormatException ex) {
}
} else {
// untuk atribut yang bertipe nominal maka setiap nilainya akan
disimpan dalam double array index
Double index = m_structure.attribute(i).indexOfValue(Utils.unquote
(val.toString()));
vals[i] = index;
}
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
89
Potongan kode diatas pertama-tama adalah jika ada data dari setiap
atribut yang bertipe numerik , maka nilai variabel vals untuk setiap atribut yang
mempunyai kondisi seperti diatas maka akan di parse ke double dan disimpan
ke double array v, kemudian untuk atribut yang mempunyai nilai nominal, maka
setiap nilai nominalnya akan disimpan dalam double array index
Potongan kode diatas pertama-tama adalah mendeklarasikan variabel inst
yang bertipe DenseInstance yang akan digunakan untuk menyimpan isi dari
variabel aray double vals dimana dapat dilihat pada potongan kode sebelumnya
diatas, yang menyimpan nilai double dari setiap data dalam file yang dibaca,
untuk kemudian nantinya menjadi data yang dipakai utuk melakukan
perhitungan klasifikasi.
DenseInstance inst = new DenseInstance(vals);
inst.setDataset(m_structure);
return inst;
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
90
4.4 Implementasi Algoritma decision tree C4.5 pada sistem
Pada tahap ini akan dijelaskan proses implementasi dari perhitungan algoritma
decision tree C4.5. Langkah-langkah yang dilakukan dalam proses klasifikasi dengan
algoritma ini adalah :
1. Menghitung distribusi frekuensi kelas dari masing-masing atribut.
2. Menghitung Entropy Total dari data
3. Menghitung Entropy dari setiap atribut dalam data.
4. Menghitung Information gain dari setiap atribut dalam data
5. Menghitung Gain ratio dari setiap atribut dalam data
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
91
4.4.1 Menghitung distribusi frekuensi kelas dari masing-masing atribut
Langkah pertama dalam proses klasifikasi algoritma decision tree C4.5
adalah menghitung distribusi frekuensi kelas, dimana berarti banyaknya data dari
suatu atribut yang terdapat dalam kategori tertentu. Berikut kode programnya :
Pada potongan kode program diatas, sistem akan menyimpan nilai dari
jumlah distribusi frekuensi kelas kedalam array double , lalu akan menambahkan
data yang dibaca perbaris kedalam masing-masing variabel penampung jumlah dari
masing-masing datanya yang kemudian akan tersimpan ke array double sesuai
banyak data dalam file yang diproses, proses perulangan dan pemisahan antara nilai
data atribut dan kelas menggunakan fungsi enumerasi yang memisahkan perhitungan
jumlah keanggotaan untuk setiap baris data dalam ArrayList yang dibaca.
public Distribution(Instances dataset) throws Exception {
m_perClassPerBag = new double[1][0];
m_perBag = new double[1];
totaL = 0;
m_perClass = new double[dataset.numClasses()];
m_perClassPerBag[0] = new double[dataset.numClasses()];
Enumeration<Instance> enu = dataset.enumerateInstances();
while (enu.hasMoreElements()) {
add(0, enu.nextElement());
}
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
92
Pada potongan kode program diatas, sistem akan membaca keanggotaan data
dalam setiap atribut ke nilai kelas yang ada , kemudian akan disimpan dalam aray
double yang menampung jumlah - jumlah keanggotaan tersebut, sehingga distribusi
frekuensi kelasnya akan otomatis bertambah sesuai dengan setiap data yang muncul
pada kategori tertentu.
public final void add(int bagIndex, Instance dataset) throws Exception {
int classIndex;
double weight;
classIndex = (int) instance.classValue();
weight = instance.weight();
m_perClassPerBag[bagIndex][classIndex] =
m_perClassPerBag[bagIndex][classIndex]+weight;
m_perBag[bagIndex] = m_perBag[bagIndex] + weight;
m_perClass[classIndex] = m_perClass[classIndex] + weight;
totaL = totaL + weight;
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
93
4.4.2 Menghitung Entropy Total dari data
Langkah kedua dalam proses klasifikasi algoritma decision tree C4.5 adalah
menghitung Entropy Total dari data, perhitungan dilakukan dengan menggunakan
persamaan (1) yang akan diimplemetaskan ke dalam kode program berikut :
Pada potongan kode program diatas, sistem akan membuat sebuah array double
untuk menyimpan nilai Entropy Total yang dihitung dengan melakukan iterasi
sebanyak jumlah kelas dalam data.
public final double oldEnt(Distribution bags) {
double returnValue = 0;
int j;
for (j=0; j<bags.numClasses(); j++)
returnValue = returnValue+lnFunc(bags.perClass(j));
return (lnFunc(bags.total())-returnValue)/log2;
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
94
4.4.3 Menghitung Entropy dari setiap atribut dalam data
Langkah ketiga dalam proses klasifikasi algoritma decision tree C4.5 adalah
menghitung Entropy dari setiap atribut dalam data, perhitungan dilakukan dengan
menggunakan persamaan (1) yang akan diimplemetasikan ke dalam kode program
berikut :
Pada potongan kode program diatas, sistem akan membuat sebuah array
double untuk menyimpan nilai Entropy dari setiap atribut dalam data yang dihitung
dengan melakukan iterasi sebanyak jumlah data, dan jumlah kelas dalam data untuk
mendapatkan keanggotaaan kelas dari data untuk setiap atribut.
public final double newEnt(Distribution bags) {
double returnValue = 0;
int i,j;
for (i=0; i<bags.numBags(); i++){
for (j=0; j<bags.numClasses(); j++)
returnValue = returnValue+lnFunc(bags.perClassPerBag(i,j));
returnValue = returnValue-lnFunc(bags.perBag(i));
}
return -(returnValue/log2);
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
95
4.4.4 Menghitung Information gain dari setiap atribut dalam data
Langkah keempat dalam proses klasifikasi algoritma decision tree C4.5
adalah menghitung Information gain dari setiap atribut dalam data, perhitungan
dilakukan dengan menggunakan persamaan (2) yang akan diimplemetasikan ke
dalam kode program berikut :
Pada potongan kode program diatas, sistem akan membuat array double
untuk menyimpan nilai perhitungan information gain yang dimana nilainya
didapatkan dari perhitungan Entropy Total dikurangi dengan Entropy dari setiap
atribut dalam data.
public final double splitCritValue(Distribution bags, double totalNoInst) {
double numerator;
double noUnknown;
double unknownRate;
noUnknown = totalNoInst - bags.total();
unknownRate = noUnknown / totalNoInst;
numerator = (oldEnt(bags) - newEnt(bags));
numerator = (1 - unknownRate) * numerator;
// Splits with no gain are useless.
if (Utils.eq(numerator, 0)) {
return 0;
}
return numerator / bags.total();
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
96
4.4.5 Menghitung Gain ratio dari setiap atribut dalam data
Langkah kelima dalam proses klasifikasi algoritma decision tree C4.5 adalah
menghitung Gain ratio dari setiap atribut dalam data, untuk mendapatkan nilai gain
ratio, maka harus dihitung split info terlebih dahulu dengan menggunakan persamaan
(4) yang akan diimplemetasikan ke dalam kode program berikut :
Pada potongan kode program diatas, sistem akan membuat array double
untuk menyimpan nilai perhitungan split info dari setiap atribut dalam data yang
dihitung dengan melakukan iterasi sebanyak jumlah data dalam setiap atribut yang
ada.
private final double splitEnt(Distribution bags, double totalnoInst) {
double returnValue = 0;
double noUnknown;
int i;
noUnknown = totalnoInst - bags.total();
if (Utils.gr(bags.total(), 0)) {
for (i = 0; i < bags.numBags(); i++) {
returnValue = returnValue - lnFunc(bags.perBag(i));}
returnValue = returnValue - lnFunc(noUnknown);
returnValue = returnValue + lnFunc(totalnoInst);}
return returnValue / log2;}}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
97
Setelah mendapatkan nilai split info melalui perhitungan sebelumnya, maka
selanjutnya dapat dihitung nilai gain ratio nya dengan menggunakan persamaan (3)
yang akan diimplemetasikan ke dalam kode program berikut :
Pada potongan kode program diatas, sistem akan membuat array double
untuk menyimpan nilai perhitungan gain ratio dari setiap atribut dalam data yang
dihitung dengan memanggil method untuk menghitung information gain, lalu
menjadikan method ini sebagai pembilang (numerator) , kemudian memanggil
method untuk menghitung split info, lalu menjadikan method ini sebagai pembagi
(denumerator) , yang akhirnya dari hasil membagi information gain dengan split info
akan menghasilkan nilai gain ratio untuk masing-masing atribut.
public final double splitCritValue(Distribution bags, double totalnoInst,
double numerator) {
double denumerator;
// Compute split info.
denumerator = splitEnt(bags, totalnoInst);
// Test if split is trivial.
if (Utils.eq(denumerator, 0)) {
return 0;}
denumerator = denumerator / totalnoInst;
return numerator / denumerator;
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
98
Setelah mendapatkan nilai gain ratio, sistem akan melakukan perbandingan
nilai gain ratio dari setiap atribut dalam data, dimana nilai tertinggi akan dijadikan
split point untuk pembagian partisi setiap aribut yang akan menghasilkan hasil
klasifikasi dalam bentuk decision tree, yang diimplementasikan pada kode program
berikut :
for (i = 0; i < data.numAttributes(); i++) {
if ((i != (data).classIndex()) && (currentModel[i].checkModel())) {
if ((currentModel[i].infoGain() >= (averageInfoGain - 1E-3))
&& Utils.gr(currentModel[i].gainRatio(), minResult)) {
bestModel = currentModel[i];
minResult = currentModel[i].gainRatio();
}
}
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
99
4.5 Pengujian
4.5.1 Menghitung Evaluasi Cross Validation
Teknik cross validation digunakan untuk melakukan validasi keakuratan dari
suatu klasifikasi. Pada tahap ini akan dijelaskan beberapa proses dalam melakukan
evaluasi dengan cross validation. Untuk melakukan evaluasi klasifikasi dengan
teknik cross validation, perlu diperhatikan beberapa langkah yaitu :
1. Melakukan perulangan sebanyak jumlah fold. Selama perulangan
tersebut dilakukan pengambilan data secara random sebagai data training
sebanyak dari hasil pembagian antara jumlah total data dan jumlah fold.
2. Lakukan klasifikasi pada data training dengan algoritma decision tree
C4.5.
3. Lakukan pengambilan data sebanyak dari jumlah sisa pembagian data
training secara random sebagai data validasi, kemudian mengevaluasi
model klasifikasi yang telah dilakukan sebelumya terhadap data validasi
yang ada.
4. Dapatkan statistik hasil kinerja evaluasi model pengklasifikasian pada
data berupa true positive, true negative, false positive, dan false negative.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
100
Langkah pertama yang dilakukan pada sistem adalah melakukan perulangan
sebanyak jumlah fold, selama proses tersebut lakukan tersebut dilakukan
pengambilan data secara random sebagai data training ,berikut kode programnya :
Pada potongan kode program diatas, perulangan dilakukan untuk mengambil
data yang akan dijadikan data training secara random, proses dilakukan sebanyak
jumlah fold yang ditentukan.
Langkah kedua yang dilakukan pada sistem adalah melakukan klasifikasi
pada data training dengan algoritma decision tree C4.5, berikut kode programnya :
Pada potongan kode program diatas, akan dilakukan klasifikasi pada data
training dengan algoritma decision tree C4.5, yang kemudian hasil dari model
klasifikasi yang telah dilakukan akan dievaluasi pada langkah selanjutnya.
Langkah ketiga yang dilakukan pada sistem adalah melakukan pengambilan
data yang akan dijadikan data validasi secara random, lalu akan dilakukan evaluasi
model klasifikasi yang telah dilakukan sebelumya terhadap data validasi yang ada,
berikut kode programnya :
for (int i = 0; i < numFolds; i++) {
Instances train = data.trainCV(numFolds, i, random);
Classifier copiedClassifier = AbstractClassifier.makeCopy(classifier);
copiedClassifier.buildClassifier(train);
Instances validation = data.testCV(numFolds, i);
evaluateModel(copiedClassifier, validation);
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
101
Pada potongan kode program diatas, perulangan dilakukan untuk mengambil
data yang akan dijadikan data validasi secara random, proses dilakukan sebanyak
jumlah fold yang ditentukan, lalu akan mengevaluasi model klasifikasi yang telah
dilakukan sebelumnya terhadap data validasi yang ada.
Selanjutnya adalah menghitung kinerja evaluasi model pengklasifikasian
pada data, berikut kode programnya :
int actualClass = (int) instance.classValue();
int predictedClass = -1;
double bestProb = 0.0;
for (int i = 0; i < m_NumClasses; i++) {
if (predictedDistribution[i] > bestProb) {
predictedClass = i;
bestProb = predictedDistribution[i];
}
}
m_WithClass += instance.weight();
m_ConfusionMatrix[actualClass][predictedClass] +=
instance.weight();
if (predictedClass != actualClass) {
m_Incorrect += instance.weight();
} else {
m_Correct += instance.weight();
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
102
Pada potongan kode program diatas, sistem akan mengecek hasil klasifikasi
yang salah (jika nilai kelas antara data validasi dan data training tidak sesuai ,
maka bernilai salah, dan akan disimpan dalam array double m_Incorrect ,
sebaliknya jika sesuai maka akan disimpan dalam arraay double m_Correct, dan
nilai keduanya akan bertambah sesuai banyaknya jumlah data yang ada, untuk
kemudian akan ditentukan mana true positive, true negative, false positive, dan
false negative.
Selanjutnya adalah menghitung jumlah data yang bernilai true positive, true
negative, false positive, dan false negative, berikut kode programnya untuk
menghitung true positive :
public double getTruePositives(int classIndex) {
double correct = 0;
for (int j = 0; j < m_NumClasses; j++) {
if (j == classIndex) {
correct += m_ConfusionMatrix[classIndex][j];
}
}
return correct;
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
103
Pada potongan kode program diatas, sistem akan melakukan perulangan
sebanyak jumlah kelas pada data untuk menghitung jumlah data yang
terklasifikasikan secara positif , dan sesuai dengan data yang memang bernilai aktual
positif.
Selanjutnya adalah menghitung jumlah data yang bernilai true negative ,
berikut kode programnya :
Pada potongan kode program diatas, sistem akan melakukan perulangan
bersarang agar tidak menghitung data yang sudah dihitung sebagai true positives
sebanyak jumlah kelas pada data,kemudian menghitung jumlah data yang
terklasifikasikan secara negatif , dan sesuai dengan data yang memang bernilai aktual
negatif.
public double getTrueNegatives(int classIndex) {
double correct = 0;
for (int i = 0; i < m_NumClasses; i++) {
if (i != classIndex) {
for (int j = 0; j < m_NumClasses; j++) {
if (j != classIndex) {
correct += m_ConfusionMatrix[i][j];
}
}
}
}
return correct;
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
104
Selanjutnya adalah menghitung jumlah data yang bernilai false positives ,
berikut kode programnya :
Pada potongan kode program diatas, sistem akan melakukan perulangan
bersarang agar tidak menghitung data yang sudah dihitung sebagai true positives, dan
true negatives sebanyak jumlah kelas pada data,kemudian menghitung jumlah data
yang terklasifikasikan secara positif , dan tidak sesuai dengan data yang ternyata
bernilai aktual negatif, atau dapat dikatakan ini adalah perhitungan misklasifikasi.
public double getFalsePositives(int classIndex) {
double incorrect = 0;
for (int i = 0; i < m_NumClasses; i++) {
if (i != classIndex) {
for (int j = 0; j < m_NumClasses; j++) {
if (j == classIndex) {
incorrect += m_ConfusionMatrix[i][j];
}
}
}
}
return incorrect;
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
105
Selanjutnya adalah menghitung jumlah data yang bernilai false negatives ,
berikut kode programnya :
Pada potongan kode program diatas, sistem akan melakukan perulangan
bersarang agar tidak menghitung data yang sudah dihitung sebagai true positives,true
negatives, dan false positives sebanyak jumlah kelas pada data,kemudian menghitung
jumlah data yang terklasifikasikan secara negatif , dan tidak sesuai dengan data yang
ternyata bernilai aktual positif, atau dapat dikatakan ini adalah perhitungan
misklasifikasi.
public double getFalseNegatives(int classIndex) {
double incorrect = 0;
for (int i = 0; i < m_NumClasses; i++) {
if (i == classIndex) {
for (int j = 0; j < m_NumClasses; j++) {
if (j != classIndex) {
incorrect += m_ConfusionMatrix[i][j];
}
}
}
}
return incorrect;
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
106
4.5.2 Menghitung Presentase Akurasi
Setelah mendapatkan hasil dari true positive, true negative, false positive,
false negative, untuk langkah selanjutnya adalah menghitung presentase akurasi atau
frekuensi benar dari sebuah proses klasifikasi. Menghitung presentase akurasi dari
sebuah klasifikasi dapat mengunakan persamaan (6) yang diimplementasikan ke
dalam kode program sebagai berikut :
4.5.3 Menghitung Presentase Error
Berikut ini adalah kode program untuk menghitung presentase error
public final double pctCorrect() {
return 100 * m_Correct / m_WithClass;
}
public final double pctIncorrect() {
return 100 * m_Incorrect / m_WithClass;
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
107
4.5.4 Melakukan Pengujian Data Tunggal
Pada tahap ini akan dilakukan pengujian data tunggal untuk mendapatkan
hasil prediksi klasifikasi jenis penyakit hipertensi. Dimana untuk mendapatkan
hasilnya dataset akan dibandingkan dengan data testing untuk kemudian dilakukan
pembacaan rule decision tree yang telah dibentuk yang akan menjadi hasil akhir
untuk menentukan prediksi. Berikut kode programnya :
Pada program diatas, sistem akan melakukan import data training dan data
testing, selanjutnya akan dilakukan perulangan untuk melakukan perbandingan
terhadap kedua data tersebut, dan melakukan pembacaan data, lalu mencocokkan
data testing dengan rule decision tree yang telah dibentuk dengan melakukan proses
klasifikasi pada data training sebelumnya, dimana dari bentuk rule akan menjadi
hasil akhir untuk menentukan prediksi
Instances trainset = TestC45.readCSV(d:/hypertension.csv);
Instances testset = TestC45.readTestFile(d:/hypSingle.csv);
Classifier C45 = new C45Classifier();
C45.buildClassifier(trainset);
for (int j = 0; j < testset.numInstances(); j++) {
Instance newInst = testset.instance(j);
double predC45 = C45.classifyInstance(newInst);
String predString = testset.classAttribute().value((int) predC45);
System.out.println(predString);
}
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
108
BAB V
PENGUJIAN DAN ANALISA HASIL
5.1 Hasil Pengujian Sistem
Tahap akhir pada penelitian ini adalah pengujian sistem yang telah dibangun
menggunakan algoritma decision tree C4.5. Pada tahap ini, pengujian akan dilakukan
untuk melihat hasil akurasi, hasil decision tree, dan hasil prediksi data tunggal.
5.1.1 Hasil Uji Akurasi
Proses dari uji akurasi ini dilakukan dengan menggunakan teknik k-fold cross
validation yaitu membagi dataset menjadi beberapa kelompok data training dan data
testing. Dalam pengujian ini, penulis menggunakan 3 fold, 5 fold, 10 fold, 15 fold,
dan 20 fold.
Selanjutnya, setelah data dikelompokkan menjadi beberapa kelompok (sesuai
nilai fold), maka langkah selanjutnya menghitung tingkat akurasi dari dataset
hipertensi. Proses perhitungan tingkat akurasi data menggunakan rumus yang telah
dibahas pada bab sebelumnya. Berikut hasil dari pengujian sistem :
108
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
109
Gambar 5.1 Dataset yang akan diuji
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
110
Gambar 5.2 Hasil uji akurasi menggunakan 3 fold
Gambar diatas merupakan hasil uji akurasi menggunakan 3 fold cross
validation dimana didapatkan hasil akurasi sejumlah 96.6 % dan error sejumlah 3.4
%, lalu didapatkan pula jumlah data yang terklasifikasi benar sejumlah 632 data, dan
data yang terklasifikasi salah sejumlah 22 data dari total jumlah 654 data.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
111
Gambar 5.3 Hasil uji akurasi menggunakan 5 fold
Gambar diatas merupakan hasil uji akurasi menggunakan 5 fold cross
validation dimana didapatkan hasil akurasi sejumlah 97.1 % dan error sejumlah 2.9
%, lalu didapatkan pula jumlah data yang terklasifikasi benar sejumlah 635 data, dan
data yang terklasifikasi salah sejumlah 19 data dari total jumlah 654 data.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
112
Gambar 5.4 Hasil uji akurasi menggunakan 10 fold
Gambar diatas merupakan hasil uji akurasi menggunakan 10 fold cross
validation dimana didapatkan hasil akurasi sejumlah 97.9 % dan error sejumlah 2.1
%, lalu didapatkan pula jumlah data yang terklasifikasi benar sejumlah 640 data, dan
data yang terklasifikasi salah sejumlah 14 data dari total jumlah 654 data.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
113
Gambar 5.5 Hasil uji akurasi menggunakan 15 fold
Gambar diatas merupakan hasil uji akurasi menggunakan 15 fold cross
validation dimana didapatkan hasil akurasi sejumlah 97.4 % dan error sejumlah 2.6
%, lalu didapatkan pula jumlah data yang terklasifikasi benar sejumlah 637 data, dan
data yang terklasifikasi salah sejumlah 17 data dari total jumlah 654 data.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
114
Gambar 5.6 Hasil uji akurasi menggunakan 20 fold
Gambar diatas merupakan hasil uji akurasi menggunakan 20 fold cross
validation dimana didapatkan hasil akurasi sejumlah 97.2 % dan error sejumlah 2.8
%, lalu didapatkan pula jumlah data yang terklasifikasi benar sejumlah 636 data, dan
data yang terklasifikasi salah sejumlah 18 data dari total jumlah 654 data.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
115
Setelah dilakukan pengujian pada sistem menggunakan 3, 5, 10, 15 dan 20
fold cross validation maka rangkuman hasilnya dapat dilihat pada tabel berikut :
Tabel 5.1 Hasil Akurasi Sistem
Dari rangkuman hasil pengujian pada sistem seperti terlihat pada tabel
diatas dapat disimpulkan bahwa :
1. Jumlah fold dapat mempengaruhi hasil dari akurasi.
2. Nilai rata-rata presentase untuk hasil dari akurasi sebesar 97.2 %
3. Nilai rata-rata presentase untuk hasil dari error sebesar 2.8 %
4. Pada pengujian diatas, yang memiliki hasil presentase akurasi tertinggi
adalah pada pengujian dengan menggunakan fold bernilai 10,
sedangkan yang memiliki hasil akurasi terendah adalah di pengujian
dengan menggunakan fold bernilai 3
Fold Akurasi Error Data Benar Data Salah
3 96.6 % 3.4 % 632 22
5 97.1 % 2.9 % 635 19
10 97.9 % 2.1 % 640 14
15 97.4 % 2.6 % 637 17
20 97.2 % 2.8 % 636 18
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
116
Gambar 5.7 Dataset yang akan diuji (bagian II)
Setelah dilakukan pengujian untuk seluruh atribut data diatas, maka
dilanjutkan pengujian untuk dua atribut yang mempunyai nilai gain ratio tertinggi
yaitu sistolik dan diastolik tanpa menggunakan atribut yang lain, berikut adalah
datanya :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
117
Gambar 5.8 Hasil Uji Akurasi menggunakan 3 fold (bagian II)
Gambar diatas merupakan hasil uji akurasi menggunakan 3 fold cross
validation dimana didapatkan hasil akurasi sejumlah 98.3 % dan error sejumlah 1.7
%, lalu didapatkan pula jumlah data yang terklasifikasi benar sejumlah 643 data, dan
data yang terklasifikasi salah sejumlah 11 data dari total jumlah 654 data.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
118
Gambar 5.9 Hasil Uji Akurasi menggunakan 5 fold (bagian II)
Gambar diatas merupakan hasil uji akurasi menggunakan 5 fold cross
validation dimana didapatkan hasil akurasi sejumlah 98.3 % dan error sejumlah 1.7
%, lalu didapatkan pula jumlah data yang terklasifikasi benar sejumlah 643 data, dan
data yang terklasifikasi salah sejumlah 11 data dari total jumlah 654 data.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
119
Gambar 5.10 Hasil Uji Akurasi menggunakan 10 fold (bagian II)
Gambar diatas merupakan hasil uji akurasi menggunakan 10 fold cross
validation dimana didapatkan hasil akurasi sejumlah 98.3 % dan error sejumlah 1.7
%, lalu didapatkan pula jumlah data yang terklasifikasi benar sejumlah 643 data, dan
data yang terklasifikasi salah sejumlah 11 data dari total jumlah 654 data.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
120
Gambar 5.11 Hasil Uji Akurasi menggunakan 15 fold (bagian II)
Gambar diatas merupakan hasil uji akurasi menggunakan 15 fold cross
validation dimana didapatkan hasil akurasi sejumlah 98.3 % dan error sejumlah 1.7
%, lalu didapatkan pula jumlah data yang terklasifikasi benar sejumlah 643 data, dan
data yang terklasifikasi salah sejumlah 11 data dari total jumlah 654 data.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
121
Gambar 5.12 Hasil Uji Akurasi menggunakan 20 fold (bagian II)
Gambar diatas merupakan hasil uji akurasi menggunakan 20 fold cross
validation dimana didapatkan hasil akurasi sejumlah 98.3 % dan error sejumlah 1.7
%, lalu didapatkan pula jumlah data yang terklasifikasi benar sejumlah 643 data, dan
data yang terklasifikasi salah sejumlah 11 data dari total jumlah 654 data.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
122
Setelah dilakukan pengujian bagian II pada sistem menggunakan 3, 5, 10, 15
dan 20 fold cross validation maka rangkuman hasilnya dapat dilihat pada tabel
berikut :
Tabel 5.2 Hasil Akurasi Sistem (bagian II)
Dari rangkuman hasil pengujian bagian II pada sistem seperti terlihat pada
tabel diatas dapat disimpulkan bahwa :
1. Jumlah fold tidak mempengaruhi hasil dari akurasi karena penggunaan
atribut dengan jumlah minim pada pengujian bagian II ini
2. Nilai rata-rata presentase untuk hasil dari akurasi sebesar 98.3 %
3. Nilai rata-rata presentase untuk hasil dari error sebesar 1.7 %
Fold Akurasi Error Data Benar Data Salah
3 98.3 % 1.7 % 643 11
5 98.3 % 1.7 % 643 11
10 98.3 % 1.7 % 643 11
15 98.3 % 1.7 % 643 11
20 98.3 % 1.7 % 643 11
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
123
5.1.2 Hasil Decision Tree
Setelah proses hasil uji akurasi pada subbab sebelumnya, maka dihasilkan
pula suatu model klasifikasi yang terbentuk dari algoritma C4.5 dimana model
tersebut direpresentasikan sebagai struktur pohon, yaitu pohon keputusan yang
memuat informasi dan rule dari data hipertensi yang telah diproses oleh algoritma
ini. Berikut hasil dari decision tree yang terbentuk :
Gambar 5.13 simpul daun decision tree bagian kiri
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
124
Dari gambar 5.13 didapatkan informasi bahwa atribut sistolik menjadi akar
(root) dari decision tree yang terbentuk, yang kemudian akan menghasilkan
sekumpulan aturan (rule) sebagai berikut :
1. IF sistolik <=130 AND sistolik <=115 THEN status :NORMAL (112.0/1.0)
2. IF sistolik <=130 AND sistolik >115 THEN status :PREHIP (259.0/5.0)
Berdasarkan aturan diatas, dapat diketahui bahwa jika jumlah sistolik <=130
dan sistolik <=115 maka status levelnya diklasifikasikan sebagai NORMAL, lalu
berikutnya jika jumlah sistolik <=130 dan sistolik >115 maka status levelnya
diklasifikasikan sebagai PREHIP.
Setelah didapat aturan untuk simpul daun decision tree bagian kiri, maka
dilanjutkan dengan simpul daun decision tree pada bagian kanan yang dapat dilihat
pada gambar 5.14
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
125
Gambar 5.14 simpul daun decision tree bagian kanan
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
126
Dari gambar 5.14 didapatkan informasi bahwa atribut sistolik yang memiliki
nilai >130 akan membentuk struktur decision tree dengan banyak simpul cabang
yang kemudian menghasilkan sekumpulan aturan (rule) sebagai berikut :
1. IF sistolik >130 AND sistolik <=150 AND sistolik <=140 AND gender =
wanita AND umur = lansia_akhir AND total <= 181.8 AND wbc <= 6.89
THEN status :PREHIP (2.0)
2. IF sistolik >130 AND sistolik <=150 AND sistolik <=140 AND gender =
wanita AND umur = lansia_akhir AND total <= 181.8 AND wbc >6.89 THEN
status :STADIUM1 (2.0)
3. IF sistolik >130 AND sistolik <=150 AND sistolik <=140 AND gender =
wanita AND umur = lansia_akhir AND total >181.8 THEN status :STADIUM1
(14.0)
4. IF sistolik >130 AND sistolik <=150 AND sistolik <=140 AND gender =
wanita AND umur = manula THEN status :STADIUM1 (19.0/1.0)
5. IF sistolik >130 AND sistolik <=150 AND sistolik <=140 AND gender =
wanita AND umur = lansia_awal THEN status :STADIUM1 (8.0)
6. IF sistolik >130 AND sistolik <=150 AND sistolik <=140 AND gender =
wanita AND umur = dewasa_akhir THEN status :STADIUM1 (5.0)
7. IF sistolik >130 AND sistolik <=150 AND sistolik <=140 AND gender =
wanita AND umur = dewasa_awal THEN status :STADIUM1 (0.0)
8. IF sistolik >130 AND sistolik <=150 AND sistolik <=140 AND gender = pria
THEN status :STADIUM1 (56.0/1.0)
9. IF sistolik >130 AND sistolik >140 AND sistolik <=150 THEN status
:STADIUM1 (59.0)
10. IF sistolik >130 AND sistolik >150 THEN status :STADIUM2 (118.0)
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
127
Gambar 5.15 simpul daun decision tree bagian kiri dari pengujian II
Setelah menganalisa hasil decision tree untuk pengujian pertama sebelumnya,
maka selanjutnya menganalisa untuk pengujian bagian II, berikut hasil dari decision
tree yang terbentuk dari pengujian bagian II :
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
128
Gambar 5.16 simpul daun decision tree bagian kanan dari pengujian II
Dari gambar 5.15 didapatkan informasi bahwa atribut sistolik masih menjadi
akar (root) dari decision tree yang terbentuk pada pengujian bagian II ini ,yang
berarti bahwa rule yang dihasilkan akan sama dengan pengujian pertama sebelumnya
yang dapat dilihat pada penjelasan gambar 5.13
Setelah didapat simpul daun decision tree bagian kiri, maka dilanjutkan
dengan simpul daun decision tree pada bagian kanan yang dapat dilihat pada gambar
5.16
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
129
Dari gambar 5.16 didapatkan informasi bahwa atribut sistolik yang memiliki
nilai <= 150 akan langsung membentuk simpul akhir dengan hasil STADIUM1
sebanyak 165 data yang merupakan hasil penjumlahan masing-masing data dalam
banyak cabang pohon keputusan yang telah terbentuk dari pengujian pertama yang
bisa dilihat pada gambar 5.14, dengan kata lain pengujian bagian II bertujuan
menganasila bagaimana algoritma decision tree C4.5 melakukan pemangkasan
cabang pohon (pruning).
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
130
5.1.3 Hasil Uji Data Tunggal
Proses dari uji data tunggal ini adalah pengguna melakukan impor data
tunggal, selanjutnya melakukan proses perhitungan menggunakan rumus yang telah
dibahas pada bab sebelumnya. Berikut hasil dari pengujian sistem :
Gambar 5.17 Data testing atau data tunggal yang akan diuji
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
131
Gambar 5.18 Hasil pengujian data tunggal
Dari pengujian diatas dapat disimpulkan bahwa hasil pengujian untuk data
tunggal didapatkan dari decision tree yang telah dihasilkan oleh algoritma C4.5 yang
dapat dilihat pada bagian pengujian akurasi.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
132
BAB VI
PENUTUP
6.1 Kesimpulan
Berdasarkan hasil penelitan klasifikasi hipertensi menggunakan algoritma
decision tree C4.5 ini, dapat diambil kesimpulan sebagai berikut :
1. Dari hasil pengujian tingkat akurasi data dengan menggunakan 3, 5, 10, 15, 20
fold dalam sistem ini, dihasilkan rata-rata akurasi sebesar 97.2 %
2. Dari hasil 12 rule yang terbentuk dari decision tree didapat informasi bahwa
atribut sistolik adalah atribut yang paling berpengaruh dalam pengklasifikasian
penyakit hipertensi berdasarkan data yang di proses, disusul oleh atribut
gender, umur, wbc, dan total.
132
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
133
6.2 Saran
Sebagai penutup dari penelitian ini, terdapat beberapa saran yang dapat
berguna bagi mahasiswa dan peneliti lainnya, antara lain sebagai berikut :
1. Sistem ini dapat dikembangkan agar dapat menerima file dengan
ekstensi file .xlsx, .data , serta dapat diintegrasikan dengan sistem
manajemen basis data.
2. Hasil klasifikasi pada sistem dapat dikembangkan dalam bentuk
sekumpulan aturan (rule) sehingga mudah dibaca dan dipahami.
3. Sistem hanya terbatas pada jumlah atribut sebanyak 16 input. Oleh,
karena itu, sistem ini dikembangkan agar dapat menerima batasan
kapasitas jumlah variabel input yang lebih banyak agar dapat
memproses data dalam skala besar.
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
134
DAFTAR PUSTAKA
Ian H. Witten, Eibe Frank (2005). Data Mining: Practical Machine Learning
Tools and Techniques. San Francisco: Elsevier Inc.
Quinlan, J.R. (1992).C4.5 Programs for Machine Learning, San Mateo, CA:
Morgan Kaufmann.
“The Seventh Report of the Joint National Committe (JNC 7) on Prevention,
Detection, Evaluation, and Treatment of High Blood Pressure”, U.S. Department of
Health and Human Services, 2003.
“The Eight Report of the Joint National Committe (JNC 8) on Prevention,
Detection, Evaluation, and Treatment of High Blood Pressure”, U.S. Department of
Health and Human Services, 2003.
Wajhillah, Rusda (2014). “Optimasi Algoritma Klasifikasi C4.5 Berbasis
Particle Swarm Optimization Untuk Prediksi Penyakit Jantung” Swabumi Vol I No.
1, September 2014, ISSN 2355-990X.
Moertini, Sri Veronica (2007). “Pengembangan Skalabilitas Algoritma
Klasifikasi C4.5 Dengan Pendekatan Konsep Operator Relasi (Studi Kasus: Pra-
Pengolahan Dan Klasifikasi Citra Batik)”, Institut Teknologi Bandung
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LAMPIRAN I
FLOWCHART ALUR SISTEM
Start
Pilih Dataset
Masukkan Jumlah fold
Melakukan
Uji Akurasi
Melakukan
Uji Data
Tunggal
Pilih Data testing
END
Yes
Yes
Yes
Yes Yes
Yes No
No
No
No
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI