BAB I
PENDAHULUAN
1. Sejarah 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 awalnya, Prolog dan LISP sangat lambat dalam eksekusi program dan memakan memori yang besar sehingga hanya kalangan tertentu yang menggunakannya. Dengan adanya Compileer Prolog, kecepatan eksekusi program dapat ditingkatkan, namun Prolog masih dipandang sebagai bahasa yang terbatas (hanya digunakan di kalangan perguruan tinggi dan riset.
Pandangan tersebut 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).
2. Perbedaan Prolog dengan Bahasa Lain
Hampir semua bahasa pemrograman yang ada pada saat ini seperti Pascal, C, Fortran, disebut procedural language untuk menggunakan bahasa tersebut diperlukan algoritma atau procedure yang dibuat untuk menyelesaikan masalah. Program dapat menjalankan procedure yang sama berulang-ulang dengan data masukkan yang berbeda-beda. 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.
Pemrogram 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 prosedur pemecahannya tidak diketahui, khusunya untuk memecahkan masalah non numeric.
3. Keampuhan Prolog
Terletak pada kemampuannya untuk mengambil kesimpulan (jawaban) dari data-data yang ada. Karena program dalam bahasa prolog tidak memerlukan prosedur (algoritma). Prolog sangat ideal untuk memecahkan masalah yang tidak terstruktur dan yang prosedur pemecahannya tidak diketahui, khususnya untuk memecahkan masalah non-numerik.
Misalnya, dalam pembuatan program catur dengan prolog untuk menentukkan gerakan catur anda tidak perlu menganalisa semua kemungkinan atau menentukkan suatu prosedur tertentu untuk untuk menentukan gerakan berikutnya. Tetapi anda cukup menuliskan aturan umum permainan catur dan lebih baik lagi jika ditambah dengan aturan yang diperoleh dari pengalaman. Prolog akan menentukan sendiri langkah yang akan diambil berdasarkan data-data yang ada saat itu dan aturan-aturan yang diberikan.
Contoh lain keampuhan prolog:
• Permasalahan
Perangkat audio hanya menghasilkan suara disatu sisi speaker
• Pemecahan
Memindahkan switch ke radio FM. Bila kedua speaker berbunyi, maka anda tahu bahwa masalah berasal dari input tape, coba dengan kaset bila hasilnya tetap, berarti masalah tersebut berasal dari tape dan bukan kaset. alternatif termudah adalah dengan membersihkan head tape dan sekarang kedua speakernya berbunyi.
4. Aplikasi Prolog
Prolog digunakan khususnya dibidang kecerdasan buatan (Artificial Intelegent) meliputi bidang:
• Sistem pakar (Expert System)
• Pengolahan bahasa alami (Natural Language processing)
• Robotik
• Logika dan ketidakpastian
• Pengenalan pola dan gambar
• Belajar
• Game
• Simulasi pengolahan symbol
? Sistem Pakar (Expert System)
Sistem Pakar (Expert System) adalah program yang menggunakan teknik pengambilan kesimpulan dari data-data yang didapat seperti yang dilakukan oleh seorang ahli dalam memecahkan masalah.
Contoh program mendiagnosa penyakit
Pemakai menentukan tujuan (goal) yaitu penyakit yang diderita, untuk mendapatkan jawaban program akan memberi pertanyaan yang harus dijawab oleh pemakai program.
Tiap-tiap orang mempunyai keahlian masing-masing yang mungkin satu orang dengan yang lainnya mempunyai keahlian berbeda, tergantung dari pengetahuannya masing-masing, ada yang ahli kimia, fisika, komputer, dokter dan lain sebagainya. Komputer dapat diprogram untuk berbuat seperti orang yang ahli dalam bidang tertentu. Komputer yang demikian dapat dijadikan seperti konsultan atau tenaga ahli di bidang tertentu yang dapat menjawab pertanyaan dan memberikan nasehat yang dibutuhkan.
Tujuan utama sistem pakar bukan untuk menggantikan kedudukan seseorang ahli atau pakar tetapi hanya untuk memasyarakatkan pengetahuan dan pengalaman pakar-pakar tersebut. System pakar memungkinkan orang lain meningkatkan produktifitasnya, memperbaiki kualitas keputusannya, sistem pakar bias memecahkan masalah yang rumit meskipun tidak ada seorang ahli.
? Pengolahan bahasa alami (Natural Language processing)
Natural Language Processing adalah program yang dibuat agar pemakai dapat berkomunikasi dengan computer dalam bahasa manusia sehari-hari (bahasa apapun). Sebagai contoh adalah Lotus HAL, yaitu program Bantu untuk Lotus 1-2-3 agar dapat menerima perintah bahasa inggris seperti bahasa biasa. Program pengolahan bahasa alami menggunakan teknik AI dalam analisis input bahasa yang dimasukan melalui keyboard, program tersebut berusaha mengidentifikasi sintak, semantil dan konteks yang terkandung dalam suatu kalimat agar bias sampai pada kesimpulan untuk bias memberikan jawaban.
? Robotik
Dalam robotik, Prolog digunakan untuk mengolah data masukan yang berasal dari sensor dan mengambil keputusan untuk menentukan gerakan yang harus dilakukan. Apalagi kalau robot menemukan peristiwa yang tidak diharapkan atau situasi yang berbeda.
? Pengenalan Pola (Pattern Recognition)
Pengenalan pola banyak diterapkan dalam bidang robotic dan pengolahan citra (image processing). Misalkan, bagaimana computer dapat membedakan gambar sebuah benda dan gambar benda yang lain, atau sebuah obyek yang berada diatas obyek lain.
? Belajar
Bidang ini berkaitan dengan program yang dapat belajar dari kesalahan yang pernah dilakukan, dari pengamatan atau dari hal-hal yang pernah dilakukan. Secara singkat, berarti membuat sebuah computer mampu untuk mengambil manfaat dari pengalaman yang pernah ditemuinya.
? Game
Alasan perlunya mempelajari games dalam AI adalah diantaranya kita akan terbiasa dengan merumuskan masalah, kiat tahu dunia nyata, dapat menetapkan aturan, dapat kesenangan, dapat memodelkan lawan dll.
AI dalam games komputer sebenarnya tidaklah benar-benar cerdas, games pada dasarnya merupakan set intruksi computer yang dimasukan ke program yang sudah memprediksi intelegensi pemakainya, selain itu isi program tersebut memuat prosedur pencarian.
File lengkap yang berisi BAB I sampai Bab IV Beserta seluruh gambar dan listing program ada dalam file attachment di bawah ini.

