BAB 1
PENDAHULUAN
1.2 Latar Belakang
Dewasa
ini, Bahasa pemrograman computer telah
menjadi bagian penting dalam kehidupan sehari-hari manusia, baik dari kalangan
professional yang memanfaatkannya untuk membangun aplikasi maupun dari kalangan
awam yang memakainya dalam bentuk produk/aplikasi. Mulai dari kebutuhan
pendidikan, pekerjaan, sampai dengan hiburan, setiap kebutuhan tersebut telah
dipermudah dengan adanya aplikasi yang memang sengaja dibuat untuk meningkatkan
pengalaman pengguna. Aplikasi-apliklasi tersebut tentu dibangun dengan Bahasa
pemrograman tertentu tergantung berbagai factor yang dipertimbangkan oleh para
developer aplikasi.
Baru-baru
ini, ramai diperbincangkan oleh kalangan pegiat teknologi tentang AI
(Artificial Intellegence) atau kecerdasan buatan. Teknologi ini dapat
memudahkan hamper semua pekerjaan manusia dengan berbasis Machine Learning, artinya sebuah teknologi yang dibangun dengan AI
dapat deprogram untuk mampu “belajar” dari pengalaman. Sehingga semakin sering
teknologi itu digunakan maka akan semakin baik pula outputnya.
Salah satu Bahasa pemrograman yang mempelopori teknologi
tersebut yaitu Bahasa pemrograman prolog. Untuk itu, makalah ini berusaha
mengenalkan kita mengenai artificial intellegence beserta Bahasa pendukungnya
yaitu bahasa prolog secara umum.
1.2 Rumusan masalah
Masalah yang diangkat dalam makalah ini
adalah mengenai Bahasa Pemograman Prolog. Adapun rumusan masalahnya sebagai
berikut :
1. Apa yang
dimaksud dengan AI (Artificial
Intellegence) ?
2. Seperti
apa bahasa permograman Prolog itu ?
3. Bagaimana
sejarah dari bahasa pemrogrman prolog ?
4. Apa yang
membedakan bahasa pemrograman prolog dengan bahasa peemrogaman lain ?
5. Apa saja
kelebihan dan kekurangan Bahasa pemrograman prolog dengan bahasa permrograman
lain ?
6. Bagaimana
penerapan dari Bahasa pemrograman prolog dalam kehidupan sehari-hari ?
1.3 Tujuan
Terdapat beberapa tujuan yang ingin
dicapai oleh penulis dalam penullisan makalah tentang bahasa pemograman Prolog
ini. Beberapa tujuan tersebut antara lain :
1. Mengetahui
tentang AI (Artificial Intellegence) secara umum.
2. Mengetahui
tentang bahasa permrograman prolog secara umum.
3. Mengetahui
sejarah dari Bahasa pemrograman prolog.
4. Mengetahhui
perbedaan Bahasa pemrograman prolog dengan bahasa pemrograman lain.
5. Mengetahui
kelebihan dan kekurangan dari Bahasa pemrograman prolog.
6. Mengetahui
bagaimana penerapan bahasa pemrograman prolog dalam kehidupan sehari-hari.
BAB 2
PEMBAHASAN
2.1
Sejarah dan Definisi AI (Artificial Intellegence)
Kecerdasan Buatan atau Artificial Intelligence didefinisikan sebagai
kecerdasan yang ditunjukkan oleh suatu entitas buatan. Istilah Artificial
Intelligence dicetuskan oleh John McCarthy (MIT), tahun 1956 pada Dartmouth
Conference. John McCarthy mendefinisikan tujuan AI untuk “mengetahui dan
memodelkan proses-proses berpikir manusia dan mendesain mesin agar dapat
menirukan perilaku manusia”. Kecerdasan buatan harus didasarkan pada
prinsip-prinsip teoretikal dan terapan yang menyangkut struktur data yang
digunakan dalam representasi pengetahuan (knowledge representation), algoritma
yang diperlukan dalam penerapan pengetahuan itu, serta bahasa dan teknik
pemrograman yang dipakai dalam implementasinya.
Beberapa program Artificial Intellegence pada periode 1956-1966 :
§
Logic Theorist, untuk pembuktian teorema matematik
Sad Sam (oleh Robert K.Lindsay, 1960), program yang dapat mengetahui kalimat
sederhana dalam bahasa Inggris dan memberikan jawaban dari fakta yang didengar
dalam sebuah percakapan.
§
ELIZA (Joseph Weizenbaum, 1967), program untuk terapi
pasien dengan memberikan jawaban.
Domain Penelitian pada Kecerdasan Buatan, terdiri dari
:
1.
Mundane Task
a.
Persepsi (vision & speech)
b.
Bahasa alami (understanding, generation &
translation)
c.
Pemikiran yang bersifat commonsense
d.
Robot Control
2.
Formal Task
a.
Games
b.
Matematika (geometri, logika, kalkulus integral,
pembuktian)
3.
Expert Task
a.
Analisis Finansial
b.
Analisis Medikal
c.
Analisis Ilmu Pengetahuan
d.
Rekayasa (desain, pencarian kegagalan, perencanaan
manufaktur)
Artificial Intellegence terbagi menjadi beberapa bidang aplikasi,
seperti :
1.
Sistem Pakar (Expert System)
Program menggunakan teknik
pengambilan kesimpulan dari data-data yang didapat, layaknya seorang ahli.
Contohnya yaitu membantu seorang dokter dalam mendiagnosa penyakit.
2.
Pengolahan Bahasa Alami (Natural Language Processing)
Program dibuat agar user dapat
berkomunikasi dengan komputer dengan menggunakan bahasa manusia sehari hari,
layaknya penterjemah.
3.
Pengenalan Ucapan (Speech Recognition)
Melalui pengenalan ucapan, diharapkan
manusia dapat berkomunikasi dengan komputer menggunakan suara.
4.
Robotika dan
Sistem Sensor (Robotics & Sensory Systems)
Prolog digunakan untuk mengolah data
masukan yang berasal dari sensor dan mengambil keputusan untuk menentukan
gerakan yang harus dilakukan.
5.
Pengenalan Pola (Pattern Recognition)
Pengenalan pola banyak digunakan
dalam image processing, dimana komputer dapat membedakan suatu object dengan
object yang lain.
6.
Belajar (Learning)
Program belajar dari kesalahan yang
pernah dilakukan, dari pengamatan atau dari hal-hal yang pernah diminta untuk
dilakukan.
2.2 Pengertian 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.
Berbeda dengan bahasa pemrograman yang lain, yang
menggunakan algoritma konvensional 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.
2.3 Sejarah Prolog
Prolog atau Programing
In Logic pertama kali dikembangkan oleh Alain Colmetrouer dan P.Roussel di
Universitas Marseilles Prancis, pada tahun 1972. Selama tahun 70-an prolog
menjadi bahasa yang populer di Eropa untuk aplikasi Artificial Intellegence.
Berbeda dengan yang terjadi di Amerika Serikat, para peneliti juga
mengembangkan bahasa pemrograman yang dikenal dengan LISP, untuk aplikasi yang
sama. LISP merupakan mempunyai kelebihan dibandingkan prolog , tetapi LISP
lebih sulit dipelajari.
Pada mulanya, Prolog
adalah bahasa yang didasarkan pada keindahan logika. Sejak ditemukannya pada
tahun 1970-an, 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.
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 memiliki filosofi
yang berbeda.
Di satu pihak, mereka
beranggapan 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 bersaing dalam
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 (pemrograman dalam logika) merupakan salah satu bahasa pemrograman yang
paling banyak digunakan dalam penelitian kecerdasan buatan. Berbeda dengan
bahasa imperatif seperti C atau Java (yang berorientasi obyek) merupakan bahasa
pemrograman deklaratif. Dimana dalam menerapkan solusi untuk masalah, kita
menentukan situasinya seperti apa (aturan dan fakta) dan tujuan (permintaan)
dan prolog akan menghasilkan informasi untuk pengguna, bukan menentukan
bagaimana untuk mencapai tujuan tertentu dalam situasi tertentu. Prolog sangat
berguna dalam program aplikasi kecerdasan buatan (AI) dan pengembangan system
pakar (expert system).
Perbedaan antara bahasa
deklaratif dengan procedural adalah sebagai berikut:
§ Bahasa deklaratif hanya membutuhkan
deklarasi atau uraian masalah sedangkan pada bahasa prosedural memerlukan
perintah.
§ Prolog adalah goal oriented yaitu
apa yang harus dipecahkan, sedangkan bahasa prosedural menjawab bagaimana harus
memecahkan masalah.
§ Prolog tidak memiliki struktur
seperti deklarasi, dan lain-lainnya, yang ada hanyalah clause.
2.4 Perbedaan Prolog dengan Bahasa Pemograman lain
Hampir semua bahasa pemrograman yang ada
saat ini seperti pascal, C, fortran, disebut procedural languange untuk
menggunakan bahasa tersebut diperlukan algoritma atau procedure yang dibuat
untuk menyelesaikan masalah. Program dapat menjalankan 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.
Pemrogaraman 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 procedure pemecahannya tidak
diketahui, khususnya untuk memecahkan masalah non numeric.
2.5 Kelebihan dan Kekurangan Prolog
Kelebihan Prolog :
§ Berbeda
dengan bahasa pemrograman yang lain, yang menggunakan algoritma konvensional
sebagai teknik pencariannya seperti pada delphi, pascal, basic, cobol dan
bahasa pemrograman yang sejenisnya, maka prolog menggunakan teknik pencarian
yang disebut heuristik (heutistic) dengan menggunakan pohon logika.
§ 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.
§ Melakukan
komputasi rumit pada data yang kompleks.
§ Mengekspresikan
algoritma dengan baik.
§ Mengalokasikan
memori secara dinamis sehingga programmer tidak harus mendeklarasikan ukuran
sebuah struktur data sebelum membuatnya.
§ Mengembangkan
dan memodifikasi dirinya sehingga sebuaah program dapat “belajar” melalui
informasi yang didapat selama program dijalankan.
§
Prolog mempunyai
Automated Reasoning Procedure (Prosedur Sebab-Akibat Otomatis) yang disebut
Inference Engine yang sudah built-in didalamnya. Akibatnya, program yang
menggunakan logika sebab-akibat jadi lebih mudah ditulis dalam PROLOG.
Kekurangan Prolog :
§ Pemborosan
dalam pengalokasian memori sehingga program berjalan menjadi lambat.
2.6
Penerapan Prolog
Prolog sangat membantu dalam program untuk
menirukan cara berfikir manusia dengan mengggunakan komputer (mesin) karena
Prolog memiliki sifat atau ciri yang sesuai dengan metode pemrograman
kecerdasan buatan.
Dengan kata lain Prolog sangat besar
manfaatnya dalam kecerdasan buatan yang meliputi berbagai bidang:
1. Sistem
Pakar
Pendiagnosaan infeksi bakteri (MYCIN),
mengidentifikasi suatu jenis binatang, untuk konsultasi, analisa, prediksi, dan
sebagainya. Sebagai bahasa yang berdasarkan pada pemrograman logika, Prolog
lebih menguntungkan, baik dari segi representasi pengetahuan mauapun cara
pencarian/penarikan kesimpulan
2. Robot
Ini mencakup bidang yang lebih luas
seperti pengendalian gerak, percakapan robot, sistem pakar robot. Prolog dipicu
dengan suatu sasaran (goal driven) sedangkan pemrograman dalam robot
pada umumnya lebih mudah jika diwujudkan secara goal driven, seperti untuk
mengambil kubus dengan goalnya adalah gerakkan manipulator ke arah kubus.
BAB
3
PENUTUP
3.1 Kesimpulan
Kecerdasan Buatan atau Artificial Intelligence didefinisikan sebagai
kecerdasan yang ditunjukkan oleh suatu entitas buatan. Istilah Artificial
Intelligence dicetuskan oleh John McCarthy (MIT), tahun 1956 pada Dartmouth
Conference. John McCarthy mendefinisikan tujuan AI untuk “mengetahui dan
memodelkan proses-proses berpikir manusia dan mendesain mesin agar dapat
menirukan perilaku manusia”. Kecerdasan buatan harus didasarkan pada
prinsip-prinsip teoretikal dan terapan yang menyangkut struktur data yang
digunakan dalam representasi pengetahuan (knowledge representation), algoritma
yang diperlukan dalam penerapan pengetahuan itu, serta bahasa dan teknik
pemrograman yang dipakai dalam implementasinya.
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.
DAFTAR PUSTAKA
Banowosari,
Lintang Yuniar dkk., Buku Manual
Visual Prolog 7.4, Jakarta: Dapur Buku,
2013.
http://pintarharati.blogspot.com/2013/09/pengertian-prolog.html