Kamis, 12 November 2009

TUTORIAL 3

Operators and Arithmetic


Di kesempatan kali ini saya akan memberikan tutorial mengenai operators dan arithmetic in prolog. Pada kesempatan ini akan di bahas terlebih dahulu tentang hal-hal yang di anggap perlu untuk mempermudahkan pemahaman kita tentang pembahasan soal nantinya.

Operator terdapat berebagai macam jenis

Ada operator sisipan contoh predikat : john likes mary.

Ada operator awalan contoh predikat : isa_dog fred.

Ada operator akhiran contoh predikat : fred isa_dog.

Ini jelas berbeda dari predikat yang sering digunakan yaitu : likes(john,mary).

Terdapat keistimewaan dalam operator yaitu pengunaan op predikat contohnya : ?-op(150,xfy,likes).

xfy menunjukan bahwa predikat merupakan operator sisipan,

xf menunjukan bahwa predikat merupakan operator awalan,

fy menunjukan bahwa predikat merupakan operator akhiran,

(akan lebih jelas jika nanti dilihat di soal).

Dalam prolog juga terdapat angka-angka yaitu didalam aritmatika tetapi di sini aritmatika yang terdapat di dalam prolog tidak dapat berdiri sendiri jadi harus terdapat keterangan(predikat lain yang mendukung).

Sebagai contoh : ?-X is 6*Y+Z-3.2+P-Q/4.

(prolog tidak dapat menjalankan ini karena prolog tidak mengetahui berapa itu Y,Z,P,dan Q)



tetapi jika kita mengunakan ini :

?- X is 10.5+4.7*2.

X = 19.9 (maka prolog bisa menjalankannya)

Berikut adalah table operator dalam aritmatika

X+Y penjumlahan X and Y

X-Y pengurangan X and Y

X*Y perkalian X and Y

X/Y pembagian X and Y

X^Y X pangkat Y

abs(X) nilai absolute X

sin(X) sinus X

cos(X) cosines X

max(X,Y) nilai terbesar dari X dan Y

sqrt(X) akar dari X

Selain dari itu didalam prolog juga terdapat operasi relasi yaitu :

=:= , =\= , > , >= , < , =< .

Contoh operasi relasi :

?- 88+15-3=:=110-5*2.

Yes

?- 100=\=99.

yes

jenis -jenis samadengan di dalam prolog yaitu :


1. Arithmetic Expression Equality =:=

Contoh :

?- 6+4=:=6*3-8.

Yes

2. Arithmetic Expression Inequality =\=

Contoh :

?- 10=\=8+3.

yes

3. Terms Identical ==

Contoh :

?- X is 10,pred1(X)==pred1(10).

X = 10

4. Terms Identical With Unification =

Contoh :

?- 6+X=6+3.

X = 3

5. Non-Unification Between Two Terms \=

Contoh :

?- 6+4\=3+7.

Yes



Logika Operator

1. The not Operator

Contoh : dog(fido).

?- not dog(fido).

no

2. The Disjunction Operator

Contoh :

?- 6<3;7>

yes

Ini soal yang ada di e-book Logic Programming with Prolog.


Berikut penjelasan

Soal no 1.

Langkah-Langkah:

1. Ikuti perintah soal yang ada. Ketik apa yang diketahui di notepad terlebih dahulu.


2. Save File notepad dan ganti format .txt menjadi .pl dan ubah tipe save dengan all files.

Contoh Gambar :

3. Cobalah apakah output yang akan ditampilkan.

Contoh Gambar :


4. Penyelesaian.

· Soal 1.

Ubahlah tujuh predikat yang ada pada soal tersebut, namun output yang dihasilkan sama.

· Save file dengan cara yang sama seperti cara no 2.

· Jalankan program seperti no 3.

Gambar hasil prolog sama dengan prolog soal yaitu: (namun liat cara juntuk menampilkan yaitu X chases Y. berbeda dengan yang ada di soal).


Adapun cara lain yang memunjulkan hasil yang sama dan cara menampilkan yang sama yaitu dengan cara:

Hasil setelah dijalankan:


Soal no 2.



Penjelasan : X merupakan angka 1 dan Y merupakan angka 2, kemudian A merupakan hasil penjumlahan dari bilangan X dan Y. A dibagi dengan 2 (karena angka yang dijumlahkan hanya 2 angka) kemudian didapatlah B yang merupakan rata-rata dari 9 dan 7.


Penjelasan : A merupakan angka yang akan di akar kan. C merupakan akar dari A , sqrt merupakan panggilan untuk akar.


Penjelasan : X merupakan angka ke 1 dan Y merupakan angka ke 2 kemudian D merupakan nilai terbesar dari 2 angka tersebut, max merupakan panggilan untuk memilih angka terbesar dari angka yang ada.

Demikian Tutorial dari saya semoga bermanfaat bagi anda. Terimakasih sudah membaca dan melihat-lihat blog ini.



Tidak ada komentar:

Posting Komentar