Anda di halaman 1dari 30

Logika Informatika

Dr.-Ing. Reza Pulungan, M.Sc


(pulungan@ugm.ac.id)

Jurusan Ilmu Komputer dan Instrumentasi


Universitas Gadjah Mada
Yogyakarta

June 4, 2010
Logika Proposisional
(Propositional Logic)
Pengantar

Kebenaran suatu kalimat (sentence) dapat ditentukan


hanya dari strukturnya saja. Contoh: kalimat
Ada monyet di Jupiter atau tidak ada monyet di Jupiter.
adalah benar.
Kalimat di atas adalah instance dari kalimat abstrak
(abstract sentence) P or (not P ). Dan kalimat abstrak ini
selalu benar.
Suatu kalimat abstrak disebut valid, jika kalimat tersebut
benar, tanpa memperdulikan kebenaran semua proposisi
yang membentuknya.


CC 2010 Reza Pulungan Logika Informatika 3
Contoh
Kalimat abstrak:

not (P and (not P ))


or
Q

adalah benar.
Maka, secara langsung kita tahu bahwa kalimat konkrit:

not ([x < 0] and (not [x < 0]))


or
[y ≥ 0]

adalah benar; tanpa perlu mengetahui kebenaran x < 0 dan


y ≥ 0.


CC 2010 Reza Pulungan Logika Informatika 4
Pengantar

Terdapat juga kalimat abstrak yang selalu salah. Contoh:


P and (not P ).
Suatu kalimat abstrak disebut contradictory, jika kalimat
tersebut salah, tanpa memperdulikan kebenaran semua
proposisi yang membentuknya.
Jika suatu kalimat abstrak F valid, maka negasinya
(not F) contradictory, dan sebaliknya.
Di samping valid dan contradictory, ada juga kalimat
abstrak yang tidak valid dan tidak contradictory. Contoh:
P or Q dan not Q. Kebenaran kalimat ini tergantung pada
kebenaran proposisi-proposisi yang membentuknya.


CC 2010 Reza Pulungan Logika Informatika 5
Pengantar

Dua kalimat abstrak bisa juga equivalent. Contoh:


if P then Q dan if (not Q) then (not P ).
Dua buah kalimat abstrak adalah equivalent jika kebenaran
kedua kalimat tersebut sama, tanpa memperdulikan
kebenaran semua proposisi yang membentuknya.

Di bagian awal kuliah ini, kita akan berbicara mengenai sebuah


bahasa yang dibangun oleh kalimat-kalimat abstrak. Bahasa ini
disebut dengan logika proposisional (propositional logic).


CC 2010 Reza Pulungan Logika Informatika 6
Bahasa (Language)
Proposisi

Suatu bahasa dibangun oleh simbol-simbol dan aturan-aturan


syntaktis (syntactic rules) yang menggabungkan simbol-simbol
tersebut menjadi kalimat.

Definisi (Proposisi (Proposition))


Kalimat-kalimat dalam logika proposisional dibangun oleh
simbol-simbol berikut (yang disebut dengan proposisi):
Simbol-simbol kebenaran: TRUE dan FALSE .
Simbol-simbol proposisional:
P , Q, R, S, P1 , Q1 , R1 , S1 , P2 , Q2 , R2 , S2 , · · · .


CC 2010 Reza Pulungan Logika Informatika 8
Kalimat
Kalimat-kalimat dilambangkan oleh huruf-huruf kaligrafik
F, G, H, F1 , G1 , H1 , · · · . Ingat, mereka adalah lambang, bukan
simbol (proposisi).
Definisi (Kalimat (Sentence))
Kalimat-kalimat dalam logika proposisional dibangun dari
proposisi-proposisi dengan menggunakan penghubung
proposisional (propositional connectives): not , and , or ,
if − then, if − and − only − if , dan if − then − else.
Kalimat-kalimat dibentuk sesuai dengan aturan-aturan sintaksis
berikut:
Setiap propososi adalah kalimat.
Jika F adalah kalimat, maka not F (negasi—negation)
juga kalimat.


CC 2010 Reza Pulungan Logika Informatika 9
Kalimat

Definisi (Kalimat (Sentence))


Jika F dan G adalah kalimat, maka F and G
(konjungsi—conjunction) juga kalimat.
Jika F dan G adalah kalimat, maka F or G
(disjungsi—disjunction) juga kalimat.
Jika F dan G adalah kalimat, maka if F then G
(implikasi—implication) juga kalimat.
F disebut antecedent dan G disebut consequent.
Jika F dan G adalah kalimat, maka F if and only if G
(ekuivalensi—equivalence) juga kalimat.
Jika F, G dan H adalah kalimat, maka if F then G else H
(kondisional—conditional) juga kalimat.


CC 2010 Reza Pulungan Logika Informatika 10
Contoh
Ekspresi:

E = ((not (P or Q)) if and only if ((not P ) and (not Q)))

adalah sebuah kalimat.


Bukti:
1 P dan Q adalah kalimat, maka

2 (P or Q), (not P ) dan (not Q) adalah kalimat, maka

3 (not (P or Q)) dan ((not P ) and (not Q) adalah kalimat,


maka
4 ((not (P or Q)) if and only if ((not P ) and (not Q)))
adalah kalimat, maka
5 Ekspresi E adalah kalimat.

Semua kalimat “sementara” di point 1–4 disebut dengan


sub-kalimat. Sub-kalimat yang tidak sama dengan E disebut
dengan sub-kalimat proper.

CC 2010 Reza Pulungan Logika Informatika 11
Bahasa
Secara singkat, logika proposisional adalah sebuah bahasa
dengan tata bahasa (grammar) berikut:

F :=P | not F | F and F | F or F | if F then F |


F if and only if F | if F then F else F

di mana F adalah sembarang kalimat dan P adalah sembarang


proposisi.

Definisi (Bahasa (Language))


Logika proposisional adalah himpunan dari semua kalimat yang
dapat dibentuk oleh tata bahasa di atas.


CC 2010 Reza Pulungan Logika Informatika 12
Notasi
Mulai sekarang kita akan menggunakan notasi baru:
Notasi Lama Notasi Baru
TRUE T
FALSE F
not ¬
and ∧
or ∨
if-then =⇒
if-and-only-if ⇐⇒

Contoh:
P and Q ≡ P ∧ Q,
P or Q ≡ P ∨ Q,
if P then Q ≡ P =⇒ Q,
P if and only if Q ≡ P ⇐⇒ Q.

CC 2010 Reza Pulungan Logika Informatika 13
Urutan Evaluasi (Precedence)
Urutan evaluasi dari penghubung-penghubung proposisional
adalah:
Penghubung Urutan
¬ 1
∧ 2
∨ 3
=⇒ 4
⇐⇒ 5

Contoh:
¬(P ∧ ¬Q) ≡ ¬(P ∧ (¬Q)),
¬P ∨ Q ∧ R =⇒ Q ≡ (((¬P ) ∨ (Q ∧ R)) =⇒ Q).

Gunakan tanda kurung () untuk mengubah urutan evaluasi.



CC 2010 Reza Pulungan Logika Informatika 14
Interpretasi Kalimat
Interpretasi

Sejauh ini kita telah melihat sintaks atau bentuk dari


kalimat-kalimat dalam logika proposisional, tanpa melihat
artinya.
Sekarang kita akan memberikan semantik (semantics)
atau pengertian dari kalimat-kalimat tersebut.
Ini dilakukan dengan memberikan nilai kebenaran (truth
value)—true atau false—kepada kalimat-kalimat tersebut.
Nilai kebenaran dari kalimat seperti (P ∨ ¬Q) bisa
ditentukan jika kita mengetahui nilai kebenaran dari
proposisi P dan Q.
Proses penentuan ini disebut dengan interpretasi.


CC 2010 Reza Pulungan Logika Informatika 16
Interpretasi

Definisi (Interpretasi (Interpretation))


Sebuah interpretasi I adalah suatu assignment nilai kebenaran,
true atau false, ke tiap-tiap himpunan simbol-simbol
proposisional. Interpretasi kosong tidak memberikan nilai
kebenaran apa-apa ke simbol-simbol proposisional.

Untuk suatu kalimat F, sebuah interpretasi I disebut


“interpretasi untuk F” jika I memberikan nilai kebenaran ke
tiap-tiap simbol proposisi dari F.


CC 2010 Reza Pulungan Logika Informatika 17
Contoh

Perhatikan kalimat: F = P ∨ ¬Q.


Suatu interpretasi I1 untuk F memberikan nilai false ke P dan
true ke Q, yaitu: 
P ← false,
I1 :
Q ← true.

Interpretasi lain I2 untuk F memberikan nilai false ke P dan


false ke Q, yaitu: 
P ← false,
I2 :
Q ← false.


CC 2010 Reza Pulungan Logika Informatika 18
Contoh

Interpretasi I3 untuk F memberikan nilai false ke P , false ke Q,


dan true ke R, yaitu:

 P ← false,
I3 : Q ← false,
R ← true.


I4 : P ← true.
bukanlah interpretasi untuk F .


CC 2010 Reza Pulungan Logika Informatika 19
Semantic Rules
Begitu kita memperoleh interpretasi untuk sebuah kalimat, kita
dapat menentukan nilai kebenaran dari kalimat tersebut pada
interpretasi tersebut. Ini dilakukan dengan mengaplikasikan
aturan-aturan berikut.
Definisi (Aturan-aturan semantik (Semantic Rules))
Andaikan E adalah sebuah kalimat dan I adalah interpretasi
untuk E. Maka nilai kebenaran dari E (dan semua
sub-kalimatnya) pada I ditentukan dengan menggunakan
aturan-aturan semantik berikut secara berulang-ulang:
Aturan proposisi: Nilai kebenaran dari tiap-tiap simbol
proposisi P , Q, R, · · · dalam E sama dengan nilai
kebenaran yang diberikan oleh I.


CC 2010 Reza Pulungan Logika Informatika 20
Semantic Rules

Definisi (Aturan-aturan semantik (Semantic Rules))


Aturan true: Kalimat T bernilai true pada I.
Aturan false: Kalimat F bernilai false pada I.
Aturan not: ¬F bernilai true jika F bernilai false; dan
sebaliknya.
Aturan and: F ∧ G bernilai true jika F dan G kedua-duanya
bernilai true; dan bernilai false kalau tidak.
Aturan or: F ∨ G bernilai true jika F bernilai true atau G
bernilai true; dan bernilai false kalau tidak.
Aturan if-then: F =⇒ G bernilai true jika F bernilai false
atau jika G bernilai true; dan bernilai false kalau tidak.


CC 2010 Reza Pulungan Logika Informatika 21
Semantic Rules

Definisi (Aturan-aturan semantik (Semantic Rules))


Aturan if-and-only-if: F ⇐⇒ G bernilai true jika nilai
kebenaran F sama dengan nilai kebenaran G; dan bernilai
false kalau tidak.
Aturan if-then-else: if F then G else H sama dengan nilai
kebenaran G jika F bernilai true dan sama dengan nilai
kebenaran H jika F bernilai false.


CC 2010 Reza Pulungan Logika Informatika 22
Semantic Rules
Aturan-aturan tersebut dapat diungkapkan dengan tabel
kebenaran.
Aturan not:
F ¬F
true false
false true

Aturan and, or, if-then, if-and-only-if:


F G F ∧G F ∨G F =⇒ G F ⇐⇒ G
true true true true true true
true false false false false false
false true false false true false
false false false false true true


CC 2010 Reza Pulungan Logika Informatika 23
Semantic Rules

Aturan if-then-else:
F G H if F then G else H
true true true true
true true false true
true false true false
true false false false
false true true true
false true false false
false false true true
false false false false


CC 2010 Reza Pulungan Logika Informatika 24
Contoh
Perhatikan kalimat:

F = (P ∧ ¬Q) =⇒ (¬P ∨ R),

dan interpretasi I: 
 P ← true,
I: Q ← false,
R ← false.

Nilai kebenaran dari kalimat F dapat ditentukan sebagai


berikut:
(1) Karena Q bernilai false, maka (dari aturan not) ¬Q bernilai
true,
(2) Karena P bernilai true dan ¬Q bernilai true, maka (dari
aturan and) P ∧ ¬Q bernilai true,

CC 2010 Reza Pulungan Logika Informatika 25
Contoh

(3) Karena P bernilai true, maka (dari aturan not) ¬P bernilai


false,
(4) Karena ¬P bernilai false dan R bernilai false, maka (dari
aturan or) ¬P ∨ R bernilai false,
(5) Karena P ∧ ¬Q bernilai true dan ¬P ∨ R bernilai false,
maka (dari aturan if-then) (P ∧ ¬Q) =⇒ (¬P ∨ R) bernilai
false,
(6) Maka kalimat F bernilai false pada interpretasi I.


CC 2010 Reza Pulungan Logika Informatika 26
Karakteristik Kalimat
Karakteristik Kalimat

Definisi
Sebuah kalimat F adalah valid jika bernilai true pada
semua interpretasi untuk F. Kalimat-kalimat seperti ini
disebut juga dengan tautologi (tautology).
Sebuah kalimat F adalah satisfiable (terpenuhi) jika
bernilai true pada suatu interpretasi untuk F.
Sebuah kalimat F adalah contradictory (unsatisfiable) jika
bernilai false pada semua interpretasi untuk F.
Sebuah kalimat F implies (mengimplikasikan) kalimat G
jika, untuk semua interpretasi I untuk F dan G, jika F
bernilai true pada I, G juga bernilai true pada I.


CC 2010 Reza Pulungan Logika Informatika 28
Karakteristik Kalimat

Definisi
Dua kalimat F dan G adalah equivalent (ekuivalen) jika,
pada semua interpretasi untuk F dan G, F memiliki nilai
yang sama dengan G.
Sekumpulan kalimat-kalimat F1 , F2 , · · · adalah consistent
(konsisten) jika terdapat interpretasi untuk F1 , F2 , · · ·
sedemikian sehingga semua Fi bernilai true pada
interpretasi tersebut.


CC 2010 Reza Pulungan Logika Informatika 29
Contoh

Kalimat P adalah satisfiable,


Kalimat P ∨ ¬P adalah satisfiable dan valid,
Kalimat P ∧ ¬P adalah contradictory,
Kalimat P ∧ Q implies kalimat P ,
Dua kalimat P dan ¬(¬P ) adalah equivalent,
Dua kalimat P dan Q tidak equivalent,
Kalimat-kalimat P , P ∨ Q, dan ¬Q adalah consistent
(Interpretasi: P ← true; Q ← false),
Kalimat-kalimat P , ¬P , dan ¬Q adalah tidak consistent.


CC 2010 Reza Pulungan Logika Informatika 30

Anda mungkin juga menyukai