1. Unifikasi dan Runut Balik
1.1 Unifikasi
Unifikasi adalah proses yang dilakukan
oleh prolog untuk mencari padanan antara pernyataan yang terdapat pada aturan
dengan fakta atau kepala aturan yang lain.
Syarat terjadinya unifikasi adalah:
§ Mempunyai relasi yang sama
§ Mempunyai jumlah argumen yang sama dan posisi argumen yang sama
pula
§ Argumen yang berpadanan harus mempunyai jenis data yang sama
§ Semua pasangan argumen (pada data majemuk) harus juga berpadanan
1.2 Proses Pencarian Jawaban
GOAL : kakek(Kakek,budi).
Kakek(Kakek,budi) – kakek(Kakek,Cucu)
ayah(Ayah,Cucu) – ayah(Ayah,budi)
ayah(Ayah,budi) – ayah(amin,budi)
ayah(Kakek,Ayah) – ayah(Kakek,amin)
ayah(Kakek,amin) – ayah(slamet,amin)
kakek(Kakek,budi) – kakek(slamet,budi)
Kakek = slamet
1.3 Predikat Not
Predikat Not digunakan untuk menyatakan
lawan logika dari suatu pernyataan. Predikat ini tidak dapat berdiri sendiri
juga tidak dapat dipasangkan pada fakta atau kepala suatu aturan, tetapi hanya
dapat dipasangkan pada bagian suatu aturan
Contoh : menyatakan saudara sepupu
Saudara_sepupu(Sdr1,Sdr2) :- kakek(Kakek,Sdr1), kakek(Kakek,Sdr2),
not(saudara_kandung(Sdr1,Sdr2)), Sdr1 <> Sdr2.
2. Predikat keluaran & Masukan
·
Write
Write digunakan untuk menuliskan konstanta atau isi variabel ke
piranti keluaran yang dikenali pada saat itu.
write(E1,E2,E3,…,En) – (i,i,i,…,i). E1,E2,E3,…En adalah konstanta
(karakter atau string) atau variable
Contoh :
Tes :- Write(“Saya sedang belajar Turbo Prolog.”), write(“Teman
saya belajar Basic”)
Output :
Saya sedang belajar Turbo Prolog.Teman saya belajar Basic
·
Writef
Writef mempunyai fungsi yang hampir sama dengan predikat write,
hanya hasilnya mempunyai format seperti yang diinginkan.
writef(format,E1,E2,…,En) – (i,i,…,i)
Macam-macam format :
f : format bilangan real dalam notasi desimal
e : format bilangan real dalam notasi eksponensial
d : format karakter atau bilangan bulat dalam desimal
c : format karakter atau bilangan bulat sebagai karakter
·
Writedevice
Writedevice digunakan untuk mengubah atau mendapatkan informasi
tentang piranti keluaran yang dikenali oleh program pada saat itu.
writedevice(VarPiranti) – (i), (o)
Macam-macam piranti keluaran :
• Screen
• Printer
• Com1
• Tdout
• Stderr
·
Readln
Digunakan untuk membaca sederetan karakter dari piranti masukan
sampai ditemukan tanda carriage return (ASCII 13). Karakter yang dibaca akan
ditampilkan di layar monitor.
·
Readchar
Digunakan untuk membaca karakter tunggal dari piranti masukan
(tanpa perlu enter). Berbeda dengan readln, untuk readchar karakter yang dibaca
tidak ditampilkan di layar monitor.
·
Readint
Readint digunakan untuk membaca bilangan bulat sampai tombol
Enter. Akan gagal apabila bilangan bulat yang dibaca tidak sesuai dengan yang
sudah didefinisikan.
·
Readreal
Digunakan untuk membaca bilangan real sampai tombol Enter.
·
Readdevice
Digunakan untuk mengubah atau meminta informasi tentang piranti
masukan yang saat itu dikenal
3. Perbandingan Operator
3.2 Perbandingan
Operator perbandingan berfungsi untuk membandingkan nilai suatu
variable terkat atau suatu objek. Variable atau objek yang dibandingkan disebut
operand. Kedua operand yang dibandingkan haruslah sudah terikat dengan nilai
tertentu (baik variable maupun objek), kecuali operator sama dengan.
3.3 Operasi Aritmatika
Pernyataan aritmatika terdiri dari operand (bilangan atau
variable), operator dan tanda kurung (bila diperlukan).
Ada 6 buah operator aritmatika, yaitu:
+ : Operator
Penjumlahan
- : Operator
Pengurangan
* : Operator Perkalian
/ : Operator
Pembagian
Div : Operator hasil bagi
bulat
Mod : Operator sisa hasil
bagi
3.4 Fungsi Matematik
Disamping mempunyai kemampuan dalam perhitungan aritmatika, Prolog
juga dilengkapi dengan predikat jadi yang merupakan fungsi matematika (fungsi
aljabar, trigonometri, logaritma).
Fungsi-fungsi tersebut dapat dilihat pada table berikut ini :