Pages

Stop Exploitasi Hutan Indonesia!

Rabu, 26 Desember 2012

Laporan Praktikum Kecerdasan Buatan Modul 3


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