EKSPRESI REGULAR EKSPRESI REGULAR MATERI (1)
EKSPRESI REGULAR
MATERI MINGGU KE
KE--4
•
•
•
•
EKSPRESI REGULAR
Bahasa disebut reguler jika terdapat FSA yang dapat menerimanya.
Bahasa reguler dinyatakan secara sederhana dengan ekspresi reguler/regular
expression (RE).
Contoh penerapan : searching string pada file
RE -> NFA dengan e Move -> DFA
Definisi ekspresi reguler
1. Ø = {} = (himpunan kosong) adalah sebuah ekspresi regular
2. { ɛ } =string kosong adalah ekspresi regular
3. Untuk setiap a ϵ ∑, maka a adalah ekspresi regular
4. Jika a dan b adalah ekspresi regular maka a ∪ b , ab dan a* adalah ekspresi
regular.
“Ø yang melambangkan himpunan kosong, atau tidak punya anggota, sedangkan
{ ɛ } adalah himpunan yang memiliki satu anggota , yaitu string kosong.”
2
8 April 2015
Teori Bahasa dan Otomata
Notasi a ∪ b , ab dan a* adalah penyederhanaan notasi yang diperoleh dari notasi
asli sebagai berikut : Jika dimiliki himpunan A,B sebagai himpunan berikut :
• Ekspresi a ∪ b maksudnya :
A={a} dan B={b}
A ∪ B = gabungan/union antara himpunan A dengan himpunan B = {a,b}
Dinotasikan secara singkat sebagai : a ∪ b
• Ekspresi ab maksudnya :
A={a} dan B={b}
AB = CONCATENATION antara himpunan A dengan himpunan B = {ab}
Dinotasikan secara singkat sebagai : ab
• Ekspresi a* maksudnya :
A={a}
A* = CLEENE closure dari himpunan A, didefinisikan : A0 ∪ A1 ∪ A2 ∪....∪ A∞, yang
menghasilkan suatu himpunan : { ɛ , a, aa, aaa, aaaa, ….}, dinotasikan sebagai a*
3
8 April 2015
Teori Bahasa dan Otomata
Akibat Logis Ekspresi Reguler
Reguler,, berdasarkan Aturan
Aturan--Aturan dalam
Teori Himpunan
Himpunan,,
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
8 April 2015
a∪b=b∪a
a∪Ø=Ø∪a
a∪a=a
(a ∪ b) ∪ c = a ∪(b ∪ c)
aɛ = ɛa = a
aØ = Øa = Ø
(ab)c=a(bc)
a(b ∪ c)=ab ∪ ac = dan (a ∪ b)c = ac ∪ bc
a* = a** = a*a* = (ɛ ∪ a)*=a*(a ∪ ɛ) = (a ∪ ɛ)a* = ɛ ∪ aa*
aa*= a*a
Teori Bahasa dan Otomata
4
CONTOH
Ekspresikan dalam bentuk ekspresi reguler kalimat-kalimat berikut :
•
Sederatan NOL minimal nol buah
Ekspresinya : 0*
•
Sederatan NOL minimal satu buah
Ekspresinya : 00*
•
Sederetan NOL minimal satu buah diikuti sederetan SATU sebanyak satu buah
atau lebih
Ekspresinya : 00*11*
•
Sederetan bit NOL dan SATU sembarang yang diawali dengan NOL dan
diakhiri dengan SATU
Ekspresinya : 0(0,1)*1 atau ditulis : 0(0 ∪ 1)*1
•
Sederetan SATU dengan jumlah GENAP
Ekspresinya : 11(11)*
•
Sederetan NOL dengan jumlah GENAP diikuti sederetan SATU dengan jumlah
GANJIL
Ekspresinya : 00(00)*1(11)*
5
8 April 2015
Teori Bahasa dan Otomata
CONTOH
String apakah ekspresi-ekspresi regular berikut :
a. Ekspresi : (1,0)* → Sederetan bit NOL dan SATU dengan
jumlah sembarang dan susunan sembarang.
b. Ekspresi : (0,1)*1* → Sederetan bit NOL dan SATU dengan
jumlah sembarang urutan sembarang diikuti dengan deretan
bit SATU dengan jumlah nol atau lebih.
c. Ekspresi : (00)*(11)* → Deretan NOL kosong atau Genap
diikuti deretan SATU kosong atau genap.
a. Ekspresi : (11)* ∪ (00)* → String kosong atau berisi bit NOL
genap atau bit SATU genap dengan posisi sembarang
6
8 April 2015
Teori Bahasa dan Otomata
Bahasa Reguler
Apabila r adalah RE, maka L(r) adalah bahasa reguler yang dibentuk
menggunakan ekspressi reguler r.
Contoh :
Tentukan bahasa reguler yang dibentuk oleh r=(aa)*
Jawab
L(r) = L( (aa)* )
= { λ, aa, aaaa, aaaaaa, ... }
= {a2n | n ≥ 0 }
menyatakan himpunan string a dengan jumlah genap
7
8 April 2015
Teori Bahasa dan Otomata
•
•
•
CONTOH
Tentukan bahasa reguler yang dibentuk oleh r =(aa*)(bb)*b
Jawab :
L ( r ) = L((aa)*(bb)*b)
= { an b2m+1 | n, m ≥ 0}
Tentukan ekspresi reguler pembentuk bahasa pada S = {0,1}, yaitu
L(r) = { w ϵ ∑* | w memiliki substring ‘00’ }
Jawab :
r = (0+1)*00(0+1)*
Tentukan ekspresi reguler pembentuk bahasa pada ∑ = {a,b}, yaitu
L(r) = { abnw | n ≥ 3 , w ϵ {a , b}+ }
Jawab :
r = abbb(a+b)(a+b)*
8 April 2015
Teori Bahasa dan Otomata
8
Sifat Bahasa Reguler
•
•
Tertutup terhadap operasi himpunan sederhana
Jika L1 dan L2 adalah bahasa reguler, maka L1 U L2
L1 ∩ L2, L1L2, ~ (L1) dan L1* adalah bahasa reguler juga
Tertutup terhadap homomorphic image
Jika L1 adalah bahasa reguler, maka homomorphic image h(L1) adalah bahasa
reguler juga.
Dimisalkan ∑ dan ᴦ adalah alfabet, maka fungsi homomorphic dinyatakan denganh :
∑→ᴦ
jika w = a1 a2 ... an
maka h(w) = h(a1) h(a2 ) ... h(an)
Jika L adalah bahasa pada ∑ maka homomorphic image bahasa L adalah
h(L)= { h(w) | w ϵ L}
9
8 April 2015
Teori Bahasa dan Otomata
CONTOH
•
•
•
Dimisalkan ∑ = {a,b} dan ᴦ = {a,b,c} dan didefinisikan h(a) = ab dan
h(b) =bbc homomorphic image bahasa L = {aa,aba } adalah
h(L)= { abab, abbbcab}
Dimisalkan ∑= {a,b} dan
h(b) =bdc
ᴦ = {b,c,d} dan didefinisikan h(a) = dbcc dan
homomorphic image bahasa L(r) yang dibentuk dari ekspresi reguler
r = (a+b*)(aa)* adalah h(L(r)) yang dibentuk dengan ekspresi reguler
r = (dbcc + (bdc)*) (dbccdbcc)*
10
8 April 2015
Teori Bahasa dan Otomata
Hubungan RE dan NFA
11
8 April 2015
Teori Bahasa dan Otomata
Hubungan RE dan NFA
12
8 April 2015
Teori Bahasa dan Otomata
Ekuivalensi NFA, DFA, dan RG
• DFA bisa dibentuk dari NFA.
• RG bisa dibentuk dari DFA.
• NFA bisa dibentuk dari RG
NFA
DFA
RG
13
8 April 2015
Teori Bahasa dan Otomata
Pembentukan DFA dari NFA
1.
2.
3.
4.
5.
6.
Diberikan sebuah NFA F = (K, VT, M, S, Z). Akan dibentuk sebuah
DFA F’ = (K’, V ’, M’, S’, Z’) dari NFA F tersebut. Algoritma
pembentukannya adalah sbb. :
Tetapkan : S’ = S dan VT’ = VT
Copykan tabel NFA F sebagai tabel DFA F’. Mula-mula K’ = K dan
M’ = M
Setiap stata q yang merupakan nilai (atau peta) dari fungsi M
dan q K, ditetapkan sebagai elemen baru dari K’. Tempatkan q
tersebut pada kolom Stata M’, lakukan pemetaan berdasarkan
fungsi M.
Ulangi langkah (3) sampai tidak diperoleh stata baru.
Elemen Z’ adalah semua stata yang mengandung stata elemen Z.
8 April 2015
14
Teori Bahasa dan Otomata
CONTOH
Berikut ini diberikan sebuah NFA F = (K, V , M, S, Z) dengan :
K = {A, B, C}, VT = {a, b}, S = A, Z = {C}, dan M didefinisikan sebagai
berikut :
STATA K NFA F
Input
a
b
A
[A,B]
C
B
A
B
C
B
[A,B]
Tentukan DFA hasil transformasinya !
15
8 April 2015
Teori Bahasa dan Otomata
Jawab:
Berdasarkan algoritma di atas, maka :
1.
S’ = S = A, VT’ = VT = {a, b}.
2.
Hasil copy tabel NFA F menghasilkan tabel DFA F’ berikut :
STATA K’ NFA F’
3.
Input
a
b
A
[A,B]
C
B
A
B
C
B
[A,B]
Pada tabel DFA F’ di atas terdapat stata baru yaitu [A,B]. Pemetaan [A,B] adalah :
M([A,B],a) = M(A,a) ∪ M(B,a) = [A,B] ∪ A = [A,B], dan M([A,B],b) = M(A,b) ∪ M(B,b)
= C ∪ B = [B,C], sehingga diperoleh tabel berikut :
STATA K’ NFA F’
8 April 2015
Input
a
b
A
[A,B]
C
B
A
B
C
B
[A,B]
[A,B]
[A,B]
[B,C]
Teori Bahasa dan Otomata
16
4.
Langkah (3) di atas menghasilkan stata baru yaitu [B,C]. Setelah pemetaan terhadap
[B,C] diperoleh tabel berikut :
STATA K’ NFA F’
Input
a
b
A
[A,B]
C
B
A
B
C
B
[A,B]
[A,B]
[A,B]
[B,C]
[B,C]
[A,B]
[A,B]
5. Setelah langkah (4) di atas tidak terdapat lagi stata baru.
Dengan demikian DFA F’ yang dihasilkan adalah : DFA F’ = (K’, VT’, M’, S’, Z’), dimana : K’ =
{A, B, C, [A,B], [B,C]}, VT’ = {a, b}, S’ = A, Z’ = {C, [B,C]}. Fungsi transisi M’ serta Graf dari
DFA F’ adalah sebagai berikut :
17
8 April 2015
Teori Bahasa dan Otomata
Pembentukan RG dari DFA
Diketahui sebuah DFA F = (K, VT, M, S, Z). Akan dibentuk
RG G = (VT’,VN, S’, Q).
Algoritma pembentukan RG dari DFA adalah sebagai berikut :
• Tetapkan VT’ = VT, S’ = S, VN = S
• Jika Ap, Aq ϵ K dan a ϵ VT, maka :
M(Ap, a) = A ekuivalen dengan produksi A p aA q , jika A q Z
A p a, jika A q Z
18
8 April 2015
Teori Bahasa dan Otomata
CONTOH
Diketahui sebuah DFA F dengan Z = {S} dan fungsi transisi M sebagai berikut :
Dengan algoritma di atas maka diperoleh Q(RG)sbb. :
M(S,0) = B S 0B
STATA K DFA
INPUT
F
M(S,1) = A S 1A
0
1
M(A,0) = C A 0C
S
B
A
M(A,1) = S A 1
A
C
S
M(B,0) = S B 0
M(B,1) = C B 1C
B
S
C
M(C,0) = A C 0A
C
A
B
M(C,1) = B C 1B
RG yang dihasilkan adalah G(VT’, VN, S’, Q), dengan VT’ = {0,1}, VN = {S, A, B, C},
S’ = S, dan Q = {S 0B, S 1A, A 0C, B 1C, C 0A, C 1B,
A 1, B 0}
8 April 2015
Teori Bahasa dan Otomata
19
Pembentukan NFA dari RG
Diketahui RG G = (VT, VN, S, Q). Akan dibentuk NFA F = (K, VT’, M, S’, Z).
Algoritma pembentukan NFA dari RG :
1. Tetapkan VT’ = VT, S’ = S, K = VN
2. Produksi Ap a Aq ekuivalen dengan M(Ap, a) = Aq
Produksi Ap a ekuivalen dengan M(Ap , a) = X, dimana X V
3. K = K ∪ {X}
4. Z = {X}
20
8 April 2015
Teori Bahasa dan Otomata
CONTOH
Diketahui RG G = (VT, VN , S, Q) dengan : VT = {a, b}, VN = {S, A, B}, S = S, dan Q = {S
aS, S bA, A aA, A aB, B b}
Tabel M :
STATA K
NFA F
a
b
S
S
A
A
[A,B]
B
⌽
⌽
X
INPUT
⌽
X
⌽
Terapkan algoritma di atas untuk memperoleh NFA F sebagai berikut :
1. VT’ = VT = {a, b}, S’ = S, K = VN = {S, A, B}
2. S aS M(S,a) = S, S bA M(S,b) = A,
A aA M(A,a) = A, A aB M(A,a) = B,
B b M(B,b) = X
NFA yang diperoleh : F(K, VT’, M, S’, Z), dengan K = {S, A, B, X}, VT’ = {a, b}, S’ = S, Z
= {X},
21
8 April 2015
Teori Bahasa dan Otomata
Ekuivalensi NFA
NFA-- Dengan ER (Ekspresi
(Ekspresi Regular)
22
8 April 2015
Teori Bahasa dan Otomata
CONTOH
Tentukan NFA untuk ekspresi regular r = 0(1 23)*
Jawab :
r1 = 0
r2 = 1
r3= 23
r4= r2 r3 = 1 23
23
8 April 2015
Teori Bahasa dan Otomata
CONTOH
r5= r4* = (1 23)*
r = r5= 0(1 23)*
24
8 April 2015
Teori Bahasa dan Otomata
TERIMAKASIH
Lilis Setyowati
25
8 April 2015
Teori Bahasa dan Otomata
MATERI MINGGU KE
KE--4
•
•
•
•
EKSPRESI REGULAR
Bahasa disebut reguler jika terdapat FSA yang dapat menerimanya.
Bahasa reguler dinyatakan secara sederhana dengan ekspresi reguler/regular
expression (RE).
Contoh penerapan : searching string pada file
RE -> NFA dengan e Move -> DFA
Definisi ekspresi reguler
1. Ø = {} = (himpunan kosong) adalah sebuah ekspresi regular
2. { ɛ } =string kosong adalah ekspresi regular
3. Untuk setiap a ϵ ∑, maka a adalah ekspresi regular
4. Jika a dan b adalah ekspresi regular maka a ∪ b , ab dan a* adalah ekspresi
regular.
“Ø yang melambangkan himpunan kosong, atau tidak punya anggota, sedangkan
{ ɛ } adalah himpunan yang memiliki satu anggota , yaitu string kosong.”
2
8 April 2015
Teori Bahasa dan Otomata
Notasi a ∪ b , ab dan a* adalah penyederhanaan notasi yang diperoleh dari notasi
asli sebagai berikut : Jika dimiliki himpunan A,B sebagai himpunan berikut :
• Ekspresi a ∪ b maksudnya :
A={a} dan B={b}
A ∪ B = gabungan/union antara himpunan A dengan himpunan B = {a,b}
Dinotasikan secara singkat sebagai : a ∪ b
• Ekspresi ab maksudnya :
A={a} dan B={b}
AB = CONCATENATION antara himpunan A dengan himpunan B = {ab}
Dinotasikan secara singkat sebagai : ab
• Ekspresi a* maksudnya :
A={a}
A* = CLEENE closure dari himpunan A, didefinisikan : A0 ∪ A1 ∪ A2 ∪....∪ A∞, yang
menghasilkan suatu himpunan : { ɛ , a, aa, aaa, aaaa, ….}, dinotasikan sebagai a*
3
8 April 2015
Teori Bahasa dan Otomata
Akibat Logis Ekspresi Reguler
Reguler,, berdasarkan Aturan
Aturan--Aturan dalam
Teori Himpunan
Himpunan,,
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
8 April 2015
a∪b=b∪a
a∪Ø=Ø∪a
a∪a=a
(a ∪ b) ∪ c = a ∪(b ∪ c)
aɛ = ɛa = a
aØ = Øa = Ø
(ab)c=a(bc)
a(b ∪ c)=ab ∪ ac = dan (a ∪ b)c = ac ∪ bc
a* = a** = a*a* = (ɛ ∪ a)*=a*(a ∪ ɛ) = (a ∪ ɛ)a* = ɛ ∪ aa*
aa*= a*a
Teori Bahasa dan Otomata
4
CONTOH
Ekspresikan dalam bentuk ekspresi reguler kalimat-kalimat berikut :
•
Sederatan NOL minimal nol buah
Ekspresinya : 0*
•
Sederatan NOL minimal satu buah
Ekspresinya : 00*
•
Sederetan NOL minimal satu buah diikuti sederetan SATU sebanyak satu buah
atau lebih
Ekspresinya : 00*11*
•
Sederetan bit NOL dan SATU sembarang yang diawali dengan NOL dan
diakhiri dengan SATU
Ekspresinya : 0(0,1)*1 atau ditulis : 0(0 ∪ 1)*1
•
Sederetan SATU dengan jumlah GENAP
Ekspresinya : 11(11)*
•
Sederetan NOL dengan jumlah GENAP diikuti sederetan SATU dengan jumlah
GANJIL
Ekspresinya : 00(00)*1(11)*
5
8 April 2015
Teori Bahasa dan Otomata
CONTOH
String apakah ekspresi-ekspresi regular berikut :
a. Ekspresi : (1,0)* → Sederetan bit NOL dan SATU dengan
jumlah sembarang dan susunan sembarang.
b. Ekspresi : (0,1)*1* → Sederetan bit NOL dan SATU dengan
jumlah sembarang urutan sembarang diikuti dengan deretan
bit SATU dengan jumlah nol atau lebih.
c. Ekspresi : (00)*(11)* → Deretan NOL kosong atau Genap
diikuti deretan SATU kosong atau genap.
a. Ekspresi : (11)* ∪ (00)* → String kosong atau berisi bit NOL
genap atau bit SATU genap dengan posisi sembarang
6
8 April 2015
Teori Bahasa dan Otomata
Bahasa Reguler
Apabila r adalah RE, maka L(r) adalah bahasa reguler yang dibentuk
menggunakan ekspressi reguler r.
Contoh :
Tentukan bahasa reguler yang dibentuk oleh r=(aa)*
Jawab
L(r) = L( (aa)* )
= { λ, aa, aaaa, aaaaaa, ... }
= {a2n | n ≥ 0 }
menyatakan himpunan string a dengan jumlah genap
7
8 April 2015
Teori Bahasa dan Otomata
•
•
•
CONTOH
Tentukan bahasa reguler yang dibentuk oleh r =(aa*)(bb)*b
Jawab :
L ( r ) = L((aa)*(bb)*b)
= { an b2m+1 | n, m ≥ 0}
Tentukan ekspresi reguler pembentuk bahasa pada S = {0,1}, yaitu
L(r) = { w ϵ ∑* | w memiliki substring ‘00’ }
Jawab :
r = (0+1)*00(0+1)*
Tentukan ekspresi reguler pembentuk bahasa pada ∑ = {a,b}, yaitu
L(r) = { abnw | n ≥ 3 , w ϵ {a , b}+ }
Jawab :
r = abbb(a+b)(a+b)*
8 April 2015
Teori Bahasa dan Otomata
8
Sifat Bahasa Reguler
•
•
Tertutup terhadap operasi himpunan sederhana
Jika L1 dan L2 adalah bahasa reguler, maka L1 U L2
L1 ∩ L2, L1L2, ~ (L1) dan L1* adalah bahasa reguler juga
Tertutup terhadap homomorphic image
Jika L1 adalah bahasa reguler, maka homomorphic image h(L1) adalah bahasa
reguler juga.
Dimisalkan ∑ dan ᴦ adalah alfabet, maka fungsi homomorphic dinyatakan denganh :
∑→ᴦ
jika w = a1 a2 ... an
maka h(w) = h(a1) h(a2 ) ... h(an)
Jika L adalah bahasa pada ∑ maka homomorphic image bahasa L adalah
h(L)= { h(w) | w ϵ L}
9
8 April 2015
Teori Bahasa dan Otomata
CONTOH
•
•
•
Dimisalkan ∑ = {a,b} dan ᴦ = {a,b,c} dan didefinisikan h(a) = ab dan
h(b) =bbc homomorphic image bahasa L = {aa,aba } adalah
h(L)= { abab, abbbcab}
Dimisalkan ∑= {a,b} dan
h(b) =bdc
ᴦ = {b,c,d} dan didefinisikan h(a) = dbcc dan
homomorphic image bahasa L(r) yang dibentuk dari ekspresi reguler
r = (a+b*)(aa)* adalah h(L(r)) yang dibentuk dengan ekspresi reguler
r = (dbcc + (bdc)*) (dbccdbcc)*
10
8 April 2015
Teori Bahasa dan Otomata
Hubungan RE dan NFA
11
8 April 2015
Teori Bahasa dan Otomata
Hubungan RE dan NFA
12
8 April 2015
Teori Bahasa dan Otomata
Ekuivalensi NFA, DFA, dan RG
• DFA bisa dibentuk dari NFA.
• RG bisa dibentuk dari DFA.
• NFA bisa dibentuk dari RG
NFA
DFA
RG
13
8 April 2015
Teori Bahasa dan Otomata
Pembentukan DFA dari NFA
1.
2.
3.
4.
5.
6.
Diberikan sebuah NFA F = (K, VT, M, S, Z). Akan dibentuk sebuah
DFA F’ = (K’, V ’, M’, S’, Z’) dari NFA F tersebut. Algoritma
pembentukannya adalah sbb. :
Tetapkan : S’ = S dan VT’ = VT
Copykan tabel NFA F sebagai tabel DFA F’. Mula-mula K’ = K dan
M’ = M
Setiap stata q yang merupakan nilai (atau peta) dari fungsi M
dan q K, ditetapkan sebagai elemen baru dari K’. Tempatkan q
tersebut pada kolom Stata M’, lakukan pemetaan berdasarkan
fungsi M.
Ulangi langkah (3) sampai tidak diperoleh stata baru.
Elemen Z’ adalah semua stata yang mengandung stata elemen Z.
8 April 2015
14
Teori Bahasa dan Otomata
CONTOH
Berikut ini diberikan sebuah NFA F = (K, V , M, S, Z) dengan :
K = {A, B, C}, VT = {a, b}, S = A, Z = {C}, dan M didefinisikan sebagai
berikut :
STATA K NFA F
Input
a
b
A
[A,B]
C
B
A
B
C
B
[A,B]
Tentukan DFA hasil transformasinya !
15
8 April 2015
Teori Bahasa dan Otomata
Jawab:
Berdasarkan algoritma di atas, maka :
1.
S’ = S = A, VT’ = VT = {a, b}.
2.
Hasil copy tabel NFA F menghasilkan tabel DFA F’ berikut :
STATA K’ NFA F’
3.
Input
a
b
A
[A,B]
C
B
A
B
C
B
[A,B]
Pada tabel DFA F’ di atas terdapat stata baru yaitu [A,B]. Pemetaan [A,B] adalah :
M([A,B],a) = M(A,a) ∪ M(B,a) = [A,B] ∪ A = [A,B], dan M([A,B],b) = M(A,b) ∪ M(B,b)
= C ∪ B = [B,C], sehingga diperoleh tabel berikut :
STATA K’ NFA F’
8 April 2015
Input
a
b
A
[A,B]
C
B
A
B
C
B
[A,B]
[A,B]
[A,B]
[B,C]
Teori Bahasa dan Otomata
16
4.
Langkah (3) di atas menghasilkan stata baru yaitu [B,C]. Setelah pemetaan terhadap
[B,C] diperoleh tabel berikut :
STATA K’ NFA F’
Input
a
b
A
[A,B]
C
B
A
B
C
B
[A,B]
[A,B]
[A,B]
[B,C]
[B,C]
[A,B]
[A,B]
5. Setelah langkah (4) di atas tidak terdapat lagi stata baru.
Dengan demikian DFA F’ yang dihasilkan adalah : DFA F’ = (K’, VT’, M’, S’, Z’), dimana : K’ =
{A, B, C, [A,B], [B,C]}, VT’ = {a, b}, S’ = A, Z’ = {C, [B,C]}. Fungsi transisi M’ serta Graf dari
DFA F’ adalah sebagai berikut :
17
8 April 2015
Teori Bahasa dan Otomata
Pembentukan RG dari DFA
Diketahui sebuah DFA F = (K, VT, M, S, Z). Akan dibentuk
RG G = (VT’,VN, S’, Q).
Algoritma pembentukan RG dari DFA adalah sebagai berikut :
• Tetapkan VT’ = VT, S’ = S, VN = S
• Jika Ap, Aq ϵ K dan a ϵ VT, maka :
M(Ap, a) = A ekuivalen dengan produksi A p aA q , jika A q Z
A p a, jika A q Z
18
8 April 2015
Teori Bahasa dan Otomata
CONTOH
Diketahui sebuah DFA F dengan Z = {S} dan fungsi transisi M sebagai berikut :
Dengan algoritma di atas maka diperoleh Q(RG)sbb. :
M(S,0) = B S 0B
STATA K DFA
INPUT
F
M(S,1) = A S 1A
0
1
M(A,0) = C A 0C
S
B
A
M(A,1) = S A 1
A
C
S
M(B,0) = S B 0
M(B,1) = C B 1C
B
S
C
M(C,0) = A C 0A
C
A
B
M(C,1) = B C 1B
RG yang dihasilkan adalah G(VT’, VN, S’, Q), dengan VT’ = {0,1}, VN = {S, A, B, C},
S’ = S, dan Q = {S 0B, S 1A, A 0C, B 1C, C 0A, C 1B,
A 1, B 0}
8 April 2015
Teori Bahasa dan Otomata
19
Pembentukan NFA dari RG
Diketahui RG G = (VT, VN, S, Q). Akan dibentuk NFA F = (K, VT’, M, S’, Z).
Algoritma pembentukan NFA dari RG :
1. Tetapkan VT’ = VT, S’ = S, K = VN
2. Produksi Ap a Aq ekuivalen dengan M(Ap, a) = Aq
Produksi Ap a ekuivalen dengan M(Ap , a) = X, dimana X V
3. K = K ∪ {X}
4. Z = {X}
20
8 April 2015
Teori Bahasa dan Otomata
CONTOH
Diketahui RG G = (VT, VN , S, Q) dengan : VT = {a, b}, VN = {S, A, B}, S = S, dan Q = {S
aS, S bA, A aA, A aB, B b}
Tabel M :
STATA K
NFA F
a
b
S
S
A
A
[A,B]
B
⌽
⌽
X
INPUT
⌽
X
⌽
Terapkan algoritma di atas untuk memperoleh NFA F sebagai berikut :
1. VT’ = VT = {a, b}, S’ = S, K = VN = {S, A, B}
2. S aS M(S,a) = S, S bA M(S,b) = A,
A aA M(A,a) = A, A aB M(A,a) = B,
B b M(B,b) = X
NFA yang diperoleh : F(K, VT’, M, S’, Z), dengan K = {S, A, B, X}, VT’ = {a, b}, S’ = S, Z
= {X},
21
8 April 2015
Teori Bahasa dan Otomata
Ekuivalensi NFA
NFA-- Dengan ER (Ekspresi
(Ekspresi Regular)
22
8 April 2015
Teori Bahasa dan Otomata
CONTOH
Tentukan NFA untuk ekspresi regular r = 0(1 23)*
Jawab :
r1 = 0
r2 = 1
r3= 23
r4= r2 r3 = 1 23
23
8 April 2015
Teori Bahasa dan Otomata
CONTOH
r5= r4* = (1 23)*
r = r5= 0(1 23)*
24
8 April 2015
Teori Bahasa dan Otomata
TERIMAKASIH
Lilis Setyowati
25
8 April 2015
Teori Bahasa dan Otomata