Rabu, 30 November 2011

BAHASA PROGRAM PROLOG

PROLOG adalah kependekan dari PROgramming in LOGic, yang berarti pemrograman logika. Pemrograman Prolog menggunakan bahasa deklaratif, dimana pemrogram memberi fakta dan aturan untuk selanjutnya diselesaikan oleh Prolog secara deduktif sehingga menghasilkan suatu kesimpulan. Hal ini berbeda dengan bahasa prosedural seperti Pascal, Fortran, C, atau yang sejenis, dimana pemrogram memberi perintah atau penugasan untuk memecahkan persoalan langkah demi langkah, sehingga sering disebut sebagai programming with assignment.
Disamping itu, berbeda dengan pemrograman fungsional, pemrograman logika ini menggunakan relasi, bukan fungsi sehingga sangat sesuai untuk implementasi sistem pakar.PROLOG adalah kependekan dari PROgramming in LOGic, yang berarti pemrograman logika. Pemrograman Prolog menggunakan bahasa deklaratif, dimana pemrogram memberi fakta dan aturan untuk selanjutnya diselesaikan oleh Prolog secara deduktif sehingga menghasilkan suatu kesimpulan. Hal ini berbeda dengan bahasa prosedural seperti Pascal, Fortran, C, atau yang sejenis, dimana pemrogram memberi perintah atau penugasan untuk memecahkan persoalan langkah demi langkah, sehingga sering disebut sebagai programming with assignment. Disamping itu, berbeda dengan pemrograman fungsional, pemrograman logika ini menggunakan relasi, bukan fungsi sehingga sangat sesuai untuk implementasi sistem pakar.

LOGIKA PREDIKAT
Logika predikat (kalkulus predikat) merupakan bagian dari komputasi logika yang juga
mencakup aljabar Boole (logika proposisional), dimana fakta dan aturan dinyatakan
melalui predikat seperti:
lelaki(Joko) // fakta
menikah(Joko, Tuti) // fakta
∀x ∀y [menikah(x,y) ∧ lelaki(x)] → ~ lelaki(y) // aturan
∀y ∃x [orang(y) → ibu(x,y) // aturan
Kalimat pertama menunjukkan adanya fakta bahwa Joko adalah seorang lelaki, dan kalimat kedua menyatakan bahwa Joko menikah dengan Tuti. Kalimat ketiga dan keempat menunjukkan suatu aturan atau kaidah yang umum berlaku, bahwa untuk setiap pasang orang x dan y, jika x menikah dengan y dan x adalah lelaki, maka dapat dipastikan bahwa y adalah bukan seorang lelaki. Sedangkan kalimat terakhir manyatakan bahwa untuk setiap y, ada x sehingga jika y adalah orang maka y mempunyai seorang ibu x (x ibu dari y). Simbol predikat yang digunakan dalam kalimat-kalimat tersebut adalah lelaki, menikah, orang, dan ibu yang sering disebut sebagai relasi, sedangkan Joko dan Tuti disebut sebagai simbol konstanta.

BAHASA DEKLARATIF
Seperti yang dijelaskan sebelumnya bahwa pokok perbedaan Prolog dari bahasa lain adalah karena bersifat deskriptif atau deklaratif, sedang bahasa lain umumnya bersifat prosedural atau imperatif. Sebagai bukti bahwa Prolog merupakan bahasa deklaratif adalah dalam menyatakan fakta dan aturan seperti berikut:

1. Jika ingin menyatakan bahwa Prawiro adalah bapak dari Joko, maka dalam Prolog dituliskan sebagai: bapak(prawiro, joko).
2. Jika ingin menerangkan suatu kaidah bahwa A adalah kakek dari Z maka harus dibuat dahulu logika dalam bahasa Indonesia sehingga menjadi suatu aturan seperti berikut:

A adalah kakek dari Z jika A adalah bapak dari X dan X adalah bapak Z

atau
A adalah kakek dari Z jika A adalah bapak dari X dan X adalah ibu Z
Aturan tersebut ditulis dalam Prolog sebagai:
kakek(A,Z) :- bapak(A,X), bapak(X,Z).
kakek(A,Z) :- bapak(A,X), ibu(X,Z).

untuk lebih lengkap tentang bahasa program PROLOG silahkan download disini dan juga disini

klik skip atau lewati untuk download




2 komentar: