Minggu, 15 Juni 2008

TUGAS SIM 52 "SISTEM PAKAR"

IMPLEMENTASI SISTEM PAKAR
DALAM BIDANG FARMAKOLOGI DAN TERAPI
SEBAGAI PENDUKUNG PENGAMBILAN KEPUTUSAN
BERBASIS WEB


SYIFAUN NAFISAH
Mahasiswi angkatan 1997/1998
Jurusan Teknik Informatika, Fakultas Teknologi Industri
Universitas Pembangunan Nasional “Veteran” Yogyakarta
E-mail : Syifaun@yahoo.com


NAZRUL EFFENDY, ST., MT
Staf Pengajar Jurusan Teknik Fisika, Fakultas Teknik
Universitas Gadjah Mada


E-mail : nazrul.e@lycos.com

ABSTRAKSI

Dalam bidang kedokteran, farmakologi mempunyai
tujuan agar obat dapat digunakan secara rasional yaitu
meliputi cara pemberian obat terhadap seorang pasien
suatu penyakit sesuai dengan jenis penyakit dan dosis
serta cara penggunaannya untuk maksud pencegahan,
diagnosis, dan pengobatan penyakit (terapi), demi
keamanan dan khasiat terapi yang diharapkan.

Mengingat banyaknya obat yang beredar khususnya di
Indonesia, yang belum memenuhi syarat product insert
yang baik, sementara daya ingat manusia khususnya
seorang dokter atau paramedis non dokter mempunyai
kapasitas yang terbatas untuk mengingat semua jenis obat
yang beredar beserta dosis dan cara penggunaannya, maka
perlu dibuat program sistem pakar sebagai alat bantu bagi
dokter maupun tenaga paramedis non dokter untuk
mendiagnosa penyakit berdasarkan gejala-gejala yang
dialami pasien. Hasil diagnosa penyakit ini kemudian
akan disesuaikan dengan kondisi pasien untuk dijadikan
dasar penggunaan obat maupun terapi yang akan
diberikan kepada pasien sebagai tindakan medis yang
akan ditempuh.

Jenis representasi pengetahuan dalam sistem ini adalah
menggunakan production rules dengan menggunakan
metode pelacakan forward chaining. Program ini
memanfaatkan media World Wide Web (WWW) dengan
menggunakan media komunikasi Common Gateway
Interface (CGI). Tujuannya yaitu agar program dapat
diakses secara bebas, sehingga diharapkan akan terjadi
pertukaran informasi untuk memperlengkap informasi
yang telah ada. Implementasi sistem pakar bidang
farmakologi dan terapi ini menggunakan teknik
pemrograman prosedural berorientasi obyek
menggunakan bahasa perl (practical and extraction report
language) versi 5.005_03 for MSWin32-x86-object

dengan Ultra Edit
®
Professional Text/HEX Editor Versi
7.20a sebagai editornya. Program masih berupa prototype
dan hanya merupakan alat bantu berpikir dalam bidang
farmakologi dan terapi sehingga bukan satu-satunya
faktor penentu terciptanya pelayanan kesehatan yang
optimal.

PENDAHULUAN

Perkembangan industri yang semakin cepat dan
persaingan antar perusahaan yang semakin global
menuntut setiap perusahaan untuk mampu
mengembangkan sistem pengambilan keputusan yang
cepat, akurat dan handal. Aktifitas pengambilan
keputusan ini banyak melibatkan pakar. Proses
pengambilan keputusan ini disamping memakan biaya
yang cukup besar juga tidak selalu mudah mendapatkan
pakar pada saat dibutuhkan maupun kualifikasi
kepakarannya. Dengan semakin berkembangnya sistem
pakar, penerapan sistem pengambilan keputusan semakin
berkembang luas, karena sistem pengambilan keputusan
sering digunakan dalam sistem pakar untuk menentukan
solusi dari suatu permasalahan yang akan ditempuh.
Perkembangan ini tidak terlepas dari kemajuan teknologi
komunikasi data menggunakan jaringan komputer
(computer network) yaitu jaringan dari sistem komunikasi
data yang melibatkan sebuah atau lebih sistem komputer
yang dihubungkan dengan jalur transmisi alat komunikasi
yang membentuk suatu sistem. Network merupakan cara
yang sangat berguna untuk mengintegrasikan sistem
informasi dan menyalurkan sistem informasi dari satu
area ke area lainnya (Jogiyanto, 1995). Dengan teknologi
komunikasi menggunakan jaringan komputer (computer
network) ini dimungkinkan terjadinya pertukaran
informasi baru dari suatu daerah ke daerah lain, sehingga
semakin memperluas penyebaran informasi tentang sistem
pakar dan sistem pengambilan keputusan. Penyebaran
informasi inilah yang menjadikan semakin


berkembangnya sistem pakar dan sistem pengambilan
keputusan.

Sistem pakar merupakan program komputer yang
meniru proses pemikiran dan pengetahuan pakar untuk
menyelesaikan suatu masalah yang spesifik (Turban,
1995). Implementasi sistem pakar banyak digunakan
untuk kepentingan komersial karena sistem pakar
dipandang sebagai cara penyimpanan pengetahuan pakar
dalam bidang tertentu ke dalam program komputer
sedemikian rupa sehingga dapat memberikan keputusan
dan melakukan penalaran secara cerdas. Salah satu
implementasi yang dapat diterapkan adalah dalam bidang
farmakologi dan terapi.

Farmakologi merupakan ilmu yang mempelajari
pengetahuan tentang sejarah, sumber, sifat kimia dan
fisika, komposisi, efek fisiologi dan biokimia, mekanisme
kerja, absorpsi, distribusi, biotransformasi, ekskresi dan
penggunaan obat. Farmakologi merupakan sub bidang
ilmu yang dipelajari dalam bidang farmasi maupun bidang
kedokteran. Dalam bidang kedokteran ilmu ini dibatasi
tujuannya agar obat dapat digunakan secara rasional untuk
maksud pencegahan, diagnosis, dan pengobatan penyakit.
demi keamanan dan khasiat terapi yang diharapkan.
Penggunaan obat secara rasional yang dimaksudkan
adalah pemberian obat terhadap seorang pasien suatu
penyakit sesuai dengan jenis penyakit dan dosis serta cara
penggunaannya, karena kesalahan pemberian obat dapat
berakibat fatal dan membahayakan jiwa seorang pasien.
Kesalahan pemberian obat yang sering terjadi justru
bukan karena kesalahan diagnosis, melainkan lebih sering
dikarenakan kurang diperhatikannya dosis dan cara
pemakaian obat yang tidak disesuaikan dengan kondisi
pasien. Hal ini disebabkan karena banyaknya obat yang
beredar sekarang ini khususnya di Indonesia, yang belum
memenuhi syarat product insert yang baik, sementara
daya ingat manusia khususnya seorang dokter atau
paramedis non dokter mempunyai kapasitas yang terbatas
untuk mengingat semua jenis obat yang beredar beserta
dosis dan cara penggunaannya, sehingga pemberian obat
kadang hanya bersifat uji coba. Sifat uji coba ini justru
akan menimbulkan efek samping negatif yang merugikan
baik bagi pasien suatu penyakit maupun bagi seorang
dokter atau paramedis non dokter itu sendiri.

Untuk alasan tersebut diatas, maka perlu dibuat
program komputer yang berkecerdasan untuk
mendiagnosa penyakit. Hasil diagnosa penyakit ini akan
dijadikan dasar penggunaan obat yang akan diberikan
kepada pasien sebagai tindakan medis yang akan
ditempuh. Penggunaan obat yang dimaksud disini
meliputi jenis obat, dosis dan cara penggunaanya yang
disesuaikan dengan kondisi pasien. Program tersebut
akan dihubungkan dengan internet dengan menggunakan
media World Wide Web (WWW), yaitu suatu sistem

terdistribusi berbasis hypertext yang merupakan metode
untuk menyimpan, memanggil dan menampilkan
informasi berdasarkan pada pemrosesan kekuatan
komputer (Widodo, D., 1995). Tujuan penggunaan media
World Wide Web (WWW) adalah agar program ini dapat
diakses secara bebas, sehingga diharapkan akan terjadi
pertukaran informasi untuk memperlengkap informasi
yang telah ada. Sehingga diharapkan dengan
pengembangan implementasi sistem pakar dalam bidang
farmakologi dan terapi sebagai pendukung pengambilan
keputusan berbasis web ini akan membantu dalam
memberikan pelayanan kesehatan terhadap masyarakat.

STUDI PUSTAKA

Sistem pakar dikembangkan oleh komunitas artificial
intelligence pada pertengahan tahun 1960. Pada periode
ini, penelitian tentang artificial intelligence didominasi
oleh adanya kepercayaan bahwa beberapa aturan-aturan
dari serangkaian pemikiran dengan memanfaatkan
kemampuan komputer dapat menghasilkan performansi
pakar atau setaraf dengan manusia super. Arah
pengembangan dari sub bidang artificial intelligence ini
adalah general-purpose problem solver (GPS).

General-purpose problem solver (GPS) merupakan
prosedur yang dikembangkan oleh Newell dan Simon
[1973] dari teori mesin logika, yang mempunyai tujuan
untuk menghasilkan suatu komputer “cerdas”. Inilah yang
kemudian dianggap sebagai pendahulu dari sistem pakar.
Pada pertengahan tahun 1960 terjadi pergeseran dari
general-purpose menjadi special-purpose program
dengan perkembangan dari DENDRAL yaitu suatu sistem
mengidentifikasi struktur molekul suatu komposisi kimia
yang dikembangkan oleh E. Feigenbaum di Stanford
University. Mulai saat itu para peneliti mengakui bahwa
mekanisme pemecahan masalah hanya merupakan
sebagian kecil dari suatu permasalahan yang komplek.

Mulai pertengahan tahun 1970, beberapa penelitian
tentang sistem pakar mulai dikembangkan. Berkaitan
dengan penelitian ini, yaitu dalam bidang kesehatan, tidak
banyak penelitian yang berhasil dikumpulkan. Hal ini
dikarenakan minimnya referensi dan pengetahuan yang
dimiliki penulis. Hasil penelitian yang dapat dikumpulkan
dan dijadikan sebagai bahan pembanding terhadap hasil
penelitian untuk mengukur unjuk kerja sistem pakar yang
sedang dibuat dalam penelitian ini antara lain :

1.
MYCIN
MYCIN dikembangkan di Stanford Medical School
pada tahun 1970 oleh Dr. Edward H. Shortliffe.
Program ini merekam diagnosa-diagnosa yang
berkaitan dengan infeksi pada darah dan
pengobatan-pengobatannya yang performansinya
setaraf dengan seorang pakar.
2.
CADUCEUS

CADUCEUS merupakan program sistem pakar untuk
mendeteksi penyakit.

3.
PUFF
Program sistem pakar ini merupakan program yang
digunakan untuk mengukur fungsi dari paru-paru.
4.
Toxic Master
Toxic Master dibuat di Universitas Bina Nusantara
oleh David, Elisa dan Antony pada tahun 1999.
Penekanan pada program ini adalah untuk
mendeteksi kandungan racun yang terserap oleh
tubuh.

SISTEM PAKAR DALAM BIDANG
FARMAKOLOGI DAN TERAPI

Implementasi sistem pakar dalam bidang farmakologi
dan terapi sebagai pendukung pengambilan keputusan
berbasis web dibuat dengan dasar pemikiran sebagai
berikut : farmakologi dan terapi merupakan suatu sistem
yang besar dan komplek. Tugas farmakologi dan terapi
adalah mencari dasar penggunaan obat secara rasional
untuk tindakan medis yang tepat, cepat dan akurat pada
saat diperlukan. Dasar penggunaan obat tersebut
disesuaikan dengan diagnosis penyakit yang dilakukan
secara cermat berdasarkan keluhan-keluhan yang
dirasakan oleh pasien. Implementasi farmakologi dan
terapi di lapangan secara konvensional dituangkan dalam
buku panduan yang dikeluarkan oleh dokter yang
bersangkutan dan dilaksanakan oleh pihak-pihak yang
bertanggungjawab terhadap masalah farmakologi dan
terapi. Kenyataannya dengan menggunakan buku panduan
terdapat beberapa kelemahan diantaranya :


Prosedur yang tertulis sangat baku sehingga
memasung inovasi dan improvisasi operator.

Perlu dilakukan revisi secara berkala menyesuaikan
kondisi yang ada.

Kurang komunikatif bagi para operator yang belum
berpengalaman.
Kelemahan seperti ini menyebabkan tidak jarang para
operator melaksanakan tugasnya hanya didasarkan pada
pengetahuannya masing-masing, padahal tidak ada
jaminan mereka memiliki kemampuan yang sama
(Prakasa, 1996), khususnya dalam hal farmakologi dan
terapi. Oleh karena itu perlu dibuat suatu sistem pengolah
informasi yang berkecerdasan untuk membantu tugastugas dokter dalam mendiagnosis suatu penyakit pada saat
diperlukan untuk kemudian diambil keputusan
penggunaan obat yang sesuai.

Implementasi sistem pakar dalam bidang farmakologi
dan terapi sebagai pendukung pengambilan keputusan
berbasis web diharapkan dapat digunakan untuk
mendukung terciptanya sistem informasi berkecerdasan
berbasis komputer dalam bidang kesehatan yang
mendudukkan paramedis non dokter dan mahasiswa
kedokteran sebagai dokter pada saat diperlukan dan

membantu tugas-tugas dokter dalam memberikan
pelayanan kesehatan pada masyarakat.

Secara garis besar sistem pakar dalam bidang
farmakologi dan terapi dibuat dengan tuntutan untuk
melakukan tugas sebagai berikut : (1). Mengambil data-
data hasil pemeriksaan kondisi pasien, (2). Memasukan
dan membandingkan data-data tersebut ke dalam kaidahkaidah yang telah dituliskan dalam basis pengetahuan, (3).
Mendeskripsikan kondisi pasien berdasarkan kesimpulan
yang didapat dari hasil membandingkan seperti yang telah
dilakukan pada tugas (2). Deskripsi kondisi pasien
sebagai output sistem pakar dalam bidang farmakologi
dan terapi memuat kondisi umum pasien, diagnosis
penyakit dan terapi-terapi yang dapat dilakukan, baik
dengan obat, herbal maupun suplemen.

Implementasi sistem pakar dalam bidang farmakologi
dan terapi sebagai pendukung pengambilan keputusan
berbasis web merupakan suatu program yang terdiri dari
dua jenis program. Kedua jenis program tersebut adalah
program konvensional dan program sistem pakar.
Program konvensional digunakan untuk proses iterasi dan
untuk mengolah basis data, sedangkan program sistem
pakar digunakan dalam proses inferensial dan untuk
mengolah basis pengetahuan. Adapun gambaran sistem
secara konseptual ditunjukkan Gambar 1.

SISTEM PAKAR DALAM BIDANG FARMAKOLOGI DAN TERAPI
Data-data hasil pemeriksaan
Program Konvensional
Modul
Identitas
Pasien
Modul
Riwayat
Penyakit
Keluarga
Modul
Gejala-
gejala
Penyakit
Modul
Keadaan
Umum
Pasien
Sistem Pakar
Basis
Pengeta
huan
MESIN INFERENSI
Antarmuka Input
Yes-no Question
ANTAR-
MUKA
OUTPUT
Kondisi
Umum
Pasien
Terapi-
terapi
Diagnosis
Penyakit
Fakta-fakta Awal
Memori
Kerja
Basis
Data
Fasilitas
Penjelas
Penyimpangan
GAMBAR 1. GAMBARAN KONSEPTUAL SISTEM PAKAR BIDANG
FARMAKOLOGI DAN TERAPI (TURBAN, 1995)



PERANCANGAN SISTEM

Perancangan sistem adalah penggambaran,
perencanaan dan pembuatan sketsa atau pengaturan dari
beberapa elemen yang terpisah ke dalam satu kesatuan
yang utuh dan berfungsi. Tujuan dari perancangan secara
umum adalah untuk memberikan gambaran secara umum
kepada pengguna tentang implementasi sistem pakar
dalam bidang farmakologi dan terapi sebagai pendukung
pengambilan keputusan berbasis web. Teknik yang
digunakan pada desain implementasi sistem pakar bidang
farmakologi dan terapi sebagai pendukung pengambilan
keputusan berbasis web adalah teknik prototyping.

Mengingat farmakologi dan terapi merupakan suatu
cabang ilmu yang terus berkembang, maka perancangan
sistem yang akan dibuat menuntut keluwesan. Adanya
penambahan data-data terkomputerisasi maupun
perubahan data-data input diharapkan dapat diantisipasi
oleh sistem pakar dalam bidang farmakologi dan terapi
sebagai pendukung pengambilan keputusan berbasis web
tanpa pemrograman ulang. Namun demikian unsur
keamanan program dan faktor kecepatan program
merupakan hal yang tidak dapat diabaikan.

Perancangan sistem dapat dirancang dalam bentuk
physical system yang dirancang dalam bentuk bagan alir
sistem (systems flowchart), yang merupakan alat
berbentuk grafik yang dapat digunakan untuk
menunjukkan urutan-urutan proses dari sistem. Adapun
bentuk bagan alir dari sistem pakar bidang farmakologi
dan terapi sebagai pendukung pengambilan keputusan
berbasis web ditunjukkan oleh Gambar 2.

BASIS PENGETAHUAN

Basis pengetahuan merupakan bentuk konfigurasi
tertentu dari semua pengetahuan yang didapatkan selama
proses akuisisi pengetahuan. Basis pengetahuan dapat
berisikan konsep maupun prosedur praktis
pengelompokkannya.

Basis pengetahuan yang dimiliki oleh sistem pakar
dalam bidang farmakologi dan terapi sebagai pendukung
pengambilan keputusn berbasis web merupakan hasil
akuisisi terhadap beberapa sumber pengetahuan. Sumber
pengetahuan tersebut antara lain : (1). Buku DOI, data
Obat di Indonesia, Grafidian Jaya, edisi 9 tahun 1994, (2).
Buku Farmakologi dan Terapi, Bagian Farmakologi
Fakultas Kedokteran Universitas Indonesia, Jakarta, edisi
4 tahun 1995, oleh Ganiswarna, G.S., dkk, (3). Buku
Pedoman Penatalaksanaan Praktis kedaruratan Medik
oleh Purwadianto.A. dan Sampurna.B. , edisi revisi tahun
2000, (3). PC CD-ROM berjudul Integrative Medicine
Professional Access 2

Beberapa metode yang digunakan selama proses
akuisisi pengetahuan diatas tidak sepenuhnya
menghasilkan fakta-fakta yang dapat secara mudah
dikonversikan ke dalam bentuk kaidah-kaidah tertentu.
Agar dapat disusun dalam suatu bentuk kaidah maka
terlebih dahulu pengetahuan tersebut dibagi menjadi dua
bagian utama, yaitu bagian fakta dan bagian kesimpulan.
Selanjutnya bagian fakta sendiri dikelompokkan lagi
menjadi fakta-fakta yang lebih spesifik untuk kemudian

Tdk Ya
Diagnosis
Kontra indikasi
terhadap obat
?
Terapi-terapi
1
Terapi-terapi
n
File Basis Pengetahuan
Stop
Identitas Pasien, Keadaan
Umum, Riwayat Penyakit
Keluarga, Gejala-gejala
Kaidah Berbasis
Aturan
Tdk
Start
Ya Kaidah
telah sesuai
?
GAMBAR 2. BAGAN ALIR SISTEM

masing-masing kelompok fakta akan membentuk sebuah
kaidah yang memiliki sebuah kesimpulan tertentu.

Dalam setiap pengambilan keputusan penggunaan obat
maupun terapi-terapi lain didasarkan pada beberapa
pertimbangan antara lain : (1). Identitas Pasien meliputi
faktor umur dan jenis kelamin yang ada dalam identitas


pasien digunakan untuk mempertimbangkan jenis obat
dan dosis penggunaan obat, (2). Riwayat Penyakit
Keluarga yaitu berkaitan dengan faktor kontra indikasi
pasien, untuk menentukan jenis terapi yang akan
diberikan untuk tindakan medis, (3). Keadaan Umum
Pasien yang digunakan untuk menentukan bentuk dan
jenis terapi yang akan diberikan karena berkaitan dengan
kerjasama pasien untuk melaksanakan tindakan medis.

Jenis representasi pengetahuan yang dipilih untuk
mengkonfigurasikan fakta-fakta pengetahuan adalah
representasi jenis production rules. Representasi jenis ini
tersusun atas kaidah-kaidah yang mengikuti pola :

If Kondisi Then Aksi
Kondisi yang dimaksud adalah kondisi yang berupa
gejala-gejala penyakit dan keadaan umum pasien yang
didapat dari hasil pemeriksaan terhadap pasien.

BASIS DATA

Basis data dari sistem merupakan hasil pencatatan
input-input yang telah dilakukan. Basis data sistem dapat
dibaca dan diisi oleh pengguna pada saat menjalankan
sistem. Data-data yang diisikan ke dalam basis data
adalah identitas pasien, riwayat penyakit keluarga,
keadaan umum pasien dan gejala-gejala penyakit yang
dirasakan. Setelah proses pelacakan dan didapatkan
kesimpulan, hasil kesimpulan yang didapat juga akan
tersimpan dalam basis data.

Basis data tidak terhubung langsung dengan basis
pengetahuan maupun mesin inferensi, karena pada saat
memasukan data-data input tidak dilakukan pengolahan
data secara langsung. Maksud pengolahan disini adalah
suatu cara bagaimana memasukkan data ke dalam sistem
pakar sehingga dapat ditentukan tindakan medisnya.
Maka dari itu sistem harus memberikan keluwesan kepada
pengguna untuk menginterpretasikan data yang tercatat
pada basis data untuk dapat disesuaikan dengan masukan
yang dibutuhkan oleh sistem. Data identitas pasien,
riwayat penyakit keluarga dan keadaan umum pasien
dapat digunakan secara langsung untuk masukan pada
sistem, sedangkan nama penyakit dan gejala penyakit
harus diinterpretasikan menjadi bentuk yang dapat
dikenali sistem terlebih dahulu sehingga dapat dijadikan
data masukan bagi sistem.

MESIN INFERENSI

Metode yang digunakan dalam sistem adalah metode
pelacakan ke depan (forward chaining) yaitu dimulai dari
sekumpulan fakta-fakta tentang suatu gejala yang
dirasakan pasien sebagai masukan sistem untuk kemudian
dilakukan pelacakan sampai tercapainya tujuan akhir
berupa kesimpulan tindakan medis. Cara pelacakannya
diawali dengan pengkodean masing-masing fakta
masukan. Kode hanya diberikan kepada suatu fakta jika

salah satu fakta masukan sudah diisikan oleh pengguna.
Proses pencocokan kode masukan terhadap kaidah yang
juga sudah dikodekan terus berlangsung sampai pada
akhirnya ada kesesuaian kombinasi masukan dengan
kombinasi kode suatu kaidah. Bila tercapai kesesuaian
maka kaidah tersebut akan memanggil kesimpulan
berkode tertentu, untuk memberikan tanggapan terhadap
fakta masukan. Tanggapan itulah yang merupakan output
dari sistem

KESIMPULAN

Ada beberapa kemajuan yang dapat dicatat dengan
adanya penelitian tersebut diatas. Dibandingkan dengan
penelitian terdahulu, penelitian kali ini mulai
memanfaatkan sistem pakar untuk mendukung
pengambilan keputusan. Pada penelitian terdahulu lebih
ditekankan untuk kepentingan diagnosis sedangkan pada
penelitian kali ini lebih ditekankan pada kepentingan
tindakan medis baik berupa pencegahan maupun
pengobatan penyakit yang disesuaikan dengan kondisi
pasien. Disamping itu pemanfaatan media World Wide
Web memungkinkan program dapat diakses secara bebas
dengan maksud untuk mendapatkan pertukaran informasi
yang dibutuhkan. Manfaat yang dapat diberikan oleh
penelitian ini adalah sebagai berikut : (1). Membantu
paramedis non dokter dalam menentukan penyakit dan
jenis obat dari berbagai jenis penyakit sebagai tindakan
medis yang tepat agar penggunaan obat dapat dilakukan
secara rasional, (2). Memungkinkan paramedis non dokter
berlaku sebagai dokter sehingga pada suatu saat
dibutuhkan dapat mengambil tindakan yang tepat sesuai
dengan pengetahuan dan prosedur inferensi yang
dilakukan oleh seorang dokter, (3). Meningkatkan kualitas
keputusan yang akan diambil dalam tindakan medis yang
akan dilaksanakan, (4). Menangkap dan menyimpan
informasi tentang farmakologi dan terapi yang bernilai
bila ditinggalkan dokter-dokter dalam bentuk yang aktif
(knowledge base), (5). Mengintegrasikan sumber
pengetahuan farmakologi dan terapi yang tersebar pada
beberapa dokter, (6). Mampu menganalisis informasi dan
merekomendasikan solusi, (7). Membuat kepakaran
bidang farmakologi dan terapi semakin tersedia luas.

REFERENSI

[1] ________., DOI data Obat di Indonesia, Grafidian
Jaya, edisi 9., 1994. [2] ________., Farmakologi dan
Terapi, Bagian Farmakologi Fakultas Kedokteran
Universitas Indonesia, Jakarta, edisi 4., 1995. [3] Agung,
Gregorius., Membuat Homepage Interaktif dengan
CGI/Perl, PT Elex Media Komputindo Kelompok
Gramedia, Jakarta.,1999. [4] Nugroho, Eko., Pengenalan
Komputer, Andi Offset, Yogyakarta., 1993. [5] Turban,
Efraim., Expert System and Applied Artificial Intelligence,
Macmillan Publishing Company, New York., 1992. [6]
Turban, Efraim., Decision Support and Expert System,
Prentice-Hall International, Inc., Fourth Edition., 1995.

6

Sabtu, 14 Juni 2008

tugas sim 52

Help us provide free content to the world by donating today!

Expert system

From Wikipedia, the free encyclopedia

Jump to: navigation, search

An expert system is a software system that attempts to reproduce the performance of one or more human experts, most commonly in a specific problem domain, and is a traditional application and/or subfield of artificial intelligence. A wide variety of methods can be used to simulate the performance of the expert however common to most or all are 1) the creation of a so-called "knowledgebase" which uses some knowledge representation formalism to capture the subject matter experts (SME) knowledge and 2) a process of gathering that knowledge from the SME and codifying it according to the formalism, which is called knowledge engineering. Expert systems may or may not have learning components but a third common element is that once the system is developed it is proven by being placed in the same real world problem solving situation as the human SME, typically as an aid to human workers or a supplement to some information system.

As a premiere application of computing and artificial intelligence, the topic of expert systems has many points of contact with general systems theory, operations research, business process reengineering and various topics in applied mathematics and management science.

Two illustrations of actual expert systems can give an idea of how they work. In one real world case at a chemical refinery a senior employee was about to retire and the company was concerned that the loss of his expertise in managing a fractionating tower would severely impact operations of the plant. A knowledge engineer was assigned to produce an expert system reproducing his expertise saving the company the loss of the valued knowledge asset. Similary a system called Mycin was developed from the expertise of best diagnosticians of bacterial infections whose performance was found to be as good or better than the average clinician. An early commercial success and illustration of another typical application (a task generally considered overly complex for a human) was an expert system fielded by DEC in the 1980s to quality check the configurations of their computers prior to delivery. The eighties were the time of greatest popularity of expert systems and interest lagged after the onset of the AI Winter.

Contents

[hide]

[edit] Overview

The most common form of expert system is a computer program, with a set of rules, that analyzes information (usually supplied by the user of the system) about a specific class of problems, and recommends one or more courses of user action. The expert system may also provide mathematical analysis of the problem(s). The expert system utilizes what appears to be reasoning capabilities to reach conclusions.

A related term is wizard. A wizard is an interactive computer program that helps a user solve a problem. Originally the term wizard was used for programs that construct a database search query based on criteria supplied by the user. However, some rule-based expert systems are also called wizards. Other "Wizards" are a sequence of online forms that guide users through a series of choices, such as the ones which manage the installation of new software on computers, and these are not expert systems.

[edit] Prominent expert systems and languages

  • ART - An early general-purpose programming language used in the development of expert systems
  • CADUCEUS (expert system) - Blood-borne infectious bacteria
  • CLIPS - Programming language used in the development of expert systems
  • Drools - An open source offering from JBOSS labs
  • Dendral - Analysis of mass spectra
  • Dipmeter Advisor - Analysis of data gathered during oil exploration
  • Jess - Java Expert System Shell. A CLIPS engine implemented in Java used in the development of expert systems
  • KnowledgeBench – expert system for building new product development applications
  • LogicNets - Web based expert system modeling environment to create expert systems (in collaboration with NASA)
  • MQL 4 - MetaQuotes Language 4, a customized language for financial strategy programming
  • Mycin - Diagnose infectious blood diseases and recommend antibiotics (by Stanford University)
  • NETeXPERT - A mission-critical Operational Support Systems framework with rules, policies, object modeling, and adapters for Network Operations Center automation
  • NEXPERT Object - An early general-purpose commercial backwards-chaining inference engine used in the development of expert systems
  • Prolog - Programming language used in the development of expert systems
  • Forth - Programming language used in the development of expert systems
  • R1/Xcon - Order processing
  • SHINE Real-time Expert System - Spacecraft Health INference Engine
  • STD Wizard - Expert system for recommending medical screening tests
  • PyKe - Pyke is a knowledge-based inference engine (expert system)
  • Vidwan - Vidwan, an expert system framework, does knowledge inference using in-built backward chaining inference engine.

[edit] The study of expert systems

[edit] Knowledge representation

Knowledge representation is an issue that arises in both cognitive science and artificial intelligence. In cognitive science, it is concerned with how people store and process information. In artificial intelligence (AI) the primary aim is to store knowledge so that programs can process it and achieve the verisimilitude of human intelligence. AI researchers have borrowed representation theories from cognitive science. Thus there are representation techniques such as frames, rules and semantic networks which have originated from theories of human information processing. Since knowledge is used to achieve intelligent behavior, the fundamental goal of knowledge representation is to represent knowledge in a manner as to facilitate inferencing i.e. drawing conclusions from knowledge.

[edit] Knowledge engineer

Main article: Knowledge engineers

Knowledge engineers are concerned with the representation chosen for the expert's knowledge declarations and with the inference engine used to process that knowledge. He / she can use the knowledge acquisition component of the expert system to input the several characteristics known to be appropriate to a good inference technique, including:

[edit] Expert systems topics

[edit] Chaining

There are two main methods of reasoning when using inference rules: backward chaining and forward chaining.

Forward chaining starts with the data available and uses the inference rules to conclude more data until a desired goal is reached. An inference engine using forward chaining searches the inference rules until it finds one in which the if-clause is known to be true. It then concludes the then-clause and adds this information to its data. It would continue to do this until a goal is reached. Because the data available determines which inference rules are used, this method is also called data driven.

Backward chaining starts with a list of goals and works backwards to see if there is data which will allow it to conclude any of these goals. An inference engine using backward chaining would search the inference rules until it finds one which has a then-clause that matches a desired goal. If the if-clause of that inference rule is not known to be true, then it is added to the list of goals. For example, suppose a rulebase contains two rules:

(1) If Fritz is green then Fritz is a frog.
(2) If Fritz is a frog then Fritz hops.

Suppose a goal is to conclude that Fritz hops.The rulebase would be searched and rule (2) would be selected because its conclusion (the then clause) matches the goal. It is not known that Fritz is a frog, so this "if" statement is added to the goal list. The rulebase is again searched and this time rule (1) is selected because its then clause matches the new goal just added to the list. This time, the if-clause (Fritz is green) is known to be true and the goal that Fritz hops is concluded. Because the list of goals determines which rules are selected and used, this method is called goal driven.

[edit] Certainty factors

One advantage of expert systems over traditional methods of programming is that they allow the use of "confidences" (or "certainty factors"). When a human reasons he does not always conclude things with 100% confidence. He might say, "If Fritz is green, then he is probably a frog" (after all, he might be a chameleon). This type of reasoning can be imitated by using numeric values called confidences. For example, if it is known that Fritz is green, it might be concluded with 0.85 confidence that he is a frog; or, if it is known that he is a frog, it might be concluded with 0.95 confidence that he hops. These numbers are similar in nature to probabilities, but they are not the same. They are meant to imitate the confidences humans use in reasoning rather than to follow the mathematical definitions used in calculating probabilities.

[edit] Expert system architecture

The following general points about expert systems and their architecture have been illustrated.

1. The sequence of steps taken to reach a conclusion is dynamically synthesized with each new case. It is not explicitly programmed when the system is built.
2. Expert systems can process multiple values for any problem parameter. This permits more than one line of reasoning to be pursued and the results of incomplete (not fully determined) reasoning to be presented.
3. Problem solving is accomplished by applying specific knowledge rather than specific technique. This is a key idea in expert systems technology. It reflects the belief that human experts do not process their knowledge differently from others, but they do possess different knowledge. With this philosophy, when one finds that their expert system does not produce the desired results, work begins to expand the knowledge base, not to re-program the procedures.

There are various expert systems in which a rulebase and an inference engine cooperate to simulate the reasoning process that a human expert pursues in analyzing a problem and arriving at a conclusion. In these systems, in order to simulate the human reasoning process, a vast amount of knowledge needed to be stored in the knowledge base. Generally, the knowledge base of such an expert system consisted of a relatively large number of "if then" type of statements that were interrelated in a manner that, in theory at least, resembled the sequence of mental steps that were involved in the human reasoning process.

Because of the need for large storage capacities and related programs to store the rulebase, most expert systems have, in the past, been run only on large information handling systems. Recently, the storage capacity of personal computers has increased to a point where it is becoming possible to consider running some types of simple expert systems on personal computers.

In some applications of expert systems, the nature of the application and the amount of stored information necessary to simulate the human reasoning process for that application is just too vast to store in the active memory of a computer. In other applications of expert systems, the nature of the application is such that not all of the information is always needed in the reasoning process. An example of this latter type application would be the use of an expert system to diagnose a data processing system comprising many separate components, some of which are optional. When that type of expert system employs a single integrated rulebase to diagnose the minimum system configuration of the data processing system, much of the rulebase is not required since many of the components which are optional units of the system will not be present in the system. Nevertheless, earlier expert systems require the entire rulebase to be stored since all the rules were, in effect, chained or linked together by the structure of the rulebase.

When the rulebase is segmented, preferably into contextual segments or units, it is then possible to eliminate portions of the Rulebase containing data or knowledge that is not needed in a particular application. The segmenting of the rulebase also allows the expert system to be run with systems or on systems having much smaller memory capacities than was possible with earlier arrangements since each segment of the rulebase can be paged into and out of the system as needed. The segmenting of the rulebase into contextual segments requires that the expert system manage various intersegment relationships as segments are paged into and out of memory during execution of the program. Since the system permits a rulebase segment to be called and executed at any time during the processing of the first rulebase, provision must be made to store the data that has been accumulated up to that point so that at some time later in the process, when the system returns to the first segment, it can proceed from the last point or rule node that was processed. Also, provision must be made so that data that has been collected by the system up to that point can be passed to the second segment of the rulebase after it has been paged into the system and data collected during the processing of the second segment can be passed to the first segment when the system returns to complete processing that segment.

The user interface and the procedure interface are two important functions in the information collection process.

[edit] End user

The end-user usually sees an expert system through an interactive dialog, an example of which follows:

Q. Do you know which restaurant you want to go to?
A. No
Q. Is there any kind of food you would particularly like?
A. No
Q. Do you like spicy food?
A. No
Q. Do you usually drink wine with meals?
A. Yes
Q. When you drink wine, is it French wine?
A. Why

As can be seen from this dialog, the system is leading the user through a set of questions, the purpose of which is to determine a suitable set of restaurants to recommend. This dialog begins with the system asking if the user already knows the restaurant choice (a common feature of expert systems) and immediately illustrates a characteristic of expert systems; users may choose not to respond to any question. In expert systems, dialogs are not pre-planned. There is no fixed control structure. Dialogs are synthesized from the current information and the contents of the knowledge base. Because of this, not being able to supply the answer to a particular question does not stop the consultation.

[edit] Explanation system

Another major distinction between expert systems and traditional systems is illustrated by the following answer given by the system when the user answers a question with another question, "Why", as occurred in the above example. The answer is:

A. I am trying to determine the type of restaurant to suggest. So far Chinese is not a likely choice. It is possible that French is a likely choice. I know that if the diner is a wine drinker, and the preferred wine is French, then there is strong evidence that the restaurant choice should include French.

It is very difficult to implement a general explanation system (answering questions like "Why" and "How") in a traditional computer program. An expert system can generate an explanation by retracing the steps of its reasoning. The response of the expert system to the question WHY is an exposure of the underlying knowledge structure. It is a rule; a set of antecedent conditions which, if true, allow the assertion of a consequent. The rule references values, and tests them against various constraints or asserts constraints onto them. This, in fact, is a significant part of the knowledge structure. There are values, which may be associated with some organizing entity. For example, the individual diner is an entity with various attributes (values) including whether they drink wine and the kind of wine. There are also rules, which associate the currently known values of some attributes with assertions that can be made about other attributes. It is the orderly processing of these rules that dictates the dialog itself.

[edit] Expert systems versus problem-solving systems

The principal distinction between expert systems and traditional problem solving programs is the way in which the problem related expertise is coded. In traditional applications, problem expertise is encoded in both program and data structures.

In the expert system approach all of the problem related expertise is encoded in data structures only; none is in programs. This organization has several benefits.

An example may help contrast the traditional problem solving program with the expert system approach. The example is the problem of tax advice. In the traditional approach data structures describe the taxpayer and tax tables, and a program in which there are statements representing an expert tax consultant's knowledge, such as statements which relate information about the taxpayer to tax table choices. It is this representation of the tax expert's knowledge that is difficult for the tax expert to understand or modify.

In the expert system approach, the information about taxpayers and tax computations is again found in data structures, but now the knowledge describing the relationships between them is encoded in data structures as well. The programs of an expert system are independent of the problem domain (taxes) and serve to process the data structures without regard to the nature of the problem area they describe. For example, there are programs to acquire the described data values through user interaction, programs to represent and process special organizations of description, and programs to process the declarations that represent semantic relationships within the problem domain and an algorithm to control the processing sequence and focus.

The general architecture of an expert system involves two principal components: a problem dependent set of data declarations called the knowledge base or rule base, and a problem independent (although highly data structure dependent) program which is called the inference engine.

[edit] Individuals involved with expert systems

There are generally three individuals having an interaction with expert systems. Primary among these is the end-user; the individual who uses the system for its problem solving assistance. In the building and maintenance of the system there are two other roles: the problem domain expert who builds and supplies the knowledge base providing the domain expertise, and a knowledge engineer who assists the experts in determining the representation of their knowledge, enters this knowledge into an explanation module and who defines the inference technique required to obtain useful problem solving activity. Usually, the knowledge engineer will represent the problem solving activity in the form of rules which is referred to as a rule-based expert system. When these rules are created from the domain expertise, the knowledge base stores the rules of the expert system.

[edit] Inference rule

An understanding of the "inference rule" concept is important to understand expert systems. An inference rule is a statement that has two parts, an if-clause and a then-clause. This rule is what gives expert systems the ability to find solutions to diagnostic and prescriptive problems. An example of an inference rule is:

If the restaurant choice includes French, and the occasion is romantic,
Then the restaurant choice is definitely Paul Bocuse.

An expert system's rulebase is made up of many such inference rules. They are entered as separate rules and it is the inference engine that uses them together to draw conclusions. Because each rule is a unit, rules may be deleted or added without affecting other rules (though it should affect which conclusions are reached). One advantage of inference rules over traditional programming is that inference rules use reasoning which more closely resemble human reasoning.

Thus, when a conclusion is drawn, it is possible to understand how this conclusion was reached. Furthermore, because the expert system uses knowledge in a form similar to the expert, it may be easier to retrieve this information from the expert.

[edit] Procedure node interface

The function of the procedure node interface is to receive information from the procedures coordinator and create the appropriate procedure call. The ability to call a procedure and receive information from that procedure can be viewed as simply a generalization of input from the external world. While in some earlier expert systems external information has been obtained, that information was obtained only in a predetermined manner so only certain information could actually be acquired. This expert system, disclosed in the cross-referenced application, through the knowledge base, is permitted to invoke any procedure allowed on its host system. This makes the expert system useful in a much wider class of knowledge domains than if it had no external access or only limited external access.

In the area of machine diagnostics using expert systems, particularly self-diagnostic applications, it is not possible to conclude the current state of "health" of a machine without some information. The best source of information is the machine itself, for it contains much detailed information that could not reasonably be provided by the operator.

The knowledge that is represented in the system appears in the rulebase. In the rulebase described in the cross-referenced applications, there are basically four different types of objects, with associated information present.

  1. Classes--these are questions asked to the user.
  2. Parameters--a parameter is a place holder for a character string which may be a variable that can be inserted into a class question at the point in the question where the parameter is positioned.
  3. Procedures--these are definitions of calls to external procedures.
  4. Rule Nodes--The inferencing in the system is done by a tree structure which indicates the rules or logic which mimics human reasoning. The nodes of these trees are called rule nodes. There are several different types of rule nodes.

The rulebase comprises a forest of many trees. The top node of the tree is called the goal node, in that it contains the conclusion. Each tree in the forest has a different goal node. The leaves of the tree are also referred to as rule nodes, or one of the types of rule nodes. A leaf may be an evidence node, an external node, or a reference node.

An evidence node functions to obtain information from the operator by asking a specific question. In responding to a question presented by an evidence node, the operator is generally instructed to answer "yes" or "no" represented by numeric values 1 and 0 or provide a value of between 0 and 1, represented by a "maybe."

Questions which require a response from the operator other than yes or no or a value between 0 and 1 are handled in a different manner.

A leaf that is an external node indicates that data will be used which was obtained from a procedure call.

A reference node functions to refer to another tree or subtree.

A tree may also contain intermediate or minor nodes between the goal node and the leaf node. An intermediate node can represent logical operations like And or Or.

The inference logic has two functions. It selects a tree to trace and then it traces that tree. Once a tree has been selected, that tree is traced, depth-first, left to right.

The word "tracing" refers to the action the system takes as it traverses the tree, asking classes (questions), calling procedures, and calculating confidences as it proceeds.

As explained in the cross-referenced applications, the selection of a tree depends on the ordering of the trees. The original ordering of the trees is the order in which they appear in the rulebase. This order can be changed, however, by assigning an evidence node an attribute "initial" which is described in detail in these applications. The first action taken is to obtain values for all evidence nodes which have been assigned an "initial" attribute. Using only the answers to these initial evidences, the rules are ordered so that the most likely to succeed is evaluated first. The trees can be further re-ordered since they are constantly being updated as a selected tree is being traced.

It has been found that the type of information that is solicited by the system from the user by means of questions or classes should be tailored to the level of knowledge of the user. In many applications, the group of prospective uses is nicely defined and the knowledge level can be estimated so that the questions can be presented at a level which corresponds generally to the average user. However, in other applications, knowledge of the specific domain of the expert system might vary considerably among the group of prospective users.

One application where this is particularly true involves the use of an expert system, operating in a self-diagnostic mode on a personal computer to assist the operator of the personal computer to diagnose the cause of a fault or error in either the hardware or software. In general, asking the operator for information is the most straightforward way for the expert system to gather information assuming, of course, that the information is or should be within the operator's understanding. For example, in diagnosing a personal computer, the expert system must know the major functional components of the system. It could ask the operator, for instance, if the display is a monochrome or color display. The operator should, in all probability, be able to provide the correct answer 100% of the time. The expert system could, on the other hand, cause a test unit to be run to determine the type of display. The accuracy of the data collected by either approach in this instance probably would not be that different so the knowledge engineer could employ either approach without affecting the accuracy of the diagnosis. However, in many instances, because of the nature of the information being solicited, it is better to obtain the information from the system rather than asking the operator, because the accuracy of the data supplied by the operator is so low that the system could not effectively process it to a meaningful conclusion.

In many situations the information is already in the system, in a form of which permits the correct answer to a question to be obtained through a process of inductive or deductive reasoning. The data previously collected by the system could be answers provided by the user to less complex questions that were asked for a different reason or results returned from test units that were previously run.

[edit] User interface

The function of the user interface is to present questions and information to the user and supply the user's responses to the inference engine.

Any values entered by the user must be received and interpreted by the user interface. Some responses are restricted to a set of possible legal answers, others are not. The user interface checks all responses to insure that they are of the correct data type. Any responses that are restricted to a legal set of answers are compared against these legal answers. Whenever the user enters an illegal answer, the user interface informs the user that his answer was invalid and prompts him to correct it.

[edit] Application of expert systems

Expert systems are designed and created to facilitate tasks in the fields of accounting, medicine, process control, financial service, production, human resources etc. Indeed, the foundation of a successful expert system depends on a series of technical procedures and development that may be designed by certain technicians and related experts.

A good example of application of expert systems in banking area is expert systems for mortgages. Loan departments are interested in expert systems for mortgages because of the growing cost of labour which makes the handling and acceptance of relatively small loans less profitable. They also see in the application of expert systems a possibility for standardised, efficient handling of mortgage loan, and appreciate that for the acceptance of mortgages there are hard and fast rules which do not always exist with other types of loans.

While expert systems have distinguished themselves in AI research in finding practical application, their application has been limited. Expert systems are notoriously narrow in their domain of knowledge—as an amusing example, a researcher used the "skin disease" expert system to diagnose his rustbucket car as likely to have developed measles—and the systems were thus prone to making errors that humans would easily spot. Additionally, once some of the mystique had worn off, most programmers realized that simple expert systems were essentially just slightly more elaborate versions of the decision logic they had already been using. Therefore, some of the techniques of expert systems can now be found in most complex programs without any fuss about them.

An example, and a good demonstration of the limitations of, an expert system used by many people is the Microsoft Windows operating system troubleshooting software located in the "help" section in the taskbar menu. Obtaining expert / technical operating system support is often difficult for individuals not closely involved with the development of the operating system. Microsoft has designed their expert system to provide solutions, advice, and suggestions to common errors encountered throughout using the operating systems.

Another 1970s and 1980s application of expert systems — which we today would simply call AI — was in computer games. For example, the computer baseball games Earl Weaver Baseball and Tony La Russa Baseball each had highly detailed simulations of the game strategies of those two baseball managers. When a human played the game against the computer, the computer queried the Earl Weaver or Tony La Russa Expert System for a decision on what strategy to follow. Even those choices where some randomness was part of the natural system (such as when to throw a surprise pitch-out to try to trick a runner trying to steal a base) were decided based on probabilities supplied by Weaver or La Russa. Today we would simply say that "the game's AI provided the opposing manager's strategy."

[edit] Advantages and disadvantages

Advantages:

  • Provides consistent answers for repetitive decisions, processes and tasks
  • Holds and maintains significant levels of information
  • Encourages organizations to clarify the logic of their decision-making
  • Never "forgets" to ask a question, as a human might

Disadvantages:

  • Lacks common sense needed in some decision making
  • Cannot make creative responses as human expert would in unusual circumstances
  • Domain experts not always able to explain their logic and reasoning
  • Errors may occur in the knowledge base, and lead to wrong decisions
  • Cannot adapt to changing environments, unless knowledge base is changed

[edit] Types of problems solved by expert systems

Expert systems are most valuable to organizations that have a high-level of know-how experience and expertise that cannot be easily transferred to other members. They are designed to carry the intelligence and information found in the intellect of experts and provide this knowledge to other members of the organization for problem-solving purposes.

Typically, the problems to be solved are of the sort that would normally be tackled by a medical or other professional. Real experts in the problem domain (which will typically be very narrow, for instance "diagnosing skin conditions in human teenagers") are asked to provide "rules of thumb" on how they evaluate the problems, either explicitly with the aid of experienced systems developers, or sometimes implicitly, by getting such experts to evaluate test cases and using computer programs to examine the test data and (in a strictly limited manner) derive rules from that. Generally, expert systems are used for problems for which there is no single "correct" solution which can be encoded in a conventional algorithm — one would not write an expert system to find shortest paths through graphs, or sort data, as there are simply easier ways to do these tasks.

Simple systems use simple true/false logic to evaluate data. more sophisticated systems are capable of performing at least some evaluation, taking into account real-world uncertainties, using such methods as fuzzy logic. Such sophistication is difficult to develop and still highly imperfect.

[edit] Expert Systems Shells or Inference Engine

Shell is a complete development environment for building and maintaining knowledge-based applications. It provides a step-by-step methodology for knowledge engineer that allows the domain experts themselves to be directly involved in structuring and encoding the knowledge. Use of shells reduces development time up to 50%. Many commercial shells are available.

[edit] See also

[edit] Bibliography

[edit] External links