PROYEK AKHIR

DIAGNOSA PENYAKIT JANTUNG MENGGUNAKAN DECISION TREE

NOVITASARI WINDHIARTO NRP. 7404.030.094

Dosen Pembimbing : ENTIN MARTIANA K., S.Kom NIP. 132 282 692 ARNA FARIZA, S.Kom, M.Kom NIP. 132 233 198

JURUSAN TEKNOLOGI INFORMASI POLITEKNIK ELEKTRONIKA NEGERI SURABAYA SURABAYA 2007

DIAGNOSA PENYAKIT JANTUNG MENGGUNAKAN DECISION TREE Oleh : NOVITASARI WINDHIARTO 7404.030.094 Diajukan Sebagai Salah Satu Syarat untuk menyelesaikan Studi pada Program Pendidikan Diploma III di Politeknik Elektronika Negeri Surabaya-ITS Surabaya, September 2007 Disetujui oleh : Dosen Penguji I Dosen Pembimbing I

Afrida Helen, ST, M.Kom NIP. 132 170 593 Dosen Penguji II

Entin Martiana K., S.Kom, M.Kom NIP. 132 282 692 Dosen Pembimbing II

Ali Ridho Barakbah, S.Kom NIP. 132 297 799 Dosen Penguji III

Arna Fariza, S.Kom, M.Kom NIP. 132 233 198

Tita Karlita, S.Kom, M.Kom
NIP. 132 300 680

Mengetahui, Ketua Jurusan Teknologi Informasi

Iwan Syarif, S.Kom, M.Kom
NIP. 132 134 725

ABSTRAK
Klasifikasi merupakan salah satu solusi yang tepat untuk mengatasi permasalahan dalam data mining. Dengan melakukan training pada dataset yang sudah diklasifikasikan maka dataset tersebut mempunyai kelas data atau label yang dapat digunakan untuk membangun suatu model aturan untuk menentukan keputusan terakhir. Salah satu metode klasifikasi yang populer adalah Decision Tree, berupa struktur flowchart yang menyerupai tree (pohon) yang terbentuk berdasarkan proses learning dari data pelatihan yang kemudian diubah menjadi aturan ”jika-maka”. Pembentukan tree ini menggunakan algoritma ID3 yaitu pemilihan atribut sebagai node penyusun tree yang diambil berdasarkan nilai entropy. Aturan ”jikamaka” yang terbentuk akan diimplementasikan dengan data pemeriksaan penyakit jantung pasien sehingga dapat ditentukan hasil diagnosanya. Proyek akhir ini bertujuan menentukan diagnosa jenis penyakit jantung berdasarkan data hasil pemeriksaan dengan menerapkan metode Decision Tree berupa aturan ”jika-maka”. Kata kunci : klasifikasi, Decision Tree, diagnosa penyakit jantung

Decision Tree.ABSTRACT Classification is one of a good solution to solve data mining problems. By using some data to training which that data is being classified. If-then rules would be implemented to determine heart diagnosis by heart inspection data. a model of rule could be built for determine a final decision. One of popular classification method is Decision Tree. its kind of flowchart structure like tree which built based on learning process from data training and generated become if-then rules. Main purpose of this final project is determine heart diagnosis based on the result of heart inspection data using Decision Tree method with its if-then rules. heart diagnosis . This tree using ID3 algorithm to select attribute as a node compiler which is based on entropy value of each attribute. Keyword : classification.

KATA PENGANTAR Syukur alhamdulilah kepada Allah SWT. atas segala anugerah. Dalam menyelesaikan tugas akhir ini penyusun berpegang pada teori yang pernah penyusun pelajari dan bimbingan dari pembimbing proyek akhir. kenikmatan yang tak berujung dengan kesempurnaan ketetapan-Nya dan atas rahmat-Nya jualah penyusun mampu menyelesaikan Proyek Akhir yang berjudul : “Diagnosa Penyakit Jantung menggunakan Decision Tree” Proyek Akhir ini dibuat sebagai persyaratan kelulusan pada program studi di Politeknik Elektronika Negeri Surabaya jurusan Teknologi Informasi. Atas kekurangannya penyusun sangat mengharapkan saran dan kritik yang membangun demi kesempurnaan buku dan proyek akhir ini. Institut Teknologi Sepuluh Nopember. Surabaya. karenanya penyusun mohon maaf yang sebesar-besarnya. Surabaya. Juli 2007 Penyusun . Demikian besar harapan penyusun agar buku ini dapat bermanfaat bagi para mahasiswa Politeknik Elektronika Negeri Surabaya dan pembaca dalam mempelajari metode Decision Tree. Namun penyusun menyadari atas keterbatasan dalam penyusunan buku proyek akhir ini.

sHinta.. what’s wrong in our start guys?? Syukron atas semuanya. Bapak. Apa jadinya q tanpa tarbiyah kalian. ☺ 8. bahrul. Kepala Jurusan Teknologi Informasi. Wish all d best for us. Ukhti.. syukron 4 d right choice in this way of life.. Setyo Utomo SpJp.. codingnya. ma2 nya tmn2 atas pangestu n doany... kangdhani. kapan rek OUTBOUND lg?? Tak tnggu hari H-ny. san9 surya. kan9udin<kpn rek tak su2l. d!n2<tengkiyu 4 all y!!. Bapak Iwan Syarif. 10.. Keluargaku tercinta yang senantiasa memberikan dukungan. moth. Seunik n seganjil 23 saudaraq di kelas D3 IT CC (p9. terima kasih atas masukannya. 93). Bapak Ali Ridho. PUS-PIS. 9. pengalaman. NYA’<d lucky person. DBMS. teman-teman kost sepanjang TMB (76. kritik dan wejangan Emha-nya. Bapak Suryono. n apa2ny. 1. . U r all our everything. wHy. atas ilmu. 3. aa’ b!ntan9<ramny+sMs taujihny. 44. akhi seperjuangan di UKKI. 5. 6. atas informasi. Headmasternya CC... Bu Helen dan Bu Tita.ITS. gusImam. Sepurane puol atas smuane. 2.. amin. Bapak Titon Dutono.. dot C. Maaf atas semuany bu. dengan kesempurnaan tauladannya. jo lali TA ne kan9!!.UCAPAN TERIMA KASIH Dengan segenap hati. Poro ibu. va2ng. anugrah di “s!an9” hari). 95/96. Terima kasih atas bimbingan dan perhatiannya selama pengerjaan Proyek Akhir ini. 7. Direktur PENS . papira.. jngn kapok tak mintain tollong. saran. Aa’Bas+pu3 ”dari hOngkONg”. Sedoyo civitas akademika PENS . 4.ITS. iwan. penyusun mengucapkan terima kasih dan penghargaan setinggi-tingginya atas semua bantuan sehingga penyusun dapat menyelesaikan Proyek Akhir ini kepada : Rasulullah SAW. sukhoi. 11. doa dan kasih sayang. shenouryta dan segenap keluarga. kekondusifan kampus. thank u atas bimbingannya... SEFADA<kerjo2 ben. oji. Revi. Bu Entin dan Bu Arna selaku dosen pembimbing.. penggalan episode terlengkap dalam hidupku menjalani ”kebersamaan” dengan kalian. Dr.

sist <me2 .. suwun nggeh semangatipun? kRik2<jo rame ae nduk!!?. loneliness en dell. dOra <kpn nich lOmba cry’ 2gether.amin100%x suwun to wake me up from my nightmare. Matur nuwun atas semuanya.. Bolo kuliah di PENS yang telah banyak membantu dan semua pihak yang tidak dapat disebutkan satu-persatu...always try’ to find d Muhammad’s way yach!! 4ever n 4always. Gusti Allah ingkang mbales. boringde.. mocHi. cah CC Ponorogo especially to aisHa & Tina.

............................................................................................................................... 1...........................................DAFTAR ISI Halaman judul..........................................2 Wrapper Class.. 1... i ii iii iv v vi viii x xi xii 1 1 1 2 2 2 3 5 5 5 6 6 7 7 7 8 10 11 18 18 19 19 20 22 22 23 ............. 2................................................................ 1..............................2 DECISION TREE .................................... 1.....5...............1 DATA MINING ....... 2......................................2............ 2........................2 Komponen Swing . 1............................................................................ 2.................................................................. 2........................................... 2............................ Daftar tabel .........2....................... Listing program .... ........................................................................ 2..........................1 Definisi Data Mining ...............................5 IDE Java .......................1 Swing Package...................................4......................................4 JAVA PROGRAMMING ...................... 2.....2..................................................................................5..................... 2.................................4...... Kata pengantar ...............................1..................1........4 Tujuan Proyek Akhir ..2............................................................................. ................................................ 1..................2 Permasalahan..................................2 Tugas Data Mining .........................6 Sistematika Pembahasan ........... 2............. 2.................................................2................................................................ Daftar isi ...................................................................... Halaman pengesahan ........ Ucapan terima kasih .................................. ......... 2....... Abstrak ......1 Pengertian Java Programming ....................................................................5 Contoh Pembentukan Tree ..................................................... 2. 2............................................... 2..............................5 Metodologi ..................................... 2..................................................... ............................................................................ ..........3 Teknik dalam Data Mining........3 Entropy .........3 Batasan Masalah ..1 Definisi Decision Tree.... BAB II DASAR TEORI ....................................1...3 Organ Jantung .........................2 Algoritma ID3.......4.....................1 Latar Belakang .......... 2............................................ Abstract..............................................................................3 Deklarasi Class pada Java.... BAB I PENDAHULUAN .....4 Representasi Tree .............. Daftar gambar ............. 2.....................................

....................2................3 Data training .................... 3............................................................................... 3................................3..............................2 Form Proses Learning ............7..................................................... 3...1 Pengujian ..2 Saran ......................................... 2............. 4....... 3...........6.................................................................3 Pelaksanaan Pengujian ...........6.....1 Form Diagnosa ......... BAB III PERANCANGAN DAN PEMBUATAN PERANGKAT LUNAK ................... 2........6 Pengenalan MYSQL...............2 Diagram Alir Pengujian Data........ 3... 4...7...................................................2 SQL Join............................................................................................4...... 4.......2.................. 50 5...7 Koneksi Database dengan JDBC ............................. 50 DAFTAR PUSTAKA TENTANG PENYUSUN LAMPIRAN ....... 3.................. 3......................4.............................. 3...................................................................1 SQL ............................................................................................ 24 24 25 25 26 27 29 29 29 29 30 31 31 32 32 33 34 35 35 37 39 39 39 39 39 48 BAB V PENUTUP ...... 50 5...................7 Pembuatan Tampilan ...2...4 Koneksi Database.......................2 JCheckBox dan JRadioButton ...................................1 JDBC – ODBC ... 2........1 Diagram Alir Proses Learning ... BAB IV PENGUJIAN DAN ANALISA ...............................................................................5 Menyusun Decision Tree .2 Inisialisasi Driver.........................................4 Analisa .............. 2...........................................2..............2......................................................1 Kesimpulan .................................4..................... 4.............................................................. 3...................................................2 Perancangan Proses .........1 Lingkungan Uji Coba .......................................................... 3.................................... 3.................. 3.................................4................................. 3................... 2..........6 Decision Rule........1 Bentuk Umum.................................1 TableModel.... 4.....................................................2 Data Uji Coba ....

Contoh model tree II ........................................................ Form Diagnosa ..............................DAFTAR GAMBAR Gambar 2...................6 Gambar 3...........................2 Gambar 3.........................................................1 Gambar 2............................... Contoh model tree I.............................3 Gambar 2...........4 Gambar 2..................... Diagram Alir Pengujian Data........... Diagram Alir Proses Learning..3 Gambar 3...................... Penyusunan leaf node................................ Form Training Data.1 Gambar 3...........................4 Gambar 3.......... 9 10 11 13 15 17 28 28 32 33 35 ................................ Model tree yang terbentuk.................. Query Atribut umur.........5 Gambar 2...2 Gambar 2........7 Pemilihan node berdasarkan nilai entropy ................................................................ Penyusunan tree ............................

..1 Data Training (kondisi cuaca) ...................................................1 Struktur Data training..........................2 Instance atribut pendukung ........... Tabel 2....... Tabel 2... Tabel 2..........................................................6 Data Pelatihan untuk Outlook=rain.................................. Tabel 3............... Tabel 2............................................. 11 12 13 14 15 16 16 17 19 22 25 29 31 32 ...............2 Query Atribut umur...... Tabel 2................................................................5 Hasil entropy Outlook=sunny ......7 Hasil entropy Outlook=rain...................... Tabel 2.. Tabel 2..............10 Swing Package ....................................DAFTAR TABEL Tabel 2..................................4 Data Training untuk Outlook=sunny...3 Hasil semua entropy ....................... Tabel 2........................ Tabel 2........................................... Tabel 3..........11 Interface untuk koneksi database ..................................3 Contoh aturan “jika-maka”.. Tabel 3.....................................................9 Wrapper class...................... Tabel 2.............8 Bentuk aturan if-then ...............................................

Apakah dengan data training yang terbatas dapat menghasilkan model tree yang mampu mendiagnosa penyakit jantung dengan baik. Dalam algoritma classification ini. decision trees. data training yang digunakan merupakan data supervised yang telah ditentukan label untuk membedakannya sebagai suatu kelas data.2 PERMASALAHAN Permasalahan yang dihadapi dalam mengerjakan proyek akhir ini adalah Bagaimana mendapatkan data training yang fix atau baku. .BAB I PENDAHULUAN I. yaitu mengupayakan adanya informasi yang tersembunyi dalam data yang berjumlah banyak untuk diketahui pola datanya. Bagaimana mengolah data training untuk memperoleh atribut yang akan dijadikan node-node penyusun tree.1 LATAR BELAKANG Meningkatnya perkembangan teknologi di berbagai bidang mendorong ditemukannya berbagai hal baru misalnya di bidang kedokteran. Hal tersebut merupakan salah satu contoh bahasan yang dipelajari dalam data mining. I. Oleh karena itu beberapa metode data mining berupaya menemukan cara untuk mendekati fungsi target berdasarkan contoh pelatihan data training untuk memperoleh hasil diagnosa yang tepat misalnya dengan menggunakan algoritma classification seperti neural networks. genetic algorithms dan bayesian networks. Proyek Akhir ini menggunakan metode decision tree sebagai salah satu metode classification yang mempelajari data pemeriksaan pasien penyakit jantung sehingga diperoleh model tree yang menghasilkan suatu rule atau aturan-aturan keputusan yang kemudian diterapkan untuk menentukan diagnosa penyakit jantung berdasarkan data input pemeriksaan pasien penyakit jantung. dengan demikian diperlukan kemampuan analisa yang akurat dalam menentukan diagnosa suatu penyakit. telah ditemukan beberapa penyakit baru khususnya penyakit jantung.

Pengambilan Data Training Menggunakan data pemeriksaan jantung dari rumah sakit dan mengkonfirmasikannya ke dokter spesialis jantung untuk informasi yang lengkap sehubungan dengan data tersebut.4 TUJUAN PROYEK AKHIR Proyek Akhir ini yang berjudul “DIAGNOSA PENYAKIT JANTUNG MENGGUNAKAN DECISION TREE” ini bertujuan untuk : menentukan diagnosa penyakit jantung berdasarkan hasil pemeriksaan jantung. I. membuktikan kemampuan metode decision tree sebagai salah satu metode yang mampu menentukan keputusan akhir dalam hal ini berupa diagnosa penyakit jantung.Bagaimana cara menyusun tree berdasarkan proses learning yang dilakukan. Bagaimana mengubah model tree yang terbentuk menjadi suatu aturan jika-maka untuk menentukan diagnosa berdasarkan data input yang dimasukkan. Bagaimana menerapkan rule atau aturan jika-maka untuk menentukan output berupa diagnosa penyakit jantung.5 METODOLOGI Untuk menyelesaikan Proyek Akhir ini. Perancangan Sistem . langkah-langkah yang dilakukan adalah sebagai berikut : Studi literatur Melakukan studi tentang membangun model tree dengan Java. I.3 BATASAN MASALAH Batasan Proyek Akhir ini adalah : Data input berupa hasil pemeriksaan jantung pasien. operasi aritmatika dan pemrograman GUI. Menentukan diagnosa penyakit jantung menggunakan metode decision tree. I.

branch) sehingga membentuk model tree. tujuan.6 SISTEMATIKA PEMBAHASAN Sistematika pembahasan yang akan diuraikan dalam buku laporan proyek akhir ini terbagi dalam bab-bab yang akan dibahas sebagai berikut : BAB I PENDAHULUAN Bab ini membahas secara umum tentang latar belakang. metodologi dan sistematika pembahasan yang digunakan dalam pembuatan proyek akhir ini.Pembuatan alur sistem. Dari pengujian sistem dan evaluasi diperoleh hasil untuk diketahui kekurangan dan kelebihan dari metode yang dipakai maupun dari aplikasi yang dibuat. hal ini dapat diketahui dari misalnya ada perbedaan output dari data input dengan data training dimana semua nilai atributnya sama. Kesimpulan Kesimpulan dibuat berdasarkan pengujian sistem dengan membandingkan apakah hasilnya seperti yang diharapkan pada tujuan proyek akhir. Model ini diubah menjadi aturan jika-maka untuk memproses data input untuk mendapatkan output berupa diagnosa penyakit jantung. desain interface dan merencanakan bagaimana proses learning data training untuk membangun suatu model tree. Evaluasi dan analisa Dilakukan jika hasilnya jauh dari target sehingga dapat diperbaiki untuk mengurangi tingkat kesalahan dan sesuai dengan yang diharapkan. Hal ini dapat diketahui dari analisa yang dilakukan sebelumnya. permasalahan. batasan masalah. . Implementasi Sistem Meliputi pembacaan data training sebagai awal proses learning dengan menghitung nilai entropy setiap atribut data yang digunakan untuk menentukan node awal dan dilakukan berulang-ulang untuk memperoleh node-node (split node. Uji Coba Sistem Pengujian bertujuan untuk mengetahui apakah sistem telah bekerja sesuai dengan yang diharapkan atau tidak. I. Jika tidak maka harus dapat disimpulkan apa penyebabnya.

metode dan program yang ada. dan mencari alternatif lain apabila hasil yang ada tidak sesuai. . Untuk lebih meningkatkan mutu dari sistem yang telah dibuat maka kami memberikan saran-saran untuk perbaikan dan penyempurnaan sistem.BAB II TEORI PENUNJANG Sistematika pembahasan yang akan diuraikan dalam buku laporan proyek akhir ini terbagi dalam bab-bab yang akan dibahas sebagai berikut : Data Mining Decision Tree Organ Jantung Pemrograman Java Swing BAB III PERANCANGAN DAN PEMBUATAN PERANGKAT LUNAK Dalam bab ini dijelaskan tiga tahap penting yakni perencanaan. Tahapan perencanaan dan perancangan meliputi kebutuhan sistem dan diagram alir sistem sedangkan pada tahap pembuatan meliputi proses learning untuk membentuk suatu model tree dan desain antar muka. perancangan dan pembuatan perangkat lunak. DAFTAR PUSTAKA Pada bagian ini berisi tentang referensi-referensi yang telah dipakai oleh penyusun sebagai acuan dan penunjang serta parameter yang mendukung penyelesaian proyek akhir ini baik secara praktek maupun sebagai teoritis. BAB V KESIMPULAN Bab ini berisi kesimpulan dari pembahasan pada perancangan awal serta analisa yang diperoleh. kemudian dibandingkan dengan perencanaan awal serta teoriteori dari proyek akhir. BAB IV PENGUJIAN DAN ANALISA Berisi hasil. pengujian dan analisa dari sistem.

Proses ini meliputi sejumlah pendekatan teknis yang berbeda. 1. Alat dan teknik analisis data yang tradisional tidak dapat digunakan untuk mengektrak informasi dari data yang sangat besar. 2. 2. Data mining adalah proses menemukan pola-pola didalam data.8 DATA MINING Kemajuan dalam pengumpulan data dan teknologi penyimpanan yang cepat memungkinkan organisasi menghimpun jumlah data yang sangat luas.BAB II DASAR TEORI 2. Terdapat beberapa pengertian yang berkaitan dengan data mining dari beberapa referensi sebagai berikut. learning classification rules[2]. seperti clustering.8. Data mining adalah proses penemuan informasi yang berguna pada penyimpanan data yang besar secara otomatis[6]. . Secara sederhana data mining merupakan serangkaian proses untuk menggali informasi dari suatu kumpulan data berupa pengetahuan yang selama ini tidak diketahui secara manual. dimana proses penemuan tersebut dilakukan secara otomatis atau semi otomatis dan pola-pola yang ditemukan harus bermanfaat[3]. 3. Untuk itu diperlukan suatu metoda baru yang dapat menjawab kebutuhan tersebut. Data mining atau Knowledge Discovery in Databases (KDD) adalah pengambilan informasi yang tersembunyi. 4. Data mining adalah mencocokkan data dalam suatu model untuk menemukan informasi yang tersembunyi dalam basisdata[1]. Data mining merupakan aplikasi suatu algoritma untuk menggali informasi bermanfaat dari dalam basisdata[2]. data summarization.1 Definisi Data Mining Data mining merupakan teknologi yang menggabungkan metoda analisis tradisional dengan algoritma yang canggih untuk memproses data dengan volume besar. 5. dimana informasi tersebut sebelumnya tidak dikenal dan berpotensi bermanfaat.

Classification Klasifikasi adalah proses untuk menemukan model atau fungsi yang menjelaskan atau membedakan kelas data. Tugas data mining[1] dikategorikan menjadi 2 yaitu : Tugas prediktif Sasaran pada tugas ini adalah memprediksikan nilai atribut tertentu berdasarkan nilai atribut yang lain. Tugas deskriptif Sasaran pada tugas ini adalah memperoleh pola misalnya cluster yang menyimpulkan hubungan dalam data.8. Association Rule Mining Association rule mining adalah teknik mining untuk menemukan aturan asosiatif antara suatu kombinasi atribut. 2. classification.1.2 Tugas Data Mining 1. statistik dan basisdata. 2. Beberapa teknik yang sering disebut antara lain yaitu association rule mining. 1. Clustering Clustering melakukan pengelompokan data tanpa berdasarkan kelas data tertentu. Karena itu clustering sering digolongkan sebagai metode unsupervised learning. 3. Bahkan clustering dapat dipakai untuk memberikan label pada kelas data yang belum diketahui.2.3 Teknik dalam Data Mining Data mining sebenarnya akar dari bidang ilmu seperti kecerdasan buatan (artificial intelligent). Model itu sendiri bisa berupa aturan “jika-maka” berbentuk pohon keputusan (decision tree) atau metode yang lain. diperlukan juga metode untuk normalisasi bermacam atribut yang dimiliki data[3]. Atribut yang diprediksi dikenal sebagai target atau variabel yang tergantung pada variabel lain. genetic algorithm dan lain-lain. 2. machine learning. . clustering. neural network. dengan tujuan untuk dapat memperkirakan kelas dari suatu objek yang labelnya belum diketahui. Prinsip dari clustering adalah memaksimalkan kesamaan antar anggota sehingga algoritma clustering memerlukan fungsi jarak untuk mengukur kemiripan antar data.

2.9. Pada fase learning. Karena menggunakan data yang telah diberikan label terlebih dulu oleh ahli di bidang itu sebagai contoh data yang benar maka klasifikasi sering juga disebut sebagai supervised method. Untuk memperoleh model tree yang baik sangat tergantung pada data trainingnya.9. Bila akurasinya mencukupi model ini dapat dipakai untuk prediksi kelas data yang belum diketahui [9]. Artinya decision tree diterapkan untuk mengubah data menjadi pohon keputusan berupa node utama dan beberapa leaf node atau branch yang terurut ke bawah menyusun sebuah hirarki dimana node pembentuk pohon diperoleh berdasarkan pembelajaran (learning) dari data training.1 Definisi Decision Tree Salah satu metode klasifikasi yang umum digunakan adalah decision tree karena mudah untuk diinterpretasi oleh manusia berupa struktur flowchart yang menyerupai tree (pohon) dimana setiap percabangannya menyatakan kondisi yang harus dipenuhi dan tiap cabang pohon menyatakan kelas data[4]. . dimana tribut memiliki nilai-nilai yang dinamakan dengan instance [9]. Atribut menyatakan suatu parameter yang dibuat sebagai kriteria dalam pembentukan tree. Salah satu atribut merupakan atribut yang menyatakan data solusi yang disebut dengan target atribut.2 Algoritma ID3 Algoritma ini merupakan salah satu algoritma yang biasa digunakan untuk menyusun Decision Tree[4] dengan langkah sebagai berikut : 1. Pilih salah satu atribut dataset. sebagian data yang telah diketahui kelas datanya diumpankan untuk membentuk model prediksi. 2. Kemudian pada fase test.9 DECISION TREE 2. model yang sudah terbentuk diuji dengan sebagian data lain untuk mengetahui akurasinya.Proses klasifikasi dibagi menjadi dua fase : learning dan test. Dalam fase learning tersebut. decision tree berusaha menemukan atribut yang paling tepat untuk menjelaskan dan menentukan kelas data.

Entropy berperan dalam proses iteratif untuk menyusun tree sebagai parameter yang menilai atribut apa yang akan menjadi percabangan dari struktur pohon.i di S. 2. Proses ini bisa dibagi menjadi dua tahap yaitu : (1) Menghitung besarnya pengaruh dari setiap atribut Misalnya dengan melakukan penghitungan nilai entropy dari setiap atribut yang terlibat. dimana atribut tersebut sebagai node awalnya. (2) Memilih atribut terbaik untuk menjadi titik percabangan (split point) dari struktur pohon. Misalnya suatu contoh ruang sample kasus pelatihan S. Semakin kecil nilai entropy maka semakin baik untuk digunakan dalam mengekstraksi suatu kelas. Buat node. Hitung nilai entropynya.9. 3. Lakukan iterasi sampai semua atribut habis terpakai berdasarkan keberadaan data pada setiap atributnya. maka entropy dari S ditunjukkan dengan klasifikasi Boolean sebagai berikut : Entropy ( S ) = ∑ − pi log 2 pi i =1 c (1) (2) Entropy( S ) = − p + log 2 p + − p − log 2 p − Dimana : pi = proporsi kasus p+ atau p− dalam instance ke. Entropy yaitu jumlah bit yang diperkirakan dibutuhkan untuk dapat mengekstrak suatu kelas (+ atau -) dari sejumlah data training pada ruang sample S. Semakin kecil nilai entropy maka semakin baik untuk digunakan dalam mengekstraksi suatu kelas[9]. Pilih atribut dengan nilai entropy terkecil. . 5.3 Entropy Entropy(S) adalah jumlah bit yang diperkirakan dibutuhkan untuk dapat mengekstrak suatu kelas (+ atau -) dari sejumlah data acak pada ruang sample S. lakukan pada setiap atribut dataset. Entropy bisa dikatakan sebagai kebutuhan bit untuk menyatakan suatu kelas. 4.2.

sedangkan log 2 dikarenakan pengukuran panjang entropy dalam bit [9]. .p+ = proporsi kasus positif atau mendukung. Model tree diubah menjadi rule yang berupa aturan “jika-maka” yang akan digunakan dalam proses pengujian dengan menggunakan data input untuk menentukan keputusan terakhir berupa diagnosa.1 Pemilihan node berdasarkan nilai entropy Kemudian dilanjutkan dengan penyusunan tree dengan menentukan leaf node sebagai cabangnya dengan menghitung lagi nilai entropynya sesuai dengan data pada setiap instance (b1. b2. Gambar 2. c = jumlah instance yang mungkin dimiliki oleh atribut. nic (3) pi = ni nic = banyaknya jumlah p i dalam instance tertentu ni = total jumlah p i dalam instance tertentu Hasil penghitungan entropy setiap atribut menentukan posisinya dalam hirarki decision tree dimana atribut yang mempunyai nilai entropy terkecil diambil sebagai node utama. p− = proporsi kasus negatif atau tidak mendukung. b3) dari atribut di atasnya berdasarkan hirarki tree tersebut.

4 Representasi Tree Tree merupakan struktur dengan beberapa node penyusun yaitu node utama dan beberapa leaf node atau branch yang terurut ke bawah. tidaklah mungkin untuk kembali ke parent-nya dengan mengikuti link yang lain (tidak ada siklus dalam sebuah tree) Kumpulan simpul internal dari sebuah node. Tree mempunyai 3 tipe simpul yaitu: 1. Gambar 2. 2.2 Contoh model tree I . Simpul yang bukan simpul akhir terdiri dari akar dan simpul internal menguji suatu atribut serta berkaitan dengan nilai atribut yang terdiri dari kondisi tes atribut pada sebagian data yang mempunyai karakteristik yang berbeda[4]. masing-masing 1 masukan dan tidak ada keluaran. kecuali root. berperan sebagai node awal. masing-masing 1 masukan dan 2 atau lebih keluaran. memiliki tepat hanya satu parent Sekali sebuah link dari sebuah parent ke sebuah simpul internal diikuti. Sehingga dengan membaca strukturnya atau model tree dapat diartikan bahwa : Setiap node.2.9. Pada decision tree setiap simpul daun menandai label kelas atau hasil klasifikasi. dimana tidak ada masukan dan 0 atau lebih keluaran (tepi). simpul akar. 3. simpul daun atau simpul akhir. simpul internal. biasa disebut sebagai subtree[14]. merupakan sebuah tree.

Atribut target Playball menentukan apakah seseorang perlu bermain golf (play) atau tidak (not play).10 Contoh Pembentukan Tree Untuk lebih memperjelas bagaimana decision tree menyusun dan menentukan node awal. Contoh yang diberikan ini berhubungan dengan data kondisi cuaca untuk bermain golf[14]. Temperature. sedangkan atribut pendukung (atribut selain atribut target) antara lain Outlook. Humidity. Bila sudah ketemu leaf node maka akan diklasifikasikan termasuk node tersebut. kemudian diterapkan kondisi tes dan mengikuti tree sesuai cabang berdasarkan hasil dari tes maka akan diperoleh hasil berupa label kelas data misalnya diagnosa. Klasifikasi terhadap sebuah tree adalah kunjungan secara top-down. 2. Gambar 2.Simpul akar dan simpul internal ditandai dengan bentuk oval dan simpul daun ditandai dengan bentuk segi empat. berikut ini akan diberikan contoh secara detail. Windy. mengunjungi setiap node dalam tree tersebut tepat hanya sekali. dimana sebuah kunjungan berawal dari root. .3 Contoh model tree II Mengklasifikasikan suatu dataset dalam decision tree dimulai dari simpul akar.

cool humidity high. Menentukan Node Terpilih Untuk menentukan node terpilih. rain temperature hot. gunakan nilai entropy dari setiap atribut dengan data training yang ditentukan.2 Instance atribut pendukung Attribute Instance outlook sunny. pernyataan Don’t .No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Tabel 2. Node terpilih adalah atribut yang mempunyai nilai entropy terkecil. mild. false Langkah-langkah untuk menentukan atribut yang terpilih menjadi penyusun Tree : 1. Memilih node awal Misalkan pernyataan Play sebagai proporsi (+). normal windy true. overcast.1 Data Training (kondisi cuaca) Outlook Temperature Humidity Windy sunny hot high false sunny hot high true overcast hot high false rain mild high false rain cool normal false rain cool normal true overcast cool normal true sunny mild high false sunny cool normal false rain mild normal false sunny mild normal true overcast mild high true overcast hot normal false rain mild high true Playball don’t play don’t play play play play don’t play play don’t play play play play play play don’t play Dari data training di tersebut dapat diperoleh informasi instance dari setiap atribut sebagai berikut : Tabel 2.

82 2 2 2 2 2 2 Humidity b1 : high terdapat 3 (+) dan 4 (-) b2 : normal terdapat 6 (+) dan 1 (-) entropy untuk Humidity = 7/14 [-3/7 log (3/7) – 4/7 log (4/7)] + 7/14 [-6/7 log (6/7) – 1/7 log (1/7)] = 0.8922 2 2 2 2 .Play proporsi (-) dan b merupakan instance dari masing-masing atribut maka dilakukan penghitungan entropy sebagai berikut : Outlook b1 : sunny terdapat 2 play (+) dan 3 don’t play (-) b2 : overcast terdapat 4 play (+) b3 : rain terdapat 3 play (+) dan 2 don’t play (-) entropy untuk Outlook = 5/14 [ -3/5 log2 (3/5) – 2/5 log2 (2/5)] + 4/14 ( -log21) + 5/14 [-3/5 log2 (3/5) − 2/5 log2 (2/5)] = 0.785 2 2 2 2 Windy b1 : false terdapat 6 (+) dan 2 (-) b2 : true terdapat 3 (+) dan 3 (-) entropy untuk Windy = 8/14 [-6/8 log (6/8) – 2/8 log (2/8)] + 6/14 [-3/6 log (3/6) – 3/6 log (3/6)] = 0.686 Temperature b1 : hot terdapat 2 (+) dan 2 (-) b2 : mild terdapat 4 (+) dan 2 (-) b3 : cool terdapat 3(+) dan 1(-) entropy untuk Temperature = 4/14 [-2/4 log (2/4) – 2/4 log (2/4)] + 6/14 [-4/6 log (4/6) – 2/6 log (2/6)] + 4/14 [-3/4 log (3/4) – 1/4 log (1/4)] = 0.

dapat digambarkan seperti ini : Gambar 2.4 Penyusunan tree Leaf node berikutnya hanya dapat dipilih pada atribut yang mempunyai data bernilai (+) dan (-).4 . 2.785 Windy 0.3 Hasil semua entropy Attribut Entropy Outlook 0.686 yaitu atribut Outlook.Tabel 2. didapatkan nilai entropy terkecil sebesar 0. Oleh karena itu atribut Outlook terpilih sebagai node awal. pada atribut Outlook terdapat dua instance yang mempunyai data bernilai (+) dan (-) yaitu Outlook= sunny dan Outlook= rain maka keduanya pasti mempunyai leaf node.820 Humidity 0.686 Temperature 0. Untuk melakukan menentukan leaf node dilakukan satu penghitungan entropy seperti proses pemilihan node awal. Menyusun Tree Atribut Outlook sebagai node awal.8922 Setelah menghitung nilai entropy setiap atribut. Penentuan internal node untuk Outlook=sunny dengan data training pada table 2.

No 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Tabel 2.4 2 2 2 2 Humidity b1 : high terdapat 3 (-) b2 : normal terdapat 2 (+) entropy untuk Humidity = 3/5 [-3 log (3)] + 2/5 [-2 log (2)] =0 2 2 .4 Data Training untuk Outlook=sunny Temperature Humidity Windy Playball Hot High false Don’t play Hot High true Don’t play Hot High false Play Mild High false Play Cool Normal false Play Cool Normal true Don’t play Cool Normal true Play Mild High false Don’t play Cool Normal false Play Mild Normal false Play Mild Normal true Play Mild High true Play Hot Normal false Play Mild High true Don’t play Memilih node Selanjutnya Temperature b1 : hot terdapat 2 (-) b2 : mild terdapat 1 (+) dan 1 (-) b3 : cool terdapat 1 (+) entropy untuk Temperature = 2/5 [-2 log (1)] + 1/2 [-1/2 log (1/2) – 1/2 log (1/2)]+ 1/5 [-1/5 log (1/5)] = 0.

Menyusun tree selanjutnya.5 Penyusunan leaf node Tabel 2.317005 Atribut Humidity dipilih sebagai node selanjutnya.6 Data Pelatihan untuk Outlook=rain Temperature Humidity Windy Playball mild high false play cool normal false play cool normal true don’t play mild normal false play mild high true don’t play No 1 2 3 4 5 Temperature b1 : hot 0 .Windy b1 : false terdapat 1 (+) dan 2 (-) b2 : true terdapat 1 (+) dan 1 (-) entropy untuk Windy = 3/5 [-2/3 log2 (2/3) – 1/3 log2 (1/3)] + 2/5 [-1/2 log2 (1/2) – 1/2 log2 (1/2)] = 0.4 Humidity 0.5 Hasil entropy Outlook=sunny Attribute Entropy Temperature 0.0 Windy 0.317005 Tabel 2. Gambar 2.

sehingga tree yang terbentuk seperti pada gambar 2.38039 Atribut Windy menjadi leaf node dari Outlook=rain.38039 Tabel 2.550971 Humidity 1.7 Hasil entropy Outlook=rain Attribute Entropy Temperature 0.3333 2 2 Windy b1 : false terdapat 3 (+) b2 : true terdapat 2 (-) entropy untuk Windy = 3/5 [-3 log2 (3)] – 2/5 [-2 log2 (2)] = 0.6 .550971 2 2 2 2 Humidity b1 : high terdapat 1 (-) b2 : normal terdapat 2 (+) entropy untuk Humidity = 1/3 [-log (1)] + 2/3 [-2 log (2)] = 1.b2 : mild terdapat 2 (+) dan 1 (-) b3 : cool terdapat 1 (+) dan 1 (-) entropy untuk Temperature = 0 + 3/5 [-2/3 log (2/3) – 1/3 log (1/3)]+ 2/5 [-1/2 log (1/2) – 1/2 log (1/2)] = 0.3333 Windy 0.

2.6 Model tree yang lain Mengubah tree menjadi aturan “jika-maka” Berdasarkan model tree di atas selanjutnya diubah menjadi aturan keputusan “jika-maka”. Tabel 2.8 Bentuk aturan if-then If outlook = sunny and humidity = high Then playball = don’t play If outlook = sunny and humidity = normal Then playball = play If outlook = overcast Then playball = play If outlook = rain and windy = false Then playball = play If outlook = rain and windy = true Then playball = don’t play 3.Gambar 2. Apex-nya (puncak) miring ke sebelah kiri. rongga atas dan rongga bawah harus berkontraksi secara bergantian karena fungsi utamanya adalah . otot-otot jantung. aturan ini dimulai dari root (node awal) yaitu Outlook menelusur ke bawah (top-down) dan berhenti setelah menemukan leaf node (Playball dengan instance berupa Play dan Don’t Play).11 Organ Jantung Jantung merupakan suatu organ otot berbentuk kerucut. Agar jantung berfungsi sebagai pemompa yang efisien. berongga dan dengan basisnya di atas dan puncaknya di bawah.

Gangguan pada organ ini sering berujung kematian mendadak dengan beberapa kasus seperti[12] : (1) koroner.menyediakan oksigen ke seluruh tubuh dan membersihkan tubuh dari hasil metabolisme (karbondioksida)[13]. .12 JAVA PROGRAMMING 2. Sehingga ketepatan diagnosa sangat penting mengingat akibat yang ditimbulkan karena kesalahan diagnosa sangat fatal. Itulah alasan dalam ramalan medis tak mustahil kalau orang yang kelihatan sehat bisa saja mati mendadak. karena java merupakan teknologi yang unik dan revolusioner dan merupakan teknologi pertama di dunia software yang memiliki semboyan ”write once. run anywhere”. Windows. Berikut ini akan dijelaskan sekilas konsep-konsep penting dalam pemrograman berorientasi objek.12. Class Class merupakan prototype yang mendefinisikan variabelvariabel dan method-method secara umum. (2) pembengkakan jantung (akibat darah tinggi lama) atau hipertensi. Java juga merupakan teknologi dimana teknologi tersebut mencakup java sebagai bahasa pemograman yang memiliki sintaks dan aturan pemograman tersendiri. seperti Linux. katub. juga mencakup java sebagai platform dimana teknologi ini memiliki virtual machine dan library yang diperlukan untuk menulis dan menjalankan program yng ditulis dengan bahas pemograman java. (3) kelainan jantung bawaan (kebocoran jantung). 2. maupun Unix[11]. atau pembuluh darahnya). Dimana tidak semua kasus penyakit jantung sudah memperlihatkan gejala atau menimbulkan keluhan pada awalnya. Semboyan tersebut telah terbukti karena banyak program java dapat dijalankan di berbagai platform sistem operasi.1 Pengertian Java Programming Java Programming adalah salah satu bahasa pemograman yang menggunakan konsep pemograman berorientasi obyek (OOP) yaitu konsep yang membagi program menjadi obyek-obyek yang saling berinteraksi satu sama lain. (4) infeksi jantung baik yang baru didapat maupun yang dulu (sehingga merusak otot jantung (kardiomiopati).

2. Field / variabel Field merupakan variabel yang ada pada Class atau sering disebut juga sebagai data member class. sampai batas tertentu. secara otomatis di belakang layar. Adapun wrapper class di dalam Java dapat dalam tabel di bawah ini : Tabel 2. Konstructor akan dipanggil pada saat pengkonstruksian objek dari class. akan membuatkan . Method harus memiliki nama yang sama dengan class. Karena di dalam Java seringkali berinteraksi dengan class. string).9 Wrapper class Primitive type Wrapper class Boolean Boolean Char Character Byte Byte Short Short Int Integer Long Long Float Float Double Double Class untuk menangani hal-hal seperti string dan vektor.Object Setiap object memilki atribut sebagai status yang kemudian akan kita sebut sebagai state. Disinilah sangat diperlukan adanya wrapper class untuk menjembatani hubungan antara class dan tipe primitif.5.1 Wrapper Class Wrapper class adalah class-class hasil pengembangan tipe-tipe primitif. seringkali kita berhadapan untuk menghubungkan antara variabel-variabel bertipe class dan bertipe primitif.1. Dalam beberapa kasus (saat menggunakan array dan. Konstructor Konstructor menyerupai method dan bisa dikatakan method khusus pada class. Wrapper class seringkali dipakai di OOP dengan Java. yang normalnya harus dikodekan sendiri.setiap object memiliki tingkah laku yang kemudian akan kita sebut sebagai behavior. kompiler.

5. Abstract Jika sebuah kelas dideklarasikan secara abstract. Nama konstruktor haruslah sama dengan nama class. kelas tesebut tidak akan dapat diturunkan lagi menjadi kelas turunan yang lain.1. kelas tersebut tidak dapat diinstasiasi menjadi sebuah object Java. Konstruktor dari sebuah kelas boleh lebih dari satu. Ada sebuahkata kunci yakni super() yang digunakan untuk instansiasi object dari konstructor yang ada pada superclass.Class <nama kelas> Atribut ini digunakan untuk mendeklarasikan nama kelas. kelas tersebut akan dapat digunakan oleh kelas yang lain.lang. yang secara otomatis akan diimpor ke dalam program. Final Jika sebuah kelas dideklarasikan secara final. deklarasi class di java mengikuti sintak berikut ini : Public Jika sebuah kelas dideklarasikan public.3 Deklarasi Konstruktor pada Java Keberadaan konstruktor bersifat opsional. pemrogram harus secara manual menggunakan classclass yang disediakan dalam package java. 2. Deklarasi konstruktor dapat memiliki beberapa atribut sebagai berikut : .2 Deklarasi Class pada Java Seperti pada gambaran diatas.Extends <nama superclass> Atribut ini digunakan untuk mendeklarasikan kelas turunan dari kelas yang lain. Pada kasus lainnya. 2.1. fitur ini dikenal dengan constructor overloading. .kode yang diperlukan untuk menginstansiasikan Objek atau memanggil Method tanpa harus ikut campur tangan. Hal ini terutama dapat dilihat pada Objek-Objek array. .5.

package. IDE tersebut ada yang komersial seperti IntelliJIDEA dan Jbuilder. kelas yang bersangkutan akan dapat diinstansiasi menjadi object oleh sembarang kelas lain. protected.Private Jika kostruktor dideklarasikan sebagai private.1. Untuk memudahkan perancangan tampilan untuk pemakai (antar muka pemakai) secara visual dan penulisan kode maka disediakan begitu banyak Integrated Development Environtment (IDE). NetBeans dan Eclipse. dan ada juga yang free seperti jEdit. kelas yang bersangkutan tidak akan dapat diinstansiasi menjadi object oleh kelas lain. 2. private.5. Proyek akhir ini dibangun menggunakan NetBeans yang termasuk IDE OpenSource yang gratis. Public Jika konstruktor dideklarasikan sebagai public. Kedua IDE ini merupakan contoh yang sangat baik untuk pemrograman modular.yang sama dengan level pengaksesan pada deklarasi method[14]. ada yang mempunyai lisensi terbatas seperti JDeveloper.12. Atribut pertama pada sebuah member variabel ini menentukan level pengaksessan sebuah variabel. Member variabel berarti variable yang merupakan anggota dari sebuah object. Versi terbaru mereka cepat dan powerfull. Atribut yang dapat ditambahkan pada deklarasi variabel adalah sebagai berikut : Public.4 Deklarasi Member variabel pada class Java Pendeklarasian dilakukan pada pada class body.2 IDE Java Java dapat digunakan untuk membuat berbagai macam program. 2. . Netbeans dibangun di atas komponenkomponen yang disebut dengan module sehingga dapat menjadi platform yang sangat baik untuk menjadi dasar pengembangan aplikasi desktop[15].

Banyak sekali perangkat lunak yang dianggap gagal memberikan nilai tambah terhadap masalah yang dihadapi hanya karena tampilan GUI-nya sangat susah dipahami dan tidak intuitif[16]. 2.text.swing.swing.synth javax.org mengembangkan banyak sekali library swing untuk keperluan khusus dan menarik.swing.event javax.swing.text javax.swing.metal javax.plaf.swing. .swing.basic javax. seperti : JTabel.swing. antara lain dari Swingx dan JGoodies yang mengembangkan library standard swing dengan menambahkan berbagai macam feature menarik.2.12.html javax.swing.filechooser javax. Swing toolkit juga menyediakan class-class untuk menangani interaksi antara aplikasi dan user menggunakan standard input seperti keyboard dan mouse.0 menyertakan setidaknya tujuh belas (17) buah package yang berisi class-class swing yang siap digunakan : Tabel 2.text. JTree.swing.rtf javax.plaf javax.12.accessibility javax.3 Swing Package Swing API sangat bagus dan lengkap.colorchooser javax.swing javax.tree javax. Sehingga bisa konsentrasi untuk memahami beberapa komponen penting saja.multi javax.table javax.10 Swing Package javax.swing.plaf. hanya sebagian kecil saja dari class-class tersebut yang nantinya akan benar-benar digunakan. Beberapa class komponen swing yang penting sudah cukup sebagai bahan pembuat perangkat lunak berkualitas. Komponen-komponen yang disediakan swing mencakup semua GUI toolkit yang lazim digunakan dalam apilasi desktop.swing. Sedangkan komunitas dari javadesktop.border javax.swing. Java 6.swing.4 Komponen Swing Swing toolkit menyediakan banyak sekali komponen untuk membangun aplikasi GUI desktop.undo Tetapi tidak semua class-class dalam package swing digunakan.plaf. JList. Komunitas Java juga menyediakan banyak sekali library swing.plaf.swing.

SwingLabs. internationalization. bahkan animasi. Selain komponen GUI. seperti mengolah gambar.org menyediakan libary Swing Painter yang merupakan pengembangan dari Java 2D. Karakteristik data dari JTable yang berbentuk koleksi data dua dimensi membutuhkan perhatian khusus agar efisien digunakan dalam aplikasi.4. Swing Painter ini memungkinkan aplikasi swing mempunyai tampilan yang indah dan terlihat profesional.JButton. komponen GUI yang mendukung penyandang cacat (accessibility support) fasilitas drag-and-drop. class dari object dalam kolom. termasuk dukungan untuk library OpenGL menggunakan JOGL. dan masih banyak komponen-komponen lainnya yang sudah teruji dan siap pakai. JLabel. Look and Feel merupakan fasilitas yang unik dalam swing. maka aplikasi kita bisa menjadi sangat lambat dan tidak efisien. nama kolom. Dengan adanya dukungan ini swing menjadi lebih poweful dan mempunyai masa depan yang cerah[16]. Dengan fasilitas Look and Feel ini kita bisa dengan mudah merubah tampilan dari program kita sesuai dengan keinginan dan tujuan kita.1 TableModel TableModel adalah class model yang paling sering kustomisasi.0 menambahkan banyak sekali fitur-fitur baru ke dalam package swing. 2. Jika kita tidak hati-hati. . Misalnya : jumlah kolom. Swing juga menyediakan library Java 2D untuk pengolahan data secara visual.2. jumlah baris dan nilai setiap cell. TableModel adalah interface yang digunakan oleh JTable untuk mendefinisikan ciri-ciri dari data tabular yang akan ditampilkan oleh JTable. object 2D. Java 6. Tray Icon dan Web Service. swing juga menyediakan fasilitas-fasilitas seperti : komponen untuk mengolah text. Dengan adanya data-data ini JTable dapat secara efisien menentukan bagaimana menampilkan data tersebut[16].

sedangkan JRadioButton digunakan jika pilihanya berupa single selection. 2. Misalnya grup pilihan jenis kelamin digunakan untuk mengumpulkan JRadioButton yang merepresentasikan pilihan lakilaki dan JRadioButton yang merepresentasikan pilihan perempuan dalam satu group. maka pilihan laki-laki dan pilihan perempuan bisa dipilih bersamaan.4. Setiap JRadioButton dan JCheckBox mempunyai text yang menerangkan pilihan yang diwakilinya. dan false jika sebaliknya. serta didistribusikan oleh MYSQL AB. Hal ini membuatnya cocok dipakai sebagai database suatu aplikasi yang menggunakan banyak operasi query. JCheckBox digunakan misalnya untuk merepresentasikan pilihan hobby.2. terutama untuk kecepatan kokneksi (overhead koneksi yang rendah) dan kecepatannya untuk query-query yang sederhana. Kedua komponen ini digunakan untuk merepresentasikan data yang berupa pilihan. Kekuatan utama MySQL adalah pada kecepatannya. Status dari JRadioButton dan JCheckBox dapat diketahui dengan melihat nilai kembalian dari method isSelected.2 JCheckBox dan JRadioButton JCheckBox dan JradioButton hanya bisa mempunyai dua buah kemungkinan nilai.13 Pengenalan MYSQL MYSQL merupakan Database Management System (DBMS) yang bersifat open source dan dikembangkan. . Jika JRadioButton tidak diletakkan dalam satu group.2. jika dipilih maka nilai kembalian method isSelected adalah benar. benar atau salah. JCheckBox digunakan jika pilihanya berupa multiple selection. MYSQL memiliki bagian berupa Structured Query Language (SQL) yang digunakan untuk mengolah databasedatabase relasional yang ada di dalamnya. Method getText dan setText digunakan untuk memanipulasi text[16]. JRadioButton digunakan misalnya untuk merepresentasikan pilihan jenis kelamin. ButtonGroup diperlukan untuk mengumpulkan JRadioButton yang mempunyai grup pilihan yang sama.

2.13.1 SQL SQL (Structured Query Language) adalah sebuah bahasa yang dipergunakan untuk mengakses data dalam basis data relasional. SQL tidak hanya menyediakan mekanisme query dan operasi modifikasi database saja, tetapi SQL juga menyediakan mekanisme untuk menggabungkan (join) antar relasi table. Fungsi yang digunakan dalam SQL antara lain : 1. Data Definitions Language (DDL) digunakan untuk mendefinisikan, mengubah, serta menghapus basis data dan objek-objek yang diperlukan dalam basis data, misalnya tabel, view, user, dan sebagainya. Secara umum, DDL yang digunakan adalah CREATE untuk membuat objek baru, USE untuk menggunakan objek, ALTER untuk mengubah objek yang sudah ada, dan DROP untuk menghapus objek. DDL biasanya digunakan oleh administrator basis data dalam pembuatan sebuah aplikasi basis data. 2. Data Manipulation Language (DML) Data DML digunakan untuk memanipulasi data yang ada dalam suatu tabel. Perintah yang umum dilakukan adalah: SELECT untuk menampilkan data perintah yang paling sering digunakan pada SQL, sehingga terkadang istilah query dirujukkan pada perintah SELECT. SELECT digunakan untuk menampilkan data dari satu atau lebih tabel, biasanya dalam sebuah basis data yang sama. Secara umum, perintah SELECT memiliki bentuk lengkap:
[AS SELECT [nama_tabel|alias.]nama_field1 alias1] [, nama_field2, ...] FROM nama_tabel1 [AS alias1] [INNER|LEFT|RIGHT JOIN tabel2 ON kondisi_penghubung] [, nama_tabel3 [AS alias3], ...] [WHERE kondisi] [ORDER BY nama_field1 [ASC|DESC][, nama_field2 [ASC|DESC], ...]] [GROUP BY nama_field1[, nama_field2, ...]] [HAVING kondisi_aggregat]

dengan: • kondisi adalah syarat yang harus dipenuhi suatu data agar ditampilkan.

kondisi_aggregat adalah syarat khusus untuk fungsi aggregat. Kondisi dapat dihubungkan dengan operator logika, misalnya AND, OR, dan sebagainya. INSERT untuk menambahkan data baru UPDATE untuk mengubah data yang sudah ada DELETE untuk menghapus data 2.13.2 SQL Join Perintah SQL dengan operasi JOIN, perintah ini digunakan saat data yang dibutuhkan berasal lebih dari satu table, maka kondisi join dibutuhkan. Rows (baris) data pada suatu table dapat di join dengan rows data dari table lain berdasarkan kolom yang bersesuaian, yang biasanya kolom Primary Key dan Foreign Key. Kondisi Join meliputi: Equijoin (Inner Join atau Simple Join) Equijoin atau biasa disebut sebagai Inner Join atau Simple Join adalah bentuk kondisi join dimana nilai relasi yang terjadi antar dua atau lebih table (binary relation) adalah sama (terdapat hubungan antara Primary Key dan Foreign Key). Equijoin menyederhanakan queries dengan menggunakan table alias sehingga meningkatkan performance. Sintaks :
"SELECT a."+nmkolom+",b.jmlins,a.diagnosa,c.jmldiag,a.j ml FROM "+ " (SELECT "+nmkolom+", diagnosa,count(*) as jml FROM datajantung GROUP BY "+nmkolom+",diagnosa) as a "+ " inner join (SELECT "+nmkolom+",count(*) as jmlins FROM datajantung "+filter+" GROUP BY "+nmkolom+") as b on b."+nmkolom+"=a."+nmkolom+ " inner join (SELECT diagnosa,count(*) as jmldiag FROM datajantung "+filter+" GROUP BY diagnosa) as c on a.diagnosa=c.diagnosa ";

Non-Equijoin kondisi join yang terkadang tidak mengandung operator sama dengan (=). Outer Join (Left Outer Join & Right Outer Join) bentuk kondisi join untuk mencari nilai join yang memenuhi dari kedua table, plus nilai yang tidak memenuhi dari salah satu sisi table tersebut. Untuk mendapatkan hasil join termasuk baris data (rows) yang hilang tersebut, dapat digunakan operator Outer Join. Outer Join terdiri atas : Left Outer Join dan Right Outer Join Self Join bentuk kondisi join yang terjadi pada table diri sendiri (recursive). 2.14 Koneksi Database dengan JDBC Agar data pelatihan yang telah disimpan dalam database aplikasi dapat diakses maka perlu dibangun sebuah koneksi menggunakan Java Database Connectivity (JDBC). JDBC adalah Aplication Programming Interface (API) yang dirancang untuk mengakses database berdasarkan SQL (Structure Query Language). Untuk mengakses database dengan DBMS yang berbeda maka JDBC memerlukan driver yang berbeda dimana sebagian besar database memiliki tipe driver JDBC yang berbeda.. Untuk databaseMysql, JDBC memerlukan driver yang menjembatani aplikasi dengan ODBC (Open Database Connectivity) yang ada di lingkungan Microsoft Windows. Untuk mengaktifkan hubungannya diperlukan inisialisasi driver menggunakan ODBC Driver menggunakan mysql-connector-odbc. Koneksi dibentuk melalui 1 class yaitu java.sql.DriverManager dan 2 interface yaitu java.sql.Driver dan java.sql.Connection. Class untuk JDBC diakses melalui java.sql.*. Pada Tabel 2.11 dapat diketahui bahwa Class.forName (nama-driver) merupakan loading driver, artinya koneksi akan dibuat dengan menggunakan jalur driver tersebut sedangkan DriverManager.getConnection (url, myLogin, myPassword) menghubungkan aplikasi dengan nama database yang akan diakses, dilengkapi dengan otentifikasi berupa nama user dan password.

11 Interface untuk koneksi database Keterangan Mendefinisikan koneksi ke database Mendefinisikan driver yang digunakan untuk melakukan koneksi ke suatu database.Interface Connection Driver Statement ResultSet Tabel 2. . Mendefinisikan sejumlah metode yang berhubungan dengan pernyataan SQL (Structure Query Language). Kelas yang mengimplementasikan interface ini juga terdapat pada paket java.sql dengan nama DriverManager. Interface yang mendefinisikan pengaksesan hasil pernyataan SQL.

*** Halaman ini sengaja dikosongkan *** .

dengan mengambil salah satu atribut dan atribut target untuk dihitung nilai entropynya kemudian setelah dipeoleh nilai entropy dari semua atribut dilakukan pengurutan dimana atribut yang mempunyai nilai entropy paling kecil menjadi node terpilih penyusun tree berdasarkan algoritma ID3. proses learning meliputi penghitungan nilai entropy dari setiap atribut data.3 Bentuk Umum Dalam bab ini dijelaskan tiga tahap penting yakni perencanaan. 3.3 Diagram Alir Proses Learning Yang pertama kali dilakukan adalah mengakses database yang menyimpan data training.4 Perancangan Proses Proyek akhir ini menerapkan metode Decision Tree dengan algoritma ID3 untuk menganalisa data pemeriksaan jantung sebagai data training dimana proses pembentukan tree ini dimulai dengan membaca data training (dataset) untuk dipelajari pola datanya. Proses learning Proses learning meliputi penghitungan nilai entropy dari setiap atribut data sampai terbentuknya suatu tree dan diubah menjadi aturan “jika-maka”. kemudian data input ini diujikan dengan aturan “jika-maka” sehingga diperoleh output berupa hasil diagnosa jantung. Pada sistem ini terdapat 2 proses yaitu : 1. pengujian dan desain antar muka. Berdasarkan algoritma ID3. 2.BAB III PERANCANGAN DAN PEMBUATAN PERANGKAT LUNAK 3. perancangan dan pembuatan perangkat lunak. Pengujian atau tes. Tahapan perencanaan dan perancangan meliputi kebutuhan sistem dan diagram alir sistem sedangkan pada tahap pembuatan meliputi proses learning. Proses tes atau pengujian dimulai dengan user memasukkan data tes (data hasil pemeriksaan jantung). 3. Bila node awal sudah .2.

selanjutnya tree tersebut diubah menjadi aturan “jika-maka”. Data yang digunakan sebagai data input adalah data hasil pemeriksaan jantung.2.4 Diagram Alir Pengujian Data Setelah tree terbentuk dan diubah menjadi aturan “jikamaka” maka dilakukan pengujian dimana tahap ini merupakan interaksi antara user dengan sistem dimana user bertujuan untuk mengetahui hasil diagnosa pemeriksaan jantung. . Gambar 3.diketahui maka data training akan terbagi sesuai dengan instancenya sehingga semakin ke bawah jumlah data semakin berkurang. Sampai akhirnya tersusun sebuah tree.1 Diagram Alir Proses Learning 3.

3 Data training Data training yang digunakan untuk membentuk tree ini merupakan data pemeriksaan pasien penyakit jantung dari rumah sakit. Tabel 3.2 Diagram Alir Pengujian Data 3. .1 Struktur Data training Atribut Tipe data Umur Text Jeniskelamin Text Katubmitral Text Katubaorta Text Katubpulmonal Text LV Text RV Text LA Text sistolikLV Text diastolik Text diagnosa Text Dalam prakteknya dataset ini dibagi menjadi 2 yaitu 75% digunakan sebagai data training dan 25% sebagai data uji coba untuk proses pengujian dengan pengambilan data pada setiap kelas data sehingga model tree yang terbentuk akan dapat merepresentasikan pola data training dengan jelas sesuai dengan keberadaan kelas datanya.Gambar 3. Data ini terdiri dari 10 atribut kondisi jantung pasien dan 1 atribut target yaitu atribut diagnosa jenis penyakit jantung.

Langkah konfigurasi ODBC yaitu : 1. Finish. Administrative Tools 3. 5.4 Koneksi Database Agar data training yang telah disimpan dalam database aplikasi dapat diakses maka perlu dibangun sebuah koneksi sebagai sarana yang menghubungkan aplikasi dan database. Remove untuk menghapus User Data Sources. Untuk database MySQL.4. 6. Pilih MySQL ODBC 3.1 JDBC – ODBC Pada pemrograman Java menggunakan Java Database Connectivity (JDBC API) yang dirancang untuk mengakses database. Untuk mengakses database dengan DBMS yang berbeda maka JDBC memerlukan driver yang berbeda dimana sebagian besar database memiliki tipe driver JDBC yang berbeda. JDBC memerlukan driver yang menjembatani aplikasi dengan ODBC (Open Database Connectivity) yang ada di lingkungan Microsoft Windows digunakan mysql-connector-odbc. 3.3. Add untuk membuat User Data Sources Baru. Masukkan nama data source dan deskripsi sebagai pelengkap informasi data source. . Select untuk memilih database yang sudah dibuat. Control Panel 2. Data Sources (ODBC) 4.51 Driver karena database yang akan digunakan adalah MySQL. Configure untuk mengubah atau memperbaiki konfigurasi User Data Sources yang sudah ada.

""). "root". Pilih nama databasenya.3 Konfigurasi ODBC 7. 3.Gambar 3.2 Inisialisasi Driver Untuk mengaktifkan hubungan antara ODBC-JDBC diperlukan inisialisasi driver menggunakan ODBC Driver dengan program sebagai berikut : Connection conn=null. . }catch(Exception e){ } return conn.JdbcOdbcDriver"). OK. conn=DriverManager.4.odbc.jdbc. try{ Class.forName("sun.getConnection("jdbc:odbc:mydtre e".

Buat node. kardiomiopati.umur) "+ inner join (SELECT diagnosa. count(*) as jmlins FROM datajantung where diagnosa= 'bawaan' GROUP umur) as b on b. b.5 Menyusun Decision Tree Cara menyusun tree berdasarkan learning menggunakan algoritma ID3 dengan langkah sebagai berikut : 1. Hitung nilai entropynya.count(*) as jmldiag FROM datajantung where diagnosa= 'bawaan' GROUP FROM BY BY BY . a. tua dan atribut target yaitu diagnosa mempunyai instance bawaan. misalnya dilengkapi dengan otentifikasi berupa nama user dan password atau tidak.forName(nama-driver) merupakan loading driver. myPassword) menghubungkan aplikasi dengan nama database yang akan diakses. 2.jmlins. Lakukan iterasi sampai semua atribut menjadi penyusun tree berdasarkan proporsi data pada setiap atribut tersebut. count(*) as jml datajantung where diagnosa= 'bawaan' GROUP umur. 5. 4.myLogin. Pilih atribut dengan nilai entropy terkecil.umur.jml FROM "+ "((SELECT umur. Sebagai contoh penghitungan entropy pada atribut umur dimana umur mempunyai instance yaitu muda. dimana atribut tersebut sebagai node awalnya atau node-node penyusun tree. c. koroner. 3. katub.jmldiag. a. Proses ini dilakukan pada semua atribut data training. hipertensi.Dimana Class. diagnosa. Pilih salah satu atribut dataset.diagnosa. diagnosa) as a "+"inner join (SELECT umur. lakukan pada setiap atribut dataset. 3.umur=a. artinya koneksi akan dibuat dengan menggunakan jalur driver tersebut sedangkan DriverManager. Langkah pertama untuk menghitung entropy adalah mengelompokkan data setiap atribut sesuai dengan instancenya dan instance dari atribut target. Kemudian dihitung berapa jumlah data bila instance dari kedua atribut digabungkan dengan query seperti berikut : "SELECT a.getConnection (url.

.2 : Tabel 3.diagnosa) as c on a. Sehingga diperoleh hasil query seperti pada tabel 3.4 Query Atribut umur Query tersebut dilakukan pada semua atribut untuk diketahui nilai entropynya.diagnosa= c. kemudian dari semua nilai entropy yang diperoleh dipilih yang terkecil untuk dijadikan node-node penyusun tree.diagnosa". Cara menghitung entropy : try { Tbl=getTabel(sql).2 Query Atribut umur umur diagnosa BAWAAN MUDA HIPERTENSI KATUB KARDIOMIOPATI KORONER BAWAAN TUA HIPERTENSI KATUB KARDIOMIOPATI KORONER jumlah 2 2 3 0 1 1 25 11 6 19 Atau bisa digambarkan sebagai berikut : Gambar 3.

printStackTrace(). //jumlah data yang ini jmlins=Tbl. //jumlah instance double a= jml/jmlins. sedangkan “maka” merupakan nilai dari atribut target yang merupakan bagian dari penggolongan akhir suatu tree. //=========== menghitung entropy retval=retval+(b*(a*((Math. EDD THEN diagnosa='katub' . } return retval.System. Berikut ini merupakan salah satu contoh bentuk aturan “jika-maka” dari dataset cuaca : Tabel 3.close().6 Decision Rule Model Decision Tree yang telah jadi diubah menjadi bentuk aturan “jika-maka”.println(sql).out.next()){ jml=Tbl.3 Contoh aturan “jika-maka” IF umur='MUDA' AND katubmitral='MS BERAT' AND RV='DILATASI' AND LA='DILATASI' AND diastolik='NORMAL' AND katubpulmonal=TR RINGAN THEN diagnosa='katub' IF umur='TUA' AND katubmitral=MS BERAT THEN diagnosa='katub' IF umur='TUA' AND katubmitral='NORMAL' AND katubpulmonal='NORMAL' AND RV='NORMAL' AND diastolik='TERGANGGU' AND LV=DILATASI. NumberOfRows++.log10( 2)))). 3.getInt(5).log10(a))/Math. Aturan ini dibuat berdasarkan penelusuran model tree yang tersusun yang menggambarkan “jika” terdiri dari semua atribut kecuali atribut target pada data training.getInt(2). while(Tbl. double b= jmlins/jmltot. } Tbl. } catch (SQLException ex) { ex.

add(hsl). String hasil=jml1.4 Contoh aturan “jika-maka” If outlook = sunny and humidity = high Then playball = don’t play If outlook = sunny and humidity = normal Then playball = play If outlook = overcast Then playball = play If outlook = rain and windy = false Then playball = play If outlook = rain and windy = true Then playball = don’t play Contoh potongan program yang mengubah tree menjadi aturan “jikamaka” adalah : ResultSet jml1=getTabel("SELECT diagnosa FROM datajantung "+ ANDFilter(filter. jTextArea2.next().IF umur='TUA' AND katubmitral='NORMAL' AND katubpulmonal='NORMAL' AND RV='NORMAL' AND diastolik='TERGANGGU' AND LV='NORMAL' AND LA='NORMAL' AND jeniskelamin='WANITA' AND sistolikLV='NORMAL' AND katubaorta=NORMAL THEN diagnosa='katub' Tabel 3.akhir=new DefaultMutableTreeNode(node).7 Pembuatan Tampilan Proyek akhir ini dibuat untuk membantu menentukan diagnosa jenis penyakit jantung berdasarkan data hasil pemeriksaan jantung pasien .getText()+"\n IF "+filter.subSequence(6.getString(1). DefaultMutableTreeNode hsl=new DefaultMutableTreeNode(hasil).filter.akhir. 3.length())+" AND "+instance+"="+node+" THEN diagnosa="+hasil).setText(jTextArea2. jml1.instance+"='"+node+"'")).

Umur Umur pasien dikategorikan menjadi 2 yaitu : MUDA ( <=43 tahun ) TUA ( >43 tahun ) 2. WANITA ) 3. User diminta mengisi form ini sesuai dengan data hasil pemeriksaan jantung. Adapun tampilannya adalah sebagai berikut : 3.5 Tampilan Form Diagnosa Pemeriksaan pada pasien penyakit jantung meliputi : 1. Gangguan pada Katub Mitral antara lain : MR GRADE II MR RINGAN . Jenis kelamin ( PRIA. Gambar 3. Kondisi jantung : a. Dimana data yang ditampilkan disesuaikan dengan data training yang terbatas.6.secara online sehingga memudahkan user menggunakannya sewaktuwaktu.1 Form Diagnosa Form ini diperuntukkan kepada user yang ingin mengetahui hasil pemeriksaan jantung.

kardiomiopati. LA NORMAL DILATASI g. Data tersebut akan diproses dengan aturan ”jikamaka” yang terbentuk dari proses learning.2 Form Proses Learning . 3.6. hipertensi.MR SEDANG MR TRIVIAL MS BERAT RINGAN b. untuk mengetahui hasilnya tekan pada button PROSES DIAGNOSA. EDD IVS MENEBAL PE MINIMAL f. katub. Katub Aorta: AR RINGAN NORMAL c. Gangguan pada Katub Pulmonal antara lain TR BERAT TR RINGAN TR SEDANG TR TRIVIAL d. SistolikLV MENURUN NORMAL TERGANGGU h. RV NORMAL DILATASI e. Outputnya yaitu diagnosa jenis penyakit jantung misalnya bawaan. Diastolik NORMAL TERGANGGU Setiap kondisi diisi sesuai dengan pemeriksaan pasien penyakit jantung. Gangguan pada LV yaitu : DILATASI RINGAN DILATASI. koroner.

Form ini dibuat dengan tujuan sebagai referensi untuk mengetahui bagaimana metode Decision Tree ini bekerja membaca pola data training yang meliputi proses learning data. Proses ini melakukan koneksi dengan database dan membaca data training untuk mengetahui nilai entropynya kemudian menyusun suatu model tree yang menggambarkan pola data training serta mengubah model tree menjadi aturan “jika-maka” yang akan diimplementasikan untuk menentukan diagnosa jenis penyakit jantung. Gambar 3. . bagaimana model tree-nya dan bagaimana aturan-aturan keputusan ”jika-maka” terbentuk.6 Tampilan Form Training Data Hal pertama yang dilakukan adalah menekan button MULAI LEARNING untuk memulai proses learning data training.

koroner) sebanyak 4x uji coba sehingga dilakukan 4 kali iterasi dengan data training dan data tes yang berbeda-beda. Misalkan dengan jumlah 100 data.BAB IV PENGUJIAN DAN ANALISA PROGRAM 4.51. Hasil pengujian dapat digunakan untuk melihat apakah program yang telah dibuat mampu menyusun model tree yang tepat berdasarkan data training yang digunakan. Dimana data diujikan pada semua kelas data (bawaan. Adapun perangkat keras yang digunakan untuk menguji proyek akhir ini mempunyai konfigurasi sebagai berikut : Processor : P4 2. hipertensi.6 Data Uji Coba Data yang digunakan untuk menguji kebenaran dan kemampuan program ini adalah data hasil pemeriksaan jantung dari rumah sakit dengan perbandingan 1: 3 dari keseluruhan data yang diperoleh.0_07 mysql-connector-odbc-3. kardiomiopati.5 Lingkungan Uji Coba Dengan menggunakan perangkat yang memenuhi lingkungan uji coba berikut dapat dipastikan bahwa program dapat beroperasi dengan baik misalnya terhindar dari hang. katub. . 4.12-win32 4. komputasinya tidak lama dan memperoleh hasil sesuai dengan yang diharapkan.66 GHz Memory : DDR 512 Hard Disk : 40 Giga Sedangkan perangkat lunak yang digunakan untuk menguji adalah : Sistem Operasi : Windows XP NetBeans IDE 5.5. maka 75 data digunakan sebagai data training dan 25 data sebagai data tes.7 Pelaksanaan Pengujian Pengujian kemampuan program ini dimulai dengan menguji proses learning data training berupa dataset dengan klasifikasi kelas datanya kemudian setelah itu hasilnya diimplemetasikan untuk menentukan hasil diagnosa.5 jdk1.

4.1 Tree Diagnosa Bawaan Uji coba 1 .1 Pengujian Kelas Data Bawaan Dilakukan pengujian data training pada kelas data bawaan dengan uji coba sebagai berikut : a.1 Data training um jeniskela katubmi ur min tral mu pria normal da mu mr pria da ringan mu mr wanita da ringan mr tua wanita sedang katuba katubp orta ulmonal normal normal ar ringan normal lv rv la nor mal dilat asi nor mal dilat asi sistoli klv norma l norma l norma l norma l diastol ik normal normal normal tergan ggu dilat asi dilat normal normal asi dilat normal dilatasi asi nor normal normal mal normal normal Hasil tree yang terbentuk : Gambar 4. Uji coba I Data training yang digunakan pada uji coba ke-1 Tabel 4.3.

2 Data training um jeniskela katubmi ur min tral mr tua pria sedang mu mr pria da ringan mu mr wanita da ringan mr tua wanita sedang katuba katubp orta ulmonal normal normal ar ringan normal lv rv la dilat asi dilat asi nor mal dilat asi sistoli klv norma l norma l norma l norma l diastol ik tergan ggu normal normal tergan ggu nor mal dilat normal normal asi dilat normal dilatasi asi nor normal normal mal normal normal Tree yang terbentuk Gambar 4. Uji coba II Data training yang digunakan pada uji coba ke-2 Tabel 4.Aturan keputusan : IF umur='MUDA' AND LA=DILATASI THEN diagnosa='bawaan' IF umur='MUDA' AND LA=NORMAL THEN diagnosa='bawaan' IF umur='TUA' AND jeniskelamin=PRIA THEN diagnosa='bawaan' b.2 Tree Diagnosa Bawaan Uji coba I1 .

3 Tree Diagnosa Bawaan Uji coba II1 .3 Data training um jeniskela katubmi ur min tral mr tua wanita ringan mu pria normal da mu mr pria da ringan mr tua wanita sedang katuba katubp lv rv orta ulmonal ar dilat normal dilatasi ringan asi dilat normal normal normal asi dilat normal normal normal asi nor normal normal normal mal la nor mal nor mal dilat asi dilat asi sistoli klv norma l norma l norma l norma l diastol ik normal normal normal tergan ggu Hasil tree yang terbentuk : Gambar 4. Uji coba III Data training yang digunakan pada uji coba ke-3 Tabel 4.Aturan keputusan : IF umur='MUDA' AND diagnosa='bawaan' IF umur='MUDA' AND diagnosa='bawaan' IF umur='TUA' AND diagnosa='bawaan' IF umur='TUA' AND diagnosa='bawaan' LA=DILATASI THEN LA=NORMAL THEN jeniskelamin=PRIA THEN jeniskelamin=WANITA THEN c.

Uji coba IV Data training yang digunakan pada uji coba ke-4 Tabel 4.4 Data training um jeniskela katubmi ur min tral mr tua pria sedang mu pria normal da mu mr pria da ringan mr tua wanita sedang katuba katubp orta ulmonal normal normal normal normal normal lv rv norma l dilata si dilata si norma l la dilat asi nor mal dilat asi dilat asi sistoli klv norma l norma l norma l norma l diastol ik tergan ggu normal normal tergan ggu norma l norma normal l norma normal l norma normal l Hasil tree yang terbentuk : Gambar 4.4 Tree Diagnosa Bawaan Uji coba IV .Aturan keputusan : IF umur='MUDA' AND LA=DILATASI THEN diagnosa='bawaan' IF umur='MUDA' AND LA=NORMAL THEN diagnosa='bawaan' IF umur='TUA' AND jeniskelamin=PRIA THEN diagnosa='bawaan' IF umur='TUA' AND jeniskelamin=WANITA THEN diagnosa='bawaan' d.

2 Pengujian Kelas Data Hipertensi Pengujian pada kelas data hipertensi diperoleh hasil seperti pada Gambar 4.3. Hasil Pengujian 4x Uji Coba Tabel 4. 4. tidak ditemukan tingkat kesalahan.5 Tree Diagnosa Hipertensi Uji coba I Aturan keputusan : IF umur=MUDA THEN diagnosa=HIPERTENSI IF umur=TUA THEN diagnosa=HIPERTENSI .5 Hasil Uji Coba Persentase kesalahan Jumlah uji coba kedata uji I II III IV coba 1 0% 0% 0% 0% Jumlah data training 5 Pada kelas data bawaan.Aturan keputusan : IF umur='MUDA' AND diagnosa='bawaan' IF umur='MUDA' AND diagnosa='bawaan' IF umur='TUA' AND diagnosa='bawaan' IF umur='TUA' AND diagnosa='bawaan' LA=DILATASI THEN LA=NORMAL THEN jeniskelamin=PRIA THEN jeniskelamin=WANITA THEN e.5 berikut ini : Hasil tree yang terbentuk : Gambar 4.

6 berikut : Tabel 4. III dan IV mempunyai model yang sama dengan pengujian I.7 Hasil pengujian Persentase kesalahan Jumlah uji coba kedata uji I II III IV coba 1 0% 0% 0% 0% Jumlah data training 5 .3. Dengan hasil pengujian pada Tabel 4. III dan IV mempunyai model yang sama dengan pengujian I.Hasil tree yang terbentuk pada pengujian II.3 Pengujian Kelas Data Kardiomiopati Pengujian pada kelas data kardiomiopati diperoleh hasil seperti pada Gambar 4.6 berikut : Tabel 4.6 Tree Diagnosa Hipertensi Uji coba I Aturan keputusan : IF umur=TUA THEN diagnosa=KARDIOMIOPATI Hasil tree yang terbentuk pada pengujian II.6 berikut ini : Hasil tree yang terbentuk : Gambar 4.6 Hasil pengujian Persentase kesalahan Jumlah uji coba kedata uji I II III IV coba 4 0% 0% 0% 0% Jumlah data training 10 4. Dengan hasil pengujian pada Tabel 4.

8 Hasil pengujian Persentase kesalahan Jumlah uji coba kedata uji I II III IV coba 2 0% 0% 0% 0% 4.3.5 Pengujian Kelas Data Koroner a.8 Tree Diagnosa Koroner Uji coba I .4 Pengujian Kelas Data Katub Pengujian pada kelas data katub diperoleh hasil seperti pada Gambar 4.3.7 berikut ini : Hasil tree yang terbentuk : Gambar 4.4. Uji coba I Hasil tree yang terbentuk : Gambar 4.7 Tree Diagnosa Hipertensi Uji coba I Aturan keputusan : IF umur=TUA THEN diagnosa=KATUB IF umur=MUDA THEN diagnosa=KATUB Jumlah data training 5 Tabel 4.

Uji coba II Hasil tree yang terbentuk : Gambar 4.11 Tree Diagnosa Koroner Uji coba III Aturan keputusan : IF umur=TUA THEN diagnosa=KORONER IF umur=MUDA THEN diagnosa=KORONER Pengujian pada kelas data koroner sebanyak 4x uji coba diperoleh hasil sebagai berikut : .9 Tree Diagnosa Koroner Uji coba II Aturan keputusan : IF umur=TUA THEN diagnosa=KORONER c.Aturan keputusan : IF umur=MUDA THEN diagnosa='KORONER' IF umur=TUA THEN diagnosa='KORONER' b. Uji coba III & IV Hasil tree yang terbentuk : Gambar 4.

Jumlah data training 16 Tabel 4. Melakukan penghitungan entropy. yang berisi referensi kepada user bahwa cara menentukan diagnosa penyakit jantung Di dalam button MULAI LEARNING ada beberapa proses yang dijalankan diantaranya adalah: 1. Menyusun tree. Melakukan koneksi dengan database untuk mengakses data training.9 Hasil pengujian Persentase kesalahan Jumlah uji coba kedata uji I II III IV coba 5 0% 0% 0% 0% Tampilan yang disediakan dalam proyek akhir ini berupa form seperti yang telah dijabarkan pada bab sebelumnya. Tampilan pada saat pertama kali program dijalankan adalah Form Training. Sehingga pada window HASIL TREE ditampilkan gambaran proses bagaimana model tree yang terbentuk. 2.11 kemudian akan diubah menjadi suatu bentuk aturan “jika-maka” yang dapat merepresentasikan pola data sehingga sejumlah besar data dapat diklasifikasikan berdasarkan kelas datanya. maksimal 3.10 dan Gambar 4. . Hasil tree pada Gambar 4.

Gambar 4.11 Tampilan Hasil Tree dari Proses Learning .10 Tampilan Form Proses Learning Gambar 4.

Dimulai dengan instance MR RINGAN sampai berakhir pada leaf node (hasil diagnosa).11 dapat ditunjukkan dengan lebih detail pada gambar Gambar 4. MR TRIVIAL. MR SEDANG dan MR GRADE II.12.Representasi hasil tree pada Gambar 4. NORMAL.12 Tampilan Hasil Tree Atribut yang berperan sebagai node awal adalah katubmitral. dilanjutkan dengan cabang setiap instance-nya.12 di bawah ini : Gambar 4. MS BERAT. . kemudian dilanjutkan dengan instance RINGAN. Dimana setelah ditelusuri dapat diketahui jenis penyakit jantungnya seperti pada gambar 4.

13 Tampilan Hasil Tree (lanjutan) .14 dan gambar 4. Gambar 4. gambar 4.15 berdasarkan input data maupun data uji coba.gambar 4.13.

15 Tampilan Hasil Tree (lanjutan) .14 Tampilan Hasil Tree (lanjutan) Gambar 4.Gambar 4.

Hasil aturan keputusan “ifthen” berdasarkan model tree yang diperoleh dari proses learning : IF katubmitral='MR RINGAN' AND diastolik='TERGANGGU' AND jeniskelamin='PRIA' AND RV='NORMAL' AND LV=DILATASI. EDD' AND katubpulmonal='NORMAL' AND sistolikLV='NORMAL' AND RV='NORMAL' AND umur='TUA' AND katubaorta='NORMAL' AND LA=NORMAL THEN diagnosa=KATUB IF katubmitral='MR RINGAN' AND diastolik='TERGANGGU' AND jeniskelamin='WANITA' AND LV='DILATASI. EDD' AND katubpulmonal=TR RINGAN THEN diagnosa=KORONER IF katubmitral='MR RINGAN' AND diastolik='NORMAL' AND LA=DILATASI THEN diagnosa=BAWAAN IF katubmitral='MR RINGAN' AND diastolik='NORMAL' AND LA='NORMAL' AND RV=NORMAL THEN diagnosa=KATUB IF katubmitral='MR RINGAN' AND diastolik='NORMAL' AND LA='NORMAL' AND RV=DILATASI THEN diagnosa=BAWAAN IF katubmitral=RINGAN THEN diagnosa=KATUB . EDD' AND katubpulmonal='NORMAL' AND sistolikLV=TERGANGGU THEN diagnosa=KORONER IF katubmitral='MR RINGAN' AND diastolik='TERGANGGU' AND jeniskelamin='WANITA' AND LV='DILATASI. EDD' AND katubpulmonal='NORMAL' AND sistolikLV='NORMAL' AND RV='NORMAL' AND umur='TUA' AND katubaorta='NORMAL' AND LA=DILATASI THEN diagnosa=HIPERTENSI IF katubmitral='MR RINGAN' AND diastolik='TERGANGGU' AND jeniskelamin='WANITA' AND LV='DILATASI. EDD THEN diagnosa=KORONER IF katubmitral='MR RINGAN' AND diastolik='TERGANGGU' AND jeniskelamin='PRIA' AND RV='NORMAL' AND LV='NORMAL' AND sistolikLV='NORMAL' AND LA=DILATASI THEN diagnosa=KORONER IF katubmitral='MR RINGAN' AND diastolik='TERGANGGU' AND jeniskelamin='PRIA' AND RV=DILATASI THEN diagnosa=KORONER IF katubmitral='MR RINGAN' AND diastolik='TERGANGGU' AND jeniskelamin='WANITA' AND LV='DILATASI.Hasil tree tersebut diubah menjadi aturan “jika-maka” untuk menentukan diagnosa jenis penyakit jantung.

IF katubmitral='MR TRIVIAL' AND LA='NORMAL' AND RV='NORMAL' AND diastolik='TERGANGGU' AND umur='TUA' AND katubaorta='NORMAL' AND jeniskelamin='WANITA' AND LV=DILATASI. EDD THEN diagnosa=KORONER IF katubmitral='MR TRIVIAL' AND LA='NORMAL' AND RV='NORMAL' AND diastolik='TERGANGGU' AND umur='TUA' AND katubaorta='NORMAL' AND jeniskelamin='WANITA' AND LV='NORMAL' AND sistolikLV=NORMAL THEN diagnosa=HIPERTENSI IF katubmitral='MR TRIVIAL' AND LA='NORMAL' AND RV='NORMAL' AND diastolik='TERGANGGU' AND umur='TUA' AND katubaorta='NORMAL' AND jeniskelamin='WANITA' AND LV='NORMAL' AND sistolikLV=MENURUN THEN diagnosa=KORONER IF katubmitral='NORMAL' AND LA='DILATASI' AND diastolik='TERGANGGU' AND umur='TUA' AND katubaorta='NORMAL' AND katubpulmonal='NORMAL' AND jeniskelamin=PRIA THEN diagnosa=KORONER IF katubmitral='NORMAL' AND LA='DILATASI' AND diastolik='TERGANGGU' AND umur='TUA' AND katubaorta='NORMAL' AND katubpulmonal='NORMAL' AND jeniskelamin=WANITA THEN diagnosa=HIPERTENSI IF katubmitral='NORMAL' AND LA='NORMAL' AND sistolikLV='NORMAL' AND RV='NORMAL' AND LV='NORMAL' AND katubaorta=AR RINGAN THEN diagnosa=KATUB IF katubmitral='NORMAL' AND LA='NORMAL' AND sistolikLV='NORMAL' AND RV='NORMAL' AND LV='IVS MENEBAL' AND diastolik='TERGANGGU' AND umur='TUA' AND katubaorta=AR RINGAN THEN diagnosa=HIPERTENSI IF katubmitral='NORMAL' AND LA='NORMAL' AND sistolikLV='NORMAL' AND RV='NORMAL' AND LV='IVS MENEBAL' AND diastolik='TERGANGGU' AND umur=MUDA THEN diagnosa=HIPERTENSI IF katubmitral='NORMAL' AND LA='NORMAL' AND sistolikLV='NORMAL' AND RV='DILATASI' AND katubpulmonal=NORMAL THEN diagnosa=BAWAAN IF katubmitral='NORMAL' AND LA='NORMAL' AND sistolikLV='NORMAL' AND RV='DILATASI' AND katubpulmonal=TR RINGAN THEN diagnosa=KORONER IF katubmitral='NORMAL' AND LA='NORMAL' AND sistolikLV='NORMAL' AND RV='DILATASI' AND katubpulmonal=TR SEDANG THEN diagnosa=HIPERTENSI IF katubmitral='NORMAL' AND LA='NORMAL' AND sistolikLV=MENURUN THEN diagnosa=KORONER .

Gambar 4.12. sehingga dapat diperoleh persentase tingkat kesalahannya.15 Tampilan Form Diagnosa . Proses pengujian ini bertujuan untuk mengetahui kemampuan program dalam menentukan keputusan akhir apakah hasil diagnosa program sudah sama dengan hasil diagnosa data tersebut atau belum.IF katubmitral=MS BERAT THEN diagnosa=KATUB IF katubmitral='MR SEDANG' AND LA='DILATASI' AND umur='TUA' AND diastolik='TERGANGGU' AND sistolikLV=NORMAL THEN diagnosa=BAWAAN IF katubmitral='MR SEDANG' AND LA='DILATASI' AND umur='TUA' AND diastolik='TERGANGGU' AND sistolikLV=MENURUN THEN diagnosa=KARDIOMIOPATI IF katubmitral=MR GRADE II THEN diagnosa=KARDIOMIOPATI Pengujian diagnosa menggunakan data uji coba yang sudah diketahui kelas datanya (hasil diagnosa) dengan memasukkan input data tersebut pada form Diagnosa Gambar 4.

6 Analisa Berdasarkan pengujian data uji coba tersebut. Kesalahan dalam menentukan diagnosa ini bisa disebabkan karena keterbatasan jumlah data training yang digunakan dalam proses learning sehingga hasil diagnosanya adalah normal atau tidak menderita penyakit jantung. KARDIOMIOPATI.4. Diagnosa Jenis Penyakit Jantung (BAWAAN. selain itu dengan adanya representasi data dengan tampilan decision tree ini lebih memudahkan dalam menentukan diagnosa jenis penyakit jantung. terdapat 2 jenis output hasil diagnosa yang dapat dianalisa sebagai berikut : 1. HIPERTENSI.10 Hasil pengujian semua kelas data Persentase kesalahan Jumlah uji coba keJumlah data Kelas data data uji training I II III IV coba Bawaan Hipertensi Kardiomiopati Katub Koroner Jumlah 5 10 5 5 16 41 1 4 1 2 5 13 0% 0% 0% 0% 0% 0% 0% 0% 0% 0% 0% 0% 0% 0% 0% 0% 0% 0% 0% 0% 0% 0% 0% 0% Berdasarkan hasil pengujian dapat disimpulkan bahwa decision tree mampu menentukan diagnosa dengan tepat. diketahui persentase tingkat kesalahannya sebagai berikut : Tabel 4.3. NORMAL Hal ini terjadi bila penelusuran tree berdasarkan data input tidak ditemukan leaf node sehingga dapat disimpulkan bahwa pasien tidak menderita penyakit jantung. KATUB. . 2. KORONER ) Dari 4x kali uji coba per kelas data dengan jumlah keseluruhan data training sebanyak 41 dan 13 data tes.

*** Halaman ini sengaja dikosongkan *** .

perancangan dan pembuatan aplikasi. Perangkat lunak yang menerapkan metode Decision Tree ini mampu mendiagnosa tepat dengan persentase kesalahan 0% dengan pengujian sebanyak 4x. Oleh karena itu sebagai kepastian perlu adanya penganalisaan yang lebih baik dan sewaktu-waktu diperlukan campur tangan seorang pakar. Pada bab ini diuraikan beberapa hal yang dapat disimpulkan dari hasil pengujian dan beberapa saran dengan harapan untuk lebih menyempurnakan perancangan yang telah dibuat. sampai dengan implementasinya yang disertai uji coba dan analisa.1 Kesimpulan Berdasarkan hasil pengujian dan analisa yang telah dibahas pada bab sebelumnya maka dapat diberikan beberapa kesimpulan bahwa Hal ini disebabkan karena : 1. telah diuraikan beberapa hal yang berhubungan dengan pembuatan proyek akhir ini. Hasil uji coba menunjukkan bahwa : Membangun model decision tree hanyalah satu langkah dalam pengklasifikasian data sedangkan mempersiapkan data training yang tepat dan akurat.2 Saran 1. serta pengujian model adalah sangat penting sehingga model tree yang terbentuk dapat diandalkan untuk menganalisa suatu data.BAB V PENUTUP Pada bab-bab sebelumnya. Pengklasifikasian data dengan menggunakan teknik data mining ini tidak sepenuhnya benar dan akurat. Ketepatan dan keakuratan data training menentukan model tree yang dibentuk sehingga menentukan kemampuan tree tersebut dalam menentukan keputusan akhir. 3. Dengan menggunakan Decision Tree. 5. 5. 2. data input yang belum diketahui kelas datanya dapat ditentukan dengan tepat kelas datanya. . 2. mulai dari latar belakang. teori penunjang.

sehingga akan lebih mudah dikembangkan pada bidang yang lain. . Perangkat lunak berbasis Java programming yang merupakan teknologi open source.3.

Desember 2006 [14] Rokhmawati.DAFTAR PUSTAKA [1] Dunham. 1-16. From Data Mining to Knowledge Discovery in Databases.5 [16] Bima.. Iwan Syarif. Fadilah. Kasni. Artikel Seputar Jantung (http://www. 37-53. Soegiri. AAAI and The MIT Pres. Data Mining: Concepts and Techniques. H. Kamber. Ethem. Pengenalan Jantung (http://www. MATERI PELATIHAN Java Swing (http://www.medicastore..id/roller/ifnu). [9] (www. Piatetsky-Shapiro. G.nagasakti. dan Smyth. Pelatihan dan Workshop Data Mining. Introduction to Machine Learning [7] Caplan RL.. [5] Mitchell.or. [6] Al Paydin. Politeknik Elektronika Negeri Surabaya PENS-ITS [11] Deitel. Tom M.ilmukomputer. 1993: 349-60 [8] Pramudiono. U.com). [4] Kohavi. Iko Modul Pengantar Data Mining. (2001). Desember 2006 [10] Achmad Basuki. J. (1996). Pembuatan Alat Bantu (Tools) Klasifikasi Dengan Algoritma ID3 Dengan Decision Tree Sebagai Visualisasi. [3] Han. Prentice Hall. Lamongan. Decision Tree Discovery. Data Mining: Introductory and Advanced.com). Stroke a clinical approach. Margareth (2002). Java How to Program [12] Supari. Quinlan (1999). Rahmawati. M. Boston: Butterworth. Machine Learning. Politeknik Elektronika Negeri Surabaya PENS-ITS [15] NetBeans IDE 5. [2] Fayyad. Ifnu. Desember 2006 [13] Anonim.wikipedia. Ria (2005).org). Morgan Kaufman. Jawa Timur . 2nd ed. Juli 2007 [17] Rumah Sakit Umum Daerah dr. P. R. AAAI and The MIT Pres..

id .” Tentang pengalaman berorganisasi.1997) ( .RIWAYAT HIDUP PENYUSUN Lahir di kota Reog Ponorogo tanggal 17 Nopember. 23 tahun silam dengan nama Novitasari Windhiarto.. ”kamu ada atas rahmat Allah dan dengan keberadaan keluarga.. .^-^) Riwayat pendidikan : D3 Teknologi Informasi PENS-ITS D1 Teknologi Informasi CCIT-Ponorogo SMU 1 Ponorogo SLTP 1 Ponorogo SD Badegan 1 TK – TK (2004 .2000) (1990 . Cewek sulung dari 2 bersaudara ini termasuk cewek rada pendiam.. So siapapun kamu.2004) (2000 .. oleh karena itu jualah penyusun sempat mengidap penyakit homesick atau lebih tepatnya mothersick.co. penyusun menjadi salah satu bagian di organisasi kerohanian di PENS-ITS yaitu UKKI yang telah banyak mengajarinya untuk lebih mengkaji agama Islam. ...2007) (2003 .1990) Pengalaman menuntut ilmu dengan kondisi jauh dari orang tua membuat penyusun sadar begitu pentingnya keberadaan keluarga dalam menjalani hidup ini.Pertanian... selaen penyuka kucing penyusun juga suka membaca dan menanam bunga sebagai pelampiasan kandasnya cita-citanya menjadi Ir. Penyusun dapat dihubungi melalui email: nopasth@yahoo.2003) (1997 ..

Sign up to vote on this title
UsefulNot useful