Tata Bahasa Reguler DASAR TEORI
17
{ ab
i
| i
≥ 0 }adalah regular.
Notasi dari ekspresi regular yaitu sebagai berikut: ‘’, ‘
+
’, ‘+’, ‘ ∪’, ‘.’
• yaitu karakter asterisk, berarti bisa tidak muncul, bisa juga muncul
berhingga kali
0-n •
+
pada posisi superscript di atas berarti minimal muncul satu kali 1-n •
+ atau ∪ berarti union
• . titik berarti konkatenasi, biasanya titik bisa dihilangkan, misal: ab
bermakna sama seperti a.b Telah disepakati bahwa urutan untuk operator-operator ,
∪ dan . adalah pertama, . berikutnya dan
∪ yang terakhir. Contoh ekspresi regular selanjutnya disingkat sebagai ER:
ER: abcc Contoh string yang dibangkitkan: abcc, abbcc, abbbcc, abbbbcc, acc
b bisa tidak muncul atau muncul sejumlah berhingga kali ER: 010
Contoh string yang dibangkitkan: 01, 010, 0100, 01000 jumlah 0 di ujung bisa tidak muncul, bisa muncul berhingga kali
ER: a
+
d Contoh string yang dibangkitkan: ad, aad, aaad
a minimal muncul sekali ER: a
∪ b Contoh string yang dibangkitkan: a, b, aa, bb, aaa, bbb, aaaaa, bbbb
18
ER: a ∪ b
Contoh string yang dibangkitkan: a, b ER: a
∪ b Contoh string yang dibangkitkan: a, b, ab, ba, abb, bba, aaaa, bbbb
untai yang memuat a atau b ER: 01 0
Contoh string yang dibangkitkan: 0, 01, 011, 0111, 01111 string yang berawalan dengan 0, dan selanjutnya boleh diikuti deretan1
B.2. Aturan Produksi Bahasa Reguler
Sebuah otomata berhingga mendefinisikan sebuah bahasa sebagai himpunan semua untai yang menggerakkan dari state awal ke salah satu state
yang diterima himpunan state akhir. Sebagai contoh, pandang otomata berhingga yang diterima oleh transisi dalam gambar dibawah ini.
a ε b
a b
ε ε b
Q Q
1
Q
3
Q
2
Q
4
Q
4
qq
Otomata berhingga diatas menerima bahasa regular aa ∪ bb. Bilamana
sebuah lintasan diambil dari kedudukan awal ke yang lain, “keluaran” simbol itu aa
2
b dengan menggerakkan dari kedudukan Q ke
Q
1
ke Q
2
ke Q
2
ke Q
2
ke Q
4.
19
Untai yang dipakai dalam bahasa regular aa ∪ bb terdiri dari sebuah
a yang diikuti oleh suatu “bagian akhir”. Misal E dianggap bagian akhir, secara simbolis observasi ini menyajikan S
→ aE. Anak panah → bisa dibaca seperti “dapat ” atau “terdiri dari”. Bagian akhir dari sebuah untai demikian terdiri dari
satu dari dua susunan para a dan para b. Jadi bisa ditulis E → A dan E → B untuk
menunjukkan kemungkinan ganda untuk E. Dua susunan dari para a dan para b bisa dinyatakan sebagai A
→ aA bersama dengan A → b untuk menunjukkan sebuah untai dari para a diikuti oleh sebuah b atau sebagai B
→ bB bersama dengan B
→ b, yang menunjukkan sebuah untai para b diikuti oleh b yang lain. Ekspresi-ekspresi tersebut dapat diringkas sebagai berikut:
S → aE
E → A
E → B
A → b
A → aA
B → b
B → bB
Ekspresi-ekspresi tersebut dapat dipandang sebagai aturan-aturan pengganti sewaktu membangkitkan untai-untai. Simbol di sebelah kiri anak panah
bisa diganti oleh untai di sebelah kanan. Sebagai contoh, untai aab bisa dihasilkan melalui permulaan S,
mengganti S dengan aE, mengganti E dengan aA, dan akhirnya A dengan b. Diperkenalkan simbol | yang di baca “atau”. Dengan menggunakan simbol ini,
dua aturan E → A dan E → B dapat dikombinasikan sebagai E → A | B,
demikiani juga aturan yang lain. Koleksi aturan sebelumnya untuk PLAGIAT MERUPAKAN TINDAKAN TIDAK TERPUJI
20
membangkitkan untai-untai tadi kemungkinan bisa ditulis kembali sebagai berikut:
1. S
→ aE 2.
E → A | B
3. A
→ aA | b 4.
B → bB | b
Untai a
3
b bisa dibangkitkan dari S dengan pertama kali menerapkan aturan 1 untuk mandapatkan aE, kemudian aturan 2 untuk mendapatkan aA, dan
kemudian aturan 3 untuk mendapatkan aaA dan aaaA; akhirnya bagian kedua dari aturan 3 dapat diterapkan untuk mendapatkan aaab. Uraian dari proses
pembangkitan ini dapat ditulis seperti berikut: S = aE = aA = aaA = aaaA = aaab
Untuk anak panah ganda =Dibaca sebagai “menurunkan”, “menghasilkan”, atau “membangkitkan”.
Definisi Kelly, Dean. h 81
Sebuah tata bahasa regular G didefinisikan dengan 4-tupel G = ∑, N,
S, P, dimana: ∑ = sebuah abjad
N = sebuah koleksi simbol nonterminal S = suatu nonterminal tertentu yang dinamakan simbol awal start
simbol P = sebuah koleksi aturan-aturan pengganti, dinamakan produksi-
produksi, yang berbentuk A → w, untuk A Є N dan w adalah suatu
untai atas ∑ ∪ N yang memenuhi:
21
1. w memuat paling banyak satu nonterminal 2. jika w memuat sebuah nonterminal, maka ia muncul sebagai
simbol terkanan dari w. Bahasa yang dihasilkan oleh tata bahasa regular G dinotasikan L G.
Contoh: Sebuah tata bahasa regular G =
∑, N, S, P, untuk ∑ = { a, b }
N = { S, A } P : S
→ bA A
→ aaA| b | ε L G memuat semua untai yang berbentuk ba
2n
b dan ba
2n
. yaitu L G = b a
2
b ∪
ε.