Welcome to my blog, hope you enjoy reading
RSS

Selasa, 24 November 2009

INPUT AND OUTPUT in Prolog

Prolog menyediakan fasilitas untuk menampilkan output dan menginput suatu pernyataan (term) atau karakter baik melalui keyboard maupun dari media lain seperti hard disk atau CD-ROM. Penjelasan mengenai hal tersebut akan kami bahas dalam postingan kali ini.
*   Menampilkan output pernyataan
Untuk menampilkan output berupa pernyataan dapat digunakan predikat bawaan dari prolog, yaitu write, writeq, dan nl. Predikat write/1 (satu argumen) digunakan untuk menampilkan output tanpa tanda petik. Predikat writeq sama dengan predikat write, hanya saja writeq menampilkan pernyataan dengan disertai tanda petik (quote), kecuali jika pernyataan yang ditulis hanya satu kata saja, maka tanda petik tidak tertampilkan. Sedangkan predikat nl/0 (tanpa argumen) berfungsi sama dengan tombol enter, yaitu untuk membuat baris baru (new line).
Contoh penggunaan dari predikat-predikat tersebut adalah sebagai berikut.

1. Outputting Terms
The main built-in predicate provided for outputting terms is write/1. Examples:

?- write(26),nl.
26
yes
?- write('a string of characters'),nl.
a string of characters
yes

2. Inputting Terms
The built-in predicate read/1 is provided to input terms. It takes a single argument, which must be a variable. Example:

?- read(X).
: jim.
X = jim

Sabtu, 21 November 2009

Expert System Design (Examples)

We have examples about practiced rule-based expert system in daily life. You can add your experience in comments, of course :).
As known before rule-based is have model If....Then...., like this:
1. IF it’s a rainy day THEN advise people to bring umbrellas when they go out.

2. IF the road is slippery THEN warn people to drive more carefully.

3. IF red light THEN stop.

4. IF green ligth THEN go.

5. IF gejala1 = sakit kepala AND gejala2 = pilek AND gejala3 = demam THEN  penyakit = influenza

6. JIKA seorang pasien terkena gejala dengan ciri-ciri sebagai berikut:
- Nyeri pipi dengan frekuensi ”sangat sering sekali” dan intensitas rasa sakitnya ”sangat sakit sekali”
- Nyeri kepala dengan frekuensi ”sangat sering sekali” dan intensitas rasa sakitnya ”sangat sakit sekali”
- Hidung buntu dengan frekuensi ”sangat sering sekali” dan intensitas rasa sakitnya ”sangat sakit sekali”
MAKA kemungkinan pertama pasien tersebut menderita Sinusitis maksilaris Akut.
 
7.  Diketahui sistem pakar dengan aturan-aturan sebagai berikut:
    R1 : IF suku bunga turun
            THEN harga obligasi naik
    R2 : IF suku bunga naik
          THEN harga obligasi turun
    R3 : IF suku bunga tidak berubah
           THEN harga obligasi tidak berubah
    R4 : IF dollar naik
           THEN suku bunga turun
    R5 : IF dollar turun
           THEN suku bunga naik
    R6 : IF harga obligasi turun
           THEN beli obligasi

Apabila diketahui bahwa dollar turun, maka buatlah keputusan apakah akan membeli obligasi atau tidak ?
Solusi:

Minggu, 08 November 2009

OPERATOR AND ARITHMETIC in Prolog

Now we have a program like this:

















Then we will convert the seven predicates used to operator form which will result the same as output from the program above.

Below is our new program: