Bahasa Pemrograman untuk
Aplikasi Inteligensi Buatan : Prolog
DASAR-DASAR PROLOG
Fakta dan Relasi
Fakta
Adalah suatu unit yang selalu bernilai benar,fakta ini merupakan kumpulan
data-data objek. Suatu fakta dibedakan dalam 2 jenis, yaitu fakta yang
menunjukan relasi dan fakta yang menunjukan milik/sifat, penulisan suatu fakta
selalu di akhir dengan (.)
Contoh :
Fakta
|
Prolog
|
Slamet adalah ayah Amin
|
ayah (slamet, amin).
|
Anita adalah seorang wanita
|
wanita (anita).
|
Angga suka renang dan tenis
|
suka(angga,renang).dan
suka(angga,tenis).
|
Jeruk berwarna jingga
|
jngga(jeruk).
|
Aturan (“Rules”)
Aturan
adalah suatu pernyataan yang menunjukan bagaimana fakta-fakta berinteraksi satu
dengan yang lain untuk membentuk suatu kesimpulan. Sebuah aturan dinyatakan
sebagai suatu kalimat bersyarat. Kata “if” adalah kata yang dikenal Prolog
untuk menyatakan kalimat bersyarat atau disimbolkan dengan “:-“.
Contoh :
Fakta
dan Aturan
|
Prolog
|
F : Tino suka apel
A : Yuli suka sesuatu yang disukai
Tino
|
suka(tino, apel).
suka(yuli,Sesuatu) :- suka(tino,Sesuatu).
|
Setiap aturan terdiri dari
kesimpulan (kepala) dan tubuh. Tubuh dapat terdiri dari 1 atau lebih pernyataan
atau aturan yang lain, disebut subgoal
dan dihubungkan dengan logika “and”.
Aturan memiliki sifat then/if conditional
“Kepala(head) benar jika tubuh (body) benar”.
Pertanyaan (“Query”)
Setelah
memberikan data-data berupa fakta dan aturan, selanjutnya kita dapat mengajukan
pertanyaan berdasarkan fakta dan aturan yang ada. Penulisannya diawali simbol “?-“ dan diakhiri tanda “.”.
Contoh :
Pertanyaan
|
Prolog
dan Jawaban Program
|
Apakah Tini suka boneka ?
|
?- suka(tini,boneka).
Yes ……. (jika faktanya Tini suka
boneka)
No……..…(jika tidak sesuai fakta).
|
Apakah yang disukai Tini ?
|
?- suka(tini,Apa).
Apa=boneka
|
Siapakah yang suka boneka ?
|
?- suka(Siapa,boneka).
Siapa=tini
|
Dari contoh silsilah keluarga di
atas :
Siapakah kakek Budi ?
Siapakah cucu Slamet ?
|
?- kakek(Siapa,budi).
Siapa=slamet
?- kakek(slamet,Cucu).
Cucu=budi ;
Cucu=badu
(jika kemungkinan ada lebih dari
satu jawaban gunakan tanda “;” pada akhir setiap jawaban).
|
STRUKTUR PROGRAM PROLOG
STRUKTUR PROGRAM PROLOG
Program Prolog terdiri dari :
- Domains
- Domains menyatakan jenis suatu variabel.
- Domains
seperti tipe data dalam bahasa prosedural (Pascal,C)
- Beberapa domains standar dalam prolog: char, integer, real, string, symbol.
- contoh:
namaBunga = symbol
mataKuliah = string
nilai = integer
- Domains char dipakai pada predikat yang argumennya memiliki nilai berupa karakter tunggal,
yaitu abjad, angka,
pungtuasi (?.!,<,...), dan operasi (+,‐,...).
Penulisan argumen bertipe char dalam prolog diapit tanda ’...’.
contoh: nilai (dita, ’A’).
- Domains
string dipakai pada predikat yang argumennya memiliki nilai berupa
karakter jamak yang dapat berupa kata maupun suatu tulisan (kumpulan kata‐kata
termasuk di dalamnya pungtuasi dan tanda operasi yang dapat dipisahkan
spasi). Penulisan argumen bertipe string dalam prolog diapit tanda ”...”.
contoh: hobi(rina,”Memasak”).
- Domains
integer dipakai pada predikat yang argumennya memiliki nilai berupa
bilangan bulat.
Contoh: nilai(tini,”Kalkulus”,75).
- Domains real
dipakai pada predikat yang argumennya memiliki nilai berupa bilangan
pecahan. Penulisan argumen bertipe real dalam prolog untuk nilai pecahan
ditulis di belakang tanda titik (.).
contoh: nilai(ivan, 8.75).
- Domains symbol dipakai pada predikat yang argumennya memiliki nilai berupa kumpulan karakter yang hanya terdiri dari huruf atau kata tanpa dipisahkan oleh spasi. Suatu kata
dapat disambungkan dengan kata lain dengan tanda _ (underscore).
contoh: lelaki(toni_setiawan).
b. Predicates
- Predicates digunakan untuk mendeklarasikan predikat.
- Penulisan dalam Prolog :
Diawali dengan huruf kecil.
Contoh:
saudara(x,y)
suka(nama,hobi)
manis(x)
c. Clauses
- Clauses digunakan untuk mendefinisikan predikat.
- Clauses terdiri dari fakta dan aturan:
1. Fakta
Fakta merupakan suatu kenyataan atau kebenaran yang diketahui.
Fakta menyatakan hubungan/relasi antara dua obyek atau lebih atau menunjukkan
sifat suatu obyek.
Penulisan dalam Prolog :
Diawali dengan huruf kecil dan diakhiri dengan tanda titik.
Contoh :
saudara(tina,tini).
suka(lia,menyanyi).
manis(gula).
2. Aturan
Aturan penulisan :
If ditulis sebagai ‘titik dua + strep’ (:‐)
And ditulis sebagai ‘koma’ (,)
Or ditulis sebagai ‘titik koma (;)
d. Goal
- Goal adalah tempat pernyataan (query) diberikan atau meminta prolog untuk
mencapai tujuan yang dikehendaki.