Anda di halaman 1dari 20

THEOREMA KLEENE

PERTEMUAN 4

yunhix@yahoo.com
loonhixq.blogspot.com
Teknik Informatika
Universitas Trunojoyo
THEOREMA KLEENE 1
 Suatu bahasa yang didefinisikan
melalui Regular Expression (RE)
mempunyai bahasa ekuivalen yang
digambarkan dalam bentuk Finite
Automata (FA), begitu juga sebaliknya
Menggambarkan FA dari RE

1. RE = (a+b)*a
2. RE = (a+b)+
3. RE = b+
Menggambarkan FA dari RE
a
a
1 y0 y1
b

a
a
2 y0 y1
b
b

b
b
3 y0 y1
Dapatkan RE dari FA
b
a
1 y0 y1
b
a

b
b
2 y0 y1
a a
y2
b
a
b
b b
3 y0 y1 y3
Menggambarkan FA dari RE

1. RE = (a+b)*a
2. RE = b+
3. RE = bb+
THEOREMA KLEENE 2
 PENGGABUNGAN (+) DUA FA
 Jika terdapat FA1 yang mewakili
bahasa dengan RE=r1 dan terdapat
FA2 yang mewakili bahasa dengan
RE=r2, maka dapat dibuat FA3 yang
mewakili bahasa dengan RE = r1 + r2
Contoh Penggabungan
b
a
a b
FA1 x1 x2 FA2 y1 y2
b a
a b

 FA1 = menerima semua string yang diakhiri


dengan a  RE = r1 = (a+b)*a
 FA2 = menerima semua string yang diakhiri
dengan b  RE = r2 = (a+b)*b
 Jika 2 FA ini digabungkan sesuai
Theorema Kleene 2 maka akan
didapat FA3 dimana merupakan hasil
penggabungan
 FA3 = FA1 + FA2
LANGKAH PENGGABUNGAN

1. Gabungkan State Awal FA1 dan FA2


2. Buat Tabel Transisi untuk FA3

State a b
(X1+Y1)Z1 (X2+Y1)Z2 (X1+Y2)Z3
(X2+Y1)Z2 (X2+Y1)Z2 (X1+Y2)Z3
(X1+Y2)Z3 (X2+Y1)Z2 (X1+Y2)Z3
LANGKAH PENGGABUNGAN

1. Penentuan State Awal pada FA3


dengan memilih Hasil Penggabungan
yang mengandung state awal FA1 dan
state awal FA2  Z1
2. Penetuan State Akhir pada FA3
dengan memilih Hasil Penggabungan
yang mengandung state akhir FA1
atau state akhir FA2  Z2, Z3
LANGKAH PENGGABUNGAN
1. Gambarkan FA3 sesuai informasi yang didapat
pada langkah sebelumnya a
z1 a z2

b a b

z3 b

FA3 = menerima semua string yang diterima FA1


maupun FA2
RE3 = RE2 + RE1
r1 = (a+b)*a + (a+b)*b
THEOREMA KLEENE 3
 PENYAMBUNGAN (*) DUA FA
 Jika terdapat FA1 yang mewakili
bahasa dengan RE=r1 dan terdapat
FA2 yang mewakili bahasa dengan
RE=r2, maka dapat dibentuk FA3 yang
merupakan penyambungan
(concatenation) FA1 dan FA2 yang
mewakili bahasa = r1.r2
THEOREMA KLEENE 3
 FA1: semua string yang a
b
FA1 x1 x3 a
diawali oleh a b
 RE1: a(a+b)* x2
b
a
 FA2: semua string yang a
diakhiri oleh b FA2 y1
b
y2
a
 RE2: (a+b)*b b

 FA3 = FA1 . FA2


 r3 = r1· r2
LANGKAH PENYAMBUNGAN

1. Gabungkan gambar 2 FA

a
b λ
a b
x1 x3 y1 y2
a
b a b
x2
b
a
LANGKAH PENYAMBUNGAN

1. Buat Tabel Transisi untuk FA3


State a b
X1 = Z1 (-) X3Y1 = Z2 X2 = Z3
X3Y1 = Z2 X3Y1 = Z2 X3Y1Y2 = Z4
X2 = Z3 X2 = Z3 X2 = Z3
X3Y1Y2 = Z4 (+) X3Y1 = Z2 X3Y1Y2 = Z4
LANGKAH PENYAMBUNGAN

1. Penentuan State Awal pada FA3


dengan memilih State awal FA yang
pertama
2. Penetuan State Akhir pada FA3
didapat dari State FA3 yang
mengandung state akhir FA kedua
LANGKAH PENYAMBUNGAN
1. Gambarkan FA3 sesuai informasi yang
didapat pada langkah sebelumnya
a
b
b
z1 a z2 z4
a
b

a z3 b

FA3 = Menerima semua string yang


diawali oleh a dan diakhiri b
NFA vs DFA
a b

a a
1 y0 y1 1 y0 y1
b b
a

b
b b
b 2 y0 y1
2 y0 y1
a a
y2
b
a
b b
b b b b
3 y0 y1 y3 3 y0 y1 y3
a a a

a y2 b
Tugas individu

1. Jelaskan definisi NFA dan DFA!


2. Jelaskan perbedaan antara NFA dan DFA!
3. Dukung penjelasan dari soal nomor 2
dengan menggunakan contoh-contoh FA,
masing2 minimal 3. (Beri penjelasan jika
diperlukan)
4. Kirim sbg file attachment via email, paling
lambat 24 Sept 2009

Anda mungkin juga menyukai