Anda di halaman 1dari 12

PERTEMUAN

6 TEORI BAHASA OTOMATA


EKSPRESI REGULER

N. Nelis Febriani SM, M.Kom


tugaskuliah.nelis@gmail.com
ATURAN UNTUK REGULAR
GRAMMAR
BAHASA REGULER

▪ Suatu bahasa dikatakan regular jika bahasa tersebut masuk


pada himpunan reguler
▪ Suatu bahasa L adalah himpunan regular, jika dan hanya
terdapat finite state yang dapat mengenali
▪ Kelas bahasa regular adalah kelas yang dapat dispesifikasikan
dengan ekspresi regular
EKSPRESI REGULER

• Ekspresi regular biasanya disebut ER, memungkinkan


mendefinisikan bahasa-bahasa
• Sebuah bahasa dinyatakan regular jika terdapat finite state
automata (FSA) yang dapat menerimanya.
• Ekspresi regular memberikan suatu pola atau template untuk
untai/string dari suatu bahasa.
• Ekspresi regular adalah rumus yang berbentuk sempurna
(well-formed formula) pada operasi penggabungan (+),
penyambungan (.) dan kleene closure (*).
NOTASI EKSPRESI REGULER

1. Kleene Closure (*) yaitu karakter asterisk, berarti bisa


tidak muncul, bisa juga muncul berhingga kali (0-n).
2. Penyambungan (.) titik, berarti konkatenasi. Biasanya
titik bisa dihilangkan. Misalnya: ab bermakna sama
seperti a.b.
3. Penggabungan (+) atau (ᴗ) berarti union/atau. Setiap
string yang dihasilkan dapat memiliki satu simbol atau
lebih.
KLEENE CLOSURE
(*)
CONTOH
Contoh ekspresi regular, disingkat ER adalah sebagai berikut :
ER: ab*cc
contoh string dibangkitkan : abcc, abbcc, abbbcc, abbbbcc, acc
(b bisa tidak muncul atau muncul berkali-kali).
ER: 010*
contoh string yang didapatkan: 01, 010, 0100, 01000
(jumlah 0 diujung bisa tidak muncul, bisa muncul berkali-kali)
ER: a*d
contoh string yg didapatkan: d, ad, aad, aaad.
PENYAMBUNGAN

■ Penyambungan dilambangkan dengan simbol yang satu


bersebelahan dengan simbol berikutnya seperti xy.
■ Terkadang disimbolkan dengan tanda titik (.) seperti a.b*
■ Contoh:
– L(B) memiliki ER : ab*
– Maka setiap string yang dihasilkan harus memiliki simbol ‘a’
satu kali dilanjutkan dengan simbol ‘b’ yang muncul sebanyak 0,
1 atau lebih dari 1 kali.
– L(B) = a, ab, abb, abbb, abbbb, …, abn.
PENGGABUNGAN
CONTOH
ER: a*ᴗb* (‘ᴗ’ berarti atau)
contoh string yg didapatkan: a, b, aa, bb, aaa, bbb, aaaa, bbbb.
ER ; (a ᴗ b)*
contoh string yang didapat : a, b, ab, ba, abb, bba, aaaa, bbbb (untai
yang memuat a atau b)

ER: (aᴗb)
contoh string yg didapat: a,b.
ER: 01* + 0
contoh string yang didapatkan: 0, 01, 011, 0111, 01111.
(string yg berawalan dengan 0, dan selanjutnya boleh diikuti deretan
1)

CONTOH

■ ER pada L(D) adalah 0 + 10* maka string yang dihasilkan


dapat:
– 0
■ ER pada L(E) adalah 10 + 10*1 maka string
– 1
yang dihasilkan dapat:
– 10
– 10
– 100
– 11
– 1000
– 101
– …, 10n.
– 1001
– 10001
– …, 10n1.
LATIHAN

1. ER pada L(F) adalah (110)*.(0+1) maka string yang dihasilkan


dapat: ?
2. ER pada L(F) adalah (00 + 01 + 10 + 11) * maka string yang dihasilkan
dapat: ?
3. ER pada L(F) adalah (1 + 10)* maka string yang dihasilkan dapat: ?

Anda mungkin juga menyukai