1 BAB I PENDAHULUAN 1.1 Latar Belakang Haemodialisis

advertisement
BAB I
PENDAHULUAN
1.1 Latar Belakang
Haemodialisis merupakan salah satu bentuk terapi pengganti ginjal (renal
replacement theraphy) di mana dalam prosesnya darah dialirkan keluar tubuh
(extra corporeal circulation) dan darah masuk ke dalam ginjal buatan/dializer.
Di dalam dializer ini darah dilakukan dialisis dan di ultrafiltrasi. Setelah darah
melewati ginjal buatan darah masuk melalui akses darah. Proses haemodialisis
rutin berlangsung selama empat jam. Pasien gagal ginjal yang menjalani
haemodialisa, membutuhkan waktu 12-15 jam untuk dialisa setiap minggunya,
atau paling sedikit 3-4 jam setiap kali terapi. Kegiatan ini akan berlangsung terusmenerus sepanjang hidupnya. [1]
Diperkirakan bahwa ada lebih dari 100.000 pasien yang akhir-akhir ini
menjalani Hemodialisa. Hemodialisa merupakan suatu proses pengobatan yang
digunakan pada pasien dalam keadaan sakit akut dan memerlukan terapi dialisis
jangka pendek (beberapa hari hingga beberapa minggu) atau pasien dengan
penyakit ginjal stadium terminal (ESRD;end-stage renal disease) yang
membutuhkanterapi jangka panjang atau terapi permanent.[2]
Menurut data di Rumah Sakit Umum (RSUD) Kardinah Tegal tahun 2013
terdapat 57 pasien baru dengan 1.275 tindakan haemodialisa sedangkan tahun
2014 terdapat 86 pasien baru dengan 1.952 tindakan haemodialisa, sedangkan
bulan Januari-Februari 2015 terdapat 16 pasien baru dengan 683 tindakan
haemodialisa [3].
Keadaan ketergantungan pada mesin dialisa seumur hidupnya serta
penyesuaian diri terhadap kondisi sakit mengakibatkan terjadinya perubahan
dalam kehidupan pasien. Dampak psikologis pasien gagal ginjal kronik yang
menjalani program terapi seperti haemodialisa dapat dimanifestasikan dalam
serangkaian perubahan perilaku antara lain menjadi pasif, ketergantungan,
merasa tidak aman, bingung, menderita dan cemas [2].
1
2
Pada umumnya pendeteksian pasien harus dilakukan hemodialisa adalah
dengan cara prognosis. Prognosis adalah“tebakan terbaik” tim medis dalam
menentukan sembuhatau tidaknya pasien dari kanker payudara [4]. Selaindengan
prognosis, cara lainnya adalah pemanfaatanbioinformatic dengan menggunakan
teknik data mining [5][6], karena telah terbukti dapat memprediksi pasien unntu
diberikan hemodialisa.
Data Mining merupakan penambangan atau penemuan informasi baru dengan
mencari pola atau aturan tertentu dari sejumlah data dalam jumlah besar yang
diharapkan dapat mengatasi kondisi tersebut. Data Mining sendiri memiliki
beberapa teknik salah satunya klasifikasi. Teknik klasifikasi terdiri beberapa
metode, dan dicision tree adalah bagian dari metode klasifikasi. Kemudian
metode dicision tree memiliki algoritma, algoritma C4.5 adalah salah satu dari
algoritma yang memiliki dicisiontree.
Data mining mempunyai beberapa algoritma, salahsatunya yaitu algoritma
C4.5 atau disebut juga algoritmadecision tree [7]. Data mining adalah proses
menemukanpola dengan memilah-milah sejumlah data yang besarmenggunakan
teknologi pengenalan pola [8]. Sedangkanalgoritma C4.5 atau disebut juga
algoritma decision treemerupakan metode klasifikasi dan prediksi yang sangat
kuat dan terkenal [7]. Berikut beberapa kelebihan dari decision tree, antara lain
[9] :
a. Hasil analisa berupa diagram pohon yang mudah dimengerti.
b. Mudah untuk dibangun, serta membutuhkan data percobaan yang lebih
sedikit dibandingkan algoritma klasifikasi lainnya.
c. Mampu mengolah data nominal dan kontinyu.
d. Model yang dihasilkan dapat dengan mudah dimengerti.
e. Menggunakan teknik statistik sehingga dapat divalidasikan.
f. Waktu komputasi relatif lebih cepat dibandingkan teknik klasifikasi lainnya.
g. Akurasi yang dihasilkan mampu menandingi teknik klasifikasi lainnya.
Berdasarkan latar belakang diatas, maka penelitian iniakan menerapkan
algoritma C4.5 untuk memprediksi pasien hemodialisa.
3
1.2 Perumusan Masalah
Permasalahan-permasalahan yang berkaitan dengan pembangunan aplikasi ini
sendiri adalah :
1) Bagaimana membangun perangkat lunak dengan algoritma C4.5 pada data
pasien hemodialisa?
2) Bagaimana mengklasifikasikan data pasienuntuk menghasilkan keputusan
apakah pasien termasuk yang harus hemodialisa atau tidak?
3) Bagaimana menganalisis kinerja dari algoritma C4.5 menggunakan skenario
praproses dalam mengklasifikasi data pasien hemodialisa?
1.3 Pembatasan Masalah
Agar pembahasan penelitian ini tidak menyimpang dari apa yang telah
dirumuskan, maka diperlukan batasan-batasan. Batasan-batasan dalam penelitian
ini adalah:
1) Aplikasi data mining dibuat berupa simulator.
2) Data training diambil dari rekam medik hemodialisa RSUD Kardinah (2015)
3) Pohon keputusan untuk menentukan apakah pasien yang harus melakukan
hemodialisa atau tidak adalah dengan melihat hasil tes darah dengan atribut
sebagai berikut :
a) Age (Usia)
b) Gender (Jenis Kelamin)
c) Diagnosa Penyekit Ginjal
d) Ureum
e) Kreatinin
f) Kalium
g) Calsium
h) Hipertensi
4) Algoritma data mining yang digunakan adalah C4.5.
5) Bahasa scripting yang digunakan adalah PHP dan database yang digunakan
adalah MYSQL.
4
6) Teknik pengumpulan data yang digunakan adalah cleaning, mining, pattern
evaluation, dan knowledge presentation.
1.4 Tujuan Penelitian
Adapun tujuan dari penelitian ini adalah sebagai berikut :
1) Membangun perangkat lunak dengan algoritma C4.5 pada data pasien yang
harus melakukan hemodialisa.
2) Mengklasifikasikan data pasien untuk menghasilkan keputusan apakah pasien
yang harus melakukan hemodialisaatau tidak.
3) Menganalisis kinerja dari algoritma C4.5 menggunakan skenario praproses
dalam mengklasifikasi data pasien yang harus melakukan hemodialisa.
1.5 Manfaat Penelitian
Manfaat yang diharapkan akan diperoleh dari penelitian ini adalah:
1) Bagi Mahasiswa
Menambah pengetahuan dan pengalaman bagi mahasiswa. Selain itu
menerapkan ilmu yang telah diperoleh di bangku kuliah mengenai data
mining dan metode klasifikasi yang digunakan.
2) Bagi Akademik Universitas Dian Nuswantoro Semarang
Sebagai bahan evaluasi akademik guna peningkatan mutu pendidikan
serta dapat dijadikan rujukan tentang pembuatan aplikasi yang berkaitan.
3) Bagi Pembaca
Diharapkan dapat digunakan sebagai tambahan pengetahuan dan dapat
menyelesaikan masalah yang sama yaitu dalam menentukan pasien yang
harus dilakukan terapi hemodialisa.
BAB 2
TINJAUAN PUSTAKA DAN LANDASAN TEORI
2.1 Tinjauan Studi
Berikut ini adalah beberapa penelitian yang terkait yang penulis temukan:
1. PENERAPAN ALGORITMA C4.5 UNTUK KLASIFIKASITINGKAT
KEGANASAN KANKER PAYUDARA[10]
Pada penelitian ini bertujuan untuk menerapkan algoritma C4.5 untuk
mengklasifikasitingkat keganasan kanker payudara. Berdasarkan hasil
penelitian ini dapat disimpulkan bahwaklasifikasi tingkat keganasan kanker
payudara dapatdiselesaikan menggunakan teknik data mining, yaitualgoritma
C4.5, karena rules yang terbentuk sederhana.Akurasi yang dihasilkan dari
pemodelan algoritma C4.5dengan pembobotan atribut, yaitu sebesar 98,57%.
Akurasitersebut diperoleh dari kesesuaian antara prediksi klasifikasidan hasil
klasifikasi.Data yang digunakan dalam penelitian ini adalah datasampel dari
public dataset UCI, karena data dari pasienkanker payudara merupakan data
yang private dan sulituntuk didapatkan.Beberapa ide yang dapat digunakan
untuk penelitianselanjutnya adalah sebagai berikut:1. Program inputan data
ini akan lebih bermanfaat jikadata yang digunakan adalah data valid yang
bersumberdari pasien kanker payudara.2. Menambahkan visualisasi pohon
keputusan
dari
rulesyang
terbentuk.3.
Penelitian
selanjutnya
dapat
dikembangkan denganmenggabungkan beberapa metode data mining,
sepertialgoritma C4.5 yang digabungkan dengan ParticleSwarm Optimization
(PSO).
2. IMPLEMENTASI TEKNIK DATA MINING DIDALAM ANALISIS
PENYAKIT
DIABETES
MELLITUS
TIPE
II
MENGGUNAKAN
DECISION TREE [11]
Penelitian ini bertujuan untuk menemukaninformasi yang berharga dari
datamenggunakan
teknik
data
mining
untukmembantu
pihak
pengambilkeputusan dibidang kesehatan dalam memahami rulesyang
mungkin terjadi didalam diagnosapenyakit DM tipe II. Analisis data
5
6
terhadaprecord pasien di salah satu rumah sakit inimemungkinkan pula
diagnosa
penyakit
yang
benar dan tepat. Hasil penelitian berhasil mengumpulkan danmenganalisa
data rekam medis pasiendiabetes mellitus tipe II, dan menghasilkanbeberapa
rules yang dapat digunakan pihakrumah sakit dalam pengambilan keputusan
dibidang kesehatan, khususnya dalammendiagnosa penyakit diabetes mellitus
tipe II.
3. PEMBANGUNAN
PERANGKAT
LUNAK
DATA
MININGMENGGUNAKAN ALGORITMA C4.5PADA DATA PASIEN
LIVER[12]
Berdasarkan hasil penelitian menunjukan bahwa sebagai berikut : 1)
Perangkat lunak dengan algoritma C4.5 dapat dibangun pada data pasien
liver. 2) Algoritma C4.5 dapat mengklasifikasikan data pasien liver yang
menghasilkan keputusan apakah pasien termasuk penderita liver atau bukan
dengan menguji data dengan data masukan dan menguji data master dengan
membandingkannya dengan hasil pengujian data berdasarkan pohon
keputusan. 3) Dengan menggunakan skenario praproses, kinerja dari
algoritma C4.5 dalam mengklasifikasi data penderita liver adalah sebagai
berikut: a. Rata-rata persentase akurasi pengujian data menggunakan
praproses berdasarkan referensi kesehatan adalah 54,89% dengan akurasi
tertinggi sebesar 67,75% dan akurasi terendah yaitu 45,92%. b. Rata-rata
persentase akurasi pengujian data menggunakan rumus GINI adalah 39,00%
dengan akurasi tertinggi sebesar 56,22% dan akurasi terendah yaitu 22,41%.
2.2 Haemodalisa
Haemodialisa adalah prosedur pembersihan darah melalui suatu ginjal
buatan dan dibantu pelaksanaannya oleh semacam mesin Haemodialisa sebagai
terapi yang dapat meningkatkan kualitas hidup dan memperpanjang usia.
Haemodialisa merupakan metode pengobatan yang sudah dipakai secara luas dan
rutin dalam program penanggulangan gagal ginjal akut maupun gagal ginjal
kronik[13]
7
Haemodialisa merupakan suatu proses yang digunakan pada pasien dalam
keadaan sakit akut dan memerlukan terapi dialisis jangka pendek (beberapa hari
hingga beberapa minggu) atau pasien dengan penyakit ginjal stadium terminal
yang membutuhkan terapi jangka panjang atau terapi permanen. Sehelai
membran sintetik yang semi-permeable menggantikan glomerulus serta tubulus
renal dan bekerja sebagai filter bagi ginjal yang terganggu fungsinya itu bagi
penderita gagal ginjal kronis, haemodialisa akan mencegah kematian. Namun
demikian, haemodialisa tidak menyembuhkan atau memulihkan penyakit
ginjal.[14]
2.1.1 Prinsip yang Mendasari Haemodialisa
Tujuan haemodialisa adalah untuk mengambil zat-zat nitrogen yang
toksik dari dalam darah dan mengeluarkan air yang berlebihan. Ada tiga
prinsip yang mendasari kerja haemodialisa yaitu difusi, osmosis dan
ultrafiltrasi. Toksin dan zat limbah di dalam darah dikeluarkan melalui proses
difusi dengan cara bergerak dari darah, yang memiliki konsentrasi lebih tinggi
ke cairan dialisat yang konsentrasinya rendah[14]
Air yang berlebihan dikeluarkan dari dalam tubuh melalui proses
osmosis. Pengeluaran air dapat dikendalikan dengan menciptakan gradien
tekanan: dengan kata lain, air bergerak dari daerah dengan tekanan yang lebih
tinggi (tubuh pasien) ke tekanan yang lebih rendah (cairan dialisat). Gradien ini
dapat ditingkatkan melalui penambahan tekanan negatif yang dikenal dengan
ultrafiltrasi pada mesin dialisis. Tekanan negatif diterapkan pada alat ini
sebagai kekuatan pengisap pada membran dan memfasilitasi pengeluaran air.
Karena pasien tidak dapat meng-ekskresikan air, kekuatan ini diperlukan untuk
mengeluarkan cairan hingga tercapai isovolemia (keseimbangan cairan).[14]
2.1.2 Indikasi Haemodalisa
Terapi hemodialisa akan dilakukan jika penderita mengalami beberapa indikasi
seperti dibawah ini:[13]
1) Hiperkalemia ( K > 6 mEq/l)
8
Hyperkalemia (kadar kalium darah yang tinggi) adalah suatu keadaan
dimana konsentrasi kalium darah lebih dari 6 mEq/L. Selain itu,
Hyperkalemia adalah suatu kondisi di mana terlalu banyak kalium dalam
darah. Sebagian besar kalium dalam tubuh (98%) ditemukan dalam sel dan
organ. Hanya jumlah kecil beredar dalam aliran darah. Kalium membantu
sel-sel saraf dan otot, termasuk fungsi, jantung. Ginjal biasanya
mempertahankan tingkat kalium dalam darah, namun jika memiliki
penyakit ginjal merupakan penyebab paling umum dari hiperkalemia.
2) Asidosis
Dalam keadaan normal, ginjal menyerap asam sisa metabolisme
dari darah dan membuangnya ke dalam urin. Pada penderita penyakit ini,
bagian dari ginjal yang bernama tubulus renalis tidak dapat berfungsi
sebagaimana mestinya, sehingga hanya sedikit asam yang dibuang ke
dalam urin. Akibatnya terjadi penimbunan asam dalam darah, yang
mengakibatkan terjadinya asidosis, yakni tingkat keasamannya menjadi di
atas ambang normal.
3) Kegagalan terapi konservatif
4) Kadar ureum/kreatinin tinggi dalam darah
Peningkatan kadar urea disebut uremia. Azotemia mengacu pada
peningkatan semua senyawa nitrogen berberat molekul rendah (urea,
kreatinin, asam urat) pada gagal ginjal. Penyebab uremia dibagi menjadi
tiga, yaitu penyebab prarenal, renal, dan pascarenal. Uremia prarenal terjadi
karena gagalnya mekanisme yang bekerja sebelum filtrasi oleh glomerulus.
Mekanisme tersebut meliputi : 1) penurunan aliran darah ke ginjal
seperti pada syok, kehilangan darah, dan dehidrasi; 2) peningkatan
katabolisme protein seperti pada perdarahan gastrointestinal disertai
pencernaan hemoglobin dan penyerapannya sebagai protein dalam
makanan, perdarahan ke dalam jaringan lunak atau rongga tubuh,
hemolisis, leukemia (pelepasan protein leukosit), cedera fisik berat, luka
bakar, demam.
9
Uremia renal terjadi akibat gagal ginjal (penyebab tersering) yang
menyebabkan gangguan ekskresi urea. Gagal ginjal akut dapat disebabkan
oleh glomerulonefritis, hipertensi maligna, obat atau logam nefrotoksik,
nekrosis
korteks
glomerulonefritis,
ginjal.
Gagal
pielonefritis,
ginjal
diabetes
kronis
disebabkan
mellitus,
oleh
arteriosklerosis,
amiloidosis, penyakit tubulus ginjal, penyakit kolagen-vaskular.
5) Perikarditis dan konfusi yang berat.
Perikarditis adalah peradangan lapisan paling luar jantung baik pada
parietal maupun viseral. Sedangkan konfusi adalah suatu keadaan ketika
individu mengalami atau beresiko mengalami gangguan kognisi, perhatian,
memori dan orientasi dengan sumber yang tidak diketahui.
6) Hiperkalsemia dan Hipertensi.
Hiperkalsemia (kadar kalsium darah yang tinggi) adalah penyakit
dimana penderitanya mengalami keadaan kadar kalsium darahnya melebihi
takaran
normal
ilmu
kesehatan.
Penyebab
penyakit
ini
karena
meningkatnay penyerapan pada saluran pencernaan atau juga dikarenakan
asupan kalsium yang berlebihan. Seain itu juga mengkonsumsi vitamin D
secara berlebihan juga dapat mempengaruijumlah kalsium darah dalam
tubuh.Hipertensi atau tekanan darah tinggi merupakan gangguan pada
sistem peredaran darah yang dapat menyebabkan kenaikan tekanan darah di
atas nilai normal, yaitu melebihi 140 / 90 mmHg.
2.1.3 Penatalaksanaan Jangka Panjang Pasien yang Menjalani Haemodialisa
Penatalaksanaan jangka panjang pasien yang menjalani haemodialisa
dilakukan dengan diet, masalah cairan. Diet merupakan faktor penting bagi
pasien yang menjalani haemodialisa mengingat adanya efek uremia. Apabila
ginjal tidak mampu mengekskresikan produk akhir metabolisme, substansi
yang bersifat asam ini akan menumpuk dalam serum pasien dan bekerja
sebagai racun. Gejala yang terjadi akibat penumpukan tersebut secara kolektif
dikenal dengan gejala uremik dan akan mempengaruhi setiap sistem tubuh.
Lebih banyak toksin yang menumpuk, lebih berat gejala yang timbul.
Diet rendah protein akan mengurangi penumpukan limbah nitrogen dan
10
dengan demikian meminimalkan gejala. Penumpukan cairan juga dapat terjadi
dan dapat mengakibatkan gagal jantung kongestif serta edema paru. Dengan
demikian pembatasan cairan juga merupakan bagian dari resep diet untuk
pasien ini. Dengan penggunaan haemodialisa yang efektif, asupan makanan
pasien dapat diperbaiki meskipun biasanya memerlukan beberapa penyesuaian
atau pembatasan pada asupan protein, natrium, kalium dan cairan.
Pembatasan asupan cairan sampai 1 liter perhari sangat penting karena
meminimalkan resiko kelebihan cairan antar sesi haemodialisa. Jumlah cairan
yang tidak seimbang dapat menyebabkan terjadinya edema paru ataupun
hipertensi pada 2-3 orang pasien haemodialisa. Ketidakseimbangan cairan juga
dapat menyebabkan terjadinya hipertropi pada ventrikel kiri. Beberapa laporan
menyatakan bahwa pembatasan cairan pada pasien haemodialisa sangat
dipengaruhi oleh perubahan musim dan masa-masa tertentu dalam hidupnya.
Seperti penelitian Argiles (2004) menyatakan bahwa asupan cairan pasien akan
sangat tidak terkontrol pada musim panas dan pada masa liburan Natal dan
Tahun Baru karena pada musim panas merangsang rasa haus dan pada masa
liburan natal dan tahun baru banyak mengonsumsi makanan ringan yang kering
dan mengandung garam sehingga memacu keinginan untuk minum.[15]
Jumlah asupan cairan pasien baik cairan yang diminum langsung ataupun
yang dikandung oleh makanan dapat dikaji secara langsung dengan mengukur
kenaikan
berat
badan
antar
sesi
haemodialisa
(Interdialytic
weight
gain/IDWG). IDWG adalah peningkatan berat badan antar haemodialisa yang
paling utama dihasilkan oleh asupan garam dan cairan. Secara teori,
konsekuensi dari asupan tersebut terdiri atas dua bagian yaitu on the one hand
yang artinya asupan air dan salin dapat bekerja sama dengan kalori dan protein
dalam makanan, yang akan disatukan untuk memperoleh status nutrisi yang
lebih baik. Tetapi on the other hand, asupan air dan garam dapat menimbulkan
peningkatan cairan tubuh. Yang menjadi kunci untuk kejadian hipertensi dan
hipertropi ventrikel kiri. IDWG yang dapat ditoleransi oleh tubuh adalah tidak
lebih dari 1,0-1,5 kg atau tidak lebih dari 3 % dari berat badan kering.[16]
Berat kering adalah berat tubuh tanpa adanya kelebihan cairan yang
11
menumpuk diantara dua terapi haemodialisa. Berat kering ini dapat disamakan
dengan berat badan orang dengan ginjal sehat setelah buang air kecil. Berat
kering adalah berat terendah yang dapat ditoleransi oleh pasien sesaat setelah
terapi dialysis tanpa menyebabkan timbulnya gejala turunnya tekanan darah,
kram atau gejala lainnya yang merupakan indikasi terlalu banyak cairan
dibuang. Berat kering ditentukan oleh dokter dengan mempertimbangkan
masukan dari pasien. Dokter akan menentukan berat kering dengan
mempertimbangkan kondisi pasien sebagai berikut: tekanan darah normal,
tidak adanya edema atau pembengkakan, tidak adanya indikasi kelebihan
cairan saat pemeriksaan paru–paru, tidak ada indikasi sesak nafas. Dengan
demikian pembatasan cairan juga merupakan bagian dari resep diet untuk
pasien ini. Cairan dibatasi, yaitu dengan menjumlahkan urin/24jam ditambah
500-750 ml. Urin 24 jam ditambah 500-750 ml adalah jumlah cairan yang
dapat dikonsumsi pasien dan masih dapat ditoleransi oleh ginjal pasien.[13]
2.3 Data Mining
2.3.1
Pengertian Data Mining
Data Mining adalah proses menemukan korelasi baru yang memiliki
makna, pola, dan tren dengan cara memilah-milah data dalam jumlah yang
besar yang disimpan dalam repositori, menggunakan teknologi pengenalan
pola, serta teknik-teknik statistik dan matematik. [17]
Data Mining adalah proses analisis dari data set observasional (yang
sering kali dalam ukuran besar) untuk menemukan relasi explisit dan
membuat ringkasan data dengan teknik-teknik tertentu yang dapat dimengerti
dan berguna bagi pemilik data. [18] Interdisipliner yang mempertemukan
teknik-teknik machine learning, pengenalan pola, statistik, basis data, dan
visualisasi untuk mengatasi permasalahan ekstraksi informasi dari basis data
dengan ukuran yang besar.[19]
Kemajuan luar biasa yang terus berlanjut dalam bidang data mining didorong
oleh beberapa faktor, antara lain: [20]
1) Pertumbuhan yang cepat dalam kumpulan data.
12
2) Penyimpanan data dalam data warehouse, sehingga seluruh perusahaan
memiliki akses ke dalam database yang andal.
3) Adanya peningkatan akses data melalui navigasi web dan intranet.
4) Tekanan kompetisi bisnis untuk meningkatkan penguasaan pasar dalam
globalisasi ekonomi.
5) Perkembangan
teknologi
perangkat
lunak
untuk
data
mining
(ketersediaan teknologi).
6) Perkembangan
yang
hebat
dalam
kemampuan
komputasi
dan
pengembangan kapasitas media penyimpanan.
Berdasarkan beberapa pengertian tersebut dapat ditarik kesimpulan
bahwadata mining adalah suatu teknik menggali informasi berharga yang
terpendam atau tersembunyi pada suatu koleksi data (database) yang sangat
besar sehingga ditemukan suatu pola yang menarik yang sebelumnya tidak
diketahui. Kata mining sendiri berarti usaha untuk mendapatkan sedikit
barang berharga dari sejumlah besar material dasar. Karena itu data mining
sebenarnya memiliki akar yang panjang dari bidang ilmu seperti kecerdasan
buatan (artificial intelligent),machine learning, statistik dan database.
Beberapa metode yang sering disebutsebut dalam literatur data mining antara
lain clustering, classification, associationrules mining, neural network,
genetic algorithm dan lain-lain.[21]
2.3.2
Pengenalan Pola, Data Mining, dan Machine Learning
Pengenalan pola adalah suatu disiplin ilmu yang mempelajari cara-cara
mengklasifikasikan obyek ke beberapa kelas atau kategori dan mengenali
kecenderungan data. Tergantung pada aplikasinya, obyek-obyek ini bisa
berupa pasien, mahasiswa, pemohon kredit, image atau signal atau
pengukuran lain yang perlu diklasifikasikan atau dicari fungsi regresinya.[22]
Data mining, sering juga disebut knowledge discovery in database
(KDD), adalah kegiatan yang meliputi pengumpulan, pemakaian data historis
untuk menemukan keteraturan, pola atau hubungan dalam set data berukuran
besar. Keluaran dari data mining ini bisa dipakai untuk memperbaiki
13
pengambilan keputusan di masa depan. Sehingga istilah pattern recognition
jarang digunakan karena termasuk bagian dari data mining. [22]
Machine Learning adalah suatu area dalam artificial intelligence atau
kecerdasan buatan yang berhubungan dengan pengembangan teknik-teknik
yang bisa diprogramkan dan belajar dari data masa lalu. Pengenalan pola,
data mining dan machine learning sering dipakai untuk menyebut sesuatu
yang sama. Bidang ini bersinggungan dengan ilmu probabilitas dan statistik
kadang juga optimasi.
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. Gambar 2.1 menunjukkan bahwa data mining
memiliki akar yang panjang dari bidang ilmu seperti kecerdasan buatan
(artificial intelligence),machine learning, statistic, database, dan juga
information retrieval. [23]
Pencarian Informasi
Pembelajaran
(neural network, pohon keputusan, fuzzy)
Ektraksi Data
(bahasa alami, web, penstrukturan)
DATA
MINING
Statistik
Dasar
(seleksi, hasil presentasi)
Artificial
Intelligent
Data yang Besar
(normalisasi data/transformasi,
OLAP)
Database
Gabar 2.1 Bidang Ilmu Data Mining [23]
2.3.3
Tahap-Tahap Data mining
14
Sebagai suatu rangkaian proses, data mining dapat dibagi menjadi beberapa
tahap yang diilustrasikan di Gambar 2.2. Tahap-tahap tersebut bersifat
interaktif, pemakai terlibat langsung atau dengan perantaraan knowledge
base.
Gambar 2.2 Tahap-Tahap Data Mining [23]
Tahap-tahap data mining ada 6 yaitu :
1) Pembersihan data (data cleaning)
Pembersihan data merupakan proses menghilangkan noise dan data
yang tidak konsisten atau data tidak relevan. Pada umumnya data yang
diperoleh, baik daridatabase 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.
2) Integrasi data (data integration)
Integrasi data merupakan penggabungan data dari berbagai database
ke dalam satu database baru. Tidak jarang data yang diperlukan untuk
data mining tidak hanya berasal dari satu database tetapi juga berasal dari
beberapa database atau file teks. Integrasi data dilakukan pada atribut-
15
aribut yang mengidentifikasikan entitas-entitas yang unik seperti atribut
nama, jenis produk, nomor pelanggan dan lainnya. Integrasi data perlu
dilakukan secara cermat karena kesalahan pada integrasi data bisa
menghasilkan hasil yang menyimpang dan bahkan menyesatkan
pengambilan aksi nantinya. Sebagai contoh bila integrasi data
berdasarkan jenis produk ternyata menggabungkan produk dari kategori
yang berbeda maka akan didapatkan korelasi antar produk yang
sebenarnya tidak ada.
3) Seleksi Data (Data Selection)
Data yang ada pada database 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.
4) Transformasi data (Data Transformation)
Data diubah atau digabung ke dalam format yang sesuai untuk
diproses dalamdata 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 dibagibagi menjadi beberapa interval.
Proses ini sering disebut transformasi data.
5) Proses mining
Merupakan suatu proses utama saat metode diterapkan untuk
menemukan pengetahuan berharga dan tersembunyi dari data.
6) Evaluasi pola (pattern evaluation)
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
16
diambil seperti menjadikannya umpan balik untuk memperbaiki proses
data mining, mencoba metode data mining lain yang lebih sesuai, atau
menerima hasil ini sebagai suatu hasil yang di luar dugaan yang mungkin
bermanfaat.
7) Presentasi pengetahuan (knowledge presentation),
Merupakan visualisasi dan penyajian pengetahuan mengenai metode
yang digunakan untuk memperoleh pengetahuan yang diperoleh
pengguna. Tahap terakhir dari proses data mining adalah bagaimana
memformulasikan keputusan atau aksi dari hasil analisis yang didapat.
Ada kalanya hal ini harus melibatkan orang-orang yang tidak memahami
data mining. Karenanya presentasi hasil datamining dalam bentuk
pengetahuan yang bisa dipahami semua orang adalah satu tahapan yang
diperlukan dalam proses data mining. Dalam presentasi ini, visualisasi
juga bisa membantu mengkomunikasikan hasil data mining.[23]
2.3.4
Komponen Data Mining
Secara alami, material data miningsebenarnya sudah terbentuk karena
faktor rutinitasdan waktu seraya perusahaan melakukanaktivitasnya. Tanpa
disadari perusahaan berinvestasidengan menggunakan bugdetnya untuk
penggunaanteknologi informasi atau computer. [24]
Tetapi, tanpa penanganan yang seksama,perusahaan tidak dapat
memanfaatkan investasinya dilevel yang lebih tinggi, maka dari itu sebelum
benar-benar melakukan mining, perusahaan harusmengeluarkan sedikit effort
lagi untuk realokasi danpengadaan tools seperti layaknya seseorang yang
melakukan penambangan.
17
Gambar 2.3Aliran Data PadaPembentukan Data Warehouse [23]
Sebuah perusahaan membangun data warehouse dan data mart
menggunakan sumber daya informasi internal dan (mungkin juga)
eksternal,kelola data warehouse dengan mining tools akan meng-generate
laporan-laporan orientasi strategi dantaktis, dengan view yang dimengerti
para pemegang keputusan yang melibatkan pula statistik, pekerja ahli dan
menager-menager yang ada setiap liniperusahaan.
2.3.5
Metode Data mining
Dengan definisi data mining yang luas, ada banyak jenis metode analisis
yang dapat digolongkan dalam data mining.
1) Association rules
Association rules (aturan asosiasi) atau affinity analysis (analisis
afinitas) berkenaan dengan studi tentang “apa bersama apa”. Sebagai
contoh dapat berupa berupa studi transaksi di supermarket, misalnya
seseorang yang membeli susu bayi juga membeli sabun mandi. Pada kasus
ini berarti susu bayi bersama dengan sabun mandi. Karena awalnya berasal
dari studi tentang database transaksi pelanggan untuk menentukan
kebiasaan suatu produk dibeli bersama produk apa, maka aturan asosiasi
juga sering dinamakan market basket analysis.
Aturan asosiasi ingin memberikan informasi tersebut dalam bentuk
hubungan “if-then” atau “jika-maka”. Aturan ini dihitung dari data yang
sifatnya probabilistik [22]
18
Analisis asosiasi dikenal juga sebagai salah satu metode data mining
yang menjadi dasar dari berbagai metode data mining lainnya. Khususnya
salah satu tahap dari analisis asosiasi yang disebut analisis pola frekuensi
tinggi (frequentpattern mining) menarik perhatian banyak peneliti untuk
menghasilkan algoritma yang efisien. Penting tidaknya suatu aturan
assosiatif dapat diketahui dengan dua parameter, support (nilai penunjang)
yaitu prosentase kombinasi item tersebut. dalam database dan confidence
(nilai kepastian) yaitu kuatnya hubungan antar item dalam aturan
assosiatif. Analisis asosiasi didefinisikan suatu proses untuk menemukan
semua aturan assosiatif yang memenuhi syarat minimum untuk support
(minimum support) dan syarat minimum untuk confidence (minimum
confidence).[23]
Ada beberapa algoritma yang sudah dikembangkan mengenai aturan
asosiasi, namun ada satu algoritma klasik yang sering dipakai yaitu
algoritma apriori. Ide dasar dari algoritma ini adalah dengan
mengembangkan frequent itemset. Dengan menggunakan satu item dan
secara rekursif mengembangkan frequent itemset dengan dua item, tiga
item dan seterusnya hingga frequent itemset dengan semua ukuran.
Untuk mengembangkan frequent set dengan dua item, dapat
menggunakanfrequent set item. Alasannya adalah bila set satu item tidak
melebihi supportminimum, maka sembarang ukuran itemset yang lebih
besar tidak akan melebihisupport minimum tersebut. Secara umum,
mengembangkan set dengan fc-item menggunakan frequent set dengan k –
1 item yang dikembangkan dalam langkah sebelumnya. Setiap langkah
memerlukan sekali pemeriksaan ke seluruh isidatabase.
Dalam asosiasi terdapat istilah antecedent dan consequent,
antecedent untuk mewakili bagian “jika” dan consequent untuk mewakili
bagian “maka”. Dalam analisis ini, antecedent dan consequent adalah
sekelompok item yang tidak punya hubungan secara bersama.[22]
Dari jumlah besar aturan yang mungkin dikembangkan, perlu
memiliki aturan-aturan yang cukup kuat tingkat ketergantungan antar item
19
dalam antecedent dan consequent. Untuk mengukur kekuatan aturan
asosiasi ini, digunakan ukuransupport dan confidence. Support adalah
rasio antara jumlah transaksi yang memuatantecedent dan consequent
dengan jumlah transaksi. Confidence adalah rasio antara jumlah transaksi
yang meliputi semua item dalam antecedent dan consequent dengan
jumlah transaksi yang meliputi semua item dalam antecedent.
Langkah pertama algoritma apriori adalah, support dari setiap item
dihitung dengan men-scan database. Setelah support dari setiap item
didapat, item yang memiliki support lebih besar dari minimum support
dipilih sebagai pola frekuensi tinggi dengan panjang 1 atau sering
disingkat 1-itemset. Singkatan k-itemset berarti satu set yang terdiri dari k
item.
Iterasi kedua menghasilkan 2-itemset yang tiap set-nya memiliki dua
item. Pertama dibuat kandidat 2-itemset dari kombinasi semua 1 -itemset.
Lalu untuk tiap kandidat 2-itemset ini dihitung support-nya dengan menscan database. Support artinya jumlah transaksi dalam database yang
mengandung kedua item dalam kandidat 2-itemset. Setelah support dari
20
semua kandidat 2-itemset didapatkan, kandidat 2-itemset yang memenuhi
syarat minimum support dapat ditetapkan sebagai 2-itemset yang juga
merupakan pola frekuensi tinggi dengan panjang 2.[23]
Untuk selanjutnya iterasi iterasi ke-k dapat dibagi lagi menjadi
beberapa bagian :
1. Pembentukan kandidat itemset
Kandidat k-itemset dibentuk dari kombinasi (k-1)-itemset yang didapat
dari iterasi sebelumnya. Satu ciri dari algoritma apriori adalah adanya
pemangkasan kandidat k-itemset yang subset-nya yang berisi k-1 item
tidak termasuk dalam pola frekuensi tinggi dengan panjang k-1.
2. Penghitungan support dari tiap kandidat k-itemset
Support dari tiap kandidat k-itemset didapat dengan men-scan
database untuk menghitung jumlah transaksi yang memuat semua item
di dalam kandidat k-itemset tersebut. Ini adalah juga ciri dari algoritma
apriori yaitu diperlukan penghitungan dengan scan seluruh database
sebanyak k-itemset terpanjang.
3. Tetapkan pola frekuensi tinggi
Pola frekuensi tinggi yang memuat k item atau k-itemset ditetapkan
dari kandidat k-itemset yang support-nya lebih besar dari minimum
support. Kemudian dihitung confidence masing-masing kombinasi
item. Iterasi berhenti ketika semua item telah dihitung sampai tidak ada
kombinasi item lagi. [23](Pramudiono, 2007)
Secara ringkas algoritma apriori sebagai berikut :
Selain algoritma apriori, terdapat juga algoritma lain seperti FPGrwoth. Perbedaan algoritma apriori dengan FP-Growth pada
21
banyaknya scan database. Algoritma apriori melakukan scan database
setiap kali iterasi sedangkan algoritmaFP-Growth hanya melakukan
sekali di awal.[25]
2) Decision Tree
Dalam decision tree tidak menggunakan vector jarak untuk
mengklasifikasikan obyek. Seringkali data observasi mempunyai atributatribut yang bernilai nominal. Seperti yang diilustrasikan pada gambar 2.6,
misalkan obyeknya adalah sekumpulan buah-buahan yang bisa dibedakan
berdasarkan atribut bentuk, warna, ukuran dan rasa. Bentuk, warna, ukuran
dan rasa adalah besaran nominal, yaitu bersifat kategoris dan tiap nilai
tidak bisa dijumlahkan atau dikurangkan. Dalam atribut warna ada
beberapa nilai yang mungkin yaitu hijau, kuning, merah. Dalam atribut
ukuran ada nilai besar, sedang dan kecil. Dengan nilai-nilai atribut ini,
kemudian dibuat decision tree untuk menentukan suatu obyek termasuk
jenis buah apa jika nilai tiap-tiap atribut diberikan.[22]
Gambar 2. 6 Decision Tree[22]
Ada beberapa macam algoritma decision tree diantaranya CART dan
C4.5. Beberapa isu utama dalam decision tree yang menjadi perhatian
yaitu seberapa detail dalam mengembangkan decision tree, bagaimana
22
mengatasi atribut yang bernilai continues, memilih ukuran yang cocok
untuk penentuan atribut, menangani data training yang mempunyai data
yang
atributnya
tidak
mempunyai
nilai,
memperbaiki
efisiensi
perhitungan.[22]
Decision tree sesuai digunakan untuk kasus-kasus yang keluarannya
bernilai diskrit. Walaupun banyak variasi model decision tree dengan
tingkat kemampuan dan syarat yang berbeda, pada umumnya beberapa ciri
yang cocok untuk diterapkannya decision tree adalah sebagai berikut:
1. Data dinyatakan dengan pasangan atribut dan nilainya
2. Label/keluaran data biasanya bernilai diskrit
3. Data mempunyai missing value (nilai dari suatu atribut tidak diketahui)
Dengan cara ini akan mudah mengelompokkan obyek ke dalam
beberapa kelompok. Untuk membuat decision tree perlu memperhatikan
hal-hal berikut ini:
1.
Atribut mana yang akan dipilih untuk pemisahan obyek
2.
Urutan atribut mana yang akan dipilih terlebih dahulu
3.
Struktur tree
4.
Kriteria pemberhentian
5.
Pruning [22]
3) Clustering
Clustering termasuk metode yang sudah cukup dikenal dan banyak
dipakai dalam data mining. Sampai sekarang para ilmuwan dalam bidang
data mining masih melakukan berbagai usaha untuk melakukan perbaikan
model clustering karena metode yang dikembangkan sekarang masih
bersifat heuristic. Usaha-usaha untuk menghitung jumlah cluster yang
optimal dan pengklasteran yang paling baik masih terus dilakukan. Dengan
demikian menggunakan metode yang sekarang, tidak bisa menjamin hasil
pengklasteran sudah merupakan hasil yang optimal. Namun, hasil yang
dicapai biasanya sudah cukup bagus dari segi praktis.
23
Gambar 2.7 Clustering[22]
Tujuan utama dari metode clustering adalah pengelompokan sejumlah
data/obyek ke dalam cluster (group) sehingga dalam setiap cluster akan
berisi data yang semirip mungkin seperti diilustrasikan pada gambar 2.7.
Dalam clustering metode ini berusaha untuk menempatkan obyek yang
mirip (jaraknya dekat) dalam satu klaster dan membuat jarak antar klaster
sejauh mungkin. Ini berarti obyek dalam satu cluster sangat mirip satu
sama lain dan berbeda dengan obyek dalamcluster-cluster yang lain.
Dalam metode ini tidak diketahui sebelumnya berapa jumlah cluster dan
bagaimana pengelompokannya. [22]
2.4 Decision Tree
2.4.1
Konsep Decision Tree
Salah satu metode data mining yang umum digunakan adalah decision
tree. Decision tree adalah struktur flowchart yang menyerupai tree (pohon),
dimana setiap simpul internal menandakan suatu tes pada atribut, setiap
cabang hasil tes, dan simpul daun merepresentasikan kelas atau distribusi
kelas. Alur padadecision tree di telusuri dari simpul akar ke simpul daun yang
memegang prediksi kelas untuk contoh tersebut. Decision tree mudah untuk
dikonversi ke aturan klasifikasi (classification rules) [26]
Konsep decision tree adalah mengubah data menjadi pohon keputusan
(decision tree) dan aturan-aturan keputusan (rule)
24
Data
Decision Tree
Rule
Gambar 2.5 Konsep Decision Tree[26]
2.4.2
Tipe Simpul Pada Tree
Tree mempunyai 3 tipe simpul yaitu [26]
1) Simpul akar dimana tidak ada masukan edge dan 0 atau lebih keluaranedge
(tepi)
2) Simpul internal, masing-masing 1 masukan edge dan 2 atau lebih edge
keluaran
3) Simpul daun atau simpul akhir, masing-masing 1 masukan edge dan tidak
ada edge keluaran.
Pada decision tree setiap simpul daun menandai label kelas. Simpul
yang bukan simpul akhir terdiri dari akar dan simpul internal yang terdiri dari
kondisi tes atribut pada sebagian record yang mempunyai karakteristik yang
berbeda. Simpul akar dan simpul internal ditandai dengan bentuk oval dan
simpul daun ditandai dengan bentuk segi empat [22]
Banyak algoritma yang dapat dipakai dalam pembentukan pohon
keputusan, salah satunya ada algoritma C4.5. Data dalam pohon keputusan
biasanya dinyatakan dalam bentuk tabel dengan atribut dan record. Atribut
menyatakan suatu parameter yang dibuat sebagai kriteria dalam pembentukan
pohon.
Decision tree tergantung pada aturan if-then, tetapi tidak membutuhkan
parameter dan metrik. Strukturnya yang sederhana dan dapat ditafsirkan
memungkinkan decision tree untuk memecahkan masalah atribut multi-type.
Decision tree juga dapat mengelola nilai-nilai yang hilang atau data noise.
Gambar 2 menunjukkan contoh struktur decision tree [22].
25
Gambar 2. Contoh Struktur Decision Tree[22]
2.4.3
Konsep Data dalam Decision Tree
Ada beberapa konsep dalam decision tree, antara lain:
1) Data dinyatakan dalam bentuk tabel dengan atribut dan record.
2) Atribut menyatakan suatu parameter yang dibuat sebagai kriteria dalam
pembentukan tree. Misalkan untuk menentukan main tenis, kriteria yang
diperhatikan adalah cuaca, angin dan temperatur. Salah satu atribut
merupakan atribut yang menyatakan data solusi per-item data yang
disebut dengan target atribut.
3) Atribut memiliki nilai-nilai yang dinamakan dengan instance. Misalkan
atribut cuaca mempunyai instance berupa cerah, berawan dan hujan.[26]
Nama
Cuaca
Angin
Temperatur
Main
Ali
Cerah
Keras
Panas
Tidak
Budi
Cerah
Lambat
Panas
Ya
Heri
Berawan
Keras
Sedang
Tidak
Irma
Hujan
Keras
Dingin
Tidak
Sample
Atribut
Target Atribut
26
2.4.4
Algoritma C4.5
Algoritma C4.5 adalah algoritma yang digunakan untuk menghasilkan
pohon keputusan yang dikembangkan oleh Ross Quinlan. Pohon keputusan
yang dihasilkan oleh C4.5 dapat digunakan untuk klasifikasi. Oleh karena itu,
algoritma C4.5 sering disebut sebagai statistical classifier [27]
Algoritma ini memiliki input berupa data training samples dan
samples.Training samples berupa data contoh yang akan digunakan untuk
membangun sebuah tree yang telah diuji kebenarannya. Sedangkan samples
adalah field-field data yang nantinya akan kita gunakan sebagai parameter
dalam melakukan klasifikasi data [26]
Algoritma C4.5 dan pohon keputusan merupakan dua model yang tak
terpisahkan,
karena
untuk
membangun
sebuah
pohon
keputusan
dibutuhkan algoritma C4.5. Algoritma C4.5 merupakan pengembangan
dari algoritma ID3. Algoritma C4.5 dan ID3 diciptakan oleh seorang
peneliti di bidang kecerdasan buatan bernama J. Rose Quinlan pada akhir
tahun 1970-an. Algoritma C4.5 membuat pohon keputusan dari atas ke
bawah, di mana atribut paling atas merupakan akar (root), dan yang paling
bawah dinamakan daun (leaf).
Secara umum alur proses algoritma C4.5 untuk membangun pohon
keputusan dalam data mining adalah [25]:
1) Pilih atribut sebagai simpul akar.
2) Buat cabang untuk tiap-tiap nilai.
3) Bagi kasus dalam cabang.
4) Ulangi proses untuk setiap cabang sampai semua kasus pada cabang
memiliki kelas yang sama.
Pemilihan atribut sebagai simpul, baik akar (root) atau simpul
internal didasarkan pada nilai Gain tertinggi dari atribut-atribut yang ada.
Setelah membagi data set berdasarkan sebuah atribut kedalam subset yang
lebih kecil, entropydari data tersebut akan berubah. Perubahanentropy ini
dapat digunakan untuk menentukan bagus tidaknya pembagian data yang
telah dilakukan. Perubahan entropi ini disebut dengan information gain dalam
27
algoritma C4.5. Information gain ini diukur dengan menghitung selisih antara
entropi data set sebelum dan sesudah pembagian (splitting) dilakukan.
Pembagian yang terbaik akan menghasilkan entropi subset yang paling kecil,
dengan
demikian
berdampak
pada
information
gain
yang
terbesar.Perhitungan nilai Gain digunakan rumus seperti dalam Persamaan
1.
|𝑆 |
𝐺𝑎𝑖𝑛(𝑆, 𝐴) = 𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝑆) − ∑𝑛𝑖=1 |𝑆|𝑖 ∗ 𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝑆𝑖 )
(1)
di mana:
S : Himpunan kasus
A : Atribut
n : Jumlah partisi atribut A
|Si| : Jumlah kasus pada partisi ke-i
|S| : Jumlah kasus dalam S
Entropy merupakan distribusi probabilitas dalam teori informasi dan
diadopsi ke dalam algoritma C4.5 untuk mengukur tingkat homogenitas
distribusi kelas dari sebuah himpunan data (data set). Sebagai ilustrasi,
semakin tinggi tingkat entropy dari sebuah data set maka semakin homogen
distribusi kelas pada data set tersebut.Untuk menghitung nilai Entropy dapat
dilihat pada Persamaan 2.
𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝑆) = ∑𝑛𝑖=1 −𝑝𝑖 ∗ 𝑙𝑜𝑔2 𝑝𝑖
di mana:
S : Himpunan kasus
n : Jumlah partisi S
pi : Proporsi dari Siterhadap S
(2)
2.5 HTML
HyperText Markup Language (HTML) adalah merupakan salah satu varian
dari
SGML
yang
dipergunakan
dalam
pertukaran
dokumen
melalui
protocolHTTP. Tata penulisan yang digunakan dalam dokumen web. Dokumen
ini akan dieksekusi oleh browser, sehingga browser mampu menghasilkan
sesuatu dokumen sesuai dengan keinginan mendesain page. [27]
HyperText Markup Language (HTML) adalah bahasa pengkodean yang
digunakan untuk membuat dokumen hypertext untuk digunakan dalam world
28
wideweb. Istilah hyper dalam hypertext diartikan bahwa dalam HTML kita bisa
menentukan bahwa sebuah blok teks atau gambar terhubung dengan file lain di
internet.
Dari dua
pendapat
diatas
dapat
disimpulkan bahwa
HyperText
MarkupLanguage (HTML) dikatakan sebagai bahasa penghubung untuk
menerbitkanhypertext pada dunia web, ini merupakan suatu format ketidak
pemilikan berdasarkan pada SGML, dan dapat diciptakan dan diproses oleh suatu
cakupan luas tools, dan teks data dari program editor sederhana pada saat kita
mengetiknya.
2.6 HTTP
HyperText Transfer Protocol (HTTP) merupakan protokol yang berfungsi
untuk mendesain dan menjelaskan bagaimana server dan client berinteraksi
dalam mengirim dan menerima dokumen web, protokol ini didisain untuk
mentrasfer berkas yang berisi hypertext seperti berkas yang berisi HTML yang
digunakan diword wide web. [27]
HyperText
Transfer
Protocol
(HTTP)
adalah
protokol
untuk
memindahkanfile hypertext di internet. Hal ini memerlukan HTTP client program
di suatu ujung dan HTTP server program di ujung yang lain. Kesimpulan dari
dua pendapat diatas adalah HyperText Transfer Protocol (HTTP) adalah protokol
yang digunakan untuk mentrasfer dokumen dalam wordwide word (www).
Protokol ini adalah protokol jaringan, protokol yang berfungsi untuk mendesain
dan menjelaskan bagaimana server dan client berinteraksi dalam mengirim dan
menerima dokumen web.
2.7 Apache
Apache adalah server web yang tersedia secara gratis dan disebarkan
dengan lisensi (open source). Apache tersedia bagai bermacam-macam sistem
operasi,
seperti
UNIX
(FreeBSD,
Linux,
Solaris
dan
lainnya)
dan
Windows.Apache mengikuti standar protokol hypertext transport protokol
hypertext transportasi protokol yaitu HTTP 1.1 [27]
29
Apache adalah suatu program server web yang paling umum (serverHTTP)
dalam internet. Apache merupakan aplikasi terbuka yang awalnya diciptakan dari
serangkaian perubahanyang dilakukan terhadap server web, dibuat. (Sudarmo,
2006:19). Dari pendapat diatas apache dapat disimpulkan bahwa server web
yangtersedia secara gratis dan disebarkan dengan lisensi ”open source”. Apache
merupakan aplikasi terbuka yang awalnya diciptakan dari serangkaian
perubahanyang dilakukan terhadap server web.
2.8 PHP
Hypertext Preprocessor (PHP) adalah bahasa scripting yang dapat
menyatu (embedded) dengan kode-kode HTML dan dieksekusi di sisi server
(Server Side Scripting). Semua perintah yang ditulis akan dieksekusi oleh server
dan hasil jadinya kode HTML dapat dilihat di browser web. [27]
PHP adalah pemrograman yang digunakan untuk membuat software yang
merupakan bagian dari sebuah situs web. PHP dirancang untuk berbaur
denganHTML yang digunakan untuk membuat halaman web.
Kesimpulan dari pendapat diatas adalah Hypertext Preprocessor (PHP)
adalah bahasa scripting open source yang ditulis menggunakan sintkas bahasa
C,java dan perl. Script PHP menyatu dengan file HTML. PHP dirancang untuk
berbaur dengan HTML yang digunakan untuk membuat halaman web.
2.9 MySQL
MySQLadalah software sistem manajemen basis data. Basis data adalah
suatu koleksi data yang terstruktur. Basis data ini bisa berupa daftar belanja
sederhana sampai informasi yang sangat besar dari suatu perusahaan
internasional. Untuk menambahkan, mengakses dan memproses data disimpan di
computer.[27]
MySQL adalah suatu basis data populer dengan pengembangan
webdevelopers. Kecepatan dan ukuran yang kecil membuatnya ideal untuk
website. Ditambah lagi dengan fakta bahwa MySQL adalah open source yang
artinya gratis. Dari dua pendapat di atas bahwa MySQL adalah software sistem
30
manajemen basis data. Basis data ini bisa berupa daftar belanja sederhana sampai
informasi yang sangat besar dari suatu perusahaan internasional.
2.10 Kerangka Pemikiran
Penulis perlu membuat gambara singkat sebagai alur penyusunan laporan
ini dengan kerangka pemikiran sebagai berikut:
Masalah
Mencari penyebab terapi Haemodalisa
Tinjauan Pustaka
Buku dan Jurnal
Metode
Algoritma C4.5 Decision Tree
Penerapan
Data Pasien RSUD
Kardinah
Pengembangan
PHP & My SQL
Hasil
Akurasi Penyebab Terapi Haemodalisa
Gambar 4: Kerangka Pemikiran
BAB 3
METODOLOGI PENELITIAN
Dalam penelitian ini menggunakan metode penelitian eksperimen. Dimana
penelitian ini bertujuan untukmemecahkan fenomena (masalah) yang ada pada saat
ini, pada kasus yang diambil adalah pemberia terapi haemodalisa. Metode
eksperimen mempunyai ciri-ciri berpusat pada penyelesaian masalah pada masa
sekarang dan pada masalah yang aktual dengan cara data yang terkumpul terlebih
dahulu disusun, diolah, diuji dan dievaluasi tentang validasi model.
3.1 Objek Penelitian
Penelitian ini mengedepankan penentuan tujuan proyek dan kebutuhan
secara detail dalam lingkup bisnis atau unit penelitian secara keseluruhan, serta
juga menerjemahkan tujuan dn batasan dari data yaag diambil dari rumah sakit
menjadi formula dan permasalahan data mining mulai dari menyiapkan strategi
awal hingga metode yang dibutuhkan mencapai tujuan. Dalam penelitian ini,
dilakukan dengan mengambil obyek pasien gagal ginjal tahun 2015 di Rumah
Sakit Umum Daerah Kardinah Tegal.
3.2 Prosedur Pengumpulan Data
Data yang diperoleh dalam penelitian ini merupakan data primer yaitu data
yang didapatkan secara langsung dari sumber data dan dibuktikan dengan surat
selesai penelitian yang ada pada lampiran tugas akhir ini, dalam hal ini data
diperoleh melalui softcopy maupun hardcopy yang tersedia dari RSUD Kardinah
pada bagian rekam medik. Pada tahap ini penulis mengumpulkan data dari data
rekam medik kemudian menggunakan analisis penyelidikan data untuk
mengenali lebih lanjut data dan pencarian pengetahuan awal dan mengevaluasi
kualitas data, jika diinginkan, pilih sebagian kecil grup data yang mungkin
mengandung pola dari permasalahan.
31
32
Data yang dikumpulkan adalah pasien gagal ginjal pada tahun 2014 dengan
atribut usia, jenis kelamin, diagnosa penyakit ginjal, Ureum, Kreatinin, Kalium,
Kalsium, hipertensi, haemodalisa.
Selain itu dalam membantu penyusunan tugas akhir ini digunaka studi
pustaka yang merupakan data sekunder yaitu:
1. Buku yang membahas tentang data mining khsusunya algoritma C4.5
2. E-book mengenai data mining dan algoritmannya
3. Jurnal mengenai terapi haemodalisa.
3.3 Analisis data
Dalam penulisan penelitian ini menggunakan analisis data kualitatif yaitu
analisis yang dilakukan dengan mengelompokan data untuk mencari suatu
poladari hal-hal yang dipelajari dan membandingkanya dalam konsep yang ada
didalam sumber.
Data yang dikumpulkan adalah pasien gagal ginjal pada tahun 2014
dengan atribut usia, jenis kelamin, diagnosa penyakit ginjal, Ureum, Kreatinin,
Kalium, Kalsium, hipertensi, haemodalisa. Sehingga untuk penggunaan algoritma
untuk memprediksi terapi haemodalisa dengan menggunkan algoritma C45 hal
digunakan untuk klasifikasi pemberian terapi hemodalisa atau tidak.
3.3.1
Fase Pemahaman Data (Data Understanding Phase)
Contoh pemodelan data dapat dilihat pada tabel 3.1 dibawah ini:
Tabel 3.1. Sampel Data Understanding
ID
Usia JK Ureum Kreatinin Kalium Calsium Na
1
40
L
34
1,23
0
0
2
50
P
25
1,34
3,43
110,2
3
35
L
18
1,13
..
..
55
..
P
..
..
124
11,46
106
TD
HD
130/90
Ya
144,9
130/90
Tdk
0
0
130/90
Ya
..
..
..
..
6,02
98,5
129,4
140/90
..
Ya
33
Data yang didapat tidak disertai keterangan yang menjelaskan maksud
secara rinci mengenai maksud dari data, sehingga peneliti harus menganalisis
dengan langkah awal melakukan pencarian informasi mengenai haemodalisa.
Setelah melakukan pencarian tersebut, maka didapat beberapa informasi dan
keterangan yang dapat membuat peneliti lebih memahami mengenai data
pasien yang diberikan terapi haemodalisa tersebut. Variabel-variabel tersebut
merupakan komponen yang mempengaruhi seseorang memiliki indikasi harus
diberikan terapi haemodalisa. Beberapa atribut merupakan istilah-istilah
dalam kedokteran atau kesehatan yang terkait dengan terapi haemodalisa.
Untuk keterangan lebih lanjut, pada Tabel 3.2 dijelaskan definisi dari istilahistilah tersebut dari setiap komponen.
Tabel 3.2 Definisi Istilah
ID
Atribut yang menginformasikan nomor identitas
pasien
Usia
Atribut yang menginformasikan umur pasien
Jenis Kelamin (JK)
Atribut yang menginformasikan jenis kelamin pasien
Ureum
Atribut yang menginformasikan satu molekul kecil
yang mudah mendifusi ke dalam cairan ekstrasel,
tetapi pada akhirnya ia dipekatkan dalam urin dan
diekskresi.
Kreatinin
Atribut yang menginformasikan hasil perombakan
keratin, semacam senyawa berisi nitrogen yang
terutama ada dalam otot
Kalium
Atribut yang menginformasikan elektrolit tubuh yang
terdapat pada cairan vaskuler (pembuluh darah)
Calsium
Atribut yang menginformasikan elektrolit dalam
serum, berperan dalam keseimbangan elektrolit,
pencegahan tetani, dan dapat dimanfaatkan untuk
mendeteksi gangguan hormon tiroid dan paratiroid
Hipertensi
Atribut yang menginformasikan penyakit darah tinggi
34
Haemodialisa
3.3.2
Atribut yang menginformasikan terapi cuci darah
Fase Pengolahan Data (Data Preparation Phase)
Pada tahap ini, penulis melakukan pemilihan atribut data yang
digunakan, serta pembagian data menjadi dua kelompok yaitu data testing
dan data training yang akan diimplementasikan pada analisa dan pembahasan
seperti pada tabel berikut:
Tabel 3.3 Atribut Pengolahan Data
Atribut
Detail penggunaan
ID
√
Nilai unique
Usia
√
Nilai Model
Jenis Kelamin (JK)
√
No
Ureum
√
Nilai Model
Kreatinin
√
Nilai Model
Kalium
√
Nilai Model
Calsium
√
Nilai Model
Hipertensi
√
No
Haemodialisa
√
Label Target
Setelah dilakukan pemilihan atribut pada proses pengolahan data
dengan berdiskusi pakar dibidangnya yaitu kepala rekam medik rumah sakit
tempat melaksanakan penelitian sebagai perwakilan dari pakar bidang
kesehatan pada rumah sakit umum Kardinah tersebut, apa sajakah variabel
pendukung yang lebih mempengaruhi tingkat keakuratannya dalam pengaruh
terapi haemodialisa, pengkonversian atribut ini berguna untuk memudahkan
dalam melakukan perhitungan dan analisa dalam tahap data mining atribut
maka hasil tabel akan dikonversi seperti dibawah ini:
35
Tabel 3.4 Ilustrasi Atribut yang akan digunakan dalam Pemodelan
ID
Ureum
Kreatinin
Kalium
Calsium
Na
TD
HD
1
Normal
Normal
Rendah
Rendah
Rendah
Normal
Ya
2
Normal
Normal
Normal
Tinggi
Normal
Normal
Tdk
3
Normal
Normal
Rendah
Rendah
Rendah
Normal
Ya
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Ya
..
106
Data dengan atribut yang telah dipilih kemudian dikonversikan untuk
memudahkan proses data mining. Batas normal setiap komponen-komponen yang
terkait terapi haemodalisa tersebut ditentukan oleh nilai laboratorium normal. Berikut
data atribut yang akan dikonversi:
1. Ureum
Ureum merupakan keterangan kadar ureum pasien dalam satuan mg/dL dan
bertipe integer akan dikonversikan menjadi tiga kategori yaitu rendah (< 15
mg/dL), normal (15-40 mg/dL) dan tinggi (>40 mg/dL)
2. Kreatinin
Kreatinin merupakan keterangan kadar kreatin darah pasien dalam satuan
mg/dL dan bertipe integer akan dikonversikan menjadi tiga kategori yaitu
rendah (< 0,5 mg/dL), normal (0,5-1,5 mg/dL) dan tinggi (>1,5 mg/dL)
3. Kalium
Kalium merupakan keterangan kadar kalium pasien dalam satuan mEq/L dan
bertipe integer akan dikonversikan menjadi tiga kategori yaitu rendah (< 3,5
mEq/L), normal (3,5-5 mEq/L) dan tinggi (>5 mEq/L)
4. Clorida
Clrorida merupakan keterangan kadar cairan anion ekstraseluler ditemukan di
darah pasien dalam satuan mEq/L dan bertipe integer akan dikonversikan
menjadi tiga kategori yaitu rendah (< 95 mEq/L), normal (95-105 mEq/L) dan
tinggi (>105 mEq/L)
5. Natrium
Natrium merupakan keterangan kadar satu mineral yang banyak terdapat pada
cairan elektrolit ekstraseluler darah pasien dalam satuan mEq/L dan bertipe
36
integer akan dikonversikan menjadi tiga kategori yaitu rendah (<135 mEq/L),
normal (135-145 mEq/L) dan tinggi (>145 mEq/L)
6. Tekanan Darah
Tekanan darah merupakan keterangan tekanan darah pasien dalam satuan
mmHg, tekanan darah yang diambil adalah sisi atas atau tekanan darah
sistolik dan bertipe integer akan dikonversikan menjadi tiga kategori yaitu
rendah (< 100 mmHg), normal (100-120 mmHg) dan tinggi (>120 mmHg)
3.3.3
Fase Pemodelan (Modelling Phase)
Metode yang akan digunakan dalam penelitian ini adalah Algoritma
C4.5 untuk melakukan pengukuran akurasi dalam penelitian ini. Pemodelan
fungsi digambarkan dengan bahsa pemrograman PHP dan MySql. Berikut
adalah gambaran pemodelan penelitian:
Data Set
Processing:
- Konvertion
Data
- Replacing Data
New Dataset
Modelling
Algoritma C4.5
Training data
Evaluating
Confucsion
Matrix
Training Data
Gambar 3.1 Model Penelitian yang diusulkan
3.3.4
Evaluasi (Evaluation Phase)
Dalam tahapan ini akan dilakukan validasi serta pengukuran keakuratan
hasil yang dicapai oleh model menggunakan beberapa teknik presisi dan
recall dan accuracy. Precisionadalah tingkat ketepatan antara informasi yang
diminta oleh pengguna dengan jawaban yang diberikan oleh sistem. recall
adalah tingkat keberhasilan sistem dalam menemukan kembali sebuah
informasi.Sedangkan Accuracy didefinisikan sebagai tingkat kedekatan
antara nilai prediksi dengan nilai aktual. Ilustrasi berikut ini memberikan
gambaran perbedaan antara accuracy, recall dan precision.
37
3.3.5
Fase Penyebaran (Deployment Phase)
Hasil dari penelitian ini berupa analisis yang mengarahkan ke decision
support system (DSS) yang diharapkan dapat digunakan oleh masyarakat
secara luas sebagai bahan pertimbangan dalam menentukan langkah guna
mengantisipasi terapi haemodialisa dengan atribut yang telah dijabarkan, serta
juga sebagai pengetahuan masyarakat tentag potensi yang menyebabkan
terapi haemodialisa. Selain itu hasil dari analisa ini juga akan digunakan dasar
perancagan sebuah sistem pengambil keputusan guna melakukan identifikasi
pasien diberikan terapi haemodialisa.
BAB IV
PERANCANGAN (Modelling Phase)
4.1 Studi kasus Algoritma C4.5
Berikut ini adalah tahapan Decision Tree (pohon keputusan) dengan
algoritma C4.5 menggunakan studi kasus sebagai berikut:
Menentukan klasifikasi terapi haemodialisa dan tidak terapi haemodialisa
dalam sata pasien suatu rumah sakit dengan atribut yaitu kadar ureum, kreatinin,
kalium, Klorida, Natrium dan Tekanan Darah, menggunakan dataset pasien
rumah sakit. Siapkan data training, data ini biasanya didapat dari data histori
yang pernah terjadi dan terekam sebelumnya yaitu ada 200 pasien dan telah
dimasukan kedalam kelompok-kelompok tertentu:
Tabel 4.1. Studi Kasus Pasien dengan terapi haemodialisa
Ureum
(mg/dL)
Id
Kreatinin
(mg/dL)
Kalium
(mEq/L)
Calsium
(mg/dl)
Natrium
(mEq/L)
tekanan
darah
(mmHg)
1
15
1,3
1,3
15
15
130
2
16
1,2
1,2
16
16
130
3
20
1
1
20
20
130
4
45
6
6
45
45
130
5
47
6
6
47
47
130
6
110
4
4
110
110
110
7
112
1
1
112
112
130
8
54
2
2
54
54
130
9
67
3
3
67
67
130
10
15
1,3
1,3
15
15
130
11
16
1,2
1,2
16
16
130
12
30
1
1
30
30
30
13
30
1,3
1,3
30
30
30
14
34
1,2
1,2
34
34
34
15
24
1
1
24
24
24
16
27
1,3
1,3
27
27
140
17
24
1,2
1,2
24
24
140
18
23
1
1
23
23
140
19
67
4
4
67
67
140
20
87
5
5
87
87
140
38
39
21
66
4
4
66
66
66
22
56
2
2
56
56
56
23
100
1,3
1,3
100
100
140
24
99
4
4
99
99
140
25
80
3
3
80
80
140
26
78
3
3
78
78
78
27
78
1
1
78
78
140
28
66
4
4
66
66
140
29
67
3
3
67
67
140
30
16
1,3
1,3
16
16
140
31
16
1,2
1,2
16
16
140
32
18
1
1
18
18
140
33
100
4
4
100
100
140
34
99
4
4
99
99
140
35
89
4
4
89
89
89
36
98
1
1
98
98
140
37
89
4
4
89
89
140
38
60
4
4
60
60
140
39
16
1,3
1,3
16
16
140
40
30
1,2
1,2
30
30
140
41
30
1
1
30
30
30
42
20
1,3
1,3
20
20
20
43
25
1,2
1,2
25
25
25
44
25
1
1
25
25
25
45
25
1,3
1,3
25
25
140
46
25
1,2
1,2
25
25
140
47
27
1
1
27
27
140
48
100
4
4
100
100
140
49
99
4
4
99
99
140
50
89
4
4
89
89
89
51
98
4
4
98
98
98
52
100
1
1
100
100
140
53
99
5
5
99
99
140
54
89
5
5
89
89
140
55
98
5
5
98
98
98
56
100
1
1
100
100
140
57
99
5
5
99
99
140
58
78
5
5
78
78
140
59
98
1,3
1,3
98
98
140
60
16
1,2
1,2
16
16
140
61
30
1
1
30
30
140
40
62
98
5
5
98
98
140
63
100
5
5
100
100
140
64
99
4
4
99
99
99
65
98
1
1
98
98
140
66
100
4
4
100
100
140
67
99
3
3
99
99
140
68
16
1,3
1,3
16
16
140
69
30
1,2
1,2
30
30
140
70
16
1
1
16
16
16
71
30
1,3
1,3
30
30
30
72
16
1,2
1,2
16
16
16
73
30
1
1
30
30
30
74
16
1,3
1,3
16
16
140
75
30
1,2
1,2
30
30
140
76
16
1
1
16
16
140
77
30
4
4
30
30
140
78
98
4
4
98
98
140
79
100
4
4
100
100
100
80
99
4
4
99
99
99
81
98
1
1
98
98
140
82
100
2
2
100
100
140
83
99
2
2
99
99
140
84
98
2
2
98
98
98
85
100
1
1
100
100
140
86
99
3
3
99
99
140
87
76
3
3
76
76
140
88
79
3
3
79
79
79
89
99
1
1
99
99
140
90
98
3
3
98
98
140
91
90
3
3
90
90
140
92
99
3
3
99
99
99
93
98
1
1
98
98
140
94
100
3
3
100
100
140
95
99
3
3
99
99
140
96
30
1
1
30
30
140
97
16
1
1
16
16
140
98
30
1
1
30
30
140
99
16
2
2
16
16
16
100
99
1
1
99
99
140
101
76
2
2
76
76
140
102
79
2
2
79
79
140
41
103
99
2
2
99
99
99
104
98
1
1
98
98
140
105
90
3
3
90
90
140
106
99
2
2
99
99
140
107
30
1
1
30
30
140
108
16
1,3
1,3
16
16
140
109
30
1,2
1,2
30
30
140
110
16
1
1
16
16
140
111
30
1,3
1,3
30
30
140
112
16
1,2
1,2
16
16
140
113
30
1
1
30
30
140
114
16
1
1
16
16
140
115
17
1
1
17
17
140
116
99
3
3
99
99
140
117
100
3
3
100
100
140
118
30
1
1
30
30
140
119
16
1
1
16
16
140
120
17
1
1
17
17
140
121
120
3
3
120
120
120
122
30
1
1
30
30
140
123
16
1
1
16
16
140
124
17
1
1
17
17
140
125
79
3
3
79
79
79
126
88
1
1
88
88
140
127
30
1
1
30
30
140
128
16
1
1
16
16
140
129
17
1
1
17
17
140
130
16
1
1
16
16
140
131
17
1
1
17
17
140
132
99
1,2
1,2
99
99
140
133
98
3
3
98
98
140
134
90
3
3
90
90
140
135
17
1,1
1,1
17
17
140
136
16
1,3
1,3
16
16
140
137
17
1,3
1,3
17
17
140
138
120
3
3
120
120
120
139
130
1
1
130
130
130
140
98
2
2
98
98
140
141
79
2
2
79
79
140
142
80
3
3
80
80
80
143
100
1
1
100
100
140
42
144
130
2
2
130
130
140
145
140
2
2
140
140
140
146
17
2
2
17
17
140
147
16
2
2
16
16
140
148
17
2
2
17
17
140
149
79
3
3
79
79
79
150
80
1
1
80
80
140
151
100
5
5
100
100
140
152
130
5
5
130
130
140
153
140
5
5
140
140
140
154
17
1,1
1,1
17
17
140
155
16
1,3
1,3
16
16
140
156
17
1,3
1,3
17
17
140
157
79
3
3
79
79
140
158
80
3
3
80
80
140
159
100
3
3
100
100
100
160
130
1
1
130
130
140
161
140
3
3
140
140
140
162
102
3
3
102
102
140
163
17
1,1
1,1
17
17
140
164
16
1,3
1,3
16
16
140
165
17
1,3
1,3
17
17
17
166
17
1,1
1,1
17
17
17
167
16
1,3
1,3
16
16
16
168
17
1,3
1,3
17
17
17
169
17
1,1
1,1
17
17
140
170
16
1,3
1,3
16
16
140
171
17
1,3
1,3
17
17
140
172
17
1,1
1,1
17
17
140
173
16
1,3
1,3
16
16
140
174
17
1,3
1,3
17
17
140
175
67
3
3
67
67
140
176
17
1,1
1,1
17
17
140
177
16
1,3
1,3
16
16
140
178
17
1,3
1,3
17
17
140
179
80
3
3
80
80
140
180
70
3
3
70
70
140
181
17
1,1
1,1
17
17
140
182
16
1,3
1,3
16
16
140
183
17
1,3
1,3
17
17
17
184
17
1,1
1,1
17
17
17
43
185
16
1,3
1,3
16
16
16
186
17
1,3
1,3
17
17
17
187
17
1,1
1,1
17
17
140
188
16
1,3
1,3
16
16
140
189
17
1,3
1,3
17
17
140
190
17
1,1
1,1
17
17
140
191
16
1,3
1,3
16
16
140
192
17
1,3
1,3
17
17
140
193
90
3
3
90
90
140
194
98
3
3
98
98
140
195
17
1,1
1,1
17
17
17
196
16
1,3
1,3
16
16
16
197
17
1,3
1,3
17
17
140
198
17
1,1
1,1
17
17
140
199
16
1,3
1,3
16
16
140
200
120
2
2
120
120
140
Berdasarkan data asli tersebut kemudian dilakukan mengkategorian
berdasarkan acuan dari kesehatan, adapun hasilnya adalah sebagai berikut:
Tabel 4.2. Studi Kasus Pasien dengan terapi haemodialisa
id
ureum
kreatinin
kalium
clorida
natrium
tekanan_darah
class
1
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
2
Normal
Normal
Normal
Tinggi
Normal
Tinggi
Tidak
3
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
4
Tinggi
Tinggi
Normal
Tinggi
Normal
Tinggi
Ya
5
Tinggi
Tinggi
Normal
Normal
Normal
Tinggi
Tidak
6
Tinggi
Tinggi
Normal
Normal
Rendah
Rendah
Ya
7
Tinggi
Normal
Normal
Normal
Normal
Tinggi
Ya
8
Tinggi
Tinggi
Tinggi
Normal
Rendah
Tinggi
Ya
9
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Ya
10
Normal
Normal
Normal
Normal
Normal
Tinggi
Tidak
11
Normal
Normal
Rendah
Tinggi
Normal
Tinggi
Tidak
12
Normal
Normal
Normal
Rendah
Normal
Normal
Tidak
13
Normal
Normal
Rendah
Normal
Normal
Normal
Tidak
14
Normal
Normal
Normal
Normal
Normal
Normal
Tidak
15
Normal
Normal
Rendah
Normal
Normal
Normal
Tidak
16
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
17
Normal
Normal
Normal
Tinggi
Normal
Tinggi
Tidak
18
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
19
Tinggi
Tinggi
Normal
Tinggi
Normal
Tinggi
Ya
44
20
Tinggi
Tinggi
Normal
Normal
Normal
Tinggi
Tidak
21
Tinggi
Tinggi
Normal
Normal
Rendah
Rendah
Ya
22
Tinggi
Tinggi
Normal
Normal
Rendah
Rendah
Ya
23
Tinggi
Normal
Normal
Normal
Normal
Tinggi
Ya
24
Tinggi
Tinggi
Tinggi
Normal
Rendah
Tinggi
Ya
25
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Ya
26
Tinggi
Tinggi
Normal
Normal
Rendah
Rendah
Ya
27
Tinggi
Normal
Normal
Normal
Normal
Tinggi
Ya
28
Tinggi
Tinggi
Tinggi
Normal
Rendah
Tinggi
Ya
29
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Ya
30
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
31
Normal
Normal
Normal
Tinggi
Normal
Tinggi
Tidak
32
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
33
Tinggi
Tinggi
Normal
Tinggi
Normal
Tinggi
Ya
34
Tinggi
Tinggi
Normal
Normal
Normal
Tinggi
Tidak
35
Tinggi
Tinggi
Normal
Normal
Rendah
Rendah
Ya
36
Tinggi
Normal
Normal
Normal
Normal
Tinggi
Ya
37
Tinggi
Tinggi
Tinggi
Normal
Rendah
Tinggi
Ya
38
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Ya
39
Normal
Normal
Normal
Normal
Normal
Tinggi
Tidak
40
Normal
Normal
Rendah
Tinggi
Normal
Tinggi
Tidak
41
Normal
Normal
Normal
Rendah
Normal
Normal
Tidak
42
Normal
Normal
Rendah
Normal
Normal
Normal
Tidak
43
Normal
Normal
Normal
Normal
Normal
Normal
Tidak
44
Normal
Normal
Rendah
Normal
Normal
Normal
Tidak
45
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
46
Normal
Normal
Normal
Tinggi
Normal
Tinggi
Tidak
47
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
48
Tinggi
Tinggi
Normal
Tinggi
Normal
Tinggi
Ya
49
Tinggi
Tinggi
Normal
Normal
Normal
Tinggi
Tidak
50
Tinggi
Tinggi
Normal
Normal
Rendah
Rendah
Ya
51
Tinggi
Tinggi
Normal
Normal
Rendah
Rendah
Ya
52
Tinggi
Normal
Normal
Normal
Normal
Tinggi
Ya
53
Tinggi
Tinggi
Tinggi
Normal
Rendah
Tinggi
Ya
54
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Ya
55
Tinggi
Tinggi
Normal
Normal
Rendah
Rendah
Ya
56
Tinggi
Normal
Normal
Normal
Normal
Tinggi
Ya
57
Tinggi
Tinggi
Tinggi
Normal
Rendah
Tinggi
Ya
58
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Ya
59
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
60
Normal
Normal
Normal
Tinggi
Normal
Tinggi
Tidak
45
61
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
62
Tinggi
Tinggi
Normal
Tinggi
Normal
Tinggi
Ya
63
Tinggi
Tinggi
Normal
Normal
Normal
Tinggi
Tidak
64
Tinggi
Tinggi
Normal
Normal
Rendah
Rendah
Ya
65
Tinggi
Normal
Normal
Normal
Normal
Tinggi
Ya
66
Tinggi
Tinggi
Tinggi
Normal
Rendah
Tinggi
Ya
67
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Ya
68
Normal
Normal
Normal
Normal
Normal
Tinggi
Tidak
69
Normal
Normal
Rendah
Tinggi
Normal
Tinggi
Tidak
70
Normal
Normal
Normal
Rendah
Normal
Normal
Tidak
71
Normal
Normal
Rendah
Normal
Normal
Normal
Tidak
72
Normal
Normal
Normal
Normal
Normal
Normal
Tidak
73
Normal
Normal
Rendah
Normal
Normal
Normal
Tidak
74
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
75
Normal
Normal
Normal
Tinggi
Normal
Tinggi
Tidak
76
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
77
Tinggi
Tinggi
Normal
Tinggi
Normal
Tinggi
Ya
78
Tinggi
Tinggi
Normal
Normal
Normal
Tinggi
Tidak
79
Tinggi
Tinggi
Normal
Normal
Rendah
Rendah
Ya
80
Tinggi
Tinggi
Normal
Normal
Rendah
Rendah
Ya
81
Tinggi
Normal
Normal
Normal
Normal
Tinggi
Ya
82
Tinggi
Tinggi
Tinggi
Normal
Rendah
Tinggi
Ya
83
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Ya
84
Tinggi
Tinggi
Normal
Normal
Rendah
Rendah
Ya
85
Tinggi
Normal
Normal
Normal
Normal
Tinggi
Ya
86
Tinggi
Tinggi
Tinggi
Normal
Rendah
Tinggi
Ya
87
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Ya
88
Tinggi
Tinggi
Normal
Normal
Rendah
Rendah
Ya
89
Tinggi
Normal
Normal
Normal
Normal
Tinggi
Ya
90
Tinggi
Tinggi
Tinggi
Normal
Rendah
Tinggi
Ya
91
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Ya
92
Tinggi
Tinggi
Normal
Normal
Rendah
Rendah
Ya
93
Tinggi
Normal
Normal
Normal
Normal
Tinggi
Ya
94
Tinggi
Tinggi
Tinggi
Normal
Rendah
Tinggi
Ya
95
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Ya
96
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
97
Normal
Normal
Normal
Tinggi
Normal
Tinggi
Tidak
98
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
99
Tinggi
Tinggi
Normal
Normal
Rendah
Rendah
Ya
100
Tinggi
Normal
Normal
Normal
Normal
Tinggi
Ya
101
Tinggi
Tinggi
Tinggi
Normal
Rendah
Tinggi
Ya
46
102
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Ya
103
Tinggi
Tinggi
Normal
Normal
Rendah
Rendah
Ya
104
Tinggi
Normal
Normal
Normal
Normal
Tinggi
Ya
105
Tinggi
Tinggi
Tinggi
Normal
Rendah
Tinggi
Ya
106
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Ya
107
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
108
Normal
Normal
Normal
Tinggi
Normal
Tinggi
Tidak
109
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
110
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
111
Normal
Normal
Normal
Tinggi
Normal
Tinggi
Tidak
112
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
113
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
114
Normal
Normal
Normal
Tinggi
Normal
Tinggi
Tidak
115
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
116
Tinggi
Tinggi
Tinggi
Normal
Rendah
Tinggi
Ya
117
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Ya
118
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
119
Normal
Normal
Normal
Tinggi
Normal
Tinggi
Tidak
120
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
121
Tinggi
Tinggi
Normal
Normal
Rendah
Rendah
Ya
122
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
123
Normal
Normal
Normal
Tinggi
Normal
Tinggi
Tidak
124
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
125
Tinggi
Tinggi
Normal
Normal
Rendah
Rendah
Ya
126
Tinggi
Normal
Normal
Normal
Normal
Tinggi
Ya
127
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
128
Normal
Normal
Normal
Tinggi
Normal
Tinggi
Tidak
129
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
130
Normal
Normal
Normal
Tinggi
Normal
Tinggi
Tidak
131
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
132
Tinggi
Normal
Normal
Normal
Normal
Tinggi
Ya
133
Tinggi
Tinggi
Tinggi
Normal
Rendah
Tinggi
Ya
134
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Ya
135
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
136
Normal
Normal
Normal
Tinggi
Normal
Tinggi
Tidak
137
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
138
Tinggi
Tinggi
Normal
Normal
Rendah
Rendah
Ya
139
Tinggi
Normal
Normal
Normal
Normal
Tinggi
Ya
140
Tinggi
Tinggi
Tinggi
Normal
Rendah
Tinggi
Ya
141
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Ya
142
Tinggi
Tinggi
Normal
Normal
Rendah
Rendah
Ya
47
143
Tinggi
Normal
Normal
Normal
Normal
Tinggi
Ya
144
Tinggi
Tinggi
Tinggi
Normal
Rendah
Tinggi
Ya
145
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Ya
146
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
147
Normal
Normal
Normal
Tinggi
Normal
Tinggi
Tidak
148
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
149
Tinggi
Tinggi
Normal
Normal
Rendah
Rendah
Ya
150
Tinggi
Normal
Normal
Normal
Normal
Tinggi
Ya
151
Tinggi
Tinggi
Tinggi
Normal
Rendah
Tinggi
Ya
152
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Ya
153
Tinggi
Tinggi
Normal
Normal
Rendah
Rendah
Ya
154
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
155
Normal
Normal
Normal
Tinggi
Normal
Tinggi
Tidak
156
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
157
Tinggi
Tinggi
Normal
Tinggi
Normal
Tinggi
Ya
158
Tinggi
Tinggi
Normal
Normal
Normal
Tinggi
Tidak
159
Tinggi
Tinggi
Normal
Normal
Rendah
Rendah
Ya
160
Tinggi
Normal
Normal
Normal
Normal
Tinggi
Ya
161
Tinggi
Tinggi
Tinggi
Normal
Rendah
Tinggi
Ya
162
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Ya
163
Normal
Normal
Normal
Normal
Normal
Tinggi
Tidak
164
Normal
Normal
Rendah
Tinggi
Normal
Tinggi
Tidak
165
Normal
Normal
Normal
Rendah
Normal
Normal
Tidak
166
Normal
Normal
Rendah
Normal
Normal
Normal
Tidak
167
Normal
Normal
Normal
Normal
Normal
Normal
Tidak
168
Normal
Normal
Rendah
Normal
Normal
Normal
Tidak
169
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
170
Normal
Normal
Normal
Tinggi
Normal
Tinggi
Tidak
171
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
172
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
173
Normal
Normal
Normal
Tinggi
Normal
Tinggi
Tidak
174
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
175
Tinggi
Tinggi
Normal
Tinggi
Normal
Tinggi
Ya
176
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
177
Normal
Normal
Normal
Tinggi
Normal
Tinggi
Tidak
178
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
179
Tinggi
Tinggi
Tinggi
Normal
Rendah
Tinggi
Ya
180
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Tinggi
Ya
181
Normal
Normal
Normal
Normal
Normal
Tinggi
Tidak
182
Normal
Normal
Rendah
Tinggi
Normal
Tinggi
Tidak
183
Normal
Normal
Normal
Rendah
Normal
Normal
Tidak
48
184
Normal
Normal
Rendah
Normal
Normal
Normal
Tidak
185
Normal
Normal
Normal
Normal
Normal
Normal
Tidak
186
Normal
Normal
Rendah
Normal
Normal
Normal
Tidak
187
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
188
Normal
Normal
Normal
Tinggi
Normal
Tinggi
Tidak
189
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
190
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
191
Normal
Normal
Normal
Tinggi
Normal
Tinggi
Tidak
192
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
193
Tinggi
Tinggi
Normal
Tinggi
Normal
Tinggi
Ya
194
Tinggi
Tinggi
Normal
Normal
Normal
Tinggi
Tidak
195
Normal
Normal
Normal
Normal
Normal
Normal
Tidak
196
Normal
Normal
Rendah
Normal
Normal
Normal
Tidak
197
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
198
Normal
Normal
Normal
Tinggi
Normal
Tinggi
Tidak
199
Normal
Normal
Rendah
Rendah
Rendah
Tinggi
Tidak
200
Tinggi
Tinggi
Normal
Tinggi
Normal
Tinggi
Ya
1. Tentukan akar dari pohon, akar atau node awal yang akan diambil dari atribut
yang dipilih, dengan cara menghitung Gain kemudian memilih Gain tertinggi
dari masing-masing atribut. Namun sebelum menghitung Gain dari atribut,
harus dihitung dulu nilai entropy sebagai berikut:
Tabel 4.2. Sampel jumlah kasus setiap atribut
Atribut Nilai
Sum (Nilai)
Sum(Ya)
Sum(Tidak)
UR
Rendah
100
0
100
Normal
0
0
0
Tinggi
100
92
8
CR
Rendah
119
19
100
Normal
0
0
0
Tinggi
81
73
8
K
Rendah
99
52
47
Normal
61
0
61
Tinggi
40
40
0
Cl
Rendah
92
62
30
Normal
50
0
50
Tinggi
58
30
28
Na
Rendah
92
29
63
Normal
88
43
45
Tinggi
20
20
0
49
TD
Rendah
Normal
Tinggi
22
23
155
0
23
69
22
0
86
2. Kemudian lakukan perhitungan nilai Gain sesuai rumus 2.1 untuk
menghitung Gain diwajibkan untuk mencari entropy dari setiap tupel atribut
masing-masing, contohnya sebagai berikut
𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝑠𝑒𝑚𝑢𝑎𝐾𝑎𝑠𝑢𝑠) = (− (
92
92
108
108
) ∗ log 2
) + (− (
) ∗ log 2
)
200
200
200
200
= 0, 9954
0
0
100
100
𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝑈𝑅 − 𝑅𝑒𝑛𝑑𝑎𝐻) = (− (
) ∗ log 2
) + (− (
) ∗ log 2
)
100
100
100
100
=0
0
0
0
0
𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝑈𝑅 − 𝑁𝑜𝑟𝑚𝑎𝑙) = (− ( ) ∗ log 2 ) + (− ( ) ∗ log 2 )
0
0
0
0
=0
92
92
8
8
𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝑈𝑅 − 𝑇𝑖𝑛𝑔𝑔𝑖) = (− (
) ∗ log 2
) + (− (
) ∗ log 2
)
100
100
100
100
= 0.4022
Setelah itu menghitung Gain untuk setiap atribut terapi hemodialisa:
𝑛
|𝑆𝑖 |
𝐺𝑎𝑖𝑛(𝑆, 𝐴) = 𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝑆) − ∑
∗ 𝐸𝑛𝑡𝑟𝑜𝑝𝑦(𝑆𝑖 )
|𝑆|
𝑖=1
100
0
100
𝐺𝑎𝑖𝑛 (𝑈𝑅) = 0,9954 − ((
∗ 0) + (
∗ 0) + (
∗ 0,4022))
200
200
200
= 0.7943
119
0
81
𝐺𝑎𝑖𝑛 (𝐶𝑅) = 0,9954 − ((
∗ 0.6335) + (
∗ 0) + (
∗ 0.4651))
200
200
200
= 0.4301
99
61
40
𝐺𝑎𝑖𝑛 (𝐾) = 0,9954 − ((
∗ 0.9982) + (
∗ 0) + (
∗ 0))
200
200
200
= 0, 5013
92
50
58
𝐺𝑎𝑖𝑛 (𝐶𝑙) = 0,9954 − ((
∗ 0.9109) + (
∗ 0) + (
∗ 0.9991))
200
200
200
= 0.2866
92
88
20
𝐺𝑎𝑖𝑛 (𝑁𝑎) = 0,9954 − ((
∗ 0.8991) + (
∗ 0.9996) + (
∗ 0))
200
200
200
= 0.142
22
23
155
𝐺𝑎𝑖𝑛 (𝑇𝐷) = 0,9954 − ((
∗ 0) + (
∗ 0) + (
∗ 0.9913))
200
200
200
= 0.2271
Adapun hasil entropy masing-masing atribut adalah sebagai berikut:
50
Tabel 4.3. Nilai Entropy setiap atribut Node 1
No
Atribut
Nilai
Atribut
Jumlah
Kasus
Total
Jumlah
Kasus
Ya
Jumlah
Kasus
Tidak
Entropy
Inform
ation
Gain
Split
Info
Gain
Ratio
1
Total
Total
200
92
108
0.9954
0
2
ureum
Normal
100
0
100
0
0.7943
1
0.7943
3
ureum
Rendah
0
0
0
0
0.7943
1
0.7943
4
ureum
Tinggi
100
92
8
0.4022
0.7943
1
0.7943
5
kreatinin
Normal
119
19
100
0.6335
0.4301
0.9738
0.4417
6
kreatinin
Rendah
0
0
0
0.4301
0.9738
0.4417
7
kreatinin
Tinggi
81
73
8
0.4651
0.4301
0.9738
0.4417
8
kalium
Normal
99
52
47
0.9982
0.5013
14.891
0.3366
9
kalium
Rendah
61
0
61
0
0.5013
14.891
0.3366
10
kalium
Tinggi
40
40
0
0
0.5013
14.891
0.3366
11
clorida
Normal
92
62
30
0.2866
15.332
0.1869
12
clorida
Rendah
50
0
50
0.2866
15.332
0.1869
13
clorida
Tinggi
58
30
28
0.9991
0.2866
15.332
0.1869
14
natrium
Normal
92
29
63
0.8991
0.142
13.687
0.1037
15
natrium
Rendah
88
43
45
0.9996
0.142
13.687
0.1037
16
17
18
natrium
tekanan_darah
tekanan_darah
Tinggi
Normal
Rendah
20
22
23
20
0
23
0
22
0
0.142
0.2271
0.2271
13.687
0.9941
0.9941
0.1037
0.2284
0.2284
19
tekanan_darah
Tinggi
155
69
86
0.2271
0.9941
0.2284
0
0.9109
0
0
0
0
0.9913
3. Proses partisi pohon keputusan ini akan berhenti ketika tidak ada atribut
didalam tupel yang dipartisi lagi, serta tidak ada tupel didalam cabang yang
kosong.
Dari tabel diatas dapat diketahui bahwa atribut dengan Gain tertinggi
adalah Ureum yaitu sebesar 0,7943. Dengan demikian atribut Ureum dapat
menjadi node akar. Ada 3 nilai varaibel dari atribut Ureum yaitu rendah,
normal dan tinggi, akan tetapi variabel rendah tidak ada kasus, nilai varabel
Normal sudah mengklasifikasika kasus menjadi 100 yaitu keputusannya
Tidak Haemodialisa, sehingga tidak perlu dilakukan perhitungan lebih lanjut,
tetapi untuk nilai vaiabel Tinggi masih perlu dilakukan perhitungan lagi.
Dari hasil tersebut dapat digambarkan pohon keputusan sementara
sebagai berikut:
51
1.Ureum
Normal
Tinggi
Tidak HD
?
Gambar 4.1 Pohon Keputusan Hasil Perhitungan Node 1
Menghitung jumlah kasus untuk keputusan HD dan untuk keputusan
Tidak HD, dan entropy dari semua kasus dan kasus yang dibagikan
berdasarkan atribut “Ureum-Tinggi” yang dapat menjadi node akar dari nilai
variabel Normal dari atribut Ureum.
Setelah itu lakukan perhitungan Gain untuk masing-masing atribut.
Sebelum menghitung Gain lakukan perhitungan Entropy dari setiap atribut.
Hasil Perhitungannya sebagai berikut:
Tabel 4.4. Sampel jumlah kasus setiap atribut Node 1.1
No
Atribut
Nilai
Atribut
Jumlah
Kasus
Total
Jumlah
Kasus
Ya
Jumlah
Kasus
Tidak
Entropy
Inform
ation
Gain
Split
Info
Gain
Ratio
1
Total
Total
100
92
8
0.4022
0
2
kreatinin
Normal
19
19
0
0
0.0255
0.7015
0.0364
3
kreatinin
Rendah
0
0
0
0
0.0255
0.7015
0.0364
4
kreatinin
Tinggi
81
73
8
0.4651
0.0255
0.7015
0.0364
5
kalium
Normal
60
52
8
0.5665
0.0623
0.971
0.0642
6
kalium
Rendah
0
0
0
0
0.0623
0.971
0.0642
7
kalium
Tinggi
40
40
0
0
0.0623
0.971
0.0642
8
clorida
Normal
70
62
8
0.5127
0.0433
0.8813
0.0491
9
clorida
Rendah
0
0
0
0
0.0433
0.8813
0.0491
10
clorida
Tinggi
30
30
0
0
0.0433
0.8813
0.0491
11
natrium
Normal
37
29
8
0.7532
0.1235
1.5187
0.0813
12
natrium
Rendah
43
43
0
0
0.1235
1.5187
0.0813
13
natrium
Tinggi
20
20
0
0
0.1235
1.5187
0.0813
14
tekanan_darah
Normal
0
0
0
0
0.0317
0.778
0.0407
15
tekanan_darah
Rendah
23
23
0
0
0.0317
0.778
0.0407
16
tekanan_darah
Tinggi
77
69
8
0.4812
0.0317
0.778
0.0407
52
Dari tabel diatas dapat diketahui bahwa atribut dengan Gain tertinggi
adalah Natrium yaitu sebesar 0.1235. Dengan demikian atribut Natrium dapat
menjadi node akar. Ada 3 nilai varaibel dari atribut Natrium yaitu rendah,
normal dan tinggi, nilai varabel Rendah dan Tinggi sudah mengklasifikasikan
kasus menjadi 1 yaitu keputusannya Haemodialisa, sehingga tidak perlu
dilakukan perhitungan lebih lanjut, tetapi untuk nilai vaiabel Normal masih
perlu dilakukan perhitungan lagi.
Dari hasil tersebut dapat digambarkan pohon keputusan sementara
sebagai berikut:
Ureum
Normal
Tinggi
Tidak HD
Natrium
Rendah
HD
Tinggi
Normal
?
HD
Gambar 4.2 Pohon Keputusan Hasil Perhitungan Node 1.1
Menghitung jumlah kasus untuk keputusan HD dan untuk keputusan
Tidak HD, dan entropy dari semua kasus dan kasus yang dibagikan
berdasarkan atribut “Natrium-Normal” yang dapat menjadi node akar dari
nilai variabel Tinggi, Rendah dari atribut Natrium.
Setelah itu lakukan perhitungan Gain untuk masing-masing atribut.
Sebelum menghitung Gain lakukan perhitungan Entropy dari setiap atribut.
Hasil Perhitungannya sebagai berikut:
53
Tabel 4.5. Nilai Entropy Setiap Atribut 1.1.1
No
Atribut
Nilai
Atribut
Jumlah
Kasus
Total
Jumlah
Kasus
Ya
Jumlah
Kasus
Tidak
Entropy
Inform
ation
Gain
Split
Info
Gain
Ratio
1
Total
Total
37
29
8
0.7532
0
2
kreatinin
Normal
19
19
0
0
0.271
0.9995
0.2711
3
kreatinin
Rendah
0
0
0
0
0.271
0.9995
0.2711
4
kreatinin
Tinggi
18
10
8
0.9911
0.271
0.9995
0.2711
5
kalium
Normal
37
29
8
0.7532
0
0
0
6
kalium
Rendah
0
0
0
0
0
0
0
7
kalium
Tinggi
0
0
0
0
0
0
0
8
clorida
Normal
27
19
8
0.8767
0.1134
0.8419
0.1347
9
clorida
Rendah
0
0
0
0
0.1134
0.8419
0.1347
10
clorida
Tinggi
10
10
0
0
0.1134
0.8419
0.1347
11
tekanan_darah
Normal
0
0
0
0
0
0
0
12
tekanan_darah
Rendah
0
0
0
0
0
0
0
13
tekanan_darah
Tinggi
37
29
8
0.7532
0
0
0
Dari tabel diatas dapat diketahui bahwa atribut dengan Gain tertinggi
adalah Creatinin (CR) yaitu sebesar 0.271. Dengan demikian atribut Kreatinin
dapat menjadi node akar. Ada 3 nilai variabel dari atribut Kreatinin yaitu
rendah, normal dan tinggi, akan tetapi nilai variabel rendah 0 dan variabel
Normal dan Tinggi sudah mengklasifikasikan kasus menjadi 1 yaitu Normal
keputusannya Tidak Haemodialisa dan Tinggi keputusannya Haemodialisa,
sehingga tidak perlu dilakukan perhitungan lebih lanjut.
Dari hasil tersebut dapat digambarkan pohon keputusan akhir sebagai
berikut:
54
Ureum
Normal
Tinggi
Tidak HD
Natrium
Rendah
HD
Normal
Kreatinin
Tinggi
Tinggi
HD
Normal
?
HD
Gambar 4.3 Pohon Keputusan Hasil Perhitungan Node 1.1.1
Menghitung jumlah kasus untuk keputusan HD dan untuk keputusan
Tidak HD, dan entropy dari semua kasus dan kasus yang dibagikan
berdasarkan atribut “Natrium-Normal” yang dapat menjadi node akar dari
nilai variabel Tinggi, Rendah dari atribut Natrium.
Setelah itu lakukan perhitungan Gain untuk masing-masing atribut.
Sebelum menghitung Gain lakukan perhitungan Entropy dari setiap atribut.
Hasil Perhitungannya sebagai berikut:
Tabel 4.6. Nilai Entropy Setiap Atribut 1.1.1.1
No
Atribut
Nilai
Atribut
Jumlah
Kasus
Total
Jumlah
Kasus
Ya
Jumlah
Kasus
Tidak
Entropy
Inform
ation
Gain
Split
Info
Gain
Ratio
1
Total
Total
18
10
8
0.9911
0
2
kalium
Normal
18
10
8
0.9911
0
0
0
3
kalium
Rendah
0
0
0
0
0
0
0
4
kalium
Tinggi
0
0
0
0
0
0
0
5
clorida
Normal
8
0
8
0
0.9911
0.9911
1
6
clorida
Rendah
0
0
0
0
0.9911
0.9911
1
7
clorida
Tinggi
10
10
0
0
0.9911
0.9911
1
8
tekanan_darah
Normal
0
0
0
0
0
0
0
9
tekanan_darah
Rendah
0
0
0
0
0
0
0
10
tekanan_darah
Tinggi
18
10
8
0.9911
0
0
0
Dari tabel diatas dapat diketahui bahwa atribut dengan Gain tertinggi
adalah Crorida (CR) yaitu sebesar 0, 9911. Dengan demikian atribut clorida
55
dapat menjadi node akar. Ada 3 nilai variabel dari atribut Kreatinin yaitu
rendah, normal dan tinggi, akan tetapi nilai variabel rendah 0 dan variabel
Normal dan Tinggi sudah mengklasifikasikan kasus menjadi 1 yaitu Normal
keputusannya Tidak Haemodialisa dan Tinggi keputusannya Haemodialisa,
sehingga tidak perlu dilakukan perhitungan lebih lanjut.
Dari hasil tersebut dapat digambarkan pohon keputusan akhir sebagai
berikut:
Ureum
Normal
Tinggi
Tidak HD
Natrium
Rendah
HD
Normal
Kreatinin
Tinggi
Normal
HD
Clorida
Tinggi
HD
Normal
Rendah
Tidak HD
Tinggi
HD
Tidak HD
Gambar 4.4 Pohon Keputusan Hasil Perhitungan Node 1.1.1.1
4.2 Evaluasi (Evaluation Phase)
Dalam tahapan ini akan dilakukan validasi serta pengukuran keakuratan
hasil yang dicapai oleh model menggunakan beberapa teknik presisi dan recall
dan accuracy. Precisionadalah tingkat ketepatan antara informasi yang diminta
oleh pengguna dengan jawaban yang diberikan oleh sistem. recall adalah tingkat
keberhasilan sistem dalam menemukan kembali sebuah informasi.Sedangkan
Accuracy didefinisikan sebagai tingkat kedekatan antara nilai prediksi dengan
nilai aktual. Ilustrasi berikut ini memberikan gambaran perbedaan antara
accuracy, recall dan precision.
56
Sebagai contoh:
Berdasarkan data diatas dari 200 kasus pasien gagal ginjal ditentukan
sejumlah 50% (100 kasus) adalah sebagai training dan 100 kasus (50%)
sebagai testing, sehingga didapatkan hasil adalah sebagai berikut
Tabel 4.7. Confusion Matrix
True Terapi HD
True Non-Terapi HD
Pred Terapi HD
54
0
Pred non-Terapi HD
0
46
Dari tabel diatas maka diperoleh tingkat akurasi dengan rumus sebagai
berikut:
46
) 𝑥100 = 100%
0 + 46
46
𝑟𝑒𝑐𝑎𝑙𝑙 = (
) 𝑥100% = 100%
0 + 46
𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛 = (
𝐴𝑘𝑢𝑟𝑎𝑠𝑖 = (
54 + 46
) 𝑥100% = 100%
54 + 46 + 0 + 0
57
4.3 Desain Sistem yang Akan Dibangun
Berdasarkan analisis yang telah dilakukan, maka sistem yang dibangun
diharapkan dapat memprediksi apakah pasien penderita gagal ginjal akan
dilakukan haemodialisa atau tidak haemodialisa dengan membangun perangkat
lunak data mining dengan algoritma C4.5 pada data pasien gagal ginjal. Sistem
berupa simulasi yang dapat menyimpan hasil penghitungan entropy dan gain
serta hasil pembentukan pohon keputusan yang telah dilakukan.
4.4 Kebutuhan Fungsional
Kebutuhan fungsional merupakan pernyataan layanan sistem yang harus
disediakan, sehingga hasil dari implementasi algoritma C4.5 pada klasifikasi data
pasien gagal ginjal ini harus dapat melakukan fungsi-fungsi sebagai berikut :
1) Fungsi Latih Data
a) Fungsi Pengklasifikasian Atribut Fungsi ini untuk mengklasifikasi atributatribut dengan pilihan menggunakan pengklasifikasian berdasarkan
referensi kesehatan atau menggunakan rumus GINI
b) Fungsi Penghitungan Entropy dan Gain Fungsi ini untuk menghitung
entropy dan gain yang akan menemukan simpul-simpul untuk membentuk
pohon keputusan.
2) Fungsi Uji
Data Fungsi ini meliputi dua pengujian data yaitu pengujian dengan
memasukkan data masukan dan pengujian data dengan membandingkan hasil
keputusan pasien gagal ginjal antara data uji dengan data master.
3) Fungsi Menu
Utama Fungsi ini untuk melihat keseluruhan menu yang ada pada
sistem agar mempermudah pengguna dalam memilih opsi.
4) Fungsi Tampilan
Fungsi ini untuk menampilkan pohon keputusan dan daftar aturan yang
terbentuk, serta menampilkan hasil penghitungan entropy dan gain.
58
4.5 Kebutuhan Nonfungsional
Kebutuhan nonfungsional merupakan batasan layanan atau fungsi yang
ditawarkan sistem. Adapun kebutuhan fungsional dari hasil implementasi
algoritma C4.5 pada data pasien gagal ginjal sebagai berikut :
1) Sistem ini dirancang dengan tampilan yang sederhana sehingga pengguna
mudah memahami maksud tampilan atau perintah yang diminta oleh sistem.
2) Sistem dapat melakukan proses latih data berkali-kali namun tidak dapat
melakukannya secara bersamaan apabila input sample atau persentase datanya
lebih dari satu kasus.
3) Sistem tidak menyediakan fungsi untuk memanipulasi data karena ada
penghitungan yang sudah ditetapkan.
4.6 Pemodelan Sistem Menggunakan Data Flow Diagram (DFD)
4.6.1 Data Context Diagram(DCD)
Data Context Diagram dibawah ini menjelaskan mengenai garis besar
proses yang dijalankan oleh sistem. DCD ini terdiri atas satu buah proses
secara garis besar yang dinamakan Implementasi Algoritma C4.5 pada Data
Pasien gagal ginjal diberikan terapi haemodialisa serta satu buah external entity
yaitu pengguna. DCD digambarkan pada Gambar 4.1 berikut :
59
hasiUjDataMaster,hasilBandingUji
hasiUjDataMaster,hasilBandingUji
PeringatanDataKosong
peringatanHapusANgka
PeringtanpraProsesSelesai
hapusDtaMasukan,persentaseAkurasi,persentaseKesalahan
hasilPerhitungan
daftarAturan
PohonKeputusan
pesanperingatan
peringatanHapusData, pesanProsesDataSelesai
Pengguna
opsiUjiDataMasukan, dataMsk
opsiPraPresesRefKesehatan
persentaseData
Implementasi ALgoritma C4.5
memprediksi Haemodialisa
opsipraprosesGINI
opsiProsesDta
opsiTampilPohonKeputusam
opsiTampilAturan
opsiTampilHitung
opsiUjiDataMasterAKurasi
opsiHasil
Gambar 4.5 Data Contecxt Diagram (DCD)
4.6.2 Data Flow Diagram (DFD) Level 1
Proses utama yang terjadi pada DFD Level 1 adalah Melakukan Latih
Data, Menampilkan Pohon Keputusan, Menampilkan Aturan yang Terbentuk,
Menampilkan Hasil Penghitungan, Pengujian dengan Data Masukan, Pengujian
dengan Data Master dan Penghitungan Akurasi. Selain itu terdapat satu
buahexternal entity, yaitu pengguna. Proses-proses tersebut melibatkan
beberapadatastore, yaitu tbPasien, datastore Praproses (tbPra dan tbPraGini),
datastore Pengujian (tbUji, tbhasilUji, tbBandingUji), datastore Atribut
(tbAtribut, tbKlasAtribut), datastore Pohon Keputusan (tbNodePohon,
tbKlasPohonDetail, tbAturan), datastore Penghitungan (tbHitung, tbEntropi,
tbGain). DFD level 1 digambarkan pada Gambar 4.6.
60
PeringatanHapusDta,
pesanProsesDataSelesai
Penguna
tbPasien
recordDtaPasien
PraPoses
(hdPra,HdPraGINI
persentasiData
opsiPraProses
OpsiPraProsesRefKes
opsiProsesData
1.0
PENGHITUNGAN
(tblUji,tblHasilUji,
tblBandingUji
Melakukan
Latih Data
hasiLatihData
opsiPohonkeputusan
PraPoses
(hdPra,HdPraGINI
2.0
Menampilka
n Pohon
Keputusan
PesanPeringatan
,pohonkeputusan
opsiTampilAturan
ATRIBUT
(hdAtribut,
TblKlasAtribut
3.0
opsiUjiMasukan
pesanPeringatan
Menampilka
aturan
yangberlaku
opsiTampilHitung
pesanperingan
hasilPerhitungan
4.0
Menampilkan
hasil
perhitungan
opsiUjiDataMaster
POHON KEPUTUSAN
(hdNodePohon,
tbKlasPohon, hdAturan
pesan_peringatan
5.0
Pengujian
data
Masukan
6.0
pengujian
dengan data
master dan
akurasi
Gambar 4.6 Data Flow Diagram (DFD) Level 1
4.6.3 Data Flow Diagram (DFD) Level 2
1) DFD Level 2 Proses 1.0 Melakukan Latih Data
Proses latih data dikembangkan menjadi beberapa proses yang bisa
dilakukan, yaitu Praproses Data dengan Rumus GINI, Pra proses Data
Berdasarkan Referensi Kesehatan, Menghitung Entropy dan Gain,
Membentuk Pohon Keputusan. External entity yang terlibat adalah
pengguna. Datastore yang terlibat yaitu tbPasien, tbPra, tbPraGini,
tbAtribut, tbKlasAtribut, tbUji, tbHitung, tbEntropi, tbGain, tbNodePohon,
tbKlasPohonDetail, dan tbAturan. DFD untuk proses tersebut digambarkan
pada Gambar 4.7.
61
opsiProsesData
peringatanHapusData, pesanProsesDataSelesai
Pengguna
presentasiDta
tbPraGINI
pesanselesai
peringatanhapusdata
pesanlebhdari100
peringatanhapusdata
1.1
Pra Preses
data dengan rumus
GINI
recordDataLatin
recordDataPasien
1.3
Menghitung
entropi dan
Gain
pesanPraprosesSelesai
tbUji
dataPenghitungan
tbPasien
KdNode
1.2
Pra Proses data
berdasarkan ref
Kesehatan
presentasiDta
pesanlebih100
tbPra
recordDataLatih
tbhitung
pesanprosesselesai
tbEntropi
gain
tbAtribut
kdKlsAtribut
tbGain
1.4
Membentuk
Pohon
Keputusan
tbKlasAtribut
nmAtribut
hasilKelanjuttanNode
tbAturan
KdAtribut
kdNode
tbNodePohon
tbPohonDetail
Gambar 4.7 Data Flow Diagram (DFD) Level 1.1
2) DFD Level 2 Proses 5.0 Pengujian dengan Data Masukan
Proses pengujian implementasi algoritma C4.5 pada klasifikasi data pasien
gagal ginjal dengan data masukan dikembangkan menjadi beberapa proses
yang bisa dilakukan, yaitu Memasukkan Data Uji Masukan dan Menentukan
Hasil Pasien Gagal ginjal. External entity yang terlibat adalah pengguna.
Datastore
yang
terlibat
yaitu
tbAtribut,
tbKlasAtribut,
dan
tbKlasPohonDetail. DFD untuk proses tersebut digambarkan pada Gambar
4.8.
62
opsiUjiDataMasukan
DataMasukan
Pengguna
peringatanHarusAngka
5.1
Memasukkan
Data Uji
Masukan
tbAtribut
dataAtribut
tbKlasAtribut
opsiHasil
peringatanDataKosong
HasilUjiDataMasukan
dataKlasAtribut
5.2
Menentukan
Hasil Pasien HD
kdNode
tbKlasPohonDEtail
Gambar 4.8 DFD Level 2
Proses 5.0 Pengujian dengan data Masukan
3) DFD Level 2 Proses 6.0 Pengujian Data Master dan Akurasi
Proses pengujian implementasi dengan data master dan penghitungan
akurasi dikembangkan menjadi beberapa proses yang bisa dilakukan, yaitu
Pengujian Data Master dan Menghitung Persentase Akurasi.External entity
yang
terlibat
adalah
pengguna.
Datastore
yang
terlibat
yaitu
tbKlasPohonDetail, tbUji, tbHasilUji, tbBandingUji. DFD untuk proses
tersebutdigambarkan pada Gambar 4.9.
63
opsiUjiDataMasukan
DataMasukan
Pengguna
tbKlasPohonDetail
hasilputusanpohon
6.1
Pengujian recordDatauji
Data Master
pesanPeringatan
tbUji
recorddataUji
tbHasilUji
recorddatauji,recordpasien
presentasi Akurasi
persentaseKesalahan
6.2
Menghitung
Prosentase
AKurasi
hislKeputusanPohon
tbBandingUji
Gambar 4.9 DFD Level 2
Proses 6.0 Pengujian data master dengan Akurasi
4.7 Process Spesification(PSPEC)
PSPEC merupakan suatu pendeskripsian tentang apa yang terjadi pada proses
level paling bawah pada suatu diagram aliran data . Berikut adalah PSPEC dari
implementasi algoritma C4.5 pada data pasien gagal ginjal.
1) Proses 1.1 Praproses Berdasarkan Kasus dan Training
Input persentaseData
Output
Datastore
Algoritma
persentaseData, opsiPraProsesRefKes
recordDataPasien, peringatanHapusData
tbPasien, tbPra, tbUji, tbAtribut, tbKlasAtribut
1. Pengguna memasukan persentaseData
2. Pengguna memilih opsiPraProsesRefKes untuk
melakukan praproses data berdasarkan referensi
kesehatan
3. Sistem mengambil record data pasien dari
tbPasien
4. Sistem menyimpan recordDataLatih di tbPra
5. Sistem melakukan kalsifikasi setiap atribut
64
berdasarkan referensi kesehatan yang menjadi
acuan.
6. Sistem memunculkan record data pasienyang
telah di praproses
2) Proses 1.2 Proses Penghitungan Entropy dan Gain
Input persentaseData
Output
Datastore
Algoritma
opsiProsesData
peringatanHapusData, pesanProsesDataSelesai,
dataPenghitungan, entropi, gain
tbPra, tbPraGini, tbAtribut, tbKlasAtribut,tbHitung,
tbEntropi,
tbGain,
tbNodePohon,
tbKlasPohonDetail
1. Pengguna memilih opsiProsesData
2. Menghitung jmlKasus, jmlYes, jmlNo pada
recordDataLatih yang disimpan pada tbPra atau
tbPraGini
3. Menghitung entropi untuk baris penentu total
Entropi (total)
4. Menghitung entropi untuk setiap atribut Entropi
(klas atribut)
5. Sistem menyimpan penghitungan entropi pada
tbHitung dan tbEntropi
6. Menghitung nilai gain setiap atribut
Gain
7. Sistem menyimpan nilai gain pada tbGain
8. Penghitungan entropy dan gain dilanjutkan
sampai level yang tidak melebihi jumlah atribut
penentu.
9. Jika :
- nilai jmlKasus=jmlYes ,maka
hasilKeputusanPohon =YES ;
- nilai jmlKasus=jmlNo, maka
hasilKeputusanrPohon= NO ;
- nilai jmlKasus <> jmlYes atau jmlKasus <>
jmlNo, maka penghitungan entropy dan
gain dilanjutkan dengan kondisi baris
penentu terakhir yang terbentuk.
- jika penghitungan terus berlanjut sampai
melebihi jumlah atribut yang terlibat dan
tidak menghasilkan keputusan YES atau
NO, maka hasilKeputusanPohon =
UNCLASSIFIED
- jika terdapat lebih dari satu atribut yang
gain tertingginya bernilai sama, maka
atribut yang diambil untuk dijadikan simpul
65
adalah atribut yang tersimpan paling atas
pada tbGain
3) Proses 1.3 Pembentukan Pohon Keputusan
Input persentaseData
Output
Datastore
Algoritma
kdNode, kdAnakNode, kdAtribut
pohonKeputusa
tbAtribut,
tbKlasAtribut,
tbNodePohon,
tbKlasPohonDetail, tbEntropi, tbGain, tbAturan
1. kdAtribut dengan gain tertinggi pada tbGain
menjadi simpul akar pada pohonKeputusan
dengan kondisi baris penentu total atau level
nol.
2. kdAtribut dengan gain tertinggi di level 1,
menjadi simpul internal untuk simpul akar.
Begitu seterusnya hingga menghasilkan
keputusan akhir untuk pasien haemodialisa.
3. Silsilah pohon disimpan pada tbNodePohon,
tbKlasPohonDetail
4) Proses 2.0 Menampilkan Pohon Keputusan
Input persentaseData
Output
Datastore
Algoritma
opsiTampilPohonKeputusan
pohonKeputusan, pesan_peringatan
tbAturan, tbNodePohon, tbKlasPohonDetail
1. Pengguna memilih opsiTampilPohonKeputusan
2. Sistem memunculkan pohonKeputusan jika
pengguna telah melakukan proses latih data atau
sistem akan memunculkan pesan_peringatan
apabila pengguna belum melakukan latih data
5) Proses 3.0 Menampilkan Daftar Aturan
Input persentaseData
Output
Datastore
Algoritma
opsiTampilAturan
daftarAturan, pesan_peringatan
tbAtribut,
tbNodePohon,
tbKlasPohonDetail,
tbKlasAtirbut, tbAturan
1. Pengguna memilih opsiTampilAturan
2. Sistem memunculkan daftarAturan jika
pengguna telah melakukan proses latih data
atau
sistem
akan
memunculkan
pesan_peringatan apabila pengguna belum
melakukan latih data
66
6) Proses 4.0 Menampilkan Hasil Penghitungan
Input persentaseData
Output
Datastore
Algoritma
opsiTampilHitung
hasilPenghitungan, pesan_peringatan
tbHitung, tbEntropi, tbGain
1. Pengguna memilih opsiTampilHitung 2. Sistem
memunculkan hasilPenghitungan jika pengguna
telah melakukan proses latih data atau sistem
akan memunculkan pesan_peringatan apabila
pengguna belum melakukan latih data
7) Proses 5.1 Memasukkan Data Uji Masukan
Input persentaseData
Output
Datastore
Algoritma
opsiUjiDataMasukan, dataMasukan
peringatanHarusAngka, peringatanIsiSemua
1. Pengguna memilih opsiUjiDataMasukan
2. Sistem akan memunculkan pesan_peringatan
apabila pengguna belum melakukan latih data
3. Sistem akan masuk ke pengujian data dengan
data masukan
4. Pengguna menginput dataMasukan
5. Jika pengguna tidak memasukkan data numerik,
maka sistem akan memunculkan
peringatanHarusAngka
6. Jika pengguna tidak mengisi semua data yang
diminta, sistem akan memunculkan
peringatanIsiSemua
8) Proses 5.2 Menentukan Hasil Pasien Haemodialisa
Input persentaseData
Output
Datastore
Algoritma
dataMasukan
hasilUjiDataMasukan, pesan_peringatan
tbAtribut, tbNodePohon, tbKlasPohonDetail
1. Sistem akan melakukan pencarian hasil
keputusan dari data yang telah dimasukkan oleh
pengguna dengan silsilah pohon yang telah
terbentuk
2. Sistem memunculkan hasilUjiDataMasukan
9) Proses 6.1 Pengujian Data Master
Input
persentaseData
Output
Datastore
Algoritma
opsiUjiDataMasterAkurasi, hasilKeputusanPohon
hasilUjiDataMaster,pesan_peringatan,hasilBandingUji
tbUji, tbKlasPohonDetail
1. Pengguna memilik opsiUjiDataMasterAkurasi
67
2. Sistem memunculkan pesan_peringatan apabila
pengguna belum melakukan proses latih data
3. Sistem memunculkan record data yang akan diuji
dari tbUji
4. Sistem memunculkan hasilKeputusanPohon dari
tbKlasDetail
5. Sistem membandingkan hasilKeputusanPohon
dengan hasil keputusan data master dan
memunculkan keterangan kesesuaian antara
keduanya
6. Sistem memunculkan hasilUjiDataMaster
10) Proses 6.2 Penghitungan Persentase Akurasi
Input persentaseData
Output
Datastore
Algoritma
hasilKeputusanPohon, pasien, ketKesesuaian
persentaseAkurasi, persentaseKesalahan
tbBandingUji
1. Sistem melakukan penghitungan akurasi dengan
melihat dari ketKesesuaian antara pasien
berdasarkan hasilKeputusanPohon dengan data
master
2. Sistem menghitung jumlah hasil sesuai dan
jumlah hasil tidak sesuai
3. Sistem menghitung persentase akurasi :
jumlahDataUji x %100
jumlahHasilSesuai
persentaseAkurasi =
4. Sistem menghitung persentase kesalahan :
persentaseKesalahan =
jumlahHasilTidakSesuai x %100
jumlahDataUji
Atau persentaseKesalahan=
100−persentaseAkurasi
5. Sistem memunculkan persentaseAkurasi dan
persentaseKesalahan
4.8 Kamus Data
Kamus data merupakan kumpulan daftar elemen data yang mengalir pada
sistem perangkat lunak sehingga masukan dan keluaran dapat dipahami secara
umum. Berikut nama atau istilah yang disebutkan pada implementasi algoritma
C4.5 pada data pasien gagal ginjal adalah sebagai berikut :
68
Tabel 4.8 Kamus Data
No
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Istilah
Pengguna
Penjelasan
Seseorang yang melakukan implementasi
algoritma C4.5 pada klasifikasi data pasien
persentaseData
Jumlah
data
yang
dimasukkan
untukdilakukan proses latih data dan uji
data (dalam persen)
opsiPraProsesRefKes
Opsi untuk memilih praproses berdasarkan
referensi kesehatan
opsiPraProsesGini
Opsi
untuk
memilih
praprosesmenggunakan rumus GINI
opsiProsesData
Opsi untuk melakukan proses data yang
terdiri dari proses penghitungan entropy
dangain
serta
pembentukan
pohon
keputusan
opsiTampilPohonKeputusan Opsi untuk menampilkan pohon keputusan
opsiTampilAturan
Opsi untuk menampilkan daftar aturan
opsiTampilHitung
Opsi
untuk
menampilkan
hasil
penghitungan
opsiUjiDataMasukan
Opsi untuk melakukan pengujian data
dengan data masukan
dataMasukan
Data yang digunakan untuk melakukan
pengujian data dengan data masukan
opsiUjiDataMasterAkurasi
Opsi untuk melakukan pengujian data
master dan penghitungan persentas akurasi
peringatanHapusData
Peringatan untuk menghapus semua data
yang sebelumnya telah ada dan tersimpan
pada basis data. Peringatan berisi ,”Apakah
anda akan menghapus semua data yang
telah tersimpan sebelumnya?”
opsiHasil
Opsi untuk mengetahui hasil keputusan
pasien berdasarkan pohon keputusan pada
pengujian data dengan data masukan
pesanProsesDataSelesai
Pesan yang menyampaikan bahwa proses
data telah selesai Pesan berisi,”Proses data
telah selesai dilaksanakan.”
Pesan_peringatan
Pesan yang memperingatkan bahwa opsi
yang dipilih tidak dapat dieksekusi karena
belum melakukan latih data. Pesan
berisi,”Anda belum melakukan latih data.
Silakan lakukan proses latih data terlebih
dahulu.”
pohonKeputusan
Pohon keputusan yang telah terbentuk
setelah dilakukan proses data
daftarAturan
Daftar aturan yang terbentuk setelah proses
69
18
hasilPenghitungan
19
hasilUjiDataMasukan
20
hasilUjiDataMaster
21
hasilLatihData
22
23
24
persentaseAkurasi
persentaseKesalahan
pesanPraProsesSelesai
25
peringatanHarusAngka
26
peringatanDataKosong
27
28
hasilUjiDataMaster
hasilBandingUji
29
pesanLebihDari100
30
31
recordDataPasien Seluruh
recordDataLatih
32
33
recordDataUji
dataAtribut
34
dataPohonKeputusan
35
dataDaftarAturan
data dilakukan
Hasil penghitungan entropy dan gain saat
proses data
Hasil dari pengujian data dengan masukan
yaitu berupa hasil keputusan apakah pasien
terapi haemodialisa atau tidak
Hasil dari pengujian data master yang
menampilkan jumlah data pasien yang
terklasifikasi, jumlah data bukan pasien
penderita , dan jumlah data yang tidak
terklasifikasi
Hasil dari proses latih data berupa
hasilPenghitungan, hasilKeputusanPohon
Persentase akurasi (dalam persen)
Persentase kesalahan (dalam persen)
Pesan yang menyampaikan bahwa pra
proses telah selesai dilaksanakan. Pesan
berisi,”Pra Proses Telah Selesai.”
Peringatan bahwa data yang diisi harus
numerik. Pesan berisi,”Harus diisi angka.”
Peringatan bahwa masih ada data yang
kosong dan meminta untuk melengkapi
data
kosong
tersebut.
Pesan
berisi,”Lengkapi data yang masih kosong!”
Hasil pengujian data master
Hasil perbandingan pengujian hasil
keputusan pasien antara hasil keputusan
berdasarkan pohon keputusan dengan data
master
Pesan
yang
menyampaikan
bahwa
persentase data yang dimasukan saat
praproses data, angkanya melebihi 100.
Pesan berisi,”Angka yang diisi tidak boleh
melebihi 100%.”
record pada data (data master)
Record data pasien yang dijadikan data
latih
Record data pasien yang dijadikan data uji
Data atribut yang meliputi kdAtribut,
nmAtribut, dan split
Data untuk pohon keputusanmeliputi
kdPohon,hasilKelanjutanNode,
hasilKeputusanPohon
Data daftar aturan yang meliputi aturan dan
hasilKeputusanPohon
70
36
37
hasilPenghitungan
hasilKeputusanPohon
Hasil penghitungan entropi dan gain
Hasil keputusan berdasarkan pohon yang
terbentuk untuk hasil atribut target yaitu
pasien
4.9 Perancangan Basis Data
Perancangan basis data menjelaskan tabel-tabel yang terkait dengan
pembangunan simulasi algoritma C4.5 pada data gagal ginjal. Tabel-tabel yang
terdapat pada pembangunan perangkat lunak data mining menggunakan
algoritma C4.5 pada data pasien gagal ginjal diuraikan pada Tabel 4.2 sampai
Tabel 4.15.
Field
Tabel 4.9 Tabel Atribut (tb_atribut)
Type
Length Key
Id
Atribut
Nilai_atribut
Field
varchar
varchar
double
10
15
Primary False
False
False
Tabel 4.10 Tabel Pasien (tbPasien)
Type
Length Key
Id
Nama_pasien
Usia
Jenis_kelamin
Ureum
Kreatinin
Kalium
Clorida
Natrium
Tekanan_darah
Class
Status_data
varchar
varchar
varchar
varchar
varchar
varchar
varchar
varchar
varchar
varchar
varchar
varchar
10
15
15
15
15
15
15
15
15
15
15
15
Null
Null
Primary False
False
False
False
False
False
False
False
False
False
False
False
Keterangan
Kode Atribut
Nama Atribut
Klasifikasi
Keterangan
Kode Atribut
Nama Atribut
Usia Pasien
Jenis Kelamin
Kadar ureum
Kadar Kreatinin
Kadar Kalium
Kadar clorida
Kadar Natrium
Tekanan darah
Status Pasien
Satus data training
atau data testing
71
Tabel 4.11 Tabel data Keputusan (tbdata_keputusan)
Field
Type
Length
Key
Null
Id
Nama_pasien
Usia
Jenis_kelamin
Ureum
Kreatinin
Kalium
Clorida
Natrium
Tekanan_darah
Keputusan_c45
Id_rule_c45
int
varchar
varchar
varchar
varchar
varchar
varchar
varchar
varchar
varchar
varchar
int
10
100
100
100
100
100
100
100
100
100
100
5
Primary False
False
False
False
False
False
False
False
False
False
False
False
Keterangan
Kode Atribut
Nama Atribut
Usia Pasien
Jenis Kelamin
Kadar ureum
Kadar Kreatinin
Kadar Kalium
Kadar clorida
Kadar Natrium
Tekanan darah
Tabel 4.12 Tabel data Keputusan Kinerja (tbdata_keputusan_kinerja)
Field
Type
Length
Key
Null
Id
Nama_pasien
Usia
Jenis_kelamin
Ureum
Kreatinin
Kalium
Clorida
Natrium
Tekanan_darah
Keputusan_asli
Keputusan_c45
Id_rule_c45
int
varchar
varchar
varchar
varchar
varchar
varchar
varchar
varchar
varchar
varchar
varchar
int
10
100
100
100
100
100
100
100
100
100
100
100
5
Primary False
False
False
False
False
False
False
False
False
False
False
False
False
Keterangan
Kode Atribut
Nama Atribut
Usia Pasien
Jenis Kelamin
Kadar ureum
Kadar Kreatinin
Kadar Kalium
Kadar clorida
Kadar Natrium
Tekanan darah
Tabel 4.13 Tabel data Penentu Keputusan (tbdata_penentu_keputusan)
Field
Type
Length
Key
Null
Id
Atribut
Nilai_atribut
int
varchar
varchar
5
255
255
Primary False
False
False
Keterangan
Kode Atribut
Nama Atribut
72
Tabel 4.14 Tabel Iterasi C45 (tbiterasi_c45)
Field
Type
Length
Key
Null
Keterangan
Id
Iterasi
Atribut_gain_ratio_max
Atribut
Nilai_atribut
Jml_kasus_total
Jml_kasus_tidak
Jml_kasus_ya
Entropy
Inf_gain
Split_info
Gain_ratio
varchar
varchar
varchar
varchar
varchar
varchar
varchar
varchar
varchar
varchar
varchar
varchar
10
3
255
100
100
15
15
15
15
15
15
15
Primary False Kode urut
False
False
False Atribut
False Nilai atribut
False
False
False
False
False
False
False
Tabel 4.15 Tabel mining C45 (tbmining_c45)
Field
Type
Length
Key
Null
Id
Atribut
Nilai_atribut
Jml_kasus_total
Jml_kasus_tidak
Jml_kasus_ya
Entropy
Inf_gain
Inf_gain_temp
Split_info
Split_info_temp
Gain_ratio
Int
varchar
varchar
varchar
varchar
varchar
varchar
varchar
varchar
varchar
varchar
varchar
11
100
5
5
5
15
15
15
15
15
15
15
Primary False
False
False
False
False
False
False
False
False
False
False
False
Keterangan
Kode urut
Atribut
Nilai atribut
Tabel 4.16 Tabel Pohon Keputusan (tbPohon_keputusan)
Field
Type
Length
Key
Null
Id
Atribut
Nilai_atribut
Id_parent
Jml_kasus_tidak
Jml_kasus_ya
Keputusan
Int
varchar
varchar
char
varchar
varchar
varchar
4
100
100
3
15
15
100
Primary False
False
False
true
False
False
False
Keterangan
Kode urut
Atribut
Nilai atribut
73
Diproses
varchar
Kondisi_atribut varchar
Looping_kondisi varchar
15
255
15
False
False
False
Tabel 4.17 Tabel Rule Penentu Keputusan (tbrule_penentu_keputusan)
Field
Type
Length
Key
Null
Keterangan
Id
Id_rule
Atribut
Nilai_atribut
Keputusan
Cocok
Pohon
varchar
varchar
10
100
Primary False
False
varchar
char
varchar
varchar
100
3
15
15
False
true
False
False
Nilai atribut
Null
Keterangan
Kode urut
Tabel 4.18 Tabel Rule C45 (tbrule_c45)
Field
Type
Length
Key
Id
Id_parent
Rule
Keputusan
varchar
varchar
varchar
varchar
10
100
255
25
Primary False
False
False
False
Kode urut
Keterangan
Tabel 4.19 Tabel User (tbuser)
Field
Type
Length
Key
Null
Id_user
Password
Level
varchar
varchar
varchar
25
50
15
Primary False
False
False
Kode urut
4.10 Diagram Entity-Relationship
Diagram ER (ERD) adalah model konseptual yang mendeskripsikan
hubungan antara penyimpanan dan didasarkan pada persepsi dari sebuah dunia
nyata yang terdiri dari sekumpulan objek, disebut entiti & relasi diantar objekobjek tersebut Diagram ER digunakan untuk memodelkan struktur data dan
hubungan antar data.
74
Gambar 4.10
Diagram Entity-Relationship
4.11
Perancangan Arsitektural
Dalam implementasi algoritma klasifikasi terhadap data dibuat sebuah
perancangan
arsitektural
yang
merupakan
definisi
keterkaitan
antara
elemenelemen utama yang akan membentuk hasil dari implementasi tersebut.
Berikut ini digambarkan mengenai perancangan arsitektural implementasi
algoritma C4.5 dalam memprediksi haemodialisa pasien gagal ginjal.
Login
Frm Utama
Frm Data
Input
Frm c45
Proses
mining
Frm
C45
perhitung
an
Frm c45
pohon
perhitung
an
Frm
kinerja
proses
Frm
kinerja
perbandin
gan
Frm
Penilaian
Frm
Keputusa
n
75
4.12
Perancangan Antarmuka
Perancangan antarmuka merupakan proses membuat perancangan
tampilan layar dan menentukan bentuk serta isi dokumen sumber untuk
memasukan data yang kemudian diolah menjadi keluaran yang dapat
digunakan
oleh
pengguna.
Rancangan-rancangan
antarmuka
pada
Pembangunan Perangkat Lunak DataMining Menggunakan Algoritma C4.5
dalam Klasifikasi Data Pasien Gagal ginjal.
Gambar 4.11 Rancangan Tampilan Utama
Gambar4.12 Rancangan Input Data Haemodialisa
76
Gambar 4.13 Rancangan Proses Mining
Gambar 4.14 Rancangan Perhitungan C4.5
77
Gambar 4.15 Rancangan Pohon Keputusan
Gambar 4.16 Rancangan Tabel Perbandingan
78
Gambar 4.17 Rancangan Tabel Penilaian
Gambar 4.18 Rancangan Penentu Keputusan
4.13 Perancangan Algoritma
Pada bagian ini akan dijelaskan mengenai algoritma-algoritma pada
“Pembangunan Perangkat Lunak Data Mining Menggunakan Algoritma C4.5
pada data Pasien Gagal ginjal yang dilakuan haemodialisa”
4.13.1 Algoritma Data Haemodialisa
79
Data Haemodialisa
Deklarasi: dataMasukan :
ageureumkreatininkaliumcalsiumnatriumhipertensihd_patient : number
gender : Boolean
Algoritma:
INPUT dataMasukan
Memeriksa silsilah pohon keputusan
OUTPUT hasilKeputusanPohon
4.13.2 Algoritma Proses Mining
Proses Data (Penghitungan entropy, gain, pembentukan pohon keputusan)
Deklarasi: tbPasien, tbAtribut, tbKlasAtribut, tbPra, tbUji, tbPraGini,
tbHitung, tbEntropi, tbGain, tbNodePohon, tbKlasPohonDetail, tbAturan :
datastore
Algoritma:
TreeSolved "False"
Kosongkan tbHitung, tbEntropi, tbGain, tbNodePohon,
tbKlasPohonDetail, dan tbAturan
'Tahapan Apabila Tabel Tree Masih Kosong
Level 0
VBarisPenentu"TOTAL”
KondisiBarisPenentu""
KondisiBarisPenentuSimpan "TOTAL"
ExcludeAtribute  ""
‘Lakukan Perhitungan Entropy dan Gain
Call hitung(Level, VBarisPenentu, KondisiBarisPenentu,
KondisiBarisPenentuSimpan, ExcludeAtribute)
KodeBarisPenentu = kodehitung(Kode Perhitungan Yang DiGenerate
Secara Otomatis)
'Membuat dan Menyimpan Row Pertama Pada Tabel Tree Atribut
Ambil Kode Atribut Yang Memiliki Nilai Gain Tertinggi dari
hasil perhitungan
Buat Record Baru Yang Berisi Kode Tree, Level, dan Atribut
Yang Terkait kemudian simpan pada tbNodePohon
kodetree(Kode Tree Yang Di-Generate Secara Otomatis)Parent
'Menyelesaikan Node Pada Level 1
Ambil Semua Kode Klas Atribut Dari Atribut Yang Menjadi Node
Root
Level 0
For i = 0 To Jumlah_KdKlasAtribut - 1
Isi ArrayKlasAtribut[i, 0] dengan Kode Klas Atribut
dari Atribut yang menjadi node
Next
For i = 0 To Jumlah_KdKlasAtribut - 1
kodeklasatribut = ArrayKlasAtribut(i, 0)
Ambil NIlai S1, S2, dan Entropy untuk tiap record yang
memiliki node = KodeBarisPenentu dan kode klas atribut
= kodeklasatribut dari tbEntropi
If S1 = 0 Then
Result "No"
Else
80
If S2 = 0 Then
Result"Yes"
Else
Result "Next"
End If
End If
If Result = "Next" Then
Buat Kode Tree Baru
kodetreeNewChild
NewChildNextNode
Simpan Record Berisi KdNode, KdKlasAtribut,
Result, Child Ke Dalam tbKlasPohonDetail
Buat Node Baru dan Kosongkan Field Atribut
Yang bersangkutan
Do
Telusuri Mundur Hingga Ke Node Root Untuk
Mendapatkan KondisiBarisPenentu
dSelanjutnya, juga ExcludeAtribute(Nama
Atribut yang akan dilibatkan untuk
perhitungan selanjutnya)
Loop While Root = False
VBarisPenentu = NewChild
‘Lakukan Perhitungan Untuk Node Baru
Call hitung(Level, VBarisPenentu,
KondisiBarisPenentu, KondisiBarisPenentuSimpan,
ExcludeAtribute)
NodeBaru = kodehitung
Ambil Kode Atribut Yang Memiliki Nilai Gain
Tertinggi
Update Record Pada tbNodePohon yang Field
Kode_atributnya dikosongkan sebelumnya
Else
Simpan Record Berisi KdNode, KdKlasAtribut,
Result, Child Ke Dalam tbKlasPohonDetail
End If
Next
1LevelKerja
Do
"False"NextLevel
Ambil seluruh record pada tb_tree atribut yang
memiki Level = Level_Kerja
If Jml_Record_Level_Kerja = 0 Then
NextLevel = "False"
Else
jmlkodetree = Jml_Record_Level_Kerja
-1
For i = 0 To Jml_Record_Level_Kerja -1
Isi ArrayTreeAtribut[i, 0] dengan
KdNode
Next
For k = 0 To Jml_Record_Level_Kerja -1
Ambil Node(Kode_Hitung) yang baris
penentunya = ArrayTreeAtribut[k, 0]
KodeBarisPenentu = Node
Parent = ArrayTreeAtribut(k, 0)
81
Ambil Kode_Atribut dari tbNodePohon yang
memiliki KdNode = ArrayTreeAtribut[k, 0]
AtributNode = Kode_Atribut
Ambil Semua Kode Klas Atribut Dari Atribut
Yang Menjadi Node
Level = LevelKerja + 1
For i = 0 To Jumlah_KdKlasAtribut - 1
Isi ArrayKlasAtribut[i, 0] dengan Kode
Klas Atribut dari Atribut yang menjadi
node
Next
For i = 0 To Jumlah_KdKlasAtribut - 1
kodeklasatribut =
ArrayKlasAtribut(i, 0)
Ambil NIlai S1, S2, dan Entropy untuk
tiap record yang memiliki node =
KodeBarisPenentu dan kode klas atribut
= kodeklasatribut dari tbEntropi
If S1 = 0 And S2 = 0 Then
Result
"UNCLASSIFIED"
Else
If S2 = 0 And S1 <> 0 Then
"Yes"Result
Else
If S1 = 0 And S2 <> 0 Then
"No"Result
Else
"Next"Result
End If
End If
End If
If LevelKerja < 8 Then
If Result = "Next" Then
"True"NextLevel
Buat Kode Tree Baru
kodetreeNewChild
NewChildNextNode
Simpan Record Berisi
KdNode, KdKlasAtribut,
Result, Child Ke Dalam
tbKlasPohonDetail
Buat Node Baru dan
Kosongkan Field Atribut
Yang bersangkutan
Do
Telusuri Mundur
Hingga Ke Node Root
Untuk Mendapatkan
KondisiBarisPenentu
dSelanjutnya, juga
ExcludeAtribute(Nama
Atribut yang akan
dilibatkan untuk
perhitungan
82
selanjutnya)
Loop While Root = False
VBarisPenentu = NewChild
‘Lakukan Perhitungan Untuk Node Baru
Call hitung(Level,
VBarisPenentu,
KondisiBarisPenentu,
KondisiBarisPenentuSimpan,
ExcludeAtribute)
NodeBaru = kodehitung
Ambil Kode Atribut Yang
Memiliki Nilai Gain
Tertinggi
If jmlgaintertinggi > 1
Then
Gunakan Kode Atribut Paling Teratas
Else
Gunakan Kode Atribut
Yang Memiliki Nilai
Gain Tertinggi
End If
Ambil Kode Atribut Yang
Memiliki Nilai Gain
Tertinggi
Update Record Pada
tbNodePohon yang Field
Kode_atributnya
dikosongkan sebelumnya
Else
Simpan Record Berisi
KdNode, KdKlasAtribut,
Result, Child Ke Dalam
tbKlasPohonDetail
End If
Else
If Result = "Next" Then
Simpan Record Berisi
KdNode, KdKlasAtribut, Result, Child Ke Dalam
tbKlasPohonDetail dengan
isi Result =
“UNCLASSIFIED”
Else
Simpan Record Berisi
KdNode, KdKlasAtribut,
Result, Child Ke Dalam
tbKlasPohonDetail
End If
End If
Next
Next
LevelKerja = LevelKerja + 1
If LevelKerja > 8 Then
NextLevel = "False"
End If
End If
Loop While NextLevel = "True"
83
‘Algoritma Rekonstruksi Rules
Kosongkan Table tbAturan
Ambil record dari tbKlasPohonDetail yang memiliki Result <>
“Next” dan Child = “UNCLASSIFIED”
For a = 0 To jumlah_record_tidak_kontinu
Do
Telusuri Mundur Hingga Ke Node Root Untuk
Merekonstruksi Rules Berdasarkan Decision Tree
Yang Sudah Terbentuk
Loop While Root = "False"
Simpan Rules Ke Dalam tbAturan
Next
"True"TreeSolved
If TreeSolved = "True" Then
Output “Proses Pembentukan Tree Selesai”
End If
Prosedur hitung(Level, VBarisPenentu, KondisiBarisPenentu,
KondisiBarisPenentuSimpan, ExcludeAtribute)
level_tree = Level
Buat Kode_Hitung Baru
Periksa apakah tbHitung kosong
If tbHitung = Empty Then
Jumlah_Total_Data_tb_praJmlS
Jumlah_Total_Data_tb_pra_YesJmlS
Jumlah_Total_Data_tb_pra_NoJmlS
Else
JmlS
Jumlah_Total_Data_tb_pra_Kondisi_Baris_Penentu
JmlS
Jumlah_Total_Data_tb_pra_Kondisi_Baris_Penentu _Yes
JmlS
Jumlah_Total_Data_tb_pra_Kondisi_Baris_Penentu _No
End If
If JmlS1 = 0 Or JmlS2 = 0 Then
Entropy = 0
Else
If JmlS1 = JmlS2 Then
Entropy = 1
Else
If JmlS = 0 Then
LonS1 = 0
LonS2 = 0
PengaliS1 = 0
PengaliS2 = 0
Else
LonS1 = Ln(JmlS1 / JmlS)
LonS2 = Ln(JmlS2 / JmlS)
PengaliS1 = (JmlS1 / JmlS)
PengaliS2 = (JmlS2 / JmlS)
End If
Entropy = ((-(PengaliS1)) *
(LonS1 / Ln(2)) + ((-(PengaliS2)) * (LonS2 / Ln(2))))
End If
End If
Simpan Kode_Hitung, Level, JmlS, JmlS1, JmlS2, dan
84
Entropy Baris Penentu kedalam tbHitung
For i = 0 To Jumlah_Atribut_NonBarisPenentu
Isi ArrayAtribut[i, 0] dengan kode atribut
yang tidak terlibat baris penentu
Isi ArrayAtribut[i, 1] dengan nama atribut yang
tidak terlibat baris penentu
Next
For i = 0 To Jumlah_Atribut_NonBarisPenentu
Gain = EntropyBarisPenentu
PengurangGain = 0
For j = 0 To
Jml_Kode_KlasAtribut_Array[i,0]
Isi ArrayKlasAtribut[j, 0] dengan kode klas
atribut dari atribut pada ArrayAtribut[i,0]
Isi ArrayKlasAtribut[j, 1] dengan Nilai klas
atribut dari atribut pada ArrayAtribut[i,0]
JmlS
Jumlah_Total_Data_tb_pra_ArrayAtribut[i,1] =
ArrayKlasAtribut[j,1]
JmlS
Jumlah_Total_Data_tb_pra_ArrayAtribut[i,1] =
ArrayKlasAtribut[j,1]_Yes
JmlS
Jumlah_Total_Data_tb_pra_ArrayAtribut[i,1] =
ArrayKlasAtribut[j,1]_No
If JmlS1 = 0 Or JmlS2 = 0 Then
Entropy = 0
Else
If JmlS1 = JmlS2 Then
Entropy = 1
Else
If JmlS = 0 Then
LonS1 = 0
LonS2 = 0
PengaliS1 = 0
PengaliS2 = 0
Else
LonS1 = Ln(JmlS1 / JmlS)
LonS2 = Ln(JmlS2 / JmlS)
PengaliS1 = (JmlS1 / JmlS)
PengaliS2 = (JmlS2 / JmlS)
End If
Entropy = ((-(PengaliS1)) *
(LonS1 / Ln(2)) + (((PengaliS2)) * (LonS2 / Ln(2))))
End If
End If
'Menyimpan Hasil Perhitungan Entropy Ke Dalam Tabel Entropy
Simpan Kode_Hitung, Level, JmlS, JmlS1,
JmlS2, dan Entropy Atribut kedalam tbHitung
'Menghitung Pengurang Gain
If JmlS = 0 Or SBarisPenentu = 0
Then
SubKali = 0
Else
SubKali = (JmlS /
85
SBarisPenentu)
End If
PengurangGain = PengurangGain +
(SubKali * Entropy)
Next
'Menghitung Gain
Gain = Gain - PengurangGain
Simpan Nilai Gain Tiap Atribut Ke Dalam tbGain
Next
4.13.3 Algoritma Perhitungan C4.5
Perhitungan C4.5
Deklarasi: tbHitung, tbEntropi, tbGain : datastore
Algoritma:
Open tbHitung
Open tbEntropi
Open tbGain
OUTPUT hasilPenghitungan
4.13.4 Algoritma Pohon Keputusan
Pohon Keputusan
Deklarasi: tbNodePohon, tbKlasPohonDetail., tbAtribut, tbKlasAtribut
Algoritma:
For i = 0 To Level_Maximum_DesicionTree
Tampilkan Semua Node Beserta Informasinya Berdasarkan
Level menggunakan data dari tbNodePohon,
tbKlasPohonDetail, tbAtribut, dan tbKlasAtribut
Next
4.13.5 Algoritma Penilaian
Penilain Data dengan Data Masukan
Deklarasi: dataMasukan :
ageureumkreatininkaliumcalsiumnatriumhipertensihd_patient : number
gender : Boolean
Algoritma:
INPUT dataMasukan
Memeriksa silsilah pohon keputusan
OUTPUT hasilKeputusanPohon
4.13.6 Algoritma Penentu Keputusan
Penentu Keputusan
Deklarasi: tbAtribur, tbKlasAtribut, tbAturan
86
Algoritma:
‘Pengujian Data Master
For i = 0 To Jumlah_Total_Data_Testing-1
Solved = "False"
Do
Periksa tiap field dari record data testing
menggunakan decision tree yang sudah terbentuk hingga
ditemukan hasil diagnosa berdasarkan decision tree
Loop While Solved = "False"
Simpan Hasil Testing Ke Dalam tbHasilUji
Next
For i = 0 To Jumlah_Total_Data_Testing-1
Bandingkan Tiap Record dari tbHasilUji dan tbUji.
Simpan Kesesuaian antara tbUji dengan tbHasilUji ke
dalam tbBandingUji
Next
‘Penghitungan Akurasi
Hitung jumlahKetSesuai
Hitung persentaseAkurasi = jumlahKetSesuai/recordDataUji
OUTPUT persentaseAkurasi
BAB V
PENUTUP
5.1 Kesimpulan
Berdasarkan hasil dari pelaksanaan tugas akhir implementasi algoritma
C4.5 untuk memprediksi pasien diberikan Haemodialisa, dapat diambil beberapa
kesimpulan dari keseluruhan tahap penelitian. Kesimpulan tersebut adalah
sebagai berikut :
1) Perangkat lunak dengan algoritma C4.5 dapat dibangun untuk memprediksi
haemodialisa pada pasien gagal ginjal.
2) Algoritma C4.5 dapat memprediksi pasien diberikan Haemodialisa yang
menghasilkan keputusan apakah pasien diberikan haemodialisa atau tidak
dengan menguji data dengan data masukan dan menguji data master dengan
membandingkannya dengan hasil pengujian data berdasarkan pohon
keputusan.
3) Dengan menggunakan skenario praproses, kinerja dari algoritma C4.5 dalam
memprediksi pasien diberikan Haemodialisa bahwa rata-rata persentase
akurasi pengujian data adalah 100%.
6.2 Saran
Implementasi algoritma C4.5 untuk memprediksi pasien diberikan
Haemodialisa ini belum merupakan simulasi yang sempurna, sehingga
dibutuhkan penyempurnaan implementasi sesuai dengan kebutuhan. Adapun
beberapa saran diantaranya :
1) Untuk penelitian selanjutnya, diharapkan ada penambahan jumlah record
data.
2) Untuk penelitian selanjutnya, diharapkan ada penghitungan apabila terdapat
data yang missing values.
3) Untuk penelitian selanjutnya, diharapkan pada saat setelah pengaturan data,
data yang akan dilatih atau diuji bisa diambil secara random dari data pasien
gagal ginjal.
87
88
4) Untuk pengembangan selanjutnya, diharapkan pengujian data yang
dilakukan lebih bervariasi, misalnya dengan menghapus beberapa data pada
atribut tertentu, kemudian saat pengujian dilakukan apakah data yang
terhapus tersebut akan diisi dengan tepat oleh sistem, sehingga pada
penghitungan
akurasinya
pun
lebih
bervariasi
caranya.
89
Download