PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI KLASIFIKASI PERSALINAN NORMAL ATAU CAESAR MENGGUNAKAN ALGORITMA C4.5 Skripsi Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer Program Studi Teknik Informatika Oleh : Laurensia Maria Nindia Bernita 125314090 PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2017 i PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI CLASSIFICATION OF NORMAL OR CAESAREAN BIRTH USING C4.5 ALGORITHM A Thesis Presented as Partial Fullfillment of the Requirements To Obtain the Sarjana Komputer Degree In Informatics Engineering Study Program By : Laurensia Maria Nindia Bernita 125314090 INFORMATICS ENGINEERING STUDY PROGRAM DEPARTMENT OF INFORMATICS ENGINEERING FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY YOGYAKARTA 2017 ii PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI iii PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI iv PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI HALAMAN PERSEMBAHAN "Pendidikan merupakan senjata paling ampuh yang bisa kamu gunakan untuk merubah dunia" - Nelson Mandela - Sebenarnya tantangannya bukan me-manage waktu tapi me-manage diri kita sendiri. - Mario Teguh - Nothing is impossible. Anything can happen as long as we believe. Karya ini penulis persembahkan kepada : Tuhan Yesus Kristus Keluarga Tercinta Sahabat dan Teman-teman Teknik Informatika Universitas Sanata Dharma v PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI vi PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI vii PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI ABSTRAK Penelitian ini bertujuan untuk menganalisis jenis persalinan dengan menggunakan algoritma C4.5, yaitu salah satu metode pohon keputusan yang ada dalam teori penambangan data (data mining). Data pasien persalinan diperoleh dari sebuah rumah sakit umum di Yogyakarta, untuk tahun kelahiran 2010 - 2016. Data yang digunakan berisi informasi tentang usia ibu, usia kandungan, berat badan, tinggi badan, hasil tes laboratorium (hemoglobin, hematokrit, lekosit, trombosit, eritrosit, glukosa, protein, dan HbsAG), pinggul sempit/tidak, hamil primi/tidak, hamil tunggal/ganda, letak janin, presentasi janin, riwayat persalinan, ada riwayat abortus/tidak, riwayat penyakit, taksiran bobot bayi, dan ketuban pecah dini/tidak dan jenis persalinan (normal/caesar). Sistem yang telah dibangun diuji dengan menggunakan teknik 7-fold cross validation dengan jumlah sampel data sebanyak 288 data. Tingkat keakuratan sistem yang dihasilkan sebesar 72,00 %. Kata kunci : algoritma C4.5, data mining, persalinan normal atau caesar viii PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI ABSTRACT The research aimed to analyze childbirth type using C4.5 algorithm which is one of the decision tree methods available in the data mining theory. Childbirth patients data was obtained from a public hospital in Yogyakarta, for the 2010-2016 period. Data that was used contains information about the age of the mother, the gestational age, weight, height, laboratory test results (haemoglobin, hematocrit, leukocytes, platelet, erythrocytes, glucose, protein, and HbsAg), narrow hip or not, primigravida pregnancy or not, single or multiple pregnancy, fetus position, fetus presentation, childbirth history, any abortion history or not, disease history, fetus weight estimation, and early rupture of membrane or not, and childbirth type (normal delivery / caesarian section). The system that has been built was tested using 7-fold cross validation technic on 288 data samples. The accuracy level of the system is 72.00%. Keywords: C4.5 algorithm, data mining, normal delivery caesarian section ix PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI KATA PENGANTAR Puji syukur kepada Tuhan yang Maha Esa, atas berkat dan rahmatNya penulis mampu menyelesaikan penelitian tugas akhir dengan judul “Klasifikasi Persalinan Normal atau Caesar Menggunakan Algoritma C4.5”. Penelitian ini tidak akan selesai tanpa adanya dukungan, semangat, dan bantuan dari banyak pihak. Untuk itu, pada kesempatan ini penulis ingin mengucapkan terima kasih kepada : 1. Tuhan Yesus Kristus atas segala berkatNya yang melimpah. 2. Bapak Sudi Mungkasi, S.Si., M.Math. Sc., Ph.D selaku Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma. 3. Ibu Dr. Anastasia Rita Widiarti selaku Ketua Program Studi Teknik Informatika. 4. Romo Dr. Cyprianus Kuntoro Adi, S.J., M.A., M.Sc. selaku dosen pembimbing tugas akhir dan dosen pembimbing akademik yang telah memberikan motivasi, waktu dan kesabarannya dalam membimbing penulis hingga dapat menyelesaikan tugas akhir ini. 5. Ibu P.H. Prima Rosa, S.Si., M.Sc. selaku dosen penguji tugas akhir. 6. Bapak Eko Hari Parmadi, S.Si., M.Kom selaku dosen penguji tugas akhir. 7. Seluruh dosen yang telah mendidik dan memberikan ilmu pengetahuan berharga selama penulis belajar di Universitas Sanata Dharma. 8. Seluruh staff sekretariat dan laboran yang turut membentu penulis dalam menyelesaikan tugas akhir ini. 9. Pihak staff rumah sakit yang telah memberikan ijin dan bantuan sehingga penulis memperoleh data penelitian. 10. Kedua orang tua, papa Drs. R. Stephanus Isnu Harya L. K. dan mama Dra. Cosmasia Regina Swantati yang telah memberikan doa, perhatian, semangat, dan dukungan yang tak henti-hentinya diberikan kepada penulis. x PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 11. Kakak Stevani Adhela G.P.C, S.Psi. dan adik Margaretha Kristiana T. yang telah memberikan semangat, motivasi dan dukungan yang luar biasa. 12. Mba Vita, Mas Tomi dan Anin atas dukungannya dan semangatnya. Terima kasih sudah boleh tinggal di rumah kalian. 13. Keluarga besar yang telah memberikan doa, semangat dan dukungan. 14. Sahabat-sahabatku, Dhesty, Itha, Pryli, Imas, dan Astrid atas semangat yang diberikan. Terima kasih atas kebersamaannya selama 4 tahun ini. 15. Sahabat-sahabat masa kecilku, Devita dan Tia atas dukungan dan semangatnya, kalian luar biasa. 16. Teman-teman seperjuangan skripsi atas motivasi, semangat, bantuan dan waktunya untuk belajar dan berdiskusi bersama. 17. Seluruh teman-teman TI angkatan 2012, terima kasih atas semangat, dukungan serta kebersamaannya selama ini. 18. Pihak-pihak lain yang turut membantu dalam menyelesaikan tugas akhir ini, yang tidak dapat disebutkan satu per satu. Penelitian ini masih memiliki banyak kekurangan. Maka dari itu, penulis menerima masukan saran dan kritik membangun yang berguna di masa yang akan datang. Semoga penelitian tugas akhir ini dapat membawa manfaat bagi semua pihak. Yogyakarta, 16 Februari 2017 Penulis xi PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI DAFTAR ISI HALAMAN PERSETUJUAN ......................................................................................... ii HALAMAN PENGESAHAN ......................................................................................... iii HALAMAN PERSEMBAHAN ...................................................................................... iv PERNYATAAN KEASLIAN KARYA .......................................................................... vi LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI ......................................... vii ABSTRAK ...................................................................................................................... vii ABSTRACT..................................................................................................................... ix KATA PENGANTAR ...................................................................................................... x DAFTAR ISI................................................................................................................... xii DAFTAR GAMBAR ..................................................................................................... xiv DAFTAR TABEL........................................................................................................... xv BAB I PENDAHULUAN ................................................................................................. 1 1.1 Latar Belakang ................................................................................................... 1 1.2 Rumusan Masalah .............................................................................................. 4 1.3 Tujuan Penelitian ............................................................................................... 4 1.4 Manfaat Penelitian ............................................................................................. 4 1.5 Batasan Masalah................................................................................................. 4 1.6 Metodologi Penelitian ........................................................................................ 5 1.7 Sistematika Penulisan......................................................................................... 6 BAB II LANDASAN TEORI ........................................................................................... 7 2.1 Persalinan ........................................................................................................... 7 2.1.1 Pengertian Persalinan .................................................................................. 7 2.1.2 Jenis Persalinan ........................................................................................... 8 2.1.3 Faktor-Faktor yang Mempengaruhi Jenis Persalinan ................................. 8 2.2 Penambangan Data ........................................................................................... 11 2.2.1 Pengertian Penambangan Data ................................................................. 11 2.2.2 Proses Penambangan Data ........................................................................ 12 2.2.3 Pengelompokan Penambangan Data ......................................................... 14 2.3 Klasifikasi ........................................................................................................ 16 2.4 Pohon Keputusan ............................................................................................. 16 2.4.1 Definisi Pohon Keputusan ........................................................................ 16 xii PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 2.4.2 Kelebihan Pohon Keputusan ..................................................................... 17 2.4.3 Kekurangan Pohon Keputusan.................................................................. 17 2.4.4 Algoritma Pohon Keputusan ..................................................................... 18 2.4 Algoritma C4.5 ................................................................................................. 20 2.4.1 Definisi Algoritma C4.5 ........................................................................... 20 2.5 K-Fold Cross Validation .................................................................................. 23 2.6 Confusion Matriks dan Akurasi ....................................................................... 24 BAB III METODOLOGI PENELITIAN ....................................................................... 25 3.1 Data .................................................................................................................. 25 3.2 Proses Sistem ................................................................................................... 25 3.2.1 Data Mentah .............................................................................................. 26 3.2.2 Transformasi Data..................................................................................... 31 3.2.3 Data Testing dan Data Training ................................................................ 35 3.2.4 Pemodelan dengan Algoritma C4.5 .......................................................... 36 3.2.5 Pengujian Akurasi ..................................................................................... 44 3.2.6 Pengujian Data Tunggal............................................................................ 44 BAB IV IMPLEMENTASI SISTEM DAN ANALISA HASIL .................................... 45 4.1 Implementasi Sistem ........................................................................................ 45 4.1.1 Implementasi Source Code ....................................................................... 45 4.1.2 Implementasi User Interface .................................................................... 56 4.2 Hasil dan Analisa ............................................................................................. 58 4.3 Pengujian Data ................................................................................................. 68 BAB V KESIMPULAN DAN SARAN ......................................................................... 69 5.1 Kesimpulan ...................................................................................................... 69 5.2 Saran ................................................................................................................. 69 DAFTAR PUSTAKA ..................................................................................................... 70 LAMPIRAN I ................................................................................................................. 73 Data Penelitian........................................................................................................... 74 xiii PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI DAFTAR GAMBAR Gambar 2. 1 Tahapan Penambangan Data ...................................................................... 12 Gambar 2. 2 Contoh Pohon Keputusan .......................................................................... 17 Gambar 3. 1 Diagram Blok ............................................................................................. 26 Gambar 3. 2 Pohon Keputusan Hasil Perhitungan Root / Node 1 .................................. 38 Gambar 3. 3 Pohon Keputusan Hasil Perhitungan Node 2 ............................................. 40 Gambar 3. 4 Pohon Keputusan Hasil Perhitungan Node 3 ............................................. 41 Gambar 3. 5 Pohon Keputusan Hasil Perhitungan Node 4 ............................................. 43 Gambar 4. 1 Halaman Utama ......................................................................................... 56 Gambar 4. 2 Menu Tabel Data........................................................................................ 57 Gambar 4. 3 Menu Klasifikasi ........................................................................................ 57 Gambar 4. 4 Menu Tree .................................................................................................. 57 Gambar 4. 5 Menu Uji Data Tunggal ............................................................................. 58 Gambar 4. 6 Tree ............................................................................................................ 65 Gambar 4. 7 Grafik Akurasi ........................................................................................... 67 xiv PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI DAFTAR TABEL Tabel 2. 1 Confusion Matriks untuk Kalasifikasi 2 Kelas..............................................24 Tabel 3. 1 Data Atribut...................................................................................................26 Tabel 3. 2 Contoh Data Pasien Persalinan.....................................................................30 Tabel 3. 3 Contoh Data Setelah Tahap Transformasi....................................................34 Tabel 3. 4 Pembagian 7-fold...........................................................................................35 Tabel 3. 5 Contoh Data Pasien Persalinan......................................................................36 Tabel 3. 6 Perhitungan Root / Node 1.............................................................................37 Tabel 3. 7 Perhitungan Node 2........................................................................................38 Tabel 3. 8 Perhitungan Node 3........................................................................................40 Tabel 3. 9 Perhitungan Node 4........................................................................................42 Tabel 4. 1 Hasil Akurasi..................................................................................................60 xv PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI BAB I PENDAHULUAN Pada bab ini dijelaskan mengenai latar belakang masalah dari penelitian, permasalahan penelitian, tujuan yang ingin dicapai, manfaat yang diharapkan, batasan masalah, serta tahapan dalam penyelesaian tugas akhir. 1.1 Latar Belakang Teknologi informasi akan terus berkembang seiring dengan perkembangan jaman. Hal tersebut berdampak pada kebutuhan informasi yang cepat dan akurat bagi kehidupan sehari-hari. Dimana teknologi informasi memiliki peran penting terhadap kehidupan manusia di masa sekarang dan masa akan datang. Hal ini dapat dilihat dari pemanfaatan teknologi di berbagai bidang, seperti contohnya di bidang kedokteran atau kesehatan. Persalinan sebagai salah satu bagian dalam kedokteran kebidanan merupakan proses fisiologis dimana uterus mengeluarkan atau berupaya mengeluarkan janin dan plasenta setelah masa kehamilan 20 minggu atau lebih untuk dapat hidup diluar kandungan melalui jalan lahir atau jalan lain dengan bantuan atau tanpa bantuan (Manuaba, 1998). Persalinan adalah suatu proses yang dialami oleh wanita yang akan berlangsung dengan sendirinya, tetapi persalinan yang membahayakan ibu maupun janinnya memerlukan pengawasan, pertolongan dan pelayanan dengan fasilitas yang memadai. Di dunia kedokteran kebidanan terdapat empat jenis proses persalinan yang aman dilakukan (sumber: http://tips-sehat-keluargabunda.blogspot.co.id), diantaranya : 1) persalinan normal adalah jenis persalinan dimana bayi lahir melalui vagina, tanpa memakai alat bantu, tidak melukai ibu maupun bayi (kecuali episiotomi), dan biasanya dalam waktu kurang dari 24 jam. Persalinan ini membutuhkan tiga faktor 1 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 2 penting, diantaranya kekuatan ibu saat mengejan, keadaan jalan lahir, dan keadaan janin. 2) Persalinan dengan alat bantu adalah persalinan yang dilakukan apabila suatu kondisi menyebabkan janin tidak juga lahir meski sudah terjadi bukaan penuh, sedangkan ibu telah kehabisan tenaga untuk mengejan, maka dokter yang menangani akan melakukan persalinan menggunakan alat bantu yang disebut vakum dan forsep. 3) Persalinan dengan operasi caesar adalah jenis persalinan yang menjadi solusi akhir, apabila proses persalinan normal dan penggunaan alat bantu sudah tidak lagi bisa dilakukan untuk mengeluarkan janin dari dalam kandungan. Persalinan caesar ini biasanya dilakukan karena kondisi tertentu (ketuban bocor, bayi sungsang, persalinan bayi kembar atau terjadi komplikasi). 4) Persalinan di dalam air (water birth) adalah jenis persalinan dengan menggunakan bantuan air saat proses melahirkan. Ketika sudah mengalami pembukaan sempurna, maka ibu hamil masuk ke dalam bak yang berisi air dengan suhu 36-37 Celcius. Setelah bayi lahir, maka secara pelan-pelan diangkat dengan tujuan agar tidak merasakan perubahan suhu yang ekstrem. Dari keempat jenis persalinan diatas, yang biasa dilakukan khususnya oleh masyarakat Indonesia adalah persalinan normal dan persalinan dengan operasi caesar. Pada masa lalu melahirkan dengan cara operasi merupakan hal yang menakutkan karena dinilai berisiko kematian. Oleh karena itu, pembedahan hanya dilakukan jika persalinan normal dapat membahayakan ibu dan janinnya. Namun, seiring dengan berjalannya waktu serta berkembangnya kecanggihan bidang ilmu kedokteran kebidanan pandangan tersebut mulai bergeser. Kini bedah caesar (sectio caesarea) kadang menjadi alternatif pilihan persalinan dengan beberapa pertimbangan medis (Kasdu, 2003). Ada 4 faktor yang perlu dipertimbangkan untuk menentukan apakah seorang ibu hamil perlu melakukan operasi atau tidak (sumber: http://www.kemangmedicalcare.com). Pertama, faktor bayi dalam kandungan. Apakah berat janin (bobot tubuhnya) normal untuk usia kandungan tertentu. Dibulan terakhit kehamilan, bobot bayi lahir yang PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 3 normal berkisar antara 2,5-4,0 kg. Keadaan plasenta dan tali pusar juga menjadi perhatian khusus. Kedua, faktor ibu itu sendiri yang berkaitan dengan ukuran punggul. Apakah ukuran pinggul ibu cukup luas untuk dilewati bayinya kelak, sehingga perlu memperhatikan bobot bayi. Selain itu, ibu pun harus dinyatakan sehat secara fisik, artinya tidak menderita penyakit lain, seperti hipertensi, jantung dan diabetes. Ketiga, faktor kontraksi saat menjelang persalinan. Apakah ada kontraksi simultan ataukah hilang-timbul, bahkan tidak ada kontraksi sama sekali yang mengharuskan si ibu diinduksi dengan pemberian hormon oksitosin melalui infus atau prostaglandin melalui vagina. Keempat, faktor yang sering dianggap remeh namun sebenarnya sangat berpengaruh, yaitu kondisi psikis si ibu. Dukungan dari si ayah ataupun kerabat keluarga lain sangat diperlukan demi kelancaran persalinan, selain tenaga medis yang menanganinya. Meskipun telah mempertimbangkan faktor-faktor penting diatas, masih saja terjadi kesalahan penentuan jenis persalinan oleh dokter kandungan sehingga dapat membahayakan ibu dan janin. Risiko terburuk yang terjadi adalah kematian baik ibu, bayi, maupun keduanya. Apabila hal tersebut terjadi tidak hanya keluarga calon bayi yang merasa dirugikan, tapi instansi rumah sakit juga merasa dirugikan karena menganggap hal tersebut adalah kesalahan dokter kandungan yang menangani persalinan tersebut. Berdasarkan latar belakang yang diuraikan diatas, untuk mendukung kerja peranan dokter kebidanan dalam menentukan jenis persalinan yang sebaiknya dilakukan oleh seorang ibu hamil diperlukan suatu sistem deteksi persalinan berdasarkan aturan-aturan tertentu. Dengan adanya sistem tersebut resiko terjadinya kesalahan dalam penentuan cara persalinan dapat diminimalisir. Oleh karena itu penelitian ini menerapkan teori penambangan data (data mining) dalam membangun sebuah sistem untuk mengklasifikasi persalinan normal atau caesar dari seorang ibu hamil menggunakan algoritma C4.5. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 4 1.2 Rumusan Masalah Berdasarkan latar belakang yang telah diuraikan di atas, maka permasalahan yang dapat diambil dalam penelitian ini adalah : 1. Bagaimana pendekatan dengan algoritma C4.5 mampu mengklasifikasi persalinan normal atau caesar? 2. Berapa tingkat keakuratan yang dihasilkan dari pemakaian algoritma C4.5 dalam mengklasifikasi persalinan normal atau caesar? 1.3 Tujuan Penelitian Tujuan yang ingin dicapai dari penelitian ini adalah penambangan data dengan algoritma C4.5 mampu mengklasifikasi jenis persalinan normal atau caesar terhadap data pasien persalian. 1.4 Manfaat Penelitian Manfaat yang diharapkan dengan adanya penelitian ini adalah prediksi jenis persalinan dapat diketahui lebih dini sehingga baik pasien dan dokter dapat mempersiapkan untuk melakukan tindakan yang tepat. 1.5 Batasan Masalah Batasan masalah yang ditentukan dalam penelitian ini adalah : 1. Format file masukan adalah .xlsx. 2. Data yang diolah adalah data pasien persalinan. 3. Jenis persalinan yang dianalisis adalah normal dan caesar. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 5 4. Sumber data yang digunakan berasal dari sebuah rumah sakit umum di Yogyakarta selama 7 tahun terakhir yaitu rentang tahun 2010 – 2016. 5. Penerapan penambangan data menggunakan algoritma C4.5. 1.6 Metodologi Penelitian Metodologi yang dilakukan dalam menyelesaikan masalah pada penelitian ini adalah sebagai berikut : 1. Studi Pustaka a. Studi literatur, mempelajari materi dengan mengumpulkan informasi melalui buku maupun website di internet yang berkaitan dengan data mining algoritma C4.5. b. Mengumpulkan data rekam medis pasien persalinan dengan menyalinnya ke dalam sebuah file. 2. Penambangan Data Pada penambangan data langkah penerapan metode Knowledge Discovery in Database (KDD) adalah sebagai berikut : a. Pembersihan data (data cleaning), menghilangkan noise dan data yang tidak konsisten. b. Integrasi data (data integration), menggabungkan data dari berbagai sumber yang berbeda. c. Seleksi data (data selection), menyeleksi atau mengambil data yang relevan. d. Transformasi data (data transformation), mengubah data menjadi bentuk yang sesuai agar dapat ditambang. e. Penambangan data (data mining), menerapkan teknik penambangan data menggunakan algoritma C4.5. f. Evaluasi pola (pattern evaluation), mengidentifikasi pola yang terbentuk menjadi rules. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 6 1.7 Sistematika Penulisan Secara garis besar, sistematika penulisan penelitian ini adalah sebagai berikut: BAB I PENDAHULUAN Bab ini berisi tentang latar belakang permasalahan, rumusan masalah, tujuan dan manfaat penelitian, batasan masalah, metodologi penelitian, serta sistematika penulisan yang berisi tentang gambaran secara singkat dari tiap-tiap bab yang ada dalam penelitian tugas akhir. BAB II LANDASAN TEORI Bab ini berisi teori-teori yang terkait dalam pembuatan penelitian ini serta algoritma dan variabel pendukung yang diterapkan dalam menyelesaikan masalah. BAB III METODOLOGI PENELITIAN Bab ini berisi tentang diskripsi data penelitian yang digunakan serta proses umum sistem dan tahap-tahap penyelesaian masalah. BAB IV ANALISA HASIL DAN IMPLEMENTASI SISTEM Bab ini berisi tentang hasil yang diperoleh dari pengujian yang dilakukan, serta implementasi dari perangkat lunak yang dibuat. BAB V PENUTUP Bab ini berisi kesimpulan yang dapat diambil dari hasil yang diperoleh dalam melakukan penelitian tugas akhir dan saran untuk pengembangan perangkat lunak yang akan datang. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI BAB II LANDASAN TEORI Pada bab ini dijelaskan teori yang digunakan untuk mendukung penelitian tugas akhir dalam mengklasifikasi persalinan normal atau caesar dengan menggunakan algoritma C4.5. 2.1 Persalinan 2.1.1 Pengertian Persalinan Definisi persalinan menurut beberapa tokoh adalah sebagai berikut: 1. Menurut Manuaba (2001), persalinan adalah proses pengeluaran hasil konsepsi (janin dan urin) yang telah cukup bulan atau dapat hidup diluar kandungan atau melalui jalan lain dengan bantuan atau tanpa bantuan. 2. Menurut Sarwono (2002), persalinan adalah proses pengeluaran janin yang terjadi pada kehamilan cukup bulan (37-42 minggu), lahir spontan dengan presentasi belakang kepala yang berlangsung dalam 18 jam tanpa komplikasi baik pada ibu maupun pada janin. 3. Menurut Yanti (2010), persalinan adalah serangkaian kejadian yang berakhir dengan pengeluaran bayi cukup bulan atau hampir cukup bulan, disusul dengan pengeluaran plasenta dan selaput janin dari tubuh ibu. Dari definisi diatas dapat disimpulkan bahwa persalinan merupakan suatu kejadian yang dialami oleh wanita hamil dengan tujuan mengeluarkan bayi yang ada dalam kandungan dengan usia cukup bulan, baik dengan bantuan atau tanpa bantuan. 7 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 8 2.1.2 Jenis Persalinan Proses persalinan dibagi menjadi dua cara, yaitu (Sarwono, 2002) : 1. Persalinan normal, proses kelahiran janin pada kehamilan cukup bulan (37 – 42 minggu), pada janin letak mamanjang, presentasi belakang kepala yang disusul dengan pengeluaran plasenta dan selukur proses kelahiran itu berakhir dalam waktu kurang dari 24 jam tanpa tindakan atau pertolongn buatan dan tanpa komplikasi. 2. Persalinan abnormal, biasa disebut persalinan caesar dimana persalianan pervagianam dengan bantuan alat-alat maupun dinding perut dengan operasi caesar. 2.1.3 Faktor-Faktor yang Mempengaruhi Jenis Persalinan Ada beberapa faktor yang mempengaruhi jenis persalinan, antara lain : 1. Usia Usia reproduksi yang optimal bagi seorang ibu untuk hamil dan melahirkan adalah 20-35 tahun karena pada usia ini secara fisik dan psikologi ibu sudah cukup matang dalam menghadapi kehamilan dan persalinan. Pada usia <20 tahun organ reproduksi belum sempurna secara keseluruhan dan perkembangan kejiwaan belum matang sehingga belum siap menjadi ibu dan menerima kehamilannya. Usia >35 tahun organ reproduksi mengalami perubahan karena proses menuanya organ kandungan dan jalan lahir kaku atau tidak lentur lagi. Selain itu peningkatan pada umur tersebut akan mempengaruhi organ vital dan mudah terjadi penyakit sehingga beresiko mengalami komplikasi pada ibu dan janin. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 9 2. Anatomi Tubuh Ibu Melahirkan Ibu yang memiliki tinggi badan <145 cm terjadi ketidakseimbangan antara luas pinggul dan besar kepala bayi. Sebagian besar kasus partus tak maju disebabkan oleh tulang panggul ibu terlalu sempit sehinggga tidak mudah dilintasi kepala bayi waktu bersalin. Proporsi wanita dengan rongga panggul yang sempit menurun dengan meningkatnya tinggi badan. Persalinan macet yang disebabkan pinggul sempit jarang terjadi pada wanita bertubuh tinggi. 3. Riwayat Persalinan Persalinan oleh ibu hamil dengan prematur, operasi caesarea, bayi lahir mati, persalinan dengan induksi serta semua persalinan tidak normal merupakan suatu resiko tinggi pada persalinan berikutnya. Sebuah penelitian di Medan yang dilakukan oleh Sarumpaet tahun 1998-1999 menghasilkan bahwa ibu yang mengalami komplikasi persalinan kemungkinan 7,3 kali lebih besar mempunyai riwayat persalinan jelek dibandingkan yang tidak mempunyai riwayat persalinan jelek. 4. Keadaan Pinggul Ukuran pinggu ibu hamil merupakan faktor penting dalam kelangsunagn persaliann, tetapi yang penting adalah hubungan antara janin dengan pinggul ibu. Besarnya kepala bayi dalam perbandingan luasnya pinggul ibu menentukan apakah janin akan lahir normal atau membutuhkan bantuan operasi. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 10 5. Presentasi Hal yang biasa terjadi adalah ketika presentasi janin pada daerah bagian kepala, seperti kepala belakang, dahi dan muka akan sebaliknya mempermudah bila presentasi proses persalinan, bokong maka namun dokter akan mengambil tindakan selanjutnya. 6. Ketuban Pecah Dini Apabila pada pinggul sempit, pintu atas pinggul tidak tertutup dengan sempurna oleh janin, ketuban bisa pecah pada pembukaan kecil. Bila kepala tertahan pada pintu atas pinggul, seluruh tenaga dari uterus diarahkan ke bagian membran yang menyentuh os internal, akibatnya ketuban pecah akan lebih mudah terjadi. 7. Tes Darah Melakukan tes darah pada masa kehamilan bertujuan untuk mengetahui golongan darah dan mengetahui tingkatan kadar gula darah di dalam tubuh. Gula darah yang tinggi bisa menyebabkan komplikasi kehamilan. Kadar zat besi dan hemoglobin didalam darah sangat penting untuk diperiksa untuk mengetahui kondisa kesehatan pada ibu hamil. Terutama ibu hamil yang memiliki riwayat anemia. Selain itu pemeriksaan hemoglobin bertujuan untuk mengetahui kadar hemoglobin dalam perkembangan kehamilan. Tes darah umumnya dilakukan pada usia kehamilan 10 hingga 12 minggu dan akan dilakukan kembali pada usia kehamilan memasuki usia 28 minggu bahkan saat mendekati persalinan. Saat mendekati persalinan, pemeriksaan darah PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 11 dilakukan untuk mengetahui antibodi yang dimiliki ibu hamil untuk menjaga kesehatan ibu dan janin dalam menangkal beberapa virus dan bakteri penyebab penyakit. Selain faktor-faktor yang telah dijabarkan diatas masih ada faktorfaktor lain yang dinilai dapat mendukung dalam penentuan jenis persalinan. 2.2 Penambangan Data 2.2.1 Pengertian Penambangan Data Penambangan data (data mining) merupakan serangkaian kegiatan mengolah atau menambang data dalam jumlah besar yang tersimpan dalam database, gudang data atau sumber data lainnya dengan tujuan memperoleh informasi dan pengatahuan (Han & Kember, 2006). Data mining merupakan proses semi otomatik yang menggunakan teknik statistik, matematika, kecerdasan buatan, dan mechine learning untuk mengekstraksi dan mengidentifikasi informasi pengetahun potensial dan berguna yang bermanfaat yang tersimpan di dalam database besar (Turban et al, 2005). Menurut Gartner Group data mining adalah suatu proses menemukan hubungan yang berarti, pola, dan kecenderungan dengan memeriksa dalam sekumpulan besar data yang tersimpan dalam penyimpanan dengan menggunakan teknik pengenalan pola seperti teknik statistik dan matematika (Larose, 2006). Berdasarkan definisi-definisi yang telah disampaikan, hal penting yang terkait dengan data mining adalah (Larose, 2006) : 1. Data mining merupakan suatu proses otomatis terhadap data yang sudah ada. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 12 2. Data yang akan diproses berupa data yang sangat besar. 3. Tujuan data mining adalah mendapatkan hubungan atau pola yang mungkin memberikan indikasi yang bermanfaat. 2.2.2 Proses Penambangan Data Penambangan data dapat menjadi sebuah proses dalam memperoleh pengetahun. Metode Knowledge Discovery in Database (KDD) digunakan untuk memperolehan pengetahuan seperti ditunjukkan pada gambar 2.1. Berikut merupakan ilustrasi dari tahapan penambangan data : Gambar 2. 1 Tahapan Penambangan Data (Han & Kamber, 2006) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 13 Karena penambangan data adalah suatu rangkaian proses, maka dibagi menjadi beberapa tahap dengan urutan sebagai berikut: 1. Pembersihan Data (Data Cleaning) Tahap awal dalam penambangan data adalah menghapus data yang tidak konsisten dan noise yang terdapat dalam data, seperti data yang tidak relevan, data yang salah ketik maupun data kosong yang tidak diperlukan. 2. Integrasi Data (Data Integration) Tahap penggabungan data dari sumber penyimpanan yang berbeda. Data-data ini akan digabungkan ke dalam suatu tempat penyimpanan data dalam suatu tabel utuh. 3. Seleksi Data (Data Selection) Proses pengambilan dan penyeleksian data yang relevan dari sebuah database. Atribut-atribut data akan dicek apakah relevan untuk dilakukan penambangan data. Atribut yang tidak relevan tidak akan digunakan. 4. Transformasi Data (Data Transformation) Tahap dimana data mengalami transformasi ke dalam bentuk yang sesuai. Tujuan tranformasi dalam proses penambangan data adalah agar bentuk yang dihasilkan lebih mudah dipahami dan dapat ditambang. 5. Penambangan Data (Data Mining) Merupakan proses penting dimana penambangan data diterapkan dan diaplikasikan dengan menggunakan algoritma khusus yang telah dipilih untuk mengekstrak pola. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 14 6. Evaluasi Pola (Pattern Evaluation) Pada tahap ini, dilakuakan proses identifikasi pola yang menarik. Pola tersebut akan direpresentasikan dalam bentuk pengetahuan berdasarkan beberapa pengukuran yang penting. 7. Presentasi Pengetahuan (Knowledge Presentation) Pada tahap akhir, pengetahuan yang diperoleh kemudian dipresentasikan kepada pengguna. Tahap 1 sampai dengan tahap 4 merupakan langkah awal dalam pemrosesan data dimana data dipersiapkan terlebih dahulu sebelum dilakukan penambangan. Pada tahap penambangan data, pengetahuan dasar akan digunakan. Pola-pola menarik akan dipresentasikan kepada pengguna dan akan disimpan sebagai pengetahuan baru. Penambangan data merupakan proses penting untuk dapat menemukan pola-pola tersembunyi yang nantinya akan dievaluasi. 2.2.3 Pengelompokan Penambangan Data Penambangan data dibagi menjadi beberapa kelompok berdasarkan tugas yang dapat dilakukan, sebagai berikut (Larose, 2005) : a. Deskripsi Data dapat diasosiasikan dengan pembagian kelas atau konsep. Cara ini digunakan untuk menggambarkan pola dan kecenderungan yang terdapat pada data. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 15 b. Asosiasi Tugas asosiasi adalah menemukan atribut yang muncul dalam satu waktu. Dalam dunia bisnis lebih umum disebut analisis market basket. c. Klasifikasi Pada klasifikasi terdapat target atribut kategori yaitu kelasnya sudah diketahui dari awal. Sebagai contoh, menentukan apakah suatu transaksi kartu kredit merupakan transaksi yang curang atau bukan. d. Estimasi Estimasi hampir sama dengan klasifikasi, kecuali atribut target lebih ke arah numerik daripada ke arah kategori. Model dibangun menggunakan record lengkap yang menyediakan nilai dari atribut target sebagai nilai prediksi. e. Prediksi Prediksi hampir sama dengan klasifikasi dan estimasi, namun dalam prediksi nilai dari hasil akan ada di masa mendatang. f. Pengklusteran Pengklusteran merupakan pengelompokkan record, pengamatan, atau memperhatikan dan membentuk kelas objekobjek yang memiliki kemiripan. Cluster adalah kumpulan record yang memiliki kemiripan antara satu dengan yang lainnya dan memiliki ketidakmiripan dengan record-record dalam kluster lain. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 16 2.3 Klasifikasi Klasifikasi adalah proses untuk menentukan model atau fungsi yang menjelaskan atau membedakan konsep atau kelas data, dengan tujuan untuk mendapatkan perkiraan kelas dari suatu objek yang labelnya tidak diketahui. Model tersebut bisa berupa aturan “jika-maka”, pohon keputusan, formula matematis atau neural network. Secara umum proses klasifikasi dibagi menjadi dua fase : learning dan test. Pada fase learning, sebagaian data yang telah diketahui kelas datanya digunakan untuk membentuk model perkiraan. Sedangkan pada fase test, model yang sudah terbentuk diuji dengan sebagian data lainnya untuk mengetahui akurasi dari model tersebut. Bila akurasinya menjukupi model ini dapat dipakai untuk memprediksi kelas data yang belum diketahui. 2.4 Pohon Keputusan 2.4.1 Definisi Pohon Keputusan Pohon keputusan (decision tree) merupakan salah satu metode klasifikasi yang paling populer karena mudah untuk diinterpretasikan. Pohon keputusan adalah model prediksi menggunakan struktur pohon atau struktur berhirarki. Contoh dari pohon keputusan dapat dilihat pada Gambar 2.2. Pohon keputusan adalah struktur flowchart yang menyerupai pohon (tree), dimana setiap percabangan menyatakan kondisi yang harus dipenuhi dan tiap ujung pohon menyatakan kelas data. Pada pohon keputusan setiap simpul daun menandai label kelas. Proses dalam pohon keputusan yaitu mengubah bentuk data (tabel) menjadi model pohon (tree) kemudian mengubah model pohon tersebut menjadi aturan (rule). PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 17 Gambar 2. 2 Contoh Pohon Keputusan (Pramudiono, 2008) 2.4.2 Kelebihan Pohon Keputusan Kelebihan dari metode pohon keputusan adalah sebagai berikut (Faruz El Said, 2009) : 1. Daerah pengambilan keputusan yang sebelumnya kompleks dan sangat global, dapat diubah menjadi lebih simpel dan spesifik. 2. Eliminasi perhitungan-perhitungan yang tidak diperlukan, karena ketika menggunakan metode pohon keputusan maka sample diuji hanya berdasarkan kriteria atau kelas tertentu. 3. Fleksibel untuk memilih fitur dari internal node yang berbeda, fitur yang terpilih akan membedakan suatu kriteria dibandingkan kriteria yang lain dalam node yang sama. Secara fleksibel metode pohon keputusan ini meningkatkan kualitas keputusan yang dihasilkan jika dibandingkan ketika menggunakan metode penghitungan satu tahap yang lebih konvensional. 2.4.3 Kekurangan Pohon Keputusan Kekurangan dari metode pohon keputusan adalah sebagai berikut : 1. Terjadi overlap terutama ketika kelas-kelas dan kriteria yang digunakan jumlahnya sangat banyak. Hal tersebut juga dapat PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 18 menyebabkan meningkatnya waktu pengambilan keputusan dan jumlah memori yang diperlukan. 2. Terjadi akumulasi jumlah error dari setiap tingkat dalam sebuah pohon keputusan yang besar. 3. Kesulitan dalam mendesain pohon keputusan yang optimal. 4. Hasil kualitas keputusan yang didapatkan dari metode pohon keputusan sangat tergantung pada bagaimana pohon tersebut didesain. 2.4.4 Algoritma Pohon Keputusan Banyak algoritma yang dipakai dalam pembentukan pohon keputusan, antara lain ID3, C4.5, CART. a. ID3 Salah satu algoritma decision tree adalah algoritma ID3 (Iterative Dichotomiser 3). ID3 pertama kali dikembangkan oleh J.Ross Quinlan di University of Sydney. ID3 pertama kali disajikan pada tahun 1975 dalam sebuah buku, Machine Learning. ID3 didasarkan pada konsep Learning System (CLS) algoritma (Hamilton, 2001). Kelebihan algoritma ID3 adalah sebagai berikut : 1. Dapat membuat aturan prediksi yang mudah dimengerti. 2. Mampu membangun pohon keputusan dengan cepat. 3. Mampu membangun pohon keputusan yang pendek. 4. Hanya membutuhkan beberapa tes atribut hingga semua data diklasifikasikan. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 19 Kekurangan algoritma ID3 adalah sebagai berikut : 1. Jika contoh yang diteliti terlalu kecil / sederhana mungkin membuat data over-classified. 2. Hanya satu atribut yang dapat dites dalam satu waktu untuk membuat keputusan. b. C4.5 Algoritma C4.5 adalah pengembangan dari ID3 (Iterative Dichotomiser 3) yang merupakan salah satu algoritma pohon keputusan (Faruz El Said, 2009). Definisi mengenai algoritma C4.5 selanjutnya akan dijelaskan pada bagian 2.4. c. CART CART (Classification and Regression Tree) adalah salah satu algoritma pohon keputusan. CART adalah sebuah algoritma yang dapat menggambarkan hubungan antara varibel respon (variabel dependen) dengan variabel prediktor (variabel independen). Dalam CART setiap simpul dipecah menjadi 2 cabang. Menurut Breiman dkk (1993), bila variabel respon berbentuk kontinu maka metode yang dipakai adalah metode regression tree, sedangkan bila variabel respon memiliki skala kategori maka metode yang dipakai adalah metode classification tree. Kelebihan algoritma ID3 adalah sebagai berikut : 1. Dapat melakukan komputasi dengan cepat. 2. Fleksibel dan memiliki dapat mengatur waktu perhitungan. Kekurangan algoritma ID3 adalah sebagai berikut : PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 20 1. Membagi hanya dengan satu variabel. 2. Memiliki pohon keputusan yang tidak stabil. 2.4 Algoritma C4.5 2.4.1 Definisi Algoritma C4.5 Algoritma C4.5 merupakan salah satu algoritma modern yang digunakan untuk melakukan penambangan data. Dalam algoritma C4.5, input berupa sampel training, label training dan atribut. Sampel training berupa data contoh yang akan digunakan untuk membangun sebuah tree yang telah diuji kebenarannya. Sedangkan atribut merupakan field-field data yang nantinya akan digunakan sebagai parameter dalam melakukan klasifikasi data. Kelebihan algoritma C4.5 adalah sebagai berikut : 1. Mampu menangani atribut dengan tipe diskrit atau kontinu. 2. Mampu menangani atribut yang kosong (missing value) 3. Pembentukan model mudah dipahami. 4. Bisa memangkas cabang. Kekurangan algoritma C4.5 adalah sebagai berikut : 1. Susah membaca data berjumlah besar. Algoritma dasar C4.5 untuk membangun pohon keputusan adalah sebagai berikut : 1. Memilih atribut sebagai akar (root). 2. Membuat cabang untuk masing-masing nilai. 3. Membagi kasus dalam cabang. 4. Mengulangi proses untuk masing-masing cabang sampai semua kasus pada cabang memiliki kelas yang sama. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 21 Berikut adalah algoritma C4.5 (Mitchell, 1997) : Algoritma C4.5 Input : sampel training, label training, atribut Buat simpul akar untuk pohon yang dibuat. Jika semua sampel positif, berhenti dengan suatu pohon dengan satu simpul akar, beri label (+). Jika semua sampel negatif, berhenti dengan suatu pohon dengan satu simpul akar, beri label (-). Jika atribut kosong, berhenti dengan suatu pohon dengan satu simpul akar, dengan label sesuai dengan nilai yang terbanyak yang ada pada label training. Untuk yang lain, Mulai : o A atribut yang mengklasifikasikan sampel dengan hasil yang terbaik (berdasarkan gain ratio). o Atribut keputusan untuk simpul akar A. o Untuk setiap nilai, vi yang mungkin untuk A : Tambahkan cabang di bawah akar yang berhubungan dengan A = vi. Tentukan sampel Svi sebagai subset dari sampel yang mempunyai nilai vi untuk atribut A. Jika sampel Svi kosong : Dibawah cabang tambahkan simpul daun dengan label = nilai yang terbanyak yang ada pada label training. Yang lain, tambah cabang baru dibawah cabang yang sekarang C4.5 (sampel training, label training, atribut-[A]). Berhenti PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 22 Sebelum memilih atribut sebagai akar, dilakukan perhitungan nilai entropy yang dapat dilihat pada persamaan (2.1) (Craw, S). ....................................................(2.1) Keterangan: S : Himpunan kasus n : Jumlah partisi S pi : Proporsi dari Si terhadap S Untuk memilih atribut sebagai akar, didasarkan pada nilai gain tertinggi dari atribut-atribut yang ada. Untuk menghitung gain digunakan persamaan berikut seperti pada persamaan (2.2) (Craw, S). ............................(2.2) Keterangan: S : Himpunan kasus A : Atribut n : Jumlah partisi atribut A |Si| : Jumlah kasus pada partisi ke i |S| : Jumlah kasus dalam S PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 23 Untuk menghitung GainRatio perlu diketahui suatu term baru yang disebut SplitInformation (pemisah informasi). SplitInformation dihitung dengan persamaan sebagai berikut. ............................(2.3) Dimana sampai adalah c subset yang dihasilkan dari pemecahan dengan menggunakan atribut A yang mempunyai sebanyak c nilai. Selanjutnya GainRatio dihitung dengan persamaan berikut. ............................(2.4) 2.5 K-Fold Cross Validation Pada pendekatan ini, setiap data digunakan dalam jumlah yang sama untuk pelatihan dan tepat satu kali untuk pengujian. Bentuk umum pendekatan ini disebut dengan k-fold cross validation, yang memecah set data menjadi k bagian set data dengan ukuran yang sama. Setiap kali berjalan, satu pecahan berperan sebagai set data uji sedangkan pecahan lainnya menjadi set data latih. Prosedur tersebut dilakukan sebanyak k kali sehingga setiap data berkesempatan menjadi data uji tepat satu kali dan menjadi data latih sebanyak k-1 kali. Total error didapatkan dengan menjumlah semua error yang didapat dari k kali proses (Angga, 2014). PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 24 2.6 Confusion Matriks dan Akurasi Confusion matriks merupakan tabel yang mencatat hasil kerja klasifikasi. Contoh confusion matriks ditunjukkan dada tabel berikut : Tabel 2. 1 Confusion Matriks untuk Kalasifikasi 2 Kelas fij Kelas Asli (i) Kelas Hasil Prediksi (j) Kelas = 1` Kelas = 0 Kelas = 1` f11 f10 Kelas = 0 f01 f00 Tabel 2.1 diatas merupakan contoh matrix confusion yang melakukan klasifikasi masalah biner (dua kelas) untuk dua kelas, misalnya kelas 0 dan 1. Setiap sel fij dalam matriks menyatakan jumlah record/data dari kelas i yang hasil prediksinya masuk ke kelas j. Misalnya sel f11 adalah jumlah data dalam kelas 1 yang secara benar dipetakan ke kelas 1, dan f10 adalah data dalam kelas 1 yang dipetakan secara salah ke kelas 0. Berdasarkan isi confusion matriks, maka dapat diketahui jumlah data dari masing-masing kelas yang diprediksi secara benar yaitu (f11 + f00) dan data yang diklasifikasi secara salah yaitu (f10 + f01). Dengan mengetahui jumlah data yang diklasifikasikan secara benar, maka dapat diketahui akurasi hasil prediksi. Untuk menghitung akurasi digunakan formula sebagai berikut (Prasetyo, 2014). .......(2.5) PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 25 BAB III METODOLOGI PENELITIAN Pada bab ini dijelaskan mengenai data yang digunakan pada penelitian tugas akhir serta proses sistem yang akan dilakuakan dalam mengklasifikasi persalinan normal atau caesar dengan menggunakan algoritma C4.5. 3.1 Data Data yang digunakan dalam penelitian ini adalah data pasien persalinan yang diperoleh dari sebuah rumah sakit umum di Yogyakarta. Data yang digunakan merupakan data pasien dari tahun 2010-2016. Data tersebut berupa rekam medis pasien yang kemudian disalin ke dalam sebuah file bertipe excel. Dari proses pengumpulan data, diperoleh jumlah data sebanyak 315 data. Data yang diperoleh terdiri dari : tahun masuk pasien, nomor rekam medis, usia ibu, usia kandungan, berat badan, tinggi badan, hasil tes laboratorium (hemoglobin, hematokrit, lekosit, trombosit, eritrosit, glukosa, protein, dan HbsAG), pinggul sempit/tidak, hamil primi/tidak, hamil tunggal/ganda, letak janin, presentasi janin, riwayat persalinan, ada riwayat abortus/tidak, riwayat penyakit (diabetes, ginjal, hipertensi, jantung, kanker, lain-lain), taksiran bobot bayi, ketuban pecah dini/tidak, dan jenis persalinan (normal/caesar). 3.2 Proses Sistem Masukkan sistem akan diproses menggunakan algoritma C4.5 dalam teori penambangan data. Alur sistem dan tahapan penelitian dijabarkan dalam bentuk diagram blok seperti pada gambar 3.1 berikut : PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 26 Gambar 3. 1 Diagram Blok 3.2.1 Data Mentah Dalam penelitian tugas akhir ini data yang digunakan adalah data pasien persalinan dari sebuah rumah sakit umum di Yogyakarta. Untuk mengidentifikasi jenis persalinan ibu hamil diukur dari ciri dan gejala kehamilan, seperti usia, tinggi badan, ukuran pinggul, riwayat persalian, dll. Selain ini juga perlu adanya hasil uji laboratorium, meliputi tes darah saat mendekati persalinan serta tes glukosa dan protein. Atribut data persalinan ditampilkan pada tabel 3.1 berikut : Tabel 3. 1 Data Atribut Nama Atribut Keterangan Nilai No Tahun 1 Nomor rekam medis 2 Atribut ini menyimpan 2010, 2011, 2012, data tahun diagnosa 2013, 2014, 2015, pasien. 2016 Atribut ini menyimpan 5642, 8731, dst data nomor rekam medis pasien. Usia ibu 3 17, 18, 19, 20, dst data usia ibu. Usia kandungan 4 Atribut ini menyimpan Atribut ini menyimpan data usia kandungan pasien saat persalinan. 37, 38, 39, 40 dst PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 27 Berat badan ibu 5 Atribut ini menyimpan 39, 40, 41, 42, dst data berat badan pasien sebelum persalinan. Tinggi badan ibu 6 Hemoglobin 7 Atribut ini menyimpan 140, 142, 145, 148, data tinggi badan pasien. dst Atribut ini menyimpan Misal : 10.50, 11.40, 12, 70, dll data hasil tes hemoglobin pasien sebelum melakukan persalinan. Hematokrit 8 Atribut ini menyimpan data hasil tes hemotokrit Misal : 38.60, 31.50, 33.40, dll pasien sebelum melakukan persalinan. Lekosit 9 Atribut ini menyimpan data hasil tes lekosit Misal : 10.72, 14. 80, 8.84, dll pasien sebelum melakukan persalinan. Trombosit 10 Atribut ini menyimpan data hasil tes trombosit Misal : 206, 267, 230, dll pasien sebelum melakukan persalinan. Eritrosit 11 Atribut ini menyimpan data hasil tes eritrosit Misal : 4.07, 3.65, 4.46, dll pasien sebelum melakukan persalinan Glukosa 12 Atribut ini menyimpan Positif, negatif, data hasil tes glukosa trace pasien. Protein 13 Atribut ini menyimpan Positif, negatif, data hasil tes protein trace pasien. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 28 HBsAG 14 Atribut ini menyimpan Positif, negatif, data hasil tes HbsAG trace pasien. Pinggul sempit 15 Atribut ini menyimpan Ya, tidak data apakah ukuran pinggul pasien sempit. Hamil primi 16 Atribut ini menyimpan Ya, tidak data apakah kehamilan pasien merupakan kehamilan pertama. Tunggal / ganda 17 Atribut ini menyimpan Tunggal, ganda data apakah jumlah janin tunggal atau ganda. Letak 18 Presentasi 19 Atribut ini menyimpan Memanjang, data posisi janin. melintang Atribut ini menyimpan Kepala, bokong data bagian tubuh mana pada janin yang tampak pertama kali saat proses persalinan. Riwayat partus 20 Atribut ini menyimpan Spontan, SC, tidak data riwayat persalinan ada yang dimiliki pasien. 21 Riwayat abortus / Atribut ini menyimpan curet data apakah pasien ada Ya, tidak riwayat abortus / curet. Diabetes 22 Atribut ini menyimpan Ya, tidak data apakah pasien memiliki riwayat penyakit diabetes. Ginjal 23 Atribut ini menyimpan data apakah pasien Ya, tidak PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 29 memiliki riwayat penyakit ginjal. Hipertensi 24 Atribut ini menyimpan Ya, tidak data apakah pasien memiliki riwayat penyakit hipertensi. Jantung 25 Atribut ini menyimpan Ya, tidak data apakah pasien memiliki riwayat penyakit jantung. Kanker 26 Atribut ini menyimpan Ya, tidak data apakah pasien memiliki riwayat penyakit kanker. Lain-lain 27 Atribut ini menyimpan Ya, tidak data apakah pasien memiliki riwayat penyakit lainnya. Taksiran berat bayi 28 Atribut ini menyimpan Misal : 1150, 2750, data taksiran berat badan 3350, dll bayi. Ketuban pecah dini 29 Atribut ini menyimpan Ya, tidak data apakah ketuban pecah dini. Partus 30 Atribut ini menyimpan Spontan, SC data jenis persalinan. Dari total data yang diperoleh sebanyak 315 data, terdapat 27 data yang masing-masing tidak diketahui nilainya pada 10 atau lebih atribut, sehinggga 27 data tersebut dihapus. Maka data yang akan digunakan pada tahap selanjutnya sebanyak 288 data. Contoh data pasien persalian ditampilkan pada tabel 3.2 berikut : PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 30 Tabel 3. 2 Contoh Data Pasien Persalinan PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 31 3.2.2 Transformasi Data Pada tahap ini dilakukan pembuangan data yang tidak diperlukan seperti data-data yang kurang relevan dalam penelitian. Dari data mentah yang diperoleh, akan dilakukan penghapusan atribut tahun dan nomor rekam medis karena dianggap tidak begitu berpengaruh sebagai variabel penentu dalam melakukan klasifikasi. Maka atribut yang dihasilkan dari proses seleksi adalah sebagai berikut : a. Usia ibu b. Usia kandunagn c. Berat badan d. Tinggi badan e. Hemoglobin f. Hematokrit g. Lekosit h. Trombosit i. Eritrosit j. Glukosa k. Protein l. HbsAG m. Pinggul sempit n. Hamil primi o. Tunggal/ganda p. Letak q. Presentasi r. Riwayat partus s. Riwayat abortus/curret t. Diabetes u. Ginjal v. Hipertensi w. Jantung x. Kanker PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 32 y. Lain-lain z. Kisaran berat bayi aa. Ketuban pecah dini bb. Partus Pada tahap selanjutnya dilakukan peringkasan data atau proses pengubahan data mentah menjadi data yang mudah dikelola. Dari data yang diperoleh, sebagian besar berupa angka yang beragam, sehingga perlu dilakukan pengelompokkan data berdasarkan jangkauan tertentu. Atribut yang berisi data numerik akan dikelompokkan sesuai identifikasi dalam ilmu kesehatan. Dilakukan pengelompokan nilai atribut berdasar sumber yang diperoleh dari beberapa website atau blog kesehatan sebagai berikut : www.alodokter.com, bidanku.com, www.babyfluffy.com, healthy.detik.com, www.kompasiana.com, dan ririnprabandarisilalahi. blogspot.co.id. Nilai atribut dari semua data yang digunakan, baik nilai atribut yang dikelompokkan dalam nilai tertentu atau tidak dikelompokkan akan diubah menjadi nilai 1, 2, 3. Perubahan data numerik dan non numerik adalah sebagai berikut : a. Usia ibu i. <20 atau >35 beresiko = 1 ii. 20-35 normal = 2 b. Usia kandungan i. <37 atau >42 beresiko = 1 ii. 37-42 normal = 2 c. Berat badan i. <55 atau >80 beresiko = 1 ii. 55-80 normal = 2 d. Tinggi badan i. <145 beresiko = 1 ii. >=145 normal = 2 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 33 e. Hemoglobin i. <11.00 atau >15.00 beresiko = 1 ii. 11.00-15.00 normal = 2 f. Hematokrit i. <30.00 atau >46.00 beresiko = 1 ii. 30.00-46.00 normal = 2 g. Lekosit i. <10.00 atau >15.00 beresiko = 1 ii. 10.00-15.00 normal = 2 h. Trombosit i. <200 atau >400 beresiko = 1 ii. 200-400 normal = 2 i. Eritrosit i. <4.00 atau >5.50 beresiko = 1 ii. 4.00-5.50 normal = 2 j. Kisaran berat bayi i. <2500 beresiko = 1 ii. 2500-4000 normal = 2 iii. >4000 obesitas = 3 k. Glukosa, protein, HbsAG i. Negatif = 1 ii. Positif = 2 iii. Trace = 3 l. Pinggul sempit, hamil primi, riwayat abortus, diabetes, ginjal, hipertensi, jantung, kanker, lain-lain, ketuban pecah dini i. Tidak = 1 ii. Ya = 2 m. Tunggal/ganda i. Ganda = 1 ii. Tunggal = 2 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 34 n. Letak i. Melintang = 1 ii. Memanjang = 2 o. Presentasi i. Bokong = 1 ii. Kepala = 2 p. Riwayat partus i. SC = 1 ii. Spontan = 2 iii. Tidak ada = 3 q. Partus i. SC = 1 ii. Spontan = 2 Pada tahap ini juga dilakukan pengisian data yang tidak diketahui nilainya (missing value). Untuk setiap data yang tidak diketahui nilainya akan diisi dengan nilai terbanyak dari setiap atribut. Contoh data yang sudah melewati tahap transformasi ditampilkan pada tabel 3.3 berikut : Tabel 3. 3 Contoh Data Setelah Tahap Transformasi PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 35 3.2.3 Data Testing dan Data Training Pada tahap ini hasil dari penambangan data berupa pola khusus yang akan dievaluasi atau diteliti lagi apakah hasilnya sudah sesuai atau belum. Untuk mengetahui apakah sistem yang akan dibangun ini sudah baik atau belum, maka perlu dilakukan pengujian sistem menggunakan metode k-fold cross validation. Pada penelitian ini pembagian data mengaju pada metode statifikasi sampling, yaitu dengan membagi populasi menjadi beberapa lapisan yang tidak saling tumpang tindih, sehingga lapisan yang terbentuk merupakan sub populasi (Angga, 2007). Pada penelitian ini, populasi dibedakan dalam 2 kelas, yaitu SC dan spontan. Setelah data terbagi menjadi 2 kelas, kemudian dilakukan pembagian ke dalam 7 bagian untuk setiap kelas secara acak. Masing-masing kelompok akan menduduki posisi sebagai data testing dan sebagai data training secara bergantian. Berikut adalah contoh tabel pembagian data menggunakan 7-fold cross validation. Tabel 3. 4 Pembagian 7-fold Percobaan Training Testing 1 1, 2, 3, 4, 5, 6, 7 2 1, 2, 3, 4, 5, 7 6 3 1, 2, 3, 4, 6, 7 5 4 1, 2, 3, 5, 6, 7 4 5 1, 2, 3, 4, 6, 7 3 6 1, 3, 4, 5, 6, 7 2 7 2, 3, 4, 5, 6, 7 1 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 36 3.2.4 Pemodelan dengan Algoritma C4.5 Pada tahap ini dilakukan proses penambangan data dengan algoritma C4.5. Data yang sudah melalui tahapan transformasi akan dijadikan sebagai data training untuk proses pembentukan pohon keputusan menggunakan algoritma C4.5. Proses pembentukan pohon ditentukan dari perhitungan nilai Entopy, Gain, SplitInformation, dan GainRatio untuk setiap atribut kemudian mencari nilai GainRatio tertinggi yang akan menjadi simpul akar dari pohon. Proses pembentukan pohon dilakukan secara rekursif hingga seluruh data memiliki kelas. Setelah perhitungan selesai akan ditampilkan hasil pohon yang terbentuk. Langkah pembentukan pohon keputusan dengan menggunkan algoritma C4.5 dijelaskan secara lebih rinci dalam menyelesaikan permasalahan pada data pasien persalinan seperti pada proses berikut : 1. Data yang digunakan pada pembentukan pohon keputusan merupakan data pasien persalinan dengan atribut mencakup : glukosa, protein, pinggul sempit, hamil primi, tunggal/ganda, letak, presentasi, riwayat partus, dan ketuban pecah dini. Dari data yang ada akan menghasilkan jenis persalinan (SC atau spontan). Data yang digunakan ditampilkan pada tabel 3.5 berikut : KEPALA SPONTAN YA SPONTAN NEGATIF NEGATIF TIDAK YA TUNGGAL MEMANJANG KEPALA TIDAK ADA TIDAK SPONTAN NEGATIF NEGATIF TIDAK YA TUNGGAL MEMANJANG KEPALA TIDAK ADA TIDAK SPONTAN NEGATIF NEGATIF TIDAK YA TUNGGAL MEMANJANG KEPALA TIDAK ADA YA SPONTAN NEGATIF NEGATIF TIDAK YA TUNGGAL MEMANJANG KEPALA TIDAK ADA TIDAK SPONTAN NEGATIF NEGATIF YA YA TUNGGAL MEMANJANG KEPALA SPONTAN YA SC PARTUS KETUBAN PECAH DINI (KPD) MEMANJANG RIWAYAT PARTUS TUNGGAL PRESENTASI LETAK TIDAK HAMIL PRIMI TIDAK PINGGUL SEMPIT (DKP) NEGATIF PROTEIN POSITIF GLUKOSA TUNGGAL / GANDA Tabel 3. 5 Contoh Data PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 37 NEGATIF NEGATIF TIDAK TIDAK TUNGGAL MEMANJANG BOKONG SPONTAN TIDAK SC NEGATIF TRACE TIDAK YA TUNGGAL MEMANJANG KEPALA TIDAK ADA TIDAK SC NEGATIF NEGATIF YA YA TUNGGAL MEMANJANG KEPALA TIDAK ADA TIDAK SC NEGATIF NEGATIF TIDAK TIDAK TUNGGAL MELINTANG KEPALA SC TIDAK SC NEGATIF NEGATIF TIDAK TIDAK GANDA MEMANJANG KEPALA SPONTAN TIDAK SC 2. Menghitung setiap kejadian, Entropy, Gain, Split Info, dan Gain Ratio untuk menentukan root. Perhitungan ditampilkan pada tabel 3.6 berikut : Tabel 3. 6 Perhitungan Root / Node 1 Kriteria Total (S) Glukosa Jumlah SC Spontan Entropy Data (S1) (S2) 11 Negatif Positif 10 1 6 6 0 5 4 1 10 1 5 1 5 0 2 9 2 4 0 5 0 0,9911 Ya Tidak 7 4 3 3 4 1 0,9852 0,8113 Hamil Primi Tunggal / Ganda 1 5 0 5 1 10 1 5 0 5 1 10 1 5 0 5 1 4 6 1 3 2 0 1 4 0,1933 0,1831 0,6840 0,2677 0,0721 0,9457 0,0762 0,0849 0,4395 0,1933 0,0849 0,4395 0,1933 0,0849 0,4395 0,1933 0,1981 1,3222 0,1499 0 1 Riwayat Partus SC Spontan Tidak Ada 0,0849 0,4395 0 1 Presentasi Bokong Kepala 0,2534 0 1 Letak Melintang Memanjang 0,1113 0,4395 1 0 Ya Tidak 1 10 Gain Ratio 0,9710 0 Pinggul Sempit Ganda Tunggal Split Info 0,9940 Protein Negatif Trace Gain 0 0,8113 0,9183 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 38 Ketuban Pecah Dini 0,0495 0,8454 Ya Tidak 3 8 1 5 2 3 0,0585 0,9183 0,9544 Dari hasil perhitungan pada tabel 3.6 diatas diperoleh nilai GainRatio tertinggi adalah pinggul sempit yaitu sebesar 0.2677. dengan Demilkian pinggul sempit terbentuk sebagai root dari pohon keputusan. Pada atribut pinggul sempit ada dua nilai atribut, yaitu “ya” dan “tidak”. Nilai atribut “ya” sudah mengklasifikasikan jenis persalinan SC, sehingga tidak perlu dilakukan perhitungan lebih lanjut, tetapi untuk nilai atrbut “tidak” masih perlu dilakukan perhitungan lebih lanjut. Pohon keputusan yang terbentuk pada perhitungan root ditampilkan pada gambar 3.2 berikut : Gambar 3. 2 Pohon Keputusan Hasil Perhitungan Root / Node 1 3. Menghitung setiap kejadian, Entropy, Gain, Split Info, dan Gain Ratio untuk menentukan node 2. Perhitungan untuk mencari node 2 ditampilkan pada tabel 3.7 berikut : Tabel 3. 7 Perhitungan Node 2 Jumlah SC Data (S1) Kriteria Pinggul Sempit Glukosa Tidak 9 4 Spontan Entropy (S2) 5 Gain Split Info Gain Ratio 0,9911 0,1022 0,5033 0,2031 Negatif Positif 8 1 4 0 4 1 1 0 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 39 Protein 0,1427 0,5033 0,2835 Negatif Trace 8 1 5 1 3 0 0,9544 0 Hamil Primi 0,2294 0,9911 0,2315 Ya Tidak 5 4 1 3 4 1 0,7219 0,8113 Tunggal / Ganda 0,1427 0,5033 0,2835 Ganda Tunggal 1 8 1 3 0 5 0 0,9544 Letak 0,1427 0,5033 0,2835 Melintang Memanjang 1 8 1 3 0 5 0 0,9544 Presentasi 0,1427 0,5033 0,2835 Bokong Kepala 1 8 1 3 0 5 0 0,9544 Riwayat Partus 0,2839 1,3516 0,2100 SC Spontan Tidak Ada 1 3 5 1 2 1 0 1 4 0 0,9183 0,7219 Ketuban Pecah Dini 0,2248 0,7642 0,2941 Ya Tidak 2 7 0 4 2 3 0 0,9852 Dari hasil perhitungan pada tabel 3.7 diatas diperoleh nilai GainRatio tertinggi adalah ketuban pecah dini yaitu sebesar 0.2941. Dengan demilkian ketuban pecah dini terbentuk sebagai node 2 dari pohon keputusan. Pada atribut pinggul sempit ada dua nilai atribut, yaitu “ya” dan “tidak”. Nilai atribut “ya” sudah mengklasifikasikan jenis persalinan spontan, sehingga tidak perlu dilakukan perhitungan lebih lanjut, tetapi untuk nilai atrbut “tidak” masih perlu dilakukan perhitungan lebih lanjut. Pohon keputusan yang terbentuk dari perhitungan node 2 ditampilkan pada gambar 3.3 berikut : PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 40 Gambar 3. 3 Pohon Keputusan Hasil Perhitungan Node 2 4. Menghitung setiap kejadian, Entropy, Gain, Split Info, dan Gain Ratio untuk menentukan node 3. Perhitungan untuk mencari node 3 ditampilkan pada tabel 3. 8 berikut : Tabel 3. 8 Perhitungan Node 3 Kriteria Ketuban Pecah Dini Glukosa Tidak Jumlah Data SC (S1) 7 4 Spontan Entropy (S2) 3 7 0 4 0 3 0 Negatif Trace 6 1 3 1 3 0 1 0 Ya Tidak 4 3 1 3 3 0 0,8113 0 Hamil Primi Tunggal / Ganda 1 6 1 3 0 3 1 6 1 3 0 3 0 0 0,1281 0,5917 0,2165 0,5216 0,9852 0,5295 0,1281 0,5917 0,2165 0,1281 0,5917 0,2165 0,1281 0,5917 0,2165 0 1 Letak Melintang Memanjang Gain Ratio 0,9852 0 Protein Ganda Tunggal Split Info 0,9852 0 Negatif Positif Presentasi Gain 0 1 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 41 Bokong Kepala 1 6 1 3 0 3 0 1 Riwayat Partus 0,5216 1,3788 SC Spontan Tidak Ada 1 2 4 1 2 1 0 0 3 0 0 0,8113 Dari hasil perhitungan pada tabel 3.8 diatas diperoleh nilai GainRatio tertinggi adalah hamil primi yaitu sebesar 0.5295. Dengan demilkian hamil primi terbentuk sebagai node 3 dari pohon keputusan. Pada atribut pinggul sempit ada dua nilai atribut, yaitu “ya” dan “tidak”. Nilai atribut “tidak” sudah mengklasifikasikan jenis persalinan SC, sehingga tidak perlu dilakukan perhitungan lebih lanjut, tetapi untuk nilai atrbut “ya” masih perlu dilakukan perhitungan lebih lanjut. Pohon keputusan yang terbentuk dari perhitungan node 3 ditampilkan pada gambar 3.4 berikut : Gambar 3. 4 Pohon Keputusan Hasil Perhitungan Node 3 0,3783 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 42 5. Menghitung setiap kejadian, Entropy, Gain, Split Info, dan Gain Ratio untuk menentukan node 4. Perhitungan untuk mencari node 4 ditampilkan pada tabel 3.9 berikut : Tabel 3. 9 Perhitungan Node 4 Kriteria Hamil Primi Glukosa Ya Jumlah Data 4 SC Spontan (S1) (S2) 1 Entropy Gain 4 0 1 0 3 1 0 1 3 0 0 4 0 1 0 4 0 1 0 4 0 1 0 0 4 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0,811278 Riwayat Partus SC Spontan Tidak Ada 1 0 0 3 0,811278 Presentasi Bokong Kepala 0,8113 0,8113 0 0 3 0,811278 Letak Melintang Memanjang 0 0 0 Tunggal / Ganda Ganda Tunggal 0 3 0,811278 0 0 Protein Negatif Trace Gain Ratio 3 0,811278 0 Negatif Positif Split Info 0 0 0 0 3 0,811278 Dari hasil perhitungan pada Tabel 3.9 diatas diperoleh nilai GainRatio tertinggi adalah protein yaitu sebesar 1. Dengan demilkian protein terbentuk sebagai node 4 dari pohon keputusan. Pada atribut pinggul sempit ada dua nilai atribut, yaitu “negatif” dan “trace”. Nilai atribut “trace” sudah mengklasifikasikan jenis persalinan SC, sedangkan atribut “negatif” juga sudah mengklasifikasikan jenis persalinan spontan, sehingga tidak perlu dilakukan perhitungan lebih lanjut. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 43 Pohon keputusan yang terbentuk dari perhitungan node 4 ditampilkan pada gambar 3.5 berikut : Gambar 3. 5 Pohon Keputusan Hasil Perhitungan Node 4 Dengam memperhatikan pohon keputusan pada gambar 3.5 diketahui bahwa semua kasus masuk dalam kelas. Dengan demikian, pohon keputusan pada gambar 3.5 merupakan pohon terakhir yang PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 44 terbentuk sehingga merupakan pohon keputusan yang utuh dari perhitungan kasus ini. 3.2.5 Pengujian Akurasi Pengujian akurasi dilakukan untuk mengetahui tingkat keakuratan dari proses klasifikasi. Akurasi merupakan presentase data yang terklasifikasi dengan benar. Nilai akurasi dapat dihitung dengan menjumlahkan data yang terklasifikasi dengan benar kemudian dibagi dengan jumlah total data yang ada dan dikali 100%. 3.2.6 Pengujian Data Tunggal Pada tahap ini dilakukan pengujian dengan pola klasifikasi yang telah terbentuk. Dalam pengujian data tunggal mengunakan data masukan yang akan diuji berdasarkan data training yang telah ada. Sehingga dapat menampilkan hasil prediksi untuk data uji yang telah dimasukkan. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI BAB IV IMPLEMENTASI SISTEM DAN ANALISA HASIL Pada bab ini dijelaskan mengenai hal-hal yang berkaitan dengan implementasi perangkat lunak yang dibuat serta hasil luaran sistem yang diperoleh dari proses pengolahan data dan pengujian yang dilakukan. 4.1 Implementasi Sistem 4.1.1 Implementasi Source Code 4.1.1.1 Preprocessing Data Proses transformasi data dilakukan saat data mentah diambil dari direktori penyimpanan. Data mentah yang dapat diolah adalah file data dengan format .xlxs. Data yang melalui tahap trasformasi adalah semua nilai atribut baik bertipe string atau numerik. Potongan source code proses trasformasi data ditampilkan sebagai berikut : for i=2:x for j=1:y kolom =j; switch kolom case num2cell([1:9,26]) v=cell2mat(raw(2:end,kolom)); if kolom==1 x = find(v<20 | v>35); v(x) = zeros(size(x)); x = find(20<=v & v<=35); v(x) = ones(size(x)); newData(1:end-1,kolom)=v; elseif kolom==2 x = find(v<37 | v>42); v(x) = zeros(size(x)); x = find(37<=v & v<=42); v(x) = ones(size(x)); newData(1:end-1,kolom)=v; elseif kolom==3 x = find(v<55 | v>80); v(x) = zeros(size(x)); x = find(55<=v & v<=80); v(x) = ones(size(x)); newData(1:end-1,kolom)=v; 45 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 46 % elseif kolom==4 x = find(v<145); v(x) = zeros(size(x)); x = find(v>=145); v(x) = ones(size(x)); newData(1:end-1,kolom)=v; elseif kolom==5 x = find(v<11.00 | v>15.00); v(x) = zeros(size(x)); x = find(11.00<=v & v<=15.00); v(x) = ones(size(x)); newData(1:end-1,kolom)=v; elseif kolom==6 x = find(v<30.00 | v>46.00); v(x) = zeros(size(x)); x = find(30.00<=v & v<=46.00); v(x) = ones(size(x)); newData(1:end-1,kolom)=v; elseif kolom==7 x = find(v<10.00 | v>15.00); v(x) = zeros(size(x)); x = find(10.00<=v & v<=15.00); v(x) = ones(size(x)); newData(1:end-1,kolom)=v; elseif kolom==8 x = find(v<200 | v>400); v(x) = zeros(size(x)); x = find(200<=v & v<=400); v(x) = ones(size(x)); newData(1:end-1,kolom)=v; elseif kolom==9 x = find(v<4.00 | v>5.50); v(x) = zeros(size(x)); x = find(4.00<=v & v<=5.50); v(x) = ones(size(x)); newData(1:end-1,kolom)=v; elseif kolom==26 x = find(v<2500); v(x) = zeros(size(x)); x = find(2500<=v & v<=4000); v(x) = ones(size(x)); x = find(v>4000); v(x) = 2*ones(size(x)); newData(1:end-1,kolom)=v; end case adalah kolom case num2cell (10:12) if (strcmp(colum10to12(i,1), 'NEGATIF')) kelas = 0; elseif (strcmp(colum10to12(i,1), 'POSITIF')) kelas = 1; elseif (strcmp(colum10to12(i,1), 'TRACE')) kelas = 2; else kelas = 0; end PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 47 % memasukkan data ke matrix baru newData(i-1,j) = kelas; case num2cell ([13,14,19,20,21,22,23,24,25,27]) if (strcmp(colum131419to2527(i,1), 'TIDAK')) kelas = 0; elseif (strcmp(colum131419to2527(i,1), 'YA')) kelas = 1; else kelas = 0; end newData(i-1,j) = kelas; case 15 if (strcmp(columl5(i,1), 'GANDA')) kelas = 0; elseif (strcmp(columl5(i,1), 'TUNGGAL')) kelas = 1; else kelas = 0; end newData(i-1,j) = kelas; case 16 if (strcmp(colum16(i,1), 'MELINTANG')) kelas = 0; elseif (strcmp(colum16(i,1), 'MEMANJANG')) kelas = 1; else kelas = 0; end newData(i-1,j) = kelas; case 17 if (strcmp(colum17(i,1), 'BOKONG')) kelas = 0; elseif (strcmp(colum17(i,1), 'KEPALA')) kelas = 1; else kelas = 0; end newData(i-1,j) = kelas; case 18 if (strcmp(colum18(i,1), 'SC')) kelas = 0; elseif (strcmp(colum18(i,1), 'SPONTAN')) kelas = 1; elseif (strcmp(colum18(i,1), 'TIDAK ADA')) kelas = 2; else kelas = 0; end newData(i-1,j) = kelas; case 28 if (strcmp(colum28(i,1), 'SC')) kelas = 1; PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 48 elseif (strcmp(colum28(i,1), 'SPONTAN')) kelas = 2; else kelas = 0; end newData(i-1,j) = kelas; menampilkan data kontinu otherwise v = raw{i,j}; if isnan(v) newData(i-1,j) = 0; else newData(i-1,j) = (v); end % end end end Data yang telah ditransformasi, nilainya akan dinaikan 1 level. Hal ini dilakukan untuk menghilangkan nilai atribut 0 (nol) pada data. Potongan source code untuk menaikan data yang telah ditransformasi ditampilkan sebagai berikut : [r c] = size(dataTransformasi); dataTransformasi = dataTransformasi+ones(size(dataTransformasi)); dataTransformasi(:,end) = dataTransformasi(:,end)-1; Sebelum proses klasifikasi data, tahap pembersihan data dilakukan pada data yang memiliki missing value. Nilai yang kosong diisi dengan nilai terbanyak dari tiap atribut. Potongan source code untuk mengisi data missing value ditampilkan sebagai berikut : [r c] = find(isnan(dataTransformasi)); for i=c' attrVec = dataTransformasi(:,i); c1 = find(isnan(attrVec)); % mencari nilai terbanyak dari setiap atribut modus = mode(attrVec); attrVec(c1) = modus*ones(size(c1)); dataTransformasi(:,i) = attrVec; end Data yang telah melalui tahap transformasi dan pembersihan data akan disimpan dalam file dengan format .mat untuk mempermudah pemanggilan data dalam proses klasifikasi. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 49 4.1.1.2 Klasifikasi Data Sebelum menjalankan algoritma c4.5, perlu dilakukan pembagian data menggunakan k-fold validation. Data penelitian akan dibagi menjadi data training dan data testing. Potongan source code k-fold validation ditampilkan sebagai berikut : % memisahkan data dengan label [n,m] = size(dataKlasifikasi); label = dataKlasifikasi(:,m); % mencari banyak jenis kelas dalam label isiLabel = numel(unique(label)); % membuat cell baru yang belum isi kelas = cell(1,isiLabel); % perulangan sebanyak 'fold' kali untuk mengelompokkan data berdasarkan label i(1 2) kedalam kelas i(1 2) for i = 1:isiLabel kelas{i} = dataKlasifikasi(find(label==i),:); end % membuat cell kosong berdasarkan jumlah k dan fold kelasBagi = cell(k,isiLabel); for i = 1:isiLabel % melihat jumlah data untuk setiap kelas yang sudah tersimpan dalam cell kelas ndata = size(kelas{i},1); % menghitung hasil bagi jika data dibagi sebanyak k bagian x = floor(ndata/k); % menghitung sisa dari jumlah data jika dibagi sebanyak k bagian yUntuk = mod(ndata,k); melakukan klasifikasi, langkah pertama yang dilakukan n = 1:x; j = 1:k dataset dari proses preprocessing data yang telah adalah for memanggil if y disimpan dalam filejika dengan format .mat. % memiliki sisa Dalam membagi data dengan kn = [n n(end)+1]; fold % validation mengambil data sebanyak n+1 % mengurangi nilai y y = y-1; end % mengambil data sebanyak n kelasBagi{j,i} = kelas{i}(n,:); % n = nilai n yang paling akhir ditambah 1 sampai nilai n ditambah nilai x n = n(end)+1:n(end)+x; PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 50 end end % membuat cell baru newdata = cell(1,k); % melakukan perulangan untuk menjumlahkan data yang sudah tersimpan pada kelasBagi sesuai dengan indeks cell (baris 1 dijumlahkan, baris 2 dijumlahkan, baris 3 dijumlahkan) sehingga terbentuk cell yang baru for i = 1:k for j = 1:isiLabel newdata{i} = [newdata{i};kelasBagi{i,j}]; end end % membuat cell baru untuk menyimpan data training dan data testing dTraining = cell(k,1); dTesting = cell(k,1); for i = 1:k disp(i); for j = setdiff(1:k,i) % mengambil data yang tidak ada didata tersebut dTraining{i} = [dTraining{i};newdata{j}]; end dTesting{i} = newdata{i}; end Dalam melakukan klasifikasi dengan algoritma c4.5, membentuk pohon perlu dilakukan dengan perhitungan pada setiap atribut untuk mendapatkan nilai gain ratio terbaik. Nilai tersebut terbentuk melalui perhitungan entropy, gain dan split information. Untuk lebih mempermudah proses perhitungan, dilakukan percarian nilai frekuensi tabel terlebih dahulu dari setiap kemungkinan nilai atribut dan kelas. Potongan source code perhitungan frekuensi tabel ditampilkan sebagai berikut : nattr = size(obj.data,2)-1; attrs = cell(nattr,1); for i=1:nattr attrs{i} = unique(obj.data(:,i)); end class = unique(obj.data(:,end)); t = cell(nattr+1,1); for i=1:nattr t{i} = zeros(numel(attrs{i}),numel(class)); end PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 51 t{end} = zeros(1,numel(class)); % menghitung banyaknya data dari tiap kelas indexKelas = 1; for i = class' t{end}(indexKelas) = numel(find(obj.data(:,end)==i)); indexKelas = indexKelas+1; end for i=1:nattr %indeksNilaiAtribut=1; for j=1:numel(attrs{i}) %indexKelas=1; for k=1:numel(class) % a adalah index dari data yang kelasnya==k a = find(obj.data(:,end)==class(k)); % b adalah data dengan kelas k b = obj.data(a,:); % c adalah indeks dari data b yang atribut i nya bernilai j c = find(b(:,i)==attrs{i}(j)); t{i}(j,k)=numel(c); end end end Langkah selanjutnya adalah menghitung nilai entropy himpunan kasus setiap nilai atribut. Potongan source code perhitungan entropy ditampilkan sebagai berikut : function e = entropy(obj, attrNo, attrVal) e = 0; switch nargin case 1 tot = sum(obj.freqTable{end}); for i = 1:size(obj.freqTable{end},2) prob = obj.freqTable{end}(i)/tot; e = e-(prob*log2(prob)); end case 3 x = obj.freqTable{attrNo}; tot = sum(x,2); for i=1:size(x,2) prob = x(attrVal,i)/tot(attrVal); e = e-(prob*log2(prob)); end case 2 x = obj.freqTable{attrNo}; e = zeros(size(x,1),1); tot = sum(x,2); for i=1:size(x,1) e(i) = 0; for j=1:size(x,2) prob = x(i,j)/tot(i); PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 52 if ~prob continue else e(i) = e(i)-(prob*log2(prob)); end end end end end Setelah didapat nilai entropy, maka dilakukan perhitungan gain dengan cara nilai entropy semua data terhadap komposisi kelas dikurangi entropy kondisi kelas pada setiap nilai atribut. Potongan source code perhitungan gain ditampilkan sebagai berikut : function g = gain(obj,attrNo) if nargin==2 entTotal = entropy(obj); t = obj.freqTable{attrNo}; sums = sum(t,2); e = entropy(obj,attrNo); x = (sums.*e)/obj.totalData; g = entTotal-sum(x); elseif nargin==1 entTotal = entropy(obj); g = zeros(obj.numAttr,1); for i=1:obj.numAttr t = obj.freqTable{i}; sums = sum(t,2); e = entropy(obj,i); x = (sums.*e)/obj.totalData; g(i) = entTotal-sum(x); end end end Selanjutnya menghitung nilai split information seperti pada potongan source code berikut : function sp = splitInfo(obj,attrNo) if nargin==2 t = obj.freqTable{attrNo}; s = sum(t,2); s = s/obj.totalData; s = s.*log2(s); sp = -sum(s); elseif nargin==1 sp = zeros(obj.numAttr,1); for i = 1:obj.numAttr t = obj.freqTable{i}; s = sum(t,2); s = s/obj.totalData; PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 53 s = s.*log2(s); sp(i) = -sum(s); end end end Pencarian nilai gain ratio terbaik didapat dari nilai gain dibagi split information untuk setiap nilai atribut. Potongan source code perhitungan gain ratio ditampilkan sebagai berikut : function gr = gainRatio(obj, attrNo) if nargin==2 gr = gain(obj,attrNo)/splitInfo(obj,attrNo); if isnan(gr);gr=0;end elseif nargin==1 gr = gain(obj)./splitInfo(obj); x = find(isnan(gr)); gr(x) = zeros(size(x)); end end Hal pertama yang dilakukan dalam membuat node adalah menyiapkan cabang terlebih dahulu. Lalu mencari nilai atribut terbaik pada saat itu yang lebih kecil dari nilai pemisah terbaik, cabang kiri untuk cabang yang memiliki nilai lebih kecil sedangkan cabang kanan untuk cabang yang memiliki nilai yang lebih besar. Pembentukan node baru dilakukan dengan mengulangi mencari gain ratio terbaik. Potongan source code pembentukan cabang ditampilkan sebagai berikut : function populate(obj) gr = obj.gainRatio(); [maxGain, index] = max(gr); try obj.currentAttr = obj.attrNames{index}; catch e save('obj.mat','obj'); end tf = obj.freqTable{index}; [attrVal, cls] = find(tf==0); obj.children = cell(size(tf,1),1); x = find(obj.entropy(index)==0); if ~isempty(x) for i=x' y = find(tf(i,:)~=0); PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 54 if numel(y)==1 obj.children{i}=obj.className{y(1)}; else error('hai hai, harusnya nggak error'); end end y = complement(1:size(tf,1),attrVal); else y = 1:size(tf,1); end for i=y newcols = (1:obj.numAttr+1)~=index; newrows = obj.data(:,index)==i; newdata = obj.data(newrows,newcols); if size(newdata,2)==2 %&& length(unique(newdata(:,1)))==1 obj.children{i}= obj.className{mode(newdata(:,end))}; else newobj = c45(newdata,obj.className,obj.attrNames(newcols)); obj.children{i} = newobj; newobj.parent = obj; newobj.populate(); end end end Untuk membentuk suatu aturan (rule) digunakan fungsi flatten tree yang berguna untuk mengubah bentuk tree menjadi baris. Potongan source code fungsi flatten tree ditampilkan sebagai berikut : function a = flattenTree(root) % fungsi untuk mengubah bentuk tree menjadi bentuk baris % menampilkan node dengan proses cetak-kiri-kanan a = {root}; for i = 1:numel(root.children) c = root.children{i}; if isa(c,'char') a{end+1} = c; elseif isa(c,'c45') a = [a, flattenTree(c)]; end end end Aturan (rule) yang terbentuk akan ditampilkan pada halaman command window. Untuk mempermudah dalam membaca, disisipkan beberapa kata untuk melengkapi aturan tersebut. Aturan yang terbentuk PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 55 akan disimpan dalam file dengan format .mat. Potongan source code untuk menampilkan rule pada command window ditampilkan sebagai berikut : function s = showrule(c45) list = flattenTree(c45); s = cell(size(list,2),1); for j = 1:numel(list) c = list{j}; if isa(c,'char') a = sprintf('%d %s',j,c); else a = sprintf('%d if %s is ',j,c.currentAttr); for i = 1:numel(c.children) a = [a sprintf('%d then node %d ',i,preorderSearch(list,c.children{i}))]; if i<numel(c.children) a = [a sprintf(' elseif %s is ',c.currentAttr)]; end end end s{j} = a; end end 4.1.1.3 Pengujian Akurasi Untuk mengetahui tingkat keakuratan sistem, dilakukan pencarian nilai akurasi dengan menjumlahkan data yang terklasifikasi dengan benar kemudian dibagi dengan jumlah total data yang ada dan dikali 100%. Hasil perhitungan nilai akurasi akan dibulatkan. Potongan source code untuk menghitung nilai akurasi ditampilkan sebagai berikut : tempconf = confusionmat(hasil,labeltest{i}); conf = conf+tempconf; acc(i) = trace(tempconf)/sum(sum(tempconf)); conf accTotal = mean(acc) %menampilkan hasil isiAkurasi set(handles.isiAkurasi,'String',num2str(accTotal*100,'%.2 f')); PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 56 4.1.2 Implementasi User Interface Untuk mempermudah dalam melakukan klasifikasi pada penelitian ini dibuat user interface. User interface dibuat untuk membantu dalam melakukan trasformasi data sehingga dapat menampilkan hasil klasifikasi berupa tree, nilai akurasi, serta dapat melakukan pengujian data tunggal. Tampilan user interface secara keseluruhan ditunjukkan pada gambar 4.1 berikut : Gambar 4. 1 Halaman Utama Menu tabel data digunakan untuk mengambil file data yang akan diolah melalui tombol “Browse”, kemudian menampilkan data mentah pada tabel “Sebelum Trasnformasi” dan data yang sudah melalui tahap transformasi pada tabel “Setelah Transformasi”, serta menampilkan jumlah data. Detail tampilan panel tabel data yang telah berisi data yang akan diproses, ditunjukkan pada gambar 4.2 berikut : PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 57 Gambar 4. 2 Menu Tabel Data Menu klasifikasi digunakan untuk menjalankan proses penambangan data dengan algoritma C4.5 dan menampilkan tingkat keakuratan sistem. Tampilan menu klasifikasi yang telah menghasilkan nilai akurasi ditunjukkan pada gambar 4.3 berikut : Gambar 4. 3 Menu Klasifikasi Menu tree berisi tombol untuk menampillan rule yang terbentuk dari proses penambangan data dengan algoritma C4.5. Rule yang terbentuk akan dejelaskan pada bagian 4.2. Tampilan menu tree dapat dilihat pada gambar 4.4 berikut : Gambar 4. 4 Menu Tree PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 58 Menu uji data tungal digunakan untuk melakukan pengujian terhadap suatu data. Setelah data uji dimasukkan akan menghasilkan keluaran berupa kelas hasil prediksi, yaitu SC atau spontan. Implementasi menu uji data tunggal dapat dilihat pada gambar 4.5 berikut : Gambar 4. 5 Menu Uji Data Tunggal 4.2 Hasil dan Analisa Klasifikasi persalinan normal atau caesar menggunakan teknik penambangan data dengan algoritma c4.5 menghasilkan rule yang ditampilkan sebagai berikut : PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 59 '1 if PINGGUL SEMPIT (DKP) is 1 then node 2 elseif PINGGUL SEMPIT (DKP) is 2 then node 139 ' '2 if TAKSIRAN BERAT BAYI is 1 then node 3 elseif TAKSIRAN BERAT BAYI is 2 then node 10 elseif TAKSIRAN BERAT BAYI is 3 then node 4 ' '3 if LETAK is 1 then node 4 elseif LETAK is 2 then node 5 ' '4 SC' '5 if TROMBOSIT (PLT) is 1 then node 6 elseif TROMBOSIT (PLT) is 2 then node 7 ' '6 if BB is 1 then node 7 elseif BB is 2 then node 4 ' '7 SPONTAN' '8 SC' '9 SPONTAN' '10 if LETAK is 1 then node 4 elseif LETAK is 2 then node 12 ' '11 SC' '12 if TUNGGAL / GANDA is 1 then node 4 elseif TUNGGAL / GANDA is 2 then node 14 ' '13 SC' '14 if RIWAYAT PARTUS is 1 then node 15 elseif RIWAYAT PARTUS is 2 then node 22 elseif RIWAYAT PARTUS is 3 then node 82 ' '15 if BB is 1 then node 16 elseif BB is 2 then node 4 ' '16 if USIA IBU is 1 then node 17 elseif USIA IBU is 2 then node 4 ' '17 if HEMOGLOBIN (HGB) is 1 then node 4 elseif HEMOGLOBIN (HGB) is 2 then node 7 ' '18 SC' '19 SPONTAN' '20 SC' '21 SC' '22 if GLUKOSA is 1 then node 23 elseif GLUKOSA is 2 then node 7 elseif GLUKOSA is 3 then node 4 ' '23 if TB is 1 then node 4 elseif TB is 2 then node 25 ' '24 SC' '25 if PRESENTASI is 1 then node 4 elseif PRESENTASI is 2 then node 27 ' '26 SC' '27 if USIA IBU is 1 then node 28 elseif USIA IBU is 2 then node 40 ' '28 if USIA KANDUNGAN is 1 then node 4 elseif USIA KANDUNGAN is 2 then node 30 ' '29 SC' '30 if HEMOGLOBIN (HGB) is 1 then node 4 elseif HEMOGLOBIN (HGB) is 2 then node 32 ' '31 SC' '32 if BB is 1 then node 33 elseif BB is 2 then node 36 ' PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 60 '33 if ERITROSIT (RBC) is 1 then node 7 elseif ERITROSIT (RBC) is 2 then node 4 ' '34 SPONTAN' '35 SC' '36 if ERITROSIT (RBC) is 1 then node 4 elseif ERITROSIT (RBC) is 2 then node 38 ' '37 SC' '38 if HEMATOKRIT (HCT) is 1 then node 39 ' '39 if LEKOSIT (WBC) is ' '40 if LEKOSIT (WBC) is 1 then node 41 elseif LEKOSIT (WBC) is 2 then node 67 ' '41 if HEMOGLOBIN (HGB) is 1 then node 42 elseif HEMOGLOBIN (HGB) is 2 then node 54 ' '42 if TROMBOSIT (PLT) is 1 then node 7 elseif TROMBOSIT (PLT) is 2 then node 44 ' '43 SPONTAN' '44 if BB is 1 then node 4 elseif BB is 2 then node 46 ' '45 SC' '46 if USIA KANDUNGAN is 1 then node 47 elseif USIA KANDUNGAN is 2 then node 50 ' '47 if ERITROSIT (RBC) is 1 then node 4 elseif ERITROSIT (RBC) is 2 then node 7 ' '48 SC' '49 SPONTAN' '50 if ERITROSIT (RBC) is 1 then node 51 elseif ERITROSIT (RBC) is 2 then node 4 ' '51 if HEMATOKRIT (HCT) is 1 then node 52 ' '52 if PROTEIN is ' '53 SC' '54 if BB is 1 then node 7 elseif BB is 2 then node 56 ' '55 SPONTAN' '56 if USIA KANDUNGAN is 1 then node 7 elseif USIA KANDUNGAN is 2 then node 58 ' '57 SPONTAN' '58 if TROMBOSIT (PLT) is 1 then node 59 elseif TROMBOSIT (PLT) is 2 then node 63 ' '59 if ERITROSIT (RBC) is 1 then node 60 elseif ERITROSIT (RBC) is 2 then node 7 ' '60 if HEMATOKRIT (HCT) is 1 then node 61 ' '61 if PROTEIN is ' '62 SPONTAN' PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 61 '63 if ERITROSIT (RBC) is 1 then node 7 elseif ERITROSIT (RBC) is 2 then node 65 ' '64 SPONTAN' '65 if HEMATOKRIT (HCT) is 1 then node 66 ' '66 if PROTEIN is ' '67 if HEMOGLOBIN (HGB) is 1 then node 4 elseif HEMOGLOBIN (HGB) is 2 then node 69 ' '68 SC' '69 if TROMBOSIT (PLT) is 1 then node 4 elseif TROMBOSIT (PLT) is 2 then node 71 ' '70 SC' '71 if ERITROSIT (RBC) is 1 then node 7 elseif ERITROSIT (RBC) is 2 then node 73 ' '72 SPONTAN' '73 if USIA KANDUNGAN is 1 then node 74 elseif USIA KANDUNGAN is 2 then node 76 ' '74 if BB is 1 then node 75 ' '75 if HEMATOKRIT (HCT) is ' '76 if BB is 1 then node 77 elseif BB is 2 then node 4 ' '77 if HEMATOKRIT (HCT) is 1 then node 78 ' '78 if PROTEIN is ' '79 SC' '80 SPONTAN' '81 SC' '82 if GLUKOSA is 1 then node 83 elseif GLUKOSA is 2 then node 4 elseif GLUKOSA is 3 then node 7 ' '83 if HEMOGLOBIN (HGB) is 1 then node 84 elseif HEMOGLOBIN (HGB) is 2 then node 95 ' '84 if USIA KANDUNGAN is 1 then node 7 elseif USIA KANDUNGAN is 2 then node 86 ' '85 SPONTAN' '86 if HEMATOKRIT (HCT) is 1 then node 87 elseif HEMATOKRIT (HCT) is 2 then node 93 ' '87 if LEKOSIT (WBC) is 1 then node 4 elseif LEKOSIT (WBC) is 2 then node 89 ' '88 SC' '89 if TROMBOSIT (PLT) is 1 then node 90 elseif TROMBOSIT (PLT) is 2 then node 7 ' '90 if USIA IBU is 1 then node 91 ' '91 if BB is ' '92 SPONTAN' '93 if TB is 1 then node 94 ' PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 62 '94 if USIA IBU is ' '95 if ERITROSIT (RBC) is 1 then node 96 elseif ERITROSIT (RBC) is 2 then node 107 ' '96 if LEKOSIT (WBC) is 1 then node 4 elseif LEKOSIT (WBC) is 2 then node 98 ' '97 SC' '98 if BB is 1 then node 4 elseif BB is 2 then node 100 ' '99 SC' '100 if TROMBOSIT (PLT) is 1 then node 101 elseif TROMBOSIT (PLT) is 2 then node 103 ' '101 if USIA IBU is 1 then node 102 ' '102 if USIA KANDUNGAN is ' '103 if USIA KANDUNGAN is 1 then node 104 elseif USIA KANDUNGAN is 2 then node 4 ' '104 if USIA IBU is 1 then node 105 ' '105 if TB is ' '106 SC' '107 if PRESENTASI is 1 then node 7 elseif PRESENTASI is 2 then node 109 ' '108 SPONTAN' '109 if BB is 1 then node 110 elseif BB is 2 then node 114 ' '110 if LEKOSIT (WBC) is 1 then node 111 elseif LEKOSIT (WBC) is 2 then node 4 ' '111 if USIA IBU is 1 then node 112 ' '112 if USIA KANDUNGAN is ' '113 SC' '114 if USIA KANDUNGAN is 1 then node 115 elseif USIA KANDUNGAN is 2 then node 119 ' '115 if LEKOSIT (WBC) is 1 then node 116 elseif LEKOSIT (WBC) is 2 then node 4 ' '116 if USIA IBU is 1 then node 117 ' '117 if TB is ' '118 SC' '119 if TROMBOSIT (PLT) is 1 then node 120 elseif TROMBOSIT (PLT) is 2 then node 128 ' '120 if LEKOSIT (WBC) is 1 then node 121 elseif LEKOSIT (WBC) is 2 then node 7 ' '121 if USIA IBU is 1 then node 4 elseif USIA IBU is 2 then node 123 ' '122 SC' '123 if TB is 1 then node 4 elseif TB is 2 then node 125 ' '124 SC' '125 if HEMATOKRIT (HCT) is 1 then node 126 ' '126 if PROTEIN is ' PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 63 '127 SPONTAN' '128 if USIA IBU is 1 then node 129 elseif USIA IBU is 2 then node 132 ' '129 if LEKOSIT (WBC) is 1 then node 7 elseif LEKOSIT (WBC) is 2 then node 4 ' '130 SPONTAN' '131 SC' '132 if LEKOSIT (WBC) is 1 then node 133 elseif LEKOSIT (WBC) is 2 then node 7 ' '133 if TB is 1 then node 134 ' '134 if HEMATOKRIT (HCT) is ' '135 SPONTAN' '136 SC' '137 SPONTAN' '138 SC' '139 if ERITROSIT (RBC) is 1 then node 140 elseif ERITROSIT (RBC) is 2 then node 4 ' '140 if RIWAYAT PARTUS is 1 then node 4 elseif RIWAYAT PARTUS is 2 then node 4 elseif RIWAYAT PARTUS is 3 then node 143 ' '141 SC' '142 SC' '143 if HEMOGLOBIN (HGB) is 1 then node 4 elseif HEMOGLOBIN (HGB) is 2 then node 145 ' '144 SC' '145 if TROMBOSIT (PLT) is 1 then node 4 elseif TROMBOSIT (PLT) is 2 then node 147 ' '146 SC' '147 if USIA IBU is 1 then node 148 ' '148 if USIA KANDUNGAN is ' '149 SC' Berdasarkan hasil diatas, setiap rule yang terbentuk akan menghasilkan kelas yaitu SPONTAN’ atau ‘SC’. Selain rule juga diperoleh node dari hasil tersebut. Dapat dilihat bahwa node yang terbentuk sebanyak 149. Dari jumlah tersebut masih terdapat beberapa node yang mengalami perhentian proses atau tidak memiliki cabang selanjutkan dikarenakan data yang tersedia telah habis. Hal ini terjadi pada node 39, 52, 61, 66, 75, 78, 91, 94, 102, 105, 112, 117, 126, 134, dan 148. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 64 Hal tersebut biasa terjadi pada kasus yang tree nya memiliki banyak cabang. Node yang terbentuk dapat dilihat secara lebih detail dalam sebuah tree yang ditampilkan pada gambar 4.6 berikut : PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 65 Gambar 4. 6 Tree PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 66 Pada penelitian ini dilakukan beberapa pengujian untuk mendapatkan nilai akurasi terbaik. Berdasarkan hasil pengujian yang dilakukan dalam mengklasifikasi persalinan normal atau caesar menggunakan algoritma C4.5, dihasilkan nilai akurasi yang terbentuk dari perhitungan menggunakan metode k-fold validation. Setelah dilakukan percobaan terhadap 6 jenis metode k-fold validation, dihasilkan tingkat akurasi seperti tabel 4.1 berikut : Tabel 4. 1 Hasil Akurasi K-Fold Akurasi 2 69.44 % 3 67.71 % 4 71.66 % 5 71.59 % 6 71.29 % 7 72.00 % Tabel diatas menampilkan perbedaan hasil akurasi dari percobaan yang dilakukan berdasarkan k-fold validation. Perbedaan hasil akurasi secara rinci dapat dilihat pada grafik berikut : PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 67 Akurasi 73 72 71 70 69 68 67 66 65 2-fold 3-fold 4-fold 5-fold 6-fold 7-fold Gambar 4. 7 Grafik Akurasi Dari tabel 4.1 dan gambar 4.7 yang telah ditampilkan diatas, dapat dilihat bahwa tingkat akurasi terbaik pada saat menggunakan 7-fold yaitu sebesar 72.00 %. Untuk menghasilkan nilai akurasi tersebut, dilakukan perhitungan confution matriks terlebih dahulu. Nilai confution matriks yang diperoleh adalah sebagai berikut : Confution matriks = 123 32 49 84 Maka, perhitungan akurasinya : PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 68 4.3 Pengujian Data Setelah mengetahui tingkat keakuratan sistem dengan menghitung nilai akurasi, selanjutnya dilakukan pengujian terhadap data persalinan. Data pengujian yang digunakan merupakan data pasien persalinan yang dipilih secara acak sebanyak 8 data. Pengujian data dilakukan dengan tujuian untuk membandingkan hasil jenis persalinan yang terjadi dengan prediksi sistem. Data yang digunakan untuk melakukan pengujian ditampilkan pada tabel 4.2 berikut : Tabel 4. 2 Perbandingan Pengujian Data Dari pengujian yang dilakukan, dapat dilihat pada tabel 4.2 bahwa dari 8 data yang diuji terdapat 1 data yang hasil prediksi sistemnya berbeda dengan jenis persalinan yang terjadi. Hal ini menunjukkan bahwa tidak menutup kemungkinan ada ketidaksesuaian antara sumber data dengan hasil proses klasifikasi. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI BAB V KESIMPULAN DAN SARAN Pada bab ini dijelaskan mengenai kesimpulan yang dapat diambil dari hasil yang diperoleh dalam melakukan penelitian tugas akhir dan saran untuk pengembangan perangkat lunak yang akan datang. 5.1 Kesimpulan Berdasarkan hasil penelitian yang telah dilakukan menggunakan penambangan data algoritma C4.5 untuk mengklasifikasi persalinan normal atau caesar, dapat diambil kesimpulan sebagai berikut : 1. Penambangan data untuk mengklasifikasi persalinan normal atau caesar dapat diimplementasikan dengan baik menggunakan algoritma C4.5. 2. Pengujian yang dilakukan terhadap 288 data menggunakan 7-fold cross validation menghasilkan tingkat keakuratan sebesar 72.00 %. Nilai keakuratan tersebut dapat dikatakan cukup untuk digunakan dalam memprediksi jenis persalinan. 5.2 Saran Saran yang dapat diberikan untuk mengembangkan penelitian yang akan datang adalah : 1. Program dapat menerima masukan tidak hanya file bertipe .xlsx saja, tapi juga diharapkan dapat menerima file bertipe lain. 2. Program mampu menerima masukan dengan jumlah atribut yang bervariasi dan dapat memilih atribut yang ingin digunakan. 69 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI DAFTAR PUSTAKA Away, Gunaidi Abdia. 2014. The Shorcut of Matlab Programing Edisi Revisi. Bandung: Informatika. Berlinawati, Santi. 2015. Lebih Baik Mana, Melahirkan Secara Normal Atau Caesar?. Sumber: http://kawaiibeautyjapan.com/article/958/melahirkannormal-atau-caesar. [Diakses tanggal: 20 November 2015]. Devisi Penulis. 2016. Kenali Pertambahan Berat Badan Ibu Hamil yang Normal Disini. http://www.alodokter.com/kenali-pertambahan-berat-badan-ibu- hamil-yang-normal-di-sini. [Diakses tanggal: 11 Agustus 2016]. Faruz El Said. 2009. Data Mining – Konsep Pohon Keputusan. Sumber: https://fairuzelsaid.wordpress.com/2009/11/24/data-mining-konsep-pohonkeputusan/. [Diakses tanggal: 15 November 2015] Han, Jiawie and Micheline Kamber. 2006. Data Mining : Consepts and Tehnique Second Edition. New York: Morgan Kaufman. Han, Jiawie and Micheline Kamber. 2012. Data Mining : Consepts and Tehnique Third Edition. New York: Morgan Kaufman. Handayanto, Rahmadya Trias dan Herlawati. 2015. Pemrograman Basis Data di Matlab dengan MySQL dan Microsoft Access. Bandung: Informatika. Hermawati, Fajar Astuti. 2013. Data Mining. Yogyakarta: Andi. Konhavi, Ron, Ross Quinlan. 1999. Decision Tree Discovery. Sydney Australia. Kusrini dan Emha Taufiq Luthfi. 2009. Algoritma Data Mining. Andi. 70 Yogyakarta: PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 71 Prabandari, Ririn. 2013. Pemeriksaan Darah Rutin. http://ririnprabandarisilalahi.blogspot.co.id/2013/02/pemeriksaan-darahrutin.html. [Diakses tanggal: 11 Agustus 2016]. Prasetyo, Eko. 2014. Data Mining Mengolah Data Menjadi Informasi Menggunakan Matlab. Yogyakarta: Andi. Quinlan, J.R. 1996. Improved Use of Continuous Attributes in C4.5. Sydney Australia. Revina, Pevi. 2016. Berat Badan Ideal Selama Kehamilan. http://bidanku.com/berat-badan-ideal-selama-kehamilan. [Diakses tanggal: 11 Agustus 2016]. Rochjati, Poedji. 2003. Skrining Antenatal pada Ibu Hamil. Surabaya. Santosa, Budi. 2007. Data Mining Teknik Pemanfaatan Data untuk Keperluan Bisnis. Yogyakarta: Graha Ilmu. Sari, Diah Sartika Sari. 2010. Persalinan Normal vs Operasi Caesar? Pahami, Pilih, dan Tentukan dari Sekarang. Sumber: http://www.kemangmedicalcare.com/kmc-tips/tips-dewasa/1019persalinan-normal-vs-operasi-caesar-pahami-pilih-dan-tentukan-darisekarang.html. [Diakses tanggal: 20 November 2015]. Sarifudin, Iip. 2012. Perkembangan Janin Trimester Kedua. http://www.babyfluffy.com/index.php/news-fluffy-baju-bayi-branded/50perkembangan-janin-trimester-kedua.html. [Diakses tanggal: 11 Agustus 2016]. Septian, Birda Ariyadi. 2015. DATA MINING. Sumber : http://dokumen.tips/documents/data-mining-55a0c323c3fb9.html. [Diakses tanggal: 15 November 2015]. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 72 Sukmasari, Radian Nyi. 2014. Ibi Berat Badan Bayi yang Normal Saat Lahir. http://health.detik.com/read/2014/04/11/184551/2552810/1300/ini-beratbadan-bayi-yang-normal-saat-lahir. [Diakses tanggal: 11 Agustus 2016]. Susanti, Erni. 2013. 4 Jenis Persalinan yang Aman Dilakukan. Sumber: http://tips-sehat-keluarga-bunda.blogspot.co.id/2013/11/4-jenis-persalinanyang-aman-dilakukan.html. [Diakses tanggal: 29 November 2015]. Tari, Romana. 2015. Ibu Hamil Diperiksa Tinggi Badan dan Lingkar Lengan Kiri Atas, Untuk Apa? http://www.kompasiana.com/bidancare/ibu-hamil- diperiksa-tinggi-badan-dan-lingkar-lengan-kiri-atas-untukapa_552c472e6ea83426418b4596. [Diakses tanggal: 11 Agustus 2016]. Widodo, Prabowo Pudjo, Rahmadya Trias Handayanto dan Herlawati. 2013. Penerapan Data Mining dengan Matlab. Bandung: Rekayasa Sains. PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI LAMPIRAN I 73 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 74 A. Data Penelitian Data pasien persalinan yang diolah dalam penelitian tugas akhir ditampilkan pada tabel berikut : PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 75 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 76 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 77 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 78 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 79 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 80 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 81 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 82 PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI 83