1
SISTEM PAKAR UNTUK DIAGNOSA HASIL USG PENYAKIT DALAM
LIA TRISNOWATI 41505120058
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS MERCU BUANA JAKARTA 2009
2
SISTEM PAKAR UNTUK DIAGNOSA HASIL USG PENYAKIT DALAM
Laporan Tugas Akhir
Diajukan Untuk Melengkapi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer
Oleh: LIA TRISNOWATI
41505120058
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS MERCU BUANA JAKARTA 2009
3
LEMBAR PERNYATAAN
Yang bertanda tangan di bawah ini, NIM
: 41505120058
Nama
: LIA TRISNOWATI
Judul Skripsi
:SISTEM PAKAR UNTUK DIAGNOSA HASIL USG PENYAKIT DALAM
Menyatakan bahwa skripsi tersebut di atas adalah hasil karya saya sendiri dan bukan plagiat, kecuali kutipan-kutipan yang berasal dari sumber-sumber yang telah tercantum pada daftar pustaka. Apabila ternyata ditemukan di dalam laporan skripsi saya terdapat unsur plagiat, maka saya siap untuk mendapatkan sanksi akademik yang terkait dengan hal tersebut.
Jakarta,
Lia Trisnowati
2009
4
LEMBAR PERSETUJUAN
NIM
:
41505120058
Nama
:
LIA TRISNOWATI
Judul Skripsi
:
SISTEM PAKAR UNTUK DIAGNOSA HASIL USG PENYAKIT DALAM
Skripsi ini telah diperiksa dan disetujui
Jakarta,
2009
Ir. Nixon Erzed, MT Pembimbing
Devi Fitrianah, S.Kom., MTI Koord. Tugas Akhir Teknik Informatika
Abdusy Syarif, ST., MT KaProdi Teknik Informatika
5
6
MOTTO DAN PERSEMBAHAN
Jangan malu memperlihatkan ketidaktahuan, karena dari ketidaktahuan tumbuh pengetahuan (Pakubuwono IV. Sultan Yogyakarta, 1862)
Ku persembahkan untuk: Ayahanda dan Ibunda yang tercinta Suami dan anak – anak terkasih yang selalu mendampingi
7
KATA PENGANTAR
Puji dan syukur atas rahmat Tuhan Yang Maha Esa, yang telah melimpahkan segala rahmat dan karunia-Nya sehingga Laporan Tugas Akhir ini dapat penulis selesaikan dengan baik. Sebuah perjalanan yang panjang telah penulis selesaikan dalam menempuh studi dan menulis Laporan Tugas Akhir. Laporan Tugas Akhir ini merupakan salah satu persyaratan yang harus ditempuh untuk menyelesaikan program studi Strata satu (S1) pada Jurusan Teknik Informatika, Fakultas Ilmu Komputer Universitas Mercu Buana Jakarta. Adapun Laporan Tugas Akhir ini adalah mengenai Sistem Pakar untuk Diagnosa Hasil USG Penyakit Dalam. Berkat bimbingan dan arahan-arahan yang diberikan oleh dosen pembimbing maka laporan Tugas Akhir ini dapat penulis selesaikan. Pada kesempatan ini penulis mengaturkan terima kasih yang sedalam-dalamnya kepada yang terhormat: 1. Ayahanda dan Ibunda serta semua saudara-saudara tercinta yang telah memberikan doa dan dorongan semangat kepada penulis untuk terus maju dalam menjalankan hidup, serta untuk melanjutkan studi Strata 1 (S1). Semoga selalu dalam lindungan dan rahmat Tuhan Yang Maha Esa. 2. Suami tercinta Febri Dwiyanto, buat perhatian, pengertian, dorongan semangat dan kasih sayangnya selama ini.
8
3. Anak – anak tercinta Morino Naufal Ferlianto dan Aryo Putra Ferlianto, atas pengertiannya yang sering ditinggalkan untuk kuliah dan menyelesaikan tugas akhir ini. 4. Bapak Ir. Nixon Erzed, MT., selaku
dosen pembimbing yang telah banyak
memberikan bimbingan serta arahan dari sejak dimulainya penulisan Laporan Tugas Akhir ini hingga selesai. 5. Bapak/Ibu dosen yang telah mendidik, melatih dan membekali penulis dengan ilmu dan pengetahuan selama menuntut ilmu di Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Mercu Buana. 6. Bapak Dr. Yusuf Vian, Sp.PD yang telah banyak membantu sebagai narasumber dalam penulisan Laporan Tugas Akhir ini. 7. Semua pihak yang telah membantu baik secara moril maupun materiil. Penulis menyadari bahwa materi maupun penulisan Laporan Tugas Akhir ini masih terdapat banyak ketidaksempurnaan, karena kesempurnaan hanya milik Allah dan kekurangan akan selalu ada pada diri manusia. Pada kesempatan ini pula penulis mohon maaf yang sebesar-besarnya atas segala kekurangan yang terdapat pada Laporan Tugas Akhir ini oleh karena itu segala kritik dan saran dari pembaca akan disambut dan diterima dengan senang hati, akhir kata penulis berharap semoga Laporan Tugas Akhir ini dapat bermanfaat bagi kita semua. Amin. Jakarta, Agustus 2009
Lia Trisnowati
9
ABSTRACTION
The recent problem in medical world demand more time from a doctor to solve it. Sometimes the doctor have something more important todo. It has been proven for so many years that even a good doctor diagnose still have a error. Therefore a system called “ Sistem Pakar Untuk Diagnosa Hasil USG “ ( Expert System For USG Result Diagnosis ) will be built to minimize this error rate. This expert system will imititate the way of the specialist in diagnosing diseases. The user of this system is needed to provide the physical data. Then the machine will process the given data to decide what kind of disease that is present. For this purpose, a connection to a database containing complete qualification of disease is needed from this system itself to provide a good accuracy in diagnosing disease. This final project will be a great contribution to science world especially for medical world that is to replace the doctor’s job because it have high data storage capacity .
Keywords : Ultrasonography, expert sistem, knowledge base
10
ABSTRAKSI
Semakin banyaknya permasalahan di bidang kedokteran menuntut semakin besarnya waktu yang diberikan oleh seorang dokter untuk pelayanan medis. Namun adakalanya dokter berhalangan untuk memberikan pelayanan medis kepada pasien. Selain itu pendiagnosaan yang dilakukan oleh dokter terkadang masih mempunyai kesalahan. Untuk mengatasi masalah tersebut maka dibuatlah tugas akhir ini yang berjudul “ SistemPakar Untuk Diagnosa Hasil USG “. Sistem ini disebut dengan sistem pakar yang akan meniru seorang pakar ( dalam hal ini yaitu dokter spesialis ) dalam melakukan diagnosa. Pengguna memasukkan data – data fisiknya. Kemudian mesin inferensi akan mengolah data – data tersebut untuk menganalisa kondisi orang yang didiagnosa. Untuk itu diperlukan koneksi ke dalam basis data tentang spesifikasi penyakit khususnya penyakit dalam agar diagnosanya akurat. Tugas akhir ini diharapkan dapat memberikan manfaat yang besar dalam dunia ilmu pengetahuan khususnya dalam bidang kedokteran yaitu dapat menggantikan peran dokter karena mempunyai kapasitas penyimpanan data yang besar.
Kata kunci : ultrasonografi, sistem pakar, basis pengetahuan.
11
DAFTAR ISI Halaman Halaman Judul …………………………………………………………...
i
Lembar Pernyataan ……………………………………………..…….....
ii
Lembar Persetujuan ...…………………………………………………...
iii
Motto dan Persembahan …………………………………………………
iv
Kata Pengantar ………………………………………………………...…
v
Abstraction …………………………………..……………………………
vii
Abstraksi ………………………………………………………………….
viii
Daftar Isi ………………………………………………………………….
ix
Daftar Gambar ……………………………………………………..…….
xii
Daftar Tabel ………………………………………………………...……. xiii BAB I
PENDAHULUAN 1.1 Latar Belakang Masalah …………………………………..
1
1.2 Rumusan Masalah ………………………………………...
3
1.3 Tujuan Penelitian …………………………………………
4
1.4 Ruang Lingkup ..…………………………………………..
4
1.5 Metodologi Rekayasa ……. ……..………………………..
4
1.5.1 Model Proses Perancangan Perangkat Lunak……….
4
1.5.2 Studi Pustaka / Literatur……………………………
6
1.6 Sistematika Penulisan ……………………………………..
6
12
BAB II
PENGENALAN SISTEM PAKAR 2.1 Pengertian Sistem Pakar …………………………………..
8
2.2 Cara Kerja Sistem Pakar . ……….………………………..
11
2.2.1 Basis Pengetahuan …………….……….…………...
11
2.2.2 Kaidah If – Then … ………………………………...
12
2.2.3 Representasi Pengetahuan .………………………….
12
2.2.4 Mesin Inferensi ……………………………………..
13
2.3 UML………………………………………………………...
17
2.3.1 Diagram Use Case ………………………………….
18
2.4 USG ( Ultrasonografi) ……………………………………..
21
2.4.1 Pengertian USG …………………………………….
21
2.4.2 Prinsip USG…………………………………………
22
2.4.3 Cara Kerja USG …………………………………….
22
2.4.4 Display Modes ……………………………………...
23
2.4.5 Kelemahan USG…………………………………….
24
2.4.6 Pemakaian Klinis …………………………………...
25
2.5 Bahasa Java ………………………………………………..
25
BAB III PENGETAHUAN TENTANG PENYAKIT DALAM 3.1 Penyakit Hepar ……………………………...…………….
28
3.1.1 Keadaan Normal . ………………….……………….
28
3.1.2 Keadaan Tidak Normal ......…………………………
28
3.2 Penyakit Kandung Empedu ……………………………….
29
13
3.2.1 Keadaan Normal .. …. ………………………………
31
3.2.2 Keadaan Tidak Normal ………………………………
31
3.3 Penyakit Pankreas ………………………………………….
33
3.3.1 Keadaan Normal ……………………………………..
34
3.3.2 Keadaan Tidak Normal ………………………………
34
3.4 Penyakit Ginjal …………………………………………….
35
3.4.1 Keadaan Normal ……………………………………..
35
3.4.2 Keadaan Tidak Normal ………………………………
36
3.5 Hasil Diagnosa……………………………………………...
37
BAB IV ANALISIS DAN PERANCANGAN SISTEM
BAB V
4.1 Analisis Masalah ...………………………………………..
41
4.2 Rancangan Basis Pengetahuan …………………..………
42
4.2.1 Kaidah Produksi …………………………………….
49
4.2.2 Diagram Pohon ( Diagram Knowledge Base) .……..
55
4.3 Implementasi Diagram Use Case ..……………………….
65
4.4 Rancangan Basis Data …...………………………………..
68
4.5 Flowchart Sistem Pakar Untuk Diagnosa Penyakit Dalam .
70
4.6 Rancangan Login Tampilan ….…………………………...
75
IMPLEMENTASI DAN PENGUJIAN 5.1 Lingkungan Implementasi …...……………………………. 5.1.1 Perangkat Keras (Hardware)………………………
79 79
14
5.1.2 Perangkat Lunak (Software) ………………………..
79
5.2 Sistem Antar Muka ………………………………………..
80
5.3 Pengujian ………………………………………………….
83
5.3.1 Rancangan Pengujian ………………………………
83
5.3.2 Hasil Pengujian ……………………………………..
84
5.4 Analisa Pengujian ………………………………………….
86
BAB VI KESIMPULAN DAN SARAN
6.1 Kesimpulan ………………………………………………
88
6.2 Saran ………………………………………………………
89
1.
DAFTAR PUSTAKA
LAMPIRAN - LAMPIRAN
15
DAFTAR GAMBAR
Gambar 1.1 Model Sekuensial Linear ……………………………………
6
Gambar 2.1 Metode Pelacakan Maju ………………….………………….
14
Gambar 2.2 Metode Pelacakan Mundur …………………………..………
15
Gambar 2.3 Diagram Use Case ………………………….……………......
20
Gambar 4.1 Pohon Penyakit Hati …………………………………………
56
Gambar 4.2 Pohon Penyakit Ginjal ……………………………………...
58
Gambar 4.3 Pohon Penyakit Pankreas …………………………………...
60
Gambar 4.4 Pohon Penyakit Kandung Empedu .…………………………
62
Gambar 4.5 Diagram Use Case ……………………………………….....
65
Gambar 4.6 Diagram Hubungan Antar Entitas….. ………………………
68
Gambar 4.7 Flowchart Menu Utama …………..…………………………
71
Gambar 4.8 Flowchart Menu File …………………………….……….....
72
Gambar 4.9 Flowchart Submenu Diagnosa ………………………………
73
Gambar 4.10 Flowchart Menu Jenis Penyakit …………………………….
74
Gambar 4.11 Flowchart Menu Help ………………………………………
75
Gambar 4.12 Rancangan Layar Login …………….……………………...
76
Gambar 4.13 Rancangan Layar Menu Utama …………….………………
76
Gambar 4.14 Rancangan Tampilan Submenu Diagnosa
77
16
Gambar 4.15 Rancangan Tampilan Menu Jenis Penyakit ……………......
78
Gambar 4.16 Rancangan Tampilan Menu Help ..........................................
78
Gambar 5.1 Tampilan Login………………………………………………
80
Gambar 5.2 Tampilan Menu File………………………………………….
81
Gambar 5.3 Tampilan Menu Jenis Penyakit ………………………………
82
Gambar 5.4 Tampilan Menu Help ………………………………………...
82
17
DAFTAR TABEL
Tabel 2.1 Tabel Notasi Diagram Use Case ……………………………….
20
Tabel 4.1 Tabel Pengelompokan Penyakit …………………………….....
43
Tabel 4.2 Tabel Penyakit Empedu .....……………………………………..
43
Tabel 4.3 Tabel Penyakit Hepar …………………………………………..
44
Tabel 4.4 Tabel Penyakit Ginjal ………………………………………….
45
Tabel 4.5 Tabel Penyakit Pankreas ……………………………………….
46
Tabel 4.6 Tabel Hubungan Relasi PertanyaanJawaban……………………
47
Tabel 5.1 Tabel Hasil Pengujian Sistem …………………………………..
84
18
BAB I PENDAHULUAN
1.1 Latar Belakang Masalah
Semakin pesatnya perkembangan Ilmu Pengetahuan dan Teknologi dewasa ini membuktikan semakin meningkatnya tingkat kecerdasan manusia dalam menghadapi permasalahan hidup yang semakin kompleks. Komputer merupakan salah satu contoh hasil karya manusia yang dapat membantu meringankan pekerjaan manusia dalam mengolah data yang ada untuk menghasilkan informasi yang nantinya mempengaruhi dalam mengambil keputusan. Di satu sisi kemajuan di dalam teknologi yang didasarkan atas komputer akhirakhir ini telah banyak mempengaruhi perkembangan beberapa bidang lain, tidak terkecuali bidang kesehatan dan pengobatan. Pengaruhnya dapat dilihat dalam bentuk peralatan-peralatan yang bebasiskan komputer. Beberapa panduan dalam bidang kesehatan sekarang tidak perlu lagi datang ke dokter, karena sudah ada CD-ROM yang dikeluarkan oleh dokter atau juga secara on-line melalui internet. Teknik pemrograman dengan kecerdasan buatan melakukan prosesnya sama dengan apa yang dilakukan oleh otak manusia. Kecerdasan buatan juga meniru proses belajar manusia dimana informasi yang baru diserap dan dimungkinkan untuk digunakan sebagai referensi pada waktu yang akan datang. Di sini informasi yang baru dapat di
19
serap dan dimungkinkan untuk digunakan sebagai referensi pada waktu yang akan datang. Di sini informasi yang baru dapat di simpan tanpa harus mengubah cara kerja pikiran atau menganggu fakta-fakta yang sudah ada. Sehingga dengan kecerdasan buatan dimungkinkan untuk membuat program di mana setiap bagian dari program benar-benar independent. Di sini setiap bagian dari program seperti potongan – potongan informasi dalam otak manusia. Secara umum kecerdasan buatan di bagi menjadi 3 (tiga) kategori dasar [ Farid Aziz, 1994 ], yaitu : 1. Sistem pakar (expert system), yaitu program komputer yang berisi pengetahuan manusia yang digunakan untuk menyelesaikan masalah dalam domain tertentu. 2. Pengolahan bahasa alami (natural language processing), yaitu suatu teknologi yang memberikan kemampuan kepada computer untuk memahami bahasa manusia sehingga pengguna computer dapat berkomunikasi dengan computer dengan menggunakan bahasa sehari - hari. 3. Robot (robotics), yaitu system dengan kemampuan memahami (system untuk penglihatan, pembicaraan atau sentuhan)
Tidak dapat dipungkiri, aplikasi sistem pakar merupakan satu bidang yang semakin diberi perhatian belakangan ini. Keunggulan utamanya yang mampu memberikan keputusan seperti seorang pakar di dalam suatu bidang yang merupakan suatu hal yang diperlukan oleh manusia dalam menghadapi berbagai aspek kehidupan. Sistem yang seperti itu, dengan kemajuan pesat di dalam dunia yang serba komputer ini, membolehkan seseorang mendapat nasehat, tanpa bertemu dengan orang yang menasehati secara nyata.
20
Perhatian kesehatan dan pengobatan dalam bentuk yang serba baru ini memberi kesan yang besar dan menyeluruh kepada masyarakat. Ini adalah karena selama ini hanya para dokter saja yang mempunyai kuasa dan kelebihan dalam memberikan nasehat yang sepatutnya kepada seseorang yang menderita penyakit. Namun dengan adanya pembuatan software yang berbasiskan sistem pakar ini, maka orang yang menderita penyakit sekarang mampu untuk berada di rumah sambil memeriksa penyakit yang mungkin dihadapi dengan bantuan sistem berbasis pakar tersebut. Selain berguna bagi orang yang menderita penyakit, dokter dan juga
orang
akademik dapat menggunakan kepakaran sistem ini untuk membantu mereka menganalisa suatu penyakit berdasarkan pengalaman dan pengetahuan para pakar sebenarnya yang tersimpan di dalam memori basis data. Dengan bantuan sistem berbasis pakar ini, diagnosa yang tepat mampu diberikan dengan cepat dan pantas, terutamanya jika terdapat perbedaan pendapat diantara dokter yang menangani suatu masalah. Sistem yang seperti ini dapat dijadikan sumber yang baik dan berguna untuk panduan mereka. Kesimpulannya, perkembangan pembuatan sistem pakar dalam bidang kesehatan merupakan suatu hal yang diharapkan dapat memperbaiki kualitas hidup manusia. Selain itu, dengan adanya sistem tersebut setiap individu dapat menghemat waktu, biaya dan tenaga untuk mendapatkan pengetahuan dalam bidang kesehatan.
1.2 Rumusan Masalah Dari hasil pengamatan dan uraian di atas, dapat di rumuskan masalahnya adalah diperlukannya sebuah Aplikasi yang berguna sebagai alat bantu untuk mendiagnosa suatu penyakit dalam dari hasil USG jika Dokter berhalangan hadir.
21
1.3 Tujuan Penelitian Tujuan dari pembahasan Tugas Akhir ini adalah : 1. Sebagai second opinion diagnosa penyakit dalam.. 2. Diharapkan dapat menurunkan tingkat kesalahan diagnosa terhadap pasien.
1.4 Ruang Lingkup Adapun pembatasan terhadap masalah yang akan dibahas meliputi : 1. Metode sistem pakar yang dibuat dalam bentuk implementasi program. 2. Metode sistem pakar untuk mendiagnosa hasil USG penyakit dalam seperti pada organ hati, ginjal, pankreas dan kandung empedu. 3. Sistem ini belum di validasi oleh pakarnya, hanya baru terbatas pada pengujian program saja.
1.5 Metodologi Rekayasa Metodologi yang digunakan untuk mendukung pembuatan Tugas Akhir ini adalah sebagai berikut: 1.5.1 Model proses pengembangan perangkat lunak Model proses yang digunakan yaitu model Sekuensial Linear.Model Sekuensial liniear mengusulkan sebuah pendekatan kepada perkembangan perangkat lunak yang sistematik dan sekuensial yang dimulai pada tingkat dan kemajuan sistem pada seluruh
22
analisis, desain, kode, pengujian dan pemeliharaan. Adapun aktifitas – aktifitas yang dilakukan pada model sekuensial liniear ini antara lain sebagai berikut: a. Rekayasa dan pemodelan sistem / informasi. Karena perangkat lunak selalu merupakan bagian dari sebuah sistem yang lebih besar, kerja dimulai dengan membangun syarat dari semua elemen sistem dan mengalokasikan beberapa subset dari kebutuhan ke perangkat lunak tersebut. Pandangan sistem ini penting ketika perangkat lunak harus berhubungan dengan elemen – elemen yang lain seperti perangkat lunak, manusia, dan database. -
Analisis
Pada tahap analisa ini dipelajari tentang USG dan penyakit dalam. Sehingga dapat diketahui spefikasi dari sistem pakar untuk diagnosa hasil USG penyakit dalam.Yang meliputi input yang akan diolah sistem, pemrosesan yang diperlukan dan output yang diinginkan sistem pakar. Perancangan sistem dan perangkat lunak. -
Desain
Spesifikasi sistem pakar untuk diagnosa hasil usg penyakit dalam ini selajutnya akan dituangkan menjadi rancangan sistem yang meliputi : struktur basis pengetahuan yang akan digunakan untuk menyimpan data mengenai ciri – ciri penyakit dalam, metode inferensi yang akan dipakai adalah metode pelacakan maju (Fordward Chaining). b. Implementasi Rancangan sistem pakar selanjutnya akan diimplementasikan menggunakan bahasa pemrograman Java dan basis data Microsoft Access. c. Testing
23
Pengujian unit melibatkan verifikasi bahwa setiap unit telah memenuhi spesifikasinya. Berikut ini akan diperlihatkan fase- fase yang dilakukan pada model sekunsial linear.
Gambar 1.1 Model Sekuensial Linear
1.5.2 Studi pustaka / literatur Pengumpulan data yang dilakukan dengan cara memperoleh dari bukubuku,majalah dan artikel yang ada di internet untuk mendapatkan teori-teori yang berhubungan dengan topik tugas akhir.
1.6 Sistematika Penulisan Untuk mempermudah memahami isi skripsi maka materi skripsi ini secara keseluruhan disajikan dalam 6 (enam) bab yang masing – masing mempunyai urutan tertentu dan saling terkait untuk membentuk pengertian yang utuh, yaitu sebagai berikut :
BAB I
: PENDAHULUAN
24
Bab ini meliputi latar belakang masalah, pokok pembahasan yang ada, tujuan penelitian, pembatasan masalah, serta sistematika penulisan.
BAB II
: PENGENALAN SISTEM PAKAR Bab ini berisi uraian teori – teori secara lengkap mengenai landasan teori konsep dasar dalam hal – hal yang berkaitan dengan sistem pakar.
BAB III
:
PENGETAHUAN
TENTANG
PENYAKIT
HATI,
GINJAL,
PANKREAS DAN KANDUNG EMPEDU Bab ini berisi uraian pengetahuan tentang penyakit hati, ginjal, pankreas dan kandung empedu.
BAB IV
: ANALISA DAN PERANCANGAN SISTEM Bab ini berisi tentang perencanaan dan pembuatan system pakar untuk diagnosa hasil USG penyakit dalam. Hal ini meliputi perancangan tree, penyusunan basis data menggunakan MS Access serta pembuatan interface menggunakan Java.
BAB V
: IMPLEMENTASI SERTA PENGUJIAN PROGRAM Bab ini menguraikan mengenai implementasi dan pengujian dari program.
BAB VI
: KESIMPULAN DAN SARAN
25
Bab ini berisi kesimpulan dan saran serta rencana pengembangan sistem, jika dimungkinkan untuk masa yang akan datang.
26
BAB II PENGENALAN SISTEM PAKAR
Pada bab ini akan dijelaskan mengenai berbagai teori yang dipakai dalam perancangan Aplikasi Sistem Pakar untuk Diagnosa Hasil USG Penyakit Dalam. Beberapa teori yang digunakan diantaranya mengenai sistem pakar, diagram use case dalam Unified Modified Languange dan teori mengenai Manajemen Basis Data.
2.1. Pengertian Sistem Pakar Sistem Pakar adalah sebuah perangkat lunak komputer yang memiliki basis pengetahuan untuk domain tertentu dan menggunakan penalaran inferensi menyerupai seorang pakar dalam memecahkan masalah. Pengetahuan pakar (expert knowledge) merupakan kombinasi pemahaman teoritis tentang suatu persoalan dan sekumpulan aturan pemecahan persoalan heurities (rules of thumb) dimana pengalaman telah menunjukan keefektifannya dalam persoalan itu. Sistem pakar dibuat dengan mendapat pengetahuan ini dari seorang pakar dan mengodekannya kedalam bentuk yang dapat digunakan oleh computer bila computer menghadapi persoalan yang sejenis. Dalam mengenal system pakar terdapat ciri dan kelebihan yang dimiliki oleh system pakar, yaitu : [Sandi Setiawan, 1993] 1. Ciri – ciri Sistem Pakar.
27
Ciri – ciri dari sistem pakar adalah : a. Terbatas pada domain keahlian tertentu. b. Dapat memberikan penalaran untuk data – data yang tidak pasti. c. Dapat mengemukakan rangkaian alasan – alas an yang diberikannya dengan cara yang dapat dipahami. d. Berdasarkan pada kaidah / rule tertentu. e. Dirancang untuk dapat dikembangkan secara bertahap. f. Pengetahuan dan mekanisme inferensi jelas terpisah. g. Keluarannya bersifat anjuran. h. Sistem dapat mengaktifkan kaidah secara searah yang sesuai, dituntun oleh dialog dengan pemakai.
2
Keunggulan Sistem Pakar. Beberapa keuntungan penerapan Sistem Pakar adalah sebagai berikut : a. Membuat seorang yang awam bekerja seperti layaknya seorang pakar. b. Meningkatkan produktivitas akibat meningkatnya kualitas hasil pekerjaan, meningkatnya kualitas pekerjaan ini disebabkan meningkatnya efisiensi kerja. c. Menghemat waktu kerja. d. Menyederhanakan pekerjaan. e. Merupakan arsip yang terpercaya dari sebuah keahlian, sehingga bagi pemakai system pakar akan seolah-olah berkonsultasi langsung dengan sang pakar, meskipun mungkin sang pakar telah meninggal.
28
f. Memperluas jangkauan dari keahlian seorang pakar. Diminta sebuah system pakar yang telah disahkan, akan sama saja artinya dengan seorang pakar yang tersedia dalam jumlah besar (dapat diperbanyak dengan kemampuan yang persis sama), dapat diperoleh dan dipakai dimana saja.
3. Kemampuan Tambahan Untuk lebih meningkatkan kemampuan program sistem pakar, diperlukan komponen – komponen tambahan yaitu fasilitas penjelasan, kemudahan memodifikasi, kompatibilitas dan kemampuan belajar. a. Fasilitas Penjelasan Biasanya pada saat pertama kali menggunakan sistem pakar, para pemakai akan terkejut akan kecepatan system pakar dalam pengambilan keputusan. Rasa terkejut ini dapat jadi akan berkembang menjadi rasa tidak percaya pada kebenaran kesimpulan yang diambil, untuk itulah diperlukan suatu fasilitas untuk menjelaskan bagaiman prosesnya sampai kesimpulan tersebut diperoleh. Biasanya penjelasan ini dengan cara memperhatikan “rule-rule” yang digunakan. Fasilitas penjelasan ini penting untuk menambah rasa percaya pemakai pada hasil keluaran program system pakar yang digunakan. b. Kemudahan memodifikasi Kemudahan memodifikasi merupakan suatu hal penting, dikarenakan ilmu pengetahuan itu berkembang terus dan kemampuan seorang pakar juga akan bertambah terus. Oleh sebab itu sebuah program sistem pakar harus mudah untuk dimodifikasi, terutama dalam hal basis pengetahuan dari system pakar tersebut.
29
c. Kompatibilitas Kompatibilitas adalah kemampuan dari program sistem pakar untuk dijalankan pada suatu konfigurasi computer tertentu dan ini kadang menyulitkan. Kemampuan suatu program system pakar untuk dijalankan pada berbagai jenis komputer, merupakan suatu nilai lebih, sebab akan memperluas pemakaian system pakar tersebut. 4. Kemampuan Belajar. Yang dimaksud kemampuan belajar di sini adalah kemampuan suatu sistem pakar untuk menambah sendiri pengetahuannya, selama interaksinya dengan pemakai. Beberapa system pakar saat ini telah memiliki kemampuan tersebut, kemampuan belajar ini merupakan syarat utama bagi program Sistem Pakar di masa depan.
2.2. Cara Kerja Sistem Pakar
2.2.1 Basis Pengetahuan Jantung sistem pakar adalah pengetahuan. Dalam software kecerdasan buatan terdapat banyak metoda yang berbeda dalam menampilkan pengetahuan. Perencanaan dapat memilih predikat kalkulus, list frame, semantic work, script dan kaidah produksi. Di pihak lain, melalui pengalaman yang panjang, kita bisa memastikan bahwa salah satu metoda terbaik untuk menampilkan pengetahuan ke dalam expert system adalah kaidah produksi. Hampir semua system pakar komersial dan eksperimental menggunakan kaidah IF-THEN.
30
2.2.2. Kaidah IF – THEN Kaidah produksi sangat popular karena formatnya sangat fleksibel. Hampir semua macam pengetahuan bisa ditulis dalam bentuk yang sesuai dengan format kaidah IFTHEN. Kaidah semacam ini umumnya sangat mudah ditulis dan secara relative mudah membentuk pengakalan pengetahuan yang impresif dengan cepat. Kaidah produksi di format dalam dua bagian. Pertama bagian IF yang menyatukan premis, kondisi atau atencedent. Biasanya disebut kaidah sebelah kiri. Kedua, bagian kaidah produksi THEN yang menyatakan konklusi, seksi atau konsekuensi yang akan menggantikan kondisi sebelah kiri, bila ternyata sudah sesuai. Jika premis benar atau kondisinya cocok, maka bagian sebelah kanan benar. Kaidah ini disebut picu. Jika kaidah sebelah kanan bisa diimplementasikan, maka kaidah tersebut sudah di picu..
2.2.3
Representasi Pengetahuan Hampir semua kecerdasan buatan terbuat dari dua bagian pokok, yaitu basis
pengetahuan dan mesin inferensi. Basis pengetahuan berisi fakta-fakta tentang obyek dalam domain yang ditentukan dan saling berhubungan satu sama lain. Seluruh program kecerdasan buatan difokuskan pada domain tertentu. Dasar pengetahuan juga bisa berisi pikiran, teori, prosedur praktis dan saling hubungannya. Basis pengetahuan membentuk sumber sistem intelegensia dan digunakan oleh mekanisme inferensi untuk melakukan penalaran dan menarik kesimpulan. Mesin inferensi adalah suatu rangkaian prosedur yang digunakan untuk menguji dasar pengetahuan dengan cara yang sistematik pada saat menjawab pertanyaan, memecahkan
31
persoalan atau membuat keputusan dalam suatu domain yang ditentukan. Cara komputer “berpikir” tentang subjek domain, mekanisme inferensi melakukan pelacakan melalui dasar pengetahuan untuk mencari jawaban atau solusi. Langkah pertama dalam membuat program kecerdasan buatan adalah membangun basis pengetahuan. Basis pengetahuan berisi tentang fakta-fakta mengenai suatu obyek. Agar komputer bisa berfikir dan bertingkah laku seperti seorang pakar, maka ia harus mempunyai pengetahuan terlebih dahulu tentang suatu domain tertentu. Proses pengumpulan dan pengorganisasian pengetahuan disebut rekayasa pengetahuan. Inilah barangkali yang paling sulit dan memerlukan waktu yang banyak dalam proses pembuatan program kecerdaan buatan. Representasi pengetahuan mempunyai dua karakteristik umum. Pertama bisa diprogram dengan bahasa komputer yang ada dan disimpan di dalam memori. Kedua, dirancang agar fakta-fakta dan pengetahuan lainnya yang terkandung di dalamnya bisa digunakan untuk penalaran. Sistem inferensi menggunakan teknik pelacakan dan pencocokan pola dalam pangkalan pengetahuan agar bisa menjawab pertanyaan, menarik kesimpulan atau tugas-tugas lain yang bersifat intelegensi.
2.2.4
Mesin Inferensi
Mekanisme inferensi adalah bagian dari system pakar yang melakukan pelacakan dengan menggunakan isi daftar aturan berdasarkan urutan dan pola tertentu. Selama proses konsultasi antar system dan pemakai, mekanisme inferensi menguji aturan satu demi satu sampai kondisi aturan itu benar.
32
Secara umum 2 (dua) teknik utama yang digunakan dalam mekanisme inferensi untuk pengujian aturan, yaitu pelacakan maju (forward chaining) dan pelacakan mundur (backward chaining). Ada 2 (dua) tehnik inferensi dalam pemecahan masalah, yaitu : 1. Metode Pelacakan Maju ( Forward Chaining) Metode ini melakukan pelacakan mulai dari fakta – fakta atau aturan yang diberikan, lalu melakukan pengecekan terhadap bagian dari aturan tersebut. Apakah kondisinya benar atau salah. Jika kondisi benar maka bagian lain dari aturan tersebut juga benar. Pelacakan dengan cara ini dilakukan sampai didapatkan suatu kesimpulan. Metode ini di kenal dengan data driven. (lihat gambar 2.1)
Gambar 2.1 Metode Pelacakan Maju
33
2. Metode Pelacakan Mundur ( Backward Chaining ) Metode ini melakukan penelusuran baik mulai dari tujuan (goal). Kemudian ke aturan – aturan dan sampai akhirnya diperoleh fakta-fakta. Dalam kasus ini, tujuannya sudah ditentukan dan system pakar mencoba menemukan kondisi apa saja yang dibutuhkan untuk mencapai tujuan. (lihat gambar 2.2)
Gambar 2.2 Metode Pelacakan Mundur
3. Antar Muka Pemakai ( User Interface) Antar muka pemakai adalah bagian dari suatu system pakar yang merupakan suatu sarana penghubung antara pemakai (user) dan system pakar. Pada bagian ini akan terjadi interaksi antara pemakai dengan system pakar, di mana system pakar akan mengajukan pertanyaan – pertanyaan dan pemakai akan menjawab dengan “ Ya” atau “Tidak” pertanyaan dan jawaban akan ditampilkan dalam bentuk menu. Dari jawaban yang diberikan oleh user, system akan melakukan pencarian kesimpulan yang paling sesuai.
34
Selain teknik penalaran, diperlukan juga teknik penelusuran data dalam bentuk network atau jaringan yang terdiri atas node-node berbentuk tree atau pohon.
Ada 3 (tiga) teknik yang digunakan dalam proses penelusuran data, yaitu Depth First Search, Breadth Fisrt Search dan Best Fisrt Search. 1. Pencarian mendalam pertama (Depth First Search) Depth First Search adalah tehnik penelusuran data pada node-node secara vertical dan sudah terdefinisikan, misalnya dari kiri ke kanan. Keuntungan pencarian dengan tehnik ini adalah bahwa penelusuran masalah dapat digali secara mendalam sampai ditentukannya kepastian suatu solusi yang optimal. Kekurangan tehnik penelusuran ini adalah membutuhkan waktu yang sangat lama untuk ruang lingkup masalah yang besar. 2. Pencarian melebar pertama (Breadth First Search) Pencarian melebar pertama atau Breadth First Search bergerak dari simpul akar, simpul yang ada pada setiap tingkat diuji sebelum pindah ke tingkat selanjutnya. Metode ini memulai pencarian dari akar dan dilanjutkan ke level selanjutnya. Pencarian dilakukan dengan melacak semua node yang memiliki level yang sama sampai menemukan solusi. 3. Pencarian terbaik pertama (Best First Search) Ada alternatif lain penelusuran data selain kedua penelusuran tersebut, yaitu Best First Search.
35
Penelusuran Best Fisrt Search adalah penelusuran yang menggunakan pengetahuan akan suatu masalah untuk melakukan panduan pencarian kea rah node tempat dimana solusi berada. Pendekatan yang dilakukan adalah mencari solusi yang terbaik berdasarkan pengetahuan yang dimiliki sehingga penelusuran dapat ditentukan harus dimulai darimana dan bagimana menggunakan proses terbaik untuk mencari solusi. Keuntungan penelusuran ini adalah mengurangi beban komputasi karena hanya solusi yang memberikan harapan saja yang diuji dan akan berhenti apabila solusi sudah mendekati yang terbaik. Ini merupakan model yang menyerupai cara manusia mengambil solusi. Hanya saja solusi yang akan di ambil bisa salah dan tidak ada jaminan bahwa solusi yang dihasilkan merupakan solusi yang mutlak dan benar.
2.3 UML UML
atau
Unified
Modelling
Languange
adalah
bahasa
grafis
untuk
mendokumentasikan, menspesifikasikan, dan membangun sistem perangkat lunak. UML berorientasi objek, menerapkan banyak level abstraksi, tidak bergantung proses pengembangan bahasa dan teknologi. Menurut Bambang Hariyanto (2004), tujuan utama perancangan UML adalah : 1. Menyediakan bahasa pemodelan visual yang ekspresif dan siap pakai untuk mengembangkan dan pertukaran model – model yang berarti. 2. Menyediakan mekanisme perluasan dan spesialisasi untuk memperluas konsep – konsep inti.
36
3. Mendukung spesifikasi independent bahasa pemrograman dan pengembangan dan pengembangan proses tertentu. 4. Menyediakan basis formal untuk pemahaman bahasa pemodelan. 5. Mendorong pertumbuhan pasar kakas berorientasi objek. 6. Mendukung konsep-konsep pengembangan level lebih tinggi seperti komponen, kolaborasi, framework dan pattern
Konsep-konsep yang diterapkan di UML adalah satu model berisi informasi mengenai sistem, model-model berisi elemen-elemen model seperti kelas-kelas, simpul-simpul, paket-paket dan sebagainya. Satu diagram menunjukan satu pandangan tertentu dari model. UML merupakan bahasa generic dan diagram yang sama yang dugunakan untuk memodelkan hal-hal berbeda pada fase-fase yang berbeda. Bahasa UML hanya menyediakan kemampuan menciptakan model secara ekspresif dan konsisten.
2. 3.1 Diagram Use Case Diagram Use Case merupakan salah satu diagram untuk memodelkan aspek perilaku sistem. Masing – masing diagram use case menunjukan sekumpulan use case, actor dan hubungannya. Diagram Use Case adalah penting untuk menvisualisasikan, menspesifikasikan dan mendokumentasikan kebutuhan perilaku sistem. Diagram-diagram use case merupakan pusat pemodelan perilaku sistem, subsistem dan kelas.
37
Elemen diagram use case antara lain : 1. Aktor Aktor adalah pemakai sistem, dapat berupa manusia atau sistem terotomatisasi lain. Aktor adalah sesuatu atau seseorang yang berinteraksi dengan sistem, yaitu siapa atau apa yang menggunakan sistem. Aktor memiliki nama yang dipilih seharusnya menyatakan peran actor. Aktor berkomunikasi dengan sistem lewat pengiriman dan penerimaan pesan. Use Case selalu diawali oleh actor yang mengirim pesan, disebut dengan stimulus. Ketika satu use case dilakukan, use-casee dapat mengirim pesan ke satu actor atau lebih.
2. Use-Case Use-case
melibatkan
interaksi
antara
actor-aktor
dan
sistem.
Use-case
mengemukakan suatu kerja yang tampak. Dari perspektif actor, use-case melakukan sesuatu yang berguna bagi actor seperti menghitung sesuatu, menghasilkan objek baru atau mengubah state objek lain. Use-case dapat digunakan untuk memodelkan perilaku sistem yang dikehendaki sekaligus untuk mengembangkan kasus pengujian. 3. Hubungan ketergantungan, generalisasi dan asosiasi Hubungan antar use-case dengan use-case yang lain berupa generalisasi anatara lain : - Include, yaitu perilaku use-case merupakan bagian dari use-case yang lain. - Extend, yaitu perilaku use-case memperluas perilaku use-case yang lain.
Diagram Use-case digunakan untuk mendeskripsikan apa yang seharusnya dilakukan oleh sistem. Diagram Use-Case menyediakan cara mendeskripsikan pandangan eksternal
38
terhadap sistem dan interaksi-interaksinya dengan dunia luar. Dengan cara ini, diagram use-case menggantikan diagram konteks pada pemodelan konvensional. Contoh diagram use case dapat dilihat pada gambar 2.3.
Gambar 2.3 Diagram Use Case Seperti terlihat pada gambar 2.3, use case memiliki notasi – notasi yang akan dijelaskan pada tabel 2.1 sebagai berikut :
Tabel 2.1 Notasi Diagram Use Case No.
1
Notasi
Keterangan
Aktor adalah sesuatu atau seseorang yang berinteraksi dengan sistem, yaitu siapa atau apa yang menggunakan sistem.
2
Use case mengidentifikasi gambaran dari sebuah sistem. Setiap use case menyatakan sebuah tujuan yang harus dicapai oleh sebuah sistem.
39
Tabel 2.1 Notasi Diagram Use Case ( Lanjutan )
3
Asosiasi mengidentifikasikan sebuah interaksi antara actor dan use case. Asosiasi merupakan sebuah dialog yang harus dijelaskan dalam narasi use case.
4 Dependensi
mengidentifikasikan
sebuah
hubungan
komunikasi diantara dua use case.
5
Generalisasi mengidentifikasikan hubungan antar dua actor atau dua use case dimana sebuah use case mewariskan dan menambahkan melalui property lainnya.
2.4. USG ( ULTRASONOGRAFI )
2.4.1
Pengertian USG Ultrasonografi ( USG ) merupakan salah satu imaging disgnostic ( pencitraan
diagnostik ) untuk pemeriksaan alat – alat tubuh di mana kita dapat mempelajari bentuk ,ukuran ,anatomis ,gerakan serta hubungan dengan jaringan sekitarnya. Pemeriksaan ini
40
bersifat noninvasif ,tidak menimbulkan rasa sakit pada penderita ,dapat dilakukan dengan cepat ,aman , dan data yang diperoleh mempunyai nilai diagnostik yang tinggi. Tidak ada kontra indikasinya karena pemeriksaan ini sama sekali tidak akan memperburuk penyakit penderita. Dalam 20 tahun terakhir ini diagnostik ultrasonic berkembang dengan pesatnya sehingga saat ini USG mempunyai peranan yang sangat penting untuk menentukan kelainan berbagai organ tubuh.
2.4.2
Prinsip USG Ultrasonik adalah gelombang suara dengan frekuensi lebih tinggi daripada
kemampuan pendengaran telinga manusia sehingga kita tidak dapat mendengarnya sama sekali. Suara yang dapat didengar manusia mempunyai frekuensi antara 20 – 20.000 Cpd ( Cicles per detik = Hz ). Pemeriksaan USG ini menggunakan gelombang suara yang frekuensinya 1 – 10 MHz ( 1 – 10 juta Hz ). Gelombang suara frekuensi tinggi tersebut dihasilkan dari kristal – kristal yang terdapat dalam suatu alat yang bernama transduser. Perubahan bentuk akibat gaya mekanis pada kristal akan menimbulkan tegangan listrik. Fenomena ini disebut efek piezo – electric , yang merupakan dasar perkembangan USG selanjutnya. Bentuk kristal juga akan berubah bila dipengaruhi oleh medan listrik. Sesuai dengan polaritas medan listrik yang melaluinya, kristal akan mengembang dan mengerut maka akan dihasilkan gelombang suara frekuensi tinggi.
41
2.4.3
Cara Kerja Alat Ultrasonografi Transduser bekerja sebagai pemancar dan sekaligus penerima gelombang suara.
Pulsa listrik yang dihasilkan oleh generator diubah menjadi energi akustik oleh transduser, yang dipancarkan dengan arah tertentu pada bagian tubuh yang akan dipelajari.
Sebagian
akan dipantulkan dan sebagian lagi akan merambat terus
menembus jaringan yang akan menimbulkan bermacam – macam echo sesuai dengan jaringan yang dilaluinya. Pantulan echo yang berasal dari jaringan – jaringan tersebut akan membentur transduser dan kemudian diubah menjadi pulsa listrik lalu diperkuat dan selanjutnya diperlihatkan dalam bentuk cahaya pada layer osiloskop ( oscilloscops ). Dengan demikian bila transduser digerakkan seolah – olah kita melakukan irisan - irisan pada bagian tubuh yang diinginkan dan gambaran – gambaran irisan tersebut akan dapat dilihat pada layer monitor. Masing – masing jaringan tubuh mempunyai impedance acustic tertentu. Dalam jaringan yang heterogen akan ditimbulkan bermacam – macam echo, jaringan tersebut dikatakan echogenic.Sedang pada jaringan yang homogen hanya sedikit atau sama sekali tidak ada echo, disebut anechoic atau echofree atau bebas echo. Suatu rongga berisi cairan yang bersifat anechoic, misalnya : kista, asites, pembuluh darah besar, perikardial, atau pleural effusion. Dengan demikian kista dan suatu massa solid akan daapat dibedakan.
42
2.4.4
Display Modes Echo yang berasal dari jaringan dapat diperlihatkan dalam bentuk : 1. A – mode Dalam system ini gambar yang diperoleh berupa defleksi vertical pada osiloskop. Besar amplitude setiap defleksi sesuai dengan enersi echo yang diterima oleh transduser. Biasanya dipakai dalam pemeriksaan serebral. 2. B – mode Pada layer monitor ( screen ) echo nampak sebagai sebagai suatu seri titik dan garis terang dan gelapnya bergantung pada intensitas echo yang dipantulkan. Dengan sistem ini maka diperoleh gambaran dalam 2 dimensi berupa penampang irisan tubuh, cara ini disebut B Scan. 3. M – mode Alat ini biasa dipakai untuk memeriksa jantung. Transduser tidak digerakkan. Di sini jarak antara transduser dengan organ yang memantulkan echo selalu berubah, misalnya jantung dan katubnya. 4. Gambar pada layar monitor berupa garis – garis bergelombang.
2.4.5
Kelemahan USG Suatu kelemahan yang umum pada pemeriksaan USG disebabkan karena USG
tidak mampu menembus bagian tertentu badan. Tujuh puluh persen gelombang suara yang mengenai tulang akan dipantulkan sedang pada perbatasan rongga – rongga yang mengandung gas, 99 % dipantulkan. Dengan demikian pemeriksaan USG paru dan tulang
43
pelvis belum dapat dilakukan. Dan diperkirakan 25 % pemeriksaan di abdomen diperoleh hasil yang kurang memuaskan karena gas dalam usus. Penderita gemuk agak sulit karena lemak yang banyak akan memantulkan gelombang suara sangat kuat.
2.4.6
Pemakaian Klinis USG digunakan untuk membantu menegakkan diagnosis dalam berbagai kelainan
organ tubuh. USG digunakan antara lain : 1.
Menemukan dan menentukan letak massa dalam rongga perut dan pelvis.
2.
Membedakan kista dengan massa yang solid.
3.
Mempelajari pergerakan organ ( jantung, aorta, vena kava ) maupun pergerakan janin dan jantungnya.
4.
Pengukuran dan penentuan volume. Pengukuran aneurisma arterial , fetal – sefalometri, menentukan letak dan kedalaman suatu massa untuk biopsy. Menentukan volum massa ataupun organ tubuh tertentu ( misalnya : buli – buli, ginjal, kandung empedu, uterus, ovarium dll. )
5.
Biopsi jarum terpimpin. Arah dan gerakan jarum menuju ke sasaran dapat dimonitor pada layer USG.
6.
Menentukan perencanaan dalam suatu radioterapi. Berdasarkan besar tumor dan posisinya, dosis radioterapi dapat dihitung dengan cepat. Selain itu setelah radioterapi, besar dan posisi tumor dapat pula diikuti.
44
2.5 Bahasa Java Java
merupakan bahasa pemrograman serbaguna, yang dikembangkan oleh Sun
Microsystem pada agustus 1991, dengan nama semula Oak. Pada Januari 1995, karena nama Oak dianggap kurang komersial, maka diganti menjadi Java. Dalam sejumlah literatur disebutkan bahwa Java merupakan hasil perpaduan sifat dari sejumlah bahasa pemrograman, yaitu C, C++, object-C, SmallTalk, dan common LISP. Program Java bersifat tidak bergantung pada platform, artinya Java dapat dijalankan pada sebarang komputer dan bahkan pada sebarang sistem operasi.
Program Java dapat dibedakan menjadi dua jenis, yaitu : 1.
Applet adalah program yang dibuat dengan Java, dapat diletakkan pada web server dan diakses melalui web browser.
2.
Aplikasi adalah program yang dibuat dengan Java yang bersifat umum. Aplikasi dapat dijalankan secara langsung, tidak perlu perangkat lunak browser untuk menjalankannya (Abdul Kadir,2005:2-8).
Untuk mengembangkan aplikasi berbasis Java, memerlukan Java Development Kit (JDK). Java 2 platform, dibagi menjadi tiga kategori, yaitu : 1. Java 2 Standard Edition (J2SE) Kategori ini digunakan untuk mengembangkan dan menjalankan aplikasi Java berbasis PC.
45
2. Java 2 Enterprise Edition (J2EE) Kategori ini digunakan untuk mengembangkan dan menjalankan aplikasi Java pada lingkungan enterprise, dengan fungsi-fungsi seperti Enterprise Java Bean (EJB), COBRA, Servlet dan Java Server Page (JSP).
3. Java 2 Micro Edition (J2ME) Kategori ini digunakan untuk mengembangkan dan menjalankan aplikasi Java berbasis handheld device, seperti Personal Data Assistant (PDA), handphone dan pocketPC (Setiyo Cahyono,2006:2-3).
46
BAB III PENGETAHUAN TENTANG PENYAKIT DALAM
3.1 Penyakit Hepar Penyakit hepar terutama hepatitis yang disebabkan oleh virus (terutama virus hepatitis B) saat ini melanda dunia baik di negara maju maupun negara berkembang. Munculnya virus baru yaitu virus Hepatitis E menimbulkan hepatitis akut yang sporadik terutama pada usia dewasa (60%). 3.1.1 Keadaan Normal • Tidak ada massa ( benda asing ) • Tidak ada acites ( cairan ) • Permukaan licin / rata • Kontur ( sudut ) tajam
3.1.2 Keadaan Tidak Normal 1. Gagal Jantung Kongestif •
Vena hepatika berdilatasi ( melebar )
•
Diameter vena kava inferior tidak berubah
•
Adanya efusi pleura di atas diafragma
2. Hepatitis akut
47
•
Tidak terdapat perubahan sonografik
•
Hepar membesar
•
Adanya nyeri bila ditekan
3. Hepatomegali tropikal •
Pembesaran hepar
•
Adanya splenomegali
4. Skistosomiosis •
Hepar membesar
•
Penebalan vena porta
•
Cabang – cabang utama hepar menjadi sangat ekogenik
•
Vena linealis melebar
•
Ditemukan hipertensi porta
5. Hemangioma •
Bentuknya bulat tepi tegas tidak licin
•
Struktur eko dengan sonodensitas rendah
•
Terdapat bercak – bercak kalsifikasi
•
Tidak ada peningkatan densitas pada struktur eko
6. Kista hati •
Terlihat sebagai lesi – lesi anekoik yang bulat atau oval
•
Mempunyai dinding tipis dan rata
•
Struktur eko lebih hiperekoik
48
3.2 Penyakit Kandung Empedu Kandung empedu merupakan organ berbentuk buah pir kecil yang terletak diperut sebelah kanan, dan tersembunyi di bawah hati. Kandung empedumenyimpan cairan empedu yang dihasilkan oleh hati. Selama makan, kandung empedu akan berkontraksi (menciut) sehingga mengeluarkan sedikit cairan empedu yang berwarna hijau kecoklatan ke dalam usus halus. Cairan empedu berguna dalam penyerapan lemak dan beberapa vitamin, seperti vitamin A,D,E, dan K. Empedu merupakan campuran dari asam empedu, protein, garam-garam kalsium,pigmen dan unsur lemak yang disebut kolesterol.Sebagian dari empedu yang memasuki usus halus akan diteruskan dan dikeluarkan melalui feses. Kelainan utama yang dapat timbul pada kandung empedu adalah terbentuknya batu. Hal ini juga dapat terjadi pada saluran empedu. Batu empedu disebabkan oleh perubahan secara kimiawi pada empedu seseorang. Batu empedu terbentuk dari endapan kolesterol, pigmen bilirubin dan garam kalsium yang mengeras, namun kebanyakan batu kandung empedu terbentuk dari kolesterol. Timbulnya batu empedu akan menjadi masalah bila masuk ke salah satu saluran yang menuju ke usus halus. Kadang-kadang batu dapat terbentuk dalam saluran empedu itu sendiri, misalnya karena bekas jahitan pada suatu operasi. Pada kandung empedu, batu dapat menyebabkan peradangan yang disebut kolestitis akut, hal ini karena adanya pecahan batu empedu di dalam saluran empedu yang menimbulkan rasa sakit. Batu-batu yang melalui kantong empedu dapat menyangkut di dalam hati dan saluran empedu, sehingga menghentikan aliran dari empedu ke dalam saluran pencernaan. Di samping itu, terdapat faktor lainnya yang memulai terjadinya proses
49
pembentukan batu empedu. Unsur ini bisa berupa protein yang terdapat pada cairan lendir yang dibentuk kandung empedu dalam jumlah kecil. Hal ini memungkinkan kolesterol, bilirubin, dan garam kalsium membentuk partikel seperti kristal padat. Bentuk dari batu empedu bermacam-macam,yaitu batu yang terbentuk dari kolesterol berwarna kuning dan mengkilat seperti minyak, batu yang terdiri dari pigmen bilirubin bisa berwarna hitam tetapi keras atau berwarna coklat tua tetapi rapuh. Ukurannya juga bermacam-macam dari yang kecil hingga sebesar batu kerikil, tetapi rata-rata berdiameter 1 - 2 cm. Meskipun penyakit kantong empedu tidak menunjukkan gejala, pada keadaan memburuk gejala yang biasa ditimbulkan adalah serangan pada waktu makan makanan yang mengandung lemak tinggi jika seseorang sudah mengidap batu empedu. Hal ini terjadi karena lemak tersebut memicu hormon merangsang kantung empedu berkontraksi sehingga memaksa empedu yang tersimpan masuk ke dalam duodenum yaitu jalan keluar menuju usus kecil, jika batu menghambat aliran empedu maka akan timbul gejala seperti sakit yang akut pada sebelah kanan atas perut dan mengarah ke punggung, antara bahu dan ke dada depan. Gejala lainnya yaitu kolik, sendawa, gas dalam perut, gangguan pencernaan, berkeringat, mual, muntah,kedinginan, suhu tubuh agak tinggi, penyakit kuning (bila batu empedu menghalangi saluran empedu), dan feses berwarna coklat.
3.2.1 Keadaan Normal •
Terlihat seperti buah per
•
Ukuran tidak melebihi 4 cm
•
Tebal kandung empedu antara 1 mm – 3 mm
50
•
Tidak tampak massa ( batu empedu )
3.2.2 Keadaan Tidak Normal 1. Kolelitiasis •
Batu empedu terlihat sebagai gambaran hiperekoik yang bebas pada kandung empedu
•
Batu empedu membentuk bayangan di bawah kandung empedu
•
Batu empedu yang kecil dan tipis kadang – kadang tidak memperlihatkan bayangan
2. Lumpur empedu ( sludge ) •
Menempati bagian terendah dari kandung empedu
•
Membentuk lapisan permukaan
•
Tidak memberikan bayangan akustik
•
Mempunyai viskositas yang lebih tinggi daripada cairan empedu
3. Kolesistisis akut •
Sering ditemukan batu
•
Ada penebalan dinding kandung empedu
•
Terlihat eko cairan di sekeliling kandung empedu
•
Terasa nyeri bila ditekan
4. Kolesistisis kronik •
Kandung empedu tidak terlihat
•
Dinding kandung empedu menjadi sangat tebal
•
Eko cairan terlihat hiperekoik
51
•
Kandung empedu mengisut
•
Hanya eko batunya yang terlihat pada fossa vesika felea
5. Polip •
Terlihat sebagai gambaran hiperekoik
•
Bentuknya bulat atau oval
•
Terletak dekat dinding kandung empedu
•
Mempunyai batas yang tegas
•
Tidak memberikan bayangan akustik
•
Tidak berubah letaknya
6. Keganasan •
Terlihat sebagai massa
•
Mempunyai batas yang tidak rata
•
Melebar sampai ke parenkim hati
•
Kandung empedu membesar
•
Terlihat area anekoik sekeliling kandung empedu
3.3 Penyakit Pankreas Pankreas adalah kelenjar panjang yang agak menyempit. Letaknya di belakang usus duabelas jari dan mengandung sekumpulan sel yang disebut kepulauan Langerhans. Kepulauan Langerhans ini menghasilkan hormon insulin dan glukagon yang digunakan untuk mengatur jumlah gula dalam darah. Insulin akan mengubah kelebihan glukosa darah menjadi glikogen untuk kemudian menyimpannya di dalam hati dan otot. Suatu
52
saat ketika tubuh membutuhkan tambahan energi, glikogen yang tersimpan di dalam hati akan diubah oleh glukagon menjadi glukosa yang dapat digunakan sebagai energi tambahan. Pankreas juga mengandung sel yang menghasilkan getah pankreas. Getah pankreas adalah getah pencernaan yang mempunyai peran penting dalam mengolah tiga kelompok bahan makanan organik utama, yaitu karbohidrat, protein, dan lemak. Getah pankreas ini terutama terdiri dari air, bikarbonat, dan enzim yang dapat dibedakan atas enzim tripsin, enzim amilase, serta enzim lipase. Getah pankreas dialirkan ke usus duabelas jari melalui dua saluran di sepanjang pankreas. Pada usus duabelas jari, bikarbonat menetralisir chymus asam. Tripsin bekerja atas protein dalam makanan dan membantu menyempurnakan proses pencernaan makanan di dalam lambung bersama-sama dengan enzim pepsin yang dihasilkan oleh lambung. Amilase berperan dalam melanjutkan proses pemecahan karbohidrat yang telah dimulai oleh enzim ptyalin dalam air ludah. Sementara itu, lipase mempunyai peran yang tak kalah penting dalam proses pemecahan lemak.
3.3.1 Keadaan Normal •
Bentuknya homogen
•
Garis bentuk pancreas mulus
•
Diameter rata – rata kaput pancreas : 2.8 cm
•
Diameter rata – rata bagian medial korpus pancreas kurang dari 2 cm
•
Diameter rata – rata kauda pancreas : 2.5 cm
•
Diameter duktus pankreatikus tidak boleh melebihi 2mm
53
3.3.2 Keadaan Tidak Normal 1. Pankreatitis akut •
Intensitas eko pankreas lebih tinggi daripada intensitas eko hati
•
Terjadi peradangan pankreas
•
Intensitas eko berkurang bahkan habis
•
Batas pankreas menjadi kabur dan ireguler
•
Terjadi pembesaran lokal pada karsinoma
2. Pankreatitis kronik •
Adanya peninggian intensitas eko jaringan yang menyeluruh
•
Pankreas membesar
•
Kontur menjadi ireguler
•
Gambaran eko struktur jaringan menjadi agak heterogen
•
Ditemukan pelebaran saluran pankreas yang ireguler
3. Karsinoma pankreas •
Pembesaran parsial pankreas
•
Konturnya ireguler
•
Struktur eko yang rendah atau semisolid
•
Disertai pendesakan vena kava ataupun vena mesenterika superior
•
Disertai pelebaran saluran – saluran bilier atau metastatis di hati
54
3.4 Penyakit Ginjal Ginjal berfungsi sebagai alat filtrasi, yaitu mengeluarkan kelebihan garam, air, dan asam. Serta membuang atau mengatur elektrolit seperti K, Ca, Mg, PO4, membuang sisa metabolisme tubuh, dan bertugas melakukan sekresi untuk menghasilkan EPO yang berfungsi untuk mengatur Haemoglobin darah (HB), aktivasi vitamin D untuk kesehatan tulang,
serta
mensekresi
renin
untuk
mengatur
tekanan
darah.
Nah, penyakit ginjal yang diderita oleh manusia itu terbagi menjadi penyakit ginjal akut, penyakit ginjal kronik, dan gagal ginjal. Pada kasus gangguan prerenal disebabkan oleh gangguan pembuluh darah sebelum masuk ginjal, yang ditandai dengan hipovolemia, sindroma
hepatorenal,
gangguan
pembuluh
darah,
dan
sepsis
sistemik.
Kerusakan pada jaringan ginjal itu sendiri, disebabkan oleh racun-racun yang masuk melalui mulut, penghancuran jaringan otot. Sementara hemolisis disebabkan oleh pelbagai
penyakit
seperti
penyakit
sickle-cell
dan
lupus.
Berbeda
dengan
glomerulonefritis akut yang banyak disebabkan oleh SLE, kuman streptokokus akibat infeksi
tenggorokan
maupun
gigi,
dan
sebagainya.
3.4.1 Keadaan Normal •
Kedua ginjal memiliki ukuran yang kurang lebih sama , perbedaan panjang tidak lebih dari 2 cm
•
Panjang antara 9 cm – 12 cm
•
Lebar antara 4 cm – 6 cm
•
Tebal kurang dari 3.5 cm
•
Tidak ada massa ( benda asing )
55
•
Tidak ada batu ginjal
3.4.2 Keadaan Tidak Normal 1. Gagal ginjal •
Gambaran korteks lebih tinggi dibandingkan dengan korteks normal
•
Ukuran ginjal mengecil
•
Adanya bercak – bercak pada yang disertai acoustic shadow di bawah korteks
•
Piramis ginjal akan menghilang
2. Nefritis kronik •
Ukuran ginjal lebih kecil daripada normal
•
Ekokorteks memperlihatkan sonodensitas meninggi
•
Gambaran bercak – bercak / garis – garis anekoik dari sistem kalises pada sinus renal berkurang
3. Ginjal kronik •
Korteks ireguler
•
Korteks menipis
•
Ekokorteks hiperekoid
•
Hiperekoik sistem kalises hampir tidak terlihat
4. Nefritis akut •
Korteks lebih tebal
•
Korteks lebih hiperekoik
•
Terlihat adanya kaliektasis karena rejeksi
( Hiperekoik )
56
5. Ginjal mengisut ( contracted kidney ) •
Ukuran ginjal sangat kecil
•
Korteks menipis
•
Korteks hiperekoik
•
Sistem kolekting sangat berkurang
3.5 Hasil Diagnosa Tabel 3.1 Hasil Diagnosa Ciri-ciri Fisik
No
Hasil Diagnosa
1
- Vena hepatika berdilatasi ( melebar ) - Diameter vena kava inferior tidak berubah - Adanya efusi pleura di atas diafragma
Gagal Jantung Kongestif
2
-
Tidak terdapat perubahan sonografik Hepar membesar Adanya nyeri bila ditekan
Hepatitis akut
3
-
Pembesaran hepar Adanya splenomegali
Hepatomegali tropikal
4
-
Hepar membesar Skistosomiosis Penebalan vena porta Cabang – cabang utama hepar menjadi sangat ekogenik Vena linealis melebar Ditemukan hipertensi porta Tabel 3.1 Hasil Diagnosa ( Lanjutan )
-
5
-
Bentuknya bulat tepi tegas tidak licin Struktur eko dengan sonodensitas rendah Terdapat bercak – bercak kalsifikasi Tidak ada peningkatan densitas pada struktur eko Kista hati
Hemangioma
6
-
Terlihat sebagai lesi – lesi anekoik yang bulat atau Kista hati oval
57
7
-
8
-
9
Mempunyai dinding tipis dan rata Struktur eko lebih hiperekoik Batu empedu terlihat sebagai gambaran Kolelitiasis hiperekoik yang bebas pada kandung empedu Batu empedu membentuk bayangan di bawah kandung empedu Batu empedu yang kecil dan tipis kadang – kadang tidak memperlihatkan bayangan Menempati bagian terendah dari kandung empedu Lumpur empedu ( sludge ) Membentuk lapisan permukaan Tidak memberikan bayangan akustik Mempunyai viskositas yang lebih tinggi daripada cairan empedu
10 -
Sering ditemukan batu Ada penebalan dinding kandung empedu Terlihat eko cairan di sekeliling kandung empedu Terasa nyeri bila ditekan
11 -
Terlihat sebagai gambaran hiperekoik Bentuknya bulat atau oval Terletak dekat dinding kandung empedu Mempunyai batas yang tegas Tidak memberikan bayangan akustik Tidak berubah letaknya
Kolesistisis akut
Kandung empedu tidak terlihat Kolesistisis kronik Dinding kandung empedu menjadi sangat tebal Eko cairan terlihat hiperekoik Kandung empedu mengisut Hanya eko batunya yang terlihat pada fossa vesika felea Polip
58
12 -
Terlihat sebagai massa
-
Mempunyai batas yang tidak rata
-
Melebar sampai ke parenkim hati
-
Kandung empedu membesar
-
Terlihat area anekoik sekeliling kandung empedu
13 -
Intensitas eko pankreas lebih tinggi daripada
Keganasan
Pankreatitis akut
intensitas eko hati -
Terjadi peradangan pankreas
-
Intensitas eko berkurang bahkan habis
-
Batas pankreas menjadi kabur dan ireguler
-
Terjadi pembesaran lokal pada karsinoma
14 -
Adanya peninggian intensitas eko jaringan yang
Pankreatitis kronik
menyeluruh -
Pankreas membesar
-
Kontur menjadi ireguler
-
Gambaran eko struktur jaringan menjadi agak heterogen
-
Ditemukan pelebaran saluran pankreas yang ireguler
15 -
Pembesaran parsial pankreas
-
Konturnya ireguler
-
Struktur eko yang rendah atau semisolid
-
Disertai pendesakan vena kava ataupun vena mesenterika superior
-
Disertai pelebaran saluran – saluran bilier atau metastatis di hati
Karsinoma pankreas
59
16
-
Gambaran korteks lebih tinggi dibandingkan
Gagal ginjal 60
dengan korteks normal -
Ukuran ginjal mengecil
-
Adanya bercak – bercak pada yang disertai acoustic shadow di bawah korteks
17
-
Piramis ginjal akan menghilang
-
Ukuran ginjal lebih kecil daripada normal
-
Ekokorteks
memperlihatkan
meninggi -
Nefritis kronik
sonodensitas
( Hiperekoik )
Gambaran bercak – bercak / garis – garis anekoik dari sistem kalises pada sinus renal berkurang
18
19
20
-
Korteks ireguler
Ginjal kronik
-
Korteks menipis
-
Ekokorteks hiperekoid
-
Hiperekoik sistem kalises hampir tidak terlihat
-
Korteks lebih tebal
-
Korteks lebih hiperekoik
-
Terlihat adanya kaliektasis karena rejeksi
-
Ukuran ginjal sangat kecil
Ginjal
-
Korteks menipis
contracted kidney )
-
Korteks hiperekoik
-
Sistem kolekting sangat berkurang
Nefritis akut
mengisut
(
61
BAB IV ANALISIS DAN PERANCANGAN SISTEM
Pada bab ini akan dijelaskan mengenai pembuatan basis pengetahuan yang diimplementasikan dalam rancangan Aplikasi Sistem Pakar untuk Mendiagnosa Hasil USG Penyakit Dalam.
4.2. Analisis Masalah Untuk membangun sebuah system pakar untuk
irri se hasil USG penyakit
dalam, diperlukan pemilihan model basis data yang sesuai untuk membangun sebuah basis pengetahuan. Basis pengetahuan ini akan digunakan untuk menyimpan data mengenai
irri –
irri penyakit dalam. Metode inferensi yang akan dipakai adalah
metode pelacakan maju (Fordward Chaining). Metode ini adalah cara membentuk penalaran dari fakta menuju hipotesa atau kesimpulan. Seluruh fakta diberikan kepada system dan system melakukan deduksi terhadap kesimpulan . Teknik pencarian yang paling tepat untuk system pakar ini adalah teknik pencarian melebar pertama (BFT) yaitu pencarian yang bergerak dari simpul akar yang paling atas dan menguji setiap tingkat atau level sebelum pindah ke level selanjutnya. Metode representasi pengetahuan yang akan dipakai pada system pakar ini adalah metode kaidah produksi. Kaidah produksi ini di pilih karena mudah dimengerti dan penjelasan yang diperoleh mudah diturunkan dan dimodifikasi.
62
Pengetahuan penyakit dalam didasarkan pada hasil studi pustaka yaitu referensi dari buku – buku pengetahuan mengenai berbagai penyakit dalam. Hasil dari studi pustaka tersebut kemudian dicocokan dengan pengetahuan yang dimiliki oleh pakar penyakit dalam. Pakar yang dimaksud adalah dokter spesialis penyakit dalam. Pengetahuan yang di dapat dari hasil studi pustaka kemudian dicocokan dengan hasil wawancara dengan dokter tersebut. Pengetahuan ini kemudian akan dipergunakan dalam basis pengetahuan system pakar. Setelah masalah yang akan dibahas selesai diidentifikasi, maka diperoleh pengetahuan mengenai penyakit dalam yang kemudian dikelompokan menjadi penyakit hepar, kandung empedu, penyakit ginjal dan penyakit pankreas.
4.3. Rancangan Basis Pengetahuan Setelah tahapan analisis permasalahan, langkah selanjutnya adalah melakukan perancangan struktur basis pengetahuan. Data – data tentang keadaan penyakit dalam yang telah diperoleh dikelompokan menjadi 3 (tiga) kelompok. Yang pertama adalah pengelompokan data berdasarkan penyakit, yang kedua adalah pengelompokan berdasarkan pertanyaan dan yang ketiga adalah pengelompokan jawaban. Setiap kelompok memiliki hubungan satu dengan yang lainnya. 1. Pengelompokan Data Penyakit Data jenis penyakit terdapat 28 (duapuluh delapan) jenis. Penomoran jenis penyakit .
63
Tabel 4.1 Tabel Pengelompokan Jenis Penyakit Kode
Nama Penyakit
HN
Hepar Normal
PH1
Gagal Jantung Kongestif
PH2
Hepatitis Akut
PH3
Hepatomegali Tropikal
PH4
Skistosomiosis
PH5
Hemangiomia
PH6
Kista Hati
PN
Pankreas Normal
PYK1
Pankreatitis Akut
PYK2
Pankreatitis Kronik
PYK3
Karsinoma Pankreas
GN
Ginjal Normal
PG1
Gagal Ginjal
PG2
Nefritis Kronik
PG3
Ginjal Kronik
PG4
Nefritis Akut
PG5
Ginjal
Mengisut
Contracted Kydney ) PGL
Penyakit Ginjal Lain
KEN
Kandung Empedu Normal
PKE1
Kolelitiasis
(
64
PKE2
Lumpur Empedu
PKE3
Kolesistisis Akut
PKE4
Kolesistisis Kronik
PKE5
Polip
PKE6
Keganasan
PKEL
Penyakit lain
PHL
Penyakit hepar lain
PL
Penyakit pankreas lain
2. Pengelompokan berdasarkan pertanyaan
Tabel 4.2 Tabel Empedu Kode
Pertanyaan
KE0
penyakit kandung empedu
KE1
Terlihat seperti buah per
KE2
Ukuran tidak melebihi 4 cm
KE3
Tebal kandung empedu antara 1 mm – 3 mm
KE4
Tidak tampak massa (batu empedu )
KE5
Batu empedu terlihat sebagai gambaran hiperekoik yang bebas pada kandung empedu
KE6
Batu empedu membentuk bayangan di bawah kandung empedu
KE7
Batu empedu yang kecil dan tipis kadang – kadang tidak memperlihatkan bayangan
65
Tabel 4.2 Tabel Empedu ( Lanjutan )
KE8
Menempati bagian terendah dari kandung empedu
KE9
Membentuk lapisan permukaan
KE10
Tidak memberikan bayangan akustik
KE11
Mempunyai viskositas yang lebih tinggi daripada cairan empedu
KE12
Sering ditemukan batu
KE13
Ada penebalan dinding kandung empedu
KE14
Terlihat eko cairan di sekeliling kandung empedu
KE15
Terasa nyeri bila ditekan
KE16
Kandung empedu tidak terlihat
KE17
Dinding kandung empedu menjadi sangat tebal
KE18
Eko cairan terlihat hiperekoik
KE19
Kandung empedu mengisut
KE20
Hanya eko batunya yang terlihat pada fossa vesika felea
KE21
Terlihat sebagai gambaran hiperekoik
KE22
Bentuknya bulat atau oval
KE23
Terletak dekat dinding kandung empedu
KE24
Mempunyai batas yang tegas
KE25
Tidak memberikan bayangan akustik
KE26
Tidak berubah letaknya
KE27
Terlihat sebagai massa
KE28
Mempunyai batas yang tidak rata
66
KE29
Melebar sampai ke parenkim hati
KE30
Kandung empedu membesar
KE31
Terlihat area anekoik sekeliling kandung empedu
•
Field Kode diisi dengan kode dari masing – masing node gejala yang bukan merupakan node kesimpulan pada tree Empedu misalnya : KEN, KE1, PKE1 dst. Kemudian Kode diset sebagai Primary Key dari Tabel EMPEDU
•
Field Pertanyaan diisi dengan ciri – ciri fisik dari organ EMPEDU sesuai dengan KODE. Tabel 4.3 Tabel Hepar
Kode
Pertanyaan
H1
Ada massa
H2
Ada acites
H3
Permukaan licin / rata
H4
Kontur tajam
H5
Vena hepatika berdilatasi ( melebar )
H6
Diameter vena kava inferior tidak berubah
H7
Adanya efusi pleura di atas diafragma
H8
Tidak terdapat perubahan sonografik
H9
Hepar membesar
H10
Adanya nyeri bila ditekan
H11
Adanya splenomegali
67
Tabel 4.3 Tabel Hepar ( Lanjutan ) H12
Penebalan vena porta
H13
Cabang – cabang utama hepar menjadi sangat ekogenik
H14
Vena linealis melebar
H15
Ditemukan hipertensi porta
H16
Bentuknya bulat tepi tegas tidak licin
H17
Struktur eko dengan sonodensitas rendah
H18
Terdapat bercak – bercak kalsifikasi
H19
Tidak ada peningkatan densitas pada struktur eko
H20
Terlihat sebagai lesi – lesi anekoik yang bulat atau oval
H21
Mempunyai dinding tipis dan rata
H22
Struktur eko lebih hiperekoik
•
Field kode diisi dengan kode dari masing – masing node gejala yang bukan merupakan node kesimpulan pada tree HEPAR misalnya : H1, H2, H3 dst. Kemudian kode diset sebagai Primary Key dari Tabel HEPAR
•
Field pertanyaan diisi dengan ciri – ciri dari organ HEPAR sesuai dengan KODE.
Tabel 4.4 Tabel Ginjal Kode
Pertanyaan
G1
Kedua ginjal memiliki ukuran yang kurang lebih sama , perbedaan panjang tidak lebih dari 2 cm
68
G2
Panjang antara 9 cm – 12 cm
G3
Lebar antara 4 cm – 6 cm
G4
Tebal kurang dari 3.5 cm
G5
Tidak ada massa ( benda asing )
G6
Tidak ada batu ginjal
G7
Gambaran korteks lebih tinggi dibandingkan dengan korteks normal
G8
Ukuran ginjal mengecil
G9
Adanya bercak – bercak pada yang disertai acoustic shadow di bawah korteks
G10
Piramis ginjal akan menghilang
G11
Ukuran ginjal lebih kecil daripada normal
G12
Ekokorteks memperlihatkan sonodensitas meninggi(Hiperekoik)
G13
Gambaran bercak – bercak / garis – garis anekoik dari sistem kalises pada sinus renal berkurang
G14
Korteks ireguler
G15
Korteks menipis
G16
Ekokorteks hiperekoid
G17
Hiperekoik sistem kalises hampir tidak terlihat
G18
Korteks lebih tebal
G19
Korteks lebih hiperekoik
G20
Terlihat adanya kaliektasis karena rejeksi
G21
Ukuran ginjal sangat kecil
G22
Korteks menipis
69
G23
Korteks hiperekoik
G24
Sistem kolekting sangat berkurang
•
Field Kode diisi dengan kode dari masing – masing node gejala yang bukan merupakan node kesimpulan pada tree GINJAL misalnya : G1, G2, G3 dst. Kemudian Kode diset sebagai Primary Key dari Tabel GINJAL
•
Field Pertanyaan diisi dengan ciri-ciri dari organ GINJAL sesuai dengan Kode.
Tabel 4.5 Tabel Pankreas Kode
Pertanyaan
P1
Bentuknya tidak homogeny
P2
Intensitas eko pankreas lebih tinggi daripada intensitas eko hati
P3
Garis bentuk pankreas tidak mulus
P4
Terjadi peradangan pancreas
P5
Adanya peninggian intensitas eko jaringan yang menyeluruh
P6
Diameter rata - rata kaput pankreas tidak sekitar 2.8 cm
P7
Diameter rata - rata bagian medial korpus pankreas lebih dari 2 cm
P8
Pembesaran parsial pancreas
P9
Pankreas membesar
P10
Intensitas eko berkurang bahkan habis
P11
Diameter rata - rata kauda pankreas tidak sekitar : 2.5 cm
P12
Konturnya ireguler
70
P13
Batas pankreas menjadi kabur dan ireguler
P14
Struktur eko yang rendah atau semisolid
P15
Gambaran eko struktur jaringan menjadi agak heterogen
P16
Terjadi pembesaran local pada karsinoma
P17
Disertai pendesakan vena kava ataupun vena mesenterika superior
P18
Ditemukan pelebaran saluran pankreas yang ireguler
P19
Disertai pelebaran saluran – saluran bilier atau metastatis di hati
P20
diameter duktus pankreatikus melebihi 2 mm
•
Field Kode diisi dengan kode dari masing – masing node gejala yang bukan merupakan node kesimpulan pada tree PANKREAS misalnya : P1, P2, P3 dst. Kemudian Kode diset sebagai Primary Key dari Tabel PANKREAS
•
Field Pertanyaan diisi dengan ciri – ciri dari organ PANKREAS sesuai dengan Kode.
3. Data Hubungan Setelah pembuatan tabel maka melakukan proses relasi antar tabel seperti berikut: 1. Field KODE pada tabel PANKREAS direlasikan dengan field KODEJ pada tabel JAWAB_PANKREAS. 2. Field KODE pada tabel HEPAR direlasikan dengan field KODEJ pada tabel JAWAB_HEPAR.
71
3. field KODE pada tabel EMPEDU direlasikan dengan field KODEJ pada tabel JAWAB_EMPEDU. Field KODE pada tabel GINJAL direlasikan dengan field KODEJ pada tabel JAWAB_GINJAL .
Tabel 4.6 Tabel Hubungan Relasi PertanyaanJawaban Jawab KodeP Pertayaan
Ya
Tidak Asal
H1
Ada massa
H5
H2
H0
H2
Ada acites
H5
H3
H1
H3
Permukaan licin / rata
H5
H4
H2
H4
Kontur tajam
H5
HN
H3
H5
Vena hepatika berdilatasi ( melebar )
H6
H8
H1
H6
Diameter vena kava inferior tidak berubah
H7
H8
H6
H7
Adanya efusi pleura di atas diafragma
PH1
H8
H6
H8
Tidak terdapat perubahan sonografik
H9
H11
H7
H9
Hepar membesar
H10
H11
H8
H10
Adanya nyeri bila ditekan
PH2
H11
H9
H11
Adanya splenomegali
PH3
H12
H10
H12
Penebalan vena porta
H13
H16
H11
H13
Cabang – cabang utama hepar menjadi sangat H14
H16
H12
H16
H13
ekogenik H14
Vena linealis melebar
H15
72
H15
Ditemukan hipertensi porta
PH4
H16
H14
H16
Bentuknya bulat tepi tegas tidak licin
H17
H20
H15
H17
Struktur eko dengan sonodensitas rendah
H18
H20
H16
H18
Terdapat bercak – bercak kalsifikasi
H19
H20
H17
H19
Tidak ada peningkatan densitas pada struktur eko
PH5
H20
H18
H20
Terlihat sebagai lesi – lesi anekoik yang bulat atau H21
PHL
H19
oval H21
Mempunyai dinding tipis dan rata
H22
PHL
H20
H22
Struktur eko lebih hiperekoik
PH6
PHL
H21
P1
Bentuknya tidak homogeny
P2
P3
P0
P2
Intensitas eko pankreas lebih tinggi daripada intensitas P4
P5
P1
eko hati P3
Garis bentuk pankreas tidak mulus
P2
P6
P1
P4
Terjadi peradangan pancreas
P10
P5
P2
P5
Adanya peninggian intensitas eko jaringan yang P9
P8
P4
P7
P3
P11
P6
menyeluruh P6
Diameter rata – rata kaput pankreas tidak sekitar 2.8 P2 cm
P7
Diameter rata - rata bagian medial korpus pankreas P2 lebih dari 2 cm
P8
Pembesaran parsial pancreas
P12
PL
P5
P9
Pankreas membesar
P15
P8
P5
P10
Intensitas eko berkurang bahkan habis
P13
P5
P4
73
P11
Diameter rata – rata kauda pankreas tidak sekitar : 2.5 P2
P20
P7
PL
P8
cm P12
Konturnya ireguler
P14
Tabel 4.6 Tabel Hubungan Relasi PertanyaanJawaban ( Lanjutan ) P13
Batas pankreas menjadi kabur dan ireguler
P16
P5
P10
P14
Struktur eko yang rendah atau semisolid
P17
PL
P12
P15
Gambaran
agak P18
P8
P9
P5
P13
PL
P14
eko
struktur
jaringan
menjadi
heterogen P16
Terjadi pembesaran lokal pada karsinoma
P17
Disertai
pendesakan
vena
kava
ataupun
PYK1 vena P19
mesenterika superior P18
Ditemukan pelebaran saluran pankreas yang ireguler
PYK2
P8
P15
P19
Disertai pelebaran saluran – saluran bilier atau PYK3
PL
P17
metastatis di hati P20
diameter duktus pankreatikus melebihi 2 mm
P2
PN
P11
G1
Kedua ginjal memiliki ukuran yang kurang lebih sama G7
G2
G0
, perbedaan panjang tidak lebih dari 2 cm G2
Panjang antara 9 cm – 12 cm
G7
G3
G1
G3
Lebar antara 4 cm – 6 cm
G7
G4
G2
G4
Tebal kurang dari 3.5 cm
G7
G5
G3
G5
Tidak ada massa ( benda asing )
G7
G6
G4
G6
Tidak ada batu ginjal
G7
GN
G5
G7
Gambaran korteks lebih tinggi dibandingkan dengan G8
G11
G6
74
korteks normal G8
Ukuran ginjal mengecil
G9
G9
Adanya bercak – bercak pada yang disertai acoustic G10
G11
G7
G11
G8
shadow di bawah korteks G10
Piramis ginjal akan menghilang
PG1
G11
G9
G11
Ukuran ginjal lebih kecil daripada normal
G12
G14
G10
G12
Ekokorteks
sonodensitas G13
G14
G11
Gambaran bercak – bercak / garis – garis anekoik dari PG2
G14
G12
memperlihatkan
meninggi(Hiperekoik) G13
sistem kalises pada sinus renal berkurang G14
Korteks ireguler
G15
G18
G13
G15
Korteks menipis
G16
G18
G14
G16
Ekokorteks hiperekoid
G17
G18
G15
G17
Hiperekoik sistem kalises hampir tidak terlihat
PG3
G18
G16
G18
Korteks lebih tebal
G19
G21
G17
G19
Korteks lebih hiperekoik
G20
G21
G18
G20
Terlihat adanya kaliektasis karena rejeksi
PG4
G21
G19
G21
Ukuran ginjal sangat kecil
G22
PGL
G20
G22
Korteks menipis
G23
PGL
G21
G23
Korteks hiperekoik
G24
PGL
G22
G24
Sistem kolekting sangat berkurang
PG5
PGL
G23
KE1
Terlihat seperti buah per
KE5
KE2
KE0
KE2
Ukuran tidak melebihi 4 cm
KE5
KE3
KE1
75
KE3
Tebal kandung empedu antara 1 mm – 3 mm
KE5
KE4
KE2
KE4
Tidak tampak massa (batu empedu )
KE5
KEN
KE3
KE5
Batu empedu terlihat sebagai gambaran hiperekoik KE6
KE8
KE4
KE8
KE5
KE8
KE6
yang bebas pada kandung empedu KE6
Batu empedu membentuk bayangan di bawah kandung KE7 empedu
KE7
Batu empedu yang kecil dan tipis kadang – kadang PKE1 tidak memperlihatkan bayangan
KE8
Menempati bagian terendah dari kandung empedu
KE9
KE12 KE7
KE9
Membentuk lapisan permukaan
KE10
KE12 KE8
KE10
Tidak memberikan bayangan akustik
KE11
KE12 KE9
Tabel 4.6 Tabel Hubungan Relasi PertanyaanJawaban ( Lanjutan ) KE11
Mempunyai viskositas yang lebih tinggi daripada PKE2
KE12
KE10
cairan empedu KE12
Sering ditemukan batu
KE13
KE16
KE11
KE13
Ada penebalan dinding kandung empedu
KE14
KE16
KE12
KE14
Terlihat eko cairan di sekeliling kandung empedu
KE15
KE16
KE13
KE15
Terasa nyeri bila ditekan
PKE3
KE16
KE14
KE16
Kandung empedu tidak terlihat
KE17
KE21
KE15
KE17
Dinding kandung empedu menjadi sangat tebal
KE18
KE21
KE16
KE18
Eko cairan terlihat hiperekoik
KE19
KE21
KE17
KE19
Kandung empedu mengisut
KE20
KE21
KE18
KE20
Hanya eko batunya yang terlihat pada fossa vesika PKE4
KE21
KE19
76
felea KE21
Terlihat sebagai gambaran hiperekoik
KE22
KE27
KE20
KE22
Bentuknya bulat atau oval
KE23
KE27
KE21
KE23
Terletak dekat dinding kandung empedu
KE24
KE27
KE22
KE24
Mempunyai batas yang tegas
KE25
KE27
KE23
KE25
Tidak memberikan bayangan akustik
KE26
KE27
KE24
KE26
Tidak berubah letaknya
PKE5
KE27
KE25
KE27
Terlihat sebagai massa
KE28
PKEL KE26
KE28
Mempunyai batas yang tidak rata
KE29
PKEL KE27
KE29
Melebar sampai ke parenkim hati
KE30
PKEL KE28
KE30
Kandung empedu membesar
KE31
PKEL KE29
KE31
Terlihat area anekoik sekeliling kandung empedu
PKE6
PKEL KE30
H0
penyakit hepar
H1
P0
TD0
P0
penyakit pancreas
P1
G0
H0
G0
penyakit ginjal
G1
KE0
P0
KE0
penyakit kandung empedu
KE1
G0
EXIT
4.2.1 Kaidah Produksi Didalam menentukan diagnosa Hasil USG Penyakit Dalam, akan dibutuhkan beberapa kaidah produksi yang harus dipenuhi dalam bentuk If –Then antara lain : A.
Penyakit Hepar Rule 1 : If Ada massa
77
And Vena hepatica berdilatasi (melebar) And Diameter vena kava inferior tidak berubah And adanya efusi pleura diatas diafragma Then Gagal Jantung Kongestif Rule 2 : If ada massa And tidak terdapat perubahan sonografik And Hepar membesar And adanya nyeri bila ditekan Then Hepatitis Akut
Rule 3 : If ada massa And ada splenomegali Then Hepatomegali Ttropikal
Rule 4 : If ada massa And Penebalan vena porta And cabang-cabang utama hepar menjadi sangat ekogenik
78
And Vena linealis melebar And ditemukan hipertensi porta Then Skistosomiosis
Rule 5 : If ada massa And bentuknya bulat tepi tegas tidak licin And struktur eko dengan sonodensitas rendah And terdapat bercak-bercak klasifikasi And tidak ada peningkatan densitas pada struktur eko Then Hemangiomia B.
Penyakit Pankreas Rule 1 : If Bentuknya tidak homogen And Intensitas eko pankreas lebih tinggi daripada intensitas eko hati And Terjadi peradangan pancreas And Intensitas eko berkurang bahkan habis And Batas pankreas menjadi kabur dan ireguler And Terjadi pembesaran lokal pada karsinoma
79
Then Pankreatitis Akut
Rule 2 : If Bentuknya tidak homogen And Adanya peninggian intensitas eko jaringan yang menyeluruh And Pankreas membesar And Gambaran eko struktur jaringan menjadi agak heterogen And pelebaran saluran pankreas yang ireguler Then Pankreatitis Kronik
Rule 3 : If Bentuknya tidak homogen And Pembesaran parsial pancreas And Konturnya ireguler And Struktur eko yang rendah atau semisolid And Disertai pendesakan vena kava ataupun vena mesenterika superior And Disertai pelebaran saluran – saluran bilier atau metastatis di hati Then Karsinoma Pankreas
80
C.
Penyakit Ginjal Rule 1
: If Kedua ginjal memiliki ukuran yang kurang lebih sama , perbedaan panjang tidak lebih dari 2 cm And Gambaran korteks lebih tinggi dibandingkan dengan korteks normal And Ukuran ginjal mengecil And Adanya bercak – bercak pada yang disertai acoustic shadow di bawah korteks And Piramis ginjal akan menghilang Then Gagal Ginjal :
Rule 2
: If Kedua ginjal memiliki ukuran yang kurang lebih sama , perbedaan panjang tidak lebih dari 2 cm And Ukuran ginjal lebih kecil daripada normal And Ekokorteks memperlihatkan sonodensitas meninggi(Hiperekoik) And Gambaran bercak – bercak / garis – garis anekoik dari sistem kalises pada sinus renal berkurang Then Nefritis Kronik
81
Rule 3
: If Kedua ginjal memiliki ukuran yang kurang lebih sama , perbedaan panjang tidak lebih dari 2 cm And Korteks ireguler And Korteks menipis And Ekokorteks hiperekoid And Hiperekoik sistem kalises hampir tidak terlihat Then Ginjal Kronik
Rule 4
: If kedua ginjal memiliki ukuran yang kurang lebih sama , perbedaan panjang tidak lebih dari 2 cm And Korteks lebih tebal And Korteks lebih hiperekoik And Terlihat adanya kaliektasis karena rejeksi Then Nefritis Akut
Rule 5
: If Kedua ginjal memiliki ukuran yang kurang lebih sama , perbedaan panjang tidak lebih dari 2 cm
82
And Ukuran ginjal sangat kecil And Ukuran ginjal sangat kecil And Korteks menipis And Korteks hiperekoik And Sistem kolekting sangat berkurang Then Ginjal Mengisut ( Contracted Kydney )
D.
Penyakit Kandung Empedu
Rule 1 : If Terlihat seperti buah per And Batu empedu terlihat sebagai gambaran hiperekoik yang bebas pada kandung empedu And Batu empedu membentuk bayangan di bawah kandung empedu And Batu empedu yang kecil dan tipis kadang – kadang tidak memperlihatkan bayangan Then Kolelitiasis
83
Rule 2 : If Terlihat seperti buah per And Menempati bagian terendah dari kandung empedu nd Membentuk lapisan permukaan And Tidak memberikan bayangan akustik And Mempunyai viskositas yang lebih tinggi daripada cairan empedu Then Lumpur Empedu
Rule 3 : If Terlihat seperti buah per And Sering ditemukan batu And Ada penebalan dinding kandung empedu And Terlihat eko cairan di sekeliling kandung empedu And Terasa nyeri bila ditekan Then Kolesistisis Akut
Rule 4 : If Terlihat seperti buah per And Kandung empedu tidak terlihat And Dinding kandung empedu menjadi sangat tebal
84
And Eko cairan terlihat hiperekoik And Kandung empedu mengisut And Hanya eko batunya yang terlihat pada fossa vesika felea Then Kolesistisis Kronik
Rule 5 : If Terlihat seperti buah per And Terlihat sebagai gambaran hiperekoik And Terlihat sebagai gambaran hiperekoik And Bentuknya bulat atau oval And Terletak dekat dinding kandung empedu nd Mempunyai batas yang tegas And Tidak memberikan bayangan akustik And Tidak berubah letaknya Then Polip
Rule 6 : If Terlihat seperti buah per And Terlihat seperti buah per
85
And Terlihat sebagai massa And Mempunyai batas yang tidak rata And Melebar sampai ke parenkim hati And Kandung empedu membesar And Terlihat area anekoik sekeliling kandung empedu Then Kandung Empedu Keganasan
Rule 7 : If Ada massa And Terlihat sebagai lesi – lesi anekoik yang bulat atau oval And Mempunyai dinding tipis dan rata And Struktur eko lebih hiperekoik Then Kista Hati
4.2.2 Diagram Pohon ( Diagram Knowledge Base) Adalah
suatu
grafik
hirarki
yang
merupakan
cara
sederhana
untuk
menggambarkan secara garis besar permasalahan dan pemecahannya. Struktur pohon merupakan bentuk khusus dari graph. Bentuknya seperti pohon terbalik, dimana akar
86
terletak di atas dan bagian daun berada dibawah. Garis yang menghubungkan antar simpul disebut kedalaman. Diagram pohon sangat membantu dalam menyelesaikan persoalan, karena dapat menyatakan operasi dari keadaan awal. Selain itu dengan pohon kita dapat melihat bagaimana system diimplementasikan, ditelusuri jalannya dan dimodifikasi. Diagram pohon pada sistem pakar diagnosa Penyakit Hepar, Ginjal, Pankreas dan Kandung Empedu.
Gambar 4.1 Gambar Pohon Penyakit Hepar
87
Keterangan : HN
: Hepar Normal
PHL
: Penyakit Hepatitis Lain
PH1
: Gagal Jantung Kongestif
PH2
: Hepatitis Akut
PH3
: Hepatomegali Tropikal
PH4
: Skistosomiosis
PH5
: Hemangiomia
PH6
: Kista Hati
H1
: Ada massa
H2
: Ada acites
H3
: Permukaan licin / rata
H4
: Kontur tajam
H5
: Vena hepatika berdilatasi ( melebar )
H6
: Diameter vena kava inferior tidak berubah
H7
: Adanya efusi pleura di atas diafragma
H8
: Tidak terdapat perubahan sonografik
H9
: Hepar membesar
H10
: Adanya nyeri bila ditekan
H11
: Adanya splenomegali
H12
: Penebalan vena porta
H13
: Cabang – cabang utama hepar menjadi sangat ekogenik
H14
: Vena linealis melebar
88
H15
: Ditemukan hipertensi porta
H16
: Bentuknya bulat tepi tegas tidak licin
H17
: Struktur eko dengan sonodensitas rendah
H18
: Terdapat bercak – bercak kalsifikasi
H19
: Tidak ada peningkatan densitas pada struktur eko
H20
: Terlihat sebagai lesi – lesi anekoik yang bulat atau oval
H21
: Mempunyai dinding tipis dan rata
H22
: Struktur eko lebih hiperekoik
89
Gambar 4.2 Gambar Pohon Penyakit Ginjal
Keterangan :
GN
: Ginjal Normal
PG1
: Gagal Ginjal
PG2
: Nefritis Kronik
PG3
: Ginjal Kronik
PG4
: Nefritis Akut
PG5
: Ginjal Mengisut ( Contracted Kydney )
PGL
: Penyakit Ginjal Lain
90
G1
: Kedua ginjal memiliki ukuran yang kurang lebih sama , perbedaan panjang tidak lebih dari 2 cm
G2
: Panjang antara 9 cm – 12 cm
G3
: Lebar antara 4 cm – 6 cm
G4
: Tebal kurang dari 3.5 cm
G5
: Tidak ada massa ( benda asing )
G6
: Tidak ada batu ginjal
G7
: Gambaran korteks lebih tinggi dibandingkan dengan korteks normal
G8
: Ukuran ginjal mengecil
G9
: Adanya bercak – bercak pada yang disertai acoustic shadow di bawah korteks
G10
: Piramis ginjal akan menghilang
G11
: Ukuran ginjal lebih kecil daripada normal
G12
: Ekokorteks memperlihatkan sonodensitas meninggi ( Hiperekoik )
G13
: Gambaran bercak – bercak / garis – garis anekoik dari sistem kalises pada sinus renal berkurang
G14
: Korteks ireguler
G15
: Korteks menipis
G16
: Ekokorteks hiperekoid
G17
: Hiperekoik sistem kalises hampir tidak terlihat
G18
: Korteks lebih tebal
G19
: Korteks lebih hiperekoik
G20
: Terlihat adanya kaliektasis karena rejeksi
G21
: Ukuran ginjal sangat kecil
91
G22
: Korteks menipis
G23
: Korteks hiperekoik
G24
: Sistem kolekting sangat berkurang
Gambar 4.3 Gambar Pohon Penyakit Pankreas
Keterangan : PN
: Pankreas Normal
PYK1 : Pankreatitis Akut PYK2 : Pankreatitis Kronik PYK3 : Karsinoma Pankreas
92
P1
: Bentuknya tidak homogen
P2
: Intensitas eko pankreas lebih tinggi daripada intensitas eko hati
P3
: Garis bentuk pankreas tidak mulus
P4
: Terjadi peradangan pancreas
P5
: Adanya peninggian intensitas eko jaringan yang menyeluruh
P6
: Diameter rata - rata kaput pankreas tidak sekitar 2.8 cm
P7
: Diameter rata - rata bagian medial korpus pankreas lebih dari 2 cm
P8
: Pembesaran parsial pancreas
P9
: Pankreas membesar
P10
: Intensitas eko berkurang bahkan habis
P11
: Diameter rata - rata kauda pankreas tidak sekitar : 2.5 cm
P12
: Konturnya ireguler
P13
: Batas pankreas menjadi kabur dan ireguler
P14
: Struktur eko yang rendah atau semisolid
P15
: Gambaran eko struktur jaringan menjadi agak heterogen
P16
: Terjadi pembesaran lokal pada karsinoma
P17
: Disertai pendesakan vena kava ataupun vena mesenterika superior
P18
: Ditemukan pelebaran saluran pankreas yang ireguler
P19
: Disertai pelebaran saluran – saluran bilier atau metastatis di hati
P20
: diameter duktus pankreatikus melebihi 2 mm
93
Gambar 4.4 Gambar Pohon Penyakit Kandung Empedu
94
Keterangan :
KEN : Kandung Empedu Normal PKE1 : Kolelitiasis PKE2 : Lumpur Empedu PKE3 : Kolesistisis Akut PKE4 : Kolesistisis Kronik PKE5 : Polip PKE6 : Keganasan PKEL : Penyakit lain KE1
: Terlihat seperti buah per
KE2
: Ukuran tidak melebihi 4 cm
KE3
: Tebal kandung empedu antara 1 mm – 3 mm
KE4
: Tidak tampak massa ( batu empedu )
KE5
: Batu empedu terlihat sebagai gambaran hiperekoik yang bebas pada kandung empedu
KE6 : Batu empedu membentuk bayangan di bawah kandung empedu KE7
: Batu empedu yang kecil dan tipis kadang – kadang tidak memperlihatkan
bayangan KE8
: Menempati bagian terendah dari kandung empedu
KE9 : Membentuk lapisan permukaan KE10 : Tidak memberikan bayangan akustik KE11 : Mempunyai viskositas yang lebih tinggi daripada cairan empedu
95
KE12 : Sering ditemukan batu KE13 : Ada penebalan dinding kandung empedu KE14 : Terlihat eko cairan di sekeliling kandung empedu KE15 : Terasa nyeri bila ditekan KE16 : Kandung empedu tidak terlihat KE17 : Dinding kandung empedu menjadi sangat tebal KE18 : Eko cairan terlihat hiperekoik KE19 : Kandung empedu mengisut KE20 : Hanya eko batunya yang terlihat pada fossa vesika felea KE21 : Terlihat sebagai gambaran hiperekoik KE22 : Bentuknya bulat atau oval KE23 : Terletak dekat dinding kandung empedu KE24 : Mempunyai batas yang tegas KE25 : Tidak memberikan bayangan akustik KE26 : Tidak berubah letaknya KE27 : Terlihat sebagai massa KE28 : Mempunyai batas yang tidak rata KE29 : Melebar sampai ke parenkim hati KE30 : Kandung empedu membesar KE31 : Terlihat area anekoik sekeliling kandung empedu
96
4.3 Implementasi Diagram Use Case Use Case untuk system pakar diagnosa hasil usg penyakit dalam ini dapat di lihat pada gambar 4.3a dimana pada system pakar ini administrator atau pakar dapat berperan sebagai pemakai atau user. Diagram use case menggambarkan interaksi antara pemakai dengan sisitem.
Gambar 4.5 Diagram Use Case Diagram use case pada gambar 4.5 harus dideskripsikan dalam dokumen yang di sebut flow of event sebagai berikut : 1. Use Case untuk form Diagnosa Hasil USG Nama use case
: Diagnosa Hasil USG
97
Description
:Use case memungkinkan admin dan pemakai untuk mengakses form diagnosa hasil usg penyakit dalam yang berisi ciri – ciri fisik penyakit dan nama penyakit.
Actor
: Pakar / Admin dan pemakai
Precondition
: Pakar/ Admin atau pemakai mengakses menu File kemudian submenu Diagnosa Hasil USG ,sistem akan menampilkan beberapa pertanyaan yang harus di jawab ya atau tidak.
Main Flow
:Use Case ini di mulai ketika pakar/admin atau pemakai memilih menu diagnosa hasil usg kemudian sistem akan mengajukan pertanyaan yang harus di jawab ya atau tidak dari hasil usg yang ada. Setelah selesai menjawab semua pertanyaan, system akan menampilkan informasi mengenai diagnosa hasil usg penyakit dalam.
Alternative Flow
: Admin/pakar atau pemakai dapat masuk ke menu file kemudian exit jika sudah selesai.
Postcondition
: Jika use case sukses dijalankan maka system akan menampilkan informasi penyakit dalam dari hasil usg.
Alternative Flow
: Admin/pakar atau pemakai dapat masuk ke menu file kemudian exit jika sudah selesai.
98
Postcondition
: Jika use case sukses dijalankan maka system akan menampilkan informasi ciri-ciri dari penyakit dalam.
2. Use case untuk form Jenis Penyakit Nama use case
: Jenis Penyakit
Deskripsi singkat
:Use case memungkinkan admin/pakar untuk mengakses form jenis penyakit yang berisi ciri-ciri fisik penyakit dalam.
Actor
: Pakar/admin dan pemakai
Precondition
:Pakar / admin atau pemakai mengakses menu file kemudian submenu jenis penyakit, memilih salah satu jenis penyakit. Sistem akan menampilkan ciri-ciri fisik dari penyakit tersebut.
Main flow
:Use case ini dimulai ketika pakar/admin atau pemakai memilih menu file dan sub menu jenis penyakit. Sistem akan menampilkan pilihan jenis penyakit, pakar/admin dan pemakai akan memilih salah satu dari jenis penyakit tersebut, system pakar menampilkan informasi mengenai ciri – ciri dari penyakit tersebut.
99
4.4. Rancangan Basis Data Untuk mendapatkan tabel yang sesuai dengan kebutuhan dalam perancangan system pakar ini, terlebih dahulu akan dijelaskan mengenai aliran data dalam system pakar untuk mendiagnosa hasil usg.
hapus pengguna
Gambar 4.6 Diagram Hubungan Antar Entitas
Dari hubungan antar simpanan data jenis penyakit dan ciri-ciri penyakit dapat di buat menjadi dua tabel yang akan digunakan dalam proses diagnosa. Aliran data uang mengalir pada setiap proses dapat dilihat pada kamus data sebagai berikut : a. Data Jenis Penyakit
= { KodePenyakit + Keterangan}
b. Data ciri-ciri penyakit
= {Kode + ciri}
100
Dalam perancangan system pakar ini digunakan 3 (tiga) tabel 1. Tabel Jenis Penyakit No
Nama Field
Tipe Data
Ukuran
Keterangan
1
Kode
Text
5
Berisi
kode
penyakit 2
Keterangan
Text
100
Berisi
nama-
nama penyakit
2. Tabel Berdasarkan Pertanyaan No
Nama Filed
Tipe Data
Ukuran
Keterangan
1
Kode
Text
5
Berisi
kode
masing-masing node
gejala
yang
bukan
merupakan node kesimpulan pada tree 2
Pertanyaan
Text
100
Berisi dengan
101
gejala-gejala dari
organ
sesuai dengan kode.
3. Tabel RelasiPertanyaandengan Jawaban No
Nama Filed
Tipe Data
Ukuran
Keterangan
1
Kode
Text
5
Berisi
kode-
kode
dari
pertanyaan dari tree organ yang ditampilkan 2
Jawaban
Text
1
Berisi jawaban T(True)
atau
F(False) 3
Parent
Text
5
Berisi
node
102
diatasnya dari node tersebut 4
Tujuan
Text
5
Berisi
node
selanjutnya sesuai jawaban dan
node
jawaban
4.5 Flow Chart Sistem Pakar untuk Diagnosa Hasil USG Penyakit Dalam Dalam menggambarkan proses yang terjadi dalam program system pakar diagnosa hasil usg penyakit dalam digunakan beberapa flow chart. Sistem akan menampilkan tampilan menu utama yang berisi menu file dan help. Gambar flow chart untuk proses menu utama dapat dilihat pada gambar 4.7
103
tidak ya
tudak
Gambar 4.7 Flow Chart Menu Utama Flowchart menu utama menggambarkan ketika user login akan diberikan pilihan apakah menu file, menu jenis penyakit atau menu file.
104
1.
Flow Chart untuk Menu File
Flow chart pada menu file menggambarkan proses setelah pemakai memilih menu file. Menu file terdiri submenu diagnosa dan melihat jenis penyakit dalam. Gambar flowchart menu file dapat dilihat pada gambar 4.8
Gambar 4.8 Flow Chart Menu File
105
Saat pemakai memilih submenu diagnosa hasil usg, system akan menampilkan tampilan menu diagnosa hasil USG.
Gambar 4.9.1 Flowchart Submenu Diagnosa Hasil USG
Gambar 4.9 Flowchart Submenu Diagnosa
106
2. Flowchart Menu Jenis Penyakit
Gambar 4.10 Flowchart Menu Jenis Penyakit
107
3. Flow Chart Menu Help
2.
3.
Gambar 4.11 Flowchart Menu Help
4.6 Rancangan Layar Tampilan Rancangan layer tampilan yang akan digunakan dalam system pakar ini adalah sebagai berikut : 1. Tampilan Layar Login Tampilan ini terdiri dari dua buah textbox yaitu untuk memasukan nama dan password. Dua buah command button digunakan untuk perintah OK dan Cancel.
108
Sebuah checkbox digunakan khusus untuk pakar. Sebuah label digunakan untuk mengganti password. Rancangan tampilan login dapat dilihat pada gambar 4.12 berikut :
Gambar 4.12 Layar Login 2. Tampilan Menu Utama Pada layar menu utama terdapat Menu File dan Menu Help. Pemakai dapat memilih salah satu dari menu tersebut. Menu File terdiri dari submenu Diagnosa Hasil USG Penyakit Dalam, Jenis Penyakit Dalam dan keluar. Tampilan layar menu utama dapat dilihat pada gambar 4.13.
Gambar 4.13 Layar Menu Utama
109
3. Tampilan Menu File Rancangan tampilan menu file submenu diagnosa hasil usg terdiri dari lima buah textbox yang memuat start,jawaban ya, jawaban tidak,hasil, update. Sebuah layar memuat pertanyaan yang harus dijawab, setelah selesai system akan menampilkan nama penyakitnya. Dapat dilihat pada gambar 4.14.
Gambar 4.14 Tampilan Submenu Diagnosa Hasil USG Penyakit dalam
Sedangkan tampilan submenu jenis penyakit terdiri dari lima buah textbox, yaitu start, jawaban ya, jawaban tidak, hasil,ulang, update.
110
Ketika pemakai memilih salah satu jenis penyakit, system akan menampilkan ciri-ciri fisik dari penyakit tersebut. Dapat di lihat pada gambar 4.15
Gambar 4.15 Tampilan Submenu Jenis Penyakit 4. Tampilan Menu Help Rancangan tampilan menu help hanya terdiri dari submenu pengelolaan pengguna. Pengelolaan pengguna menggunakan tiga buah textbox untuk memuat nama pengguna, password dan ulang password. Sebuah listbox untuk daftar pengguna dan tiga buah command button untuk memuat perintah mengganti, menambah dan menghapus pengguna. Dapat dilihat pada gambar 4.16
Gambar 4.16 Menu Help
111
BAB V IMPLEMENTASI DAN PENGUJIAN
5.1 Lingkungan Implementasi
5.1.1 Perangkat Keras (Hardware) Dalam mengimplementasikan sistem pakar ini, digunakan sistem perangkat keras dengan spesifikasi sebagai berikut : a. Prosesor Pentium IV b. Memori 2 GB c. Harddisk 80 GB (kapasitas disesuaikan dengan kebutuhan)
5.1.2 Perangkat Lunak (Software) Perangkat lunak merupakan penunjang dari peralatan komputer yang digunakan sebagai pendukung di dalam memberikan instruksi yang diinginkan agar computer dapat menghasilkan informasi yang diharapkan. Adapun kebutuhan yang diperlukan untuk dapat menunjang system yang akan dibuat adalah sebagai berikut : a. Sistem Operasi Windows XP Pro b. Java 2 Standart Edition (J2SE). c. Microsoft Access
112
5.2 Sistem Antarmuka Program uji coba rancangan aplikasi sistem pakar untuk mendiagnosa hasil usg penyakit dalam merupakan pengkodean menggunakan bahasa pemrograman Java. Basis data yang digunakan menggunakan Microsoft Access dengan nama usg.mdb. Berikut tampilan antar muka program aplikasi sistem pakar untuk mendiagnosa hasil usg penyakit dalam :
a. Tampilan Login Pada saat login pemakai dapat memasukan kata kunci atau password. Tampilan login dapat dilihat pada gambar 5.1
Gambar 5.1 Tampilan Login
Penjelasan tersebut diatas adalah jika pengguna memasukan password dengan benar,maka akan tampilan layar menu utama. Jika salah, sistem akan menampilkan kotak pesan berisi “ Password Salah”.
113
b. Tampilan Menu File Saat pemakai memilih menu File akan tampil submenu Diagnosa, Ulang dan Keluar. Jika kita memilih diagnosa maka sistem akan menampilkan beberapa pertanyaan terkait hasil USG penyakit dalam. Tampilan menu File dapat dilihat pada gambar 5.2.
Gambar 5.2 Tampilan Menu File
c. Tampilan Jenis Penyakit Tampilan Jenis Penyakit akan menampilkan beberapa jenis penyakit dalam yang dapat dipilih oleh pemakai untuk mengetahui ciri-ciri dari penyakit tersebut. Tampilan Jenis Penyakit dapat dilihat pada gambar 5.3.
114
Gambar 5.3 Tampilan Menu Jenis Penyakit d. Tampilan Menu Help Pada menu help hanya terdiri dari about, yang berisi kontak “thank’s for using this program, created by LIA TRISNOWATI/41505120058” Tampilan mneu help dapat dilihat pada gambar 5.4.
Gambar 5.4 Tampilan Menu Help
115
5.3 Pengujian ( Testing System )
5.3.1
Rancangan Pengujian Sistem testing dilakukan bersama-sama user untuk memeriksa bahwa sistem yang
di buat memenuhi kebutuhan dari user, untuk meyakinkan bahwa mereka dapat menggunakan sistem tersebut. Pelaksanaan sistem tes melalui tahap – tahap berikut : a. Menyusun rencana tes Dalam tahap ini merencanakan tipe tes apa saja yang akan dilakukan, membuat kriteria penerimaan dan membuat jadwal pelaksanaannya. Dalam memilih tipe tes yang diperlukan dengan berpedoman kepada kebutuhan, baik user ataupun sistem. Tipe – tipe tes yang dijalankan adalah sebagai berikut : 1) Auditability dan Control 2) Backup dan Recovery 3) Environment 4) Ketidakstabilan 5) Interface 6) Performance 7) Prosedur – prosedur 8) Security 9) Usebility 10) Volume
116
Dalam penulisan sistem pakar untuk diagnosa hasil USG penyakit dalam ini tidak dilakukan semua tes tersebut, disesuaikan dengan kebutuhan.
b. Mempersiapkan dan Mengkonfirmasi Data Dalam tahap ini penulis mengajukan permintaan data – data kepada ahli / pakar dibidang penyakit dalam, kemudian mempersiapkan tes data dan mengkonfirmasikan tes data yang tentunya harus sesuai yang diinginkan user.
c. Melaksanakan Tes Dalam tahap ini penulis langsung melakukan tes bersama user kemudian menemukan dan memeriksa kesalahan yang ditemukan yaitu dengan membandingkan hasil tes dengan check point yang dibuat, membuat rencana untuk memperbaiki kesalahan – kesalahan yang ditemukan.
5.3.2
Hasil Pengujian Setelah dilakukan pengujian dari sistem yang telah dibuat, didapatkan grafik tabel sebagai berikut :
117
Tabel 5.1 Hasil Pengujian Sistem Hasil Pengujian Sistem Kategori
Hasil No
Nama Form
Tipe Tes Testing 1
1
Form Diagnosa
Auditability dan Control
X
- Membuka data ciri – ciri fisik Backup dan Recovery
X
- Data penyakit Interface -
Java
-
Access
Performance
X
X
-Tampilan form diagnosa Security
X
- Data penyakit Volume
X
-Dapat di tambah data penyakit 2
Form
Jenis Auditability dan Control
X
Penyakit Backup dan Recovery
X
Environment
X
2
118
3
Update
Keterangan : 1. Sukses 2. Gagal
Ketidakstabilan
X
Interface
X
Performance
X
Prosedur – prosedur
X
Security
X
Useability
X
Volume
X
Auditability dan Control
X
Backup dan Recovery
X
Environment
X
Ketidakstabilan
X
Interface
X
Performance
X
Prosedur – prosedur
X
Security
X
Useability
X
Volume
X
119
5.4 Analisa Pengujian Dari hasil pengujian diatas didapatkan beberapa analisa sebagai berikut : 1. Kelebihan Setelah diadakan pengujian aplikasi sistem pakar diagnosa hasil USG penyakit dalam terhadap user didapatkan beberapa kelebihan yang telah dirasakan oleh user yang menggunakan, antara lain: a. Sistem ini sangat membantu sebagai pencegahan awal dari penyakit dalam. b. Dengan adanya sistem ini, user merasa seperti berhadapan langsung dengan dokter. c. Dapat menambah wawasan user mengenai penyakit dalam. 2. Kekurangan Selain kelebihan yang disebutkan diatas sistem aplikasi ini masih ada beberapa kekurangan yang harus diperbaiki anatara lain: a. Meskipun sistem ini sudah mewakili seorang pakar, namun tidak bisa juga dianggap sebagai seorang pakar sebenarnya. Mengingat ada kemungkinan kesalahan input yang dilakukan. b. Dengan kesalahan yang sangat besar diatas akan menyebabkan diagnosa yang salah, hal ini sangat berbahaya sekali dampak yang akan timbul terhadap user. c. Dari grafik diatas juga didapatkan bahwa performance dan prosedur – prosedur dari program masih terlihat sederhana terutama pada form diagnosa.
120
Dari analisa pengujian sistem ini diharapkan dapat dilakukan adanya pengembangan perbaikan program pada bagian performance dan prosedur – prosedur yang masih terlalu sederhana.
121
BAB VI KESIMPULAN DAN SARAN
6.1 Kesimpulan Berdasarkan pembahasan mengenai Sistem Pakar Untuk Diagnosa Hasil USG Penyakit Dalam, maka kesimpulan yang dapat diambil adalah sebagai berikut : 1. Sitem Pakar dimaksudkan bukan untuk mengganti fungsi dokter spesialis (ahli). Melainkan hanya sebagai alat bantu untuk mengantisipasi ketergantungan secara penuh terhadap dokter ahli. Juga berguna untuk memberikan informasi bagi yang membutuhkannya. 2. Pemakai dapat langsung berkomunikasi langsung dengan program ini layaknya seperti berkonsultasi dengan seorang pakar. 3. Aplikasi Sistem Pakar untuk Diagnosa Hasil USG Penyakit Dalam ini dapat membantu pasien, mahasiswa kedokteran, calon dokter dan paramedis lainnya yang bukan ahli, untuk mempercepat proses menemukan penyakit yang diderita. Maka keterlambatan dalam pemberian pertolongan dapat dicegah seminimal mungkin, juga untuk memudahkan mereka mendeteksi penyakit dalam karena penggunaan program ini sangat mudah.
122
6.2 Saran Saran yang dapat diberikan oleh penulis berkaitan dengan pembuatan sistem pakar ini antara lain sebagai berikut : 1. Didalam penulisan skripsi ini, penulis hanya membatasi pada penyakit hepar, pankreas, kantung empedu dan ginjal. Untuk pengembangan lebih lanjut diharapkan jangkauan wawasannya dapat diperluas lagi kedalam berbagai aspek ilmu pengetahuan lainnya. 2. Masalah yang akan didiagnosa bisa lebih luas lagi. 3. Adanya penambahan pengetahuan dari pakar lainnya dan mengadakan evaluasi berkala untuk dapat meningkatkan ketepatan dan keakuratan system ini. 4. Sebelum digunakan oleh masyarakat umum, sebaiknya system ini di validasi terlebih dahulu oleh pakar penyakit dalam, agar informasi yang dihasilkan tepat dan akurat. 5. Antar muka pemakai lebih disempurnakan lagi, agar terlihat lebih menarik dan dapat lebih mempermudah orang yang akan menggunakannya.
123
DAFTAR PUSTAKA
Hartono, Andry. 2002. Panduan Pemeriksaan Diagnostik USG. Jakarta. Sandjaja, Bernadus. 2004. Parasitologi Kedokteran Helminthologi Kedokteran 2. Surabaya: Prestasi Pustaka. Elin, Retnosari, Joseph, I Ketut, A Adji dan Kusnandar. 2005. ISO Farmakoterapi. Jakarta: Ikatan Sarjana Farmasi Indonesia. Syarif, Iwan dan Tessy Badriyah. 2002. Pembuatan Alat Bantu Ajar Sistem Pakar dengan Teknik Inferensi Backward Chaining. Surabaya. Surip, Miswan. 2000. Aplikasi Sistem Pakar : Infeksi Sistem Gastro-usus. Kuala Lumpur. Rasad, Sjahriar dan Sukonto Kartoleksono dan Iwan Ekayuda. 1996. Radiologi Diagnostik. Jakarta. Ramaiah, Sarita. 2005. Batu Ginjal. Jakarta : PT. Bhuana Ilmu Populer (Kel.Gramedia). Roger S. Pressman Ph.D, Rekayasa Perangkat Lunak, Andi Offset
http://java.sun.com
124
LAMPIRAN – LAMPIRAN
import javax.swing.*; import java.awt.*; import java.awt.event.*; import java.util.*; import java.sql.*;
String password = ""; public usg(){ JLabel lb=new JLabel("Password : "); JButton bt=new JButton("OK"); JButton bt1=new JButton("Cancel");
public class usg{ private JFrame layar; private JPanel p1; private JLabel L1; private JTextArea ta; private JTextField t1,t2,t3,t4,t5; private JButton b1,b2,b3,b4,b5,b6; private JMenuBar mb; private JMenu file,metode,Penyakit,help; private JMenuItem start,ulang,exit ; private JMenuItem forward,backward; private JMenuItem ph1,ph2,ph3,ph4,ph5,ph6,pyk1,pyk2,pyk3,p g1,pg2,pg3,pg4; private JMenuItem pg5,pg6,pke1,pke2,pke3,pke4,pke5,pke6; private JMenuItem about; private JDialog dialog; private JLabel ket,ket1; private Connection con; private Statement s; private ResultSet rs; int m; String tabelj,tujuan,tabelt,kode,jawaban,co de1, code2,code3,ciri,tingkat,asal,gejala,tu1,tu2,t u3,tu4,tu5,hapus,ubah,pertanyaan; //boolean gt; String URL = "jdbc:odbc:usg"; String username = "";
Container ct=l1.getContentPane(); ct.setLayout(new FlowLayout()); ct.add(lb); ct.add(pasw1); ct.add(bt); ct.add(bt1); bt.addActionListener(new Tampilkan()); bt1.addActionListener(new Keluar()); l1.setSize(250,130); l1.setVisible(true); } class Keluar implements ActionListener{ public void actionPerformed (ActionEvent f) { System.exit(0); } } public void newTampil() { l1.setVisible(false); layar= new JFrame("SISTEM PAKAR UNTUK ANALISA HASIL USG"); layar.getContentPane().setLayout(ne w FlowLayout()); p1= new JPanel(); p1.setBackground(Color.blue); L1= new JLabel(" Ciri-ciri fisik :"); ta= new JTextArea(28,56);
125
ta.setBackground(Color.getHSBCol or(0.5F,0.3F,1.0F)); b1= new JButton("Start"); b1.setBackground(Color.getHSBCol or(0.1F,0.8F,1.0F)); b2= new JButton("Ya"); b2.setBackground(Color.getHSBCol or(0.1F,0.8F,1.0F)); b3= new JButton("Tidak"); b3.setBackground(Color.getHSBCol or(0.1F,0.8F,1.0F)); b4= new JButton("Hasil"); b4.setBackground(Color.getHSBCol or(0.1F,0.8F,1.0F)); b5= new JButton("Ulang"); b5.setBackground(Color.getHSBCol or(0.1F,0.8F,1.0F)); b6= new JButton("Update"); b6.setBackground(Color.getHSBCol or(0.1F,0.8F,1.0F)); mb= new JMenuBar(); mb.setBackground(Color.lightGray) ; file= new JMenu("File"); file.setBackground(Color.lightGray) ; metode= new JMenu("Metode"); metode.setBackground(Color.lightG ray); Penyakit= new JMenu("Penyakit"); Penyakit.setBackground(Color.light Gray); help= new JMenu("Help"); help.setBackground(Color.lightGray );
start= new JMenuItem("Diagnosa"); ulang= new JMenuItem("Ulang"); exit= new JMenuItem("Exit"); ph1= new JMenuItem ("Gagal Jantung Kongestif"); ph2= new JMenuItem ("Hepatitis Akut"); ph3= new JMenuItem ("Hepatomegali Tropikal"); ph4= new JMenuItem ("Skistosomiosis"); ph5=new JMenuItem ("Hemangiomia"); ph6= new JMenuItem ("Kista Hati"); pyk1= new JMenuItem ("Pankreatitis Akut"); pyk2= new JMenuItem ("Pankreatitis Kronik"); pyk3= new JMenuItem ("Karsinoma Pankreas"); pg1= new JMenuItem ("Gagal Ginjal"); pg2= new JMenuItem ("Nefritis Kronik"); pg3= new JMenuItem ("Ginjal Kronik"); pg4= new JMenuItem ("Nefritis Akut"); pg5= new JMenuItem ("Ginjal Mengisut ( Contracted Kydney )"); pke1= new JMenuItem ("Kolelitiasis"); pke2= new JMenuItem ("Lumpur Empedu"); pke3= new JMenuItem ("Kolesistisis Akut"); pke4= new JMenuItem ("Kolesistisis Kronik"); pke5= new JMenuItem ("Polip"); pke6= new JMenuItem ("Kandung Empedu Keganasan"); about= new JMenuItem("About"); forward= new JMenuItem("Forward"); backward= new JMenuItem("Backward"); JScrollPane scrollPane = new JScrollPane(ta,
126
JScrollPane.VERTICAL_SCROLLBAR_A LWAYS, JScrollPane.HORIZONTAL_SCROLLBAR _ALWAYS);
GridBagLayout gridBag = new GridBagLayout(); Container cont = layar.getContentPane(); cont.setLayout(gridBag); cont.setBackground(Color.blue); GridBagConstraints c = new GridBagConstraints(); c.gridwidth = GridBagConstraints.REMAINDER; c.fill = GridBagConstraints.BOTH; c.weightx = 1.5; c.weighty = 1.5; gridBag.setConstraints(L1, c); cont.add(L1); gridBag.setConstraints(scrollPane, c); cont.add(scrollPane); cont.add(p1); p1.add(b1); p1.add(b2); p1.add(b3); p1.add(b4); p1.add(b5); p1.add(b6); layar.setJMenuBar(mb); mb.add(file); mb.add(metode); mb.add(Penyakit); mb.add(help); file.add(start); file.add(ulang); file.addSeparator(); file.add(exit); metode.add(forward); metode.add(backward); Penyakit.add(ph1); Penyakit.add(ph2); Penyakit.add(ph3); Penyakit.add(ph4); Penyakit.add(ph5); Penyakit.add(ph6);
Penyakit.addSeparator(); Penyakit.add(pyk1); Penyakit.add(pyk2); Penyakit.add(pyk3); Penyakit.addSeparator(); Penyakit.add(pg1); Penyakit.add(pg2); Penyakit.add(pg3); Penyakit.add(pg4); Penyakit.add(pg5); Penyakit.addSeparator(); Penyakit.add(pke1); Penyakit.add(pke2); Penyakit.add(pke3); Penyakit.add(pke4); Penyakit.add(pke5); Penyakit.add(pke6); help.add(about); ta.setEditable(true); layar.addWindowListener(new CloseHandler()); b1.addActionListener(new Start()); start.addActionListener(new Start()); b2.addActionListener(new Ya()); b3.addActionListener(new Tidak()); b4.addActionListener(new Hasil()); b5.addActionListener(new awal()); ulang.addActionListener(new awal()); about.addActionListener(new about()); forward.addActionListener(new Forward()); backward.addActionListener(new Backward()); ph1.addActionListener(new ALph1()); ph2.addActionListener(new ALph2()); ph3.addActionListener(new ALph3()); ph4.addActionListener(new ALph4()); ph5.addActionListener(new ALph5()); ph6.addActionListener(new ALph6()); pyk1.addActionListener(new ALpyk1()); pyk2.addActionListener(new ALpyk2()); pyk3.addActionListener(new ALpyk3()); pg1.addActionListener(new ALpg1()); pg2.addActionListener(new ALpg2()); pg3.addActionListener(new ALpg3()); pg4.addActionListener(new ALpg4());
127
pg5.addActionListener(new ALpg5()); pke1.addActionListener(new ALpke1()); pke2.addActionListener(new ALpke2()); pke3.addActionListener(new ALpke3()); pke4.addActionListener(new ALpke4()); pke5.addActionListener(new ALpke5()); pke6.addActionListener(new ALpke6()); b6.addActionListener(new Update()); exit.addMouseListener(new MouseAdapter() { public void mousePressed(MouseEvent e) { System.exit(0); } }); layar.setSize(700,600); layar.setVisible(true); metode.setVisible(false); b1.setEnabled(false); b2.setEnabled(false); b3.setEnabled(false); b4.setEnabled(false); b5.setEnabled(false); } class Tampilkan implements ActionListener{ public void actionPerformed (ActionEvent f) { char[] passwd = pasw1.getPassword(); if(cekPassword(passwd)){ newTampil(); } else{ JFrame ly=new JFrame("about"); JOptionPane.showMessageDialog(ly," Password Salah\n ");
} } } public void koneksi() { try { Class.forName("sun.jdbc.odbc.JdbcOdbcDri ver"); } catch (Exception e) { System.out.println("Failed to load JDBC/ODBC driver."); return; } try { con = DriverManager.getConnection ( URL, username, password); s = con.createStatement(); } catch (Exception e) { System.err.println("problems connecting to "+URL); } } public void answer() { koneksi(); try { ResultSet rs = s.executeQuery( "SELECT * FROM ["+tabelj+"]"+ "WHERE KODE LIKE ' "+tujuan+"' ;"); while(rs.next()){ kode=rs.getString("Kode"); tingkat=rs.getString("nama_penyaki t"); } con.close(); }
128
catch (Exception t) { t.printStackTrace(); } }
while(rs.next()){ code1=rs.getString("YA"); code2=rs.getString("Tidak");
public void question() { if(tujuan.equals("HN") || tujuan.equals("PH1") || tujuan.equals("PH2") || tujuan.equals("PH3") || tujuan.equals("PH4") || tujuan.equals("PH5") || tujuan.equals("PH6") || tujuan.equals("PHL") || tujuan.equals("PN") || tujuan.equals("PYK1") || tujuan.equals("PYK2") || tujuan.equals("PYK3") || tujuan.equals("PL") || tujuan.equals("PG1") || tujuan.equals("PG2") || tujuan.equals("PG5") || tujuan.equals("PGL") || tujuan.equals("KEN") || tujuan.equals("PKE1") || tujuan.equals("PKE2") || tujuan.equals("PKE3") || tujuan.equals("PKE4") || tujuan.equals("PKE5") || tujuan.equals("PKE6") || tujuan.equals("PKEL") || tujuan.equals("PG3") || tujuan.equals("PG4")) { b2.setEnabled(false); b3.setEnabled(false); b4.setEnabled(true); } else { koneksi(); try { ResultSet rs = s.executeQuery( "SELECT * FROM ["+tabelt+"]"+ "WHERE KODEP LIKE ' "+tujuan+"' ;");
ciri=rs.getString("Pertanyaan"); ta.append(" "); ta.append(" Apakah " + ciri + " ? "); } con.close(); } catch (Exception e) { e.printStackTrace(); } } } public void back() { koneksi(); try { ResultSet rs = s.executeQuery( "SELECT * FROM ["+tabelt+"]"+ "WHERE KODEP LIKE ' "+tujuan+"' ;"); while(rs.next()){ //code3=rs.getString("Ya"); //asal=rs.getString("asal"); gejala=rs.getString("Pertanyaan"); ta.append(" "); ta.append(m+"."+gejala+"\n"); } con.close(); } catch (Exception e) { e.printStackTrace(); } m++; }
129
//////////////////////////////////////////////////////////////// ////////////// //Update JAwab// //////////////////////////////////////////////////////////////// ////////////// */ private static boolean cekPassword(char[] input) { char[] amikPassword = { ' a' ,' d' ,' m' , ' i' ,' n' }; if (input.length != amikPassword.length) return false; for (int i = 0; i < input.length; i ++) if (input[i] != amikPassword[i]) return false; return true; } JFrame l=new JFrame("login"); JFrame l1=new JFrame("login"); JPasswordField pasw=new JPasswordField(20); JPasswordField pasw1=new JPasswordField(20); class Update implements ActionListener{ public void actionPerformed (ActionEvent f) { b6.setEnabled(false); JLabel lb=new JLabel("Password : "); JButton bt=new JButton("OK"); JButton bt1=new JButton("Cancel"); Container ct=l.getContentPane(); ct.setLayout(new FlowLayout()); ct.add(lb); ct.add(pasw); ct.add(bt); ct.add(bt1); bt.addActionListener(new dbTampil()); bt1.addActionListener(new Cancel()); l.setSize(250,130); l.setVisible(true); }
class Cancel implements ActionListener{
public void actionPerformed(ActionEvent a){ l.setVisible(false); } } } public void tampil() { t.setText(""); koneksi(); t.append("Table JAWAB:\n\n"); t.append("kodeP Pertanyaan
");
t.append("Ya Tidak Asal\n\n"); try { ResultSet rs = s.executeQuery( "SELECT * FROM JAWAB"); while(rs.next()){ String kode=rs.getString("kodep"); String pertanyaan=rs.getString("pertanyaan"); String ya=rs.getString("ya"); String tidak=rs.getString("tidak"); String asal=rs.getString("asal"); t.append(kode+" " +pertanyaan+" "+ya +" " + tidak + " "+ asal +"\n"); } con.close(); } catch (Exception e) { e.printStackTrace(); } } JTextArea t=new JTextArea(60,45); JButton btn1=new JButton("Tambah"); JButton btn2=new JButton("Hapus"); JButton btn3=new JButton("Ubah");
130
class dbTampil implements ActionListener{ public void actionPerformed(ActionEvent a){ char[] passwd = pasw.getPassword(); if(cekPassword(passwd)){ l.setVisible(false); t.setEditable(false); JFrame lr=new JFrame("Tabel Jawab"); JPanel pn=new JPanel(); JPanel pn2=new JPanel(); Container ctn=lr.getContentPane(); JScrollPane scroll = new JScrollPane(t); ctn.setLayout(new BorderLayout()); pn.setLayout(new BorderLayout()); pn2.setLayout(new FlowLayout()); ctn.add(pn, "Center"); ctn.add(pn2,"North"); pn2.add(btn1);//, "North"); pn2.add(btn2);//, "North"); pn2.add(btn3);//, "North"); pn.add(scroll, "Center"); lr.setSize(550,600); lr.setVisible(true); btn1.addActionListener(new dbUpdate()); btn2.addActionListener(new dbHapus()); btn3.addActionListener(new dbUbah()); tampil(); } else{ JFrame ly=new JFrame("about"); JOptionPane.showMessageDialog(ly," Password Salah\n Tidak bisa update database "); } } }
//////////////////////////////////////////////////////////////// ///////////////////////////// JFrame f1=new JFrame("Input Data"); JFrame f2=new JFrame("Input Kode"); JFrame f3=new JFrame("Input Kode"); JLabel lb1=new JLabel("KodeP :"); JLabel lb2=new JLabel("Pertanyaan :"); JLabel lb3=new JLabel("Ya :"); JLabel lb4=new JLabel("Tidak :"); JLabel lb5=new JLabel("Asal :"); JLabel lb6=new JLabel("KodeP :"); JLabel lb7=new JLabel("KodeP :"); JLabel lb8=new JLabel("Pertanyaan :"); JTextField t11=new JTextField(30); JTextField t12=new JTextField(30); JTextField t13=new JTextField(30); JTextField t14=new JTextField(30); JTextField t15=new JTextField(30); JTextField t16=new JTextField(6); JTextField t17=new JTextField(30); JTextField t18=new JTextField(30); JButton Ok1=new JButton("Insert"); JButton Ok2=new JButton("Hapus"); JButton Ok3=new JButton("Ubah"); public class dbUpdate implements ActionListener{ public void actionPerformed(ActionEvent a){ btn1.setEnabled(false); Container c=f1.getContentPane();
131
c.setLayout(new FlowLayout()); c.add(lb1); c.add(t11) ; c.add(lb2); c.add(t12); c.add(lb3); c.add(t13); c.add(lb4); c.add(t14); c.add(lb5); c.add(t15); c.add(Ok1); f1.setSize(350,300); f1.setVisible(true); Ok1.addActionListener(new DbUpdate2()); } } public class dbHapus implements ActionListener{ public void actionPerformed(ActionEvent a){ //btn2.setEnabled(false); Container c=f2.getContentPane(); c.setLayout(new FlowLayout()); c.add(lb6); c.add(t16) ; c.add(Ok2); f2.setSize(150,100); f2.setVisible(true); Ok2.addActionListener(new DbHapus2()); } } public class dbUbah implements ActionListener{ public void actionPerformed(ActionEvent a){ //btn2.setEnabled(false); Container c=f3.getContentPane(); c.setLayout(new FlowLayout()); c.add(lb7); c.add(t17); c.add(lb8); c.add(t18); c.add(Ok3); f3.setSize(350,150); f3.setVisible(true); Ok3.addActionListener(new DbUbah2()); } }
public void updateDB() { koneksi(); try { con.setAutoCommit(false); s= con.createStatement(); s.addBatch("INSERT INTO JAWAB " + "VALUES(' "+tu1+"' ,' "+tu2+"' ,' "+tu3+"' ,' "+t u4+"' ,' "+tu5+"' )"); int [] updateCounts = s.executeBatch(); con.commit(); con.setAutoCommit(true); s.close(); con.close(); System.out.print("Table JAWAB telah diupdate\n");
} catch(BatchUpdateException b) { System.err.println("----BatchUpdateException-----"); System.err.println("SQLState: " + b.getSQLState()); System.err.println("Message: " + b.getMessage()); System.err.println("Vendor: " + b.getErrorCode()); System.err.print("Update counts: "); int [] updateCounts = b.getUpdateCounts(); for (int i = 0; i < updateCounts.length; i++) { System.err.print(updateCounts[i] + " "); }
132
System.err.println("");
System.err.println("----BatchUpdateException-----");
} catch(SQLException ex) { System.err.println("----SQLException-----"); System.err.println("SQLState: " + ex.getSQLState()); System.err.println("Message: " + ex.getMessage());
System.err.println("SQLState: " + b.getSQLState()); System.err.println("Message: " + b.getMessage()); System.err.println("Vendor: " + b.getErrorCode()); System.err.print("Update counts:
System.err.println("Vendor: " + ex.getErrorCode()); } t11.setText(""); t12.setText(""); t13.setText(""); t14.setText(""); t15.setText(""); tampil(); }
"); int [] updateCounts = b.getUpdateCounts(); for (int i = 0; i < updateCounts.length; i++) { System.err.print(updateCounts[i] + " "); } System.err.println("");
public void hapusdb() { koneksi(); try { con.setAutoCommit(false); s= con.createStatement(); s.addBatch("DELETE FROM JAWAB WHERE KODEP LIKE ' "+hapus+"' ;"); int [] updateCounts = s.executeBatch(); con.commit(); con.setAutoCommit(true); s.close(); con.close(); System.out.print("record telah terhapus\n");
} catch(SQLException ex) { System.err.println("----SQLException-----"); System.err.println("SQLState: " + ex.getSQLState()); System.err.println("Message: " + ex.getMessage()); System.err.println("Vendor: " + ex.getErrorCode()); } t16.setText(""); tampil(); } public void ubahdb() { koneksi(); try {
} catch(BatchUpdateException b) {
con.setAutoCommit(false);
133
s= con.createStatement();
System.err.println("SQLState: " + ex.getSQLState());
s.addBatch("UPDATE JAWAB SET pertanyaan = ' "+pertanyaan+"'WHERE KODEP LIKE ' "+ubah+"' ;"); int [] updateCounts = s.executeBatch(); con.commit(); con.setAutoCommit(true); s.close(); con.close(); System.out.print("record telah diubah\n");
} catch(BatchUpdateException b) { System.err.println("----BatchUpdateException-----"); System.err.println("SQLState: " + b.getSQLState()); System.err.println("Message: " + b.getMessage()); System.err.println("Vendor: " + b.getErrorCode()); System.err.print("Update counts: "); int [] updateCounts = b.getUpdateCounts(); for (int i = 0; i < updateCounts.length; i++) { System.err.print(updateCounts[i] + " ");
System.err.println("Message: " + ex.getMessage()); System.err.println("Vendor: " + ex.getErrorCode()); } t17.setText(""); t18.setText(""); tampil(); }
class DbUpdate2 implements ActionListener{ public void actionPerformed (ActionEvent f) { tu1 = t11.getText(); tu2 = t12.getText(); tu3 = t13.getText(); tu4 = t14.getText(); tu5 = t15.getText(); // ta.append(tu1+"\n"+tu2+"\n"+tu3+"\ n"+tu4+"\n"+tu5+"\n"); updateDB(); } } class DbHapus2 implements ActionListener{ public void actionPerformed (ActionEvent f) { hapus = t16.getText(); hapusdb(); } }
} System.err.println(""); } catch(SQLException ex) { System.err.println("----SQLException-----");
class DbUbah2 implements ActionListener{ public void actionPerformed (ActionEvent f) { ubah = t17.getText(); pertanyaan = t18.getText(); ubahdb();
134
}
ph3.setEnabled(false); ph4.setEnabled(false); ph5.setEnabled(false); ph6.setEnabled(false); pyk1.setEnabled(false); pyk2.setEnabled(false); pyk3.setEnabled(false); pg1.setEnabled(false); pg2.setEnabled(false); pg3.setEnabled(false); pg4.setEnabled(false); pg5.setEnabled(false); pke1.setEnabled(false); pke2.setEnabled(false); pke3.setEnabled(false); pke4.setEnabled(false); pke5.setEnabled(false); pke6.setEnabled(false);
}
//////////////////////////////////////////////////////////////// /////////////////////////////////////////////////// //Selesai Update// //////////////////////////////////////////////////////////////// /////////////////////////////////////////////////// class Backward implements ActionListener{ public void actionPerformed (ActionEvent f) { forward.setEnabled(false); backward.setEnabled(false); b5.setEnabled(true); ph1.setEnabled(true); ph2.setEnabled(true); ph3.setEnabled(true); ph4.setEnabled(true); ph5.setEnabled(true); ph6.setEnabled(true); pyk1.setEnabled(true); pyk2.setEnabled(true); pyk3.setEnabled(true); pg1.setEnabled(true); pg2.setEnabled(true); pg3.setEnabled(true); pg4.setEnabled(true); pg5.setEnabled(true); pke1.setEnabled(true); pke2.setEnabled(true); pke3.setEnabled(true); pke4.setEnabled(true); pke5.setEnabled(true); pke6.setEnabled(true); } } class Forward implements ActionListener{ public void actionPerformed (ActionEvent f) { b1.setEnabled(true); b5.setEnabled(true); forward.setEnabled(false); backward.setEnabled(false); ph1.setEnabled(false); ph2.setEnabled(false);
} } class ALph1 implements ActionListener { public void actionPerformed (ActionEvent f) { tabelt="JAWAB"; m=1; ta.append("\n\nCiri - ciri fisik Penyakit Gagal Jantung Kongestif : \n"); tujuan="H7"; back(); tujuan="H6"; back(); tujuan="H5"; back(); tujuan="H1"; back(); } } class ALph2 implements ActionListener { public void actionPerformed (ActionEvent f) { tabelt="JAWAB"; m=1; ta.append("\n\nCiri - ciri fisik Penyakit Hepatitis Akut : \n"); tujuan="H10"; back(); tujuan="H9"; back(); tujuan="H8";
135
back(); tujuan="H1"; back();
tujuan="H18"; back(); tujuan="H17"; back(); tujuan="H16"; back(); tujuan="H1"; back();
} } class ALph3 implements ActionListener { public void actionPerformed (ActionEvent f) { tabelt="JAWAB"; m=1; ta.append("\n\nCiri - ciri fisik Penyakit Hepatomegali Tropikal : \n"); tujuan="H11"; back(); tujuan="H1"; back(); } } class ALph4 implements ActionListener { public void actionPerformed (ActionEvent f) { tabelt="JAWAB"; m=1; ta.append("\n\nCiri - ciri fisik Penyakit Skistosomiosis : \n\n"); tujuan="H15"; back(); tujuan="H14"; back(); tujuan="H13"; back(); tujuan="H12"; back(); tujuan="H1"; back(); } } class ALph5 implements ActionListener { public void actionPerformed (ActionEvent f) { tabelt="JAWAB"; m=1; ta.append("\n\nCiri - ciri fisik Penyakit Hemangiomia : \n"); tujuan="H19"; back();
} } class ALph6 implements ActionListener { public void actionPerformed (ActionEvent f) { tabelt="JAWAB"; m=1; ta.append("\n\nCiri - ciri fisik Penyakit Kista Hati : \n"); tujuan="H22"; back(); tujuan="H21"; back(); tujuan="H20"; back(); tujuan="H1"; back(); } } class ALpyk1 implements ActionListener { public void actionPerformed (ActionEvent f) { tabelt="JAWAB"; m=1; ta.append("\n\nCiri - ciri fisik Penyakit Pankreatitis Akut : \n"); tujuan="P16"; back(); tujuan="P13"; back(); tujuan="P10"; back(); tujuan="P4"; back(); tujuan="P2"; back(); tujuan="P1"; back();
136
} } class ALpyk2 implements ActionListener { public void actionPerformed (ActionEvent f) { tabelt="JAWAB"; m=1; ta.append("\n\nCiri - ciri fisik Penyakit Pankreatitis Kronik : \n"); tujuan="P18"; back(); tujuan="P15"; back(); tujuan="P9"; back(); tujuan="P5"; back(); tujuan="P1"; back();
public void actionPerformed (ActionEvent f) { tabelt="JAWAB"; m=1; ta.append("\n\nCiri - ciri fisik Penyakit Gagal Ginjal : \n"); tujuan="G10"; back(); tujuan="G9"; back(); tujuan="G8"; back(); tujuan="G7"; back(); tujuan="G1"; back(); } } class ALpg2 implements ActionListener {
} } class ALpyk3 implements ActionListener { public void actionPerformed (ActionEvent f) { tabelt="JAWAB"; m=1; ta.append("\n\nCiri - ciri fisik Penyakit Karsinoma Pankreas : \n"); tujuan="P19"; back(); tujuan="P17"; back(); tujuan="P14"; back(); tujuan="P12"; back(); tujuan="P8"; back(); tujuan="P1"; back(); } } class ALpg1 implements ActionListener {
public void actionPerformed (ActionEvent f) { tabelt="JAWAB"; m=1; ta.append("\n\nCiri - ciri fisik Penyakit Nefritis Kronik : \n"); tujuan="G13"; back(); tujuan="G12"; back(); tujuan="G11"; back(); tujuan="G1"; back(); } } class ALpg3 implements ActionListener { public void actionPerformed (ActionEvent f) { tabelt="JAWAB"; m=1; ta.append("\n\nCiri - ciri fisik Penyakit Ginjal Kronik : \n"); tujuan="G17"; back(); tujuan="G16";
137
back(); tujuan="G15"; back(); tujuan="G14"; back(); tujuan="G1"; back(); } } class ALpg4 implements ActionListener { public void actionPerformed (ActionEvent f) { tabelt="JAWAB"; m=1; ta.append("\n\nCiri - ciri fisik Penyakit Nefritis Akut : \n"); tujuan="G20"; back(); tujuan="G19"; back(); tujuan="G18"; back(); tujuan="G1"; back(); } } class ALpg5 implements ActionListener { public void actionPerformed (ActionEvent f) { tabelt="JAWAB"; m=1; ta.append("\n\nCiri - ciri fisik Penyakit Ginjal Mengisut ( Contracted Kydney ) : \n"); tujuan="G24"; back(); tujuan="G23"; back(); tujuan="G22"; back(); tujuan="G21"; back(); tujuan="G1"; back();
} } class ALpke1 implements ActionListener { public void actionPerformed (ActionEvent f) { tabelt="JAWAB"; m=1; ta.append("\n\nCiri - ciri fisik Penyakit Kolelitiasis : \n"); tujuan="KE7"; back(); tujuan="KE6"; back(); tujuan="KE5"; back(); tujuan="KE1"; back(); } }
class ALpke2 implements ActionListener { public void actionPerformed (ActionEvent f) { tabelt="JAWAB"; m=1; ta.append("\n\nCiri - ciri fisik Penyakit Lumpur Empedu : \n"); tujuan="KE11"; back(); tujuan="KE10"; back(); tujuan="KE9"; back(); tujuan="KE8"; back(); tujuan="KE1"; back(); } } class ALpke3 implements ActionListener { public void actionPerformed (ActionEvent f) { tabelt="JAWAB";
138
m=1; ta.append("\n\nCiri - ciri fisik Penyakit Kolesistisis Akut : \n"); tujuan="KE15"; back(); tujuan="KE14"; back(); tujuan="KE13"; back(); tujuan="KE12"; back(); tujuan="KE1"; back();
tujuan="KE25"; back(); tujuan="KE24"; back(); tujuan="KE23"; back(); tujuan="KE22"; back(); tujuan="KE21"; back(); tujuan="KE1"; back(); }
}
}
} class ALpke6 implements ActionListener class ALpke4 implements ActionListener { public void actionPerformed (ActionEvent f) { tabelt="JAWAB"; m=1; ta.append("\n\nCiri - ciri fisik Penyakit Kolesistisis Kronik : \n"); tujuan="KE20"; back(); tujuan="KE19"; back(); tujuan="KE18"; back(); tujuan="KE17"; back(); tujuan="KE16"; back(); tujuan="KE1"; back();
{ public void actionPerformed (ActionEvent f) { tabelt="JAWAB"; m=1; ta.append("\n\nCiri - ciri fisik Penyakit Kandung Empedu Keganasan : \n"); tujuan="KE31"; back(); tujuan="KE30"; back(); tujuan="KE29"; back(); tujuan="KE28"; back(); tujuan="KE27"; back(); tujuan="KE1"; back();
} } class ALpke5 implements ActionListener { public void actionPerformed (ActionEvent f) { tabelt="JAWAB"; m=1; ta.append("\n\nCiri - ciri fisik Penyakit Polip : \n"); tujuan="KE26"; back();
} } class Start implements ActionListener{ public void actionPerformed(ActionEvent f){ b1.setEnabled(false); ta.append(""); b2.setEnabled(true); b3.setEnabled(true); b5.setEnabled(true);
139
tabelt="JAWAB"; tujuan="TD0"; question(); }
if(code2.equals("PHL") || code2.equals("PKEL") || code2.equals("PGL")|| code2.equals("PL")) {
} class Ya implements ActionListener{ public void actionPerformed(ActionEvent f){ b1.setEnabled(false); b2.setEnabled(true); b3.setEnabled(true); ta.append(" Ya\n"); tabelt="JAWAB"; tujuan=code1; question(); } } class Tidak implements ActionListener{ public void actionPerformed(ActionEvent f){ b1.setEnabled(false); b2.setEnabled(true); b3.setEnabled(true);
if(code2.equals("PHL") || code2.equals("PKEL") || code2.equals("PGL")|| code2.equals("PL")) ta.append("Anda kemungkinan terkena penyakit lain\n"); else ta.append("Anda tidak cocok dalam program ini\n silahkan keluar...:)"); } else ta.append("Penyakitnya adalah : "+tingkat); ta.append("\n"); } } class awal implements ActionListener{ public void actionPerformed(ActionEvent f){ ulang.setEnabled(true);
ta.append(" Tidak\n");
forward.setEnabled(true);
tabelt="JAWAB";
backward.setEnabled(true); tujuan=code2; question();
}
b1.setEnabled(false); b2.setEnabled(false);
} b3.setEnabled(false); class Hasil implements ActionListener{ public void actionPerformed(ActionEvent f){
b4.setEnabled(false); b5.setEnabled(true); ta.setText("");
b4.setEnabled(false);
} }
tabelj="PENYAKIT"; answer(); ta.append("\n\n"); ta.append(" ");
class about implements ActionListener{ public void actionPerformed(ActionEvent e){
140
JFrame layar=new JFrame("about"); JOptionPane.showMessageDialog(l ayar," Thank' s For Using This
Program"+"\n\n"+" Created By : LIA TRISNOWATI/41505120058"); } } class CloseHandler extends WindowAdapter{ public void windowClosing(WindowEvent e){ System.exit(0); } } public static void main(String argv[]){ new usg(); } }
141
142
143
144
FORM WAWANCARA Narasumber : Dr. Yusuf Vian, Sp.PD Pertanyaan
Apa saja penyakit
Jawaban
Hepatitis Akut
Hepar ?
Hepatomegali Tropikal
Skitosomiosis
Ciri-ciri •
Tidak terdapat perubahan sonografik
•
Hepar membesar
•
Adanya nyeri bila ditekan
•
Pembesaran hepar
•
Adanya splenomegali
•
Hepar membesar
•
Penebalan vena porta
•
Cabang – cabang utama hepar menjadi sangat ekogenik
Hemangioma
•
Vena linealis melebar
•
Ditemukan hipertensi porta
•
Bentuknya bulat tepi tegas tidak licin
•
Struktur eko dengan sonodensitas rendah
•
Terdapat bercak – bercak kalsifikasi Tidak ada peningkatan densitas pada struktur eko
Kista Hati
•
Terlihat sebagai lesi – lesi anekoik yang bulat atau oval
Apa saja penyakit
Kolelitiasis
•
Mempunyai dinding tipis dan rata
•
Struktur eko lebih hiperekoik
o
Batu empedu terlihat sebagai gambaran hiperekoik yang bebas pada kandung empedu Batu empedu membentuk bayangan di bawah kandung empedu Batu empedu yang kecil dan tipis kadang
kandung empedu? o •
–
kadang
tidak
memperlihatkan
bayangan Lumpur empedu ( sludge )
•
Menempati
bagian
terendah
dari
145
kandung empedu •
Membentuk lapisan permukaan
•
Tidak memberikan bayangan akustik
•
Mempunyai viskositas yang lebih tinggi daripada cairan empedu
Kolesistisis akut
•
Sering ditemukan batu
•
Ada penebalan dinding kandung empedu
•
Terlihat eko cairan di sekeliling kandung empedu
Kolesistisis kronik
•
Terasa nyeri bila ditekan
•
Kandung empedu tidak terlihat
•
Dinding
kandung
empedu
menjadi
sangat tebal •
Eko cairan terlihat hiperekoik
•
Kandung empedu mengisut
•
Hanya eko batunya yang terlihat pada fossa vesika felea
Polip
Keganasan
•
Terlihat sebagai gambaran hiperekoik
•
Bentuknya bulat atau oval
•
Terletak dekat dinding kandung empedu
•
Mempunyai batas yang tegas
•
Tidak memberikan bayangan akustik
•
Tidak berubah letaknya
•
Terlihat sebagai massa
•
Mempunyai batas yang tidak rata
•
Melebar sampai ke parenkim hati
•
Kandung empedu membesar
•
Terlihat area anekoik sekeliling kandung empedu
Pankreatitis akut
•
Intensitas eko pankreas lebih tinggi daripada intensitas eko hati
146
•
Terjadi peradangan pankreas
•
Intensitas eko berkurang bahkan habis
•
Batas pankreas
menjadi kabur
dan
ireguler •
Terjadi
pembesaran
lokal
pada
intensitas
eko
karsinoma Apa
saja
Pankreatitis kronik
•
penyakit
Adanya
peninggian
jaringan yang menyeluruh
Pankreas
•
Pankreas membesar
•
Kontur menjadi ireguler
•
Gambaran eko struktur jaringan menjadi agak heterogen
•
Ditemukan pelebaran saluran pankreas yang ireguler
Karsinoma pankreas
•
Pembesaran parsial pankreas
•
Konturnya ireguler
•
Struktur eko yang rendah atau semisolid
•
Disertai pendesakan vena kava ataupun vena mesenterika superior
•
Disertai pelebaran saluran – saluran bilier atau metastatis di hati
Apa
saja
Gagal ginjal
•
penyakit ginjal
Gambaran
korteks
lebih
tinggi
dibandingkan dengan korteks normal
?
•
Ukuran ginjal mengecil
•
Adanya bercak – bercak pada yang disertai acoustic
shadow di
bawah
korteks
Nefritis kronik
•
Piramis ginjal akan menghilang
•
Ukuran
ginjal lebih
kecil
daripada
normal •
Ekokorteks sonodensitas meninggi
memperlihatkan (
Hiperekoik ) •
Gambaran bercak – bercak / garis – garis anekoik dari sistem kalises pada sinus
147
renal berkurang Ginjal kronik
•
Korteks ireguler
•
Korteks menipis
•
Ekokorteks hiperekoid
•
Hiperekoik sistem kalises hampir tidak terlihat
•
Korteks lebih tebal
•
Korteks lebih hiperekoik
•
Terlihat adanya kaliektasis karena rejeksi
Ginjal mengisut ( contracted
•
Ukuran ginjal sangat kecil
kidney )
•
Korteks menipis
•
Korteks hiperekoik
Nefritis akut
Sistem kolekting sangat berkurang
Jakarta, Mei 2009
Dr. Yusuf Vian, Sp.PD
148