MODUL 3
PROGRAM VISUAL PROLOG
A. TUJUAN
a) Mahasiswa dapat mengrti dan dapat menerapkan section – section dasar yang ada di Visual Prolog seperti PREDICATES, DOMAINS, CLAUSES, dan GOAL.
b) Mahasiswa dapat mengetahui section-section lainya yang ada di Visual Prolog seperti FACTS, CONSTANT, GLOBAL.
c) Mahasiswa dapat mengerti tentang Compiler Directives.
d) Mahasiswa dapat mengerti dan menerapkan aritas jamak ( multiple arity ) pada Visual Prolog.
e) Mahasiswa dapat mengerti konsep aturan ( rule ) pada Prolog dan perbedaanya dengan bahasa lain.
f) Mahasiswa dapat mengenai konversi tipe otomatis ( automatic type conversion )
B. DASAR TEORI
Pemrograman Visual Prolog a) Section Dasar Visual Prolog
Secara umum, program Visual Prolog terdiri dari empat section dasar, yaitu section clauses, section predicates, section domains, dan section goal.
Section Clauses
Merupakan section yang paling penting pada program Visual Prolog. Pada section ini programer bisa meletakkan aturan dan fakta. Ketika mencari jawaban, Visual Prolog akan mencari dari bagian paling atas dari section clauses, melihat setiap fakta dan aturan untuk mendapatkan jawaban benar, hingga ke bagian paling bawah dari section.
Section Predicates
Merupakan predikat yang harus dideklarasikan dahulu sebelum sectioon clauses. Kalau tidak, Visual Prolog tidak akan mengenal predikat yang kita tuliskan tersebut.
Section Domains
Programer dapat meberikan nama yang berarti untuk domain, walaupun secara internal domain tersebut sama tipenya dengan domain yang telah ada.
Programer dapat mendeklarasi domain khusus yang digunakan untuk mendeklarasikan struktur data yang tidak didefinisikan oleh standar domain.
Section Goal
Secara esensial, section goal sama dengan body dari sebuah aturan (rule), yaitu sederatan sub-sub goal.
b) Section program lainya Section facts
Section contans Global
c) Compiler drectifes
d) Aritas jamak (multiple arity) e) Sintak Aturan (rule syntax)
C. PEMBAHASAN TUGAS Tugas 1
PREDICATES
nondeterm mahasiswa(symbol, symbol, symbol) nondeterm mahasiswa_makul(symbol,symbol) nondeterm mahasiswa_jurusan(symbol,symbol)
CLAUSES
mahasiswa("Irfan","111234","2015"). mahasiswa("Komeng","121234","2014"). mahasiswa("Dati","131234","2013"). mahasiswa("Fatima","141234","2012"). mahasiswa("Maspion","151234","2011").
mahasiswa_makul("Irfan","Kecerdasan Buatan"). mahasiswa_makul("Komeng","Statistika").
mahasiswa_makul("Dati","Matematika"). mahasiswa_makul("Fatima","ADT").
mahasiswa_makul("Maspion","struktur Data").
mahasiswa_jurusan("Irfan","TI"). mahasiswa_jurusan("Ririn","TI"). mahasiswa_jurusan("Rina","TI"). mahasiswa_jurusan("Rudi","TI"). mahasiswa_jurusan("Komengi","S1"). mahasiswa_jurusan("Komeng","S1"). mahasiswa_jurusan("Dati","TK"). mahasiswa_jurusan("Fatima","MI").
Scrip proogram diatas merupakan bagian dari clauses yaitu berupa aturan. Aturan merupakan suatu konklusi diketahui benar jika satu atau lebih konklusi atau fakta lain ditemukan benar. Simbol ( , ) dapat dibaca dengan “dan” dan pada akhir bagian clauses ini harus diakhiri tanda titik (.).
1. Uji Goal untuk mencari Nama mahasiswa yang mengikuti matakuliah Intelejensi Buatan
GOAL
mahasiswa_jurusan (Siapa,"TI").
a. GOAL diatas bertujuan untuk mengetahui Siapa saja mahasiswa jurusan TI. Variabel mahasiswa_makul akan di-link-kan dengan variabel pertama dari masing-masing fakta pada bagian CLAUSES .