MAD…..Math_C

We are NOT MAD! but we are Member At Discrete Math C….

MoMoN’s Journal #2 “SWI Prolog example”

Posted by madmathc pada Oktober 2, 2009

Bismillahirrahmanirrahim
“Mudah-mudahan menjadi sebuah hal yang bermanfaat mengantar kepada tujuan dengan ilmu sebagai pedoman hidup yang baik”

Hay hay hay.. ini adalah postinganku yang kedua..
kali ini saya akan membahas tentang pemakaian sederhana dari aplikasi/compiler SWI-Prolog, saya copas dari sebuah forum dan ingin mengetes bagaimana cara kerja SWI-Prolog secara sederhanyanya.sippno1 langsung saja ya kawan-kawan…

1. Langkah pertama adalah downlod program aplikasi SWI Prolog.. ini nih linknya ani_pif:http://www.swi-prolog.org
sudah di instal ke CPU/Laptop anda? mari kita lanjutkan ke bagian 2..

2. Bikin contoh specification seperti ini dengan notepad atau yang sejenis bisa juga pakai wordpad.
Contoh nama: Beri nama familiy.pl,
simpan di mydocument/prolog.
Jangan ada spasi antara nama dengan kurung buka.
Ingat! setiap akhir dari save data compiler harus menggunakan “full stop (.)” sebab kalau tidak akan menyebabkan eror, contoh penulisan karakter yg menyebabkan error: parent (x,y), harusnya parent(x,y).
Coba dipahami setiap tata cara peraturannya, bahkan bagi pemula di prolog juga bakal ngerti kok. Nanti expert system anda, rule-rulenya dibuat seperti ini sinis watch it carefully ya.. soalnya saya sendiri belum begitu menguasai aplikasi tersebut..:
ketik di notepad atau wordpad sebagai berikut:

note: gunakan “%” untuk memberikan keterangan dan penjelasan dari tiap param apa yah
parent( pam, bob). % Pam is a parent of Bob
parent( tom, bob).
parent( tom, liz).
parent( bob, ann).
parent( bob, pat).
parent( pat, jim).
male( tom). % Tom is male
male( bob).
male( jim).
female( pam). % Pam is female
female( liz).
female( ann).
female( pat).
different(X, Y) :- not(X = Y).

offspring( Y, X) :- % Y is an offspring of X if
parent( X, Y). % X is a parent of Y

mother( X, Y) :- % X is the mother of Y if
parent( X, Y), % X is a parent of Y and
female( X). % X is female

grandparent( X, Z) :- % X is a grandparent of Z if
parent( X, Y), % X is a parent of Y and
parent( Y, Z). % Y is a parent of Z

sister( X, Y) :- % X is a sister of Y if
parent( Z, X),
parent( Z, Y), % X and Y have the same parent and
female( X), % X is female and
different( X, Y). % X and Y are different

predecessor( X, Z) :- % Rule prl: X is a predecessor of Z
parent( X, Z).

predecessor( X, Z) :-% Rule pr2: X is a predecessor of Z
parent( X, Y),
predecessor( Y, Z).

3. Buka swi-prolog, panggil spesifikasi diatas dengan perintah (jangan lupa gunakan titik/full stop diakhir):
[family].

4. Lakukan query. Misalnya apakah benar Pat ibunya jim? quernya spt berikut:
?- mother(pat,jim).

Siapa saja pendahulu Jim? (saat prolog mengeluarkan jawaban, tekan spasi untuk jawaban berikutnya)
?- predecessor(X,jim).

Siapakah orang tua dari jim dan kakeknya?
?- parent( Y, jim ), parent( X, Y ).

Bagaimana? ternyata pertanyaan logika sederhana bisa diselesaikan dengan mudah menggunakan SWI-Prolog..
Sayangnya.. sewaktu kuis kemarin saya lupa baca-baca forum jadi masih gagap teknologi (gaptek) masalah Prolog ini..tatutt, tetapi sedikit demi sedikit saya coba copas lebih lanjut dan memberikan contoh sederhana lainnya melalui Blog ini…muach
see ya..muach
Wassalamualaikum warahmatullah wabarakatuh

Ttd.

MoMoNCha
5209108718

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

 
%d blogger menyukai ini: