Diktat
ITHB
Kecerdasan Artifisial
Ken Ratri Retno
The Houw Liong
BAB III
Representasi
Pengetahuan , Kategori, Jaringan Semantik
3.1 Representasi
Pengetahuan :
Representasi pengetahuan
dimaksudkan untuk menangkap sifat-sifat penting pengetahuan yang ada dalam
masalah dan membuat informasi itu dapat diakses oleh prosedur pemecahan masalah.
Bahasa
representasi harus dapat membuat seorang programmer
mampu mengekspresikan pengetahuan yang diperlukan untuk mendapatkan solusi masalah
yang dapat diterjemahkan ke dalam bahasa pemrograman dan dapat
disimpan. Perancangan mengandung fakta-fakta dan pengetahuan lainnya yang terkandung
didalamnya agar bisa digunakan dalam proses penalaran.
Pengetahuan (Knowledge) dapat diklasifikasikan ke
dalam 3 kategori:
Pengetahuan
Prosedural (Procedural Knowledge)
yaitu bagaimana langkah untuk melakukan sesuatu.
Pengetahuan
Deklaratif (Declaratif Knowledge)
yang berkenaan untuk mengetahui sesuatu berdasarkan fakta dan kaidah.
Pengetahuan yang
umum dimengerti tanpa dikemukakan (Tacit Knowledge)
yang disebut juga pengetahuan bawah sadar �(unconscious)
karena tidak dapat sukar diungkapkan dengan bahasa
3.2 TEKNIK
REPRESENTASI PENGETAHUAN
1. Logika
Formal
Merupakan suatu
pengkajian ilmiah tentang serangkaian penalaran, sistem kaidah dan prosedur
yang membantu proses penalaran. Ini merupakan bentuk representasi pengetahuan
yang paling tua, dan menjadi dasar dari teknik representasi tingkat tinggi �(high level).
Proses membentuk
kesimpulan atau menarik suatu inferensi berdasarkan fakta yang telah ada. Masukan
(input) proses logika berupa premis
atau fakta yang diakui kebenarannya sehingga dengan melakukan penalaran pada
proses logika dapat dilakukan �suatu
inferensi untuk memperoleh kesimpulan yang benar pula.
PENALARAN
DEDUKTIF
Penalaran ini
bergerak dari penalaran umum untuk mendapatkan konklusi khusus. Umumnya dimulai
dari suatu sylogism, atau pernyataan
premis dan
inferensi umumn yang
terdiri dari 3 bagian: premis mayor, premis minor dan
konklusi.
Contoh
Premis
mayor : Jika hujan turun maka
saya tidak akan lari pagi
Premis
Minor : pagi ini hujan turun
Konklusi
: pagi ini saya tidak
akan lari pagi
PENALARAN
INDUKTIF
Merupakan
kebalikan dari deduktif, yaitu dimulai dari fakta-fakta khusus
untuk mendapatkan
kesimpulan umum
Contoh:
Premis
: Dioda yang salah
menyebabkan peralatan elektronik rusak.
Premis
: Transistor rusak
menyebabkan elektronik rusak.
Premis
: IC rusak menyebabkan
peralatan elektronik tidak berfungsi.
Konklusi
: Peralatan semi
konduktor rusak merupakan penyebab
utama rusaknya
peralatan elektronik
Dalam penerapan
logika formal untuk bidang di luar IPA umumnya konklusi tidak selalu mutlak,
dapat berubah jika ditemukan fakta-fakta baru.
LOGIKA
PROPOSISI
Dalam melakukan
penalaran dengan komputer, komputer harus dapat menggunakan proses penalaran
deduktif dan induktif ke dalam bentuk yang sesuai dengan manipulasi komputer ; Logika
Simbolik atau Logika
Matematik. Metode itu disebut Logika Komputasional. Bentuk logika
komputasional ada 2 macam : Logika Proposisi dan Logika Predikat.
Suatu Proposisi
merupakan suatu statemen atau pernyataan yang
dapat bernilai benar
(TRUE) atau salah (FALSE). Simbol-simbol seperti P dan
Q menunjukkan proposisi.
Dua atau lebih
proposisi dapat digabungkan dengan menggunakan operator logika :
- Konjungsi : AND ( � )
- Disjungsi : OR� ( � )
- Negasi : NOT ( � )
- Implikasi : if � then ( � )
- Ekuivalen �
A. NOT
Digunakan untuk memberikan nilai negasi dari pernyataan yang telah ada.
P | NOT P |
B | S |
S | B |
B. Operator
AND
Digunakan untuk
mengkombinasikan dua buah proposisi.� Hasil proposisi akan benar jika kedua
proposisi bernilai benar
P | Q | P AND Q |
B | B | B |
B | S | S |
S | B | S |
S | S | S |
C. Operator
OR
Digunakan untuk
mengkombinasikan dua buah proposisi.
Hasil yang diperoleh akan bernilai benar jika salah satu dari kedua proposisi
bernilai benar, dan akan bernilai salah jika kedua proposisi bernilai salah.
P | Q | P OR Q |
B | B | B |
B | S | B |
S | B | B |
S | S | S |
D. IMPLIKASI
Jika P maka Q akan
menghasilkan nilai salah jika P benar dan Q salah, selain itu akan selalu
bernilai benar. Dapat juga digunakan
menggunakan IF-THEN,
P | Q | P � Q |
B | B | B |
B | S | S |
S | B | B |
S | S | B |
E. Ekuivalensi
Ekuivalensi akan
menghasilkan nilai benar jika P dan Q keduanya benar atau salah akan.
P | Q | P � Q |
B | B | B |
B | S | S |
S | B | S |
S | S | B |
Resolusi adalah
aturan untuk melakukan inferensi yang dapat berjalan secara efisien dalam suatu
bentuk khusus yang dikenal dengan nama conjunctive
normal form (CNF). Bentuk CNF memiliki ciri-ciri:
- Setiap kalimat merupakan disjungsi
literal - Setiap kalimat terkonjungsi secara
implisit.
Untuk mengubah
kalimat ke dalam bentuk CNF dilakukan dengan langkah-langkah:
Hilangkan
implikasi dan ekivalensi
- X �� Y menjadi� � X �� Y
- X � Y menjadi� ( � X �
Y) �� ( � Y � �X)
Kurangi lingkup
semua negasi menjadi satu negasi saja
- ( � X ) menjadi
X - ( �X ��
Y) menjadi ( � X �� � Y) - � ( X
�� �Y ) menjadi ( � X �
� Y)
Gunakan aturan
assosiatif dan distributif untuk mengkonversi menjadi conjunction of disjunction
- Asosiatif (A � B) V C = A � (B
V C) - Distributif (A �
B) V C =( A � �C) � (B V C)
Buat satu kalimat
terpisah untuk setiap konjungsi.
Pada logika
proposisi, prosedur untuk membuktikan proposisi P dengan� aksioma F �yang diketahui dengan menggunakan resolusi
dapat melalui algoritma berikut :
- Konversikan semua posisi F ke CNF
- Negasi P dan konversikan hasil negasi
ke bentuk klausa, tambahkan himpunan klausa yang telah ada pada langkah 1. - Kerjakan hingga proses tidak mengalami
kemajuan :
a. Seleksi 2 klausa sebagai klausa parent
b. Bandingkan secara bersama-sama. Jika ada
pasangan literal L dan L eliminir dari resolvent/ Klausa hasil pembandingan.
c. Jika klausa hasil pembandingan berupa
klausa kosong maka ditemukan kontradiksi, jika tidak tambahkan ke himpunan
klausa yang telah ada.
Contoh:
Diketahui basis
pengetahuan sebagai berikut:
- P
- (P � Q) � R
- (S � T) �
Q - T
Buktikan
kebenaran R
Dengan
menggunakan resolusi maka ubah dulu ke 4 fakta ke dalam bentuk CNF
Kalimat | Langkah-langkah | CNF |
1. | Sudah | P |
2. (P | Menghilangkan � (P � Q) � R mengurangi (�P �� Q) � R gunakan � P � � Q � R | � P � � Q � R
|
3. S � T) � Q
| Menghilangkan �(S � T) �� Q mengurangi �(S � �T) �� Q gunakan �(�S � Q) ��( �T �Q) | �S � Q �T �Q
|
4. | Sudah | T |
Kemudian
tambahkan kontradiksi pada tujuannya R menjadi � R sehingga fakta-fakta
dapat disusun menjadi:
1.
P
2.
P � � Q � R
3.
�S
� Q
�T �Q
4.
T
5.
� R
LOGIKA
PREDIKAT
Digunakan untuk
merepresentasikan hal-hal yang tidak dapat direpresentasikan dengan logika
proposisi. Pada logika predikat kita dapat merepresentasikan fakta-fakta
sebagai suatu pernyataan yang disebut dengan wwf-well formed formula. Operator yang digunakan yaitu �(implikasi), �(not), �(and), �(or)," (untuk setiap),'(terdapat).
Contoh :
Terdapat
pernyataan-pernyataan sebagai berikut:
1.
Ita suka
semua jenis makanan
2.
Pisang
adalah makanan
3.
Pecel
adalah makanan
4.
Segala
sesuatu yang dimakan oleh manusia dan manusia tidak mati karenanya dinamakan
makanan.
5.
Hendra
adalah seorang laki-laki
6.
Hendra
makan jeruk dan dia masih hidup
7.
Rini makan
apa saja yang dimakan oleh hendra
Ke tujuh pernyataan di
atas dapat di bawa ke bentuk logika predikat:
1.
X:
makanan(X)�suka(ita,X)
2.
makanan(pisang)
3.
makanan(pecel)
4.
X :"Y:manusia(X) �makan(x,y) ��mati(X)�makanan(Y)
5.
laki-laki(hendra)
6.
makan(hendra,jeruk)�hidup(hendra),
7.
"X:makan(hendra,X)�makan(rini,X)
pertanyaan:
�apakah ita suka
jeruk?�
suka(ita,jeruk)
dengan menggunakan penalaran backward :
suka(ita,jeruk)
�(1,substitusi)
makanan(jeruk)
�(4)
manusia(X)�
makan(X,jeruk)�
�mati(X)
�(7,substitusi)
manusia(hendra)�
makan(hendra,jeruk)�
�mati(hendra)
�(6a)
manusia(hendra)�
� mati(hendra)
pada akhir
penalaran :
hendra adalah
manusia dan tidak mati
pernyataan 5
bahwa hendra laki-laki tetapi belum ada pernyataan hendra manusia
(6b) hendra masih
hidup namun belum ada pernyataan yang menyatakan tidak mati berarti masih hidup
sehingga perlu
dua pernyataan lagi
8.
X
:laki-laki(X)�manusia(Y)
9.
X :[hidup(X)
�mati(X)] �|�mati(X)�hidup(X)]
yang harus dibuktikan
adalah bahwa :
suka(ita,jeruk)
atau �suka(ita,jeruk)
dapat diputuskan melalui
3 cara :
- memutuskan bahwa jawaban mana yang lebih
mendekati dengan mencoba membuktikan jawaban tersebut, jika gagal buktikanmenggunakan
aturan yang lain. - Mencoba buktikan ke sua jawaban secara
simultan, berhenti jika salah satu jawaban berhasil dibuktikan. - Coba buktikan salah satu jawaban,
informasi yang diberikan (terbukti maupun tidak terbukti ) bisa digunakan
untuk menguatkan jawaban yang lainnya.
JARINGAN SEMANTIK (SEMANTIC NETWORKS)
Jaringan semantik
merupakan pengetahuan secara grafis yang menunjukkan hubungan antar berbagai
objek. Suatu jaringan semantik sederhana bisa dilihat pada gambar berikut:
Gambar��
Jaringan semantik
disusun dari NODE dan ARC
- Node merupakan representasi dari objek, objek properti atau
propertivalue.
(digambarkan dengan lingkaran) - Arc merupakan representasi dari hubungan antar node.
(digambarkan dengan garis) - Baik node maupun arc memiliki
label yang secara jelas menjelaskan representasi dari objek dan
hubungan antar node. - Hampir semua objek, atribut,
pemikiran atau apapun dapat dirumuskandan dihubungkan antara satu dengan
lainnya oleh garis-garis (arc) - Arc umumnya menggunakan istilah seperti: �adalah(IS-A)�, �memiliki (HAS-A)�, dll.
- Pada gambar contoh tadi: Link �adalah�
diantara node �Kanari(Canary)�
dan �Burung(Bird)� menjelaskan
hubungan �Khusus-ke Umum (spesific-to-general)� diantara keduanya.
PERLUASAN
JARINGAN SEMANTIK
Kita dapat dengan
mudah memperluas (expanding) jaringan semantik
dengan menambah NODE
dan menghubungkan dengan NODE yang
bersesuaian pada
Jaringan Semantik. Node baru tersebut dapat merupakan objek tambahan atau
property tambahan. Umumnya penambahan dapat dilakukan dalam 3 cara:
(1) objek yang sama
Penambahan node �Pingguin
(Penguin)� yang merupakan objek yang
sama dengan �Kanari (Canary)� yang
merupakan hubungan �adalah� dari node �Burung (Bird)�.
(2) objek yang
lebih khusus
Penambahan node �Unggas� yang merupakan objek khusus dari
node �Ayam�. Penambahan tersebut memberikan informasi bahwa �Unggas�
adalah juga termasuk �Burung�.
(3) objek yang
lebih umum
Kita dapat menambahkan
node yang merupakan representasi yang lebih umum dari suatu node, yang
dikaitkan (link) dengan busur (arc) �adalah�. Misalnya
penambahan node �Hewan� pada node �Burung� yang menginformasikan bahwa
�Burung� termasuk dalam objek �Hewan�.
PEWARISAN
(INHERITANCE) PADA JARINGAN SEMANTIK
Node yang
ditambahkan pada Jaringan Semantik secara otomatis mewarisi informasi yang
telah ada pada Jaringan. Penambahan node �Unggas� otomatis juga
mewariskan sifat-sifat dari �Hewan� pada objek �Unggas�. Misalnya: �Unggas� bernapas, karena ��Hewan� bernapas.
OPERASI
PADA JARINGAN SEMANTIK
Salah satu cara
untuk menggunakan Jaringan Semantik adalah dengan bertanya pada node, misalnya:
Kasus
1 :
Jika kita
bertanya pada �Burung�, �Bagaimana cara mengembaranya?�
Jawabannya: �Terbang atau jalan�
Untuk menjawab,
maka node tersebut akan mengecek pada busur (arc) dengan label mengembara
(travel) dan kemudian menggunakan informasi nilai (value) yang
ada pada busur (arc) tersebut sebagai jawabannya.
Kasus
2 :
Jika kita
bertanya pada �Unggas�, �Bagaimana
cara mengembaranya ?�
Jawabannya : �Terbang
atau jalan�
Jika node tidak
menemukan jawaban pada lokal arc, maka akan mencari pada link dengan
hubungan �adalah� yang dimiliki node tsb.
PENANGANAN
PENGECUALIAN (EXCEPTION HANDLING)
Case
3 :
Jika kita
bertanya pada �Penguin�, �Bagaimana
cara mengembaranya ?�
Jawaban normal
adalah: �Terbang�
Hal ini tidak
sesuai dengan fakta sebenarnya bahwa �Penguin� mengembara dengan cara �berjalan�. Untuk mengatasi kasus
tersebut, maka kita bisa menambahkan busur
Khusus pada node �Penguin� untuk menggantikan (over-ride) informasi
yang telah diwariskan.
Penanganan
Pengecualian (Exception Handling) merupakan teknik sederhana yang
digunakan untuk mengatasi masalah tersebut, yang merupakan kelemahan pada
Jaringan Semantik. Proses menggantikan (override) berarti kita
menambahkan busur �atau sifat yang
sama dengan objek induk pada node, tetapi dengan nilai (value) atau karakteristik yang berbeda.
FRAME
Definisi: struktur
data untuk merepresentasi pengetahuan stereotip dari suatu konsep atau objek. Pertama
kali diusulkan oleh Minsky (1975). Perancang sistem pakar menggunakan ide yang
sama pada SKEMA (schema) untuk menangkap dan merepresentasi pengetahuan
konseptual dalam Sistem Pakar.
Skema merupakan
suatu satuan (unit) yang berisi pengetahuan khusus tentang suatu konsep atau
objek yang mengandung baik pengetahuan deklaratif maupun prosedural. Skema
merupakan perluasan alami dari Jaringan Semantik dan diusulkan pertama kali
oleh Barlett (1932).
Gambar
�.
BAB IV
PROLOG
Pendahuluan
Prolog
merupakan sebuah bahasa pemrograman logika tingkat tinggi (Programming in logic), sangat cocok untuk pencocokan pola (pattern matching) menggunakan unifikasi
dan pencarian. Baik untuk pengolahan bahasa, sistem pakar berbasis aturan,
perencanaan, dan aplikasi-aplikasi kecerdasan buatan seperti
- Basis
data inteligen (Intelligent database) - Pemahaman
Bahasa alami (Natural language understanding) - Sistem
Pakar (Expert systems) - Pengkhususan
bahasa (Specification language) - Bahasa
Mesin (Machine language) - Perencanaan
Robot (Robot planning) - Penalaran
automatis (Automated reasoning) - Pemecahan
masalah (Problem solving) - Permainan
(Game) - dan lain-lain
Menggunakan
metode pencarian mendalam dahulu (depth-first
search) dan mundur (backtracking)
untuk melakukan pencarian solusi secara otomatis.
Tiga
konsep penting dalam prolog:
- Unifikasi
- Mundur (Backtracking)
- Rekursi (Recursion)
Terdapat
tiga konstruksi dasar dalam prolog: fakta-fakta, kaidah (rules), dan pertanyaan (queries). Fakta dalam prolog dapat berupa item tertentu atau relasi antar item.
Sebagai contoh hujan, mendung, manis dan lain-lain. Kita dapat menanyakan
sebuah pertanyaan (query) pada prolog:
?-hujan maka prolog akan menjawab
�yes�.
Fakta
yang lebih lenglap terdiri dari suatu relasi pada item yang disebut argument.
Suatu fakta yang menjelaskan relasi antar objek:
sayang(edy,mia)
memiliki(michael,rumah,mobil,tv).
Sintaks
pada fakta :
- Nama pada relasi dan objek harus
dalam bentuk atom, - Relasi dituliskan sebelum
objek-objek, - Tanda titik (.) harus dituliskan
diakhir sebuah fakta.
Dari fakta
yang ada maka kita dapat menanyakan suatu pertanyaan pada prolog. Dalam
menjawab suatu pertanyaan Prolog menggunakan prosedur berikut ini.
- Prolog melakukan pencarian pada
basis pengetahuan. - Prolog mencari fakta yang
sesuai/cocok antara fakta dan pertanyaan. - jika cocok atau ditemukan, maka
prolog akan menjawab �ya (yes)�
dan jika tidak akan menjawab �tidak (no)�.
Dua
buah fakta akan cocok jika predikatnya sama dan argumen yang sesuai sama.
Sebuah
variabel akan terinstansiasi jika ada suatu objek yang berada pada posisi
dimana variabel berada. Proses pencocokan antara argumen dan variabel disebut
unifikasi.
Jika sesuatu
tergantung dari sekelompok fakta maka kita dapat mengekspresikan sebagai �kaidah
(rules)�. Di dalam prolog rules
memiliki sintaks:
Sasaran(argumen_sasaran):-subsasaran1(argumen_subsasaran_1),
subsasaran2(argumen_subsasaran_2),
�������������������������������������������� ������..
�������������������������������������������� subsasarann(argumen_subsasaran_n).
Koleksi
dari fakta-fakta dan rules disebut
sebagai basis pengetahuan. Berikut ini lima
bentuk basis pengetahuan:
Basis Pengetahuan 1
Dibawah
ini merupakan sekumpulan fakta yang sederhana.
wanita(mia).
wanita(jody).
wanita(yolanda).
Bermain_gitar(jody).
Basis Pengetahuan 2
mendengarkan_musik(mia).
gembira(Yolanda).
bermain_gitar(mia):-mendengarkan_musik(mia).
bermain_gitar(yolanda):-mendengarkan_musik(yolanda).
mendengarkan_musik(yolanda):-gembira(Yolanda).
Contoh
di atas kaidah (rule) pertama
menyatakan bahwa mia Bermain_gitar bila
ia mendengarkan_musik, dan pada kaidah terakhir mengatakan bahwa yolanda mendengarkan_musik bila ia bahagia.
Tanda �:- dibaca jika atau merupakan �implikasi dari
�. Pada sebelah kiri dari tanda :- disebut kepala (head) dari kaidah (rule)
dan pada sisi sebelah kanan dari tanda :- disebut tubuh (body) sehingga secara umum kaidah (rule) mengatakan bahwa bila tubuh (body) benar maka kepala (head)
�benar.
Bila
suatu basis pengetahuan berisi sebuah rule
head:-body dan prolog mengetahui
bahwa body berada dalam basis
pengetahuan maka prolog dapat melakukan inferensi pada head atau dikenal dengan istilah modus ponen.
Kita
dapat melakukan pertanyaan pada prolog untuk contoh di atas :
?-bermain_gitar(mia).
Prolog
akan merespon �yes�, meskipun fakta bermain_gitar(mia) tidak secara eksplisit
tertulis namum terdapat kaidah bermain_gitar(mia):-mendengarkan_musik(mia).
Di samping itu berisi fakta mendengarkan_musik(mia).
Prolog dapat menggunakan modus ponen untuk melakukan deduksi pada
bermain_gitar(mia) tersebut.
Berikut
ini contoh yang menunjukkan bahwa prolog dapat melakukan deduksi secara berantai
dengan menggunakan modus ponen.
?-bermain_gitar(yolanda).
Prolog
akan menjawab �yes�, karena dengan menggunakan fakta gembira(yolanda). Prolog dapat
melakukan deduksi fakta baru �mendengarkan_musik(yolanda). Fakta baru
ini secara eksplisit tidak tertulis dalam basis pengetahuan. Fakta ini hanya
secara implisit di dalam basis pengetahuan yang terinferensi. Prolog dapat
melakukan hal tersebut sesuai fakta yang tertulis secara eksplisit yaitu
bersama-sama rule:
bermain_gitar(yolanda):-mendengarkan_musik(yolanda).
Suatu
fakta yang dihasilkan oleh pemanfaatan modus ponen dapat digunakan sebagai
input pada rule selanjutnya.
Fakta-fakta dan rule yang berada
dalam basis pengetahuan di sebut klausa. Dalam contoh di atas berisi lima buah klausa yang
masing-masing adalah tiga buah rule dan dua buah fakta. Dengan kata lain basis
pengetahuan 2 terdiri dari tiga buah predikat atau disebut juga functor.
mendengarkan_musik
bermain_gitar
gembira
predikat
gembira dinyatakan menggunakan klausa tunggal atau sebuah fakta, sedangkan
predikat mendengarkan_musik dan bermain_gitar dinyatakan menggunakan
dua buah klausa.
Basis Pengetahuan 3
gembira(ani).
mendengarkan_musik(devi).
bermain_gitar(ani):-mendengarkan_musik(ani),gembira(ani).
bermain_gitar(devi):-
gembira(devi).
bermain_gitar(devi):-mendengarkan_musik(devi).
Terdapat
dua buah fakta baru pada contoh di atas yaitu gembira(ani) dan mendengarkan_musik(devi),
tiga buah rule dan memiliki tiga buah
predikat yaitu gembira, mendengarkan_musik, dan bermain_gitar tetapi dengan
susunan yang berbeda. Pada rule yang
menyatakan predikat bermain_gitar memperkenalkan suatu ide baru, perhatikan rule :
bermain_gitar(ani):-mendengarkan_musik(ani),gembira(ani).
Memiliki
dua buah item dalam body atau dua buah goal. Tanda koma yang memisahkan antara
goal mendengarkan_musik(ani) dengan gembira(ani) dalam rule body merupakan logika konjungsi (logika AND) yang
diekspresikan dalam prolog, sehingga rule ini mengatakan : ani bermain_gitar
bila ia mendengarkan_musik dan gembira.
Bila
kita tanyakan pada prolog :
?-bermain_gitar(ani).
Prolog
akan menjawab �no� karena meskipun ada fakta gembira(ani) tetapi tidak secara
eksplisit berisi informasi mendengarkan_musik(ani) dan fakta ini tidak dapat
dideduksi lagi. Dalam basis pengetahuan 3 hanya dapat memberikan salah satu
dari dua kondisi yang diperlukan untuk memenuhi klausa bermain_gitar(ani)
dengan demikian query ini gagal.
Berikut
ini adalah basis pengetahuan 3 dengan dua buah rule yang memiliki head
yang sama.
bermain_gitar(devi):- gembira(devi).
bermain_gitar(devi):-mendengarkan_musik(devi).
Klausa
tersebut menyatakan bahwa devi bermain gitar bila dia mendengarkan musik atau
dia gembira yaitu rule dengan head yang sama merupakan suatu cara
untuk mengekspresikan logika disjungsi ( logika OR).
Bila
kita tanyakan pada prolog :
?-bermain_gitar(devi).
Prolog
akan menjawab �yes� dengan menggunakan modus ponen untuk menerapkan rule :
bermain_gitar(devi):-mendengarkan_musik(devi) untuk memenuhi query tersebut.
Cara
lain untuk mengekspresikan logika disjungsi dengan menggunakan rule tunggal:
bermain_gitar(devi):- gembira(devi);mendengarkan_musik(devi).
Tanda
semi colon (;) merupakan symbol prolog untuk logika OR.
Basis Pengetahuan 4
wanita(mia).
wanita(jodi).
wanita(anggi).
sayang(dany,mia).
sayang(marsel,mia).
sayang(kristy,devi).
sayang(devi,kristy).
Dalam
contoh di atas tidak melibatkan rule
sama sekali, hanya sekumpulan fakta-fakta. Terdapat relasi(predikat) yang
bernama �sayang� yang memiliki dua buah argumen. Kita dapat menggunakan variabel
untuk contoh tersebut.
?wanita(X).
X
merupakan variabel. Prolog akan menjawab query
tersebut dengan melakukan pencarian pada basis pengetahuan 4 mulai dari klausa
paling atas hingga bawah untuk mencocokan atau unifikasi pada ekspresi
wanita(X) dengan informasi yang terdapat dalam basis pengetahuan 4.
Prolog
akan memberikan jawaban:
X=mia
untuk mengetahui adakah jawaban yang lain dilakukan dengan menekan ?-; maka
prolog akan mencari item dalam predikat wanita yang cocok dengan variable X
yang lain yaitu X=jodi dan X=anggi dan akan memberikan jawaban �no� jika sudah
tidak ada lagi item dengan predikat wanita dan variable X yang terinstansiasi.
Untuk query yang lain
?sayang(marsel,X),wanita(X)
Bila
kita melihat basis pengetahuan 4 terdapat bahwa: mia adalah wanita (fakta1) dan
marsel sayang mia (fakta5). Maka prolog menemukan jawaban:
X=mia.
Basis Pengetahuan 5
Berikut
ini penggunaan contoh variabel.
sayang(vincent,mia).
sayang(marsel,mia).
sayang(dany,lia).
cemburu(X,Y):-sayang(X,Z), sayang(Y,Z).
Dalam
basis pengetahuan 5 berisi fakta tentang relasi �sayang� dan sebuah kaidah (rule) yang terdiri dari tiga buah
variable X, Y, Z. arti dari kaidah tersebut :
�seseorang
yang bernama X akan merasa cemburu pada seseorang yang bernama Y bila ada seseorang
yang bernama Z yang disayangi �X dan Y .
?-cemburu(marsel,W).
Prolog
akan memberikan jawaban W=vincent
karena mereka berdua �sayang� pada wanita yang sama yaitu mia.
BAB V
Sistem Pakar
Pendahuluan
Istilah sistem pakar adalah nama yang diberikan ke
sebuah aplikasi praktis dari kecerdasan buatan (artificial intelligent /AI). Dalam ilmu komputer, banyak ahli yang berkonsentrasi pada pengembangan
kecerdasan buatan. AI adalah suatu studi khusus di mana tujuannya adalah
membuat komputer berpikir dan bertindak seperti manusia. Banyak implementasi AI
dalam bidang komputer untuk menyelesaikan permasalahan dunia nyata, misalnya
Sistem Pendukung Keputusan, Robotic, Bahasa Alami (� Natural
Language), Jaringan Saraf (� Neural
Network), dan lain‑lain.
AI
mempunyai banyak bidang, contoh bidang lain pengembangan kecerdasan buatan
adalah sistem pakar yang menggabungkan pengetahuan dan penelusuran data sebagai
pendekatan untuk memecahkan masalah yang secara normal memerlukan keahlian
manusia. Tujuan pengembangan sistem pakar sebenamya bukan untuk mengganti�kan
peran manusia, tetapi untuk mensubstitusikan pengetahuan manusia ke dalam
bentuk sistem, sehingga dapat digunakan oleh orang banyak.
Para peneliti AI mendefinisikan tujuan mereka sebagai suatu usaha untuk
membuat computer melakukan tugas-tugas yang memerlukan kecerdasan bila
dilakukan manusia. Riset ditekankan pada:
o
Pemodelan
kebiasaan kecerdasan
o
Menerangkan
kebiasaan manusia cerdas
o
Menghasilkan
artefak cerdas
Sistem Pakar adalah program komputer yang dirancang
untuk memanipulasi informasi secara canggih dan kemudian menirukan atau
membantu manusia pakar yang memakai kepakaran dan pengetahuan (komoditi yang
sangat berguna).
Program yang benar-benar bertindak seperti manusia
pakar akan menjadi sangat berdaya guna, program tersebut tidak dapat mati,
tidak dapat lupa, tidak dapat kehilangan temperamen, dsb. Singkatnya program
tersebut akan memiliki kekuatan �dari
program komputer tanpa mengikut sertakan kelemahan manusia.
Pengertian Sistem
Pakar (EXPERT SISTEM):
Sebuah program komputer
yang cerdas dirancang untuk memodelkan kemampuan menyelesaikan masalah seperti
layaknya seorang pakar (human expert). sistem pakar yang menggabungkan pengetahuan� ( knowledge
) dan prosedur inferensi (penelusuran data ) untuk memecahkan masalah yang
secara normal memerlukan keahlian manusia untuk menyelesaikannya.
Suatu sistem
pakar adalah suatu sistem komputer yang menirukan (emulates)� kemampuan
pengambilan keputusan� dari seorang
pakar. Istilah emulates berarti bahwa
sistem pakar diharapkan dalam semua hal seperti seorang pakar. Suatu peniruan (emulasi)
jauh lebih kuat dari pada suatu simulasi yang hanya membutuhkan sesuatu yang
bersifat nyata dalam beberapa bidang atau hal.
Disebut juga sistem berbasis pengetahuan (Knowledge-Based System) yang bersifat lebih luas
dan umum dari pada sistem pakar. Konsep KBS�
menekankan untuk menggandeng pemikiran dari sebuah program yang dalam
beberapa cara menangani pengetahuan atau menempatkannya agak berbeda dalam
manipulasi informasi berkualitas tinggi dalam hal yg canggih dan berguna.
Sistem
Pakar adalah salah satu bagian
dari kecerdasan buatan yang mengandung pengetahuan dan pengalaman yang
dimasukkan oleh satu atau banyak pakar ke dalam satu ranah (domain)
pengetahuan tertentu, agar setiap orang bisa memanfaatkannya untuk memecahkan
berbagai masalah.
Seorang pakar dengan
sistem pakar mempunyai banyak perbedaan.
Faktor | Pakar Manusia | Sistem Pakar |
Waktu�� (Time availability) | Hari kerja | Setiap saat |
Geografis | Lokal/ | Dimana saja |
Keamanan | Tidak | Dapat |
Perishable/� dapat musna | Ya | Tidak |
Performansi | Variabel | Konsisten |
Kecepatan | Variabel | Konsisten |
Biaya | Tinggi | Terjangkau |
Ada banyak manfaat yang dapat diperoleh dengan
mengembangkan sistem pakar, antara lain:
1.
Masyarakat
awan non‑pakar dapat memanfaatkan keahlian di dalam bidang tertentu tanpa
kehadiran langsung seorang pakar.
2.
Meningkatkan
produktivitas kerja, yaitu bertambah efisiensi pekerjaan tertentu serta hasil
solusi kerja.
3.
Penghematan
waktu dalam menyelesaikan masalah yang kompleks.
4.
Memberikan
penyederhanaan solusi untuk kasus yang kompleks dan berulang‑ulang.
5.
Pengetahuan
dari seorang pakar dapat didokumentasikan tanpa ada batas waktu.
6.
Memungkinkan
penggabungan berbagai bidang pengetahuan dari berbagai pakar untuk
dikombinasikan.
Berikut ini merupakan perbandingan antara kemampuan
pakar manusia dan keunggulan sistem komputer yang menjadi pertimbangan
pengembangan sistem pakar :
Pakar Manusia | Sistem Pakar |
Terbatas membutuhkan istirahat. | Tidak terbatas, |
Hanya | Berupa software yang dapat diperbanyak dan |
Pengetahuan | Pengetahuan |
Kecepatan | Kecepatan |
Biaya konsultasi biasanya | Biaya yang dikeluarkan |
Selain banyak manfaat yang diperoleh, ada juga
kelemahan pengem�bangan sistem pakar, yaitu:
1.
Daya
kerja dan produktivitas manusia menjadi berkurang karena semuanya dilakukan
secara otomatis oleh sistem.
2.
Pengembangan
perangkat lunak sistem pakar lebih sulit dibandingkan dengan perangkat lunak konvensional.
Hal ini dapat dilihat dari tabel perbandingan berikut ini:
Perangkat Lunak Konvensional | Perangkat Lunak Sistem Pakar |
Fokus | Fokus |
Pengembangan dapat ditakukan secara individu. | Pengembangan dilakukan oleh tim kerja. |
Pengembangan secara sekuensial. | Pengembangan |
Pengertian Pakar / Ahli (Expert).
1.
Seorang
pakar/ahli (human expert )
adalah seorang individu yang memiliki mempunyai
keahlian dalam bidang tertentu. Misalnya: seorang dokter, penasehat
keuangan, pakar mesin mobil, dll.
2.
Memiliki
kemampuan kepakaran yaitu.
o
Dapat
mengenali (recognizing) dan merumuskan masalah.
o
Menyelesaikan
masalah dengan cepat dan tepat.
o
Menjelaskan
solusi.
o
Belajar dari
pengalaman.
o
Restrukturisasi
pengetahuan.
o
Menentukan relevansi
/ hubungan.
o
Memahami batas
kemampuan.
Pengertian Kepakaran / Keahlian (Expertise).
1.
Pemahaman yang
luas dari tugas atau pengetahuan spesifik yang diperoleh dari pelatihan, membaca dan pengalaman.
2.
Jenis-jenis
pengetahuan yang dimiliki dalam kepakaran:
o
Teori-teori
dari permasalahan
o
Aturan/kaidah
dan prosedur yang mengacu pada area permasalahan
o
Aturan/kaidah heuristic yang harus dikerj akan pada
situasi yang terjadi
o
Strategi
global untuk menyelesaikan berbagai jenis masalah
o
Meta-knowledge (pengetahuan
tentang pengetahuan)
o
Fakta-fakta
Pengertian Pengetahuan (Knowledge).
1. Keahlian
atau pengetahuan yang umumnya terdapat dalam buku/majalah, atau pengalaman pakar
dalam suatu bidang.
2.
Kunci utama dari sistem pakar adalah:
a.Pengetahuan (Knowledge) + inferensi
= sistem pakar
���� b.Data + processing = informasi
���� c.Informasi + processing (pengalaman, training,
dll) = knowledge
Konsep Dasar Sistem
Pakar
Tujuan Sistem Pakar
Tujuan
pengembangan sistem pakar sebenarnya bukan untuk mengganti�kan peran manusia,
tetapi untuk mensubstitusikan pengetahuan manusia ke dalam bentuk sistem,
sehingga dapat digunakan oleh orang banyak.
Alasan Sistem
Pakar dikembangkan untuk menggantikan seorang pakar:
1.
Dapat
menyediakan kepakaran setiap waktu dan diberbagai 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
dibutuhkan juga pada lingkungan yang tidak bersahabat (hostile environtment)
Perbandingan
Sistem Konvensional dan Sistem Pakar
Sistem Konvensional | Sistem Pakar |
Informasi dan pemrosesan umumnya | Knowledge base terpisah dari mekanisme pemrosesan (inference) |
Program tidak pernah salah | Program bisa saja menjawab |
Tidak menjelaskan mengapa input diperoleh | Penjelasan(explanation) bagian dari ES |
Membutuhkan input data yang | Tidak harus mambutuhkan input data atau fakta yang lengkap |
Perubahan pada program | Perubahan pada rules dapat |
Sistem bekerja jika sudah | Sistem dapat bekerja hanya |
Eksekusi secara algoritmik (step-by-step) | Eksekusi dilakukan secara |
Efisiensi adalah tujuan utama | Efektifitas adalah tujuan utama |
Data kuantitatif | Data kualitatif |
Representasi data dalam numerik | Reperesentasi pengetahuan dalam |
Menangkap, menambah dan | Menangkap, menambah dan |
Pemindahan
Kepakaran
Tujuan dari
sebuah sistem pakar adalah untuk mentransfer kepakaran yang dimiliki seorang
pakar ke dalam komputer, dan kemudian kepada orang lain (non expert).
Aktifitas yang dilakukan untuk memindahkan kepakaran:
1. Akuisisi
pengetahuan (Knowledge Acquisition) dari pakar atau sumber lainnya.
2.Konseptualisasi
dan Formalisasi pengetahuan
a.Sistematika pengetahuan
b.Representasi pengetahuan ( Knowledge Representation)
c. Inferensi pengetahuan (Knowledge Inferencing)
d. Transfer
pengetahuan (Knowledge Transfering)
3. Implementasi.
4. Evaluasi
CONTOH APLIKASI SISTEM PAKAR SEDERHANA
Berikut ini
contoh aplikasi sistem pakar untuk nasihat pasca pembedahan POEMS-post operative expert medical system.
Pendahuluan
Bila seseorang
dimasukkan ke rumah sakit untuk dilakukan pembedahan maka riwayat kesehatan
pasien tersebut akan dijadikan rujukan. Perawatan pasca bedah meliputi
pengurusan pasien dan bantuan kepada pasien agar pasien sembuh secepat mungkin.
Perawatan
meliputi perhatian dan pemeriksaan pasien dan pengambilan hasil serta menjalani
tes jika diperlukan. Perawatan pasca bedah biasanya dilakukan oleh perawat dan
dokter.
Arsitektur Sistem Pakar Perawatan
Pasca Bedah