DIAGNOSA PENYAKIT JANTUNG MENGGUNAKAN TEKNIK AUTOMATIC POST PRUNING DECISION TREE Susilawati, Aullia Rachman, Andi Batari Nurulniza, Chandra Prasetyo Utomo Universitas YARSI Jl.Let.Jend.Suprapto Cempaka Putih, Jakarta Pusat, 10510 Telp: (021) 4206675, Fax: (021) 4243171 E-mail: [email protected] Abstract Heart disease or coronary heart disease is one of the deadly diseases in the world, including in Indonesia.Patients with acute coronary syndrome is a clinical manifestation of acute coronary heart disease, have a risk of serious complications that can lead to death. Other research has used data mining technigues to helep the physicians in the diagnosis of heart disease. One of the techniques of data mining is the implementation of Decision Tree is more complex and global and flexible in selecting features from different internal nodes, will be easier to know what are the factors that can causing heart disease. Abstrak Penyakit jantung ataupun penyakit jantung koroner merupakan salah satu penyakit yang mematikan didunia,termasuk di Indonesia. Penderita sindroma koroner akut (SKA) yang merupakan manifestasi klinis akut penyakit jantung koroner, mempunyai risiko komplikasi yang serius bahkan bisa berujung pada kematian. Penelitian lain telah menggunakan teknik data mining untuk membantu ahli medis untuk mendeteksi penyakit jantung.Salah satu teknik data mining adalah penerapan Decision Tree yang lebih kompleks dan global serta fleksibel dalam memilih features dari internal nodes yang berbeda, akan lebih memudahkan mengetahui faktor-faktor apa saja yang dapat menyebabkan penyakit jantung. Kata kunci: penyakit jantung, data mining, decision tree. 1. PENDAHULUAN dapat disebabkan oleh gaya hidup yang salah seperti sering begadang, merokok, minum beralkohol, dan makanan minuman yang tidak sehat lainnya (Majid, 2008). Jantung memiliki fungsi penting dalam tubuh manusia yaitu sebagai pemompa yang melakukan tekanan terhadap darah agar darah dapat mengalir ke seluruh bagian tubuh melalui pembuluh darah arteri maupun vena. Pembuluh darah arteri dan vena berguna sebagai saluran darah untuk didistribusikan oleh jantung ke seluruh tubuh dan dikembalikan ke jantung. Darah berjalan melalui sistem sirkulasi dari jantung melalui dua lengkung sirkulasi vaskuler (pembuluh darah) yang terpisah. Penyakit jantung merupakan penyakit pembunuh nomor satu di dunia. Jumlah penderita penyakit ini terus bertambah. Menurut catatan WHO (World Health Organization) di tahun 2015, angka kematian akibat penyakit jantung dan pembuluh darah diperkirakan meningkat menjadi 20 juta jiwa. Lalu di tahun 2030 akan diperkirakan meningkat kembali sampai titik angka 23,6 juta penduduk. Gagal jantung adalah kondisi yang menyebabkan jantung mengalami gangguan atau sama sekali tidak berfungsi. Kondisi ini bisa terjadi mendadak secara perlahan dan akhirnya menimbulkan gagal jantung. Penyebab utamanya adalah terhambatnya asupan darah ke otot-otot jantung yang menyebabkan tidak seimbangnya antara kebutuhan dan ketersediaan oksigen, sehingga pembuluh-pembuluh darah yang biasanya mengalirkan darah ke otot-otot jantung tersebut akan tersumbat atau mengeras, baik karena lemak koresterol ataupun oleh zatzat kimia seperti penggunaan obat yang berlebihan. Serangan terhadap jantung juga Deteksi dini pada penyakit ini sebenarnya dapat dilakukan melalui diagnosa yang tepat dari seorang dokter. Akan tetapi permasalahan yang dihadapi adalah tidak semua dokter di Indonesia memiliki keahlian yang sama dalam melakukan diagnosa pada penyakit jantung. Selain itu, tidak semua rumah sakit di Indonesia memiliki fasilitas yang memadai untuk melakukan pemeriksaaan penyakit jantung secara menyeluruh (Soni, 2011). Deteksi dini sangat penting untuk seseorang yang telah mempunyai gejala-gejala penyakit jantung seperti nyeri dada kiri menjalar ke leher atau rahang kiri dan 132 Susilawati, dkk., Diagnosa Penyakit Jantung menggunakan Teknik Automatic Post Pruning Decision Tree lengan kiri atau punggung, nyeri dada seperti tertimpa benda berat dan nyeri pada ulu hati. Dengan adanya deteksi dini penyakit jantung seseorang dapat berhati-hati agar tidak terserang penyakit yang mematikan tersebut. adalah tinjauan pustaka dimana bab ini akan membahas teknik data mining yang digunakan oleh beberapa peneliti untuk mendiagnosa penyakit jantung beserta akurasinya. Bab desain dan implementasi akan membahas tentang metode yang telah dilakukan dan langkahlangkah untuk mengimplementasikan penelitian ini. Bab eksperimen, hasil dan analisa menjelaskan hasil dan analisis yang di dapat setelah melakukan eksperimen dan pengujian. Bab terakhir akan memuat kesimpulan dari penelitian ini dan saran untuk pengembangan kedepannya. Terdapat beberapa penelitian dalam memprediksi penyakit jantung, diantaranya adalah penelitian yang dilakukan oleh Palaniappan dan Awang dengan melakukan komporasi tiga metode yaitu Naives Bayes, Decision Tree dan Artificial Neural Network (ANN) dengan total kasus 909 dan 15 atribut. Hasil dari penilitan tersebut metode Decision tree menghsilkan nilai terbaik. Penelitian penyakit jantung dengan penerapan algoritma Decision Tree (C4.5) menggunakan metode adaboost oleh Abdul Rohman menghasilkan akurasi yang tinggi sebesar 92.24%. Akan tetapi, nilai akurasi yang dihasilkan algoritma Decision Tree tanpa adaboost lebih kecil yaitu 86,59% (Rohman, n.d.). Beberapa penelitian tentang pendeteksi penyakit jantung diantaranya adalah penelitian yang telah melakukan uji coba pada sistem cerdas Intellegent Heart Disesase Prediction System (IHDPS) dengan menggunakan tiga algoritma, yaitu algoritma decision tree, naive bayes, dan ANN. Hasil dari penelitian tersebut menunjukkan nilai akurasi masing-masing 89%, 86% dan 85%. Algoritma decision tree menunjukkan prediksi dengan tingkat akurasi yang paling tinggi (Soni, 2011). Terdapat pula penelitian yakni sistem pendukung untuk klasifikasi penyakit jantung berdasarkan Support Vector Mechine (SVM) dan algoritma integercoded Genetic Algorithm (GA) yang menggunakan Cleveland database penyakit jantung dengan 303 kasus dan terbagi dalam 5 kelas, masingmasing dengan 13 fitur diagnostik. Hasil dari 5 kelas penelitian ini menunjukkan klasifikasi peningkatan akurasi secara keseluruhan ketika menggunakan fitur bagian optimal dan akurasi mencapai 72,55% yang menunjukkan potensi sistem yang akan digunakan untuk sistem pendukung keputusan yang praktis. Sebagai dua masalah kelas yaitu, penyakit atau tidak penyakit, metode yang diusulkan memberikan akurasi 90,57% yang menunjukkan perbaikan dari metode yang ada (Bhatia, Prakash, & Pillai, 2008). Berdasarkan permasalahan yang telah di ungkapkan di atas, maka diperlukan sistem yang dapat menentukan seseorang terdiagnosa penyakit jantung. Sebelum membuat sistem pendukung keputusan untuk penyakit jantung, harus dilakukan penelitian untuk penentuan hal-hal apa saja yang diperlukan dalam menentukan seseorang terdiagnosa penyakit jantung. Maka dari itu, penelitian ini bertujuan untuk mendapatkan representasi pengetahuan yang tepat dan memiliki akurasi optimal. Penelitian ini akan menggunakan algoritma decision tree dengan teknik pruning yang bertujuan untuk mengoptimalkan hasil pohon keputusan dengan akurasi optimal. Teknik pruning terbagi 2 macam yaitu prepruning dan postpruning. Pada Prepruning proses pruning dilakukan diawal sedangkan Postpruning proses pruning dilakukan setelah tree telah dihasilkan. Teknik pruning yang digunakan dalam penelitian ini adalah post pruning dengan membuat penambahan ide yaitu automatic post pruning. Pada Post pruning yang konvensional, proses pruning dilakukan secara manual dengan menaikkan level tree yang dihasilkan sedangkan automatic post pruning dilakukan secara otomatis membandingkan akurasi setiap level pruning. Gambaran proyek lain adalah Heart Disease Diagnosis System (HDD) dengan menerapkan teknik Case-Based Reasoning (CBR). Sistem ini disajikan di aplikasi Java agar mudah diakses oleh pengguna seperti dokter dan pihak kesehatan profesional. Hasil dari rancangan sistem ini dengan Multi-Layer Perception menghasilkan akurasi sebesar 81,85% dan dari Multi-Layer Perception with Dagging Approach menghasilkan akurasi sebesar 84,58%. Diagnosa penyakit jantung secara efektif dikembangkan menggunakan eclipse sebagai compiler utama, SQL sebagai alat pengembang database dan bahasa Java sebagai bahasa pemrograman. HDD menggunakan metodologi Rapid Application Development (RAD) untuk menjaga sistem yang lebih sistematis (Ching, 2012). Hasil dari penelitian ini menunjukkan bahwa decision tree dengan teknik pruning dapat meningkatkan akurasi dari decision tree biasa, sehingga mendapatkan akurasi dan bentuk tree yang optimal serta menghasilkan representasi pengetahuan yang baik. Pada bab pendahuluan telah di bahas tentang pentingnya jantung dan hasil penelitian yang telah dilakukan untuk mendiagnosa penyakit jantung. Bab selanjutnya 133 Jurnal Sistem Informasi, Volume 5, Nomor 2, September 2014, hlm. 132-137 Penelitian lain yang masih berkaitan dengan penelitian sebelumnya yakni prediksi penyakit jantung menggunakan algoritma klasifikasi yang diproses melalui aplikasi WEKA machine learning. Hasil penelitian tersebut menunjukkan hasil bahwa algoritma decision tree memiliki tingkat akurasi yang paling tinggi yakni 99.2 % dibandingkan dengan algoritma naive bayes dan classification via clustering, dengan presentase akurasi sebesar 96.5 % dan 88.3 % (Widiastuti, Informasi, & Gunadarma, 2007). training error biasanya menurun dan dibeberapa titik generalization error menjadi lebih buruk. Untuk menghindari terjadinya overfitting dalam membangun decision tree ada dua pendekatan yang harus dilakukan, yaitu: Prepruning berhenti ketika tree sebelumnya tumbuh dan mengklasifikasian training set sebelum sempurna. Postpruning memungkinkan tree untuk menglasifikasikan training set secara sempurna dan kemudian melakukan post prune tree. 2. METODOLOGI Decision Tree merupakan algoritma klasifikasi sederhana namun efektif, salah satu keuntungannya adalah menyediakan human-readable rules of classification (Benhaim, 2010). Salah satu algoritma Decision Tree adalah algoritma ID3 yang membentuk pohon keputusan dengan metode divide-and-conquer secara rekursif dari atas ke bawah. Pembentukan Decision Tree dengan algoritma ID3 dimulai dengan menentuan node tunggal (akar/root) yang merepresentasikan semua data. Sesudah node root dibentuk, maka data pada node akar akan diukur dengan information gain untuk dipilih atribut mana yang akan dijadikan atribut pembaginya. Sebuah cabang dibentuk dari atribut yang dipilih menjadi pembagi dan data akan didistribusikan ke dalam cabang masing-masing. Algoritma ini akan terus menggunakan proses yang sama atau bersifat rekursif untuk dapat membentuk sebuah Decision Tree. Ketika sebuah atribut telah dipilih menjadi node pembagi atau cabang, maka atribut tersebut tidak diikutkan lagi dalam penghitungan nilai information gain. Proses pembagian rekursif akan berhenti jika salah satu dari kondisi dibawah ini terpenuhi: 1. Semua data dari anak cabang telah termasuk dalam kelas yang sama. 2. Semua atribut telah dipakai, tetapi masih tersisa data dalam kelas yang berbeda. Dalam kasus ini, diambil data yang mewakili kelas yang terbanyak untuk menjadi label kelas pada node daun. 3. Tidak terdapat data pada anak cabang yang baru. Dalam kasus ini, node daun akan dipilih pada cabang sebelumnya dan diambil data yang mewakili kelas terbanyak untuk dijadikan label kelas. (Aryandika, 2009) Gambar 1 Automatic Post Pruning Automatic post pruning adalah pengembangan dari post pruning yang memiliki perbedaan, dimana post pruning konvensional melakukan proses pruning setelah tree dibentuk, akan tetapi untuk melihat akurasi dari setiap level pruning harus dilakukan secara manual dengan menaikkan level tree yang dihasilkan. Sedangkan, Automatic post pruning proses pruning dilakukan secara otomatis dengan membandingkan akurasi setiap level pruning tanpa harus menaikan level pruningnya secara manual sehingga hasil yang dikeluar adalah hasil tree dari decision tree yang optimal. 3. HASIL dan PEMBAHASAN Selain itu, dalam pengaplikasian algoritma Decision tree memungkinkan terjadinya overfitting. Konsep overfitting ini sangat penting dalam data mining karena biasanya terjadi ketika tree memiliki node relative yang terlalu banyak terhadap ketersediaan jumlah training data, dengan meningkatkan jumlah node, Eksperimen dalam penelitian ini akan menjelaskan hal – hal yang dilakukan dan diuji dalam penelitian diagnosa Penyakit Jantung menggunakan Pruning Decision Tree. Eksperimen ini dilakukan dengan tiga tahapan. Pada tahap pertama adalah melakukan pengumpulan data. 134 Susilawati, dkk., Diagnosa Penyakit Jantung menggunakan Teknik Automatic Post Pruning Decision Tree Data yang diuji di ambil dari UCI Machine Learning Repository mengunakan data set Statlog (Heart), pengembangan dari data Heart Disease dari Cleveland Clinic Foundation, Hungarian Institute of Cardiology, Budapest, V.A. Medical Center, Long Beach, CA dan University Hospital, Zurich, Switzerland pada data tersebut terdapat 270 data, dataset memiliki 14 variabel pada Tabel 1. mendapatkan akurasi dari tree yang di hasilkan dengan training data untuk mengukur keakuratan dari tree yang dihasikan. Dilihat dari akurasi tree yang di hasilkan adalah akurasi tree dari level pruning terakhir. Dikarnakan overfitting adalah kelemahan decision tree, maka harus dilakukan metode postpruning untuk mengetahui level pruning tree terbaik. Untuk menghasilkan level pruning tree dengan akurasi optimal, dengan melakukan uji terhadap validasi data terhadap setiap level pruning tree untuk mendapatkan level pruning optimal secara visual. Pengujian juga dilakukan dengan menggunakan metode SVM dan ANN untuk memperkuat hasil penelitian dengan parameter yang di bandingkan yaitu akurasi, True Positif Rate dan False Positif Rate yang dihasilkan. Setelah itu, dari yang dihasilkan dari metode lain yang digunakan akan dibandingkan dengan hasil dari level pruning optimal yang dihasilkan. Tabel 1. Variabel dari data Statlog (Heart) Data Set No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Variabel age sex chest pain type (4 values) resting blood pressure serum cholestoral in mg/dl 6. fasting blood sugar > 120 mg/dl resting electrocardiographic results (values 0,1,2) maximum heart rate achieved exercise induced angina oldpeak = ST depression induced by exercise relative to rest the slope of the peak exercise ST segment number of major vessels (0-3) colored by flourosopy thal: 3 = normal; 6 = fixed defect; 7 = reversable defect predicted Jenis Nilai Number 0,1 1,2,3,4 Number Number 0,1 0,1,2 Penelitian ini diuji dengan notebook Asus dengan spesifikasi prosessor i3, RAM 6 GB, Harddisk 500gb dengan menggunakan software MATLAB untuk menguji decision tree dan decision tree dengan pruning sedangkan untuk pengujian dengan SVM dan ANN menggunakan perangkat lunak WEKA. Dari eksperimen yang dilakukan, hasil yang didapatkan yaitu : Number 0, 1 Decimal 1,2,3 Tabel 2. Perbandingan akurasi, TPR, dari FPR. Metode Decision Tree Decision Tree with Pruning SVM Multilayer Perceptron (ANN) 0,1,2,3 3,6,7 1,2 Pada tahap kedua, melakukan dengan membagi data menjadi tiga bagian training, testing, dan validasi data dengan pembagian random dengan training 60%, testing 20%, validasi 20% dengan mengubah isi value variabel predicted dari numerik (nilai) menjadi kategori (string). Akurasi 79.63% 83.33% TPR 0.682 0.864 FPR 0.125 0.187 80.74% 81.11% 0.807 0.811 0.204 0.201 Dari Tabel 2 menunjukan setelah di lakukan pengujian pada setiap metode maka dihasilkan bahwa Decision tree with pruning memiliki akurasi yang paling tinggi dengan akurasi 83.33% di bandingan dengan decision tree biasa. Gambar 2 adalah tree yang di hasilkan dalam pengujian menggunakan training data yang memiliki akurasi testing data sebesar 79.63%. Gambar 3 adalah hasil dari validasi data dan testing data yang menghasilkan tree paling optimal dengan proses pruning dengan akurasi sebesar 83.33%. Pada tahap ketiga, menggunakan metode Decision Tree dengan teknik pruning dengan menguji training data dengan algoritma decision tree untuk mendapatkan hasil tree secara visual. Setelah itu, menguji testing data untuk 135 Jurnal Sistem Informasi, Volume 5, Nomor 2, September 2014, hlm. 132-137 Gambar 2 Decision tree no pruning Gambar 3 Decision tree Optimal dengan Pruning. 3.3 Analisa Analisa dalam penelitian ini akan menjelaskan cara menganalisa hasil – hasil dari eksperimen yang dilakukan. Dari Gambar 4 berisi akurasi dari seluruh level pruning yang di hasilkan, dimana level 0 adalah akurasi dari level pruning tree terakhir dari tree pada Gambar 4 Dilihat dari tingkat akurasi dari setiap level pruning dari Testing data dan Validasi data menunjukan bahwa Pruning level 3 adalah model tree paling optimal seperti pada Gambar 5 yang memiliki akurasi pada level pruning 3 pada validasi data mencapai 75.92 % dan akurasi level 3 pada testing data mecapai 83,33 %, maka dapat di simpulkan bahwa tree paling optimal adalah tree pada level pruning ketiga (Gambar 4). Dari penelitian lain yang lakukan menggunakan metode-metode lain yaitu: Decision Tree, ANN dan SVM. Terlihat Decision tree dengan pruning dapat meningkatkan hasil akurasi dari decision tree, dimana decision tree dengan pruning menghasilkan tree paling optimal dari tree yang di hasilkan oleh decision tree dengan akurasi optimal. Sehingga dapat terlihat representasi pengetahuan dari tree diagnosa penyakit jantung. Gambar 4 Perbandingan akurasi Traning, Testing, Validasi. 136 Susilawati, dkk., Diagnosa Penyakit Jantung menggunakan Teknik Automatic Post Pruning Decision Tree 3. AKURASI 84.00% 83.00% 82.00% 81.00% 80.00% 79.00% 78.00% 77.00% Dengan menggunakan teknik pruning pohon keputusan akan lebih mudah di baca dan hasilnya lebih akurat Penelitian ini berhasil menghasilkan akurasi yang optimal serta representasi pengetahuan yang sederhana. Pengembangan kedepannya dari penelitian ini dengan membuat sistem pendukung keputusan secara user interface untuk penyakit jantung sehingga dapat membantu dokter dalam mendiagnosa penyakit jantung. 5. DAFTAR RUJUKAN Aryandika. (2009). Posts about personality test on Live for what we share. Retrieved June 29, 2014, from https://yeyekh.wordpress.com/tag/personality-test/ Ben-haim, Y. (2010). A Streaming Parallel Decision Tree Algorithm, 11, 849–872. Bhatia, S., Prakash, P., & Pillai, G. N. (2008). SVM Based Decision Support System for Heart Disease Classification with IntegerCoded Genetic Algorithm to Select Critical Features. Majid, A., & Utara, U. S. (2008). PENYAKIT JANTUNG KORONER : No Title. (2012), (June). Rohman, A. (n.d.). Penerapan algoritma c4.5 berbasis adaboost untuk prediksi penyakit jantung, 40–49. Sayad, D. S. (2010). Decision Tree. Retrieved June 29, 2014, from http://www.saedsayad.com/decision_tree_overfitting.htm Soni, J. (2011). Predictive Data Mining for Medical Diagnosis : An Overview of Heart Disease Prediction, 17(8), 43–48. Widiastuti, D., Informasi, J. S., & Gunadarma, U. (2007). Analisa Perbandingan Algoritma SVM, Naïve Bayes dan Decision Tree dalam Mengklasifikasikan Serangan (Attacks). 1–8. Akurasi Gambar 5 Grafik Akurasi tiap Algoritma Decision tree dengan pruning dapat meningkatkan akurasi dikarnakan metode Decision tree biasa memiliki overfitting yang disebabkan tree dan akurasi yang dihasilkan adalah dalam bentuk terakhir yang memliki akurasi 79,62 %. Oleh karena itu, dengan menguji Decision tree dengan pruning ternyata meningkat dengan akurasi 83,33 % dan tree yang lebih sederhana. Ini menjawab bahwa Decision tree biasa memiliki overfitting sedangkan Decision tree dengan pruning menghindari terjadinya overfitting dimana mencari titik optimal dari tree yang di hasilkan. 4. SIMPULAN dan SARAN Dari hasil penelitian ini dapat disimpulkan: 1. Pohon keputusan memiliki akurasi yang paling optimal di bandingkan dengan metode-metode lain seperti ANN dan SVM. 2. Pohon keputusan dengan pruning dapat menghasilkan representasi pengetahuan yang optimal sehingga memudahkan bagi diagnosis penyakit jantung. 137