Strawberry Prolog
Strawberry Prolog dibuat oleh Institut Matematika dan Informatika pada
Akademi Ilmu Pengetahuan Bulgaria. Versi pertama dirilis pada tahun
1996. Pemimpin tim Strawberry Dimiter Dobrev. Strawberry Prolog adalah
dialek dari bahasa pemrograman Prolog. Sintaks-nya adalah sangat dekat
dengan ISO-Prolog tetapi memiliki banyak ekstensi yang bukan bagian dari
standar. Gagasan utama dari Strawberry Prolog adalah sangat mudah
digunakan dan itulah sebabnya beberapa universitas menggunakannya untuk
kursus mereka. Prolog Strawberry Prolog sedang dikembangkan di Institut
Matematika dan Informatika dan di Fakultas Matematika dan Informatika.
Kompiler Prolog ini merupakan bagian dari proyek AI.
Sejarah 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 Colmerauerdan Robert Kowalski sekitar tahun 1972 dalam upaya
untuk menciptakan suatu bahasa pemrograman yang memungkinkan pernyataan
logika alih-alih rangkaian perintah untuk dijalankan komputer. Ia
mengembangkan pemrograman tersebut secara teoritis yang kemudian
dilanjutkan dalam demonstrasi eksperimen oleh Maarten van Emden, juga
dari Edinburgh. Kemudian Alain Colmerauer dari Marseilles, Perancis
membuat implementasinya. Bahasa ini pertama kali dikembangkan oleh Alain
Colmerauer dan P. Roussel di Universitas Marseilles Perancis pada tahun
1972. Selama tahun 70-an, Prolog menjadi populer di Eropa untuk
aplikasi artificial intelegence. 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.
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 Konferensi
International I dalam sistem Generasi Kelima di Tokyo, Jepang. Jepang
yang saat itu mengalami kesulitan bersaing dalam pemasaran komputer
dengan Amerika Serikat, mencanangkan suatu rencana untuk mengembangkan
teknologi perangkat keras dan perangkat lunak komputer generasi kelima
untuk tahun 1990-an. Dan bahasa yang dipilih adalah Prolog. Sejak saat
itu, banyak orang mulai menaruh minat pada Prolog dan pengembangan 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 sangat penting dalam
program aplikasi kecerdasan buatan (artificial intelegence) dan
pengembangan sistem pakar (expert system).
Prolog merupakan pemrograman berupa Object Oriented Language atau
declarative Language, dimana prolog tidak terdapat prosedur, tetapi
hanya kumpulan data-data objek (fakta) yang akan diolah dan relasi antar
objek tersebut yang membentuk suatu aturan. Aturan-aturan ini disebut
heuristik dan diperlukan dalam mencari suatu jawaban. Dengan kata lain
program dalam Prolog adalah sebuah database. Pemrogram menentukan goal
(tujuan) dan komputer akan menentukan bagaimana cara mencapai tujuan
tersebut serta mencari jawabannya menggunakan “formal reasoning” yang
membuktikan cocok tidaknya tujuan dengan data-data yang telah ada dan
relasinya. Prolog memecahkan masalah seperti yang dilakukan oleh pikiran
manusia. Dengan demikian, Prolog sangat ideal untuk memecahkan masalah
yang tidak terstruktur dan prosedur pemecahannya tidak diketahui,
khususnya untuk memecahkan masalah non numerik.
Perbedaan Prolog dengan Bahasa Lain
Bisa dibilang lebih banyak bahasa pemrograman saat ini yang memiliki
sistem Procedural Language, yang penggunaannya menggunakan algoritma
terlebih dahulu dalam membuat suatu penyelesaian. Prosedur dapat dibuat
secara berulang sampai ditemukan solusi yang diinginkan, yang sudah
barang tentu dikendalikan oleh si pembuat program. Inti dari prosedural
itu sendiri adalah memberikan sederetan fungsi atau perintah, sehingga
komputer dapat menjalankan pemikiran secara otomatis untuk mendapatkan
solusi.
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.
Formal Reasoning digunakan untuk mencapai goal atau tujuan, dengan cara
menentukan cocok tidaknya tujuan dengan data-data yang sudah ada
beserta relasinya. Dengan kata lain prolog bekerja seperti yang
dilakukan oleh pemikiran manusia, prolog cocok digunakan untuk
memecahkan masalah yang tidak diketahui prosedur pemecahan nya atau
dengan kata lain tidak terstruktur dan non numerik.
Bahasa Pemrograman Prolog
-
Object oriented languange atau declarative languange.
- 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
- Programmer menentukan tujuan (goal), dan komputer menentukan
bagaimana cara mencapai tujuan tersebut serta mencari jawabannya.
- Dilakukan pembuktian terhadap cocok-tidaknya tujuan dengan data-data yang telah ada dan relasinya.
- 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).
Aplikasi Prolog
1. Sistem Pakar (Expert System)
Program menggunakan teknik pengambilan
kesimpulan dari data-data yang didapat, layaknya seorang ahli.
2. Pengolahan Bahasa Alami (Natural Languange Processing), Program
dibuat agar pemakai dapat berkomunikasi dengan komputer dalam bahasa
manusia sehari-hari, layaknya penterjemah.
3. Robotik, Prolog digunakan untuk mengolah data masukanyang berasal
dari sensor dan mengambil keputusan untuk menentukan gerakan yang harus
dilakukan.
4. Pengenalan Pola (Pattern Recognition), Banyak digunakan dalam image
processing, dimana komputer dapat membedakan suatu objek dengan objek
yang lain.
5. Belajar (Learning), Program belajar dari kesalahan yang pernah
dilakukan, dari pengamataqn atau dari hal-hal yang pernah diminta untuk
dilakukan.
-------------------------------------------------------------------------------------------------------------------------
Game untuk tugas Softskill
Game yang akan kami buat adalah game Tic Tac Toe. apakah itu game Tic Tac Toe ? game Tic Tac Toe
adalah permainan yang pada umumnya terdiri dari 3 x 3 bidak yang lambang dari
permainan Tic Tac Toe ini adalah O dan X. Game ini termasuk game melatih kecerdasan, karena pada game ini, pemain harus mengatur strategi agar bisa memenangkan permainan.
berikut adalah gambaran game Tic Tac Toe :