Anda di halaman 1dari 25

PROGRAM STUDI S1 TEKNIK INFORMATIKA

UNIVERSITAS PAMULANG

TEORI BAHASA AUTOMATA


Pertemuan – 9

InfoTI_unpam informatika.unpam.ac.id
EKSPRESI REGULAR (ER)

Program Studi Teknik Informatika, Universitas Pamulang


EKSPRESI REGULAR (ER)

Pada penerapan
Ekspresi Regular
Sebuah Bahasa dikatakan REGULAR?
Jika terdapat Finite State Automata (FSA)
yang MENERIMANYA

Program Studi Teknik Informatika, Universitas Pamulang


EKSPRESI REGULAR (ER)

✓ Bahasa-bahasa yang diterima oleh FSA bisa


dinyatakan secara sederhana dengan ekspresi regular
(regular expression).
✓ Ekspresi regular memberikan suatu pola (pattern)
atau template untuk untai/string dari suatu bahasa.
✓ Banyak masalah pada perangkat lunak yang bisa
disederhanakan dengan melakukan pengubahan
notasi ekspresi regular ke dalam implementasi
komputer dari FSA yang bersangkutan.

Program Studi Teknik Informatika, Universitas Pamulang


EKSPRESI REGULAR (ER)

Bahasa Regular adalah penyusun ekspresi regular (ER)


‘ER’ terdiri dari kombinasi simbol-simbol atomik menggunakan 3
operasi:
✓ Katensi
✓ Alternasi
✓ Repetisi/closure
Pada kasus scanner simbol-simbol atomik adalah karakter
karakter didalam program sumber
Dua buah ekspresi regular adalah ekuivalen jika keduanya
menyatakan bahasa yang sama

Program Studi Teknik Informatika, Universitas Pamulang


EKSPRESI REGULAR (ER)
Contoh Finite State Automata untuk mengenal bilangan bulat
/integer tidak bertanda

Ekspresi Regularnya adalah: misal 0…..9 disimbolkan sebagai


digit, maka ERnya adalah : (digit)(digit)*

Program Studi Teknik Informatika, Universitas Pamulang


EKSPRESI REGULAR (ER)
Contoh penerapan yang lain adalah pembatasan data masukan
yang diperkenankan, misalkan suatu field masukan hanya
menerima input (0…9), Gambar FSA menerima input bilangan
integer tak bertanda

Program Studi Teknik Informatika, Universitas Pamulang


EKSPRESI REGULAR (ER)

Bila dalalm Bahasa Indonesia bisa dikatakan bahwa


otomata pada gambar menerima msukan symbol input
antara 0 sampai 9 sedangakan ekspresi regularnya
dinyatakan sebagai: (digit)(digit)*
dengan digit adalah 0…9

Program Studi Teknik Informatika, Universitas Pamulang


EKSPRESI REGULAR (ER)

Dalam implementaisnya suatu FSA akan diterjemahkan


menjadi kode dalam sebuah bahasa pemrograman,
Gambar FSA mengenali identifier

Huruf/digit

huruf
q0 q1

Program Studi Teknik Informatika, Universitas Pamulang


Notasi Ekspresi Regular
Notasi yang digunakan untuk ER adalah: (*),(+),(+),(ꓴ),(.)

✓ *: Asterik berarti bisa tidak muncul, bisa juga muncul


berhingga kali (0-n)
✓ + : Superscript/diatas berarti minimal muncul satu kali bisa
juga muncul berhingga kali (1-n)
✓ + : berarti union atau bisa diganti dengan notasi U
✓ . : berarti konkatenasi, biasanya tanpa ditulis titiknya, misal
ab sama dengan a.b

Program Studi Teknik Informatika, Universitas Pamulang


Contoh ekspresi regular (ER)
ER : ab*cc
Contoh string yang bisa dibangkitkan: abcc, abbcc, abbbcc,
acc, dst. (b bisa tidak muncul atau muncul sejumlah
berhingga kali)
ER : 010*
Contoh string yang bisa dibangkitkan 01,010, 0100,01000,
dst. (0 bisa tidak muncul atau muncul sejumlah berhingga
kali)
ER : a*d
Contoh string yang bisa dibangkitkan: d, ad, aad, aaad, dst

Program Studi Teknik Informatika, Universitas Pamulang


Contoh ekspresi regular (ER)
ER : a+ d
Contoh string yang bisa dibangkitkan ad,aad, aaad,aaaad dst.
(a minimal muncul satu kali)
ER : a* U b* (berarti ‘ atau ‘)
Contoh string yang bisa dibangkitkan a, b, aa, bb, aaa,bbb dst.
ER : a U b (berarti ‘ atau ‘)
Contoh string yang bisa dibangkitkan a, b
ER : (a U b)*
Contoh string yang bisa dibangkitkan a, b, ab, ba, abb, bba,
aaaa, bbbb dst.
ER : 01*+0
Contoh string yang bisa dibangkitkan 0, 01,011, 0111 dst.
Program Studi Teknik Informatika, Universitas Pamulang
Hubungan ER dengan FSA
✓ Untuk setiap ER ada satu NFA dengan transisi ε (NFA ε-
move) yang ekivalen.
✓ Sementara untuk setiap DFA ada satu ER dari bahasa yang
diterima oleh DFA.
Yang perlu diperhatikan state akhir akan menandakan
apakah input diterima atau tidak
Contoh NFA e-move untuk ER: ab

Program Studi Teknik Informatika, Universitas Pamulang


Hubungan ER dengan FSA
Hubungannya dapat digambarkan sebagai berikut:

Program Studi Teknik Informatika, Universitas Pamulang


Hubungan ER dengan FSA
Contoh NFA e-move untuk ER: a*b

Program Studi Teknik Informatika, Universitas Pamulang


Hubungan ER dengan FSA
Contoh NFA e-move untuk ER: aꓴb

Program Studi Teknik Informatika, Universitas Pamulang


Hubungan ER dengan FSA
Kemudian untuk NFA e-move dapat diubah ke DFA dan
selanjutnya DFA
NFA e-move → NFA → DFA
Bila ER sederhana bisa langsung merubahnya tanpa melalui
NFA e-move

Contoh NFA untuk ER: ab

Program Studi Teknik Informatika, Universitas Pamulang


Hubungan ER dengan FSA
Contoh NFA untuk ER: aꓴb

Program Studi Teknik Informatika, Universitas Pamulang


Hubungan ER dengan FSA
Contoh NFA untuk ER: 010*

Program Studi Teknik Informatika, Universitas Pamulang


Hubungan ER dengan FSA
Contoh NFA untuk ER: 0(1ꓴ0)

Program Studi Teknik Informatika, Universitas Pamulang


Hubungan ER dengan FSA
Contoh NFA untuk ER: 0(1ꓴ0)*

Program Studi Teknik Informatika, Universitas Pamulang


Hubungan ER dengan FSA
Contoh NFA untuk ER: 01*0

Program Studi Teknik Informatika, Universitas Pamulang


Latihan!
1. Berikan bentuk RE yang sesuai untuk language
berikut :String dengan simbol a, b dan c yang
mengandung minimal satu a dan minimal satu b
(contoh: ab, abc, aab, …)

2. String alternate dengan simbol 0 dan 1 (tidak


mengandung 00 atau 11) contoh : 0, 1, 01, 10, 010,
101, 0101, …

Program Studi Teknik Informatika, Universitas Pamulang


Latihan!
3. Deskripsikan dalam Bahasa Indonesia himmpunan string
yang diterima FSA berikut

a.

b.

Program Studi Teknik Informatika, Universitas Pamulang


TERIMA KASIH, MAHASISWA TEKNIK INFORMATIKA UNGGUL, ANDA SUDAH BELAJAR DENGAN LUAR BIASA

Program Studi Teknik Informatika, Universitas Pamulang

Anda mungkin juga menyukai