• Tidak ada hasil yang ditemukan

BAB 3 ANALISIS DAN PERANCANGAN. pencarian-pencarian materi pendukung yang penulis lakukan melalui internet. Seorang

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 3 ANALISIS DAN PERANCANGAN. pencarian-pencarian materi pendukung yang penulis lakukan melalui internet. Seorang"

Copied!
17
0
0

Teks penuh

(1)

32

ANALISIS DAN PERANCANGAN

3.1 Analisis Permasalahan

Dalam mengembangkan sistem pakar ini diperlukan pengetahuan dan informasi yang diperoleh dari beberapa sumber, yaitu dari seorang pakar, dan beberapa buku serta pencarian-pencarian materi pendukung yang penulis lakukan melalui internet. Seorang pakar adalah seorang yang ahli dan menguasai dalam bidang tertentu dan mempunyai pengetahuan atau keahlian khusus yang tidak dikuasai dan dimiliki oleh kebanyakan oleh orang lain sehingga dapat memecahkan permasalahan yang tidak dapat dipecahkan oleh kebanyakan orang atau dapat memecahkan masalah dengan cara yang lebih efisien (Giarratano dan Riley, 1998, p2).

Masalahnya adalah jumlah pakar sangat terbatas bila dibandingkan dengan yang dibutuhkan. Hal ini wajar karena kepakaran baru dapat diperoleh dari pengalaman bertahun-tahun bahkan puluhan tahun. Untuk mengatasi hal itu perlu dipikirkan suatu metode untuk menyebarkan kepakaran yang dimiliki oleh pakar tersebut. Dengan memindahkan kepakaran yang dimiliki seorang pakar ke dalam suatu program komputer yang dinamakan dengan sistem pakar dan dengan penerapan sistem pakar untuk mengdiagnosa penyakit yang melibatkan sistem penyakit umum ini diharapkan dapat membantu masyarakat untuk mengenali gejala-gejala yang timbul sebelum pergi berobat. Sehingga pada akhirnya akan ditemukan obat apa yang dapat digunakan. Selain itu, juga memungkinkan setiap individu untuk menghemat waktu, biaya dan tenaga dalam mendapatkan pelayanan kesehatan dan pengobatan.

(2)

Dari beberapa keunggulan sistem pakar online maka user mungkin saja ingin mengetahui bagaimana sejarah kesehatan yang terjadi pada dirinya dan menyimpannya sebagai rujukan sebelum ia berobat pada dokter yang sebenarnya. Karena alasan-alasan itulah kemudian penulis ingin membuat sebuah sistem pakar yang menggunakan cara atau teknik yang lebih dapat diandalkan dan lebih memuaskan.

Sistem pakar online merupakan jawaban dari permasalahan tersebut. Dengan sistem ini maka sistem pakar bisa digunakan oleh banyak user sekaligus dengan sistem yang sama dan knowledgebase yang sama. Kemudian, proses peng-update-an knowledgebase tentu akan lebih mudah dilakukan.

Certainty Factor adalah suatu teknik yang sangat menjanjikan untuk pengembangan sistem pakar saat ini. Selain itu CF dirasakan lebih sesuai diaplikasikan pada sistem ini bila dibandingkan dengan metode lain. Hal lain yang menyebabkan kenapa kami memilih Certainty Factor sebagai teknik pengambilan keputusan adalah karena CF sudah tebukti akurat, hal ini dibuktikan dengan keampuhan MYCIN, dimana MYCIN juga menggunakan CF sebagai metodanya. Kelebihan lain yang penulis tawarkan pada sistem pakar ini adalah bahwa sistem pakar ini akan bersifat fleksibel. Sistem pakar ini berbentuk engine yang dapat di-install pada server yang diinginkan. Jadi, sistem pakar ini tidak tertutup untuk sebagian kelompok jenis penyakit saja. Siapa saja yang memiliki knowledge base sendiri bisa menggunakan engine ini bekerja sebagai sistem pakarnya.

Pada sistem pakar ini, penulis menggunakan penyakit umum untuk menunjukkan bagaimana sistem pakar ini bekerja, walaupun sebenarnya sistem pakar ini dapat digunakan untuk pendiagnosaan penyakit-penyakit yang lain, atau bahkan semuanya berjalan pada sistem yang sama. Hal itu hanya tergantung pada knowledge base yang

(3)

dimiliki. Jadi sistem pakar untuk mendiagnosa penyakit secara online ini menawarkan sebuah sistem dan teknik sistem pakar yang lebih fleksibel dan optimal baik dari segi kualitas maupun kemudahan serta jangkauan yang lebih luas dibandingkan dengan sistem pakar lain yang digunakan saat ini, terutama yang ada di Indonesia.

3.2 Akuisisi Pengetahuan

Dalam perancangan sistem pakar harus memperhatikan beberapa faktor antara lain akuisisi pengetahuan, representasi pengetahuan, perancangan basis pengetahuan, perancangan data dan perancangan layar.

3.2.1 Akuisisi Pengetahuan

Dalam perancangan aplikasi sistem pakar ini, terlebih dahulu melakukan proses akuisisi pengetahuan terhadap seorang pakar. Karena penulis menggunakan penyakit umum sebagai subject pada percobaan sistem pakar ini, maka penulis memilih seorang dokter umum. Pakar yang dimaksudkan adalah dokter Eddie Mufthi yang melakukan praktek di klinik keluarga Jl. KH. Hasyim Ashari, No. 44, Pedurenan – Ciledug - Tangerang. Dalam proses ini dilakukan wawancara mengenai bagaimana mendiagnosa penyakit yang sering terjangkit di kawasan ini dan beberapa penyakit lainnya berdasarkan gejala – gejala dan keluhan dari pasien. Pendiagnosaan dibuat menyerupai alur diagnosa seorang pakar dan juga diberikan rekomendasi mengenai daftar pustaka tentang penyakit pada lambung dari pakar tersebut. Selain melakukan wawancara, penulis juga memberikan formulir yang nantinya akan diisi oleh dokter tersebut.

(4)

3.2.2 Tabel Diagnosa Penyakit

Dari tabel ini, penulis ingin mengumpulkan data-data gejala penyakit yang dialami pasien yang sedang terjangkit penyakit asma atau diare, seorang pakar memberikan data dan nilai Measure Belive (MB) dan Measure Disbelieve (MD) dari beberapa penyakit yang kami sertakan. Selanjutnya untuk pengisian persentase terjadinya penyakit yang tertulis akan dihitung menggunakan rumus Certainty Factor (CF).

Tabel 3.1 Nama Penyakit Diare (Entritis)

Ya Tidak No Gejala

MB (%) MD (%) MB (%) MD (%)

1 Mual 10 60 60 50

2 Perut Mules 10 80 70 40

3 BAB > 6 kali sehari 10 30 60 20

4 Mencret 70 10 80 20

(5)

Tabel 3.2 Nama Penyakit Disentri

Ya Tidak No Gejala

MB (%) MD (%) MB (%) MD (%)

1 Perut Mules 50 50 50 50

2 BAB berupa lendir 10 50 10 0

3 Feses Berdarah 10 10 40 10

4 Tidak nafsu makan 50 50 50 50

Tabel 3.3 Nama Penyakit Maag

Ya Tidak No Gejala

MB (%) MD (%) MB (%) MD (%)

1 Mual 30 10 50 50

2 Nyeri di ulu hati 30 30 40 10

3 Perut Mules 50 50 50 50

4 Begah 80 50 20 10

(6)

Tabel 3.4 Nama Penyakit Cacar Air (Farisela)

Ya Tidak No Gejala

MB (%) MD (%) MB (%) MD (%)

1 Badan terasa panas 10 10 50 50

2

Ada bisul kecil berisi

cairan bening 90 10 50 50

3 Kulit gatal 90 10 30 80

4

Bisul kecil dikulit

menyebar 100 0 30 10

Tabel 3.5 Nama Penyakit Cacar Api (Herpes Zoster)

Ya Tidak No Gejala

MB (%) MD (%) MB (%) MD (%)

1

Ada bisul kecil berisi

cairan bening 90 10 0 80

2 Bisul kecil berkelompok 100 0 0 100 3 Kulit terasa terbakar 100 20 10 90

(7)

Tabel 3.6 Nama Penyakit Campak Jerman (Morbili) Ya Tidak No Gejala MB (%) MD (%) MB (%) MD (%) 1 Badan panas 10 10 50 50 2

Bercak seperti ruam

diseluruh tubuh 90 10 10 90

3 Ruam berwarna cokelat 70 10 50 90

4

Tubuh mengerluarkan

cairan berlebihan 100 0 0 100

Tabe 3.7 Nama Penyakit Campak Kelenjar (Rubela)

Ya Tidak No Gejala

MB (%) MD (%) MB (%) MD (%)

1 Badan panas 10 10 50 50

2

Bercak seperti ruam

diseluruh tubuh 80 10 20 80

3 Ruam berwarna cokelat 90 10 10 90

4

Belakang telinga terasa

(8)

Tabel 3.8 Nama Penyakit Demam Berdarah

Ya Tidak No Gejala

MB (%) MD (%) MB (%) MD (%)

1 Badan panas 10 10 50 50

2 Bintik merah ditubuh 70 30 20 80

3 Sakit kepala 60 40 20 70

4 Nyeri sendi 80 20 20 20

5 Nyeri di ulu hati 80 20 20 80

6 Badan terasa lemas 50 40 20 70

7 Mimisan 90 10 10 90

Tabel 3.9 Nama Penyakit Tipes

Ya Tidak No Gejala MB (%) MD (%) MB (%) MD (%) 1 Badan meriang 10 10 50 50 2 Sakit kepala 60 40 20 80 3 Perut mual 80 20 40 60

4 BAB tidak lancar 90 50 10 90

5 Mencret 60 30 30 70

6

Lidah kotor berwarna

(9)

Tabel 3.10 Nama Penyakit Sinusitis Maxilaris

Ya Tidak No Gejala

MB (%) MD (%) MB (%) MD (%)

1 Pilek 70 30 20 80

2 Kelopak mata bengkak 80 10 10 80

3

Selalu mencium bau tidak

sedap 90 50 10 80

4 Kepala pusing 60 40 40 60

Tabel 3.11 Nama Penyakit Rhinitis

Ya Tidak No Gejala

MB (%) MD (%) MB (%) MD (%)

1 Pilek 70 30 20 80

2 Badan lemas 70 20 30 70

3 Sering bersin di pagi hari 100 0 0 100

4 Hidung mampet 80 10 10 80

(10)

3.2.3 Representasi Pengetahuan

Dalam representasi pengetahuan, dilakukan pengumpulan dari informasi yang diperoleh dari pakar. Untuk membantu pengembangan aplikasi sistem pakar ini, maka pengetahuan yang diperoleh dalam bentuk wawancara akan diubah ke dalam tabel penyakit. Tabel ini berupa gejala penyakit yang telah berisi nilai MB dan MD pada tiap gejalanya. Dengan adanya nilai MB dan MD maka data akan dapat diaplikasikan ke dalam sistem yang sedang dibuat.

3.3 Perancangan Sistem Pakar

Sistem pakar teridiri-dari 2 bagian pokok, yaitu : lingkungan pengembangan (development environment) dan lingkungan konsultasi (consultation environment). Lingkungan pengembangan digunakan sebagai pembangunan sistem pakar baik dari segi pembangunan komponen maupun basis pengetahuan. Lingkungan konsultasi digunakan oleh seorang yang bukan ahli untuk berkonsultasi.

Pada lingkungan pengembangan (development environment) penulis sebagai knowledge engineer (user) akan bekerja sama dengan pakar (domain expert) dalam membangun sistem. Pakar berfungsi sebagai suber pengetahuan yang akan disimpan dalam knowledgebase. Sedangkan knowledge engineer bertugas membuat inference engine sekaligus melengkapinya dengan antarmuka (user interface). Knowledge engineer juga bertugas menghubungkan komponen komponen tersebut menjadi sebuah kesatuan yang dapat berfungsi sebagaimana layaknya sistem pakar.

(11)

Sedangkan pada lingkungan konsultasi (consultation environment), user akan berkonsultasi melalui antarmuka antarmuka (user interface) yang telah dibuat oleh knowledge engineer. Data yang dimasukkan dari user kemudian dihitung dalam inference engine, inference engine menyesuaikan dengan knowledgebase yang disediakan untuk menghasilkan keputusan yang nantinya akan ditampilkan pada antarmuka (user interface) yang bisa dilihat oleh pengguna. Dari inference engine, data keputusan juga akan dikirm ke database user untuk disimpan sebagai arsip yang nantinya mungkin akan dipergunakan lagi oleh pengguna (user) tersebut.

Diagram bagaimana sistem pakar kami dirancang dapat dilihat pada gambar berikut:

Gambar 3.1 Flowchart kerja sistem USER

KNOWLEDGE BASE

EXPERT SISTEM BUILDING TOOLS

USER INTERFACE INFERENCE ENGINE DOMAIN EXPERT KNOWLEDGE ENGINEER DATABASE USER Lingkungan konsultasi Lingkungan pengembangan

(12)

3.3.1 Pseudocode Program

Berikut merupakan pseudocode pada program kami, untuk mengetahui beberapa fungsi dari program yang ada. Untuk lebih jelas nya bisa dilihat dalam halaman lampiran. Fungsi checkup BEGIN IF NOT member BEGIN REDIRECT to ERROR END IF startup_form_submitted BEGIN

INSERT session_info INTO DATABASE VAR result = DATABASE result_rows FROM session_info

INSERT initial_answer INTO DATABASE END

VAR result = DATABASE result_rows FROM session_info

IF result_is_null BEGIN REDIRECT to initial_question END ELSE BEGIN

VAR tree = tree(ANSWERS)

IF tree_is_not_null BEGIN FOREACH tree BEGIN CREATE SQL penyakit_data END

VAR result = DATABASE result_rows FROM penyakit_data FOREACH result BEGIN IF key_exist_in_result BEGIN END

(13)

END PASS output_to_external_variable LOAD answer_list PASS answer_list_to_external_variable LOAD question_list PASS question_list_to_external_variable END LOAD disease_list PASS disease_list_to_external_variable END END FUNGSI tree BEGIN IF NOT member BEGIN REDIRECT to ERROR END LOAD disease_list

PARSE disease_list TO array disease LOAD answered_question

PARSE answered_question TO array question

PARSE input_array

INSERT input_array TO DATABASE

FOREACH answer

BEGIN

FOREACH disease

BEGIN

VAR data = engine(data, mb, md)

ARRAY list = filtered disease and answer END

END

VAR a2q = DATABASE result_rows FROM answer to question data //Data relasi setiap jawaban untuk merujuk ke pertanyaan

FOREACH a2q

BEGIN

ARRAY tree = filtered extra question END

RETURN MERGE list AND tree END

(14)

Fungsi engine(arr(oldMB,oldMD), mb, md) BEGIN

newMB = oldMB + ( mb/100 * ( 1 - oldMB)) newMD = oldMD + ( md/100 * ( 1 - oldMD)) newCF = newMB – newMD

RETURN newMB,newMD,newCF END

3.3.2 Perancangan Database

Pada sistem pakar ini, knowledgebase sebenarnya disimpan dalam bentuk database yaitu berupa tabel penyakit, question dan bobot, sedangkan yang lainnya merupakan bgian dari database user. Bentuk ERD dari database yang kami rancang dapat dilihat pada gambar berikut :

(15)

3.3.3 Pendekatan yang Digunakan

3.3.3.1 Perhitungan dengan Certanty Factor (Faktor Kepastian) Definisi asli dari CF adalah :

CF[h,e] = MB[h,e] – MD[h,e] Dengan:

CF[h,e] = faktor kepastian.

MB[h,e] = ukuran kepercayaan terhadap hipotesis h, jika diberikan evidence e .

MD[h,e] = ukuran ketidakpercayaan terhadap hipotesis h, jika diberikan evidence e.

Ada tiga hal yang mungkin terjadi pada perhitungan ini.

1. Kemungkinkan pertama: Beberapa evidence dikombinasikan untuk menentukan CF dari suatu hipotesis. Jika e1 dan e2 adalah observasi maka:

MB[h,e1 ^ e2] =

MD[h,e1 ^ e2] =

Contoh :

Andaikan suatu observasi memberikan kepercayaan terhadap h dengan MB[h,e1] = 0,3 dan MD[h,e1] = 0.

Sehingga CF[h,e1] = 0,3 – 0 = 0,3.

Jika ada observasi baru dengan dengan MB[h,e2] = 0,2 dan MD[h,e2] = 0, maka: MB[h,e1 ^ e2] = 0,3 + 0,2 * (1 - 0,3) = 0,44

MD[h,e1 ^ e2] = 0

(16)

2. CF dihitung dari kombinasi beberapa hipotesis. Jika h1 dan h2 adalah hipotesis, maka:

MB[h1 ^ h2,e] = min(MB[h1,e], MB[h2,e]) MB[h1 v h2,e] = max(MB[h1,e], MB[h2,e])

MD[h1 ^ h2,e] = min(MD[h1,e], MD[h2,e]) MD[h1 v h2,e] = max(MD[h1,e], MD[h2,e])

Contoh :

Andaikan suatu observasi memberikan kepercayaan terhadap h1 dengan MB[h1,e] = 0,5 dan MD[h1,e] = 0,2. Maka :

CF[h1,e] = 0,5 – 0,2 = 0,3.

Jika observasi tersebut juga memberikan kepercayaan terhadap h2 dengan MB[h2,e] = 0,8 dan MD[h2,e] = 0,1. Maka :

CF[h2,e] = 0,8 – 0,1 = 0,7.

Untuk mencari CF[h1 ^ h2,e] dapat diperoleh dari : MB[h1 ^ h2,e] = min(0,5; 0,8) = 0,5

MD[h1 ^ h2,e] = min(0,2; 0,1) = 0,1 CF[h1 ^ h2,e] = 0,5 – 0,1 = 0,4

Untuk mencari CF[h1 v h2,e] dapat diperoleh dari : MB[h1 v h2,e] = max(0,5; 0,8) = 0,8

MD[h1 v h2,e] = max(0,2; 0,1) = 0,2 CF[h1 v h2,e] = 0,8 – 0,2 = 0,6

(17)

3. Beberapa aturan saling bergandengan, ketidakpastian dari suatu aturan menjadi input untuk aturan yang lainnya maka:

MB[h,s] = MB’[h,s] * max(0,CF[s,e])

Dengan MB’[h,s] adalah ukuran kepercayaan h berdasarkan keyakinan penuh terhadap validitas s.

Contoh :

Sariawan = sakit sariawan

Sakit tenggorokan = ada gejala sakit tenggorokan Panas dalam = ada gejala panas dalam Aturan :

/1/

IF sakit sariawan

THEN ada gejala sakit tenggorokan (CF [sakit tenggorokan, sariawan] = 0,9)

/2/

IF ada gejala sakit tenggorokan THEN ada gejala sakit panas dalam

(MB [panas dalam, sakit tenggorokan] = 0,7)

Maka:

Gambar

Tabel 3.1 Nama Penyakit Diare (Entritis)
Tabel 3.2 Nama Penyakit Disentri
Tabel 3.4 Nama Penyakit Cacar Air (Farisela)
Tabel 3.6 Nama Penyakit Campak Jerman (Morbili)  Ya Tidak No Gejala  MB (%)  MD (%)  MB (%)  MD (%) 1  Badan  panas  10 10 50 50  2
+5

Referensi

Dokumen terkait

Pada hakekatnya kelinci tidak makan buah-buahan, dapat di berikan hanya untuk selingan tidak boleh dijadikan makanan pokok.. Yu di hitung jumlah kelincinya, dan susun

bahwa tarif pelayanan kesehatan yang diatur dalam Peraturan Daerah Kabupaten Konawe Selatan Nomor 3 Tahun 2008 tentang Retribusi Pelayanan Rumah Sakit Umum Daerah

Pengangkatan air gua suruh selesai hingga tahap distribusi pada hidrant umum yang terdapat pada masing-masing dusun tahun 2013, untuk keberlangsungan proses distribusi

1) Pelanggaran keempat dikenakan sanksi atas alasan sebagaimana dikenakan sanksi 6 (enam) bulan. 2) Pelanggaran kedua dikenakan sanksi atas alasan sebagaimana dikenakan sanksi 12

Ibnul Qoyyim rahimhullah berkata: syirik ini bagai lautan yang tidak ada tepinya dan sangat sedikit orang yang selamat darinya, maka barangsiapa yang berniat dengan amal

Berdasar hasil distribusi skor alternatif jawaban responden untuk indikator pengukuran variabel kualitas kehidupan kerja termasuk dalam kategori baik dengan pencapaian

pernah menunjukan secara lansung kalo itu semua produk kegiatannya LPMD. Karena kita gamau dianggap sebagai lembaga yang menjadi pesaing desa. Walaupun kita

Kebutuhan manusia akan rasa aman baik untuk masa sekarang maupun masa yang akan datang tidak akan ada habisnya. Rasa khawatir akan keselamatan hidup, kesehatan, pendidikan