Prolog merupakan
suatu bahasa pemrograman yang banyak digunakan dalam pengembangan Artificial Intelliegence.
Pertamakali dikembangkan oleh A. Colmerarur dari Uni. d'Aix-Marseile pada tahun
1972, dan dikembangkan lebih lanjut oleh R. Kowalski (Uni. Edinburgh) sejak
tahun 1974. Perkembangan selanjutnya banyak dilakukan di University of
Melbourne oleh Lee Naish dan John Lloyd. Prolog dalam perkembangannya
telah dikombinasikan dengan berbagai bahasa pemrograman, terutama functional
programming.
Bahasa prolog memiliki
ciri-ciri :
Ø Bahasa
pemrograman yang non sequential
Ø Bahasa
pemrograman yang deklaratif
Ø Simbolik
Ø Berdasarkan
first order logic.
Kesederhanaan Prolog dibanding bahasa lain adalah :
Ø Sintaknya
sangat sedikit sekali
Ø Secara
teoritis tida ada tipe data, tetapi bilangan bulat terpisah.
Ø Semantik
sangat jelas dan terdefinisi secara matematis.
Karena prolog yang digunakan adalah swi-prolog maka untuk menjalankan
program tersebut adalah dengan mengklik 2 kali pada shortcut swi-prolog.
Bagian-bagian dalam program Prolog:
1.
Term
Suatu
data yang bukan merupakan variabel disebut term.
2.
Functions
Simbol suatu fungsi disebut Functor.
§ Arti
dari suatu fungsi adalah jumlah dari argumennya. Suatu atom adalah fungsi
dengan arti sama dengan 0. Argumen dapat berupa term atau variabel.
§ Bisa
berstruktur rekursif
§ Dimulai
dengan huruf kecil. Contoh : makan (nasi)
Makan
adalah functor, dan nasi adalah argument.
3.
Clause
Program prolog dapat dianggap
sebagai suatu himpunan fungsi boolean, yang disebut dengan clause. Clause dapat
memiliki argumen atau tidak.
Clause dapat memiliki body yang
kosong, disebut fact, sedangkan yang
memiliki body disebut rule. Suatu
query dapat dinyatakan sebagai suatu predicate,
artinya jumlah dari argumen yang dipakai.
Contoh program :
1. Ketikkan
dan beri nama lapar.pl
Saya_lapar.
Panggil
prolog dan jalankan.
?-consult(lapar).
Yes.
?-saya_lapar.
yes.
2. Ketikkan
program berikut ini dan beri nama prog1_2.pro
bisa_makan_siang:-
punya_makanan.
punya_makanan.
Jalankan
dan “consult”
?-bisa_makan_siang.
Yes
VARIABLE
DALAM PROLOG DAN LIST
Variable dalam prolog dengan huruf
besar atau dimulai dengan garis bawah (_). Variabel dalam klausa selalu tersamakan
(unified).
Prolog. List ditandai dengan
[elemen1, elemen 2,....]
List terbagi atas :
[Head|Tail]
Contoh : [saya, kamu, dia,
engkau]sama dengan [saya|kamu, dia, engkau]
Contoh program:
1. Ketikkan
klause simpel ini:
dosen(bejo,
harvard_graphic).
Lalu
consult dan beri pertanyaan:
?-dosen(bejo,Mata_Kuliah).
?-dosen(Siapa,
harvard_graphic).
?-dosen(Siapa,
Apa).
2. Ketikkan
program di bawah ini:
angka([1,2,3,4]).
Kalimat(kucing,[duduk,
di|[atas, meja]]).
?-angka([1,Y|Z]).
?-kalimat(kucing,[Kata_kerja|Sisa]).
Mencari
solusi alternatif
Untuk mencari solusi dapat digunakan
beberapa klausa:
§ Bagof(Variable, Query,
List_of_solution_for_the_variable).
§ Setof(Varible, Query,
List_of_solution_for_the_variable).
§ Findall(Variable, Query, List,
_of_solution_for_the_variable).
Contoh Program:
pengajar(dewi,
harvard).
pengajar(dewi,
informix).
pengajar(adang,
as400).
pengajar(silfi,
ner).
pengajar(silfi,
as400).
pengajar(dewi,
harvard).
pengajar(tutun,
lan).
pengajar(adrian,
lan).
Lakukan query :
?-bagof(Mata_kuliah, pengajar(Nama,
Mata_kuliah),List_Mata).
?-setof(Mata_kuliah,pengajar(Nama,Mata_kuliah),List_Mata).
?-findall(Mata_kuliah,pengajar(Nama,Mata_kuliah),List_Mata).
Tidak ada komentar:
Posting Komentar