Membuat Program Silsilah Keluarga menggunakan Prolog (Programming Logic)

Pengertian Prolog
PROLOG is a programming system in which logic is used as a programming language as well as a framework for program interpretation.
PROLOG dapat digunakan sebagai :

Software Tool for development of intelligent systems (such as expert systems and robot control systems) or

Simply as a general-purpose programming language with a powerful mechanism for problem solving.

Perbedaan Operatoe Logika dengan Prolog :
Operator Logika Prolog
,
;
:-
¬ Not

Disini saya akan memberikan contoh penerapan prolog di silsilah keluarga.












Di bahasa prolog terdapat fakta dan pendapat.
Pertama tentukan faktanya (Fact) terlebih dahulu:
child(slamet,anna).
child(sari,titi).
married(anna).
married(titi).
married(slamet,sari).
child(amin,slamet).
child(adi,amin).
married(amin).
male(slamet).
male(amin).
male(adi).
female(anna).
femle(titi).
female(sari).

Penjelasan.
child(slamet,anna).
slamet adalah anak dari anna

married(slamet,sari)..
slamet telah menikah dengan sari

male(slamet).
slamet adalah seorang lai-laki

female(sari).
sari adalah seorang perempuan

Selanjutnya menentukan Pendapat (Rule):
parent(amin,slamet,sari) :- child(amin,slamet),married(slamet,sari).
parent(adi,amin) :- child(adi,amin),married(amin).
parent(slamet,anna) :- child(slamet,anna),married(anna).
parent(sari,titi) :- child(sari,titi),married(titi).
grandparent(adi,slamet,sari) :- child(adi,amin),child(amin,slamet),married(slamet,sari).
grandmother(amin,anna,titi) :- child(amin,slamet),married(slamet,sari),child(slamet,anna),child(sari,titi).

Penjelasan.
parent(amin,slamet,sari) :- child(amin,slamet),married(slamet,sari).
jika amin adalah anak dari amin dan slamet dan sari telah menikah makan orang tua dari amin adalah slamet dan sari

grandparent(adi,slamet,sari) :- child(adi,amin),child(amin,slamet),married(slamet,sari).
jika adi adalah anak dari amin dan amin adalah anaj dari slamet dan slamet telah menikah dengan sari maka kakek dan nenek adi adalah slamet dan sari

grandmother(amin,anna,titi) :- child(amin,slamet),married(slamet,sari),child(slamet,anna),child(sari,titi).
jika amin anak dari slamet dan slamet telah menikah dengan sari dan slamet merupakan anak dari anna dan sari merupakan anak dari titi maka nenek dari amin adalah anna dan titi.

Terimakasih, Semoga bermanfaat!! jika ada kesalahan mohon dikoreksi.

1 comment:

Post a Comment