Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Pengenalan Prolog Teny Handhayani Referensi: Programming in Prolog by William F. Clocksin & Christopher S. Mellish.

Presentasi serupa


Presentasi berjudul: "Pengenalan Prolog Teny Handhayani Referensi: Programming in Prolog by William F. Clocksin & Christopher S. Mellish."— Transcript presentasi:

1 Pengenalan Prolog Teny Handhayani Referensi: Programming in Prolog by William F. Clocksin & Christopher S. Mellish

2 Prolog  Pemrograman prolog terdiri atas: 1. menjelasan fakta tentang objek dan relasinya 2. menjelaskan rules tentang objek dan relasinya 3. menanyakan pertanyaan tentang onjek dan relasinya

3 Facts  Facts  Mendefinisikan fakta tentang “John likes Mary”.  Fakta ini terdiri atas dua objek, “Marry” dan “John”, dan relasinya “likes”  Penulisan dalam Prolog likes(john,mary).  likes(john,mary). Tidak sama dengan likes(mary,john).  Hal-hal yang harus diperhatikan: 1.Nama semua relasi dan objek harus dimulai dengan huruf kecil. Contoh: likes, john, mary 2.Relasi ditulis pertama, dan objek ditulis dan dipisahkan dengan koma. Objek diletakkan dalam tanda kurung 3.Tanda titik “.” digunakan untuk mengakhiri fact. Tanda titik dinamakan ‘periood’ atau ‘‘full stop

4 Facts  Contoh  Mendefinisikan sebuah predikat “play”, dengan dua pemain dan game yang dimainkan play(john, mary, football) play(jane, jim, badminton) valuable(gold).Gold is valuable female(jane).Jane is female owns(jane,gold).Jane owns gold father(john,mary).John is the father of Mary gives(john,book,mary).John gives the book to Mary

5 Questions  Question mirip seperti fact, perbedaannya adalah adanya simbol di depannya  Contoh ?-owns(mary, book).  Jika kita menginterpretasikan mary sebagai manusia yg bernama “Mary” dan ‘book’ adalah semabarang buku  Pertanyaan berarti -> Does Mary own the book?  Ketika question ditanyakan pada sistem Prolog, maka akan dicari dalam database  Unify : jika dua facts memiliki predikat yang sama dan jika hubungan argumen keduanya sama  Jika Prolog menemukan fact unify dengan questions maka Prolog memberikan respon ‘yes’  Jika tidak ada fact yang sesua dalam database maka Prolog memberikan respon ‘no’

6 Questions  Contoh 1: likes(joe, fish). likes(joe, mary). likes(mary, book). likes(john, book). likes(john, france).  Questions ?-likes(joe, money). no ?-likes(mary, joe) no ?-likes(mary, book). yes

7 Questions  Contoh 2: human(socrates). human(aristotle). athenian(socrates).  Questions: ?-athenian(socrates). yes ?-athenian(aristotle). no

8 Variables  Menjelaskan suatu objek X yang belum diketahui  Variable pada Prolog: instantiated atau not instantiated  Variable instantiated: penjelasan tentang objek tersebut diketahui  Variable not instantiated: penjelasan objek tidak diketahui  Contoh: Does John like X? X tidak diketahui sebagai objek apa?

9 Variables  Contoh ?-likes(john, something that John likes). Menggunakan variable dalam prolog ?-likes(john, X).  Questions ?-likes(john, SomethingThatJohnLIkes). *variable dapat berupa sembarang huruf yang diawali dengan huruf kapital

10 Variable  Facts likes(john, flowers). likes(john, mary). likes(paul, mary).  Question ?-likes(john, X).  Pertanyaan menanyakan Is there anything that John likes?  Prolog akan memberikan respon X = flowers  Question ?-likes(X, mary). X = john; jawaban pertama X = paul; jawaban ke dua no tidak ada lagi jawaban

11 Conjuctions  Do John and Mary like each other?  Database likes(mary, chocolate). likes(mary, wine). likes(john, wine). likes(john, mary).  Does John like mary? And does Mary like John?  Menggunakan koma ‘,’ untuk melakukan conjuction ‘and’ ?-likes(john, mary), likes(mary, john).

12 Conjuctions  ?-likes(mary, X), likes(john, X).

13 Rules  Menjelaskan bahwa John likes all people likes(john,alfred). likes(john, bertrand). likes(john, charles). ….  I use an umbrella if there is rain  John buys the wine if it is less expensive than the beer  Rules: X is a bird if: X is an animal, and X has feathers. atau X is a sister of Y if: X is female, and X and Y has the same parents

14 Rules  Rukes terdiri atas head dan body yang dihubungkan dengan simbol ”:-” dibaca “if”  likes(john, X) :- likes(X, wine).  likes(john, X) :-likes(X,wine), likes(X, food). John likes anyone who likes wine and food  John likes any female who likes wine likes(john, X) :- female(X), likes(X,wine).

15 Latihan  Nama: Hayam_wuruk (raja - true) Hasanudin (raja - true) Tribuana (ratu - true) Elizabeth (ratu - true) Jokowi (bukan raja, bukan ratu) Kartini (bukan raja, bukan ratu) Desi (bukan raja, bukn ratu) Buatlah program Prolog yang dapat mengidentifikasi nama- nama tersebut apakah sebagai ratu atau raja!

16 Nama: Hayam_wuruk Hasanudin Tribuana Elizabeth Jokowi Kartini desi

17

18 Instalasi  Instal SWI Prolog  Instal SWI Editor, SWI Editor hanya bisa digunakan dengan SWI Prolog 32 bit

19

20  Buatlah rule untuk hubungan: 1.father 2.mother 3.son 4.daughter 5.grandfather 6.aunt 7.sister 8.uncle 9.cousin 10.brother

21  Buatlah rule untuk hubungan: 1.father 2.mother 3.son 4.daughter 5.grandfather 6.aunt 7.sister 8.uncle 9.cousin 10.brother

22

23

24

25


Download ppt "Pengenalan Prolog Teny Handhayani Referensi: Programming in Prolog by William F. Clocksin & Christopher S. Mellish."

Presentasi serupa


Iklan oleh Google