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/bermingguminggu 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. Ciriciri 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 ifthen. 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 informasiinformasi 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
mendapatkan peningkatan.
yang
berbeda
adalah
terlalu
riskan
untuk
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 masalahmasalah 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
perkembangan
pengembangan. yang
cukup
Beberapa
berarti
pada
perusahaan
melaporkan
ada
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 Atribut Jenis Mesin Posisi Sayap Bentuk Sayap Ekor Bulges
C130 Propeller High Conventional Conventional Under Wings
Tipe Pesawat Terbang C141 C5A Jet Jet High High Swept Back Swept Back T-Tail T-Tail Aft Wings None
B747 Jet Low Swept Back Conventional 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 Mutual Fund Type Blue Chip Blue Chip Blue Chip Gold Stock
Interest Rate High Low Medium High
Cash Available High High Low High
Tension Medium Medium High Medium
Fund Value (Class) Medium High Low High
Lanjutan Tabel 2.2 Mutual Fund Type Gold Stock Gold Stock Mortgage Mortgage Mortgage
Interest Rate Low Medium High Low Medium
Cash Available High Low High High Low
Tension Medium High Medium Medium High
Fund Value (Class) Medium 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 nilainilai 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 Blue Chip Gold Stock Mortgage-related
Cash High High High
Tension Medium Medium Medium
Fund Value Medium High 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
menekankan
tacit
bagaimana
(tacit
knowledge).
melakukan
Pengetahuan
sesuatu.
Pengetahuan
prosedural
lebih
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 mengkodekan
pengetahuan
pengetahuan
adalah
dalam
metode
sebuah
yang
sistem
digunakan
pakar
yang
untuk
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. Simbolsimbol seperti P dan Q menunjukkan proposisi. Dua atau lebih proposisi dapat digabungkan dengan menggunakan operator logika :
Not P B S
not P S B
3.1.2
Logika Predikat
P B B S S
Q B S B S
And, Or, If – Then, If – and – only – if P and Q P or Q if P then Q P if and only if Q B B B B S B S S S B B S S S B B
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. 2. 3. 4. 5. 6. 7.
Andi adalah seorang mahasiswa Andi masuk jurusan Elektro Setiap mahasiswa elektro pasti mahasiswa teknik Kalkulus adalah matakuliah yang sulit Setiap mahasiswa teknik pasti akan suka kalkulus atau akan membencinya Setiap mahasiswa pasti akan suka terhadap suatu matakuliah 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) 2. elektro(Andi) 3. x : elektro(x) teknik(x) 4. sulit(kalkulus) 5. x : teknik(x) suka(x,kalkulus) benci(x,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 (IfThen). 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 jikamaka (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, situasiresponsi. Kaidah menyediakan cara formal untuk merepresentasikan rekomendasi, arahan, atau setrategi. Kaidah produksi dituliskan dalam bentuk IF-THEN (JikaMaka). 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
Ukuran
Bagian pertama Premis Anteceden Situasi IF Kondisi, sama dengan pengetahuan deklaratif Dapat mempunyai banyak IF
Pernyataan
Pernyataan AND
Nama
Alami
Pernyataan OR
Bagian kedua Konklusi Konsekuen Aksi THEN Resolusi sama dengan pengetahuan prosedural Biasanya hanya mempunyai satu konklusi Semua kondisi harus benar untuk konklusi benar 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 pertanyaanpertanyaan 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 mengumpulkan
akuisisi
pengetahuan
merupakan
data-data
pengetahuan
terhadap
suatu kasus
proses
untuk
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 P001 P002 P003 P004 P005 P006 P007 P008 P009
Penyakit Kista Indung Telur (Ovarium Cyst) Kanker Indung Telur (Kanker Ovarium) Kanker Leher Rahim (Kanker Serviks) Myoma Uteri Endometriosis Kanker Rahim (Kanker Uterus = Carcinoma Uteri) Penyakit Infeksi Daerah Panggul Chlamydia Gonorrhoea Tabel 4.3 Daftar fakta gejala
Kode G001 G002 G003 G004 G005 G006 G007 G008 G009 G010 G011 G012 G013 G014 G015 G016 G017 G018 G019 G020 G021 G022 G023 G024 G025 G026
Gejala Rasa nyeri pada rongga panggul disertai rasa agak gatal Perdarahan menstruasi tidak normal Siklus menstruasi tidak teratur Rasa nyeri begitu siklus menstruasi selesai Rasa nyeri sewaktu bersetubuh Perut membesar Tidak terjadi ovulasi Mandul Nyeri perut Gangguan fungsi saluran cerna Gangguan saluran kencing Berat badan turun drastis Nyeri punggung Penderita bisa meraba sendiri tumor di bagian bawah perut Perdarahan melalui vagina Perdarahan spontan Timbul perdarahan di antara siklus menstruasi Halangan aliran air seni Nyeri pada pinggang bagian bawah saat menstruasi Sembab anggota bawah karena penekanan pembuluh darah balik Perdarahan menstruasi lebih banyak dari biasa Nyeri sewaktu menstruasi Nyeri pada waktu bekerja Perasaan penuh dan ada tekanan pada rongga perut Sulit buang air besar Keluhan anemia
Lanjutan Tabel 4.3 Kode G027 G028 G029 G030 G031 G032 G033 G034 G035 G036 G037 G038 G039 G040 G041 G042 G043 G044 G045 G046 G047 G048 G049 G050 G051 G052 G053 G054 G055 G056
Gejala Mudah keguguran Susah hamil Rasa nyeri bagian bawah perut seperti kram perut Keluar bercak darah melalui vagina sebelum hari siklus menstruasi Perdarahan pada usus Rasa nyeri saat buang air besar Rahim terbentuk tidak normal Infeksi di rongga panggul Mengalami perdarahan setelah bersetubuh Infeksi mudah terjadi Keluar cairan putih melalui vagina pada perempuan sesudah menopause Perdarahan sedikit-sedikit setelah menopause Gangguan buang air kecil Terjadi perubahan ukuran bentuk pada rongga panggul Gangguan menstruasi Panas dan nyeri waktu buang air kecil Demam sampai menggigil Mual dan muntah Kehamilan di luar kandungan Kista ovarium yang pecah Cairan vagina berbau Gejala usus buntu (apendikcytis) Mual-mual Keluar cairan dari vagina Peradangan kandung kencing Peradangan serviks Keluar cairan vagina kekuningan dan kadang disertai darah Keluar cairan dan nyeri waktu buang air besar Gatal pada anus / rectum Infeksi anus / rectum
Kode PB01 PB02 PB03 PB04 PB05 PB06 PB07 PB08 PB09 PB10
PB11 PB12 PB13 PB14 PB15 PB16 PB17 PB18 PB19 PB20 PB21 PB22 PB23 PB24
Kode S001 S002 S003 S004 S005 S006
Tabel 4.4 Daftar fakta penyebab Penyebab Gangguan perkembangan folikel ovarium Waktu pelepasan sel telur terjadi perdarahan Terjadinya kehamilan di luar kandungan Gangguan hormon Gangguan menstruasi Perempuan mandul Mengkonsumsi makanan yang tinggi lemak Banyaknya partner hubungan seksual Infeksi kuman Papiloma virus Fibroid yang terletak dangkal di permukaan selaput lender rahim (submukosa) sering merupakan penyebab perdarahan melalui vagina Kelainan yang diturunkan (genetik) Darah menstruasi yang berbalik aliran melalui saluran tuba falopii, menuju rongga perut dan tertahan serta tumbuh disitu Menderita penyakit polikistik ovarium Hipertensi Menderita polip endometrium Menderita kanker payudara Menstruasi pertama pada usia sangat muda Menopause timbul pada usia lebih tua Kegemukan (obesitas) Menderita diabetes Infeksi dari hubungan seksual Alami timbul sendiri dari kasa pembalut wanita dan alat kontrasepsi (IUD) Infeksi kuman Chlamydia trachomatis Infeksi kuman Neisseria gonorrhoea Tabel 4.5 Daftar fakta solusi Solusi Pemberian obat pil kb (gabungan estrogen-progesteron) bisa ditambahkan anti androgen progesteron cyproteron asetat Pemberian klomiphen sitrat Pengobatan fisik pada ovarium, misal melakukan diatermi dengan sinar laser Operasi untuk melakukan sayatan ovarium pada daerah polikistik Histerektomi total (pengangkatan rahim) 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 anti-inflamasi yang non steroid (nonsteroid S015 Obat 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
Perancangan
untuk ERD
menggambarkan dimaksudkan
struktur untuk
dan
hubungan
menentukan
antar
entitas.
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 1. 2. 3
Nama field Kode_Gejala Nama_Gejala Probabilitas
Type Text Text Number
Size 4 100
Keterangan Kode gejala Nama gejala 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 1. 2.
Nama field Type Kode_Penyakit Text Nama_Penyakit Text
Size Keterangan 4 Kode penyakit 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 Nama field No 1. Kode_Penyakit 2. Kode_Gejala
Type Text Text
Size 4 4
Keterangan Kode penyakit 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 1. 2.
Nama field Type Kode_Solusi Text Text Solusi
Size Keterangan 4 Kode solusi 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 Nama field No 1. Kode_Penyakit 2. Kode_Solusi
Type Text Text
Size 4 4
Keterangan Kode penyakit 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 1. 2.
Nama field Type Kode_ penyebab Text Nama_penyebab Text
Size Keterangan 4 Kode penyebab 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 Nama field No 1. Kode_Penyakit 2. Kode_Penyebab 3.
Type Text Text
Size 4 4
Keterangan Kode penyakit Kode penyebab
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 gejalagejala 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} m (θ)
= 0,6
= 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 {P001,P002,P003,P006} (0,5) θ (0,5)
{P004,P005} (0,6) θ {P006} (0,3) { P001,P002,P003,P006} {P004,P006} (0,3) θ
Sehingga dapat dihitung : m3 {P006}
=
m3 {P004,P006}
=
m3 {P001,P002,P003,P006}
=
m3 { θ }
=
0,3 1-0,2 0,3 1-0,2 0,2 1-0,2 0,2 1-0,2
=
0,30
=
0,30
=
0,25
=
0,25
Gambar 4.18 Pemilihan gejala kedua (G021)
(0,4) (0,2) (0,2)
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,3) {P004, P006} (0,3) {P001,P002,P003,P006} (0,2) θ (0,2)
{ P006} {P006} {P006} {P006} {P006}
(0,9) (0,27) (0,27) (0,18) (0,18)
θ { P006} { P004,P006} { P001,P002,P003,P006} θ
(0,1) (0,03) (0,03) (0,02) (0,02)
Sehingga dapat dihitung : m5 {P006}
=
m5 {P004,P006}
=
m5 {P001,P002,P003,P006}
=
m5 { θ }
=
0,27+0,27+0,18+0,18+0,03 1-0.02 0,03 1-0,02 0,02 1-0,02 0,02 1-0,02
=
0,95
=
0,03
=
0,02
=
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 sebagai berikut : p A
dengan
n A n
(4.1)
p A = probalilitas terjadinya peristiwa A
n A = cacah kejadian dari peristiwa A n = cacah seluruh kejadian yang mungkin dari ruang sampel.
Setiap fungsi probabilitas p harus memenuhi tiga aksioma, yaitu : 1. Probabilitas setiap kejadian A adalah tidak negatif atau A : p A 0 . 2. Probabilitas seluruh ruang sampel adalah satu atau p 1. 3. Jika
A1 , A2 ,..., Ak adalah
peristiwa
yang
tidak
saling
mempengaruhi
k
(independent) maka P A1 A2 ... Ak Ai 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 sebuah bilangan riil yang berkisar dari 0 sampai 1. Dari definisi tersebut dinyatakan bahwa jika p A 1, berarti peristiwa A pasti terjadi dan jika p A 0 , berarti peristiwa A tidak mungkin terjadi. Komplemen dari A A didefinisikan sebagai himpunan dari seluruh anggota ruang 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 pA p( A A) p 1
(4.3)
Probabilitas bersyarat Misalkan B adalah peristiwa yang lain. Probabilitas terjadinya peristiwa A apabila peristiwa B telah diketahui disebut probabilitas bersyarat yang dinyatakan dengan pA B . Probabilitas yang menyatakan peristiwa A dan B terjadi bersamasama disebut probabilitas gabungan yang dinyatakan dengan p A B . Probabilitas bersyarat pA B didefinisikan sebagai : pA B
p A B untuk pB 0 p B
(4.4)
Dengan cara yang sama dapat didefinisikan bahwa probabilitas terjadinya peristiwa B setelah terjadinya peristiwa A sebabagai berikut : pB A
pB A untuk p A 0 p A
(4.5)
Teorema Bayes Bayes’ memberikan kasus khusus yang berkaitan dengan probabilitas bersyarat. Dari persamaan (4.5) diperoleh pB A pB A p A . Probabilitas gabungan memiliki sifat komutatif yaitu p A B pB A , sehingga juga dapat dinyatakan bahwa
p A B pB A pB A p A . Dengan mensubstitusikan
persamaan tersebut ke persamaan (4.5) maka diperoleh teorema Bayes’ sebagai berikut :
pA B
pB A p A 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 (artinya satu kejadian tidak akan mempengaruhi kejadian yang lain), maka dapat dinyatakan bahwa pA B p(A) dan pB A p(B) . Definisi tersebut terinspirasi oleh 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 probabilitas masing-masing himpunan. Dengan kata lain jika A dan B adalah himpunan yang saling asing (disjoint set) maka p A B p( A) pB sedangkan p A B p( A) pB .
Pada teori himpunan klasik dinyatakan bahwa B dapat dipresentasikan sebagai gabungan dari 2 himpunan yang saling asing B A B A , sehingga dapat dinyatakan bahwa : pB p( B A) pB A pB A pB A
pB A p A pB A pA
(4.7)
Dengan mengganti notasi himpunan menjadi peristiwa, maka persamaan (4.6) dan (4.7) dapat dinyatakan sebagai : p A B
pB A p A
pB A p A pB A pA
(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 :
pH i E
pE H i pH i
(4.9)
pE H pH n
k 1
k
k
Dengan : pH i E : Probabilitas hipotesis Hi benar jika diberikan fakta E pE H i : Probabilitas munculnya fakta E, jika diketahui hipotesis Hi benar
p H i n
: Probabilitas hipotesia Hi tanpa memandang fakta apapun : jumlah hipotesis yang mungkin
Teori Dempster-Shafer Teori Dempster-Shafer dikembangkan oleh Arthur Dempster pada tahun 1960an [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
m(A) dapat dipandang sebagai bagian dari seluruh keyakinan yang ditetapkan untuk A. Fungsi m : 2 0,1 dikatakan sebagai basic probability assignment jika 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 sifatsifat 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 probabilitas bawah dan probabilitas atas yang diakibatkan oleh pemetaan multi nilai. Karena Bel A Bel A 1 maka Bel A Pl A 1 . Pada teori probabilitas, nilai probabilitas dari ingkaran suatu hipotesis A adalah sudah
pasti
jika
nilai
probabilitas
A
diketahui,
karena
A A
dan
p A pA 1 . Hasil yang sama dalam teori Dempster-Shafer akan membutuhkan 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 tidak bergantung pada keyakinan dari hipotesis itu sendiri, dan yang menjadi batasan adalah Bel A Bel A 1 .
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 dari obyek dengan tingkat keanggotaan tertentu dalam U. Misalkan A adalah himpunan bagian fuzzy dari U yang dinyatakan dengan fungsi keanggotaan A u yang terkait dengan bilangan real dalam 0,1 untuk setiap u U . Nilai A u menyatakan tingkat keanggotaan u pada himpunan A, dan semakin dekat nilai
A u dengan 1, berarti semakin tinggi tingkat keanggotaan u pada himpunan A. Himpunan fuzzy A dalam U dapat dinyatakan sebagai berikut : [Zadeh, 1965] A u, A u u U dengan A u 0,1
(4.11)
Dengan demikian, perbedaan antara himpunan fuzzy dengan himpunan klasik adalah
pada
derajad
keanggotaan
A u . Pada himpunan klasik, fungsi
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. Himpunan fuzzy A merupakan himpunan bagian dari B jika dan hanya jika
A u B u untuk setiap u U . Gabungan dua himpunan fuzzy A dan B dengan 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]
AB u max A u , B u
(4.14)
Dengan cara yang sama diperoleh irisan dua himpunan fuzzy A dan B dengan masing-masing fungsi keanggotaannya A u dan B u adalah himpunan fuzzy C yang didefinisikan sebagai C u min A u , B u untuk setiap u U , atau dapat dinyatakan sebagai berikut : [Zadeh, 1965]
AB 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]
AB 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 fungsi keanggotaan fuzzy. Misalkan A adalah himpunan bagian fuzzy dari U yang dinyatakan dengan fungsi keanggotaan A : U 0,1, proposisi “X adalah A” berkaitan dengan ditribusi probabilitas
X
dengan
X
A (juga dapat ditulis
X adalah A X A ). Sejalan dengan hal tersebut, kemungkinan fungsi distribusi yang berkaitan dengan X, X sama dengan fungsi kenaggotaan A yaitu X A . Ukuran kemungkinan dinyatakan dengan Possx A yaitu kemungkinan nilai x yang dimiliki A dan dinyatakan sebagai berikut : [Zadeh, 1978]
Possx A max uA X u
(4.17)
Apabila A merupakan himpunan tak hingga maka :
Possx A supuA X u
(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]
Sebelum beberapa kombinasi atau propagasi dari fakta dapat dibentuk, harus dibentuk dua fungsi antara. Fungsi-fungsi tersebut adalah
MBh, edan MDh, e
yang menyatakan ukuran kepercayaan terhadap hipotesis h jika diberikan fakta e dan ukuran ketidakpercayaan terhadap hipotesis h jika diberikan fakta e. Kedua fungsi tersebut didefinisikan sebagai berikut :
•jika ph 1 1 max ph e , ph ph MBh, e jika ph 1 max 1,0 ph
•jika ph 1 1 min ph e , ph ph MDh, e jika ph 1 min 1,0 ph
(4.19)
MBh, edan MDh, e bernilai bilangan real pada interval [0,1]. Jika suatu hipotesis
didukung oleh lebih dari satu fakta, maka digunakan kombinasi dari MBh, edan MDh, e untuk mengitung faktor kepastian (CF) dengan rumusan sebagai berikut :
[Shortliffe dan Buchanan, 1975] CF
MB MD 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 X Y CFcombine X , Y jika salah satu X , Y 0 1 min X , Y CFcombine X ,Y jika keduanya X , Y 0
(4.21)
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 asalusul 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 S3Kasus. 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 evaluasi
tersebut terhadap
tetap
dapat
dilakukan
ketidaklengkapan
atau
penalaran
dan
ketidaktepatan
melakukan 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). Pengindeks-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 pengindeks-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 database
relasional
struktur flat file atau
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 ) Ci Cj n k w r
: : : : : : :
nilai similarity antara kasus Ci dan kasus Cj kasus baru kasus lama jumlah atribut pada masing-masing kasus atribut individu, antara 1 s/d n bobot yang diberikan pada atribut ke-k 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.