1 Pengembangan E Anamnesis Berdasarkan Sympthom Berbasis ICD 10 E Anamnesis HIS Gunadarma A. Muslim, A. B. Mutiara, A. L. Prihatin, A. Suhendra, T. Os...
Pengembangan E‐Anamnesis Berdasarkan Sympthom Berbasis ICD 10
E‐Anamnesis HIS‐Gunadarma
A. Muslim, A. B. Mutiara, A. L. Prihatin, A. Suhendra, T. Oswari
2014
Penerbit Gunadarma
Pengembangan E‐Anamnesis Berdasarkan Sympthom Berbasis ICD 10
E‐Anamnesis HIS‐Gunadarma
A. Muslim, A. B. Mutiara, A. L. Prihatin, A. Suhendra, T. Oswari
Penerbit Gunadarma
[E‐ANAMNESIS HIS‐GUNADARMA]
Pengembangan E‐Anamnesis Berdasarkan Sympthom Berbasis ICD 10 ( E‐Anamnesis HIS‐Gunadarma )
Penyusun
: A. Muslim, A. B. Mutiara, A. L. Prihatin, A. Suhendra, T. Oswari
Desain
: A. L. Prihatin
Desain dan Layout
: A. Muslim
Diterbitkan pertama kali oleh Universitas Gunadarma Hak Cipta dilindungi Undang‐Undang Depok, Agustus 2014 ISBN 978‐602‐9438‐31‐4
‐ 2 ‐
[PENGEMBANGAN E‐ANAMNESIS BERDASARKAN SYMPTHOM]
KATA PENGANTAR Puji syukur kepada Allah SWT yang telah memberikan rahmat, hidayah, pencerahan, dan kekuatan sehingga Buku Pengembangan berikut Petunjuk Penggunaan Situs Open EHR Anamnesis System (E‐Anamnesis) Gunadarma ini dapat diselesaikan dengan lancar. Buku petunjuk penggunaan ini merupakan bagian dari Pengembangan Sistem Pencarian Penyakit Berdasarkan Sympthom Berbasis ICD 10. Buku Pengembangan dan Petunjuk Penggunaan situs E‐Anamnesis ini berisikan i) landasan teori, metode, analisa dan perancangan situs E‐ Anamnesis dan ii) semua panduan untuk menggunakan fasilitas‐fasilitas yang tersedia dalam situs. Situs ini menyediakan fasilitas‐fasilitas yang dapat digunakan dalam pencarian jenis penyakit berdasarkan gejala yang dialami pasien.
Akhirnya, kami menyadari bahwa Buku Pengembangan dan Petunjuk
Penggunaan Situs E‐Anamnesis ini masih kurang sempurna dalam mengakomodir semua yang dapat dilakukan oleh situs itu sendiri dan keinginan pengguna. Oleh karenanya segala kritik yang membangun dan saran untuk perbaikan dan kebaikan sangat kami harapkan. Semoga buku pengembangan dan panduan ini dapat membantu pengguna dalam i) memahami prinsip sistem pakar dan ii) mengoperasikan situs E‐Anamnesis ini. Depok, Agustus 2014 A. Muslim, A. B. Mutiara, L. A. Prihatin , A. Suhendra, T. Oswari
‐ 3 ‐
[E‐ANAMNESIS HIS‐GUNADARMA]
DAFTAR ISI KATA PENGANTAR
- 3 -
DAFTAR ISI
- 4 -
BAB I. PENDAHULUAN
- 7 -
BAB II. DEFINISI, KONSEP DAN TOOLS
- 9 -
2.1. SISTEM PAKAR 2.2. PHP 2.3. MYSQL 2.4. XAMPP 2.5. WEB SERVICE 2.6. JSON 2.7. ALGORITMA 2.8. ICD 10 2.8.1. STRUKTUR DASAR DAN PRINSIP KLASIFIKASI ICD 2.9. OPEN EHR 2.10. MACROMEDIA FLASH 2.11. METODE PENGEMBANGAN SISTEM WATERFALL 2.11.1. TAHAP PENGEMBANGAN SISTEM WATERFALL
HALAMAN LOGIN DOKTER HALAMAN HOME UNTUK DOKTER HALAMAN ONTOLOGI HALAMAN KONSULTASI HALAMAN DOKTER HALAMAN HASIL KONSULTASI HALAMAN DATA PENYAKIT
DAFTAR PUSTAKA
- 61 -
‐ 5 ‐
[E‐ANAMNESIS HIS‐GUNADARMA]
‐ 6 ‐
[PENGEMBANGAN E‐ANAMNESIS BERDASARKAN SYMPTHOM]
BAB I. PENDAHULUAN Pengembangan Sistem Informasi Kesehatan (SIK) online berbasis Open EHR adalah sangat penting dam sudah saatnya dikembangkan di Indonesia agar tidak jauh tertinggal dengan SIK online yang ada dinegara‐negara tetangga. Teknologi SIK online sangat bermanfaat bagi peningkatan produktifitas, efisiensi, kualitas pelayanan, standar praktek kedokteran yang baik dan benar, dokumentasi yang auditable dan accountable, meningkatkan kinerja manajemen rumah sakit dan data rekam medis yang terintegrasi, mempercepat akses dan proses pertukaran data medical record pasien antar rumah sakit, puskesmas dan klinik. Sehingga pada akhirnya tercapai visi dan misi dalam mewujudkan Indonesia Sehat 2015. Pada perkembangan sistem informasi kesehatan ini terdapat aplikasi pendukung yaitu aplikasi pencarian penyakit berdasarkan metode anamnesis dan pemetaan ICD‐10 yang berguna untuk memberikan informasi dalam pendekatan awal pada diagnosa penyakit dan data yang dibutuhkan anamnesis berbasis website. Ada pun Aplikasi pencarian penyakit ini menggunakan suatu metode yaitu metode Anamnesis dengan algoritma matching. Aplikasi pencarian penyakit berdasarkan metode anamnesis berbasis ICD10 tersebut terdapat fasilitas parsing data untuk web service informasi rekam medis bagi pasien yang merupakan bagian dari Sistem Informasi Kesehatan (SIK) online. Adapun metode yang dilakukan pada pengembangan aplikasi ini yaitu dengan : a) Mengumpulkan data dan informasi dari buku/e‐book, dan internet yang dapat menunjang pembuatan aplikasi sistem pakar berbasis website ini.
‐ 7 ‐
[E‐ANAMNESIS HIS‐GUNADARMA]
b) Mencari informasi tentang metode diagnosa yang dilakukan oleh dokter dengan mewancarai Dr.H. Yuliono Amrie, SP dan Prof. Dr. Dr. Johan Harlan. c) Proses perancangan database yang digunakan aplikasi untuk media penyimpanan data d) Perancangan rules menggunakan algoritma untuk mengolah data knowledge base yang telah didapat dari proses pengumpulan data supaya aplikasi dapat mendiagnosa penyakit sesuai gejala yang diinputkan oleh pengguna. e) Pembuatan aplikasi akan dibangun setelah proses perancangan aplikasi selesai. Aplikasi ini dibangun pada platform computer yang telah terinstalasi bahasa pemrograman PHP dan database MySQL. f) Aplikasi yang sudah dirancang sebelumnya akan diuji terlebih dahulu. Aplikasi yang telah mengalami proses uji coba dan berhasil, maka selanjutnya akan diimplementasikan ke dalam PC/Laptop. Untuk selengkapnya tahapan‐tahapan di atas akan dijelaskan pada Bab III Metode, Analisis dan Perancangan.
‐ 8 ‐
[PENGEMBANGAN E‐ANAMNESIS BERDASARKAN SYMPTHOM]
BAB II. DEFINISI, KONSEP DAN TOOLS 2.1. Sistem Pakar Sistem pakar adalah suatu sistem komputer yang menyamai kemampuan pengambilan keputusan dari sorang pakar. Kata menyamai tersebut memiliki pengertian bahwa system pakar diharapkan dapat bekerja dalam semua hal seperti halnya seorang pakar. Sistem pakar merupakan salah satu cabang dari Artificial Intelligent yang membuat penggunaan secara luas pengetahuan yang khusus untuk penyelesaian masalah tingkat manusia yang pakar dalam bidang tertentu.
Gambar 2.1 Struktur Sistem Pakar Secara umum pengertian sistem pakar adalah sistem yang berusaha mengadopsi pengetahuan manusia ke komputer yang dirancang untuk memodelkan kemampuan menyelesaikan masalah seperti layaknya seorang pakar. 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 di bidangnya. Sistem pakar juga akan dapat membantu aktivitas para pakar sebagai asisten yang berpengalaman dan mempunyai asisten yang berpengalaman dan mempunyai pengetahuan yang dibutuhkan. Dalam penyusunannya, sistem pakar mengkombinasikan kaidah‐kaidah penarikan kesimpulan (inference
‐ 9 ‐
[E‐ANAMNESIS HIS‐GUNADARMA]
rules) dengan basis pengetahuan 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 [1].
2.2. PHP PHP (Hypertext Preprocessor) merupakan secara umum dikenal sebagai bahasa pemrograman script script yang membuat dokumen HTML secara on the fly yang dieksekusi di server website,dokumen HTML yang dihasilkan suatu aplikasi bukan dokumen HTML yang dibuat dengan menggunakan editor HTML, dikenal juga sebagai bahasa pemrograman server side. Dengan menggunakan PHP maka maintenance suatu situs website menjadi lebih mudah. Proses update data yang dapat dilakukan menggunakan aplikasi yang dapat dibuat dengan menggunakan script PHP. PHP/FI merupakan nama awal dari PHP. PHP‐ Personal Home Page,FI adalah Form Interface. Dibuat pertama kali oleh Rasmus Lerdoff. PHP, awalnya merupakan program CGI yang dikhususkan untuk menerima input melalui form yang ditampilkan dalam browser web. Software ini disebarkan dan dilisensikan sebagai perangkat lunak Open Source. Integrasi PHP dengan server web dilakukan dengan teknik CGI, FastCGI, dan modul server web. Teknik CGI dan FastCGI memisahkan antara server web dan PHP, sedangkan modul server web menjadi PHP sebagai bagian dari server web. [8]
2.3. MySQL MySQL adalah Sebuah program database server yang mampu menerima dan mengirimkan datanya sangat cepat, multi user serta menggunakan peintah dasar SQL (Structured Query Language). MySQL merupakan dua bentuk lisensi, yaitu FreeSoftware dan Shareware. MySQL yang biasa kita gunakan adalah MySQL FreeSoftware yang berada dibawah Lisensi GNU/GPL (General Public License) MySQL Merupakan sebuah database server yang free, artinya kita ‐ 10 ‐
[PENGEMBANGAN E‐ANAMNESIS BERDASARKAN SYMPTHOM]
bebas menggunakan database ini untuk keperluan pribadi atau usaha tanpa harus membeli atau membayar lisensinya. MySQL pertama kali dirintis oleh seorang programmer database bernama Michael Widenius . Selain database server, MySQL juga merupakan program yang dapat mengakses suatu database MySQL yang berposisi sebagai Server, yang berarti program kita berposisi sebagai Client. Jadi MySQL adalah sebuah database yang dapat digunakan sebagai Client maupun server. Database MySQL merupakan suatu perangkat lunak database yang berbentuk database relasional atau disebut Relational Database Management System (RDBMS) yang menggunakan suatu bahasa permintaan yang bernama SQL (Structured Query Language). [9]
2.4. XAMPP XAMPP merupakan singakata dari X (empat sistem operasi apapun), Apache, MySQL, PHP, Perl. XAMPP merupakan tool yang menyediakan paket perangkat lunak ke dalam satu buah paket. Dalam paketnya sudah tersedia apache web server, MySQL (database), PHP (server side scripting), Perl, FTP server, PHPMyAdmin dan berbagai pustaka bantu lainnya. Dengan menginstall XAMPP maka tidak perlu lagi melakukan instalasi dan konfigurasi web server Apache , PHP, MySQL secara manual. XAMPP akan menginstalasi dan mengkonfigurasikan secara otomatis. XAMPP tersedia untuk Linux, Windows, MAC OS X maupun Solaris sehingga sangat memudahkan web server multiplatform. Selain itu XAMPP adalah 100% open source, tersedia bebas dan legal [6].
2.5. Web Service World Wide Web Consortium (W3C) adalah organisasi yang mengembangkan standar‐standar dalam dunia web, mendefinisikan Web Service sebagai perangkat lunak sistem yang dirancang untuk mendukung interaksi antara mesin dengan mesin melalui jaringan. Web Service merupakan aplikasi yang dibuat agar dapat dipanggil atau diakses oleh aplikasi lain melalui internet maupun intranet dengan menggunakan XML sebagai format pengiriman pesan.
‐ 11 ‐
[E‐ANAMNESIS HIS‐GUNADARMA]
Web service berjalan di port 80 yang merupakan port standar HTTP, dengan demikian bisa mengurangi resiko terblokir oleh firewall [10].
2.6. JSON JSON (JavaScript Object Notation) adalah format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer. Format ini dibuat berdasarkan bagian dari Bahasa Pemprograman JavaScript, Standar ECMA‐262 Edisi ke‐3 ‐ Desember 1999. JSON merupakan format teks yang tidak bergantung pada bahasa pemprograman apapun karena menggunakan gaya bahasa yang umum digunakan oleh programmer keluarga C termasuk C, C++, C#, Java, JavaScript, Perl, Python dll. Oleh karena sifat‐sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran‐data.
2.7. Algoritma Algoritma adalah solusi dari suatu masalah yang harus dipecahkan dengan menggunakan komputer. Algoritma harus dibuat secara runut agar komputer mengerti dan mampu mengeksekusinya. Analisis kasus sangat dibutuhkan dalam membuat sebuah algoritma, misalnya proses apa saja yang sekiranya dibutuhkan untuk menyelesaikan masalah yang harus diselesaikan. Algoritma harus dipikirkan secara logika dipikirkan manusia dengan pemikiran yang lebih mudah dimengerti (menggunakan gambaran – gambaran tertentu di dalam pikiran) agar dapat lebih mudah dimengerti oleh manusia dan dapat dengan mudah dipetakan (diubah) menjadi bahasa pemrograman untuk dieksekusi oleh computer. Misal secara logika kita dapat membayangkan sebuah solusi harus diselesaikan pada sebuah tanah lapang yang kosong. Lalu kita harus melakukan mengupas kentang ditanah lapang itu, maka yang harus kita lakukan secara runut adalah sebagai berikut : 1. Membuat kotak kosong di tanah lapang untuk menyimpan kentang yang akan dikupas ‐ 12 ‐
[PENGEMBANGAN E‐ANAMNESIS BERDASARKAN SYMPTHOM]
2. Mengisi kotak kosong untuk kentang dengan kentang yang akan dikupas 3. Membuat kotak kosong di tanah lapang untuk menyimpan pisau yang akan digunakan untuk mengupas kentang 4. Mengisi kotak kosong untuk pisau(pisau yang akan digunakan untuk mengupas kentang) 5. Setelah pisau dan kentang telah ada di tanah lapang, maka barulah kita bisa melakukan proses mengupas kentang Kurang lebihnya seperti itulah contoh algoritma dalam penyelesaian contoh kasus tersebut [16].
2.8. ICD 10 ICD 10 singkatan dari International Statistical Classification of Disease and Related Health Problems Tenth Revision (Klasifikasi Statistik Internasional tentang Penyakit dan masalah Kesehatan Revisi 10). Klasifikasi penyakit dapat didefinisikan sebagai suatu sistem penggolongan (kategori) dimana kesatuan penyakit disusun berdasarkan kriteria yang telah ditentukan. ICD mempunyai tujuan untuk mendapatkan rekaman sistematik, melakukan analisa, interpretasi serta membandingkan data morbiditas dan mortalitas dari negara yang berbeda atau antar wilayah dan pada waktu yang berbeda. ICD digunakan untuk menterjemahkan diagnosa penyakit dan masalah kesehatan dari kata‐kata menjadi kode alfanumerik yang akan memudahkan penyimpanan, mendapatkan data kembali dan analisa data [18].
2.8.1. Struktur Dasar dan Prinsip Klasifikasi ICD Ciri utama pada ICD‐10 adalah koding alfanumerik, berupa satu huruf yang diikuti dengan 3 angka untuk tingkatan 4 karakter. ICD 10 berisi pedoman untuk merekam dan memberi kode penyakit, dan disajikan dalam 3 buku, yaitu :
‐ 13 ‐
[E‐ANAMNESIS HIS‐GUNADARMA]
1. Volume I TABULAR LIST (List Tabulasi) a) Laporan Konferensi Internasional untuk revisi 10 b) Klasifikasi tersebut pada tiga dan empat – karakter level c) Klasifikasi dari morfologi dan neoplasma d) List Tabulasi khusus untuk mortalitas dan morbiditas, definisi dan ketentuan nomenklatur. 2. Volume II BUKU PETUNJUK (INSTRUCTION MANUAL) a) Pengenalan b) Penjelasan c) Bagaimana menggunakan ICD d) Sertifikat Kesehatan dan Peraturannya e) Presentasi Data f) Sejarah Perubahan ICD 3. Volume III a) Indeks Penyakit b) Indeks Penyebab Luar c) Indeks Obat‐obatan Volume ini memuat seluruh indeks, juga termasuk indeks untuk list tabulasi untuk 4 karakter sub kategori yang ada pada volume I. a. Buku I berisi klasifikasi utama yang terdiri dari 22 bab b. Buku II berisikan tentang petunjuk penggunaan ICD c. Buku III berisikan indeks alphabet klasifikasi [18].
2.9. Open EHR OpenEHR merupakan spesifikasi standar terbuka dalam informatika kesehatan yang menggambarkan manajemen dan penyimpanan, pencarian dan ‐ 14 ‐
[PENGEMBANGAN E‐ANAMNESIS BERDASARKAN SYMPTHOM]
pertukaran data kesehatan dalam rekam medis elektronik. Dalam OpenEHR, semua data kesehatan untuk seseorang disimpan dalam satu riwayat hidup, vendor bersifat independen, dan berpusat pada satu orang. Spesifikasi OpenEHR mencakup informasi dan model layanan untuk rekam medis elektronik, demografi, alur kerja klinis dan archetype. Model Informasi Struktur Data (Data Structure Information Model) a) Prinsip desain yang utama untuk model struktur data adalah kebutuhan memberikan spesifikasi yang jelas pada struktur logis dengan menggunakan representasi generik yang sama seperti hirarki. Struktur logis termasuk tabel, daftar, rangkai pohon, dan konsep sejarah. Representasi dari struktur logis itu dapat sebagai representasi murni atau sebuah arti semantik, hal ini menjadi penting, karena (1) Untuk proses interoperabilitas sistem, sebagai contoh struktur daftar tabel logis dan daftar sejarah dikodekan kedalam representasi generik yang sama oleh pengirim dan penerima informasi. (2) Memudahkan pengembang perangkat lunak secara eksplisit mengambil struktur logis sebagai antarmuka fungsional yang universal. (3) Memudahkan proses informasi oleh penerima menggunakan antarmuka fungsional dengan penyajian data yang sesuai tujuan dan data di layar komputer pemakai yang sama. b) Model Informasi Tipe Data (Data Type Information Model) Spesifikasi jenis data yang disajikan mendefinisikan jenis data klinis dan ilmiah seperti dalam model OpenEHR yang disesuaikan dengan kondisi nyata Indonesia. Hormonisasi tipe data antar model informasi yang digunakan oleh setiap instansi layanan kesehatan terkait, merupakan hal penting untuk mengurangi pekerjaan konversi dan potensi kesalahan penafsiran antar bagian atau instansi layanan kesehatan [21]. Tipe data yang kami bangun bersifat universal dan dapat juga dipergunakan oleh model informasi lainnya, seperti yang didefiniskan oleh OpenEHR, sebagai contoh model demografis dan terminologis.
‐ 15 ‐
[E‐ANAMNESIS HIS‐GUNADARMA]
Jenis tipe data ini merupakan turunan dari tipe data model referensi yang digunakan oleh GEHR, Sinapsis dan SynEX, CEN dan HL7v3. c) Templet Model Objek (Template Object Model) Templet Model Objek merupakan lapisan ketiga diatas archetype dan model referensi dalam arsitektur aplikasi OpenEHR seperti pada gambar 2.6. (Arsitektur Semantik OpenEHR). Arsitektur ini menyediakan sarana untuk pendefinisian kelompok archetype dan data untuk tujuan bisnis layanan kesehatan. Selain itu juga menyediakan terminologi khusus yang menghasilkan artefak, tipe, tampilan layar dan skema pesan.
2.10. Macromedia Flash Software untuk membuat animasi yang biasanya digunakan untuk berbagai keperluan di Internet. Misalnya, untuk membuat situs, banner iklan, logo yang beranimasi,serta animasi pelengkap lainnya. Flash dikembangkan dari suatu aplikasi yang bernama SmartSketch. SmartSketch sendiri merupakan aplikasi untuk menggambar yang diluncurkan pada 1994 oleh FutureWave, bukan oleh Macromedia. Aplikasi ini cukup sukses di tengah pasar aplikasi menggambar yang dikuasai oleh Illustrator dan Freehand. Pada musim panas 1995, SmartSketch memperoleh masukan dari penggunanya agar SmartSketch dapat digunakan untuk membuat animasi. FutureWave sangat tertarik untuk membuat suatu aplikasi untuk membuat animasi. Namun FutureWave agak pesimis mengenai pemasarannya, karena pada saat itu animasi hanya didistribusikan dengan VHS atau CD‐ROM. Kemudian World Wide Web mulai mengembangkan sayapnya, dimana grafik dan animasi menjadi vital. FutureWave melihat kesempatan ini untuk memasarkan aplikasi yang mampu menghasilkan animasi dua dimensi. Kemudian SmartSketch dimodifikasi sehingga mampu menghasilkan animasi dengan menggunakan pemrograman Java sebagai player‐nya. Namanya juga sedikit dimodifikasi menjadi SmartSketch Animator. Namun, nama SmartSketch Animator dirasakan kurang menjual, sehingga nama tersebut diubah menjadi CelAnimator. Tetapi kemudian, karena kuatir dicap sebagai aplikasi pembuat kartun, CelAnimator diubah menjadi Future Splash Animator. ‐ 16 ‐
[PENGEMBANGAN E‐ANAMNESIS BERDASARKAN SYMPTHOM]
Walaupun dengan ide yang cukup revolusioner, FutureSplash sulit populer. Oleh karena itu FutureWave mendekati Adobe. Namun karena demo FutureSplash yang kurang memuaskan dengan lambatnya animasi, Adobe menolak memproduksi FutureSplash. Baru pada November 1996, Macromedia mendekati FutureWave untuk bekerja sama. FutureWave menyetujui tawaran Macromedia. Kemudian FutureSplash Animator diubah namanya menjadi Macromedia Flash 1.0 [19].
2.11. Metode Pengembangan Sistem Waterfall Metode waterfall merupakan metode yang sering digunakan oleh penganalisa sistem pada umumnya. Inti dari metode waterfall adalah pengerjaan dari suatu sistem dilakukan secara berurutan atau secara linear. Jadi jika langkah ke‐1 belum dikerjakan, maka langkah 2 tidak dapat dikerjakan. Jika langkah ke‐2 belum dikerjakan maka langkah ke‐3 juga tidak dapat dikerjakan, begitu seterusnya. Secara otomatis langkah ke‐3 akan bisa dilakukan jika langkah ke‐ 1 dan ke‐2 sudah dilakukan.
Gambar 2.16 Skema Waterfall
‐ 17 ‐
[E‐ANAMNESIS HIS‐GUNADARMA]
2.11.1. Tahap Pengembangan Sistem Waterfall Secara garis besar metode waterfall mempunyai langkah‐langkah sebagai berikut: Analisa, Desain, Penulisan, Pengujian dan Penerapan serta Pemeliharaan. 1. Analisa Kebutuhan Langkah ini merupakan analisa terhadap kebutuhan sistem. Pengumpulan data dalam tahap ini bisa melakukan sebuah penelitian, wawancara atau studi literatur. Sistem analis akan menggali informasi sebanyak‐banyaknya dari user sehingga akan tercipta sebuah sistem komputer yang bisa melakukan tugas‐tugas yang diinginkan oleh user tersebut. Tahapan ini akan menghasilkan dokumen user requirment atau bisa dikatakan sebagai data yang berhubungan dengan keinginan user dalam pembuatan sistem. Dokumen ini lah yang akan menjadi acuan sistem analis untuk menerjemahkan ke dalam bahasa pemrogram. 2. Desain Sistem Tahapan dimana dilakukan penuangan pikiran dan perancangan sistem terhadap solusi dari permasalahan yang ada dengan menggunakan perangkat pemodelan sistem seperti diagram alir data (data flow diagram), diagram hubungan entitas (entity relationship diagram) serta struktur dan bahasan data. 3. Penulisan Kode Program Penulisan kode program atau coding merupakan penerjemahan design dalam bahasa yang bisa dikenali oleh komputer. Dilakukan oleh programmer yang akan meterjemahkan transaksi yang diminta oleh user. Tahapan ini lah yang merupakan tahapan secara nyata dalam mengerjakan suatu sistem. Dalam artian penggunaan komputer akan dimaksimalkan dalam tahapan ini. Setelah pengkodean selesai maka akan dilakukan testing terhadap sistem yang telah dibuat tadi. Tujuan testing adalah
‐ 18 ‐
[PENGEMBANGAN E‐ANAMNESIS BERDASARKAN SYMPTHOM]
menemukan kesalahan‐kesalahan terhadap sistem tersebut dan kemudian bisa diperbaiki. 4. Pengujian Program Tahapan akhir dimana sistem yang baru diuji kemampuan dan keefektifannya sehingga didapatkan kekurangan dan kelemahan sistem yang kemudian dilakukan pengkajian ulang dan perbaikan terhadap aplikasi menjadi lebih baik dan sempurna. 5. Penerapan Program dan Pemeliharaan Perangkat lunak yang sudah disampaikan kepada pelanggan pasti akan mengalami perubahan. Perubahan tersebut bisa karena mengalami kesalahan karena perangkat lunak harus menyesuaikan dengan lingkungan (periperal atau sistem operasi baru) baru, atau karena pelanggan membutuhkan perkembangan fungsional [22].
‐ 19 ‐
‐ 20 ‐
[E‐ANAMNESIS HIS‐GUNADARMA]
[PENGEMBANGAN E‐ANAMNESIS BERDASARKAN SYMPTHOM]
BAB III. METODE, ANALISIS DAN PERANCANGAN 3.1. Metode Penelitian Dalam pembuatan dan pengembangan suatu sistem terdapat suatu metode penelitian yang merupakan prosedur yang digunakan untuk memecahkan suatu masalah yang sedang dihadapi. Adapun metode ilmiah yang dilakukan pada penelitian ini yaitu dengan menggunakan metode pengembangan rekayasa perangkat lunak Waterfall. Metode ini merupakan metode yang sering digunakan oleh penganalisa sistem pada umumnya. Inti dari metode Waterfall adalah pengerjaan dari suatu sistem dilakukan secara berurutan atau secara linear. Jadi jika langkah satu belum dikerjakan maka tidak akan bisa melakukan pengerjaan langkah 2, 3 dan seterusnya. Secara otomatis tahapan ke‐3 akan bisa dilakukan jika tahap ke‐1 dan ke‐2 sudah dilakukan.
Gambar 3.1. Langkah‐langkah metode waterfall pada E‐Expert
‐ 21 ‐
[E‐ANAMNESIS HIS‐GUNADARMA]
3.2. Perencanaan Tahap awal pembuatan aplikasi E‐Expert ini adalah perencanaan yang mengacu pada rumusan masalah yang telah dibahas di bab sebelumnya. Perencanaan dalam pembuatan aplikasi ini adalah yaitu : a) Aplikasi yang dibuat berbasis website b) Aplikasi dapat mendiagnosa penyakit berdasarkan informasi keluhan yang diberikan pasien kepada dokter dengan metode diagnosa anamnesis dan algoritma matching untuk mendapatkan persentase kemungkinan penyakit yang nanti digunakan sebagai output. c) Dalam aplikasi terdapat ontologi sympthom ICD 10 mulai dari kode depan R00 sampai R09 d) Pada aplikasi terdapat dua macam hak akses yaitu 1. Pengguna biasa 2. Dokter rumah sakit e) Data pasien dan dokter rumah sakit merupakan hasil dari parsing data dari website Open EHR f) Data penyakit dan informasi yang dibutuhkan basis pengetahuan yang lain yang ada pada aplikasi dikelola oleh dokter g) Penyimpanan data yang dibutuhkan oleh aplikasi menggunakan database MySQL. h) Hasil dari diagnosa menggunakan aplikasi ini akan di encode yang akan digunakan oleh website Open EHR untuk record. i) Webservice yang terdapat pada aplikasi ini menggunakan JSON dengan metode REST
3.3. Pengumpulan Data Untuk mengimplementasikan perencanaan yang sudah dibahas sebelumnya, langkah selanjutnya untuk pembuatan aplikasi E‐Expert adalah mengumpulkan data, data yang dimaksud yaitu : ‐ 22 ‐
[PENGEMBANGAN E‐ANAMNESIS BERDASARKAN SYMPTHOM]
a) ICD 10 kode R00 sampai R09 b) Data beberapa penyakit beserta informasinya. c) Mencari informasi tentang metode diagnosa anamnesis
3.4. Analisis Data Pada pembuatan dan pengembangan aplikasi E‐Expert ini perlu adanya analisis, analisis yang dimaksud yaitu analisis terhadap data yang sudah dikumpulkan dan juga data penyakit beserta informasi dengan algoritma atau metode sistem diagnosa yang ada didalam aplikasi. Analisis data merupakan paparan data yang dibutuhkan untuk membangun aplikasi ini. Seperti struktur kode pada ICD10 yang nanti akan dibuat ontologi dan juga data beberapa penyakit yang akan dijadikan sebagai penguji sistem diagnosa dengan menggunakan metode anamnesis yang terdapat pada aplikasi E‐Expert. Seperti halnya contoh dengan data sebagai berikut: a) ICD 10 Kode R06 Abnormalities of breathing 1. R06 Abnormalities of breathing
R06.0 Dyspnea 1. R06.00 Unspecified 2. R06.01 Orthopnea 3. R06.02 Shortness of breath 4. R06.09 Other forms of dyspnea
R06.1 Stridor
R06.2 Wheezing
R06.3 Periodic breathing
R06.4 Hyperventilation
R06.5 Mouth breathing
R06.6 Hiccough
R06.7 Sneezing
‐ 23 ‐
[E‐ANAMNESIS HIS‐GUNADARMA]
R06.8 Other abnormalities of breathing 1.
R06.81 Apnea, not elsewhere classified
2.
R06.82 Tachypnea, not elsewhere classified
3.
R06.83 Snoring
4.
R06.89 Other abnormalities of breathing
R06.9 Unspecified abnormalities of breathing
Dari data ICD 10 kode R06 terdapat struktur antara macam penyakit atau gejala, untuk mereprentasikan struktur tersebut menggunakan ontologi yang ada pada aplikasi E‐Expert. a) Data penyakit demam berdarah dan tipes beserta sebagian informasi yang dibutuhkan untuk anamnesis, yaitu keluhan utama 1. Penyakit demam berdarah keluhan utamanya sebagai berikut:
Gelisah pada pagi,siang dan malam hari dan itu terjadi setiap hari
Pusing pada pagi,siang dan malam hari dan itu terjadi setiap hari
Nyeri tulang pada pagi,siang dan malam hari dan itu terjadi setiap hari
Lemas pada pagi,siang dan malam hari dan terjadi setiap hari
2. Penyakit tipes gejalanya sebagai berikut:
Meniggau pada malam hari dan terjadi setiap hari
Pusing pada pagi,siang dan malam hari dan itu terjadi setiap hari
Mual sampai muntah pada pagi,siang dan malam hari dan terjadi setiap hari
‐ 24 ‐
[PENGEMBANGAN E‐ANAMNESIS BERDASARKAN SYMPTHOM]
Lemas pada pagi,siang dan malam hari dan terjadi setiap hari
Dari contoh dua macam penyakit beserta keluhan utama tersebut, terdapat keluhan utama yang sama dan juga ada yang berbeda. Keluhan utama pada penyakit tersebut dan keluhan utama yang disampaikan oleh pasien akan menentukan hasil diagnosa penyakit menggunakan sistem diagnosa anamnesis dan algoritma matching
3.5. Perancangan Pada pembuatan aplikasi harus terdapat perancangan terlebih sebelum memasuki tahap implementasi sistem yang sesungguhnya. Perancangan dalam pembuatan aplikasi E‐Expert ini akan dibahas perancangan tentang ontologi ICD 10, sistem diagnosa penyakit dengan metode anamnesis, perancangan basis data, perancangan tampilan website dan juga perancangan elemen lainnya yang ada didalam sistem aplikasi E‐Expert ini.
3.5.1. Perancangan Sistem Diagnosa Dalam perancangan sistem diagnosa yang terdapat diaplikasi E‐Expert ini harus memperhatikan beberapa faktor antara lain adalah akuisisi pengetahuan, representasi pengetahuan, dan algoritma atau metode sistem diagnosa. 3.5.1.1. Akuisisi Pengetahuan Pada perancangan sistem diagnosa terlebih dahulu melakukan proses akuisisi pengetahuan terhadap seorang pakar. Pakar yang dimaksud dalam sistem diagnosa ini ini adalah dokter yang melakukan praktek dirumah sakit yang menggunakan aplikasi Open EHR dan sudah terdaftar juga didalam aplikasi tersebut. Dalam proses ini dokter dapat mengolah data penyakit informasi yang dibutuhkan untuk diagnosa dengan anamnesis didalam aplikasi E‐Expert yang nantinya tersebut digunakan sebagai knowledge pada sistem pakar untuk mendiagnosa penyakit yang dialami pasien.
‐ 25 ‐
[E‐ANAMNESIS HIS‐GUNADARMA]
3.5.1.2. Representasi Pengetahuan Dalam representasi pengetahuan dilakukan perbandingan‐perbandingan dari informasi yang diperoleh dari para pakar. Untuk membantu pengembangan prototype sistem pakar ini, maka pengetahuan yang diperoleh dalam bentuk table keputusan dahulu kemudian diproses lagi menjadi bentuk lain sesuai metode sistem pakar yang akan dipakai, contohnya dari bentuk table keputusan akan diproses melalui perhitungan jumlah informasi cocok dengan suatu penyakit Tabel keputusan mempermudah pembentukan aturan yang akan dijadikan basis pengetahuan (knowledge base) pada sistem pakar ini, maka dibentuklah tabel keputusan. Pembentukan tabel keputusan menghubungkan antara gejala‐gejala klinis dengan nama penyakit. Pada contoh tabel keputusan 3.1, keluhan utama dimasukan dalam tabel adalah keluhan utama dari penyakit. Kemudian dari keluhan utama dilakukan penilaian dengan memberikan tanda YES atau NO kepada penyakit yang keluhan utama tersebut. Dari hasil tabel keputusan ini maka dapat dilakukan perhitungan berdasarkan jumlah keluhan utama pada suatu penyakit. Berikut ini merupakan contoh dari tabel keputusan yang sudah diimplementasikan kedalam database mysql. Tabel 3.1. Tabel Keputusan
‐ 26 ‐
[PENGEMBANGAN E‐ANAMNESIS BERDASARKAN SYMPTHOM]
3.5.1.3. Metode Sistem Diagnosa Metode sistem diagnosa merupakan sub bab yang menjelaskan metode yang digunakan sistem diagnosa menggunakan metode anamnesis dan perhitungan persentase kemungkinannnya menggunakan algotirma matching yang ada didalam aplikasi. Sistem diagnosa penyakit tersebut sebagai suatu perangkat lunak yang dapat digunakan untuk mendapatkan informasi pendekatan awal diluar proses diagnosa penyakit dan pemeriksaan laboratorium pada pasien. a) Anamnesis adalah metode yang sering digunakan oleh dokter untuk mendapatkan informasi melalui percakapan dengan pasien. Informasi yang dimaksud adalah keluhan pasien, kebiasaan pasien, riwayat penyakit pasien dan riwayat penyakit keluarga/lingkungan tempat tinggal pasien. Metode ini digunakan untuk membantu mengarahkan proses diagnosa yang dilakukan oleh dokter kepada suatu penyakit yang mungkin diderita pasien.
Gambar 3.2. Skema Anamnesis
‐ 27 ‐
[E‐ANAMNESIS HIS‐GUNADARMA]
Pada gambar tersebut merupakan sistematika metode anamnesis. Pada proses diagnosa dengan menggunakan metode anamnesis terdapat 6 informasi yang harus didapat dari pasien yaitu: 1. Identitas pasien seperti nama, alamat, pekerjaan, usia dan semua data tentang pasien yang dibutuhkan untuk melakukan diagnosa 2. Keluhan utama, yaitu informasi yang menjelaskan keluhan yang menjadi penyebab pasien konsultasi dengan dokter 3. Riwayat penyakit sekarang, yaitu informasi yang menjelaskan tentang penyakit yang diderita oleh pasien saat konsultasi dengan dokter beserta frekuensi dan waktu penyakit itu dirasakan oleh pasien. 4. Riwayat penyakit dahulu, yaitu informasi yang menjelaskan tentang penyakit yang pernah diderita oleh pasien yang memungkinan penyakit itu diderita kembali oleh pasien. 5. Riwayat penyakit keluarga, yaitu informasi yang menjelaskan tentang penyakit keluarga atau lingkungan sekitar pasien tinggal. Memungkinan terjadi penyebaran penyakit menular atau pun turunan. 6. Riwayat kebiasaan pasien, yaitu informasi yang menjelaskan tentang kebiasaan pasien sehari‐hari. Memungkinkan karena kebiasaan tersebut pasien terjangkit suatu penyakit. Dari semua informasi dalam sistematika anamnesis tersebut, masing‐ masing terdapat basis pengetahuan terhadap suatu penyakit berdasarkan informasi yang ada didalam basis pengetahuan. Dalam diagnosa penyakit pada pasien, persentase tingkat kepercayaan metode anamnesis mencapai 70% terhadap suatu penyakit. Selebihnya bisa dipastikan dengan pemeriksaan fisik dan pemeriksaan penunjang yang persentase keduanya mencapai 30% [Dr.H.Yuliano Amrie.S.P]. ‐ 28 ‐
[PENGEMBANGAN E‐ANAMNESIS BERDASARKAN SYMPTHOM]
Gambar 3.3. Skema Pemeriksaan fisik
Gambar 3.4. Skema Pemeriksaan penunjang
Pemeriksaan penunjang merupakan suatu tahap yang bisa memastikan jika dokter belum mendapat kesimpulan diagnose yang cukup pada tahap anamnesis,pemeriksaan penunjang bersifat optional untuk dilakukan oleh dokter. Jika dokter sudah yakin dengan diagnosa pada tahap anamnesis maka pemeriksaan penunjang tidak perlu dilakukan lagi. b) Metode Matching, yang dinamakan metode matching dalam aplikasi E‐ Expert ini adalah menghitung jumlah informasi penyakit yang dialami oleh pasien, dan dicocokan dengan informasi suatu yang ada didalam tabel keputusan. Kecocokan tersebut nantinya akan dihitung persentasenya, persentase disini mewakili kemungkinan terjangkit suatu penyakit. Metode ini digunakan dalam proses pendekatan awal diagnosa untuk penyakit memiliki sympthom atau infromasi yang dibutuhkan dalam
‐ 29 ‐
[E‐ANAMNESIS HIS‐GUNADARMA]
metode anamnesis yang banyak atau majemuk dan memiliki beberapa kesamaan dengan penyakit lainnya. Ada pun rumus yang digunakan dalam metode matching ini adalah P(X) = NgPenyakit / NgPasien, untuk P(X) sebagai nilai probabilitas atau persentase penyakit, NgPenyakit sebagai jumlah gejala suatu penyakit dan NgPasien sebagai informasi yang dibutuhkan anamnesis disampaikan oleh pasien yang cocok pada informasi anamnesis suatu penyakit. Berikut ini merupakan contoh cara perhitungan persentase penyakit dengan algoritma matching untuk menghitung kecocokan gejala terhadap penyakit .
Gambar 3.5. Perhitungan persentase metode matching Pada Gambar 3.5 gejala dialami pasien adalah pusing, lemas dan demam, gejala tersebut ada pada penyakit tipes dan DBD. Berikut contoh perhitungan persentasenya. Diketahui: NgPenyakit = 5 dan NgPasien = 3 pada penyakit tipes, Nilai kecocokan penyakit tipes , P(X) tipes = 3/5 = 0.6. ‐ 30 ‐
[PENGEMBANGAN E‐ANAMNESIS BERDASARKAN SYMPTHOM]
Dan gejala yang cocok pada penyakit DBD ada 3 dari 6 gejala yang ada pada penyakit tersebut, NgPenyakit = 6 dan NgPasien = 3 pada penyakit DBD, Nilai kecocokan penyakit tipes , P(X) DBD = 3/6 = 0.5. Persentase diagnosa = (nilai kecocokan / jumlah nilai kecocokan penyakit) * 100%, jadi persentase diagnosanya adalah. Tipes = (0.6 / (0.5+0.6))*100% = 54.55 % DBD = (0.5 / (0.5+0.6))*100% = 45.45 %, Jadi pasien kemungkinan terjangkit tipes sebanyak 54.55% dan 45.45% kemungkinan terjangkit DBD. Pada perhitungan persentase penyakit dengan menggunakan algoritma matching dilakukan disetiap tahap anamnesis yang dibangun dalam aplikasi ini untuk mencari nilai probabilitas. Jadi bisa dirumuskan dengan sebagai berikut P(X) = ( P(KU) + P(RPS) + P(RPD) + P(RPK) + P(RKP) ) / koefisien terhadap kategori jenis penyakit, untuk mendapatkan persentase menggunakan rumus P(X) * 100%, untuk P(X) = probabilitas suatu penyakit, P(KU) = probabilitas penyakit berdasarkan keluhan utama, P(RPS) = probalitas penyakit berdasarkan riwayat penyakit sekarang, P(RPD) = probalitas penyakit berdasarkan riwayat penyakit dahulu, P(RPK) = probalitas penyakit berdasarkan riwayat penyakit keluarga, P(RKP) = penyakit berdasarkan riwayat kebiasaan pasien.
‐ 31 ‐
[E‐ANAMNESIS HIS‐GUNADARMA]
3.5.2. Perancangan Basis Data Dalam perancangan basis data ini menggunakan MySQL untuk mengolah dan menyimpan datanya. Struktur data tersebut akan ditampilkan dengan bentuk tabel sebagai berikut: Tabel 3.2. Knowledge Base_ps
Pada tabel 3.2. knowledge_ps merupakan salah satu paparan dari tabel knowledge base yang ada pada aplikasi E‐Expert. Tabel ini merupakan data basis pengetahuan sistem diagnosa berisi tentang basis pengetahuan riwayat penyakit sekarang yang ada didalam aplikasi tersebut dan hanya diolah oleh pakar, yaitu doktor rumah sakit yang sudah terdaftar dalam website OpenEHR. Tabel knowledge_ps terdapat 12 field yaitu: 1. Kd_penyakit bertipe data char(4), 2. Nm_penyakit bertipe data varchar(100) , 3. Penyakit_sekarang bertipe data varchar(100), 4. Kode_ps varchar(4), 5. Lama_terjangkit_ps bertipe data integer(3), 6. Pagi_ps bertipe data varchar(5), 7. Siang_ps bertipe data varchar(5), 8. Malam_ps bertipe data varchar(5), 9. Sepanjang_hari_ps bertipe data varchar(20), 10. Nm_doktor bertipe data varchar(20), 11. Kd_peran bertipe data varchar(20), 12. Tanggal bertipe data datetime. ‐ 32 ‐
[PENGEMBANGAN E‐ANAMNESIS BERDASARKAN SYMPTHOM]
Tabel 3.3. Riwayat penyakit sekarang
Pada tabel 3.3. merupakan paparan dari tabel riwayat penyakit sekarang yang ada pada sistem diagnosa dalam aplikasi E‐Expert, data tersebut pada tahap selanjutnya diolah ke dalam tabel 3.2 yaitu tabel knowledge_ps. Field yang terdapat pada tabel ini yaitu: 1. Kode_ps bertipe data Char(4), 2. Penyakit_sekarang bertipe data Varchar(100). Tabel 3.4. Penyakit
Pada tabel 3.4 merupakan paparan dari tabel penyakit yang ada pada sistem diagnosa dalam aplikasi E‐Exper, data tersebut pada tahap selanjutnya diolah ke dalam tabel 3.2 yaitu tabel knowledge_ps. Field yang terdapat pada tabel ini yaitu: 1. Nomor Integer(5), 2. Kd_penyakit bertipe data Char(4), 3. Nm_penyakit bertipe data Varchar(20), 4. Kambuhan bertipe data Varchar(5), 5. Menular bertipe data Varchar(5), 6. Turunan bertipe data Varchar(5), 7. Koef bertipe data Integer(2).
‐ 33 ‐
[E‐ANAMNESIS HIS‐GUNADARMA]
Tabel 3.5. Tmst_pasien
Pada tabel 3.5. merupakan paparan dari tabel pasien yang didiagnosa pada sistem diagnosa dalam aplikasi E‐Expert, data pasien tersebut sudah terdaftar dalam website OpenEHR. Field yang terdapat pada tabel ini yaitu: 1. Id_pasien bertipe data Integer(20), 2. Kd_pasien bertipe data Varchar(20), 3. Nama_pasien bertipe data Varchar(40), 4. Nama_ibu bertipe data Varchar(40), 5. Tgl_reg bertipe data Date, 6. Telp_kerja bertipe data Varchar(20), 7. Telp_rumah bertipe data Varchar(20), 8. Kode_pos bertipe data Varchar(10), 9. Alamat bertipe data Text, 10. Bangsa bertipe data Varchar(20), 11. Id_agama bertipe data Integer(11), 12. Id_status bertipe data Integer(11), 13. Id_asuransi bertipe data Integer(10), 14. Id_jekel bertipe data Integer(11), 15. Tgl_lahir bertipe data Date, 16. Tgl_buat bertipe data Datetime, 17. Tgl_modif bertipe data timestamp, ‐ 34 ‐
[PENGEMBANGAN E‐ANAMNESIS BERDASARKAN SYMPTHOM]
Tabel 3.6. Tmst_peran
Pada tabel 3.6. merupakan paparan dari tabel tmst_peran yang mendiagnosa pasien pada sistem pakar dalam aplikasi E‐Expert, data peran tersebut sudah terdaftar dalam website OpenEHR. Field yang terdapat pada tabel ini yaitu: 1. Username bertipe data Varchar(50), 2. Id_peran bertipe data Integer(11), 3. Peran bertipe data Varchar(20). Tabel 3.7. Tabel report
Pada tabel 3.7. merupakan paparan dari tabel report yang berisikan data hasil diagnosa pada sistem pakar dalam aplikasi E‐Expert, data report tersebut akan di parsing dan akan dimuat melalui webservice yang ada didalam website OpenEHR. Field yang terdapat pada tabel ini yaitu: 1. Kd_pasien bertipe data Varchar(50), 2. Nm_penyakit bertipe data Varchar(50), 3. persentase bertipe data Float(5,2), 4. Operator bertipe data Varchar(20) , 5. Kd_peran bertipe data Varchar(20), 6. Tanggal bertipe data Datetime.
‐ 35 ‐
[E‐ANAMNESIS HIS‐GUNADARMA]
Tabel 3.8. FAQ
Pada tabel 3.8. merupakan paparan dari tabel FAQ yang berisikan data pertanyaan dan jawaban yang sering ditanyakan oleh pengguna aplikasi E‐ Expert, pertanyaan dan jawaban tersebut digolongkan sesuai dengan peran pengguna dalam website OpenEHR. Field yang terdapat pada tabel ini yaitu: 1. Id bertipe data Integer(4)auto_increment, 2. Pertanyaan bertipe data Text, 3. Jawaban bertipe data Text, 4. Peran bertipe data Varchar(20), 5. Tanggal bertipe data Datetime. Tabel 3.9. Guestbook
Pada tabel 3.9. merupakan paparan dari tabel guestbook yang berisikan data kritik maupun saran dari pengguna aplikasi E‐Expert. Field yang terdapat pada tabel ini yaitu: 1. Id bertipe data Integer(11)auto_increment, 2. Nama bertipe data Varchar(20), 3. Kd_operator bertipe data Varchar(20),4. Peran bertipe data Varchar(20), 5. Email bertipe data Varchar(20),6. Tanggal bertipe data Datetime,7. Komentar bertipe data Text. ‐ 36 ‐
[PENGEMBANGAN E‐ANAMNESIS BERDASARKAN SYMPTHOM]
3.5.3. Perancangan Ontologi ICD 10 Dalam perancangan ontologi yang terdapat pada aplikasi E‐Expert ini menggunakan Macromedia Flash 8. Ontologi merupakan representasi dari struktur data sympthom maupun penyakit ICD 10 dalam bentuk menyerupai diagram pohon, ada akar dan daun. Berikut ini merupakan contoh struktur data yang ada pada ICD 10 dan akan representasikan dalam bentuk ontologi.
ICD 10 Kode R07 Pain in throat and chest
R07.0 Pain in throat
R07.1 Chest pain on breathing
R07.2 Precordial pain
R07.8 Other chest pain R07.81 Pleurodynia R07.82 Intercostal pain R07.89 Other chest pain
R07.9 Chest pain, unspecifie
Frame Pain in throat and chest dalam Macromedia Flash 8
Gambar 3.6. Frame Pain in throat and chest
‐ 37 ‐
[E‐ANAMNESIS HIS‐GUNADARMA]
Frame Other chest pain dalam Macromedia Flash 8
Gambar 3.7. Frame Other chest pain Pada Gambar 3.6. dan Gambar 3.7. merupakan contoh frame yang ada didalam ontology ICD 10 yang menggunakan software Macromedia Flash 8. Pada gambar tersebut terdapat tiga jenis lingkaran yaitu 1. Lingkaran merah merupaka lingkaran yang merupaka akar/root pada frame yang berupa pohon/tree, 2. Lingkaran putih merupakan daun/leaft dari lingkaran merah, bisa juga merupakan simbol yang tersambung dengan frame lain yang terkait dengan akar frame(lingkaran merah), untuk mengakses frame lain bisa dilakukan oleh pengguna dengan mengklik lingkaran putih ini, 3. Lingkaran hitam merupaka daun/leaft dari lingkaran merah yang tidak dapat diakses lagi, karena tidak mempunyai cabang lain selain akar/root.
3.5.4. Pemodelan Sistem Dalam merancang sistem ini, penulis menggunakan alat bantu pemodelan UML(Unified Modelling Language). Sistem ini hanya akan digambarkan dalam 3 macam UML yaitu use case diagram, activity diagram dan sequence diagram.
‐ 38 ‐
[PENGEMBANGAN E‐ANAMNESIS BERDASARKAN SYMPTHOM]
3.5.4.1. Diagram Use Case Diagram ini menunjukkan hubungan antara sistem dengan pengguna di luar sistem yaitu pengguna dan admin. Karena pengguna aplikasi ini digolongkan berdasarkan level yaitu pengguna biasa, staff rumah sakit dan dokter maka diagram use case pengguna tersebut digambarkan sebagai berikut: 1. Diagram use case pengguna biasa,
Gambar 3.8. Diagram use case pengguna biasa Gambar 3.8. merupakan diagram use case bagi pengguna biasa yang merupakan pengguna yang mengakses aplikasi E‐Expert tanpa melakukan login. Pengguna ini hanya bisa mengisi buku tamu dan melihat tampilan halaman utama yang terdapat faq yang diisi oleh administrator website dan halaman ontologi . 2. Diagram use case dokter rumah sakit,
‐ 39 ‐
[E‐ANAMNESIS HIS‐GUNADARMA]
Gambar 3.9. Diagram use case doktor rumah sakit Gambar 3.9 merupakan diagram use case bagi dokter rumah sakit yang mengakses aplikasi E‐Expert dengan melakukan login terlebih dahulu. Login tersebut menggunakan ID akun yang sudah terdaftar ada website OpenEHR sebagai dokter rumah sakit. dokter rumah sakit selain dapat mengakses halaman utama yang terdapat faq dari administrator website ,mengisi buku tamu, halaman ontologi dan halaman konsultasi, dokter juga dapat mengkelola data gejala dan penyakit pada aplikasi E‐ Expert yang nantinya akan digunakan oleh sistem pakar untuk mendiagnosa penyakit. 3.5.4.2. Diagram Activity Activity diagram merupakan diagram yang menggambarkan alur kerja sistem. Diagram ini menunjukkan aktivitas yang menyebabkan suatu objek berada dalam state tertentu. Simbol lingkaran berwarna hitam menandakan awal state sedangkan simbol lingkaran yang dilingkari oleh lingkaran bergaris menandakan akhir state. Pada aplikasi E‐Expert terdapat tiga jenis pengguna seperti yang sudah dibahas pada sub bab sebelumnya, maka Activity diagramnya sebagai berikut.
‐ 40 ‐
[PENGEMBANGAN E‐ANAMNESIS BERDASARKAN SYMPTHOM]
1. User biasa Pada gambar 3.10 merupakan diagram activity bagi pengguna biasa yang mengakses aplikasi E‐Expert. Pada diagram tersebut pengguna biasa memulainya dari halaman index dan bisa dilanjutkan kehalaman ontologi yang ada pada website sebelum mencapai state terakhir. Berikut ini adalah gambar 3.10 yang merupakan diagram activity bagi golongan pengguna biasa pada aplikasi E‐Expert.
Gambar 3.10. Diagram activity pengguna biasa 2. Dokter rumah sakit Dokter rumah sakit dapat melakukan beberapa kegiatan pada aplikasi E‐Expert termasuk konsultasi pada sistem pakar tentang diagnosa penyakit dan juga mengolah data anamnesis dalam aplikasi tersebut. Berikut ini merupakan diagram activity bagi dokter rumah sakit pada aplikasi E‐Expert
‐ 41 ‐
[E‐ANAMNESIS HIS‐GUNADARMA]
Gambar 3.11. Diagram activity dokter rumah sakit Pada gambar 3.11, diagram activity untuk dokter rumah sakit. Pada state awal dokter melakukan login dengan memasukan username dan password yang telah terdaftar pada website Open EHR, jika proses tersebut gagal maka akan tetap pada form login dan jika berhasil dokter rumah sakit lansung dapat mengakses halaman utama untuk dokter atau bisa disebut juga dengan halaman index. Pada halaman index dokter bisa melakukan tiga hal yaitu mengakses ontologi web, melakukan konsultasi dengan sistem pakar aplikasi E‐Expert dan juga mengelola data anamnesis yang ada didalam sistem pakar aplikasi E‐Expert sebelum mengakhiri kegiatan dalam aplikasi E‐Expert.
‐ 42 ‐
[PENGEMBANGAN E‐ANAMNESIS BERDASARKAN SYMPTHOM]
3.5.4.3. Diagram Sequence Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek‐ objek yang terkait). Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah‐langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Berikut ini diagram sequence pada aplikasi E‐Expert berdasarkan pengguna aplikasi. 1. User biasa User biasa menggunakan aplikasi E‐Expert tanpa melakukan login terlebih dahulu, pada gambar 3.12 merupakan interaksi antara user biasa dengan aplikasi E‐Expert.
Gambar 3.12. Diagram sequence pengguna biasa Pada gambar 3.12. merupakan diagram sequence untuk pengguna biasa atau bisa disebut juga user biasa. User biasa hanya bisa berinteraksi dengan halaman index, pada halaman tersebut user biasa hanya dapat mengakses halaman ontologi.
‐ 43 ‐
[E‐ANAMNESIS HIS‐GUNADARMA]
2. Dokter rumah sakit Dokter rumah sakit menggunakan aplikasi E‐Expert melakukan login terlebih dahulu, pada gambar 3.12 merupakan interaksi antara dokter rumah sakit dengan aplikasi E‐Expert.
Gambar 3.13. Diagram sequence dokter rumah sakit Pada gambar 3.13 merupakan diagram sequence untuk dokter rumah sakit. Interaksi pertama yang dilakukan oleh dokter rumah sakit dengan aplikasi E‐Expert adalah form login, selanjutnya dokter rumah sakit membuka sistem yang ditandai dengan interaksi dengan halaman index, interaksi dokter rumah sakit dengan halaman index, dokter rumah sakit dapat mengakses halaman ontologi untuk mendapatkan tampilan ontologi, mengelola data penyakit beserta gejala yang ada pada sistem pakar aplikasi E‐ Expert melalui doktor page dan dokter rumah sakit juga dapat melakukan konsultasi dengan sistem pakar dengan memasukan ‐ 44 ‐
[PENGEMBANGAN E‐ANAMNESIS BERDASARKAN SYMPTHOM]
gejala yang diderita pasien untuk mendapatkan hasil diagnosa penyakit yang diderita oleh pasien.
3.5.5. Struktur Navigasi Struktur navigasi digunakan untuk menggambarkan fungsi‐fungsi yang ada pada seluruh halaman sistem yang dibuat. Struktur navigasi dari sistem yang akan dibuat terdiri dari struktur navigasi untuk pengguna yang berlevel user biasa, staff rumah sakit dan dokter rumah sakit. 3.5.5.1. Struktur Navigasi User Biasa User biasa dalam aplikasi E‐Expert merupakan pengguna aplikasi yang dalam pengaksesannya tidak melakukan login apapun terlebih dahulu. Berikut adalah gambaran dari struktur navigasi untuk user biasa.
Gambar 3.14. Struktur navigasi user biasa Pada struktur navigasi untuk user biasa yang digambarkan pada gambar 3.16. merupakan struktur navigasi berjenis linier.
3.5.5.2. Struktur Navigasi Dokter Rumah Sakit Dokter rumah sakit dalam aplikasi E‐Expert merupakan pengguna aplikasi E‐ Expert yang dalam pengaksesannya melakukan login menggunakan ID dokter rumah sakit terlebih dahulu. Berikut adalah gambaran dari struktur navigasi untuk dokter rumah sakit.
‐ 45 ‐
[E‐ANAMNESIS HIS‐GUNADARMA]
Gambar 3.15. Struktur navigasi dokter rumah sakit
Pada gambar 3.15. merupakan struktur navigasi bagi pengguna dengan tingkat level akses dokter rumah sakit. Struktur navigasi ini berjenis struktur navigasi campuran.
3.5.6. Perancangan Antarmuka (Interface) Perancangan interface adalah bagian yang penting dalam aplikasi, karena yang pertama kali dilihat ketika aplikasi dijalankan adalah tampilan antar muka (interface) aplikasi. Dalam pembuatan interface aplikasi E‐Expert ini menggunakan bahasa pemrograman HTML, PHP, CSS dan JavaScript. 3.5.6.1. Halaman Utama Halaman utama merupakan halaman paling awal pada aplikasi E‐Expert, dimana dalam aplikasi tersebut tersedia penjelasan singkat tentang aplikasi ‐ 46 ‐
[PENGEMBANGAN E‐ANAMNESIS BERDASARKAN SYMPTHOM]
beserta fitur‐fitur yang ada didalamnya. Pada halaman utama selain penjelasan terdapat akses kehalaman lain seperti konsultasi, ontologi dan sebagainya. Rancangan tampilan halaman utama digambarkan pada gambar 3.16.
Gambar 3.16. Rancangan halaman utama
Penjelasan gambar 3.16, a) Pada perancangan gambar 3.16 angka “1” merupakan menu yang ada dihalaman utama, menu‐menu tersebut adalah Home, Konsultasi, Kelola data(jika login sebagai doktor), ontologi dan logout b) Untuk angka “2” merupakan gambar stetoskop yaitu salah satu alat yang biasa digunakan oleh dokter untuk memeriksa keadaan pasien c) Angka “3” merupakan penjelasan umum secara singkat tentang aplikasi E‐Expert
‐ 47 ‐
[E‐ANAMNESIS HIS‐GUNADARMA]
d) Angka “4” merupaka FAQ, yang berisikan pertanyaan yang sering ditanyakan seputar aplikasi E‐Expert beserta jawabannya e) Angka “5” merupaka penjelasan secara singkat tentang metode sistem pakar yang ada pada aplikasi E‐Expert dan juga tombol untuk mengakses sistem pakar tersebut f) Angka “6” merupakan form pengisian buku tamu yang diisi oleh pengunjung web. Pengunjung dapat memberi pertanyaan, saran ataupun keritik seputar aplikasi ini kepada administrator aplikasi ini.
3.6. Pembuatan Aplikasi Pembuatan aplikasi merupakan tahap pengembangan rancangan menjadi kode program. Pada awal sub bab ini dibahas pembuatan aplikasi berdasarkan rancangan yang telah dibuat dan dibahas pada sub bab sebelumnya.
3.6.1. Pembuatan Database Pada subBab ini akan dibahas pembuatan database aplikasi sesuai rancangan database pada subBab sebelumnya. Pembuatan database tersebut menggunakan MySQL yang terdapat didalam aplikasi XAMPP. Berikut ini tahap pembuatan database pada aplikasi E‐Expert. a) Aktifkan MySQL dan Apache dalam XAMPP control panel yang telah terinstal.
‐ 48 ‐
[PENGEMBANGAN E‐ANAMNESIS BERDASARKAN SYMPTHOM]
Gambar 3.17 panel xampp b) Akses
dalam
browser
dengan
alamat
http://localhost/phpmyadmin/ dan isikan nama database yang akan dibuat pada form yang ada dialamat terebut.
Gambar 3.18. Membuat database c) Selanjutnya, membuat tabel pada database aplikasi E‐Expert seperti yang sudah dibahas dalam sub bab perancangan database. Berikut ini merupakan sintaks untuk membuat tabel didalam database MySQL. 1. Untuk
tabel
knowledge
base,
sebagai
contoh
knowledge_ku CREATE TABLE IF NOT EXISTS `knowledge_ku` ( char(4) NOT NULL, `kd_penyakit` `nm_penyakit` varchar(50) NOT NULL,
`kode_ku` varchar(4) NOT NULL, `keluhan_utama` varchar(100) NOT NULL, `lama_terjangkit_ku` int(3) DEFAULT NULL, `pagi_keu` varchar(5) NOT NULL, `siang_keu` varchar(5) NOT NULL, `malam_keu` varchar(5) NOT NULL, `sepanjang_hari_keu` varchar(5) DEFAULT NULL, `nm_doktor` varchar(20) NOT NULL, `kd_peran` varchar(20) NOT NULL, `tanggal` datetime NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=latin1;
‐ 49 ‐
[E‐ANAMNESIS HIS‐GUNADARMA]
2. Untuk tabel keluhan utama, CREATE TABLE IF NOT EXISTS `keluhan_utama` (
`kode_ku` char(4) NOT NULL,
`k l
`
3. Untuk tabel penyakit,
h
(100)
CREATE TABLE IF NOT EXISTS `penyakit` (
`nomor` int(5) NOT NULL AUTO_INCREMENT, `kd_penyakit` char(4) NOT NULL,
`nm_penyakit` varchar(20) NOT NULL,
`kambuhan` varchar(5) NOT NULL,
`menular` varchar(5) NOT NULL,
4. Untuk tabel peran atau akun , CREATE TABLE IF NOT EXISTS `tmst_akun` (
`username` varchar(50) NOT NULL, `id_peran` int(11) NOT NULL, `peran` varchar(20) NOT NULL, KEY `id_peran` (`id_peran`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
5. Untuk tabel report , CREATE TABLE IF NOT EXISTS `report` (
`kd_pasien` varchar(50) NOT NULL, `nm_penyakit` varchar(50) NOT NULL,
`persentase` float(5,2) NOT NULL,
`
t
`
h
(20) DEFAULT NULL
6. Untuk tabel FAQ , CREATE TABLE IF NOT EXISTS `tbl_faq` (
‐ 50 ‐
`id` int(4) NOT NULL AUTO_INCREMENT, `pertanyaan` text NOT NULL, `jawaban` text NOT NULL, `peran` varchar(20) NOT NULL, `tanggal` datetime NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=22 ;
[PENGEMBANGAN E‐ANAMNESIS BERDASARKAN SYMPTHOM]
7. Untuk tabel guestbook atau buku tamu, CREATE TABLE IF NOT EXISTS `guestbook` (
`id` int(11) NOT NULL AUTO_INCREMENT, `nama` varchar(20) DEFAULT NULL, `kd_operator` varchar(20) NOT NULL, `peran` varchar(20) NOT NULL, `email` varchar(20) DEFAULT NULL, `tanggal` date DEFAULT NULL, `komentar` text, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
3.6.2. Pembuatan Antarmuka (Interface) Pada tahapan pembuatan antarmuka aplikasi E‐Expert menggunakan perangkat lunak JetBrain PHPStrom sebagai editor yang digunakan dalam penulisan skrip dan perangkat lunak dalam pengolahan citra menggunakan Adobe Photoshop CS. Dimana hasil gambar dari Adobe Photoshop CS disimpan pada folder penyimpan data berupa gambar. 3.6.2.1. Pembuatan Halaman Utama Seperti yang telah dibahas pada sub bab perancangan interface, halaman utama merupaka halaman yang paling awal bagi pengguna aplikasi. Berikut ini merupakan tampilan dari halaman utama.
‐ 51 ‐
[E‐ANAMNESIS HIS‐GUNADARMA]
Gambar 3.19. Bagian atas halaman utama
Pada bagian atas halaman utama terdapat menu untuk fitur yang dapat diakses oleh pengguna, judul aplikasi dan penjelasan secara umum tentang aplikasi E‐Expert. Adapun kutipan sintaks yang digunakan untuk membuat tampilan tersebut sebagai berikut.
Gambar 3.21. Bagian bawah halaman utama
‐ 53 ‐
[E‐ANAMNESIS HIS‐GUNADARMA]
Pada bagian bawah halaman utama terdapat form pengisian guestbook untuk para pengguna yang ingin memberikan saran, kritik atau lainnya yang bersifat membangun demi kemajuan aplikasi E‐Expert. Adapun kutipan sintaks yang digunakan untuk membuat tampilan tersebut sebagai berikut. <section class="footer-one">