Bahasa Pemrograman untuk Aplikasi Inteligensi Buatan : 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
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
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)
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).
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.
Tidak ada komentar:
Posting Komentar