Pengenalan Prolog Pengenalan Prolog
Outline Tools pengembangan aplikasi sistem pakar Dasar-dasar Prolog Struktur program Prolog Pengenalan Prolog
Tools Pembangun Sistem Pakar Bahasa Pemrograman Khusus LISP Prolog CLIPS Planner Conniver Popler OPS5 AMORD SAIL LOGO Smaltalk Pengenalan Prolog
Tools Pembangun Sistem Pakar Shell EXSYS PC+ CRYSTAL 1stClass EXPERT EASE INSIGHT2+ Pengenalan Prolog
Dasar-Dasar Prolog Fakta dan Relasi Prolog terdiri dari kumpulan data-data obyek yang merupakan suatu fakta Fakta selalu benar (true) Dalam prolog, fakta dibedakan menjadi 2 macam : Menunjukkan relasi Menunjukkan milik / sifat Contoh : Slamet adalah ayah Amin ayah(slamet,amin). Anita adalah wanita wanita(anita). Pengenalan Prolog
Aturan (Rules) Suatu pernyataan yang menunjukkan bagaimana fakta-fakta berinteraksi satu dengan yang lain untuk membentuk suatu kesimpulan Dinyatakan sebagai suatu kalimat bersyarat Contoh : Fakta : Tino suka apel Aturan : Yuli suka sesuatu yang disukai Tino Dalam prolog ditulis : suka(tino,apel). suka(yuli,Sesuatu) if suka(tino,Sesuatu). Pengenalan Prolog
Pertanyaan (Query) Untuk mengajukan pertanyaan, misal : Apakah Tini suka boneka? Dalam prolog ditulis : suka(tini,boneka). Prolog akan memberikan jawaban : Yes Jika pertanyaannya suka(tini,mobil-mobilan). No Prolog juga mampu memberikan jawaban atas pertanyaan apakah, siapakah, dan lain-lain Pengenalan Prolog
Misal : Apakah yang disukai Tini ? suka(tini,Apa). Prolog akan memberikan jawaban : Apa = boneka Siapakah yang suka boneka ? suka(Siapa,boneka). Siapa = tini Pengenalan Prolog
Struktur Program Prolog Program Turbo Prolog 2.0 terdiri dari 4 bagian utama : DOMAINS PREDICATES GOAL CLAUSES Pengenalan Prolog
Domains Berisi deklarasi (pernyataan) tentang jenis data yang digunakan dalam fakta dan aturan Ada 6 buah domain standar: Integer : -32.768 sampai 32.767 Real : 1e-307 sampai 1e+308 Char String Symbol : kumpulan karakter yang diakhiri dengan spasi dan harus diawali dengan huruf kecil File : digunakan untuk operasi file Dapat pula mendefinisikan domain lain yang terdiri dari domain standar Pengenalan Prolog
Predicates / Predikat Nama simbolik untuk relasi ayah(slamet,amin). Predikat dari fakta diatas ditulis : ayah(symbol,symbol) Slamet dan amin disebut argumen Jumlah argumen disebut aritas (arity) Ditulis tanpa diakhiri tanda titik Syarat penulisan nama predikat : Diawali huruf kecil dan dapat diikuti huruf, angka, atau garis bawah Panjang nama maksimum 250 karakter Tidak diperbolehkan menggunakan spasi, tanda minus, tanda bintang, dan garis miring. Pengenalan Prolog
Clauses (Klausa) Berisi fakta dan aturan yang membentuk keseluruhan program Mirip prosedur pada bahasa pemrograman lain Bagian fakta umumnya ditulis sebelum bagian aturan Fakta dan aturan yang mempunyai relasi yang sama harus dituliskan berkelompok Fakta/aturan ditulis mulai dari fakta/aturan yang paling atas kemudian urut ke bawah Kemungkinan yang lebih besar ditempatkan lebih awal daripada kemungkinan yang lebih kecil Pengenalan Prolog
Contoh penulisan yang salah : ayah(slamet,amin). ayah(slamet,anang). kakek(slamet,budi). ayah(amin,budi). Contoh penulisan yang benar : Pernyataan if ditulis dengan simbol “:-” suka(ira, Sesuatu) :- suka(anton,Sesuatu) Pengenalan Prolog
Goal / Tujuan Berisi pertanyaan yang diajukan kepada Turbo Prolog Dapat terdiri dari beberapa bagian yang disebut subgoal 2 jenis goal : Goal eksternal : goal yang diberikan melalui compiler, dituliskan dalam jendela Dialog Goal internal : goal yang dituliskan sekaligus dalam program GOAL : ayah(slamet,badu) True. Pengenalan Prolog
Variabel Besaran yang nilainya dapat berubah-ubah X adalah variabel GOAL : ayah(X,didi) X = anang X adalah variabel Tata cara penulisan variabel Harus diawali huruf besar atau garis bawah (_) Dapat terdiri dari huruf, angka atau simbol dan merupakan satu kesatuan Panjang maksimum 250 karakter Hendahknya mengandung makna yang berkaitan dengan data yang dinyatakannya Pengenalan Prolog
3 macam variabel Variabel bebas (free variable) Variabel terikat (bound variable) Variabel tak bernama (anonymous variable) GOAL : ayah(Ayah,amin), ayah(Ayah,anang) GOAL : ayah(Ayah,_) Anonymous variable Pengenalan Prolog
Goal Majemuk Goal yang terdiri lebih dari satu pernyataan Bagian goal tersebut disebut sub goal GOAL : mobil(Merk,Warna,Harga), Harga < 50. GOAL : mobil(Merk,Warna,Harga), Warna = merah, Harga < 35. Pengenalan Prolog
Referensi Farid Azis bab 4 Andrey Andoko bab 4 Pengenalan Prolog