Seminar Nasional Teknologi Informasi dan Komunikasi 2014 (SENTIKA 2014) Yogyakarta, 15 Maret 2014
ISSN: 2089-9813
SISTEM PAKAR KESEHATAN UNTUK DIAGNOSA AWAL PENYAKIT MENGGUNAKAN METODE DYNAMIC BINARY TREE Gregorius Airlangga1,Agus Priyanto2,Maria Yunike3
Program Studi Sistem Informasi,STIKOM YOS SUDARSO PURWOKERTO Jl.SMP 5 Karang Klesem 53144 Telp.(0281)6845088 E-mail:
[email protected],
[email protected],
[email protected]
ABSTRAK Dewasa ini perkembangan teknologi internet yang begitu pesat telah mengubah gaya hidup masyarakat yang awalnya hanya digunakan untuk kepentingan komunikasi menjadi media yang dapat melayani kebutuhan manusia di berbagai aspek kehidupan baik dalam hiburan,bisnis,parwisata,dan tak terkecuali kesehatan.Dalam hal ini peneliti mengembangkan sebuah aplikasi berbasis mobile dan web yang dapat digunakan secara luas oleh masyarakat untuk mendiagnosa penyakit berdasarkan keluhan – keluhan yang dialami. Aplikasi ini merupakan sistem pakar berdasarkan pengetahuan yang ada di buku dokter di rumah anda karangan dr.Tony Smith yang menyajikan berbagai diagram dan alur-alur tentang penanganan suatu penyakit serta solusi herbal berdasarkan buku 1001 resep herbal karangan dr.Setiawan Dalimartha. Dalam mengimplementasikan isi buku ke dalam aplikasi komputer,peneliti mengembangkan algoritma dynamic binary tree. Algoritma ini diibaratkan seperti pohon besar yang memiliki banyak ranting dengan jenis berbeda-beda, dimana ranting tersebut akan menerima pengetahuan yang terangkum dari seorang pakar untuk menghadapi kasus yang berbeda-beda. Algoritma ini memungkinkan pengembangan mesin inferensi yang sangat dinamis sehingga setiap pakar mampu membuat aturan inferensinya sendiri asalkan pakar tersebut memiliki data yang lengkap, kemudahan dalam pertukaran data melalui berbagai perangkat komputer serta meminimalisir dampak kesulitan pengembangan yang menjadi kelemahan sistem pakar,di masa depan tidak mustahil jika algoritma ini dapat dikembangkan untuk berbagai permasalahan yang ditangani oleh sistem pakar dengan bidang selain kesehatan. Kata Kunci: knowledge base system, dynamic binary tree, herbal, penyakit, kesehatan 1.
Sedangkan buku berjudul “1001 Resep Herbal” merupakan sebuah buku yang berisi berbagai macam resep herbal tradisional untuk berbagai penyakit yang telah teruji secara medis mengobati penyakit dari akut hingga kronis. Diagram – diagram serta solusi herbal dalam kedua buku tersebut dapat disusun ke dalam sebuah sistem pakar yang terintegrasi ke dalam sebuah aplikasi komputer. Metode yang digunakan dalam kasus ini adalah algoritma dynamic binary tree yang peneliti kombinasikan dengan teknik rekursif serta teknik konversi data ke format yang dapat diterima oleh perangkat komputer.
PENDAHULUAN
1.1
Latar Belakang Kesehatan merupakan faktor yang sangat penting di dalam hidup manusia. Di abad modern ini permasalahan kesehatan semakin kompleks. Penyakit – penyakit baru bermunculan dan perlu ditangani secara murah, mudah dan cepat, seringkali sebuah gejala yang kelihatannya sederhana ternyata dapat mengacu pada sebuah penyakit yang kronis. Masyarakat secara umum belum memiliki pengetahuan yang cukup dalam menghadapi penyakit. Padahal, dengan kemajuan teknologi informasi yang sangat pesat, masyarakat semakin mudah mendapatkan pengetahuan baru bahkan dengan hanya menggunakan media mobile dan internet. (Makhubele, 2012) Dari sinilah muncul gagasan dari peneliti untuk mengembangkan sebuah sistem yang dapat mendukung kebutuhan masyarakat di bidang kesehatan. Ide bermula dari buku berjudul “Dokter di Rumah Anda” karangan dr.Tony Smith dan buku berjudul “1001 Resep Herbal”. Buku “Dokter di Rumah Anda” adalah sebuah buku kedokteran yang membahas mengenai berbagai penanganan penyakit berdasarkan gejala – gejala yang dialami oleh masyarakat. Buku ini berisi berbagai diagram – diagram pertanyaan yang bermuara kepada sebuah solusi.
1.2
Rumusan Masalah Apakah metode dynamic binary tree dapat diterapkan dalam aplikasi sistem pakar kesehatan untuk membantu masyarakat dalam memahami penyakit secara umum? 1.3 Tujuan Penelitian a. Terwujudnya aplikasi sistem pakar kesehatan dengan menggunakan metode dynamic binary tree. b. Membantu masyarakat dalam memahami penyakit secara umum dengan menggunakan aplikasi sistem pakar kesehatan.
468
Seminar Nasional Teknologi Informasi dan Komunikasi 2014 (SENTIKA 2014) Yogyakarta, 15 Maret 2014
ISSN: 2089-9813
Arsitektur algoritma sistem pakar berbasis pengetahuan ditunjukan dalam Gambar 1.
2.
TINJAUAN PUSTAKA Dynamic binary tree merupakan algoritma binary tree yang dinamis, yang berarti node maupun data di dalamnya tidak mempengaruhi struktur pohon melainkan hanya berpengaruh pada informasi dari pohon itu sendiri. (Munro, Raman, & Storm, Representing dynamic binary trees succinctly, 2001) (Benoit, Demaine, Munro, Raman, Raman, & Rao, 2005) (Bentley, 1979) (Sjukani, 2013) Json/Jsonp dapat melakukan pertukaran data antar perangkat komputer lebih cepat daripada xml pada umumnya. (Wang, 2011) (Juneau, 2013) (McCormick & Volder, 2004) (Janzen & Volder, 2003) 3.
KNOWLEDGE BASE SYSTEM Knowledge Base System adalah program yang dapat memberikan nasehat yang terkomputersasi yang ditunjukkan untuk menirukan atau menggantikan proses dan pengetahuan dari para pakar dalam menyelesaikan suatu permasalahan yang spesifik. Knowledge Base System memiliki karakteristik sebagai berikut (Kusumadewi, 2003) : a. Dapat belajar dari pengalaman b. Mentransfer pengetahuan dari satu domain ke domain lain c. Dapat memberikan proses pertimbangan dalam berbagai level d. Menggunakan tool-tool: heuristics(rule of thumb), mathematical model, simulations. Adapun sistem pakar yang dibuat di dalam penelitian ini adalah sistem yang dapat memberikan pertanyaan-pertanyaan yang bermuara kepada sebuah solusi. Pengguna hanya cukup menjawab pertanyaan ya/tidak dan pakar dapat menambah, mengupdate atau menghapus pengetahuan yang berupa pertanyaan atau solusi dengan mudah.
Gambar 1. Arsitektur Dynamic Binary System 4.1 Interface Dalam sebuah sistem berbasis pengetahuan biasanya seorang pakar dan programmer saling bekerjasama untuk menentukan aturan-aturan dari seorang pakar agar bisa ditransfer ke dalam sebuah aplikasi komputer. Namun, di dalam algoritma ini hal tersebut tidak perlu terjadi, artinya seorang pakar dapat saja membuat aturan-aturannya sendiri sesuai yang dia inginkan selama pengetahuan itu dapat dikemas menjadi pertanyaan – pertanyaan ya/tidak. Algoritma dynamic binary tree memungkinkan interface berbentuk seperti pohon sehingga seorang pakar hanya cukup mengisi ide, pertanyaan, jawaban maupun suatu permasalahan di dalam node – node pohon biner. Secara cerdas, sistem akan mengolah data – data yang menjadi sumber pengetahuan ke dalam suatu interface bagi pengguna yaitu sebuah pertanyaan berbasis ya/tidak serta solusi. Pengguna yang menggunakan kecerdasan dari seorang pakar hanya cukup menjawab pertanyaan dengan mengklik tombol ya/tidak, apabila sistem mendeteksi adanya sebuah solusi dari proses tersebut, maka solusi akan ditampilkan dan user akan mendapatkan informasi yang dinginkan.
4.
DYNAMIC BINARY TREE Dynamic binary tree merupakan algoritma binary tree yang dinamis, yang berarti node maupun data di dalamnya tidak mempengaruhi struktur pohon melainkan hanya berpengaruh pada informasi dari pohon itu sendiri. Data maupun node bebas berubah – ubah asalkan akar utama dari pohon tersebut memiliki posisi yang tetap. (Munro, Raman, & Storm, Representing dynamic binary trees succinctly, 2001) Hal ini memungkinkan pemrosesan data yang sangat dinamis dan cepat selama data di dalam setiap ranting tersebut berada didalam satu akar utama yang sama. Dalam kasus sistem berbasis pengetahuan ini, algoritma memungkinkan suatu aplikasi untuk dapat menerima inputan pengetahuan baru dari seorang pakar dan dapat mengkonversikannya ke dalam suatu pohon pakar berbasis pertanyaan ya/tidak.
4.2
Knowledge Classifier Setiap proses inputan yang terjadi di dalam interface secara otomatis akan selalu diklasifikasikan apakah termasuk didalam rantai pohon sebelah kiri yang mengacu pada pertanyaan/solusi “ya” dan rantai pohon sebelah kanan yang mengacu pada pertanyaan/solusi “tidak”. Knowledge classifier di dalam sistem bekerja di belakang layar.hal ini berguna agar seorang pakar atau pengguna merasakan user experience
469
Seminar Nasional Teknologi Informasi dan Komunikasi 2014 (SENTIKA 2014) Yogyakarta, 15 Maret 2014
(pengalaman penggunaan suatu aplikasi) yang familiar dan mudah dipahami. Algoritma di dalam class ini bekerja dengan cara memberikan setiap id dan id kategori di dalam sebuah node. Jika didapatkan id kategori yang merujuk pada pohon biner sebelah kiri maka dapat dikatakan semua yang berada di node sebelah kiri adalah pertanyaan/solusi “ya” sedangkan yang berada di sebelah kanan adalah pertanyaan/solusi “tidak” Untuk mempercepat proses klasifikasi ,algoritma ini menyederhanakan setiap rantai pohon menjadi per sub bagian sehingga apabila di dalam suatu pohon terdapat 18 rantai sebelah kiri dan 18 rantai sebalah kanan,algoritma akan menyederhanakannya menjadi 18/3 bagian rantai di sebelah kiri dan 18/3 bagian rantai di sebelah kanan dimana 3 adalah node parent,node kiri dan node kanan. Dengan cara tersebut, perhitungan jumlah node di dalam suatu sistem dapat dilakukan dengan cepat dan mudah. Hal ini sangat penting karena berpengaruh pada proses manipulasi data di dalam setiap ranting pohon. Apabila kita menggunakan perhitungan ranting tanpa memecah mecah menjadi sub bagian, manipulasi data ke data storage lebih berat. Algoritma ini juga dapat memproses adanya suatu aturan atau rantai ranting yang dianggap memiliki kesamaan dengan yang lainnya. Apabila ditemukan kesamaan maka sistem dapat memberikan pilihan kepada pakar agar mengkloning pengetahuan tersebut ke dalam suatu node atau mengabaikannya. Apabila dilakukan opsional untuk mengkloning pengetahuan tersebut maka sistem akan membuat id baru bagi node-node tersebut dan akan menambahkannya ke dalam suatu node yang akan diberikan hasil cloning.Namun apabila diabaikan maka sistem akan melanjutkan ke proses berikutnya.
ISSN: 2089-9813
4.4
Data Storage Lalu lintas manipulasi/pertukaran data yang telah melalui data transformation engine akan diproses ke dalam data storage. Data storage berisi tabel-tabel yang mempengaruhi struktur serta data di dalam suatu pohon pakar. 4.5
Inference Engine Algoritma dynamic binary tree secara otomatis akan melakukan proses transformasi dari segala node yang berada di sebelah kiri menjadi pertanyaan/solusi yang mengacu pada pertanyaan “ya” dan sebaliknya. Hal ini mengakibatkan di dalam proses inferensinya tidak memperhatikan aturan backward chaining maupun forward chaining, karena semua sudah diatur dari proses knowledge classifier, data transformation engine hingga ditampilkan kembali melalui proses inference engine. Dalam algoritma ini, inference engine melakukan sebuah fungsi rekursif terhadap data yang diterima dari data transformation engine. Fungsi rekursif di dalam inference engine ini merangkum if-else-then yang apabila dilakukan dengan metode forward/backward chaining biasa akan sangat panjang menjadi hanya beberapa baris kode saja. Aturan rekursif di dalam inference engine ini menitik beratkan pada id hubungan antara node kiri, kanan dengan node parent. Algoritma aturan rekursif ini ditunjukkan dalam Gambar 2. 1.Dapatkan Parameter IdParent dan Id Hubung dimana parameter 1=IdParent dan parameter 2 adalah IdHubung. 2.If idHubung adalah IdParent dari anak then GetNode(IdHubung,0); //rekursif dengan letak dan isi parameter berbeda CekNodeTipe(); ConvertNode(); OutputDataFromNode(); End If Else OutputWarning(); End If
4.3
Data Transformation Engine Dalam sistem ini terdapat dua fungsi utama yaitu konversi data kemudian dilakukan penyimpanan ke data storage serta konversi data dari data storage agar dapat ditampilkan ke user interface. Secara garis besar, proses data transformation di dalam sistem ini mengacu pada json-p (json with padding). Json-p merupakan struktur data berukuran kecil yang dibungkus oleh sebuah variable tertentu dan digunakan untuk pertukaran data dari server ke client maupun sebaliknya. Json-p dipilih karena sifatnya yang tidak dipengaruhi oleh access origin policy , lintas platform,cepat dan dinamis. (Juneau, 2013) Untuk mengubah data menjadi json-p peneliti mengembangkan fungsi regular expression yang dapat mendeteksi adanya string yang tidak sesuai dikombinasikan dengan metode Json Converter yang umumnya sudah ada di dalam bahasa pemrograman berbasis server.
Gambar 2. Algoritma Aturan Rekursif Karena dalam pembuatan node kiri maupun kanan ketika proses di dalam pakar, kode hubung dari node parent telah ditambahkan secara otomatis ke dalamnya. Hal ini memungkinkan adanya aturan berantai yang mempermudah dalam memanggil pengetahuan dalam inference engine. Algoritma inference engine dapat digambarkan dalam Gambar 3. 1. 2. 3. 4. 470
Inisialisasi Koneksi Database Panggil Method GetIdPenyakit Panggil Method GetTanyaAwalById Panggil Method GetIdTanyaAwal
Seminar Nasional Teknologi Informasi dan Komunikasi 2014 (SENTIKA 2014) Yogyakarta, 15 Maret 2014
5. Panggil PohonByRoot(IdPenyakit,IdTA) 6. Panggil Method GetLengthPohonPakar 7. For iterasi=0 to GetLengthPohonPakar do: If(node==root) then Print data root If(node!=root) then a. For each left node in Pohon do : i.if tipe node adalah yes question then lakukan pengecekan node anak.
ISSN: 2089-9813
selanjutnya yang harus dilakukan. (Smith & Davidson, 2005) Semua diagram yang terdapat pada buku tersebut pada dasarnya menggunakan diagram ”if-then” untuk mengkorelasikan gejala yang timbul pada penderita dengan tindakan medis yang harus dilakukan untuk mengurangi resiko fatal pada gangguan kesehatan yang dialami. Hal ini juga akan membantu pengguna mengenali kemungkinan penyebab suatu gejala dan menuntut pengguna bila harus mencari bantuan medis serta memungkinkan memberi saran cara mengatasi sendiri gejala atau penyebab tersebut. Diagram-diagram tersebut terdiri dari diagram untuk anak-anak dari semua tingkat usia, untuk semua orang dewasa (orang dewasa umum tidak membedakan usia dan jenis kelamin) serta diagram khusus untuk pria dan wanita. Semua diagram dibuku ini disusun atas studi secara intensif dan penelusuran kembali database kesehatan untuk mendapatkan analisis serta pembahasan yang mendalam dan komprehensif mengenai konsep diagnosis awal gangguan kesehatan secara mandiri ini oleh para dokter dan diperiksa oleh para spesialis medik. Dalam ilmu kedokteran, penanganan setiap gangguan kesehatan terhadap berbagai kelompok penderita berbeda-beda. Misalnya, gangguan kesehatan seperti batuk, walaupun penyakit yang diderita sama yaitu batuk tetapi jika penderitanya berbeda misalnya balita dan orang dewasa, tentu penanganannya berbeda. Penderita balita tentu akan mendapatkan penanganan lebih serius. Sedangkan penderita dewasa, dilihat dulu batuknya. Jika batuknya dikarenakan flu atau batuk ringan tentunya tidak perlu dibawa ke dokter, cukup istirahat dan minum obat batuk atau obat flu biasa, biasanya akan sembuh. Walaupun ada beberapa penyakit yang muncul di lebih dari satu kelompok usia, namun pertanyaan yang diberikan pun berbeda karena penanganannya yang berbeda pula. (Subakti & Hidayatullah, Aplikasi Sistem Pakar Untuk Diagnosis Awal Gangguan Kesehatan Secara Mandiri Menggunakan Variable-Centered Intelligent Rule System, 2007) Dalam pembangunan pengetahuan pada kasus ini peneliti mengembangkan metode dynamic binary tree yang berbeda dengan metode Variable-Centered Intelligent Rule System. (Subakti, A VariableCentered Intelligent Rule System, 2005) Berikut ini adalah algoritma dalam menerapkan pembangunan pengetahuan di dalam sistem pakar: 1. Jika terdapat penambahan kategori penyakit di dalam system maka data kategori penyakit akan dimasukkan ke dalam database dengan kode kategori penyakit otomatis. 2. Jika terdapat penambahan penyakit di dalam sistem maka data penyakit akan dimasukkan ke dalam database dengan kode penyakit otomatis
if node anak ditemukan then Print data kemudian panggil method pohon rekursif dengan parameter id ini. End If End If ii.if tipe node adalah solusi ya then Print data dan lakukan pengecekan apakah ada node anak ramuan herbal. if ditemukan then tampilkan data kemudian panggil method pohon rekursif dengan parameter id ini. End If End If End For b. For each right node in pohon do : i.if tipe node adalah no question then lakukan pengecekan node anak if node anak ditemukan then Print data kemudian panggil method pohon rekursif lagi dengan parameter id ini. End If End If ii.if tipe node adalah solusi tidak then Print data dan lakukan pengecekan apakah ada node anak ramuan herbal. if ditemukan then Print data kemudian panggil method pohon rekursif dengan parameter id ini. End If End If End For End If
Gambar 3. Algoritma inference engine 5.
DIAGNOSA AWAL PENYAKIT Proses diagnosis ini diambil dari buku “Dokter di Rumah Anda” yang berisi 150 diagram yang dapat diikuti oleh orang belum pernah terlatih sekalipun untuk mengetahui seberapa bahayakah gangguan kesehatan yang dialami dan apakah tindakan 471
Seminar Nasional Teknologi Informasi dan Komunikasi 2014 (SENTIKA 2014) Yogyakarta, 15 Maret 2014
dan harus memiliki kode kategori penyakit sebagai rujukan dari data penyakit. 3. Penambahan data untuk pertanyaan awal dibedakan dengan pertanyaan yang mengacu pada jawaban tidak dan jawaban ya. 4. Data pertanyaan awal harus diinputkan terlebih dahulu ke dalam database mengacu pada kode penyakit. 5. Setelah data pertanyaan awal dimasukkan, sistem akan menjadikan data pertanyaan awal sebagai akar sambungan dari penyakit yang nantinya memiliki ranting/node berupa pertanyaan/solusi yang mengacu pada jawaban ya dan tidak. 6. Setelah didapatkan akar dari node maka pakar dapat menginputkan data pertanyaan/solusi yang mengacu pada jawaban ya/tidak. 7. Sistem akan memberikan empat pilihan data inputan yaitu pertanyaan /solusi yang mengacu pada ya/tidak. Setiap kali pakar melakukan pilihan, sistem akan melakukan pengecekan apakah terdapat node anak dari node parent saat ini. Apabila node anak tidak ada maka sistem akan memberikan empat pilihan. Jika sudah terdapat salah satu node kiri maupun kanan maka sistem hanya akan memberikan dua pilihan yaitu inputan/pertanyaan yang arah nodenya sebaliknya. 8. Ketika dilakukan penyimpanan data di dalam node maka sistem akan mendapatkan secara otomatis id parent dan menyimpannya sebagai kode hubung dari id anak. Adapun id node yang baru ditambahkan tersebut akan dibuat secara otomatis oleh sistem. Selain kode hubung, kode tipe dari suatu node yang mengindikasikan bahwa dia pertanyaan/solusi yang mengacu pada ya/tidak akan disimpan di dalam database. 9. Apabila dilakukan penghapusan data di dalam suatu node, maupun rangkaian node maka algoritma ini akan melakukan iterasi dari id node parent yang akan dihapus hingga id anak. Dalam proses itu dilakukan pengecekan bagian antara kiri dan kanan kemudian sistem akan menampilkan pesan konfirmasi. Jika pesan konfirmasi disetujui maka data akan dihapus dimulai dari node yang berada di sebelah kiri terlebih dahulu kemudian node yang sebelah kanan. 10. Apabila data diperbaharui maka algoritma ini akan mengambil id node saat ini sebagai acuan kemudian memberikan konfirmasi kepada pakar mengenai pengubahan isi data,apabila disetujui maka isi datanya akan berubah berdasarkan id node saat ini. 11. Apabila suatu rangkaian node maupun node akan dikloning, maka system akan mendapatkan id parent saat ini, id parent tujuan serta semua id anak hingga leaf node.Kemudian sistem akan memberikan konfirmasi mengenai kloning rangkaian node. Apabila pesan konfirmasi
ISSN: 2089-9813
disetujui maka system akan menambahkan suatu node atau rangkaian node ke node tujuan. 12. Apabila suatu rangkaian node maupun node akan dipindahkan dari satu node parent ke node parent lainnya maka sistem akan mendapatkan id node parent saat ini beserta segala node anaknya kemudian ketika dipindahkan ke node parent lainnya maka akan dilakukan penyesuaian urutan serta kode hubung dari node parent yang dipindahkan tersebut. 6.
HERBAL Definisi obat tradisional ialah bahan atau ramuan bahan yang berasal dari tumbuhan, hewan, mineral, sediaan sarian (galenik) atau campuran dari bahan tersebut, yang secara turun temurun telah digunakan untuk pengobatan berdasarkan pengalaman. Obat tradisional Indonesia atau obat asli Indonesia yang lebih dikenal dengan nama jamu, yang umumnya terdiri dari campuran obat herbal, yaitu obat yang berasal dari tanaman. Bagian tanaman yang digunakan dapat berupa akar, batang, daun, umbi atau mungkin juga seluruh bagian tanaman. (Sampurno, 2007) Buku “1001 Resep Herbal” berisi berbagai ramuan tradisional yang dapat diracik secara mandiri oleh masyarakat dan teruji secara medis dapat menyembuhkan berbagai penyakit akut hingga kronis. Ramuan yang terdapat di dalam buku ini terdapat petunjuk-petunjuk yang lengkap untuk membuat dan menggunakan resep ramuan yang telah dikelompokkan sesuai penyakit-penyakit dan diurutkan sesuai abjad. (Dalimartha, 2008) Atas dasar inilah dalam mengkomputerisasikan data di dalam buku ini, peneliti mengelompokkan jenis – jenis ramuan berdasarkan penyakit yang disesuaikan dengan solusi yang terdapat pada sistem pakar ini. 7.
HASIL PENELITIAN Berikut adalah implementasi yang berjalan pada aplikasi berbasis mobile Windows Phone 7.5 dan berbasis website. Pada saat aplikasi berbasis mobile dijalankan akan muncul tampilan kategori penyakit yang disediakan dari database seperti ditunjukkan dalam Gambar 2. Pengguna harus memilih salah satu dari kategori penyakit terlebih dahulu. Selanjutnya, pengguna dapat memilih keluhan yang sedang diderita. Halaman untuk memilih keluhan penyakit ditunjukkan dalam Gambar 3. Setelah pengguna memilih keluhan penyakit, sistem akan menampilkan pertanyaan. Pengguna cukup menekan tombol ya atau tidak hingga ditemukan sebuah solusi dari keluhan/penyakit yang dialami. Halaman untuk memberikan jawaban ya atau tidak ditunjukkan dalam Gambar 4.
472
Seminar Nasional Teknologi Informasi dan Komunikasi 2014 (SENTIKA 2014) Yogyakarta, 15 Maret 2014
ISSN: 2089-9813
pengguna akan dijadikan parameter yang berbedabeda ke server. Proses ini terjadi hingga didapatkan sebuah solusi. Halaman solusi pertanyaan pengguna ditunjukkan dalam Gambar 5.
Gambar 2. Halaman Pilihan Kategori Penyakit
Gambar 5. Solusi pertanyaan pengguna Setelah solusi ditenukan, sistem segera melacak adanya ramuan/data herbal yang tersedia dari database. Apabila didapatkan node ramuan yang memiliki node parent solusi, maka secara otomatis akan ditampilkan tombol kecil di bottom bar untuk menampilkan data herbal. Halaman data herbal ditunjukkan oleh Gambar 6.
Gambar 3. Halaman Pilihan Keluhan Penyakit
Gambar 6. Data Herbal Aplikasi berbasis website digunakan oleh pakar untuk menambahkan pengetahuan baru berupa pertanyaan/solusi/herbal. Halaman login aplikasi berbasis website ditunjukkan oleh Gambar 7. Gambar 4. Pilihan Pertanyaan Ya atau Tidak Dalam proses tanya/jawab ini sistem pakar akan menjalankan metode inference engine secara rekursif dimana setiap aksi yang dipilih oleh 473
Seminar Nasional Teknologi Informasi dan Komunikasi 2014 (SENTIKA 2014) Yogyakarta, 15 Maret 2014
ISSN: 2089-9813
Apabila pakar memilih node yang bertipe solusi maka, sistem akan memberikan pilihan untuk menginputkan data herbal, kemudian node dengan data herbal akan diciptakan dan diletakkan tepat dibawah node solusi.Halaman untuk menampilkan pilihan untuk input data herbal ditunjukkan oleh Gambar 10.
Gambar 7. Halaman login pakar Gambar 10. Halaman pilihan input data herbal
Setelah login, pakar dapat mengakses pohon pakar yang digunakan untuk knowledge building. Pohon akar ditunjukkan oleh Gambar 8.
Apabila pakar memilih node yang telah memiliki node anak, maka pada pilihan menu akan ditampilkan pilihan untuk input dengan node kiri/kanan saja yang dapat berupa pertanyaan/solusi ya/tidak. Halaman untuk menampilkan pilihan input data dengan kondisi dimana salah satu node kiri/kanan telah terisi ditunjukkan oleh Gambar 11.
Gambar 8. Tampilan Pohon Pakar
Gambar 11.Pilihan pertanyaan/solusi tidak
Dalam aplikasi ini, algoritma dynamic binary tree sudah dikombinasikan dengan teknik jquery agar user mudah dalam menggunakan aplikasi. (McCormick & Volder, 2004) Untuk menggunakannya, pakar cukup memilih node dengan mouse kemudian melakukan aksi klik kanan pada mouse sehingga muncul pilihan/menu. Setiap kali pengguna melakukan aksi klik kanan pada node yang dipilih, metode klasifikasi akan dijalankan. Sistem akan melakukan pemeriksaan terhadap node yang dipilih. Apabila pakar memilih node yang belum memiliki node anak maka sistem akan memberikan pilihan lengkap yaitu pertanyaan atau solusi ya atau tidak Halaman yang menggambarkan proses ini ditunjukkan oleh Gambar 9.
8.
KESIMPULAN Dapat disimpulkan bahwa metode ini dapat diimplementasikan dengan baik ke dalam sistem pakar berbasis pengetahuan selama ada pakar yang memiliki pengetahuan yang lengkap dan dikemas dengan diagram diagram yang merujuk pada jawaban ya / tidak . Pengetahuan baru yang dapat ditambahkan tidak harus berasal dari buku “Dokter di Rumah Anda” maupun “1001 Resep Herbal”. Dalam penelitian ini hanya diambil contoh dari buku tersebut karena kedua buku tersebut memiliki data yang cukup akurat. Metode ini dapat dikembangkan untuk bidang pengetahuan lain sebagai contoh adalah bidang otomotif. Apabila terdapat pakar di bidang otomotif yang dapat merangkum pengetahuannya pada masalah kendaraan bermotor ke dalam diagram ya/tidak maka pengetahuan tersebut dapat segera diimplementasikan ke dalam sistem ini asalkan pakar tersebut memiliki hak akses ke dalam sistem. Hal ini dapat terjadi karena sifatnya yang dinamis dan mudah digunakan dalam knowledge building. Pertukaran data di dalam algoritma ini dapat dijalankan di perangkat smartphone baik dengan
Gambar 9. Halaman untuk memilih pengetahuan. 474
Seminar Nasional Teknologi Informasi dan Komunikasi 2014 (SENTIKA 2014) Yogyakarta, 15 Maret 2014
Android, IoS, Windows Phone, Java bahkan tidak mustahil dapat diadopsi untuk perkembangan teknologi robotika.
ISSN: 2089-9813
Proceeding SODA '01 Proceedings of the twelfth annual ACM-SIAM symposium on Discrete algorithms , 529-536 . Nurseitov, N. P. (2009). Comparison of JSON and XML Data Interchange Formats. A Case Study. CAINE, 157-162. Raman, R., & Rao, S. S. (2003). Succinct Dynamic Dictionaries and Trees. Proceeding ICALP'03 Proceedings of the 30th international conference on Automata, languages and programming , 357368. Raman, R., Raman, V., & Rao, S. S. (2002). Succinct indexable dictionaries with applications to encoding k-ary trees and multisets. SODA '02 Proceedings of the thirteenth annual ACM-SIAM symposium on Discrete algorithms, 233-242. Sampurno. (2007). Obat Herbal Dalam Prespektif Medik Dan Bisnis. Traditional Medicine Journal Volume 12 Issue 42. Sarasa-Cabezuelo, A. (2013). Grammar-driven development of JSON processing applications. Computer Science and Information Systems (FedCSIS), 2013 Federated Conference on, 1557 - 1564. Schreiber, G., Wielinga, B., & Breuker, J. (1993). KADS A Principle Approach To Knowledge Base System Development. San Diego: Academic Press. Sjukani, M. (2013). Algoritma (Algoritma & Struktur Data 1) dengan C, C++, dan Java: Teknik-Teknik Dasar Pemrograman Komputer (Edisi 8). Bandung: Mitra Wacana Media. Smith, T., & Davidson, S. (2005). Dokter Di Rumah Anda. Jakarta: Dian Rakyat. Subakti, I. (2005). A Variable-Centered Intelligent Rule System. Proc. of the 1st Annual International Conference: Information and Communication Technology Seminar 2005 (ICTS2005). Subakti, I. (2006). Some revisions in VCIRS and cases reconstructing perspectives. Proceedings of the 2nd Annual International Conference: Information and Communication Technology Seminar (ICTS2006). Subakti, I., & Hidayatullah, R. (2007). Aplikasi Sistem Pakar Untuk Diagnosis Awal Gangguan Kesehatan Secara Mandiri Menggunakan Variable-Centered Intelligent Rule System. JUTI(Jurnal Ilmiah Teknologi Informasi) ,Volume 6 ,No.1, 11-16. Wang, G. (2011). Improving Data Transmission in Web Applications via the Translation between XML and JSON . Communications and Mobile Computing (CMC), 2011 Third International Conference on , 182-185.
PUSTAKA AgroMedia, R. (2008). 273 Ramuan Tradisional. Ciganjur,Jagakarsa,Jakarta Selatan: Agro Media. Auer, S., Dietzold, S., Lehmann, J., Helmann, S., & Aumueller, D. (2009). Triplify: light-weight linked data publication from relational databases. Proceeding WWW '09 Proceedings of the 18th international conference on World wide web, 621-630. Bennet, J. S. (1985). ROGET: A Knowledge-Based System For Acquiring The Conceptual Structure Of A Diagnostic Expert System. Journal of Automated Reasoning Volume 1, Issue 1 , 49-74. Benoit, D., Demaine, E. D., Munro, J. I., Raman, R., Raman, V., & Rao, S. S. (2005). Representing Trees of Higher Degree. Journal Algorithmica Volume 43 Issue, 275 - 292. Bentley, J. L. (1979). Multidimensional Binary Search Trees in Database Applications. Software Engineering, IEEE Transactions on (Volume:SE5 , Issue: 4 ), 333-340. Dalimartha, d. (2008). 1001 Resep Herbal. Jakarta: Swadaya. Frize, M., & Walker, R. (2000). Clinical decisionsupport systems for intensive care units using. Medical Engineering & Physics 22, 671–677. Janzen, D., & Volder, K. D. (2003). Navigating and querying code without getting lost. AOSD '03 Proceedings of the 2nd international conference on Aspect-oriented software development, 178187. Juneau, J. (2013). WebSockets and JSON-P. In J. Juneau, Introducing Java EE 7 (pp. 131-145). New York: Apress. Kusumadewi, S. (2003). Artificial Intelligence (teknik dan aplikasinya). Yogyakarta: GRAHA ILMU. Makhubele, K. (2012). A Knowledge Based Expert System for Medical Advice provision. Honours Project Report, Department of Computer Science. McCormick, E., & Volder, K. D. (2004). JQuery: finding your way through tangled code. OOPSLA '04 Companion to the 19th annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, 9-10. Munro, J. I., & Farzan, A. (2014). A Uniform Paradigm to Succinctly Encode Various Families of Trees. Journal Algorithmica Volume 68, Issue 1, 16-40. Munro, J. I., Raman, V., & Storm, A. J. (2001). Representing dynamic binary trees succinctly.
475