Anda di halaman 1dari 16

Pertemuan 6

6. 1. Aturan Produksi Bahasa Reguler

Sebuah otomata berhingga menspesifikasikan sebuah


bahasa sebagai himpunan semua untai yang
menggerakkannya dari state awal ke salah satu state yang
diterimanya (himpunan state akhir)
Misalkan untuk sebuah ER: a(a*b*)b. Selain dengan ER,
kita dapat mengkonstruksi aturan-aturan produksi untuk
suatu tata bahasa reguler.
Kita ingat juga batasan aturan produksi untuk bahasa
reguler:  (dibaca:  menghasilkan )
dimana  adalah sebuah simbol variabel, dan  maksimal
memiliki sebuah simbol variabel yang terletak di paling
kanan (bila ada)
 dan  dapat berupa simbol terminal atau simbol non-
terminal (variabel)
Simbol variabel (non-terminal adalah simbol yang masih
bisa diturunkan, sedangkan simbol terminal sudah tidak
bisa diturunkan lagi.
Simbol terminal biasanya dinyatakan dengan huruf kecil,
misal: a, b, c.
Simbol non-terminal (variabel) biasanya dinyatakan
dengan huruf besar, misal: A, B, C.
Suatu tata bahasa (grammer) didefinisikan dengan empat
tupel (G={V, T, P, S}), dimana:
v = himpunan simbol variabel
T = himpunan simbol terminal
P = kumpulan aturan produksi
S = simbol awal
a
q2

b
a
q0 q1 q4
b

b
q3

Gambar 6.1. Mesin FSA


Dari gambar 6.1., kumpulan aturan produksi yang kita
peroleh dapat dituliskan sbb:
S  aE
EA|B
A  aA | B
B  bB | b
Secara formal, tata bahasa (grammer) yang diperoleh dari
otomata pada gambar 6.1. adalah:
V = {S, E, A, B}
T = {a, b}
P = {S  Ae, E  A | B, A  aA | B, B  bB | b}
S=S
6.2. Mengkonstruksi Aturan Produksi
dari Suatu FSA

Dalam mengkonstruksi aturan produksi tata bahasa


reguler dari suatu FSA, yang menjadi perhatian kita adalah
state-state yang dapat menuju ke state akhir.
Mesin FSA pada gambar 6.1, memiliki simbol input a dan
b. simbol tersebut akan menjadi terminal pada aturan
produksi yang akan kita bentuk.
Misalkan kita tentukan simbol awal adalah S, state awal
q0, dari q0 mendapat input a menjadi q1.Aturan produksi
yang dapat ditulis adalah: SaE
E dapat kita identikkan denga q1, lebih tepatnya adalah
bagian yang belum terbangkitkan mulai dari q1.
Kita dapat menambahkan simbol variabel baru setiap kali
kita perlukan.
Dari q1mendapat tramsisi-e (tanpa menerima input) ke q2
dan q3, kita tuliskan:
EA
EB

Jika kita identikkan q2 sebagai A, dan q3 sebagai B; dari q2


mendapat input a tetap ke q2; dari q3 mendapat input b
tetap ke q3; bisa kita tuliskan:
A  aA
B  bB
Selanjutnya kita lihat: dari q2 memberikan input b ke q4;
dari q3 memberikan input b ke q4; sementara q4
merupakan state akhir, maka bisa dituliskan:
A b
Bb
Kumpulan aturan prosuksi yang kita peroleh adalah sbb:
S aE
E  AB
A  aAB
B  bBb
Secara formal, tata bahasa yang diperoleh dari otomata
pada gambar 6.1 adalah sbb:
V = {S, E, A, B}
T = {a, b}
P = {SaE; E  AB; A  aAB; B  bBb}
S=S
6.3. FSA Untuk Suatu Tata Bahasa Reguler
Bila sebelumnya dari suatu diagram transisi FSA kita
dapat membuat aturan-aturan produksinya, sebaliknya
kita juga dapat mengkonstruksi diagram transisi FSA
untuk suatu tata bahasa teguler yang diketahui aturan-
aturan produksinya.
Misalnya terdapat tata bahasa reguler dengan aturan
produksi sbb:
S aB bA
A  abaS
B  babS
FSA dari aturan produksi diatas, seperti yang
ditunjukkan pada gambar 6.2. berikut
b

a b a
q0 q1 q2 q3

q4 a

a
b
q5 q6

Gambar 6.2. FSA dari suatu regular grammer


Soal LAtihan

Anda mungkin juga menyukai