Logic Programming
• Pemrograman deklaratif, mendeklarasikan tujuan
komputasi, bukan menyusun algoritme secara
detil.
LOGIC PROGRAMMING • Disebut juga rule-based programming.
• Aplikasinya:
– Artificial intelligence, misalnya MYCIN
Bahasa Pemrograman – Database information retrieval, misalnya SQL
Kuliah #5 • Fitur dari pemrograman logika:
– Nondeterministik, program bisa memperoleh banyak
jawaban, tidak hanya satu jawaban
– Backtracking, lacak balik secara otomatis
1
02/23/2013
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, IPB 9 Julio Adisantoso, IPB 10
2
02/23/2013
3
02/23/2013
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)
Latihan #6
Buat program logika untuk menentukan a
pangkat b, dimana a dan b bilangan bulat dan
a,b≥0