Download as pdf or txt
Download as pdf or txt
You are on page 1of 20

Nama : Amalia Tri Rahayu

Kelas : IF-09-R

NIM : 21102237

Tugas Representasi

1. Ubahlah fakta-fakta tersebut ke dalam bahasa prolog :


Jawaban :
a. teman(ani, budi).
b. suka(ani, pizza).
c. suka(budi, nasi_pecel).
d. tidak_suka(budi, pizza).
e. menyukai(agus, makanan).
f. hobby(andi, membaca).
g. hobby(budi, travelling).
2. Melanjutkan soal no 1, ubahlah aturan di bawah ini ke dalam bahasa prolog
a. X dan Y jika X tidak suka Y
b. X membenci Y jika X tidak suka Y
c. X dan Y bermusuhan jika X dan Y tidak menyukai satu dengan lainnya

Jawaban :

a. teman(X, Y) :- bekerjasama(X, Y).


b. benci(X, Y) :- tidak_suka(X, Y).
c. bermusuhan(X, Y) :- tikdak_suka(X, Y), tidak_suka(Y, X).

3. Dengan representasi secara logika di bawah ini jawablah pertanyaanpertanyaan di


bawahnya

besar(kuda).
besar(sapi).

besar(gajah).

kecil(kelinci).

kecil(tikus).

coklat(kuda).

putih(sapi).

abuabu(gajah).

abuabu(tikut).

putih(kelinci).

terang(X):-purih(X)

terang(X):-abuabu(X)

Jelaskan hasil query berikut ini?


putih(Y), besar(Y).
abuabu(Y), kecil(Y).

Jawaban :
Query 1: putih(Y),besar(Y).
Hasil dari query ini adalah Y = sapi, karena sapi adalah satu-satunya objek yang memenuhi
kriteria "putih" dan "besar" berdasarkan fakta-fakta yang diberikan. Objek kuda tidak
memenuhi kriteria "putih" meskipun memenuhi kriteria "besar" karena ada fakta bahwa
kuda berwarna coklat.

Query 2: abuabu(Y),kecil(Y).
Hasil dari query ini adalah Y = tikus, karena tikus adalah satu-satunya objek yang
memenuhi kriteria "abuabu" dan "kecil" berdasarkan fakta-fakta yang diberikan. Objek
gajah tidak memenuhi kriteria "kecil" meskipun memenuhi kriteria "abuabu" karena ada
fakta bahwa gajah adalah hewan besar.

4. Dalam sebuah organisasi perusahaan terdapat tree sbb:


Adi

Burhan

Bahrun Bisrin

Fahri Farah Ferdi

Dari tree tersebut kita dapat membaca bahwa Burhan adalah bawahan langsung dari Adi,
sebaliknya Adi adalah atasan langsung dari Burhan. Fahri dan Farah adalah anak buah dari
Bahrun, sementara Fahri, Farah, Bahrun, Ferdi, Bisrin secara keseluruhan adalah anak buah
dari Burhan.

a. Dengan menggunakan sintaks dalam bahasa prolog , buatlah representasi pengetahuan


dari fakta tersebut di atas. (Dari definisi bawahan langsung).
b. Dengan menggunakan sintaks dari definisi bawahan langsung di atas, terjemahkan
untuk atasan langsung.
c. Bagaimana kita membuat pertanyaan siapa bawahan langsung dari Burhan.
d. Dengan menggunakan deskripsi secara rekrursif buatlah sintaks untuk
merepresentasikan fakta anak buah.

Jawaban:

a. Representasi pengetahuan dalam bahasa prolog

anakbuah(adi,burhan).
anakbuah(burhan,bahrun).

anakbuah(burhan,bisrin).

anakbuah(bahrun, fahri).

anakbuah(bahrun, farah).

anakbuah(bisrin,ferdi).

bawahanlangsung(X,Y) :- anakbuah(X,Y).

atasanlangsung(Y,X) :- anakbuah(X,Y).

anakbuahbawahan(X,Y) :- bawahanlangsung(X,Y).

anakbuahbawahan(X,Y) :-
bawahanlangsung(X,XY),anakbuahbawahan(XY,Y)

Dengan menggunakan sintaks dalam bahasa prolog. Buatlah representasi pengetahuan


dari fakta tersebut diatas. (dari definisi bawahan langsung).
?- bawahanlangsung(adi, Y)
Y = burhan

?- bawahanlangsung(burhan, Y)
Y = bahrun
Y = bisrin

?- bawahanlangsung(bahrun, Y)
Y = fahri
Y = farah

?- bawahanlangsung(bisrin, Y)
Y = ferdi
b. Dengan menggunakan sintaks dari definisi bawahan langsung di atas, terjemahkan untuk
atasan langsung.
?- atasanlangsung(fahri, Y)
Y = bahrun

?- atasanlangsung(bahrun, Y)
Y = burhan

?- atasanlangsung(bisrin, Y)
Y = burhan

?- atasanlangsung(burhan, Y)
Y = adi

c. Bagaimana kita membuat pertanyaan siapa bawahan langsung dari Burhan

?- bawahanlangsung(burhan, Y)

Y = bahrun

Y = bisrin

d. Dengan menggunakan deskripsi secara rekursif buatlah sintak untuk mempresentasikan


fakta anak buah

?- anakbuahbawahan(burhan, X)

X = bahrun

X = bisrin

X = fahri
X = farah

X = ferdi

5. Seorang raja X dengan silsilah keturunannya seperti di bawah ini sedang mencari siapa saja
dari keturunannya yang bisa menggantikan dirinya untuk menjadi raja. Tentu saja ada
syarat untuk menjadi calon raja, yaitu dia adalah keturunan laki-laki atau keturunan laki-
laki dari keturunan laki-laki. Dengan menggunakan representasi logika dan deskripsi
secara rekursif bantulah raja X untuk mencari siapa saja dari keturunannya yang
memungkinkan untuk menggantikan dirinya.
X

Bahrun Farah

Fahri Salma Burhna Ferdi

salsa arfan farhan fariz syifa

Jawaban:

anak(rajaX, bahrun).

anak(rajaX, farah).

anak(bahrun, fahri).

anak(bahrun, salma).

anak(farah, burhan).

anak(farah, ferdi).
anak(fahri, salsa).

anak(fahri, arfan).

anak(salma, farhan).

anak(ferdi, fariz).

anak(ferdi, syifa).

putra(bahrun).

putri(farah).

putra(fahri).

putri(salma).

putra(burhan).

putra(ferdi).

putri(salsa).

putra(arfan).

putra(Farhan).

putra(fariz).

putri(syifa).

anaklakilaki(X,Y) :- anak(X, Y), putra(Y).

calonraja(X, Y) :- anaklakilaki(X, Y).

calonraja(X, Y) :- anaklakilaki(X, Z), calonraja(Z, Y).


6. Dari pohon keluarga dibawah ini, representasikan secara logika yang menyatakan
predikat putra, putri, lelaki, wanita. Kemudian dari predikat ini buatlah relasi orang
tua, saudara laki-laki, saudara perempuan, paman, bibi, kakek, nenek, cucu:

anto wati

deni ita budi ida rudi

hadi dina andi rita

Jawaban:
 Representasi secara logika

anak(ita, anto).

anak(budi, anto).

anak(ida, anto).

anak(ita, wati).

anak(budi, wati).

anak(ida, wati).

anak(hadi, deni).

anak(hadi, ita).

anak(dina, budi).

anak(andi, ida).

anak(rita, ida).

anak(andi, rudi).
anak(rita, rudi).

putra(anto).

putra(budi).

putra(deni).

putra(rudi).

putra(hadi).

putra(andi).

putri(wati).

putri(ita).

putri(ida).

putri(dina).

putri(rita).

lelaki(X) :- putra(X).

wanita(Y) :- putri(Y).

 Relasi orangtua

orangtua(X, Y) :- anak(Y, X)

X = anto, Y = ita;

X = anto, Y = budi;

X = anto, Y = ida;

X = wati, Y = ita;

X = wati, Y = budi;
X = wati, Y = ida;

X = ita, Y = budi;

X = ida, Y = andi;

X = ida, Y = rita;

X = rudi, Y = andi;

X = rudi, Y = rita;

 Relasi saudara laki-laki

saudara_laki(X, Y) :- orangtua(Z, X), orangtua(Z, Y), putra(X), X \= Y.

X = budi, Y = ita;

X = budi, Y = ida;

X = andi, Y = rita;

 Relasi saudara perempuan

saudara_perempuan(X, Y) :- orangtua(Z, X), orangtua(Z, Y),

putri(X), X \= Y.

X = ita, Y = budi;

X = ita, Y = ida;

X = ida, Y = budi;

X = ida, Y = ita;

X = rita, Y = andi;
 Relasi paman

paman(X, Y) :- saudara_laki(X, Z), anak(Y, Z).

X = deni, Y = dina;

X = budi, Y = hadi;

X = deni, Y = andi;

X = deni, Y = rita;

X = rudi, Y = hadi;

X = rudi, Y = dina;

X = budi, Y = andi;

X = budi, Y = rita;

 Relasi bibi

bibi(X, Y) :- saudara_perempuan(X, Z), anak(Y, Z).

X = ida, Y = hadi;

X = ida, Y = dina;

X = ita, Y = dina;

X = ita, Y = rita;

X = ita, Y = andi;

 Relasi kakek

kakek(X, Y) :- anak(Z, X), anak(Y, Z), putra(X).

X = anto, Y = hadi;
X = anto, Y = dina;

X = anto, Y = andi;

X = anto, Y = rita;

 Relasi nenek

nenek(X, Y) :- anak(Z, X), anak(Y, Z), putri(X).

X = wati, Y = hadi;

X = wati, Y = dina;

X = wati, Y = andi;

X = wati, Y = rita;

 Relasi cucu

cucu(X, Y) :- anak(X, Z), anak(Z, Y).

X = hadi, Y = anto;

X = dina, Y = anto;

X = andi, Y = anto;

X = rita, Y = anto;

X = hadi, Y = wati;

X = dina, Y = wati;

X = andi, Y = wati;

X = rita, Y = wati;
7. Dari tree famili dibawah ini, formulasikan dalam bahasa Prolog pertanyaan tentang:
a. Siapa orang tua Basir.
b. Siapa nenek Siti.
c. Apakah Tuti mempunyai anak.

rita husin

abdul rudi

tuti siti

amir basir

Jawaban:
Dari tree family diatas didapat fakta dalam bahasa prolog sebagai berikut

orangtua(rita, abdul)

orangtua(rita, rudi)

orangtau(husin, rudi)

orangtua(rudi, tuti)

orangtua(rudi, siti)

orangtua(siti, amir)

orangtua(siti, basir)

putri(rita)

putra(husin)

putra(abdul)
putri(rudi)

putri(tuti)

putri(siti)

putra(amir)

putri(basir)

a. Untuk mengetahui siapa orang tua Basir, dapat menggunakan query sebagai berikut:
orangtua(X, basir).
sehingga dapat dilihat dari fakta-fakta diatas bahwa yang memenuhi query tersebut adalah
orangtua(siti, basir).
Maka orangtua Basir adalah Siti
b. Untuk mengetahui siapa nenek Siti, kita dapat menggunakan aturan dibawah untuk
mendefinisikan “nenek”:
nenek(X, Y) :- orangtua(X, Z), orangtua(Z, Y), putri(X).
Kemudian menggunakan query berikut:
nenek(X, siti) :- orantua(X, Z), orangtua(Z, siti),
putri(X).
Dimana untuk memenuhi query diatas maka Z = rudi sehingga didapat query
nenek(X, siti) :- orantua(X, rudi), orangtua(rudi, siti),
putri(X).
Dan dari query didapat dapat dilihat pada fakta-fakta diatas yang memenuhi syarat adalah
X = rita
Sehingga didapat bahwa nenek dari Siti adalah Rita
nenek(rita, siti).
c. Untuk mengetahui apakah Tuti mempunyai anak, dapat menggunakan aturan di bawah
untuk mendefinisikan “anak”
anak(X, Y) :- orangtua(Y, X)
kemudian kita dapat menggunakan query sebagai berikut:
anak(X, tuti)
Apabila didilihat dari fakta-fakta diatas tidak ada fakta yang memenuhi query diatas
sehingga artinya Tuti tidak punya anak.

8. Terdapat pohon keluarga seperti dibawah ini. Buatlah dalam bahasa prolog
sekumpulan fakta ayah(A,B) (A adalah ayah B).
a

b c

d e f
buatlah aturan:
a. Predikat sudara_laki(A, B) yang menyatakan A adalah saudara laki-laki B dan
sebaliknya
b. Predikat sepupu(A, B) yang menyatakan A dan B adalah sepupu
c. Predikat cucu(A, B) yang menyatakan A dan B adalah sepupu
d. Predikat turunan(A, B) yang menyatakan A adalah turunan B

Selanjutnya lakukan pertanyaan seperti berikut:

 ?- saudara_laki(A, B)
 ?- sepupu(A, B)
 ?- cucu(A, B)
 ?- turunan(A, B)

Jawaban:

Dari pohon keluarga diatas didapat

a. Predikat saudara_laki(A, B) yang menyatakan A adalah saudara lai-laki B dan


sebaliknya
Saudara_laki(A, B) :- ayah(X, A), ayah(X, B), A \= B.
b. Predikat sepupu(A, B) yang menyatakan A dan B adalah sepupu
sepupu(A, B) :- ayah(X, A), ayah(Y, B), X \= Y, A \= B.
c. Predikat cucu(A, B) yang menyatakan A adalah cucu dari B
cucu(A, B) :- ayah(X, A), ayah(B, X).
d. Predikat turunan(A, B) yang menyatakan A adalah turunan B
turunan(A, B) :- ayah(B, A).
turunan(A, B) :- ayah(X, A), turunan(X, B)

Untuk melakukan pertanyaan:

 ?- saudara_laki(A, B)
Pertanyaan diatas akan mencari dua orang laki-laki yang memiliki ayah yang sama

Saudara_laki(A, B) :- ayah(X, A), ayah(X, B), A \= B.

A = b, B = c;

A = d, B = e;

 ?- sepupu(A, B)
Pertanyaan diatas akan mencari sepupu dari suatu individu pada tree family diatas

sepupu(A, B) :- ayah(X, A), ayah(Y, B), X \= Y, A \=


B.

A = d, B = f;

A = e, B = f;

A = f, B = d;

A = f, B = e;

 ?- cucu(A, B)
Pertanyaan diatas akan mencari cucu dari suatu individu pada tree family diatas

cucu(A, B) :- ayah(X, A), ayah(B, X).

A = d, B = a;
A = e, B = a;

A = f, B = a;

 ?- turunan(A, B)
Pertanyaan diatas akan mencari turunan dari suatu individu dari tree family diatas

turunan(A, B) :- ayah(B, A).

A = b, B = a;

A = c, B = a;

A = d, B = b;

A = e, B = b;

A = f, B = c;

turunan(A, B) :- ayah(X, A), turunan(X, B)

A = d, B = a;

A = e, B = a;

A = f, B = a;

9. Ubahlah fakta dibawah ini menjadi bahasa prolog menggunakan predikat


pembuat(X,Y), buku(X) dan program(X).
- terry yang membuat shrdlu
- bill yang membuat lunar
- roger yang membuat sam
- gottlob yang membuat begriffsschrift
- bertrand yang membuat principia
- alfred yang membuat principia
- begriffsschrift adalah buku
- principia adalah buku
- lunar adalah program
- sam adalah program
- shrdlu adalah program
Selanjutnya ajukan pertanyaan pada system yang sudah di buat :
?-pembuat(Who,shrdlu).
?-pembuat(Who,principia).
?-buku(Book),pembuat(Person,Book).

Buatlah aturan mengenai :

- Pengarang buku dengan predikat penulis(X)


- Pengarang beserta bukunya dengan predikat penulisbuku(X,Y)
Jawaban:
Bahasa prolog

pembuat(terry, shrfdlu)

pembuat(bill, lunar)

pembuat(roger, sam)

pembuat(gottlob, begriffsschrift)

pembuat(Bertrand, principia)

pembuat(Alfred, principia)

buku(begriffsschrift)

buku(principia)

program(lunar)

program(sam)

program(shrdlu)
Untuk mengajukan pertanyaan pada system
 ?-pembuat(Who,shrdlu).
Terdapat satu orang dari fakta-fakta diatas yang membuat shrdlu yaitu

?-pembuat(Who,shrdlu).

Who = terry;

 ?-pembuat(Who,principia).
Terdapat beberapa pembuat yang membuat principia pada fakta yaitu

?-pembuat(Who, principia).

Who = Bertrand;

Who = Alfred;

 ?-buku(Book),pembuat(Person,Book).
Terdapat beberapa buku dan pembuatnya yaitu

?-buku(Book), pembuat(Person, Book).

Book = begriffsschrift, Person = gottlob;

Book = principia, Person = bertrand;

Book = principia, Person = alfred;

Penggunaan aturan mengenai;

- Pengarang buku dengan predikat penulis(X)

penulis(X) :- pembuat(X, Y), buku(Y).


X = gottlob;

X = bertrand;

X = alfred;

- Pengarang beserta bukunya dengan predikat penulisbuku(X, Y)

penulisbuku(X) :- pembuat(X, Y), buku(Y).

X = gottlob, Y = begriffsschrift;

X = Bertrand, Y = principia;

X = Alfred, Y = principia;

You might also like