KLASIFIKASI PENYAKIT HIPERTENSI MENGGUNAKAN ALGORITMA NAÏVE BAYES STUDI KASUS RSU PROVINSI NTB SKRIPSI Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer Program Studi Teknik Informatika
Disusun oleh : Nyoman Wisnu Wardana 125314060
PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2016
i
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
CLASSIFICATION OF HYPERTENSION DISEASES USING NAÏVE BAYES ALGORITHMS CASE STUDY GENERAL HOSPITAL PROVINCE IN NTB THESIS Presented as Partial Fulfillment of the Requirements To Obtain the Sarjana Komputer Degree In Informatics Engineering
By : Nyoman Wisnu Wardana 125314060
INFORMATICS ENGINEERING STUDY PROGRAM DEPARTMENT OF INFORMATICS ENGINEERING FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY YOGYAKARTA 2016
ii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
HALAMAN PERSETUJUAN
TUGAS AKHIR KLASIFIKASI PENYAKIT HIPERTENSI MENGGUNAKAN ALGORITMA NAÏVE BAYES STUDI KASUS RSU PROVINSI NTB
Oleh : Nyoman Wisnu Wardana 125314060
Telah disetujui oleh :
Pembimbing,
Albertus Agung Hadhiatma, S.T.,M.T.
Tanggal :
iii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
HALAMAN PENGESAHAN SKRIPSI
KLASIFIKASI PENYAKIT HIPERTENSI MENGGUNAKAN ALGORITMA NAÏVE BAYES STUDI KASUS RSU PROVINSI NTB Studi Data : RSU Provinsi NTB
Yang Dipersiapkan dan Disusun Oleh :
Nyoman Wisnu Wardana 125314060
Telah dipertahankan di depan Panitia Penguji Pada tanggal 8 November 2016 Dan dinyatakan memenuhi syarat Susunan Panitia Penguji
Nama Lengkap
Tanda Tangan
Ketua
: P.H Prima Rosa, S.Si., M.Sc.
………………
Sekretaris
: Drs. Haris Sriwindono, M.Kom.
………………
Anggota
: Albertus Agung Hadhiatma, S.T., M.T.
………………
Yogyakarta, ………….…….. Fakultas Sains dan Teknologi Universitas Sanata Dharma Dekan,
Sudi Mungkasi, S.Si.,M.Math.Sc.,Ph.D
iv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
HALAMAN MOTO “The wise man lets go of all results, whether good or bad, and is focused on the action alone. Yoga is skill in actions” -Bhagavad Gita 2.47-
“When doubts haunt me, when disappointments stare me in the face, and I see not one ray of hope on the horizon, I turn to Bhagavad Gita” -Mahatma Gandhi-
SING PENTING YAKIN !
v
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
HALAMAN PERSEMBAHAN Skripsi ini saya persembahkan untuk : Ida Shang Hyang Widhi Wasa yang telah mendampingi, dan memberikan ketenangan hati dan pikiran dalam proses pengerjaan skripsi. Orang tua, kakak, dan keluarga yang selalu memberikan doa, dukungan, nasihat dalam proses perkuliahan dan pengerjaan skripsi. Seluruh Dosen dan semua karyawan yang telah memberikan pengetahuan, bimbingan dan fasilitas selama perkuliahaan. Teman-teman Teknik Informatika Angkatan 2012 yang telah memberikan semangat, motivasi, dukungan, dan keceriaan. Teman-teman kos Tweety dan orang-orang terdekat yang selalu berbagi keceriaan, suka cita, motivasi dan semangat.
vi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
PERNYATAAN KEASLIAN KARYA Saya menyatakan dengan sesungguhnya bahwa tugas akhir yang saya tulis tidak memuat karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar pustaka, sebagaimana layaknya karya ilmiah.
Yogyakarta, 8 Desember 2016 Penulis
Nyoman Wisnu Wardana
vii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma ; Nama
: Nyoman Wisnu Wardana
Nomor Mahasiswa
: 125314060
Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul : KLASIFIKASI PENYAKIT HIPERTENSI MENGGUNAKAN ALGORITMA NAÏVE BAYES STUDI KASUS RSU PROVINSI NTB Beserta perangkat yang diperlukan (bila ada). Dengan demikian saya memberikan kepada Perpustakaan Universitas Sanata Dharma hak untuk menyimpan, mengalihkan dalam bentuk media lain, mengelolanya di internet atau media lain untuk kepentingan akademis tanpa perlu meminta ijin dari saya maupun memberikan royalty kepada saya selama tetap mencantumkan nama saya sebagai penulis. Demikian pernyataan ini saya buat dengan sebenarnya.
Dibuat di Yogyakarta Pada tanggal : 8 Desember 2016
Nyoman Wisnu Wardana
viii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ABSTRAK Hipertensi merupakan penyebab kematian nomor tiga setelah stroke dan tuberkolosis , yakni mencapai 6,7% kematian pada semua umur di Indonesia. Data Riskesdas 2007 menyebutkan prevalensi hipertensi di Indonesia berkisar 30%. Di RSU Propinsi NTB sendiri, jumlah kasus untuk penyakit hipertensi ini tergolong cukup banyak penderitanya. Pada tahun 2014, didapatkan jumlah kunjungan sebanyak 3040 pasien, dimana 1537 pasiennya mengidap penyakit hipertensi primer diantaranya 731 pasien laki-laki dan 806 pasien perempuan. Dari data penyakit hipertensi yang didapatkan dari RSU Provinsi NTB tersebut dapat diolah menggunakan proses data mining dengan menggunakan metode klasifikasi dimana metode ini akan mengelompokkan objek ke dalam kategori yang sudah ditentukan sebelumnya dengan tujuan untuk memprediksi kelas target dari setiap record di data baru. Dalam proses klasifikasi akan digunakan algoritma Naïve Bayesian yang akan melakukan perhitungan probabilitas untuk nilai kelas yang dibandingkan untuk nantinya nilai probabilitas yang paling tinggi akan menjadi nilai prediksi. Keluaran sistem adalah hasil prediksi jenis penyakit hipertensi yang diambil dari RSU Provinsi NTB. Peneliti melakukan pengujian pada dataset dengan jumlah 655 record data dan mengggunakan fold benilai 3,5,10,15 dan 20 cross validation dengan nilai rata-rata tingkat akurasi yang dihasilkan mencapai 92.5%.
Kata kunci : Naïve Bayesian, Cross Validation, Klasifikasi.
ix
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
ABSTRACT Hypertension is in the third highest cause of death after stroke and tuberculosis, which reaches 6.7% deaths among all ages in Indonesia. Riskesdas’s data in 2007 mentions that the prevalence of hypertension in Indonesia is around 30 %. According to the General Hospital in NTB Province, the total case for hypertension is categorized as a considerable number. In 2014, there are 3040 patients where 1537 patients get primary hypertension, around 731 male patients and 830 female patients. The data on hypertension taken from the general hospital in NTB Province can be processed by using data mining process with classification method where the method classifies objects which have been determined before, for the purpose of predicting the class target from each record in a new data. The classification process will use Naïve Bayesian algorithms which calculate the probability of the compared class value, in which the highest probability value becomes the prediction value. The output system is the final prediction of hypertension diseases. The researcher conducts a test on the data set with a total of 655 record data and uses fold that values 3, 5, 10,1 5 and 20 cross validation with an average accuracy reaching 92.5%. Keywords : Naïve Bayesian, Cross Validation, Classification.
x
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
KATA PENGANTAR Terima kasih dan segala puji syukur penulis panjatkan kepada Ida Shang Hyang Widhi Wasa Tuhan Yang Maha Esa, dikarenakan karena anugrah dan kehendakNya penulis dapat menyelesaikan tugas akhir dengan judul “Klasifikasi Penyakit Hipertensi menggunakan Algoritma Naïve Bayes Studi Kasus RSU Provinsi NTB”. Tugas akhir ini ditulis sebagai salah satu syarat untuk memperoleh gelar sarjana program studi Teknik Informatika, Fakultas Sains dan Teknologi Universitas Sanata Dharma. Penulis juga mengucapkan terimakasih kepada semua orang yang membantu penulis dalam menyelesaikan penulisan tugas akhir ini, antara lain kepada : 1. Bapak Sudi Mungkasi, S.Si.,M.Math.Sc.,Ph.D selaku Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta. 2. Ibu Dr. Anastasia Rita Widiarti, S.Si.,M.Kom selaku Kaprodi Teknik Informatika Universitas Sanata Dharma Yogyakarta. 3. Bapak Albertus Agung Hadhiatma, S.T.,M.T selaku Dosen Pembimbing, yang telah sabar dalam memberikan bimbingan dan segala masukan sehingga penulis dapat menyelesaikan tugas akhir ini. 4. Ibu Paulina Heruningsih Prima Rosa, S.Si.,M.Sc. dan Bapak Drs. Haris Sriwindono, M.Kom. selaku panitia penguji yang telah memberikan kritik dan saran dalam penulisan tugas akhir.
xi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
5. Seluruh dosen dan staff karyawan Program Studi Teknik Informatika Universitas Sanata Dharma yang telah memberikan bekal ilmu, bimbingan serta pengalaman dan fasilitas selama saya menempuh studi. 6. Bapak AKBP I Gede Astawa, Ibu Trivina Tribudiastuti S.Kep., Ni Luh Irma Kumala Astari S.Ant., Ni Made Irene Novianti Astaningtias M.Psi., yang merupakan keluarga penulis, terimakasih untuk cinta, kasih sayang, doa dan nasihat selama masa studi dan penulisan tugas akhir. 7. Staff Rekam Medis RSU Provinsi NTB : Dian Karmila Walla selaku Kepala Rekam Medis RSU Provinsi NTB, Bapak M. Syahrial Luthfi, Ibu Mariatun, Ibu Baiq Widyanti, Ibu Irmiati atas bantuan, bimbingan dan perhatiannya selama penulis melakukan penelitian dan pengambilan data. 8. Paulus Dian Wicaksana S.Kom, Audio Alief Kautsar Hartama, Raden Alexander Purbo, Yohanes Satrio Prabowo, yang telah memberikan bantuan, perhatian, dukungan dan nasihatnya selama dalam masa bimbingan bersama dosen pembimbing. 9. Teman-teman Teknik Informatika angkatan 12 yang selalu berbahagia, khususnya yang tergabung dalam “Ikatan Teknik Informatika Liberal”: Cahyo Wicaksono, Anjar Nugraha, Daniel Risamasu, Alvin Christanto, Yosua Gultom, Rekiyan Seto, Thomas Wiga, Fx. Dwi Kurniawan, Agustinus Nyoman Mariadi, Christian Bayu, Laurensius Haris, Nicolaus Dhesa, Pius Juan, Henrycus Bagus, Romualdus Vanadio, Alexander Purbo, Adrian Nada, Dian
xii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Tobias, Ari Manibuy, Stephanus Wijaya, Laurensia Eva, Febrina Cornelia, Octaviani, Young Queen, Theo Mahardian, Cesarius Agni dan Kevinda Mahatma yang telah berbagi keramaian, keceriaan, dan suka cita di setiap pertemuannya. 10. Teman - teman pejuang skripsi yang bersarang di Laboratorium Tugas Akhir : Dionisius Wisnu selaku Asisten Laboran, Mikael Fajar, Bapak Dosen Pradit, Agustinus Agri, Vian Juanito, Engelbertus Vione, Kresentia Nita, Vina, Novi, Tripina Putri. 11. Sahabat tercinta penulis, Ni Nengah Feby Charolina S.H yang selalu mendengarkan keluhan dan cerita dari setiap masalah penulis, dan memberikan nasihat, saran, semangat dan suka cita selama proses pengerjaan tugas akhir. 12. Teman-teman UKF Basket FST dan UKM Basket USD khususnya para senior, Andropo, Murdhiana, Roy, Theo, Fidelis, Aweng, Tedy Wiranata, Gono, Boaz, Bonifasius, Maleh, Lintang, Dimas, Budi, Awan, Rony, Koh Wen, Epafroditus dan teman-teman seangkatan Edo, Ezra, yang telah membentuk karakter, disiplin, dan semangat pantang menyerah kepada penulis. 13. Teman-teman kos tweety : Bonaventura Dian Patria S.Pd., Felicianus Ochatani S.T., Giovani Batista, Tian, Agapitus Saputra, Aditya Mey Saputra, Tommy Aprilla, David Tasin, Christian Naibaho, Filfridus Alberto yang telah memberikan semangat, motivasi, dan berbagi suka cita.
xiii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
14. Bruno Mars, Justin Timberlake, Boyce Avenue, Christina Grimmie, Kris Thomas, Christian Porter, Alex Goot, David Dam, Bria Kelly atas lantunan lagu – lagunya yang menemani pembuatan tugas akhir. 15. Serta seluruh pihak yang telah membantu penulisan dan pembuatan tugas akhir baik secara langsung maupun tidaklangsung yang tidak dapat disebutkan satu persatu. Akhirnya dengan rendah hati penulis menyadari bahwa tugas akhir ini jauh dari kata sempurna. Oleh karena itu, penulis mengharapkan kritik dan saran yang membangun guna memperbaiki tugas akhir ini. Semoga tugas akhir ini dapat berguna dan bermanfaat bagi semua pihak . Terima kasih.
Yogyakarta, 8 Desember 2016
Penulis
xiv
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR ISI
HALAMAN JUDUL ................................................................................................... i HALAMAN JUDUL (Bahasa Inggris) ...................................................................... ii HALAMAN PERSETUJUAN .................................................................................. iii HALAMAN PENGESAHAN .................................................................................... iv HALAMAN MOTO .................................................................................................... v HALAMAN PERSEMBAHAN ................................................................................ vi HALAMAN PERNYATAAN KEASLIAN KARYA ............................................. vii HALAMAN PERNYATAAN PERSETUJUAN PUBLIKASI ............................ viii ABSTRAK .................................................................................................................. ix ABSTRACT ................................................................................................................. x KATA PENGANTAR ................................................................................................ xi BAB I ............................................................................................................................ 1 PENDAHULUAN ....................................................................................................... 1 1.1.
Latar Belakang ............................................................................................. 1
1.2.
Rumusan Masalah ........................................................................................ 3
1.3.
Tujuan ........................................................................................................... 3
1.4.
Batasan Masalah .......................................................................................... 3
BAB IV ....................................................................................................................... 43 IMPLEMENTASI SISTEM ..................................................................................... 43 4.1 Spesifikasi Software dan Hardware ................................................................ 43 4.2
Implementasi User Interface ........................................................................ 44
Proses Input Data ......................................................................................... 48
4.3.1 Membaca Data Teks ke dalam Sistem .................................................... 49 4.3.2 Menulis Ulang Teks di dalam Sistem ...................................................... 51 4.4 Implementasi Algoritma Naïve Bayes pada Sistem ..................................... 53 4.4.1 Menghitung Frekuensi Kelas ................................................................... 54 4.4.2 Menghitung Probabilitas Kelas ............................................................... 55 4.4.3 Menghitung Kelas Distribusi Naïve Bayes ............................................. 56 4.5 Pengujian.......................................................................................................... 60 4.5.1 Menhitung Evaluasi Cross Validation .................................................... 60 4.5.2 Menghitung Akurasi ................................................................................. 63 4.5.4 Melakukan Pengujian Data Tunggal ...................................................... 65 BAB V ........................................................................................................................ 67 PENGUJIAN DAN ANALISA HASIL ................................................................... 67 5.1 Hasil Pengujian Sistem ................................................................................... 67 5.1.1 Hasil Uji Akurasi ...................................................................................... 67 5.1.2 Hasil Uji Data Tunggal............................................................................. 75 BAB VI ....................................................................................................................... 78 PENUTUP .................................................................................................................. 78 xvii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
6.1 Kesimpulan ...................................................................................................... 78 6.2 Saran ................................................................................................................. 78 DAFTAR PUSTAKA ................................................................................................ 80 LAMPIRAN ............................................................................................................... 81 LAMPIRAN II .......................................................................................................... 82 LAMPIRAN III ......................................................................................................... 91
xviii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR RUMUS
Rumus 2.1 Perhitungan Probabilitas P(Vj) ............................................................... 14 Rumus 2.2 Perhitungan Probabilitas P(Wk | Vj) ....................................................... 14 Rumus 2.3 Perhitungan Probabilitas Pembelian Komputer ....................................... 16 Rumus 2.4 Perhitungan Probabilitas WK Kategori yes atau no ................................ 16 Rumus 2.5 Perhitungan Probabilitas Menentukan Pembelian Komputer .................. 18 Rumus 2.6 Perhitungan Likelihood ............................................................................ 18 Rumus 2.7 Perhitungan Akurasi Menggunakan Confusion Matrix 2x2 Versi 1 ....... 21 Rumus 2.8 Perhitungan Akurasi Menggunakan Confusion Matrix 2x2 Versi 2 ........ 21 Rumus 4.1 Perhitungan Probabilitas P(Wk | Vj) ....................................................... 53 Rumus 4.2 Perhitungan Probabilitas yes atau no ....................................................... 55
xix
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR TABEL Tabel 2.1 Data Buys Computer .................................................................................. 15 Tabel 3.1 Atribut Penyakit Hipertensi........................................................................ 22 Tabel 3.2 Tabel Ringkasan Use Case......................................................................... 27 Tabel 3.3 Tabel Skenario Use Case : Impor Data ..................................................... 28 Tabel 3.4 Tabel Skenario Use Case : Pilih Fold ........................................................ 29 Tabel 3.5 Tabel Skenario Use Case : Hitung Akurasi ............................................... 30 Tabel 3.6 Tabel Skenario Use Case : Uji Data Tunggal ........................................... 31 Tabel 5.1 Tabel Hasil Akurasi Sistem ........................................................................ 72
xx
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
DAFTAR GAMBAR Gambar 2.1 Tahapan dalam KDD ............................................................................ 10 Gambar 2.2 Ilustrasi Metode Cross Validation Menggunakan 3 fold ....................... 20 Gambar 2.3 Confusion Matrix 2x2 ............................................................................ 21 Gambar 3.1 Diagram Use Case ................................................................................ 26 Gambar 3.2 Diagram Aktivitas : Mengimpor Data ................................................... 32 Gambar 3.3 Diagram Aktivitas : Memilih Fold ........................................................ 33 Gambar 3.4 Diagram Aktivitas : Melakukan Uji Akurasi ........................................ 33 Gambar 3.5 Diagram Aktivitas : Melakukan Uji Data Tunggal ............................... 34 Gambar 3.6 Desain Halaman Utama ......................................................................... 35 Gambar 3.7 Desain Isi Bar Menu .............................................................................. 36 Gambar 3.8 Desain Halaman Bantuan ..................................................................... 36 Gambar 3.9 Desain Halaman Uji Akurasi ................................................................. 37 Gambar 3.10 Desain Halaman Uji Data Tunggal ...................................................... 38 Gambar 3.11 Struktur Kode Hashmap ..................................................................... 39 Gambar 4.1 Tampilan User Interface Halaman Beranda .......................................... 42 Gambar 4.2 Tampilan User Interface Isi Bar Menu ................................................. 43 Gambar 4.3 Tampilan User Interface Halaman Bantuan .......................................... 43 Gambar 4.4 Tampilan User Interface Halaman Uji Akurasi .................................... 44 Gambar 4.5 Tampilan User Interface Halaman Uji Data Tunggal ............................ 45 Gambar 4.6 Tampilan Kotak Dialog ......................................................................... 46 Gambar 5.1 Dataset yang akan diuji.......................................................................... 66 Gambar 5.2 Hasil Uji Akurasi Menggunakan 3 fold ................................................. 67 Gambar 5.3 Hasil Uji Akurasi Menggunakan 5 fold ................................................. 68 Gambar 5.4 Hasil Uji Akurasi Menggunakan 10 fold .............................................. 69 Gambar 5.5 Hasil Uji Akurasi Menggunakan 15 fold ............................................... 70 Gambar 5.6 Hasil Uji Akurasi Menggunakan 20 fold ............................................... 71 Gambar 5.7 Dataset yang akan diuji ......................................................................... 73 Gambar 5.8 Data Testing atau Data Tunggal yang akan diuji ................................... 74
xxi
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 5.9 Hasil Pengujian Data Tunggal ............................................................... 74 Gambar 5.10 Hasil Prediksi Jumlah Data Benar atau Salah ..................................... 75
xxii
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB I PENDAHULUAN 1.1.
Latar Belakang Perkembangan dunia kesehatan saat ini sangatlah penting, itu karena
kesadaran masyarakat akan manfaat kesehatan sudah tinggi sehingga peningkatan jumlah kesehatan setiap tahun mengalami kenaikan. Dengan demikian bukan tidak mungkin dapat menimbulkan masalah bagi setiap anggota medis dalam mendiagnosa dengan baik. Hipertensi merupakan penyebab kematian nomor tiga setelah stroke dan tuberculosis , yakni mencapai 6,7% kematian pada semua umur di Indonesia. Data Riskesdas 2007 menyebutkan prevalensi hipertensi di Indonesia berkisar 30% dengan insiden komplikasi penyakit kardiovaskular lebih banyak pada perempuan (52%) dibandingkan laki-laki (48%). Oleh karena dampaknya yang berhubungan dengan morbiditas dan mortalitas, maka hipertensi merupakan tantangan bagi kesehatan masyarakat. Di Puskesmas Kelurahan Joglo II, berdasarkan data tahun 2010, terdapat 565 kasus hipertensi dari 15.342 kunjungan sakit, dengan usia tersering penderita antara 40-70 tahun. Angka ini menempatkan hipertensi pada urutan terbanyak ketiga setelah ISPA (Infeksi Saluran Pernafasan Akut) dan mialgia (cedera yang disebabkan oleh infeksi dan virus). Di RSU Propinsi NTB sendiri, jumlah kasus untuk penyakit hipertensi ini sendiri tergolong cukup banyak penderitanya. Pada tahun 2014, didapatkan
1
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
jumlah kunjungan sebanyak 3040 pasien, dimana 1537 pasiennya mengidap penyakit hipertensi primer diantaranya 731 pasien laki-laki dan 806 pasien perempuan. Dengan ketersediaan data yang cukup banyak, kebutuhan akan informasi sebagai pendukung dalam pengambilan keputusan untuk membuat penanganan medis, serta dukungan infrastruktur di bidang teknologi informasi menciptakan lahirnya suatu teknologi data mining. Data mining adalah serangkaian proses untuk menggali nilai tambah dari suatu kumpulan data, berupa pengetahuan didalam database yang selama ini tidak diketahui secara manual. Data mining adalah proses yang menggunakan teknik statistik, matematika, kecerdasan buatan, dan machine learning untuk mengekstraksi informasi yang bermanfaat dan pengetahuan yang terkait dari berbagai database besar. Untuk bisa mendapatkan informasi dari data-data yang ada perlu dilakukan proses data mining seperti klasifikasi. Klasifikasi yaitu mengelompokkan objek ke dalam kategori yang sudah ditentukan sebelumnya. Dalam konteks data mining, klasifikasi dilakukan dengan menggunakan model yang dibangun di atas data. Tujuan dari klasifikasi secara akurat memprediksi kelas target untuk setiap record di data baru, yaitu, data yang tidak di data. Pada penelitian ini akan digunakan satu macam algoritma klasifikasi yaitu algoritma klasifikasi Naïve Bayes. Dalam penilaian model, Naïve Bayes membentuknya dengan sangat cepat, juga mengukur secara linear jumlah
2
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
prediktor dan baris. Naïve Bayes membuat prediksi menggunakan teorema Bayes melalui prediksi probabilitas dari bukti yang mendasari. Dalam prakteknya, Naïve Bayes tidak menurunkan akurasi dari model prediksi secara signifikan dan membuat perbedaan kecepatan antara algoritma komputasional. Dengan dibuatnya sistem ini dengan algoritma Naïve Bayes diharapkan dapat membantu tenaga medis dalam memberikan penanganan kepada pasien yang mengidap penyakit hipertensi dengan tiap jenis yang berbeda. 1.2. Rumusan Masalah Masalah yang dirumuskan dalam penelitian ini adalah bagaimana algoritma klasifikasi Naïve Bayes dapat diterapkan untuk mendeteksi dan mengklasifikasikan jenis penyakit hipertensi pada data yang didapatkan dari RSU Provinsi NTB. 1.3. Tujuan Tujuan dari penelitian ini adalah untuk menerapkan algoritma Naïve Bayes dalam melakukan klasifikasi, mengenali jenis penyakit hipertensi dan memberikan hasil akurasi pada data penyakit hipertensi dengan tepat. 1.4. Batasan Masalah Batasan masalah dari penelitian ini adalah : 1. Algoritma klasifikasi yang digunakan adalah algoritma Naïve Bayes. 2. Data yang digunakan adalah data hasil uji laboratorium RSU Provinsi NTB untuk penyakit hipertensi sepanjang tahun 2014-2015.
3
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3. Atribut yang digunakan dari data penyakit hipertensi sejumlah 16 atribut dan sudah termasuk kelas, yaitu jenis kelamin (sex), umur, hemoglobin (HGB), hematocrit (HCT), white blood cell (WBC), platelets (PLT), asam urat, kolesterol LDL, kolesterol HDL, kolesterol total, kreatinin, sistolik, diastolik, ureum dan kelas prediksi. 4. Hasil dari output sistem yang akan dibuat ini adalah tingkat persentase akurasi berdasarkan input dari atribut data penyakit hipertensi, hasil probabilitas dan prediksi jenis penyakit hipertensi dari pengujian data tunggal, serta memberikan hasil jumlah data salah dan benar. 1.5. Luaran Sistem yang dibuat secara otomatis dapat melakukan klasifikasi, mengetahui tingkat akurasi dan memperkirakan jenis penyakit hipertensi. 1.6. Metodologi Metodologi penelitian yang digunakan dalam penelitian ini antara lain : 1. Studi literatur untuk mempelajari data mining dan algoritma klasifikasi Naïve Bayes. 2. Analisis data untuk melakukan klasifikasi terhadap penyakit hipertensi. 3. Pengujian menggunakan k-fold cross validation dengan membagi data training dan data testing, dan confusion matrix untuk mengetahui tingkat akurasi dari algoritma Naïve Bayes yang digunakan.
4
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
1.7. Sistematika Penulisan BAB I merupakan pendahuluan yang berisikan latar belakang, rumusan masalah, tujuan, batasan masalah, keluaran yang dihasilkan, metodologi dan sistematika penulisan. BAB II merupakan landasan teori yang dipakai untuk pembuatan dan penyusunan tugas akhir. BAB III merupakan metodologi penelitian yang berisikan tentang data penyakit hipertensi, alur proses training dan testing serta penjelasan rancangan sistem yang akan dibuat. BAB IV merupakan implementasi sistem yang akan membahas hasil implementasi sistem yang telah dirancang. BAB V merupakan analisis hasil yang berisikan tentang analisis sistem yang telah dirancang pada bab IV. BAB VI merupakan penutup yang berisikan kesimpulan dan saran dari penelitian yang telah dilakukan.
5
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB II LANDASAN TEORI Pada bab ini, akan dijelaskan secara singkat tentang teori-teori yang digunakan dalam penulisan penelitian, antara lain tentang hipertensi, data mining, klasifikasi, algoritma klasifikasi Naïve Bayes, dan cross-validation. Teori-teori tersebut dijelaskan sebagai berikut : 2.1 Hipertensi Hipertensi atau peningkatan tekanan darah adalah keadaan dimana supply oksigen dan nutrisi dibawa oleh darah terhambat dalam proses pengirimannya ke jaringan tubuh yang membutuhkan. Penyakit ini dapat menimbulkan gangguan pada organ tubuh yang lain karena menyebabkan organ-organ tersebut harus bekerja lebih keras. Pada awalnya menderita penyakit ini tidak ada tanda-tanda yang muncul sehingga tidak dapat di deteksi. Hipertensi baru akan terdeteksi ketika dilakukan pemeriksaan untuk penyakit yang berkaitan dengan hipertensi seperti pemeriksaan diabetes, stroke dan sebagainya. Oleh karena itu penyakit ini dikenal dengan nama silent killer. (Rika Anisa, 2013) Hipertensi adalah salah satu penyakit yang umun melanda di dunia dan merupakan faktor risiko penting untuk penyakit jantung serta kontributor utama mortalitas dan morbiditas baik di negara maju maupun di negara berkembang. Menurut laporan kesehatan dunia, pada tahun 2002, sekitar 600 juta orang di seluruh dunia menderita hipertensi. Hipertensi diperkirakan menyebabkan 7,1 juta
6
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
kematian setiap tahunnya, angka tersebut mewakili sekitar 13% dari total kematian. Di berbagai negara di Asia, prevalensi hipertensi bervariasi, berkisar antara 15 – 35%. Angka tersebut diperkirakan akan terus meningkat setiap tahunnya. Misalnya, prevalensi hipertensi di Vietnam pada tahun 2002 sebesar 14,1% dan hipertensi juga merupakan penyakit yang menyebabkan sejumlah besar kematian di rumah sakit. 2.1.1 Etiologi Berdasarkan jurnal ilmiah Joint National Comitte on Detection, Evaluation, and Treatment of High Blood Pressure (JNC) hipertensi telah dikelompokkan ke dalam klasifikasi normal, pre, stadium 1 dan stadium 2. Sedangkan untuk jenis hipertensi sendiri dibagi menjadi 2 yaitu hipertensi primer dan hipertensi sekunder. 2.1.2 Gejala Hipertensi Hipertensi sulit disadari oleh seseorang dikarenakan hipertensi tidak memiliki gejala khusus. Gejala-gejala yang mudah diamati antara lain yaitu : a. Pusing atau sakit kepala b. Sering gelisah c. Wajah merah d. Tengkuk terasa pegal e. Mudah marah f. Telinga berdengung
7
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
g. Sukar tidur h. Sesak nafas i. Rasa berat di tengkuk j. Mudah lelah k. Mata berkunang-kunang l. Mimisan (keluar darah dari hidung) Hipertensi dapat diketahui dengan mengukur tekanan darah secara teratur. Penderita hipertensi apabila tidak ditangani dengan baik akan mempunyai resiko besar untuk meninggal karena komplikasi kardiovaskular seperti stroke, serangan jantung, gagal jantung dan gagal ginjal. 2.1.3 Pemeriksaan Penunjang Pemeriksaan penunjang umunya diperlukan untuk membantu mengevaluasi tingkat hipertensi pasien. Penilaian berulang terhadap fungsi renal, elektrolit serum, gula darah puasa, dan lemak dapat dilakukan setelah pemberian obatobatan antihipertensi yang baru, dan tiap tahun atau secara sering diperiksa jika secara klinis diperlukan. Uji laboratorium yang lebih ekstensif diperlukan jika pasien mengalami resistensi obat atau ketika evaluasi klinis menemukan suatu bentuk hipertensi sekunder. Pemeriksaan penunjang lainnya dapat berupa EKG, dengan mengamati tanda-tanda sekunder dari hipertensi, seperti pembesaran jantung, maupun gagal jantung.
8
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Pemeriksaan penunjang terdiri atas: a. Tes darah rutin b. Glukosa darah (sebaiknya puasa) c. Kolesterol total serum d. Kolesterol LDL dan HDL serum e. Trigilserida serum (puasa) f. Asam urat serum g. Kreatinin serum h. Kalium serum i. Hemoglobin dan hematokrit j. Urinalisis k. Elektrokardiogram Pada pasien hipertensi, beberapa pemeriksaan untuk menentukan adanya kerusakan organ target dapat dilakukan secara rutin, sedang pemeriksaan lainnya hanya dilakukan bila ada kecurigaan yang didukung oleh keluhan dan gejala pasien. 2.2 Data Mining Data mining adalah proses pengumpulan informasi penting dari sejumlah data besar yang tersimpan di dalam basis data, gudang data, atau tempat penyimpanan lainnya. Data mining merupakan proses yang tidak dapat dipisahkan dengan Knowledge Discovery in Database (KDD), karena penambangan data adalah salah
9
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
satu dari tahap dalam proses KDD (Han & Kamber, 2006) seperti yang ditunjukkan pada gambar 2.1
Gambar 2.1 Tahapan dalam KDD (Han & Kamber, 2006) Menurut Han dan Kamber (2006), tahapan-tahapan dalam proses KDD adalah sebagai berikut : 1.
Pembersihan data (Data Cleaning) Pembersihan data merupakan proses untuk menghilangkan data yang mengandung noise, atau data yang tidak konsisten.
2.
Integritas data (Data Integration) Pada tahap ini akan dilakukan penggabungan data yang berasal dari berbagai sumber.
3.
Seleksi data (Data Selection)
10
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Pada tahap ini akan dilakukan pemilihan data yang relevan dari database. 4.
Transformasi data (Data Transformation) Pada tahap ini data akan ditransformasikan kedalam format yang sesuai untuk diproses dalam penambangan data.
5.
Penambangan data (Data Mining) Penambangan data merupakan proses penting dimana metode akan disistemkan untuk mengekstrak pola data.
6.
Evaluasi pola (Pattern Evaluation) Pada tahap ini, pola/model yang dihasilkan dari teknik data mining akan mengidentifikasi pola-pola yang menarik berdasarkan ukuran tertentu
7.
Presentasi pengetahuan (Knowledge Presentation) Pada tahap ini akan dilakukan teknik visualisasi yang digunakan untuk menampilkan pengetahuan hasil proses mining kepada pengguna. Data mining juga dibagi menjadi beberapa kelompok berdasarkan tugas
yang dapat dilakukan, yaitu.: 1.
Deskripsi, terkadang peneliti dan analis secara sederhana ingin mencoba mencari cara untuk menggambarkan pola dan kecenderungan yang terdapat dalam data.
2.
Estimasi, estimasi hampir sama dengan klasifikasi, kecuali variabel target estimasi lebih ke arah numerik dari pada ke arah kataegori. Model dibangun
11
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
menggunakan record lengkap yang menyediakan nilai variabel target sebagai nilai prediksi. 3.
Prediksi, prediksi hampir sama dengan klasifikasi dan estimasi, kecuali bahwa dalam prediksi nilai dari hasil akan ada di masa mendatang.
4.
Klasifikasi, dalam klasifikasi, terdapat target variabel kategori. Sebagai contoh, penggolongan pendapatan dapat dipisahkan dalam tiga kategori, yaitu pendapatan tinggi, pendapatan sedang, dan pendapatan rendah.
5.
Pengklusteran,
pengklusteran
merupakan
pengelompokan
record,
pengamatan, atau memperhatikan dan membentuk kelas objek-objek yang memiliki kemiripan. Kluster adalah kumpulan record yang memiliki kemiripan satu dengan yang lainnya dan memiliki ketidakmiripan dengan record-record dalam kluster lain. 6.
Asosiasi, asosiasi dalam data mining adalah menemukan atribut yang muncul dalam satu waktu. Dalam dunia bisnis lebih umum disebut analisis keranjang belanja.
2.2.1 Klasifikasi Klasifikasi adalah suatu fungsionalitas data mining yang akan menghasilkan model untuk memprediksi kelas atau kategori dari objek-objek di dalam basis data. Klasifikasi merupakan proses yang terdiri dari dua tahap, yaitu tahap pembelajaran dan tahap pengklasifikasian.
12
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Pada tahap pembelajaran, sebuah algoritma klasifikasi akan membangun sebuah model klasifikasi dengan cara mengalisis training data. Tahap pembelajaran dapat juga dipandang sebagai tahap pembentukan fungsi atau pemetaan Y=F(X) dimana Y adalah kelas hasil prediksi dan X adalah tuple yang ingin diprediksi kelasnya. Selanjutnya pada tahap pengklasifikasian, model yang telah dihasilkan akan digunakan untuk melakukan klasifikasi. 2.3
Naïve Bayes Naïve Bayes merupakan pengklasifikasian dengan metode probabilitas dan
statistik yang dikemukakan oleh ilmuan Inggris Thomas Bayes, yaitu memprediksi peluang di masa depan berdasarkan pengalaman di masa sebelumnya sehingga dikenal sebagai teorema Bayes dengan asumsi indenpendensi (ketidaktergantungan) yang kuat (naif). Dengan kata lain, dalam Naïve Bayes model yang digunakan adalah model dengan fitur indenpenden (Prasetyo, 2012). Algoritma Naïve Bayes sendiri memiliki dua tahap dalam proses klasifikasi, yaitu tahap pembelajaran dan tahap pengujian klasifikasi. Pada tahap pembelajaran dilakukan proses analisis terhadap sampel dokumen berupa pemilihan vocabulary, yaitu kata yang mungkin muncul dalam koleksi sampel dokumen yang sedapat mungkin dapat menjadi representasi dokumen. Selanjutnya adalah penentuan probabilitas prior bagi tiap kategori berdasarkan
13
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
sampel dokumen. Pada tahap klasifikasi ditentukan nilai kategori dari dokumen berdasarkan term yang muncul dalam dokumen yang diklasifikasi. Untuk melakukan perhitungan nilai kelas yang akan dibandingkan (yes or no) mengunakan algoritma Naïve Bayes maka dilakukan perhitungan probabilitas P(Vj) dengan rumus sebagai berikut : P(Vj) =
|docj| |Contoh|
Rumus 2.1 Perhitungan probabilitas P(Vj). Docj adalah banyaknya dokumen yang memiliki kategori j dalam pembelajaran, sedangkan contoh adalah banyaknya dokumen dalam contoh yang digunakan untuk pembelajaran. Untuk nilai P(Wk|Vj), yaitu probabilitas kata wk dalam kategori j, ditentukan dengan rumus sebagai berikut : P(Wk|Vj) =
Nk+1 N+|vocabulary|
Rumus 2.2 Perhitungan probabilitas P(Wk | Vj) Nk adalah frekuensi munculnya kata wk dalam dokumen yang berkategori vj ditambah 1, hal ini berfungsi untuk menghindari angka nol dalam data atau biasa disebut Laplace Smoothing, sedangkan nilai N adalah banyaknya seluruh data dalam dokumen berkategori vj, dan vocabulary adalah banyaknya kata dalam pembelajaran. Berikut contoh kasus menggunakan data buys computer yang akan diselesaikan dengan algoritma Naïve Bayes :
14
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Tabel 2.1 Data Buys Computer RID
Age
Income
Student
Credit_Rating
Class
1.
29
High
No
Fair
No
2.
29
High
No
Excellent
No
3.
31..40
High
No
Fair
Yes
4.
41
Medium
No
Fair
Yes
5.
41
Low
Yes
Fair
Yes
6.
41
Low
Yes
Excellent
No
7.
31..40
Low
Yes
Excellent
Yes
8.
29
Medium
No
Fair
No
9.
29
Low
Yes
Fair
Yes
10.
41
Medium
Yes
Fair
Yes
11.
29
Medium
Yes
Excellent
Yes
12.
31..40
Medium
No
Excellent
Yes
13.
31..40
High
Yes
Fair
Yes
14.
41
Medium
No
Excellent
No
Berdasarkan data pada tabel 2.1., model Naïve Bayes Classifier adalah sebagai berikut : 1. Tentukan P(yes) sebagai probabilitas orang yang membeli komputer dan P(no) sebagai probabilitas orang yang tidak membeli komputer dengan rumus sebagai berikut :
15
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
P(yes/no) =
|doc j| |Contoh|
Rumus 2.3 Perhitungan probabilitas pembelian komputer dan tidak membeli komputer. Dimana doc j adalah banyaknya dokumen yang memiliki kategori j dalam pembelajaran, sedangkan Contoh adalah banyaknya dokumen dalam contoh yang digunakan untuk pembelajaran. Berikut hasil dari perhitungan menggunakan rumus diatas : P(Yes) = 9/14 = 0.64 P(No) = 5/14 = 0.36 2. Kemudian tentukan P(Wk|Yes) dan P(Wk|No) yaitu probabilitas kata wk dalam kategori yes atau no ditentukan dengan rumus berikut : P(Wk|Yes) =
Nk+1 N+|Vocabulary|
Rumus 2.4 Perhitungan probabilitas WK dalam kategori yes atau no Nk adalah frekuensi munculnya kata wk dalam dokumen yang ber kategori yes atau no, sedangkan nilai n adalah banyaknya seluruh kata dalam dokumen berkategori yes atau no, dan vocabulary adalah banyaknya kata dalam contoh pembelajaran. Berikut hasil dari perhitungan probabilitas kata wk :
16
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
a. Probabilitas kelas Age (W1) P(W1=<30|Yes)=(2+1)/(36+10)=0.06 P(W1=<30|No)=(3+1) /(20+10)=0.13 P(W1=31..40|Yes)=(4+1)/(36+10)=0.10 P(W1=31..40|No)=(0+1)/(20+10)=0.03 P(W1=>40|Yes)=(3+1)/(36+10)=0.08 P(W1=>40|No)=(2+1)/(20+10)=0.1 b. Probabilitas kelas Income (W2) P(W2=low|Yes)=(3+1)/(36+10)=0.08 P(W2=low|No)=(1+1)/(20+10)=0.06 P(W2=medium|Yes)=(4+1)/(36+10)=0.10 P(W2=medium|No)=(2+1)/(20+10)=0.1 P(W2=high|Yes)=(2+1)/(36+10)=0.06 P(W2=high|No)=(2+1)/(20+10)=0.1 c. Probabilitas kelas Student (W3) P(W3=yes|Yes)=(6+1)/(36+10)=0.17 P(W3=yes|No) =(1+1)/(20+10)=0.06 P(W3=no|Yes)=(3+1)/(36+10)=0.08 P(W3=no|No)=(4+1)/(20+10)=0.16
17
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
d. Probabilitas kelas Credit_Rating (W4) P(W4=fair|Yes)=(6+1)/(36+10)=0.15 P(W4=fair|No)=(2+1)/(20+10)=0.1 P(W4=excelent|Yes)=(3+1)/(36+10)=0.08 P(W4=excelent|No)=(3+1)/(20+10)=0.13 3. Langkah sekanjutnya adalah mencari nilai probabilitas data testing. Jika diketahui umur 29 tahun, berpenghasilan tinggi (high), bukan pelajar, dan peringkat rating (credit_rating) fair, maka perhitungan probabilitas untuk menentukan membeli komputer atau tidak adalah : P(X|Y=yes) = P(Yes)*(E1=<30|Yes)*P(E2=high|Yes)*P(E3=No|Yes)*P(E4=fair|Yes) = 0.64*0.06*0.06*0.08*0.15 = 3.61 * 10-5 P(X|Y=no) = P(E1=<30|No)*P(E2=high|No)*P(E3=No|No)*P(E4=fair|No) = 0.36*0.13*0.1*0.16*0.1 = 7.93 * 10-5 Rumus 2.5 Perhitungan probabilitas menentukan pembelian komputer Setelah didapatkan hasil likelihood maka hasil tersebut dibagi dengan total hasil likelihood agar mendapatkan nilai probabilitas : P(X|Y=yes) = 3.61 * 10-5/(3.61 * 10-5+7.93 * 10-5) = 0.31 P(X|Y=no)=7.93 * 10-5/(3.61 * 10-5+7.93 * 10-5) = 0.69 Rumus 2.6 Perhitungan likelihood untuk menentukan nilai probabilitas
18
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Berdasarkan hasil perhitungan tersebut, nilai dari probabilitas tidak (0,69) lebih besar jika dibandingkan dengan nilai probabilitas ya (0,31), sehingga dapat disimpulkan bahwa untuk kasus ini calon pembeli yang berumur 29 tahun, berpenghasilan tinggi, bukan pelajar, dan memiliki credit rating fair masuk dalam kelas yang tidak membeli komputer. 2.4
Pengujian
2.4.1 K-Fold Cross Validation Cross-validasi
adalah
metode
statistik
yang
mengevaluasi
dan
membandingkan algoritma pembelajaran dengan membagi data menjadi dua yaitu data training dan data testing. Bentuk dari cross validation adalah k-fold cross validation (Payam R., Lie Tang dan Huan Liu. 2008). Metode k-fold cross validation yang sering dipakai adalah 3-fold cross validation dan 5-fold cross validation. Dalam cross-validation, tentukan nilai folds atau partisi untuk data. Prinsip dari k-fold cross validation adalah membagi tiap kelompok data menjadi k bagian kelompok data yang selanjutnya data tersebut secara bergantian akan digunakan untuk training dan testing sejumlah k pengujian. Berikut gambar dari metode Cross Validation.
19
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 2.2 Ilustrasi metode Cross Validation menggunakan 3 fold 2.4.2 Confusion Matrix Dalam mengukur keakuratan akurasi dari hasil klasifikasi, dapat menggunakan metode confusion matrix. Confusion matrix adalah media yang berguna untuk menganalisis seberapa baik classifier dapat mengenali tupel dari kelas yang berbeda (Tan, Steinbach, & Kumar, 2006). Pada pengerjaannya, confusion matrix memiliki 2 kelas yang diistilahkan menjadi tupel positif dan tupel negatif. True positive menunjukkan bahwa pada tupel positif yang diberi label dengan tepat oleh classifier, sementara true negative adalah tupel negatif yang diberi label dengan tidak tepat oleh classifier. Selanjutnya, terdapat tupel false positive yaitu tupel negative yang diberi label dengan tidak tepat oleh classifier, demikian pula dengan false negative, adalah tupel positif yang diberi label tidak tepat oleh classifier. Dari penjelasan diatas, berbagai istilah tersebut
20
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
nantinya berfungsi untuk menganalisis kemampuan classifier dan diringkas dalam gambar di bawah ini.
Gambar 2.3 Confusion Matrix untuk matrix 2x2 (Tan, Steinbach, & Kumar, 2006) Misalkan terdapat confusion matrix 2x2 seperti pada gambar diatas, maka rumus yang akan digunakan untuk menghitung akurasi dari klasifikasi adalah sebagai berikut :
Rumus 2.7 Perhitungan akurasi dari klasifikasi menggunakan confusion matrix versi 1 Rumus diatas juga dapat didefinisikan seperti pada rumus berikut :
Rumus 2.8 Perhitungan akurasi dari klasifikasi menggunakan confusion matrix versi 2
21
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB III METODOLOGI Bab metodologi ini berisi gambaran proses yang akan dilakukan dalam penelitian dan cara kerja sistem. 3.1
Data Dalam penelitian ini, sistem mengklasifikasikan jenis-jenis hipertensi yang
diidentifikasi dari data yang didapatkan dari rekam medis RSU Provinsi NTB sepanjang tahun 2014 dan 2015 menggunakan algoritma Naïve Bayes. Data ini berjumlah 654, dengan 16 atribut termasuk atribut kelas, yaitu Jenis Kelamin (Sex) Umur, Hemoglobin (HGB), Hematokrit (HCT), White Blood Cell (WBC), PLT, Asam Urat (Uric Acid), Kolesterol total serum, Kolesterol LDL, Kolesterol HDL, Kreatinin, Tekanan Darah (Sistolik dan Diastolik), Trigilserida, dan Ureum. Adapun tiap atribut yang disebutkan diatas memiliki nilai rujukan yang dapat dilihat pada tabel dibawah : Tabel 3.1 Atribut Penyakit Hipertensi Data
Nilai Rujukan
Satuan
Jenis Kelamin
-
-
Umur
-
-
HGB
L : 13.0 – 18.0
Mg %
22
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
P : 11.5 – 16.5 HCT
L : 40.0 – 50.0
Mg %
P : 37.0 – 45.0 WBC
4.0 – 11.0
Mg %
PLT
150 - 400
Mg %
Asam Urat
L : 3.5 – 7.2
Mg %
P : 2.6 – 6.0 Kolesterol LDL
< 130
Mg %
Kolesterol HDL
< 45
Mg %
Kolesterol Total
< 200
Mg %
Kreatinin
L : 0.9 – 1.3
Mg %
P : 0.6 – 1.1
3.2
Ureum
6 - 26
Mg %
Trigilserida
< 200
Mg %
Sistolik
<120 - >=160
mmHG
Diastolik
<80 - >=100
mmHG
Analisis Pengolahan Data Sebelum data diolah menggunakan sistem yang akan dirancang, dilakukan
metode pemrosesan data awal terlebih dahulu sesuai dengan proses KDD. Terdapat 4 langkah dalam melakukan pemrosesan data awal, yaitu pembersihan data (data cleaning), seleksi data, transformasi data, dan penambangan data.
23
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3.2.1 Pembersihan Data Pada tahap ini akan dilakukan pembersihan data yang tidak lengkap, kosong (null), noise, dan data yang tidak konsisten. Dalam langkah ini, data yang bernilai kosong (null), akan dibersihkan dengan cara dihapus secara manual, dan akan dilakukan penghapusan atribut atau mengganti data tersebut. Pembersihan data dilakukan setelah proses integrasi dan seleksi data, dikarenakan proses tersebut akan memudahkan proses pencarian data, sementara proses seleksi data akan mengurangi jumlah data yang akan dibersihkan.
3.2.2 Seleksi Data Pada tahap ini, akan dilakukan penyelesaian data untuk mengurangi data yang tidak relevan, dan berlebihan (redundant). Menurut Tan, Steinbach, dan Kumar (2006), atribut yang tidak relevan adalah atribut yang berisi informasi yang tidak berguna unutk melakukan penambangan data, sedangkan atribut yang berlebihan (redundant) adalah atribut yang menduplikasikan banyak atau semua informasi yang terdapat di dalam satu atau lebih pada atribut lainnya.
3.2.3 Transformasi Data Pada tahap ini akan dilakukan transformasi data. Data hipertensi diklasifikasikan menjadi beberapa jenis sesuai dengan jurnal ilmiah Joint National Comitte on Detection, Evaluation, and Treatment of High Blood Pressure (JNC).
24
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3.2.4 Penambangan Data Data yang telah diproses pada tahap sebelumnya kemudian akan diuji menggunakan algoritma Naïve Bayes. Langkah awal adalah proses input dimana sistem akan membaca data teks. Setelah data dibaca, data berupa string akan tercampur di dalam satu baris data, sehingga data perlu dipisah untuk kemudian diubah ke tipe data double kecuali data kelas, yaitu normal, pre, stadium 1, stadium 2 sehingga data dapat diproses ke dalam perhitungan klasifikasi. Untuk melakukan pemrosesan data tersebut maka sistem perlu menulis ulang data teks hipertensi sehingga data teks hipertensi dapat diproses oleh sistem dan menghasilkan output berupa hasil akurasi dan prediksi jenis hipertensi.
3.3 Perancangan Sistem Pada bagian ini, akan dijelaskan tentang gambaran sistem yang akan dibangun, yaitu berupa diagram Use Case, skenario Use Case, diagram aktifitas, dan desain antarmuka sistem.
3.3.1 Diagram Use Case Aktor dari sistem ini hanya pengguna. Fungsi utama yang dapat dilakukan oleh pengguna adalah melakukan klasifikasi. Pengguna juga dapat mengimpor data dan menentukan jumlah fold.
25
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Ketika sistem melakukan fungsi klasifikasi, sistem akan melakukan proses cross validation, menghitung akurasi dan menampilkan hasil (output) berupa jumlah akurasi dan waktu proses dari algoritma Naïve Bayes.
Gambar 3.1 Diagram Use Case 3.3.2 Deskripsi Use Case Fungsi yang dapat dilakukan oleh pengguna terhadap sistem yang dijelaskan pada diagram use case dapat di deskripsikan sebagai berikut
26
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Tabel 3.2 Tabel Ringkasan Use Case No. 1
Nama Use Case Impor data
Deskripsi Use Case Fungsi ini digunakan untuk memasukkan data ke dalam sistem menggunakan file yang berekstensi .data. Data yang dimasukkan akan di klasifikasikan menggunakan algoritma Naïve Bayes.
2
Pilih fold
Fungsi ini digunakan untuk menentukan jumlah fold yang digunakan dalam proses cross validation.
3
Hitung Akurasi
Fungsi ini digunakan untuk menghitung tingkat akurasi untuk kemudian mendapatkan hasil berupa nilai akurasi dan error rate.
4
Uji Data Tunggal
Fungsi ini digunakan untuk melakukan proses pengujian data tunggal untuk kemudian mendapatkan hasil berupa prediksi kelas dan nilai probabilitas tiap kelas.
3.3.3 Skenario Use Case Skenario use case merupakan penjabaran dari masing-masing use case yang terdapat pada diagram use case.
27
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Tabel 3.3 Tabel Skenario Use Case : Impor Data Nama Use Case
Impor data
Deskripsi
Use case ini digunakan untuk memasukkan data ke dalam
Use Case
sistem menggunakan file yang berekstensi .data
Pra Kondisi
-
Langkah Umum
Kegiatan Aktor Pengguna
Respon Sistem
menekan
tombol open Sistem menampilkan kotak dialog open file Pengguna memilih file yang
diinginkan
dan
menekan tombol open Sistem membaca file dan menampilkan lokasi file ke dalam sistem Alternatif
-
28
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Kesimpulan
Use case ini berhenti apabila data telah masuk dan terbaca oleh sistem.
Tabel 3.4 Tabel Skenario Use Case : Pilih Fold Nama Use Case Deskripsi
Pilih fold
Use Use case ini digunakan untuk menentukan jumlah fold
Case
yang akan digunakan dalam proses cross validation.
Pra Kondisi
Data telah diimpor
Langkah Umum
Kegiatan Aktor Pengguna jumlah
Respon Sistem
memilih fold
yang
diinginkan. Sistem mengeset angka yang telah diganti sebagai fold. Alternatif Kesimpulan
Use case ini berhenti apabila telah memilih angka di combo box dan menekan tombol proses.
29
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Tabel 3.5 Tabel Skenario Use Case : Hitung Akurasi Nama Use Case Deskripsi
Hitung Akurasi
Use Use case ini digunakan untuk melakukan proses uji akurasi
Case
dan menghitung akurasi. Pengguna dapat melihat hasil akurasi yang dihasilkan.
Pra Kondisi
Langkah Umum
-
Data telah dimasukkan ke dalam sistem.
-
Jumlah fold telah ditentukan Kegiatan Aktor
Pengguna
Respon Sistem
menekan
tombol proses Sistem
menampilkan
hasil
akurasi, dan error rate. Alternatif
-
Kesimpulan
Use case ini berhenti apabila telah berhasil menampilkan hasil akurasi, error rate dan jumlah data salah dan benar.
30
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Tabel 3.6 Tabel Skenario Use Case : Uji Data Tunggal Nama Use Case Deskripsi
Uji Data Tunggal
Use Use case ini digunakan untuk melakukan proses uji data
Case
tunggal dan menghitung probabilitas tiap kelas. Pengguna dapat melihat hasil probabilitas dan hasil prediksi yang dihasilkan oleh sistem.
Pra Kondisi
-
Langkah Umum
Data telah dimasukkan ke dalam sistem. Kegiatan Aktor
Pengguna
Respon Sistem
menekan
tombol proses Sistem
menampilkan
hasil
prediksi dan nilai probabilitas Alternatif
-
Kesimpulan
Use case ini berhenti apabila telah berhasil menampilkan hasil prediksi dan nilai probabilitas tiap kelas.
31
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3.3.4 Diagram Aktifitas Diagram aktifitas ini digunakan untuk menunjukkan kegiatan yang dilakukan oleh pengguna dan sistem dalam setiap use case. Berikut rincian diagram aktifitas dari sistem yang dibuat :
3.3.5 Diagram Aktivitas Impor Data
Gambar 3.2 Diagram Aktivitas Mengimpor Data
32
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3.3.6 Diagram Aktivitas Pilih Fold
Gambar 3.3 Diagram Aktivitas Memilih Fold 3.3.7 Diagram Aktivitas Melakukan Uji Akurasi
Gambar 3.4 Diagram Aktivitas Melakukan Uji Akurasi
33
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3.3.8 Diagram Aktivias Melakukan Uji Data Tunggal
Gambar 3.5 Diagram Aktivitas Melakukan Uji Data Tunggal 3.4 Perancangan Algoritma Sistem Naïve Bayes Pada bagian ini akan disebutkan bagaimana proses sistem dalam menjalankan algoritma Naïve Bayes. 3.4.1 Menghitung Kelas Frekuensi 1. Deklarasikan FrekuensiKelas bertipe double[]. 2. Untuk i=0, dan selama memenuhi i
34
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3.4.2 Menghitung Probabilitas Kelas 1. Deklarasikan probs dan freq bertipe double[]. 2. Untuk k=0, dan selama k. 2. Deklarasikan variabel featureName_HT bertipe Hashtable>. 3. Deklarasikan freq bertipe double[]. 4. Deklarasikan total bertipe double. 5. Untuk k=0 , dan selama memenuhi syarat k
35
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
13. Lakukan total = total + Math.pow(2,classScore). 14. Untuk l=0 , dan selama l
Gambar 3.6 Desain halaman utama Halaman beranda merupakan halaman utama yang muncul pertama kali saat sistem dijalankan. Halaman ini memiliki menu bar yaitu menu dan keluar. Saat 36
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
bar menu di klik maka akan menampilkan Gambar 4.2 dan saat bar keluar di klik maka akan keluar dari sistem.
Gambar 3.7 Desain isi Bar Menu 3.5.2 Halaman Bantuan
Gambar 3.8 Desain Halaman Bantuan
37
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Halaman bantuan merupakan halaman yang berfungsi untuk memberikan petunjuk penggunaan sistem kepada pengguna. Petunjuk yang diberikan yaitu cara mengakses form, cara menguji akurasi, cara keluar program. Halaman ini juga memiliki menu bar yaitu bar menu dan keluar. Saat bar menu di klik maka akan menampilkan Gambar 4.2 dan saat bar keluar di klik maka akan keluar dari sistem. 3.5.3 Halaman Uji Akurasi
Gambar 3.9 Desain Halaman Uji Akurasi Halaman uji akurasi merupakan halaman yang berfungsi untuk melakukan uji akurasi terhadap data yang akan di klasifikasi menggunakan algoritma Naïve Bayes. Pada halaman ini pertama-tama pengguna menekan tombol open file untuk
38
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
membuka file data yang akan di klasifikasikan, setelah itu akan muncul kotak dialog seperti gambar 4.5, cari lokasi file lalu tekan tombol open. Selanjutnya isikan jumlah fold pada combo box fold lalu klik button proses untuk melihat hasil akurasi dari file data yang diklasifikasi. 3.5.4 Halaman Uji Data Tunggal
Gambar 3.10 Desain Halaman Uji Data Tunggal Halaman uji data tunggal merupakan halaman yang berfungsi untuk melakukan pengujian data tunggal untuk melakukan prediksi data penyakit hipertensi. Pada halaman ini pertama-tama pengguna menekan tombol open
39
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
dataset dan open data test untuk membuka file data yang akan di uji, setelah itu akan muncul kotak dialog seperti gambar 4.5, cari lokasi file lalu tekan tombol open. Selanjutnya klik button proses untuk melihat hasil prediksi dari file data yang diuji. 3.6 Perancangan Struktur Data Perancangan struktur data dalam pembuatan sistem ini digunakan untuk menyimpan dan mengorganisasikan informasi yang tersedia. Struktur data sendiri dapat membantu pengolahan data agar lebih efisien. Pada sistem yang akan dirancang, struktur data yang digunakan adalah konsep struktur data hashmap. Hashmap atau sering disebut hash tables merupakan struktur data yang sering digunakan untuk mengimplementasikan ADT (Abstract Data Type) pada sebuah Dictionary, yang hanya mengizinkan pencarian, penyisipan, dan penghapusan elemen-elemen yang ada di dalamnya. (Ruli dkk, 2008.). Dalam tabel hash yang digunakan pada Java, setiap lokasi array adalah suatu list berantai yang berisi pasangan kunci/nilai (atau mungkin juga list kosong). Jika dua item memiliki kode hash yang sama, maka kedua item tersebut akan ada pada list yang sama. Berikut desain struktur data dari hashmap :
40
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 3.11 Struktur kode hashmap Pada gambar 3.11., hanya ada satu item dengan kode hash 0, tidak ada item dengan kode hash 1, dua item dengan kode hash 2, dan seterusnya. Pada tabel hash yang dirancang dengan benar, hampir semua list berantai berisi nol atau satu elemen saja, dengan rata-rata panjang list kurang dari 1. Meskipun kode hash dari suatu kunci mungkin tidak membawa kita langsung pada kunci yang kita mau, akan tetapi tidak akan lebih dari satu atau dua item yang harus kita cari sebelum kita sampai pada item yang kita inginkan (Anonim. 2012). 3.7 Pengujian Pengujian dilakukan untuk mengetahui akurasi dari proses klasifikasi. Akurasi merupakan presentase data yang terklasifikasikan dengan benar. Pengujian ini menggunakan k-fold cross validation dengan membagi data menjadi beberapa bagian untuk training dan testing. Dari jumlah data, akan dibagi menjadi beberapa bagian dan digunakan untuk testing dan training. Proses tersebut 41
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
dilakukan beberapa kali dengan kombinasi kelompok data yang berbeda-beda. Hasil dari proses tersebut dapat dibentuk menjadi tabel confusion matrix dimana tabel tersebut dapat diketahui jumlah data yang teridentifikasi secara benar untuk selanjutnya dihitung akurasinya.
42
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
BAB IV IMPLEMENTASI SISTEM Bab ini akan membahas hasil penelitian yang berupa sistem yang telah dibangun berdasarkan perancangan yang telah dibahas pada bab sebelumnya dan hasil yang didapatkan dari sistem. Implementasi yang dijelaskan berupa software dan hardware yang digunakan dalam implementasi sistem dan implementasi kelas pembuatan sistem. 4.1 Spesifikasi Software dan Hardware Spesifikasi software dan hardware yang digunakan dalam implementasi sistem ini adalah :
Bahasa Pemograman
: Java Netbeans IDE 7.2.1
Processorss
: Intel Core i5-5200, 2.7GHz
Memory
: 4 GB
Harddisk
: 500 GB
Operating System (OS)
: Windows 10 Enterprise 64-bit
43
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4.2
Implementasi User Interface Pada bagian ini akan dibahas mengenai implementasi dari sistem yang telah
dirancang pada bab sebelumnya. Sistem ini mempunyai tiga halaman yaitu halaman beranda, halaman bantuan, dan halaman uji akurasi. 4.2.1 Halaman Beranda
Gambar 4.1 Tampilan User Interface Halaman Beranda Halaman beranda merupakan halaman utama yang muncul pertama kali saat sistem dijalankan. Halaman ini memiliki menu bar yaitu menu dan keluar. Saat bar menu di klik maka akan menampilkan Gambar 4.2 dan saat bar keluar di klik maka akan keluar dari sistem. 44
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Gambar 4.2 Tampilan User Interface Isi Bar Menu 4.2.2 Halaman Bantuan
Gambar 4.3 Tampilan User Interface Halaman Bantuan Halaman bantuan merupakan halaman yang berfungsi untuk memberikan petunjuk penggunaan sistem kepada pengguna. Petunjuk yang diberikan yaitu cara mengakses form, cara menguji akurasi, cara keluar program. Halaman ini juga
45
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
memiliki menu bar yaitu bar menu dan keluar. Saat bar menu di klik maka akan menampilkan Gambar 4.2 dan saat bar keluar di klik maka akan keluar dari sistem. 4.2.3 Halaman Uji Akurasi
Gambar 4.4 Tampilan User Interface Uji Akurasi Halaman uji akurasi merupakan halaman yang berfungsi untuk melakukan uji akurasi terhadap data yang akan di klasifikasi menggunakan algoritma Naïve Bayes. Pada halaman ini pertama-tama pengguna menekan tombol open file untuk membuka file data yang akan di klasifikasikan, setelah itu akan muncul kotak dialog seperti gambar 4.5, cari lokasi file lalu tekan tombol open. Selanjutnya
46
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
isikan jumlah fold pada combo box fold lalu klik button proses untuk melihat hasil akurasi dari file data yang diklasifikasi. 4.2.4 Halaman Uji Data Tunggal
Gambar 4.5 Tampilan User Interface Uji Data Tunggal Halaman uji data tunggal merupakan halaman yang berfungsi untuk melakukan prediksi data tunggal hipertensi menggunakan algoritma Naïve Bayes. Pada halaman ini pertama-tama pengguna menekan tombol open dataset untuk membuka file dataset yang akan di klasifikasikan, kemudian menekan tombol open data test untuk membuka file data test yang akan diprediksi setelah itu akan muncul kotak dialog seperti gambar 4.6, cari lokasi file lalu tekan tombol open.
47
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Selanjutnya klik button proses untuk melihat hasil prediksi. Hasil prediksi didapatkan dari hasil probabilitas tertinggi yang muncul pada field.
Gambar 4.6 Tampilan kotak dialog. 4.3 Proses Input Data Pada subbab ini akan dibahas langkah-langkah bagaimana sistem melakukan preprocessing dari data hipertensi RSU Prov. NTB agar data tersebut nantinya dapat dimasukkan ke dalam proses klasifikasi. Data yang digunakan adalah data yang berbentuk teks, agar data teks tersebut dapat diproses dengan klasifikasi maka langkah pertama adalah membaca data teks kemudian menulis ulang menjadi data yang dapat di proses oleh sistem ke dalam klasifikasi.
48
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4.3.1 Membaca Data Teks ke dalam Sistem Pada tahap ini, sistem akan melakukan pembacaan file teks, dimana proses pembacaan teks dilakukan per barisan teks dengan melakukan perulangan untuk membaca teks dari baris awal sampai dengan baris akhir. Berikut kode programnya : public class LineIterator implements Iterable<String>, Iterator<String>, Closeable{ private BufferedReader in = null; private String next = null; Implementasi pada kode program diatas, untuk melakukan perulangan sampai baris terakhir dan selanjutnya dilakukan pembacaan teks per baris. private static InputStream stream(File f) { try { return new FileInputStream(f); } catch (FileNotFoundException e) { throw new RuntimeException(e); } } Kode program diatas berfungsi untuk melakukan pembacaan teks sesuai dengan file yang nantinya dipilih oleh pengguna.
49
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
public LineIterator(Reader reader, boolean skipComments, boolean skipBlanks) { try { in = new BufferedReader(reader); next = in.readLine(); if (next == null) { in.close(); } } catch (IOException e) { throw new RuntimeException(e); } commentIdentifiers.add("#"); commentIdentifiers.add("//"); if (skipComments) { setSkipComments(true); } setSkipBlanks(true); } Kode program diatas akan melakukan pembacaan teks perbaris, dimana jika terdapat comments atau blank dengan inisiasi karakter ‘#’ dan ‘//’ pada teks, maka } tidak dianggap sebagai teks dan akan dilewati. Selanjutnya, untuk melakukan proses perhitungan klasifikasi, sistem perlu melakukan penulisan ulang pada isi dari data teks.
50
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
4.3.2 Menulis Ulang Teks di dalam Sistem Pada tahap ini akan dilakukan penulisan ulang isi dari data teks yang telah dibaca ke dalam sistem agar dapat di proses ke dalam klasifikasi Naïve Bayes. Langkah – langkah yang akan dilakukan sistem yaitu : 1. Memecah nilai berdasarkan separator (pemisah) 2. Mengubah nilai menjadi bertipe double untuk kelas pembanding dan string untuk kelas yang dibandingkan, hal ini dilakukan agar nilai dapat dimasukkan ke dalam proses perhitungan klasifikasi 3. Menyimpan ke dalam dataset. Langkah pertama dalam melakukan penulisan ulang isi dari data teks adalah memecah nilai berdasarkan separator (pemisah). Berikut adalah kode programnya Dataset out = new DefaultDataset(); //disimpan ke dalam out for (String line : it) { String[] arr = line.split(separator); //proses pemisahan value dengan separator double[] values; //menyimpan value Kode program diatas adalah langkah pertama dimana program akan membuat tempat penyimpanan untuk data yang telah ditulis ulang pada out. Kemudian, akan melakukan perulangan sebanyak jumlah baris pada data dan dilakukan pemisahan berdasarkan separator dengan perintah split dan menyimpannya pada string array yaitu arr. Terakhir, membuat tempat
51
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
penyimpanan untuk nilai kelas pembanding yang akan diubah menjadi bertipe double ke dalam double array yaitu values. Langkah kedua adalah mengubah nilai menjadi bertipe double untuk kelas pembanding dan string untuk kelas yang akan dibandingkan. Untuk melakukan hal ini, pertama akan dilakukan perulangan sebanyak jumlah baris yang dipisah (split). Selama melakukan perulangan, masukkan nilai sesuai index dengan ketentuan index ke-0 adalah nilai kelas yang dibandingkan dan index selanjutnya adalah nilai yang dibandingkan kemudian menggabungkan kembali menjadi sebuah array yang berisi nilai kelas yang dibandingkan dan kelas pembanding. String classValue = null; // karena classValue adalah string yes atau no for (int i = 0; i < arr.length; i++) { if (i == classIndex) { //jika i=classValue classValue = arr[i]; // simmpan ke classValue } else { double val; try { val = Double.parseDouble(arr[i]); } catch (NumberFormatException e) { val = Double.NaN; }
52
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
if (classIndex != -1 && i > classIndex) values[i - 1] = val; else values[i] = val; } } out.add(new DenseInstance(values, classValue)); } return out; } Kode program diatas akan melakukan perulangan sebanyak baris yang dipisah kemudian untuk kelas yang ke-0 akan disimpan ke dalam string yaitu kelas value dan kelas index sisanya dikonversi menjadi double, kemudian disimpan ke di array double yaitu values dan terakhir nilai kelas pembanding dan kelas yang dibandingkan ditambahkan ke kelas dense instance untuk kemudian nantinya menjadi data yang dipakai utuk melakukan perhitungan klasifikasi. 4.4
Implementasi Algoritma Naïve Bayes pada Sistem Pada tahap ini akan dijelaskan proses implementasi dari perhitungan
algoritma Naïve Bayes. Langkah-langkah yang dilakukan dalam proses klasifikasi dengan algoritma Naïve Bayes adalah : 1. Menghitung frekuensi kelas yang dibandingkan dan kelas pembanding 2. Menghitung probabilitas yang dibandingkan dan kelas pembanding
53
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
3. Menghitung nilai likelihood dengan mengkalikan semua probabilitas kelas 4. Normalisasi nilai likelihood ke dalam bentuk probabilitas 5. Membandingkan nilai probabilitas likelihood dan nilai tertinggi untuk dijadikan hasil akhir klasifikasi. 4.4.1 Menghitung Frekuensi Kelas Langkah pertama dalam proses klasifikasi algoritma Naïve Bayes adalah menghitung frekuensi kelas. Frekuensi adalah banyaknya sebuah data dalam kategori tertentu. Berikut kode programnya : private double[] HitungFrekuensiKelas(Dataset Instances2Train) { double[] FrekuensiKelas = new double[numClasses]; for (int i = 0; i < numClasses; i++) { FrekuensiKelas[i] = 0; } for (Instance inst : Instances2Train) { FrekuensiKelas[Classname2IndexCCountermap.get(inst.classValue())]++;} return FrekuensiKelas; } Kode program diatas, sistem akan menyimpan nilai dari frekuensi kelas kedalam sebuah array double. Kemudian melakukan perulangan sebanyak jumlah kelas yang dimiliki oleh data hipertensi dan mensetting nilai frekuensi kelas menjadi 0. Selanjutnya dilakukan perulangan sehingga frekuensi kelas akan
54
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
otomatis bertambah 1 sesuai dengan setiap data yang muncul pada kategori tertentu. Lalu, sistem akan menambahkan satu pada tiap kelas pembanding yang muncul, hal ini dapat dilakukan dikarenakan Classname2IndexCCountermap dapat mendeteksi kepemilikan kelas pada nilai kelas pembanding sehingga ketika nilai keluar, maka pada kelas pemilik sistem akan menambahkan nilai satu. for (Object o : trainingData.classes()) { String classname = o.toString(); Classname2IndexCCountermap.put(classname, cnt); classes[cnt] = classname; cnt++; } Kode program diatas, sistem membuat nama untuk tiap nilai kelas pembanding pada data training, sehingga sistem akan menambah nilai frekuensi kelas data ketika dipanggil. 4.4.2 Menghitung Probabilitas Kelas Langkah kedua adalah menghitung probabilitas kelas dari masing-masing kelas. Dalam proses klasifikasi Naive Bayes, perhitungan probabilitas kelas dapat dihitung menggunakan rumus berikut : P(Wk|Vj) =
Nk+1 N+|vocabulary|
Rumus 4.1 Perhitungan probabilitas P(Wk | Vj)
55
PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
Rumus diatas akan diimplemetaskan ke dalam kode program berikut : private double[] HitungProbsKelas() { double[] probs = trainResult.getClassFreqs().clone(); // menyimpan probabilitas kelas double[] freq = trainResult.getClassFreqs().clone(); for (int k = 0; k < numClasses; k++) { probs[k] = (freq[k] + 1) / (numInstances + numClasses);
} return probs; }
Pada kode program diatas, sistem akan membuat sebuah array untuk menyimpan nilai frekuensi dan probabilitas, kemudian lakukan iterasi sebanyak jumlah kelas untuk melakukan perhitungan probabilitas. 4.4.3
Menghitung Kelas Distribusi Naïve Bayes Langkah ketiga adalah menghitung probabilitas likelihood dari Naïve Bayes
dengan mengkalikan semua probabilitas kelas, kemudian menormalisasi hasil likelihood ke dalam bentuk probabilitas, dan kemudian membandingkan probabilitas kelas yang dibandingkan untuk mendapatkan hasil akhir dari klasifikasi. Yang pertama dilakukan adalah membuat suatu tempat penyimpanan untuk menyimpan nilai frekuensi, fitur tabel dan menyimpan hasil klasifikasi. Berikut kode programnya :