Upload
others
View
9
Download
0
Embed Size (px)
Citation preview
1
IMPLEMENTASI ALGORITMA MODIFIED K-NEAREST
NEIGHBOR (MKNN) UNTUK KLASIFIKASI PENYAKIT DEMAM
SKRIPSI
Untuk memenuhi sebagian persyaratan memperoleh gelar Sarjana Komputer
Disusun oleh: FAKIHATIN WAFIYAH
NIM: 135150207111028
PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER UNIVERSITAS BRAWIJAYA
MALANG 2017
2
PENGESAHAN
Implementasi Algoritma Modified K-Nearest Neighbor (MKNN) untuk Klasifikasi Penyakit Demam
SKRIPSI
Diajukan untuk memenuhi sebagian persyaratan
memperoleh gelar Sarjana Komputer
Disusun Oleh : Fakihatin Wafiyah
NIM: 135150207111028
Skripsi ini telah diuji dan dinyatakan lulus pada 16 Juni 2017
Telah diperiksa dan disetujui oleh:
Dosen Pembimbing I
Nurul Hidayat, S.Pd, M.Sc NIP: 19680430 200212 1 001
Dosen Pembimbing II
Rizal Setya Perdana, S.Kom., M.Kom NIK: 201603 910118 1 001
Mengetahui Ketua Jurusan Teknik Informatika
Tri Astoto Kurniawan, S.T, M.T, Ph.D NIP: 19710518 200312 1 001
3
IDENTITAS PENGUJI
Penguji I (Ketua Majelis)
Nama : Indriati, S.T, M.Kom
NIP/NIK : 19831013 201504 2 002
Email : [email protected]
Penguji II
Nama : Candra Dewi, S.Kom, M.Sc
NIP/NIK : 19771114 200312 2 001
Email : [email protected]
4
PERNYATAAN ORISINALITAS
Saya menyatakan dengan sebenar-benarnya bahwa sepanjang pengetahuan saya, di dalam naskah skripsi ini tidak terdapat karya ilmiah yang pernah diajukan oleh orang lain untuk memperoleh gelar akademik di suatu perguruan tinggi, dan tidak terdapat karya atau pendapat yang pernah ditulis atau diterbitkan oleh orang lain, kecuali yang secara tertulis disitasi dalam naskah ini dan disebutkan dalam daftar pustaka.
Apabila ternyata didalam naskah skripsi ini dapat dibuktikan terdapat unsur-unsur plagiasi, saya bersedia skripsi ini digugurkan dan gelar akademik yang telah saya peroleh (sarjana) dibatalkan, serta diproses sesuai dengan peraturan perundang-undangan yang berlaku (UU No. 20 Tahun 2003, Pasal 25 ayat 2 dan Pasal 70).
Malang, 23 April 2017
Fakihatin Wafiyah
NIM: 135150207111028
5
DAFTAR RIWAYAT HIDUP
1. DATA PRIBADI Nama : Fakihatin Wafiyah Tempat dan tanggal lahir : Gresik, 24 Oktober 1994 Jenis kelamin : Perempuan Alamat : Setrohadi, Duduk sampeyan, Gresik, Jawa Timur No. Telepon : 085784532232 2. PENDIDIKAN FORMAL Pendidikan Tempat Jurusan Tahun 1. MI Miftahul Huda Gresik - 2000 – 2006 2. MTS Mambaus Sholihin Gresik - 2006 – 2009 3. SMAU BPPT Al-Fattah Lamongan IPA 2009 – 2012 4. Universitas Brawijaya Malang Informatika 2013 - 2017
3. PENGALAMAN ORGANISASI
1. 2009 - 2010 Anggota Seksi I OSIS SMAU BPPT Al-Fattah 2. 2010 - 2011 Koordinator Seksi I OSIS SMAU BPPT Al-Fattah 3. 2010 – 2011 Dewan Ambalan Gugus Depan SMAU BPPT Al-Fattah 4. 2014 – sekarang Anggota IAAS LC-UB , Divisi Public Relation
4. PENGALAMAN KERJA
1. 2015-2016 Asisten Basis Data Laboratorium Sistem Informasi
Fakultas Ilmu Komputer Universitas Brawijaya 2. 2015-2016 Asisten Pemrograman Basis Data Laboratorium
Sistem Informasi Fakultas Ilmu Komputer Universitas Brawijaya
3. 2015-2016 Asisten Data Mining dan Data Warehouse Laboratorium Sistem Informasi Fakultas Ilmu Komputer Universitas Brawijaya
4. 2016-2017 Asisten Adminitrasi Basis Data Laboratorium Fakultas Ilmu Komputer Universitas Brawijaya
6
ABSTRAK
Fakihatin Wafiyah. 2017 : Implementasi Algoritma Modified K-Nearest Neighbor (MKNN) untuk Klasifikasi Penyakit Demam. Skripsi Program Studi Informatika / Ilmu Komputer, Fakultas Ilmu Komputer, Universitas Brawijaya. Dosen Pembimbing : Nurul Hidayat, S.Pd, M.Sc dan Rizal Setya Perdana, S.Kom, M.Kom.
Demam merupakan indikator awal untuk beberapa penyakit antara lain demam berdarah, tifoid dan malaria disertai gejala yang mirip, antara lain nyeri otot, gangguan pencernaan, kondisi lidah serta pembesaran pada hati dan limpa. Kemiripan gejala dari masing-masing penyakit sering menimbulkan kesulitan dalam mendapatkan anamnese (diagnosa sementara) sehingga pasien mendapatkan penanganan awal yang kurang tepat. Untuk menangani masalah tersebut diperlukan teknologi untuk mendapatkan diagnosa sementara dengan menerapkan salah satu metode klasifikasi yaitu Modified K-Nearest Neighbor (MKNN). Metode tersebut mempelajari pola dari data hasil pemeriksaan sebelumnya berdasarkan 15 gejala penyakit dengan proses perhitungan jarak eucledian, perhitungan nilai validitas dan perhitungan weighted voting yang hasil akhirnya digunakan untuk penetapan kelas klasifikasi berdasarkan nilai K yang telah ditentukan. Berdasarkan hasil pengujian terhadap perubahan nilai K, perubahan jumlah data latih dan perubahan komposisi data latih didapatkan rata-rata akurasi untuk pengujian pengaruh nilai K terhadap akurasi sebesar 88.55%. Nilai rata-rata akurasi yang didapatkan dari pengujian pengaruh variasi jumlah data latih adalah 92.42%. Pengujian pengaruh komposisi data latih terhadap akurasi mendapatkan nilai rata-rata akurasi sebesar 87.89%. Pengujian pengaruh komposisi data latih dan data uji terhadap akurasi mendapatkan nilai rata-rata akurasi sebesar 96.35%.
Kata Kunci : Modified K-Nearest Neighbor (MKNN), Klasifikasi, Demam, Malaria, Tifoid, Demam Berdarah (DBD).
7
ABSTRACT
Fakihatin Wafiyah. 2017 : Implementation of Modified K-Nearest Neighbor Algorithm to Classify Fever Diseases . Essay Studies Program Informatics / Computer Science, Faculty of Computer Science, University of Brawijaya. Supervisors : Nurul Hidayat, S.Pd, M.Sc and Rizal Setya Perdana, S.Kom, M.Kom.
Fever is an early indicator for some diseases such as dengue fever, typhoid and malaria accompanied by similar symptoms, including muscle pain, indigestion, tongue condition and enlargement of the liver and spleen. Similar symptoms of each disease cause difficulties in getting anamnese (temporary diagnosis) so that patients get the inadequate initial treatment. Handling the problem, technology is needed to obtain a temporary diagnosis by applying one of the classification method of Modified K-Nearest Neighbor (MKNN). The method studied the pattern of previous examination data based on 15 symptoms of disease with eucledian distance calculation process, calculation of validity value and weighted voting calculation that the end result is used for class classification determination based on predetermined value of K. Testing of the value of K get the accuracy of 88.55%. The average value of accuracy obtained from testing of variation in the amount of training data is 92.42%. Testing the influence of the composition of train data get the average value of accuracy of 87.89%. Testing the influence of the composition of train data and test data get the average value of accuracy of 96.35%.
Keyword: Modified K-Nearest Neighbor (MKNN), Classification, Fever, Malaria, Typhoid, Dengue Fever (DHF).
8
KATA PENGANTAR
Puji dan syukur penulis panjatkan atas kehadirat Allah SWT yang telah melimpahkan segala rahmat dan karunia-Nya, sehingga penulis dapat menyelesaikan penulisan skripsi yang berjudul “Implementasi Algoritma Modified K-Nearest Neighbor (MKNN) untuk Klasifikasi Penyakit Demam”, yang diajukan untuk menempuh Ujian Akhir Sarjana Program Strata Satu Jurusan Informatika.
Selesainya penulisan skripsi ini tidak terlepas dari peran serta berbagai pihak. Oleh karena itu, pada kesempatan ini penulis menyampaikan terima kasih yang sebesar-besarnya kepada:
1. Allah SWT atas segala limpahan karunia, rahmat, dan hidayah-Nya. 2. Bapak Wayan Firdaus Mahmudy, S.Si, M.T, Ph.D selaku Dekan Fakultas Ilmu
Komputer Universitas Brawijaya Malang. 3. Bapak Tri Astoto Kurniawan, S.T, M.T, Ph.D selaku Ketua Jurusan Teknik
Informatika Universitas Brawijaya Malang. 4. Bapak Agus Wahyu Widodo, S.T, M.Cs selaku Ketua Program Studi Teknik
Informatika Universitas Brawijaya Malang. 5. Bapak Nurul Hidayat, S.Pd, M.Sc dan Bapak Rizal Setya Perdana, S.Kom, M.Kom,
selaku dosen pembimbing penulis yang dengan sabar memberikan kritik, saran, serta arahan yang baik dalam proses pengerjaan skripsi ini.
6. Seluruh Bapak dan Ibu Dosen serta Staff Akademik di Program Studi Informatika / Ilmu Komputer Fakultas Ilmu Komputer Universitas Brawijaya Malang.
7. Orang Tua dan Keluarga atas segenap dukungan dan kasih sayang yang telah diberikan kepada kami.
8. Muhammad Wafi, S.Kom yang telah membantu penulis dalam menyelesaikan pengerjaan tugas akhir ini
Penulis menyadari bahwa dalam penyusunan skripsi ini masih banyak terdapat kekurangan. Untuk itu penulis menyampaikan permohonan maaf sebelumnya, serta sangat diharapkan kritik dan saran yang bersifat membangun dalam penyempurnaan di masa mendatang.
Malang, 14 April 2017
Penulis
9
DAFTAR ISI
PENGESAHAN................................................................................................................................ ii
PERNYATAAN ORISINALITAS ......................................................................................................... iii
KATA PENGANTAR ........................................................................................................................ iv
ABSTRAK ....................................................................................................................................... v
ABSTRACT ..................................................................................................................................... vi
DAFTAR ISI .................................................................................................................................... vii
DAFTAR TABEL .............................................................................................................................. xi
DAFTAR GAMBAR ......................................................................................................................... xii
DAFTAR SOURCE CODE ................................................................................................................. xiv
BAB 1 PENDAHULUAN .................................................................................................................. 1
1.1 Latar belakang ........................................................................................................................ 1
1.2 Rumusan masalah ................................................................................................................... 2
1.3 Tujuan ..................................................................................................................................... 3
1.4 Manfaat .................................................................................................................................. 3
1.5 Batasan masalah ..................................................................................................................... 3
1.6 Sistematika pembahasan ........................................................................................................ 3
BAB 2 LANDASAN KEPUSTAKAAN ................................................................................................. 5
2.1 Kajian Pustaka ......................................................................................................................... 5
2.2 Klasifikasi ................................................................................................................................ 7
2.3 Normalisasi Data ..................................................................................................................... 7
2.4 Demam ................................................................................................................................... 9
2.4.1 Demam Berdarah (Dengue Haemoragic Fever) .................................................................. 10
2.4.2 Demam Tifoid ...................................................................................................................... 11
2.4.3 Demam Malaria ................................................................................................................... 11
2.5 Algoritma Modified K-Nearest Neighbor (MKNN).................................................................. 12
2.6 Akurasi Sistem ........................................................................................................................ 14
BAB 3 METODOLOGI ..................................................................................................................... 15
3.1 Studi Literatur ......................................................................................................................... 15
3.2 Analisis Kebutuhan ................................................................................................................. 16
3.3 Pengumpulan Data ................................................................................................................. 16
10
3.4 Pengolahan Data ..................................................................................................................... 16
3.5 Perancangan ........................................................................................................................... 19
3.6 Implementasi .......................................................................................................................... 19
3.7 Pengujian ................................................................................................................................ 19
3.8 Kesimpulan ............................................................................................................................. 19
BAB 4 Perancangan ....................................................................................................................... 20
4.1 Deskripsi Sistem ...................................................................................................................... 20
4.2 Preprocessing Data ................................................................................................................. 21
4.3 Perancangan Proses................................................................................................................ 22
4.3.1 Perancangan Proses Klasifikasi ............................................................................................ 22
4.3.1.1 Normalisasi Data ............................................................................................................... 23
4.3.1.2 Proses Klasifikasi Modified K-Nearest Neighbor (MKNN) ................................................ 24
4.3.1.3 Perancangan Perhitungan Validitas ................................................................................. 25
4.3.1.4 Perancangan Perhitungan Weighted Voting .................................................................... 26
4.3.1.5 Perancangan Perhitungan Jarak Eucledian ...................................................................... 27
4.4 Perhitungan Manual ............................................................................................................... 28
4.5 Perancangan Antamuka.......................................................................................................... 36
4.5.1 Desain Antarmuka Halaman Login ...................................................................................... 36
4.5.2 Desain Antarmuka Halaman Beranda ................................................................................. 36
4.5.3 Desain Antarmuka Halaman Gejala ..................................................................................... 36
4.5.4 Desain Antarmuka Halaman Gejala ..................................................................................... 37
4.5.5 Desain Antarmuka Halaman Data Latih .............................................................................. 37
4.5.6 Desain Antarmuka Halaman Data Uji .................................................................................. 38
4.5.7 Desain Antarmuka Halaman Perhitungan MKNN ............................................................... 38
4.5.8 Desain Antarmuka Halaman Pengujian ............................................................................... 39
4.5.9 Desain Antarmuka Halaman Diagnosa ................................................................................ 40
4.6 Perancangan Pengujian .......................................................................................................... 40
4.6.1 Pengujian Akurasi dengan K Tetangga ................................................................................ 40
4.6.2 Pengujian Akurasi dengan Komposisi Data Latih ................................................................ 41
4.6.3 Pengujian Akurasi dengan Total Data Latih ......................................................................... 41
4.6.4 Pengujian Akurasi dengan Total Data Latih dan Data Uji .................................................... 41
BAB 5 implementasi...................................................................................................................... 43
11
5.1 Spesifikasi Sistem .................................................................................................................... 43
5.1.1 Spesifikasi Perangkat Keras ................................................................................................. 43
5.1.2 Spesifikasi Perangkat Lunak................................................................................................. 44
5.2 Batasan Implementasi ............................................................................................................ 44
5.3 Implementasi Algoritma ......................................................................................................... 45
5.3.1 Implementasi Proses Normalisasi Data Latih ...................................................................... 45
5.3.2 Implementasi Proses Normalisasi Data Uji.......................................................................... 48
5.3.3 Implementasi Proses Perhitungan Jarak antar Data Latih .................................................. 50
5.3.4 Implementasi Proses Perhitungan Nilai Validitas ................................................................ 51
5.3.5 Implementasi Proses Perhitungan Jarak Data Latih dan Data Uji ....................................... 53
5.3.6 Implementasi Proses Perhitungan Weighted Voting .......................................................... 54
5.4 Implementasi Antarmuka ....................................................................................................... 56
5.4.1 Halaman Awal ...................................................................................................................... 56
5.4.2 Halaman Data Gejala ........................................................................................................... 56
5.4.3 Halaman Data Latih Pasien .................................................................................................. 57
5.4.4 Halaman Data Uji Pasien ..................................................................................................... 58
5.4.5 Halaman Perhitungan Metode MKNN ................................................................................ 59
5.4.6 Halaman Pengujian .............................................................................................................. 63
5.4.7 Halaman Diagnosa ............................................................................................................... 63
BAB 6 pengujian dan analisis ........................................................................................................ 64
6.1 Pengujian Pengaruh Nilai K Terhadap Akurasi ....................................................................... 64
6.1.1 Skenario dan Hasil Pengujian .............................................................................................. 64
6.1.2 Analisa Hasil Pengujian ........................................................................................................ 65
6.2 Pengujian Pengaruh Jumlah Data Latih Terhadap Akurasi ..................................................... 65
6.2.1 Skenario Pengujian .............................................................................................................. 65
6.2.2 Analisa Hasil Pengujian ........................................................................................................ 66
6.3 Pengaruh Pengujian Komposisi Data Latih Terhadap Akurasi................................................ 67
6.3.1 Skenario Pengujian .............................................................................................................. 67
6.3.2 Analisa Hasil Pengujian ........................................................................................................ 68
6.4 Pengaruh Pengujian Komposisi Data Latih dan Data Uji Terhadap Akurasi ........................... 68
6.4.1 Skenario Pengujian .............................................................................................................. 68
6.4.2 Analisa Hasil Pengujian ........................................................................................................ 70
12
BAB 7 kesimpulan dan saran ........................................................................................................ 71
7.1 Kesimpulan ............................................................................................................................. 71
7.2 Saran ....................................................................................................................................... 72
DAFTAR PUSTAKA ......................................................................................................................... 73
LAMPIRAN ..................................................................................................................................... 75
A. Data Asli Hasil Pemeriksaan Pasien .......................................................................................... 75
13
DAFTAR TABEL
Tabel 2.1 Tinjauan Pustaka ........................................................................................................... 6
Tabel 3.2 Kriteria Penilaian Klasfikasi ........................................................................................... 17
Tabel 4.1 Bobot untuk Gejala Demam ......................................................................................... 21
Tabel 4.2 Daftar Data Latih ........................................................................................................... 29
Tabel 4.3 Daftar Data Uji .............................................................................................................. 30
Tabel 4.4 Normalisasi Data Latih .................................................................................................. 30
Tabel 4.5 Normalisasi Data Uji...................................................................................................... 31
Tabel 4.6 Hasil Perhitungan Jarak Eucledian antar data latih ...................................................... 32
Tabel 4.7 Hasil Perhitungan Nilai Validitas Data Latih ................................................................. 33
Tabel 4.8 Hasil Perhitungan Jarak Eucledian Data Latih dan Data Uji .......................................... 34
Tabel 4.9 Hasil Perhitungan Weighted Voting ............................................................................. 35
Tabel 4.10 Perbandingan Hasil Perhitungan Manual dan Data Rumah Sakit .............................. 35
Tabel 4.11 Contoh Pengujian Akurasi dengan K Tetangga ........................................................... 40
Tabel 4.12 Contoh Pengujian Akurasi dengan Komposisi Data Latih ........................................... 41
Tabel 4.13 Contoh Pengujian Akurasi dengan Total Data Latih ................................................... 41
Tabel 4.14 Contoh Pengujian Akurasi dengan Total Data Latih dan Data Uji .............................. 42
Tabel 5.1 Spesifikasi Perangkat Keras .......................................................................................... 44
Tabel 5.2 Spesifikasi Perangkat Lunak .......................................................................................... 44
Tabel 6.1 Hasil Pengujian Pengaruh Nilai K .................................................................................. 64
Tabel 6.2 Hasil Pengujian Pengaruh Jumlah Data Latih ............................................................... 66
Tabel 6.3 Hasil Pengujian Pengaruh Komposisi Data Latih .......................................................... 67
Tabel 6.4 Hasil Pengujian Pengaruh Komposisi Data Latih dan Data Uji ..................................... 69
14
DAFTAR GAMBAR
Gambar 3.1 Alur Metode Penelitian ............................................................................................ 15
Gambar 3.2 Kerangka Kerja Penelitian ......................................................................................... 18
Gambar 4.1 Alur Perancangan...................................................................................................... 20
Gambar 4.2 Diagram Alir Proses Sistem ....................................................................................... 23
Gambar 4.3 Diagram Alir Proses Normalisasi ............................................................................... 24
Gambar 4.4 Diagram Alir Proses Klasifikasi MKNN ...................................................................... 25
Gambar 4.5 Diagram Alir Perhitungan Validitas........................................................................... 26
Gambar 4.6 Diagram Alir Perhitungan Weighted Voting ............................................................. 27
Gambar 4.7 Diagram Alir Perhitungan Jarak Eucledian ............................................................... 28
Gambar 4.8 Antarmuka Halaman Login ....................................................................................... 36
Gambar 4.9 Antarmuka Halaman Beranda .................................................................................. 36
Gambar 4.10 Antarmuka Halaman Gejala .................................................................................... 37
Gambar 4.11 Antarmuka Halaman Data Latih ............................................................................. 38
Gambar 4.12 Antarmuka Halaman Data Uji ................................................................................. 38
Gambar 4.13 Antarmuka Halaman Perhitungan MKNN .............................................................. 39
Gambar 4.14 Antarmuka Halaman Pengujian .............................................................................. 39
Gambar 4.15 Antarmuka Halaman Diagnosa ............................................................................... 40
Gambar 5.1 Konsep Implementasi ............................................................................................... 43
Gambar 5.2 Halaman Awal Sistem ............................................................................................... 56
Gambar 5.3 Halaman Daftar Gejala.............................................................................................. 57
Gambar 5.4 Halaman Tambah Gejala ........................................................................................... 57
Gambar 5.5 Halaman Data Latih Pasien ....................................................................................... 58
Gambar 5.6 Halaman Tambah Data Latih .................................................................................... 58
Gambar 5.7 Halaman Data Uji Pasien .......................................................................................... 59
Gambar 5.8 Halaman Tambah Data Uji Pasien ............................................................................ 59
Gambar 5.9 Halaman Normalisasi Data Latih .............................................................................. 60
Gambar 5.10 Halaman Normalisasi Data Uji ................................................................................ 60
Gambar 5.11 Halaman Perhitungan Jarak Eucledian antar Data Latih ........................................ 61
Gambar 5.12 Halaman Perhitungan Nilai Validitas ...................................................................... 61
Gambar 5.13 Halaman Perhitungan Jarak Eucledian Data Latih dan Data Uji ............................. 62
15
Gambar 5.14 Halaman Perhitungan Weighted Voting ................................................................. 62
Gambar 5.15 Halaman Pengujian ................................................................................................. 63
Gambar 6.1 Grafik Hasil Pengujian Pengaruh Nilai K ................................................................... 65
Gambar 6.2 Grafik Hasil Pengujian Pengaruh Jumlah Data Latih ................................................. 66
Gambar 6.4 Grafik Hasil Pengujian Pengaruh Komposisi Data Latih dan Data Uji....................... 68
16
DAFTAR SOURCE CODE
Source Code 5.1 Implementasi Proses Normalisasi Data Latih .................................................... 47
Source Code 5.2 Implementasi Proses Normalisasi Data Uji ....................................................... 50
Source Code 5.3 Implementasi Proses Perhitungan Jarak antar Data Latih ................................ 51
Source Code 5.4 Implementasi Proses Perhitungan Nilai Validitas ............................................. 53
Source Code 5.5 Implementasi Perhitungan Jarak Data Latih dan Data Uji ................................ 54
Source Code 5.6 Implementasi Proses Perhitungan Weighted Voting ........................................ 55
BAB 1 PENDAHULUAN
1.1 Latar belakang
Demam adalah peningkatan suhu tubuh di atas 36o C yang disebabkan oleh faktor infeksi atau faktor non infeksi (Dinarello, 2005). Demam merupakan hal yang sering terjadi pada manusia dan merupakan indikator bahwa tubuh sedang melakukan perlawan terhadap zat-zat berbahaya. Beberapa penyakit selalu diawali dengan demam disertai gejala lain antara lain meningitis, infeksi saluran pernapasan, infeksi saluran kandung kemih. Penyakit demam tersebut adalah demam berdarah, demam tifoid dan malaria. Demam Tifoid merupakan penyakit kategori ketiga teratas dari sepuluh jenis penyakit yang menjadi masalah kesehatan untuk beberapa Negara maju (Depkes RI, 2012). Data pasien untuk demam tifoid berdasarkan Daftar Tabulasi Data (DTD) sejumlah 55.098 pasien dengan persentase angka kematian 2.06%. Masalah penyakit demam berdarah menjadi masalah yang mendapatkan perhatian khusus, hal ini dikarenakan total pasien demam berdarah selama 30 tahun terakhir mengalami kenaikan yang sangat signifikan dengan total kasus sebanyak 189.695 dan total kasus kematian 1.395 (Depkes RI, 2008a). Angka kasus demam berdarah di Jawa Timur pada tahun 2015 mengalami kenaikan cukup signifikan dari total kasus 980 kasus menjadi 1.814 kasus dengan persentase kenaikan sebesar 46% pada bulan januari tahun 2014. Penyakit demam berdarah dapat menyerang anak-anak dan orang dewasa dengan indikator utama adalah demam disertai rasa nyeri pada otot dan sendi dengan kondisi yang semakin memburuk pada hari kedua dan seterusnya (Sylvana, 2000). Penyakit Malaria merupakan jenis penyakit yang disebabkan oleh parasit Plasmodium falciparum dan Plasmodium vivax atau campuran antara keduanya. Jenis penyakit ini sangat berbahaya dengan total pasien sebanyak 15 juta yang mengakibatkan kematian pasien mencapai 30.000 setiap tahun (Depkes, 2013). Gejala-gejala yang dialami oleh penderita malaria antara lain demam, menggigil, sakit kepala, gangguan pencernaan, pendarahan di hidung, gangguan kesaradan dan pembesaran pada limpa (Husin, 2007). Ketiga jenis penyakit ini memiliki beberapa indikator untuk diagnosa klinis antara lain, Demam, nyeri otot, gangguan pencernaan, kondisi lidah serta pembesaran pada hati dan limpa (Annisa, 2016). Kemiripan gejala dari masing-masing penyakit sering menimbulkan kesulitan dalam mendapatkan anamnese (diagnosa sementara) sehingga pasien mendapatkan penanganan awal yang kurang tepat dan semakin memperburuk kondisi pasien (Hariman, 2014). Kemajuan teknologi telah membantu menyelesaikan permasalahan di berbagai bidang terutama bidang kesehatan, kesalahan dalam melakukan diagnosa dapat dicegah dengan mempelajari pola dari data hasil pemeriksaan pasien demam berdarah, demam tifoid dan malaria sehingga gejala-gejala tersebut dapat diklasifikasikan berdasarkan kedekatan antara data lama dengan data baru. Proses klasfikasi menggunakan komputer dapat diterapkan dengan menggunakan beberapa algoritma antara lain, K-Nearest Neighbor, Modified K-Nearest Neighbor (MKNN), Naïve Bayes, Fuzzy Tsukamoto atau gabungan antara dua metode-metode tersebut seperti, Fuzzy K-Nearest Neighbor (FK-NN). Salah satu penelitian mengenai klasfikasi penyakit demam berdarah, demam tifoid dan malaria dilakukan oleh Ramdhani Bima Arista (Arista, et al., n.d.) menggunakan algoritma naïve bayes dengan memetakan gejala-gejala yang dialami oleh pasien kemudian menampilkan output berupa jenis penyakit sesuai dengan gejala yang diinputkan oleh user.
Penelitian menggunakan algoritma tersebut menunjukkan nilai akurasi yang rendah dengan persentase sebesar 43%. Penelitian selanjutnya dilakukan oleh Sofa Zainuddin (2014) untuk mengklasifikasi penyakit pada tanaman kedelai menggunakan algoritma Modified K-Nearest Neighbor (MKNN). Proses klasifikasi dilakukan dengan menggunakan 300 data latih dan 34 variabel mengenai morfologi tanaman kedelai sehingga hasil dari penelitian dapat mengklasfikasikan penyakit-penyakit pada tanaman kedelai dengan akurasi sebesar 92.74%. MKNN merupakan algoritma yang dikembangkan dari algoritma KNN, algoritma MKNN menambahkan proses baru untuk melakukan klasifikasi yaitu, perhitungan nilai validitas untuk mempertimbangkan validitas antar data latih dan pehitungan weighted voting untuk menghitung bobot dari masing-masing terdekat. Penambahan 2 proses baru dalam MKNN diharapkan dapat memperbaiki setiap kesalahan pada proses K-NN. Berdasakan penelitian yang telah dilakukan menggunakan algoritma MKNN untuk melakukan klasifikasi terhadap beberapa penyakit baik pada tumbuhan dan hewan dan mendapatkan hasil penelitian yang bagus penulis tertarik ingin melakukan penelitian dengan judul “IMPLEMENTASI ALGORITMA MODIFIED K-NEAREST NEIGHBOR (MKNN) UNTUK KLASIFIKASI PENYAKIT DEMAM”. Penelitian ini bertujuan untuk memudahkan ahli medis dalam memperoleh anamnese (diagnosa sementara) dengan cara mengklasfikasi gejala-gejala yang dialami oleh pasien berdasarkan K data tetangga terdekat kepada salah satu penyakit demam yaitu, demam berdarah, malaria dan tifoid.
1.2 Rumusan masalah
Berdasarkan penjabaran masalah pada latar belakang, dapat dirumuskan permasalahan dalam penelitian adalah sebagai berikut:
1. Bagaimana hasil implementasi metode Modified K-Nearest Neighbor (MKNN) dalam melakukan klasifikasi demam berdasarkan gejala dari penyakit demam berdarah, demam tifoid dan demam malaria?
2. Berapa Nilai akurasi dalam proses klasifikasi demam menggunakan algoritma Modified K-Nearest Neighbor?
1.3 Tujuan
Tujuan dari penelitian ini adalah sebagai berikut:
1. Menerapkan algoritma Modified K-Nearest Neighbor dalam klasifikasi demam. 2. Mengukur nilai kualitas yang dihasilkan algoritma Modified K-Nearest Neighbor dalam
klasifikasi demam.
1.4 Manfaat
Manfaat dari penelitian untuk klasifikasi penyakit demam berdarah, demam tifoid untuk dan malaria adalah untuk dapat memudahkan tim medis dalam melakukan diagnosa awal terhadap penyakit demam berdarah, demam tifoid dan malaria yang memiliki gejala-gejala yang sangat mirip sehingga pasien dapat mendapatkan penanganan yang tepat.
1.5 Batasan masalah
Penelitian ini terbatas pada permasalahan di bawah ini:
1. Data yang digunakan berasal dari Rumah Sakit Selasih Kabupaten Riau yang terdiri atas 133 Data yaitu 100 Data Latih dan 33 Data Uji.
2. Klasifikasi demam menggunakan algoritma MKNN dilakukan berdasarkan 15 gejala penyakit demam.
3. Data input merupakan bobot dari 15 gejala penyakit demam sesuai dengan kriteria bobot yang telah diberikan oleh pihak rumah sakit Selasih.
4. Output sistem merupakan hasil klasifikasi demam yaitu, demam berdarah, demam tifoid dan demam malaria.
1.6 Sistematika pembahasan
Sistematika Penelitian ini menggunakan kerangka penulisan yang tersusun sebagai berikut :
BAB I PENDAHULUAN
Pembahasan pada Bab ini meliputi Latar Belakang, Rumusan Masalah, tujuan, manfaat dari implementasi Algoritma Modified K-Nearest Neigbour melakukan klasifikasi demam.
BAB II LANDASAN TEORI
Pembahasan pada Bab ini adalah mengkaji beberapa penelitian yang telah dilakukan menggunakan Algoritma Modified K-Nearest Neigbour, serta menjelasakan beberapa dasar teori dan referensi yang mendasari perancangan dan implementasi Algoritma Modified K-Nearest Neigbor melakukan klasifikasi demam.
BAB III METODOLOGI PENELITIAN
Pembahasan bab ini adalah untuk menjabarkan proses-proses perancangan dan analisis implementasi Algoritma Modified K-Nearest Neigbour melakukan klasifikasi demam.
BAB IV PERANCANGAN
Pada bab ini , akan dibahas mengenai, alur implementasi algoritma Modified K-Nearest Neighbor (MKNN), proses perhitungan manual algoritma Modified K-Nearest Neighbor (MKNN) dan perancangan antarmuka sistem.
BAB V IMPLEMENTASI
Bab yang membahas tentang implementasi dari algoritma Modified K-Nearest Neighbor (MKNN) untuk mengklasifikasi penyakit demam.
BAB VI PENGUJIAN
Pembahasan pada bab ini terdiri atas skenario pengujian, hasil dari pengujian akurasi dari algoritma Modified K-Nearest Neighbor (MKNN) dalam melakukan klasifikasi demam dan analisis dari hasil yang didapatkan.
BAB VII KESIMPULAN DAN SARAN
Bab ini membahas tentang kesimpulan yang didapatkan dari analisa pengujian algoritma Modified K-Nearest Neighbor (MKNN) dalam melakukan klasfikasi demam serta saran untuk pengembang sistem selanjutnya.
BAB 2 LANDASAN KEPUSTAKAAN
Bab 2 berisi penjelasan tentang landasan teori yang digunakan sebagai refrensi dalam penelitian “IMPLEMENTASI ALGORITMA MODIFIED K-NEAREST NEIGHBOR (MKNN) UNTUK KLASIFIKASI PENYAKIT DEMAM”.
Landasan Kepustakaan adalah pembahasan dari penelitian yang telah dilakukan oleh peneliti sebelumnya. Dasar Teori yang digunakan dalam penyusunan penelitian yang diusulkan meliputi Penjelasan tentang Demam Berdarah, demam tifoid dan malaria, indikator terjadinya Demam Berdarah, demam tifoid, malaria serta Algoritma Modified K-Nearest Neighbor (MKNN).
2.1 Kajian Pustaka
Ramdhani Bima Arista (Arista, et al., n.d.) pada penelitian sebelumnya melakukan diagnosa penyakit demam berdarah, tifoid dan malaria menggunakan algoritma naïve bayes dengan memetakan data input ke dalam data latih dan mendapatkan output berupa penyakit dari pasien. Dalam penelitian tersebut didapatkan hasil akurasi sistem sebesar 43%.
Sofa Zainuddin (2014) melakukan penelitian untuk melakukan klasifikasi penyakit pada kedelai menggunakan algoritma Modified K-Nearest Neighbor. Penelitian in bertujuan untuk memetakan tanda-tanda penyakit tanaman kedelai dan mengklasfikasikan pada 1 kelas berdasarkan satu dari 19 jenis penyakit tanaman kedelai yang digunakan dalam penelitian. Jumlah data yang digunakan dalam penilitian adalah 300 data dengan 34 gejala dan menghasilkan akurasi sebesar 92,74% dengan nilai k=3. Proses klasifikasi pada penilitian ini menunjukkan akurasi yang tinggi meskipun data latih, variabel, jenis penyakit yang digunakan cukup banyak.
Dwi Citra Annisa (2016) melakukan penelitian untuk melakukan diagnosa terhadap penyakit demam berdarah, demam malaria dan demam tifoid menggunakan algoritma Fuzzy K-Nearest Neighbor (FKNN) berdasarkan 15 gejala penyakit dengan bobot yang telah diberikan oleh pakar yaitu dr. Anda Citra Utama, SpPD mendapatkan hasil akurasi sistem tertinggi sebesar 90.75%.
Aprela Kurnia Putri (2016) melakukan penelitian untuk melakukan klasifikasi penyakit pada kucing menggunakan algoritma MKNN. Pada penelitian tersebut terdapat 18 gejala penyakit dan 8 jenis penyakit pada kucing dengan output dari sistem adalah diagnosa penyakit pada kucing. Dari pengujian sistem didapatkan akurasi maksimum dengan persentase sebesar 99,90% dengan persentase precision sebesar 99,76% dan persentase recall sebesar 99,41%. Hasil pengujian menunjukkan bahwa metode MKNN memiliki kemampuan yang baik untuk melakukan klasifikasi dan dapat digunakan dalam kehidupan sehari-hari.
Tabel 2.1 Tinjauan Pustaka
No Judul Input Metode Hasil (Output)
1. Diagnosa Penyakit Demam Berdarah, Tifoid dan Malaria menggunakan
Gejala Penyakit
Naïve Bayes Anemnese (diagnosa sementara) penyakit demam
Algoritma Naïve Bayes
berdarah, tifoid dan malaria dengan akurasi sistem 42%
2. Klasifikasi Penyakit Kedelai menggunakan Algoritma Modified K-Nearest Neighbor (MKNN)
34 Gejala Penyakit Kedelai
Modified K-Nearest Neighbor (MKNN)
Klasifikasi 19 jenis penyakit tanaman kedelai dengan akurasi sistem 92.74%
3. Klasifikasi Penyakit pada Kucing menggunakan Algoritma Modified K-Nearest Neighbor (MKNN)
18 Gejala Penyakit Modified K-Nearest Neighbor (MKNN)
Klasifikasi 8 jenis penyakit kucing dengan akurasi sistem 99.90%
4. Sistem Pakar Diagosa Awal Penyakit DBD, Malaria dan Tifoid meggunakan Metode Fuzzy K-Nearest Neighbor (FKNN)
15 Gejala Penyakit Fuzzy K-Nearest Neighbor (FKNN)
Diagnosa Awal Penyakit DBD, Malaria dan Tifoid mendapatkan akurasi tertinggi 90.75%
5. Implementasi Algoritma Modified K-Nearest Neighbor (MKNN) untuk Klasifikasi Penyakit Demam
2.2 Klasifikasi
Metode dalam data mining bertujuan untuk melakukan klasifikasi terhadap suatu objek yang belum memiliki kelas. Teknik klasifikasi dilakukan dengan membentuk fungsi model yang dapat membedakan antara objek yang sudah memiliki kelas dan objek yang belum memiliki kelas. Proses klasifikasi secara umum harus memenuhi 2 komponen yaitu, kelas data uji dan kelas data latih. Kelas data latih terdiri atas objek yang sudah memiliki kelas
dan digunakan untuk membangun fungsi yang dapat digunakan untuk mengolompokkan data latih yang belum memiliki kelas (Zainuddin, 2014).
Klasifikasi adalah teknik untuk merancang fungsi berdasarkan hasil pengamatan dari data dan atribut dari data tersebut sehingga dapat dilakukan pemetaan terhadap data yang belum memiliki kelas kedalam data yang telah terklasifikasi sesuai dengan aturan-aturan yang diberikan. Terdapat banyak algoritma yang digunakan untuk mengklasfikasi data, antara lain fuzzy, artificial neural network, support vector machine dan K-nearest neighbor. Klasifikasi menggunakan algoritma-algoritma tersebut secara umum dilakukan berdasarkan 3 tahapan yaitu:
1. Perancangan Model
Proses membangun solusi untuk menyelesaikan masalah berdasarkan data yang telah terklasfikasi (Data latih).
2. Implementasi Model
Proses penentuan kelas untuk data uji berdasarkan model fungsi dan parameter-parameter data yang telah ditentukan pada tahap perancangan.
3. Evaluasi Model
Proses yang bertujuan untuk melakukan evaluasi terhadap hasil implementasi model fungsi dalam mengklasifikasikan data uji berdasarkan parameter-paramter yang telah ditetapkan.
2.3 Normalisasi Data
Normalisasi data merupakan proses awal yang dilakukan dalam tahap klasifikasi dengan melakukan pensklaan nilai atribut dari data sehingga berada pada range tertentu (Panjaitan, 2013). Proses normalisasi pada dataset dilakukan dengan tujuan agar persebaran data merata dan meningkatkan nilai akurasi sistem. Pada penelitian menggunakan neuro fuzzy untuk klasifikasi inventori berdasarkan analisa ABC dijelaskan bahwa hasil pengujian pada data masukan ternomalisasi dan tidak ternormalisasi menunjukkan hasil yang cukup berbeda hal ini ditunjukkan dengan perbedaan hasil klasifikasi dan mempengaruhi derajat keanggotaan dari data dengan pusat kelasnya (Darmanto, 2012).
Tujuan normalisasi data adalah melakukan transformasi data dimana sebuah atribut numeric diskalakan dalam range yang lebih kecil seperti antara -1 sampai 1 atau 0 sampai 1 dengan menggunakan beberapa teknik normalisasi data, diantaranya:
a) Min-max Normalization
Metode min-max merupakan metode normalisasi dengan melakukan transformasi linier terhadap data asli dengan menggunakan persamaan 2.1.
𝑠′ =s − min(𝑆𝑘)
max(𝑆𝑘) − min(𝑆𝑘)
Dimana:
s = nilai dari data masukan min(𝑆𝑘) = nilai minimum dari seluruh data max(𝑆𝑘) = Nilai maksimum dari seluruh data
(2.1)
Keuntungan metode ini adalah keseimbangan nilai perbandingan antara data saat sebelum dan sesudah proses normalisasi. Metode ini tidak menghasilkan data bias namun metode ini memiliki kekurangan yaitu terjadinya eror jika terdapat data masukan baru. Metode ini dipilih dalam penelitian sebelumnya untuk melakukan klasifikasi kanker payudara dan mendapatkan akurasi sebesar 96.86% (Haryati, 2016).
b) Z-Score Normalization
Metode Z-Score merupakan metode normalisasi berdasarkan nilai mean dan dan standar deviasi data. Metode ini digunakan jika nilai minimum dan maksimum dari suatu data tidak diketahui. Metode Z-Score ditunjukkan pada persamaan 2.2.
𝑠′ =𝑠 − 𝜇
σ
DImana:
s = Nilai dari data
μ = Nilai Rata − rata data
σ = Standar Deviasi
c) Decimal Scaling
Metode ini melakukan normalisasi dengan menggerakkan nilai decimal dari data ke arah pembulatan yang diinginkan. Persamaan untuk metode ini ditunjukkan pada persamaan 2.3.
𝑠′ =𝑠
10𝑖
s = Nilai dari data
i = Nilai integer untuk bilangan desimal yang diinginkan
d) Sigmoidal Normalization
Metode ini melakukan normalisasi data secara nonlinier dalam range -1 sampai 1 dengan menggunakan fungsi sigmoid. Metode ini sangat berguna untuk penelitian yang melibatkan data-data outlier. Persamaan untuk Sigmoidal Normalization seperti yang ditunjukkan pada persamaan 2.4.
𝑠′ =(1 − 𝑒∧(−𝑥))
(1 + 𝑒∧(−𝑥))
Dimana:
𝑥 = (data − mean)/std
𝑒 = Nilai Eksponensial (2.718281828)
e) Softmax Normalization
Metode ini merupakan pengembangan transformasi secara linier dengan menggunakan output range antara 0 sampai 1 dengan rumus yang perhitungan yang ditunjukkan pada persamaan 2.5.
(2.2)
(2.3)
(2.4)
𝑠′ =1
(1 + 𝑒∧(−𝑡𝑟𝑎𝑛𝑠𝑓𝑑𝑎𝑡𝑎))
Dimana:
transfdata =data − mean
x ∗ (std2 ∗ 3.14)
2.4 Demam
Suhu tubuh merupakan gambaran keseimbangan tubuh mengenai proses produksi dan pelepasan panas yang diatur dalam otak (hipotalamus). Suhu tubuh dalam kondisi normal jika berada dalam suhu 36.50C – 37.20C dan dikatakan demam jika suhu di atas diatas 37.20C Demam terjadi sebagai bentuk rangsang terjadinya perubahan pada pusat termoregulasi yang terletak dalam hipotalamus anterior.
Demam berhubungan dengan peningkatan suhu tubuh disertai peningkatan produksi sitoken pirogen yang berfugsi untuk mengatasi rangsang, antara lain peradangan, infeksi disebabkan bakteri dan virus serta rangasangan pirogenik. Demam merupakan gejala awal untuk penyakit-penyakit yang membutuhkan penanganan serius, antara lain demam berdarah, tifoid dan malaria. Tipe demam yang diperhatikan dan dapat menjadi gejala untuk penyakit berbahaya, antara lain:
a) Demam Septic
Peningkatan suhu tubuh yang terjadi pada malam hari disertai kondisi tubuh menggigil dan berkeringat. Suhu tubuh berada pada kondisi normal pada siang hari.
b) Demam Remitten
Suhu tubuh secara bertahap berubah menjadi normal namun perubahan suhu tersebut tidak terlalu besar, yaitu 20C setiap hari.
c) Demam Intermitten
Tipe demam ini menyebabkan suhu tubuh berada dalam kondisi normal dalam waktu beberapa jam dalam sehari. Peningkatan suhu tubuh tidak terjadi secara terus-menerus namun dalam jam-jam tertentu.
d) Demam Kontinyu
Peningkatan suhu tubuh terjadi sepanjang hari dengan perbedaan suhu yang tidak lebih dari 10C.
e) Demam Siklik
Suhu tubuh mengalami kenaikan selama beberapa hari lalu terjadi penurunan ke suhu normal untuk beberapa hari dan kembali pada suhu semula saat pertama kali terjadi demam.
2.4.1 Demam Berdarah (Dengue Haemoragic Fever)
Demam Berdarah Dengue (DBD) merupakan salah satu jenis penyakit menular yang disebabkan oleh virus Dengue dan berasal dari gigitan nyamuk Aides aegypti. Penyakit ini memiliki beberapa gejala awal antara lain, peningkatan suhu badan secara signifikan dalam jangka waktu 7 hari. Gejala awal dari penyakit demam berdarah juga ditandai dengan kondisi
(2.5)
tubuh yang mulai lemah atau lesuh, gelisah, rasa nyeri pada ulu hati, terjadi pendarahan pada kulit berupa bintik pendarahan (petechia). Dalam kondisi yang lebih buruk penderita penyakit demam berdarah mengalamai pendarahan dari hidung (mimisan), penurunan kesadaran, berak darah, muntah darah (Mubin, 2009). Demam disertai minimal dengan 2 Gejala
Nyeri Kepala
Nyeri Retro-orbital
Nyeri Otot
Nyeri Sendi/Tulang
Ruam Kulit makulopapular
Manifestasi Pendarahan
Tidak ada tanda Perembesan Plasma Penderita demam berdarah yang terinfeksi virus dengue mengalami 3 tahap perjalanan penyakit:
1) Tahap Demam: viremia menyebabkan peningkatan suhu tubuh secara signifikan. 2) Tahap Gawat Darurat/Kebocoran Plasma: Pada tahap ini terjadi perembesan plasma
dengan derajat yang bermacam-macam pada efusi pleura dan asites. 3) Tahap Penyembuhan/Recovery: Perembesan plasma mendadak berhenti disertai
reabsorpsi cairan dan ekstravasasi plasma.
2.4.2 Demam Tifoid
Demam Tifoid merupakan salah satu jenis penyakit yang disebabkan oleh Salmonella typhi dengan indikator utama yaitu demam dalam jangka waktu yang lama serta gejala lain yaitu, sakit kepala, badan lemah anoreksia, bradikardi relative, splenomegaly (Gillepsie, 2009). Demam Tifoid merupakan penyakit yang terjadi secara merata di seluruh dunia. Pada demam dapat terjadi ulserasi pada plaques yang mengakibatkan pendarahan pada pasien di tahap tertentu. Indikator lain yang mungkin terajadi pada pasisen adalah demam tanpa disertai keringat, gangguan berfikir, parotitis dan pendengaran menurun.
Gejala klinis sangat bervariasi dari ringan sampai berat, dari yang tidak terdiagnosis sampai gambaran penyakit yang khas dengan komplikasi hingga menimbulkan kematian. Pada minggu pertama sering ditemukan keluhan dengan gejala yang mirip penyakit infeksi akut pada umumnya, seperti: demam, nyeri kepala, pusing, nyeri otot, anoreksi, mual, muntah, obstipasi atau diare, perasaan tidak enak di perut, batuk dan epitaksis (Hardisaputro, 1991). Pada pemeriksaan fisik didapatkan suhu badan meningkat, sifat demam kontinyu, meningkat perlahan-lahan terutama sore dan malam hari, tapi kadang-kadang bersifat intermiten atau remiten. Pada minggu kedua gejala menjadi lebih jelas berupa demam bradikardi relatif, lidah yang berselaput (kotor di tengah, tepi dan ujung merah seperti tremor), hepatomegali, splenomegali, meteorismus, gangguan mental berupa somnelen, stupor, koma, delirium dan psikosis.
2.4.2 Demam Malaria
Penyakit malaria disebabkan oleh parasit Plasmodium vivax dan Plasmodium falciparum yang kemudian ditularkan melalui gigitan nyamuk Anophlese (Husin, 2007). Penyebaran penyakit malaria pada penduduk dapat disebabkan oleh beberapa faktor antara lain, lingkungan timpat tingal, pola hidup dan lain-lain. Penyakit ini mudah menyerang
penduduk di daerah persawahan, perkebunan, kehutanan dan pesisir pantai. Malaria dapat diindentifikasi melalui beberapa gejala antara lain, demam, gangguan pencernaan, gangguan kesadaran, pembengkakan pada limpa, anemia, pendarahan di hidung. Berdasarkan gejala-gejala tersebut malaria dikelompokkan menjadi 4 kelas:
1. Malaria Tertiana, merupakan kategori yang paling rendah, penyakit ini disebabkan oleh infekasi parasit plasmodium vivax dan menyebabkan demam tinggi selama 2 hari pada penderitanya namun, demam dapat berkelanjutan selama 2 minggu setelah masa infeksi.
2. Demam Rimba atau biasa dikenal sebagai malaria tropika, jenis malaria ini menjadi penyebab kematian pada beberapa pasien karena menganggu aliran darah ke otak serta dapat menyebabkan koma. Penyebab malaria rimba adalah jenis Plasmodium falciparum.
3. Malaria Kuartana, merupakan jenis malaria yang memiliki masa demam paling panjang dibandingkan malaria tertiana atau demam rimba, demam pada malaria jenis ini terjadi antara 18 sampai 40 hari setelah infeksi.
4. Malaria yang mirip malaria tertianan namun disebakan oleh Plasmodium ovale, umumunya memiliki gejala yang mirip dengan malaria tertiana yang membedakan adalah Plasmodium ovale merusak kinerja sel darah sehingga menyebabkan demam.
2.5 Algoritma Modified K-Nearest Neighbor (MKNN)
Algoritma modified k-nearest neighbor (MKNN) merupakan pengembangan dari metode KNN dengan penambahan beberapa proses yaitu, perhitungan nilai validitas dan weighted voting. Algoritma k-nearest neighbor (KNN) merupakan algoritma clustering yang sangat sederhana dengan cara mengelompokkan data baru dengan K tetangga terdekat beradasarkan jarak yang dihitung dengan rumus Euclidean, seperti yang persamaan 2.6 dengan nilai d = jarak antara data training x dan data testing y:
𝑑 (𝑥𝑖, 𝑦𝑖) = √∑(𝑥𝑖 − 𝑦𝑖
𝑛
𝑖=0
)2
Modified K-Nearest Neighbor (MKNN) melakukan klasifikasi dengan cara menempatkan label kelas data sesuai dengan K divalidasi poin data yang sudah ditetapkan dengan perhitungan K-Nearest Neighbor (KNN) (Parvin, 2008). Proses klasifikasi menggunakan algoritma MKNN mendapatkan 2 tambahan proses yaitu, menghitung nilai validitas antar data baru dengan K tetangga terdekat dan perhitungan weighted voting. Beriku adalah penjelasan mengenai perhitungan nilai validitas dan perhitungan weighted voting.
1. Perhitungan Nilai Validitas Data Training
Dalam algoritma MKNN, setiap data pada data training harus melewati tahap validasi sebelum untuk menghitung nilai validitas data yang digunakan pada proses selanjutnya. Validitas setiap data tergantung pada setiap tetangganya. Proses validasi dilakukan untuk semua data pada data latih. Setelah dihitung validitas tiap data maka nilai validitas tersebut digunakan sebagai informasi lebih mengenai data tersebut. Persamaan yang
(2.6)
(2.7)
digunakan untuk menghitung nilai validitas pada setiap data training adalah seperti persamaan dibawah ini Persamaan 2.7:
𝑉𝑎𝑙𝑖𝑑𝑖𝑡𝑦 (𝑥) = 1
𝐻∑ 𝑆(𝑙𝑏𝑙(𝑥), 𝑙𝑏𝑙(𝑁𝑖(𝑥)))
𝑛
𝑖=0
Dimana:
𝐻 : Jumlah titik terdekat
𝑙𝑏𝑙(𝑥) : Kelas x
𝑙𝑏𝑙(𝑁𝑖(𝑥)): label kelas titik terdekat x
Fungsi S digunakan untuk menghitung kesamaan antara titik x dan data ke-i dari tetangga terdekat. Yang dituliskan dalam persamaan di bawah ini mendefinisikan fungsi S, Persamaan 2.3
𝑆(𝑎, 𝑏) = {1 𝑎 = 𝑏0 𝑎 ≠ 𝑏
Keterangan:
a = kelas a pada data training.
b = kelas lain selain a pada data training.
2. Perhitungan Weighted Voting
Weighted voting merupakan tahapan klasifikasi dalam algoritma MKNN untuk memperbaiki kelamahan klasifikasi dalam algoritma KNN. Salah satu variasi metode MKNN yang memproses seluruh hasil perhitungan nilai validitas dan perhitungan jarak eucledian sesuai K tetangga terdekat terlepas dari kelas data dan menggunakan hasil weighted voting dari masing-masing data pada data latih. Masing-masing data diberikan weighted voting dengan beberapa penurunan fungsi jarak dari data yang tidak diketahui. Sebagai contoh, voting diatur dengan persamaan 1 / (de + 1), dimana de adalah jarak eucledian. Weighted voting ini kemudian dijumlahkan untuk setiap kelasnya, dan kelas dengan jumlah terbesar suara yang dipilih.
Dalam metode MKNN, pertama weight masing-masing tetangga dihitung dengan menggunakan 1 / (de + 0.5). Kemudian, validitas dari tiap data pada data training dikalikan dengan weighted berdasarkan pada jarak Euclidian. Dalam metode MKNN, weighted voting tiap tetangga Persamaan 2.9.
𝑊(𝑖) = 𝑉𝑎𝑙𝑖𝑑𝑖𝑡𝑦(𝑖) 𝑥 1
𝑑𝑒 + 0.5
Dimana:
𝑊(𝑖) : Perhitungan Weighted Voting
𝑉𝑎𝑙𝑖𝑑𝑖𝑡𝑦(𝑖) : Nilai Validitas
𝑑𝑒 : Jarak Euclidean
(2.8)
(2.9)
Teknik weighted voting ini mempunyai pengaruh yang lebih penting terhadap data yang mempunyai nilai validitas lebih tinggi dan paling dekat dengan data. Selain itu, dengan mengalikan validitas dengan jarak dapat mengatasi kelemahan dari setiap data yang mempunyai jarak dengan weight yang memiliki banyak masalah dalam outlier. Jadi, algoritma MKNN mengusulkan perbaikan untuk mengurangi tingkat keslahan dalam klasifikasi dibanding metode KNN tradisional yang didasarkan hanya pada jarak. (Parvin, 2008).
2.6 Akurasi Sistem
Akurasi Sistem merupakan suatu metode yang digunakan untuk mengukur akurasi hasil implemetasi dengan membandingkan hasil keputusan manual (sistem yang telah ada) dengan hasil keputusan yang merupakan output dari program. Tingkat akurasi dinyatakan dalam bentuk persentase didapatkan dari persamaan 2.10.
Akurasi (%) =𝐵𝑎𝑛𝑦𝑎𝑘 𝐷𝑎𝑡𝑎 𝐶𝑜𝑐𝑜𝑘
𝐽𝑢𝑚𝑙𝑎ℎ 𝐷𝑎𝑡𝑎 𝐾𝑒𝑠𝑒𝑙𝑢𝑟𝑢ℎ𝑎𝑛𝑥 100% (2.10)
Nilai akurasi yang tinggi menunjukkan bahwa tingkat keberhasilan program tinggi dalam menyelesaikan permasalahan.
BAB 3 METODOLOGI
Bab 3 menguraikan tentang metodologi penelitian serta metode yang digunakan dalam penyusunan tugas akhir, yaitu studi literatur, analisis kebutuhan, pengumpulan data, pengolahan data, perancangan, implementasi, pengujian dan kesimpulan. Berikut ini merupakan alur yang menjelaskan mengenai metodologi yang digunakan seperti terlihat pada Gambar 3.1.
Gambar 3.1 Alur Metode Penelitian
3.1 Studi Literatur Mempelajari literatur dari beberapa bidang ilmu yang berhubungan dengan
implementasi Algoritma Modified K-Nearest Neighbor untuk klasifikasi demam yang disebabkan oleh virus:
Algoritma Modified K-Nearest Neighbor. Demam Berdarah dan Faktor penyebab demam berdarah. Penyebab dan Gejala Klinis Demam Tifoid. Penyebab dan Gejala klinis Malaria. Diagnosa Klinik untuk penyakit Demam Berdarah, Demam Tifoid dan Malaria.
Literatur tersebut diperoleh dari buku, ebook, jurnal, penelitian sebelumnya dan dokumentasi projek.
Perancangan
Studi Literatur
Analisis Kebutuhan
Pengumpulan Data
Pengolahan Data
Implementasi
Pengujian
Kesimpulan
3.2 Analisis Kebutuhan
Tahap analisis dilakukan dengan tujuan untuk menganalisis kebutuhan dalam mengembangkan sistem untuk klasfikasi penyakit demam berdarah, tifoid dan malaria. Proses dalam analisis kebutuhan meliputi proses analisis kebutuhan data dan analisis kebutuhan proses. Data yang digunakan adalah data pasien penyakit demam berdarah, tifoid dan malaria. Proses analisis kebutuhan data dilakukan dengan cara mempelajari literatur mengenai metode yang digunakan dalam menyelesaikan permasalahan klasifikasi demam menggunakan algoritma MKNN. Analisis kebutuhan proses terdiri atas beberapa tahap yang berkaitan dengan pengolahan data dimulai dari proses memasukkan data sampai mendapatkan hasil klasifikasi, antara lain proses untuk menganalisis kebutuhan fungsional sistem, menganalisis diagram alir untuk proses klasifikasi menggunakan metode MKNN serta proses perhitungan manual dalam klasifikasi demam menggunakan algoritma MKNN.
3.3 Pengumpulan Data Penelitian mengambil data dari Rumah Sakit Umum Daerah Selasih Pangkalan Kerinci Riau. Data yang digunakan dalam penelitian merupakan jenis data sekunder berupa data yang didapatkan dari pihak Rumah Sakit Umum Daerah Selasih, Kota Riau, Indonesia dan telah dilakukan penelitian sebelumnya oleh Dwi Citra Annisa lalu digunakan ulang sebagai data dalam pengujian algoritma MKNN. Data yang digunakan adalah data yang telah diarsipkan sebelumnya oleh RSUD Selasih Pangkalan Kerinci Riau dan dapat dipergunakan untuk tujuan penelitian. Penelitian ini dilakukan menggunakan 15 gejala penyakit beserta bobot yang telah diberikan oleh pakar RSUD Selasih dr.Anda Citra Utama, SpPD untuk masing-masing gejala dalam beberapa tingkatan dengan total data sebanyak 133 data pasien penderita penyakit demam berdarah, tifoid dan malaria. Implementasi sistem diharapkan dapat memberikan berupa penyakit yang dapat memudahkan tim medis dalam memberikan anemnese.
3.4 Pengolahan Data
Klasifikasi Penyakit Demam Berdarah dan Demam Tifoid membutuhkan data yang dijadikan sebagai parameter untuk pemrosesan data. Parameter yang digunakan adalah kriteria yang telah ditetapkan oleh ahli medis berdasarkan diagnosa ilmu kedokteran.
Data yang digunakan dalam penilitian ini terdiri dari 100 data latih yang merupakan data penderita demam berdarah dan demam tifoid untuk menentukan nilai bobot kepentingan kriteria, data uji terdiri dari 33 data uji yang merupakan data baru.
Untuk mengklasifikasi penyakit demam berdarah dan demam tifoid terdapat 15 Kriteria penilaian yang merupakan indikator-indikator pemeriksaan pada pasien demam berdarah dan demam tifoid. 15 Kriteria tersebut merupakan kriteria yang digunakan untuk mengklasifikasi demam berdarah dan demam tifoid. Tabel 3.2 menunjukkan gejala-gejala penyakit yang digunakan untuk melakukan proses klasfikasi.
Tabel 3.2 Kriteria Penilaian Klasfikasi
Kriteria Penjelasan
G1 Demam Intermitten (putus-putus)
G2 Demam Mengigil
G3 Demam terutama malam hari
Pemrosesan data menggunakan algoritma MKNN dimulai dengan melakukan normalisasi data latih dan data uji. Langkah selanjutnya adalah melakukan perhitungan jarak antar data latih untuk mendapatkan nilai validitas. Perhitungan jarak dilakukan sebanyak 2 kali yaitu jarak antar data latih dan jarak antara data latih dan data uji. Hasil perhitungan jarak antara data latih dan uji serta nilai validitas diproses untuk mendaptkan nilai weighted voting yang digunakan untuk menetapkan hasil klasifikasi. Data yang didapatkan diproses menggunakan algoritma MKNN untuk mendapatkan hasil klasifikasi berupa penyakit berdasarkan gejala yang dimasukkan oleh pengguna. Implementasi algoritma MKNN digambarkan dalam kerangka kerja penilitian pada gambar 3.2
G4 Demam lebih dari 1 minggu
G5 Sakit Kepala
G6 Sakit Tulang dan Sendi
G7 Mula dan Muntah
G8 Mencret dan susah BAB (Konstipasi)
G9 Nyeri Perut
G10 Bintik Merah (ptekie) pada kulit
G11 Lidah Kotor (coated tongue)
G12 Bradikardi Relatif
G13 Pembesaran Hati
G14 Pembesaran Limpa
G15 Kulit lembat/keringat
Gambar 3.2 Kerangka Kerja Penelitian
Tim Medis RSUD Selasih
Masalah:
Bagaimana implementasi algoritma Modified K-Nearest Neighbor untuk diaagnosa penyakit demam berdarah, demam tifoid dan malaria?
Tujuan:
Menerapkan algoritma Modified K-Nearest Neighbour dalam klasfikasi penyakit demam berdarah, demam tifoid dan malaria
Pemrosesan Data
Normalisasi data latih dan data uji sesuai dengan 15 gejala penyakit
Menghitung jarak antara data latih dan
data uji
Menghitung Nilai Validitas
Menghitung nilai Bobot (Weighted Voting)
Penelitian Alternatif:
Ada 100 Data yang akan diproses sebagai data latih
dan 33 sebagai data Uji
Penentuan Penyakit
Menghitung jarak eucledian antar data
latih
3.5 Perancangan
Perancangan merupakan penyusunan langkah-langkah yang membahas penerapan algoritma Modified K-Nearest Neighbor untuk klasifikasi demam yang sesuai dengan kriteria yang telah ditentukan. Perancangan menjelaskan tentang proses klasifikasi demam secara spesifik dalam bentuk diagram alir dan perhitungan manual untuk setiap langkah dalam algoritma MKNN. Tahap ini dilakukan untuk melakukan perhitungan manual yang dibandingkan dengan proses perhitungan yang dihasilkan oleh sistem. Perncangan juga bertujuan untuk menyusun halaman sistem yang dikembangkan.
3.6 Implementasi
Implementasi merupakan langkah untuk mengembangkan sistem sesuai dengan tahap perancangan. Implementasi pada tugas akhir ini dengan menerapkan metode MKNN dalam mengklasifikasi penyakit demam berdasarkan kriteria yang diberikan oleh pakar RSUD Selasih yaitu dr.Anda Citra Utama, SpPD. Sistem dikembangkan menggunakan bahasa pemrograman PHP. Output dari sistem merupakan penyakit berdasarkan bobot gejala yang dimasukkan oleh pengguna beserta proses penilaian yang ditampilkan dalam halaman website.
3.7 Pengujian
Pengujian dilakukan untuk membandingkan hasil klasifikasi yang diperoleh dari sistem dengan data pemeriksaan yang diperoleh dari rumah sakit. Pengujian dilakukan untuk mengetahui nilai akurasi algoritma MKNN dalam melakukan klasifikasi berdasarkan hubungan antara pemilihan tetangga K terhadap nilai akurasi sistem serta pengaruh pengujian komposisi data latih, komposisi data latih dan data uji dan total terhadap tingkat akurasi sistem.
3.8 Kesimpulan
Tahap ini merupakan pengambilan kesimpulan dari proses perancangan, implementasi dan pengujian setelah pengerjaan dari masing-masing proses selesai. Kesimpulan juga didaptakan dari hasil analisa pengujian sistem klasifikasi demam menggunakan algoritma MKNN.
BAB 4 PERANCANGAN
Perancangan berisi penjelasan mengenai kebutuhaan yang diperlukan untuk membangun sebuah sistem yang memiliki fungsi dalam klasfikasi penyakit demam menggunakan algoritma MKNN. Gambar 4.1 merupakan gambaran alur kerja yang dilakukan pada bab ini.
Gambar 4.1 Alur Perancangan
4.1 Deskripsi Sistem
Sistem yang dikembangkan merupakan sistem yang berfungsi untuk melakukan klasfikasi pada penyakit demam yang memiliki kemiripan gejala. Untuk melakukan proses klasifikasi digunakan algoritma Modified K-Nearest Neighbor (MKNN) melalui dua tahapan yaitu tahap pembentukan data latih dan tahap pengujian data. Sistem diharapkan dalam melakukan klasifikasi berdasarkan 15 gejala lalu memberikan output mengenai jenis demam berdasarkan gejala-gejala yang telah diberikan oleh pengguna.
Proses pembentukan data latih dilakukan dengan menghitung menghitung jarak eucledian antara data latih untuk mendapatkan nilai validitas dari data latih. Langkah selanjutnya setelah mendapatkan nilai validitas adalah melakukan perhitungan weighted voting yang digunakan untuk melakukan pengujian terhadap data. Pada tahap pengujian didapatkan output berupa jenis demam berdasarkan perhitungan algoritma MKNN lalu dilakukan perhitungan akurasi untuk sistem.
Preprocessing Data
Perancangan Proses
Perhitungan Manual
Desain Antarmuka
Deskripsi Sistem
Perancangan Pengujian
4.2 Preprocessing Data
Tahap Preprocessing data merupakan tahap yang digunakan untuk melakukan pembobotan terhadap gejala-gejala demam yang diberikan oleh pakar RSUD Selasih yaitu dr.Anda Citra Utama, SpPD. Proses pemberian bobot untuk masing-masing gejala digunakan untuk mempermudah proses klasifikasi karena data bersifat ketegorikal. Klasifikasi demam terbatas pada demam tifoid, demam berdarah dan demam malaria yang memiliki kesamaan gejala. Berikut adalah tabel untuk pembobotan masing-masing gejala pada demam.
Tabel 4.1 Bobot untuk Gejala Demam
NO VARIABEL SKOR
I KELUHAN
G1 Demam Intermittent (putus putus)
Ya 0.8
Tidak 0
G2 Demam menggigil
Berat 0.85
Sedang 0.5
Tidak ada 0
G3 Demam terutama malam hari
Ya 0.75
Tidak 0
G4 Lama demam
> 7 hari 0.75
4 - 7 hari 0.5
1 - 3 hari 0.2
G5 Sakit Kepala
Berat 0.9
Sedang 0.7
Tidak ada 0
G6 Sakit sakit tulang dan sendi
Berat 0.9
Sedang 0.75
Tidak ada 0
G7 Mual dan muntah
Berat 0.85
Sedang 0.6
Tidak ada 0
G8 Mencret atau susah BAB (konstipasi)
Ada 0.6
Tidak ada 0.2
G9 Nyeri Perut
Berat 0.8
Sedang 0.4
Tidak ada 0
II PEMERIKSAAN FISIK
G10 Bintik merah (ptekie) pada kulit
Berat 1
Sedang 0.7
Tidak ada 0
G11 Lidah kotor (coated tongue)
Berat 0.85
Sedang 0.4
Tidak ada 0
G12 Bradikardi relative
Ya 0.75
Tidak ada 0
G13 Pembesaran hati
Ya 0.5
Tidak ada 0
G14 Pembesaran limpa
Ya 0.65
Tidak ada 0
G15 Kulit lembab/ Keringat
Berat 0.85
Sedang 0.4
Tidak ada 0
4.3 Perancangan Proses
Tahap perancangan perangkat lunak digunakan untuk mendefinisikan relasi antar komponen dalam sistem sehingga setiap fungsi pada sistem dapat memenuhi semua kebutuhan pengguna. Setiap fungsi dalam sistem digunakan untuk mendukung proses klasifikasi demam berdasarkan gejala-gejala yang telah dimasukkan.
4.3.1 Perancangan Proses Klasifikasi
Perancangan proses menjelaskan alur kerja sistem yang dibangun, proses tersebut dimulai dengan memasukkan bobot untuk setiap 15 gejala penyakit sesuai yang ditentukan oleh pakar. Tahap awal sistem adalah melakukan normalisasi data latih dan data uji. Tahap Kedua sistem melakukan perhitungan jarak eucledian antara data latih dari sistem dengan data uji untuk menentukan jenis demam yaitu, demam berdarah, demam tifoid dan demam malaria. Untuk mendukung hasil klasifikasi dilakukan perhitungan validitas lalu mencari weighted voting sehingga didapatkan nilai tertinggi setelah perhitungan weighted voting untuk mengetahui hasil klasifikasi. Berikut adalah digram perancangan proses ditunjukkan dalam gambar 4.2.
START
Input Data Gejala Demam
Normalisasi Data
Proses Klasifikasi MKNN
Output Data Klasifikasi Demam
END
Gambar 4.2 Diagram Alir Proses Sistem
4.3.1.1 Normalisasi Data
Data yang digunakan dalam proses klasifikasi demam merupakan data pasien beserta bobot untuk setiap gejala demam. Data tersebut diproses dalam tahap normalisasi untuk memperkecil jarak antar masing-masing data. Proses normalisasi dilakukan pada setiap data uji dan dan latih. Sistem melakukan pemrosesan data latih dan data uji untuk gejala penyakit demam yang dimasukkan oleh pengguna. Proses perulangan dilakukan oleh sistem sampai menghasilkan data-data yang ternormalisasi. Proses normalisasi data ditunjukkan pada gambar 4.3.
START
Dataset_pasiendemam
For x=1 to jumlah dataset
For y=1 to jumlah gejala
NormalisasiDataset=(dataset x, y-min x)/ (max y – min y)
HasilNormalisasi
Y
X
END
Normalisasi Data
Gambar 4.3 Diagram Alir Proses Normalisasi
4.3.1.2 Proses Klasifikasi Modified K-Nearest Neighbor (MKNN)
Klasifikasi demam menggunakan metode MKNN melalui beberapa tahap yaitu, memasukkan data set gejala demam yang telah dinormalisasi, menghitung jarak eucledian, mengambil sejumlah K tetangga terdekat berdasarkan hasil perhitungan jarak eucledian, menghitung nilai validitas data latih dan menghitung weighted voting. Perhitungan jarak eucledian dilakukan sebanyak 2 kali yaitu perhitungan jarak euclidean antar data latih dan perhitungan jarak eucledian antar data latih dan data uji. Hasil jarak eucledian antar data latih diurutkan berdasarkan nilai terkecil hingga terbesar dan diambil sebanyak K tetangga terdekat lalu dihitung nilai validitas. Perhitungan jarak eucledian antara data latih dan data uji dilakukan untuk menghasilkan nilai yang selanjutnya diproses dalam perhitungan weighted voting. Hasil dari perhitungan weigthed voting diurutkan dari nilai terbesar ke nilai terkecil dan hasil tersebut menjadi hasil klasifikasi yang dilakukan oleh sistem. Proses klasifikasi MKNN data ditunjukkan pada gambar 4.4.
START
Dataset_penderitademam, nilai K
Hitung Validitas
Output Data Hasil Klasifikasi
END
Hitung Jarak Eucledian
Hitung Weighted Voting
Proses Klasifikasi MKNN
Gambar 4.4 Diagram Alir Proses Klasifikasi MKNN
4.3.1.3 Perancangan Perhitungan Validitas
Proses perhitungan validitas bertujuan untuk melakukan validasi setiap data latih yang digunakan dalam sistem yang ditunjukkan pada gambar 4.5. Tahap awal adalah melakukan perhitungan jarak eucledian antar data latih lalu mengambil sejumlah K tetangga terdekat berdasarkan hasil jarak eucledian yang terkecil. Tahap selanjutnya adalah melakukan perbandingan kelas untuk data latih tersebut. Hasil perbandingan tersebut kemudian dijumlahkan dan dibagi dengan nilai K yang telah ditentukan.
Klasifikasi penyakit demam
START
EucledianDataLatih dan nilai_K
For x=1 to datalatih
asort (euclediandatalatih)
For y=1 to nilai_k-1
For z=y+1 to nilai_k
Datalatih[indexurutvaliditaslatih[y]][diagnosis]==datalatih[indexurutvaliditaslatih[z]][diagnosis]
K[y]=1K[z]=1
Z
Y
Menjumlahkan seluruh nilai pada variabel K
Validitas[x]=sum/nilai k
X
Return
Hitung Validitas
Gambar 4.5 Diagram Alir Perhitungan Validitas
4.3.1.4 Perancangan Perhitungan Weighted Voting
Proses menghitung hasil weighted voting merupakan tahapan terakhir untuk mendapatkan hasil klasifikasi. Hasil dari weighted voting didapatkan dari nilai validitas dan nilai jarak eucledian data latih dan data uji menggunakan persamaan 2.4. Proses perhitungan weighted voting dijelaskan dalam diagram alir 4.6 dimulai dari memasukkan nilai jarak eucledian antara data latih dan data uji serta nilai validiatas untuk selanjutnya dilakukan perulangan sampai mendapatkan nilai dari perhitungan weighted voting.
Start
EuclideanDataUji[x] dan Validitas [x]
For x=1 to dataLatih
For y = 1 to DataUji
Weightvoting = validitas [x][y]*(1/
eucledianDataUji[x][y]*0.5)
Return
Weight Voting
Weightvoting [x][y]
y
x
Gambar 4.6 Diagram Alir Perhitungan Weighted Voting
4.3.1.5 Perancangan Perhitungan Jarak Eucledian
Perhitungan jarak eucledian dilakukan dilakukan dalam 2 tahapan yaitu menghitung nilai jarak eucledian antar data latih serta menghitung nilai jarak eucledian antar data latih dan data uji. Proses untuk perhitungan jarak eucledian dijelaskan dalam gambar 4.7 dimulai dari memasukkan dataset lalu sistem melakukan perulangan sebanyak data latih yang dimasukkan oleh pengguna sampai didapatkan nilai jarak eucledian.
Start
Dataset_pasiendemam
For x = 1 to datalatih
For y = 1 to dataLatih
JumlahDataEucledianDataLatih=JumlahDataEucledianDataLatih+(normal
isasiDataLatih[x][y]-normalisasiDataLatih[y][z]^2)
y
EucledianDataLatih=sqrt(jumla
heuclediandatalatih)
z
x
Return
Euclidean
For z = 1 to Jumlah Parameter
Inisialisasi Jumlah data eucledianDataLatih=0
Gambar 4.7 Diagram Alir Perhitungan Jarak Eucledian
4.4 Perhitungan Manual
Klasifikasi demam pada sistem ini menggunakan metode Modified K-Nearest Neighbor dilakukan melalui beberapa tahapan sebagai berikut:
1. Penentuan nilai K Dalam perhitungan manual nilai K yang digunakan adalah nilai K=3.
2. Proses Normalisasi Data Proses normalisasi dilakukan untuk memperkecil jarak antar data baik data latih atau data uji.
3. Perhitungan nilai Validitas Nilai validitas didapatkan setelah melakukan perhitungan jarak eucledian antara data latih dengan data latih.
4. Perhitungan jarak Eucledian Proses perhitungan jarak eucledian yang kedua antara data latih dan data uji.
5. Perhitungan Weighted Voting Perhitungan weighted voting dilakukan dengan menggunakan parameter nilai validitas, nilai jarak eucledian antara data latih dan data uji serta nilai eror = 0.5.
6. Penentuan Kelas Data Uji Kelas data uji ditentukan berdasarkan hasil perhitungan weighted voting yang merupakan keluaran prediksi sistem. Keluaran tersebut digunakan untuk melakukan pengujian akurasi sistem.
Perhitungan manualisasi dalam kasus implementasi metode Modified K-Nearest Neighbor untuk klasifikasi penyakit demam dilakukan dengan mengambil data random sebanyak 21 data dari 133 data pasien penyakit Demam berdarah, Tifoid dan malaria. 21 data terdiri atas 15 data latih dan 6 data uji yang diklasifikasikan dalam 3 kelas. Daftar data latih dilihat pada tabel 4.2.
Tabel 4.2 Daftar Data Latih
Keterangan 1 = Demam Tifoid 2 = Demam Malaria 3 = Demam Berdarah Data uji yang digunakan dalam perhitungan manualisasi sebanyak 6 data uji yang ditunjukkan pada tabel 4.3.
Tabel 4.3 Daftar Data Uji
PASIEN GEJALA PENYAKIT
G1 G2 G3 G4 G5 G6 G7 G8 G9 G10 G11 G12 G13 G14 G15
101 0 0 0 0.2 0.9 0.9 0.6 0.2 0.4 0.7 0 0 0.5 0.65 0 3
102 0.8 0.85 0 0.5 0.9 0 0.6 0.2 0 0 0 0 0.5 0.65 0.85 2
PASIEN GEJALA PENYAKIT
G1 G2 G3 G4 G5 G6 G7 G8 G9 G10 G11 G12 G13 G14 G15
1 0 0.5 0.75 0.75 0.9 0.75 0.85 0.6 0.8 0 0.85 0.75 0.5 0.65 0 1
3 0.8 0.5 0.75 0.5 0 0.75 0.6 0.6 0 0 0 0.75 0.5 0.65 0 1
5 0 0.5 0.75 0.5 0.9 0 0.6 0.6 0.8 0 0.85 0.75 0.5 0.65 0 1
7 0 0.5 0.75 0.5 0.7 0.75 0.85 0.6 0.4 0 0.85 0 0 0.65 0 1
9 0.8 0.5 0 0.5 0.7 0 0 0.2 0.8 0 0.85 0.75 0.5 0.65 0 1
2 0.8 0.85 0 0.5 0.9 0 0 0.2 0 0 0 0 0.5 0.65 0.85 2
12 0.8 0.85 0 0.5 0.9 0 0 0.2 0 0 0.4 0 0 0 0.4 2
14 0 0.85 0 0.2 0.9 0 0.6 0.2 0 0.7 0 0 0 0 0.4 2
16 0.8 0.85 0 0.5 0.9 0 0 0.2 0 0 0 0 0 0 0.4 2
18 0 0.85 0 0.5 0.9 0 0 0.2 0 0 0 0 0 0 0.4 2
24 0 0 0 0.2 0.7 0.9 0 0.2 0.4 0.7 0 0 0 0.65 0 3
26 0 0.5 0 0.2 0.9 0.9 0.85 0.2 0.4 0.7 0.4 0 0.5 0 0 3
30 0 0 0 0.2 0.9 0.9 0.85 0.2 0.8 1 0 0 0.5 0 0 3
46 0 0.5 0 0.5 0.9 0.9 0.85 0.2 0.4 0.7 0 0 0 0 0 3
58 0 0 0 0.5 0.9 0.9 0 0.2 0.8 0.7 0.4 0 0.5 0 0 3
103 0 0.5 0.75 0.5 0.7 0 0.6 0.2 0 0 0 0 0.5 0 0 3
104 0 0 0 0.5 0.9 0 0.85 0.6 0.4 0 0.4 0.75 0.5 0 0 1
105 0 0 0 0.2 0.9 0.9 0.85 0.2 0.8 1 0 0 0.5 0 0 3
106 0.8 0 0.75 0.5 0.9 0 0.85 0.2 0.8 0 0.85 0 0.5 0.65 0.45 1
Keterangan G1 = Demam Intermitten G9 = Nyeri perut G2 = Demam Menggigil G10 = Ptekie pada kulit G3 = Demam terutama pada malam hari G11 = Lidah Kotor G4 = Demam lebih dari satu minggu G12 = Brikardi relative G5 = Sakit kepala G13 = Pembesaran hati G6 = Sakit tulang dan sendi G14 = Pembesaran Limpa G7 = Mual dan Muntah G15 = Kulit Lembab/Kering G8 = Mencret atau Susah BAB
Tahap 1: Penentuan Nilai K Manualisasi data dilakukan dengan menetukan K = 3. Tahap 2: Melakukan Normalisasi Data Latih dan Data Uji Normalisasi dilakukan untuk memperkecil jarak antar data sehingga proses klasifikasi mendapatkan hasil yang maksimal. Berikut adalah tabel 4.4 yang menunjukkan hasil normalisasi data latih.
𝐺1 = 𝑉 − 𝑁𝑖𝑙𝑎𝑖 𝑀𝑖𝑛 (𝐷𝑎𝑡𝑎 1 − 𝐷𝑎𝑡𝑎 15)
𝑁𝑖𝑙𝑎𝑖 𝑀𝑎𝑘𝑠 (𝐷𝑎𝑡𝑎1 − 𝐷𝑎𝑡𝑎 15) − 𝑁𝑖𝑙𝑎𝑖 𝑀𝑖𝑛 (𝐷𝑎𝑡𝑎 1 − 𝐷𝑎𝑡𝑎 15)
Tabel 4.4 Normalisasi Data Latih
PASIEN GEJALA P
G1 G2 G3 G4 G5 G6 G7 G8 G9 G10 G11 G12 G13 G14 G15
1 0 0.5 1 1 1 0.8 1 1 1 0 1 1 1 1 0 1
3 1 0.5 1 0.5 0 0.8 0.7 1 0 0 0 1 1 1 0 1
5 0 0.5 1 0.5 1 0 0.7 1 1 0 1 1 1 1 0 1
7 0 0.5 1 0.5 0.7 0.8 1 1 0.5 0 1 0 0 1 0 1
9 1 0.5 0 0.5 0.7 0 0 0 1 0 1 1 1 1 0 1
2 1 1 0 0.5 1 0 0 0 0 0 0 0 1 1 1 2
12 1 1 0 0.5 1 0 0 0 0 0 0.4 0 0 0 0.4 2
14 0 1 0 0 1 0 0.7 0 0 0.7 0 0 0 0 0.4 2
16 1 1 0 0.5 1 0 0 0 0 0 0 0 0 0 0.4 2
18 0 1 0 0.5 1 0 0 0 0 0 0 0 0 0 0.4 2
24 0 0 0 0 0.7 1 0 0 0.5 0.7 0 0 0 1 0 3
26 0 0.5 0 0 1 1 1 0 0.5 0.7 0.4 0 1 0 0 3
30 0 0 0 0 1 1 1 0 1 1 0 0 1 0 0 3
46 0 0.5 0 0.5 1 1 1 0 0.5 0.7 0 0 0 0 0 3
58 0 0 0 0.5 1 1 0 0 1 0.7 0.4 0 1 0 0 3
Proses normalisasi juga dilakukan pada data uji dengan hasil normaliasi data uji pada tabel 4.5.
Tabel 4.5 Normalisasi Data Uji
PASIEN GEJALA P
G1 G2 G3 G4 G5 G6 G7 G8 G9 G10 G11 G12 G13 G14 G15
101 0 0 0 0 1 1 0.7 0 0.5 0.7 0 0 1 1 0 3
102 1 1 0 0.5 1 0 0.7 0 0 0 0 0 1 1 1 2
103 0 0.5 1 0.5 0.7 0 0.7 0 0 0 0 0 1 0 0 3
104 0 0 0 0.5 1 0 1 1 0.5 0 0.4 1 1 0 0 1
105 0 0 0 0 1 1 1 0 1 1 0 0 1 0 0 3
106 1 0 1 0.5 1 0 1 0 1 0 1 0 1 1 0.5 1
Langkah 3: Melakukan perhitungan jarak eucledian antar data latih Perhitungan jarak eucledian antar data latih dilakukan untuk melakukan validasi masing-masing data latih dan digunakan untuk menghitung nilai validitas. a) Perhitungan manual jarak eucledlian data 1 dan data 3
𝑑(1,3) = √∑(𝑋1 − 𝑋3)
𝑛
𝑖=0
= √(1 − 0) + (1 − 1) + (0.545 − 1) + (0 − 1) + (0.8333 − 0.8333) + (1 − 1) +
(1 − 0) + (0 − 0) + (0 − 1) + (1 − 1) + (1 − 1) + (1 − 1) + (1 − 1) + (0 − 0)
= 2.0
b) Perhitungan manual jarak eucledlian data 1 dan data 5
𝑑(1,5) = √∑(𝑋1 − 𝑋5)
𝑛
𝑖=0
= √(1 − 0) + (1 − 1) + (0.545 − 1) + (0 − 1) + (0.8333 − 0.8333) + (1 − 1) +
(1 − 0) + (0 − 0) + (0 − 1) + (1 − 1) + (1 − 1) + (1 − 1) + (1 − 1) + (0 − 0)
= 2.0 Perhitungan jarak eucledian dilakukan untuk setiap data latih dan hasil perhitungan jarak antar data latih ditunjukkan pada tabel 4.6.
Tabel 4.6 Hasil Perhitungan Jarak Eucledian antar data latih PASIEN GEJALA P
1 3 5 7 9 2 12 14 16 18 24 26 30 46 58
1 0 2.0 0.9 1.5 2.2 3.0 3.0 3.1 3.2 3.0 2.8 2.4 2.7 2.6 2.5 1
3 2.0 0 2.1 2.2 2.4 2.5 2.7 2.9 2.7 2.9 2.7 2.7 2.9 2.8 2.9 1
5 0.9 2.1 0 1.7 1.8 2.7 2.8 2.8 2.9 2.8 2.8 2.5 2.7 2.7 2.5 1
7 1.5 2.2 1.7 0 2.6 2.8 2.5 2.5 2.7 2.5 2.2 2.2 2.6 2.1 2.5 1
9 2.2 2.4 1.8 2.6 0 2.0 2.1 2.7 2.3 2.5 2.5 2.5 2.7 2.7 2.2 1
2 3.0 2.5 2.7 2.8 2.0 0 1.5 2.1 1.5 1.8 2.4 2.5 2.8 2.6 2.5 2
12 3.0 2.7 2.8 2.5 2.1 1.5 0 1.5 0.4 1.1 2.3 2.3 2.7 2.0 2.3 2
14 3.1 2.9 2.8 2.5 2.7 2.1 1.5 0 1.5 1.1 2.0 1.7 2.0 1.4 2.2 2
16 3.2 2.7 2.9 2.7 2.3 1.5 0.4 1.5 0 1 2.3 2.3 2.7 2.0 2.4 2
18 3.0 2.9 2.8 2.5 2.5 1.8 1.1 1.1 1 0 2.0 2.1 2.5 1.7 2.2 2
24 2.8 2.7 2.8 2.2 2.5 2.4 2.3 2.0 2.3 2.0 0 1.9 1.8 1.6 1.6 3
26 2.4 2.7 2.5 2.2 2.5 2.5 2.3 1.7 2.3 2.1 1.9 0 0.9 1.2 1.3 3
30 2.7 2.9 2.7 2.6 2.7 2.8 2.7 2.0 2.7 2.5 1.8 0.9 0 1.4 1.2 3
46 2.6 2.8 2.7 2.1 2.7 2.6 2.0 1.4 2.0 1.7 1.6 1.2 1.4 0 1.6 3
58 2.5 2.9 2.5 2.5 2.2 2.5 2.3 2.2 2.4 2.2 1.6 1.3 1.2 1.6 0 3
Langkah 4: Menghitung nilai validitas Nilai validitas didapatkan dari hasil perhitungan jarak eucledian antar data latih dengan memilih 3 tetangga terdekat (K=3) lalu menentukan apabila data memiliki kelas yang sama dengan tetangga benilai 1 dan jika sebaliknya maka bernilai 0
𝑉𝑎𝑙𝑖𝑑𝑖𝑡𝑦 (𝑥) = 1
𝐻∑ 𝑆(𝑙𝑏𝑙(𝑥), 𝑙𝑏𝑙(𝑁𝑖(𝑥)))
𝑛
𝑖=0
=1
3(1 + 1 + 1)
= 1
Hasil perhitungan nilai validitas 15 data latih ditunjukkan pada tabel 4.7. Langkah 5: Menghitung jarak eucledian antara data latih dan data uji Perhitungan jarak eucledian antara data latih dan data uji dilakukan untuk mendapatkan nilai yang diproses dalam perhitungan weighted voting. a) Perhitungan manual jarak eucledlian data latih 1 dan data uji 101
𝑑(1,3) = √∑(𝑋1 − 𝑋3)
𝑛
𝑖=0
Tabel 4.7 Hasil Perhitungan Nilai Validitas Data Latih
= √(1 − 0) + (1 − 1) + (0.545 − 1) + (0 − 1) + (0.8333 − 0.8333) + (1 − 1) +
(1 − 0) + (0 − 0) + (0 − 1) + (1 − 1) + (1 − 1) + (1 − 1) + (1 − 1) + (0 − 0)
= 2.071
b) Perhitungan manual jarak eucledlian data latih 1 dan data uji 102
𝑑(1,5) = √∑(𝑋1 − 𝑋5)
𝑛
𝑖=0
= √(1 − 0) + (1 − 1) + (0.545 − 1) + (0 − 1) + (0.8333 − 0.8333) + (1 − 1) +
(1 − 0) + (0 − 0) + (0 − 1) + (1 − 1) + (1 − 1) + (1 − 1) + (1 − 1) + (0 − 0)
= 2.071 Perhitungan jarak eucledian dilakukan untuk setiap data latih dan data uji dan hasil perhitungan jarak ditunjukkan pada tabel 4.8. Hasil perhitungan tersebut selanjutnya diolah dalam perhitungan weighted voting.
DATA K=1 K=2 K=3 SUM S(a,b) VALIDITAS
1 1 1 1 3 1
3 1 1 1 3 1
5 1 1 1 3 1
7 1 1 1 3 1
9 1 1 0 2 0.666666667
2 1 1 1 3 1
12 1 1 1 3 1
14 1 1 0 2 0.666666667
16 1 1 1 3 1
18 1 1 1 3 1
24 1 1 1 3 1
26 1 1 1 3 1
30 1 1 1 3 1
46 1 1 1 3 1
58 1 1 1 3 1
Tabel 4.8 Hasil Perhitungan Jarak Eucledian Data Latih dan Data Uji PASIEN DATA
DATA 101 DATA 102 DATA 103 DATA 104 DATA 105 DATA 106
1 2.49 2.85 2.45 1.94 2.71 2.12
3 2.53 2.42 2.30 2.36 2.95 2.53
5 2.52 2.67 2.24 1.72 2.78 1.92
7 2.30 2.69 2.24 2.31 2.64 2.14
9 2.43 2.17 2.54 2.21 2.77 1.91
2 2.35 0.70 2.17 2.73 2.88 2.28
12 2.64 1.73 2.03 2.54 2.78 2.50
14 2.11 2.01 1.79 2.35 2.09 2.80
16 2.59 1.66 1.98 2.58 2.74 2.64
18 2.39 1.94 1.71 2.38 2.55 2.82
24 1.24 2.56 2.42 2.65 1.84 2.71
26 1.28 2.34 1.84 2.03 0.95 2.43
30 1.19 2.71 2.18 2.18 0 2.56
46 1.65 2.44 1.96 2.24 1.40 2.71
58 1.50 2.68 2.14 2.17 1.26 2.45
Langkah 5: Menghitung weighted voting Perhitungan weighted voting dilakukan dengan menghitung hasil perhitungan jarak eucledian antara data latih dan data uji serta nilai validitas data latih dan diambil nilai terbesar untuk menentukan kelas klasifikasi. Hasil perhitungan weighted voting ditunjukkan oleh tabel 4.9. a. Perhitungan nilai weighted voting antara data uji 1 dan data latih 101
𝑊(1,101) = 𝑉𝑎𝑙𝑖𝑑𝑖𝑡𝑦(1) 𝑥 1
𝑑𝑒 + 0.5 = 1 𝑥
1
2.49 + 0.5= 0.9016
b. Perhitungan nilai weighted voting antara data uji 3 dan data latih 102
𝑊(1,102) = 𝑉𝑎𝑙𝑖𝑑𝑖𝑡𝑦(1) 𝑥 1
𝑑𝑒 + 0.5 = 1 𝑥
1
2.42 + 0.5= 0.912955
Tabel 4.9 Hasil Perhitungan Weighted Voting PASIEN DATA
DATA 101 DATA 102 DATA 103 DATA 104 DATA 105 DATA 106
1 0.9016 0.850132 0.906997 1.014525 0.86826 0.969978
3 0.894936 0.912955 0.934398 0.922637 0.837911 0.895061
5 0.895794 0.873469 0.945021 1.080963 0.859674 1.018978
7 0.934487 0.871394 0.945836 0.931527 0.878758 0.965236
9 0.607073 0.640283 0.594856 0.633717 0.573694 0.681062
2 0.925021 1.916667 0.960424 0.865845 0.847157 0.937627
12 0.878541 1.07735 0.990284 0.893096 0.859433 0.898925
14 0.648605 0.663877 0.704397 0.615887 0.651228 0.570861
16 0.884694 1.099917 1.003879 0.886538 0.864687 0.877871
18 0.916766 1.014443 1.083345 0.919115 0.891661 0.853477
24 1.303828 0.889687 0.91233 0.876399 1.043175 0.868425
26 1.277562 0.92582 1.042736 0.991857 1.549743 0.910164
30 1.337266 0.868005 0.957417 0.957918 2 0.889906
46 1.105222 0.908383 1.007942 0.944665 1.210034 0.868447
58 1.164127 0.872427 0.965993 0.959315 1.288362 0.906539
Langkah 6: Menentukan kelas data uji dengan mengurutkan hasil perhitungan weighted voting berdasarkan nilai terbesar lalu menjumlahkan data dengan kelas yang sama. Hasil terbesar diambil sebagai kelas data uji tersebut. Berdasarkan hasil tersebut maka didapatkan perbandingan antara hasil diagnosa dari pakar dengan diagnosa yang didapatkan dari sistem seperti pada tabel 4.10
Tabel 4.10 Perbandingan Hasil Perhitungan Manual dan Data Rumah Sakit
NILAI K DATA UJI HASIL
3
ASLI SISTEM
101 3 3
102 2 2
103 3 3
104 1 1
105 3 3
106 1 1
Dari hasil penetapan kelas diatas didapatkan akurasi sebesar 100% dengan total 15 data latih dan 6 data uji sehingga implementasi algoritma MKNN dapat mengklaisfikasikan data uji dengan tepat.
4.5 Perancangan Antamuka
Perancangan antar muka merupakan tahap untuk membuat antarmuka antara pengguna dan sistem. Perancangan desain dilakukan untuk memudahkan pembuatan antarmuka sistem yang digunakan. Tahap ini dibutuhkan untuk membuat gambaran awal sebelum membuat sistem yang digunakan.
4.5.1 Desain Antarmuka Halaman Login
Halaman awal sistem yang bertujuan untuk melakukan autentikasi terhadap pengguna yang dapat menggunakan sistem. Terdiri atas form untuk mengisi username dan password seperti yang ditunjukkan pada gambar 4.8.
Gambar 4.8 Antarmuka Halaman Login
4.5.2 Desain Antarmuka Halaman Beranda
Halaman setelah pengguna masuk ke dalam sistem adalah gambaran mengenai penyakit demam berdarah, tifoid dan malaria. Halaman menjelaskan tentang penyakit demam secara umum beserta penyebabnya seperti yang ditunjukkan pada gambar 4.9.
Gambar 4.9 Antarmuka Halaman Beranda
username
password
KLASIFIKASI DEMAM MENGGUNAKAN
ALGORITMA MKNN
Gambar 4.9 Antarmuka Halaman Beranda
dashboard
Gejala
Data Latih
MKNN
Pengujian
Penjelasan singkat mengenai demam tifoid
Penjelasan singkat mengenai demam malaria
Penjelasan singkat mengenai Tifoid
Admin Signout
Data Uji
Diagnosa
4.5.3 Desain Antarmuka Halaman Gejala
Halaman ini bertujuan untuk menampilkan 15 gejala beserta tingkatan dan skor untuk masing-masing gejala yang digunakan sebagai data input dalam proses klasifikasi demam menggunakan algoritma MKNN. Halaman ini memiliki tombol untuk menambah data gejala, mengubah dan menghapus gejala seperti yang ditunjukkan pada gambar 4.10.
Gambar 4.10 Antarmuka Halaman Gejala
4.5.4 Desain Antarmuka Halaman Data Latih
Halaman untuk menampilkan 100 data latih pasien beserta 15 gejala dan bobot yang berasal dari pihak RSUD Selasih. Data latih dibedakan dengan data uji untuk karena kedua data ini memiliki fungsi yang berbeda. Data latih digunakan dalam pembentukan fungsi untuk melakukan klasifikasi sedangkan data uji merupakan data untuk menguji hasil fungsi tersebut. Halaman ini menyediakan tombol untuk menambah, mengubah dan menghapus data seperti yang ditunjukkan pada gambar 4.11.
Gambar 4.11 Antarmuka Halaman Data Latih
Diagnosa
Dashboard
Gejala
4.5.5 Desain Antarmuka Halaman Data Uji
Halaman untuk menampilkan data uji yang digunakan untuk melakukan uji klasifikasi demam menggunakan algoritma MKNN. Terdapat tombol untuk menambah dan tombol untuk mengubah data serta tombol untuk melihat hasil diagnosa data pasien sesuai dengan perhitungan sistem menggunakan algoritma MKNN seperti yang ditunjukkan pada gambar 4.12.
Gambar 4.12 Antarmuka Halaman Data Uji
4.5.6 Desain Antarmuka Halaman Perhitungan MKNN
Halaman untuk menampilkan hasil perhitungan MKNN untuk setiap tahap dimulai dari Normalisasi Data Latih (NDL), Normalisasi Data Uji (NDU), Perhitungan Eucledian Data Latih (EDL), Perhitungan Nilai Validitas (NV), Perhitungan Jarak Eucledian Data Latih dan Data Uji (EDLDU) dan perhitungan Weighted Voting (WV) seperti yang ditunjukkan pada gambar 4.13.
Gambar 4.13 Antarmuka Halaman Perhitungan MKNN
111
Dashboard
Gejala
Data Latih
MKNN
Pengujian
Admin Signout
Data Uji
1. NDL 2. NDU 3. EDL 4. NV 5. EDLDU 6. WV
Diagnosa
Klasifikasi
4.5.7 Desain Antarmuka Halaman Pengujian
Halaman pengujian untuk melihat hasil klasifikasi yang didapatkan dari sistem. Halaman ini menyediakan tombol Nilai K untuk melakukan pengujian lalu selanjutnya sistem menampilkan hasil klasifikasi berupa ID pasien, penyakit hasil klasifikasi sistem serta perhitungan nilai tertinggi dari weighted voting untuk masing-masing penyakit seperti yang ditunjukkan pada gambar 4.14.
Gambar 4.14 Antarmuka Halaman Pengujian
4.5.8 Desain Antarmuka Halaman Diagnosa
Halaman diagnosa merupakan halaman untuk menampilkan hasil diagnosa pasien berdasarakan ID pasien beserta data gejala-gejala yang telah diinputkan kedalam sistem seperti yang ditunjukkan pada gambar 4.15.
Gambar 4.15 Antarmuka Halaman Diagnosa
Dashboard
Gejala
Data Latih
MKNN
Pengujian
Admin Signout
Data Uji
Nilai K
Hasil Klasifikasi Tifoid ID Pasien Malaria DBD
Diagnosa
4.6 Perancangan Pengujian
Perancangan pengujian dilakukan untuk mengukur nilai kecocokan antara data asli hasil pemeriksaan dan data klasifikasi sistem sehingga dapat diketahui tingkat akurasi dari algoritma MKNN dalam melakukan klasifikasi penyakit demam.
4.6.1 Pengujian Akurasi dengan K Tetangga
Data latih yang digunakan dalam penelitan sebanyak 100 data dengan 33 data uji. Pengujian nilai K tetangga dilakukan untuk mengetahui tingkat akurasi tertinggi selama proses klasifikasi. Nilai K yang ditentukan bermacam-macam untuk mengetahui perbandingan akurasi aplikasi. Nilai K yang ditentukan misalnya 5, 10, 15 untuk jumlah data latih 50, 70, 100 kemudian dihitung rata-rata dari masing-masing pengujian K dengan jumlah data yang berbeda. Contoh pengujian pengaruh nilai K terhadap nilai K ditunjukkan pada Tabel 4.11.
Tabel 4.11 Contoh Pengujian Akurasi dengan K Tetangga
Nilai K
Data Latih Nilai Rata-Rata akurasi
50 70 100
3 % % % %
7 % % % %
9 % % % %
15 % % % %
20 % % % %
4.6.2 Pengujian Akurasi dengan Komposisi Data Latih
Pengujian data latih dilakukan dengan menyusun komposisi data latih untuk penyakit demam berdarah, demam tifoid dan malaria. Pada penelitian ini data latih yang digunakan adalah 50 data latih dengan kompisisi yang berbeda-beda untuk masing-masing penyakit seperti yang ditujukkan pada tabel 4.12.
Tabel 4.12 Contoh Pengujian Akurasi dengan Komposisi Data Latih
Percobaan
Komposisi Data Latih Nilai Rata-Rata akurasi
DBD Tifoid Malaria
1 30 20 20 %
2 20 30 20 %
3 20 20 30 %
4 25 25 25 %
4.6.3 Pengujian Akurasi dengan Total Data Latih
Pengujian total data latih merupakan salah satu pengujian yang digunakan untuk menentukan akurasi sistem dengan menyusun total data latih yang berbeda sehingga dapat
menguji ketepatan hasil klasifikasi. Pengujian ini dilakukan dengan mengambil komposisi data secara acak seperti pada tabel 4.13
Tabel 4.13 Contoh Pengujian Akurasi dengan Total Data Latih
Nilai K
Total Data Latih Nilai Rata-Rata akurasi
100 Data Latih
33 Data Uji
70 Data Latih
33 Data Uji
50 Data Latih
33 Data Uji
3 % % % %
4.6.4 Pengujian Akurasi dengan Total Data Latih dan Data Uji
Pengujian total data latih merupakan salah satu pengujian yang digunakan untuk menentukan akurasi sistem dengan menyusun total data latih dan data uji yang berbeda berdasarkan 133 data dari RSUD selasih sehingga dapat menguji ketepatan hasil klasifikasi. Pengujian ini dilakukan dengan mengambil komposisi data secara acak seperti pada tabel 4.14.
Tabel 4.14 Contoh Pengujian Akurasi dengan Total Data Latih dan Data Uji
Nilai K
Total Data Latih
100 Data Latih
33 Data Uji
80 Data Latih
53 Data Uji
70 Data Latih
63 Data Uji
3 % % %
5 % % %
7 % % %
10 % % %
Rata- Rata Akurasi
% % %
BAB 5 IMPLEMENTASI
Pembahasan pada bab ini mengenai tentang implementasi algoritma MKNN untuk memberikan hasil klasifikasi demam berdasarkan data masukan. Bab ini menjelaskan tentang implementasi sesuai dengan perancangan yang dilakukan pada bab sebelumnya yang berisi tentang spesifkasi sistem, batasan implementasi, implementasi algoritma dan implementasi interface (antarmuka) seperti yang ditunjukkan pada gambar 5.1
Gambar 5.1 Konsep Implementasi
5.1 Spesifikasi Sistem
Spesifikasi sistem yang digunakan untuk membantu proses klasifikasi demam menggunakan algortima MKNN terdiri atas perangkat keras dan perangkat lunak yang dapat menunjang kebutuhan sistem supaya sistem dapat berjalan dengan baik.
5.1.1 Spesifikasi Perangkat Keras
Spesifikasi perangkat keras pada proses klasifikasi demam menggunakan algoritma MKNN dijelaskan pada Tabel 5.1.
Implementasi
Implementasi Antarmuka
Implementasi Algoritma
Normalisasi Data Latih
Normalisasi Data Uji
Eucledian Antar Data Latih
Nilai Validitas
Eucledian Data Latih dan Data Uji
Penentuan Kelas
Weighted Voting
Spesifikasi Sistem Spesifikasi Perangkat Keras
Spesifikasi Perangkat Lunak
Batasan Implementasi
Tabel 0.1 Spesifikasi Perangkat Keras
Nama Komponen Spesifikasi
Prosesor Intel Core i3
Memori 2 GB
Kartu Grafis NVIDIA GeForce 540M
Hardisk 500GB
5.1.2 Spesifikasi Perangkat Lunak
Spesifikasi perangkat lunak untuk melakukan klasifikasi penyakit demam menggunakan algoritma MKNN yang dijelaskan pada Tabel 5.2.
Tabel 0.2 Spesifikasi Perangkat Lunak
Nama Spesifikasi
Sistem Operasi Windows 8
Bahasa Pemrograman PHP
Framework Codeigniter
Tools pemrograman Sublime
DBMS MySQL
5.2 Batasan Implementasi
Terdapat beberapa batasan yang digunakan dalam mengembangkan sistem untuk klasifikasi demam menggunakan algoritma MKNN: 1. Sistem klasifikasi demam dikembangkan dengan bahasa pemrograman PHP yang
menghasilkan sistem berbasis website. 2. Penyimpanan data disusun dengan menggunakan database MySQL. 3. Algoritma yang digunakan dalam proses klasifikasi demam adalah algoritma MKNN 4. Data yang digunakan berasal dari Rumah Sakit Selasih Kabupaten Riau yang terdiri atas
133 Data yaitu 100 Data Latih dan 33 Data Uji. 5. Klasifikasi demam menggunakan algoritma MKNN dilakukan berdasarkan 15 gejala
penyakit demam. 6. Data input merupakan bobot dari 15 gejala penyakit demam sesuai dengan kriteria bobot
yang telah diberikan oleh pihak rumah sakit Selasih. 7. Output sistem merupakan hasil klasifikasi demam yaitu, demam berdarah, demam tifoid
dan demam malaria.
5.3 Implementasi Algoritma
Implementasi algoritma MKNN dalam melakukan klasifikasi penyakit demam dilakukan dalam beberapa tahap, yaitu normalisasi data latih dan data uji, perhitungan jarak eucledian antar data latih, perhitungan nilai validitas, perhitungan jarak eucledian antara data
latih dan data uji serta perhitungan weighted voting sebagai penentuan kelas klasifikasi untuk data uji.
5.3.1 Implementasi Proses Normalisasi Data Latih
Langkah pertama untuk klasifikasi demam adalah melakukan normalisasi data latih untuk memperkecil jarak antar data latih seperti yang ditunjukkan pada souce code 5.1.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/*calc.php*/
public function norm($data, $g, $return)
{
foreach($data->result() as $row) {
if($g == "G1") {
$gejala[] = $row->G1;
} else if($g == "G2") {
$gejala[] = $row->G2;
} else if($g == "G3") {
$gejala[] = $row->G3;
} else if($g == "G4") {
$gejala[] = $row->G4;
} else if($g == "G5") {
$gejala[] = $row->G5;
} else if($g == "G6") {
$gejala[] = $row->G6;
} else if($g == "G7") {
$gejala[] = $row->G7;
} else if($g == "G8") {
$gejala[] = $row->G8;
} else if($g == "G9") {
$gejala[] = $row->G9;
} else if($g == "G10") {
$gejala[] = $row->G10;
} else if($g == "G11") {
$gejala[] = $row->G11;
} else if($g == "G12") {
$gejala[] = $row->G12;
} else if($g == "G13") {
$gejala[] = $row->G13;
} else if($g == "G14") {
$gejala[] = $row->G14;
} else if($g == "G15") {
$gejala[] = $row->G15;
}
$max = max($gejala);
$min = min($gejala);
$range = $max - $min;
switch ($return) {
case 'max':
return $max;
break;
case 'min':
return $min;
break;
case 'range':
return $range;
break;
}
}
public function normalisasi_dlatih($data)
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
78
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
{
foreach ($data->result() as $row) {
$G1 = ($row->G1 - $this->norm($data, "G1",
"min")) / $this->norm($data, "G1", "range");
$G2 = ($row->G2 - $this->norm($data, "G2",
"min")) / $this->norm($data, "G2", "range");
$G3 = ($row->G3 - $this->norm($data, "G3",
"min")) / $this->norm($data, "G3", "range");
$G4 = ($row->G4 - $this->norm($data, "G4",
"min")) / $this->norm($data, "G4", "range");
$G5 = ($row->G5 - $this->norm($data, "G5",
"min")) / $this->norm($data, "G5", "range");
$G6 = ($row->G6 - $this->norm($data, "G6",
"min")) / $this->norm($data, "G6", "range");
$G7 = ($row->G7 - $this->norm($data, "G7",
"min")) / $this->norm($data, "G7", "range");
$G8 = ($row->G8 - $this->norm($data, "G8",
"min")) / $this->norm($data, "G8", "range");
$G9 = ($row->G9 - $this->norm($data, "G9",
"min")) / $this->norm($data, "G9", "range");
$G10 = ($row->G10 - $this->norm($data, "G10",
"min")) / $this->norm($data, "G10", "range");
$G11 = ($row->G11 - $this->norm($data, "G11",
"min")) / $this->norm($data, "G11", "range");
$G12 = ($row->G12 - $this->norm($data, "G12",
"min")) / $this->norm($data, "G12", "range");
$G13 = ($row->G13 - $this->norm($data, "G13",
"min")) / $this->norm($data, "G13", "range");
$G14 = ($row->G14 - $this->norm($data, "G14",
"min")) / $this->norm($data, "G14", "range");
$G15 = ($row->G15 - $this->norm($data, "G15",
"min")) / $this->norm($data, "G15", "range");
$temp[] = array(
"id_pasien" => $row->id_pasien,
"penyakit" => $row->penyakit,
"G1" => $G1,
"G2" => $G2,
"G3" => $G3,
"G4" => $G4,
"G5" => $G5,
"G6" => $G6,
"G7" => $G7,
"G8" => $G8,
"G9" => $G9,
"G10" => $G10,
"G11" => $G11,
"G12" => $G12,
"G13" => $G13,
"G14" => $G14,
"G15" => $G15
);
}
return $temp;
}
/*v_normal_dlatih.php*/ <?php
$n = 1;
foreach($this->calc->normalisasi_dlatih($list_dlatih)
as $row => $value) {
?>
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
<tr>
<td data-label="ID" class="text-center">
<span class="badge bg-blue">
<?=$value["id_pasien"];?>
</span>
</td>
<td data-
label="G1"><?=number_format($value["G1"],4);?></td>
<td data-
label="G2"><?=number_format($value["G2"],4);?></td>
<td data-
label="G3"><?=number_format($value["G3"],4);?></td>
<td data-
label="G4"><?=number_format($value["G4"],4);?></td>
<td data-
label="G5"><?=number_format($value["G5"],4);?></td>
<td data-
label="G6"><?=number_format($value["G6"],4);?></td>
<td data-
label="G7"><?=number_format($value["G7"],4);?></td>
<td data-
label="G8"><?=number_format($value["G8"],4);?></td>
<td data-
label="G9"><?=number_format($value["G9"],4);?></td>
<td data-
label="G10"><?=number_format($value["G10"],4);?></td>
<td data-
label="G11"><?=number_format($value["G11"],4);?></td>
<td data-
label="G12"><?=number_format($value["G12"],4);?></td>
<td data-
label="G13"><?=number_format($value["G13"],4);?></td>
<td data-
label="G14"><?=number_format($value["G14"],4);?></td>
<td data-
label="G15"><?=number_format($value["G15"],4);?></td>
<td data-label="Penyakit">
<?php } ?>
Source Code 5.1 Implementasi Proses Normalisasi Data Latih Penjelasan implementasi kode program 5.1 mengenai proses normalisasi data latih sebagai berikut:
1. Baris 1 sampai baris 34 merupakan kode program untuk mengambil data 15 gejala pasien dari database untuk disimpan dalam array.
2. Baris 36 sampai baris 51 merupakan kode program untuk mengambil nilai terbaris, nilai terkecil dan jarak dari nilai terkecil dan nilai terbesar dari masing-masing gejala.
3. Baris 52 sampai baris 105 merupakan kode program untuk melakukan proses normalisasi data latih dengan ketentuan nilai dari gejala dikurangi dengan nilai minimum gejala lalu dibagi dengan jarak antara nilai terbesar dan nilai terkecil dari masing-masing gejala.
4. Baris 108 sampai baris 150 merupakan kode program untuk menampilkan data hasil perhitungan normalisasi data latih
5.3.2 Implementasi Proses Normalisasi Data Uji
Langkah kedua merupakan tahap normalisasi data uji. Langkah ini dilakukan untuk menghasilkan data uji ternormalisasi seperti ditunjukkan pada souce code 5.2.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
/*Calc.php*/
public function norm($data, $g, $return)
{
/* FOR DATA UJI */
else if($g == "U1") {
$gejala[] = $row->U1;
} else if($g == "U2") {
$gejala[] = $row->U2;
} else if($g == "U3") {
$gejala[] = $row->U3;
} else if($g == "U4") {
$gejala[] = $row->U4;
} else if($g == "U5") {
$gejala[] = $row->U5;
} else if($g == "U6") {
$gejala[] = $row->U6;
} else if($g == "U7") {
$gejala[] = $row->U7;
} else if($g == "U8") {
$gejala[] = $row->U8;
} else if($g == "U9") {
$gejala[] = $row->U9;
} else if($g == "U10") {
$gejala[] = $row->U10;
} else if($g == "U11") {
$gejala[] = $row->U11;
} else if($g == "U12") {
$gejala[] = $row->U12;
} else if($g == "U13") {
$gejala[] = $row->U13;
} else if($g == "U14") {
$gejala[] = $row->U14;
} else if($g == "U15") {
$gejala[] = $row->U15;
}
}
$max = max($gejala);
$min = min($gejala);
$range = $max - $min;
switch ($return) {
case 'max':
return $max;
break;
case 'min':
return $min;
break;
case 'range':
return $range;
break;
}
}
public function normalisasi_duji($data)
{
foreach ($data->result() as $row) {
$U1 = ($row->U1 - $this->norm($data, "U1",
"min")) / $this->norm($data, "U1", "range");
$U2 = ($row->U2 - $this->norm($data, "U2",
"min")) / $this->norm($data, "U2", "range");
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
78
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
$U3 = ($row->U3 - $this->norm($data, "U3",
"min")) / $this->norm($data, "U3", "range");
$U4 = ($row->U4 - $this->norm($data, "U4",
"min")) / $this->norm($data, "U4", "range");
$U5 = ($row->U5 - $this->norm($data, "U5",
"min")) / $this->norm($data, "U5", "range");
$U6 = ($row->U6 - $this->norm($data, "U6",
"min")) / $this->norm($data, "U6", "range");
$U7 = ($row->U7 - $this->norm($data, "U7",
"min")) / $this->norm($data, "U7", "range");
$U8 = ($row->U8 - $this->norm($data, "U8",
"min")) / $this->norm($data, "U8", "range");
$U9 = ($row->U9 - $this->norm($data, "U9",
"min")) / $this->norm($data, "U9", "range");
$U10 = ($row->U10 - $this->norm($data, "U10",
"min")) / $this->norm($data, "U10", "range");
$U11 = ($row->U11 - $this->norm($data, "U11",
"min")) / $this->norm($data, "U11", "range");
$U12 = ($row->U12 - $this->norm($data, "U12",
"min")) / $this->norm($data, "U12", "range");
$U13 = ($row->U13 - $this->norm($data, "U13",
"min")) / $this->norm($data, "U13", "range");
$U14 = ($row->U14 - $this->norm($data, "U14",
"min")) / $this->norm($data, "U14", "range");
$U15 = ($row->U15 - $this->norm($data, "U15",
"min")) / $this->norm($data, "U15", "range");
$temp[] = array(
"id_pasien" => $row->id_pasien1,
"U1" => $U1,
"U2" => $U2,
"U3" => $U3,
"U4" => $U4,
"U5" => $U5,
"U6" => $U6,
"U7" => $U7,
"U8" => $U8,
"U9" => $U9,
"U10" => $U10,
"U11" => $U11,
"U12" => $U12,
"U13" => $U13,
"U14" => $U14,
"U15" => $U15
);
}
return $temp;
}
Source Code 5.2 Implementasi Proses Normalisasi Data Uji Penjelasan implementasi kode program 5.2 mengenai proses normalisasi data uji sebagai berikut:
1. Baris 1 sampai baris 34 merupakan kode program untuk mengambil data 15 gejala pasien dari database yang merupakan data uji untuk disimpan dalam array.
2. Baris 38 sampai baris 52 merupakan kode program untuk mengambil nilai terbaris, nilai terkecil dan jarak dari nilai terkecil dan nilai terbesar dari masing-masing gejala.
3. Baris 54 sampai baris 106 merupakan kode program untuk melakukan proses normalisasi data uji dengan ketentuan nilai dari gejala dikurangi dengan nilai minimum gejala lalu dibagi dengan jarak antara nilai terbesar dan nilai terkecil dari masing-masing gejala.
4. Baris 108 sampai baris 150 merupakan kode program untuk menampilkan data hasil perhitungan normalisasi data uji
5.3.3 Implementasi Proses Perhitungan Jarak antar Data Latih
Data latih yang sudah ternormalisasi diproses pada tahap selanjutnya yaitu melakukan perhitungan jarak. Perhitungan jarak antar data lata latih dilakukan untuk mendapatkan hasil yang diproses dalam perhitungan nilai validitas seperti yang ditunjukkan pada souce code 5.3.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/*calc.php*/
public function euc_data_latih($data)
{
$n = 1;
$tmp = $this->normalisasi_dlatih($data);
for($i=0; $i < count($tmp); $i++) {
for($j=0; $j < count($tmp); $j++) {
$dis[$i][$j]["values"] =
sqrt(pow($tmp[$i]["G1"] - $tmp[$j]["G1"], 2)+
pow($tmp[$i]["G2"] - $tmp[$j]["G2"], 2)+
pow($tmp[$i]["G3"] - $tmp[$j]["G3"], 2)+
pow($tmp[$i]["G4"] - $tmp[$j]["G4"], 2)+
pow($tmp[$i]["G5"] - $tmp[$j]["G5"], 2)+
pow($tmp[$i]["G6"] - $tmp[$j]["G6"], 2)+
pow($tmp[$i]["G7"] - $tmp[$j]["G7"], 2)+
pow($tmp[$i]["G8"] - $tmp[$j]["G8"], 2)+
pow($tmp[$i]["G9"] - $tmp[$j]["G9"], 2)+
pow($tmp[$i]["G10"] - $tmp[$j]["G10"],2)+
pow($tmp[$i]["G11"] - $tmp[$j]["G11"],2)+
pow($tmp[$i]["G12"] - $tmp[$j]["G12"],2)+
pow($tmp[$i]["G13"] - $tmp[$j]["G13"],2)+
pow($tmp[$i]["G14"] - $tmp[$j]["G14"],2)+
pow($tmp[$i]["G15"] - $tmp[$j]["G15"],2));
$dis[$i][$j]["id_pasien"] = $tmp[$j]["id_pasien"];
$dis[$i][$j]["penyakit"] = $tmp[$j]["penyakit"];
}
}
return $dis;
}
/*v_euc_dlatih*/
<?php
$n = 1;
$temp = $this->calc->euc_data_latih($list_dlatih);
for($i=0; $i < count($temp); $i++) {
echo "<tr>";
echo "<td class='text-center'>".$n++."</td>";
for($j=0; $j < count($temp); $j++) {
if($tmp[$i][$j]["penyakit"] == "Tifoid") {
$label = "info";
} else if($tmp[$i][$j]["penyakit"] == "Malaria") {
$label = "success";
} else {
$label = "danger";
}
$mark = ($j == $n-2)? "bg-light" : "";
?>
48
49
50
51
52
53
<td class="text-center <?=$mark;?>">
<?=round($temp[$i][$j]["values"], 6);?> <br/>
<small class="label label <?=$label;?>">
<?=$tmp[$i][$j]["penyakit"];?>
</td>
<?php } echo "</tr>"; } ?> Source Code 5.3 Implementasi Proses Perhitungan Jarak antar Data Latih
Penjelasan implementasi kode program 5.3 mengenai proses perhitungan jarak eucledian antar data latih sebagai berikut:
1. Baris 2 sampai baris 29 merupakan kode program untuk melakukan perhitungan jarak eucledian antar data latih sesuai dengan persamaan 2.1 lalu menyimpan hasil perhitungan dalam bentuk array beserta id pasien dan penyakit.
2. Baris 32 sampai baris 53 merupakan kode program untuk menampilkan hasil perhitungan jarak eucledian antar data latih.
5.3.4 Implementasi Proses Perhitungan Nilai Validitas
Langkah selanjutnya merupakan perhitungan nilai validitas berdasarkan hasil perhitungan jarak antar data latih. Perhitungan nilai validitas dilakukan dengan memberikan nilai 1 untuk data latih yang memiliki penyakit yang sama dan nilai 0 untuk data latih yang memiliki penyakit yang berbeda berdasarkan K yang telah ditentukan seperti ditunjukkan pada souce code 5.4.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
public function validitas($data,$returned=NULL,$limit=0){
$tmp = $this->euc_data_latih($data);
for($i=0; $i < count($tmp); $i++) {
for($j=0; $j < count($tmp); $j++) {
$sort[$i][$j]['values']= $tmp[$i][$j]["values"];
$sort[$i][$j]['id_pasien']=
$tmp[$i][$j]["id_pasien"];
$sort[$i][$j]['penyakit']=
$tmp[$i][$j]["penyakit"];
}
/* sorting array per column */
usort($sort[$i], function($a, $b) {
if ($a['values'] == $b['values']) {
return 0;
}
return ($a['values'] > $b['values']) ? 1 : -1;
});
}
/* transposing array row to column */
$transposed = $this->transpose($sort);
$sorted = $sort;
$norm_dlatih = $this->normalisasi_dlatih($data);
for($i=0;$i < count($sorted);$i++) {
for($j=0;$j < count($sorted);$j++){
if($sorted[$i][$j]["penyakit"]==
$norm_dlatih[$i]["penyakit"]) {
$counter[$i][$j] = 1;
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
} else {
$counter[$i][$j] = 0;
}
if($j == $limit-1) break;
}
}
foreach($counter as $key => $values) {
if($limit != 0) {
@$match[$key]=(array_sum($values))/$limit;
} else {
$match[$key] = "NULL";
}
}
switch($returned) {
case "transposed":
return $transposed;
break;
case "matching_validity":
return $match;
break;
}
}
<?php
$k3=$this->calc->validitas($list_dlatih,
"matching_validity", 3);
foreach($k3 as $row) {
$bg = ($row != 1)?"bg-danger":"bg-white";
echo" <td class='text-center $bg'>".(($row !=
1)? round($row, 4) : $row)."</td>";
}
?>
Source Code 5.4 Implementasi Proses Perhitungan Nilai Validitas
Penjelasan implementasi kode program 5.4 mengenai proses perhitungan nilai validitas sebagai berikut:
1. Baris 1 sampai baris 18 merupakan kode program untuk melakukan proses pengurutan hasil perhitungan eucledian data latih darai nilai terkecil sampai nilai terbesar.
2. Baris 20 sampai baris 38 merupakan kode program untuk ketentuan dari perhitungan nilai validitas yaitu jika kelas data latih sama dengan kelas tetangga maka bernilai 1 dan jika berbeda maka bernilai 0 sesuai dengan persamaan 2.3.
3. Baris 40 sampai baris 56 merupakan kode program untuk mendapatkan nilai validitas yang dengan menjumlahkan seluruh nilai yang didapatkan dari proses identifikasi kelas tetangga yang sama dibagi dengan nilai K yang telah ditentukan sesuai dengan persamaan 2.2.
4. Baris 57 sampai baris 65 merupakan kode program untuk menampilkan hasil perhitungan validitas dengan jumlah K =3.
5.3.5 Implementasi Proses Perhitungan Jarak Data Latih dan Data Uji
Perhitungan jarak dalam algoritma MKNN dilakukan sebanyak 2 kali yaitu, perhitungan jarak antar data latih dan perhitungan jarak antar data latih dan uji. Perhitungan
jarak antar data latih digunakan untuk mendapatkan nilai validitas sementara perhitungan jarak antar data latih dan data uji dilakukan pada proses perhitungan weighted voting seperti ditunjukan pada souce code 5.5.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
public function euc_dlatih_duji($data_latih, $data_uji) {
$tmp_dlatih = $this->normalisasi_dlatih($data_latih);
$tmp_duji = $this->normalisasi_duji($data_uji);
for($i=0; $i < count($tmp_dlatih); $i++) {
for($j=0; $j < count($tmp_duji); $j++) {
$dis[$i][$j]["values"]=sqrt(pow($tmp_dlatih[$i]["G1"]
- $tmp_duji[$j]["U1"], 2) +
pow($tmp_dlatih[$i]["G2"]-$tmp_duji[$j]["U2"], 2) +
pow($tmp_dlatih[$i]["G3"]-$tmp_duji[$j]["U3"], 2) +
pow($tmp_dlatih[$i]["G4"]-$tmp_duji[$j]["U4"], 2) +
pow($tmp_dlatih[$i]["G5"]-$tmp_duji[$j]["U5"], 2) +
pow($tmp_dlatih[$i]["G6"]-$tmp_duji[$j]["U6"], 2) +
pow($tmp_dlatih[$i]["G7"]-$tmp_duji[$j]["U7"], 2) +
pow($tmp_dlatih[$i]["G8"]-$tmp_duji[$j]["U8"], 2) +
pow($tmp_dlatih[$i]["G9"]-$tmp_duji[$j]["U9"], 2) +
pow($tmp_dlatih[$i]["G10"]-$tmp_duji[$j]["U10"],2)+
pow($tmp_dlatih[$i]["G11"]-$tmp_duji[$j]["U11"],2)+
pow($tmp_dlatih[$i]["G12"]-$tmp_duji[$j]["U12"],2)+
pow($tmp_dlatih[$i]["G13"]-$tmp_duji[$j]["U13"],2)+
pow($tmp_dlatih[$i]["G14"]-$tmp_duji[$j]["U14"],2)+
pow($tmp_dlatih[$i]["G15"]-$tmp_duji[$j]["U15"],2))
);
$dis[$i][$j]["id_pasien"] = $tmp_duji[$j]["id_pasien"];
}
}
return $dis;
}
<?php
$tmp = $this->calc->euc_dlatih_duji($list_dlatih,
$list_duji);
foreach($list_duji->result() as $row) {
?>
<th class="text-center"><?=$row->id_pasien1;?> </br>
<?php
$n = 1;
$temp = $this->calc->euc_dlatih_duji($list_dlatih,
$list_duji);
for($i=0; $i < count($temp); $i++) {
echo "<tr>";
for($j=0; $j < count($temp[$i]); $j++) {
?>
<td class="text-center">
<?=round($temp[$i][$j]["values"], 6);?>
</td>
<?php } echo "</tr>"; } ?> Source Code 5.5 Implementasi Proses Perhitungan Jarak Data Latih dan Data
Uji Penjelasan implementasi kode program 5.5 mengenai proses perhitungan jarak eucledian antar data latih sebagai berikut:
1. Baris 2 sampai baris 29 merupakan kode program untuk melakukan perhitungan jarak eucledian data latih dan data uji sesuai dengan persamaan 2.1 lalu menyimpan hasil perhitungan dalam bentuk array beserta id pasien.
2. Baris 32 sampai baris 50 merupakan kode program untuk menampilkan hasil perhitungan jarak eucledian antara data latih dan data uji.
5.3.6 Implementasi Proses Perhitungan Weighted Voting
Perhitungan weighted voting dilakukan untuk melakukan penentuan hasil klasifikasi sistem. Langkah ini memproses semua hasil perhitungan nilai validitas dan hasil jarak antara data uji dan data latih seperti ditunjukkan pada souce code 5.6.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
public function weighted_voting($data_latih, $data_uji,
$limit = 0, $sorted = FALSE){
$euc_duji = $this->euc_dlatih_duji($data_latih,
$data_uji);
$validitas = $this->validitas($data_latih,
"matching_validity", $limit);
for($i=0; $i < count($euc_duji); $i++) {
for($j=0; $j < count($euc_duji[$i]); $j++) {
if($euc_duji[$i][$j]["values"] != 0) {
$weighted[$i][$j]["values"] =
$validitas[$i] * (1 / $euc_duji[$i][$j]["values"] + 0.5);
} else {
$weighted[$i][$j]["values"] =
$validitas[$i] * (1/0.5);
}
$weighted[$i][$j]["id_pasien"]=
$euc_duji[$i][$j]["id_pasien"];
}
}
}
<?php
$n = 1;
/* if k is detected */
if(isset($_GET['k']) && $_GET['k'] != NULL) {
$k = $_GET['k'];
} else {
$k = 3;
}
$temp = $this->calc->weighted_voting($list_dlatih,
$list_duji, $k);
for($i=0; $i < count($temp); $i++) {
echo "<tr>";
echo "<td class='text-center'><span
class='badge bg-purple'>".$n++."</span></td>";
for($j=0; $j < count($temp[$i]); $j++) {
if($temp[$i][$j]["penyakit"] == "Tifoid") {
$label = "info";
} else if($temp[$i][$j]["penyakit"] ==
"Malaria") {
$label = "success";
} else {
$label = "danger";
46
47
}
?>
Source Code 5.6 Implementasi Proses Perhitungan Weighted Voting
Penjelasan implementasi kode program 5.6 mengenai proses perhitungan weighted voting sebagai berikut: 1. Baris 1 sampai baris 19 merupakan kode program untuk melakukan perhitungan
weighted voting sesuai dengan persamaan 2.9 lalu menyimpan hasil perhitungan dalam bentuk array.
2. Baris 23 sampai baris 47 merupakan kode program untuk menampilkan hasil perhitungan weighted voting.
5.4 Implementasi Antarmuka
Halaman antarmuka merupakan media yang digunakan untuk menghubungkan antara pengguna dan sistem agar dapat berkomunikasi sesuai dengan tujuan. Sistem menyediakan beberapa halaman untuk melakukan fungsi klasifikasi antara lain, halaman menampilkan data gejala, halaman untuk menampilkan data latih pasien, halaman untuk menampilkan data uji pasien, halaman proses perhitungan algoritma MKNN, halaman pengujian dan halaman diagnosa yang bisa diakses oleh pengguna yang telah diverifikasi sebelumnya.
5.4.1 Halaman Awal
Halaman awal dari sistem menampilkan judul penelitian dan terdapat tombol sign in untuk melakukan proses verifikasi pengguna agar dapat mengakses fungsi-fungsi dalam sistem seperti yang ditunjukkan dalam gambar 5.2.
Gambar 5.2 Halaman Awal Sistem
5.4.2 Halaman Data Gejala
a. Halaman Daftar Gejala
Sistem menampilkan halaman daftar gejala untuk penyakit demam berdarah, tifoid dan malaria berdasarkan data gejala dan bobot yang diberikan oleh pihak RSUD Selasih seperti pada gambar 5.3.
Gambar 5.3 Halaman Daftar Gejala b. Halaman Tambah Gejala
Form tambah gejala untuk menambahkan gejala penyakit yang digunakan untuk melakukan klasifikasi demam seperti yang ditunjukkan pada gambar 5.4.
Gambar 5.4 Halaman Tambah Gejala
5.4.3 Halaman Data Latih Pasien
a. Halaman Data Latih Pasien
Sistem menampilkan 100 data latih pasien yang digunakan untuk menyusun fungsi klasifikasi. Data pasien terdiri atas ID pasien dan bobot 15 gejala berdasarkan hasil pemeriksaan pada pasien seperti pada gambar 5.5.
Gambar 5.5 Halaman Data Latih Pasien
b. Halaman Tambah Data Latih Pasien
Tampilan form untuk menambahkan data latih baru yang berisi data gejala demam seperti yang ditunjukkan pada gambar 5.6.
Gambar 5.6 Halaman Tambah Data Latih
5.4.4 Halaman Data Uji Pasien
a. Halaman Data Uji
Halaman sistem yang menampilkan data uji pasien yang digunakan untuk proses pengujian metode MKNN dalam mengklasifikasikan demam. Data uji memiliki data yang sama dengan tabel data latih terdiri atas ID pasien dan 15 gejala beserta bobot seperti pada gambar 5.7.
Gambar 5.7 Halaman Data Uji Pasien
b. Halaman Tambah Data Uji
Tampilan form untuk menambahkan data uji baru yang berisi data gejala demam yang digunakan sebagai data dalam pengujian klasifikasi demam menggunakan algoritma MKNN seperti yang ditunjukkan pada gambar 5.8.
Gambar 5.8 Halaman Tambah Data Uji Pasien
5.4.5 Halaman Perhitungan Metode MKNN
Proses klasifikasi demam menggunakan metode MKNN terdiri atas beberapa tahap, antara normalisasi data latih, normalisasi data uji, perhitungan jarak eucledian data latih, perhitungan nilai validitas, perhitungan jarak eucledian antara data latih dan data uji, perhitungan weighted voting. Berikut adalah hasil perhitungan sistem dengan metode MKNN untuk setiap proses.
a. Halaman Normalisasi Data Latih
Sistem menampilkan hasil normalisasi data latih yang merupakan tahap awal untuk klasifikasi demam menggunakanan metode MKNN seperti yang ditunjukkan pada gambar 5.9.
Gambar 5.9 Halaman Normalisasi Data Latih
b. Halaman Normalisasi Data Uji
Sistem menampilkan hasil normalisasi data uji yang merupakan tahap selanjutnya untuk klasifikasi demam menggunakanan metode MKNN seperti yang ditunjukkan pada gambar 5.10.
Gambar 5.10 Halaman Normalisasi Data Uji
c. Halaman Perhitungan Jarak Eucledian antar Data Latih
Perhitungan jarak eucledian antar data latih dilakukan untuk mengetahui jarak antar data latih untuk mengetahui nilai validitas. Perhitungan jarak dilakukan menggunakan persamaan 2.6 dengan hasil yang ditunjukkan pada gambar 5.11.
Gambar 5.11 Halaman Perhitungan Jarak Eucledian antar Data Latih
d. Halaman Perhitungan Nilai Validitas
Sistem menampilkan perhitungan nilai validitas yang didapatkan dari proses sebelumnya. Proses ini menambah ketentuan untuk data dengan nilai terdekat jika memiliki kelas yang sama bernilai 1 dan untuk data dengan kelas yang tidak sama bernilai 0 lalu dijumlahkan dan dibagi dengan nilai K yang telah ditentukan seperti yang ditunjukkan pada gambar 5.12.
Gambar 5.12 Halaman Perhitungan Nilai Validitas
e. Halaman Perhitungan Jarak Eucledian Data Latih dan Data Uji
Sistem menampilkan proses perhitungan jarak eucledian antara data latih dan data uji yang selanjutnya diproses dalam perhitungan weighted voting untuk menentukan hasil klasifikasi seperti pada gambar 5.13.
Gambar 5.13 Halaman Perhitungan Jarak Eucledian Data Latih dan Data Uji
f. Halaman Pehitungan Weighted Voting
Sistem menampilkan halaman untuk perhitungan weighted voting untuk proses terakhir perhitungan metode MKNN. Nilai perhitungan weighted voting digunakan untuk penentuan kelas data uji disertai penentuan nilai K seperti yang ditunjukkan gambar 5.14.
Gambar 5.14 Halaman Perhitungan Weighted Voting
5.4.6 Halaman Pengujian
Halaman pengujian pada sistem menampilkan hasil klasifikasi demam untuk semua data uji sesuai dengan nilai yang didapatkan dari perhitungan weighted voting. Hasil Klasifikasi dalam halaman pengujian ditampilkan sesuai dengan nilai K yang ditentukan lalu ditampilkan banyak data dengan sesuai nilai K dengan nilai tertinggi pada masing-masing penyakit seperti yang ditunjukkan pada gambar 5.15.
Gambar 5.15 Halaman Pengujian
5.4.7 Halaman Diagnosa
Halaman diagnosa dalam sistem menampilkan data hasil klasfikasi sesuai dengan ID pasien dan nilai K yang dipilih oleh pengguna. Halaman ini menampilkan hasil diagnosa sistem disertai hasil pemeriksaan pasien pada halaman data uji seperti yang ditunjukkan pada gambar 5.16.
Gambar 5.16 Halaman Pengujian
BAB 6 PENGUJIAN DAN ANALISIS
Bab 6 melakukan pembahasan mengenai pengujian metode MKNN dalam mengklasifikasikan demam. Bab ini menjelaskan tentang proses pengujian sekaligus menganalisa nilai akurasi yang didapatkan setelah proses pengujian. Proses pengujian dilakukan dalam beberapa tahap untuk menguji tingkat kecocokan sistem terhadap data asli. Pengujian dilakukan untuk mengetahui pengaruh perubahan nilai K, pengaruh perubahan total data latih dan pengaruh perubahan komposisi data latih terhadap akurasi sistem.
6.1 Pengujian Pengaruh Nilai K Terhadap Akurasi
Pengujian akurasi sistem dilakukan dengan mengubah nilai K untuk mengetahui nilai akurasi tertinggi dan pengaruh nilai K terhadap tingkat akurasi sistem dalam melakukan klasifikasi demam menggunakan algoritma MKNN.
6.1.1 Skenario dan Hasil Pengujian
Pengujian terhadap nilai K dilakukan menggunakan nilai K yang bervariasi, yaitu nilai K = 3, K = 5, K = 7, K = 10, K = 20 dan K = 30 dengan jumlah data latih yang berbeda, yaitu 50, 70 dan 100 data latih. Pengujian nilai K dilakukan pada masing-masing data latih lalu dilakukan analisa terhadap nilai rata-rata yang didapatkan dari pengujian. Hasil pengujian pengaruh nilai K terhadap akurasi ditunjukkan pada tabel 6.1.
Tabel 6.1 Hasil Pengujian Pengaruh Nilai K
Nilai K Data Latih
Rata-Rata Akurasi 50 70 100
3 93.94% 93.94% 96.97% 94.95%
5 90.91% 93.94% 93.94% 92.93%
7 90.91% 96.97% 93.94% 93.94%
10 81.82% 100% 93.94% 91.92%
20 63.64% 90.91% 90.91% 81.82%
30 60.61% 87.88% 78.79% 75.76%
Hasil pengujian pengaruh nilai K pada tabel 6.1 menunjukkan pengujian menggunakan 50 data latih dan 33 data uji, 70 data latih dan 30 data uji serta 100 data latih dengan 33 data uji pada nilai K = 3 menujukkan akurasi dengan persentase 94.95%. Pengujian menggunakan nilai K = 5 menunjukkan akurasi dengan persentase 92.93%. Pengujian menggunakan nilai K = 7 menunjukkan akurasi dengan persentase 93.94%. Pengujian menggunakan nilai K = 10 menunjukkan akurasi dengan persentase 91.92%. Pengujian menggunakan nilai K = 20 menunjukkan akurasi dengan persentase 81.82%. Pengujian menggunakan nilai K = 30 menunjukkan akurasi dengan persentase 75.76%. Grafik hasil pengujian pengaruh nilai K terhadap akurasi ditunjukkan pada gambar 6.1.
Gambar 6.1 Grafik Hasil Pengujian Pengaruh Nilai K
6.1.2 Analisa Hasil Pengujian
Grafik pada gambar 6.1 menunjukkan bahwa pada pengujian ini nilai akurasi tertinggi dari nilai K = 3. Pengujian terhadap nilai K menunjukkan tingkat akurasi yang berbeda sehingga dapat diketahui bahwa perubahan nilai K dapat mempengaruhi akurasi sistem untuk mengklasifikasi demam. Nilai K yang semakin tinggi menyebabkan akurasi menurun hal ini disebabkan oleh beberapa hal antara lain mempengaruhi kesesuaian data, nilai K yang tinggi menyebabkan nilai validitas data latih rendah dan perbandingan data dari hasil weighted voting semakin banyak sehingga menyebabkan kesalahan sistem dalam melakukan klasifikasi. Total rata-rata akurasi untuk pengujian K adalah 88.55%.
6.2 Pengujian Pengaruh Jumlah Data Latih Terhadap Akurasi
Pengujian akurasi sistem dilakukan dengan mengubah jumlah data latih untuk mengetahui nilai akurasi tertinggi dan pengaruh jumlah data latih terhadap tingkat akurasi sistem dalam melakukan klasifikasi demam menggunakan algoritma MKNN.
6.2.1 Skenario Pengujian
Pengujian pengaruh jumlah data dengan 4 variasi data latih yaitu 30 data latih, 50 data latih, 70 data latih dan 100 data latih dengan menggunakan nilai K = 3 dan 33 data uji. Pemilihan K =3 berdasarkan pada pengujian sebelumnya mendapatkan nilai akurasi yang tertinggi. Hasil pengujian pengaruh jumlah data latih seperti yang ditunjukkan pada tabel 6.2.
0.00%
10.00%
20.00%
30.00%
40.00%
50.00%
60.00%
70.00%
80.00%
90.00%
100.00%
3 5 7 10 20 30
Pengujian Pengaruh Nilai K terhadap Akurasi
Tabel 6.2 Hasil Pengujian Pengaruh Jumlah Data Latih
Nilai K
Akurasi Variasi Jumlah Data Latih Rata-Rata
Akurasi 30 Data Latih
50 Data Latih
70 Data Latih
100 Data Latih
3 93.94% 93.94% 93.94% 96.97% 92.425%
Pengujian pengaruh jumlah data latih menujukkan bahwa jumlah data latih dalam proses klasifikasi mempengaruhi tingkat akurasi. Hasil pengujian menunjukkan akurasi data latih 30 data latih, 50 data latih dan 70 data latih dengan 33 data uji adalah 93.94% sementara pengujian menggunakan 100 data latih mendapatkan akurasi tertinggi sebesar 96.97% dengan rata-rata akurasi yang didapatkan dari pengujian ini adalah 94.69%. Hasil pengujian jumlah data latih terhadap akurasi ditunjukkan pada gambar 6.2.
Gambar 6.2 Grafik Hasil Pengujian Pengaruh Jumlah Data Latih
6.2.2 Analisa Hasil Pengujian
Hasil pengujian menunjukkan bahwa jumlah data latih mempengaruhi akurasi sistem dalam melakukan klasifikasi demam. Hal ini ditunjukkan dengan dengan hasil akurasi sebesar 93.94% dari pengujian menggunakan 30 data latih, 50 data latih dan 70 Data Latih. Pengujian menggunakan 100 data latih mendapatkan akurasi tertinggi sebesar 96.97%. Pengujian menggunakan skenario ini menunjukkan nilai akurasi rendah jika data latih yang digunakan tidak banyak. Proses klasifikasi menggunakan algoritma MKNN dilakukan dengan mempelajari pola dari data latih sehingga jumlah data latih yang rendah menyebabkan sistem kurang menemukan pola dari data latih untuk melakukan klasifikasi.
6.3 Pengaruh Pengujian Komposisi Data Latih Terhadap Akurasi
Pengujian akurasi sistem dilakukan dengan mengubah komposisi data latih pada setiap kelas untuk mengetahui nilai akurasi tertinggi dan pengaruh komposisi data latih
92.00%
92.50%
93.00%
93.50%
94.00%
94.50%
95.00%
95.50%
96.00%
96.50%
97.00%
97.50%
30 Data Latih 50 Data Latih 70 Data Latih 100 Data Latih
Pengaruh Pengujian Jumlah Data Latih
terhadap tingkat akurasi sistem dalam melakukan klasifikasi demam menggunakan algoritma MKNN.
6.3.1 Skenario Pengujian
Pengujian komposisi dilakukan menggunakan 70 data latih dengan ketentuan beberapa, yaitu skenario pertama komposisi data latih terdiri atas 30 Tifoid, 20 Malaria dan 20 Demam Berdarah (DBD). Skenario kedua komposisi data latih terdiri atas 20 Tifoid, 30 Malaria dan 20 Demam Berdarah (DBD). Skenario ketiga komposisi data latih terdiri atas 20 Tifoid, 20 Malaria dan 30 Demam Berdarah (DBD). Skenario terakhir menggunakan komposisi data latih seimbang terdiri atas 25 Tifoid, 25 Malaria dan 25 Demam Berdarah (DBD). Pengujian dilakukan menggunakan nilai K =10 dan mendapatkan hasil akurasi sistem seperti yang ditunjukkan pada tabel 6.3.
Tabel 6.3 Hasil Pengujian Pengaruh Komposisi Data Latih
Percobaan Komposisi Data Latih
Rata-Rata Akurasi Tifoid Malaria DBD
1 30 20 20 93.94%
2 20 30 20 90.90%
3 30 20 20 87.89%
4 25 25 25 96.97%
Hasil pengujian komposisi data latih terhadap akurasi pada tabel 6.3 menunjukkan bahwa komposisi data latih mempengaruhi akurasi sistem dalam melakukan proses klasifikasi. Hal ini ditunjukkan dengan perbedaan nilai akurasi yang didapatkan dari setiap skenario. Pengujian menggunakan skenario pertama dengan komposisi data latih 30 Tifoid, 20 Malaria dan 20 DBD manghasilkan nilai akurasi 93.94%. Pengujian menggunakan skenario kedua dengan komposisi data latih 20 Tifoid, 30 Malaria dan 20 DBD manghasilkan nilai akurasi 90.90%. Pengujian menggunakan skenario ketiga dengan komposisi data latih 20 Tifoid, 20 Malaria dan 30 DBD manghasilkan nilai akurasi 87.89%. Pengujian menggunakan skenario terakhir dengan komposisi data latih seimbang 25 Tifoid, 25 Malaria dan 25 DBD manghasilkan nilai akurasi tertinggi yaitu 96.97%. Hasil pengujian dalam bentuk grafik ditunjukkan pada gambar 6.3.
Gambar 6.3 Grafik Hasil Pengujian Pengaruh Komposisi Data Latih
6.3.2 Analisa Hasil Pengujian
Hasil pengujian menunjukkan bahwa komposisi data latih untuk memberikan pengaruh terhadap proses klasifikasi demam. Pada 3 skenario komposisi data latih cenderung dominan pada satu kelas sehingga hasil akurasi sangat bervariasi. Skenario pertama dengan hasil akurasi 93.94%, skenario kedua menghasilkan akurasi 90.90% dan skenario ketiga menghasilkan akurasi 87.89%. Akurasi tertinggi didapatkan dari skenario terakhir dengan komposisi data seimbang yaitu 96.97%. Nilai akurasi yang tinggi disebabkan karena komposisi data yang digunakan merata dan tidak dominan pada kelas tertentu.
6.4 Pengaruh Pengujian Komposisi Data Latih dan Data Uji Terhadap Akurasi
Pengujian akurasi sistem dilakukan dengan mengubah komposisi data latih dan data uji untuk mengetahui nilai akurasi tertinggi dan pengaruh perubahan komposisi data latih dan data uji terhadap tingkat akurasi sistem dalam melakukan klasifikasi demam menggunakan algoritma MKNN.
6.4.1 Skenario Pengujian
Pengujian komposisi dilakukan menggunakan 133 data pasien namun dilakukan perubahan terhadap komposisi data latih dan data uji. Pengujian pertama dilakukan dengan komposisi 100 data latih dan 33 data uji. Pengujian kedua dilakukan dengan komposisi 80 data latih dan 53 data uji serta pengujian ketiga dilakukan dengan komposisi data latih 70 dan 63 data latih. Pengujian dilakukan menggunakan nilai K = 3, K = 5, K =7 dan K = 10 dan mendapatkan hasil akurasi sistem seperti yang ditunjukkan pada tabel 6.4.
82.00%
84.00%
86.00%
88.00%
90.00%
92.00%
94.00%
96.00%
98.00%
30 T, 20 M, 20 D 20 T , 30 M , 20 D 30 T, 20 M, 20 D 25 T, 25 M, 25 D
Pengaruh Pengujian Komposisi Data Latih
Tabel 6.4 Hasil Pengujian Pengaruh Komposisi Data Latih dan Data Uji
Nilai K
Data Latih dan Data Uji
100 Data Latih dan 33 Data Uji
80 Data Latih dan 53 Data Uji
70 Data Latih dan 63 Data Uji
3 96.97% 96.22% 95.23%
5 93.94% 96.22% 95.23%
7 93.94% 98.11% 98.41%
10 93.94% 98.11% 99.99%
Rata – Rata Akurasi 94.69% 97.16% 97.21%
Hasil pengujian komposisi data latih terhadap akurasi pada tabel 6.4 menunjukkan bahwa komposisi data latih dan data uji mempengaruhi akurasi sistem dalam melakukan proses klasifikasi. Hal ini ditunjukkan dengan perbedaan nilai akurasi yang didapatkan dari setiap skenario. Pengujian menggunakan skenario pertama dengan komposisi 100 data latih dan 33 data uji manghasilkan rata-rata nilai akurasi 94.69%. Pengujian menggunakan skenario kedua dengan komposisi 80 data latih dan 53 data uji manghasilkan rata-rata nilai akurasi 97.16%. Pengujian menggunakan skenario ketiga dengan komposisi 70 data latih dan 63 data uji manghasilkan nilai rata-rata akurasi 97.21%. Hasil pengujian dalam bentuk grafik ditunjukkan pada gambar 6.4.
Gambar 6.4 Hasil Pengujian Pengaruh Komposisi Data Latih dan Data Uji
6.4.2 Analisa Hasil Pengujian
Hasil pengujian menunjukkan bahwa komposisi data latih untuk memberikan pengaruh terhadap proses klasifikasi demam. Pada 3 skenario komposisi data latih dan data
93.00%
93.50%
94.00%
94.50%
95.00%
95.50%
96.00%
96.50%
97.00%
97.50%
100 Data Latih dan 33Data Uji
80 Data Latih dan 53Data Uji
70 Data Latih dan 63Data Uji
Pengaruh Pengujian Komposisi Data Latih dan Data Uji
uji yang sangat bervariasi sehingga mempengaruhi tingkat akurasi. Skenario pertama dengan hasil akurasi 94.69%, skenario kedua menghasilkan akurasi 97.16% dan skenario ketiga menghasilkan akurasi 97.21%. Akurasi tertinggi didapatkan dari skenario terakhir dengan komposisi data latih lebih banyak namun hampir seimbang dengan data uji yaitu 97.21%. Nilai akurasi yang tinggi disebabkan karena komposisi data latih dan data uji tidak jauh berbeda dengan ketentuan jumlah data latih lebih banyak dari data uji sehingga pola yang dipelajari dari data latih bervariasi. Akurasi yang tinggi dengan komposisi data latih 70 data dan dan data uji 63 data dapat disebabkan karena jarak antar data yang dekat sehingga dengan pengujian menggunakan komposisi seimbang mendapat akurasi yang lebih baik dalam penelitian menggunakan data ini.
BAB 7 KESIMPULAN DAN SARAN
Bab ini berisi penjelasan tentang kesimpulan dan saran dari peneliti berdasarkan hasil perancangan, implementasi dan pengujian yang telah dilakukan untuk pengembangan penelitian berikutnya.
7.1 Kesimpulan
Berdasarkan penelitian untuk melakukan klasifikasi demam menggunakan metode pada proses perancangan, implementasi dan pengujian maka dapat diambil kesimpulan sebagai berikut:
1. Implementasi algoritma MKNN untuk klasifikasi demam berdasarkan 15 gejala demam dapat memberikan anamnese (diagnosa awal) terhadap 3 jenis demam, yaitu demam berdarah, tifoid dan malaria.
2. Hasil klasifikasi kelas pada algoritma MKNN diambil berdasarkan nilai tertinggi setelah proses perhitungan weighted voting dan nilai K yang telah ditentukan.
3. Pengujian akurasi dilakukan dalam 3 tahap, yaitu pengujian terhadap nilai K, pengujian terhadap jumlah data latih dan pengujian terhadap kompoisi data latih untuk mengetahui pengaruh perubahan nilai K dan perubahan data latih terhadap akurasi sistem dengan penjelasan sebagai berikut:
a. Nilai rata-rata akurasi pengujian perngaruh nilai K terhadap akurasi adalah 88.55% dengan akurasi tertinggi pada pengujian nilai K = 3 dengan akurasi sebesar 94.95% hal ini dikarenakan penambahan nilai K mempegaruhi nilai validitas data latih dan perbandingan nilai weighted voting yang lebih banyak.
b. Nilai rata-rata akurasi pengujian pengaruh jumlah data latih terhadap akurasi adalah 92.42% dengan rata-rata tertinggi pengujian menggunakan 100 data latih hal ini dikarenakan jumlah data latih banyak memberikan banyak pola dalam melakukan klasifikasi.
c. Nilai rata-rata akurasi pengujian komposisi data latih terhadap akurasi adalah 87.89% dengan nilai akurasi tertinggi sebesar 96.97% untuk pengujian komposisi data seimbang 25 Tifoid, 25 Malaria dan 25 Demam Berdarah dikarenakan jumlah data latih tidak dominan pada kelas tertentu.
d. Nilai rata-rata akurasi pengujian pengaruh jumlah data latih dan data uji terhadap akurasi adalah 96.35%. Nilai akurasi tertinggi didapatkan dari pengujian dengan komposisi 70 data latih dan 63 data uji dengan nilai akurasi 97.21% dikarenakan range data latih dan data uji tidak terlalu jauh.
Berdasarkan hasil pengujian dapat diambil kesimpulan bahwa algoritma MKNN menunjukkan akurasi yang baik dalam melakukan klasifikasi demam. Hasil pengujian juga menunjukkan bahwa perubahan nilai K, perubahan jumlah data latih dan perubahan komposisi data latih berpengaruh terhadap tingkat akurasi sistem.
7.2 Saran
Saran yang dapat diberikan untuk pengembangan penelitian ini selanjutnya antara lain:
a. Menambahkan kategori penyakit dengan gejala demam disertai gejala lain. b. Menambahkan data gejala yang lebih bervariasi baik dari pemeriksaan secara fisik dan
pemeriksaan non fisik. c. Mengembangkan metode serta menggabungkan metode lain karena dalam
memecahkan permasalahan ini, metode MKNN bukan satu-satunya metode yang dapat digunakan.
d. Sistem juga dapat dikembangkan dengan menentukan nilai K dan komposisi jumlah data latih dan data uji yang optimal untuk mendapatkan akurasi yang lebih baik.
DAFTAR PUSTAKA
Annisa, C.D., Putri, R.R & Marji., 2016. Sistem Pakar Diagnosa Awal Penyakit DBD, Malaria dan Tifoid menggunakan Metode Fuzzy K-Nearest Neighbor (FKNN). S1. Universitas Brawijaya. Tersedia di <http://ptiik.ub.ac.id/skripsi> [Diakses 2 Februari 2017]
Arista, R.B.et al., n.d. Deteksi Penyakit Demam Berdarah, Tifus dan Demam Biasa berdasarkan gejalanya. S1. Universitas Brawijaya.
B. G. H. Gorte., 2008. Improving spectral image classifications by incorporating context data using likelihood vectors. Fifth International Conference on Image Processing and its Applications. Edinburgh. pp. 251-255.
Ao Li, Lirong Wang, Yunzhou Shi, Minghui Wang, Zhaohui Jiang and Huanqing Feng., 2005. Phosphorylation Site Prediction with A Modified k-Nearest Neighbor Algorithm and BLOSUM62 Matrix. IEEE Engineering in Medicine and Biology 27th Annual Conference. Shanghai.
Chin, J., 2000. Control of Communication Desease Manual. American Public Health Association: Barkeley, USA.
Darmanto, E & Hartati, S., 2012. Neuro Fuzzy untuk Klasifikasi Inventori berdasarkan analisa ABC. Seminar Nasional Informatika 2012. UPN Veteran Yogyakarta. Yogyakarta.
Departemen Kesehatan Indonesia, 2013. Penyakit Malaria dan TBC menyebabkan 170.000 kematian setiap tahun di Indonesia. Jakarta.
Departemen Kesehatan Republik Indonesia, 2008a. Perkembangan Kejadian DBD di Indonesia 2004-2007. Tersedia di <http://www.penyakitmenular.info/detil.asp?m=5&s=5&i=217 > (Diakses tanggal 1 Januari 2017)
Fransisca, S & Gabriela, P., 2000. Demam Berdarah Dengue (DBD). S1. Fakultas Kedokteran. Universitas Wijaya Kusuma.
Gillepsie, CJSH., 2009. Manson’s Tropical Disease. China: Saunders Elsevier.
Gevorkian, D, Egiazarian, K & Astola, J., 2000. Modified K-nearest neighbour filters for simple implementation. 2000 IEEE International Symposium on Circuits and Systems. Emerging Technologies for the 21st Century. Proceedings (IEEE Cat No.00CH36353), Geneva. pp. 568-565 vol.4.
Hadisaputro, S., 1991. Tropical Disease Update. Laboratorium Ilmu Penyakit Dalam FK Undip. Semarang.
Hariman, I & Noviar, A., 2014. Sistem Pakar untuk Mendiagnosa Penyakit DBD (Demam Berdarah Dengue) dengan Metode Forward Chaining Berbasis Web. Sekolah Tinggi Manajemen Informatika dan Ilmu Komputer LPKIA.
Hasan, H., 2007. Analisis Faktor Risiko Kejadian Malaria di Puskesmas Sukamerin di Kecamatan Sungai Serut Kota Bengkulu Propinsi Bengkulu. S2. Universitas Diponogero.
Panjaitan, A., Hidayat, B & Sujatmoko, K., 2013. Analisis Diskriminan Linear dalam Klasifikasi Data pada Teori Informasi dengan Metode Cross Validation. S1. Universitas Telkom.
Parvin, H., Alizadeh, H & Bidgoli, B., 2008. MKNN: Modified K-Nearest Neighbor. Proceedings of the World Congress on Engineering and Computer Science 2008. San Fransisco. USA
Shea, K., Florini, K & Barlam, T., 2002. When Wonder Drugs Don’t Work: How Antibiotic Resistance Threatens Children, Seniors And the Medically Vulnerable. Environmental Defense. Washington, DC
Zainuddin, S., Hidayat, N & Soebroto, A., 2014. Penerapan Algoritma Modified K- Nearest Neighbor (M- KNN) pada Pengklasifikasian Tanaman Kedelai. S1. Universitas Brawijaya. Tersedia di <http://ptiik.ub.ac.id/skripsi> [Diakses 2 Februari 2017]