vii
Wahyu Rizki Arifianto ABSTRAK
Angka kematian para penderita penyakit ginjal yang semakin meningkat, dikarenakan kurangnya pengetahuan tentang gejala awal penyakit ginjal dan fasilitas kesehatan khususnya untuk penyakit ginjal di Indonesia masih sangat terbatas. Selain itu penanganan masalah kesehatan terutama penyakit ginjal belum terlaksana secara cepat dan efisien. Pemanfaatan teknologi informasi dapat menjadi salah satu solusi untuk mengatasi permasalahan tersebut. Dengan membangun sistem pakar untuk menentukan diagnosa awal penyakit ginjal menggunakan instant messaging, diharapkan dapat melakukan proses diagnosa awal lebih cepat dan dapat menjangkau lebih banyak calon pasien yang ingin memeriksakan kesehatan ginjalnya.
Pada pembuatan aplikasi ini perencanaan dimulai dengan melakukan studi literatur, mengumpulkan data training yang didapat dari dokter dan akademisi kedokteran, mempelajari dan memahami kebutuhan sistem yang akan dibuat sehingga dapat dilakukan pemodelan sistem meliputi perancangan diagram konteks, data flow diagram, ERD, relasi antar tabel dan struktur database. Sistem ini dibangun memanfaatkan Telegram bot API berbasis multiplatform, yang ditulis menggunakan bahasa pemrograman python dan php, dengan metode forward chaining dan didukung faktor keyakinan certainty fector.
Perancangan aplikasi sistem pakar untuk menentukan diagnosa awal penyakit ginjal menggunakan instant messaging dapat membantu proses diagnosa awal menjadi lebih cepat dan efisien, yang mana dapat diakses secara multiplatform. Sistem pakar ini menggunakan metode forward chaining dan didukung faktor keyakinan certainty fector. Hasil diagnosa dan data gejala dapat diakses oleh dokter untuk proses diagnosa lanjut melalui aplikasi berbasis web. Pada pengujian black box, aplikasi ini memiliki fungsi-fungsi yang telah dinyatakan berhasil. Dan berdasarkan hasil pengujian system usabilty scale (SUS), didapatkan skor 78 yang berarti aplikasi ini dapat berjalan dengan baik pada Telegram Messaging.
viii
Kata Kunci : sistem pakar, penyakit ginjal, telegram, bot, instant messaging, forward chaining.
ix ABSTRACT
The number of people who dead from suffered kidney disease has increasing. It’s happens because many people has less knowledge about the early symptoms and less health facilities to handle the disease. Furthermore in Indonesia the concern to handle this disease hasn’t been quick and efficient yet. Information technology utilization could be a great solution for this case. Build an expert system application based on instant messenger for early diagnose check of kidney disease is expect could do the initial diagnose process be faster and could engage more people who curious about this disease.
The making process of this application were start from do literature studies, gathers training data that got from doctor and medical accademition, studies and learns about the needs from the system that will be made, in order to be able to do the modeling system such as context diagram plan, diagram flow data, ERD, and the relation between cables and database structure. This system will be built by using Telegram bot API that based on multiplatforms, who use python and php programing languages, by forward chaining method and supported by certainty fector.
The expert system application planning to determined the early symptoms diagnose of kidney disease by using instant messanger could helps for diagnose the early symptoms being faster and efficient, which is could be accsessed in multiplatform. This expert system using forward chaining method and support from certainty fector. The diagnose result dan the symtomps data could be accsessed by the doctor for the next diagnosing procedure by the web based application. In black box testing, this application has functions that have been successful. And based on the results of usabilty scale system testing (SUS), obtained a score of 78 which means this application can run well on Telegram Messaging.
Keywords: expert system, kidney disease, telegram bot, instant messaging, forward chaining.
x DAFTAR ISI
Halaman
SAMPUL DEPAN ... i
SAMPUL DALAM ... ii
LEMBAR PERNYATAAN ORISINALITAS ... iii
LEMBAR PRASYARAT GELAR ... iv
LEMBAR PENGESAHAN TUGAS AKHIR ... Error! Bookmark not defined. UCAPAN TERIMA KASIH ... v
ABSTRAK ... vii
ABSTRACT ... ix
DAFTAR ISI ... x
DAFTAR GAMBAR ... xiv
DAFTAR TABEL ... xvi
DAFTAR SINGKATAN ... xvii
BAB I PENDAHULUAN ... 1 1.1 Latar Belakang ... 1 1.2 Rumusan Masalah ... 4 1.3 Tujuan Penelitian ... 4 1.4 Manfaat Penelitian ... 5 1.5 Batasan Masalah ... 5
BAB II KAJIAN PUSTAKA ... 6
2.1 Tinjauan Mutakhir ... 6
2.2 Tinjauan Pustaka ... 9
2.2.1 Penyakit Ginjal ... 9
2.2.2 Pengobatan dan Penanganan Penyakit Ginjal ... 10
2.2.3 Diagnosa Penyakit ... 17
xi
2.2.5 Metode Runut Maju (Forward Chaining) ... 21
2.2.6 Faktor Keyakinan (Certainty Factor) ... 22
2.2.7 Knowledge Base ... 23
2.2.8 Working Memory ... 24
2.2.9 IF-THEN Rules ... 24
2.2.10 Inference Engine ... 25
2.2.11 ID3 (Iterative Dichotomiser 3) ... 25
2.2.12 Instant Messenger ... 25
2.2.13 Telegram ... 26
2.2.14 Chatbot ... 27
2.2.15 Pemrograman WEB ... 29
2.2.16 Pemrograman Python ... 31
2.2.17 Metode Pengembangan Sistem ... 31
2.2.18 Tools dan Pemodelan Sistem ... 33
2.2.19 Black Box Testing ... 37
2.2.20 System Usability Scale ... 38
BAB III METODOLOGI PENELITIAN... 40
3.1 Lokasi dan Waktu Penelitian ... 40
3.2 Sumber dan Jenis Data ... 40
3.2.1 Sumber Data ... 40
3.2.2 Jenis Data Penelitian ... 41
3.3 Alat Penelitian... 41
3.4 Gambaran Umum Sistem ... 42
3.5 Tahapan Penelitian ... 43
3.6 Analisis Data ... 44
xii
3.6.2 Nilai CF (Certainty Fector) ... 48
3.6.3 Analisis Kebutuhan Sistem ... 57
3.6.4 Perancangan Data Flow Diagram ... 58
3.6.5 ERD (Entity Relationship Diagram) Sistem ... 63
3.6.6 Relasi Antar Tabel ... 63
3.7 Perancangan Database ... 64
3.7.1 Deskripsi Entitas Data ... 64
3.8 Perancangan Antarmuka ... 65
3.8.1 Antarmuka Awal ... 65
3.8.2 Antar Muka Chat Diagnosa Berbasis Mobile ... 66
3.8.3 Antar Muka Chat Diagnosa Berbasis Desktop ... 66
3.8.4 Antar Muka Chat Diagnosa Berbasis Web ... 67
3.8.5 Antar Muka Laman Sign In Admin dan Dokter ... 68
3.8.6 Antar Muka Laman Dokter ... 68
3.8.7 Antar Muka Admin ... 69
3.9 Pengujian ... 69
3.10 Jadwal Pelaksanaan Penelitian... 70
BAB IV HASIL DAN PEMBAHASAN ... 71
4.1 Hasil ... 71
4.2 Pembahasan Sistem... 71
4.2.1 Integrasi Sistem Bot ... 72
4.2.2 Pembahasan Aplikasi Berbasis Web ... 78
4.2.3 Pembahasan Telegram Bot ... 84
4.3 Pengujian Menggunakan Metode Black Box ... 89
4.4 Analisa Usability Scale Software ... 91
4.5 Analisa Kelebihan dan Kelemahan Sistem ... 95
xiii
5.1 Simpulan ... 96
5.2 Saran ... 97
DAFTAR PUSTAKA ... 98
xiv
DAFTAR GAMBAR
Halaman
Gambar 2. 1 Metode Forward Chaining ... 21
Gambar 2. 2 Penalaran Forward Chaining ... 21
Gambar 2.3 Skema Telegram Bot ... 28
Gambar 2.4 Client Side Scripting ... 29
Gambar 2.5 Server side Scripting ... 29
Gambar 2.6 Struktur dasar HTML ... 30
Gambar 3. 1 Gambaran Umum Sistem Sistem Pakar Sebagai Media Konsultasi Awal Menggunakan Isntant Messeging ... 42
Gambar 3.2 Diagram Alur Penelitian Sistem ... 44
Gambar 3.3 Contex Diagram Sistem Pakar... 59
Gambar 3.4 Diagram Jenjang (hierarchy chart) Sistem Pakar Penyakit Ginjal ... 60
Gambar 3.5 DFD level 0 Sistem Sistem Pakar Penyakit Ginjal ... 61
Gambar 3.6 Data Flow Diagram (DFD) Level 1 Manajemen Dokter, dan Admin ... 62
Gambar 3. 7 ERD (Entity Relationship Diagram) Sistem Pakar Peyakit Ginjal . 63 Gambar 3.8 Relasi Antar Tabel Sistem Pakar Penyakit Ginjal ... 64
Gambar 3. 9 Tampilan Awal Sistem Dalam Platform Android ... 66
Gambar 3. 10 Tampilan Antar Muka Chat Diagnosa Berbasis Mobile ... 66
Gambar 3. 11 Tampilan Antar Muka Chat Diagnosa Berbasis Desktop ... 67
Gambar 3. 12 Tampilan Antar Muka Chat Diagnosa Berbasis Web ... 67
Gambar 3. 13 Tampilan Chat List Asisten Dokter ... 68
Gambar 3. 14 Tampilan Interface Web Laman Dokter ... 68
Gambar 3. 15 Tampilan Interface Web Laman Admin ... 69
Gambar 4.1 Laman login dokter ... 79
Gambar 4.2 Laman login admin... 79
Gambar 4.3 Kotak dialog gagal login ... 80
Gambar 4.4 Halaman Dokter ... 80
Gambar 4.5 Halaman detail data diagnosa ... 81
xv
Gambar 4.7 Halaman Admin ... 82
Gambar 4.8 Halaman data diagnosa Admin ... 82
Gambar 4.9 Halaman Tambah Dokter ... 83
Gambar 4.9 Halaman Edit Dokter ... 84
Gambar 4.10 Tampilan awal Telegram Bot Pakar Ginjal ... 85
Gambar 4.11 Tampilan Awal Percakapan Sistem... 86
Gambar 4.12 Tampilan percakapan bot menanyakan biodata calon pasien ... 86
Gambar 4.13 Hasil diagnosa dan pertanyaan diagnosa lebih lanjut... 87
Gambar 4.14 Pertanyaan hari diagnosa lebih lanjut... 88
xvi DAFTAR TABEL
Tabel 2.1 Tabel Interpretasi Certainty Factor ... 23
Tabel 2.2 Simbol-Simbol DFD ... 35
Tabel 2.3 System Usability Scale (SUS) oleh John Brooke ... 39
Tabel 3.1 Pengkodean Penyakit Ginjal ... 45
Tabel 3.2 Pengkodean Gejala Penyakit Ginjal ... 46
Tabel 3.3 Rule Sistem Pakar Penyakit Ginjal ... 47
Tabel 3.4 Tabel Nilai MB (Pakar) metode Certainty Factor gejala penyakit ginjal terhadap penyakitnya ... 49
Tabel 3.5 Deskripsi Aktor ... 58
Tabel 3.6 Deskripsi Entitas Data Diagnosa... 64
Tabel 3.7 Deskripsi Entitas Data Dokter... 65
Tabel 3.8 Deskripsi Entitas Data Admin... 65
Tabel 3.9 Jadwal Pelaksanaan Penelitian ... 70
Tabel 4.1 Pengujian Metode Black Box ... 89
Tabel 4.2 Skrip Kuisioner Sistem Usabilty Scale (SUS) ... 91
Tabel 4.3 Data hasil survey Sistem Usabilty Scale (SUS) ... 93
xvii
DAFTAR SINGKATAN
ACE = Angiotensinconvertingenzym
ADT = Android Development Tools
API = Application Programming Interface
APP API = Aplication Application Programming Interface
ASP = Active Server Pages
BBM = BlackBerry Messenger
CF = Certainty Factor
CLS = Concept Learning System
CSS = Client Side Scripting
DFD = Data Flow Diagram
DVM = Dalvik Virtual Machine
EPO = Eritroprotin
ERD = Entity Relationship Diagram
GPS = General Positioning System
HB = Hemoglobin
HCL = Hidroklorida
HTML = Hypertext Markup Language
ID3 = Iterative Dichotomiser 3
IM = Instant Messenger
ISKDC = International Study of Kidney Disease in Children
JVM = Java Virtual Machine
KOPMA UGM = Koprasi Mahasiswa Universitas Gajah Mada
LLP = Limited Partnership MB = Measure of Believe ME = Mobile Edition PC = Personal Computer PH = Potensial Hidrogen PHP = Hypertext Preprocessor
xviii
RSUD = Rumah Sakit Unit Daerah
SDK = Software Development Kit
SDLC = System Development Life Cycle
SMS = Sort Message System
SN = Sindrom Nefrotik
SQL = Structured Query Language
SSL = Secure Sockets Layer
SSS = Server Side Scripting
SUS = System Usability Scale
UKM = Unik Kreativitas Mahasiswa
URL = Uniform Resource Locator
WWW = World Wide Web
1 BAB I PENDAHULUAN
1.1 Latar Belakang
Angka kematian para penderita penyakit ginjal yang semakin meningkat, dikarenakan kurangnya pengetahuan tentang gejala awal penyakit ginjal dan fasilitas kesehatan khususnya untuk penyakit ginjal di Indonesia masih sangat terbatas. Penyakit ginjal adalah penyakit yang memang harus dikenali dan diwaspadai sejak dini oleh setiap orang. Ginjal adalah organ penting dalam tubuh, dimana ia berperan sebagai alat filtrasi yang berfungsi untuk mengeluarkan kelebihan garam, air, dan asam. Berdasarkan data tahun 2013, hipertensi masih menjadi penyebab utama penyakit ginjal tahap akhir atau stadium lima yang membutuhkan terapi pengganti ginjal. Indikator peningkatan penyakit ginjal ini dihitung berdasarkan hitungan prevalensi (jumlah keseluruhan kasus penyakit yg terjadi pada suatu waktu tertentu di suatu wilayah). Jika penduduk Indonesia sekitar 240 juta jiwa, maka jumlah pasien yang saat ini menderita ginjal kronik stadium lima sebanyak 96 ribu orang (Djibril, 2015)
Pada praktiknya, penanganan masalah kesehatan terutama penyakit ginjal belum terlaksana secara cepat dan efisien. Secara konvensional penanganan kesehatan dilakukan dengan cara memanfaatkan jasa medis dari dokter atau tenaga medis. Dimana dalam memanfaatkan jasa medis, pelayanannya terikat dengan waktu dan ketersediaan dokter atau tenaga medis yang ada. Waktu layanan hanya terbatas pada jam operasional dan tenaga medis yang tersedia juga terbatas untuk melayani banyaknya pasien yang harus ditangani, sehingga mengakibatkan adanya antrian diantara pasien. Hal itu pula yang mendorong masyarakat untuk enggan melakukan pemeriksaan atau penanganan terhadap gangguan penyakitnya terutama penyakit ginjal.
Pemanfaatan teknologi informasi terutama sistem pakar dapat membantu permasalahan keterbatasan tenaga medis terutama dokter untuk melakukan diagnosa awal. Sistem Pakar (Expert System) adalah sistem yang berusaha mengadopsi pengetahuan manusia ke komputer, agar komputer dapat
2
menyelesaikan masalah seperti yang biasa dilakukan oleh para ahli. Dengan mengimplementasikan sistem pakar ke dalam komputer, dapat menghasilkan beberapa manfaat seperti keakurasian, kecepatan, dan dapat diakses kapan pun. Banyak aktivitas pemecahan masalah yang dapat dilakukan sistem pakar, dalam hal ini yaitu diagnosis (Hartati & Iswanti, 2013)
Pemanfaatan sistem pakar sebagai media untuk membantu pekerjaan seorang dokter atau tenaga medis dalam mendiagnosa penyakit telah banyak dilakukan, diantaranya penelitian yang dilakukan oleh Kurniawan (2011) yang membangun sistem pakar berbasis web untuk diagnosa penyakit gigi dan mulut. Dimana dalam sistem tersebut merupakan tempat konsultasi pertama sebelum menindaklanjutinya dengan perawatan melalui dokter gigi menggunakan metode hirarki formula generete-and-test dalam program CLIPS. Penelitian ini juga menjadi pengembangan dari penelitian Kusuma (2011), dimana pada penelitian tersebut menghasilkan sistem pakar dengan 18 diagnosa penyakit mulut dan 40 gejala yang menyertainya dengan metode depth first search. Pada kedua penelitian tersebut membuat sistem yang menjadi rujukan pertama untuk melakukan diagnosa awal penyakit, namun tidak menjadi media perantara calon pasien terhadap dokter. Kelemahan penelitian-penelitian tersebut juga terletak pada basis sistem yang dibuat yaitu menggunakan basis desktop dan web yang membuat sistem hanya dapat diakses oleh masing-masing pengguna dan tidak ada sharing informasi secara cepat dan otonom antara penderita dengan dokter untuk dilakukan penanganan lebih lanjut.
Berdasarkan penelitian yang telah telah diuraikan sebelumnya, dimana banyak penelitian dilakukan mengaplikasikan sistem pakar yang didominasi oleh aplikasi berbasis desktop dan web. Saat ini perkembangan aplikasi serupa mengarah pada pengembangan aplikasi berbasis multiplatform. Salah satu jenis aplikasi multiplatform yang banyak dipakai saat ini adalah instant messenger. Instant messenger merupakan salah satu pengaplikasian paket aplikasi yang populer dan dapat ditambahkan berbagai fitur didalamnya. Selain sebagai media komunikasi chatting, instant messenger juga dapat digunakan sebagai media berbagai kegiatan,
3
salah satunya dapat diimplementasikanya sistem pengambil keputusan di dalamnya (Witts, 2009)
Sejak munculnya berbagai macam aplikasi instant messenger LINE, WhatsApp, BlackBerry Messenger (BBM), Telegram dan lainnya, angka pengguna layanan messenger di Indonesia terus meningkat. Pengguna instant messenger di Indonesia pada 2014 tercatat sebanyak 37,6 juta pengguna, meningkat di 2015 sebanyak 52,9 juta pengguna, 2016 sebanyak 62,6 juta pengguna dan diprediksikan akan terus meningkat pada 2017 (72,5 juta pengguna), 2018 (81,7 juta) dan 2019 sebanyak 91,6 juta pengguna (Haryanto, 2016). Telegram messenger adalah salah satu yang populer saat ini. Aplikasi pesan multiplatform (perangkat seluler Android, iOS, Windows Phone, Ubuntu Touch) dan sistem perangkat komputer (Windows, OS X, Linux) ini dapat mengirim pesan dalam bentuk teks, suara, gambar, video, dan sebagainya. Pada perkembangannya muncul fitur chatbot yang dapat diimplementasikan pada aplikasi instant messenger Telegram (Telegram LLP, 2017). Chatbot adalah sebuah program komputer yang dirancang untuk mensimulasikan sebuah percakapan atau komunikasi yang interaktif kepada pengguna (manusia) melalui bentuk teks, suara, dan atau visual. Percakapan yang terjadi antara komputer dengan manusia merupakan bentuk respon dari program pemindaian kata kunci yang telah dideklarasikan pada database program pada komputer yang memanfaatkan penerapan artificial intelligence (Puspita, dkk., 2012).
Dalam penerapan sistem pakar, terdapat banyak metode yang dapat digunakan, salah satu metode yang populer digunakan adalah metode forward chaining. Metode forward chaining adalah metode pencarian atau teknik pelacakan ke depan yang dimulai dengan informasi yang ada dan penggabungan rule untuk menghasilkan suatu kesimpulan atau tujuan. Proses ini dilanjutkan dengan sampai mencari goal atau tidak ada lagi aturan premisnya cocok dengan fakta yang diketahui (Russell & Norvig, 2010). Selain itu penerapan sistem pakar juga dapat didukung dengan pembuktian kepercayaan fakta terhadap aturan premisnya. Salah satu metode yang banyak digunakan adalah certainty factor (Sauro, 2011).
4
Dengan penjabaran di atas maka mendorong penulis untuk membangun “Sistem Pakar Untuk Menentukan Diagnosa Awal Penyakit Ginjal Menggunakan Metode Forward Chaining dan Memanfaatkan Media Konsultasi Berbasis Instant Messenger” yang menggunakan pembaruan teknologi diantaranya memanfaatkan instant messaging yaitu Telegram API beserta kemampuan chatbot-nya dan menggunakan metode forward chaining dan didukung dengan sistem pembuktian tingkat kepercayaan certainty factor. Dari sisi dokter, bot dapat menyimpan data interaksi dan data hasil yang disimpan ke server database yang nantiya akan ditampilkan dalam bentuk sebuah interface web. Diharapkan sistem ini dapat menjadi solusi pengembangan sistem pakar yang telah ada sebelumnya dan menjadi sistem pakar yang dapat dimanfaatkan menjadi media yang membantu konsultasi pasien maupun membantu peran dokter melakukan diagnosa awal secara cepat yang akhirnya dapat menjadi rujukan dan membantu pasien melakukan reservasi pemeriksaan lebih lanjut.
1.2 Rumusan Masalah
Berdasarkan latar belakang yang telah diuraikan di atas maka dapat dirumuskan beberapa masalah :
1. Bagaimana merancang dan membangun sistem pakar untuk diagnosa penyakit ginjal dalam pelayanan diagnosa awal?
2. Bagaimana menerapkan Telegram chatbot sebagai alternatif media konsultasi penyakit dalam melakukan diagnosa awal penyakit?
1.3 Tujuan Penelitian
Adapun tujuan dari penelitian ini adalah mengembangkan aplikasi sistem pakar diagnosa awal penyakit ginjal menggunakan metode forward chaining dan certainty fector dalam sebuah aplikasi multiplatform berupa chatbot dalam aplikasi instant messenger Telegram.
5
1.4 Manfaat Penelitian
Manfaat dari penelitian ini adalah sebagai berikut:
1. Membantu mempermudah proses pemeriksaan atau diagnosa kesehatan untuk mendapatkan diagnosa awal.
2. Mengembangkan wawasan mengenai penerapan chatbot dalam Telegram messenger.
3. Menghasilkan sistem chatbot yang dapat menjadi media konsultasi dan diagnosa awal pemeriksaan kesehatan dalam Telegram messenger.
1.5 Batasan Masalah
Untuk memperjelas arah dari pembahasan penelitian ini, maka diberikan batasan masalah meliputi:
1. Sistem yang diimplementasikan menggunakan sistem pakar untuk mendiagnosa penyakit ginjal.
2. Analisa penyakit ginjal dibatasi dengan 8 jenis penyakitnya. 3. Instant Messenger yang digunakan berbasis Telegram messenger. 4. Pola penelusuran sistem pakar menggunakan metode forward chaining.
5. Metode certainty factor digunakan untuk menentukan tinggakat kepastian setiap hasil diagnosa sistem.
6. Sistem ini akan dibangun dalam multiplatform sebagai interface calon pasien dan web sebagai interface report dokter.