130 likes | 444 Views
Pasangan Pola. Outline. Unifikasi dan Runut Balik Masukan dan Keluaran Perbandingan Operator. Unifikasi dan Runut Balik. Unifikasi Proses yang dilakukan oleh prolog untuk mencari padanan antara pernyataan yang terdapat pada aturan dengan fakta atau kepala aturan yang lain
E N D
Pasangan Pola Pasangan Pola
Outline • Unifikasi dan Runut Balik • Masukan dan Keluaran • Perbandingan Operator Pasangan Pola
Unifikasi dan Runut Balik • Unifikasi • Proses yang dilakukan oleh prolog untuk mencari padanan antara pernyataan yang terdapat pada aturan dengan fakta atau kepala aturan yang lain • Syarat terjadinya unifikasi antara 2 pernyataan : • 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 Pasangan Pola
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 Pasangan Pola
Predikat Not • Not digunakan untuk menyatakan lawan logika dari suatu pernyataan • Not tidak dapat berdiri sendiri • Not 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. Pasangan Pola
Predikat Keluaran • 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 variabel • Contoh : Tes :- Write(“Saya sedang belajar Turbo Prolog.”), write(“Teman saya belajar Basic”) • Output : Saya sedang belajar Turbo Prolog.Teman saya belajar Basic Pasangan Pola
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 • dll Pasangan Pola
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 • NamaFile Pasangan Pola
Predikat Masukan • Readln • Digunakan untuk membaca sederetan karakter dari piranti masukan sampai ditemukan tanda carriage return (ASCII 13) • Karakter yang dibaca ditampilkan di layar monitor • Readchar • Digunakan untuk membaca karakter tunggal dari piranti masukan (tanpa perlu enter) • Karakter yang dibaca tidak ditampilkan di layar monitor Pasangan Pola
Readint • Digunakan untuk membaca bilangan bulat sampai tombol Enter • Akan fail 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 Pasangan Pola
Referensi Farid Azis bab 4 Andrey Andoko bab 5, 6, 7 Pasangan Pola