Anda di halaman 1dari 5

IMPLEMENTASI PEMROGRAMAN PROLOG

SILSILAH KELUARGA
Disusun untuk memenuhi matakuliah kecerdasar buatan
yang dimbing oleh Bapak Heru Wahyu H.

Oleh
Moch. Alifudin Nur Fauzi (150533602585)

UNIVERSITAS NEGERI MALANG


FAKULTAS TEKNIK
JURUSAN TEKNIK ELEKRO
APRIL 2018
SILSILAH KELUARGA
%kakeknikah
married(ngatino,asma).

%anaknikah
married(asmadi,savina).
married(asmari,sulekha).
married(mina,suripto).
married(bungkas,supri).
married(yuliana,iksani).
married(tanti,fauji).

%anaknyakakek
child(asmadi,ngatino).
child(asmari,ngatino).
child(mina,ngatino).
child(bungkas,ngatino).
child(yuliana,ngatino).
child(tanti,ngatino).
child(ragil,ngatino).

%anaknyanak
child(andik,asmadi).
child(deni,asmadi).
child(dimas,asmadi).
child(deva,asmadi).
child(nico,asmari).
child(ferdian,asmari).
child(fitri,mina).
child(ari,mina).
child(oky,bungkas).
child(adin,bungkas).
child(novi,yuliana).
child(alif,tanti).
child(iman,tanti).
child(achti,tanti).

male(ngatino).
male(asmadi).
male(andik).
male(deni).
male(dimas).
male(asmari).
male(nico).
male(ferdian).
male(suripto).
male(ari).
male(supri).
male(oky).
male(adin).
male(iksani).
male(fauji).
male(alif).
male(iman).
male(ragil).

parents(A,B,C) :-child(A,B),married(B,C).
grandparents(A,D,E) :-child(A,B),child(B,D),married(D,E).
grandparents(A,D,E) :-child(A,B),married(B,C),child(C,D),married(D,E).
sibling(A,F) :-child(A,B), child(F,B), (F) \== (A).
sister(A,G):-child(A,B), child(G,B), (G) \== (A), not(male(G)).
brother(A,H):-child(A,B), child(H,B), (H) \== (A), male(H).

Hasil Pada SWI - Prolog


Penjelasan

Pada implementasi pemrograman prolog dengan menggunakan silsilah keluarga, saya


menggunakan keluarga pada Ibu saya karena Ibu saya memiliki 6 saudara. Ibu saya adalah anak
kelima. Terdapat 3 saudara laki-laki yaitu Asmadi, Asmari dan Ragil dan 3 saudara perempuan
bernama Mina, Bungkas dan Yuliana. Pada keluarga saya (Ayah dan Ibu) mempunyai 3 anak yaitu
Alif, Iman dan Achti. Pada program ini yaitu cara untuk mengimplementasikan fakta dan aturan
pada aplikasi SWI-Prolog

Pengertian Kode program yang digunakan pada implementasi prolog diatas yaitu
married(tanti,fauji) berarti bahwa Tanti menikah dengan Fauji. child(tanti,ngatino), berarti Tanti
adalah anak dari Ngatino. child(alif,tanti), berarti Alif adalah anak dari Tanti. male(alif),
merupakan pemilihan jumlah jenis kelamin yang paling banyak di keluarga besar, jadi saya
memilih laki laki (male)

Pengertian dari parents(A,B,C) :-child(A,B),married(B,C). yatiu untuk menampilkan orang


tua dari anak yang telah di inputkan seperti contoh apabila menginputkan parents(alif,A,B). maka
akan menampilkan orang tua dari Alif (Tanti dan Fauji). Fungsi dari grandparents(A,D,E) :-
child(A,B),child(B,D),married(D,E). untuk menampilkan nenek dan kakek pada cucu yang
diinputkan. Seperti contoh grandparents(alif,A,B). maka akan menampilkan Kakek dan Nenek
dari Alif (Ngatino dan Asma). Fungsi dari sibling(A,F) :-child(A,B), child(F,B), (F) \== (A). yaitu
untuk menampilkan saudara kandung pada anak seperti contoh sibling(alif,F). Maka akan
menampilkan saudara kandung dari Alif (Iman). Fungsi dari sister(A,G):-child(A,B), child(G,B),
(G) \== (A), not(male(G)). Yaitu berfungsi untuk menampilkan saudara perempuan seperti contoh
sister(alif.G). yang akan menampilkan saudara perempuan dari Alif (Achti). Fungsi pada
brother(A,H):-child(A,B), child(H,B), (H) \== (A), male(H). yaitu sama dengan fungsi sister hanya
saja brother menampilkan saudara laki laki.

Anda mungkin juga menyukai