Ekspresi Regular

Teori Bahasa dan Automata

Viska Mutiawani - Informatika FMIPA
1
Unsyiah

Ekspresi Regular
Ekspresi Regular (Regular expressions)
mendeskripsikan bahasa regular

(a  b  c) *
Contoh:
mendeskripsikan bahasa
a, bc*   , a, bc, aa, abc, bca,...
Viska Mutiawani - Informatika FMIPA
2
Unsyiah

Recursive Definition
Ekspresi regular primitif: ,  , 

Diberikan ekspresi regular r1 dan r2

r1  r2
r1  r2
Merupakan ekspresi regular
r1 *
r1 
Viska Mutiawani - Informatika FMIPA
3
Unsyiah

Contoh Suatu Ekspresi regular: a  b  c  * (c  ) Bukan ekspresi regular: a  b   Viska Mutiawani .Informatika FMIPA 4 Unsyiah .

abc.. bc. a. aa. bca.Informatika FMIPA 5 Unsyiah . Viska Mutiawani .. Bahasa Ekspresi Regular Lr  : bahasa dari ekspresi regular r Contoh L(a  b  c) *   ..

Definisi Bagi ekspresi regular primitif: L    L     La   a Viska Mutiawani .Informatika FMIPA 6 Unsyiah .

Definisi (2) Untuk ekspresi regular r1 and r2 Lr1  r2   Lr1   Lr2  Lr1  r2   Lr1  Lr2  Lr1 *   Lr1  * Lr1   Lr1  Viska Mutiawani .Informatika FMIPA 7 Unsyiah .

Contoh Ekspresi regular: a  b   a * La  b   a *  La  b  La *  La  b  La *   La   Lb   La  *  a  b a *  a.. a. aa. ba. Viska Mutiawani . aa..  a...Informatika FMIPA 8 Unsyiah . b .. aaa. b..... baa. aaa..

 Viska Mutiawani . bbb.. Contoh Ekspresi regular r  a  b  * a  bb  Lr   a. aa. abb... ba.Informatika FMIPA 9 Unsyiah . bb.

Contoh Ekspresi regular r  aa  * bb  * b 2n 2m Lr   {a b b : n. m  0} Viska Mutiawani .Informatika FMIPA 10 Unsyiah .

Contoh Ekspresi regular r  (0  1) * 00 (0  1) * L(r ) = { semua string yang mengandung substring 00 } Viska Mutiawani .Informatika FMIPA 11 Unsyiah .

Contoh Ekspresi regular r  (1  01) * (0   ) L(r ) = { semua string tanpa substring 00 } Viska Mutiawani .Informatika FMIPA 12 Unsyiah .

Ekuivalensi Ekspresi Regular Definisi: Ekspresi Regular r1 and r2 adalah ekuivalen jika L(r1 )  L( r2 ) Viska Mutiawani .Informatika FMIPA 13 Unsyiah .

Contoh L = { semua string tanpa substring 00 } r1  (1  01) * (0   ) r2  (1* 011*) * (0   )  1* (0   ) r1 dan r2 L(r1 )  L( r2 )  L merupakan ekspresi regular yang ekuivalen Viska Mutiawani .Informatika FMIPA 14 Unsyiah .

Informatika FMIPA 15 Unsyiah .Ekspresi Regular dan Bahasa Regular Viska Mutiawani .

Teorema Bahasa yang dihasilkan oleh Ekspresi Regular  Bahasa Regular Viska Mutiawani .Informatika FMIPA 16 Unsyiah .

Pembuktian: Bahasa yang dihasilkan oleh Ekspresi Regular  Bahasa Regular Bahasa yang dihasilkan oleh  Bahasa Regular Ekspresi Regular Viska Mutiawani .Informatika FMIPA 17 Unsyiah .

Informatika FMIPA 18 Unsyiah . Pembuktian bagian 1 Bahasa yang dihasilkan oleh Ekspresi Regular  Bahasa Regular Untuk setiap ekspresi regular r maka bahasa L (r ) adalah regular Pembuktian secara induksi terhadap r Viska Mutiawani .

 Bentuk NFAnya L( M1 )    L() Bahasa L( M 2 )  {}  L( ) regular a L( M 3 )  {a}  L(a ) Viska Mutiawani . Basis Induksi Primitive Regular Expressions: .Informatika FMIPA 19 Unsyiah .  .

L(r1 ) dan L(r2 ) adalah bahasa regular Viska Mutiawani .Informatika FMIPA 20 Unsyiah . Hipotesis Induksi Anggap Untuk ekspresi regular r1 dan r2 .

Informatika FMIPA 21 Unsyiah . Langkah Induksi Kita akan buktikan: Lr1  r2  Lr1  r2  adalah bahasa regular Lr1 * Lr1  Viska Mutiawani .

Berdasarkan definisi dari ekspresi regular: Lr1  r2   Lr1   Lr2  Lr1  r2   Lr1  Lr2  Lr1 *   Lr1  * Lr1   Lr1  Viska Mutiawani .Informatika FMIPA 22 Unsyiah .

Secara induksi kita ketahui: L( r1 ) dan L( r2 ) adalah bahasa regular Sebab kita ketahui bahwa: Bahasa Regular adalah tertutup di bawah operasi: Union Lr1   Lr2  Concatenation Lr1  Lr2  Star  Lr1  * Viska Mutiawani .Informatika FMIPA 23 Unsyiah .

Oleh karena itu: Lr1  r2   Lr1   Lr2  Adalah bahasa Lr1  r2   Lr1  Lr2  regular Lr1 *   Lr1  * L((r1 ))  L(r1 ) Secara tidak langsung. bahasa regular juga (melalui induksi) Akhir pembuktian 1 Viska Mutiawani .Informatika FMIPA 24 Unsyiah .

Berdasarkan regular closure dari operasi ini.Informatika FMIPA 25 Unsyiah . kita dapat membangunkan NFA M yang menerima L( M )  L( r ) Contoh: r  r1  r2 L( M )  L( r ) L( M 1 )  L(r1 )  L( M 2 )  L(r2 )  Viska Mutiawani .

Pembuktian bagian 2 Bahasa yang dihasilkan oleh Ekspresi Regular  Bahasa Regular Untuk setiap bahasa regular L akan ada ekspresi regular r sehingga L ( r )  L Kita akan mengkonversi NFA yang menerima L ke bentuk ekspresi regular Viska Mutiawani .Informatika FMIPA 26 Unsyiah .

Informatika FMIPA 27 Unsyiah .Sebab L adalah regular. maka akan ada NFA M yang menerima bahasa tersebut L( M )  L Gunakan yang memiliki satu state penerima Viska Mutiawani .

b ab Viska Mutiawani .Informatika FMIPA 28 Unsyiah .Dari M konstruksikan Graf Transisi Umum yang ekuivalen dimana label transisi berupa ekspresi regular Contoh: Graf Transisi Umum yang ekuivalen M a c a c a.

Informatika FMIPA 29 Unsyiah . b q2 b Label transisi berupa b b Ekspresi regular a q0 q1 a  b q2 b Viska Mutiawani . b b a Contoh lain q0 q1 a.

Informatika FMIPA 30 Unsyiah . b b a Mengurangi q0 q1 a  b q2 state b Label transisi berupa Ekspresi regular bb * a b q0 bb * (a  b) q2 Viska Mutiawani .

Hasilnya: bb * a b q0 bb * (a  b) q2 r  (bb * a ) * bb * (a  b )  b * L(r )  L( M )  L Viska Mutiawani .Informatika FMIPA 31 Unsyiah .

Secara umum e Mengurangi state d c qi q qj a b ae * d ce * b ce * d qi qj ae * b Viska Mutiawani .Informatika FMIPA 32 Unsyiah .

Informatika FMIPA 33 Unsyiah . graf terhasil: Graf awal Graf hasil r1 r4 r3 q0 qf r2 Ekspresi regular yang terhasil: r  r1 * r2 (r4  r3r1 * r2 ) * L(r )  L( M )  L Akhir pembuktian 2 Viska Mutiawani . Dengan mengulangi langkah tersebut hingga dua state yang tersisa.

Informatika FMIPA 34 Unsyiah .Representasi standar bahasa regular Bahasa Regular DFA Ekspresi NFA Regular Viska Mutiawani .

Informatika FMIPA 35 Unsyiah .Jika: Kita diberikan bahasa regular L Bermakna: Bahasa L dapat direpresentasikan dengan DFA. ekspresi regular Viska Mutiawani . NFA.

ε = NFA-λ (Automata Hingga Non-deterministik = NFA) atau λ atau r1 ˅ r2 atau r1 + r2 Viska Mutiawani .Informatika FMIPA 36 Unsyiah .Ekuivalensi NFA-ε Dengan ER (Ekspresi Regular) NFA.

Tentukan NFA untuk ekspresi regular r = 0(1+23)* Viska Mutiawani .Informatika FMIPA 37 Unsyiah .

Informatika FMIPA 38 Unsyiah .Viska Mutiawani .

Master your semester with Scribd & The New York Times

Special offer for students: Only $4.99/month.

Master your semester with Scribd & The New York Times

Cancel anytime.