SWI-Prolog dapat berjalan dalam platform windows,linux dan macintosh,tapi setiap platform berbeda cara dan tipe instalasinya.Namun di artikel kali ini saya hanya akan membahas tentang contoh program sederhana dengan SWI-Prolog.
sebelum masuk ke pembahasan Download terlebih dahulu software prolog nya sesuai dengan platform yang kalian gunakan.
Contoh Coding Prolog
laki(jonson). laki(jaka). laki(sam). laki(makaroni). laki(joko). laki(soni). perempuan(anya). perempuan(susi). perempuan(nina). perempuan(nana). perempuan(seli). perempuan(dita). menikah(roni,susi). menikah(rendi,nina). menikah(sam,nana). anak(anya,sam). anak(roni,sam). anak(soni,roni). anak(jaka,roni). anak(seli,roni). anak(dita,roni). anak(makaroni,roni). anak(joko,rendi). %aturan keponakan(A,I):-anak(A,B),anak(B,D),anak(I,D),A\==I. ortu(A,B,C):-anak(A,B),menikah(B,C). cucu(A,D,E):-anak(A,B),anak(B,D),menikah(D,E). saudara(A,F):-anak(A,B),anak(F,B),A\==B. saudaralaki(A,G):-anak(A,B),anak(G,B),anak(A,C),anak(G,C),not(perempuan(G)),A\==G. saudaraperempuan(A,H):-anak(A,B),anak(H,B),anak(A,C),anak(H,C),not(laki(H)),A\==H.
Penjelasan
- Laki(jonson) = artinya adalah "Jonson adalah seorang laki-laki".
- perempuan(anya) = artinya adalah"anya adalah seorang perempuan"
- menikah(roni,susi) = artinya adalah "roni menikah dengan susi".
- anak(anya,sam) = artinya adalah"anya adalah anak dari sam".
- keponakan(A,I):-anak(A,B),anak(B,D),anak(I,D),A\==I. = aturan ini digunakan untuk mencari keponakan. A adalah anak dari B,dan B adalah anak dari D,lalu I juga adalah anak dari D,dan A tidak sama dengan I.Jadi artinya A adalah keponakan dari I karena B anak dari D dan I anak dari D.
- Ortu = A anak dari B, dan B menikah dengan C otomatis A anak dari C juga.
- cucu = A anak dari B dan B anak dari D setelah itu D menikah dengan E artinya D dan E adalah kakek-nenek dari A.
- SaudaraLaki = A anak dari B, dan G anak dari B juga, selanjutnya G itu bukan perempuan lalu A tidak sama dengan G
- SaudaraPerempuan = A anak dari B dan juga H anak dari B lalu H bukanlah laki-laki dan A tidak sama dengan H.
No comments:
Post a Comment