Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehAura Chie Telah diubah "9 tahun yang lalu
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: Nama semua relasi dan objek harus dimulai dengan huruf kecil. Contoh: likes, john, mary Relasi ditulis pertama, dan objek ditulis dan dipisahkan dengan koma. Objek diletakkan dalam tanda kurung 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) ?-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 ?-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
18
Instalasi Instal SWI Prolog
Instal SWI Editor, SWI Editor hanya bisa digunakan dengan SWI Prolog 32 bit
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
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.