Selasa, 21 November 2017

Pengenalan Prolog

Image result for Prolog





Prolog adalah singkatan dari Programming in Logic. Prolog adalah bahasa yang dibangun atas dasar pemrograman alamiah dan logika.Prolog merupakan bahasa deklaratif, artinya jika diberi fakta dan aturan maka Prolog  akan menyelesaikan problem secara deduktif, atau menurunkan kesimpulan sebagai  jawaban berdasarkan fakta dan aturan yang diberikan.  Perbedaan bahasa deklaratif dan prosedural :  Pada  bahasa  deklaratif  hanya  membutuhkan  deklarasi  atau  uraian  masalah,  sedangkan pada bahasa prosedural seperti : bahasa C, dll memerlukan perintah. 

1.    Dasar-dasar Prolog

1.1 Fakta & Relasi
Prolog terdiri dari kumpulan data-data objek yang merupakan suatu fakta.
Fakta dibedakan 2 macam : 
Menunjukkan relasi. 
Menunjukkan milik/sifat.
Penulisannya diakhiri dengan tanda titik “.”
Contoh: 
Fakta: Budi adalah ayah Amir
Prolog: ayah(budi,amir).

1.2 Aturan / Rule
Aturan adalah suatu pernyataan yang menunjukkan bagaimana fakta-fakta berinteraksi satu dengan yang lain untuk membentuk suatu kesimpulan. Sebuah aturan dinyakatakan sebagai suatu kalimat bersyarat. 

Kata “if” adalah kata yang dikenal Prolog untuk menyatakan kalimat bersyarat atau disimbolkan dengan “:-“.
Contoh: 
Fakta: Tono suka sesuatu yang disukai Budi
Prolog: suka(tono,Sesuatu) :- suka(tino,Sesuatu).

1.3 Pertanyaan / Query
Penulisannya diawali simbol “?-“ dan diakhiri tanda “.”.
Contoh:
Suka(jono, ikan).
Suka(jono, Ani).
Suka(ani, buku).

?- suka(jono, ani).
Yes
?- suka(ani, ikan).
No.

2.    Struktur program Prolog

2.1 Domain
Berisi deklarasi (pernyataan) tenntang jenis data yang digunakan dalam fakta dan aturan. Terdapat 6 buah domain standar:

o Integer: -32.768 sampai 32.767
o Real: 1e-307 sampai 1e+308
o Char
o String
o Symbol: Kumpulan karakter yang diawali dengan huruf kecil
o File: Digunakan untuk operasi file

Dapat pula mendefinisikan domain lain yang terdiri dari domain standar

2.2 Predicates
Nama simbolik untuk relasi. Contoh:
ayah(budi,anis).
   
Bentuk umum dari fakta diatas ditulis:
predikat(symbol,symbol)

budi dan anis disebut aritas (arity)

Jumlah argumen disebut aritas (arity)
Ditulis tanpa diakhiri tanda titik
Syarat penulisan nama predikat:
Diawali huruf kecil dan dapat diikuti huruf, angka, atau garis bawah
Panjang nama maksimum 250  karakter
Tidak diperbolehkan menggunakan spasi, tanda minus, tanda bintang, dan garis miring

2.3 Variable
Besaran yang nilainya dapat berubah-ubah
Contoh: ayah(X,didi) 
X = anang, X adalah variabel

Tata cara penulisan variabel
Harus diawali huruf besar atau garis bawah ( _ )
Dapat terdiri dari huruf, angka atau simbol dan merupakan satu kesatuan
Panjang maksimum 250  karakter
Hendaknya mengandung makna yang berkaitan dengan data yang dinyatakannya

2.4 Goal Majemuk
Goal merupakan pernyataan yang diajukan kepada prolog
Contoh: ayah(budi, anang).

Goal majemuk merupakan goal yang terdiri dari satu pernyataan
Contoh: 
mobil(Merk, Warna, Harga).
Merk = VW.
Warna=merah..
Harga=35.

Sumber:
Clocksin, William F. and Mellish, Christopher S. 2003. Programming in Prolog. New York: Berlin Heidelberg.
Andoko, A. 1989. Tuntutan Praktis Pemrograman Turbo Prolog, Menggunakan Program-Program Pada Turbo Prolog 2.0. PT Elex Media Komputerindo, Jakarta.