Welcome to my blog, hope you enjoy reading :)
RSS

Jumat, 13 November 2009

Resume Operator and Aritmathics in Prolog

Operator
Penggunaan Standar Predikat nama(functor) yang diikuti oleh sejumlah argument dalam kurung dapat dikonversi ke operator untuk lebih mudah dibaca pengguna, beberapa diantarnnya yaitu
  1. Untuk dua argument yang diubah menjadi infiks operator,contohnya:Like (john,mary) dapat ditulis menjadi john like mary
  1. Untuk satu argumen yang diubah menjadi prefiks operator,contohnya:Isa dog(fred) menjadi isa_dog fred. Bisa juga menggunakan postfix yang ditulis setelah argument,contohnya: fred isa_dog.
Konversi juga dapat menggunakan op predikat pada sistem prompt, misalnya:
?-op(150,xfy,suka)
Keterangan:
  • Argumen pertama berupa integer,hal ini bertujuan untuk menetukan urutan dari operator yang akan diterapkan apabila operator tersebut lebih dari 1.
  • Argumen yang kedua adalah salah satu dari "xfy",yang merupakan predikat biner yang akan dikonversi ke operator infiks. fy adalah unary yang akan diubah menjadi operator prefix sedangkan xf adalah operator yang akan diubah menjadi postfix operator.
  • Argumen yang ketiga digunakan untuk menentukkan nama yang akan dikonversi.
Tanda Kurang dari(<),lebih besar dari(>),sama dengan(=) juga termasuk dalam operator yang digunakan untuk prolog.

Aritmatika
Pada perhitungan aritmatika menggunakan built in perdikat ,dimana argumen 1 terikat pada argumen 2 sedangkan argumen 2 berupa angka atau tanda aritmatik lainnya. misalnya:
?- X is 10,Z is Y1
Y=10
Z=1
Tanda kurung dalam operator bukan hanya digunakan untuk argumen tetapi juga dapat berfungsi sebagai tempat nilai numerik yang akan dihitung,misalnya :
?- X is sqrt(36) hal ini berarti 36 adalah angka yg akan dibagi dalam perhitungan.

Operator aritmatik ("-") bukan hanya sebagai operator yang menunjukkan perbedaan dalam nilai tetapi juga dapat digunakan sebagai awalan unary untuk menunjukkan nilai negatif.
Suatu argumen juga dapat menjadi suatu variable terikat dengan nilai tertentu,contohnya :
?- X is 7, X is 6+1
yes
dalam hal ini argumen 1 menunjukkan nilai x adalah 7 dan pada argumen 6+1 juga bernilai 7 sehingga pernyataan bernilai benar.

Operator Precedence(operator aritmatika) antara lain +,-,*,/ memiliki kedudukan yang berbeda-beda dalam perhitungan. jika dalam suatu soal terdapat +,-,* dan / maka operator yang didahulukan adalah + dan -,baru mengerjakan * dan /.jika dalam pengerjaan adalh * dan / atau + dan- maka yang dikerjakan dimulai dari kiri ke kanan.
Dalam operator aritmatika dikenal juga Relational operator yang digunakan untuk mengetahui perbandingan dua nila. yang termasuk relational operator adalah =:= , =\=, >,>=,<,=<, tujuan dari simbol tersebut adalah untuk menunjukkan sama dengan,tidak sama dengan,lebih besar sama dengan,dll.

Kesetaraan Operator dan Ketidaksetaraan Operator
Perbandingan suatu nilai dalam operator dapat menggunakan simbol (=:=),yang memiliki tujuan agar kedua nilai sisi kanan dan kiri adalah sama. Namun ada kesetaraan dapat juga menggunakan dua argumen yang memiliki nilai sama,misalnya:
checkeven(N) : -M is N//2,N=:=2*M
?-checkeven (12)
yes
?-checkeven(13)
no

Persyaratan Identik
Tujuan berhasil dari persyaratan identik adalah jika term 1 sama dengan term 2 dan hanya jika term 1 identik dengan term 2.Setiap variable yang digunakan dalam istilah yang mungkin/tidak mungkin telah terikat, tetapi tidak ada variable terikat yang mengevaluasi tujuan. jika term 1=term 2 tidak sama maka disebut gagal.
misalnya: jika pernyataan dog(fido)
?- not dog(fido)
no
?-dog(fred)
no
?-not dog(fred)
yes
Pernyataan pertama salah karena ada not sebelum dog kare fido adalah anjing sedangkan itu tidak anjing adalah fido jadi bernilai salah. Sedangkan pernyataaan ketiga tidak anjing adlah fred,dua-duannya adalah salah sehimgga pernyataan bernilai benar.

The Disjunction Operator
Memberikan jawaban benar jika salah satu dari kedua operator bernilai benar.Misalnya :
?-6<3;7 is 5+2
yes
argumen 1 salah sedangkan yang kedua benar jadi pernyataan bernulai salah.

0 komentar:

Posting Komentar