pengenalan prolog -...

16
Pengenalan PROLOG

Upload: others

Post on 20-Jan-2020

41 views

Category:

Documents


0 download

TRANSCRIPT

Pengenalan PROLOG

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

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).

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).

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

• 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

Struktur Program Prolog

• Program Turbo Prolog 2.0 terdiri dari 4 bagian

utama :

– DOMAINS

– PREDICATES

CLAUSES – CLAUSES

– GOAL

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

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.

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

• 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)

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.

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.

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

• 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

Referensi

• Farid Azis bab 4

• Andrey Andoko bab 4