A. EKSPRESI REGULAR
Sebelum memasuki bahasan tentang ekspresi regular dan bahasa regular,
dapat dinyatakan suatu kenyataan berikut:
Jika ∑ adalah suatu himpunan abjad (yang tentu saja jumlahnya terhingga),
maka:
1. ∑* : himpunan seluruh string yang dapat disusun dari abjad dalam ∑
adalah berjumlah tak hingga (countably infinite).
2. Kumpulan dari semua bahasa yang dapat dibangkitkan dari abjad dalam
∑ berjumlah tak terhitung (uncountably).
14
3. aa = a
4. (ab)c = a(bc)
5. aε = εa = a
6. a = a =
7. (ab)c = a(bc)
8. a(bc) = abac dan (ab)c = acbc
9. a* = a** = a*a* = (εa)* = a*(aε) = (aε)a* = εaa*
10.aa* = a*a
Contoh 1:
Ekspresikan dalam bentuk ekspresi regular kalimat-kalimat berikut:
1. Sederetan bit 0 minimal nol buah.
2. Sederetan bit 0 minimal satu buah.
3. Sederetan bit 0 minimal satu buah diikuti sederetan bit 1 sebanyak satu
buah atau lebih.
4. Sederetan bit 0 dan 1 sebarang yang diawali dengan bit 0 dan diakhiri
dengan 1.
5. Sederetan bit 1 dengan jumlah genap.
6. Sederetan bit 0 dengan jumlah genap diikuti sederetan bit 1 dengan
jumlah ganjil.
Jawab:
1. Ekspresi regular-nya: 0*
2. Ekspresi regular-nya: 00*
3. Ekspresi regular-nya: 00*11*
4. Ekspresi regular-nya: 0(0,1)*1 atau ditulis: 0(01)*1
5. Ekspresi regular-nya: 11(11)*
6. Ekspresi regular-nya: 00(00)*1(11)*
Contoh 2:
String apakah ekspresi-ekspresi regular berikut:
1. Ekspresi: (1,0)*
2. Ekspresi: (10)*
3. Ekspresi: (0,1)*1*
4. Ekspresi: (00)*(11)*
5. Ekspresi: (11)*(00)*
Jawab:
1. Sederetan bit 0 dan 1 dengan jumlah sembarang dan susunan sembarang.
2. Sederetan 10 berulang-ulang dengan jumlah ulangan nol atau lebih.
3. Sederetan bit 0 dan 1 dengan jumlah sembarang urutan sembarang diikuti
dengan deretan bit 1 dengan jumlah nol atau lebih.
4. Sederetan bit 0 kosong atau genap diikuti deretan bit 1 kosong atau
genap.
5. String kosong atau berisi bit 0 genap atau bit 1 genap dengan posisi
sembarang.
15
α : hanya terdiri dari satu simbol Non-terminal saja, atau αN.
β : dalam bentuk salah satu diantara a, aB, atau ε.
Contoh 3:
Tentukan bahasa yang dihasilkan oleh tata bahasa regular berikut:
G(∑,N,S,P) dimana ∑={a,b}, N={A,B}, dan P={SaS, SaB, SA, Bb, BbB,
Bε, Aa}.
Jawab:
Untuk menurunkan bahasa dari suatu grammar yang diketahui, maka seluruh
kemungkinan penurunan yang dapat dilakukan oleh grammar tersebut harus
dilakukan. String-string yang dihasilkan dihimpun membentuk suatu bahasa
dari grammar tersebut. Untuk mempermudah pelacakan, tetapkan cacah aturan
produksi yang ada, dalam grammar tersebut ada 7 aturan produksi:
1. SaS
2. SaB
3. SA
4. Bb
5. BbB
6. Bε
7. Aa
16