Anda di halaman 1dari 7

Perancangan Sistem Pakar Penyakit Balita

Menggunakan Algoritma K-NN (K-Nearest


Neighbor)

Agus S. Aribowo Tikaridha Hardiani


Program Studi Teknik Informatika Program Studi Teknologi Informasi
UPN Veteran Yogyakarta Universitas ‗Aisyiyah Yogyarta
Yogyakarta
sasmito.skom@upnyk.ac.id tikaridha@unisayogya.ac.id

Abstrak— Teknologi memiliki peranan yang sangat kompleks terhadap kebutuhan sehari-hari. Selain pada aspek gaya
hidup, teknologi memiliki fungsi untuk mempermudah terpenuhinya kebutuhan manusia. Kebutuhan pemeriksaan maupun
penanganan kesehatan manusia pada zaman ini hampir selalu menggunakan perkembangan teknologi. Terbatasnya kemampuan
akomodasi dan pelayanan dari paramedis untuk pemeriksaan kesehatan, mendorong setiap orang untuk mampu mengenali dan
melakukan penanganan dini terhadap suatu tanda-tanda penyakit. Berdasarkan pada kondisi tersebut maka implementasi teknologi
informasi berupa sistem pakar diharapkan dapat membantu masyarakat luas untuk mengenali dan melakukan penaganan dini
terhadap jenis penyakit tertentu seperti penyakit pada balita. Penelitian ini mengembangkan sistem pakar berbasis Android mobile
menggunakan algoritma K-NN (K-Nearest Neighbor) untuk mendiagnosis penyakit pada balita. Pengetahuan pakar yang digunakan
dalam sistem berupa kumpulan aturan diagnosis (rule) yang memuat hubungan antara gejala-gejala dengan jenis penyakit yang
spesifik. Hasil penelitian menunjukan bahwa sistem dapat mampu menerapkan algoritma K-NN untuk mendiagnosa penyakit balita
dari gejala yang muncul dengan menggunakan nilai similaritas antara gejala pada kasus dengan gejala pada penyakit balita.
Kata kunci---sistem pakar, penyakit balita, Android, Algoritma K-NN (K-Nearest Neighbor)

I. PENDAHULUAN
Kebahagiaan bagi orang tua adalah memiliki seorang anak, terutama bagi pasangan baru. Anak-anak pada masa balita
sangat rentan terjangkit suatu penyakit. Ketika balita mengalami sakit maka akan membuat kekhawatiran tersendiri bagi orang tua
terutama bagi ibu-ibu yang belum lama dikaruniai anak. Ketika balita menderita suatu penyakit maka orang tua lebih
mempercayakan kesehatan anak kepada dokter spesialis yang sudah pakar dibidangnya, tidak memperdulikan apakah penyakit
tersebut termasuk dalam tingkat rendah atau parah [1]. Namun para dokter tersebut tidak senantiasa dapat ditemui karena
terkendala jam praktek yang terbatas dan banyaknya pasien sehingga harus menunggu antrian yang lama.
Kecerdasan Buatan (Artificial Intellegence) adalah salah 1 bidang ilmu komputer yang mendayagunakan komputer
sehingga dapat berperilaku cerdas seperti manusia. Ilmu komputer tersebut mengembangkan perangkat lunak dan perangkat keras
untuk menirukan aktifitas berdasarkan kecerdasan manusia [2]. Aktifitas yang ditiru meliputi penalaran, penglihatan,
pembelajaran, pemecahan masalah, pemahaman bahasa alami dan lain sebagainya. Sesuai dengan defenisi tersebut, teknologi
kecerdasaran buatan dipelajari dalam bidang-bidang seperti robotika (robotics), penglihatan komputer (computer vision),
pengolahan bahasa alami (natural language processing), pengenalan pola (pattern recognition) dan sistem pakar (expert system).
Sistem pakar adalah sistem berbasis komputer yang menggunakan pengetahuan, fakta dan teknik penalaran dalam memecahkan
masalah yang biasanya hanya diselesaikan oleh seorang pakar dalam bidang tertentu [3].
Penyakit yang umumnya diderita oleh balita dapat berupa berbagai jenis penyakit dengan gejala yang bermacam-macam.
Gejala-gejala tersebut harus diklasifikasikan agar diperoleh kecocokan terhadap rule (aturan diagnosis) penyakit yang spesifik,
sehingga jenis penyakit dapat diketahui. Salah satu algoritma untuk mengklasifikasikan data adalah K-Nearest Neighbor (K-NN).
Algoritma K-Nearest Neighbor (K-NN) berfungsi mengklasifikasikan sekumpulan data berdasarkan kedekatan terhadap
sekumpulan data yang telah terklasifikasikan sebelumya [4]. Oleh karena itu, Algoritma K-NN dapat digunakan pada sistem
pakar yang dirancang untuk mengklasifikasikan kumpulan gejala yang dimasukkan pengguna kemudian mencocokkan kedalam
rule penyakit yang spesifik. Dengan demikian, sistem pakar akan memudahkan orang tua dalam mendiagnosis penyakit pada
balita sehingga orang tua dapat melakukan penanganan lebih dini.
Penelitian ini mengembangkan sistem pakar berbasis Android mobile menggunakan Algoritma K-NN (K-Nearest
Neighbor) untuk mendiagnosis penyakit pada balita. Pengetahuan pakar yang digunakan dalam sistem berupa kumpulan aturan
diagnosis (rule) yang memuat hubungan antara gejala-gejala dengan jenis penyakit yang spesifik. Hasil penelitian menunjukan
bahwa sistem dapat mampu menerapkan Algoritma K-NN untuk mendiagnosa penyakit balita dari gejala yang muncul dengan
menggunakan nilai similaritas antara gejala pada kasus dengan gejala pada penyakit balita.

1.1 Sistem Pakar


Sistem pakar (Expert System) merupakan suatu system terkomputerisasi yang menggunakan pengetahuan bidang tertentu
untuk mencapai solusi suatu masalah dari bidang tersebut. Solusi yang diberikan pada dasarnya sema seperti yang disimpulkan
oleh pakar ayng banyak mengetahui masalah tersebut. Sistem pakar (Expert System) sebagai bidang studi dalam ilmu Artificial
Intellegent (AI) kini telah berkembang selama beberapa dekade. Sejak didirikan pada tahun 1970-an, sistem pakar telah
mengalami perkembangan dengan banyaknya studi kasus di tahun 1980-an dan 1990-an [4].
Sistem pakar mengkombinasikan kaidah-kaidah penarikan kesimpulan (inference rules) dengan basis penegtahuan
tertentu yang diberikan oleh satu atau lebih pakar dalam bidang tertentu. Kombinasi dari kedua hal tersebut disimpan dalam
komputer, yang selanjutnya digunakan dalam proses pengambilan keputusan untuk penyelesaian masalah tertentu. Tujuan utama
system pakar bukan untuk menggantikan kedudukan seorang ahli atau seorang pakar, tetapi untuk memasyarakatkan pengetahuan
dan pengalaman dari para pakar.
Sistem pakar diharapkan di masa yang akan datang seiring dengan pertumbuhan manusia sangat berguna membantu
dalam pengambilan keputusan. Sistem pakar terdiri dari 3 komponen utama, yaitu: antarmuka pengguna (user interface) , basis
pengetahuan (knowledge based), dan mesin inferensi (inference mecine) [5]. Sistem pakar (expert system) dapat membantu orang
awam (user) menyelesaikan masalah rumit yang sebenarnya hanya dapat diselsaikan oleh para pakar atau ahli. Sedangkan bari
para pakar, system pakar dapat membantu aktivitasnya sebagai asistem yang berpengetahuan. Ada beberapa dasar dalam situasi
tertentu mengapa sistem pakar (expert system) menggantikan seorang pakar diantaranya[6]:
a) Kepakaran juga dibutuhkan pada lingkungan yang tidak bersahabat (hostile environment)
b) Seorang pakar atau ahli mahal
c) Seorang pakar akan pension atau pergi
d) Secara rutin mengerjakan tugas-tugas rutin yang membutuhkan seorang pakar
e) Menyediakan kepakaran setiap waktu diberbagai lokasi.

1.2 Algoritma KNN


K-Nearest Neighbor (K-NN) termasuk kelompok instance based learning. Algoritma K-NN juga merupakan salah satu
Teknik lazy learning. Algoritma K-Nearest Neighbor (K-NN) dilakukan dengan mencari kelompok k objek dalam data training
yang paling dekat atau mirip (similar) dengan objek pada data baru atau data uji[7].
Prinsip kerja K-Nearest Neighbor (K-NN) adalah mencari jarak terdekat anatara data yang akan dievaluasi dengan K
tetangga (Neighbor) terdekat dalam pelatihan. Algoritma K-Nearest Neighbor (K-NN) adalah sebuah metode untuk melakukan
klasifikasi terhadapa objek berdasarkan data pembelajaran yang memiliki kedekatan antara kasus baru dan kasus lama yaitu
berdasarkan pada pencocokan bobot dari sejumlah fitur yang ada. Berikut urutan proses kerja K-NN [8]:
a. Menentukan parameter k (jumlah tetangga paling dekat).
b. Menghitung kuadrat jarak Euclidean Distance masing-masing objek (data training) terhadap data sampel yang diberikan.
(1)
Keterangan:
x1 : Sampel data
x2 : Data uji/testing
i : Variabel data
d : Jarak
p ; Dimensi data
c. Mengurutkan objek-objek tersebut dalam kelompok yang mempunyai jarak Euclidean terkecil
d. Mengumpulkan kategori y (kelas dari objek terdekat) sebanyak k
Algoritma K-NN juga dilakukan untuk KNN improved dengan menggunakan jarak similaritas. Cara penghitungan similaritas
digunakan rumus berikut ini.
(2)
Keterangan:
S : Similarity (kemiripan)
W : Bobot yang diberikan

1.3 Penyakit Balita

Berikut ini adalah beberapa penyakit yang sering diderita pada balita dari hasil data rekam medis yang diperoleh di RS
Swasta di Yogyakarta, diantaranya adalah sebagai berikut:
1. Diare
Diare adalah buang besar (defeksi) dengann tinja berbentuk cair atau setengah cair (setengah padat), kandungan air tinja
lebih banyak dari biasanya lebih dari 200 g atau 200 ml/24 jam. Definisi lain memakai kriteria f frekuensi, yaitu buang besar
encer lebih dari 3 kali hari. Buang air besar encer tersebut dapat/tanpa disertasi lender dan darah. [9][10]
2. Pneumonia
Pneumonia adalah sebagai infeksi akut parenkim paru oleh satu atau penginfeksi pathogen, tetapi termasuk kondisi
bronchiolitis yang terdefinisi dengan baik, penyebab utama yang hamper selalu aguen virus.[11]

II. METODE PENELITIAN


Metode yang digunakan dalam penelitian ini terdiri dari 6 tahap yaitu tahap analisis system yang diusulkan, wawancara,
penyusunan rule, perancangan sistem, impkementasi sistem, dan pengujian sistem.
2.1 Analisis Sistem yang Diusulkan
Tahap ini merupakan tahap analisa sistem secara kesulurah baik fungsional maupun non fungsional sistem. Pada tahap ini
akan ditentukan feature apa saja yang ada dalam sistem dan ruang lingkup penyakit.
2.1.1 Wawancara
Tahap wawancara dilakukan untuk mengetahui gekjala-gejala penyakit pada balita dan bagaimana menanganinya.
Wawancara dilakukan oleh peneliti untuk mendapatkan informasi mengenai penyakit balita dari seorang pakar.
2.1.2 Perancangan Sistem
Tahap perancangan sistem dilakukan untuk membuat usecase, merancang database, dan merancantarmuka aplikasi. Pada
tahap ini apliaksi yang dirancang adalah aplikasi yang berjalan pada perangkat android.
2.1.3 Implementasi Sistem
Implementasi sistem merupakan tahap pengkodean. Tahap ini dilakukan untuk mengimplementasikanran cangan yang telah
dibuat menjadi sebuah aplikasi yang berjalan pada perangkat android. Aplikasi dikembangkan dengan menggunakan tolls android
studio. Algoritma KNN di implementasikan kedalam sistem untuk mendiagnosa penyakit balita.
2.1.4 Pengujian
Tahapan pengujian merupakan tahap untuk mengetahui apakah implementasi system telah berjalan sesuai dengan yang
diharapakan atau belum. Pengujian dilakukan dengan membandingkan hasil diagnose system dengan hasil diagnose berdasarkan
perhitungan manual
III. HASIL DAN PEMBAHASAN
3.1. Analisis
Tahapan analisis adalah tahapan untuk melakukan analisa mengenai berbagai penyakit balita dan gejala yang ditunjukan
oleh penyakit tersebut. Pada tahapan ini akan ditentukan bobot dari gejala suatu penyakit berdasarkan rule yang telah dibuat oleh
pakar. Terdapat dua penyakit yang sering muncul pada balita yang di bahas dalam makalah ini. Penyakit tersebut adalah diare
dan pneumonia. Untuk menentukan bobot gejala pada suatu penyakit ditentukan berdasarkan faktor kepentingan dengan
memberikan skor bobot (w). Bobot bernilai 5 jika gejala tersebut merupakan gejala yang penting pada suatu penyakit. Bobot
bermilai 3 jika tingkat kepentingan gejala tersebut terhadap suatu penyakit adalah sedang. Bobot bernilai 1 jika tingkat
kepentingan gejala tersebut pada suatu penyakit adalah biasa. Tabel 1 adalah daftar gejala dan nilai bobot gejala pada penyakit
diare.

Tabel 1. Gejala dan Bobot Penyakit Diare

Gejala Penyakir Diare Bobot


Frekuensi buang air besar (BAB) anak, jika > 3kali sudah masuk ke gejala diare 3
Seperti apa konsistensi BAB nya? Padat, Lembek, Cair. (Kalau lembek atau cair berarti masuk ke
kategori diare) 5
Warna apa kotorannya? Ada lendir tidak? Kalau seperti cucian beras atau ada darah segar ke rumah
sakit 5
Ada muntah tidak? 3
Buang akhir kecil terakhir kapan? (Menentukan dehidrasi) 1
Tanda dehidrasi dinyatakan? (1. Anak tampak lemas atau lemah atau mengantuk; 2anak tampak haus
terus; 3 Bibir tampak kering; Mata terlihat kering; 4 Mata terlihat cowong; 5 tidak ada buang air kecil
dalam 6 jam; Jika ada salah satu tanda di atas segera bawa ke rumah sakit) 3
Tabel 2 adalah daftar gejala dan nilai bobot gejala pada penyakit pneumonia.

Tabel 2. Gejala dan Bobot pada Penyakit Pneumonia


Gejala penyakit pneumonia Bobot
Batuk 3
Nafas cepat atau sesak 3
Demam 1
Atau ada gejala salah 1 dibawah ini menjadi pneumonia berat
Kepala teranguk2 5
Pernafasan cuping hidung 1
Tampak didada tarikan lebih dalam 1
Tidak menyusu atau makan dan minum atau memuntahakn semuanya 3

Anak tampak biru atau sianosis 5

3.2. Usecase Diagram


Diagram usecase digunakan untuk menunjukan proses-proses yang ada didalamnya. Gambar 1 menunjukkan usecase
diagram aplikasi sistem diagnose penyakit balita berbasis perangkat Android menggunakan K-Nearest Neighbor (K-NN).

Gambar 1. Usecase Diagram


3.3. Rancangan Database
Perancangan basis data merupakan perancangan basis data yang digunakan dalam apliaksi sistem diagnosa penyakit balita
berbasis Android dengan K-NN. Basis data dibuat dengan menggunakan aplikasi sqlite. Gambar 2 menunjukkan rancangan basis
data system pakar penyakit balita

Gambar 2. Rancangan Database

3.4 Rancangan Aplikasi


Aplikasi ini terdiri dari beberapa halaman yang digunakan dalam sistem. Halaman login merupakan halaman yang dirancang
untuk digunakan oleh user untuk masuk kedalam sistem. Gambar 3 menunjukkan racangan halaman system pakar penyakit balita.
Gambar 3. Rancangan Halaman Login

Halaman pilihan gejala merupakan halaman yang dirancang untuk menampilkan pemilihan gejala yang dialami oleh user
untuk mengetahui hasil diagnosa dari sistem terkait dengan penyakit pada balita. Gambar rancangan halaman pemilihan gejala
terlihat pada Gambar 4.

Gambar 4. Rancangan Halaman Pemilihan Gejala

Halaman hasil diagnose merupakan halaman yang menunjukkan penyakit hasil diagnosa oleh sistem. Halaman ini juga akan
menampilkan solusi pengobatan yang dianjurkan oleh sistem. Gambar 5 menunjukkan tampilan dari rancangan halaman hasil
diagnosa.

Gambar 5. Rancangan Halaman Hasil Diagnosa


3.5 Pengujian

Pengujian system ini dilakukan untuk mengetahui apakah system pada aplikasi ini telah berjalan sesuai dengan yang
diharapkan atau belum Pengujian sistem ini dilakukan dengan membandingkan perhitunangan bobot kesamaan antara sistem
dengan perhitungan manual. Algoritma K-NN digunakan untuk mencari dan mendapatkan jarak antara item dengan kebutuhan
pengguna dalam clutser, kemudian pengklasifikasiannya dapat dikumpulkan ke dalam kategori tetangga.
Perhitungan kesesuaian antara kriteria penyakit dengan kasus diagnosa penyakit digunakan rumus kesamaan
(3)
Keterangan:
P : Problem
C : case
S : similarity
W : weight (bobot yang diberikan).
Perhitungan secara manual similaritas untuk sebuah kasus diagnosa penyakit misalnya seorang pasien mengalami gejala:
sesak, batuk, sesak dengan mengi, demam, dan pilek. Pasien dengan gejala ini kemudian akan dihitung similaritasnya dengan
gejala-gejelan dari suatu penyakit balita. Jika suatu gejala dari penyakit muncul dalam gejala kasus maka diberlakukan 1 * nilai
bobot tetapi jika tidak muncul dalam kasus maka diberlakukan nilai 0* nilai bobot. Tabel 3 adalah perbandingan gejala penyakit
diare dan gejala kasus.
Tabel 3. Perbandingan gejala penyakit diare dengan gejala kasus

Gejala pada kasus


Gejala Penyakir Diare Bobot
-
Frekuensi buang besar (BAB) anak, jika > 3 kali sudah masuk ke
gejala diare 3
-
Seperti apa konsistensi BAB nya? Padat, Lembek, Cair. (Kalau
lembek atau cair berarti masuk ke kategori diare) 5
-
Warna apa kotorannya? Ada lendir tidak? Kalau seperti cucian beras
atau ada darah segar ke rumah sakit 5
Ada muntah tidak? 3 -
Buang akhir kecil terakhir kapan? (menentukan dehidrasi) 1 -
Tanda dehidrasi dinyatakan? (1. Anak tampak lemas atau lemah atau -
mengantuk; 2anak tampak haus terus; 3 Bibir tampak kering; Mata
terlihat kering; 4 Mata terlihat cowong; 5 tidak ada buang air kecil
dalam 6 jam; Jika ada salah satu tanda di atas segera bawa ke rumah
sakit) 3
Tabel 3 terlihat bahwa gejala penyakit diare tidak satupun muncul pada gejala kasus. Dengan demikian maka nilai
similaritas antara kasus dengan penyakit diare adalah 0. Selanjutnya nilai similaritas kasus dengan penyakit pneumonia dengan
kasus. Tabel 4 adalah perbandingan gejala penyakit pneumonia dan kasus.

Tabel 4. Perbandingan Gejala Penyakit Pneumonia dan Kasus

Gejala penyakit pneumonia Bobot Gejala pada kasus


Batuk 3 Batuk
Nafas cepat atau sesak 3 Sesak
Demam 1 Demam
kepala teranguk2 5
pernafasan cuping hidung 1
tampak didada tarikan lebih dalam 1
tidak menyusu atau makan dan minum
atau memuntahakn semuanya 3
anak tampak biru atau sianosis 5

Dari Tabel 4 dapat dihitung bahwa nilai similaritas kasus dengan penyakit pneumonia adalah:
Similaritas= 1*3+1*3+1*1+0*5+0*1+0*1+0*3+0*5/3+3+1+5+1+1+3+5
=3+3+1/21=7/21=33,3%
IV. KESIMPULAN DAN SARAN
Kesimpulan yang didapat dari penelitian perancangan sistem pakar yang digunakan untuk diagnosis penyakit balita menerapkan
Algoritma K-NN dalam penarikan kesimpulan sistem pakar sebagai salah satu metode dalam kecerdasan buatan (Artificial
Intellegent). Penarikan kesimpulan diperoleh dengan melakukan perhitungan nilai similaritas antara kasus baru (yang diiput user)
dengan basis kasus (case based) yang telah disimpan menggunakan Algoritma K-Nearest Neighbor (K-NN), nilai similaritas yang
terbesar menujukkan kedekatan antara kasus baru (yang diiputkan user) dengan kasus yang ada pada basis kasus. Hasil perhitungan
menunjukan Algoritma K-Nearest Neighbor (K-NN) dapat digunakan untuk melakukan diagnosis pada penyakit balita.

UCAPAN TERIMA KASIH


Kami ucapkan terimakasih kepada kemenristekdikti atas dana hibah Penelitian dosen Pemula pendanaan tahun 2018, sehingga
penelitian ini dapat berjalan dengan lancar.

REFERENSI
[1] E. Dewi, S. Mulyani, and I. N. Restianie, ―Aplikasi Sistem Pakar Untuk Mendiagnosa Penyakit Anak (Balita) Dengan
Menggunakan metode Forward Chaining,‖ 2012, vol. 1, no. 1, pp. 6–7.
[2] T. Harihayati and L. Kurnia, ―Sistem Pakar Mendiagnosa Penyakit Umum Yang Sering Diderita Balita Berbasis Web Di
Dinas Kesehatan Kota Bandung,‖ Komput. dan Inform., vol. 1, no. 1, pp. 65–69, 2012.
[3] Kusrini, Sistem Pakar Teori Dan Aplikasi. Yogyakarta: Andi, 2006.
[4] M. Zainuddin, K. Hidjah, and I. W. Tunjung, ―Penerapan Case Based Reasoning (CBR) Untuk Mendiagnosis Penyakit Stroke
Menggunakan Algoritma K-Nearest Neighbor,‖ in Citesee, 2016, pp. 21–26.
[5] A. Ramdhani, R. R. Isnanto, and I. P. Windasari, ―Pengembangan Sistem Pakar Untuk Diagnosis Penyakit Hepatitis Berbasis
Web Menggunakan Metode Certainty Factor,‖ J. Teknol. dan Sist. Komput., vol. 3, no. 1, pp. 58–64, 2015.
[6] C. R. Pasalli, V. C. Poekoel, and X. Najoan, ―Sistem Pakar Diagnosa Penyakit Anak Menggunakan Metode Forward Chaining
Berbasis Mobile,‖ E-Journal Tek. Inform., vol. 7, no. 1, 2016.
[7] C. F. Chang, Y. L. Wu, and S. S. Hou, Preparation and characterization of superparamagnetic nanocomposites of
aluminosilicate/silica/magnetite, vol. 336, no. 1–3. 2009.
[8] F. Gorunescu, Data Mining: Concepts, Models and Techniques. 2011.
[9] K. Hodges and R. Gill, ―Infectious diarrhea Cellular and molecular mechanisms,‖ vol. 1, no. 1, pp. 4–21, 2010.
[10] R. L. Guerrant et al., ―Practice Guidelines for the Management of Infectious Diarrhea,‖ Clin. Infect. Dis., vol. 32, p.
33150, 2001.
[11] G. Mackenzie, ―The definition and classification of pneumonia,‖ Pneumonia, vol. 8, no. 1, p. 14, 2016.

Anda mungkin juga menyukai