BAGUS ADHI KUSUMA, S.T., M.Eng.

Slides:



Advertisements
Presentasi serupa
Teori Bahasa dan Automata
Advertisements

Teori Bahasa dan Automata
Pertemuan 6 Ekspresi dan Bahasa Regular
Pertemuan 9 Sifat-sifat Bahasa Regular
Teori Bahasa dan Automata
SUATU FINITE STATE AUTOMATA
Oleh: BAGUS ADHI KUSUMA, ST
TEORI BAHASA DAN OTOMATA
BAB II FINITE STATE AUTOMATA.
14. PUSH DOWN AUTOMATA.
Teori Bahasa & OTOMATA.
Pertemuan 3 Finite Automata
BAB II FINITE STATE AUTOMATA.
BAB II FINITE STATE AUTOMATA.
BAB V EKSPRESI REGULER 1. Penerapan Ekspresi Reguler
Mahasiswa mampu menerapkan konsep Ekspresi Reguler
Pertemuan 3 BAHASA REGULAR
BAB V EKSPRESI REGULER 1. Penerapan Ekspresi Reguler
TEORI BAHASA DAN AUTOMATA
7. ATURAN PRODUKSI.
TEORI BAHASA DAN AUTOMATA
Ekspresi Reguler.
PENDAHULUAN.
NON DETERMINISTIC FINITE AUTOMATA DENGAN ε - MOVE
14. PUSH-DOWN AUTOMATA.
BAB II FINITE STATE AUTOMATA.
BAB II FINITE STATE AUTOMATA.
PENDAHULUAN.
Teori Bahasa dan Automata
KONSEP GRAMMAR & HIRARKI CHOMSKY
FINITE STATE AUTOMATA (FSA)
Teori-Bahasa-dan-Otomata
BAB II FINITE STATE AUTOMATA.
TEORI GRAF DAN OTOMATA Pendahuluan Bagus Adhi Kusuma, S.T., M.Eng.
Teori Bahasa dan Automata
BAB VII ALJABAR BOOLEAN waniwatining.
Reguler Expression (Ekspresi reguler)
TEORI BAHASA DAN AUTOMATA TATA BAHASA LEVEL BAHASA
Teori-Bahasa-dan-Otomata
Program Studi Teknik Informatika STMIK AMIKOM Purwokerto
Program Studi Teknik Informatika STMIK AMIKOM Purwokerto
TEORI BAHASA DAN OTOMATA
Logika Matematika Teori Himpunan
ATURAN PRODUKSI TATA BAHASA REGULER
Reduksi Jumlah State pada Finite State Automata
OTOMATA DAN TEORI BAHASA FORMAL
OTOMATA DAN TEORI BAHASA FORMAL
BAB II FINITE STATE AUTOMATA.
OTOMATA DAN TEORI BAHASA 2
GABUNGAN & KONKATENASI
Finite State Automata ♦ model matematika yang dapat menerima input dan mengeluarkan output ♦ Memiliki state yang berhingga banyaknya dan dapat berpindah.
Sistem Bilangan Bulat.
EKSPRESI REGULER BAB 7.
Ekspresi Regular dan Hubungannya dengan FSA
OTOMATA DAN TEORI BAHASA 4
Persamaan dan Pertidaksamaan
(ii) a + (b c) = (a + b) (a + c)
Erwin Hidayat (M ) UTeM || 2010
Pertemuan3.
Ekuivalensi NFA KE DFA *YANI*.
Teori Bahasa dan Automata
Logika Matematika Teori Himpunan
Pertemuan4.
Logika Matematika Teori Himpunan
TEORI BAHASA DAN OTOMATA. Pengenalan Teori Bahasa dan Otomata Teori bahasa dan otomata merupakan mata kuliah yang cenderung bersifat teoritis, tidak memuat.
BAB 3 ALJABAR BOOLEAN.
OTOMATA DAN TEORI BAHASA 8.
Otomata & Teori Bahasa Finite State Automata: - Non Deterministic Finite Automata dengan -move - Penggabungan dan Konkatenasi FSA.
Reduksi Jumlah State pada Finite State Automata
OTOMATA DAN TEORI BAHASA 8.
Transcript presentasi:

BAGUS ADHI KUSUMA, S.T., M.Eng. TEORI GRAF DAN OTOMATA PROGRAM STUDI TEKNIK INFORMATIKA STIMIK AMIKOM PURWOKERTO REGULAR EXPRESSION BAGUS ADHI KUSUMA, S.T., M.Eng.

Ekspresi Reguler Sebuah bahasa dinyatakan memiliki ekspresi regular jika terdapat Finite State Automata (FSA) yang dapat menerimanya. Bahasa-bahasa yang diterima oleh FSA bisa dinyatakan secara sederhana dengan ekspresi regular (regular expression) Contoh penerapan: Searching string pada file

Notasi Ekspresi Reguler ‘*’  bisa tidak muncul, bisa juga muncul berhingga kali ER : ab*cc, 010*, a*d ‘+’  berarti minimal muncul satu kali + atau U  union . (titik)  konkatenansi Biasanya tanpa ditulis titiknya, misal ab, berarti sama dengan a.b

Hukum Aljabar Ekspresi Reguler Sifat Komutatif dan Asosiatif Identitas dan Anihilator Hukum Distributif Hukum Idempoten

Hukum Aljabar Ekspresi Reguler Sifat Komutatif dan Asosiatif Sifat Komutatif Dapat membalik urutan operand-operand nya dan tetap memperoleh hasil akhir yang sama Sifat Asosiatif Memungkinkan kita untuk mengelompokkan operand nya ketika operator dikenakan dua kali

Sifat Komutatif & Asosiatif yang berlaku pada ER A + B = B + A Hukum ini (hukum komutatif untuk gabungan) menyatakan bahwa kita dapat melakukan gabungan dua bahasa tersebut, baik dengan urutan seperti di sebelah kiri ‘=’ maupun seperti di sebelah kanan ‘=’

Sifat Komutatif & Asosiatif yang berlaku pada ER (A + B) + C = A + (B + C) Hukum ini (hukum asosiatif untuk gabungan) menyatakan bahwa kita dapat melakukan gabungan pada tiga bahasa, baik dengan mengambil gabungan dua bahasa pertama terlebih dahulu maupun dengan mengambil gabungan dua bahasa terakhir

Sifat Asosiatif & Komutatif yang berlaku pada ER (AB) C = A (BC) Hukum ini (hukum asosiatif untuk penyambungan/ concatenation) menyatakan bahwa kita dapat merenteng tiga bahasa dengan menyambung dua bahasa pertama terlebih dahulu atau dua bahasa terakhir terlebih dahulu.

Hukum : AB = BA tidak berlaku dalam ekspresi reguler Contoh: ekspresi reguler 01 dan 10 Ekspresi tersebut berturut-turut melambangkan bahasa {01} dan {10}. ekspresi 0 untuk A dan 1 untuk B tidak dapat disubstitusi. Karena bahasanya berbeda, maka hukum AB=BA tidak berlaku.

Hukum Aljabar Ekspresi Reguler Identitas dan Anihilator Identitas suatu operator Nilai yang sedemikian sehingga ketika dikenakan pada identitas dan suatu nilai lain, maka hasilnya nilai lain lagi Contoh: 0 adalah identitas untuk penjumlahan, karena 0 + x = x + 0 = x 1 adalah identitas untuk perkalian, karena 1 x x = x x 1 = x

Anihilator untuk suatu operator Nilai yang sedemikian sehingga ketika operator tersebut dikenakan pada anihilator dan suatu nilai lain, hasilnya adalah anihilator Contoh: 0 adalah anihilator untuk perkalian, karena 0 x x = x x 0 = 0

Hukum Identitas dan Anihilator yang berlaku pada ER θ + L = L + θ = L Hukum ini menegaskan bahwa θ adalah identitas untuk operasi gabungan Є L = L Є = L Hukum ini menegaskan bahwa Є adalah identitas untuk operasi concatenation θ L = L θ = θ Hukum ini menegaskan bahwa θ adalah anihilator untuk operasi concatenation

Hukum Aljabar Ekspresi Reguler Hukum Distributif Hukum distributif melibatkan dua operator, dan menyatakan bahwa salah satu operator dapat dipaksa untuk dikenakan pada tiap-tiap argumen operator lain secara individual Contoh: hukum distributif perkalian atas penjumlahan x x ( y + z ) = ( x x y ) + ( x x z )

Hukum Distributif yang berlaku pada ER A ( M + N) = AM + AN Hukum ini adalah hukum distributif kiri concatenation terhadap gabungan (union) (M + N)A = MA + NA Hukum ini adalah hukum distributif kanan concatenation terhadap gabungan (union) Gabungan dan Irisan adalah contoh sederhana operator idempoten

Hukum Aljabar Ekspresi Reguler Hukum Idempoten Suatu operator dikatakan idempoten jika hasil penerapannya pada dua nilai yang sama sebagai argumen adalah nilai itu sendiri Operator aritmetika biasa tidak bersifat idempoten; x + x ≠ x dan x x x ≠ x Gabungan dan Irisan adalah contoh sederhana operator idempoten

Hukum Idempoten yang berlaku pada ER L + L = L Hukum ini (hukum idempoten untuk gabungan) menyatakan bahwa jika kita mengambil gabungan dari dua ekspresi yang identik, kita dapat mengganti keduanya dengan satu salinan ekspresi tersebut

Contoh Ekspresi Regular ER : ab*cc Maka b bisa tidak muncul atau muncul sejumlah berhingga kali Contoh string yang bisa dibangkitkan: abcc, acc, abbcc, abbbcc, dan lainnya. ER : 010* Maka 0 bisa tidak muncul atau muncul sejumlah berhingga kali Contoh string yang bisa dibangkitkan: 01, 010, 0100, 01000, dan lainnya.

Contoh Ekspresi Regular ER : Maka a minimal muncul satu kali Contoh string yang bisa dibangkitkan: ad, aad, aaad, aaaad dan lainnya. ER : a* U b* Contoh string yang bisa dibangkitkan: a, b, aa, bb dan lainnya. ER : 01* + 0  Sama dengan U Contoh string yang bisa dibangkitkan: 00, 010, 0110 dan lainnya.

Hubungan ER dengan FSA Untuk setiap ER ada satu NFA dengan transisi ( NFA – move) yang ekuivalen Sementara untuk setiap DFA, ada satu ER dari bahasa yang diterima oleh DFA

Contoh: FSA untuk ER tersebut? ER : ab ER : a*b ER : a U b ER : 010* ER : 0(1 U 0) FSA untuk ER tersebut?

Contoh: ER untuk Mesin FSA berikut? 1. Cara: Amati perilaku otomata tersebut

Input yang menuju final state (q2) adalah 0, atau 10* Pada state q2, menerima input 1 dalam jumlah berapapun (1*) akan tetap di q2 MAKA Bisa dikatakan mesin itu menerima 01* atau 10*11* ER : 01* U 10*11*

Penerapan Ekspresi Regular Ekspresi regular merupakan perkakas ampuh untuk manipulasi teks dan data. Perkakas yang mendukung ER biasanya mampu menambah , menghilangkan mengisolasi terhadap semua jenis teks dan data. Ekspresi regular biasa digunakan untuk pencarian string dalam sebuah file.

Menemukan Pola dalam Teks Berkaitan dengan penggunaan otomata untuk pencarian sebuah kata dalam file atau penyimpanan yang besar seperti Web

Contoh : Ingin menglasifikasikan tempat berdasarkan lokasi Hal yang harus dipertimbangkan: Apakah alamat jalan yang dimaksud? Untuk memulai, jalan mungkin akan disebut ‘jalan’, ‘jl’ atau ‘jln’ Beberapa orang yang tinggal di perumahan dapat pula dituliskan di awal penulisan alamat dengan kata-kata ‘Perum’, atau ‘Perumahan’ Maka ekspresi regulernya: ER : jalan | jl | jln \. | Perum | Perumahan\.

ER : jalan | jl | jln \. | Perum | Perumahan\. Perhatikan bahwa: Pada ER tersebut kita menggunakan notasi gaya UNIX dengan menggunakan | ketimbang U sebagai operator union/gabungan Digunakan tanda \ didepan dot atau ‘.’ untuk menandakan akhir dari singkatan-singkatan yang mungkin digunakan

Biasanya setelah string jalan, alamat dituliskan dengan menyebut nama jalan tersebut, yang diawali dengan huruf kapital dan diikuti oleh beberapa huruf kecil Maka dapat didesripsikan pola nya dengan ekspresi reguler berikut: [A-Z] [a-z]* Beberapa nama jalan memiliki nama lebih dari satu kata, misalnya Jalan Jenderal Soedirman Maka deskripsi di atas dapat diubah menjadi: ([A-Z] [a-z]*) ( [A-Z] [a-z]*)*  (Jenderal) (Soedirman)

Alamat biasanya akan memasukkan nomor rumah sebagai bagian penting untuk menunjukkan sebuah lokasi Sebagian nomor rumah adalah angka namun ada beberapa yang juga merupakan gabungan angka dan huruf, misalnya 28A Maka dapat didesripsikan pola nya dengan ekspresi reguler berikut: [0-9]+ [A-Z]? operator ‘+’ digunakan untuk ‘satu atau lebih’ angka Operator ‘?’ digunakan untuk ‘nol (tidak ada) atau satu’ huruf kapital

Ekspresi lengkap untuk alamat yang kita buat adalah: ‘jalan | jl | jln \. | Perum | Perumahan\. [A-Z] [a-z]* ( [A-Z] [a-z])*)* [0-9]+ [A-Z]?’ ‘blank’ digunakan layaknya spasi Tanda petik digunakan untuk mencegah agar ekspresi tersebut tidak seperti beberapa ekspresi yang terpisahkan karena penggunaan ‘blank’

Latihan Tentukan FSA dari ER berikut: ER : 0 (1 U 0)* ER : 01*0 ER : a* ER : a(ba)* ER : (ab)*

Latihan Tentukan ER untuk Mesin FSA berikut:

Tugas Buatlah ekspresi reguler untuk mendeskripsikan lowongan pekerjaan Pertimbangkan bahwa para pencari pekerjaan bisa mencari berdasarkan, jurusan yang dibutuhkan, strata pendidikan, jumlah gaji, usia, lama pengalaman kerja di mana masing-masing jumlah stringnya bisa saja berbeda-beda