kecerdasan buatan silsilah keluarga
-
Upload
kidung-hudha-candra-bumi -
Category
Documents
-
view
139 -
download
8
description
Transcript of kecerdasan buatan silsilah keluarga
TUGAS KECERDASAN BUATAN
Oleh :
Kidung Hudha Candra Bumi (08/265927/PA/11929)
Fakultas Matematika dan Ilmu Pengetahuan Alam
Jurusan Ilmu Komputer
Universitas Gadjah Mada
2010
Source Code
/*gender*/
pria(sahudi).
pria(wiro).
pria(prapto).
pria(riyanto).
pria(ponimin).
pria(arih).
pria(verli).
pria(surya).
perempuan(minah).
perempuan(sanpa).
perempuan(kidung).
perempuan(lintang).
perempuan(wulan).
perempuan(pandu).
perempuan(juminah).
perempuan (yanti).
perempuan (budhe).
/*fact*/
suami(riyanto,juminah).
suami(prapto,yanti).
suami(ponimin,budhe).
suami(sahudi,minah).
suami(wiro,sanpa).
bapak(sahudi,riyanto).
bapak(sahudi,prapto).
bapak(wiro,juminah).
bapak(wiro,ponimin).
bapak(riyanto,kidung).
bapak(riyanto,lintang).
bapak(riyanto,arih).
bapak(prapto,verli).
bapak(prapto,pandu).
bapak(ponimin,surya).
bapak(ponimin,wulan).
istri(Istri,Suami):-
suami(Suami,Istri).
ibu(Ortu,Anak):-
suami(Ayah,Ortu),
bapak(Ayah,Anak).
kakek(Kakek,Cucu):-
bapak(Kakek,Ortu),
(ibu(Ortu,Cucu);
bapak(Ortu,Cucu)).
nenek(Nenek,Cucu):-
ibu(Nenek,Ortu),
(ibu(Ortu,Cucu);
bapak(Ortu,Cucu)).
saudara(Saudara,Kita):-
bapak(Bapak,Saudara),
bapak(Bapak,Kita),
Kita \= Saudara.
om(Om,Ponakan):-
(((bapak(Bapak,Ponakan),
ibu(Ibu,Ponakan)),
(saudara(Om,Bapak);
saudara(Om,Ibu)),
Bapak \= Om);
((bapak(Bapak,Ponakan),
ibu(Ibu,Ponakan)),
(saudara(Tante,Bapak);
saudara(Tante,Ibu)),
Ibu \= Tante,
suami(Om,Tante))),
pria(Om).
tante(Tante,Ponakan):-
(((bapak(Bapak,Ponakan),
ibu(Ibu,Ponakan)),
(saudara(Tante,Bapak);
saudara(Tante,Ibu)),
Ibu \= Tante);
((bapak(Bapak,Ponakan),
ibu(Ibu,Ponakan)),
(saudara(Om,Bapak);
saudara(Om,Ibu)),
Bapak \= Om,
istri(Tante,Om))),
perempuan(Tante).
sepupu(Sepupu,Kita):-
om(Om,Kita),
anak(Sepupu,Om).
anak(Anak,Ortu):-
(bapak(Ortu,Anak));
(ibu(Ortu,Anak)).
cucu(Cucu,KakekNenek):-
kakek(KakekNenek,Cucu);
nenek(KakekNenek,Cucu).
Input/Output
2 ?- bapak(X,kidung).
X = riyanto .
3 ?- saudara(X,kidung).
X = lintang ;
X = arih ;
false.
4 ?- sepupu(X,kidung).
X = verli ;
X = pandu ;
X = surya ;
X = wulan ;
false.
5 ?- cucu(X,wiro).
X = kidung ;
X = lintang ;
X = arih ;
X = surya ;
2 ?- bapak(X,kidung).
X = riyanto .
3 ?- saudara(X,kidung).
X = lintang ;
X = arih ;
false.
4 ?- sepupu(X,kidung).
X = verli ;
X = pandu ;
X = surya ;
X = wulan ;
false.
5 ?- cucu(X,wiro).
X = kidung ;
X = lintang ;
X = arih ;
X = surya ;
X = wulan ;
false.
6 ?- cucu(X,sahudi).
X = kidung ;
X = lintang ;
X = arih ;
X = verli ;
X = pandu ;
false.
7 ?- om(X,kidung).
X = prapto ;
X = ponimin ;
false.
8 ?- tante(X,kidung).
false.
9 ?- tante(X,pandu).
X = juminah ;
false.
Pembahasan
Dalam pembuatan pohon keluarga dalam prolog, pertama kita membuat pohon
keluarganya dulu dikertas agar lebih mudah. Setelah itu kita menentukan masing masing
gender di dalam keluarga kita. Contoh :
pria(sahudi).
pria(wiro).
pria(prapto).
pria(riyanto).
pria(ponimin).
pria(arih).
pria(verli).
pria(surya).
perempuan(minah).
perempuan(sanpa).
perempuan(kidung).
perempuan(lintang).
perempuan(wulan).
perempuan(pandu).
perempuan(juminah).
perempuan (yanti).
perempuan (budhe).
Setelah menentukan gender,kita tentukan faktanya. Misalnya, Riyanto adalah
bapaknya kidung. Penulisan sorce codenya seperti ini bapak(riyanto,kidung).
Lalu kita tuliskan fakta fakta lain yang ada pada pohon kelurga kita. Seperti tante, Om,
Kakek,Nenek, Anak,Ibu, Cucu, Saudara, dan Sepupu. Berikut Sorce Codenya :
istri(Istri,Suami):-
suami(Suami,Istri).
ibu(Ortu,Anak):-
suami(Ayah,Ortu),
bapak(Ayah,Anak).
kakek(Kakek,Cucu):-
bapak(Kakek,Ortu),
(ibu(Ortu,Cucu);
bapak(Ortu,Cucu)).
nenek(Nenek,Cucu):-
ibu(Nenek,Ortu),
(ibu(Ortu,Cucu);
bapak(Ortu,Cucu)).
saudara(Saudara,Kita):-
bapak(Bapak,Saudara),
bapak(Bapak,Kita),
Kita \= Saudara.
om(Om,Ponakan):-
(((bapak(Bapak,Ponakan),
ibu(Ibu,Ponakan)),
(saudara(Om,Bapak);
saudara(Om,Ibu)),
Bapak \= Om);
((bapak(Bapak,Ponakan),
ibu(Ibu,Ponakan)),
(saudara(Tante,Bapak);
saudara(Tante,Ibu)),
Ibu \= Tante,
suami(Om,Tante))),
pria(Om).
tante(Tante,Ponakan):-
(((bapak(Bapak,Ponakan),
ibu(Ibu,Ponakan)),
(saudara(Tante,Bapak);
saudara(Tante,Ibu)),
Ibu \= Tante);
((bapak(Bapak,Ponakan),
ibu(Ibu,Ponakan)),
(saudara(Om,Bapak);
saudara(Om,Ibu)),
Bapak \= Om,
istri(Tante,Om))),
perempuan(Tante).
sepupu(Sepupu,Kita):-
om(Om,Kita),
anak(Sepupu,Om).
anak(Anak,Ortu):-
(bapak(Ortu,Anak));
(ibu(Ortu,Anak)).
cucu(Cucu,KakekNenek):-
kakek(KakekNenek,Cucu);
nenek(KakekNenek,Cucu).