kecerdasan buatan silsilah keluarga

7
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

description

kecerdasan buatan silsilah keluarga

Transcript of kecerdasan buatan silsilah keluarga

Page 1: 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

Page 2: kecerdasan buatan silsilah keluarga

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).

Page 3: kecerdasan buatan silsilah keluarga

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)).

Page 4: kecerdasan buatan silsilah keluarga

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 ;

Page 5: kecerdasan buatan silsilah keluarga

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).

Page 6: kecerdasan buatan silsilah keluarga

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);

Page 7: kecerdasan buatan silsilah keluarga

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).