You are on page 1of 16

MAKALAH

PENGETAHUAN DAN PENALARAN LOGIKA PERTAMA


(FIRST ORDER LOGIC)

Dosen :

Dr. Elviawaty Muisa Zamzami, MT, MM

Oleh Kelompok :

1. Ade Linhar (177038017)


2. Fransiska (177038050)
3. Meri Nova (177038045)
4. Sardo P. Sipayung (177038048)

PROGRAM STUDI S2 TEKNIK INFORMATIKA


FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2019
Kata Pengantar

Puji syukur kehadirat Tuhan Yang Maha Esa atas segala Rahmat dan
Hidayahnya sehingga makalah ini dapat tersusun hingga selesai. Tidak lupa kami juga
mengucapkan banyak terimakasih kepada dosen yang telah memberikan tugas
makalah ini.
Semoga makalah ini dapat memberikan wawasan yang lebih luas dan menjadi
sumbangan pemikiran kepada pembaca khususnya para mahasiswa Teknik
Informatika. Kami sadar bahwa makalah ini masih banyak kekurangan dan jauh dari
kata sempurna. Untuk itu, kepada dosen kami meminta masukannya demi perbaikan
pembuatan makalah ini.

Penulis
BAB 1

PENDAHULUAN

A. Latar Belakang

First order logic adalah sebuah bahasa formal yang digunakan di ilmu
matematika, philosophy, bahasa dan ilmu computer. Disebut juga kalkulus predikat,
merupakan logika yang digunakan untuk merepresentasikan masalah yang tidak dapat
direpresentasikan dengan menggunakan proposisi. Logika predikat dapat memberikan
representasi fakat-fakta sebagai suatu pernyataan yang mapan (well form). Kalkulus
predikat bisa menganalisakan kalimat-kalimat ke dalam subjek dan argumen dalam
berbagai cara yang berbeda-beda, yang pada akhirnya kalkulus predikat bisa
digunakan untuk memecahkan problem of multiple generality (masalah dalam
berbagai keadaan umum) yang telah membingungkan sebagian besar ahli-ahli logika
abad pertengahan. Dengan menggunakan logika predikat ini, untuk pertama kalinya,
para ahli-ahli logika bisa memberikan quantifier yang cukup umum untuk
merepresentasikan semua argumen yang terdapat pada natural language.
Pemanfaatan FOL untuk merepresentasikan fakta adalah salah satu teknik
dasar yang sudah sejak lama dipakai untuk dapat mengkodekan bahasa alami ke dalam
bentuk formal. Dengan menggunakan FOL, diharapkan fakta (dan juga pertanyaan)
dapat direpresentasikan secara tepatke dalam konteksnya masing-masing, sehingga
jawaban akhir yang dikembalikan kepada pengguna adalah jawaban yang tingkat
kesasihannya (validity, di dalamnya mencakup consistency dan informativeness)
sangat tinggi. Jika kita berbicara mengenai logika predikat, maka patut diperhatikan
bahwa pada tahun 1879, filsuf berkebangsaan Jerman yang bernama Gottlob Frege
menerbitkan sebuah risalat yang luar biasa, yang berjudul the Begriffsschrift
(“Concept Script”). Monograp yang brilian ini dianggap sebagai asal muasal dari teori
logika modern. Akan tetapi, dalam risalat milik Friege ini masih terdapat banyak
kekurangan dalam beberapa bagian dan janggal dalam penotasiannnya. Walaupun
demikian, penemuan Frege ini tetap diakui. Selain penemuan dari Frege, formulasi
dari logika predikat yang sering digunakan sekarang adalah firstorder logic atau yang
biasa dikenal dengan kalkulus predikat yang tercatat dalam Principle of Theorical
Logic yang ditulis oleh David Hilbert dan Wilhelm Ackerman pada tahun 1928. First
order logic dalam hal ini merupakan dasar pendiri logika matematika modern.
B. Rumusan Masalah

1. Jelaskan pengertian dari First Order Logic


2. Menjelaskan Sintak Dan Semantik Logika Orde Pertama
3. Menjelaskan Penggunaan Logika Orde Pertama
4. Menjelaskan Rekayasa Pengetahuan Pada Logika Orde Pertama
5. Menjelaskan Logika Proposisi Vs Inferensi Logika Orde Pertama
6. Menjelaskan Unifikasi Dan Lifting
7. Menjelaskan Forward & Backward Chaining
8. Menjelaskan Resolusi Logika Predikat
C. Tujuan
1. Dapat mengetahui pengertian dari First Order Logic
2. Menjelaskan Sintak Dan Semantik Logika Orde Pertama
3. Menjelaskan Penggunaan Logika Orde Pertama
4. Menjelaskan Rekayasa Pengetahuan Pada Logika Orde Pertama
5. Menjelaskan Logika Proposisi Vs Inferensi Logika Orde Pertama
6. Menjelaskan Unifikasi Dan Lifting
7. Menjelaskan Forward & Backward Chaining
8. Menjelaskan Resolusi Logika Predikat

BAB 2

PEMBAHASAN
A. Pengertian First Order Logic

First order logic adalah sebuah bahasa formal yang digunakan di ilmu
matematika, philosophy, bahasa dan ilmu computer. Disebut juga kalkulus predikat,
merupakan logika yang digunakan untuk merepresentasikan masalah yang tidak dapat
direpresentasikan dengan menggunakan proposisi. Logika predikat dapat memberikan
representasi fakat-fakta sebagai suatu pernyataan yang mapan (well form). Kalkulus
predikat bisa menganalisakan kalimat-kalimat ke dalam subjek dan argumen dalam
berbagai cara yang berbeda-beda, yang pada akhirnya kalkulus predikat bisa
digunakan untuk memecahkan problem of multiple generality (masalah dalam
berbagai keadaan umum) yang telah membingungkan sebagian besar ahli-ahli logika
abad pertengahan. Dengan menggunakan logika predikat ini, untuk pertama kalinya,
para ahli-ahli logika bisa memberikan quantifier yang cukup umum untuk
merepresentasikan semua argumen yang terdapat pada natural language.

B. Sintak Dan Semantik Logika Orde Pertama

A. Model

Sebuah model adalah sebuah situasi yang menjelaskan hal-hal yang menjadi konteks
pembicaraan. Untuk membentuk sebuah model, diperlukan adanya kosa-kata
(vocabularies), yaitu daftar istilah yang membentuk model tersebut. Sebuah kosa-kata
berisikan topik pembicaraan dan bahasa (simbol) yang digunakan dalam pembicaraan.
Dalam contoh kalimat‘ayah dan anto makan sepiring nasi’, akan terdapat kosa-kata
sebagai berikut: {(ayah,1), (anto,0),(makan,2), (nasi,1)}. Dalam kosa-kata ini akan
terlihat bagaimana relasi antara fakta atauvariabel yang satu dengan lainnya di dalam
representasi. Perlu dibedakan antara fakta (sebuah konstanta / non-binding variable),
dengan variabel yang dapat menampung sebuah fakta (binding variable). Dalam
contoh, relasi ‘makan’ menjelaskan bahwa aktivitas tersebut dapat terjadi jika
melibatkan dua konstanta (relasi biner yang memiliki arity2). Angka 1 menjelaskan
bahwa terjadi relasi tunggal (arity1), yang dapat diisikan (binding) dengan sebuah
konstanta. Angka 0 menjelaskan sebuah konstanta, dan bukan merupakan relasi.

Syntax FOL: Elemen-Elemen Dasar

Elemen-elemen dasar FOL:

Constants : KingJohn, 2, UB, UNSYAH, USU, Banda Aceh, Medan, , . . .

Predicates : Brother , >, Loves, Membenci , Mengajar , . . .

Functions : Sqrt, LeftLegOf, Ayah, . . .


Variables : x , y , a, b, . . .

Connectives : ∧ ∨ ¬ ⇒ ⇔

Equality : =

Quantifiers : ∀ ∃

Syntax FOL : Kalimat Atomic

Definisi atomic sentence : predicate(term1, , termn) atau term1 = term2

Definisi term :

function(term1, , termn) atau constant atau variable

Contoh :

Brother (KingJohn, RichardTheLionheart )

> (Length(LeftLegOf (Richard)), Length(LeftLegOf (KingJohn)))

Syntax FOL : Kalimat Kompleks

Kalimat kompleks complex sentence terdiri dari sentence yang digabungkan dengan
connective.

Definisi complex sentence : ¬S, S1∧ S2, S1∨ S2, S1 ⇒ S2, S1 ⇔ S2

Contoh :

Sibling(KingJohn, Richard ) ⇒ Sibling(Richard , KingJohn)

>(1, 2) ∨ ≤(1, 2)

>(1, 2) ∧ ¬>(1, 2)

Belajar (x , SC) ⇒ Mengerti(x , AI)

Semantics FOL : Truth & Model

Sama halnya dengan. Proposisi Logic (PL), sebuah kalimat FOL bisa juga dikatakan
true terhadap sebuah model. Namun, sebuah kalimat bisa diinterpretasikan banyak
cara dalam sebuah model.
Model berisi :

Objects : elemen-elemen di dalam dunia (domain elements).

Relations : hubungan antara elemen-elemen tersebut.

Sebuah interpretasi mendefinisikan referent (“yang dipetakan”)

Constant symbols → objects

Predicate symbols → relations

Function symbols → functional relations

Kemungkinan Model & Interpretasi

Entailment , validity , satisfiability , dll. Didefinisikan untuk semua kemungkinan


interpretasi dari semua kemungkinan model!

Kalau mau dijabarkan semua kemungkinannya: For each number of domain elements
n from 1 to ∞ For each k -ary predicate Pk in the vocabulary For each possible k -ary
relation on n objects For each constant symbol C in the vocabulary For each choice of
referent for C from n objects . .

Menentukan entailment berdasarkan truth-table? mustahil! Biasanya ada satu


interpretasi yang “dimaksudkan” → intended interpretation.

Quantifier

Selain penggunaan predikat, First Order Logic juga menawarkan quantifier untuk
membuat kalimat logika yang lebih sederhana. Ada 2 jenis quantifier, yaitu universal
dan existential. Quatifier ini berlaku terhadap parameter yang muncul di sebuah
kalimat masih dalam bentuk variabel. Universal quantifier terhadap sebuah variabel x
(disimbolkan dengan ∀x) berarti bahwa kalimat tersebut berlaku untuk setiap obyek x,
sedangkan existential quantifier (disimbolkan dengan ∃x) berarti berlaku untuk
sebagian obyek saja.

Contoh: Menggunakan definisi untuk p(x), r(x), dan q(x,y), berikut adalah kalimat-
kalimat logika dengan menggunakan quantifier dan artinya:
 ∀x(p(x) Λ r(rabu) → q(x,merah-putih)) : untuk setiap x, jika x adalah seorang
siswa kelas II SD dan pada hari Rabu maka x akan mengenakan seragam
merah-putih.

 ∃x(p(x) → ¬q(x,merah-putih)) : ada x, jika x adalah seorang siswa kelas II SD


maka x tidak mengenakan seragam merah putih.

Universal Quantifier

Dalam logika predikat , quantifieri universal merupakan jenis quantifier , sebuah


konstanta logis yang ditafsirkan sebagai “diberi” atau “untuk semua”. Ini
mengungkapkan bahwa fungsi proposisi dapat dipenuhi oleh setiapanggota dari
domain wacana. Dalam istilah lain, itu adalah predikasi dari properti atau hubungan
dengan setiap anggota domain. Ini menegaskanbahwa predikat dalam lingkup dari
quantifier universal benar dari setiap nilai dari variabel predikat .

Hal ini biasanya dilambangkan dengan berbalik A (∀) operator logika simbol, yang
bila digunakan bersama-sama dengan variabel predikat, disebut quantifier universal
(“∀x”, “∀ (x)”, atau kadang-kadang dengan “(x) “saja). Kuantifikasi Universal
berbeda dari kuantifikasi eksistensial (“ada ada”), yang menegaskan bahwa properti
atau relasi hanya berlaku untuk setidaknya satu anggota dari domain.

Contoh 1 :

(∀x) (x + x = 2x)

“untuk setiap x (dimana x adalah suatu bilangan), kalimat x + x = 2x adalah benar.”

Contoh 2 :

(∀x) (p) (Jika x adalah seekor kelinci -> x adalah binatang).

Kebalikan kalimat “bukan kelinci adalah binatang” ditulis :

(∀x) (p) (Jika x adalah seekor kelinci -> ~x adalah binatang)

dan dibaca :

– “setiap kelinci adalah bukan binatang”


“semua kelinci adalah bukan binantang”

Existential Quantifier

Dalam logika predikat , suatu quantifier eksistensial adalah jenis quantifier ,


sebuah konstanta logis yang ditafsirkan sebagai “ada ada,” “ada setidaknya satu,” atau
“untuk beberapa.” Ini mengungkapkan bahwa fungsi proposisi dapat dipenuhi oleh
setidaknya satu anggota dari domain wacana . Dalam istilah lain, itu adalah predikasi
dari properti atau hubungan dengan setidaknya satu anggota dari domain. Ini
menegaskan bahwa predikat dalamlingkup dari quantifier eksistensial adalah benar
dari setidaknya satu nilai darivariabel predikat .

Hal ini biasanya dilambangkan dengan E berubah (∃) operator logika simbol, yang
bila digunakan bersama-sama dengan variabel predikat, disebut quantifier eksistensial
(“∃x” atau “∃(x)”) Kuantifikasi eksistensial.

Contoh 1 :

(∃x) (x . x = 1)

Dibaca : “terdapat x yang bila dikalikan dengan dirinya sendiri hasilnya sama dengan
1.”

Contoh 2 :

(∃x) (panda(x) ∧ nama(Clyde))

Dibaca : “beberapa panda bernama Clyde”.

Contoh 3 :

(∀x) (jerapah(x) -> berkaki empat(x))

Dibaca : “semua jerapah berkaki empat”.

Universal quantifier dapat diekspresikan sebagai konjungsi.

(∃x) (jerapahh(x) ∧ berkaki tiga(x))

Dibaca : “ada jerapah yang berkaki tiga”

Existensial quantifier dapat diekspresikan sebagai disjungsi dari


urutan ai. P(a1) ∨ P(a2) ∨ P(a3) …∨ P(aN)

C. Penggunaan Logika Orde Pertama

a) Assertions and queries in first-order logic.


b) The kinship domain.
c) Numbers, sets, and lists.

D. Rekayasa Pengetahuan Pada Logika Orde Pertama

a) Identify the task.


b) Assemble the relevant knowledge.
c) Decide on a vocabulary of predicates, functions, and constants.
d) Encode general knowledge about the domain
e) Encode a description of the specific problem instance.
f) Pose queries to the inference procedure and get answers.
g) Debug the knowledge base.

E. Logika Proposisi Vs Inferensi Logika Orde Pertama

Contoh Permasalahan

Pembuktian Logika Proposisi

Setiap manusia pasti mati. Karena Sayuti adalah manusia, maka dia pastimati. Secara
intuisi kalimattersebut bernilai Benar. Berdasarkan logika proposisi kalimat tersebut
dapat disimbolkan sebagai:

p : Setiap manusia pasti mati

q : Sayuti adalah manusia

r : Sayuti pasti mati


Berdasarkan kerangka berfikir Logika Proposisi bukanlah konsekuensi Logis dari p
dan q. Pernyataan ‘Setiap manusia pasti mati’ mengandung pernyataan Himpunan,
yaitu Himpunan ‘manusia’, dimana individu yang merupakan bagian dari himpunan
manusia jumlahnya tidak terhingga. Sedangkan pernyataan ‘Sayuti adalah manusia’
secara implisit menyatakan anggota dari himpunan ‘manusia’/ universal of discourse.

Struktur sepertidiatas tidak dikenali oleh Logika Proposisi, karena apabila ingin
membuktikan kebenaran dari pernyataan ‘Setiap manusiapasti masti’ maka harus
dicari nilai kebenaran dari seluruh elemen himpunan manusia yang jumlahnya tak
terhingga. Ini tidak mungkin dilakukan.

Untuk mengatasi permasalahan diatas diperlukan kerangka berfikir lain selain Logika
Proposisi yaitu Logika First-Order (Kalkulus Predikat). Maka dapat didefinisikan
bahwa Logika First-Order adalah perluasan dari konsep Logika Proposisi untuk
mengatasi permasalahan yang tidak dapat dipecahkan melalui kerangka berfikir
Logika Proposisi dengan penambahan 3 komponen logika yaitu: Term (suku),
Predicate dan Quantifier.

Pembuktian pada Logika First-Order

Pembuktian Logika First-Order hampir sama dengan pembuktian pada Logika


Proposisi. Hanya saja pada Logika First-Order pembuktian menggunakan Aturan
Inferensi lebih mungkin untuk dilakukan.

Contoh:

Buktikan bahwa “Setiap manusia pasti mati. Rangkuti adalah manusia, Karenanya
Rangkuti pasti mati.”

Jawab:

Misal dideklarasikan predikat berikut:


MAN(x) adalah manusia

MORTAL(x) pasti mati

Maka pernyataan pada soal menjadi:

P1 :(x) (MAN(x) MORTAL(x))

P2 :MAN(Sayuti)

Untuk membuktikan bahwa kesimpulan “Rangkuti pasti mati” harus dibuktian bahwa
MORTAL(Rangkuti) adalah konsekuensi logis dari P1dan P2. Maka;

Dilakukan pembuktian langsung:

P1P2 : (x) (MAN(x) MORTAL(x)) MAN(Rangkuti)

Karena (MAN(x) MORTAL(x)) bernilai Benar untuk semua x maka;

(MAN(Rangkuti) MORTAL(Rangkuti)) juga Benar

(x) (MAN(x)MORTAL(x))

MAN(Rangkuti)

(MAN(Sayuti)MORTAL(Rangkuti))

MORTAL(Rangkuti)

Premis P1

Premis P2

Langkah 1 dan 2

P1: x Rangkuti

F. Unifikasi Dan Lifting

Unifikasi adalah usaha untuk mencoba membuat dua ekspresi menjadi identik
(mempersatukan keduanya) dengan mencari substitusi-substitusi tertentu untuk
mengikuti peubah-peubah dalam ekspresi mereka tersebut. Unifikasi merupakan suatu
prosedur sistematik untuk memperoleh peubah-peubah instan dalam wffs. Ketika nilai
kebenaran predikat adalah sebuah fungsi dari nilai-nilai yang diasumsikan dengan
argumen mereka, keinstanan terkontrol dari nilai-nilai selanjutnya yang menyediakan
cara memvalidasi nilai-nilai kebenaran pernyataan yang berisi predikat. Unifikasi
merupakan dasar atas kebanyakan strategi inferensi dalam Kecerdasan Buatan.
Sedangkan dasar dari unifikasi adalah substitusi.

Suatu substitusi (substitution) adalah suatu himpunan penetapan istilah-istilah


kepada peubah, tanpa ada peubah yang ditetapkan lebih dari satu istilah. Sebagai
pengetahuan jantung dari eksekusi Prolog, adalah mekanisme unifikasi.

Aturan-aturan unifikasi :

1) Dua atom (konstanta atau peubah) adalah identik.


2) Dua daftar identik, atau ekspresi dikonversi ke dalam satu buah daftar.
3) Sebuah konstanta dan satu peubah terikat dipersatukan, sehingga peubah
menjadi
terikat kepada konstanta.
4) Sebuah peubah tak terikat diperssatukan dengan sebuah peubah terikat.
5) Sebuah peubah terikat dipersatukan dengan sebuah konstanta jika pengikatan
pada
peubah terikat dengan konstanta tidak ada konflik.
6) Dua peubah tidak terikat disatukan. Jika peubah yang satu lainnya menjadi
terikat
dalam upa-urutan langkah unifikasi, yang lainnya juga menjadi terikat ke atom
yang
sama (peubah atau konstanta).
7) Dua peubah terikat disatukan jika keduanya terikat (mungkin melalui
pengikatan
tengah) ke atom yang sama (peubah atau konstanta).

G. Forward & Backward Chaining

FORWARD CHAINING

Forward chaining merupakan metode inferensi yang melakukan penalaran dari suatu
masalah kepada solusinya. Jika klausa premis sesuai dengan situasi (bernilai TRUE),
maka proses akan menyatakan konklusi. Forward chaining adalah data-driven karena
inferensi dimulai dengan informasi yang tersedia dan baru konklusi diperoleh. Jika
suatu aplikasi menghasilkan tree yang lebar dan tidak dalam, maka gunakan forward
chaining.

Contoh :

Terdapat 10 aturan yang tersimpan dalam basis pengetahuan yaitu :

R1 : if A and B then C

R2 : if C then D

R3 : if A and E then F

R4 : if A then G

R5 : if F and G then D

R6 : if G and E then H

R7 : if C and H then I

R8 : if I and A then J

R9 : if G then J

R10 : if J then K

Fakta awal yang diberikan hanya A dan E, ingin membuktikan apakah K bernilai
benar.

BACKWARD CHAINING

Menggunakan pendekatan goal-driven, dimulai dari harapan apa yang akan terjadi
(hipotesis) dan kemudian mencari bukti yang mendukung (atau berlawanan) dengan
harapan kita. Sering hal ini memerlukan perumusan dan pengujian hipotesis
sementara. Jika suatu aplikasi menghasilkan tree yang sempit dan cukup dalam, maka
gunakan backward chaining.

H. Resolusi Logika Predikat

Resolusi pada logika predikat pada dasarnya sama dengan resolusi pada logika
proposisi, hanya saja ditambah dengan unifikasi.Pada logika predikat, prosedur untuk
membuktikan pernyataan P dengan beberapa pernyataan F yang telah diketahui,
dengan menggunakan resolusi, dapat dilakukan melalui algoritma sebagai berikut :

a) Konversikan semua proposisi F ke bentuk klausa


b) Negasikan P, dan konversikan hasil negasi tersebut ke bentuk
klausa.Tambahkan kehimpunan klausa yang telah ada pada langkah
c) Kerjakan hingga terjadi kontradiksi atau proses tidak mengalami kemajuan :

 Seleksi 2 klausa sebagai klausa parent


 Bandingkan (resolve) secara bersama-sama. Klausa hasil resolve tersebut
resolvent. Jika ada pasangan literal T dan ¬T2 sedemikian hingga keduanya dapat
dilakukan unifikasi, maka salah satu T1 dan T2 disebut sebagai complementary
literal. Jika ada lebih dari 1 complementary literal, maka hanya sepasang yang
dapat meninggalkan resolvent
 Jika resolvent berupa klausa kosong, maka ditemukan kontradiksi. Jika tidak,
tambahkan ke himpunan klausa yang telah ada

Contoh kasus :

Misalkan terdapat pernyataan-pernyataan sebagai berikut :

1) Fajar adalah seorang mahasiswa


2) Fajar masuk Jurusan Elektro
3) Setiap mahasiswa elektro pasti mahasiswa Teknik
4) Kalkulus adalah matakuliah yang sulit
5) Setiap mahasiswa teknik pasti akan suka kalkulus atau akan membencinya
6) Setiap mahasiswa pasti akan suka terhadap suatu matakuliah
7) Mahasiswa yang tidak pernah hadir pada kuliah matakuliah sulit, maka mereka
pasti tidak suka terhadap matakuliah tersebut
8) Fajar tidak pernah hadir kuliah matakuliah kalkulus

Maka harus terlebih dahulu diubah ke dalam bentuk klausa sebagai berikut :

a) Mahasiswa (Fajar)
b) Elektro (Fajar)
c) Elektro (x1) v Teknik (v1)
d) Sulit (Kalkulus)
e) Teknik (x2) v suka (x2, Kalkulus) v benci (x2, Kalkulus)
f) Suka (x3, f1 (x3))
g) Mahasiswa (x4) v ¬ sulit (y1) v hadir (x4, y1) v ¬ suka (x4, y1)
h) Hadir (Fajar, Kalkulus)
BAB 3

PENUTUP

Kesimpulan

You might also like