Anda di halaman 1dari 6

3

PROGRAM PROLOG

OBJEKTIF

Memahami bagaimana sebuah program prolog bekerja. Dan


praktikan membuat sebuah program dengan ketentuan yang sudah
berlaku.

PENDAHULUAN

Program prolog dapat dianggap sebagai suatu himpunan fungsi


boolean, yang disebut dengan clause. Clause dapat memiliki argumen
atau tidak memiliki. Clause dapat memiliki body yang kosong, disebut
dengan fact, sedang yang memiliki body disebut rule. Suatu query dapat
dinyatakan sebagai suatu predicate, arity dari predicate adalah jumlah
argumen yang dipakainya.

23
URAIAN MATERI

1. Memasukkan dan Menghapus Clausa

Suatu program prolog tidak memiliki struktur seperti deklarasi, dan


lain-lainnya. Seluruh atom ditangani secara sama, yang ada hanyalah
clause. Untuk memulai penjelasan tersebut akan dijelaskan tentang
bagian-bagian dalam program Prolog

Term

Suatu data yang bukan merupakan variabel disebut dengan term.

Atomic term

• Ada dua jenis, atom dan integer

• Dimulai dengan huruf kecil atau angka numerik. Contoh

made.

psg.

123.

Functions

Simbol suatu fungsi disebut functor.

• Arity dari suatu fungsi adalah jumglah dari argumennya. Suatu atom
adalah fungsi dengan arity sama dengan 0. Argumen dapat berupa term
atau variabel,

• Bisa bersturktur rekursif

• Dimulai dengan huruf kecil. Contoh :

makan(nasi).

makan adalah functor, dan nasi adalah argument

24
Clause

Program prolog dapat dianggap sebagai suatu himpunan fungsi


boolean, yang disebut dengan clause. Clause dapat memiliki argumen
atau tidak memiliki. Clause dapat memiliki body yang kosong, disebut
dengan fact, sedang yang memiliki body disebut rule. Suatu query dapat
dinyatakan sebagai suatu predicate, arity dari predicate adalah jumlah
argumen yang dipakainya.

PDPROLOG (suatu intepreter Prolog sederhana dan public domain).


Secara singkat akan dibahas cara menggunakan Prolog (dalam hal ini PD
PROLOG) dan melakukan pemrograman dalam bahasa Prolog. Sebagian
besar implementasi prolog (Sicstus, PD Prolog dsb) berfungsi sebagai
intepreter. Sedangkan yang bersifat compiler seperti halnya Arity Prolog
Untuk PD PROLOG ini pengeditan program dilakukan oleh program editor
luar, misal EDIT, atau SIDEKICK. Program yang telah diketik harap diberi
extension

.PRO

Untuk menjalankan program ini, dari DOS cukup diketikkan :

C:> PDPROLOG

Setelah itu akan tampil pesan dan pada bagian terbawah adalah :

?-

Ini berarti intepreter telah siap menerima perintah.

SETIAP PERINTAH ATAU BARIS CLAUSE DIAKHIRI DENGAN TITIK (.)

Untuk membaca dan meng"compile" suatu program digunakan command :

25
?- consult( ).

Untuk merunut jalannya program :

?- trace.

Untuk keluar ke DOS

?- exitsys.

Untuk menghapus program dalam memori

?- forget().
2. Program Fibonacci

:- dynamic(stored/1).
memo(Goal) :-
stored(Goal) -> true;
Goal, assertz(stored(Goal)).
fib(1,1) :- !, write(‘1, ‘).
fib(2,1) :- !, write(‘1, ‘).
fib(N,F) :-
N1 is N-1, memo(fib(N1,F1)),
N2 is N-2, memo(fib(N2,F2)),
F is F1 + F2,
write(F), write(‘, ‘).

Input = fib(7,X).

Output: 1, 1, 2, 3, 5, 8, 13

RANGKUMAN

Program prolog dapat dianggap sebagai suatu himpunan fungsi


boolean, yang disebut dengan clause. Clause dapat memiliki argumen

26
atau tidak memiliki. Clause dapat memiliki body yang kosong, disebut
dengan fact, sedang yang memiliki body disebut rule. Suatu query dapat
dinyatakan sebagai suatu predicate, arity dari predicate adalah jumlah
argumen yang dipakainya.

TUNTUNAN LATIHAN

Bukalah notepad terlebih dahulu, kemudian ketiklah seperti pada gambar


di bawah ini:

Gambar di atas merupakan sintax atau aturan yang di buat untuk


program fibonacci.

Setelah selesai buatlah nama dari program tersebut dengan nama


fibo.pl, kemudian bukalah program SWIprolog dan pilihlah file pada bagian
menu bar, kemudian pilih consult, setelah itu muncul jendela pilihan file
prolog yang sudah di buat, pilihlah program tersebut.

27
Maka akan muncul tampilan seperti ini setelah tidak terjadi error atau
kesalahan:

LATIHAN

1. Buatlah program mencari luas segitiga!

2. Carilah keterhubungan antara program luas segitiga dengan


program Fibonacci!

28

Anda mungkin juga menyukai