tugas tba kelompok 1 kelas b

31
Reguler Teori Bahasa dan Automata (TBA) Ekspresi

Upload: robbie-akachopa

Post on 01-Nov-2014

194 views

Category:

Documents


4 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Tugas tba kelompok 1 kelas b

Reguler

Teori Bahasa dan Automata (TBA)Ekspresi

Page 2: Tugas tba kelompok 1 kelas b

Pengertian Ekspresi Reguler

Ekspresi Reguler adalah :• notasi yang digunakan dalam manipulasi teks dan

data, atau ;• notasi fleksibel dan ringkas untuk menemukan dan

menggantikan pola teks

Sebuah bahasa dinyatakan reguler jika terdapat finite state automata (FSA) yang dapat menerimanya.

Page 3: Tugas tba kelompok 1 kelas b

Penerapan Ekspresi Reguler

Bahasa yang diterima oleh suatu FSA bisa dinyatakan secara sederhana dengan Ekspresi Reguler (ER).

ER memberikan suatu pola (pattern) atau template untuk untai/string dari suatu bahasa.

Untai yang menyusun bahasa reguler akan cocok (match) dengan pola bahasa itu.

Page 4: Tugas tba kelompok 1 kelas b

Penerapan Ekspresi Reguler

Beberapa penerapan Ekspresi Reguler yang nampak biasa digunakan untuk :

• Parsing• Validasi Input• Find and Replace

Page 5: Tugas tba kelompok 1 kelas b

Penerapan Ekspresi Reguler

Contoh penerapan yang lain adalah : • Pembatasan data masukan yang diperkenankan,

misalnya suatu field masukan hanya menerima input bilangan (0..9)

Page 6: Tugas tba kelompok 1 kelas b

Notasi Ekspresi Reguler

• Clean Closure (*) → termasuk hampa• Positive Closure (+) → tanpa hampa• Union ( ∪ atau + ) → berarti atau• Concatenation ( . ) → gabungan, notasi bisa tidak

ditulis

( ) Ž ) ,Ajc_l Ajmqspc Nmqgrgtc Ajmqspc Sl gml Sl gml Aml a_rcl _rgml

Page 7: Tugas tba kelompok 1 kelas b

Notasi Ekspresi Reguler

Clean Closure ( * ) => ( baca : asterisk )"karakter bisa tidak muncul, bisa juga muncul berhingga kali ( 0 - n )".

Contoh :• ER : ab*c => ac, abc, abbc, abbbc, abbbbc• ER : 010* => 01, 010, 0100, 01000, 010000• ER : a*dc => dc, adc, aadc, aaadc, aaaadc

Page 8: Tugas tba kelompok 1 kelas b

Notasi Ekspresi Reguler

Positive Closure (+) => ( + pada posisi superscript )"karakter muncul minimal satu kali, hingga n kali.(1-n)".

Contoh :• ER : a+d => ad, aad, aaad, aaaad, aaaaad• ER : adc+ => adc, adcc, adccc, adcccc, adccccc• ER : 01+0 => 010, 0110, 01110, 011110, 0111110

Page 9: Tugas tba kelompok 1 kelas b

Notasi Ekspresi Reguler

Union ( ∪ atau + ) "union berarti atau, akan memilih salah satu dari karakter yang di hubungkan dengan tanda union".

Contoh :• ER : a ∪ b => a, b• ER : a* ∪ b => b, a, aa, aaa, aaaa, aaaaa• ER : 01* + 0 => 0, 01, 011, 0111, 01111

Page 10: Tugas tba kelompok 1 kelas b

Notasi Ekspresi Reguler

Concatenation ( . ) (Konkatenasi, titik tidak ditulis)"karakter dipisahkan oleh tanda titik, namun biasanya tanda titik tersebut tidak ditulis."

Contoh :ER : a.b. => abER : a.b.c. => abcER : 0.1.0. => 010

Page 11: Tugas tba kelompok 1 kelas b

Hubungan Ekspresi Reguler dan FSA

• Untuk setiap ekspresi reguler ada satu Non-deterministic Finite Automata dengan transisi є (NFA є-move) yang ekuilvalen

• Sementara untuk setiap Deterministic Finite Automata ada satu Ekspresi Reguler dari bahasa yang diterima oleh Deterministic Finite Automata.

Sederhananya, "kita bisa membuat suatu Non-deterministic Finite Automata dari suatu ekspresi reguler".

Page 12: Tugas tba kelompok 1 kelas b

Hubungan Ekspresi Reguler dan FSA

NFA є-move untuk ER : ab

NFA є-move untuk ER : a ∪ b

Page 13: Tugas tba kelompok 1 kelas b

Hubungan Ekspresi Reguler dan FSA

FA untuk ER : ab

FA untuk ER : a ∪ b

Page 14: Tugas tba kelompok 1 kelas b

Hubungan Ekspresi Reguler dan FSA

Contoh-Contoh NFA untuk ER

NFA untuk ER : 010*

NFA untuk ER : 01*0

Page 15: Tugas tba kelompok 1 kelas b

Hubungan Ekspresi Reguler dan FSA

Contoh-Contoh NFA untuk ER

NFA untuk ER : 0 ( 1 ∪ 0 )*

NFA untuk ER : 0 ( 1 ∪ 0 )

Page 16: Tugas tba kelompok 1 kelas b

Hubungan Ekspresi Reguler dan FSA

Contoh-Contoh NFA untuk ER

NFA untuk ER : 0*10*

NFA untuk ER : a*

Page 17: Tugas tba kelompok 1 kelas b

Hubungan Ekspresi Reguler dan FSA

Contoh-Contoh NFA untuk ER

NFA untuk ER : a (ba)*

NFA untuk ER : (ab)*

Page 18: Tugas tba kelompok 1 kelas b

Hubungan Ekspresi Reguler dan FSA

EkspresiReguler

NFA

NFAє-moveDFA

Page 19: Tugas tba kelompok 1 kelas b

Membuat DFA dari Ekspresi Reguler

Langkah yang digunakan Untuk membuat Deterministic Finite Automata dari Ekspresi Reguler adalah :

• Membuat Ekspresi Reguler• Membuat Mesin NFA• Membuat Tabel Transisi untuk NFA• Membuat Mesin DFA• Melakukan Pengecekan DFA

ER NFA Tabel Transisi DFA Cek-DFA

Page 20: Tugas tba kelompok 1 kelas b

Membuat DFA dari Ekspresi Reguler

Contoh Permasalahan :"kita ingin membuat DFA yang menerima bahasa yang berupa semua string yang berakhiran dengan '00'. Diketahui ∑ = ( 0, 1 )".

Cara Penyelesaian :• Pertama, kita buat Ekspresi Reguler-nya :

( 0 Ž 1 )* 00

Page 21: Tugas tba kelompok 1 kelas b

Membuat DFA dari Ekspresi Reguler

• Kedua, Membuat Mesin NFA

NFA untuk ER : ( 0 ∪ 1 )* 00

Page 22: Tugas tba kelompok 1 kelas b

Membuat DFA dari Ekspresi Reguler

• Ketiga, Membuat Tabel Transisi untuk NFA

NFA untuk ER : ( 0 ∪ 1 )* 00

. /q0 { q0 , q1 } { q0 }

q1 { q2 } θq2 θ θ

Page 23: Tugas tba kelompok 1 kelas b

Membuat DFA dari Ekspresi Reguler

• Keempat, Membuat mesin DFA . /

q0 { q0 , q1 } { q0 }

q1 { q2 } θq2 θ θ

DFA untuk ER : ( 0 Ž 1 )* 00

Page 24: Tugas tba kelompok 1 kelas b

Membuat DFA dari Ekspresi Reguler

• Kelima, Melakukan Pengecekan DFA

DFA untuk ER : ( 0 Ž 1 )* 00

"Cek DFA yang sudah dibuat dengan melihat apakah untai/string dari hasil ER berikut bisa diterima atau tidak"

00, 100,000, 0100, 0000, 1100

Page 25: Tugas tba kelompok 1 kelas b

Review

1. Apa yang dimaksud dengan Ekspresi Reguler, FSA, NFA dan DFA ?

2. Bagaimana hubungan antara Ekspresi Reguler dengan FSA ?3. Sebutkan Himpunan String yang memenuhi :

ER : 10*(1+0)*11 !4. Tuliskan Himpunan String yang memenuhi NFA Berikut !

5. Buatlah DFA yang menerima bahasa berupa semua string, yang memuat minimal dua nol berurutan. Dik : ∑ = ( 0, 1 )

Page 26: Tugas tba kelompok 1 kelas b

Review (1)

1. Apa yang dimaksud dengan Ekspresi Reguler, FSA, NFA dan DFA ?

• Ekspresi Reguler adalah notasi yang digunakan dalam manipulasi teks dan data untuk menemukan dan menggantikan pola teks.

• FSA (Finite State Automata) adalah Model matematika yang dapat menerima input dan mengeluarkan output. FSA merupakan bagian Mesin automata dari bahasa reguler yang terdiri atas NFA dan DFA

• NFA (Non-Deterministic Finite Automata) adalah bagian FSA yang memungkingkan satu simbol menimbulkan transisi ke lebih dari satu kondisi dan memberikan beberapa kemungkinan gerakan sehingga keluarannya tidak dapat dipastikan.

• DFA (Deterministic Finite Automata) adalah bagian FSA yang memungkinkan dari suatu state ada tepat satu state berikutnya untuk setiap simbol input (masukan) yang di terima.

Page 27: Tugas tba kelompok 1 kelas b

Review (2) 2. Bagaimana hubungan antara Ekspresi Reguler dengan

FSA ?

• Untuk setiap ekspresi reguler ada satu Non-deterministic Finite Automata dengan transisi (NFA є-move) yang ekuilvalen

• Sementara untuk setiap Deterministic Finite Automata ada satu Ekspresi Reguler dari bahasa yang diterima oleh Deterministic Finite Automata.

• Sederhananya, "kita bisa membuat suatu Non-deterministic Finite Automata dari suatu ekspresi reguler".

Page 28: Tugas tba kelompok 1 kelas b

Review (3)

3. Sebutkan Himpunan String yang memenuhi :ER : 10(1+0)0*1 !

Himpunan String yang memenuhi adalah ER : 10(1+0)0*1 :

Jika antara (1+0) dipilih 0, maka sting yg terbentuk :1001, 10001, 100001, 1000001, 10000001, 1000000...1

Jika antara (1+0) dipilih 1, maka sting yg terbentuk :1011, 10101, 101001, 1010001, 10100001, 1010000...1

Page 29: Tugas tba kelompok 1 kelas b

Review (4) 4. Tuliskan Himpunan String yang memenuhi NFA Berikut !

Himpunan String yang memenuhi adalah :• 0100, 0101, 0110, 0111, 1100, 1101, 1110, 1111,• 00100, 00101, 00110, 00111, 11100, 11101, 11110, 11111,• 000100, 000101, 000110, 000111, 111100, 111101, 111110,

111111,• 0000100, 0000101, 0000110, 0000111, 1111100, 1111101,

1111110, 1111111,

Page 30: Tugas tba kelompok 1 kelas b

Review (5)5. Buatlah DFA yang menerima bahasa berupa semua string,

dimana simbol ketiga dari kanan adalah 1. Dik : ∑ = ( 0, 1 )

Ekspresi Reguler :

NFA untuk ER : (0+1)*00(0+1)*

ER : (0+1)*00(0+1)*

Page 31: Tugas tba kelompok 1 kelas b

Review (5) . /

q0 { q0 , q1 } { q0 }

q1 { q2 } θ

q2 { q2 } { q2 }

DFA untuk ER : (0+1)*00(0+1)*

00, 100, 001, 000, 0100, 0100, 1001, 0000, 1100, 0011, 1010011, 110011

Tabel Transisi