LAPORAN PRAKTIKUM
KECERDASAN
BUATAN
Pertemuan 3
DISUSUN OLEH:
NIM : 115410144
NAMA : Ari Lutfiani
Teknik Informatika
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER
AKAKOM YOGYAKARTA
2012
Modul 3
PROGRAM
VISUAL PROLOG
A. TUJUAN
1) Mengerti dan
dapat menerapkan section-section dasar yang ada di Visual Prolog ( Predicates,
Domains, Clauses, dan Goal ).
2) Mengetahui
section-section lainnya yang ada di
Visual Prolog ( Facts, Constant, dan Global )
3) Mengerti tentang
Compiler Directives.
4) Mengerti dan
dapat menerapkan aritas jamak (multiple arity)
5) Mengerti
konsep aturan (rule) pada prolog dan perbedaannya dengan bahasa lain
6) Mengerti
mengenai konversi tipe otomatis.
B. DASAR TEORI
Program Visual Prolog
1.
Section
dasar Visual Prolog
Program visual prolog terdiri dari 4 section
dasar yaitu section clauses, section predicates, section domains, dan goal.
Section
Clauses
Merupakan section yang paling penting pada
program visual prolog. Section ini tempat meletakkan fakta dan aturan.
Section
Predicates
Sebelum mendefinisikan predikat di section
clauses maka predikat tsb harus dideklarasikan terlebih dahulu di section
predicates. Ketika mendeklarasikan suatu predikat, kita memberi tahu visual
prolog domain dari argumen yang dimiliki predikat tsb. Visual prolog mempunyai
perpustakaan predikat yang kalau dipakai tidak perlu dideklarasikan, karena
sudah built-in. Untuk melihat predikat apa saja serta manfaatnya yang ada
diperpustakaan Visual Prolog dapat melihat help | Contens.
Deklarasi Predikat
Dimulai dengan nama predikat diikuti tanda
kurung buka, kemudian diikuti nol atau lebih argumen dari predikat ( setiap
argumen dipisah dengan tanda koma) kemudian ditutup tanda kurung tutup. Tidak
perlu diakhiri dengan tanda titik.
Nama Predikat
Harus dimulai dengan huruf diikuti dengan
serangkaian huruf, angka dan atau garis bawah. Bisa dimulai dengan huruf besar,
namun sangat direkomendasikan untuk memakai huruf kecil diawal nama predikat.
Panjang nama predikat bisa mencapai 250 karakter.
Argumen
Predikat
Harus sudah dikenal oleh domain Visual
Prolog. Suatu domain bisa merupakan domain standar atau bisa juga domain yang
sudah dideklarasikan pada section domains.
Section
Domains
Setiap domains mempunyai 2 manfaat utama
yaitu kita dapat memberikan nama yang berarti untuk domain, walaupun secara
internal domain tsb sama tipenya dengan domain yang telah ada dan kita juga
dapat mendeklarasikan domain khusus yang digunakan untuk mendeklarasikan
struktur data yang tidak didefinisikan oleh standar domain. Dengan
mendeklarasikan domain dapat mencegah kesalahan logika pada program.
Standar
Domain Visual Prolog
Mempunyai standar domain built-in. Kita dapat
menggunakan standar domain ketika mendeklarasikan tipe dari argumen suatu
predikat. Standar domain sudah dikenal Visual Prolog dan tidak perlu
didefinisikan lagi pada section domains.
Section Goal
Secara esensial, section goal sama dengan
body dari sebuah aturan (rule) yaitu sederetan sub-sub goal. Perbedaan antara
section goal dengan suatu aturan adalah setelah kata kunci goal tidak diikuti
tanda :- dan visual prolog secara otomatis mengeksekusi goal ketika program
dijalankan.
2.
Section
Program Lainnya
Section
Facts
Visual Prolog menyediakan section khusus
untuk mendeklarasikan fakta di program yang menjadi bagian dari database
dinamis yaitu Section Facts. Kata kunci facts untuk memulai section facts.
Visual Prolog menyediakan sejumlah predikat built-in yang mempermudah
penggunaan section fakta dinamis ini.
Section
Contants
Konstanta simbolis dapat digunakan di program
Visual Prolog. Untuk itu sebelumnya dideklarasikan terlebih dahulu.
C.
PERTANYAAN
DAN TUGAS
a.
Nama mhs
yang mengikuti matakuliah Intelejensi Buatan
Program dalam visual prolog:
PREDICATES
nondeterm
intelejensi(symbol,symbol)
nondeterm
pde(symbol,symbol)
nondeterm
so(symbol,symbol)
CLAUSES
intelejensi(irfan,A).
intelejensi(komeng,D).
intelejensi(dati,C).
intelejensi(fatima,B).
intelejensi(maspion,C).
pde(ricky,E).
pde(embang,A).
pde(salmin,D).
pde(vina,B).
pde(sondang,C).
so(pamuji,D).
so(luki,E).
so(sadek,B).
so(yusida,A).
so(eka,A).
GOAL
intelejensi(Orang,
_).
Hasil GOAL:
b.
Nama mhs
yang lulus
PREDICATES Hasil GOAL:
nondeterm intelejensi(symbol,symbol)
nondeterm pde(symbol,symbol)
nondeterm so(symbol,symbol)
lulus(symbol)
tidaklulus(symbol)
CLAUSES
lulus(A).
lulus(B).
lulus(C).
tidaklulus(D).
tidaklulus(E).
intelejensi(irfan,lulus).
intelejensi(komeng,tidaklulus).
intelejensi(dati,lulus).
intelejensi(fatima,lulus).
intelejensi(maspion,lulus).
pde(ricky,tidaklulus).
pde(embang,lulus).
pde(salmin,tidaklulus).
pde(vina,lulus).
pde(sondang,lulus).
so(pamuji,tidaklulus).
so(luki,tidaklulus).
so(sadek,lulus).
so(yusida,lulus).
so(eka,lulus).
GOAL
intelejensi(Orang,lulus);
pde(Orang,lulus);
so(Orang,lulus).
c. Nama Mahasiswa yang tidak lulus Hasil GOAL:
Dari program prolog yang b, GOAL diganti
dengan:
GOAL
intelejensi(Orang,tidaklulus);
pde(Orang,tidaklulus);
so(Orang,tidaklulus).
d.
Seluruh
matakuliah yang diajarkan Hasil
GOAL:
Bagian
Predicates ditambah:
matakul(symbol)
Bagian
Clauses ditambah:
matakul(intelejensi).
matakul(pde).
matakul(so).
Dan Goal
diganti dengan:
GOAL
matakul(Apa).
e. Seluruh Mahasiswa yang ada
PREDICATES
lulus(symbol)
tidaklulus(symbol)
nondeterm kul(symbol,symbol)
CLAUSES
lulus(A).
lulus(B). Hasil GOAL:
lulus(C).
tidaklulus(D).
tidaklulus(E).
kul(irfan,lulus).
kul(komeng,tidaklulus).
kul(dati,lulus).
kul(fatima,lulus).
kul(maspion,lulus).
kul(ricky,tidaklulus).
kul(embang,lulus).
kul(salmin,tidaklulus).
kul(vina,lulus).
kul(sondang,lulus).
kul(pamuji,tidaklulus).
kul(luki,tidaklulus).
kul(sadek,lulus).
kul(yusida,lulus).
kul(eka,lulus).
GOAL
kul(Orang,tidaklulus);
kul(Orang,lulus).
2. Program Rute Jalan
PREDICATES
jalan(symbol,symbol)
rute(symbol,symbol)
cari(symbol,symbol,symbol)
CLAUSES
jalan(sudirman,uripsumoharjo).
jalan(uripsumoharjo,gejayan).
jalan(uripsumoharjo,adisucipo).
jalan(adisucipto,janti).
jalan(janti,gedongkuning).
jalan(gedongkuning,janti).
jalan(janti,adisucipto).
jalan(adisucipto,uripsumoharjo).
jalan(uripsumoharjo,sudirman).
jalan(gejayan,uripsumoharjo).
jalan(adisucipto,babarsari).
jalan(babarsari,adisucipto).
jalan(adisucipto,prambanan).
jalan(prambanan,adisucipto).
jalan(janti,ringroadselatan).
jalan(ringroadselatan,janti).
rute(Awal,Tujuan) :-
cari(Awal,Tujuan,Tujuan).
cari(Awal,Tujuan,_) :-
jalan(Awal,Tujuan),
write("Pergi dari ",Awal," ke
",Tujuan),nl.
cari(Awal,Tujuan,Temp):-
Temp2=Tujuan,
jalan(Lewat,Tujuan),
Lewat<>Temp,
cari(Awal,Lewat,Temp2),
write(" Kemudian dari
",Lewat," ke ",Tujuan),nl.
GOAL
cari(babarsari, prambanan, janti).
HASIL GOAL:
D. PEMBAHASAN
1. Nama mhs
yang mengikuti matakuliah Intelejensi Buatan
PREDICATES
Predicates digunakan untuk mendeklarasikan predikat yang ada.
nondeterm
intelejensi(symbol,symbol)
berfungsi untuk memberitahu compiler visual prolog bahwa predikat tersebut
mempunyai lebih dari satu kemungkinan jawaban. Symbol, symbol yang berada di
dalam tanda kurung berfungsi untuk mendeklarasikan intelejensi (sebuah matakul)
nondeterm
pde(symbol,symbol)
berfungsi untuk memberitahu compiler visual prolog bahwa predikat tersebut
mempunyai lebih dari satu kemungkinan jawaban. Symbol, symbol yang berada di
dalam tanda kurung berfungsi untuk mendeklarasikan pde (sebuah matakul).
nondeterm
so(symbol,symbol)
berfungsi untuk memberitahu compiler visual prolog bahwa predikat tersebut
mempunyai lebih dari satu kemungkinan jawaban. Symbol, symbol yang berada di
dalam tanda kurung berfungsi untuk mendeklarasikan so (sebuah matakul)
CLAUSES
Clauses digunakan untuk mendefinisikan predikat. Clauses ini terdiri dari
fakta dan aturan. Fakta adalah suatu pernyataan atau kebenaran yang diketahui.
Fakta menyatakan hubungan/relasi antara dua obyek atau lebih atau menunjukkan
sifat suatu obyek. Aturan digunakan untuk meningkatkan kemampuan / daya nalar
program sehingga diperlukan suatu rumusan logika. Penulisan dalam prolog baik
fakta maupun aturan harus diakhiri dengan tanda titik.
intelejensi(irfan,A).
Dapat dibaca dengan bahasa natural yaitu “Irfan pada matakuliah intelejensi
mendapat nilai A”. intelejensi disini
merupakan sebuah relasi, irfan dan A merupakan sebuah object. Tanda
titik dibelakang tanda kurung merupakan sebuah fakta.
intelejensi(komeng,D).
Dapat dibaca dengan bahasa natural yaitu “Komeng pada matakuliah
intelejensi mendapat nilai D”. intelejensi disini merupakan sebuah relasi, komeng dan D
merupakan sebuah object. Tanda titik dibelakang tanda kurung merupakan sebuah
fakta.
intelejensi(dati,C).
Dapat dibaca dengan bahasa natural yaitu “Dati pada matakuliah intelejensi mendapat
nilai C”. intelejensi disini merupakan
sebuah relasi, dati dan C merupakan sebuah object. Tanda titik dibelakang tanda
kurung merupakan sebuah fakta.
intelejensi(fatima,B).
Dapat dibaca dengan bahasa natural yaitu “Fatima pada matakuliah intelejensi
mendapat nilai B”. intelejensi disini
merupakan sebuah relasi, fatima dan B merupakan sebuah object. Tanda
titik dibelakang tanda kurung merupakan sebuah fakta.
intelejensi(maspion,C).
Dapat dibaca dengan bahasa natural yaitu “Maspion pada matakuliah intelejensi
mendapat nilai C”. intelejensi disini
merupakan sebuah relasi, maspion dan C merupakan sebuah object. Tanda
titik dibelakang tanda kurung merupakan sebuah fakta.
pde(ricky,E).
Dapat dibaca dengan bahasa natural yaitu “Ricky pada matakuliah PDE
mendapat nilai E”. PDE disini merupakan
sebuah relasi, ricky dan E merupakan sebuah object. Tanda titik dibelakang
tanda kurung merupakan sebuah fakta.
pde(embang,A).
Dapat dibaca dengan bahasa natural yaitu “Embang pada matakuliah PDE
mendapat nilai A”. PDE disini merupakan
sebuah relasi, embang dan A merupakan sebuah object. Tanda titik dibelakang
tanda kurung merupakan sebuah fakta.
pde(salmin,D).
Dapat dibaca dengan bahasa natural yaitu “Salmin pada matakuliah PDE
mendapat nilai D”. PDE disini merupakan
sebuah relasi, salmin dan D merupakan sebuah object. Tanda titik dibelakang
tanda kurung merupakan sebuah fakta.
pde(vina,B).
Dapat dibaca dengan bahasa natural yaitu “Vina pada matakuliah PDE mendapat
nilai B”. PDE disini merupakan sebuah
relasi, vina dan B merupakan sebuah object. Tanda titik dibelakang tanda kurung
merupakan sebuah fakta.
pde(sondang,C).
Dapat dibaca dengan bahasa natural yaitu “Sondang pada matakuliah PDE
mendapat nilai C”. PDE disini merupakan
sebuah relasi, sondang dan C merupakan sebuah object. Tanda titik dibelakang
tanda kurung merupakan sebuah fakta.
so(pamuji,D).
Dapat dibaca dengan bahasa natural yaitu “Pamuji pada matakuliah SO (Sistem
Operasi) mendapat nilai D”. SO disini
merupakan sebuah relasi, pamuji dan D merupakan sebuah object. Tanda
titik dibelakang tanda kurung merupakan sebuah fakta.
so(luki,E).
Dapat dibaca dengan bahasa natural yaitu “Luki pada matakuliah SO (Sistem
Operasi) mendapat nilai E”. SO disini
merupakan sebuah relasi, luki dan E merupakan sebuah object. Tanda titik
dibelakang tanda kurung merupakan sebuah fakta.
so(sadek,B).
Dapat dibaca dengan bahasa natural yaitu “Sadek pada matakuliah SO (Sistem
Operasi) mendapat nilai B”. SO disini
merupakan sebuah relasi, sadek dan B merupakan sebuah object. Tanda
titik dibelakang tanda kurung merupakan sebuah fakta.
so(yusida,A).
Dapat dibaca dengan bahasa natural yaitu “Yusida pada matakuliah SO (Sistem
Operasi) mendapat nilai A”. SO disini
merupakan sebuah relasi, yusida dan A merupakan sebuah object. Tanda titik
dibelakang tanda kurung merupakan sebuah fakta.
so(eka,A).
Dapat dibaca dengan bahasa natural yaitu “Eka pada matakuliah SO (Sistem
Operasi) mendapat nilai A”. SO disini
merupakan sebuah relasi, eka dan A merupakan sebuah object. Tanda titik
dibelakang tanda kurung merupakan sebuah fakta.
GOAL
Goal adalah tempat pertanyaan (query) diberikan atau meminta prolog untuk
mencapai “tujuan” (memberi jawaban) yang dikehendaki. Penulisan dalam prolog
harus diakhiri dengan tanda titik.
intelejensi(Orang,
_).
Tanda garis bawah tunggal merupakan sebuah
variabel anonim yang akan mengabaikan nilai-nilai yang tidak dibutuhkan. Pernyataan dalam GOAL tsb kalau dalam bahasa
natural dapat dibaca dengan “Siapa saja orang yang mengambil matakuliah
Intelejensi?”
b.
Menampilkan Nama
Mahasiswa yang Lulus
PREDICATES
Predicates digunakan untuk mendeklarasikan
predikat yang ada.
nondeterm
intelejensi(symbol,symbol)
berfungsi untuk memberitahu compiler visual prolog bahwa predikat tersebut
mempunyai lebih dari satu kemungkinan jawaban. Symbol, symbol yang berada di
dalam tanda kurung berfungsi untuk mendeklarasikan intelejensi (sebuah matakul)
nondeterm
pde(symbol,symbol)
berfungsi untuk memberitahu compiler visual prolog bahwa predikat tersebut
mempunyai lebih dari satu kemungkinan jawaban. Symbol, symbol yang berada di
dalam tanda kurung berfungsi untuk mendeklarasikan pde (sebuah matakul).
nondeterm
so(symbol,symbol)
berfungsi untuk memberitahu compiler visual
prolog bahwa predikat tersebut mempunyai lebih dari satu kemungkinan jawaban.
Symbol, symbol yang berada di dalam tanda kurung berfungsi untuk
mendeklarasikan so (sebuah matakul)
lulus(symbol)
Symbol disini akan mendeklarasikan / inisialisasi dari lulus.
tidaklulus(symbol)
Symbol disini akan mendeklarasikan / inisialisasi dari tidaklulus.
CLAUSES
Clauses digunakan untuk mendefinisikan
predikat. Clauses ini terdiri dari fakta dan aturan. Fakta adalah suatu
pernyataan atau kebenaran yang diketahui. Fakta menyatakan hubungan/relasi
antara dua obyek atau lebih atau menunjukkan sifat suatu obyek. Aturan
digunakan untuk meningkatkan kemampuan / daya nalar program sehingga diperlukan
suatu rumusan logika. Penulisan dalam prolog baik fakta maupun aturan harus
diakhiri dengan tanda titik.
lulus(A).
Dapat dibaca dengan bahasa natural yaitu “A
maka lulus”. lulus disini merupakan
sebuah relasi, dan A merupakan sebuah object. Tanda titik dibelakang tanda
kurung merupakan sebuah fakta.
lulus(B).
Dapat dibaca dengan bahasa natural yaitu “B
maka lulus”. lulus disini merupakan sebuah
relasi, dan B merupakan sebuah object. Tanda titik dibelakang tanda kurung
merupakan sebuah fakta.
lulus(C).
Dapat dibaca dengan bahasa natural yaitu “C
maka lulus”. lulus disini merupakan
sebuah relasi, dan C merupakan sebuah object. Tanda titik dibelakang tanda
kurung merupakan sebuah fakta.
tidaklulus(D).
Dapat dibaca dengan bahasa natural yaitu “D
maka tidaklulus”. lulus disini merupakan
sebuah relasi, dan D merupakan sebuah object. Tanda titik dibelakang tanda
kurung merupakan sebuah fakta.
tidaklulus(E).
Dapat dibaca dengan bahasa natural yaitu “E
maka tidaklulus”. lulus disini merupakan
sebuah relasi, dan E merupakan sebuah object. Tanda titik dibelakang tanda
kurung merupakan sebuah fakta.
intelejensi(irfan,lulus).
Dapat dibaca dengan bahasa natural yaitu
“Irfan pada matakuliah Intelejensi, lulus”. intelejensi disini merupakan sebuah relasi, irfan dan lulus
merupakan sebuah object. Tanda titik dibelakang tanda kurung merupakan sebuah
fakta.
intelejensi(komeng,tidaklulus).
Dapat dibaca dengan bahasa natural yaitu
“Komeng pada matakuliah Intelejensi, tidaklulus”. intelejensi disini merupakan sebuah relasi, komeng dan
tidaklulus merupakan sebuah object. Tanda titik dibelakang tanda kurung
merupakan sebuah fakta.
intelejensi(dati,lulus).
Dapat dibaca dengan bahasa natural yaitu
“Dati pada matakuliah Intelejensi, lulus”. intelejensi disini merupakan sebuah relasi, dati dan lulus
merupakan sebuah object. Tanda titik dibelakang tanda kurung merupakan sebuah
fakta.
intelejensi(fatima,lulus).
Dapat dibaca dengan bahasa natural yaitu
“Fatima pada matakuliah Intelejensi, lulus”. intelejensi disini merupakan sebuah relasi,fatima dan lulus
merupakan sebuah object. Tanda titik dibelakang tanda kurung merupakan sebuah
fakta.
intelejensi(maspion,lulus).
Dapat dibaca dengan bahasa natural yaitu
“Maspion pada matakuliah Intelejensi, lulus”. intelejensi disini merupakan sebuah relasi, maspion dan lulus
merupakan sebuah object. Tanda titik dibelakang tanda kurung merupakan sebuah
fakta.
pde(ricky,tidaklulus).
Dapat dibaca dengan bahasa natural yaitu
“Ricky pada matakuliah PDE, tidaklulus”. pde disini merupakan sebuah
relasi,ricky dan tidaklulus merupakan sebuah object. Tanda titik dibelakang
tanda kurung merupakan sebuah fakta.
pde(embang,lulus).
Dapat dibaca dengan bahasa natural yaitu
“Embang pada matakuliah PDE, lulus”. pde disini merupakan sebuah relasi, embang
dan lulus merupakan sebuah object. Tanda titik dibelakang tanda kurung
merupakan sebuah fakta.
pde(salmin,tidaklulus).
Dapat dibaca dengan bahasa natural yaitu
“Salmin pada matakuliah PDE, tidaklulus”. pde disini merupakan sebuah relasi,
salmin dan tidaklulus merupakan sebuah object. Tanda titik dibelakang tanda
kurung merupakan sebuah fakta.
pde(vina,lulus).
Dapat dibaca dengan bahasa natural yaitu
“Vina pada matakuliah PDE, lulus”. pde disini merupakan sebuah relasi, vina dan
lulus merupakan sebuah object. Tanda titik dibelakang tanda kurung merupakan
sebuah fakta.
pde(sondang,lulus).
Dapat dibaca dengan bahasa natural yaitu “Sondang
pada matakuliah PDE, lulus”. pde disini merupakan sebuah relasi, sondang dan
lulus merupakan sebuah object. Tanda titik dibelakang tanda kurung merupakan
sebuah fakta.
so(pamuji,tidaklulus).
Dapat dibaca dengan bahasa natural yaitu
“Pamuji pada matakuliah SO, tidaklulus”. pde disini merupakan sebuah relasi,
pamuji dan tidaklulus merupakan sebuah object. Tanda titik dibelakang tanda
kurung merupakan sebuah fakta.
so(luki,tidaklulus).
Dapat dibaca dengan bahasa natural yaitu
“Luki pada matakuliah SO, tidaklulus”. pde disini merupakan sebuah relasi, luki
dan tidaklulus merupakan sebuah object. Tanda titik dibelakang tanda kurung
merupakan sebuah fakta.
so(sadek,lulus).
Dapat dibaca dengan bahasa natural yaitu
“Sadek pada matakuliah SO, lulus”. pde disini merupakan sebuah relasi, sadek
dan lulus merupakan sebuah object. Tanda titik dibelakang tanda kurung
merupakan sebuah fakta.
so(yusida,lulus).
Dapat dibaca dengan bahasa natural yaitu
“Yusida pada matakuliah SO, lulus”. pde disini merupakan sebuah relasi, Yusida
dan lulus merupakan sebuah object. Tanda titik dibelakang tanda kurung
merupakan sebuah fakta.
so(eka,lulus).
Dapat dibaca dengan bahasa natural yaitu “Eka
pada matakuliah SO, lulus”. pde disini merupakan sebuah relasi, eka dan lulus
merupakan sebuah object. Tanda titik dibelakang tanda kurung merupakan sebuah
fakta.
GOAL
Goal adalah tempat pertanyaan (query)
diberikan atau meminta prolog untuk mencapai “tujuan” (memberi jawaban) yang
dikehendaki. Penulisan dalam prolog harus diakhiri dengan tanda titik.
intelejensi(Orang,lulus);
Pernyataan dalam GOAL tsb kalau dalam bahasa
natural dapat dibaca dengan “Siapa saja orang yang mengambil matakuliah
intelejensi dan lulus?” PDE merupakan sebuah relasi, Orang dan lulus merupakan
obyek. Tanda titik koma dibelakang tanda kurung merupakan pernyataan “dan”.
pde(Orang,lulus);
Pernyataan dalam GOAL tsb kalau dalam bahasa
natural dapat dibaca dengan “Siapa saja orang yang mengambil matakuliah PDE dan
lulus?” PDE merupakan sebuah relasi, Orang dan lulus merupakan obyek. Tanda
titik koma dibelakang tanda kurung merupakan pernyataan “dan”.
so(Orang,lulus).
Pernyataan dalam GOAL tsb kalau dalam bahasa
natural dapat dibaca dengan “Siapa saja orang yang mengambil matakuliah PDE dan
lulus?” PDE merupakan sebuah relasi, Orang dan lulus merupakan obyek. Tanda
titik dibelakang tanda kurung merupakan pernyataan fakta.
c.
Menampilkan Nama
Mahasiswa yang tidak lulus
GOAL
Goal adalah tempat pertanyaan (query) diberikan
atau meminta prolog untuk mencapai “tujuan” (memberi jawaban) yang dikehendaki.
Penulisan dalam prolog harus diakhiri dengan tanda titik.
intelejensi(Orang,tidaklulus);
Pernyataan dalam GOAL tsb kalau dalam bahasa
natural dapat dibaca dengan “Siapa saja orang yang mengambil matakuliah
intelejensi dan tidaklulus?” PDE merupakan sebuah relasi, Orang dan tidaklulus
merupakan obyek. Tanda titik koma dibelakang tanda kurung merupakan pernyataan
“dan”.
pde(Orang,tidaklulus);
Pernyataan dalam GOAL tsb kalau dalam bahasa
natural dapat dibaca dengan “Siapa saja orang yang mengambil matakuliah PDE dan
tidaklulus?” PDE merupakan sebuah relasi, Orang dan tidaklulus merupakan obyek.
Tanda titik koma dibelakang tanda kurung merupakan pernyataan “dan”.
so(Orang,tidaklulus).
Pernyataan dalam GOAL tsb kalau dalam bahasa
natural dapat dibaca dengan “Siapa saja orang yang mengambil matakuliah PDE dan
tidaklulus?” PDE merupakan sebuah relasi, Orang dan tidaklulus merupakan obyek.
Tanda titik dibelakang tanda kurung merupakan pernyataan fakta.
d.
Menampilkan
Seluruh Matakuliah yang diajarkan
matakul(symbol)
Symbol disini merupakan pendeklarasian dari matakul.
matakul(intelejensi).
Dapat dibaca dengan bahasa natural yaitu
“Intelejensi adalah mataku”. Matakul disini
merupakan sebuah relasi, dan intelejensi merupakan sebuah object. Tanda
titik dibelakang tanda kurung merupakan sebuah fakta.
matakul(pde).
Dapat dibaca dengan bahasa natural yaitu “PDE
adalah matakul”. Matakul disini
merupakan sebuah relasi, dan pde merupakan sebuah object. Tanda titik
dibelakang tanda kurung merupakan sebuah fakta.
matakul(so).
Dapat dibaca dengan bahasa natural yaitu “SO
adalah matakul”. Matakul disini
merupakan sebuah relasi, dan so merupakan sebuah object. Tanda titik
dibelakang tanda kurung merupakan sebuah fakta.
GOAL
Goal adalah tempat pertanyaan (query)
diberikan atau meminta prolog untuk mencapai “tujuan” (memberi jawaban) yang
dikehendaki. Penulisan dalam prolog harus diakhiri dengan tanda titik.
matakul(Apa).
Dapat dibaca dengan bahasa natural yaitu “Apa
saja matakul yang ada?”. Matakul disini
merupakan sebuah relasi, dan Apa merupakan sebuah pertanyaan. Tanda
titik dibelakang tanda kurung merupakan sebuah fakta.
e. Seluruh
Mahasiswa yang ada
PREDICATES
Predicates digunakan untuk mendeklarasikan
predikat yang ada.
lulus(symbol)
Symbol disini akan mendeklarasikan / inisialisasi dari lulus.
tidaklulus(symbol)
Symbol disini akan mendeklarasikan / inisialisasi dari tidaklulus.
nondeterm kul(symbol,symbol)
berfungsi untuk memberitahu compiler visual prolog bahwa predikat tersebut
mempunyai lebih dari satu kemungkinan jawaban. Symbol, symbol yang berada di
dalam tanda kurung berfungsi untuk mendeklarasikan kul.
CLAUSES
Clauses digunakan untuk mendefinisikan
predikat. Clauses ini terdiri dari fakta dan aturan. Fakta adalah suatu
pernyataan atau kebenaran yang diketahui. Fakta menyatakan hubungan/relasi
antara dua obyek atau lebih atau menunjukkan sifat suatu obyek. Aturan
digunakan untuk meningkatkan kemampuan / daya nalar program sehingga diperlukan
suatu rumusan logika. Penulisan dalam prolog baik fakta maupun aturan harus
diakhiri dengan tanda titik.
lulus(A).
Dapat dibaca dengan bahasa natural yaitu “A
maka lulus”. lulus disini merupakan sebuah
relasi, dan A merupakan sebuah object. Tanda titik dibelakang tanda kurung
merupakan sebuah fakta.
lulus(B).
Dapat dibaca dengan bahasa natural yaitu “B
maka lulus”. lulus disini merupakan
sebuah relasi, dan B merupakan sebuah object. Tanda titik dibelakang tanda
kurung merupakan sebuah fakta.
lulus(C).
Dapat dibaca dengan bahasa natural yaitu “C
maka lulus”. lulus disini merupakan
sebuah relasi, dan C merupakan sebuah object. Tanda titik dibelakang tanda
kurung merupakan sebuah fakta.
tidaklulus(D).
Dapat dibaca dengan bahasa natural yaitu “D
maka tidaklulus”. lulus disini merupakan
sebuah relasi, dan D merupakan sebuah object. Tanda titik dibelakang tanda
kurung merupakan sebuah fakta.
tidaklulus(E).
Dapat dibaca dengan bahasa natural yaitu “E maka
tidaklulus”. lulus disini merupakan
sebuah relasi, dan E merupakan sebuah object. Tanda titik dibelakang tanda
kurung merupakan sebuah fakta.
kul(irfan,lulus).
Dapat dibaca dengan bahasa natural yaitu
“Irfan dalam kuliahnya, lulus”. Kul disini
merupakan sebuah relasi, irfan dan lulus merupakan sebuah object. Tanda
titik dibelakang tanda kurung merupakan sebuah fakta.
kul(komeng,tidaklulus).
Dapat dibaca dengan bahasa natural yaitu
“Komeng dalam kuliahnya, tidaklulus”. kul disini merupakan sebuah relasi, Komeng dan
tidaklulus merupakan sebuah object. Tanda titik dibelakang tanda kurung
merupakan sebuah fakta.
kul(dati,lulus).
Dapat dibaca dengan bahasa natural yaitu
“Dati dalam kuliahnya, lulus”. Kul disini
merupakan sebuah relasi, Dati dan lulus merupakan sebuah object. Tanda
titik dibelakang tanda kurung merupakan sebuah fakta.
kul(fatima,lulus).
Dapat dibaca dengan bahasa natural yaitu
“Fatima dalam kuliahnya, lulus”. Kul disini
merupakan sebuah relasi, fatima dan lulus merupakan sebuah object. Tanda
titik dibelakang tanda kurung merupakan sebuah fakta.
kul(maspion,lulus).
Dapat dibaca dengan bahasa natural yaitu
“Maspion dalam kuliahnya, lulus”. Kul disini
merupakan sebuah relasi, maspion dan lulus merupakan sebuah object.
Tanda titik dibelakang tanda kurung merupakan sebuah fakta.
kul(ricky,tidaklulus).
Dapat dibaca dengan bahasa natural yaitu
“Ricky dalam kuliahnya, tidaklulus”. kul disini
merupakan sebuah relasi, ricky dan tidaklulus merupakan sebuah object.
Tanda titik dibelakang tanda kurung merupakan sebuah fakta.
kul(embang,lulus).
Dapat dibaca dengan bahasa natural yaitu
“Embang dalam kuliahnya, lulus”. Kul disini
merupakan sebuah relasi, embang dan lulus merupakan sebuah object. Tanda
titik dibelakang tanda kurung merupakan sebuah fakta.
kul(salmin,tidaklulus).
Dapat dibaca dengan bahasa natural yaitu
“Salmin dalam kuliahnya, tidaklulus”. kul disini merupakan sebuah relasi, salmin dan
tidaklulus merupakan sebuah object. Tanda titik dibelakang tanda kurung
merupakan sebuah fakta.
kul(vina,lulus).
Dapat dibaca dengan bahasa natural yaitu
“Vina dalam kuliahnya, lulus”. Kul disini
merupakan sebuah relasi, vina dan lulus merupakan sebuah object. Tanda
titik dibelakang tanda kurung merupakan sebuah fakta.
kul(sondang,lulus).
Dapat dibaca dengan bahasa natural yaitu
“Sondang dalam kuliahnya, lulus”. Kul disini
merupakan sebuah relasi, sondang dan lulus merupakan sebuah object.
Tanda titik dibelakang tanda kurung merupakan sebuah fakta.
kul(pamuji,tidaklulus).
Dapat dibaca dengan bahasa natural yaitu
“Pamuji dalam kuliahnya, tidaklulus”. kul disini merupakan sebuah relasi, pamuji dan
tidaklulus merupakan sebuah object. Tanda titik dibelakang tanda kurung
merupakan sebuah fakta.
kul(luki,tidaklulus).
Dapat dibaca dengan bahasa natural yaitu
“Luki dalam kuliahnya, tidaklulus”. kul disini
merupakan sebuah relasi, luki dan tidaklulus merupakan sebuah object.
Tanda titik dibelakang tanda kurung merupakan sebuah fakta.
kul(sadek,lulus).
Dapat dibaca dengan bahasa natural yaitu
“Sadek dalam kuliahnya, lulus”. Kul disini
merupakan sebuah relasi, sadek dan lulus merupakan sebuah object. Tanda
titik dibelakang tanda kurung merupakan sebuah fakta.
kul(yusida,lulus).
Dapat dibaca dengan bahasa natural yaitu
“Yusida dalam kuliahnya, lulus”. Kul disini
merupakan sebuah relasi, yusida dan lulus merupakan sebuah object. Tanda
titik dibelakang tanda kurung merupakan sebuah fakta.
kul(eka,lulus).
Dapat dibaca dengan bahasa natural yaitu “Eka
dalam kuliahnya, lulus”. Kul disini
merupakan sebuah relasi, eka dan lulus merupakan sebuah object. Tanda
titik dibelakang tanda kurung merupakan sebuah fakta.
GOAL
Goal adalah tempat pertanyaan (query)
diberikan atau meminta prolog untuk mencapai “tujuan” (memberi jawaban) yang
dikehendaki. Penulisan dalam prolog harus diakhiri dengan tanda titik.
kul(Orang,tidaklulus);
Dapat dibaca dengan bahasa natural yaitu “Siapakah
orang yang kuliah tidak lulus?”. Kul disini
merupakan sebuah relasi, orang dan tidaklulus merupakan sebuah object.
Tanda titik dibelakang tanda kurung merupakan sebuah fakta.
kul(Orang,lulus).
Dapat dibaca dengan bahasa natural yaitu
“Siapakah orang yang kuliah dan lulus?”. Kul disini merupakan sebuah relasi, orang dan lulus
merupakan sebuah object. Tanda titik dibelakang tanda kurung merupakan sebuah
fakta.
2. Program Rute
Jalan
PREDICATES
Predicates digunakan untuk mendeklarasikan
predikat yang ada.
jalan(symbol,symbol)
Symbol disini digunakan untuk pendeklarasian dari jalan.
rute(symbol,symbol)
Symbol disini digunakan untuk pendeklarasian dari rute.
cari(symbol,symbol,symbol)
Symbol disini digunakan untuk pendeklarasian dari cari.
CLAUSES
Clauses digunakan untuk mendefinisikan
predikat. Clauses ini terdiri dari fakta dan aturan. Fakta adalah suatu
pernyataan atau kebenaran yang diketahui. Fakta menyatakan hubungan/relasi
antara dua obyek atau lebih atau menunjukkan sifat suatu obyek. Aturan
digunakan untuk meningkatkan kemampuan / daya nalar program sehingga diperlukan
suatu rumusan logika. Penulisan dalam prolog baik fakta maupun aturan harus
diakhiri dengan tanda titik.
jalan(sudirman,uripsumoharjo).
Dapat dibaca dengan bahasa natural yaitu
“Sudirman ke jalan Uripsumoharjo”. Jalan merupakan sebuah relasi, sudirman dan
uripsumoharjo merupakan object.
jalan(uripsumoharjo,gejayan).
Dapat dibaca dengan bahasa natural yaitu
“Uripsumoharjo ke jalan Gejayan”. Jalan merupakan sebuah relasi, uripsumoharjo
dan gejayan uripsumoharjo merupakan object.
jalan(uripsumoharjo,adisucipo).
Dapat dibaca dengan bahasa natural yaitu
“Uripsumoharjo ke jalan adisucipto”. Jalan merupakan sebuah relasi,
uripsumoharjo dan adisucipto merupakan object.
jalan(adisucipto,janti).
Dapat dibaca dengan bahasa natural yaitu
“adisucipto ke jalan Janti”. Jalan merupakan sebuah relasi, adisucipto dan
janti merupakan object.
jalan(janti,gedongkuning).
Dapat dibaca dengan bahasa natural yaitu
“Janti ke jalan Gedongkuning”. Jalan merupakan sebuah relasi, Janti dan
Gedongkuning merupakan object.
jalan(gedongkuning,janti).
Dapat dibaca dengan bahasa natural yaitu
“Gedongkuning ke jalan Janti”. Jalan merupakan sebuah relasi, gedongkuning dan
janti merupakan object.
jalan(janti,adisucipto).
Dapat dibaca dengan bahasa natural yaitu
“Janti ke jalan adisucipto”. Jalan merupakan sebuah relasi, janti dan
adisucipto merupakan object.
jalan(adisucipto,uripsumoharjo).
Dapat dibaca dengan bahasa natural yaitu
“adisucipto ke jalan uripsumoharjo”. Jalan merupakan sebuah relasi, adisucipto
dan uripsumoharjo merupakan object.
jalan(uripsumoharjo,sudirman).
Dapat dibaca dengan bahasa natural yaitu
“Uripsumoharjo ke jalan sudirman”. Jalan merupakan sebuah relasi, uripsumoharjo
dan sudirman merupakan object.
jalan(gejayan,uripsumoharjo).
Dapat dibaca dengan bahasa natural yaitu
“Gejayan ke jalan uripsumoharjo”. Jalan merupakan sebuah relasi, Gejayan dan
uripsumoharjo merupakan object.
jalan(adisucipto,babarsari).
Dapat dibaca dengan bahasa natural yaitu
“Adisucipto ke jalan Babarsari”. Jalan merupakan sebuah relasi, adisucipto dan
Babarsari merupakan object.
jalan(babarsari,adisucipto).
Dapat dibaca dengan bahasa natural yaitu
“babarsari ke jalan adisucipto”. Jalan merupakan sebuah relasi,babarsari dan
adisucipto merupakan object.
jalan(adisucipto,prambanan).
Dapat dibaca dengan bahasa natural yaitu
“Adisucipto ke jalan Prambanan”. Jalan merupakan sebuah relasi, adisucipto dan
prambanan merupakan object.
jalan(prambanan,adisucipto).
Dapat dibaca dengan bahasa natural yaitu
“Prambanan ke jalan adisucipto”. Jalan merupakan sebuah relasi,prambanan dan
adisucipto merupakan object.
jalan(janti,ringroadselatan).
Dapat dibaca dengan bahasa natural yaitu
“Janti ke jalan ringroadselatan”. Jalan merupakan sebuah relasi, Janti dan
ringroadselatan merupakan object.
jalan(ringroadselatan,janti).
Dapat dibaca dengan bahasa natural yaitu
“ringroadselatan ke jalan janti”. Jalan merupakan sebuah relasi, ringroadselatan
dan janti merupakan object.
rute(Awal,Tujuan)
:-
Rute merupakan sebuah relasi, Awal dan Tujuan merupakan obyek. Dan tanda
“:-“ merupakan pernyataan jika.
cari(Awal,Tujuan,Tujuan).
Cari merupakan sebuah relasi. Awal, tujuan,
dan tujuan merupakan obyek yang akan di deklarasikan ke cari.
cari(Awal,Tujuan,_) :-
Cari merupakan sebuah relasi. Awal dan tujuan
merupakan obyek yang akan di deklarasikan ke cari. Dan tanda “:-“ merupakan
pernyataan jika.
jalan(Awal,Tujuan),
Jalan merupakan sebuah relasi. Awal dan
tujuan merupakan obyek yang akan di deklarasikan ke cari. Dan tanda “,“
merupakan pernyataan dan.
write("Pergi dari ",Awal," ke
",Tujuan),nl.
Write merupakan perintah untuk pengawalan
tulisan. Sedangkan tulisan yang berada diantara dua tanda petik tsb adalah
tulisan yang akan tampil, kata Awal disitu akan mendeklarasikan dari obyek awal. Begitu juga dengan tujuan.
cari(Awal,Tujuan,Temp):-
Cari merupakan sebuah relasi. Awal, tujuan,
temp merupakan obyek yang akan di deklarasikan ke cari. Dan tanda “:-“
merupakan pernyataan jika.
Temp2=Tujuan,
jalan(Lewat,Tujuan),
Jalan merupakan sebuah relasi. Awal dan
tujuan merupakan obyek yang akan di deklarasikan ke cari. Dan tanda “,“
merupakan pernyataan dan.
Lewat<>Temp,
cari(Awal,Lewat,Temp2),
write("
Kemudian dari ",Lewat," ke ",Tujuan),nl.
Write merupakan perintah untuk pengawalan
tulisan. Sedangkan tulisan yang berada diantara dua tanda petik tsb adalah
tulisan yang akan tampil, kata Awal disitu akan mendeklarasikan dari obyek awal. Begitu juga dengan tujuan.
GOAL
Goal adalah tempat pertanyaan (query)
diberikan atau meminta prolog untuk mencapai “tujuan” (memberi jawaban) yang
dikehendaki. Penulisan dalam prolog harus diakhiri dengan tanda titik.
cari(babarsari,
prambanan, janti).
E. Kesimpulan
Dalam Visual
Prolog memperbolehkan untuk mendeklarasikan beberapa domain, predikat dan
klausa menjadi global. Caranya dengan menset secara terpisah section global dinamis.
Rule pada prolog ketika kebenaran
sebuah fakta tergantung pada kesuksesan dari satu atau lebih fakta yang lain.
Aturan terdiri dari 2 bagian yaitu Head dan Body.
F.
LAMPIRAN
Listing (
Terlampir ).