Breaking News

Pohon Keluarga

Coding PROLOG untuk Pohon Keluarga


PREDICATES
  nondeterm putra(STRING,STRING) /*nondeterm=kemungkinan jawabn lebih dari satu*/
  nondeterm putri(STRING,STRING)
  nondeterm lelaki(STRING)
  nondeterm perempuan(STRING)
  nondeterm sepupu(STRING,STRING)
  nondeterm keponakan(STRING,STRING)
  nondeterm orangtua(STRING,STRING)
  nondeterm ayah(STRING,STRING)
  nondeterm ibu(STRING,STRING)
  nondeterm kakek(STRING,STRING)
  nondeterm nenek(STRING,STRING)
  nondeterm saudara(STRING,STRING)
  nondeterm paman(STRING,STRING)
  nondeterm bibi(STRING,STRING)

CLAUSES

  lelaki("budi").
  lelaki("badu").
  lelaki("edi").
  lelaki("danu").
  lelaki("andi").
  lelaki("indra").
  lelaki("ito").
  perempuan("ani").
  perempuan("ana").
  perempuan("mira").
  perempuan("nani").
  perempuan("cici").
  ayah("budi","andi").
  ayah("budi","danu").
  ayah("budi","mira").
  ayah("badu","nani").
  ayah("edi","indra").
  ayah("andi","ito").
  ayah("andi","cici").
  ibu("ani","andi").
  ibu("ani","danu").
  ibu("ani","mira").
  ibu("ana","nani").
  ibu("mira","indra").
  ibu("nani","ito").
  ibu("nani","cici").
 
  putra(X,Y):- orangtua(Y,X), lelaki(X). /*anak lelaki*/
  putra(X,Y) :- ibu(Y,X), lelaki(X).
 
  putri(X,Y) :- orangtua(Y,X), perempuan(X). /*anak perempuan*/
  putri(X,Y) :- ibu(Y,X), perempuan(X).
 
  orangtua(X,Y):-ayah(X,Y). /*orangtua*/
  orangtua(X,Y):-ibu(X,Y).
 
  saudara(X,Y):-ayah(Z,X),ayah(Z,Y);ibu(Z,X),ayah(Z,Y).
 
  paman(X,Y):-saudara(X,Z),orangtua(Z,Y),lelaki(X).
  bibi(X,Y):-saudara(X,Z),orangtua(Z,Y),perempuan(X).
 
  sepupu(X,Y):-orangtua(Z1,X),orangtua(Z2,Y),saudara(Z1,Z2).
 
  keponakan(X,Y):-orangtua(Z,X),saudara(Z,Y).
 
  kakek(X,Y) :- ayah(X,Z), orangtua(Z,Y).
  nenek(X,Y) :- ibu(X,Z), orangtua(Z,Y).
 
GOAL
lelaki(X).

No comments