Sunday, December 18, 2016

MAKALAH PROLOG

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
Share: