Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
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.
2
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
3
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
4
Hukum Aljabar Ekspresi Reguler
Sifat Komutatif dan Asosiatif Identitas dan Anihilator Hukum Distributif Hukum Idempoten
5
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
6
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 ‘=’
7
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
8
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.
9
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.
10
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
11
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
12
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
13
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 )
14
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
15
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
16
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
17
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.
18
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, dan lainnya.
19
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
20
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?
21
Contoh: ER untuk Mesin FSA berikut? 1.
Cara: Amati perilaku otomata tersebut
22
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*
23
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.
24
Menemukan Pola dalam Teks
Berkaitan dengan penggunaan otomata untuk pencarian sebuah kata dalam file atau penyimpanan yang besar seperti Web
25
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\.
26
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
27
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)
28
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
29
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’
30
Latihan Tentukan FSA dari ER berikut: ER : 0 (1 U 0)* ER : 01*0
ER : a* ER : a(ba)* ER : (ab)*
31
Latihan Tentukan ER untuk Mesin FSA berikut:
32
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
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.