Anda di halaman 1dari 30

Ekspresi Regular

Andi Baso Kaswar


Sub Capaian Pembelajaran Mata Kuliah

1. Mahasiswa mampu memahami dan menjelaskan mengenai konsep regular


expression
2. Mahasiswa mampu memahami dan menjelaskan karakteristik regular expression
Masih ingat materi
sebelumnya?
Ekspresi Reguler
Ekspresi Reguler

Penerapan Ekspresi Reguler


• Sebuah Bahasa dikatakan regular jika terdapat FSA yang dapat
menerimanya.
• ER memberikan suatu pola (pattern) atau template untuk string
dari suatu Bahasa.
Ekspresi Reguler

Penerapan Ekspresi Reguler


• Penerapan ER yang tampak adalah pada pencarian (searching)
untai/string karakter pada suatu file, fasilitas ini biasanya ada
pada text editor
Ekspresi Reguler

Penerapan Ekspresi Reguler


• Contoh lain, pada pembatasan data masukan yang
diperkenankan. Misalnya suatu input file hanya menerima input
bilangan/digit (0..9).
0,1,2,..,9
q0 q1
q0

(digit)(digit)*
• Dimana digit adalah 0..9

q2
Ekspresi Reguler

Penerapan Ekspresi Reguler


• Dalam suatu kompilator, ER dapat digunakan untuk melakukan
analisis leksikal, yaitu mengidentifikasi unit-unit leksikal (Token)
dalam program.
• Token-token pada suatu Bahasa pemrograman kebanyakan
tanpa kecuali dinyatakan sebagai ER.
Ekspresi Reguler

Penerapan Ekspresi Reguler


• Misal, suatu identifier, baik huruf besar atau huruf kecil yang
kemudian diikuti oleh huruf atau digit, dengan tanpa
pembatasan jumlah Panjang.

(huruf)(huruf+digit)*
• Dimana
• Huruf A..Z, a..z
huruf
• Digit 0..9 q0 q1
q0
Ekspresi Reguler

Penerapan Ekspresi Reguler


• Bila dalam Bahasa fortran dibatasi Panjang identifier maksimal 6,
maka ER untuk identifier fortran bias dinyatakan sebagai berikut.

(huruf)(huruf+digit)5
• Dimana
• Huruf A..Z, a..z
• Digit 0..9
huruf
q0 q1
q0
Ekspresi Reguler

Notasi Ekspresi Regular


• * yaitu karakteristik asterisk, berarti bisa tidak muncul, bias
muncul berhingga kali (0-n).
• Contoh

ER=ab*cc
• Maka string yang dibangkitkan:
• abcc, abbcc, abbbcc, abbbbcc, acc
• (b bisa tidak muncul atau muncul sejumlah berhingga kali)
Ekspresi Reguler

Notasi Ekspresi Regular


ER=010*
• Maka string yang dibangkitkan:
• 01, 010, 0100, 01000
• ( jumlah 0 di ujung bisa tidak muncul atau muncul sejumlah
berhingga kali)
ER=a*d
• Maka string yang dibangkitkan:
• d, ad, aad, aaad, aaaaad
• ( jumlah a di depan bisa tidak muncul atau muncul sejumlah
berhingga kali)
Ekspresi Reguler

Notasi Ekspresi Regular


• + yaitu + superscript, berarti minimal muncul 1 kali (1-n)
• Contoh

ER=a+d
• Maka string yang dibangkitkan:
• ad, aad, aaad
• (a minimal muncul 1 kali)
Ekspresi Reguler

Notasi Ekspresi Regular


• berarti atau,
• Contoh

ER=a*b*
• Maka string yang dibangkitkan:
• a, b, aa, bb, aaa, bbb, aaaa, bbbb

ER=ab
• Maka string yang dibangkitkan:
• a, b
Ekspresi Reguler

Notasi Ekspresi Regular


ER=ab*
• Maka string yang dibangkitkan:
• a, b, bbbb
• Untai yang memuat a atau b

ER=01*+0
• Maka string yang dibangkitkan:
• 0, 01, 011, 0111, 01111
Ekspresi Reguler

Hubungan ER dan FSA


• Kita bisa membuat suatu Non-Deterministic Finite Automata
move dari suatu RE.
• Yang perlu diperhatikan di situ, atate akhir akan menandakan
apakah suatu input diterima atau tidak.
Ekspresi Reguler

Hubungan ER dan FSA


Ekspresi Reguler

Hubungan ER dan FSA


Ekspresi Reguler

Hubungan ER dan FSA


• Kemudian dari Non-Deterministic Finite Automata 𝜀 move
dibuat menjadi Non-Deterministic Finite Automata, dan
selanjutnya Deterministic finite state automata
• Jika ekspresinya cukup sederhana, maka dapat langsung
mengkonsatruksi NFA tanpa melalui NFA 𝜀 move
Ekspresi Reguler

Hubungan ER dan FSA


Ekspresi Reguler

Hubungan ER dan FSA


Ekspresi Reguler

Hubungan ER dan FSA


Ekspresi Reguler

Hubungan ER dan FSA


Ekspresi Reguler

Hubungan ER dan FSA


Ekspresi Reguler

Hubungan ER dan FSA


Ekspresi Reguler

Hubungan ER dan FSA


Ekspresi Reguler

Hubungan ER dan FSA


Ekspresi Reguler

Hubungan ER dan FSA


Ada Pertanyaan ?
“Tetap semangat, setiap usaha kita
dalam menuntut ilmu akan dibalas
oleh Tuhan Yang Maha Esa”

Anda mungkin juga menyukai