Sistem Pakar Diagnosa Penyakit Ginjal Menggunakan
Metode Hill Climbing
Suci Oktaviana1,, Satria Perdana Arifin, S.T, M.T.I2, Ibnu Surya, S.T3 1
Jl. Umbansari 1 Rumbai, Pekanbaru 28265 – Riau. Telp: 0761-53939, Fax: 0761-554224 www.pcr.ac.id
Abstrak
Ginjal adalah salah satu organ penting pada tubuh manusia dalam sistem ekskresi. Jika ginjal tidak berfungsi dengan baik, maka badan tidak berupaya menolak air, garam, dan bahan lain secukupnya yang dapat mengakibatkan kematian kecuali jika pengobatan secara analisa dilakukan. Untuk itu diperlukan suatu sistem pakar yang digunakan untuk mendiagnosa awal dari penyakit ginjal sehingga membantu pemakai dalam mengidentifikasi permasalahan kesehatan. Sistem pakar dapat menirukan langkah-langkah yang dilakukan seorang pakar untuk memecahkan masalah berdasarkan pengetahuan masalah yang dimilikinya. Proses identifikasi yang dilakukan melalui interaksi tanya-jawab antara sistem dengan pemakai. Aturan pada basis pengetahuan menggunakan metode penalaran forward chaining dan metode penelusuran Hill Climbing, memanfaatkan database MySQL serta bahasa pemrograman PHP. Berdasarkan hasil analisa kuisioner dengan persentase sebesar 89,3% diperoleh bahwa sistem ini dapat memberikan data dan informasi yang bermanfaat bagi pasien.
Kata Kunci: Ginjal, Sistem Pakar, Forward Chaining, Hill Climbing.
Abstract
Kidney is one of the important organs of the human body in the excretion system. If the kidneys are not functioning properly, the body does not attempt to resist water, salt, and other ingredients to taste that can result in death unless treatment is performed analysis. It required an expert system that is used to diagnose the onset of kidney disease so as to help users in identifying health problems. Expert systems can mimic the steps taken an expert to solve the problem based on the knowledge they have. The identification process is done through a question and answer interaction between the user's system. The rules to the knowledge base using forward chaining reasoning and Hill Climbing search method, using the MySQL database and the PHP programming language. Based on the analysis of the questionnaire with a percentage of 89.3% was obtained that the system can provide data and information to benefit patients.
Keywords: Kidney, Expert System, Forward Chaining, Hill Climbing.
1. Pendahuluan
Sistem pakar merupakan sistem yang berusaha mengadopsi pengetahuan manusia ke komputer, agar komputer dapat menyelesaikan masalah seperti yang biasa dilakukan oleh para ahli. Sistem pakar biasanya digunakan untuk melakukan interpretasi dan analisa, diagnosa, dan membantu pengambilan keputusan. Salah satu implementasi sistem pakar pada bidang kesehatan yaitu untuk melakukan diagnosa awal pada penyakit ginjal.
Penyakit ginjal adalah penyakit yang memang harus dikenali dan diwaspadai sejak dini oleh setiap orang. Ginjal yang merupakan salah satu bagian dari sistem eksresi sangat penting bagi keberlangsungan kesehatan manusia. Ginjal adalah organ penting dalam tubuh yang menjalankan fungsi penting dalam tubuh sebagai alat filtrasi, yaitu mengeluarkan kelebihan garam, air, dan asam. Dengan demikian diperlukan kemampuan analisa yang akurat dalam menentukan diagnosa keadaan ginjal seseorang. Namun dengan kemudahan adanya dokter ahli, terkadang terdapat pula kelemahannya seperti jam kerja (praktek) terbatas dan banyaknya pasien sehingga harus menunggu antrian. Dikarenakan permasalahan
tersebut, sehingga mendorong pembangunan sebuah sistem pakar diagnosa penyakit ginjal untuk
ginjal. Ada beberapa metode penulusuran heuristik yang digunakan untuk sistem pakar seperti generate
and test, hill climbing, best first search, dan simulated annealing.
Metode penulusuran sistem pakar yang digunakan pada proyek akhir ini adalah Hill Climbing. Proses pengujian Hill Climbing dilakukan dengan menggunakan fungsi heuristik yang menunjukkan seberapa baiknya nilai terkaan yang diambil terhadap keadaan-keadaan lainnya yang mungkin.
Adapun tujuan dari proyek akhir ini adalah:
1. Membangun aplikasi sistem pakar berbasis web sebagai alat bantu untuk mendiagnosa penyakit ginjal.
2. Memberikan informasi penyakit berdasarkan gejala-gejala awal dari penyakit ginjal.
Perumusan masalah dalam membuat proyek akhir ini yaitu:
1. Bagaimana merancang suatu sistem pakar yang dapat digunakan untuk mendiagnosa jenis penyakit
ginjal berdasarkan gejala yang dirasakan user menggunakan metode forward chaining dan metode penulusuran Hill Climbing.
2. Bagaimana mendapatkan data-data tentang penyakit ginjal yang sesuai dengan ilmu kedokteran.
Ruang lingkup masalah dalam proyek akhir ini adalah:
1. Data-data penunjang penyakit ginjal digunakan yaitu hanya penyakit ginjal dengan kategori penyakit
Glomerulonefropati (peradangan ginjal), yakni syndrome nefritik dan syndrome nefrotik. Melakukan
konsultasi dengan dr. H. Jazil Karimi, Sp.PD yang praktek di RSUD Arifin Achmad Pekanbaru dan dr. Arles, Sp.PD yang praktek di RS Awal Bros Pekanbaru.
2. Hasil diagnosa jenis penyakit memiliki bobot yang didapat dari pengetahuan dokter ahli (spesialis penyakit dalam).
3. Pembangunan sistem pakar menggunakan metode penalaran maju (forward chaining) dan metode
penulusuran Hill Climbing.
4. Nilai bobot bersifat statis (tidak bisa di ubah).
5. Aplikasi ini digunakan oleh admin dan user (pengguna).
6. Penyimpanan data-data penunjang menggunakan database MySQL. 7. Bahasa pemrograman yang digunakan adalah PHP.
8. Output yang dihasilkan dari aplikasi ini adalah diagnosa awal penyakit ginjal beserta hasil pembobotan yang digunakan sebagai besarnya penyakit yang diderita user.
Manfaat dari sistem pakar untuk diagnosa penyakit ini adalah:
1. Masyarakat dapat menggunakan sistem ini untuk mengetahui jenis penyakit ginjal secara lebih cepat dan tepat.
2. Masyarakat dapat melakukan diagnosa sendiri penyakit ginjal berdasarkan gejala-gejala awal yang di rasakan oleh user.
2. Tinjauan Pustaka
2.1 Sistem Pakar
Sistem pakar (expert system) adalah sistem yang berusaha mengadopsi pengetahuan manusia ke komputer yang dirancang untuk menyelesaikan masalah seperti layaknya seorang pakar.
Keahlian dipindahkan dari pakar ke suatu komputer. Pengetahuan ini kemudian disimpan di dalam komputer. Pada saat pengguna menjalankan komputer untuk mendapatkan informasi, maka sistem pakar akan menanyakan fakta-fakta dan dapat membuat penalaran (inferensi) sehingga sampai pada suatu kesimpulan. Kemudian, sistem pakar memberikan penjelasan dan kesimpulan atas hasil konsultasi yang telah dilakukan sebelumnya (Turban, E., 2005). Dengan sistem pakar ini, orang awam pun dapat menyelesaikan masalahnya atau hanya sekedar mencari suatu informasi berkualitas yang sebenarnya hanya dapat diperoleh dengan bantuan para ahli dibidangnya. Sistem pakar ini juga dapat membantu aktivitas para pakar sebagai asisten yang mempunyai pengetahuan yang dibutuhkan.
2.2 Metode Inferensi
1. Forward Chaining
Forward Chaining adalah suatu strategi pengambilan keputusan yang dimulai dari bagian premis
(fakta) menuju konklusi (kesimpulan akhir) (Kusrini, 2006). Metode inferensi ini yang akan digunakan dalam sistem pakar yang akan dibangun dengan contoh penalaran sebagai berikut :
If Nyeri pinggang
And sulit buang air kecil And urine berwarna gelap And produksi urine sedikit Then Sindroma Nefritik
Gambar 2.2 Skema Forward Chaining
Dalam proyek akhir ini menggunakan metode penalaran forward chaining (Runut Maju). Karena pada teknik ini, pendekatan penalaran dimulai dari sekumpulan data yang berupa gejala penyakit yang diderita menuju kesimpulan akhir, sehingga memudahkan untuk melakukan konsep sistem kecerdasan buatan ini.
2.3 Pencarian Heuristik (Heuristic Searching)
Pencarian buta tidak selalu dapat diterapkan dengan baik, hal ini disebabkan waktu aksesnya yang cukup lama serta besarnya memori yang diperlukan. Kelemahan ini sebenarnya dapat diatasi jika ada informasi tambahan dari domain yang bersangkutan (Kusumadewi, 2003). Istilah heuristic berasal dari bahasa Yunani yang berarti menemukan. Heuristic merupakan suatu strategi untuk melakukan proses pencarian (search) ruang problema secara selektif, yang memandu proses pencarian yang kita lakukan disepanjang jalur yang memiliki kemungkinan hasil paling maksimal. Heuristik adalah sebuah teknik yang mengembangkan efisiensi dalam proses pencarian, namun dengan kemungkinan mengorbankan kelengkapan (completeness). Metode heuristic search menggunakan suatu fungsi yang menghitung biaya perkiraan (estimasi) dari suatu simpul tertentu menuju ke simpul tujuan, disebut fungsi heuristic.
Fungsi heuristik digunakan untuk mengevaluasi keadaan-keadaan problema individual dan menentukan seberapa jauh hal tersebut dapat digunakan untuk mendapatkan solusi yang diinginkan.
Jenis-jenis Heuristic Searching: 1. Generate and Test.
2. Hill Climbing. 3. Best First Search.
4. Alpha Beta Prunning, Means-End-Analysis, Constraint Satisfaction, Simulated Annealing.
2.4 Hill Climbing
Metode Hill Climbing Search adalah salah satu metode pencarian dalam menentukan diagnosa penyakit yang singkat dengan memperkecil jumlah keadaan yang disinggahinya tanpa harus mengecek pada node sesudahnya. Metode Hill Climbing merupakan variasi dari metode DFS. Dengan metode ini, eksplorasi terhadap keputusan dilakukan dengan cara DFS dengan mencari path yang bertujuan menurunkan cost untuk menuju kepada goal/kesimpulan. Dalam prosedur Hill Climbing, fungsi uji dikombinasikan dengan fungsi heuristik. Dimana fungsi heuristik disini menggunakan ukuran keyakinan dari pasien (user) untuk menentukan diagnosa awal penyakitnya atau tes yang berupa fungsi heuristik ini akan menunjukkan seberapa baiknya nilai terkaan (estimasi) yang diambil terhadap keadaan-keadaan lainnya yang mungkin.
Cara kerjanya adalah menentukan langkah berikutnya dengan menempatkan node yang akan muncul sedekat mungkin dengan sasarannya dengan menggunakan fungsi heuristic, yaitu berupa bobot yang didapat dari dokter ahli pada gejala dengan angka presentase dari 1 hingga 100.
Algoritma Hill Climbing :
1. Mulai dari keadaan awal, lakukan pengujian. Jika merupakan tujuan, maka berhenti. Dan jika tidak,
2. Lakukan hingga tujuan tercapai.
a. Tentukan tujuan berdasarkan nilai heuristic terbaik dari node-node yang ada.
b. Lakukan untuk tiap node yang digunakan oleh keadaan sekarang.
i. Gunakan node tersebut dan bentuk keadaan baru.
ii. Evaluasi keadaan baru tersebut. Jika merupakan tujuan (hasil), keluar. Jika tidak, bandingkan
dengan nilai heuristik dengan node lainnya. Jika lebih baik, jadikan nilai heuristik keadaan baru sebagai tujuan.
c. Jika tujuan lebih baik daripada nilai heuristik keadaan sekarang, ubah tujuan menjadi keadaan
sekarang.
Gambar 2.4 Contoh Tree untuk Hill Climbing
Lintasan yang didapat : S – B – C – E – Z
Keuntungan dari algoritma Hill Climbing ini ialah:
1. Membutuhkan memori yang relative kecil, karena hanya node-node pada lintasan yang aktif saja
yang disimpan.
2. Metode hill climbing search akan menemukan solusi tanpa harus menguji lebih banyak lagi
dalam ruangan keadaan.
3. Perancangan
3.1 Perancangan Sitemap
Sitemap digunakan untuk mempermudah dalam pengenalan jalannya website.
1. Sitemap Admin
Proses kegiatan admin ditunjukkan pada sitemap dibawah ini.
Pada sitemap admin, admin harus melakukan login terlebih dahulu. Setelah proses otentikasi berhasil terdapat beberapa menu utama yang ada pada halaman utama admin, diantaranya menu daftar gejala dimana pada menu tersebut admin dapat melakukan tambah gejala dan ubah gejala. Kemudian pada menu daftar penyakit, admin juga dapat melakukan tambah penyakit dan ubah penyakit. Selain itu, pada menu daftar rule admin juga bisa melakukan tambah rule dan ubah rule. Kemudian pada menu terakhir admin juga dapat mengubah password nya pada menu ubah password.
2. Sitemap Pasien
Adapun proses kegiatan pasien ditunjukkan pada sitemap berikut.
Gambar 3.2 Sitemap pasien
Pada sitemap pasien, pasien juga harus melakukan login terlebih dahulu untuk dapat masuk pada halaman utama pengguna. Setelah berhasil login, pasien(pengguna) dapat melakukan kegiatan yang terdapat pada menu diagnosa, rekam medis, data pasien, dan keterangan.
3. Sitemap Guest
Proses kegiatan guest dapat dilihat pada gambar berikut.
Gambar 3.3 Sitemap guest
3.2 Flowchart
Flowchart atau diagram alur digunakan untuk menggambarkan alur suatu program menjadi lebih
sederhana sehingga program tersebut dapat lebih dimengerti. Pada aplikasi ini terdapat beberapa
flowchart, yaitu :
1. Flowchart Administrator
2. Flowchart Pasien
Tabel – tabel yang terbentuk berdasarkan ERD diatas adalah :
1. Tabel Pasien
Tabel user akan berisi daftar pengguna yang dapat menggunakan sistem ini. Tabel 3.1 Pasien
Nama Tipe Data Keterangan
username* Char(10) Kode User
password Varchar(20) Kata kunci user untuk dapat
login.
nama Varchar(40) Nama pasien
jenis_kelamin Varchar(20) Jenis kelamin pasien
alamat Varchar(100) Alamat pasien
pekerjaan Varchar(20) Pekerjaan pasien
2. Tabel Admin
Tabel admin akan berisi data admin untuk login sehingga dapat meng-update data yang ada didalam sistem.
Tabel 3.2 Admin
Nama Tipe Data Keterangan
username* Char(10) Kode User
password Varchar(20) Kata kunci user untuk dapat login.
3. Tabel Penyakit
Tabel penyakit berisi kd penyakit dan nama penyakit. Kd penyakit digunakan sebagai primary
key untuk memberi tanda yang unik kepada setiap penyakit.
Tabel 3.3 Penyakit
Nama Tipe Data Keterangan
kd_penyakit* int(10) Kode Penyakit
nama_penyakit Varchar(20) Nama penyakit
4. Tabel Gejala
Tabel penyakit berisi kd gejala dan nama gejala. Kd gejala digunakan sebagai primary key untuk memberi tanda yang unik kepada setiap gejala.
Tabel 3.4 Gejala
Nama Tipe Data Keterangan
kd_gejala* int(10) Kode gejala
nama_gejala Varchar(100) Nama gejala
5. Tabel History
Tabel history hasil berisi history dari pasien yang melakukan diagnosa. Tabel 3.5 History
Nama Tipe Data Keterangan
id_history* int(11) Kode history
username** Varchar(20) Nama pasien
kd_penyakit** Varchar(10) Nama penyakit
tanggal Varchar(40) Tanggal diagnosa
6. Tabel Rule
Terdapat relasi antar tabel gejala dan tabel penyakit, sehingga ditambahkan satu tabel relasi dengan nama tabel rule.
Tabel 3.6 Rule
Nama Tipe Data Keterangan
id_rule* int(10) Kode Rule
parent** int(20) Nama gejala
jawaban int(20) Jawaban Ya atau Tidak
kd_penyakit** int(20) Nama penyakit
bobot Varchar(20) Bobot gejala untuk penyakit
4. Pengujian dan Analisa
4.1Tampilan Awal Website
Gambar 4.1 Tampilan awal
Pada gambar 4.1 merupakan tampilan awal dari aplikasi. Pada halaman awal aplikasi user (guest) dapat daftar terlebih dahulu, kemudian login sebagai member.
Gambar 4.2 Petunjuk Diagnosa
Gambar 4.3 Halaman Diagnosa
Pada gambar 4.2 diatas ialah halaman petunjuk untuk mulai melakukan diagnose. Sedangkan
4.2
Analisa
Pada pengujian pengguna ini dilakukan dengan cara pengisian kuesioner yang berisi kan 5 pernyataan terhadap 15 reponden. Pernyataan yang akan diberikan yaitu terdiri dari 2 jenis yaitu : dari segi Interaksi Manusia Komputer (IMK) dan dari segi sistem diagnosis penyakit. Setiap pertanyaan diberi poin yaitu dengan oin nilai 1 sampai 5 dengan keterangan sebagai berikut.
Poin 1 = Buruk (B)
Kuisioner untuk pengguna, disediakan 5 pertanyaan tentang memudahkan dalam mendiagnosa penyakit ginjal khususnya syndrome nefritik dan syndrome nefrotik, kenyamanan dalam pemakaian aplikasi, sistem berjalan dengan baik sesuai dengan fungsi-fungsinya, sistem memberikan data dan informasi yang bermanfaat bagi pasien, sistem mudah digunakan. Hasil kuisioner adalah sebagai berikut :
Tabel 4.1 Rekapitulasi hasil kuesioner kepada pengguna sistem
NO Evaluasi
4 Sistem memberikan data dan informasi
yang bermanfaat bagi pasien 9 4 2 0 0
5 Sistem mudah digunakan 9 3 3 0 0
Dari hasil perhitungan analisa kuisioner, maka dapat diketahui nilai dari setiap pernyataan seperti
dibawah ini :
Tabel 4.2 Tabel nilai analisa diagnosa penyakit ginjal dengan responden dokter ahli
Pernyataan 1 2 3 4 5 Skor
3. Sistem berjalan dengan baik sesuai
dengan fungsi-fungsinya 0 0 3 6 6 84%
4. Sistem memberikan data dan informasi
yang bermanfaat bagi pasien 0 0 2 4 9 89,3%
Dari nilai yang didapat dengan menggunakan metode skala likert tersebut, maka dapat dianalisa bahwa :
1. Memudahkan dalam mendiagnosa penyakit ginjal khususnya syndrome nefritik dan syndrome
nefrotik dengan Sangat Baik.
2. Kenyamanan dalam pemakaian dengan Sangat Baik.
3. Sistem berjalan dengan baik sesuai fungsi-fungsinya dengan Sangat Baik.
4. Sistem Memberikan data dan Informasi dan informasi yang bermanfaat bagi pasien dengan
Sangat Baik.
5. Sistem mudah digunakan dengan Sangat Baik.
5. Kesimpulan dan Saran
5.1 Kesimpulan
Setelah melakukan analisa, perancangan, implementasi dan evaluasi sistem pakar untuk mendiagnosa ginjal, dapat disimpulkan bahwa:
1. Sistem pakar diagnosa penyakit ginjal yang berdasarkan pembobotan dari dokter spesialis penyakit
dalam berhasil untuk mendiagnosa ginjal menggunakan metode Hill Climbing.
2. Hasil diagnosa pada aplikasi diagnosa dini penyakit ginjal sesuai dengan tree pada sistem.
3. Berdasarkan hasil pengujian kuisioner yang dilakukan terhadap responden, didapat bahwa sistem
dapat memberikan data dan informasi yang bermanfaat bagi pasien dengan persentase sebesar 89,3%.
5.2 Saran
Beberapa saran yang dapat diberikan untuk pengembangan aplikasi ini diantaranya:
1. Memperluas ruang lingkup pendeteksian terhadap jenis penyakit lainnya yang ada pada ginjal agar sistem dapat mendiagnosa jenis penyakit yang lebih bervariasi.
2. Untuk kedepannya, sistem ini dapat dikembangkan dengan fitur-fitur yang lebih menarik seperti cara mengenal tanda-tanda gejala pada tubuh pasien melalui video, dsb.
VI. Daftar Pustaka
[1] Aprilia Sulistyohati, Taufiq Hidayat (2008). Aplikasi Sistem Pakar Diagnosa Penyakit Ginjal
Dengan Metode Dempster-Shafer. Diambil 24 Oktober 2011 pukul 2:50 WIB dari
http://journal.uii.ac.id/index.php/Snati/article/viewFile/720/675
[2] Artanti, F.R. (2004). Perancangan dan Pembuatan Sistem Pakar Hama dan Pengendalian untuk
Tanaman Hortikultura. Skripsi. Surabaya: Universitas Kristen Petra.
[3] Hanifah. (1998). ”Exact: System Pakar sebagai Penasehat Perbaikan Perangkat Keras
Komputer”. Yogyakarta.
[4] Kusumadewi. (2003). Artificial Intelligence (Teknik dan Aplikasinya). Yogyakarta: Penerbit
Graha Ilmu Yogyakarta.
[5] Kusrini. (2006). Sistem Pakar Teori dan Aplikasi. Yogyakarta: Penerbit Andi Yogyakarta.
[7] Medicastore. Media Informasi Obat dan Penyakit. Diambil 30 November 2011 pukul 22.30 WIB
dari http://medicastore.com/penyakit/719/Sindroma_Nefrotik.html
[8] Pengantar Inteligensia Buatan – Heuristic Searching. Teknik Pencarian Heuristik (Heuristic
Searching). Diambil 26 Oktober 2011 pukul 14.26 WIB dari http://journal.mercubuana.ac.id/data/Heuristic-search.pdf
[9] Turban, E. (2005). Decision Support System and Intelligent Systems. Yogyakarta: Penerbit Andi
Yogyakarta.
[10] Yuyun Yuliawati R. Pencarian Jarak Terpendek Menggunakan Metode Breadth First Search
dan Metode Hill Climbing. Diambil 17 November 2011 pukul 18.50 WIB dari
http://elib.unikom.ac.id/download.php?id=4505
[11] KECERDASAN BUATAN(ARTIFICIAL INTELLIGENCE). Diambil 04 Agustus 2012 pukul
00:18 WIB dari
[12] PEMBOBOTAN (WEIGHTING). Diambil 28 Agustus 2012 pukul 11.45 WIB dari