MAD…..Math_C

We are NOT MAD! but we are Member At Discrete Math C….

MoMoN’S Journal #3 “Prolog Introduce part. 1”

Posted by madmathc pada Oktober 4, 2009

Bismillahirrahmanirrahim..
“Mudah-mudahan bermanfaat dan mengantar tujuan yang baik sesuai dengan KepastianNya.”

Assalamualaikum Warahmatullah Wabarakatuh.

Ini adalah postingan saya yang ketiga..mumpung koneksi internet lagi kenceng, mudah-mudahan dari sekedar iseng-iseng berbuah manfaat, Amin.
Tapi kelihatannya urutannya tertukar dengan postingan sebelumnya.
kali ini saya mencoba mencopas sedikit tentang Prolog sebagai aplikasi. Diambil dan dirangkum dari berbagai sumber di internet.

BAHASA PEMROGRAMAN PROLOG

1. SEJARAHNYA:

Prolog adalah singkatan dari Programming in Logic, dikembangkan oleh alain Colmenraurer dan P.Roussel di Universitas Marseilles Prancis pada tahun 1972, karena pada masa tahun 70-an Prolog sedang populer di Eropa untuk aplikasi AI (Artificial Intelligence/Kecerdasan Buatan). Sedangkan di US sendiri malah menggunakan LISP sebagai bahasa pemrograman AI, hanya saja LISP lebih rumit digunakan ketimbang Prolog meskipun banyak kelebihan LISP ketimbang Prolog. Sejak adanya Compiler Prolog, kecepatan eksekusi Prolog yang sangat lambat dan kebanyakan pemakaiannya hanya untuk kalangan perguruan tinggi dan riset saja. Tetapi sejak  Jepang dan US mencanangkan rencana pengembangan teknologi hardware dan software untu tahun 1990-an dan bahasa pemrograman yang dipilih adalah Prolog, maka banyak orang menaruh minat pada Prolog dan sejak saat itulah telah dikembangkan versi prolog yang mempunyai kecepatan dan kemampuan yang lebih tinggi, lebih murah dan lebih mudah digunakan, baik untuk komputer mainframe maupun komputer pribadi sehingga Prolog menjadi alat yang penting dalam program aplikasi kecerdasan buatan (AI) dan pengembangan system pakar (expert system).

2. APA PERBEDAAN PROLOG DENGAN BAHASA PEMROGRAMAN LAINNYA?

Banyaknya bahasa pemrograman yang ada seperti Pascal, C, dan 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 masukan yang berbeda-beda. Procedure serta pengendalian program sepenuhnya ditentukan oleh programmer dan perhitungan yang dilakukan sesuai dengan procedure yang telah dibuat. Dengan kata lain, Pemrogram 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.

Jadi Perbedaannya:

Bahasa Pemrograman yang umum ( Basic,Pascal, C, Fortran):
1. Diperlukan Algoritma/Procedure untuk memecahkan masalah (Procedural Language),
2. program menjalankan prosedur yang sama berulang-ulang dengan data masukan yang berbeda-beda,
3. Prosedur dan pengendalian program ditentukan oleh programmer dan perhitungan dilakukan sesuai dengan prosedur yang telah dibuat.

Sedangkan Bahasa Pemrograman Prolog :
1. Object oriented languange atau declarative languange.
2. Tidak terdapat prosedur, tetapi  hanya kumpulan data-data objek (fakta) yang akan diolah, dan relasi antar objek tersebut membentuk aturan yang        diperlukan untuk mencari suatu jawaban
3. Programmer menentukan tujuan (goal), dan komputer menentukan bagaimana cara mencapai tujuan tersebut serta mencari jawabannya.
4. Dilakukan pembuktian terhadap cocok-tidaknya tujuan dengan data-data yang telah ada dan relasinya.
5. Prolog ideal untuk memecahkan masalah yang tidak terstruktur, dan prosedur pemecahannya tidak diketahui, khususnya untuk memecahkan masalah non numerik.

Prolog bekerja seperti pikiran manusia, proses pemecahan masalah bergerak di dalam ruang masalah menuju suatu tujuan (jawaban tertentu). 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.

3. JENIS PENERAPAN BAHASA PEMROGRAMAN/APLIKASI PROLOG:

* 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 pengamatan atau dari hal-hal yang pernah diminta untuk dilakukan.

4. DASAR-DASAR BAHASA PROLOG:

Tentunya setiap bahasa Pemrograman memiliki aturan masing-masing, agar compiler dapat membaca perintah apa yang diajukan dan bagaimana penyelesaiannya. Prolog terdiri dari Fakta dan Relasi. Fakta menunjukkan bahwa suatu keadaan atau situasi adalah nyata maka Fakta adalah selalu benar ( “True” ). Pembagian Fakta menjadi 2 bagian yaitu fakta yang menunjukkan Relasi dan Fakta yang menunjukkan milik/sifat. Penulisannya harus selalu diakhiri dengan tanda titik (“Full Stop”). Sebagai contoh Fakta dan Relasi:

Fakta

Prolog

Slamet adalah ayah Amin

ayah (slamet, amin).

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 adalah suatu pernyataan yang menunjukkan bagaimana fakta-fakta berinteraksi satu dengan yang lain untuk membentuk suatu kesimpulan. Sebuah aturan dinyatakan sebagai suatu kalimat bersyarat. dan kata “if” adalah kata yang dikenal Prolog untuk menyatakan kalimat bersyarat atau disimbolkan dengan “:-“.  Misalnya, ada sebuah fakta: Momon suka Chatting
Dan ada sebuah aturan yang berbunyi: Momon suka sesuatu yang disukai oleh Widi
Informasi yang didapat dari fakta yang diketahui, maka dapat diambil kesimpulan (jawaban) dari aturan tersebut yaitu Momon suka Chatting.
Dalam prolog, fakta di atas dituliskan sebagai:
Suka(Widi,Chatting).
Sedangkan aturan tersebut dapat dinyatakan juga sebagai:
Momon suka sesuatu jika Widi suka sesuatu itu juga

Dan ini dituliskan sebagai:

Suka(Momon,sesuatu) if Suka(Widi,sesuatu).,

Jika di tayangkan dalam sebuah tabel:

Fakta dan Aturan

Prolog

F : Widi suka chatting

A : Momon suka sesuatu yang disukai Widi

suka(widi, chatting).

suka(momon,sesuatu) :- suka(widi,sesuatu).

Jadi…Setiap aturan terdiri dari kesimpulan(kepala) dan tubuh. 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 : “Kepala(head) benar jika tubuh (body) benar”. Mirip-mirip implication di materi Logika (p –> q), p adalah benar jika q benar.

Kelihatannya sampai disini dulu Jurnalku kali ini… insya4jji saya akan mencoba mencopas kelanjutan Prolog pada Jurnal berikutnya (Part.II), mumpung koneksi Internet masih ngacirrr dan belum kena Densus 88 (RTO/Pengurangan kuota arus koneksi internet). Alhamdulillah banyak juga yang bisa saya copas kali ini.

Saya Akhiri dahulu..Wassalamualaikum Warahmatullah Wabarakatuh.

Ttd.

MoMoNCha

5209108718

3 Tanggapan to “MoMoN’S Journal #3 “Prolog Introduce part. 1””

  1. Widi said

    Waduh, ada namaku rek…. Hahaha..

  2. Cak Shon said

    Nice Blog🙂
    kindly, create ABOUT page please🙂 tq.

  3. Bagol said

    bisa kasih tau macam-macam kondisi dalam prolog itu apa saja? apa sama dengan bahasa yang lain cara penulisan kondisinya..

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

 
%d blogger menyukai ini: