Pages

Stop Exploitasi Hutan Indonesia!

Kamis, 27 Desember 2012

Laporan Praktikum Kecerdasan Buatan Modul 2


LAPORAN PRAKTIKUM
KECERDASAN BUATAN
MODUL 2




Oleh :
TRI WIJAYANTO
115410126 / TI

LABORATORIUM TERPADU
SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AKAKOM YOGYAKARATA
2012


PEMBAHASAN MODUL 2
Praktik 1
Predicates Γ     Pada solution predicates terdapat 5 (Lima) Variabel dan beberapa tipe data yaitu; dapat_membeli dengan tipe data (symbol, symbol), orang dengan tipe data (symbol), mobil dengan tipe data (symbol), suka dengan tipe data (symbol, symbol), dan dijual dengan tipe data (symbol). Nondeterm berfungsi untuk memberi tahu compiler bahwa predikat tersebut mempunyai lebih dari satu kemungkinan jawaban (non-deterministik).
     nondeterm dapat_membeli (symbol, symbol)   Γ     variabel dapat_membeli bertipe symbol, dengan menggunakan Nondeterm berfungsi untuk memberi tahu compiler bahwa predikat tersebut mempunyai lebih dari satu kemungkinan jawaban
nondeterm orang (symbol)   Γ     variabel orang bertipe symbol dengan menggunakan nondeterm
nondeterm mobil (symbol)   Γ     variabel mobil bertipe symbol dengan menggunakan nondeterm
     suka (symbol, symbol) Γ     variabel suka bertipe symbol
     dijual (symbol) Γ     variabel dijual bertipe symbol
script diatas merupakan sebuah aturan yang berlaku di dalam program ini.
KETERANGAN : Symbol merupakan suatu barisan karakter, diimplementasikan sebagai pointer ke suatu kunci hash dalam suatu tabel symbol yang membuat string, sintaksnya sama seperti string.
clauses        Γ     merupakan sebuah aturan yang berlaku di sebuah script program.
      dapat_membeli (X,Y):-
     orang (X),
     mobil (Y),
     suka (X, Y),
     dijual (Y).
Γ¨ script diatas merupakan sebuah aturan yang berlaku di dalam program ini. X dan Y merupakan sebuah variabel yang akan berfungsi untuk pernyataan dalam script selanjutnya.
     orang (nur).    Γ     Nur adalah orang
     orang (yudi).   Γ     Yudi adalah orang
     orang (dian).   Γ     Dian adalah orang

     orang (heni).   Γ     Heni adalah orang

     mobil (atoz).   Γ     atoz adalah mobil
     mobil (kijang). Γ     kijang adalah mobil

     suka (dian, atoz).   Γ     dian suka mobil atoz
     suka (yudi, pecel).  Γ     yudi suka pecel
     suka (heri, buku).   Γ     heri suka buku
     suka (nur, komputer). Γ     nur suka komputer

     Dijual (kijang).     Γ     Mobil kijang dijual
     Dijual (atoz).  Γ     Mobil atoz dijual
     Dijual (buku).  Γ     Buku dijual
Script diatas merupakan script pernyataan dari variabel-variabel yang ada, yaitu ; orang, mobil, suka, dan dijual. Dengan tipe data yang telah ditentukan pada solution predicates.
Goal Γ     merupakan pernyataan hasil akhir, yang akan menentukan berhasil atau tidaknya suatu program.
   dapat_membeli (Siapa, Apa). Γ      siapa dapat membeli apa?
Γ¨ Jadi hasil goalnya mencari Siapa (orang) dan Apa (Mobil).
HASIL



Praktik 2
Tambaakan fakta pada bagian CLAUSES
Menambahkan fakta pada Solution clauses ”suka (heni, kijang)” setelah dijalankan program tersebut maka hasilnya seperti gambar dibawah ini:
suka (heni, kijang)       Γ     heni suka mobil kijang.
HASIL



PEMBAHASAN : Hasil output di atas berubah dari hasil awal karena pada clauses diubah sehingga mempengaruhi hasil output. Pada solution goal diganti dengan ”suka (Siapa,_).” Maka hasil goal akan terfokus pada variabel suka. Outputnya seperti dibawah ini;
Siapa=dian
Siapa=yudi
Siapa=heri
Siapa=nur
Siapa=heni
5 Solutions
Maka akan tampil semua data yang terdapat dalam variabel suka.

Praktik 3
Jika Goal di ganti dengan
Isi dari PREDICATES dan KLAUSES SAMA NAMUN GOALnya yang berberda, maka
·         suka (_,Apa).     Γ     … suka apa, sintak ini akan mengarahkan goal kepada semua object yang disuka oleh object sebelah kiri. Contoh : object kirim : heri , maka prolog akan menjawab buku. Hal ini karena prolog tahu jika heri suka buku.
§  Maka hasilnya : Maka akan tampil data barang/benda yang terdapat di variabel suka.

·         suka (Siapa, _).  Γ  siapa suka , sintak ini akan mengarahkan goal kepada semua object yang menyukai object sebelah kanan. Contoh: objek kanan : pecel maka prolog akan secara otomatis menjawab yudi. Hal ini karena prolog tahu bahwa yudilah yang suka pecel.
§  Maka hasilnya : Maka akan tampil data barang/benda yang terdapat di variable siapa.

  
·         dapat_membeli (_, Apa). Γ    … dapat membeli apa, sintak ini mengarahkan goal kepada object kanan yang dapat dibeli oleh object kiri. Contoh: object kiri : dian. Maka jawabannya adalah atoz. Hal ini karena prolog tahu bahwa yang dapat membeli atoz adalah dian.
§  Maka hasilnya : Maka akan tampil data yang menyatakan dapat membeli apa (barang/benda).

 
·         dapat membeli (Siapa, _).    Γ     Siapa dapat membeli … , sintak ini mengarahkan goal kepada object kiri yang dapat membeli object kanan. Contoh: object kanan: kijang. Maka jawabannya adalah heni. Hal ini karena prolog tahu bahwa kijang dapat dibeli oleh heni.
§     Maka hasilnya :
  
 






TUGAS MODUL 2
Jawaban
1.  Ubah bahasa prolog berikut menjadi bahasa natural:
a.  Orang (dian) .
Dibaca dian adalah orang.
b.  Mobil (atoz) .
Dibaca atoz adalah merek sebuah mobil.
c.  Suka (dian, atoz) .
Dibaca dian suka mobil atoz.
d.  Dijual (atoz) .
Dibaca dijual mobil merk atoz
e.  Dapat_membeli (X,Y) .
Dibaca X dapat membeli Y
Orang (X) ,
Dibaca X adalah orang.
Mobil (Y) ,
Dibaca Y adalah mobil.
Suka(X,Y) ,
Dibaca X suka Y
Dijual(Y) .
Dibaca Y dijual.
f.  Suka (_,Apa) .
Dibaca Apa yang disukai.

2.  Ubah bahasa natural berikut menjadi bahasa Prolog:
a.  Ricky mempunyai hobi bermain catur.
Hobi (ricky, catur).

b.  Embang orangnya pemalas.
Pemalas (embang) .

c.  Yusida seorang vegetarian.
Vegetarian (yusida) .

d.  Kusdiar pandai bermain gitar.
Pandai(kusdiar,gitar) .

e.  Mobil yang berwarna merah itu milik sadek, bermerk BMW.
Mobil (sadek, merah) dan mobil(sadek, bmw) .

f.  Awan seorang pemain piano, berasal dari pontianak bersuku jawa.
Pemain_piano(awan) dan pontianak(asal); jawa (suku) .

g.  Seseorang dikatakan baik jika mempunyai sifat penyayang dan dermawan.
Baik (orang) :- sifat (penyayang,dermawan).

h.  Seseorang dikatakan pintar jika salah satu dari Matematika atau Ipa atau IPS mendapat nilai tinggi.
Pintar (orang) :- mendapat_nilai_tinggi (matematika) ; mendapat_nilai_tinggi (ipa);
mendapat_nilai_tinggi (ips)

i.  Setiap orang pasti mati.
Orang (setiap,mati) .

3.  Diberiakn fakta sebagai berikut:
Anak (Jhon, James).
Anak (James, Peter).
Istri (Mary, Peter).
Anak (Sue, Ann).
Istri (Ann, james).
Pria (Jhon).
Pria (james).
Pria (Peter).
Wanita (Mary).
Wanita (Sue).
Wanita (Ann).
Usia (jhon, 10).
Usia(Sue, 13).
Dari fakta diatas buatlah program dalam bahasa PROLOG dan ujilah dengan rule-rule sebagai berikut:
a.  Cucu
b.  Ibu
c.  Adik
d.  Kakek

penyelesaian:
a. cucu
PREDICATES
   nondeterm anak (symbol,symbol)
   istri (symbol,symbol)
   pria (symbol)
   nondeterm wanita (symbol)
   usia (symbol,integer)
   nondeterm cucu (symbol,symbol)
  
CLAUSES
   cucu (X,Z) :-
   anak (X,Y) ,
   anak (Y,Z) .
  
   cucu (X,Y) :-
        anak (X, W) ,
        istri (W, Z) ,
        anak (Z, Y) .
       
   anak (jhon, james) .
   anak (james, peter) .
   anak (andi, peter) .
   anak (sue, ann) .

   istri (mary, peter) .
   istri (ann, james) .

   pria (jhon) .
   pria (james) .
   pria (peter) .
   pria (andi) .

   wanita (mary) .
   wanita (sue) .
   wanita (ann) .

   usia (john , 10) .
   usia (sue, 13) .
  
GOAL
   cucu (X, Y) .
  
  

b. ibu
PREDICATES
   nondeterm anak (symbol,symbol)
   istri (symbol,symbol)
   pria (symbol)
   nondeterm wanita (symbol)
   usia (symbol,integer)
   nondeterm ibu (symbol,symbol)
  
CLAUSES
   ibu (X,Y) :-
   anak (Y,Z) ,
   wanita (X) ,
   pria (Z) ,
   istri (X,Z) .
    
   ibu (X,Y) :-
        anak (Y,X) ,
        wanita (X) .
  
   anak (jhon, james) .
   anak (james, peter) .
   anak (andi, peter) .
   anak (sue, ann) .

   istri (mary, peter) .
   istri (ann, james) .

   pria (jhon) .
   pria (james) .
   pria (peter) .
   pria (andi) .

   wanita (mary) .
   wanita (sue) .
   wanita (ann) .

   usia (john , 10) .
   usia (sue, 13) .
  
GOAL
   ibu (Siapa, Ibunya) .

 


c. adik
PREDICATES
   nondeterm anak (symbol,symbol)
   istri (symbol,symbol)
   pria (symbol)
   nondeterm wanita (symbol)
   usia (symbol,integer)
   nondeterm adik (symbol,symbol)
  
CLAUSES
   adik(X,Y) :-
        usia(X,10) ,
        usia(Y,13) .

   anak (jhon, james) .
   anak (james, peter) .
   anak (andi, peter) .
   anak (sue, ann) .

   istri (mary, peter) .
   istri (ann, james) .

   pria (jhon) .
   pria (james) .
   pria (peter) .
   pria (andi) .

   wanita (mary) .
   wanita (sue) .
   wanita (ann) .

   usia (john , 10) .
   usia (sue, 13) .
  
GOAL
   adik (X,Y) .
  

 


d. kakek
PREDICATES
   nondeterm anak (symbol,symbol)
   istri (symbol,symbol)
   pria (symbol)
   nondeterm wanita (symbol)
   usia (symbol,integer)
   nondeterm kakek (symbol,symbol)
  
CLAUSES
   kakek(X,Y) :-
        anak(Z,X) ,
        anak(Y,Z) .
       
   kakek(X,Y):-
        anak(Y,W) ,
        istri(W,Z) ,
        anak(Z,X) .

   anak (jhon, james) .
   anak (james, peter) .
   anak (andi, peter) .
   anak (sue, ann) .

   istri (mary, peter) .
   istri (ann, james) .

   pria (jhon) .
   pria (james) .
   pria (peter) .
   pria (andi) .

   wanita (mary) .
   wanita (sue) .
   wanita (ann) .

   usia (john , 10) .
   usia (sue, 13) .
  
GOAL
   kakek (X,Y) .
  



LISTING
ΓΌ Terlampir

0 komentar:

Posting Komentar