Prolog Fakta Rules
Prolog Fakta Rules
Learning Outcomes
KOM204 : BAHASA PEMROGRAMAN
• Mahasiswa dapat memahami prinsip dasar
pemrograman logika, horn clause, logika
Pemrograman Logika predikat
• Mahasiswa dapat menulis program sederhana
menggunakan Prolog
Pertemuan 5
• Mahasiswa dapat merumuskan fakta, aturan,
dan query dari suatu persoalan
Julio Adisantoso 1
03/09/2014
Aturan Variabel
• Argumen suatu predikat, berupa atom,
• Logika yg dirumuskan dalam bentuk relasi
variabel, atau obyek lain.
sebab-akibat dan hubungan implikasi.
• Disebut sebagai TERM.
• Dua jenis variabel (diawali dengan huruf
• Contoh:
kapital):
kakek(A,Z) :- bapak(A,X), bapak(X,Z).
– Bernama, misal: X, Joko, Orang
kakek(A,Z) :- bapak(A,X), ibu(X,Z).
– Tak bernama (place holder): _
• Simbol (diawali dengan huruf kecil), misalnya:
joko, orang
Julio Adisantoso, ILKOM-IPB Julio Adisantoso, ILKOM-IPB
Julio Adisantoso 2
03/09/2014
ukuran(beruang, besar).
ukuran(gajah, besar).
ukuran(kucing, kecil).
warna(beruang, coklat).
warna(kucing, hitam).
warna(gajah, kelabu).
gelap(Z):-warna(Z, hitam).
gelap(Z):-warna(Z, coklat).
Julio Adisantoso 3
03/09/2014
Latihan #2 Latihan #3
Buat program logika untuk menentukan Buat program logika untuk menentukan nilai
bilangan terbesar dari dua bilangan faktorial dari bilangan bulat n, n≥0
Latihan #4 Latihan #5
Buat program logika untuk menentukan nilai deret fibonacci ke n, n≥0 Buat program logika untuk menjumlahkan deret
fibonacci(0) = 0
fibonacci(1) = 1 1+2+3+…+ n, n≥1
fibonacci(n) = fibonacci(n-1) + fibonacci(n-2)
fib(0,0).
jumlah(1,1).
fib(1,1). jumlah(N,M) :- N1 is N-1,
fib(N,M) :- N1 is N-1,
N2 is N-2, jumlah(N1, M1),
fib(N1,M1), M is N + M1.
fib(N2,M2),
M is M1+M2.
Julio Adisantoso 4
03/09/2014
Latihan #6
Buat program logika untuk menentukan a
pangkat b, dimana a dan b bilangan bulat dan
a,b≥0
pangkat(A, 0, 1).
pangkat(A, B, C) :-
B1 is B-1,
pangkat(A, B1, C1),
C is A * C1.
Julio Adisantoso 5