BAHASA
Meeting 2
Teori Bahasa
Sifat-sifat Otomata :
1. Kelakuan mesin otomata bergantung pada rangkaian input yang diterima
mesin tersebut.
2. Setiap saat berada pada status tertentu, dan dapat pindah ke status baru
karena perubahan input.
Hubungan antara Bahasa formal dan otomata
Misalnya: B→CDeFg
D→BcDe
Hirarki Chomsky (9)
4. Regular / Tipe 3
Pada bahasa reguler, batasannya bertambah dengan ruas kanan maks
memiliki sebuah simbol variabel yg terletak di paling kanan.
Artinya bisa memiliki simbol terminal saja dalam jumlah tidak dibatasi,
tetapi bila terdapat simbol variabel, maka simbol variabel tsb hanya
berjumlah satu dan terletak diposisi paling kanan.
Misalnya: A→e
A→efg
A→efgH
C→D
Keterkaitan Bahasa
Otomata Hingga
• State-state dari DFA pada gambar c diberi label oleh pasangan dari state-
state dari automata dalam gambar a dan b.
1
1 0,1
start 1
start 0 pr ps
p q
0 0
(a)
0 0,1
1
qr qs
start 1
r s
0 0,1
(b) (c)
d. Closure pada beda
• Dalam istilah bahasa, L M, beda dari L dan M,
adalah himpunan string-string yang ada dalam bahasa
L tetapi tidak dalam bahasa M.
• Bahasa regular juga tertutup pada operasi beda
himpunan.
Teorema 5:
• Jika L dan M adalah bahasa regular, maka demikian
juga dengan L M.
Reversal (1)
• Reversal dari sebuah string a1a2...an adalah string yang
ditulis terbalik, bahwa, anan1...a1.
• Notasi wR digunakan untuk reversal dari string w.
Contoh: 0010R adalah 0100, dan R = .
• Reversal dari bahasa L, ditulis LR, adalah bahasa yang
terdiri dari reversal dari semua stringnya.
Contoh, jika L = {001, 10, 111},
maka LR = {100, 01, 111}.
Reversal (2)
Teorema 6:
• Jika L adalah bahasa regular, maka demikian
juga dengan LR.
• Pembuktian pernyataan ini dapat dilakukan
dengan dua cara: menggunakan automata dan
ekspresi regular.
Reversal (3)
• Diberikan sebuah bahasa L yaitu L(A) untuk suatu finite
automaton, bisa berupa non determistik atau -transition,
konstruksi automaton untuk LR dilakukan sebagai berikut:
– Reverse semua arc dalam diagram transisi untuk A.
– Buatlah start state dari A menjadi accepting state dari automaton yang
baru.
– Buatlah start state yang baru p0 dengan transisi pada ke semua
accepting state dari A.
• Hasilnya adalah sebuah automaton yang mensimulasi A “in
reverse”
menerima sebuah string w jika dan hanya jika A menerima
wR.
Contoh 4
• Misalkan L didefinisikan oleh ekspresi regular
(0 + 1)0*
• Maka LR adalah bahasa dari (0*)R(0 + 1)R, dengan
menggunakan aturan perangkaian.
• Jika aturan untuk closure dan gabungan digunakan
untuk dua bagian ini, dan kemudian digunakan aturan
basis yang menyatakan bahwa reversal dari 0 dan 1
adalah tetap, didapatkan bahwa LR memiliki ekspresi
regular 0*(0 + 1).
Homomorphism (1)
• Sebuah homomorphism string adalah sebuah fungsi pada string
yang bekerja dengan mensubtitusikan sebuah string tertentu
untuk setiap simbol.
Contoh 5:
• Fungsi h didefinisikan oleh h(0) = ab dan h(1) = adalah
homomorphism.
• Diberikan string dari para 0 dan para 1, homomorphism
mengganti semua para 0 oleh string ab dan menggantikan
semua para 1 dengan string kosong.
• Sebagai contoh, h yang diaplikasikan ke string 0011 adalah
abab.
Homomorphism (2)
• Jika h adalah sebuah homomorphism pada alphabet ,
dan w = a1a2... an adalah sebuah string dari simbol
pada , maka
h(w) = h(a1)h(a2)... h(an).
h diaplikasikan ke setiap simbol dari w dan
merangkai hasilnya, sesuai dengan urutan simbol-
simbol pada w.
• Contoh, jika h adalah homomorphism dalam Contoh
5, dan w = 0011, maka
h(w) = h(0)h(0)h(1)h(1) = (ab)(ab)()() = abab.
Homomorphism (3)
• Homomorphism dapat diaplikasikan ke sebuah bahasa dengan
mengaplikasikannya ke setiap string dalam bahasa.
Bahwa, jika L adalah bahasa pada alphabet , dan h adalah
homomorphism pada , maka
h(L) = {h(w) | w adalah dalam L}.
• Contoh: jika L adalah bahasa dari ekspresi regular 10*1, yaitu
sejumlah para 0 yang dilingkupi oleh satu buah simbol 1,
maka h(L) adalah bahasa (ab)*.
• Homomorphism h pada Contoh 5 menggantikan para 1 dengan
, dan menggantikan 0 dengan ab.
Homomorphism (4)
Teorema 7:
• Jika L adalah bahasa reguler pada alphabet ,
dan h adalah homomorphism pada , maka
h(L) juga regular.
Bukti: dapat dilihat pada buku rujukan
Otomata Hingga (2)
Otomata Hingga dinyatakan oleh
Setiap otomaton:
- mempunyai tepat satu S
- mempunyai satu F atau lebih
Otomata Hingga (3)
Otomata
Hingga
Otomata
Otomata yang dapat berada di
Hingga Non-
beberapa State tertentu setelah
Deterministik
membaca sembarang baris input
Otomata Hingga Deterministik
DFA Deterministic Finite Automata
• Contoh DFA
a b
b b
q0 q1 q2
a
b
a a b
b b
q0 q1 q2
a
Diketahui Konfigurasi DFA di atas :
Q = {q0, q1, q2}
= {a, b}
S = q0
F = {q2}
Tabel Transisi
Fungsi Transisi
a b
(q0 , a) = q0 ; (q0 , b) = q1
(q1 , a) = q1 ; (q1 , b) = q2 atau
(q2 , a) = q1 ; (q2 , b) = q2
q0 q0 q1
q1 q1 q2
q q q
Otomata Hingga Deterministik
DFA Deterministic Finite Automata
Suatu string x diterima oleh otomata atau berada
dalam L(M) jika (q0 , x) berada pada state akhir.
Contoh 2.3
Pada otomata berikut, tentukan apakah string
‘abb’, dan ‘baba’ berada dalam L(M).
Penyelesaian: a a b
b b
q0 q1 q2
a
Otomata Hingga Deterministik
DFA Deterministic Finite Automata
(q0 , abb) = (q0 , bb) = (q1 , b) = q2
Karena q2 adalah state akhir maka ‘abb’ berada dalam L(M)
(q0 , baba) = (q1 , aba) = (q1 , ba) = (q2 , a) = q1
Karena q1 bukan state akhir maka ‘baba’ tidak berada dalam L(M)
a a b
b b
q0 q1 q2
a
Otomata Hingga Non-Deterministik
NFA Non-Deterministic Finite Automata
Contoh 2.4
Otomata Hingga Non-Deterministik (NFA)
a a, b
a, b
q0 q1
Otomata Hingga Non-Deterministik
NFA Non-Deterministic Finite Automata
a a, b Penyederhanaan Jalur
a, b q1
q0
b a
a
a q1
q0
b
Otomata Hingga Non-Deterministik
NFA Non-Deterministic Finite Automata
a a, b
a, b q1
q0
Konfigurasi NFA diatas adalah sebagai berikut.
Q = {q0, q1} ; = {a, b} ; S = q0 ; F = {q1}
b a
a q1
q0
a
a
b
q2
a
Konfigurasi NFA diatas adalah sebagai berikut.
Q = {q0, q1, q2} ; = {a, b} ; S = q0 ; F = {q1}
NFA Non-Deterministic Finite Automata
Fungsi Transisi
Tabel Transisi
a b
a q1
q0
b
Tabel Transisi
a b
q0 {q1}
q1 {q1} {q0}
REDUKSI
atau
q w w t
F q
w atau w
p p
REDUKSI
w
p r
Reduksi STATE pada DFA (1)
Cara untuk mereduksi jumlah state pada DFA
adalah dengan melakukan kombinasi state yang
“dapat dibedakan” (distinguishable).
1 0 1
q3
REDUKSI
Dari otomata dapat dibuat pasangan state:
q1
0 1 0,1
0 0
q0 1 q4
q2
1 0 1
0 0,1
q3
0, 1 q123 1
q0 q4
Latihan Kumpulkan…!!!
1. Gambarkan NFA yang memenuhi:
Fungsi Transisi
0 1
q1 {q2}
q2 {q2} {q2}
Latihan Kumpulkan…!!!
2. Lakukan reduksi jumlah state pada DFA berikut.
q1 1 q3
0
1 0,1
q0
0
1 1
q2 1 q4 q5
0 0,1
TERIMA KASIH
SEMOGA BERMANFAAT