PROLOG KLASIFIKASI KELUARGA

Kemarin dapat tugas dari dosen buat PROLOG Klasifikasi keluarga,,
untuk share ilmu ini dia Klasifikasi keluarga dari keluarga besar ibuku..

A.             Pohon Keluarga



Dalam klasifikasi keluarga “Kuslan dan Khalifah” sedalam 4 level.
a.       Jumlah anggota laki-laki ada 12 orang.
b.      Jumlah anggota perempuan ada 13 orang.
c.       Jumlah anak “Kuslan dan Khalifah” ada 5 orang.
d.      Jumlah cucu “Kuslan dan Khalifah” ada 11 orang.
e.       Jumlah cicit dari “Kuslan dan Khalifah” ada 1 orang.
f.       Jumlah menantu laki-laki “Kuslan dan Khalifah” ada 4 orang.
g.      Jumlah menantu perempuan “Kuslan dan Khalifah” ada 1 orang.
h.      Jumlah cucu menantu laki-laki “Kuslan dan Khalifah” ada 1 orang.
i.        Jumlah cucu menantu perempuan “Kuslan dan Khalifah” 0 orang (tidak ada).

B.             Pendeklarasian library (Prolog Declarative)

Dengan cara membangun clauses. Clauses dapat berisi fakta ataupun rules/aturan. Didalam tugas ini clauses yang berupa fakta adalah
%keluarga berjenis kelamin laki-laki
laki(kuslan).
laki(yazid).
laki(ghozali).
laki(muzayin).
laki(reni).
laki(yaswito).
laki(fiky).
laki(ziky).
laki(masyfu).
laki(juna).
laki(imam).
laki(izzu).

%keluarga berjenis kelamin perempuan
perempuan(khalifah).
perempuan(roisa).
perempuan(kalimah).
perempuan(istiqomah).
perempuan(kundayati).
perempuan(khabibah).
perempuan(fika).
perempuan(fida).
perempuan(rurul).
perempuan(fircha).
perempuan(atik).
perempuan(aning).
perempuan(bella).

%orang tua dari masing-masing anak
orangtua(kuslan,yazid).
orangtua(kuslan,kalimah).
orangtua(kuslan,istiqomah).
orangtua(kuslan,kundayati).
orangtua(kuslan,khabibah).
orangtua(khalifah,yazid).
orangtua(khalifah,kalimah).
orangtua(khalifah,istiqomah).
orangtua(khalifah,kundayati).
orangtua(khalifah,khabibah).

orangtua(yazid,fiky).
orangtua(yazid,fika).
orangtua(yazid,fida).
orangtua(roisa,fiky).
orangtua(roisa,fika).
orangtua(roisa,fida).

orangtua(kalimah,rurul).
orangtua(kalimah,ziky).
orangtua(ghozali,rurul).
orangtua(ghozali,ziky).

orangtua(istiqomah,masyfu).
orangtua(istiqomah,fircha).
orangtua(muzayin,masyfu).
orangtua(muzayin,fircha).

orangtua(kundayati,atik).
orangtua(kundayati,aning).
orangtua(reni,atik).
orangtua(reni,aning).

orangtua(khabibah,bella).
orangtua(khabibah,juna).
orangtua(yaswito,bella).
orangtua(yaswito,juna).
    
orangtua(rurul,izzu).
orangtua(imam,izzu).

Clauses yang berupa rule/peraturan adalah
%query untuk mencari anggota keluarga dalam silsilah
ibu(X,Y):-orangtua(X,Y),perempuan(X).
ayah(X,Y):-orangtua(X,Y),laki(X).

anak(X,Y):-orangtua(Y,X).
anaklaki(X,Y):-orangtua(Y,X),laki(X).
anakperempuan(X,Y):-orangtua(Y,X),perempuan(X).

suami(X,Y):-anak(P,X),anak(P,Y),laki(X).
istri(Y,X):-anak(P,X),anak(P,Y),perempuan(Y).

mertua(X,Y):-(suami(Y,Z);istri(Y,Z)),anak(Z,X).
bapakmertua(X,Y):-(suami(Y,Z);istri(Y,Z)),anak(Z,X),laki(X).
ibumertua(X,Y):-(suami(Y,Z);istri(Y,Z)),anak(Z,X),perempuan(X).

menantulaki(X,Y):-suami(X,Z),anak(Z,Y),perempuan(Z).
menantuperempuan(X,Y):-istri(X,Z),anak(Z,Y),laki(Z).

kakek(X,Z):-orangtua(X,Y),orangtua(Y,Z),laki(X).
nenek(X,Z):-ibu(X,Y),ibu(Y,Z).

cucu(X,Z):-orangtua(Z,Y),anak(X,Y).
cuculaki(X,Z):-orangtua(Z,Y),anak(X,Y),laki(X).
cucuperempuan(X,Z):-orangtua(Z,Y),anak(X,Y),perempuan(X).

cicit(X,Z):-anak(X,Y),cucu(Y,Z).
cicitperempuan(X,Z):-anak(X,Y),cucu(Y,Z),perempuan(X).
cicitlaki(X,Z):-anak(X,Y),cucu(Y,Z),laki(X).

buyut(X,Y):-cicit(Y,X).
buyutlaki(X,Y):-cicit(Y,X),laki(X).
buyutperempuan(X,Y):-cicit(Y,X),perempuan(X).

saudarakandung(Y,Z):-anak(Y,X),anak(Z,X).
saudarakandunglaki(Y,Z):-anak(Y,X),anak(Z,X),laki(Y).
saudarakandungperempuan(Y,Z):-anak(Y,X),anak(Z,X),perempuan(Y).

tantekandung(X,Y):-saudarakandung(X,Z),anak(Y,Z),perempuan(X),not(ibu(X,Y)).
tanteipar(X,Y):-istri(X,Z),saudarakandung(Z,W),anak(Y,W),perempuan(X),not(ibu(X,Y)),not(tante(X,Y)).

omkandung(X,Y):-saudarakandung(X,Z),orangtua(Z,Y),laki(X),not(ayah(X,Y)).
omipar(X,Y):-suami(X,Z),saudarakandung(Z,W),anak(Y,W),laki(X),not(ayah(X,Y)),not(om(X,Y)).

ipar(X,Y):-(suami(X,Z);istri(X,Z)),saudarakandung(Z,Y),not(saudarakandung(X,Y)),not((suami(X,Y);istri(X,Y))).
iparlaki(X,Y):-suami(X,Z),saudarakandung(Z,Y),laki(X),not(saudarakandung(X,Y)),not(suami(X,Y)).
iparperempuan(X,Y):-istri(X,Z),saudarakandung(Z,Y),perempuan(X),not(saudarakandung(X,Y)),not(istri(X,Y)).

ponakan(X,Y):-anak(X,Z),saudarakandung(Z,Y),not(anak(X,Y)).
ponakanlaki(X,Y):-anak(X,Z),saudarakandung(Z,Y),not(anak(X,Y)),laki(X).
ponakanperempuan(X,Y):-anak(X,Z),saudarakandung(Z,Y),not(anak(X,Y)),perempuan(X).

sepupu(X,Y):-anak(X,Z),anak(Y,W),saudarakandung(Z,W),not(saudarakandung(X,Y)).
sepupuperempuan(X,Y):-anak(X,Z),anak(Y,W),saudarakandung(Z,W),not(saudarakandung(X,Y)),perempuan(X).
sepupulaki(X,Y):-anak(X,Z),anak(Y,W),saudarakandung(Z,W),not(saudarakandung(X,Y)),laki(X).


C.                 Hasil dari Testing Membership

Testing membership adalah dengan memasukkan query untuk  mencari silsilah dalam keluarga. Hasilnya dilihat dari fakta/kondisi yang sudah ada.
1.      Siapa anak dari Kuslan?
?-anak(X,kuslan).
2.      Siapa anak dari Khalifah?
?-anak(X,khalifah).
3.      Siapa anak laki-laki dari Kuslan?
?-anaklaki(X,kuslan).
4.      Siapa anak perempuan dari Kuslan?
?-anakperempuan(X,kuslan).
5.      Siapa ayah dari istiqomah?
?-ayah(X,istiqomah).
6.      Siapa ibu dari yazid?
?-ibu(X,yazid).
7.      Siapa suami dari roisa?
?-suami(X,roisa).
8.      Siapa istri dari ghozali?
?-istri(X,ghozali).
9.      Siapa mertua dari imam?
?-mertua(X,imam).
10.  Siapa ibu mertua dari muzayin?
?-ibumertua(X,muzayin).
11.  Siapa bapak mertua dari reni?
?-bapakmertua(X,reni).
12.  Siapa menantu wanita dari kuslan?
?-menantuperempuan(X,kuslan).
13.  Siapa menantu laki-laki dari khalifah?
?-menantulaki(X,khalifah).
14.  Siapa kakek dari fircha?
?-kakek(X,fircha).
15.  Siapa nenek dari fircha?
?-nenek(X,fircha).
16.  Siapa cucu dari kalimah?
?-cucu(X,kalimah).
17.  Siapa cucu laki-laki dari kuslan?
?-cuculaki(X,kuslan).
18.  Siapa cucu wanita dari khalifah?
?-cucuperempuan(X,khalifah).
19.  Siapa cicit dari kuslan?
?-cicit(X,kuslan).
20.  Siapa cicit laki-laki dari khalifah?
?-cicitlaki(X,khalifah).
21.  Siapa cicit wanita dari khalifah?
?-cicitperempuan(X,khalifah).
22.  Siapa buyut dari izzu?
?-buyut(X,izzu).
23.  Siapa buyut laki-laki dari izzu?
?-buyutlaki(X,izzu).
24.  Siapa buyut wanita dari izzu?
?-buyutperempuan(X,izzu).
25.  Siapa saudara kandung dari fircha?
?-saudarakandung(X,fircha).
26.  Siapa saudara kandung laki-laki dari fika?
?-saudarakandunglakii(X,fika).
27.  Siapa saudara kandung wanita dari fiky?
?-saudarakandungperempuan(X,fiky).
28.  Siapa tante kandung dari fircha?
?-tantekandung(X,fircha).
29.  Siapa tante kandung dari rurul?
?-tantekandung(X,rurul).
30.  Siapa om kandung dari juna?
?-omkandung(X,juna).
31.  Siapa om kandung dari izzu?
?-omkandung(X,izzu).
32.  Siapa ponakan khabibah?
?-ponakan(X,khabibah).
33.  Siapa ponakan laki dari yazid?
?-ponakanlaki(X,yazid).
34.  Siapa ponakan wanita dari kundayati?
?-ponakanperempuan(X,kundayati).
35.  Siapa sepupu dari masyfu?
?-sepupu(X,masyfu).
36.  Siapa sepupu laki dari fika?
?-sepupulaki(X,fika).

37.  Siapa sepupu wanita dari rurul?
?-sepupuperempuan(X,rurul).


tag : PROLOG, SOUR CODE PROLOG, PROLOG KLASIFIKASI KELUARGA, PROGRAM LOGIC, PROGRAM LODIC SOURCE CODE, Artificial Intelegence, Kecerdasan Buatan
Oferia Gadis biasa,, kalo mau tau lagi?? hubungi di oferiachacha@gmail.com :)

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel