• Tidak ada hasil yang ditemukan

LOGIKA PREDIKAT. Logika predikat disebut juga kalkulus predikat (predicate calculus) atau first order predicate logic.

N/A
N/A
Protected

Academic year: 2021

Membagikan "LOGIKA PREDIKAT. Logika predikat disebut juga kalkulus predikat (predicate calculus) atau first order predicate logic."

Copied!
43
0
0

Teks penuh

(1)

Logika predikat disebut juga kalkulus predikat (predicate calculus) atau first order predicate logic.

Logika predikat berperan penting dengan beberapa alasan, yakni :

Pertama : logika predikat memberi alasan logis yang mendasari bahasa

pemrograman logika, misalnya Prolog dan LISP.

Kedua : logika predikat mampu mendorong pengembangan kebutuhan aplikasi

komputer.

Ketiga : logika predikat mampu berperan di bagian pembuktian tentang masalah

“correctness” sehingga dapat secara tepat mengetahui kondisi program yang menghasilkan keluaran yang benar.

Logika predikat digunakan untuk merepresentasikan hal-hal yang tidak dapat direpresentasikan dengan menggunakan logika proposisi.

(2)

Logika predikat sebenarnya logika proposisional juga ditambah dengan hal-hal yang baru yakni tentang penguantoran, kemudian ditambah istilah-istilah baru, misalnya kuantor, universe of discourse, term, predikat fungsi dan lain-lain. Sehingga apa saja yang ada pada logika proposisional juga digunakan oleh predikat dengan penyesuaian tambahan pengertian-pengertian tersebut. Jadi, pada dasarnya logika predikat adalah juga logika proposisional ditambah persoalan kuantifikasi yang mempermasalahkan jumlah yang ditunjukkan dengan suatu kata pada pernyataan dalam argumen tersebut, misalnya kata “semua”, “beberapa”, “ada” dan lain-laina.

Oleh karena itu ada yg menyebutkan logika predikat dengan “Teori

Kuantifikasi” (quantification theory) karena masalah utamanya adalah pada

kuantifikasi tersebut.

(3)

LOGIKA PREDIKAT

 Logika Predikat adalah logika proposisi yang bersifat universal/umum

 Logika Predikat adalah perluasan dari logika proposisi dimana objek yang dibicarakan dapat berupa anggota kelompok.

 Logika proposisi, menganggap proposisi sederhana (kalimat) sebagai entitas tunggal.

 Sebaliknya, logika predikat membedakan subjek dan predikat dalam sebuah kalimat.

Contoh : Ani makan apel  makan (Ani,apel) 3 + 3  +(3,3)

• Suatu proposisi/ premis dibagi menjadi 2 bagian yaitu ARGUMEN/TERM (objek) atau PREDIKAT(keterangan)

o Argumen adalah individu / objek yang membuat keterangan

o Predikat adalah frase kata kerja yang menjelaskan properti objek atau hubungan antara beberapa objek

(4)

• Dalam suatu proposisi predikat bisa berupa kata kerja / bagian dari kata kerja

• Bentuk umum :

PREDIKAT [individu(objek)1, individu(objek)2] • Misal:

– Mobil berada dalam garasi,

Kalkulus predikat: di dalam (mobil,garasi) mobil=argumen (objek)

garasi=argumen(objek)

– Proposisi : Hanif rajin belajar

Kalkulus predikat : rajin (Hanif, belajar) – Proposisi : Pintu terbuka

Kalkulus predikat : buka(pintu)

22/07/2017 4

(5)

• Variabel :

– huruf bisa menggantikan argumen yang tidak dikaitkan

dengan individual tertentu

– “simbol” juga bisa digunakan untuk merancang

beberapa objek / individu

– misal : x = Hanif dan y=belajar

proposisinya : rajin(x,y)

(6)

• Fungsi :

– Kalkulus Predikat menggunakan simbol untuk

mewakili fungsi-fungsi

– Misal : Wilis adalah ibu dari Hanan.

Ibu (Wilis, Hanan) I = Ibu

h = Hanan w = Wilis I(h, w)

– Misal : B(x,y,z) = “x memberikan pada y nilai z”, maka

jika x=“Ahmad”, y=“Rahmat”, z=“A”, maka B(x,y,z) =

“Ahmad memberi Rahmat nilai A.”

22/07/2017 6

(7)

• Operasi

– operator yang sama seperti pada logika proporsional

– misal:

• proposisi : Rizki makan bakso, makan(Rizki, bakso)

• proposisi : Iwan makan bakso, makan(Iwan, bakso)

• Dioperasikan dengan operator/konektif dan (^)

• makan(Rizki, bakso) ^ makan(Iwan, bakso)

22/07/2017 7

(8)

TERM

Term pada logika predikat adalah ekspresi yang

merupakan objek, dibangun berdasarkan aturan :

1. Konstanta : adalah term

2. Variabel : adalah term

3. Jika t

1

, t

2

, . . . , t

n

adalah term, dimana n>1

dan F suatu simbol fungsi dari aritas n, maka

aplikasi : F(t

1

, t

2

, . . . , t

n

) adalah suatu term

4. Jika P suatu kalimat dan s dan t adalah term,

maka kondisinal if P then s else t adalah

suatu term

22/07/2017 8

(9)

Kalimat Atomik

Kalimat atomik =predikat (term

1

,...,term

n

)

atau term

1

= term

2

Term = fungsi (term

1

,...,term

n

)

atau konstanta atau variabel

• Contoh:

Brother(John, Richard)

Married(Father(Richard), Mother(John))

22/07/2017 9

(10)

Kalimat Kompleks

• Kalimat kompleks dibuat dari

kalimat-kalimat atomik dengan menggunakan

konektif

S, S

1

 S

2

, S

1

 S

2

, S

1

 S

2

, S

1

 S

2

Contoh:

Sibling(KingJohn, Richard)

 Sibling(Richard, KingJohn)

>(1,2)  ≤ (1,2)

>(1,2)

 >(1,2)

22/07/2017 10

(11)

Kebenaran dalam Logika Predikat

• Kalimat benar jika berkaitan dengan model dan

interpretasi

• Model berisi objek-objek dan relasi antar objek

• Interpretasi menspesifikasikan :

Simbol konstanta →

objek

Simbol predikat

relasi

Simbol fungsi

relasi fungsional

• Sebuah kalimat atomik predikat(term

1

,...,term

n

) benar

jika dan hanya jika objek-objek yang menjadi acuan bagi

term

1

,...,term

n

berada dalam relasi-relasi yang diacu oleh

predikat

(12)

B. LOGIKA PREDIKAT

Logika predikat digunakan untuk merepresentasikan hal-hal yang tidak dapat direpresentasikan dengan menggunakan logika proposisi yang dikenal dengan nama WFF (Well-Formed Formula).

 Representasi Fakta Sederhana

Misal diketahui fakta-fakta sebagai berikut :

- Andi adalah seorang lelaki : A

- Ali adalah seorang lelaki : B

- Amir adalah seorang lelaki : C

- Anto adalah seorang lelaki : D

- Agus adalah seorang lelaki : E

Semua kalimat di atas dapat ditulis dengan singkat sebagai berikut : Lelaki(X) di mana X adalah variabel yang bisa disubstitusikan dengan

Andi, Ali, Amir, Agus dan lain-lain.

(13)

LOGIKA PREDIKAT

Contoh lain :

a. “semua anak lelaki suka permen”

Pernyataan di atas dapat ditulis dengan logika predikat

sebagai berikut :

x : (anak lelaki(x) → suka(x, permen)

b. “beberapa anak lelaki suka bermain layangan”

Pernyataan di atas dapat ditulis dengan logika predikat

sebagai berikut :

(14)

LOGIKA PREDIKAT

• Logika predikat (kalkulus predikat) merupakan bagian dari

komputasi logika yang juga mencakup aljabar Boole (logika

proposisional), dimana fakta dan aturan dinyatakan melalui

predikat seperti:

– lelaki(Joko) // fakta

– menikah(Joko, Tuti) // fakta – x y [menikah(x,y) Λ lelaki(x)] → ~ lelaki(y) // aturany x [orang(y) → ibu(x,y) // aturan

(15)

LOGIKA PREDIKAT

• Kalimat pertama menunjukkan adanya fakta bahwa Joko adalah seorang lelaki, dan kalimat kedua menyatakan bahwa Joko menikah dengan Tuti.

• Kalimat ketiga dan kalimat keempat menunjukkan suatu aturan atau kaidah yang umum berlaku, bahwa untuk setiap pasang orang x dan y, jika x menikah dengan y dan x adalah lelaki, maka dapat dipastikan bahwa y adalah bukan seorang lelaki.

• Sedangkan kalimat terakhir menyatakan bahwa untuk setiap y, ada x sehingga jika y adalah orang, maka y mempunyai seorang ibu x (x ibu dari y).

• Simbol predikat yang digunakan dalam kalimat-kalimat tersebut adalah lelaki, menikah, orang dan ibu yang sering disebut sebagai

relasi, sedangkan Joko dan Tuti disebut sebagai simbol konstanta.

(16)

LOGIKA PREDIKAT

BAHASA DEKLARATIF

• Bahasa yang digunakan adalah Prolog

(Programming Logic).

• Prolog digunakan karena bersifat deskriptif atau

deklaratif, sedang bahasa lain umumnya bersifat

prosedural atau imperatif.

• Sebagai bukti bahwa Prolog merupakan bahasa

deklaratif adalah dalam menyatakan fakta dan

aturan seperti berikut :

(17)

LOGIKA PREDIKAT

BAHASA DEKLARATIF

1. Jika ingin menyatakan bahwa Prawiro adalah bapak dari

Joko, maka dalam Prolog dituliskan sebagai:

– bapak(prawiro, joko).

2. Jika ingin menerangkan suatu kaidah bahwa A adalah kakek

dari Z maka harus dibuat dahulu logika dalam bahasa

Indonesia sehingga menjadi suatu aturan seperti berikut:

– A adalah kakek dari Z jika A adalah bapak dari X dan X

adalah bapak Z

atau

– A adalah kakek dari Z jika A adalah bapak dari X dan X

adalah ibu Z

• Aturan tersebut ditulis dalam Prolog sebagai:

– kakek(A,Z) :- bapak(A,X), bapak(X,Z).

(18)

LOGIKA PREDIKAT

• Contoh Representasi Pengetahuan Dalam Bahasa Prolog

Tree di atas dapat dibuat representasi secara logika sbb : • Putra(labiba, raihan) • Putra(raihan, afif) • Putra(afif, farhan) • Putra(afif, arfan) • Putri(raihan, farah) • Putri(farah, naura)

(19)

LOGIKA PREDIKAT

• Pertanyaan sederhana pada basis data

pengetahuan

Secara logika dapat diberikan pertanyaan dari

fakta-fakta

yang

sudah

direpresentasikan.

Bentuk pertanyaan

“siapa putri dari farah?”

untuk

representasi

secara logikanya,

dapat

dinyatakan sbb:

– putri (farah, D)

– D = naura

D adalah sebuah variabel yang digunakan untuk

menampung jawaban dari pertanyaan siapa putri dari

farah. Pertanyaan yang direpresentasikan secara

logika putri(farah, D) didapatkan jawaban adalah D

(20)
(21)

Kalimat logika predikat atau First Order Logic yang

merupakan well-formed formula (wff) didefenisikan

sebagai berikut :

1. Jika P(t1, t2, …, tn) adalah suatu predikat n-ary

maka P adalah formula atomic

2. Sebuah formula atomic adalah WFF

3. Jika P dan Q adalah WFF maka P  Q, P V Q, ¬P,

P → Q, adalah juga WFF

4. Jika

P adalah suatu WFF dan X bukan sebuah

quantified variable dalam P maka P tetap sebuah

WFF bahkan setelah quantifikasi. Misalnya

x P

atau

x P adalah WFF

(22)

Nyatakan kembali kalimat di bawah ini ke dalam logika predikat : 1. coconut-crunchy adalah sebuah biscuit

2. Neneng adalah anak kecil yang mengambil coconut-crunchy 3. Ali menyayangi anak-anak kecil yang mengambil biscuit

4. Ali menyayangi neneng

Pernyataan di atas dapat direpresentasikan dalam logika predikat menggunakan quantifiers X dan Y sebagai berikut :

1. Biskuit(coconut-crunchy)

2. Anak kecil(neneng)  ambil(neneng, coconut crunchy) 3. x : ((anak kecil(x)  y :(ambil(x,y)  biscuit (y))) →

sayang(Ali, x)

4. Sayang (Ali, Neneng)

(23)

Konversi ke CNF

(CNF=conjunctive normal form)

• 1. Eliminasi bikondisional atau implikasi

x ((anak kecil(x) Λ y (ambil(x,y) Λ biskuit(y)))  sayang(Ali,x)

• 2.

Reduksi scope  di depan quantifier menggunakan

pilihan formula sbb :

a. x p ≡ x p

d. (p V q) = p Λ q

b.  x p ≡ x p

e. (p Λ q) = p V q

c. ( p) ≡ p

mis.

x ((anak kecil(x) Λ y (ambil(x,y) Λ biskuit(y))) V sayang(Ali,x)

(24)

3.

Standarkan variabel: setiap quantifier harus

menggunakan variabel yang berbeda (pindahkan ke

bagian depan dari kalimat)

x y  anak kecil (x) V  ambil (x, y) V  biskuit (y) V sayang (Ali, x)

4.

Skolemisasi: bentuk yang lebih general dari instansiasi

eksistensial

Setiap variabel eksistensial diganti dengan fungsi Skolem dari variabel dengan quantifier universal

5.

Hapus quantifier universal :

 anak kecil (x) V  ambil (x, y) V  biskuit (y) V sayang (Ali, x)

Konversi ke CNF

(25)

 Resolusi Dalam Logika Predikat

Resolusi merupakan suatu teknik pembuktian

yang lebih efisien, sebab fakta-fakta yang akan

dioperasikan terlebih dahulu dibawa ke bentuk

yang sering disebut dengan nama klausa.

Pembuktian suatu pernyataan dilakukan dengan

cara

menegasikan

pernyataan

tersebut,

kemudian dicari kontradiksinya dari

pernyataan-pernyataan yang sudah ada.

(26)

Pembuktian teorema Logika Predikat dengan Prinsip Resolusi

Pada dasarnya pembuktian teorema resolusi dalam logika predikat sama dengan resolusi dalam logika proposisi. Bedanya, resolusi predikat ditambah dengan unifikasi.

Misalnya ingin dibuktikan suatu teorema (Th) dari sekumpulan aksioma, maka kita menunjukkannya dengan : {A1,A2,…An}_Th

Contohnya :

A1 = Biskuit(coconut crunchy)

A2 = Anak kecil(neneng) Λ Ambil(neneng, coconut-crunchy)

A3 = x (anak kecil(X) Λ Y (ambil(X,Y) Λ Biskuit(Y)))→ Sayang(Ali, X) dan Teoremanya : sayang(Ali, Neneng) = A4

Buktikan teorema bahwa sayang (Ali, Neneng) !

(27)

Pembuktian teorema Logika Predikat dengan Prinsip

Resolusi

Penyelesaiannya :

Konversikan semua aksioma di atas ke dalam bentuk CNF

seperti di bawah ini:

A1 = Biskuit(coconut crunchy)

A2 = Anak kecil(Neneng)

A3 = Ambil(Neneng, coconut-crunchy)

A4 = ¬anak kecil(X) V ¬ ambil(X,Y) V ¬ biscuit (Y) V

sayang(Ali, X)

A5 = ¬Sayang(Ali, Neneng)

(28)

Graph resolusi untuk membuktikan bahwa

sayang(Ali, Neneng)

LOGIKA PREDIKAT

¬Sayang(Ali, Neneng) ¬anak kecil (x) V ¬ ambil(x,y) V ¬ biscuit (y) V sayang(Ali, x)

¬anak kecil(x) V ¬ ambil(x,y) V ¬ Biskuit (y) Biskuit(coconut crunchy)

¬anak kecil (x) V ¬ ambil (neneng, coconut crunchy) Anak kecil (Neneng)

¬ ambil (neneng, coconut crunchy) ambil (neneng, coconut crunchy)

(29)

Latihan (1)

1. Konversikan kalimat-kalimat di bawah ini ke dalam logika predikat :

a. Mandala seorang manusia

b. Mandala berasal dari Papua

c. Semua orang Papua adalah orang Indonesia

d. Raja adalah pembuat aturan

e. Semua orang Indonesia loyal kepada raja atau membencinya

f. Tiap orang loyal kepada seseorang

g. Warga hanya membunuh pembuat aturan yang mereka tidak

loyal padanya

h. Mandala membunuh raja

(30)

Latihan (2)

All people who are not poor and are smart are

happy. Those people who read are not stupid. John

can read and is wealthy. Happy people have

exciting lives. Can anyone be found with an exciting

life?

(31)

Latihan (2)

All people who are not poor and are smart are

happy. Those people who read are not stupid. John

can read and is wealthy. Happy people have

exciting lives. Can anyone be found with an exciting

life?

x (Poor(x)  Smart(x)  Happy(x))

y (Read(y)  Smart(y))

Read(John)  Wealthy(John)

z (Happy(z)  Exciting(z))

Goal: Exciting(w)

(32)

Resolusi - Kasus

Transformasi kalkulus predikat ke disjungsi kalimat:

Poor(x)   Smart(x)  Happy(x)  Read(y)  Smart(y)

Read(John)  Poor(John)

 Happy(z)  Exciting(z))  Exciting(w)

 Exciting(w)  Happy(z)  Exciting(z))

 Happy(z) Poor(x)   Smart(x)  Happy(x)

Poor(x)   Smart(x)  Read(y)  Smart(y)

Poor(y)   Read(y)  Poor(John) Read(John) {z/w} {x/z} {y/x} {John/y}  Read(John) { }

(33)

Latihan (3)

Anyone passing his history exam and winning the

lottery is happy. But anyone who studies or is lucky

can pass all his exams. John did not study but he is

lucky. Anyone who is lucky wins the lottery. Is John

happy?

(34)

Latihan (3)

Anyone passing his history exam and winning the

lottery is happy. But anyone who studies or is lucky

can pass all his exams. John did not study but he is

lucky. Anyone who is lucky wins the lottery. Is John

happy?

x (Pass(x, History)  Win(x, Lottery)  Happy(x))

1

x y (Study(x)  Lucky(x)  Pass(x,y))

2 3

 Study(John)  Lucky(John)

4 5

x (Lucky(x)  Win(x, Lottery))

6

(35)

C. POHON

Pohon merupakan struktur penggambaran secara hirarki. Struktur pohon terdiri dari node-node yang menunjukkan obyek dan arc (busur) yang menunjukkan hubungan antar obyek.

A

G H I J K L M

B C D

F E

(36)

D. JARINGAN SEMANTIK

Jaringan Semantik merupakan gambaran pengetahuan grafis yang menunjukkan hubungan berbagai obyek. Obyek di sini bisa berupa benda atau peristiwa.

Salah satu keuntungan jaringan semantik ini adalah bisa mewariskan obyek-obyek tersebut. pagi roda Sekolah sepeda Budi buku merah Ani laki2 Si kancil dua baju binatang Makhluk hidup wanita

Contoh jaringan semantik

masuk adalah adalah berjudul adalah membaca memakai kakak berwarna berwarna punya jumlahnya naik adalah adalah pergi

(37)

D. FRAME

 Frame merupakan kumpulan pengetahuan tentang suatu obyek tertentu, peristiwa, lokasi, situasi dan lain-lain.

 Frame memiliki slot yang menggambarkan rincian dan karkteristik obyek.  Frame digunakan untuk merepresentasikan pengetahuan yang

didasarkan pada karakteristik yang sudah dikenal berupa pengalaman-pengalaman. Trans. Darat Slot solar Slot Sedan Slot mobil Slot bensin

Frame alat2 transportasi

Frame macam2 angkut darat

Frame macam2 mobil

(38)

E. NASKAH (SCRIPT)

 Naskah : Skema representasi pengetahuan yang sama dengan frame, yakni merepresenasikan pengetahuan berdasarkan karakteristik yang sudah dikenal sebagai pengalaman-pengalaman

 Perbedaannya dengan frame :

Frame menggambarkan obyek sedangkan naskah menggambarkan urutan peristiwa

 Elemen-elemen naskah meliputi:

a. kondisi input, yaitu kondisi yg harus dipenuhi sebelum terjadi peristiwa dalam naskah

b. Track, varisi yang mungkin terjadi dalam suatu naskah

c. Prop, berisi obyek-obyek pendukung yang digunakan selama peristiwa terjadi

d. Role, peran yang dimainkan oleh seseorang dalam peristiwa e. Scene, yaitu adegan yang dimainkan dalam peristiwa tersebut

f. Hasil, yaitu kondisi yang ada setelah urutan peristiwa dalam naskah terjadi.

(39)

E. NASKAH (SCRIPT)

contoh kejadian yang ada di “UTS KB”

• Jalur (track) : ujian tertulis matakuliah

Kecerdasan Buatan

• Role (peran) : mahasiswa, pengawas

• Prop (pendukung) : lembar soal, lembar

jawab, presensi, pena, dll

• Kondisi input : mahasiswa terdaftar untuk

mengikuti ujian

(40)

E. NASKAH (SCRIPT)

contoh kejadian yang ada di “UTS KB”

• Adegan (scene) -1 : Persiapan pengawas

– Pengawas menyiapk an lembar soal – Pengawas menyiapkan lembar jawab – Pengawas menyiapkan lembar presensi

• Adegan-2 : Mahasiswa masuk ruangan

– Pengawas mempersilahkan mahasiswa masuk – Pengawas membagikan lembar soal

– Pengawas membagikan lembar jawab – Pengawas memimpin doa

• Adegan – 3 : Mahasiswa mengerjakan soal ujian

– Mahasiswa menuliskan identitas di lembar jawab – Mahasiswa menandatangai lembar jawab

– Mahasiswa mengerjakan soal – Mahasiswa mengecek jawaban

(41)

E. NASKAH (SCRIPT)

contoh kejadian yang ada di “UTS KB”

• Adegan – 4 : Mahasiswa telah selesai ujian

– Pengawas mempersilahkan mahasiswa keluar ruangan

– Mahasiswa mengumpulkan kembali lembar jawab

– Mahasiswa keluar ruangan

• Adegan – 5 : Mahasiswa mengemasi lembar jawab

– Pengawas mengurutkan lembar jawab

– Pengawas mengecek lembar jawab dan presensi

– Pengawas meninggalkan ruangan

(42)

E. NASKAH (SCRIPT)

contoh kejadian yang ada di “UTS KB”

• Hasil :

– • Mahasiswa merasa senang dan lega

– • Mahasiswa merasa kecewa

– • Mahasiswa pusing

– • Mahasiswa memaki – maki

– • Mahasiswa sangat bersyukur

(43)

F. SISTEM PRODUKSI

 Secara umum, sistem produksi terdiri dari komponen-komponen sebagai berikut :

a. Ruang keadaan,

yang berisi berisi keadaan awal, tujuan dan kumpulan aturan yang digunakan untuk mencapai tujuan

b. Strategi kontrol,

yang berguna untuk mengarahkan bagai-mana proses pencarian akan berlangsung dan megnendalikan arah eksplorasi.

 Representasi pengetahuan denan sistem produksi pada dasarnya berupa aplikasi (rule) yang berupa :

a. Antecedent, yaitu bagian yang mengekspresikan situasi atau premis

(Pernyataan berawalan IF)

b. Konsekuen, yaitu bagian yang menyatakan suatu tindakan tertentu

atau konklusi yang diterapkan jika suatu situasi atau premis bernilai benar (pernyataan berawalan THEN).

Referensi

Dokumen terkait