Mengenal Bahasa Pemprograman Prolog

advertisement
Mengenal Bahasa Pemprograman Prolog
Muhamad Burhanudin
[email protected]
Abstrak
Prolog (programmation en logique) adalah bahasa pemrograman logika atau bahasa
non-prosedural. Bahasa ini diciptakan oleh Alain Colmerauer dan Robert Kowalski
sekitar tahun 1972 dalam upaya untuk menciptakan suatu bahasa pemrograman untuk
aplikasi kecerdasan buatan yang memungkinkan pernyataan logika alih-alih rangkaian
perintah untuk dijalankan komputer. Bahasa ini menjadi popular semenjak Jepang
mengumumkan pada tahun 1981 bahwa jepang akan menggunakannya sebagai basis
computer “generasi kelima”. Namanya diambil dari bahasa Perancis programmation en
logique (pemrograman logika).
Kata Kunci:Prolog
Pendahuluan
Bahasa pemrograman adalah bahasa yang dapat diterjemahkan menjadi kumpulan
perintah-perintah dasar tersebut. Penerjemahan dilakukan oleh program komputer yang
disebut kompilator (compiler). Setiap bahasa pemrograman mempunyai kompilatornya
sendiri. Contohnya, kompilator prolog tidak akan mengerti program yang ditulis dengan
bahasa java. Sintaks dari bahasa pemrograman lebih mudah dipahami oleh manusia
daripada sintaks perintah dasar. Namun tentu saja komputer hanya dapat melaksanakan
perintah dasar itu. Maka di sinilah peran penting kompilator sebagai perantara antara
bahasa pemrograman dengan perintah dasar. Kegiatan membuat program komputer
dengan menggunakan bahasa pemrograman disebut pemrograman komputer. Kali ini
Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
kita akan membahas tentang bahasa pemrograman jadul atau klasik yaitu Prolog. Maka
disini lah saya akan menjelaskan mengenai bahasa pemprograman prolog yang mungkin
jarang diketahui oleh pemula.
Pembahasan
Prolog adalah bahasa pemrograman logika atau di sebut juga sebagai bahasanonprocedural.
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. Berbeda
dengan
bahasa
pemrograman
yang
lain,
yang
menggunakan algoritma konvensionl sebagai teknik pencariannya seperti pada Delphi,
Pascal, BASIC, COBOL dan bahasa pemrograman yang sejenisnya, maka Prolog
menggunakan teknik pencarian yang di sebut heuristik (heutistic) dengan menggunakan
pohon logika.
1. Sejarah Bahasa Prolog
Prolog merupakan singkatan dari “Programing In Logic” pertama kali
dikembangkan oleh Alain Colmetrouer dan P.Roussel di Universitas Marseilles Prancis
tahun 1972. Selama tahun 70-an, prolog menjadi populer di Eropa untuk aplikasi AI.
Sedangkan di Amerika Serikat, para peneliti juga mengembangkan bahasa lain untuk
aplikasi yang sama yaitu LISP. LISP mempunyai kelebihan dibandingkan prolog , tetapi
LISP lebih sulit dipelajari. Pada mulanya, Prolog adalah bahasa yang sangat murni yang
didasarkan pada keindahan logika. Sejak ditemukannya pada tahun 1970-an oleh ketiga
orang di atas, Prolog berkembang dengan lambat dan hanya digunakan oleh para
peneliti dari universitas-universitas terkenal karena hanya merekalah yang dapat
mengerti arti dari pentingnya Prolog. Dalam masa pengembangannya, para peneliti
banyak menemukan kebutuhan-kebutuhan baru yang perlu ditambahkan di Prolog.
Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Pada awalnya, Prolog dan LISP sangat lambat dalam eksekusi program dan
memakan memori yang besar sehingga hanya kalangan tertentu yang menggunakannya.
Dengan adanya Compiler Prolog, kecepatan eksekusi program dapat ditingkatkan,
namun Prolog masih dipandang sebagai bahasa yang terbatas (hanya digunakan di
kalangan perguruan tinggi dan riset). Pada awal tahun 1980-an, dunia industri mulai
menyadari kelebihan-kelebihan yang dimiliki oleh Prolog dibandingkan dengan bahasa
konvensional lainnya. Dengan terlibatnya dunia industri, maka timbul tuntutan-tuntutan
baru, misalnya tuntutan akan eksekusi waktu yang lebih cepat, kebutuhan memori yang
lebih kecil dan kebutuhan praktis lainnya. Namun hal ini justru menimbulkan 2
kelompok yang mempunyai filosofi yang berbeda.
Di satu pihak, mereka menganggap bahwa Prolog adalah bahasa penelitian
sehingga mereka menginginkan banyak hal tercakup dalam Prolog sehingga Prolog
dapat digunakan secara luwes untuk berbagai keperluan penelitian. Di pihak lain,
mereka yakin bahwa Prolog seharusnya dapat menjadi bahasa yang berguna untuk
mengembangkan berbagai macam aplikasi yang bukan penelitian. Pandangan umum
Prolog, hanya digunakan di kalangan perguruan tinggi dan riset, tiba-tiba berubah di
tahun 1981 pada konverensi internasional I dalam system generasi kelima di Tokyo,
Jepang. Jepang yang saat itu mengalami kesulitan bersaingdalam pemasaran komputer
dengan Amerika Serikat, mencanangkan rencana pengembangan teknologi hardware
dan software untuk tahun 1990-an. Dan bahasa yang dipilih adalah Prolog.
Sejak saat itu, banyak orang menaruh minat pada prolog dan saat itu 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).
Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
2. Perbedaan Prolog dengan Bahasa Lainnya
Bahasa Pemrograman yang Umum (Basic, Pascal, C, Fortran) :
o diperlukan algoritma/prosedur untuk memecahkan masalah (procedural
languange)
o program menjalankan prosedur yang sama berulang-ulang dengan data
masukan yang berbeda-beda.
o Prosedur dan pengendalian program ditentukan oleh programmer dan
perhitungan dilakukan sesuai dengan prosedur yang telah dibuat.
Bahasa Pemrograman Prolog :
o Object oriented languange atau declarative languange.
o 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
o Programmer menentukan tujuan (goal), dan komputer menentukan
bagaimana cara mencapai tujuan tersebut serta mencari jawabannya.
o Dilakukan pembuktian terhadap cocok-tidaknya tujuan dengan data-data
yang telah ada dan relasinya.
o Prolog ideal untuk memecahkan masalah yang tidak terstruktur, dan
prosedur pemecahannya tidak diketahui, khususnya untuk memecahkan
masalah non numerik.
o Prolog bekerja seperti pikiran manusia, proses pemecahan masalah
bergerak di dalam ruang masalah menuju suatu tujuan (jawaban tertentu).
o Contoh : Pembuatan program catur dengan Prolog.
3. Aplikasi Prolog :

Sistem Pakar (Expert System)
Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
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.
4. Kelebihan bahasa pemprograman prolog :

Bahasa pemrograman Artificial Intellegence.

Bahasa pemrograman computer generasi kelima.

PROLOG banyak digunakan dalam aplikasi pembuatan bahasa alami,
penulisan compiler, penambahan ilmu pada sistem pakar dan purwarupa
(prototype) perangkat lunak.

Bagus untuk menulis sistem pakar dan knowledge based system.

Berbeda dengan bahasa pemrograman yang lain, yang menggunakan
algoritma konvensionl sebagai teknik pencariannya seperti pada Delphi,
Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Pascal, Basic, COBOL dan bahasa pemrograman yang sejenisnya, maka
prolog menggunakan teknik pencarian yang di sebut heuristik (heutistic)
dengan menggunakan pohon logika.

Mengekpresikan algoritma dengan baik.

Melakukan komputasi rumit pada data yang kompleks.

Mengalokasikan memori secara dinamis sehingga programmer tidak harus
mendeklarasikan ukuran sebuah struktur data sebelum membuatnya.

Mengembangkan dan memodifikasi dirinya sendiri sehingga sebuah program
dapat “belajar” melalui informasi yang didapat selama program dijalankan

PROLOG mempunyai Automated Reasoning Procedure (Prosedur SebabAkibat Otomatis) yang disebut Inference Engine (Inference = proses
pengambilan kesimpulan) yang sudah built-in didalamnya. Akibatnya,
program yang menggunakan logika sebab-akibat jadi lebih mudah ditulis
dalam PROLOG.
5. Kekurangan bahasa pemprograman prolog:
Pemborosan dalam pengalokasian memory sehingga program berjalan menjadi
lambat.
Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Penutup
Nah itulah sekilas tentang sejarah bahasa pemrograman prolog. Semoga bermanfaat
untuk anda!
Referensi
http://andikafisma.wordpress.com/kelebihan-kelemahan-dan-aplikasi-10-bahasapemrograman/
http://punya-magna.blogspot.com/2012/11/kumpulan-bahasa-pemrograman.html
http://informaticunsil.blogspot.com/2012/12/sejarah-bahasa-pemrograman-prolog.html
Biografi
Nama : Muhamad Burhanudin
Alamat : Jl.Ahmad Yani Kp.Ciawi-Pisangan Jaya kab.Tangerang
Hobby : Bermain Game Online
Lisensi Dokumen:
Copyright © 2008-2014 ilmuti.org
Seluruh dokumen di ilmuti.org dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan bukan komersial
(nonprofit), dengan syarat tidak menghapus atau merubah atribut penulis dan pernyataan copyright yang disertakan dalam setiap
dokumen. Tidak diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari ilmuti.org
Download