Anda di halaman 1dari 15

STUDI KASUS GRAMMER, FA, DAN REGULAR EXPRESSION

MELAKUKAN KONVERSI ANTARA EKSPRESI REGULAR


DENGAN FA
GRAMMAR
Didefinisikan seperti berikut :
VT : himpunan simbol-simbol terminal (himpunan token-token ataupun alfabet)
VN : himpunan simbol-simbol non terminal
S ε VN : simbol awal
Q : himpunan produksi
CONTOH ANALISA TIPE GRAMMAR
1. Grammar G1 dengan Q1 = {S → aB, B → bB, B → b}.
Ruas kiri semua produksinya terdiri dari sebuah VN maka G1 kemungkinan tipe CFG atau RG.
Karena semua ruas kanannya terdiri dari sebuah VT atau string VT VN maka G1 adalah RG.

2 Grammar G2 dengan Q2 = {S →Ba, B → Bb, B → b}


Ruas kiri semua produksinya terdiri dari sebuah VN maka G2 kemungkinan tipe CFG atau RG.
Selanjutnya karena semua ruas kanannya terdiri dari sebuah VT atau string VN VT maka G2
adalah RG.
3. Grammar G3 dengan Q3 = {S → aA, S → aB, aAb → aBCb}.
Ruas kirinya mengandung string yang panjangnya lebih dari 1 (yaitu aAb) maka G3
kemungkinan tipe CSG atau UG
Karena semua ruas kirinya lebih pendek atau sama dengan ruas kananya maka G3 adalah
CSG

4. Grammar G4 dengan Q4 = {aS → ab, SAc → bc}


Ruas kirinya mengandung string yang panjangnya lebih dari 1 maka G4 kemungkinan tipe
CSG atau UG.
Karena terdapat ruas kirinya yang lebih panjang daripada ruas kananya ( yaitu SAc) maka
G4 adalah UG.
MENENTUKAN GRAMMAR SEBUAH BAHASA
 Tentukan sebuah grammar reguler untuk bahasa L1 = {an | n ≥ 1}
Jawab :
Q1 (L1) = {S → aS | a}
DEFINISI EKSPRESI REGULER
Ø = {} = (himpunan kosong) adalah sebuah ekspresi regular
{ ɛ } =string kosong adalah ekspresi regular
Untuk setiap a ϵ Σ, maka a adalah ekspresi regular
Jika a dan b adalah ekspresi regular maka a ∪ b , ab dan a* adalah ekspresi
regular.

Notasi a ∪ b , ab dan a* adalah penyederhanaan notasi yang diperoleh dari notasi


asli sebagai berikut : Jika dimiliki himpunan A,B sebagai himpunan berikut :
TEORI HIMPUNAN
1. a ∪ b = b ∪ a 6. a ∪ b = b ∪ a

2. a ∪ Ø = Ø ∪ a 7. a ∪ Ø = Ø ∪ a

3. a ∪ a = a 8. a ∪ a = a

4. (a ∪ b) ∪ c = a ∪(b ∪ c) 9. (a ∪ b) ∪ c = a ∪(b ∪ c)

5. aɛ = ɛa = a 10. aɛ = ɛa = a
CONTOH ER
1. Tentukan ekspresi reguler pembentuk bahasa pada S = {0,1}, yaitu

L(r) = { w ϵ Σ* | w memiliki substring ‘00’ }

Jawab :

r = (0+1)*00(0+1)*
MEMBENTUK 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 :
Contoh :
Diketahui sebuah DFA F dengan Z = {S} dan fungsi transisi M sebagai berikut :
Dengan algoritma di atas maka diperoleh Q(RG) sebagai berikut. :
M(S,0) = B  S -> 0B
M(S,1) = A S -> 1A
M(A,0) = C  A -> 0C
M(A,1) = S A -> 1
M(B,0) = S  B -> 0
M(B,1) = C B-> 1C
M(C,0) = A  C -> 0A
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}
MEMBENTUK 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}
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}
Terapkan algoritma di atas untuk memperoleh NFA F sebagai berikut :
VT’ = VT = {a, b}, S’ = S, K = VN = {S, A, B}
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},
KESIMPULAN
Grammar merupakan himpunan kalimat-kalimat yang anggotanya bisa berupa
simbol terminal dan token.
Regular Expression ekuivalen dengan FA baik itu NFA maupun DFA

Anda mungkin juga menyukai