Sabtu, 30 November 2013

perbedaan prolog dengan bahasa lainnya


Hampir semua bahasa pemrograman yang ada pada saat ini seperti Pascal, C, Fortran, disebut procedural language untuk menggunakan bahasa tersebut diperlukan algoritma atau procedure yang dibuat untuk menyelesaikan masalah. Program dapat menjalankan procedure yang sama berulang-ulang dengan data masukkan yang berbeda-beda. Procedure serta pengendalian program sepenuhnya ditentukan oleh programmer dan perhitungan yang dilakukan sesuai dengan procedure yang telah dibuat. Dengan kata lain, Pemrograman harus memberi tahu komputer bagaimana komputer harus menyelesaikan masalah.
Prolog mempunyai sifat-sifat yang berbeda dengan bahasa yang disebutkan diatas, prolog disebut sebagai object oriented language atau declarative language. Dalam prolog tidak terdapat prosedur, tapi hanya tampilan data-data object (fakta) yang akan diolah dengan relasi antar object tersebut yang membentuk suatu aturan. Aturan-aturan ini disebut HEURISTIK dan diperlukan dalam mencari suatu jawaban, dengan kata lain, prolog dalam prolog adalah database.
Pemrogram menentukan tujuan (Goal) dan komputer akan menentukan bagaimana cara mencapai tujuan tersebut serta mencari jawabannya. Caranya dengan menggunakan “Formal Reasoning” yaitu membuktikan cocok tidaknya tujuan dengan data-data yang telah ada dan relasinya. Prolog memecahkan masalah seperti yang dilakukan oleh fikiran manusia.
Dengan demikian, Prolog sangat ideal untuk memecahkan masalah yang tidak terstruktur dan yang prosedur pemecahannya tidak diketahui, khusunya untuk memecahkan masalah non numeric.
Kemampuan Prolog
Terletak pada kemampuannya untuk mengambil kesimpulan (jawaban) dari data-data yang ada. Karena program dalam bahasa prolog tidak memerlukan prosedur (algoritma). Prolog sangat ideal untuk memecahkan masalah yang tidak terstruktur dan yang prosedur pemecahannya tidak diketahui, khususnya untuk memecahkan masalah non-numerik.
Misalnya, dalam pembuatan program catur dengan prolog untuk menentukkan gerakan catur anda tidak perlu menganalisa semua kemungkinan atau menentukkan suatu prosedur tertentu untuk untuk menentukan gerakan berikutnya. Tetapi anda cukup menuliskan aturan umum permainan catur dan lebih baik lagi jika ditambah dengan aturan yang diperoleh dari pengalaman. Prolog akan menentukan sendiri langkah yang akan diambil berdasarkan data-data yang ada saat itu dan aturan-aturan yang diberikan.
Contoh lain kemampuan prolog:
• Permasalahan


Perangkat audio hanya menghasilkan suara disatu sisi speaker
• Pemecahan
Memindahkan switch ke radio FM. Bila kedua speaker berbunyi, maka anda tahu bahwa masalah berasal dari input tape, coba dengan kaset bila hasilnya tetap, berarti masalah tersebut berasal dari tape dan bukan kaset. alternatif termudah adalah dengan membersihkan head tape dan sekarang kedua speakernya berbunyi.

Gambar Diagram Pencarian Jawaban Melalui Ruang Masalah
Dari diagram diatas, ruang masalah ditunjukan dalam simpul (node) dan penghubung (link). Tiap-tiap simpul merupakan subgoal (tujuan menengah) yang merupakan langkah menuju jawaban akhir. Dalam prolog anda hanya mendefinisikan ruang masalah yang ada sedangkan dalam bahasa procedural, anda harus menentukan jalan tertentu yang harus ditempuh melalui ruang masalah.
Prolog merupakan suatu bahasa pemrograman yang banyak digunakan dalam pengembangan Artificial Intelliegence. Prolog dalam perkembangannya telah dikombinasikan dengan berbagai bahasa pemrograman, terutama functional programming.

Bahasa prolog ini memiliki ciri-ciri :
• Bahasa pemrograman yang non sequential
• Bahasa pemrograman yang deklaratif
• Simbolik
• Berdasarkan first order logic

Kesederhanaan Prolog dibanding bahasa lain adalah :
• Sintaksnya sangat sedikit sekali,
• Secara teoritis tidak ada tipe data, tetapi bilangan bulat terpisah.
• Semantik sangat jelas dan terdefinisi secara matematis.

Tidak ada komentar:

Posting Komentar