Anda di halaman 1dari 100

DIKTAT KULIAH SISTEM PAKAR

Program studi : Teknik Informatika


Matakuliah : SISTEM PAKAR
SKS : 3 SKS
Semester :7
Jenis Matakuliah : Wajib
Kelompok MK : IKK

STMIK EL RAHMA YOGYAKARTA


Dibuat Oleh Revisi ke Tanggal dibuat Diperiksa oleh

Edi Faizal, S.T., M.Cs 1 13 September 2014 Kaprodi TI


Pokok Bahasan
Matakuliah Sistem pakar
Prgogram Studi Teknik Informatika- S1
STMIK El Rahma

BAB I Pengantar Sistem Pakar


BAB 2 Akuisisi Pengetahuan
BAB 3 Representasi Pengetahuan
BAB 4 Penalaran Berbasis Aturan dan Ketidak Pastian
BAB 5 Penalaran Berbasis Kasus
BAB 1 PENGANTAR SISTEM PAKAR

Sistem pakar (expert system) adalah sistem yang berusaha mengapdosi


pengetahuan manusia ke komputer, agar komputer dapat menyelesaikan masalah
seperti yang biasa dilakukan oleh para ahli. Sistem pakar yang baik dirancang agar
dapat menyelesaikan permasalahan tertentu dengan meniru kerja dari para ahli.
Jadi dalam sebuah sistem pakar, kepakaran ditransfer dari seorang pakar (atau
sumber kepakaran yang lain) ke komputer, pengetahuan yang ada disimpan dalam
komputer, dan pengguna dapat berkonsultasi pada komputer itu untuk suatu
nasehat, lalu komputer dapat mengambil inferensi (menyimpulkan, mendeduksi, dll.)
seperti layaknya seorang pakar, kemudian menjelaskannya ke pengguna tersebut,
bila perlu dengan alasan-alasannya. Sistem Pakar terkadang lebih baik unjuk
kerjanya daripada seorang pakar manusia.
Dengan sistem pakar, orang awam pun dapat menyelesaikan masalah yang
cukup rumit yang sebenarnya hanya dapat diselesaikan dengan bantuan para ahli.
Bagi para ahli, sistem pakar juga akan membantu aktivitasnya sebagai asisten yang
sangat berpengalaman.
Sistem pakar dikembangkan pertama kali tahun 1960. Sistem pakar yang terkenal :

MYCIN

 Paling terkenal, dibuat oleh Edward Shortlife of Standford University tahun 70-an
 Sistem pakar medical yang bisa mendiagnosa penyakit infeksi dan
merekomendasi pengobatan
 MYCIN membantu dokter mengidentifikasi pasien yang menderita penyakit.
Dokter duduk di depan komputer dan memasukkan data pasien: umur, riwayat
kesehatan, hasil laboratorium dan informasi terkait lainnya. Dengan informasi ini
ditambah pengetahuan yang sudah ada dalam komputer, MYCIN mendiagnosa
selanjutnya merekomendasi obat dan dosis yang harus dimakan.
 MYCIN sebagai penasehat medis, tidak dimaksudkan untuk mengantikan
kedudukan seorang dokter. Tetapi membantu dokter yang belum berpengalaman
dalam penyakit tertentu. Juga untuk membantu dokter dalam mengkonfirmasi
diagnosa dan terapi yang diberikan kepada pasien apakah sesuai dengan
diagnosa dan terapi yang ada dalam basis pengetahuan yang sudah dimasukkan
ke dalam MYCIN, karena MYCIN dirancang oleh dokter-dokter yang ahli di
bidang penyakit tersebut.
 Kesimpulan : sistem pakar seperti MYCIN bisa digunakan sebagai bahan
pembanding dalam pengambilan solusi dan pemecahan masalah. Keputusan
terakhir atas pengobatan tersebut tetap menjadi tanggung jawab dokter.

DENDRAL

Mengidentifikasi struktur molekular campuran kimia yang tak dikenal

XCON & XSEL XCON

 Merupakan sistem pakar untuk membantu konfigurasi sistem komputer besar,


membantu melayani order langganan sistem komputer DEC VAX 11/780 ke
dalam sistem spesifikasi final yang lengkap
 Komputer besar seperti VAX terbuat dari ratudan komponen yang berbeda
digabung dan disesuaikan dengan konfigurasi tertentu yang diinginkan oleh para
pelanggan.
 Ada ribuan cara dimana aseosri Pcboard, kabel, disk drive, periperal, perangkat
lunak, dan lainnya bisa dirakit ke dalam konfigurasi yang sangat rapih. Untuk
mengidentifikasi hal-hal tersebut diperlukan waktu berhari-hari/berminggu-
minggu agar bisa memenuhi spesifikasi yang diinginkan pemesan, tapi dengan
XCON bisa dalam beberapa menit.

XSEL

 Dirancang untuk membantu karyawan bagian penjualan dalam memilih


komponen istem VAX. Karena banyaknya pilihan karyawan tersebut sering
menghadapi kesulitan dalam memilih suatu komponen yang paling tepat.
 Basis pengetahuan yang ada pada XSEL membantu mengarahkan para
pemesan serius untuk memilih konfigurasi yang dikehendaki, kemudian XSEL
memilih CPU, memori, periperal dan menyarankan paket software tertentu yang
paling tepat dengan konfigurasinya.

PROSPECTOR

 Sistem pakar yang membantu ahli geologi dalam mencari dan menemukan
deposit
 Basis pengetahuan berisi bermacam-macam mineral dan batu-batuan. Banyak
pakar geologi diwawancarai dan pengetahuan mereka tentang berbagai bentuk
biji deposit dimasukkan ke dalam sistem pakar.
 Ahli geologi melacak biji deposit dengan pergi ke lapangan untuk meninjau
medan dan mengumpulkan bukti yang ada seperti ciri-ciri geologi dicatat, sampel
tanah dan batu-batuan. Sistem pakar mengevaluasi areal dalam bentuk
pertanyaan dan data-data tersebut dimasukkan, kemudian Prospector
memberikan rekomendasi yang menunjukkan jumlah deposit yang ada dan
apakah menguntungkan atau tidak bila dieksplorasi atau di bor lebih lanjut.

DELTA

Dibuat oleh perusahaan General Electric (GE) membantu karyawan bagian


pemeliharaan mesin lokomotif diesel dalam memantau mesin-mesin yang tidak
berfungsi dengan baik dan membimbing ke arah prosedur perbaikan.

FOLIO

 Sistem pakar yang menolong stock broker dan tugas manajer dalam menangani
investasi bagi kepentingan para langganannya. Stock broker mewawancarai
langganan untuk menentukan tujuan sumber dan investasi mereka.
 FOLIO bisa memberikan rekomendasi tentang keamanan investasi,
mengevaluasi stock beresiko tinggi,menghitung pengembalian modal, dan
membuat keputusan dalam hal pemasaran suatu komoditi.
 Membantu para perencana keuangan untuk memperkecil kerugian karena pajak,
inflasi atau faktor lain misal turun naiknya nilai mata uang.

EL

 Digunakan untuk menganalisa dan membantu rekayasa rancangan sirkuit


elektronik yang terbuat dari transistor, dioda dan resistor.
 Diagram skematik dari sirkuit ini dimasukkan ke dalam komputer dan EL
menganalisis menentukan karakteristik sirkuit, nilai voltase, dan strum yang ada
pada semua titik sirkuit.
 Basis pengetahuan pada EL merupakan prinsip umum elektronik seperti hukum
OHM, hukum kirchoff, karakteristik komponen, teori operasi transistor.
1.1 Sejarah Sistem Pakar

Sistem pakar atau expert sistem pertama kali dikembangkan oleh komunitas
Artificial Intelligence pada pertengahan tahun 1960. Sistem pakar yang muncul
pertama kali adalah General-purpose Problem Solver (GPS) yang dikembangkan
oleh Newel dan Simon.
Sistem pakar dalam bidang diagnosis kesehatan telah dikembangkan pada
pertengahan tahun 1970 oleh Bruce Buchanan dan Edward Shortliffe di Stanford
University. Sistem tersebut diberi nama MYCIN dan digunakan untuk melakukan
diagnosis dan terapi terhadap penyakit miningitis dan infeksi bacremia.

1.2 Definisi Sistem Pakar


Secara umum, sistem pakar (expert system) adalah sistem yang berusaha
mengadopsi pengetahuan manusia ke komputer, agar komputer dapat
menyelesaikan masalah seperti yang biasa dilakukan oleh para ahli. Ada beberapa
definisi tentang sistem pakar, antara lain:
1. Menurut Durkin: Sistem Pakar adalah suatu program komputer yang dirancang
untuk memodelkan kemampuan penyelesaian masalah yang dilakukan oleh
seorang pakar.
2. Menurut Ignizio: Sistem Pakar adalah suatu model dan prosedur yang berkaitan,
dalam suatu domain tertentu, yang mana tingkat keahliannya dapat dibandingkan
dengan keahlian seorang pakar.
3. Pada dasarnya, program sistem pakar sama dengan program komputer yang ada
suatu masalah yang harus dipisahkan atau dicocokkan. Tahap pertama
pembuatan sistem pakar ini adalah mengkaji situasi dan memutuskan dengan
pasti tentang masalah yang akan dikomputerisasi dan apakah sistem pakar dapat
membantu menjawab permasalahan tersebut.
4. Menurut Giarratano dan Riley: Sistem Pakar adalah suatu sistem komputer yang
bisa menyamai atau meniru kemampuan seorang pakar.
Sistem pakar dibuat pada wilayah pengetahuan tertentu untuk suatu kepakaran
tertentu yang mendekati kemampuan manusia di salah satu bidang. Sistem pakar
mencoba mencari solusi yang memuaskan sebagaimana yang dilakukan seorang
pakar. Selain itu sistem pakar juga dapat memberikan penjelasan terhadap langkah
yang diambil dan memberikan alasan atas saran atau kesimpulan yang
ditemukannya.
Seorang pakar adalah orang yang mempunyai keahlian dalam bidang tertentu,
yaitu pakar yang mempunyai knowledge atau kemampuan khusus yang orang lain
tidak mengetahui atau mampu dalam bidang yang dimilikinya.
Knowledge dalam sistem pakar adalah seorang ahli. Dalam sistem pakar user
menyampaikan fakta atau informasi untuk sistem pakar dan kemudian menerima
saran dari pakar atau jawaban ahlinya. Bagian dalam sistem pakar terdiri dari dua
komponen utama, yaitu knowledge base yang berisi knowledge dan mesin inferensi
yang menggambarkan kesimpulan. Kesimpulan tersebut merupakan respon dari
sistem pakar atas permintaan user (Lihat Gambar 1.1).

Gambar 1.1 Konsep dasar fungsi sistem pakar

Penggunaan sistem knowledge-base (basis pengetahuan) juga dirancang


untuk aksi pemandu cerdas seorang ahli. Pemandu cerdas dirancang dengan
teknologi sistem pakar karena memberikan banyak keuntungan terhadap
pengembangnya. Semakin banyak knowledge yang ditambahkan untuk pemandu
cerdas maka sistem tersebut akan semakin baik dalam bertindak sehingga semakin
menyerupai pakar sebenarnya.
Suatu knowledge dari sistem pakar bersifat khusus untuk satu domain masalah
saja. Domain masalah adalah bidang atau ruang lingkup yang khusus, seperti
kedokteran, keuangan, bisnis, ilmu pengetahuan atau teknik. Sistem pakar
menyerupai kepakaran manusia yang secara umum dirancang untuk menjadi pakar
dalam satu domain saja.
Knowledge dari sistem pakar tentang penyelesaian masalah yang khusus
disebut dengan domain knowledge dari suatu pakar. Sebagai ciontoh, sistem pakar
kedokteran yang dirancang untuk mendiagnosa infeksi penyakit akan mempunyai
suatu uraian knowledge tentang gejala-gejala penyakit yang disebabkan oleh infeksi
penyakit. Dalam kasus ini domain knowledge-nya adalah bidang kedokteran yang
terdiri dari knowledge tentang penyakit, gejala, dan cara pengobatannya.
Pada dasarnya sistem pakar diterapkan untuk mendukung aktivitas pemecahan
masalah. Beberapa aktivitas pemecahan yang dimaksud antara lain: pembuatan
keputusan (decicion making), pemaduan pengetahuan (knowledge fusing),
pembuatan desain (designing), perencanaan (planning), perkiraan (forecasting),
pengaturan (regulating), pengendalian (controlling), diagnosis (diagnosing),
perumusan (prescribing), penjelasan (explaining), pemberian nasihat (advising), dan
pelatihan (tutoring). Selain itu sistem pakar juga dapat berfungsi sebagai asisten
yang pandai dari seorang pakar.
Tabel 1.1 Perbandingan kemampuan seorang pakar dengan sistem pakar
Faktor Pakar Sistem Pakar
Waktu Hari kerja Setiap hari
Geogerafis Lokal/tertentu Di mana saja
Keamanan Tidak tergantikan Dapat diganti
Perishable/dapat Ya Tidak
habis
Performansi Variabel Konsisten
Kecepatan Variabel Konsisten
Biaya Tinggi Terjangkau

Seorang pakar dengan sistem pakar mempunyai banyak perbedaan. Darkin


(1994) mengemukakan perbandingan kemampuan antara seorang pakar dengan
sebuah sistem pakar seperti pada Tabel 1.1.
Ada beberapa alasan mendasar mengapa sistem pakar dikembangkan untuk
menggantikan seorang pakar, antara lain:
1. Dapat menyediakan kepakaran setiap waktu dan di berbagai lokasi.
2. Secara otomatis mengerjakan tugas-tugas rutin yang membutuhkan seorang
pakar.
3. Seorang pakar akan pensiun atau pergi.
4. Seorang pakar adalah mahal
5. Kepakaran dibutuhkn juga pada lingkungan yang tidak bersahabat (hostile
Environment).

Tujuan dari sebuah sistem pakar adalah untuk mentransfer kapakaran yang
dimiliki seorang pakar ke dalam komputer, dan kemudian kepada orang lain
(nonexpert). Aktivitas yang dilakukan untuk memindahkan kepakaran adalah:
1. Knowledge Acquisition (dari pakar atau sumber lainnya)
2. Knowledge Representation (ke dalam komputer)
3. Knowledge Inferencing
4. Knowledge Transfering

1.3 Arti Penting dan Masa Depan Sistem Pakar


Sistem pakar terkadang disalahgunakan atau salah penerapannya tapi tidak
bisa atau seharusnya tidak menghilangkannya karena tidak penting atau karena
mode lama. Metodologi sistem pakar akan tetap ada dan memegang peranan
penting di masa depan dalam pengambilan keputusan. Contohnya adalah pada
pendirian perusahaan. Untuk membuat perusahaan tersebut banyak memerlukan
bantuan dari para pakar manusia, antara lain : pakar keuangan, pakar hukum, analis
lokasi perusahaan, perancang sistem komputer, dan lain-lain. Seseorang yang
terlibat dalam masalah diatas akan menyadari bahwa :
 Keahlian itu jarang dan mahal
 Tingkat keahlian sangat banyak
 Pertimbangan, intuisi, dan pengalaman memegang peran kunci dalam
keahlian itu.
Maka, alternatifnya adalah dengan menggunakan sistem pakar sebagai
pembantu. Bila sistem pakar tersebut menguntungkan dan lebih murah, maka akan
banyak yang menggunakannya. Alasan lain pemakaian sistem pakar adalah
memberi keuntungan kompetitif, sehingga suatu perusahaan bisa bersaing dengan
perusahaan lainnya. Faktor-faktor diatas menyebabkan pertumbuhan dan
penerimaan akan sistem pakar.
Sistem pakar telah dijual atau diterapkan secara komersial dalam berbagi
bidang antara lain :
 Penasehat pasar bursa
 Perdagangan komoditas
 Perencanaan keuangan
 Perencanaan dan persiapan pajak
 Peminjaman dan penentuan batas kredit
 Diagnosa dan perawatan penyakit
 Penentuan bahan kimia dari suatu zat
 Penjadualan dan kontrol otomatis pabrik
 Diagnosa dan pemeliharaan mesin
 Penjadualan penerbangan
 Pemuatan kargo di kapal atau pesawat terbang
 Tata letak dan rancangan papan elektronik
 Penjadualan dan pengkontrolan proses kimia
 Memonitor dan menganalisis debu di pertambangan
 Peningkatan operasi makanan cepat saji
Daftar diatas hanyalah sebagian kecil penerapan sistem pakar. Pada tahun
1988, telah dicatat ada 2000 sistem pakar yang dipakai di dunia usaha. Sistem
pakar menjanjikan masa depan yang jelas dan menguntungkan.

1.4 Ciri-ciri Sistem Pakar


Sebuah sistem pakar berbeda dengan sistem informasi pada umumnya. Ciri-
ciri dari sebuah sistem pakar antara lain:
1. Terbatas pada bidang yang spesifik.
2. Dapat memberikan penalaran untuk data-data yang tidak lengkap atau tidak pasti.
3. Dapat mengemukakan rangkaian alasan yang diberikannya dengan cara yang
dapat dipahami.
4. Berdasarkan pada rule atau kaidah tertentu.
5. Dirancang untuk dapat dikembangkan secara bertahap.
6. Output-nya bersifat nasihat atau anjuran.
7. Output tergantung dari dialog dengan user.
8. Knowledge-base dan inference engine terpisah.

1.5 Keuntungan Sistem Pakar


Sistem pakar merupakan paket perangkat lunak atau paket program komputer
yang ditujukan sebagai penyedia nasehat dan sarana bantu dalam memecahkan
masalah di bidang-bidang spesialisasi. Sistem pakar merupakan subset dari Artificial
Intelligence. Ada beberapa keunggulan sistem pakar, antara lain:
1. Menghimpun data dalam jumlah yang sangat besar.
2. Menyimpan data tersebut untuk jangka waktu yang panjang dalam suatu bentuk
tertentu.
3. Mengerjakan perhitungan secara cepat dan tanpa jemu mencari kembali data
yang tersimpan dengan kecepatan tinggi.
1.6 Kemampuan sistem pakar diantaranya adalah:
1. Menjawab berbagai pertanyaan yang menyangkut bidang keahliannya.
2. Bila diperlukan dapat menyajikan asumsi dan alur penalaran yang digunakan
untuk sampai ke jawaban yang dikehendaki.
3. Menambah fakta kaidah dan alur penalaran sahih yang baru ke dalam otaknya.

1.7 Keuntungan menggunakan sistem pakar :


1. Memungkinkan orang awam dapat mengerjakan pekerjaan para ahli.
2. Dapat melakukan proses berulang secara otomatis.
3. Menyimpan pengetahuan dan keahlian para pakar.
4. Meningkatkan output dan kreativitas.
5. Meningkatkan kualitas.
6. Mampu mengambil dan melestarikan keahlian para pakar.
7. Mampu beroperasi dalam lingkungan yang berbahaya.
8. Memiliki kemampuan untuk bekerja dengan informasi yang tidak lengkap dan
mengandung ketidakpastian.
9. Memiliki kemampuan untuk mengakses pengetahuan.
10. Memiliki reliabilitas.
11. Meningkatkan kapabilitas sistem computer.
12. Sebagai media pelengkap dalam pelatihan.
13. Menghemat waktu dalam pengambilan keputusan.
14. Meningkatkan kapabilitas dalam penyelesaian masalah.

1.8 Kelemahan sistem pakar:


1. Biaya yang diperlukan untuk membuat dan memeliharanya sangat mahal.
2. Sulit dikembangkan. Hal ini tentu saja erat kaitannya dengan ketersediaan pakar
di bidangnya.
3. Sistem pakar tidaklah 100% menguntungkan, walaupun seorang tetap tidak
sempurna atau tidak selalu benar. Oleh karena itu, perlu diuji ulang secara teliti
sebelum digunakan. dalam hal ini peran manusia tetap merupakan faktor
dominan.
Kelemahan-kelemahan atau kekurangan dari sistem pakar tersebut bukanlah
sama sekali tidak bisa diatasi, tetapi dengan terus melakukan perbaikan dan
pengolahan berdasarkan pengalaman yang telah ada maka hal itu diyakini akan
dapat diatasi walupun dalam waktu yang panjang dan terus menerus.

1.9 Konsep Umum Sistem Pakar


Pengetahuan dari suatu sistem pakar mungkin dapat direpresentasikan dalam
sejumlah cara. Salah satu metode yang paling umum untuk merepresentasikan
pengetahuan adalah dalam bentuk tipe aturan (rule) IF…THEN (jika…maka).
Turban (1995) menyatakan bahwa konsep dasar dari suatu sistem pakar
mengandung beberapa unsur/elemen yaitu keahlian, ahli, pengalihan keahlian,
inferensi, aturan dan kemampuan menjelaskan.
Keahlian merupakan suatu penguasaan pengetahuan dibidang tertentu yang
didapatkan dari pelatihan, membaca atau pengalaman. Keahlian tersebut
memungkinkan para ahli dapat mengambil keputusan lebih cepat dan lebih baik dari
seorang yang bukan ahli.
Seorang ahli adalah seorang yang mempunyai pengetahuan tertentu dan
mampu menjelaskan suatu tanggapan, mempelajari hal-hal baru seputar topik
permasalahan (domain), menyusun kembali pengetahuan jika dipandang perlu,
memilih aturan jika dibutuhkan dan menentukan relevan atau tidaknya keahlian
mereka.
Pengalihan keahlian dari para ahli untuk kemudian dialihkan lagi ke orang lain
yang bukan ahli merupakan tujuan utama dari sistem pakar. Proses ini
membutuhkan empat aktivitas yaitu tambahan pengetahuan (dari para ahli atau
sumber-sumber lainnya), representasi pengetahuan (ke komputer), inferensi
pengetahuan dan pengalihan pengetahuan kepada pengguna. Pengetahuan yang
disimpan di komputer dinamakan dengan basis pengetahuan (knowledge-base). Ada
dua tipe pengetahuan yaitu fakta dan prosedur.
Salah satu fitur yang harus dimiliki oleh sistem pakar adalah kemampuan untuk
menalar (reasoning). Jika keahlian-keahlian sudah tersimpan sebagai basis
pengetahuan dan sudah tersedia program yang mampu mengakses basis data,
maka komputer harus dapat diprogram untuk membuat inferensi. Proses ini dibuat
dalam bentuk motor inferensi (inference engine).
Menurut Turban (1995), terdapat tiga orang yang terlibat dalam lingkungan
sistem pakar, yaitu:
1. Pakar (domain expert)
Pakar adalah seseorang ahli yang dapat menyelesaikan masalah yang sedang
diusahakan untuk dipecahkan oleh sistem.
2. Pembangun pengetahuan (Knowledge engineer)
Pembangun pengetahuan adalah seseorang yang menerjemahkan pengetahuan
seorang pakar dalam bentuk deklaratif sehingga dapat digunakan oleh sistem
pakar.
3. Pembangun sistem (System engineer)
Pembangun sistem adalah seseorang yang membuat antarmuka pengguna,
merancang bentuk basis pengetahuan secara deklaratif dan
mengimplementasikan mesin inferensi.
4. Pengguna (user)
Pengguna adalah seseorang yang berkonsultasi dengan sistem untuk
mendapatkan saran yang disediakan oleh pakar.

1.10 Bentuk/Type Sistem Pakar


1. Mandiri : sistem pakar yang murni berdiri sendiri, tidak digabung dengan
software lain, bisa dijalankan pada komputer pribadi, mainframe.
2. Terkait/Tergabung : dalam bentuk ini sistem pakar hanya merupakan bagian dari
program yang lebih besar. Program tersebut biasanya menggunakan teknik
algoritma konvensional tapi bisa mengakses sistem pakar yang ditempatkan
sebagai subrutin, yang bisa dimanfaatkan setiap kali dibutuhkan.
3. Terhubung : merupakan sistem pakar yang berhubungan dengan software lain,
misal : spreadsheet, DBMS, program grafik. Pada saat proses inferensi, sistem
pakar bisa mengakses data dalam spreadsheet atau DBMS atau program grafik
bisa dipanggil untuk menayangkan output visual.
4. Sistem Mengabdi: Merupakan bagian dari komputer khusus yang diabdikan
kepada fungsi tunggal. Sistem tersebut bisa membantu analisa data radar dalam
pesawat tempur atau membuat keputusan intelejen tentang bagaimana
memodifikasi pembangunan kimiawi, dll.

1.11 Arsitektur Sistem Pakar


Turban (1995), sistem pakar disusun oleh dua bagian utama, yaitu lingkungan
pengembangan (development environment) dan lingkungan konsultasi (consultation
environment). Lingkungan pengembangan sistem pakar digunakan untuk
memasukkan pengetahuan pakar ke dalam lingkungan sistem pengguna yang
bukan pakar guna memperoleh pengetahuan pakar. Komponen-komponen sistem
pakar dalam kedua bagian tersebut dapat dilihat dalam Gambar 1.2.
Komponen-komponen yang terdapat dalam sistem pakar, yaitu antarmuka
pengguna (user interface), basis pengetahuan (knowledge-base), akuisisi
pengetahuan (knowledge acquisition) dan mesin inferensi, workplace, fasilitas
penjelasan, perbaikan pengetahuan.

Gambar 1.2. Arsitektur sistem pakar (sumber: Turban (1995))


1. Antarmuka Pengguna (User Interface)
User Interface merupakan mekanisme yang digunakan oleh pengguna dan sistem
pakar untuk berkomunikasi. Antarmuka menerima informasi dari pemakai dan
mengubahnya ke dalam bentuk yang dapat diterima oleh sistem. Selain itu,
antarmuka menerima informasi dari sistem dan menyajikannya ke dalam bentuk
yang dapat dimengerti oleh pemakai. Menurut McLeod (1995), pada bagian ini
terjadi dialog antara program dan pemakai, yang memungkinkan sistem pakar
menerima instruksi dan informasi (input) dari pemakai, juga memberikan informasi
(output) kepada pemakai.
2. Basis pengetahuan (knowledge-base)
Basis pengetahuan mengandung pengetahuan untuk pemahaman, formulasi dan
penyelesaian masalah. Komponen sistem pakar ini disusun atas dua elemen
dasar yaitu fakta dan aturan. Fakta merupakan informasi tentang obyek dalam
area permasalahan tertentu, sedangkan aturan merupakan informasi tentang cara
bagaimana memperoleh fakta baru dari fakta yang telah diketahui.
3. Akuisisi Pengetahuan (knowledge Acquisition)
Akuisisi pengetahuan adalah akumulasi, transfer dan transformasi keahlian dalam
menyelesaikan masalah dari sumber pengetahuan ke dalam program komputer.
Pada tahap ini knowledge engineer berusaha menyerap pengetahuan untuk
selanjutnya ditransfer ke dalam basis pengetahuan. Pengetahuan diperoleh dari
pakar, dilengkapi dengan buku, basis data, laporan penelitian dan pengalaman
pemakai.
4. Mesin Inferensi
Mesin inferensi adalah program komputer yang memberikan metodologi untuk
penalaran tentang informasi yang ada dalam basis pengetahuan dan dalam
workplace dan untuk memformulasikan kesimpulan (Turban, 1995).
5. Workplace
Workplace merupakan area dari sekumpulan memori kerja (working memory).
Workplace digunakan untuk merekam hasil dan kesimpulan yang dicapai
6. Fasilitas penjelasan
Fasilitas penjelasan berguna dalam memberikan penjelasan kepada pengguna
mengapa komputer meminta suatu informasi tertentu dari pengguna dan dasar
apa yang digunakan komputer sehingga dapat menyimpulkan suatu kondisi.
Ada empat tipe penjelasan yang digunakan dalam sistem pakar, yaitu penjelasan
mengenai jejak aturan yang menunjukkan status konsultasi, penjelasan mengenai
bagaimana sebuah keputusan diperoleh, penjelasan mengapa sistem
menanyakan suatu pertanyaan, penjelasan mengapa sistem tidak memberikan
keputusan seperti yang dikehendaki pengguna (Schupp, 1989).
7. Perbaikan pengetahuan
Pakar memiliki kemampuan untuk menganalisis dan meningkatkan kinerjanya
serta kemampuan untuk belajar dari kinerjanya. Kemampuan tersebut adalah
penting dalam pembelajaran terkomputerisasi sehingga program akan mampu
menganalisis penyebab kesuksesan dan kegagalan yang dialaminya.
1.12 Tahap-tahap pengembangan sistem pakar
Untuk membuat suatu program sistem pakar, mulai dari konsep hingga selesai
memerlukan banyak pemikiran, rancangan, pemrograman dan debugging. Dapat
dikatakan bahwa sistem pakar merupakan program komputer yang cukup rumit bila
dibandingkan dengan program komputer konvensional lainnya. Salah satu cara
untuk membuat atau mengembangkan sistem pakar adalah membuat sendiri sistem
pakar yang benar-benar actual. Pengalaman yang diperoleh selama pembuatan
sistem pakar yang kecil akan akan menjadi dasar yang sangat bernilai dalam
pembuatan sistem pakar yang lebih besar. Alat pemrogram yang telah digunakan
untuk membuat sistem pakar diantaranya adalah prolog. Dalam pembuatan sistem
pakar ini, ada sepuluh tahap yang perlu diperhatikan. Gambar 1.3 menunjukkan
proses pembuatan sistem pakar langkah demi langkah.
Untuk memberikan gambaran langkah demi langkah dalam membuat sistem
pakar maka akan dijelaskan mengenai prosedur dan teknik yang akan digunakan.
Adapun langkah-langkah yang perlu diperhatikan adalah
1. Mengidentifikasikan Masalah dan Kebutuhan
Pada dasarnya, program sistem pakar sama dengan program komputer yang ada
suatu masalah yang harus dipisahkan atau dicocokkan. Tahap pertama
pembuatan sistem pakar ini adalah mengkaji situasi dan memutuskan dengan
pasti tentang masalah yang akan dikomputerisasi dan apakah sistem pakar dapat
membantu menjawab permasalahan tersebut.
2. Menentukan masalah Yang Cocok
Jika masalah telah diidentifikasikan dengan jelas, maka langkah selanjutnya
adalah mengkaji lebih dalam untuk mengetahui apakah masalah tersebut tepat
untuk sistem pakar. Hanya masalah tertentu saja yang dapat dipecahkan dengan
sukses oleh sistem pakar. Menganalisa masalah dimulai dengan jalan menulis
pertanyaan itu sendiri. Mewawancarai orang-orang yang berhubungan dengan
masalah yang akan diolah. Caranya adalah dengan mengajukan berbagai
pertanyaan yang telah ditulis langkah berikutnya adalah melakukan observasi,
yaitu dengan cara memperhatikan orang-orang melakukan tugas masing-masing,
dan bagaimana cara mereka mengatasi persoalan yang timbul. Konsultasi
pengamatan tersebut dengan seorang agar dapat memperoleh pandangan yang
berbeda. Jika langkah tersebut diatas telah dilakukan kembali pada proses
memperbaiki pernyataan semula dari sini dapat diketahui secara pasti bahwa
sasaran yang dituju telah benar.

Gambar 1.3 Langkah-langkah dalam proses pembuatan sistem pakar


3. Mempertimbangkan alternative
Pertimbangan alternative solusi lainnya adalah sistem manajemen Basis Data
untuk masalh yang akan dikerjakan. Dengan database Manajemen sistem proses
yang diutamakan adalah menyimpan data atau informasi dan hanya mengakses
jika diperlukan. Dalam sistem manajemen database kemampuan menalar
komputer tidak diperlukan. Jika alternative yang dipilih adalah dengan memakai
sistem pakar maka tahap selanjutnya diusahakan membuat kategori masalah
maka sistem pakar dikenal 10 kategori diatas, jika masalah tersebut sudah sesuai
dengan salah satu dari 10 kategori tersebut, maka tinggal satu langkah lagi untuk
sampai pada solusi sistem pakar. Walaupun telah diputuskan bahwa masalah
tersebut merupak pengetahuan yang terkait dan sesuai dengan salah satu dari 10
kategori yang berhubungan dengan sistem pakar, tetapi masih ada lagi satu
keputusan yang penting yang harus diambil sebelum melenjtkan kelangkah
berikutnya. Adapun beberapa factor tambahan yang menjadi bahan pertimbangan
diantaranya:
a. Keahlian Manusia
Sistem pakar menduplikasikan keahlian manusia atau mencoba menirukan
seseorang pakar mempunyai pengetahuan, pendidikan, pengalaman dalam
domain tertentu yang luar biasa. Jika pengetahuan dan pengalaman atau
dimasukkan kedalam sistem pakar, maka sistem pakar juga dapat
memecahkan masalah seperti seorang ahli. Seorang ahli atau pakar yang
dibutuhkan mungkin sangat langkah dan katakanlah pakar itu ada, belum tentu
ia sanggup mengerjakan satu masalah dalam waktu tertentu. Sistem pakar
juga dapat menyediakan keahlian yang diperlukan dilingkungan yang
berbahaya, seperti misalnya diruang angkasa dimedan pertempuran atau
dipabrik-pabrik yang kondisinya tidak biasa.
b. Perhitungan Yang Matang
Untuk membuat sistem pakar diperlukan inventasi yang besar. Setiap inventasi
harus selalu diperhitungkan pengembaliannya. Jika banyak individu dapat
memperoleh pengalaman dalam memecahkan masalah dengan sistem pakar,
maka pembuatan sistem pakar dapat dibenarkan dalam arti membantu
manusia dan menguntungkan, yang mana waktu pengembaliannya juga akan
sangat tinggi. Jadi sebelum memulai pembuatan suatu sistem pakar terlebih
dahulu harus diperhitungkan dengan matang tentang pengembalian
inventasinya.
c. Tidak Memerlukan Common sense
Sistem pakar akan lebih berguna bila didalam pemecahan masalah itu tidak
memerlukan comman sense. Comman sense merupakan gudang pengetahuan
yang sangat besar yang dimiliki oleh setiap orang melalui pendidikan dan
pengetahuan. Suatu sistem pakar sebenarnya tidak diharapkan untuk
mengetahui apa yang benar-benar dan apa yang salah atau apa yang baik dan
apa yang buruk.
d. Pusatkan Pada Bidang Khusus
Masalah yang diketemukan sebaiknya dispesifikasikan dan dibatasi pada
bidang yang lebih khusus. Hal ini dimaksudkan untuk mempermudah penyajian
domain pengetahuan.
e. Solusi, Bukan Fisik
Jika masalah itu dapat dipecahkan dengan pengolahan metal (bukan fisik),
maka sistem pakar mungkin dapat dibuat. Sistem pakar tidak dapat
memcahkan masalah fisik. Sistem pakar tidak mengkaji diagram, mencium
atau melakukan hal-hal biasa. Sebaiknya, sistem pakar memang hebat dalam
memecahkan masalah dimana pemakai dapat menyediakan fakta awal dan
angka-angka. Sistem pakar dapat menimbang informasi tersebut, dapat
menalar dan membuat keputusan yang mengarah solusi.
f. Tingkat Kesulitan Rendah
Jika masalah terlalu sederhana, mungkin tidak perlu dibuat sistem pakar,
sebaliknya jika permasalahan tersebut terlalu besar, juga tidak mungkin
mengerjakan dibuat sistem pakar. Sistem pakar hanya dapat mengerjakan
tugasnya dengan baik jika masalahnya merupakan masalah yang sedang.
g. Penyesuaian Rendah
Pengetahuan untuk pakar harus dipresentasikan dalam bentuk simbolik dan
kemudian dimanipulasi oleh komputer. Pengetahuan yang cocok kemudian
diekspresikan kedalam aturan-aturan if-then saat itulah diperlukan kemampuan
menganalisa potongan-potongan kecil pengetahuan yang diperlukan
kemampuan apakah hal tersebut dapat disimpan kedalam bentuk aturan.
h. Jumlah Minimum Solusi
Keluaran dari sitem pakar merupakan solusi. Keluaran tersebut berdasarkan
pada masukan yang diberikan sistem akan melacak basis pengetahuan sampai
mendapatkan konklusi. Pada sistem pakar yang baik, jumlah solusi
keluarannya atau saran yang diberikannya tidak terlalu banyak.
i. Tersedianya Pakar
Salah satu kebutuhan yang sangat kritis untuk memprtimbangkan apakah
masalah cacah untuk solusi sistem pakar, adalah adanya pakar yang akan
membantu.
4. Menghitung Pengembalian Inventasi
Jika pilihan jatuh kepada sistem pakar, maka langkah berikutnya adalah
menentukan apakah sistem pakar lebih mengutamakan atau tidak. Disini harus
diperhitungkan pengembalian inventasi dengan jalan menganalisa biaya dengan
kemungkinan keuntungan.
5. Memilih Alat Pengembang
Alat pengembang sistem pakar merupakan paket perangkat lunak yang
memungkinkan untuk memasukkan pengetahuan pakar kedalam komputer tanpa
harus membuat suatu program terlebih dahulu. Hampir semua alat pengembang
sistem pakar menggunakan aturan. Beberapa diantaranya menggunakan
implementasi frame dan jaringan sematik, tetapi dapat lebih dahulu mahal dan
hanya dapat dioperasikan dalam komputer besar. Adapun dua jenis alat
pengembang sistem pakar dalam komputer besar. Adapun dua jenis alat
pengembangan sistem pakar dapat dipertimbangkan, yaitu bahasa pemrograman
dan shell. Sistem pakar telah diciptakan dengan menggunakan hampir semua
jenis pemrograman yang umum. Sistem pakar telah dibuat dengan pascal, Fortan
dan bahasa Assembly dan untuk sekarang telah menggunakan visual. Dua pilihan
bahasa yang terbaik untuk sistem pakar adalah LISP dan PROLOG. Kedua
bahasa ini memang dirancang untuk aplikasi pada kecerdasan buatan dan
keduanya juga dapat digunakan untuk membuat sistem pakar.
Sistem pakar shell adalah merupakan perangkat lunak yang khusus dibuat untuk
membantu pembuat sistem pakar. Dalam beberapa hal, shell sama dengan
Database sistem manajemen atau Spreadsheet. Shell menyediakan kerangka
kerja dasar yang didalamnya terdapat data atau pengetahuan yang dimasukkan
dan dimanipulasi dengan cara yang telah ditentukan terlebih dahulu. Hampir
semua shell sistem pakar menggunakan skema representasi format aturan if-
then. Aturan ini sederhana, luwes, dan sangat popular. Jika telah selesai
merekayasa pengetahuan dan merancang program, hasilnya akan dipasang
kedalam bentuk contoh yang telah disiapkan, dalam bentuk matriks, sama dengan
spreadsheet. Tiap kolom matriks menampilkan atribut atau kondisi. Berbagai
kombinasi atribut menghasilkan kesimpulan khusus suatu keputusan. Keputusan
ini didaftar dalam kolom terpisah. Baris dalam matrik meliputi semua kombinasi
atribut yang mengarah pada kesimpulan spesifik.
6. Merekayasa Pengetahuan
Pengembangan sistem pakar dimulai dengan merekayasa pengetahuan, yaitu
bagaimana cara untuk memperoleh pengetahuan dapat diperoleh dengan
bagaimana cara, yaitu melalui buku, artikel-artikel ilmiah atau acuan lainnya yang
dapat diperoleh dari individu atau seorang yang memang ahli pada bidangnya.
Format atau bentuk akan menuntun dan mengarahkan dalam pemilihan skema
penampilan pengetahuan yang diperoleh. Jika pengetahuan tersebut merupakan
yang luar biasa maka dapat dipastikan untuk menggunakan representasi
pengetahuan dalam bentuk aturan produksi. Pekerjaan mengumpulkan dan
mengorganisasi pengetahuan kedalam bentuk yang sesuai dengan sistem pakar
tersebut dikenal dengan nama rekayasa pengetahuan.
7. Merancang Sistem
Dengan menggunakan pengetahuan yang telah diperoleh, sistem pakar siap
dirancang. Hal pertama yang harus diperhatikan adalah membuat garis besar
masalah. Dan hal-hal lain yang membantu dalam mengorganisasi dan memahami
pengetahuan tersebut. Salah satu langkah awal yang harus dilakukan adalah
dengan mengidentifikasi semua kemungkinan solusi yang akan diberikan oleh
sistem pakar, langkah ini dilakukan dengan mengidentifikasi semua fakta, angka
dan informasi lainnya yang memerlukan jawaban atau pemecahan masalah yang
diberikan sistem pakar, apabila sistem yang dirancang terlalu besar dan
kompleks, untuk memulai menulis aturan secara langsung dan masukan serta
keluaran, maka sebaiknya dibuat garis besar yang mungkin dapat membantu
untuk mengorganisasi informasi dan membaginya kedalam bagian-bagian yang
kecil. Jika pengetahuan yang akan diolah telah sampai pada penyusunan
prosedur sebaiknya dibuat bagan alur (flowchart), walaupun bagan alur mengkin
tidak cocok untuk sistem aplikasi sistem pakar, akan tetapi hal tersebut dapat
membantu untuk memahami dan mengorganisasi pengetahuan untuk sistem
pakar. Selanjutnya biasa dimulai dengan mengkonversikan pengetahuan dalam
bentuk kaidah if-then. Jika telah selesai, baru menggunakan alat untuk membuat
prototype bagian sistem. Kemudian menterjemahkan bagian pengetahuan dalam
kaidah dan menguji bagian yang sudah dibuat.hal ini dimaksud untuk menguji
konsep sebelum dilanjutkan pembuat program.
8. Melengkapi Pengembangan
Cara terbaik untuk mengembangkan prototype dalam sistem pakar dengan jalan
meluruskan bagian demi bagian secara khusus, pengetahuan itu akan dibagi
kedalam potongan-potongan yang logis, masing-masing dengan blok aturan
setiap bagian diuji apakah sudah dapat berjalan sesuai dengan yang dikehendaki.
9. Menguji dan Mencari Masalah Sistem
Sebaiknya sistem pakar diuji dengan disebabkan pada pemakai yang
menginginkannya. Pemakai akan menunjukkan bagian mana yang masih kurang
sempurna dan harus dikorelasi sesuai kebutuhan yang dikehendaki. Tahap
pengujian ini diusahakan untuk melihat keabsahan sistem pakar tersebut, agar
jalannya sistem benar-benar sesuai dengan tujuan yang dimaksud. Pengujian
sistem sangat diperlukan untuk menentukan keberhasilan suatu sistem dalam hal
ini pengujian meliputi evaluasi unjuk kerja dan kegunaan program prototype dan
melakukan perbaikan-perbaikan jika masih terjadi kesalahan.
10. Memelihara Sistem
Beberapa subyek atau domain bersifat dinamis oleh karena itu sistem pakar harus
selalu dipelihara dan dikembangkan sesuai dengan perkembangan pengetahuan
itu sendiri. Salah satu contohnya dengan memperbaharui pengetahuan mengganti
pengetahuan yang sudah ketinggalan dan meluweskan sistem agar dapat bekreja
lebih baik lagi dalam menyelesaikan masalah sesuai dengan perkembangan
pengetahuan.
BAB 2 AKUISISI PENGETAHUAN

Knowledge acquisition akan dibicarakan dengan dua pendekatan yang


berbeda, yang pertama knowledge acquition didapat langsung dari domain expert,
sedangkan yang kedua menggunakan data yang telah ada yang lebih dikenal
dengan rule induction. Kedua pendekatan ini banyak digunakan dan kadang-kadang
dalam pembuatan rule based sistem pakar menggunakan kombinasi kedua
pendekatan ini.

2.1 Knowledge Acquisition dan Domain Expert


Cara yang nyata untuk mendapatkan knowledge base adalah dengan datang
langsung kepada seorang pakar yang bersangkutan. Namun paling tidak ada 4
alasan kenapa hal ini tidak bisa dilakukan atau paling tidak memberikan hasil yang
kurang memuaskan. Alasan-alasan tersebut adalah :
1. Ada beberapa masalah yang tidak bisa diimplementasikan dalam sistem pakar.
2. Ada anggapan bahwa istilah sistem pakar adalah sesuatu yang bisa
mengerjakan atau menyelesaikan masalah dengan baik.
3. Sistem pakar tidak bisa mengungkapkan kecurangan.
4. Beberapa pakar tidak mengeluarkan alasan terhadap pendekatan yang mereka
gunakan, serta ada beberapa sistem pakar yang pada kenyataannya tidak
mengerti bagaiman mereka membuat suatu keputusan.

2.2 Langkah Umum untuk membuat sistem pakar adalah sebagai berikut :
1. Mengidentifikasi seorang pakar.
2. Mengadakan pertemuan pendahuluan untuk membicarakan bagaiman cara kerja
yang baik serta hal-hal yang diperluakn dalam pengembangan sistem pakar.
3. Mengajukan proposal untuk mengadakan pertemuan-pertemuan lanjutan.
2.3 Pemilihan masalah yang akan dibuat sistem pakar
1. Domain seharusnya berjumlah satu.
2. Pembuatan keputusan yang baik terhadap permasalahan yang dianggap penting
bagi manajemen dan komitmen mereka terhadap waktu dan sumber daya yang
diperlukan untuk mengembangkan dan mengimplementasikan sistem pakar.
3. Adanya manajemen yang baik untuk mengatur biaya dan sumber daya yang
dibutuhkan, serta perkiraan resiko yang akan terjadi selama proses
pengembangan sistem pakar.
4. Permasalahan yang akan diimplementasikan dalam sistem pakar harus dalam
keadaan stabil.

2.4 Pemilihan Knowledge Engineers


1. Idealnya digunakan dua Knowledge Engineers salah satunya adalah yang sudah
berpengalaman dalam pengembangan dan implementasi sistem pakar.
2. Knowlwdge engineers seharusnya berhati-hati terhadap beberapa alternatif
dalam menganalisa keputusan.
3. Keahlian dari Knowledge Engineers adalah memperoleh knowledge tersebut dan
membuat model untuk knowledge tersebut (rule base).

2.5 Pemilihan Pakar


1. Meminta perusahaan/organisasi untuk menyediakan beberapa nama yang akan
dijadikan pakar dalam meyelesaikan masalah dalam sistem pakar, dimana pakar
tersebut mempunyai keahlian dalam masalah-masalah yang dipertanyakan.
2. Memilih satu dari beberapa nama yang diajukan, yang mempunyai kemampuan
yang diakui untuk mejalankan tugasnya dengan baik.
3. Memilih pakar yang mempunyai track record yang baik dalam beberapa waktu.
4. Memilih pakar yang mempunyai kemauan dan kemampuan untuk berkomunikasi
dengan knowledge engineer serta mau untuk mengeluarkan pendapat dan
pemikirannya.
5. Memilih pakar yang mampu mencurahkan waktunya untuk mengembangkan
sistem pakar dalam waktu yang telah ditentukan.
2.6 Pertemuan Pedahuluan
1. Pertemuan ini bertujuan agar Knowledge Engineers dapat beradaptasi dengan
permasalahan yang ada dan istilah-istilah yang digunakan dalam domain
tersebut.
2. Lokasi yang digunakan untuk pertemuan haruslah nyaman, dan diusahakan agar
pertemuan yang dilangsungkan tidak terlalu lama (paling tidak kurang dari dua
jam).
3. Pertemuan harus dilaksanakan dalam suasana yang informal dan rileks.
4. Memberitahukan kepada pakar tentang rencana dan tujuan yang akan dicapai,
serta menjelaskan apa itu sistem pakar serta apa saja yang bisa dilakukan oleh
sistem pakar.
5. Diskusi tentang sistem pakar akan lebih baik apabila disertai dengan demo
sistem pakar yang telah ada.
6. Apabila diperluakan alat perekam audio/visual, maka haruslah minta izin dan
menjelaskan bahwa rekaman tersebut hanya digunakan untuk kepentingan
Knowledge Engineers.

2.7 Latar Belakang


1. Apabila diperlukan, maka bisa dilakukan survei terhadap lokasi.
2. Memastikan adanya manual, laporan ataupun dokumen tertulis yang
menjelaskan tenang domain, masalah dan istilah yang digunakan.
3. Meminta kepada pakar untuk mengadakan tutorial informal dimana Knowledge
Engineers lebih banyak mendengar dan mempelajari masalah.

2.8 Rencana Pertemuan Lanjutan


1. Berusaha untuk meminimalkan interupsi.
2. Merencanakan acara untuk setiap pertemuan.
3. Menentukan tujuan dan obyek dari setiap pertemuan.
4. Apabila prototype telah dikembangkan, mintalah akses terhadap software dan
hardware yang ada (prototype digunakan untuk demo dan tanggapan user
terhadap hasil yang ada)

2.9 Memimpin Pertemuan Lanjutan


1. Membuat aturan yang digunakan dalam diskusi.
2. Berusaha untuk mengidentfikasi semua sumber data dari luar dan informasi-
informasi yang digunakan oleh pakar.
3. Bersabar dan jangan menginterupsi pakar.
4. Menghindari kritik dan sebagai gantinya fokuskan pada klarifikasi.
5. Selalu ingat bahwa saudara mengembangkan model rule base seorang pakar
bukan model rule base anda sendiri.
6. Apabila tidak mengerti terhadap suatu masalah yang dibuat oleh pakar,
janganlah takut untuk meminta klarifikasi.
7. Menggunakan uji kasus untuk demo proses pembuatan keputusan dan untuk
meng-identifikasi batas dari kebenaran rule base
8. Memperkenalkan producton rule kepada domain expert, ini mungkin akan
membesarkan hati pakar untuk memulai menyebutkan aturan-aturannya dalam
format ini.
9. Selalulah ingat siapa saudara dan untuk apa saudara disana.

2.10 Dokumentasi
1. Membuat dokumen dari hasil pertemuan sedini mungkin setelah selesainya
pertemuan.
2. Dokumentasi dari setiap pertemuan bisa terdiri atas :
 Tanggal, waktu dan tempat pertemuan
 Nama dari pakar (Apabila ada pakar lebih dari satu)
 Rincian dan deskripsi dari rules yang diidentifikasi selama pertemuan.
 Rincian dari obyek baru, atribut dan atau nilai yang ada serta propertis dari
obyek tersebut.
 Rincian dari sumber dan referensi dari luar yang digunakan.
 Rincian dari istilah baru yang ada serta definisinya.
 Rincian dan diskusi tentang perbedaan yang ada atau ketidakcocokan yang
dirasakan. (masalah-masalah yang perlu diklarifikasi).
3. Dokumentasi digunakan untuk mendukung pembuatan production rule oleh
sebab itu dokumentasi harus memuat fakta-fakta berikut :
 Rincian dan diskripsi dari semua rules yang sejauh ini telah dikembangkan.
 Rincian dari semua obyek, atribut dan nilai-nilai yang telah didapat.
 Rincian Sumber dan referansi.
 Daftar istilah-istilah yang digunakan.
 Rician dan diskusi tentang uji kasus yang digunakan untuk mengevaluasi
prototype.

2.11 Untuk menghasilkan rule base yang bagus ada beberapa cara yang bisa
dilakukan
1. Pakar tidak perlu mengerti konsep tentang rules dan heuristic.
2. Bertanyalah kepada pakar tentang suatu masalah yang ada sehingga pakar akan
cepat sampai pada kesimpulan.
3. Permasalahan yang ada termasuk klasifikasi (diagnosa) atau konstruksi. Apabila
permasalahannya adalah diagnosa cobalah untuk menentukan :
 Gejala yang digunakan oleh pakar untuk mengklasifkasi
 Pengobatan yang direkomendasikan oleh pakar.
 Hubungan antara gejala yang pengobatan (bagaimana mereka cocok ?).
Apabila permasalahan yang ada adalah konstruksi, maka cobalah untuk
menentukan :
 Data yang digunakan oleh pakar.
 Rincian alternatif-alternatif yang ada.
 Heuristic yang digunakan untuk memangkas atau memendekkan rincian
alternatif-alternatif yang ada.
4. Memastikan sedini mungkin data yang digunakan oleh pakar untuk membuat
kesimpulan.

2.12 Domain Expert yang lebih dari Satu


Pengembangan sistem pakar mungkin membutuhkan lebih dari satu pakar,
apabila ini terjadi maka bisa menjadikan frustasi apabila tidak ditangani dengan baik.
Surko memberikan saran “ Apabila dalam pengembangan sistem pakar ada pakar
lebih dari satu maka rule base dikembangkan dari satu pakar, kita membuat
prototypenya kemudian pakar yang dipersilahkan untuk mengkritik hasil yang telah
dicapai. Apabila ada dua pakar yang tidak setuju maka lebih baik untuk memilih versi
yang saudara anggap lebih baik. Tujuan saudara adalah untuk mendapatkan
knowledge yang terbaik tetapi dengan perselisihan yang minimal.”
Surko juga mengingatkan bahwa mengumpulkan para pakar bersama untuk
mengemukakan pendapatnya yang berbeda adalah terlalu riskan untuk
mendapatkan peningkatan.
2.13 Contoh Kasus Knowledge Acquisition
Pada tanggal 12 Agustus 1988 The Wall Street Journal pada halaman
depannya menceritakan tentang kurang kesuksesan dari usaha untuk knowledge
acquisition. Dari situ bisa dipelajari tentang kesuksesan ataupun kegagalan.
Mr Thomas Kelly adalah seorang insinyur yang mempunyai usia 55 tahun
dan keahliannya adalah dalam bidang teknik sipil terutama dalam mendiagnosa dan
menyelesaikan masalah-masalah tentang bendungan raksasa yang terbuat dari
tanah. Keahlian Mr Kelly ini terlalu berharga untuk hilang begitu saja dengan
meninggalnya Mr Kelly, untuk itu perusahaan menyediakan $300.000 selama dua
tahun untuk mengembangkan sebuah sistem pakar yang mempunyai kemampuan
yang sama dengan keahlian Mr Kelly.
Sebuah bendungan yang bernama Vermilion (yang berusia 24 tahun) menjadi
permasalahan yang menyusahkan karena air yang ada dalam waduk tersebut
“merembes” ke dalam pondasinya, dan keahlian Mr Kelly adalah faktor yang penting
untuk menjaga populasi yang ada dibawahnya aman.
Sebuah proposal untuk sistem pakar disetujui untuk menyelesaikan masalah-
masalah bendungan yang terbuat dari tanah yang bisa dibandingkan dengan
dengan keahlian manusia. Untuk mengembangkan sistem pakar tersebut Texas
Instrument mengirimkan dua Knowledge Engineers untuk melakukan tahap
knowledge acquisition. Keduan Knowledge Engineers tersebut berusia 30 tahun,
satu ahli komputer sedangkan satunya ahli dalam manajemen sistem pakar. Kedua
programmer tersebut agak gugup ketika pertama kali bertemu dengan Mr Kelly yang
mempunyai usia hampir dua kali usia mereka. Mereka mempelajari buku tentang
keamanan bendungan dan konstruksinya. Pertemuan pertama dilakukan secara
maraton selama 7 jam pada ruangan dengan jendela yang kurang, dima kedua
programmer “mengintrograsi” Mr Kelly dengan pertanyaan pertanyaan tentang
bendungan Vermillion, batu-batu yang digunakan serta pasangan yang dibutuhkan,
serta pertanyaan pertanyaan yang lainnya. Pertemuan tersebut direkam untuk
dipelajari dikemudian hari. Ketika pertemuan selesai sebua dalam kelelahan yang
amat sangat.
Pada pertemuan selanjutnya Mr Kelly mengutarakan permasalahan-
permasalahan yang lebih sulit, knowledge engineer merasa frustasi dengan keadaan
ini. Mr Kelly akan mendengarkan pertanyaan-pertanyaan dan hanya menjawab
dengan “Ya” atau “Tidak”. Ketika diminta untuk memberika penjelasan, penjelasan
yang diberikan sangat jarang dan singkat. knowledge engineers ragu apakah Mr
Kelly mau untuk bekerja sama untuk mejelaskan lebih dalam tentang ilmu dan
keahlian yang dipunyainya.
Setelah itu semua Knowledge Engineers berusaha untuk membuah prototype
tetapi dengan hasil yang sangat jauh dari sempurna. Akhirnya Knowledge Engineers
memutuskan untuk melakukan survei ke bendungan. Setelah satu tahun knowledge
base sistem pakar yang ada terdiri dari 20 aturan/kaidah yang memberikan solusi
yang tidak bagus. Karena terbatasnya waktu dan dana yang ada maka Texas
Instrument memutuskan bahwa sistem pakar yang dibuat hanya digunakan untuk
Bendungan Vermillion dan aturan yang dibuat mencapai 80 aturan. Sistem pakar
yang dihasilkan tidak bisa bekerja dengan baik dan pegawai Southern California
Edition harus bekerja lebih keras agas sistem pakar tersebut berguna dengan baik.
Dari kegagalan tersebut dapat diperoleh beberapa faktor yang mempengaruhinya
yaitu :
1. Penugasan Knowledge Engineers yang kurang berpengalaman.
2. Pertemuan pertama yang melelahkan (selama 7 jam).
3. Keterlambatan survai lokasi (survai idealnya dilakukan sedini mungkin atau
sebelum tahap knowledge acquisiton)
4. Ketidakbisaan Knowledge Engineers untuk mengatasai keengganan domain
expert untuk memberikan penjelasan yang detail.
5. Ketidakbisaan knowledge engineer untuk membangun hubungan yang saling
menghormati antara domain expert dan Knowledge Engineers.
2.14 Knowledge Engineers sebagai Domain Expert
Seperti pada permasahalan yang dijelaskan sebelumnya, pemilihan seorang
pakar mungkin akan menjadi masalah pada tahap knowledge acquisition.
Permasalahan yang timbul mungkin pakar meninggal dunia ataupun keluar dari
perusahaan. Untuk permasalahan seperti ini kita mempunyai paling tidak 2 pilihan
yaitu :
1. Menggunakan data historis untuk mengembangkan rule-based sistem pakar.
2. Menjadi domain expert sendiri.
Dalam literatur sistem pakar tidak ada larangan untuk menjadi domain expert sendiri,
apabila pendekatan ini lebih baik maka ini akan menghasilkan hasil yang baik.
Kenyataannya R1 dan XCON dikembangkan dengan domain expertnya adalah
Knowledge Engineers.

2.15 Domain Expert sebagai Knowledge Engineers


Kalau Knowledge Engineers bisa bertindak sebagai domain expert maka
begitu pula sebaliknya, domain expert bisa bertindak sebagai Knowledge Engineers,
karena kenyataannya tujuan utama dari sistem pakar adalah menyediakan paket
pengembangan yang berinteraksi langsung dengan domain expert, ini dimaksudkan
untuk menghilangkan kebutuhan akan Knowledge Engineers. Walaupun begitu
tujuan ini belum sepenuhnya terealisasi, meskipun demikian ada klaim yang
menyatakan bahwa ini dapat diduga pada bebrapa tahun yang akan datang.
Ada beberapa kesuksesan dalam pelatihan domain expert untuk
mengembangkan rule based dan mengimplementasikan rule based ini pada
beberapa paket pengembangan. Beberapa perusahaan melaporkan ada
perkembangan yang cukup berarti pada keseluruhan produktifitas dari
pengembangan beberapa sistem pakar dengan rule based kecil yang dikerjakan
oleh domain expertnya.
Ada beberapa hal yang harus dijauhkan dari pendekatan ini, yaitu :
1. Butuh waktu dan dana yang digunakan untuk melatih domain expert.
2. Setelah domain expert dilatih kemungkinan beberapa domain expert cenderung
untuk menyelesaikan sebagian dan seluruh permasalahan dalam sistem pakar,
bahkan lebih efektif, efisien dan sesuai dengan kebutuhan.

Dengan pendekatan ini knowledge engineer mungkin tinggal mengadakan training


dan bimbingan dalam pengembangan rule based, pendekatan ini pada dasarnya
digunakan oleh beberapa perusahaan. Dengan pendekatan ini perusahan bisa
memberikan catatan bahwa memberikan training kepada domain expert lebih murah
dibandingkan harus membentuk sebuah divisi Knowledge Engineers, kelebihan yang
lainnya adalah bahwa lebih praktis melatih domain expert tentang sistem pakar
membutuhkan waktu yang lebih sedikit dari pada melatih knowledge engineer untuk
mempelajari permasalahan pada domain tertentu, walaupun pendapar ini belum
tentu benar, karena masih tergantung dengan situasi dan kondisi yang ada. Ada
pendapat lain yang menyatakan bahwa seorang knowledge engineer hanya butuh
untuk menjadi familiar dengan permasalahan yang ada, Knowledge Engineers tidak
perlu menjadi seorang pakar untuk mengembangkan sebuah sistem pakar.
Menurut pendapat kami, cara yang lebih bagus adalah dengan menyediakan
beberapa tingkat pelatihan tentang sistem pakar yang cukup sehingga domain
expert dapat mengerti dengan tujuan, scope, dan batasan-batasan dalam sistem
pakar, juga menjadi lebih mengeti untuk mengidentifikasi permasalahan yang ada
sehingga sistem pakar yang dikembangkan akan lebih sesuai dengan kebutuhan.

2.16 Knowledge Acquisition dengan Rule Induction


Alternatif lain untuk melakukan knowledge acquisition adalah dengan
mengkonversi database yang ada kedalam kumpulan production rule. Database
yang ada harus berisikan data-data yang meliputi semua permasalahan yang ada.
Sebelum menjelaskan lebih lanjut, maka kita akan kembali lagi ke contoh
sebelumnya mengenai identifikasi pesawat terbang. Kita akan membatasi jumlah
dari pesawat terbang yang ada, yang hanya terdiri dari C130 (Lockheed Hercules),
C141 (Lockheed Starlifter), C5A(Lockheed Galaxy) dan B747 (Boeing Jumbo Jet).
Perlu diperhatikan bahwa untuk ilustrasi bahwa pesawat-pesawat yang telah
disebutkan tadi adalah pesawat-pesawat yang ada didunia ini.

2.17 Identifikasi Obyek, Atribut, dan Nilai


Langkah yang harus ditempuh adalah mengidentifikasi atribut-atribut yang
dipunyai pesawat terbang yang digunakan untuk membedakan pesawat satu dengan
pesawat lainnya. Sebagai contoh beberapa atribut yang mungkin disertakan adalah
sebagai berikut :
 Jumlah mesin
 Tipe mesinnya
 Posisi sayap
 Bentuk sayap
 Bentuk ekor
 Bagian yang menonjol pada badan pesawat
 Ukuran dan dimensi
 Warna dan tandanya
 Kecepatan dan ketinggian dari permukaan bumi
Setelah kita mengidentifikasi atribut-atribut beserta nilai-nilainya langkah
selanjutnya adalah meyaring atribut-atribut apa saja yang diperlukan untuk
identifikasi pesawat terbang. Sebagai contoh jumlah mesin tidaklah diperlukan
karena dari pesawat yang ada sebuah mesinnya berjumlah empat (walaupun begitu
pada permasalahan yang nyata jumlah mesin diperlukan untuk mengidentifikasi jenis
pesawat terbang), selain itu kita bisa menghilangkan tiga atribut yang terakhir karena
kita tidak bisa membedakan dengan jelas dari kejauhan. Akhirnya kita dapat 5 atribut
yang digunakan untuk mengidentifikasi jenis pesawat terbang.
Sebelum melanjutkan pada proses selanjutnya, berhati-hatilah untuk
menghilangkan aatribut yang ada karena dengan menghilangkan atribut kita akan
mengurangi production rule yang ada. Penghilangan atribut menimbulkan dilema,
apakah kita akan mencari atribut yang minimal atau untuk amannya kita akan
menggunakan semua atribut yang ada. Tidak ada penjelasan yang pasti untuk kasus
ini, terlalu banyak atribut yang digunakan akan mengakibatkan knowledge based
susah dipakai dan memerlukan banyak sekali data serta respon dari user, terlalu
sedikit atribut yang digunakan bisa membatasi manfaat dari sistem pakar itu sendiri
dan mengakibatkan modifikasi yang sulit untuk masa yang akan datang.
Diasumsikan bahwa dengan 5 atribut yang sudah didapat diatas kita bisa
mengidentifikasi pesawat terbang dengan baik.

2.18 Menentukan Decision tree


Ada beberapa cara untuk mengilustrasikan rule base dan proses inferensi.
Cara yang umum adalah dengan menggunakan decision tree. Cara ini bisa
dijelaskan dengan baik dengan memberikan contoh. Untuk itu kita harus membuat
decision tree untuk identifikasi pesawat terbang yang ada dalam Tabel 2.1.
Setiap node yang ada pada decision tree merepresentasikan pertanyaan
tentang nilai dari suatu atribut atau sebuah kesimpulan. Setiap cabang yang keluar
dari sebuah node merepresentasikan kemungkinan nilai dari atribut yang
bersesuaian.
Kita menggunaka Jenis Mesin sebagai root node dari decision tree, yaitu node
yang mempunyai level tertinggi dari decision tree. Dibawahnya terdiri dari semua
kemungkinan jawaban yang ada. Level selanjutnya dari Jenis Mesin adalah Bentuk
Sayap, Posisi Sayap, Pososi Sayap, Bentuk Ekor dan terakhir Bulges. Decision tree
yang dimaksud bisa dilihat pada Gambar 2.1. Dari Gambar 2.1 kita bisa
mengembangkan decision tree yang lain denganmenyederhanakan node-node yang
tidak mempunyai jawaban, dari situ kita mendapat Gambar 2.2. Dari Gambar 2.2
didapat bahwa desion tree yang didapat memerlukan atribut yang lebih sedikit dan
mempunyai jawaban yang pasti.
Tabel 2.1 Identifikasi pesawat terbang
Tipe Pesawat Terbang
Atribut
C130 C141 C5A B747
Jenis Mesin Propeller Jet Jet Jet
Posisi Sayap High High High Low
Bentuk Sayap Conventional Swept Back Swept Back Swept Back
Ekor Conventional T-Tail T-Tail Conventional
Bulges Under Wings Aft Wings None Aft Cockpit

2.19 Membuat Rule dari Decision tree yang telah dibuat


Pada bagian ini telah jelas bahwa untuk mengidentifikasi pesawat terbang dapat
menggunakan decision tree yang ada dengan mengikuti cabang-cabang pada
decision tree dengan nilai atribut yang bersesuaian dengan kenyataan yang ada.
Sebagai contoh untuk mengidentifikasi bahwa pesawat tersebut adalah B747
pertama yang dilakukan adalah bahwa jenis mesin pesawat tersebut adalah jet
kemudian posisi sayap dibawah badan pesawatnya. Tetapi yang akan kita lakukan
disini adalah sesuatu yang lebih menarik yaitu kita dapat mengkonversi decision tree
yang ada menjadi himpunan production rule. Untuk menggambarkan proses ini akan
digunakan Gambar 2.2. Langkah-langkah yang harus ditempuh untuk mengkonversi
adalah sebagai berikut :
1. Chain didefinisikan sebagai bagian dari satu node yang ada dalam tree kebagian
lain dimana cabang mengarah hanya pada satu arah.
2. Langkah Pertama mengidentifikasi node kesimpulan yang belum diidentifikasi.
3. Langkah Kedua merunut chain dari node kesimpulan menuju ke root node
4. Langkah Ketiga dalam chain yang telah terindentifikasi pada langkah kedua,
node yang berupa lingkaran menyatakan THEN node atau node kesimpulan dan
node yang berupa kotak merupakan IF node atau klausa premis.
5. Langkah Keempat membentuk production rule untuk chain yang dimaksud.
Gambar 2.1 Decision tree
Gambar 2.2 Production rule (tipe 1)
Jadi dari Gambar 2.2 didapat production rule sebagai berikut
Rule 1 If engine type is prop then plane is C130
Rule 2 If engine type is jet and wing position is low then plane is B747
Rule 3 If engine type is jet and wing position is high and bulges is none then
plane is C5A
Rule 4 If engine type is jet and wing position is high ang bulges are aft of wing
then plane is C141
Akhirnya kita bisa membuat knowledge base untuk masalah identifikasi
pesawat terbang yang lengkap dan konsisten. Walaupun begitu kita tidak boleh
bergembira terlebih dahulu karena selain lengkap dan konsisten suatu knowledge
base haruslah efisien. Satu definisi dari efisien yang mungkin adalah rule set yang
mempunyai atribut yang paling sedikit (itu juga berarti sedikitnya pertanyaan yang
harus dijawab oleh user). Ketika kita membuat Gambar 2.2 maka Gambar 2.2 itu
lebih efisien dari Gambar 2.1, tetapi Gambar 2.2 tidaklah seefisien dari Gambar 2.3.

Gambar 2.3 Production rule (tipe 2)


Dari Gambar 2.3 didapat production rule sebagai berikut
Rule 1 If Bulges are none then plane is C5A
Rule 2 If Bulges are aft of wings then plane is C141
Rule 3 If bulges are aft of cockpit then plane is B747
Rule 4 If bulges are under wing then plane is C130
Dari production rule yang didapat diatas didapat bahwa atribut yang paling
penting adalah bulges, karena dengan satu atribut saja sudah bisa untuk
mengidentifikasi pesawat terbang yang ada. Apabila situasi yang terjadi adalah
deterministik ini tidak akan menjadi maslah, tetapi apabila pengamat tidak bisa
menentukan dengan pasti bulges dari pesawat karena cuaca yang buruk atau
karena sesuatu hal maka atribut yang lain akan sangat diperlukan.

2.20 Algoritma ID3 untuk Membuat Rule


Untuk menjelaskan algoritma ini akan dibuat sebuah skenario tentang
investasi. Jenis investasi yang dijadikan contoh dibatasi pada :
 Investasi pada blue chip stock
 Investasi pada North American gold mining
 Investasi pada mortgage-related securities
Tujuan kita adalah untuk memastikan dengan waktu dan kondisi yang diberikan
investasi mana yang akan memberikan keuntungan yang terbesar. Untuk itu akan
dibuat klasifikasi nilai mutual fund yang diharapkan kedalam tiga klas yaitu high,
medium atau low.
Sedangkan dari ketiga tipe mutual fund adalah sebagai berikut :
 Suku bunga
 Jumlah uang yang beredar di Jepang, Eropa Barat dan Amerika Serikat
 Derajat gangguan internasional (seperti prospek operasi militer, terorisme dan
lainnya)
Dari atribut yang ada kemudian kita membaca data historis yang ada dalam
Tabel 2.2 dibawah ini.
Tabel 2.2 Faktor-faktor yang mempengaruhi nilai
Interest Cash Fund Value
Mutual Fund Type Tension
Rate Available (Class)
Blue Chip High High Medium Medium
Blue Chip Low High Medium High
Blue Chip Medium Low High Low
Gold Stock High High Medium High
Lanjutan Tabel 2.2
Mutual Fund Type Interest Cash Tension Fund Value
Rate Available (Class)
Gold Stock Low High Medium Medium
Gold Stock Medium Low High Medium
Mortgage High High Medium Low
Mortgage Low High Medium High
Mortgage Medium Low High Low

Langkah selanjutnya adalah membuat decision tree untuk data-data diatas,


langkah yang akan kita pakai menggunakan pendekatan yang lebih sistematik
berdasarkan hitungan dari entropi untuk setiap atribut, dimana atribut yang akan
dijadikan root node adalah atribut yang mempunyai entropi terendah.
Persamaan 3.1 yang digunakan untuk menghitung entropi sari atribut Ak
adalah sebagai berikut :

(3.1)

Dimana,
H(C|Ak) = Entropi dari atribut Ak
P(ak,j) = Probabilitas atribut a mempunyai nilai j
P(ci|ak,j) = Probabilitas nilai klas adalah ci ketika atribut k bernilai j
Mk = Total jumlah nilai yang digunakan untuk atribut Ak
N = Total jumlah klas yang berbeda i =1,2,3…….N
K = Total jumlah atribut yang ada k=1,2,3……..N

Dari data dalam Tabel 2.2 didapat nilai-nilai berikut:


 Terdapat 4 atribut (yaitu fund type, interest rate, cash, dan tension) maka K=4
 Terdapat 3 klas (yaitu nilai untuk fund value high, medium atau low) maka N=3
 Terdapat 3 nilai untuk atribut mutual fund type (high, medium atau low) maka
M1=3
 Terdapat 3 nilai untuk atribut interest rate (high, medium atau low) maka M2=3
 Terdapat 2 nilai untuk atribut cash (high atau low) maka M3=2
 Terdapat 2 nilai untuk atribut tention (high atau medium) maka M4=2
Setelah diperoleh nilai-nilai tersebut diatas maka kita akan menghitung entropi untu
setipa atribut. Sebagai contoh akan dihitung entropi untuk atribut cash
 P(a3,1) = Probabilitas cash mempunyai nilai high = 6/9
 P(a3,2) = Probabilitas cash mempunyai nilai low = 3/9
 P(c1|a3,1) = Probabilitas fund value bernilai high ketika cash bernilai high = 3/6
 P(c2|a3,1) = Probabilitas fund value bernilai medium ketika cash bernilai high = 2/6
 P(c3|a3,1) = Probabilitas fund value bernilai low ketika cash bernilai high = 1/6
 P(c1|a3,2) = Probabilitas fund value bernilai high ketika cash bernilai low = 0/3
 P(c2|a3,2) = Probabilitas fund value bernilai medium ketika cash bernilai low = 1/3
 P(c3|a3,2) = Probabilitas fund value bernilai low ketika cash bernilai low = 2/3
Nilai-nilai diatas kita subtitusikan kedalam persamaan entropi, maka didapat nilai-
nilai sebagai berikut :

dengan cara yang sama akan didapat entropi untuk atribut yang lainnya
H (C | int erest )  1,140333

H (C | tension )  1,2787

H (C | mutual  fund  type )  1,140333

Dari hitungan terdapat dua atribut yang mempunyai nilai terendah yang sama,
maka kita dapat memilihnya salah satu. Sebagai contoh kita memilih interest untuk
dijadikan root node. Setelah kita mendapatkan atribut interest untuk dijadikan root
node maka langkah selanjutnya adalah membagi Tabel 2.2 berdasarkan pada nilai
atribut interest. Ini akan menghasilkan tiga subtabel (satu untuk nilai interest=high,
satu untuk nilai interest=medium dan satu untuk nilai interest=low). Subtabel untuk
nilai interest=high dapat dilihat pada Tabel 2.3.
Tabel 2.3 Subtabel untuk nilai interest=high
Mutual Fund Cash Tension Fund Value
Blue Chip High Medium Medium
Gold Stock High Medium High
Mortgage-related High Medium Low

Setelah itu kita menghitung lagi untuk setiap atribut yang ada, dari perhitungan
yang sudah dilakukan didapat bahwa atribut mutual fund type mempunyai nilai yang
terendah. Setelah itu kita akan membuat percabangan berdasarkan pada mutual
fund-type. Hasil yang didapat dapat dilihat pada Gambar 2.4.
Gambar 2.4 Percabangan berdasarkan pada mutual fund-type
Dari Gambar 2.4 Didapat rule-rule sebagai berikut
Rule 1 If interest rate are high and the fund type is blue chip then the value will be
minimum
Rule 2 If interest rate are high and the fund type is gold stock then the value will be
high
Rule 3 If interest rate are high and the fund type is mortgage-related then te value
will be low
Rule 4 If interest rate are medium and the fund type is blue chip then the value will
be low
Rule 5 If interest rate are medium and fund type is gold stock then the value will be
medium
Rule 6 If interest rate are medium and the fund type is mortgage-related then tte
value will low
Rule 7 If interest rate are low and the fund type is blue chip then the value will be
high
Rule 8 If interest rate are low and the fund type is gold stock then the value will be
medium
Rule 9 If interest rate are low and the fund type is mortgage-related then te value will
be high
Kita juga bisa menggabung dari rule-rule yang ada. Sebagai contoh rule 5 dan rule 8
bisa digabung menjadi,
Rule 5/8 If fund type are gold stocks and interest rate are medium or interest rate are
low then the value will be medium.
Ada beberapa catatan bahwa decision tree yang ada dalam Gambar 2.4
mungkin akan menuntun kita pada suatu kesimpulan bahwa setiap level pada tree
akan mempunyai atribut yang sama. Sebagai contoh pada level 2 Gambar 2.4 kita
mendapatkan atribut mutual fund type. Ini hanyalah sebuah kebetulan belaka.

2.21 Perangkat Lunak untuk Rule Induction


Dalam pasaran ada beberapa produk perangkat lunak yang digunakan untuk
membuat production rule ari contoh-contoh yang diberikan. Pada kesempatan ini kita
akan menjelaskan dengan singkat 2 software yang ada dipasaran :
1. VP-Expert
VP-Expert menggunakan perintah yang diistilahkan dengan INDUCE untuk
mengembangkan rule dari data yang diberikan.
2. Xi-Plus
Xi-Plus mempunyai rutin terpisah yang dinamakan Xi-Rule yang digunakan untuk
membuat aturan dari data yang diberikan. Metode yang digunakan oleh Xi-Rule
untuk membuat aturan dari data yang diberikan adalah ID3.

Ada tiga alternatif bisa yang digunakan untuk menguji apakah erangkat lunak
yang telah dibeli memberikan hasil yang baik atau tidak :
1. Kita menerima kebenaran hasil yang diberikan oleh perangkat lunak yang kita
beli.
2. Kita membaca dengan hati-hati ulasan-ulasan mengenai perangkat lunak
tersebut atau mencari seseorang yang telah menggunakan perangkat lunak
tersebut kemudian menanyakan bagaiman pendapatnya tentang perangkat lunak
tersebut.
3. Kita mengembangkan sebuah contoh yang berguna untuk mengetahui sampai
diman batas kemampuan perangkat lunak tersebut.
BAB 3 REPRESENTASI PENGETAHUAN

Pengetahuan merupakan kemampuan untuk membentuk model mental yang


menggambarkan obyek dengan tepat dan merepresentasikannya dalam aksi yang
dilakukan terhadap suatu obyek.
Pengetahuan dapat diklasifikasikan ke dalam tiga kategori, yaitu pengetahuan
prosedural (procedural knowledge), pengetahuan deklaratif (declarative knowledge),
dan pengetahuan tacit (tacit knowledge). Pengetahuan prosedural lebih
menekankan bagaimana melakukan sesuatu. Pengetahuan deklaratif yaitu
pengetahuan untuk menjawab pertanyaan apakah sesuatu bernilai salah atau benar.
Sedangkan pengetahuan tacit merupakan pengetahuan yang tidak dapat
diungkapkan dengan bahasa. Misalnya: bagaimana cara kita memindahkan tangan.

Definisi Representasi Pengetahuan


Representasi pengetahuan adalah metode yang digunakan untuk
mengkodekan pengetahuan dalam sebuah sistem pakar yang berbasis
pengetahuan. Representasi pengetahuan dimaksudkan untuk menangkap sifat-sifat
penting problema dan membuat informasi tersebut dapat diakses oleh prosedur
pemecahan masalah.
Bahasa representasi harus dapat membuat seorang programmer mampu
mengekspresikan pengetahuan yang diperlukan untuk mendapatkan solusi dari
permasalahan dan dapat diterjemahkan dalam bahasa pemrograman serta dapat
disimpan. Bahasa representasi harus dirancang agar fakta-fakta dan pengetahuan
lainnya yang terkandung di dalamnya dapat digunakan sebagai penalaran.

Model Representasi Pengetahuan


Pengetahuan dapat direpresentasikan dalam bentuk yang sederhana atau
komplek, tergantung dari masalahnya (Schnupp, 1989). Beberapa model
representasi pengetahuan yang penting adalah:

3.1 Logika (Logic)

Logika adalah representasi suatu tambahan yang penting dalam representasi


pengetahuan, walaupun juga memiliki keuntungan dan kerugian. Ekspresi logika
biasanya singkat dan mudah dimengerti. Pada dasarnya proses logika adalah
proses membentuk sebuah kesimpulan atau menarik suatu inferensi fakta yang telah
ada.
Logika adalah bentuk representasi pengetahuan yang paling tua. Proses
logika adalah proses membentuk kesimpulan atau menarik suatu inferensi
berdasarkan fakta yang telah ada. Input dari proses logika berupa premis atau
fakta-fakta yang diakui kebenarannya sehingga dengan melakukan penalaran pada
proses logika dapat dibentuk suatu inferensi atau kesimpulan yang benar juga.

Gambar 3.1 Proses logika

Ada 2 penalaran yang dapat dilakukan untuk mendapat konklusi :


1. Penalaran deduktif : dimulai dari prinsip umum untuk mendapatkan konklusi yang
lebih khusus, Contoh :
Premis mayor : Jika hujan turun saya tidak akan berangkat kuliah
Premis minor : Hari ini hujan turun
Konklusi : Hari ini saya tidak akan berangkat kuliah

2. Penalaran induktif : dimulai dari fakta-fakta khusus untuk mendapatkan


kesimpulan umum, Contoh :
Premis -1 : Aljabar adalah pelajaran yang sulit
Premis -2 : Geometri adalah pelajaran yang sulit
Premis -3 : Kalkulus adalah pelajaran yang sulit
Konklusi : Matematika adalah pelajaran yang sulit

Munculnya premis baru bisa mengakibatkan gugurnya konklusi yang sudah


diperoleh, misal : Premis -4 : Kinematika adalah pelajaran yang sulit
Premis tersebut menyebabkan konklusi : “Matematika adalah pelajaran yang sulit”,
menjadi salah, karena Kinematika bukan merupakan bagian dari Matematika,
sehingga bila menggunakan penalaran induktif sangat dimungkinkan adanya
ketidakpastian.

3.1.1 Logika Proposisi

Proposisi adalah suatu pernyataan yang dapat bernilai Benar atau Salah. Simbol-
simbol seperti P dan Q menunjukkan proposisi. Dua atau lebih proposisi dapat
digabungkan dengan menggunakan operator logika :
Not And, Or, If – Then, If – and – only – if
P not P P Q P and Q P or Q if P then Q P if and only if Q
B S B B B B B B
S B B S S B S S
S B S B B S
S S S S B B

3.1.2 Logika Predikat

Representasi Fakta Sederhana


Misal diketahui fakta-fakta sebagai berikut :
Andi adalah seorang laki-laki : A
Ali adalah seorang laki-laki : B
Amir adalah seorang laki-laki : C
Anto adalah seorang laki-laki : D
Agus adalah seorang laki-laki : E
Jika kelima fakta tersebut dinyatakan dengan menggunakan proposisi, maka akan
terjadi pemborosan, dimana beberapa pernyataan dengan predikat yang sama akan
dibuat dalam proposisi yang berbeda. Logika predikat digunakan untuk
merepresentasikan hal-hal yang tidak dapat direpresentasikan dengan menggunakan
logika proposisi. Pada logika predikat kita dapat merepresentasikan fakta-fakta
sebagai suatu pernyataan yang disebut dengan wff (well – formed formula). Logika
predikat merupakan dasar bagi bahasa AI seperti bahasa pemrograman PROLOG
Pada contoh diatas, dapat dituliskan :
laki-laki(x)
dimana x adalah variabel yang disubstitusikan dengan Andi, Ali, Amir, Anto, Agus,
dan laki-laki yang lain.
Dalam logika predikat, suatu proposisi atau premis dibagi menjadi 2 bagian, yaitu
argumen (objek) dan predikat (keterangan). Argumen adalah individu atau objek
yang membuat keterangan. Predikat adalah keterangan yang membuat argumen dan
predikat.
Contoh :
1. Jika besok tidak hujan, Tommy pergi ke gunung
cuaca(hujan,besok) pergi(tommy, gunung)
2. Diana adalah nenek dari ibu Amir nenek(Diana,ibu(Amir))
3. Mahasiswa berada di dalam kelas didalam(mahasiswa,kelas)

Dari contoh diatas dapat dijabarkan sebagai berikut :


di dalam = predikat (keterangan)
mahasiswa = argumen (objek) kelas = argumen (objek)
4. Johan suka Maria suka(johan,maria)
5. Pintu terbuka Buka(pintu)
6. Johan suka Maria Ramon suka Maria
Misal : Johan = x, Maria = y, Ramon = z
Maka : suka(x,y) suka(z,y) tidak suka(x,z)
Dibaca : Jika Johan suka Maria dan Ramon suka Maria, maka Johan tidak suka
Ramon
Misal terdapat pernyataan sebagai berikut :
1. Andi adalah seorang mahasiswa
2. Andi masuk jurusan Elektro
3. Setiap mahasiswa elektro pasti mahasiswa teknik
4. Kalkulus adalah matakuliah yang sulit
5. Setiap mahasiswa teknik pasti akan suka kalkulus atau akan membencinya
6. Setiap mahasiswa pasti akan suka terhadap suatu matakuliah
7. Mahasiswa yang tidak pernah hadir pada kuliah matakuliah sulit, maka mereka
pasti tidak suka terhadap matakuliah tersebut.
8. Andi tidak pernah hadir kuliah matakuliah kalkulus

Kedelapan pernyataan diatas dapat dibawa ke bentuk logika predikat dengan


menggunakan operator- operator : , , , , (untuk setiap), (terdapat), sebagai
berikut :
1. mahasiswa(Andi)

3. x : elektro(x)  teknik(x)
2. elektro(Andi)

5. x : teknik(x)  suka(x,kalkulus) benci(x,kalkulus)


4. sulit(kalkulus)

6. x : y : suka(x,y)
7. x : y : mahasiswa(x) sulit(y)
 hadir(x,y)suka(x,y)
8. hadir(Andi,kalkulus)
3.2 Jaringan semantik (semantic nets)

Jaringan semantik adalah sistem representasi yang digunakan untuk informasi


proposional (pernyataan yang bernilai benar atau salah). Dalam jaringan semantik,
pengetahuan diorganisasikan dengan menggunakan jaringan yang disusun oleh dua
komponen dasar yaitu node dan arc. Node menyatakan obyek, konsep, atau situasi
yang ditunjukkan oleh kotak atau lingkaran, sedangkan arc menyatakan hubungan
antar node yang ditunjukkan oleh tanda panah yang menghubungkan node-node
dalam jaringan.

3.3 Object-Atributte-Value (OAV)

Object dapat berupa bentuk fisik atau konsep. Attribute adalah karakteristik
atau sifat dari objek tersebut. Values (nilai) adalah besaran/nilai/takaran spesifik dari
atribut tersebut pada situasi tertentu, dapat berupa numerik, string atau boolean.

3.4 Bingkai (frame)

Frame adalah blok pengetahuan mengenai obyek khusus, peristiwa, situasi,


menggambarkan perincian obyek. Perincian diberikan dalam bentuk slot yang
menggambarkan berbagai atribut dan karakteristik dari suatu obyek. Berdasarkan
pada frame tersebut dapat dibuat kesimpulan mengenai obyek baru karena frame
menyediakan pengetahuan dasar yang menggambarkan karakteristik dan atribut
obyek sebelumnya.

3.5 Kaidah produksi (production rule)

Kaidah produksi merupakan salah satu bentuk representasi pengetahuan yang


sangat popular dan sederhana, dan biasanya dituliskan dalam bentuk jika-maka (If-
Then). Kaidah produksi dapat dikatakan sebagai hubungan implikasi dua bagian,
yaitu bagian premis (jika) dan bagian konklusi (maka).
BAB 4 RULE BASE REASONING

Sistem berbasis aturan (rule-based system) menggunakan Modus Ponens


sebagai dasar untuk memanipulasi aturan, yaitu:

sistem berbasis aturan melakukan proses reasoning mulai dari fakta awal
sampai menuju pada kesimpulan. Dalam proses ini mungkin akan dihasilkan
faktafakta baru menuju pada penyelesaian masalah. Jadi dapat disimpulkan bahwa
proses penyelesaian masalah pada sistem berbasis aturan adalah menciptakan
sederet fakta-fakta baru yang merupakan hasil dari sederetan proses inferensi
sehingga membentuk semacam jalur antara definisi masalah menuju pada solusi
masalah. Deretan proses inferensi tersebut adalah inference chain.
Sebagai contoh, sebuah sistem peramal cuaca dibangun dengan sistem
berbasis pengetahuan untuk mengetahui keadaan cuaca pada 12 sampai 24 jam ke
depan.

4.1 Kaidah produksi (production rule)


Kaidah produksi merupakan salah satu bentuk representasi pengetahuan
yang sangat popular dan sederhana, dan biasanya dituliskan dalam bentuk jika-
maka (If-Then). Kaidah produksi dapat dikatakan sebagai hubungan implikasi dua
bagian, yaitu bagian premis (jika) dan bagian konklusi (maka). Pengetahuan dalam
kaidah produksi dapat direpresentasikan oleh himpunan kaidah dalam bentuk:
IF [kondisi] THEN [aksi]
dengan sebuah kontrol sistem dan basis data. Kontrol sistem memberikan aturan
penerjemahan dan pengurutan. Basis data beraksi sebagai konteks cadangan untuk
record yang kondisinya dievaluasi oleh kaidah dan informasi di mana kaidah akan
beraksi. Sintaks IF-THEN, dalam kaidah produksi juga sering digambarkan sebagai
pasangan-pasangan berikut kondisi-aksi, anteceden-konsequent, pola-aksi, situasi-
responsi.
Kaidah menyediakan cara formal untuk merepresentasikan rekomendasi,
arahan, atau setrategi. Kaidah produksi dituliskan dalam bentuk IF-THEN (Jika-
Maka). Pernyataan ini menghubungkan bagian premis (IF) dan bagian konklusi
(THEN). Berbagai struktur kaidah if-then yang menghubungkan obyek atau atribut
adalah sebagai berikut:
JIKA premis MAKA konklusi
JIKA masukan MAKA keluaran
JIKA kondisi MAKA tindakan
JIKA anteseden MAKA konsekuen
JIKA data MAKA hasil
JIKA tindakan MAKA tujuan
Premis mengacu pada fakta yang harus benar sebelum konklusi tertentu
dapat diperoleh. Masukan mengacu pada data yang harus tersedia sebelum
keluaran dapat diperoleh. Kondisi mengacu pada keadaan yang harus berlaku
sebelum tindakan dapat diambil. Anteseden mengacu pada situasi yang terjadi
sebelum konsekuensi dapat diamati. Data mengacu pada kegiatan yang harus
dilakukan sebelum hasil dapat diharapkan. Tindakan mengacu pada kegiatan yang
harus dilakukan sebelum hasil dapat diharapkan.
Kaidah dapat diklasifikasikan menjadi dua, yaitu kaidah derajat pertama (first
order rule) dan kaidah meta (meta rule) (Giarratano dan Riley, 1994). Kaidah derajat
pertama adalah kaidah sederhana yang terdiri dari anteseden dan konsekuen.
Kaidah meta adalah kaidah yang anteseden atau konsekuennya mengandung
informasi tentang kaidah yang lain.
Ada dua tipe kaidah yang umum dalam AI, yaitu pengetahuan dan inferensi.
Kaidah pengetahuan atau kaidah deklaratif menyatakan semua fakta dan hubungan
tentang suatu permasalahan. Kaidah inferensi atau kaidah prosedural pada sisi lain
merupakan nasihat atau saran tentang bagaimana menyelesaikan suatu masalah
yang diberikan dengan fakta tertentu yang diketahui.
Perekayasa pengetahuan memisahkan dua tipe ini di mana kaidah
pengetahuan menjadi basis pengetahuan sedangkan kaidah inferensi menjadi
bagian dari mesin inferensi. Representasi kaidah terutama dapat diaplikasikan bila
dibutuhkan untuk merekomendasi suatu bagian aksi berdasarkan kejadian yang
dapat diobservasi. Ada beberapa keuntungan penggunaan kaidah, yaitu:
1) Kaidah mudah dimengerti dan mudah disampaikan karena merupakan bentuk
alami dari pengetahuan.
2) Inferensi dan penjelasan mudah diperoleh atau diturunkan.
3) Modifikasi dan perawatan relatif lebih mudah.
4) Ketidakpastian lebih mudah dikombinasikan dengan kaidah.
5) Setiap kaidah sering saling independendent dari semua kaidah.

Selain itu terdapat pula keterbatasan dari representasi kaidah ini, yaitu:
1) Pengetahuan yang kompleks membutuhkan beribu-ribu kaidah yang mungkin
agak sukar membuatnya, baik untuk menggunakan sistem maupun untuk
perawatannya.
2) Pembangun menyukai kaidah, sehingga mereka mencoba kekuatan semua
pengetahuan ke dalam kaidah dibandingkan mencari representasi yang lebih
sesuai.
3) Sistem dengan banyak kaidah mungkin mempunyai batasan pencarian dalam
kontrol program. Beberapa program mempunyai kesulitan dalam mengevaluasi
sistem berbasis kaidah dan membuat inferensi.
Representasi kaidah mempunyai karakteristik - karakteristik seperti yang
ditunjukkan dalam tabel berikut:
Tabel 4.1. Karakteristik dari representasi kaidah
Bagian pertama Bagian kedua
Nama Premis Konklusi
Anteceden Konsekuen
Situasi Aksi
IF THEN
Alami Kondisi, sama dengan Resolusi sama dengan
pengetahuan deklaratif pengetahuan prosedural
Ukuran Dapat mempunyai banyak IF Biasanya hanya mempunyai satu
konklusi
Pernyataan Pernyataan AND Semua kondisi harus benar untuk
konklusi benar
Pernyataan OR Jika ada kondisi pernyataan OR
benar maka konklusinya benar

4.2 Metode Inferensi


Suatu perkalian inferensi yang menghubungkan suatu permasalahan dengan
solusinya disebutdg rantai (chain). Suatu rantai yang dicari atau dilewati/dilintasi dari
suatu permasalahan untuk memperoleh solusinya disebut dengan forward chaining.
Cara lain menggambarkan forward chaining ini adalah dengan penalaran dari fakta
menuju konklusi yang terdapat dari fakta. Suatu rantai yang dilintasi dari suatu
hipotesa kembali ke fakta yang mendukung hipotesa tersebut adalah backward
chaining. Cara lain menggambarkan backward chaining adalah dalam hal tujuan
yang dapat dipenuhi dengan pemenuhan sub tujuannya.
a. Forward chaining (Runut Maju)
Forward chaining disebut juga penalaran dari bawah ke atas karena penalaran
dari evidence (fakta) pada level bawah menuju konklusi pada level atas didasarkan
pada fakta. Penalaran dari bawah ke atas dalam suatu sistem pakar dapat
disamakan untuk pemrograman konvensional dari bawah ke atas.
Forward chaining menggunakan huimpunan aturan kondisi-aksi. Dalam metode
ini, data digunakan untuk menentukan aturan mana yang akan dijalankan dan aturan
tersebut akan dijalankan.proses diulang sampai ditemukan suatu hasil (wilson,
1998).
Metode runut maju cocok digunakan untuk menangani masalah pengendalian
(controlling) dan peramalan (prognosis) (Giarratano dan Riley, 1994).

Gambar 4.1 Forward Chaining

b. Backward Chaining (Runut Balik)


Penalaran yang dimulai dari level tertinggi membangun suatu hipotesis, turun
ke fakta level paling bawah yang dapat mendukung hipotesis dinamakan dengan
penalaran dari atas ke bawah atau backward chaining.
Runut balik juga disebut sebagai goal-driven reasoning, merupakan cara yang
efisien untuk memecahkan masalah yang dimodelkan sebagai masalah pemilihan
terstruktur. Tujuan dari inferensi ini adalah mengambil pilihan terbaik dari banyak
kemungkinan. Metode runut balik ini cocok digunakan untuk memecahkan masalah
diagnosis (Schnupp, 1989).
Gambar 4.2 Backward Chaining

CONTOH:

Langkah Pengembangan Aplikasi Sistem Pakar Berbasis Aturan

A. Deskripsi Sistem
Deskripsi sistem adalah gambaran tentang sistem yang akan dikembangkan
dalam penelitian ini. Sistem yang di kembangagkan adalah sebuah perangkat lunak
cerdas sistem pakar (expert system) untuk melakukan diagnosa terhadap penyakit
kandungan.
Langkah untuk melakukan diagnosa penyakit kandungan melalui sistem
diwujudkan dengan adanya dialog antara User dengan sistem berupa pertanyaan-
pertanyaan yang telah disimpan dalam basis pengetahuan (knowledge base).
Keluaran berupa diagnosa tentang penyakit kandungan, solusi untuk mengatasi
penyakitnya, serta nilai kepastian penyakit yang diderita berdasar masukan gejala
dari pengguna. Perhitungan nilai kepastian menggunakan metode damster-shafer.

B. Analisis Kebutuhan Perangkat Lunak


Analisis kebutuhan merupakan tahap awal dalam membangun sistem pakar.
Pada penelitian ini tahap-tahap yang dilakukan adalah mengidentifikasi masalah
dan kebutuhan serta proses akuisisi pengetahuan. Identifikasi dilakukan dengan
mengkaji situasi dan memutuskan dengan pasti tentang masalah yang akan
dikomputerisasi yaitu mendiagnosa penyakit berdasar gejala awal. Kondisi ini akan
lebih mudah menggunakan metode inferensi forward chaining. Setiap keputusan
yang di tentukan sistem pakar tidak 100% bernilai benar, oleh sebab itu diperlukan
perhitungan nilai kepastian. Pada penelitian ini metode perhitungan faktor kepastian
menggaunakan teorema damster shafer.
Sedangkan akuisisi pengetahuan merupakan suatu proses untuk
mengumpulkan data-data pengetahuan terhadap kasus penyakit. Bahan
pengetahuan diperoleh dari beberapa cara antara lain, mendapat pengetahuan dari
pakar kesehatan terutama penyakit kandungan, buku, laporan, dan literatur.
1. Basis pengatahuan (knowledge base) dan basis aturan (rule base)
Dalam pembuatan Expert system, langkah-langkah selanjutnya yang
digunakan adalah menentukan basis pengetahuan (knowledge base). Dengan
membentuk basis pengetahuan, berarti memasukkan fakta-fakta yang dibutuhkan
oleh sistem.
Basis pengetahuan yang digunakan dalam program ini adalah tentang fakta,
gejala, penyakit, penyebab, solusi dan aturan penyakit pada kandungan dan
keterangan lain yang mendukung.
Adapun tabel yang memuat tentang fakta-fakta penyakit, gejala, penyebab dan
solusi disajikan pada Tabel 4.2, 4.3, 4.4 dan Tabel 4.5.
Tabel 4.2 Daftar fakta penyakit
Kode Penyakit
P001 Kista Indung Telur (Ovarium Cyst)
P002 Kanker Indung Telur (Kanker Ovarium)
P003 Kanker Leher Rahim (Kanker Serviks)
P004 Myoma Uteri
P005 Endometriosis
P006 Kanker Rahim (Kanker Uterus = Carcinoma Uteri)
P007 Penyakit Infeksi Daerah Panggul
P008 Chlamydia
P009 Gonorrhoea

Tabel 4.3 Daftar fakta gejala


Kode Gejala
G001 Rasa nyeri pada rongga panggul disertai rasa agak gatal
G002 Perdarahan menstruasi tidak normal
G003 Siklus menstruasi tidak teratur
G004 Rasa nyeri begitu siklus menstruasi selesai
G005 Rasa nyeri sewaktu bersetubuh
G006 Perut membesar
G007 Tidak terjadi ovulasi
G008 Mandul
G009 Nyeri perut
G010 Gangguan fungsi saluran cerna
G011 Gangguan saluran kencing
G012 Berat badan turun drastis
G013 Nyeri punggung
G014 Penderita bisa meraba sendiri tumor di bagian bawah perut
G015 Perdarahan melalui vagina
G016 Perdarahan spontan
G017 Timbul perdarahan di antara siklus menstruasi
G018 Halangan aliran air seni
G019 Nyeri pada pinggang bagian bawah saat menstruasi
G020 Sembab anggota bawah karena penekanan pembuluh darah
balik
G021 Perdarahan menstruasi lebih banyak dari biasa
G022 Nyeri sewaktu menstruasi
G023 Nyeri pada waktu bekerja
G024 Perasaan penuh dan ada tekanan pada rongga perut
G025 Sulit buang air besar
G026 Keluhan anemia
Lanjutan Tabel 4.3
Kode Gejala
G027 Mudah keguguran
G028 Susah hamil
G029 Rasa nyeri bagian bawah perut seperti kram perut
G030 Keluar bercak darah melalui vagina sebelum hari siklus
menstruasi
G031 Perdarahan pada usus
G032 Rasa nyeri saat buang air besar
G033 Rahim terbentuk tidak normal
G034 Infeksi di rongga panggul
G035 Mengalami perdarahan setelah bersetubuh
G036 Infeksi mudah terjadi
G037 Keluar cairan putih melalui vagina pada perempuan
sesudah menopause
G038 Perdarahan sedikit-sedikit setelah menopause
G039 Gangguan buang air kecil
G040 Terjadi perubahan ukuran bentuk pada rongga panggul
G041 Gangguan menstruasi
G042 Panas dan nyeri waktu buang air kecil
G043 Demam sampai menggigil
G044 Mual dan muntah
G045 Kehamilan di luar kandungan
G046 Kista ovarium yang pecah
G047 Cairan vagina berbau
G048 Gejala usus buntu (apendikcytis)
G049 Mual-mual
G050 Keluar cairan dari vagina
G051 Peradangan kandung kencing
G052 Peradangan serviks
G053 Keluar cairan vagina kekuningan dan kadang disertai darah
G054 Keluar cairan dan nyeri waktu buang air besar
G055 Gatal pada anus / rectum
G056 Infeksi anus / rectum
Tabel 4.4 Daftar fakta penyebab
Kode Penyebab
PB01 Gangguan perkembangan folikel ovarium
PB02 Waktu pelepasan sel telur terjadi perdarahan
PB03 Terjadinya kehamilan di luar kandungan
PB04 Gangguan hormon
PB05 Gangguan menstruasi
PB06 Perempuan mandul
PB07 Mengkonsumsi makanan yang tinggi lemak
PB08 Banyaknya partner hubungan seksual
PB09 Infeksi kuman Papiloma virus
PB10 Fibroid yang terletak dangkal di permukaan selaput lender
rahim (submukosa) sering merupakan penyebab perdarahan
melalui vagina
PB11 Kelainan yang diturunkan (genetik)
PB12 Darah menstruasi yang berbalik aliran melalui saluran tuba
falopii, menuju rongga perut dan tertahan serta tumbuh disitu
PB13 Menderita penyakit polikistik ovarium
PB14 Hipertensi
PB15 Menderita polip endometrium
PB16 Menderita kanker payudara
PB17 Menstruasi pertama pada usia sangat muda
PB18 Menopause timbul pada usia lebih tua
PB19 Kegemukan (obesitas)
PB20 Menderita diabetes
PB21 Infeksi dari hubungan seksual
PB22 Alami timbul sendiri dari kasa pembalut wanita dan alat
kontrasepsi (IUD)
PB23 Infeksi kuman Chlamydia trachomatis
PB24 Infeksi kuman Neisseria gonorrhoea

Tabel 4.5 Daftar fakta solusi


Kode Solusi
S001 Pemberian obat pil kb (gabungan estrogen-progesteron) bisa
ditambahkan anti androgen progesteron cyproteron asetat
S002 Pemberian klomiphen sitrat
S003 Pengobatan fisik pada ovarium, misal melakukan diatermi
dengan sinar laser
S004 Operasi untuk melakukan sayatan ovarium pada daerah
polikistik
S005 Histerektomi total (pengangkatan rahim)
S006 Salpingo ooporektomi (mengangkat kedua ovarium dan kedua
saluran tuba falopii)
Lanjutan Tabel 4.5

Kode Solusi
S007 Omentektomi (mengangkat lipatan selaput pembungkus
perut)
S008 Pengobatan kemoterapi ( zat kimia)
S009 Pengobatan radioterapi (sinar laser)
S010 Imunoterapi spesifik (menyuntikkan sel kanker yang telah
dilemahkan)
S011 Imunoterapi non-spesifik (pemberian vaksinasi sejenis kuman
corynebacteriaparvum dan vaksinasi bcg)
S012 Pemeriksaan pap smear
S013 Operasi radikal histerektomi (pengangkatan rahim secara total
berikut kelenjar getah bening sekitarnya)
S014 Bila tumor masih berada dalam jaringan serviks dan ukuran
masih <3mm, dilakukan operasi ekstrafacial histerektomi
S015 Obat anti-inflamasi yang non steroid (nonsteroid
antiinflamation = nsaid)
S016 Dikerok (kuretase)
S017 Obat-obatan hormonal (pil kb / progesteron)
S018 Operasi laparaskopi ( pembiusan secara umum / general
anastesi)
S019 Tah (transabdominal histerectomy) yaitu operasi dengan
penyayatan dinding perut
S020 Pemberian hormon steroid sintetik, hormon gnrh agonis
(gonadotropin releasing hormon)
S021 Operasi laparatomi (mengangkat jaringan endometriosis
sekaligus rahim, bahkan sekaligus ovarium dan saluran tuba
falopii bila endometriosis ada pada ovarium)
S022 Pemberian danazol, untuk menurunkan kadar estrogen dan
progesteron
S023 Antibiotik spektrum luas untuk mematikan kuman penyebab
S024 Tablet ofloxacin
S025 Pemberian obat yang lebih agresif untuk pengobatan pid pada
perempuan yang terinfeksi hiv
S026 Doksisiklin, per oral 2 kali sehari selama 7 hari
S027 Azitromosin, diberikan dosis tunggal
S028 Eritromisin dan ofloxacin, 2 kali sehari selama 7 hari
S029 Lefofloxacin, 1 kali sehari selama 7 hari
S030 Antibiotik sefiksim diberikan per oral dosis tunggal
S031 Antibiotik seftriakson, pemberian suntikan dosis tunggal
S032 Siprofloxacin diberikan melalui oral dosis tunggal
S033 Spektinomisin diberikan melalui suntikan dosis tunggal
S034 Sefotaksim, sefotetan atau sefoksitin
Dari basis pengetahuan yang sudah dikelompok-kelompokan tersebut
kemudian digunakan sebagai input dalam memberikan analisis untuk
mengidentifikasi penyakit kandungan. Contoh pembentukan aturan gejala penyakit
kandungan disajikan pada Tabel 4.6.

Tabel 4.6 Contoh aturan gejala dan penyakit


No Aturan
1 IF rasa nyeri pada rongga panggul disertai rasa agak gatal (G001)
AND perdarahan menstruasi tidak normal (G002) THEN siklus
menstruasi tidak teratur (G003)
2 IF siklus menstruasi tidak teratur (G003) THEN rasa nyeri begitu
siklus menstruasi selesai (G004)
3 IF rasa nyeri begitu siklus menstruasi selesai (G004) THEN rasa
nyeri sewaktu bersetubuh (G005)
4 IF rasa nyeri sewaktu bersetubuh (G005) THEN perut membesar
(G006)
5 IF perut membesar (G006) THEN tidak terjadi ovulasi (G007)
6 IF tidak terjadi ovulasi (G007) THEN mandul (G008)
7 IF mandul (G008) THEN KISTA INDUNG TELUR (P1)
8 IF rasa nyeri pada rongga panggul disertai rasa agak gatal (G001)
AND perdarahan menstruasi tidak normal (G002) THEN perut
membesar (G006)
9 IF perut membesar (G006) THEN mandul (G008)
10 IF mandul (G008) THEN nyeri perut (G009)
11 IF nyeri perut (G009) AND gangguan fungsi saluran cerna (G010)
THEN gangguan saluran kencing (G011)
12 IF gangguan saluran kencing (G011) THEN berat badan turun
drastis (G012)
13 IF berat badan turun drastis (G012) THEN nyeri punggung (G013)
14 IF nyeri punggung (G013) THEN penderita bisa meraba sendiri
tumor di bagian bawah perut (G014)
15 IF penderita bisa meraba sendiri tumor di bagian bawah perut
(G014) THEN KANKER INDUNG TELUR (P2)
… ….

2. Mesin inferensi
Mesin inferensi adalah bagian dari sistem pakar yang melakukan penalaran
dengan menggunakan isi daftar aturan berdasar urutan dan pola tertentu.
Representasi berbasis aturan yang memiliki pola IF kondisi THEN aksi, tabel pakar
memberi beberapa keuntungan yaitu kemudahan dalam modifikasi, baik perubahan,
penambahan, maupun penghapusannya.
Penelusuran dilakukan User dengan memasukkan gejala awal User terhadap
kemungkinan gejala penyakit yang dialami. Selama proses konsultasi antar sistem
dan pemakai, mesin inferensi menguji antara satu demi satu sampai kondisi aturan
itu benar dan memberikan kesimpulan yang benar.
Pada gambar 4.3 ditampilkan contoh graf penelusuran dan struktur pelacakan
diagnosa penyakit kandungan dengan menggunakan metode forward chaining.

Gambar 4.3 Graf penelusuran penyakit kanker leher rahim

C. Analisis Perancangan Sistem


Perancangan sistem merupakan tahap untuk menentukan aliran dan model
data sesuai kebutuhan sistem serta. Tahapan ini meliputi pemodelan proses, terdiri
dari diagram konteks dan diagram alir data. Selanjutnya pemodelan data yang terdiri
dari entity relationship diagram dan integritas referensial serta rancangan tabel
(kamus data). Tahap akhir dalam proses perancangan adalah pemodelan masukan,
proses dan keluaran.
Perancangan ini sebagai langkah awal untuk pembuatan sistem yang
terkomputerisasi untuk menjawab permasalahan-permasalahan yang terjadi pada
mesin melalui informasi yang dikeluarkan.
1. Pemodelan proses
Perancangan diagram konteks yang bertujuan untuk memudahkan pemodelan
dan fungsi di dalam pengembangan sistem serta memberikan gambaran umum
tentang sistem yang dibangun. Adapun ilustrasi konteks diagram sistem dapat dilihat
pada gambar 4.4.
Gambar 4.4 Diagram konteks sistem pakar diagnosa penyakit kandungan

Diagram konteks pada gambar 4.4 memberikan gambaran bahwa sistem


berinteraksi dengan 2 terminator, yaitu seorang pakar kandungan dan pengguna.
Seorang pakar kandungan dalam memasukkan data-data atau basis pengetahuan
kepakaran berupa data penyakit, data gejala, data penyebab dan data solusi
kedalam sistem. Data-data ini nantinya akan digunakan untuk menjawab gejala yang
dimasukkan oleh pengguna, serta penelusuran gejala sebagai fakta-fakta untuk
mengetahui penyakit yang diderita.
Diagram konteks secara lebih detail yang menggambarkan aliran data/data
flow di sajikan dalam model data flow diagram (DFD). Setiap level menunjukan
tingkat yang lebih terperinci dari sebuah proses.
1.1 Diagram alir data level 0
Dalam perancangan diagram alir data pada gambar 4.5 menggambarkan
diagram arus secara detail pada pengembangan sistem diagnosa penyakit
kandungan. Pada diagram tersebut terlihat bahwa pakar bertugas memberikan
masukan basis pengetahuan yang akan disimpan dalam sistem, berupa data
penyakit, gejala, penyebab, solusi, aturan serta probabilitas gejala untuk suatu
penyakit. Data ini akan digunakan sebagai hasil diagnosa yang diinginkan
pengguna.
Pengguna yang mengmasukan data gejala ke sistem, kemudian sistem akan
mengecek dan mengambil data pada data jenis penyakit, gejala, penyebab dan
solusi yang terkait dengan permasalahan pengguna. Jika permasalahan ditemukan
didalam sistem, maka akan ditampilkan sebagai hasil diagnosa untuk membantu
penanganan penyakit yang bersangkutan.

Gambar 4.5 Diagram alir data level 0

1.2 Diagram alir data level 1.1 proses rekam basis pengetahuan

Gambar 4.6 DAD level 1.1 proses rekam basis pengetahuan


Gambar 4.6 menjelaskan proses yang dilakukan pakar untuk melakukan rekam
basis kasus. Data kepakaran terdapat 2 pilihan menu, yaitu menu aturan dan menu
basis pengetahuan. Menu aturan berfungsi untuk memasukkan aturan-aturan (rule)
yang dibutuhkan oleh sistem. Masukan data aturan ini akan menghasilkan aturan
baru yang dibutuhkan oleh pakar. Menu basis pengetahuan yang disimpan berupa
data penyakit, data gejala, data penyebab, data solusi dan data probabilitas gejala
atau kepastian dari pakar. Data-data tersebut digunakan sebagai informasi
kepakaran yang akan digunakan sebagai basis pengetahuan untuk melakukan
penelusuran terhadap gejala yang dimasukkan pengguna.

1.3 Diagram alir data level 1.1 proses konsultasi

Gambar 4.7 Diagram alir data level 1.2 proses konsultasi


Diagram alir data level 1.2 proses konsultasi pada gambar 4.7 menjelaskan
proses yang dilakukan pengguna kepada sistem. Pengguna memasukkan data
gejala yang dialami, untuk kemudian melakukan penelusuran. Dari hasil
penelusuran tersebut sistem akan memberikan hasil diagnosa kepada pengguna
sebagai kesimpulan dari penelusuran tersebut.

2. Pemodelan data
Entity relationship diagram (ERD) adalah sarana untuk menggambarkan
hubungan antar entitas didalam sebuah sistem, ERD menggunakan sejumlah notasi
dan simbol untuk menggambarkan struktur dan hubungan antar entitas.
Perancangan ERD dimaksudkan untuk menentukan komponen-komponen
himpunan suatu entitas dan himpunan relasi yang menggambarkan fakta nyata yang
digunakan sebagai kebutuhan pembuatan sistem.
Gambar 4.8 menunjukkan bahwa entitas penyakit memiliki atribut kode
penyakit dan nama penyakit. Sedangkan entitas gejala memiliki atribut kode gejala,
nama gejala dan probabilitas. Sedangkan entitas solusi memiliki atribut kode solusi
dan solusi. Entitas penyebab mempunyai atribut kode penyebab dan nama
penyebab.

Gambar 4.8 Entity relationship diagram


Hubungan entitas penyakit dan gejala terbentuk dengan atribut kode penyakit,
kode gejala, hubungan entitas penyakit dengan entitas penyebab terbentuk dengan
atribut kode penyakit dan kode penyebab dan hubungan entitas penyakit dan solusi
terbentuk dengan atiribut kode penyakit dan kode solusi. Hubungan antar entitas
tersebut akan menjadi tabel baru yang digunakan untuk menyimpan aturan (rule).
Setelah melalui tahap perancangan ERD, maka untuk mempermudah tahap
implementasi kedalam aplikasi database management system (DBMS) diperlukan
kamus data berupa tabel dan relasi beserta atribut atau field yang serta spesifikasi
yang dimiliki tabel tersebut. Spesifikasi tersebut di sajikan pada tabel 4.7, 4.8, 4.9,
4.10, 4.11, 4.12 dan tabel 4.13.
a. Tabel gejala
Tabel gejala berfungsi untuk menyimpan data-data pengetahuan gejala yang
mengikuti penyakit kandungan.
Primary key : Kode_Gejala
Foreigen key : -
Tabel 4.7 Tabel gejala
No Nama field Type Size Keterangan
1. Kode_Gejala Text 4 Kode gejala
2. Nama_Gejala Text 100 Nama gejala
3 Probabilitas Number Probabilitas gejala

b. Tabel penyakit
Tabel penyakit merupakan tabel yang digunakan untuk menyimpan data-data
pengetahuan penyakit kandungan.
Primary key : Kode_Penyakit
Foreigen key : -
Tabel 4.8 Tabel penyakit
No Nama field Type Size Keterangan
1. Kode_Penyakit Text 4 Kode penyakit
2. Nama_Penyakit Text 40 Nama penyakit
c. Tabel gejala penyakit
Tabel gejala penyakit merupakan tabel relasi antara tabel gejala dan tabel
penyakit yang menyimpan aturan/hubungan antara gejala dan penyakit.
Primary key : -
Foreign key : Kode _Gejala dan Kode_Penyakit
Tabel 4.9 Tabel gejala penyakit
No Nama field Type Size Keterangan
1. Kode_Penyakit Text 4 Kode penyakit
2. Kode_Gejala Text 4 Kode gejala

d. Tabel solusi
Tabel solusi merupakan tabel yang digunakan untuk menyimpan data-data
pengetahuan solusi penanganan penyakit kandungan.
Primary key : Kode_Solusi
Foreigen key : -
Tabel 4.10 Tabel solusi
No Nama field Type Size Keterangan
1. Kode_Solusi Text 4 Kode solusi
2. Solusi Text 40 Solusi penyakit

e. Tabel solusi penyakit


Tabel solsui penyakit merupakan tabel relasi antara tabel solusi dan tabel
penyakit yang menyimpan aturan/hubungan antara solusi dan penyakit.
Primary key : -
Foreign key : Kode _solusi dan Kode_Penyakit
Tabel 4.11 Tabel solusi penyakit
No Nama field Type Size Keterangan
1. Kode_Penyakit Text 4 Kode penyakit
2. Kode_Solusi Text 4 Kode solusi

f. Tabel penyebab
Tabel penyebab merupakan tabel yang digunakan untuk menyimpan data-data
pengetahuan penyebab penyakit kandungan.
Primary key : Kode_ penyebab
Foreigen key : -
Tabel 4.12 Tabel penyebab
No Nama field Type Size Keterangan
1. Kode_ penyebab Text 4 Kode penyebab
2. Nama_penyebab Text 40 Penyebab penyakit

g. Tabel penyebab penyakit


Tabel penyebab penyakit merupakan tabel relasi antara tabel penyebab dan
tabel penyakit yang menyimpan aturan/hubungan antara penyebab dan penyakit.
Primary key : -
Foreign key : Kode _ penyebab dan Kode_Penyakit
Tabel 4.13 Tabel penyebab penyakit
No Nama field Type Size Keterangan
1. Kode_Penyakit Text 4 Kode penyakit
2. Kode_Penyebab Text 4 Kode penyebab

3. Pemodelan antar muka (interface)


Pemodelan interface meliputi 4 (empat) bagian yaitu perancangan model
sistem menu, perancangan model input, perancangan model proses dan
perancangan model output. Rancangan menu ditampilkan pada gambar 4.9,
sedangkan rancangan input terdiri dari beberapa form yaitu input penyakit, gejala,
penyebab, solusi dan input aturan (rule). Sebagai ilustrasi, input gejala ditampilkan
pada gambar 4.10.

Gambar 4.9 Rancangan sistem menu


Gambar 4.10 Rancangan form input data gejala

Rancangan model proses dan model keluaran (output) merupakan dua form
yang saling terkait dimana hasil proses diagnosa akan di tampilkan pada form hasil
diagnosa yang merupakan keluaran sistem. Ilustrasi model diagnosa dan model
hasil diagnosa di tampilkan pada gambar 4.11 dan gambar 4.12.

Gambar 4.11 Rancangan form diagnosa penyakit


Gambar 4.12 Rancangan form hasil diagnosa

D. Implementasi
Bagian merupakan implementasi dari rancangan yang telah dibuat
sebelumnya. Secara garis besar, implementasi sistem cerdas untuk mendiagnosa
penyakit kandungan ini dapat dibagi menjadi 2 kategori berdasarkan jenis
pemakai yaitu pakar yang juga bertindak sebagai admin dan paramedis yang
bertindak sebagai pemakai biasa. Masing-masing kategori pemakai mempunyai
hak akses terhadap sistem yang dengan fasilitas yang berbeda-beda.
Admin atau pakar berfungsi sebagai administrator sistem dan user tersebut
memiliki hak akses untuk memanipulasi data pengguna pada sistem, bertugas
untuk memasukan data pengetahuan (data penyakit, data gejala, data penyebab,
data solusi dan data aruran). Selain itu pakar juga berhak untuk melakukan
diagnosa. Sedangkan pemakai biasa hanya berhak untuk melakukan diagnosa
dengan memilih gejala-gejala yang sudah tersedia dan mendapatkan hasil diagnosa
dari sistem.
Ketika sistem mulai dieksekusi, maka tampilan pertama yang akan muncul
adalah tampilan form utama dari sistem seperti terlihat pada pada Gambar 4.13.
Sebelum user melakukan login, menu dari sistem yang dapat diakses hanya
terbatas pada menu File, Penelusuran dan About. Seorang User dapat
menggunakan sistem dengan hak akses penuh harus melakukan login terlebih
dahulu. Pada proses login, pengguna harus memilih menu File kemudian Login.
Tampilan dari form login dapat dilihat pada Gambar 4.14.

Gambar 4.13 Tampilan menu utama

Gambar 414 Tampilan form login

1. Menu Knowledge Base


Menu ini adalah menu yang hanya dapat diakses oleh user dengan hak
akses sebagai pakar. Menu ini memiliki beberapa sub menu yaitu Data Pakar
(terdiri dari data penyakit, penyebab, gejala dan solusi) dan menu Rule. Sub menu
Data Pakar adalah fasilitas yang digunakan untuk memasukan data pengetahuan
(knowledge base) yaitu data penyakit, penyebab, gejala dan solusi. Sedangkan sub
menu Rule adalah fasilitas sistem yang berfungsi sebagai antarmuka untuk
memasukan data basis aturan kedalam sistem.
Tampilan salah satu sub menu Data Pakar (pengisian data gejala) di tunjukan
dengan gambar 4.15 dan pengaturan basis aturan (rule base) di tunjukan pada
gambar 4.16.

Gambar 4.15 Tampilan form input gejala

Gambar 4.16 Tampilan form rule base


2. Menu Penelusuran
Menu Penelusuran digunakan oleh user untuk melakukan proses diagnosa
terhadap penyakit kandungan. Proses diagnosa dilakukan dengan cara memasukan
gejala-gejala yang dialami pasien. Pemasukan gejala dengan memilih daftar seluruh
gejala yang bersesuaian dengan keadaan pasien.
Jika semua gejala yang dialami pasien sudah di pilih, selanjutnya user dapat
mengklik tombol diagnosa untuk mengetahui hasil analisa sistem terhadap gejala-
gejala yang dialami. Daftar seluruh gejala, kemungkinan penyakit yang mengikuti
serta nilai probabilitas masing-masing gejala di tampilkan pada list di bagian bawah
form diagnosa.
Sistem akan melakukan analisa gejala dengan mencocokan basis aturan yang
tersimpan dalam basis data. Perhitungan nilai kepastian menggunakan metode
dampster shafer dilakukan menggunakan nilai probabilitas pada masing-masing
gejala. User harus memilih minimal dua buah gejala yang di alami pasien. Jika
terdapat kombinasi penyakit yang mengikuti gejala yang di pilih, maka sistem
meniympulkan penyakit yang paling sesuai adalah penyakit dengan persentase nilai
kepercayaan paling tinggi sebagai kesimpulan hasil diagnosa.
Ilustrasi pemilihan gejala sampai dengan penentuan hasil diagnosa di tunjukan
pada gambar 4.17, 4.18, 4.19 dan gambar 4.20. Contoh kasus, user memilih gejala
pendarahan menstruasi tidak normal (G002) sebagai gejala awal (lihat gambar
4.17). Nilai probabilitas G002 adalah 0,5 dan penyakit yang mengikuti gejala
tersebut adalah P001, P002, P003 dan P006.
Sehingga,
m1 {P001,P002,P003,P006} = 0,5
m (θ) = 1 – 0,5 = 0,5
Gambar 4.17 Pemilihan gejala awal (G002)

Selanjutnya user memilih gejala kedua yaitu pendarahan menstruasi lebih


banyak dari biasanya (G021) dengan nilai probabilitas 0,6 (lihat gambar 5.16).
Penyakit yang mengikuti gejala G021 adalah P004 dan P006.
Sehingga,
m2 {P004,P006} = 0,6
m (θ) = 1 – 0,6 = 0,4
Dengan munculnya gejala kedua (G021), maka harus dilakukan penghitungan
densitas baru untuk beberapa kombinasi (m3). Perhitungan himpunan-himpunan
bagian yang terbentuk dimasukkan ke dalam tabel 4.14. Kolom pertama diisi dengan
gejala yang pertama (m1). Sedangkan baris pertama diisi dengan gejala yang kedua
(m2) . Sehingga diperoleh nilai m3 sebagai hasil kombinasi m1 dan m2.
Tabel 4.14 Tabel perhitungan gejala G002 dan G021
{P004,P005} (0,6) θ (0,4)
{P001,P002,P003,P006} (0,5) {P006} (0,3) { P001,P002,P003,P006} (0,2)
θ (0,5) {P004,P006} (0,3) θ (0,2)

Sehingga dapat dihitung :


0,3
m3 {P006} = = 0,30
1-0,2
0,3
m3 {P004,P006} = = 0,30
1-0,2
m3 0,2
= = 0,25
{P001,P002,P003,P006} 1-0,2
0,2
m3 { θ } = = 0,25
1-0,2

Gambar 4.18 Pemilihan gejala kedua (G021)


Dari hasil perhitungan nilai densitas m3 kombinasi di atas, dapat dilihat bahwa
nilai {P006} sama dengan {P004,P006} sebesar 0,3. Sedangkan nilai
{P001,P002,P003,P0046} sebesar 0,25. Jika kemudian terdapat gejala ketiga yaitu
mengalami perdarahan setelah bersetubuh (G035) dengan nilai probabilitas 0,9
(lihat gambar 4.19) dan penyakit yang mengikuti gejala G035 adalah P006.

Gambar 4.19 Pemilihan gejala ketiga (G035)


Sehingga,
m4 { P006} = 0,9
m (θ) = 1 – 0,9 = 0,1
Dengan munculnya gejala ketiga (G035), maka harus dilakukan penghitungan
densitas baru untuk beberapa kombinasi (m5) seperti disajikan pada tabel 4.15.
Tabel 4.15 Tabel perhitungan gejala G002, G021 dan G035
{ P006} (0,9) θ (0,1)
{P006} (0,3) {P006} (0,27) { P006} (0,03)
{P004, P006} (0,3) {P006} (0,27) { P004,P006} (0,03)
{P001,P002,P003,P006} (0,2) {P006} (0,18) { P001,P002,P003,P006} (0,02)
θ (0,2) {P006} (0,18) θ (0,02)
Sehingga dapat dihitung :
0,27+0,27+0,18+0,18+0,03
m5 {P006} = = 0,95
1-0.02
0,03
m5 {P004,P006} = = 0,03
1-0,02
m5 0,02
= = 0,02
{P001,P002,P003,P006} 1-0,02
0,02
m5 { θ } = = 0,02
1-0,02

Hasil perhitungan nilai densitas m5 kombinasi di atas, dapat dilihat bahwa nilai
{P006} sebesar 0,95. Sedangkan nilai {P004,P006} dan {P001,P002,P003,P0046}
masing-masing sebesar 0,03 dan 0,02. Dari hasil perhitungan diatas diketahui
bahwa nilai kepercayaan P006 terhadap gejala G002, G021 dan G035 adalah yang
paling tinggi yaitu sebesar 0,95 atau 95%. Sehingga disimpulkan bahwa P006
(Kanker Rahim (Kanker Uterus = Carcinoma Uteri)) adalah penyakit yang
menyerang pasien tersebut. Selanjutnya sistem akan menampilkan form hasil
diagnosa seperti pada tamiplan gambar 4.20. Form ini dilengkapi dengan tombol
Cetak untuk membuat printout melalui printer.

Gambar 4.20 Tampilan form hasil diagnosa


4.1 Penanganan Ketidakpastian
Dalam kenyataan sehari-hari banyak masalah didunia ini tidak dapat
dimodelkan secara lengkap dan konsisten. Suatu penalaran dimana adanya
penambahan fakta baru mengakibatkan ketidakkonsistenan, dengan ciri-ciri
penalaran sebagai berikut :
 adanya ketidakpastian
 adanya perubahan pada pengetahuan
 adanya penambahan fakta baru dapat mengubah konklusi yang sudah terbentuk
contoh :
Premis -1 : Aljabar adalah pelajaran yang sulit
Premis -2 : Geometri adalah pelajaran yang sulit
Premis -3 : Kalkulus adalah pelajaran yang sulit
Konklusi : Matematika adalah pelajaran yang sulit
Munculnya premis baru bisa mengakibatkan gugurnya konklusi yang sudah
diperoleh, misal :
Premis -4 : Kinematika adalah pelajaran yang sulit
Premis tersebut menyebabkan konklusi : “Matematika adalah pelajaran yang sulit”,
menjadi salah, karena Kinematika bukan merupakan bagian dari Matematika,
sehingga bila menggunakan penalaran induktif sangat dimungkinkan adanya
ketidakpastian. Untuk mengatasi ketidakpastian maka digunakan penalaran statistik.
Beberapa teknik yang dapat di gunakan untuk menanganai ketidakpastian antara
lain Teorema Bayes, Certainty Factor dan Damster-Shafer.

4.2 Teori Ketidakpastian


Sejumlah metode yang berkaitan dengan ketidakpastian telah dikembangkan,
diantaranya teori probabilitas klasik, teori probabilitas Bayesian, teori Hartley yang
berbasis himpunan klasik [Hartley, 1928], Teori Shannon yang berbasis probabilitas
[Shannon, 1948], teori Dempster-Shafer [Shafer, 1976], teori himpunan fuzzy dan
faktor kepastian [Zadeh, 1965]. Teori Shannon khususnya telah terbukti sangat
populer untuk bidang telekomunikasi dan juga telah diaplikasikan pada beberapa
bidang yang berbeda seperti biologi, psikologi, musik dan fisika.
Semua makhluk hidup adalah ahli berkaitan dengan masalah ketidakpastian
atau mereka tidak akan bertahan hidup di dunia nyata. Manusia khususnya, memiliki
kemampuan yang dapat digunakan untuk menangani ketidakpastian misalnya
tentang lalu lintas, cuaca, pekerjaan, sekolah dan sebagainya. Setelah beberapa
waktu belajar, manusia akan menjadi ahli dalam mengendarai mobil pada berbagai
kondisi lalu lintas, dia juga mengetahui yang harus dikerjakan dalam kondisi yang
dingin, memilih kelas yang mudah dan masih banyak lagi. [Giarratano dan Riley,
1993]
Di dunia nyata ini banyak permasalahan yang tidak dapat dimodelkan secara
lengkap dan konsisten. Suatu penalaran yang dengan adanya penambahan fakta
baru menyebabkan terjadinya ketidakkonsistenan disebut “penalaran non
monotonis”. Penalaran tersebut mempunyai ciri antara lain : mengandung
ketidakpastian, adanya perubahan pada pengetahuan, adanya penambahan fakta
baru yang dapat mengubah konklusi yang sudah terbentuk. Berkaitan dengan
ketidakpastian ini maka dibutuhkan penalaran dengan ketidakpastian. Pada paper ini
dijelaskan beberapa teori yang dikembangkan untuk menangani ketidakpastian.

Penalaran Statistik
Salah satu metode untuk mengatasi ketidakpastian pada penalaran non
monotonis adalah dengan menggunakan penalaran statistik. Metode terpenting
dalam penalaran statistik untuk mengatasi ketidakpastian tersebut adalah
probabilitas dan teorema Bayes’.

Probabilitas
Salah satu metode penalaran yang penting dalam kecerdasan buatan adalah
probabilitas [Farley, 1983]. Probabilitas merupakan metode kuantitatif berkaitan
dengan ketidakpastian yang diperkenalkan pada abad ke-17. Berikut ini dijelaskan
tentang teori dasar probabilitas [Fineti, 1974] [Feller, 1957]. Misalkan A adalah
sebuah peristiwa (event). Himpunan dari semua kejadian yang mungkin dari suatu
peristiwa (Ω) disebut ruang sampel atau ruang kejadian. Pada ruang kejadian
diskrit, probabilitas suatu peristiwa A dinyatakan dengan p  A yang didefinisikan

n A
sebagai berikut :

p  A 
n 
(4.1)

dengan p  A = probalilitas terjadinya peristiwa A

n A = cacah kejadian dari peristiwa A

n = cacah seluruh kejadian yang mungkin dari ruang sampel.

1. Probabilitas setiap kejadian A adalah tidak negatif atau A  : p A  0 .


Setiap fungsi probabilitas p harus memenuhi tiga aksioma, yaitu :

2. Probabilitas seluruh ruang sampel adalah satu atau p  1.

3. Jika A1 , A2 ,..., Ak adalah peristiwa yang tidak saling mempengaruhi

(independent) maka P  A1  A2  ...  Ak    Ai


k

i 1

Dengan mengkombinasikan aksioma 1 dan 2 diperoleh :

A  : 0  p A  1 (4.2)

Persamaan (4.2) menunjukkan bahwa probabilitas sembarang peristiwa adalah

bahwa jika p A  1, berarti peristiwa A pasti terjadi dan jika p A  0 , berarti


sebuah bilangan riil yang berkisar dari 0 sampai 1. Dari definisi tersebut dinyatakan

Komplemen dari A A didefinisikan sebagai himpunan dari seluruh anggota ruang
peristiwa A tidak mungkin terjadi.

sampel   selain anggota A. Peristiwa A dan A adalah dua peristiwa yang tidak
mungkin terjadi bersama dan A A   , maka berdasarkan aksioma 2 diperoleh :
p  A  p A  p ( A A)
 p   (4.3)
1

Probabilitas bersyarat

Misalkan B   adalah peristiwa yang lain. Probabilitas terjadinya peristiwa A

dengan p A B . Probabilitas yang menyatakan peristiwa A dan B terjadi bersama-


apabila peristiwa B telah diketahui disebut probabilitas bersyarat yang dinyatakan

sama disebut probabilitas gabungan yang dinyatakan dengan p A  B . Probabilitas

bersyarat p A B didefinisikan sebagai :

p  A  B
p  A B  untuk p B  0
p B 
(4.4)

Dengan cara yang sama dapat didefinisikan bahwa probabilitas terjadinya peristiwa
B setelah terjadinya peristiwa A sebabagai berikut :

p B  A
p B A  untuk p  A  0
p  A
(4.5)

Teorema Bayes

bersyarat. Dari persamaan (4.5) diperoleh pB  A  pB A  p A . Probabilitas


Bayes’ memberikan kasus khusus yang berkaitan dengan probabilitas

gabungan memiliki sifat komutatif yaitu p A  B  pB  A , sehingga juga dapat

dinyatakan bahwa p A  B  pB  A  pB A p A . Dengan mensubstitusikan

persamaan tersebut ke persamaan (4.5) maka diperoleh teorema Bayes’ sebagai


berikut :
p B A  p  A
p  A B 
p B
(4.6)

Sejauh ini tidak ada asumsi yang telah dibuat baik mengenai peristiwa A
maupun peristiwa B. Apabila kedua peristiwa tersebut tidak saling mempengaruhi

dinyatakan bahwa pA B  p( A) dan pB A  p( B) . Definisi tersebut terinspirasi oleh


(artinya satu kejadian tidak akan mempengaruhi kejadian yang lain), maka dapat

suatu pemikiran bahwa jika dua peristiwa benar-benar independen maka kejadian
yang pertama tidak akan mempengaruhi kejadian yang ke dua. Hal ini juga
memberikan keterkaitan hubungan antara teori himpunan dan teori probabilitas. Jika
A dan B adalah himpunan yang saling asing, maka probabilitas gabungan dari dua
himpunan tersebut adalah jumlahan dari probabilitas masing-masing himpunan,
sedangkan probabilitas irisan dari kedua himpunan tersebut adalah hasil kali dari

himpunan yang saling asing (disjoint set) maka p A  B  p( A)  pB sedangkan


probabilitas masing-masing himpunan. Dengan kata lain jika A dan B adalah

p A  B  p( A)  pB .

gabungan dari 2 himpunan yang saling asing B  A  B  A , sehingga dapat


Pada teori himpunan klasik dinyatakan bahwa B dapat dipresentasikan sebagai

p B  p ( B  A)  p B  A
dinyatakan bahwa :

 p B  A  p B  A
 p B A p  A  p B A p A
(4.7)

Dengan mengganti notasi himpunan menjadi peristiwa, maka persamaan (4.6) dan

p B A  p  A
(4.7) dapat dinyatakan sebagai :

p  A B 
p B A  p  A  p B A  p A
(4.8)
Persamaan (4.8) telah meletakkan dasar pemanfaatan teori probabilitas untuk
menangani masalah ketidakpastian, yaitu dengan menyediakan cara untuk
mendapatkan probabilitas bersyarat terjadinya peristiwa A setelah terjadinya B dari
probabilitas bersyarat terjadinya peristiwa B setelah dterjadinya A. Bentuk umum
dari teorema Bayes’ dapat ditulis dengan menggunakan istilah peristiwa (E) dan
hipotesis-hipotesis (H) dalam bentuk persamaan sebagai berikut :

p E H i   p H i 
p H i E  
 pE H  pH 
n
(4.9)

k 1
k k

p H i E  : Probabilitas hipotesis Hi benar jika diberikan fakta E


Dengan :

p E H i  : Probabilitas munculnya fakta E, jika diketahui hipotesis Hi benar

p H i  : Probabilitas hipotesia Hi tanpa memandang fakta apapun

n : jumlah hipotesis yang mungkin


Teori Dempster-Shafer
Teori Dempster-Shafer dikembangkan oleh Arthur Dempster pada tahun 1960-
an [Dempster, 1967] dan dikembangkan lagi oleh Glen Shafer pada tahun 1970-an
[Shafer, 1976]. Munculnya teori ini didorong oleh kesulitan kedua peneliti tersebut
dengan teori probabilitas dalam menyatakan ketidakpastian dan suatu pemikiran
bahwa jumlah tingkat keyakinan subyektif akan terjadinya suatu peristiwa dan tidak
terjadinya suatu peristiwa adalah satu.
Pada teori Dempster-Shafer diawali dengan mendefinisikan semesta
pembicaraan dari seluruh hipotesis yang dinotasikan dengan Θ. Fungsi Θ pada teori
Dempster-Shafer ini sebenarnya hampir sama dengan Ω pada teori probabilitas,
perbedaannya adalah kalau di teori Dempster-Shafer banyaknya hipotesis yang
mungkin adalah 2  sedangkan pada teori probabilitas adalah  .

Misalkan A adalah himpunan bagian dari Θ, jumlah probabilitas A dinyatakan


dengan m(A) yaitu probabilitas yang ditetapkan untuk himpunan A. Besarnya nilai
A. Fungsi m : 2  0,1 dikatakan sebagai basic probability assignment jika
m(A) dapat dipandang sebagai bagian dari seluruh keyakinan yang ditetapkan untuk

memenuhi :

1. Probabilitas dari himpunan kosong adalah 0 (m(Ø)=0).


2. Jumlah probabilitas dari semua himpunan bagian dari Θ adalah 1
( A m( A)  1 ).

Fungsi belief dari A dinotasikan dengan Bel(A) mengukur jumlah total


keyakinan dalam A. Secara matematis, hal tersebut dapat dinyatakan sebagai
berikut :

Bel  A  B A m( B) (4.10)

Fungsi Bel(A) dapat dikatakan sebagai fungsi keyakinan dan harus memenuhi sifat-
sifat berikut :
1. Keyakinan hipotesis himpunan kosong adalah 0, atau Bel(Ø)=0
2. Keyakinan dalan semesta Θ adalah 1, atau Bel(Θ)=1
3. Jumlah keyakinan dari A dan A harus lebih kecil atau sama dengan 1, atau
Bel  A  Bel A  1

Nilai dari 1  Bel A disebut sebagai plausability dari A dan dinotasikan dengan
Pl(A), yang merepresentasikan jumlah maksimum keyakinan yang mungkin dapat
diberikan kepada A. Fungsi Bel(A) dan Pl(A) dapat diinterpretasikan sebagai

Karena Bel  A  Bel A  1 maka Bel  A  Pl  A  1 .


probabilitas bawah dan probabilitas atas yang diakibatkan oleh pemetaan multi nilai.

Pada teori probabilitas, nilai probabilitas dari ingkaran suatu hipotesis A adalah
A A  
p A  pA  1 . Hasil yang sama dalam teori Dempster-Shafer akan membutuhkan
sudah pasti jika nilai probabilitas A diketahui, karena dan

Bel  A  Bel A  1 , namun demikian menyiratkan bahwa keyakinan dari ingkaran

suatu hipotesis adalah merupakan sisi lain dari keyakinan dalam hipotesis yang
diketahui. Dengan kata lain, keyakinan dari suatu hipotesis tidak dapat ditetapkan
tanpa mengetahui keyakinan dalam ingkarannya. Pembatasan semacam itu tidak
ada dalam teori Dempster-Shafer, keyakinan dari suatu ingkaran sebuah hipotesis

batasan adalah Bel  A  Bel A  1 .


tidak bergantung pada keyakinan dari hipotesis itu sendiri, dan yang menjadi

Teori Kemungkinan (Possibility Theory)


Teori kemungkinan dikembangkan oleh Lotfi Zadeh sebagai pengembangan
dari teori himpunan fuzzy [Zadeh, 1978]. Pengembangan penelitian ini didasari oleh
kesulitan dalam merepresentasikan informasi yang tidak pasti atau tidak jelas
apabila menggunakan teori probabilitas.

Himpunan Fuzzy
Teori kemungkinan dikembangkan berdasarkan teori himpunan fuzzy. Berikut
ini akan dijelaskan pengertian himpunan fuzzy dan hal-hal yang berkaitan.
Didefinisikan U adalah himpunan obyek. Himpunan fuzzy adalah sebuah klas

himpunan bagian fuzzy dari U yang dinyatakan dengan fungsi keanggotaan  A u 


dari obyek dengan tingkat keanggotaan tertentu dalam U. Misalkan A adalah

yang terkait dengan bilangan real dalam 0,1 untuk setiap u  U . Nilai  A u 

 A u  dengan 1, berarti semakin tinggi tingkat keanggotaan u pada himpunan A.


menyatakan tingkat keanggotaan u pada himpunan A, dan semakin dekat nilai

Himpunan fuzzy A dalam U dapat dinyatakan sebagai berikut : [Zadeh, 1965]

A  u ,  A u  u  U  dengan  A u   0,1 (4.11)

 A u  . Pada himpunan klasik, fungsi


Dengan demikian, perbedaan antara himpunan fuzzy dengan himpunan klasik
adalah pada derajad keanggotaan
keanggotaan hanya bernilai 1 atau 0,  A u   1 berarti menjadi anggota himpunan
dan  A u   0 berarti bukan anggota himpunan. Hal tersebut dapat dinyatakan
sebagai berikut : [Zadeh, 1965]
A  u ,  A u  u  U  dengan  A u  0,1 (4.12)

Sebuah himpunan fuzzy dikatakan kosong jika dan hanya jika  A u   0 untuk
setiap u  U . Dua himpunan fuzzy A dan B dikatakan sama jika dan hanya jika
 A u    B u  untuk setiap u  U . Komplemen dari himpunan fuzzy A dinotasikan
dengan A, dan fungsi keanggotaannya didefinisikan sebagai berikut : [Zadeh,
1965]

A u   1   A u  (4.13)
Operasi himpunan yang lain juga diperluas pada himpunan fuzzy yang bersesuaian.

 A u    B u  untuk setiap u  U . Gabungan dua himpunan fuzzy A dan B dengan


Himpunan fuzzy A merupakan himpunan bagian dari B jika dan hanya jika

masing-masing fungsi keanggotaannya  A u  dan  B u  adalah himpunan fuzzy C

yang didefinisikan sebagai C u   max  A u ,  B u  untuk setiap u  U , atau dapat

dinyatakan sebagai berikut : [Zadeh, 1965]

 AB u   max  A u ,  B u  (4.14)

masing-masing fungsi keanggotaannya  A u  dan  B u  adalah himpunan fuzzy C


Dengan cara yang sama diperoleh irisan dua himpunan fuzzy A dan B dengan

yang didefinisikan sebagai C u   min  A u ,  B u  untuk setiap u  U , atau dapat

dinyatakan sebagai berikut : [Zadeh, 1965]

 AB u   min  A u ,  B u  (4.15)

Pada logika klasik dinyatakan bahwa implikasi A  B  A  B . Dengan demikian,


berdasarkan definisi yang diberikan sebelumnya diperoleh implikasi dua himpunan
fuzzy A dan B dengan masing-masing fungsi keanggotaannya  A u  dan  B v

adalah himpunan fuzzy C yang didefinisikan sebagai C u, v  max 1   A u ,  B v

untuk setiap u , v  U , atau dapat dinyatakan sebagai berikut : [Zadeh, 1965]

 AB u, v  max 1   A u ,  B v (4.16)

Berdasarkan teori dasar himpunan fuzzy yang telah dijelaskan, berikut ini dapat
dilihat pemanfaatannya dalam masalah keyakinan. Paradigma yang ditawarkan
tersebut dikenal sebagai teori kemungkinan (possibility theory) terutama yang
berkaitan dengan distribusi. Distribusi probabilitas berhubungan langsung dengan

dinyatakan dengan fungsi keanggotaan  A : U  0,1, proposisi “X adalah A”


fungsi keanggotaan fuzzy. Misalkan A adalah himpunan bagian fuzzy dari U yang

berkaitan dengan ditribusi probabilitas  dengan   A (juga dapat ditulis

X adalah A  X  A). Sejalan dengan hal tersebut, kemungkinan fungsi distribusi


X X

yang berkaitan dengan X,  X sama dengan fungsi kenaggotaan A yaitu  X   A .


Ukuran kemungkinan dinyatakan dengan Possx  A yaitu kemungkinan nilai x yang

Possx  A  max uA X u 


dimiliki A dan dinyatakan sebagai berikut : [Zadeh, 1978]
(4.17)

Possx  A  supuA X u 
Apabila A merupakan himpunan tak hingga maka :
(4.18)

Faktor Kepastian (Certainty Factor)


Pendekatan teori probabilitas untuk menangani ketidakpastian memerlukan
jumlah data yang sangat besar. Oleh karena itu, beberapa pendekatan dan asumsi
yang mengandung kelemahan biasanya digunakan untuk mengurangi sejumlah
penilaian probabilitas yang diperlukan. Dalam kaitan dengan masalah tersebut,
Shortliffe memperkenalkan sebuah pendekatan baru yang disebut faktor kepastian
(Certainty Factor). [Shortliffe dan Buchanan, 1975]
MBh, edan MDh, e
Sebelum beberapa kombinasi atau propagasi dari fakta dapat dibentuk, harus
dibentuk dua fungsi antara. Fungsi-fungsi tersebut adalah
yang menyatakan ukuran kepercayaan terhadap hipotesis h jika diberikan fakta e
dan ukuran ketidakpercayaan terhadap hipotesis h jika diberikan fakta e. Kedua

jika p h   1
fungsi tersebut didefinisikan sebagai berikut :
1
 max  p h e , p h   p h 
MBh, e   
jika p h   1

 max 1,0  p h 
jika p h   1
 min  p h e , p h   p h 
1
(4.19)

MDh, e   
jika p h   1

 min 1,0  p h 

MBh, edan MDh, e bernilai bilangan real pada interval [0,1]. Jika suatu hipotesis

didukung oleh lebih dari satu fakta, maka digunakan kombinasi dari MBh, edan
MDh, e untuk mengitung faktor kepastian (CF) dengan rumusan sebagai berikut :

[Shortliffe dan Buchanan, 1975]


MB  MD
CF 
1 min MB, MD 
(4.20)

Nilai CF berada pada range -1 sampai +1.


Jika suatu hipotesis yang sama dipengaruhi oleh dua atau lebih aturan, maka
nilai masing-masing CF yang diperoleh dari aturan-aturan tersebut dikombinasikan
untuk memperoleh nilai CF kombinasi dari hipotesis, dengan rumusan sebagai
berikut :
 X  Y  1  X  jika keduanya X , Y  0

CFcombine X , Y  
 X Y
1  min  X , Y 
jika salah satu X , Y  0 (4.21)

  CFcombine X ,Y jika keduanya X , Y  0


Fungsi CFcombine tersebut dikemukakan oleh Van Melle. [Buchanan dan Shortliffe,
1984]
BAB 5 CASE BASE REASONING

5.1 Sejarah Penalaran Berbasis Kasus (CBR)


Pekerjaan Schank dan Abelson pada tahun 1977 secara luas dianggap asal-
usul CBR. Mereka mengusulkan bahwa pengetahuan umum kita tentang situasi
dicatat sebagai skrip yang memungkinkan kita untuk mengatur harapan dan
melakukan kesimpulan. Script diusulkan sebagai struktur untuk memori konseptual
menggambarkan informasi tentang peristiwa stereotip seperti, pergi ke restoran atau
mengunjungi dokter. Namun, percobaan pada skrip menunjukkan bahwa mereka
bukan teori lengkap representasi memori - orang sering bingung peristiwa yang
memiliki skrip serupa.
Sebagai contoh, seseorang mungkin mencampur adegan kamar dari
kunjungan ke kantor dokter dengan kunjungan ke kantor dokter gigi. Pengamatan
tersebut jatuh sejalan dengan teori pembentukan konsep, pemecahan masalah dan
pengalaman belajar dalam filsafat dan psikologi [Tulving, 77, Smith et al., 78]. Roger
Schank terus mengeksplorasi peran bahwa memori situasi sebelumnya (yaitu,
kasus) dan pola situasi atau organisasi memori paket (MOPS) bermain di kedua
pemecahan masalah dan pembelajaran [Schank, 82].
Pada waktu yang sama Gentner [83] telah mengembangkan kerangka teoritis
untuk analogi yang juga memiliki relevansi dengan CBR. Mungkin dengan manfaat
dari belakang juga memungkinkan untuk menemukan referensi penting untuk CBR
dalam pengamatan Wittgenstein bahwa konsep alam seperti meja dan kursi pada
kenyataannya polimorfik dan tidak dapat diklasifikasikan oleh satu set fitur yang
diperlukan dan memadai tetapi dapat didefinisikan oleh satu set kasus (yaitu, kasus)
dengan kemiripan keluarga [Wittgenstein, 53]. Karya ini telah dikutip oleh Aamodt
dan Plaza [94] sebagai dasar filosofis untuk CBR.
Sementara akar filosofis CBR mungkin bisa diklaim oleh banyak apa yang tidak
diragukan adalah bahwa itu adalah pekerjaan kelompok Roger Schank di Yale
University di awal tahun delapan puluhan yang menghasilkan kedua model kognitif
untuk CBR dan pertama aplikasi CBR berdasarkan ini Model. Janet Kolodner
mengembangkan sistem CBR pertama kali disebut CYRUS [Kolodner, 83a & b].
CYRUS terkandung pengetahuan, sebagai kasus, dari perjalanan dan pertemuan
mantan Sekretaris AS-of-Negara Cyrus Vance. CYRUS adalah penerapan model
memori dinamis Schank itu. Model kasus-memori kemudian menjabat sebagai dasar
untuk beberapa sistem lain, termasuk CBR MEDIATOR [Simpson, 85], CHEF
[Hammond, 86], pembujuk [Sycara, 87], CASEY [Koton, 89] dan JULIA [Hinrichs,
92].
Sebuah pendekatan alternatif berasal dari karya Bruce Porter, di The University
of Texas di Austin, dalam klasifikasi heuristik dan pembelajaran mesin yang
dihasilkan dalam sistem PROTOS [Porter & Bareiss, 86, Bareiss, 88]. PROTOS
terpadu pengetahuan domain umum dan pengetahuan kasus tertentu menjadi model
memori kasus tunggal. Karya ini diambil lebih lanjut oleh Grebe, sebuah sistem
operasi dalam domain hukum [Branting, 91].
Hal ini mungkin tidak mengherankan bahwa sejak praktek hukum sebagian
besar didasarkan pada prioritas dan gagasan kasus, bahwa telah ada beberapa
kepentingan dari sektor ini di CBR. Terutama kelompok Edwina Rissland di
University of Massachusetts di Amherst yang mengembangkan HYPO [Ashley, 88].
Dalam kasus HYPO mewakili preseden hukum yang digunakan untuk menafsirkan
situasi pengadilan dan menghasilkan argumen untuk kedua pertahanan dan jaksa.
Sistem ini kemudian dikombinasikan dengan penalaran berbasis aturan untuk
menghasilkan CABARET [Rissland & Skalak, 89].
Penelitian CBR tidak terbatas ke AS, tapi itu lambat untuk memulai di Eropa. Di
antara karya pertama Eropa dikutip adalah bahwa kelompok Derek Sleeman itu dari
Aberdeen di Skotlandia. Mereka mempelajari penggunaan kasus untuk akuisisi
pengetahuan, mengembangkan sistem Refiner [Sharma & Sleeman, 88]. Pada
waktu yang sama Mike Keane, dari Trinity College Dublin, melakukan penelitian ilmu
kognitif dalam penalaran analogis yang kemudian mempengaruhi CBR [Keane, 88]
Pada benua Eropa Michael Richter dan Klaus Althoff [Althoff, 89], dari
University of Kaiserslautern, diterapkan CBR diagnosis kompleks. Hal ini telah
melahirkan sistem PATDEX [Richter & Weiss, 91] dan kemudian ke alat CBR S3-
Kasus. Agnar Aamodt di Universitas Trondheim telah menyelidiki segi belajar CBR
dan kombinasi kasus dan domain pengetahuan umum sehingga CREEK [Aamodt,
89 & 91]
Di Inggris, CBR tampaknya terutama diterapkan untuk teknik sipil. Sebuah
kelompok di University of Salford menerapkan teknik CBR untuk kesalahan
diagnosis, perbaikan dan renovasi bangunan [Watson & Abdullah, 94]. Yang &
Robertson [94] di Edinburgh sedang mengembangkan sebuah sistem CBR untuk
menafsirkan peraturan bangunan, domain bergantung pada konsep didahulukan.
Sementara kelompok lain di Wales menerapkan CBR dengan desain jalan tol
jembatan [Moore et al., 94].
Lebih jauh ada kelompok CBR aktif di Israel [Oxman. 93a & b], India
[Venkatamaran et al., 93] dan Jepang [Kitano, 93]. Namun, meningkatnya jumlah
CBR makalah dalam jurnal AI dan meningkatnya jumlah aplikasi CBR sukses secara
komersial kemungkinan untuk memastikan bahwa lebih banyak negara mengambil
minat aktif dalam CBR di masa depan. Sebagai indikator Komputer British
Masyarakat Spesialis Kelompok Sistem Pakar telah mengadakan lokakarya CBR
cocok untuk pemula di kedua itu konferensi tahunan terakhir.

5.2 Penalaran Berbasis Kasus (Case-Based Reasoning/CBR)


Case Base Reasoning telah diaplikasikan dalam banyak bidang yang berbeda.
Berbagai bidang aplikasi tersebut menunjukan berapa luasnya cakupan CBR,
kebanyakan merupakan aplikasi dalam kerangka kecerdasan buatan. Bidang
aplikasi tersebut antara lain, hukum, kedokteran, rekayasa, komputasi, jaringan
komunikasi, desain pabrik, keuangan, penjadwalan, bahasa, sejarah,
makanan/nutrisi, penemuan rute dan lingkungan (Hartati dan Mulyana, 2009).
CBR adalah suatu model penalaran yang penggabungkan pemecahan
masalah, pemahaman dan pembelajaran serta memadukan keseluruhannya dengan
pemrosesan memori. Tugas tersebut dilakukan dengan memanfaatkan kasus yang
pernah dialami oleh sistem, yang mana kasus merupakan pengetahuan dalam
konteks tertentu yang mewakili suatu pengalaman yang menjadi dasar pembelajaran
untuk mencapai tujuan sistem (Pal dan Shiu, 2004). Menurut Riesback dan Schank
(1989), definisi CBR merupakan suatu teknik pemecahan masalah, yang
mengadopsi solusi masalah-masalah sebelumnya yang mirip dengan masalah baru
yang dihadapi untuk mendapatkan solusinya.
Kasus-kasus pada masa lalu disimpan dengan menyertakan fitur-fitur yang
menggambarkan karakteristik dari kasus tersebut beserta solusinya. Beberapa
definisi yang berkaitan dengan CBR, antara lain:
1. Suatu case-based reasoner memecahkan permasalahan baru, dengan
mengadaptasikan solusi yang digunakan untuk memecahkan masalah yang
lama (Riesbeck dan Schank, 1989).
2. CBR adalah cara orang menggunakan kasus-kasus untuk memecahkan
permasalahan dan cara membuat mesin dapat menggunakannya (Kolodner,
1992).
3. CBR adalah suatu pendekatan terbaru untuk memecahkan masalah dan belajar
(Aamodt dan Plaza, 1994).
4. CBR adalah penalaran dengan mengingat (Leake, 1996).

5.3 Siklus CBR


CBR dapat direpresentasikan sebagai suatu siklus proses yang dibagi menjadi
empat sub proses (Aamodt dan Plaza, 1994), yaitu:
1. Retrieve yaitu mencari kasus-kasus sebelumnya yang paling mirip dengan
kasus baru.
2. Reuse yaitu menggunakan kembali kasus-kasus yang paling mirip tersebut
untuk mendapatkan solusi untuk kasus yang baru.
3. Revise yaitu melakukan penyesuaian dari solusi-solusi kasus-kasus
sebelumnya agar dapat dijadikan solusi untuk kasus yang baru.
4. Retain yaitu memakai solusi baru sebagai bagian dari kasus baru,
kemudian kasus baru di-update ke dalam basis kasus
Pada Gambar 5.1 dijelaskan mengenai tahapan proses CBR yaitu kasus baru
dicocokkan dengan kasus-kasus yang ada di dalam basis data penyimpanan kasus
dan menemukan satu atau lebih kasus yang mirip (retrieve). Solusi yang
dianjurkan melalui pencocokan kasus kemudian digunakan kembali (reuse) untuk
kasus yang serupa, solusi yang ditawarkan mungkin dapat dirubah dan diadopsi
(revise). Jika kasus baru tidak ada yang cocok di dalam database penyimpanan
kasus, maka CBR akan menyimpan kasus baru tersebut (retain) di dalam basis
data pengetahuan.

Gambar 5.1. Siklus CBR (Aamodt dan Plaza, 1994)


5.4 Keuntungan CBR
Penggunaan CBR dapat memberikan banyak keuntungan (Pal dan Shiu,
2004), antara lain adalah:
1. Mengurangi akuisisi pengetahuan. Dengan menghilangkan kebutuhan untuk
ekstrak model atau kumpulan dari aturan-aturan, seperti yang diperlukan dalam
model/system yang berbasis aturan. Akuisisi pengetahuan pada CBR terdapat
pada kumpulan pengalaman/kasus-kasus sebelumnya.
2. Menghindari pengulangan kesalahan yang dibuat pada masa lalu. Dengan
mempelajari alasan kegagalan atau informasi tentang apa yang menyebabkan
kegagalan pada masa lalu dapat digunakan untuk memprediksi potensi
kegagalan pada masa yang akan datang.
3. Memberikan fleksibilitas dalam pemodelan pengetahuan. Terkadang sistem
yang menggunakan sistem selain CBR tidak bisa memecahkan masalah yang
berada pada batas pengetahuan atau lingkup atau ada data yang hilang dan
tidak lengkap. CBR menggunakan pengalaman masa lalu sebagai domain
pengetahuan dan sering kali dapat memberikan solusi yang masuk akal melalui
adaptasi yang tepat, pada jenis masalah tersebut.
4. Mengatasi masalah pada domain yang belum sepenuhnya dipahami,
didefinisikan atau dimodelkan. CBR dapat mengatasi sebuah masalah dengan
menggunakan hanya satu set kasus yang kecil dari suatu domain. Teori yang
mendasari pengetahuan domain tidak harus dikuantifikasi atau dipahami
sepenuhnya pada metode CBR ini.
5. Membuat prediksi kemungkinan keberhasilan solusi yang ditawarkan. Ketika
informasi yang disimpan adalah tentang tingkat keberhasilan solusi masalah
pada kasus lama, CBR mungkin dapat memprediksi keberhasilan solusi yang
disarankan untuk masalah saat ini. Hal ini dilakukan dengan mengacu pada
solusi kasus yang tersimpan, tingkat keberhasilan solusi kasus tersebut, dan
perbedaan antara konteks sebelumnya dengan konteks saat ini saat
menerapkan solusi.
6. Belajar dari waktu ke waktu. Karena sistem menggunakan CBR, setiap
menghadapi kasus baru sistem akan menciptakan sebuah solusi baru dari
kasus tersebut. Jika solusi kasus tersebut kemudian diuji di dunia nyata dan
tingkat keberhasilan adalah baik, kasus ini dapat ditambahkan ke basis kasus
dan dapat digunakan untuk membantu dalam menyelesaikan masalah pada
masa yang akan datang.
7. Penalaran dapat dilakukan dari jumlah pengetahuan (basis kasus) yang sangat
kecil. Proses penalaran kasus dapat dilakukan mulai jumlah basis kasus yang
sangat kecil dan akan selalu bertambah secara bertahap ketika sebuah kasus
ditambahkan.
8. Penalaran tetap dapat dilakukan jika ada data yang tidak lengkap atau tidak
tepat. Ketika proses retrieval dilakukan, ada kemungkinan antara kasus baru
dengan kasus lama pada basis kasus tidak mirip. Namun, dari ukuran
kemiripan tersebut tetap dapat dilakukan penalaran dan melakukan
evaluasi terhadap ketidaklengkapan atau ketidaktepatan data yang
diberikan.
9. Menghindari pengulangan semua langkah yang perlu diambil untuk mencapai
solusi. Domain masalah yang memerlukan proses yang signifikan untuk
membuat solusi dari dasar, CBR memberikan pendekatan dalam melakukan
langkah demi langkah solusi tersebut.
10. Menyediakan alat penjelasan. CBR dapat menyediakan kasus sebelumnya yang
termirip beserta kesuksesan solusinya untuk membantu meyakinkan pengguna,
atau untuk membenarkan solusi yang diusulkan sistem untuk kasus yang baru.
Kebanyakan domain akan ada kesempatan ketika seorang pengguna ingin
diyakinkan tentang kualitas solusi yang disediakan oleh sistem. Dengan
menjelaskan bagaimana kasus sebelumnya berhasil pada suatu situasi, dengan
adanya tingkat kemiripan antara kasus sebelumnya dengan kasus yang baru,
CBR dapat menjelaskan solusi tersebut untuk pengguna.
11. CBR dapat digunakan untuk berbagai tujuan. CBR dapat diimplementasikan
pada banyak hal yang hampir tidak terbatas. CBR dapat digunakan untuk
banyak tujuan seperti membuat rencana, membuat diagnosis, membuat sebuah
pandangan (point of view). Oleh karena itu data-data pada sistem CBR dapat
berbagai bentuk, sehingga proses retrieval dan adaptation juga akan
bervariasi.
12. Memperluas ke berbagai domain. CBR dapat diterapkan untuk domain aplikasi
yang sangat beragam. Hal ini disebabkan oleh banyaknya cara dalam
merepresentasikan sebuah kasus.
13. CBR mencerminkan penalaran manusia. Karena ada banyak situasi yang di
hadapi, sebagai manusia dan pengguna metode CBR ini, tidak sulit untuk
meyakinkan pelaksana, pengguna, dan manajer dalam proses validitas
sebuah solusi yang diberikan sistem CBR. Selain itu, manusia juga dapat
memahami penalaran dan penjelasan sistem CBR serta dapat yakin terhadap
kebenaran dari solusi yang mereka terima dari sistem tersebut.

5.5 Teknik CBR


Teknik-teknik yang digunakan untuk mengimplementasikan CBR dalam
antara lain adalah:
1. Case Representation
Suatu kasus dapat diperoleh dari sebuah catatan dari kejadian, secara khusus
kasus terdiri dari permasalahan (problem) yaitu keadaan nyata ketika kasus
terjadi dan solusi (solution) yaitu keadaan pada saat diperoleh solusi dari
permasalahan tersebut.
Suatu kasus dapat diselesaikan dengan memanggil kembali kasus sebelumnya
yang sesuai atau cocok dengan kasus baru. Kasus dapat direpresentasikan
dalam berbagai bentuk, seperti representasi preposisional, frame, jaringan
semantik dan kombinasi dari ketiganya (Pal dan Shiu, 2004). Pilihan model
representasi kasus tergantung pada domain dan struktur kasus data yang
tersedia. Terdapat dua pandangan umum untuk memutuskan tentang cara
suatu kasus direpresentasikan yaitu informasi secara fungsional dan
kemudahan memperoleh informasi.
Setelah kasus direpresentasikan dalam bentuk tertentu, selanjutnya data
kasus akan disimpan ke dalam database secara terindeks untuk mempercepat
proses retrieval nantinya. Contoh representasi kasus menggunakan bentuk
frame seperti terlihat pada gambar 5.2.
FRAME BASIS KASUS
Nomor Kasus K001
No.Rekam Medis NRM-12345
Nama Pasien1
Alamat Yogyakarta
Faktor Resiko :
1. Umur 55
2. Jenis Kelamin Pria
3. Riwayat Ya
Keluarga
4. Hipertensi Ya
5. Obesitas Tidak
6. Faktor Ke-N ...
Gejala:
1. Gejala 1 Ya
2. Gejala 2 Tidak
3. Gejala 3 Ya
4. Gejala Ke-N ...
Penyakit P001 (Nama Penyakit)
Obat T001 (Obat, Dosis dan Aturan
pakai)
Gambar 5.2 Representasi kasus
2. Indexing
Untuk mempercepat proses retrieval, maka perlu dilakukan peng-indeks-an
terhadap satu atau beberapa fitur dalam basis kasus. Indeks adalah struktur
data komputasi yang terletak dalam memori utama dan dapat mempercepat
proses pencarian, sehingga komputer tidak perlu mencari tiap record yang ada
dalam disk. Secara umum fungsi peng-indeks-an kasus dalam database
bertujuan untuk menemukan kasus-kasus yang relevan dengan dalam basis
kasus, selanjutnya menghitung similaritas antara kasus target dan kasus-kasus
yang relevan. Ilustrasi fungsi peng-indeks-an kasus terlihat pada gambar 5.3
berikut:
Gambar 5.3 Ilustrasi Indexing

Indeks memungkinkan pengguna untuk secara efektif mengambil semua record


yang memenuhi syarat pencarian pada field search key dari indeks. Fitur-fitur
yang ada dalam sebuah kasus digolongkan menjadi dua tipe (Watson, 1994):
2.1. Indexed Features, fitur yang akan dijadikan indeks sehingga digunakan
dalam proses retrieval data.
2.2. Unindexed Features, fitur yang hanya memberi informasi kontekstual dan
tidak digunakan sebagai proses retrieval data.
Pada gambar 5.4 menunjukkan representasi tipe dari fitur-fitur dalam suatu
kasus.

Gambar 5.4 Indexed dan unindexed features

Indeks adalah sesuatu yang berkaitan erat dengan implementasi, bukan


modeling. Seringkali perlu ditambahkan indeks pada sebuah field atau banyak
field dikarenakan jika tidak ditambahkan maka performance database tidak
menjadi praktis. Setiap kolom yang memiliki rentang nilai cukup banyak, terletak
pada tabel yang berisi banyak record dan sering disebutkan di klausa WHERE,
ORDER BY atau GROUP BY perlu diberi indeks. Ini dikarenakan indeks
membantu mencari secara cepat sebuah nilai dari banyak nilai yang ada.
Chen, dkk (2005) membagi proses indexing menjadi dua cara, yaitu manual
indexing (human indexer) dan automated indexing (comuputer based). Peng-
indeks-an manual seperti halnya daftar isi pada buku, katalog barang dan
sebagainya. Dalam perkembangannya proses peng-indeks-an manual
mengarah pada penggunaan konten elektronik sehingga ditemukan peng-
indeks-an otomatis.
Banyak DBMS (database management system) telah mendukung fitur indexing
dalam berbagai metode, salah satu DBMS tersebut adalah database MySQL.
MySQL mendukung banyak storage engine dengan berbagai tipe table, dimana
storage engine itu sendiri terbagi atas 2 tipe, yaitu engine yang menagani
transction-safe table dan yang tidak. Beberapa jenis stored engine tersebut
adalah MyISAM, InnoDB, Blackhole, Archive dan beberapa stored engine
lainya. MyISAM merupakan engine yang non-transactional table, yang
menyediakan proses penyimpanan dan pengambilan data dengan cepat, serta
dilengkapi dengan kemampuan fulltext searching. Hal ini menyebabkan MyISAM
menjadi default engine pada MySQL. Beberapa tipe indexing juga didikung oleh
MySQL seperti B+Tree, Hash Index, Bitmap Index, Clustered Index dan
bebereapa tipe lainnya. Tipe indexing dari beberapa DBMS ditampilkan dalam
tabel 5.1 berikut (Jeffries, 2013):
Tabel 5.1 Tipe Indexing

3. Storage
Watson dan Marir (1994) menyatakan bahwa tempat penyimpanan kasus
merupakan aspek yang penting dalam perancangan sistem CBR. Case-base
harus dapat diorganisasikan ke dalam struktur yang dapat dikelola
sehingga mendukung metode retrieval dan pencarian. Keseimbangan harus
diperlukan antara metode penyimpanan yang mempertahankan kekayaan
pertambahan data-data kasus dan pengindeks-an serta metode yang
sederhana untuk mengakses dan mengambil kasus-kasus yang relevan.
Kenyataannya banyak sistem CBR menggunakan struktur flat file atau
struktur database relasional sebagai tempat penyimpanan kasus dan
pengindeks-an.

4. Case Retrieval
Retrieval merupakan inti dari CBR, yaitu proses menemukan dalam case-base,
kasus-kasus yang paling dekat dengan kasus saat ini. Pengambilan kasus
yang efektif harus menggunakan kriteria seleksi yang menentukan bagaimana
basis kasus dicari. Teknik retrieval yang paling sering diselidiki sejauh ini,
adalah k-nearest neighbor, pohon keputusan dan turunannya. Teknik ini
menggunakan smimilarity metric untuk menentukan ukuran kedekatan
(similarity) antar kasus (Pal dan Shiu, 2004). Sebagai salah satu contoh metode
similarity yang digunakan adalah weighted minkowski dengan rumus sebagai
berikut (Nunez, dkk, 2004):

(5.1)

Keterangan:
d(Ci,Cj ) : nilai similarity antara kasus Ci dan kasus Cj
Ci : kasus baru
Cj : kasus lama
n : jumlah atribut pada masing-masing kasus
k : atribut individu, antara 1 s/d n
w : bobot yang diberikan pada atribut ke-k
r : faktor minkowski (integer positif)

Nilai r adalah bilangan prositif ≥ 1, ( antara 1 sampai dengan tak hingga). Jika
r=1 dikenal dengan manhattan/city block distance, jika r=2 dikenal dengan
euclidean distance (Merigó dan Casanovas, 2008) dan jika r= infinity (tak
hingga) dikenal dengan chebyshev distance (Rao dkk, 2012).

5. Case Adaptation
Pemecahan masalah dalam CBR, solusi lama digunakan sebagai landasan
untuk memecahkan masalah baru. Karena kondisi kasus baru jarang persis
dengan yang kasus lama, sehingga solusi kasus lama harus diperbaiki agar
sesuai dengan kondisi kasus baru. Langkah perbaikan tersebut dikenal dengan
istilah adaptasi, yang terdiri dari dua langkah utama yaitu mencari tahu apa
yang perlu disesuaikan dan melakukan perbaikan (Kolodner, 1992). Adaptasi
merupakan proses memindahkan solusi dari kasus yang berhasil di-retrieve
menjadi solusi pada kasus yang baru. Sejumlah pendekatan dapat digunakan
untuk adaptasi kasus antara lain (Vorobieva dkk, 2003):
1. Substitution. Ketika beberapa terapi alternatif yang sangat mirip, tetapi
memiliki tambahan efek yang berbeda, terapi yang memiliki efek yang tidak
sesuai maka akan diganti dengan terapi yang lebih cocok. Teknik ini hanya
dapat diterapkan pada terapi baru, bukan pada yang sudah ada yang
merupakan bagian dari seluruh rangkaian terapi diberikan kepada pasien,
karena seluruh solusi mungkin tidak seimbang.
2. Compensation. Terdapat strategi dalam praktek medis untuk
mengkompensasi suatu efek yang tidak diinginkan dari terapi dengan obat,
meskipun obat ini secara teoritis mungkin mengakibatkan efek yang tidak
diinginkan.
3. Modification. Kadang-kadang efek yang tidak diinginkan dapat dihilangkan
dengan modifikasi. Termasuk dosis obat dan cara pemakaian. Selain itu,
modifikasi merupakan bagian pelengkap dari setiap adaptasi.
4. Elimination. Terkadang terapi dapat diberikan tanpa pergantian apapun,
misalnya ketika terapi menggandakan efek satu sama lain.
5. Monitoring adalah suatu bentuk khusus dari manajemen terapi. Penyakit
kronis membutuhkan pemantauan yang sistematis. Berdasarkan hasil uji
laboratorium dan perubahan pada kondisi pasien maka dosis harus
diperbarui. Adaptasi dalam bentuk monitoritng seringkali cukup dengan
modifikasi dosis.
Adaptasi yang diterapkan pada solusi kasus baru adalah dengan mengambil
solusi pada kasus sebelumnya. Jika kasus baru dan kasus lama sangat mirip,
maka tidak dilakukan modifikasi. Akan tetapi jika dipandang perlu adanya
modifikasi solusi pada kasus baru, maka hal ini hanya dapat dilakukan oleh
pakar. Modifikasi dapat dilakukan dengan menghilangkan (elimination),
mengganti (subtitution) atau mengubah dosis dan aturan pakai solusi baru.

Anda mungkin juga menyukai