Anda di halaman 1dari 19

PoliteknikElektronikaNegeriSurabaya

PraktikumRepresentasiPengetahuan
SemanticNetdanFrame
SemanticNetwork
Semantic Network merupakan cara lain untuk merepresentasikan pengetahuan. Ide dasarnya adalah
bagaimana dapat menyimpan pengetahuan dalam bentuk grafik, dengan node yang mewakili objek
objek di dunia nyata dan link yang mewakili hubungan antara objek. Sebagai contoh adalah sebagai
berikut:

SemanticNetworkdiatasmewakilidata:
Tom is a cat.
Tom caught a bird.
Tom is owned by John.
Tom is ginger in colour.
Cats like cream.
The cat sat on the mat.
A cat is a mammal.
A bird is an animal.
All mammals are animals.
Mammals have fur.
PoliteknikElektronikaNegeriSurabaya
2

Node Cat diatas menyatakan cat who sat on t he mat dan semua class cat adalah
mamaliadansukacream(whicharemammalsandwhichlikecream).Relasiis_abisamempunyaidua
makna yang berbeda yaitu sebuah individu/objek merupakan anggota dari class tersebut contoh Tom
merupakan anggota dari class kucing atau sebuah class merupakan subset dari class lainnya, contoh
class kucing merupakan subset dari class mamalia. Kebingungan ini tidak terjadi di logika, karena
penggunaanquantifiers,namadanpredikatmembuatjelasapayangdimaksudsehingga:
Tom is a cat is represented by Cat(Tom)
The cat sat on the mat is represented by xy(Cat(x)Mat(y)SatOn(x,y))
A cat is a mammal is represented by x(Cat(X)Mammal(x))
Untukmembedakanduamaksuddarirelasii s_ayaitunodeyangmenyatakanindividu/objekatau
nodeyangmenyatakanclass,makarelasi:
is_a :sebuahclassmerupakansubsetdariclasslainnya(inheritance)
a_kind_of (ako)/instance :untukmenyatakanindividu/objek

Relasii s_owned_byhindaripenggunaanrelasipasifgunakanrelasiaktif,sehinggaTomisownedby
JohnmenjadijohnownsTom,janganlupauntukmengubaharahdarilink.

Praktikum1:Bentukrepresentasipredicatedarisemanticnetwork
cat ( t om) .
cat ( cat 1) .
mat ( mat 1) .
sat _on( cat 1, mat 1) .
bi r d( bi r d1) .
PoliteknikElektronikaNegeriSurabaya
3

caught ( t om, bi r d1) .


l i ke( X, cr eam) : - cat ( X) .
mammal ( X) : - cat ( X) .
has( X, f ur ) : - mammal ( X) .
ani mal ( X) : - mammal ( X) .
ani mal ( X) : - bi r d( X) .
owns( j ohn, t om) .
i s_col our ed( t om, gi nger ) .
Relasi a_ki nd_of antara class c dan individu/objek m dari class tersebut dinyatakan dengan fakta
c(m).Relasii s_aantarasubclasscdansuperclasssdinyatakandengans(X):c(X)
Cobalahdenganpertanyaandibawahini!
Siapayangmenyukaicream?
?- l i ke( X, cr eam) .

Siapasajayangmerupakanmamalia?
?- mammal ( X) .

Siapasajayangmempunyaibulu?
?- has( X, f ur ) .

Siapasajayangmerupakananimal?
?- ani mal ( X) .


Inheritance
Konsep Inheritance (relasi a_kind_of) adalah semua objek yang berasal dari class tersebut, maka
mewarisisemuapropertyyangdimilikiolehclasstersebut.Sebagaicontohrelasil i kesantaracatsdan
cream berarti semua cat suka cream, termasuk Tom dan Cat1 (relasi a_ki nd_of ). Namun relasi
i s_col our ed antara Tom dan ginger (bukan cats dan ginger) menunjukkan bahwa gi nger adalah
propertyTomsebagaiindividubukanberlakuuntuksemuacat.
Inheritance juga berlaku untuk relasi i s_a. Contoh semua property mammal atau animal secara
otomatis menjadi property cats. Dari semantic networks diatas menunjukkan bahwa Tom mempunyai
fur karena Tom adalah cat, cat merupakan mamal dan mamal mempunyai fur. Sedangkan subclass
mammalsadalahDogdanFidomerupakandog,Fidomewarisipropertymempunyaifurdarimamal,tapi
tidakmemilikipropertylikescream,propertyinihanyauntukcat.
PoliteknikElektronikaNegeriSurabaya
4

Reification
Kita dapat merepresentasikan semantic network menggunakan Prolog. Kita dapat menyatakan setiap
edge pada semantic network menjadi fakta dengan nama predicate sama seperti label pada edge.
Nodenode pada graph (menyatakan objek/individu atau class) menjadi argument fakta. Bentuk
representasigraphdiatasdalambahasaProlog:
Praktikum2
a_ki nd_of ( mat 1, mat s) .
a_ki nd_of ( cat 1, cat s) .
a_ki nd_of ( t om, cat s) .
a_ki nd_of ( bi r d1, bi r ds) .
caught ( t om, bi r d1) .
i s_a( cat s, mammal s) .
i s_a( mammal s, ani mal s) .
i s_a( bi r ds, ani mal s) .
l i ke( cat s, cr eam) .
owns( j ohn, t om) .
sat _on( cat 1, mat 1) .
i s_col our ed( t om, gi nger ) .
have( mammal s, f ur ) .

subcl ass( Cl ass1, Cl ass2) : - i s_a( Cl ass1, Cl ass2) .
subcl ass( Cl ass1, Cl ass2) : - i s_a( Cl ass1, Cl ass3) , subcl ass( Cl ass3, Cl ass2) .

ani nst ance( Obj , Cl ass) : - a_ki nd_of ( Obj , Cl ass) .
ani nst ance( Obj , Cl ass) : - a_ki nd_of ( Obj , Cl ass1) , subcl ass( Cl ass1, Cl ass) .

at t r i but e( Obj , X) : - ani nst ance( Obj , Cl ass) , have( Cl ass, X) .
at t r i but e( Obj , X) : - ani nst ance( Obj , Cl ass) , l i ke( Cl ass, X) .

Proses mengubah predikat/relasi menjadi objek dalam sistem representasi pengetahuan disebut
reification.Symbolcatsmenyatakanhimpunansemuakucing,yangdianggapsebagaiobjeklain.
PoliteknikElektronikaNegeriSurabaya
5

Berikanpertanyaanatauquerykesystemyangtelahdibuat!
?- at t r i but e( X, Y) .
Bagaimanaoutputnya?Apakahtelahmenerapkankonsepinheritance?
Padacontohsebelumnya,telahdirepresentasikanrelasibinary,bagaimanadenganrelasilebihdaridua
argument ? Contoh bagaimana merepresentasikan John gave the book to Mary ? di predicate logic,
kita dapat membuat 3ary yaitu gave(John, Book1, Mary), argument 1 adalah pemilik, argument 2
adalahobjekyangdiberikandanargument3adalahorangyangdiberi.Padacontohiniterdapatproses
reificationyaitumengubahrelasigavemenjadiobjekgive1.

Frames, Slots and Fillers


Dalam contoh ini terdapat general class bi r ds dan semua bird mempunyai atribut f l yi ng,
f eat her ed dan col our . Atribut f l yi ng dan f eat her ed mempunyai nilai Boolean dan diset
dengan true, yang berarti semua bird mempunyai atribut f l yi ng true dan atribut f eat her ed true.
Attributcol our dalamhalinitidakdiisiyangberartisemuabirdmempunyaiwarnasendiri,warnanya
dapat bervariasi. Dua subclass bird pet _canar i es mempunyai col our yellow dan r avens
mempunyai col our black. Class pet _canar i es mempunyai slot tambahan owner yang berarti
semua pet canar y mempunyai owner/pemilik. Dengan kata lain semua instance dari class
pet _canar y mempunyai atribut col our yellow, f eat her ed true, f l yi ng true dan owner nya
bervariasi untuk setiap instance. Setiap instance/objek dari class r aven mempunyai col our black,
f eat her ed true, f l yi ng true tetapi tidak mempunyai atribut owner . Dua instance dari
pet _canar y yaitu Tweet y dan Cheepy mempunyai owner John dan Mary yang merupakan
instance dari class person. Instance pet _canar y Cheepy mempunyai atribut dibatasi oleh class
vet (dokterhewan),yangmerupakaninstancedariclassPer son.
Representasiframenyasebagaiberikut:
PoliteknikElektronikaNegeriSurabaya
6

Dariframediatas,representasibahasaPrologadalahsebagaiberikut:
Praktikum3:
at t r i but e( bi r ds, f l yi ng, t r ue) .
at t r i but e( bi r ds, f eat her ed, t r ue) .
at t r i but e( pet _canar i es, col our , yel l ow) .
at t r i but e( r avens, col our , bl ack) .
at t r i but e( t weet y, owner , j ohn) .
at t r i but e( cheepy, owner , mar y) .
at t r i but e( cheepy, vet , sal l y) .
i s_a( pet _canar i es, bi r ds) .
i s_a( r avens, bi r ds) .
i s_a( vet , per son) .

a_ki nd_of ( edgar , r avens) .
a_ki nd_of ( t weet y, pet _canar i es) .
a_ki nd_of ( cheepy, pet _canar i es) .
a_ki nd_of ( sal l y, vet ) .
a_ki nd_of ( j ohn, per son) .
a_ki nd_of ( mar y, per son) .
Kitadefinisikanaturanumumsystem:
subcl ass( Cl ass1, Cl ass2) : - i s_a ( Cl ass1, Cl ass2) .
subcl ass( Cl ass1, Cl ass2) : - i s_a ( Cl ass1, Cl ass3) , subcl ass( Cl ass3, Cl ass2) .
PoliteknikElektronikaNegeriSurabaya
7


ani nst ance( Obj , Cl ass) : - a_ki nd_of ( Obj , Cl ass) .
ani nst ance( Obj , Cl ass) : - a_ki nd_of ( Obj , Cl ass1) , subcl ass( Cl ass1, Cl ass) .

val ue( Obj , Pr oper t y, Val ue) : - at t r i but e( Obj , Pr oper t y, Val ue) .
val ue( Obj , Pr oper t y, Val ue) : - ani nst ance( Obj , Cl ass) ,
at t r i but e( Cl ass, Pr oper t y, Val ue) .

Selanjutnyalakukanpertanyaansepertidibawahini:
SebutkansemuainstanceXadalahY!
?ani nst ance( X, Y)

SebutkansemuasubclassXadalahY!
?- subcl ass( X, Y)

SebutkanvalueZdariobjekXdanPropertiY!
?- val ue( X, Y, Z)

Sebutkanvaluedaricolourtweety!
| ?- val ue( t weet y, col our , V) .

Sebutkanvaluedarifeatherjohn?
| ?- val ue( j ohn, f eat her ed, V) .

Apakahatributfeathereddaripersonadalahtrue?
at t r i but e( per son, f eat her ed, t r ue) .

Demons and Object-Oriented Programming


Pada representasi frame, nilai pada slot/atribut selain dapat diisi dengan nilai tertentu, dapat diisi
dengan sebuah procedure untuk menghitung nilai dari beberapa atribut. Prosedur ini disebut dengan
demon. Sebagai contoh, kita ingin menambahkan atribut maintenance yang merupakan harga
maintenance yang digunakan untuk subclass pet _canar i es, akan mengembalikan nilai 5 untuk pet
canarysendiritanpabiayadokterhewan(vet),sedangkanuntukpet_canaryyangmemilikidokterhewan
terkenabiaya5+biayadokterhewanyaitu25.

Pengenalanvariableanonymousditulisdengan_
Missalterdapataturan
hasachi l d( X) : - par ent ( X, Y) .
maksuddariaturandiatasadalahXmempunyaianak(child)jikaXadalahorangtua(parent)dariY.
Propertihasachildtidaktergantungdengannamachild(ditulisdenganY),sehinggakitadapat
menggunakanvariableanonymous.Bentuklaindariaturandiatasadalah:
hasachi l d( X) : - par ent ( X, _) .
PoliteknikElektronikaNegeriSurabaya
8

Contohlain
Seseorangyangmempunyaichildjikaterdapatduaobjectdimanasatuorangsebagaiparentyanglain
sebagaianak.
somebody_has_chi l d : - par ent ( _, _) .Samadengan
somebody_has_chi l d : - par ent ( X, Y) .

Tambahkanfaktaprologsebagaiberikut:
Praktikum4:
attribute(_,birds,flying,true).
attribute(_,birds,feathered,true).
attribute(_,pet_canaries,colour,yellow).
attribute(_,ravens,colour,black).
attribute(_,tweety,owner,john).
attribute(_,cheepy,owner,mary).
attribute(_,cheepy,vet,sally).
attribute(_,sally,fees,20).

is_a(pet_canaries,birds).
is_a(ravens,birds).
is_a(vet,person).

a_kind_of(edgar,ravens).
a_kind_of(tweety,pet_canaries).
a_kind_of(cheepy,pet_canaries).
a_kind_of(sally,vet).
a_kind_of(john,person).
a_kind_of(mary,person).

aninstance(Obj,Class) :- a_kind_of(Obj,Class).
aninstance(Obj,Class) :- a_kind_of(Obj,Class1), subclass(Class1,Class).

subclass(Class1,Class2) :- is_a(Class1,Class2).
subclass(Class1,Class2) :- is_a(Class1,Class3), subclass(Class3,Class2).

value(Obj,Property,Value) :- attribute(Obj,Obj,Property,Value).
value(Obj,Property,Value) :- aninstance(Obj,Class),

attribute(Obj,Class,Property,Value).

attribute(Self,pet_canaries,maintenance,Costs) :-
eval_maintenance(Self,Costs).

eval_maintenance(Self,Costs) :- value(Self,vet,SelfsVet),
!,value(SelfsVet,fees,VetFees),Costs is VetFees+5.
eval_maintenance(Self,5).



Lakukanpertanyaansebagaiberikut?
?- val ue( sal l y, f ees, X) .
?- val ue( pet _canar i es, mai nt enance, X) .
PoliteknikElektronikaNegeriSurabaya
9

?- val ue( t weet y, mai nt enance, X) .


?- val ue( cheepy, mai nt enance, X) .
Bagaimanaoutputnya?Jelaskan

Defaults and Overrides
(Praktikum 5)
Contohbirddapatterbang,dalambahasaProlog
Fl i es( X) : - bi r d( X) .
Bagaimana untuk kasus tertentu dimana bird tidak dapat terbang, contoh kiwi dan penguin, termasuk
jugabirdapapunyangsayapnyarusakjugatidakdapatterbang.Dalambahasaprolognyaadalahsebagai
berikut:
f l i es( X) : bi r d( X) , \ +ki wi ( X) , \ +pengui n( X) , \ +br oken_wi ng( X) .
dapatjugadinyatakandengan:
f l i es( X) : bi r d( X) , \ +ab( X) .
ab( X) : ki wi ( X) .
ab( X) : pengui n( X) .
ab( X) : br oken_wi ng( X) .
Dimanaab(X),Xadalahbirdyangabnormal
at t r i but e( pet _canar i es, col our , yel l ow) .
at t r i but e( r avens, col our , bl ack) .
at t r i but e( t weet y, owner , j ohn) .
at t r i but e( cheepy, owner , mar y) .
at t r i but e( cheepy, vet , sal l y) .
i s_a( pet _canar i es, bi r ds) .
i s_a( r avens, bi r ds) .
i s_a( vet , per son) .
i s_a( ki wi s, bi r ds) .
a_ki nd_of ( edgar , r avens) .
a_ki nd_of ( t weet y, pet _canar i es) .
a_ki nd_of ( cheepy, pet _canar i es) .
a_ki nd_of ( sal l y, vet ) .
a_ki nd_of ( j ohn, per son) .
a_ki nd_of ( mar y, per son) .
a_ki nd_of ( kevi n, ki wi s) .

Pada umumnya hampir semua burung dapat terbang, hanya burung tertentu saja yang tidak dapat
terbang. Untuk implementasi contoh ini dapat menggunakan konsep overridden. Atribut pada
superclass akan diwarisi oleh subclass, tapi jika nilai atribut tidak sesuai lagi maka bisa diganti
(dioverride)dengannilaiyangbarupadasubclass.
Kitatelahmenambahkanatributcolouruntukkiwi
PoliteknikElektronikaNegeriSurabaya
10

LakukanquerysebagaiberikutgantiX=tweety, cheepy or edgar,


| ?- value(X,flying,V).
Akanmemberikanrespon
V = true ?
tetapi
| ?- value(kevin,flying,V).
Akanmemberikanrespon
V = false ?
V = true ?
Untukmencegahterjadinyahalini,perlumelakukancutdiaturan(rule),sehinggamencarinilaipada
hirarkitreeyangpalingtinggidenganpropertyyangsama.
Tambahkan
value(Obj,Property,Value) :- attribute(Obj,Property,Value), !.
value(Obj,Property,Value):-
aninstance(Obj,Class), attribute(Class,Property,Value), !.
Multiple Inheritance
(Praktikum 6)
Terdapat class pets dan canaries. Class pet canaries mewarisi property pets dan canaries. Pets
mempunyai property cute, birds mempunyai property flying dan canaries mempunyai property default
colouredyellow,soundcheep.Terdapatclasspetdogs,semuadogsmempunyaidefaultpropertysound
bark.Untukmengilustrasikanoverridden,classRottweilersadalahsubclassdaripet_dogsyangmemiliki
propertycutetrue,yangdioveridensehinggamenjadicutefalse.Johnadalahdefaultpemilik/ownerdari
pet,sehinggayangtidakmemilikipemilik,makadianggappemiliknyaadalahJohn.
PoliteknikElektronikaNegeriSurabaya
11

RepresentasidaridiagramdiatasdalambahasaPrologadalah:
attribute(birds,flying,true).
attribute(dogs,sound,bark).
attribute(pets,cute,true).
attribute(pets,owner,john).
attribute(canaries,colour,yellow).
attribute(canaries,sound,cheep).
attribute(rottweilers,cute,false).
attribute(fido,owner,bill).
is_a(canaries,birds).
is_a(pet_canaries,canaries).
is_a(pet_canaries,pets).
is_a(pet_dogs,dogs).
is_a(pet_dogs,pets).
is_a(rottweilers,pet_dogs).
a_kind_of(tweety,pet_canaries).
a_kind_of(spike,rottweilers).
a_kind_of(fido,pet_dogs).
a_kind_of(john,person).
a_kind_of(bill,person).
ani nst ance( Obj , Cl ass) : - a_ki nd_of ( Obj , Cl ass) .
ani nst ance( Obj , Cl ass) : - a_ki nd_of ( Obj , Cl ass1) , subcl ass( Cl ass1, Cl ass) .
subcl ass( Cl ass1, Cl ass2) : - i s_a( Cl ass1, Cl ass2) .
subcl ass( Cl ass1, Cl ass2) : - i s_a( Cl ass1, Cl ass3) , subcl ass( Cl ass3, Cl ass2) .
val ue( Obj , Pr oper t y, Val ue) : - at t r i but e( Obj , Pr oper t y, Val ue) , ! .
val ue( Obj , Pr oper t y, Val ue) : - ani nst ance( Obj , Cl ass) ,
at t r i but e( Cl ass, Pr oper t y, Val ue) , ! .
Jalankanprogramdiatas,lakukanquerysebagaiberikut:

PoliteknikElektronikaNegeriSurabaya
12

| ?- value(fido,sound,S).
S = bark ?
Menunjukkanfidomewarisipropertisoundbarkdaridogs,

| ?- value(fido,cute,V).
V = true?
menunjukkanfidomewarisicute:truedaripets,

| ?- value(spike,cute,V).
V = false?
Menunjukkanpropertycute:truedaripet_dogsdioverriddeolehrottweilerspike.

Mengubah bentuk Semantic Network menjadi Frame

PoliteknikElektronikaNegeriSurabaya
13

Tugas

1. Ubahlah studi kasus dibawah ini dari bentuk Semantic Network menjadi Frame

2. Ubahlah studi kasus dibawah ini dari bentuk Frame menjadi Semantic Network


PoliteknikElektronikaNegeriSurabaya
14

3. Ubahlah studi kasus dibawah ini dari bentuk Frame menjadi Semantic Network

4. Ubahlah studi kasus dibawah ini dari bentuk Semantic Network menjadi Frame
























animal
skin
fish
swimming
bird
flying
feathers
penguin canary robin ostrich
walking
Opus
Tweety
yellow
red
white
covered_by
travels_by
isa isa
isa isa isa isa
covered_by
travels_by
travels_by
travels_by
instance_of
instance_of
colour
colour
colour
PoliteknikElektronikaNegeriSurabaya
15

5. Ubahlah studi kasus dibawah ini dari bentuk Semantic Network menjadi Frame


6. Ubahlah studi kasus dibawah ini dari bentuk Semantic Network menjadi Frame













PoliteknikElektronikaNegeriSurabaya
16

7. Ubahlah studi kasus dibawah ini dari bentuk Frame menjadi Semantic Network

SoalPraktikum

1. Kerjakanpraktikum1sampaidenganpraktikum6.Lakukanhalhaldibawahini:
a. Berikanpenjelasankonsepapayangdimaksuddalampraktikumtersebut!(dalammenjelaskan
gunakankalimatkaliansendiri).
b. Lakukanqueryuntukpraktikum16danjelaskan!

2. Daridiagramdibawahini,
a. buatlahdalambahasaProlog.
b. Selanjutnyalakukanquery!
c. Ubahlahmenjadibentukframe!

PoliteknikElektronikaNegeriSurabaya
17

3. Daridiagramdibawahini
a. buatlahdalambahasaProlog.
b. Selanjutnyalakukanquery!
c. Ubahlahmenjadibentukframe!

animal
skin
fish
swimming
bird
flying
feathers
penguin canary robin ostrich
walking
Opus
Tweety
yellow
red
white
covered_by
travels_by
isa isa
isa isa isa isa
covered_by
travels_by
travels_by
travels_by
instance_of
instance_of
colour
colour
colour
PoliteknikElektronikaNegeriSurabaya
18

4. Daridiagramdibawahini
a. buatlahdalambahasaProlog.
b. Selanjutnyalakukanquery!
c. Ubahlahmenjadibentukframe!

5. a.RepresentasikandalambahasaProlog!
b.Buatlahpertanyaankesystemyangtelahdibuat!
c.UbahlahmenjadibentukSemanticNetwork!
PoliteknikElektronikaNegeriSurabaya
19

Anda mungkin juga menyukai