• Pemrograman deklaratif, mendeklarasikan tujuan
komputasi, bukan menyusun algoritme secara
detil.
• Disebut juga rule‐based programming.
• Aplikasinya:
– Artificial intelligence, misalnya MYCIN
– Database information retrieval, misalnya SQL
• Fitur dari pemrograman logika:
– Nondeterministik, program bisa memperoleh banyak
jawaban, tidak hanya satu jawaban
– Backtracking, lacak balik secara otomatis
Horn clauses
• Program logika menggunakan ekspresi logika
matematika untuk jawaban masalah.
• Dasar pemrograman logika adalah proposisi
dan predikat.
• Salah satu bentuknya adalah Horn clause.
• Definisi:
Horn clause memiliki sebuah head h yang disebut
sebagai predikat, dan body sebagai daftar dari
predikat p1, p2, …., pn.
• Dapat ditulis sebagai
h ← p1, p2, …., pn
Artinya, h adalah benar (true) hanya jika p1, p2, …., pn
secara simultan adalah benar.
• Contoh:
salju(C) ← hujan(C), beku(C)
Logika Predikat
• Disebut juga kalkulus predikat.
• Dinyatakan dalam bentuk fakta dan aturan.
• Contoh:
– lelaki(andi) // fakta
– menikah(andi , ana) // fakta
– ∀y∃x orang(y) → ibu(x,y) // aturan
– ∀x∀y[menikah(x,y) ∧ lelaki(x)] → ~lelaki(y)
• lelaki, menikah, orang, ibu disebut relasi.
Bahasa Deklaratif
• Ari adalah bapak dari Andi, ditulis:
bapak(Ari, Andi).
• A adalah kakek dari F, dibuat aturan:
jika A bapaknya X dan X bapaknya F
atau
jika A bapaknya X dan X ibunya F
ditulis sebagai
kakek(A,F) :‐ bapak(A,X), bapak(X,F).
kakek(A,F) :‐ bapak(A,X), ibu(X,F).
Fakta
• Kenyataan atau kebenaran yang diakui
• Menyatakan:
– Hubungan dua atau lebih obyek
– Sifat obyek
• Contoh:
bapak(ari, andi).
biru(langit).
manis(gula).
Aturan
• Logika yg dirumuskan dalam bentuk relasi
sebab‐akibat dan hubungan implikasi.
• Contoh:
kakek(A,F) :‐ bapak(A,X), bapak(X,F).
kakek(A,F) :‐ bapak(A,X), ibu(X,F).
our Final project Report ..
15 tahun yang lalu
0 komentar:
Posting Komentar