Top Banner
Pengenalan PROLOG
16

Pengenalan PROLOG - Gunadarmalulu.staff.gunadarma.ac.id/Downloads/files/45791/10-PengenalanProlog.pdf · Pengenalan PROLOG. Tools Pembangun Sistem Pakar • Language – LISP –

Jan 20, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Pengenalan PROLOG - Gunadarmalulu.staff.gunadarma.ac.id/Downloads/files/45791/10-PengenalanProlog.pdf · Pengenalan PROLOG. Tools Pembangun Sistem Pakar • Language – LISP –

Pengenalan PROLOG

Page 2: Pengenalan PROLOG - Gunadarmalulu.staff.gunadarma.ac.id/Downloads/files/45791/10-PengenalanProlog.pdf · Pengenalan PROLOG. Tools Pembangun Sistem Pakar • Language – LISP –

Tools Pembangun Sistem Pakar

• Language

– LISP

– Prolog

– CLIPS

– Planner

– Conniver

• Shell

– EXSYS

– PC+

– CRYSTAL

– 1stClass

– EXPERT EASE– Conniver

– Popler

– OPS5

– AMORD

– SAIL

– LOGO

– Smaltalk

– EXPERT EASE

– INSIGHT2+

– e2glite

Page 3: Pengenalan PROLOG - Gunadarmalulu.staff.gunadarma.ac.id/Downloads/files/45791/10-PengenalanProlog.pdf · Pengenalan PROLOG. Tools Pembangun Sistem Pakar • Language – LISP –

Dasar-Dasar Prolog

• Fakta dan Relasi

– Prolog terdiri dari kumpulan data-data obyek yang merupakansuatu fakta

– Fakta selalu benar (true)

– Dalam prolog, fakta dibedakan menjadi 2 macam :

• Menunjukkan relasi• Menunjukkan relasi

• Menunjukkan milik / sifat

– Contoh :

• Slamet adalah ayah Amin

– ayah(slamet,amin).

• Anita adalah wanita

– wanita(anita).

Page 4: Pengenalan PROLOG - Gunadarmalulu.staff.gunadarma.ac.id/Downloads/files/45791/10-PengenalanProlog.pdf · Pengenalan PROLOG. Tools Pembangun Sistem Pakar • Language – LISP –

Aturan (Rules)

• Suatu pernyataan yang menunjukkan bagaimana fakta-fakta berinteraksi satu dengan yang lain untuk membentuk suatu kesimpulan

• Dinyatakan sebagai suatu kalimat bersyarat

• Contoh : 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).

Page 5: Pengenalan PROLOG - Gunadarmalulu.staff.gunadarma.ac.id/Downloads/files/45791/10-PengenalanProlog.pdf · Pengenalan PROLOG. Tools Pembangun Sistem Pakar • Language – LISP –

Pertanyaan (Query)

• Untuk mengajukan pertanyaan, misal : Apakah Tini suka boneka?

• Dalam prolog ditulis :

– suka(tini,boneka).

• Prolog akan memberikan jawaban :• Prolog akan memberikan jawaban :

– Yes

• Jika pertanyaannya

– suka(tini,mobil-mobilan).

• Prolog akan memberikan jawaban :

– No

Page 6: Pengenalan PROLOG - Gunadarmalulu.staff.gunadarma.ac.id/Downloads/files/45791/10-PengenalanProlog.pdf · Pengenalan PROLOG. Tools Pembangun Sistem Pakar • Language – LISP –

• Prolog juga mampu memberikan jawaban atas

pertanyaan apakah, siapakah, dan lain-lain

• Misal : Apakah yang disukai Tini ?

– suka(tini,Apa).

• Prolog akan memberikan jawaban :• Prolog akan memberikan jawaban :

– Apa = boneka

• Siapakah yang suka boneka ?

– suka(Siapa,boneka).

– Siapa = tini

Page 7: Pengenalan PROLOG - Gunadarmalulu.staff.gunadarma.ac.id/Downloads/files/45791/10-PengenalanProlog.pdf · Pengenalan PROLOG. Tools Pembangun Sistem Pakar • Language – LISP –

Struktur Program Prolog

• Program Turbo Prolog 2.0 terdiri dari 4 bagian

utama :

– DOMAINS

– PREDICATES

CLAUSES – CLAUSES

– GOAL

Page 8: Pengenalan PROLOG - Gunadarmalulu.staff.gunadarma.ac.id/Downloads/files/45791/10-PengenalanProlog.pdf · Pengenalan PROLOG. Tools Pembangun Sistem Pakar • Language – LISP –

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– Char

– String

– Symbol : kumpulan karakter yang diawali dengan huruf kecil

– File : digunakan untuk operasi file

• Dapat pula mendefinisikan domain lain yang terdiri daridomain standar

Page 9: Pengenalan PROLOG - Gunadarmalulu.staff.gunadarma.ac.id/Downloads/files/45791/10-PengenalanProlog.pdf · Pengenalan PROLOG. Tools Pembangun Sistem Pakar • Language – LISP –

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)• 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, tandabintang, dan garis miring.

Page 10: Pengenalan PROLOG - Gunadarmalulu.staff.gunadarma.ac.id/Downloads/files/45791/10-PengenalanProlog.pdf · Pengenalan PROLOG. Tools Pembangun Sistem Pakar • Language – LISP –

Clauses (Klausa)

• Berisi fakta dan aturan yang membentuk keseluruhanprogram

• Mirip prosedur pada bahasa pemrograman lain

• Bagian fakta umumnya ditulis sebelum bagian aturan

• Fakta dan aturan yang mempunyai relasi yang samaharus dituliskan berkelompokharus dituliskan berkelompok

• Fakta/aturan ditulis mulai dari fakta/aturan yang paling atas kemudian urut ke bawah

• Kemungkinan yang lebih besar ditempatkan lebih awaldaripada kemungkinan yang lebih kecil

Page 11: Pengenalan PROLOG - Gunadarmalulu.staff.gunadarma.ac.id/Downloads/files/45791/10-PengenalanProlog.pdf · Pengenalan PROLOG. Tools Pembangun Sistem Pakar • Language – LISP –

• Contoh penulisan yang salah :

ayah(slamet,amin).

ayah(slamet,anang).

kakek(slamet,budi).

ayah(amin,budi).

• Contoh penulisan yang benar :

ayah(slamet,amin).ayah(slamet,amin).

ayah(slamet,anang).

ayah(amin,budi).

kakek(slamet,budi).

• Pernyataan if ditulis dengan simbol “:-”

suka(ira, Sesuatu) :- suka(anton,Sesuatu)

Page 12: Pengenalan PROLOG - Gunadarmalulu.staff.gunadarma.ac.id/Downloads/files/45791/10-PengenalanProlog.pdf · Pengenalan PROLOG. Tools Pembangun Sistem Pakar • Language – LISP –

Goal / Tujuan

• Berisi pertanyaan yang diajukan kepada Turbo Prolog

• Dapat terdiri dari beberapa bagian yang disebutsubgoal

• 2 jenis goal :• 2 jenis goal :

– Goal eksternal : goal yang diberikan melalui compiler, dituliskan dalam jendela Dialog

– Goal internal : goal yang dituliskan sekaligus dalamprogram

GOAL : ayah(slamet,badu) �

True.

Page 13: Pengenalan PROLOG - Gunadarmalulu.staff.gunadarma.ac.id/Downloads/files/45791/10-PengenalanProlog.pdf · Pengenalan PROLOG. Tools Pembangun Sistem Pakar • Language – LISP –

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.

Page 14: Pengenalan PROLOG - Gunadarmalulu.staff.gunadarma.ac.id/Downloads/files/45791/10-PengenalanProlog.pdf · Pengenalan PROLOG. Tools Pembangun Sistem Pakar • Language – LISP –

Variabel

• Besaran yang nilainya dapat berubah-ubahGOAL : ayah(X,didi) �

X = anang

• X adalah variabel

• Tata cara penulisan 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

– Hendaknya mengandung makna yang berkaitan dengan data

yang dinyatakannya

Page 15: Pengenalan PROLOG - Gunadarmalulu.staff.gunadarma.ac.id/Downloads/files/45791/10-PengenalanProlog.pdf · Pengenalan PROLOG. Tools Pembangun Sistem Pakar • Language – LISP –

• 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

Page 16: Pengenalan PROLOG - Gunadarmalulu.staff.gunadarma.ac.id/Downloads/files/45791/10-PengenalanProlog.pdf · Pengenalan PROLOG. Tools Pembangun Sistem Pakar • Language – LISP –

Referensi

• Farid Azis bab 4

• Andrey Andoko bab 4