Anda di halaman 1dari 10

SINTA ANJELINA A2(161402100)

TUGAS 1 LABORATORIUM
Artificial Intelligence (AI)
Menjawab persoalan dari Bab 1 buku pegangan Lab

SOAL + JAWABAN
1. Tentukan Makna, jenis klausa, relasi , argument , dan jenis argument dari klausa itu !
a)
Klausa Beli(X,Y) :- harga(X, N) , N < 50000 , Y < 5.

Makna X dibeli sebanyak Y jika X harganya sebesar N dan N lebih kecil


dari 50000 dan Y kurang dari 5 banyaknya.
 jika beli X kurang dari 5 harganya kurang dari 50000
Jenis Rule (Aturan)
Klausa
Relasi Beli
Argumen X, Y, N
Jenis X-> symbol
Argument Y-> symbol
N-> symbol

b)
Klausa Punya(tuti, sepeda)
Makna Tuti punya Sepeda
Jenis Fact / Fakta
Klausa
Relasi Punya
Argumen tuti, sepeda
Jenis tuti -> symbol
Argument Sepeda -> symbol
c)
Klausa Orang (, ‘Susanto’ , tanggal_lahir(21,3,1986), bekerja (‘PT. Maju
Sejahtera’ 4500000)).

Makna Harry Susanto lahir pada 21-3-1989 dan bekerja di PT. Maju
Sejahtera dengan gaji 4500000.
Jenis fakta / fact
Klausa
Relasi orang , tanggal_lahir, bekerja
Argumen ‘Harry’ , ‘Susanto’, 21,3,1986, ‘PT. Maju Sejahtera’ 4500000

Argumen Jenis Argumen


‘Harry’ harusnya string, tapi penulisan di buku typo menunjukkan
char(tanda ‘ ‘)
‘Susanto’ harusnya string, tapi penulisan di buku typo menunjukkan
char(tanda ‘ ‘)
21 Integer
3 Integer
1986 Integer
‘PT. Maju harusnya string, tapi penulisan di buku typo menunjukkan
Sejahtera’ char(tanda ‘ ‘)

4500000 Integer

d)
Klausa ?- orang(A, B, C, D).

Makna Error / tidak ada. belum bisa dipastikan karena tidak disertai fakta-
fakta yang jelas dan hanya diberitahukan nama variable A, B, C, D
, tidak diketahui relasi antar variable nya itu apa. Jadi
kemungkinan mesin error dan tidak tau mau menjawab apa.

Jika disertai fakta :


manusia(andi) . manusia(aldi). manusia (yani). manusia(dina).
orang
orang(A,B,C,D):- manusia(A), manusia(B), manusia(C),
manusia(D).
Baru Bisa maknanya -> Apakah A , B , C, D adalah orang ?
Atau ada fakta yang dibuat terlebih dahulu untuk :
orang( A, B, C, D)
% yang menyatakan bahwa A, B, C, D benar adalah orang

Baru bisa juga maknanya -> Apakah A, B, C, D adalah orang?


Bernilai true maupun false

Jenis Klausa Query


Relasi orang
Argumen A, B, C ,D
Jenis A -> symbol
Argument B -> symbol
C -> symbol
D -> symbol

2. Buat knowledge base(representasi pengetahuan untuk mesin/ fakta) dengan


wanita, pria , dan anak dari pohon yang disediakan !
Nama file : silsilah.pl

% representasi fakta anak


anak(heri,joko).
anak(tini,joko).
anak(heri,merry).
anak(tini,merry).
anak(budi,harry).
anak(tina,harry).
anak(toni,harry).
anak(budi,ani).
anak(tina,ani).
anak(toni,ani).
anak(yeni,joni).
anak(yeni,susi).
anak(dini,tini).
anak(dwi,tini).
anak(dini,budi).
anak(dwi,budi).
anak(wahyu,toni).
anak(wahyu,yeni).
% representasi fakta pria
pria(joko).
pria(harry).
pria(joni).
pria(heri).
pria(budi).
pria(toni).
pria(dwi).
pria(wahyu).

% representasi fakta wanita


wanita(merry).
wanita(ani).
wanita(susi).
wanita(tini).
wanita(tina).
wanita(yeni).
wanita(dini).

3. Lengkapi rule yang diminta dari nomor 2 !


Tambahkan rule di file: silsilah.pl tadi ke bagian bawahnya.
a. ibu(X, Y) :- anak(Y,X) , wanita(X).
Cara baca : X adalah ibu Y jika Y adalah anak X dan X adalah wanita
Fakta1 Fakta2 Fakta3
 Logikanya : X itu ibunya Y jika Y itu anaknya si X dan X wanita
Cara Pembuktian : Untuk menampilkan semua nama ibu disertai nama
anaknya , tinggal panggil rulenya .
b. ayah(X,Y) :- anak(Y,X) , pria(X).
cara baca : X adalah ayah Y jika Y adalah anak X dan X adalah pria
FAKTA1 FAKTA2 FAKTA3
 Logikanya : X itu ayahnya Y jika Y itu anaknya si X dan X pria
Cara pembuktian rules nya : tinggal panggil rules untuk menampilkan semua
nama ayah disertai nama anaknya.

c. seorang_ibu(X):-ibu(X,Y).
kita bisa memanggil rules lain (yang berisi fakta-fakta lain) didalam suatu rules
untuk mempersingkat dan mempermudah penyusunan logika rules tersebut.
Cara baca : X adalah seorang_ibu jika X adalah ibu Y
FAKTA1 RULES1
 Logikanya : X itu seorang_ibu jika X itu ibu si Y
Cara pembuktian rules nya : tinggal panggil rules untuk menampilkan semua
nama ibu, kali ini tidak disertai nama anaknya.
d. seorang_ayah(X):-ayah(X,Y).
kita bisa memanggil rules lain (yang berisi fakta-fakta lain) didalam suatu rules
untuk mempersingkat dan mempermudah penyusunan logika rules tersebut.
Cara baca : X adalah seorang_ayah jika X adalah ayah Y
FAKTA1 RULES1
 Logikanya : X itu seorang_ayah jika X itu ayah si Y (atau siapa aja)
Cara pembuktian rules nya : tinggal panggil rules untuk menampilkan semua
nama ayah , kali ini tidak disertai nama anaknya.

e. seorang_anaklelaki(X) :-pria(X), anak(X,Y).


Cara baca :
X adalah seorang_anaklelaki jika X adalah pria dan X adalah anak dari Y
FAKTA1 FAKTA2 FAKTA3
Cara pembuktian : menampilkan semua nama anak lelaki
 Logikanya : X itu seorang_anaklelaki jika X itu anak si Y dan X pria
f. seorang_anakperempuan(X) :- wanita(X), anak(X,Y).
Cara baca :
X adalah seorang_anakperempuan jika X adalah wanita dan X adalah anak
dari Y
FAKTA1 FAKTA2 FAKTA3
 Logikanya : X itu seorang_anakperempuan jika X itu anak si Y dan X wanita
Cara pembuktian : menampilkan semua nama anak perempuan

g. adik_perempuan(X,Y) :- wanita(X),ibu(I,X),ibu(I,Y),ayah(A,X),ayah(A,Y),\+X==Y.
Cara baca :
X adalah adik_perempuan Y jika X adalah wanita dan I adalah ibu dari X dan I
adalah ibu dari Y dan A adalah Ayah dari X dan A adalah ayah dari Y
 X adalah adik perempuan Y jika X dan Y satu orangtua (baik ayah + ibu) dan
X itu wanita

Cara pembuktian : menampilkan semua nama adik perempuan


h. abang(X,Y) :- pria(X),ibu(I,X),ibu(I,Y),ayah(A,X),ayah(A,Y),\+X==Y.
Cara baca :
X adalah abang Y jika X adalah pria dan I adalah ibu dari X dan I adalah ibu
dari Y dan A adalah Ayah dari X dan A adalah ayah dari Y
 X adalah abang Y jika X dan Y satu orangtua (baik ayah + ibu) dan X adalah
pria

Cara pembuktian : menampilkan semua nama abang

i. kakek(X,Y) :- pria(X), anak(Y,Z), anak(Z,X).


Cara baca:
X adalah kakek dari Y jika X adalah pria dan Y adalah anak dari Z dan Z
adalah anak dari X .
 X adalah kakek Y jika anaknya X adalah orangtua dari Y dan X adalah pria

Cara pembuktian : menampilkan semua nama kakek


j. nenek(X,Y) :- wanita(X), anak(Y,Z), anak(Z,X).
Cara baca:
X adalah nenek dari Y jika X adalah wanita dan Y adalah anak dari Z dan Z
adalah anak dari X .
 X adalah nenek Y jika anaknya X adalah orangtua dari Y dan X adalah wanita

Cara pembuktian : menampilkan semua nama nenek

saudara(X,Y):- ibu(I,X),ibu(I,Y),ayah(A,X),ayah(A,Y),\+X==Y.
k. sepupu(X,Y):- ayah(A1,X),ayah(A2,Y),saudara(A1,A2).
sepupu(X,Y):- ayah(A1,X),ibu(I2,Y),saudara(A1,I2).
sepupu(X,Y):- ibu(I1,X),ayah(A2,Y),saudara(I1,A2).
sepupu(X,Y):- ibu(I1,X),ibu(A2,Y),saudara(I1,A2).

Cara baca: sama seperti diatas , konsep pola membacanya.


 Logikanya : X dan Y sepupuan jika ayah nya saudaraan atau ibunya saudaraan.
l. ipar_perempuan(X,Y) :-wanita(X), saudara(Y,Z), anak(A,X),
anak(A,Z),not(saudara(X,Y)).
Cara baca: sama seperti diatas _ konsep pola membacanya.
 Logikanya : X adalah ipar perempuannya Y jika X itu nikah sama saudara
kandungnya si Y dan X itu wanita

m. bibi(X,Y) :-wanita(X), saudara(X,Z),anak(Y,Z),not(ibu(X,Y)).


Cara baca: sama seperti diatas _ konsep pola membacanya.
 Logikanya : X adalah bibinya Y jika X itu anak dari saudaranya si Y.