Transcript Pertemuan 7 Ekspresi dan Bahasa Regular (lanjutan).
Session 7 Regular 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) 1. Associativity and Commutative Law.
An a. L + M = M + L, commutative law of union.
b. (L+M)+N=L+(M+N), associativity of union.
c. (LM)N = L(MN), associativity of concatenation .
2. Identity and Annihilator a.
annihilator
for 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 for
union
.
b.
c.
L = L L = L = L, = , is the identity for concatenation. is the annihilator for the concatenation.
Algebraic Laws for Regular Expressions (2) 3. 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
.
4. Hukum Idempotent untuk
union
: L + L = L.
Hukum-Hukum Aljabar untuk Ekspresi Regular (3) 5. Hukum-hukum yang melibatkan
closure
: a. (L*)* = L* b.
c.
* = * = d. 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 = 0( + 01* + 1*) = 01* dari (2b) dari (3a), distributif kiri 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
1. (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)
2. 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)
3. 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