120 likes | 272 Views
Session 7 Regular Expression and Language. Theory of Language and Automata (KOM 208 ) SKS: 3(3-0). Special Instructional Objectives, Subtopics and Presentation Time. Special Instructional Objectives :
E N D
Session 7Regular Expression and Language Theory of Language and Automata (KOM208) SKS: 3(3-0)
Special Instructional Objectives, Subtopics and Presentation Time • Special Instructional Objectives: • Students are able to explain the construction of regular expression and language and their relation to automata • Subtopics: • Operators of regular expression • Construction of regular expression • Conversion of DFA into regular expression • Conversion of regular expression into automata • Presentation Time: 1 x 150 minutes
Algebraic Laws of Regular Expression (1) • Associativityand Commutative Law. • L + M = M + L, commutative law of union. • (L+M)+N=L+(M+N), associativity of union. • (LM)N = L(MN), associativity of concatenation . • Identity and Annihilator Anannihilatorfor an operator is a value such that when an operator is applied to the annihilator with another value, the result is the annihilator • + L = L + = L, is the identity forunion. • L = L = L, is the identity for concatenation. • L = L =, is the annihilator for the concatenation.
Algebraic Laws for Regular Expressions (2) • Distributive Law • L(M+N) = LM + LN, hukum distributif kiri dari perangkaian pada union. • (M+N)L = ML + NL, hukum distributif kanan dari perangkaian pada union. • Hukum Idempotent untuk union: L + L = L.
Hukum-Hukum Aljabar untuk Ekspresi Regular (3) • Hukum-hukum yang melibatkan closure: • (L*)* = L* • * = • * = • L+ = LL* = L*L L+ = L + LL + LLL + ... L* = + L + LL + LLL + ... Dengan demikian LL* = L + LL + LLL + LLLL + ... e. L* = L+ + f. L? = + L merupakan definisi dari operator ?
Contoh 6 • Diberikan ekspresi regular 0 + 01*. • Ekspresi tersebut dapat disederhanakan menggunakan hukum-hukum aljabar dalam ekspresi regular: 0 + 01* = 0 + 01* dari (2b) = 0( + 1*) dari (3a), distributif kiri = 01* karena + R = R
Hukum-Hukum Aljabar untuk Ekspresi Regular (4) • Jika diberikan 2 ekspresi regular E dan F, dapat diuji apakah E = F benar. • Cara mengujinya adalah sebagai berikut: • Konversi E dan F ke ekspresi regular kongkrit berturut C dan D dengan mengganti setiap variabel oleh sebuah simbol kongkrit. • Uji apakah L(C) = L(D), jika benar, maka E=F benar. Jika salah maka E=F salah.
Contoh 7 • (L + M )* = (L*M*)* • Untuk menunjukkan kesamaan tersebut, ganti variabel L dan M berturut-turut dengan simbol a dan b, sehingga diperoleh ekspresi regular (a+b)* dan (a*b*)*. • Kedua ekspresi regular tersebut menyatakan bahasa dengan semua string dari para a dan para b. • Dengan demikian, kesamaan (L + M )* = (L*M*)* benar.
Contoh 7 (lanjutan) • L* =L*L* • Untuk menunjukkan kesamaan tersebut, ganti variabel L dengan simbol a, sehingga diperoleh ekspresi regular a* dan a*a*. • Kedua ekspresi regular tersebut menyatakan bahasa dengan semua string dari para a. • Dengan demikian, kesamaan L* =L*L* benar.
Contoh 7 (Lanjutan) • L + ML = (L + M)L • Untuk menunjukkan kesamaan tersebut, ganti variabel L dan M berturut-turut dengan simbol a dan b, sehingga diperoleh ekspresi regular a+ba dan (a+b)a. • Kedua ekspresi regular tersebut menyatakan bahasa yang berbeda. • Untuk menunjukkan hal tersebut, pilih aa dalam bahasa dari ekspresi regular (a+b)a, tapi tidak dalam bahasa dari ekspresi regular a+ba. • Dengan demikian, kesamaan L + ML = (L + M)L salah
Daftar Pustaka • John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman. 2001. Introduction to Automata Theory, Languange, and Computation. Edisi ke-2. Addison-Wesley