LAPORAN PRAKTIKUM
KECERDASAN BUATAN
MODUL 3
NAMA: TRI WIJAYANTO
NIM: 115410126
JURUSAN: TI/S1
LABORATORIUM TERPADU
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AKAKOM
YOGYAKARATA
2012
PEMBAHASAN PRAKTIKUM MODUL 3
PRAKTIK 1
DOMAINS
kali,jumlah
= integer
Pembahasan : Perintah di
atas merupakan section domains yang mendeklarasikan variable kali, dan jumlah dengan tipe data integer.
PREDICATES
tambahkan(jumlah,jumlah,jumlah)
kalikan(kali,kali,kali)
Pembahasan
: Section Predicates merupakan
sebuah pendeklarasian beberapa variable dengan tipe datanya. Di section ini
terdapat variabel tambahkan dengan
pernyataan variable jumlah.dan
variable kalikan dengan pernyataan
variable kali, yang telah di
deklarasi pada Section Domains di atas. Kedua variabel tersebut mempunyai
3 atribut yaitu
variabel jumlah yang bertipe integer dan variable kalikan yang
mempunyai 3 atribut kali yang bertipe integer juga.
CLAUSES à Tempat aturan dan
fakta-fakta.
tambahkan(X,Y,Jumlah):-
Jumlah=X+Y.
kalikan(X,Y,Kali):-
Kali=X*Y.
Pembahasan
: Sintaks diatas
dapat juga dibaca tambahkan x dan y dan tampung hasilnya dalam variabel jumlah
jika jumlah = X+Y.
Dan kalikan(X,Y,Kali) :-Kali = X*Y berarti bahwa sintak
tersebu
dapat juga dibaca kalikan x dan y dan tampung hasilnya dalam variabel Kali jika
Kali = X*Y.
GOAL
tambahkan(32,54,Jumlah).
Pembahasan : Sintaks diatas merupakan sebuah Goal dengan
pernyataan yang ingin di uji adalah proses untuk menambahkan bilangan 32 dengan
54, dan
hasil runningnya adalah sebagai berikut :
HASIL
1.
Ganti goal untuk mencari hasil perkalian 13 dengan 25
GOAL
kalikan(13,25,Jumlah).
2.
HASIL
Pembahasan
: Pada
Section Goal diganti dengan mendeklarasikan variabel kalikan dengan pernyataan
yang terdapat di dalam kurung yaitu 13
dan 25. Pernyataan tersebut dugunakan untuk mecari hasil kali dari 13 dengan 25 yang memiliki hasil keluaran
325.
3.
Program
DOMAINS
merek,warna = symbol
usia = byte
harga, kilometer = ulong
Pembahasan : Pada section domains di atas,
terdapat pendeklarasian beberapa variabel yaitu merek dan warna dengan
tipe data symbol, variable usia dengan tipe data byte, serta variable harga dan kilometer dengan tipe data ulong.
PREDICATES
nondeterm mobil(merek,kilometer,usia,warna,harga)
Pembahasan : Merupakan sebuah predicate yang didalamnya terdapat
pendeklarasian variabel mobil, yang
memiliki merek, kilometer, usia, warna dan harga yang memiliki
sifat nondeterministic dan memiliki atribut yang
tipenya sesuai dengan yang dideklarasikan pada domain. nondeterm sendiri ialah berfungsi
untuk memberi tahu compiler bahwa predikat tersebut mempunyai lebih dari satu
kemungkinan jawaban (non-deterministik). Variable mobil dan dengan beberapa pernyataan dari section domains di
deklarasikan di variable mobil.
CLAUSES à Tempat aturan dan fakta-fakta.
mobil(atoz,130000,3,merah,120000000).
mobil(karimun,90000,4,silver,100000000).
mobil(ceria,8000,1,hitam,75000000).
Pembahasan : Section di atas merupakan section clauses yang
berfungsi sebagai pendeklarasian fakta-fakta yang berkaitan dengan variabel
sebelumnya.
GOAL
mobil(karimun, 90000,4, silver,
100000000).
Pembahasan : Section goal
berfungsi untuk menampilkan hasil apakah variabel mobil dengan kriteria (karimun, 90000,4, silver, 100000000) ada ataukah tidak, sehingga
memiliki hasil yaitu yes, yang berarti kriteria yang di cari tersebut terpenuhi
/ ada. Hasilnya ada dibawah ini :
Hasil
4. Ganti goal untukmencarimobildengan harga dibawah 100 juta
rupiah.
DOMAINS
merk,warna=symbol
usia=byte
harga,kilometer=ulong
Pembahasan : Pada section domains di atas,
terdapat pendeklarasian beberapa variabel yaitu merek dan warna dengan
tipe data symbol, variable usia dengan tipe data byte, serta variable harga dan kilometer dengan tipe data ulong.
PREDICATES
nondetermmobil(merk,kilometer,usia,warna,harga)
nondetermcari_mobil(merk,harga)
Pembahasan : Merupakan sebuah predicate
yang didalamnya terdapat pendeklarasian
variabel mobil, yang memiliki merek, kilometer, usia, warna dan harga yang memiliki sifat
nondeterministic dan memiliki atribut yang tipenya sesuai dengan yang
dideklarasikan pada domain. nondeterm sendiri ialah berfungsi untuk memberi tahu compiler bahwa predikat
tersebut mempunyai lebih dari satu kemungkinan jawaban (non-deterministik).
Variable mobil dan dengan beberapa
pernyataan dari section domains di deklarasikan di variable mobil.
CLAUSES
cari_mobil(Merk,Harga):- mobil(Merk,_,_,_,Harga),
Harga<100000000.
mobil(atoz,130000,3,merah,120000000).
mobil(karimun,90000,4,silver,100000000).
mobil(ceria,8000,1,hitam,75000000).
Pembahasan : Section di atas merupakan section
clauses yang berfungsi sebagai pendeklarasian fakta-fakta yang berkaitan dengan
variabel sebelumnya. Pada section ini ada penambahan kriteria mobil yang dicari
yaitu mobil dengan harga kurang dari 100 juta .
GOAL
cari_mobil(Merk,Harga).
Pembahasan : Section goal,
menampilkan pendeklarasian perintah “carimobil(Merek,Harga).
Berarti variabel cari mobil memiliki kriteria merk dan harga, sehingga pada
hasil keluaran hanya akan ditampilkan mobil dengan merk serta harganya saja ,
tidak ada kritera lainnya.
5.
Hasil
6.
Program
PREDICATES
nondeterm suka(symbol,symbol)
Pembahasan
: Bagian ini merupakan bagian yang
mendeklarasikan relasi
antara argument - argumen, untuk program ini predikat yang akan dideklarasikan
bernama suka. Dan bertipe symbol.
Kata kunci nondeterm pada program
diatas berfungsi untuk memberitahu ke compiler Visual Prolog bahwa predikat
tersebut mempunyai lebih dari satu kemungkinan jawaban.
CLAUSES à Tempat aturan dan fakta-fakta.
suka(asep,membaca).
suka(asari,computers).
suka(nunung,bulutangkis).
suka(vida,bulutangkis).
suka(astana,renang).
suka(astana,membaca).
Pembahasan :
Di
section clauses, merupakan aturan yang digunakan dalam setiap program di Visual
Prolog. Disini terdapat pendeklarasian data pada variable suka.
Sehingga visual prolog akan
menggunakan fakta-fakta tersebut untuk mendapatkan jawaban yang benar
GOAL
suka(Orang, membaca),
suka(Orang, renang).
Pembahasan : Bagian
ini dimaksudkan untuk mencari siapa orang yang suka membaca dan siapa orang
yang suka renang. setelah dicari oleh visual prolog pada bagian clauses, maka
diperoleh hasil sebagai berikut :
7.
Hasil
8.
GOAL
suka(Orang, bulutangkis).
Pembahasan : Ketika goal diubah seperti perintah
diatas, maka akan memperoleh hasil yang berbeda. Karena pada section GOAL yang
ini ditanyakan siapa orang yang suka bulu tangkis, maka akan memperoleh hasil
sebagai berikut:
9.
Hasil
10.
GOAL
suka(vida,
bulutangkis),
suka(astana,
computer).
Pembahasan : Sama seperti perintah
sebelumnya, ketika goal diubah seperti perintah diatas, maka akan memperoleh
hasil yang berbeda. Karena pada section GOAL yang ini ditanyakan siapa orang
yang suka bulu tangkis dan sekaligus suka komputer, maka akan memperoleh hasil
sebagai berikut:
Hasil
TUGAS
·
Program
rute jalan
PREDICATES
nondeterm jalan(symbol,symbol)
nondeterm rute(symbol,symbol)
nondeterm cari(symbol,symbol,symbol)
CLAUSES
jalan(sudirman,oeripsumoharjo).
jalan(oeripsumoharjo,gejayan).
jalan(oeripsumoharjo,adisucipto).
jalan(adisucipto,janti).
jalan(janti,gedongkuning).
jalan(gedongkuning,janti).
jalan(janti,adisucipto).
jalan(adisucipto,oeripsumoharjo).
jalan(oeripsumoharjo,sudirman).
jalan(gejayan,oeripsumoharjo).
jalan(adisucipto,babarsari).
jalan(babarsari,adisucipto).
jalan(adisucipto,prambanan).
jalan(prambanan,adisucipto).
jalan(janti,rinroadselatan).
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,Tujuan,Temp2),
write("kemudian dari",Lewat,"
ke ",Tujuan),nl.
GOAL
Rute(janti,adisucipto).
Hasilnya:
LISTING
TERLAMPIR
0 komentar:
Posting Komentar