aaa

Berusaha yang TERBAIK

Rabu, 15 Februari 2012

dasar - dasar Prolog


                Prolog adalah bahasa pemrograman logika atau di sebut juga sebagai bahasa non-procedural. Namanya diambil dari bahasa Perancis programmation en logique (pemrograman logika). Bahasa ini diciptakan oleh Alain Colmerauer dan Robert Kowalski sekitar tahun 1972 dalam upaya untuk menciptakan suatu bahasa pemrograman yang memungkinkan pernyataan logika alih-alih rangkaian perintah untuk dijalankan komputer.

 

                Programming in Logic atau yang sering disingkat PROLOG merupakan bahasa pemrograman logika untuk komputasi simbolik, bukan numerik. Prolog cocok untuk mengatasi problem yang melibatkan objek dan hubungan antara objek-objek tersebut. Prolog merupakan  bahasa dengan  tingkat yang lebih tinggi. Hal tersebut telah menjadi keuntungan sekaligus kerugian. Di satu sisi hal tersebut dapat mempersingkat waktu pengembangan program, di sisi lain hal tersebut akan mempengaruhi efisiensi. Pada bahasa tingkat rendah, program hanya menggambarkan cara untuk memecahkan masalah sedangkan pada prolog program hanya menjelaskan masalah tanpa menjelaskan bagaimana cara menyelesaikan masalah tersebut. Prolog merupakan paradigma yang programmernya lebih menspesifikan hubungan antara nilai data (peraturan dalam program logika) dan proses query (perintah). Kelebihan dari prolog adalah ahli dalam tata bahasa dan bahasa pemrograman. Dan juga sebagai perwakilan dari pengetahuan dan penalaran. Serta sebagai symbol dari kecerdasan buatan. Namun kekuranganya adalah buruk dalam repetitive number crunching dan dalam input / output.
                Berbeda dengan bahasa pemrograman yang lain, yang menggunakan algoritma konvensionl sebagai teknik pencariannya, seperti pada Delphi, Pascal, BASIC, COBOL, Fortran, dan bahasa pemrograman yang sejenisnya, maka prolog menggunakan teknik pencarian yang di sebut heuristik (heutistic) dengan menggunakan pohon logika. Perbedaan lainnya tampak pada cara menjalankan programnya. Pada pemrograman lainnya, program menjalankan prosedur yang sama berulang – ulang dengan data masukan yang berbeda – beda. Sedangkan prolog tidak memiliki prosedur, tetapi  hanya kumpulan data - data objek (fakta) yang akan diolah, dan relasi antar objek tersebut membentuk aturan yang diperlukan untuk mencari suatu jawaban. Prolog ideal untuk memecahkan masalah yang tidak terstruktur, dan prosedur pemecahannya tidak diketahui, khususnya untuk memecahkan masalah non numeric serta bekerja seperti pikiran manusia, proses pemecahan masalah bergerak di dalam ruang masalah menuju suatu tujuan (jawaban tertentu).
Prolog dapat diaplikasi dalam :
-      Sistem Pakar (Expert System)
Program menggunakan teknik pengambilan kesimpulan dari data-data yang didapat, layaknya seorang ahli. Contoh dalam mendiagnosa penyakit
-      Pengolahan Bahasa Alami (Natural Languange Processing)
Program dibuat agar pemakai dapat berkomunikasi dengan komputer dalam bahasa manusia sehari-hari, layaknya penterjemah.
-      Robotik
Prolog digunakan untuk mengolah data masukanyang berasal dari sensor dan mengambil keputusan untuk menentukan gerakan yang harus dilakukan.
-      Pengenalan Pola (Pattern Recognition)
Banyak digunakan dalam image processing, dimana komputer dapat membedakan suatu objek dengan objek yang lain.
-      Belajar (Learning)
Program belajar dari kesalahan yang pernah dilakukan, dari pengamataqn atau dari hal-hal yang pernah diminta untuk dilakukan.
                Algoritma dalam prolog terdiri dari logika dan control. Logika merupakan fakta dan aturan yang menerangkan apa yang seharusnya dilakukan oleh algoritma. Sedangkan control merupakan cara algoritma diimplementasikan dengan menggunakan peraturan.
Perbedaan operator logika dengan Prolog:
OperatorLogika
Prolog
^
,
V
;
à
:-
¬
Not

Fakta dan Relasi
                Fakta adalah suatu unit yang selalu bernilai benar. Fakta ini merupakan kumpulan data – data objek. Suatu fakta dibedakan dalam 2 jenis, yaitu fakta yang menunjukkan relasi dan fakta yang menunjukkan milik / sifat. Penulisan suatu fakta diakhiri dengan tanda ( . ).
Contoh :
Fakta
Prolog
Agus adalah ayah Reno
ayah (Agus, Reno).
Anita adalah seorang wanita
wanita (anita).
Angga suka renang dan tenis
suka(angga, renang). dan suka(angga,tenis).
Jeruk berwarna jingga
jngga(jeruk).

Aturan (“Rules”)
                Aturan merupakan suatu pernyataan yang mengungkap sebuah hubungan diantara fakta - fakta untuk membentuk suatu kesimpulan dengan implikasi logika (:-).  Sebuah aturan dinyatakan sebagai suatu kalimat bersyarat. Untuk menyatakan kalimat bersyarat dalam prolog kata yang dikenal adalah kata “if”. Setiap aturan terdiri dari kesimpulan (kepala) dan tubuh (dapat terdiri dari 1 atau lebih pernyataan atau aturan yang lain, disebut subgoal dan dihubungkan dengan logika “and”). Aturan memiliki sifat then/if conditional, contohnya : “Kepala(head) benar jika tubuh (body) benar”.
Contoh :
Fakta dan Aturan
Prolog
F : Tino suka apel
A : Yuli suka sesuatu yang disukai Tino
suka(tino, apel).
suka(yuli,Sesuatu) :-  suka(tino,Sesuatu).
F : Agus adalah ayah dari Reno
F : Reno adalah ayah dari Badu
F : Agus adalah kakek dari Badu
A :
Agus adalah benar kakek Badu jika Agus adalah benar ayah Reno dan Reno adalah benar ayah Badu.
ayah(Agus, Reno).
ayah(Reno,badu).
kakek(Agus,badu).

kakek(Agus,Reno) :-
ayah(Agus,Reno) and
ayah(Reno,badu).

Jenis – Jenis Prolog :
»   Strawberry Prolog
»   SWI Prolog
»   Virtual Prolog



karmila.staff.gunadarma.ac.id/Downloads/files/3496/Prolog-1.doc
id.wikipedia.org/wiki/Prolog
http://dagdigdugweew.blogspot.com/2010/11/prolog.html