Anda di halaman 1dari 7

Ekspresi Regular dan Hubungannya dengan FSA

 Hubungan FSA dengan ERSebuah bahasa dinyatakan regular jika terdapat finite state
automata yang dapat menerimanya.Bahasa-bahasa yang diterima oleh FSA bisa dinyatakan
secara sederhana dengan ekspresi regular (regular expression).Ekspresi regular
memberikan suatu pola (pattern) atau template untuk untai/string dari suatu bahasa.

 ContohFinite State Automata untuk mengenal bilangan bulat /integer tidak bertandaMisal :
0..9 disimbolkan sebagai digit,maka ERnya adalah : (digit)(digit)*

 Notasi ER* :berarti bisa tidak muncul, bisa juga muncul berhingga kali (0-n) + : berarti
minimal muncul satu kali (1-n) + : berarti union/ atau bisa diganti dengan notasi  . : berarti
konkatenasi, biasanya tanpa ditulis titiknya, misal ab sama dengan a.b

 Contoh ER ER : ab*cc acc, abcc, abbcc, abbbcc, dst


ER : 010* , 010, 0100, 01000, dstER : a+d ad, aad, aaad, aaaad, dstER : a*  b* a, b, aa,
bb, dstER : 01* , 01, 011, dst

 Hubungan ER dan FSA

 Contoh ER : 010* ER : 0 (1 U 0) ER : 0 (1 U 0)* ER : 01*0 ER : 0*10*


ER : a*ER : a(ba)*
Sebuah bahasa dinyatakan regular jika diterima oleh finite state automataBahasa yang diterima
oleh finite state automata dinyatakan / didefinisikan dengan ekspresi regular.Ekspresi reguler
memberikan suatu pola (pattern) atau template untuk / string dari suatu bahasa.

Contoh bahasa:

 L1 = {a,aab,aaabb,aaaabbb, … }
 L2= {w:w dan terdiri dari tepat satu huruf a dan satu huruf b }
 L7 = {w:w = anbcn | n > 1}

Sebuah grammar G:

VN = {S}

VT= {a}

S=S

Contoh ER

-ER : ab*cc

string yang dibangkitkan : acc, abccabbcc, abbbcc,abbbcc

 ER : 010*
 String yang dibangkitkan :01,010,0100,01000
 ER : a*d
 String yang dibangkitkan : d,ad,aad,aaad
 ER : a+d
 string yang dibangkitkan ad,aad,aaad
Pengenalan Regular

 Sebuah bahasa dinyatakan regular jika terdapat  finite state automata  yang dapat
menerimanya.
 Bahasa-bahasa yang diterima oleh FSA bisa dinyatakan secara sederhana dengan ekspresi
regular (regular expression).
 Ekspresi regular memberikan suatu pola (pattern) string  dari suatu bahasa.

Hubungan ER dengan FSA

 Untuk setiap ER ada satu NFA dengan transisi  ε  (NFA ε-move) yang ekivalen.
 Sementara untuk setiap DFA ada satu ER dari bahasa yang diterima oleh DFA.
 Hubungannya dapat digambarkan sebagai berikut

Notasi Ekspresi Regular

Notasi yang digunakan untuk ER adalah :

 * (asterisk) : bisa tidak muncul, bisa juga muncul  berhingga kali (0-n)
 +   (SuperScript) : minimal muncul satu kali (1-n)
 + atau U (union ): atau
 . (konkatenasi) : titik bisa saja tidak di tuliskan
   misalnya: ab sama  dengan a.b

Ekspresi Aritmatika

(5 + 3) ´ 4
   32
Ekspresi Reguler

     (0 È 1)0*
semua string yang berawal dengan string 0 atau 1, diikuti sembarang jumlah 0
Contoh ekspresi regular (ER) :
1.  ER : ab*cc
 Contoh string yang dibangkitkan : abcc, acc, abbcc, abbbcc (b bisa tidak
 muncul atau muncul sejumlah berhingga kali)
2.  ER : 010*
 Contoh string yang dibangkitkan : 01, 010, 0100,01000 (0 bisa tidak
 muncul atau muncul sejumlah berhingga kali)
3. ER : a*d
 Contoh string yang dibangkitkan : d, ad, aad, aaad
4.  ER : a+d
 Contoh string yang dibangkitkan :  ad,aad, aaad,aaaad
5. ER : a*∪ b* (ingat ∪ berarti atau)
Contoh string yang dibangkitkan : a, b, aa, bb, aaa, bbb, aaaa, bbbb
6. ER : a ∪ b
Contoh string yang dibangkitkan : a, b
7. ER : 01* + 0
Contoh string yang dibangkitkan : 0, 01, 011, 0111, 01111

Language dari (0 È 1)0*

(0 È 1) = ({0} È {1})
0* = {0}* à semua string yang anggotanya   simbol 0.
(0 È 1)0* = (0 È 1) ○ 0*
L = {00, 10, 000, 100, 0000, 1000, … }

Carilah seluruh string pada L((a|b)*b(a|ab)*) dengan panjang string kurang dari 4

Jawab :

{L((a|b)*b(a|ab)*) ,|x|= 4}

            L((a|b)*b(a|ab)*) : himpunan string yang mengandung paling sedikit satu substring ‘b’

Dengan jumlah string kurang dari 4, makamaksimaldari 3 digit


             0 digit= –

            1 digit = b

            2 digit = ab; ba

            3 digit = baa; aba; aab;

String pada L((a|b)*b(a|ab)*) = b;ab;ba;aab;aba;baa;

2. Tentukan ekspresi reguler pembentuk bahasa pada ∑= {a,b,c}, yaitu


3. L(r) = { w є ∑* | w memiliki tepat sebuah simbol ‘a’ }
4. L(r) = { w є ∑* | w mengandung tepat 3 buah simbol ‘a’}
5. L(r) = { w є ∑* | w mengandung kemunculan masing-masing simbol minimal satu kali}

Jawab      :

1. L(r) = { w є ∑* | w memiliki tepat sebuah simbol ‘a’ }

Jawab  :

r = a (b|c) (b|c)*

1. L(r) = { w є ∑* | w mengandung tepat 3 buah simbol ‘a’}

Jawab  :

r = aaa (b|c) (b|c)*

1. L(r) = { w є ∑* | w mengandung kemunculan masing masing simbol minimal satu kali}

Jawab  :
r = abc

3. Tentukan ekspresi reguler pembentuk bahasa pada S = {0,1}, yaitu


4. L(r) ={ w є ∑* | w diakhiri dengan string 01 }
5. L(r) ={ w є ∑ * | w tidak diakhiri dengan string 01 }
6. L(r) ={ w є ∑ * | w mengandung simbol ‘0’ sebanyak genap }
7. L(r) ={ w є ∑ * | kemunculan string ’00’ pada w sebanyak kelipatan 3 }

Jawab      :

1. L(r) = { w Î∑* | w diakhiridengan string 01 }

Jawab : (0|1)*01, ekspresi regular diakhiri dengan 01

                  ER: 111101;00001;10101001;

1. L(r) ={ w Î∑* | w tidak diakhiri dengan string 01 }

Jawab :ekspresi regular tidak di akhiri dengan string 01

                  ER: 1110; 0011; 0110;

1. L(r) ={ w Î∑* | w mengandung simbol ‘0’ sebanyakgenap }

Jawab :ekspresi regular dengan mengandung 0 sebanyak genap, bisaada 2, 4 ,6, ….

Mengandung 0 sebanyak 2, ER: 1010;

                  Mengandung 0 sebanyak 4, ER : 011000; 00001;0000;

                  Mengandung 0 sebanyak 6, ER : 001001001;

1. L(r) ={ w Î∑* | kemunculan string ’00’ pada w sebanyak kelipatan 3 }

4. Tentukan ekspresi reguler pembentuk bahasa pada ∑ = {a,b}, yaitu L(r) = { w є ∑* | |w|
mod 3 = 0 }
Jawab :

Membuat contoh ekspresi regular yang terdiri dari {a,b} dengan panjang string kelipatan 3, karna
|w| mod 3 = 0.

Maka, denganpanjang string 3 = ER: aba; aab; bba; bab;….

Jika dengan panjang string 6= ER; aabbab; babbaa; abbaab;……

Jika dengan panjang string 9= ER: aababaaab; babbaabba;…..

Anda mungkin juga menyukai