Anda di halaman 1dari 11

PENDEKATAN KECERDASAN BUATAN MENGGUNAKAN BAHASA PEMROGRAMAN PROLOG DAN CLISP Mata Kuliah : Sistem Berbasis Pengetahuan Dosen:

Dr. Lily Wulandari

Disusun Oleh : [12111707] Faris Fajar Muhammad SMSI-02

SARJANA MAGISTER SISTEM INFORMASI FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS GUNADARMA 2013

Kata Pengantar

Puja dan puji syukur kehadirat tuhan yang maha esa , atas kasih dan karunia yang telah diberikan .Pada akhirnya penulis dapat menyelesaikan penulisan makalah ini dengan baik dan sesuai pada waktunya mengenai bahasa pemrograman yang digunakan dalam melakukan pengembangan kecerdasan buatan (Artificial Intelligence). Hari ini, penelitian mengenai bahasa pemrograman dalam pengembangan kecerdasan buatan menjadi salah satu sub bahasan terpenting. Terutama dalam pengembangan bahasa untuk sistem pakar (expert system) maupun tools yang dapat digunakan. Dengan melakukan identifikasi terhadap bahasa pemrograman yang dapat digunakan, diharapkan dapat melakukan pengimplementasian agar memberikan manfaat tidak hanya untuk masyarakat, namun untuk kemajuan dibidang teknologi itu sendiri. Berangkat dari hal tersebutlah, penulis menuangkannya di dalam tulisan ini yang berjudul PENDEKATAN KECERDASAN BUATAN MENGGUNAKAN BAHASA PEMROGRAMAN PROLOG DAN CLISP . Makalah ini dibuat dengan melakukan beberapa kajian studi pustaka dengan dibantu oleh berbabagai pihak untuk menghadapi kendala dalam penyelesaian makalah ini. Maka dari itulah, penulis mengucapkan terima kasih yang sebesar-besarnya kepada semua pihak yang telah membantu di dalam memaksimalkan penyusunan makalah ini. Penulis menyadari sepenuhnya bahwa penulisan ini masih jauh dari sempurna, karena keterbatasan pengetahuan, pengalaman dan referensi yang penulis gunakan. Untuk itu, penulis menghargai kritik dan saran guna perbaikan penulisan di masa yang akan datang Akhir kata , semoga makalah ini memberikan manfaat bagi khalayak yang membacanya.

Bogor, Oktober 2013

Penulis

PROLOG
Pendahuluan Programming in logic atau lebih dikenal dengan nama PROLOG merupakan bahasa pemrograman untuk kecerdasan buatan (Artificial Intelligence) yang menggunakan logika atau lebih dikenal dengan logic programming language , artinya kriteria dari bahasa tersebut dibentuk dalam logika umum. Ide pengembangan prolog sebagai bahasa pemrograman muncul pada tahun 1970-an. Pada awalnya, pengembang awal dari ide ini adalah Robert Kowalski dari sisi teoritis, Maarten van Emden pada bagian percobaan demonstrasi, dan Alain Colmerauer dalam Implementasinya. PROLOG sangat populer digunakan oleh negaranegara eropa untuk mengembangkan aplikasi kecerdasan buatan. Sedangkan di amerika, peneliti mengembangkan aplikasi tersebut menggunakan bahasa pemrograman LISP.

Gambar 1. Salah satu logo PROLOG

PROLOG merupakan bahasa pemrogramman yang terpusat pada mekanisme dasar, yang meliputi pencocokan bentuk (pattern matching), struktur data pohon (tree based data structuring), dan pelacakan kembali otomatis (automatic backtracking). Hal ini disebabkan karena PROLOG sangat baik digunakan dalam masalah yang melibatkan objek, objek yang berstruktur , serta relasi-relasi diantara objek tersebut. Berdasarkan hal tersebut, maka PROLOG dapat digunakan dengan maksimal dalam pengembangan aplikasi-aplikasi sebagai berikut: Grammars and Language Processing

Salah satu aplikasi yang dapat dikembangkan merupakan pengolahan bahasa alami (Natural Language Processing), yaitu ilmu yang berhubungan dengan hubungan manusia dengan komputer (HCI) dimana studi jangka panjangnya adalah menciptakan atau membuat mesin yang mampu mengenali bahasa manusia dan maknanya, serta memberikan respon yang tepat sesuai dengan apa yang kita ucapkan. Dalam implementasinya pada program, membutuhkan teknik kecerdasan buatan di dalam analisis memasukan tata bahasa yang akan dimasukan

oleh pengguna. Selanjutnya, program akan menganalisis sintaks dan semantik yang digunakan sampai memberikan hasilnya. Knowledge representation and reasoning

Bentuk aplikasi yang telah banyak dikembangkan adalah sistem pakar (Expert System). Program ini menggunakan teknik pengambilan keputusan dari data yang telah didapatkan, dan mampu menggantikan layaknya orang yang telah ahli dibidang tersebut. Sistem pakar memungkinkan orang lain meningkatkan produktifitasnya, dan memperbaiki kualitas keputusannya. Pattern Matching

Aplikasi yang banyak dikembangkan terutama aplikasi yang berhubungan dengan pengolahan citra (Image Processing), dimana komputer mampu membedakan suatu objek gambar dengan objek gambar lainnya. Planning and search

Aplikasi yang telah banyak dikembangkan adalah program untuk memecahkan masalah travelling salesman problem (TSP). Dimana diberikan sejumlah kota dan menentukan jarak terpendek yang harus ditempuh oleh salesman dari kota asal dan menyinggahi tepat satu kali kota yang telah ditentukan dan kembali ke tempat asal.

Gambar 2. Contoh program travelling sallesman

Unification

Secara umum, bentuk dari aplikasi ini merupakan mekanisme dari substitusi. Biasanya digunakan dalam aplikasi seperti mathematical logic, symbol equation solving, dan relational database. Struktur bahasa pemrograman PROLOG Fitur dalam PROLOG yang memuat hubungan antara ruang dan konsistensinya

dengan berpegang teguh pada aturan-aturan umum yang ada, membuat prolog menjadi bahasa yang kuat untuk mengembangkan Artificial Intelligence dan programming non numerikal secara umum. Sebagai gambaran Jika X lebih mendekati peneliti dibandingkan Y, dan Y lebih dekat daripada Z, maka X harus lebih dekat dari pada Z. Dalam PROLOG, ada yang dinamakan dengan Facts, Rules dan Questions. Facts menunjukan relasi maupun sifat dari statement yang telah dinyatakan. Sedangkan Rules merupakan suatu pernyataan yang menunjukan bagaimana fakta-fakta bernteraksi satu sama lain untuk membentuk suatu kesimpulan. Dan Question, atau lebih sering dikenal dengan Query, memperbolehkan untuk mengajukan pertanyaan berdasarkan facts dan rules yang telah dibuat sebelumnyaTampilan kerja pada PROLOG dapat terlihat pada gambar 3. Pada gambar tersebut, Turbo PROLOG menjadi salah satu jenis diantara beberapa jenis PROLOG yang pernah ada. Beberapa jenis lainnya antara lain Strawberry Prolog, Visual Prolog dan SWI Prolog.

Gambar 3. Tampilan Turbo PROLOG

Kelebihan bahasa pemrograman PROLOG Bahasa PROLOG memiliki beberapa kelebihan sebagai berikut: Declarative Programming

Berbeda dengan bahasa pemrograman yang lain, PROLOG merupakan bahasa pemrograman deklaratif (declarative programming). Berbeda dengan bahasa pemrograman prosedural. Di dalam proccedural programming, kita memberitahukan kepada komputer bagaimana menyelesaikan suatu masalah, sedangkan pada declarative programming, kita menjelaskan kepada komputer masalah apa yang ingin diselesaikan. Hal ini menyebabkan tidak adanya prosedur, namun hanya terdapat tampilan fakta yang akan diolah. Sehingga sangat ideal untuk memecahkan masalah yang tidak terstruktur dan yang prosedur pemecahannya tidak diketahui, khususnya untuk memecahkan masalah non numerik. Logical thinking process

PROLOG sebagai bahasa pemrograman yang menggunakan logika, mampu bekerja menyerupai pikiran manusia dimana proses pemecahan masalah bergerak di dalam ruang masalah menuju suatu tujuan. Automated Reasoning Procedure

PROLOG memiliki Automate Reasoning Procedure yang dinamakan Interference Engine. Dimana hal ini menyebabkan lebih mudahnya penggunaan statement silogisme maupun sebab-akibat, baik dalam hal penulisan di dalam program, maupun pengerjaannya. Parallel Processing

PROLOG juga dapat melakukan parallel processing dimana terdapat dua jenis pararelisme yang dapat dikerjakan, yaitu AND pararelisme dan OR pararelisme. Artinya bahasa pemrograman PROLOG mampu menyediakan alternatif pemecahan kepada komputer untuk menyelesaikan permasalahan yang besar lebih cepat dengan membaginya menjadi bentuk yang lebih kecil yang dapat diproses secara konkruen.

CLIPS
Pendahuluan CLIPS atau merupakan kependekan nama dari C Language Intergrated Production System, merupakan bahasa pemrograman sistem pakar (expert system) yang ditulis dalam bahasa C yang bermaksud untuk menyediakan tools yang serbaguna untuk melakukan pengembangan dan implementasi dari sistem pakar tersebut.

Gambar 4. Salah satu logo CLIPS

CLIPS dipopulerkan pada 1984 di NASAs Jhonson Space Center.

Saat itu,

penggunaan LISP sebagai bahasa untuk memngembangkan kecerdasan buatan mengalami kendala. Ada tiga kendala yang dihadapi oleh NASA, yaitu: 1. Kesediaan yang rendah dari bahasa LISP untuk jenis komputer lain yang lebih luas 2. Mahalnya harga yang dikeluarkan untuk mengambarkan tools dari LISP, berserta perangkat kerasnya 3. Sulitnya intergasinya bahasa LISP dengan bahasa lain, yang menyebabkan sulitnya membuat embedded application. Dengan melihat peluang bahwa menggunakan bahasa konvensional seperti C, akan banyak mengeleminasi masalah tersebut. Maka vendor dari sistem pakar mencoba untuk mengembangkan sistem tersebut menggunakan bahasa konvensional tersebut. Muncul pada awal 1985, prototipe ini terus mengalami kemajuan yang pesat terrutama di dalam pengembangannya di dalam mengambil pengalaman dan pengetahuan mengenai pondasi dari sistem pakar tersebut. Hingga saat ini, CLIPS telah banyak digunakan oleh pemerintahan, industri dan akademia. Beberapa contoh aplikasi yang telah dikembangkan menggunakan bahasa pemrograman CLIPS antara lain:

NASA project

National Aeronautics and Space Administration (NASA) merupakan salah satu lembaga yang banyak mengembangkan banyak project yang memanfaat CLIPS. Diantaranya adalah weather forecasting, shuttle space planning, mission control center , flight assistance control, intelligent computer aided, dan lain-lain. Knowledge representation and reasoning

Salah satu bentuk aplikasi yang dikembangkan adalah sistem pakar untuk skala besar. Seperti medical expert system. Selain itu beberapa contoh aplikasi yang dikembangkan menggunakan CLIPS adalah soft real time application (SRTA), Fujitsu Network Communication Simulation Software, robotics dan lain-lain. Struktur bahasa pemrograman CLIPS Elemen dasar dari CLIPS didefinisikan menjadi tiga bagian utama, yaitu Facts list, yang merupakan memori keseluruhan untuk data. Knowledge Base, dimana sebagai wadah untuk menyimpan seluruh aturan yang telah ditetapkan. Serta Interference Engine sebagai pengendali dari seluruh kegiatan eksekusi yang telah dijalankan. Selain dari ketiga bagian tersebut, memiliki kemampuan matching pattern, math function yang luas, conditional tests, dengan ditambah sifat yaitu abstraction, inheritance, encapsulation, polymorphism dan dynamic binding. Berbeda dengan PROLOG, karena pendekatannya lebih mendekati dari bahasa pemrograman LISP, maka bahasa pemrograman ini memiliki karakteristik yang hampir mirip dengan LISP. Untuk mengammbarkan ruang kerja dari program CLIPS terlihat pada gambar 5. Berbeda dengan PROLOG, karena pendekatannya lebih mendekati dari bahasa pemrograman LISP, maka bahasa pemrograman ini memiliki karakteristik yang hampir mirip dengan LISP.

Gambar 5. Tampilan CLIPS

Kelebihan bahasa pemrograman CLIPS CLIPS memiliki beberapa kelebihan diantaranya adalah sebagai berikut: Knowledge representation

CLIPS memberikan tools yang baik untuk melakukan proses mengendalikan banyak pengetahuan dengan mendukung dari tiga paradigma pemrograman yang berbeda, yaitu berdasarkan rules, berorientasi objek, dan prosedural.

Portability Problem

Karena CLIPS dibentuk dari bahasa C, maka portabilitas serta kecepatannya ketika dipasang di dalam sistem operasi yang berbeda tidak akan mempengaruhi kode yang telah didefinisikan. Artinya tidak dibutuhkannya konfigurasi di dalam menyesuaikannya.

Intergration

CLIPS dapat ditanam di dalam kode prosedural ,yang dinamakan subroutine, dan terintegrasi dengan bahasa pemrograman lainnya seperti C, Java, FORTRAN dan ADA.

Verification / Validation

Didalam CLIPS , terdapat beberapa fitur yang digunakan untuk membantu proses verifikasi dan validasi dari sebuah sistem pakar yang meliputi didukungnya desain modular dan pembagian dari basis pengetahuan, statis dan dinamisnya.

Full Documented

CLIPS juga memberikan dokuentasi meluputi penggunaan manual

Low Cost

CLIPS didefinsikan sebagai perangkat lunak publik.

SIMPULAN Secara umum, pengenalan kedua bahasa pemrograman dalam pengembangan kecerdasan buatan ini bisa menjadi bahasa pemrograman utama yang nantinya akan digunakan dalam pengimplementasiannya. Namun perlu diketahui bahwa ada kelebihan maupun kekurangan di dalam keduanya. Selain itu, yang perlu diperhatikan adalah logika berfikir dari masing-masing bahasa pemrograman tersebut. Di dalam makalah ini, terdapat dua bahasa yang dibahas guna mengembangkan kecerdasan buatan, yaitu PROLOG dan CLISP. Bila dilihat dari kelebihan mereka, maka PROLOG disarankan untuk digunakan dalam pendekatan kecerdasan buatan secara umum, karena penggunaannya yang mudah dan bekerja seperti pemikiran manusia. Sedangkan CLIPS lebih banyak diimplementasikan untuk pendekatan dalam ruang lingkup yang sangat besar. DAFTAR PUSTAKA Salehnia,Ali et al. (1992), Managerial Aplications of Expert Systems Language and Tools, Journal of Information Resources Management Association International Conference, Idea Group Publishing. Mc. Kinney, Alfred L. (1992). Lisp Versus Prolog for Teaching Artificial Intelligence. Lousiana State University, Shreveport. Bratko, Ivan. (1986). Prolog Programming for Artificial Intelligence. Pearson, Addison Weasley.

Russel, Stuart J., & Norvig, Peter. (2010).Artificial Intelligence: A Modern Approach Third Edition. Pearson, Prentice Hall: Boston. Laerhoven, Kristof van., Project report for Industrial Applications of AI. http://www.comp.lancs.ac.uk/~kristof/research/notes/clipsvsjess/ Riley, Garey., What is CLIPS. http://clipsrules.sourceforge.net/WhatIsCLI PS.html Steel, Brian D., Prolog and Artificial Intelligence. http://www.solanum.org/prolog.htm Karmilasari, Bahasa Pemrograman Prolog. http://karmila.staff.gunadarma.ac.id/Downloads /files/3496/Prolog-1.doc http://informaticunsil.blogspot.com/2012/12/perbedaan-keunggulan-dan-aplikasi-prolog.html DAFTAR GAMBAR http://knowledgediarybd.com/wp-content/uploads/2013/03/first-prolog-program.jpg http://clipsrules.sourceforge.net/clips.gif http://www.solanum.org/prolog.htm http://www.comp.lancs.ac.uk/~kristof/research/notes/clipsvsjess/index.3.jpg http://www.sohbetzamani.com/wp-content/uploads/2013/04/Gelecekteki-Prolog.gif

Anda mungkin juga menyukai