Chapter 8: Regular Expression (Ekspresi Reguler) dan Teorema Arden
Konsep & Pembahasan Terperinci
1. Komponen dan Presedensi Aljabar Reguler
Aljabar ekspresi reguler dibangun dari tiga komponen dasar:
Union (): Pilihan logis (OR). Contoh: .
Concatenation (): Penyambungan berurutan (AND THEN). Biasanya titik penyambung dihilangkan ().
Kleene Star Closure (): Pengulangan nol kali atau lebih.
Urutan Evaluasi Operator (Hierarki Presedensi):
Prioritas 1 (Tertinggi): Operator Closure ().
Prioritas 2 (Menengah): Operator Penyambungan ().
Prioritas 3 (Terendah): Operator Penggabungan ().
Contoh Hierarki Evaluasi: Ekspresi dievaluasi sebagai , bukan .
4 Identitas Krusial Kleene Star & Positive Closure:
(Perhatikan: Pengulangan himpunan kosong nol kali menghasilkan string kosong !)
2. Algoritma Thompson: Konversi RE ke -NFA
Algoritma Thompson menyediakan blok pembangun (building blocks) modular:
- Untuk : State awal {\text{in}} \xrightarrow{\epsilon} q_{\text{out}}$ (state final).
- **Untuk simbol \in \Sigma (state final).
- Untuk Union ( + R_2$): State awal baru bercabang $\epsilon$ ke start $ dan start $; final $ dan final $ bercabang $\epsilon$ ke state final baru.
- Untuk Concatenation ( \cdot R_2$): Hubungkan state final $ ke state awal $ dengan transisi $\epsilon$.
- Untuk Closure (^*$): Tambahkan loop $\epsilon$ dari final $ kembali ke awal $, dan buat jalur pintas (bypass) $\epsilon$ dari state awal baru langsung ke state final baru untuk mengakomodasi string kosong $\epsilon$.
Studi Kasus Thompson: = a^* + b \cdot c$
Ekspresi = a^* + b \cdot c$ tersusun atas dua sub-ekspresi yang digabung dengan union:
- Cabang atas: ^*$ (Closure atas $).
- Cabang bawah: \cdot c$ (Penyambungan $ lalu $).
1. Graf Thompson Lengkap:
State awal bercabang ke cabang atas () dan cabang bawah ().
Pada cabang atas: State awal memiliki bypass ke akhir dan loop balik setelah membaca .
Pada cabang bawah: Simbol dihubungkan via ke simbol .
Kedua cabang bermuara via transisi ke satu state final bersama.
2. Graf Transisi yang Disederhanakan:
Transisi internal yang berlebihan disederhanakan:
Cabang atas: Loop dan bypass dipadatkan.
Cabang bawah: Busur berurutan langsung menuju transisi .
Hasil automata mempertahankan ketepatan bahasa dengan jumlah state yang jauh lebih ringkas.
Teorema Arden: Mengubah DFA Menjadi Ekspresi Reguler
Teorema Arden digunakan untuk memecahkan sistem persamaan linear pada graf transisi:
Teorema Arden:
Jika dan adalah dua ekspresi reguler di mana , maka persamaan:
memiliki solusi unik:
Langkah Penerapan:
- Nyatakan setiap state sebagai persamaan aljabar dari seluruh panah transisi yang masuk ke :
Gunakan substitusi aljabar dan Teorema Arden () hingga diperoleh nilai ekspresi reguler murni untuk setiap state final.
Ekspresi reguler keseluruhan adalah gabungan () dari solusi seluruh state final.
Latihan Soal & Pembahasan
Level 1 - Basic
Soal 1.1
Sebutkan urutan presedensi dari ketiga operator dalam ekspresi reguler (, , ).
Soal 1.2
Buktikan bahwa .
Pembahasan/Jawaban
1.1 Presedensi tertinggi adalah Closure (), diikuti Concatenation (), dan terendah adalah Union ().
1.2 Berdasarkan definisi perpangkatan bahasa, untuk sembarang bahasa , termasuk . Karena .
Level 2 - Intermediate
Soal 2.1
Diberikan dan . Hitung bahasa hasil konkatenasi secara eksplisit.
Pembahasan/Jawaban
dan .
(Catatan: perhitungan aljabar lengkapnya menghasilkan ).
Level 3 - Advanced
Soal 3.1
Gunakan Teorema Arden untuk mencari ekspresi reguler dari state jika diketahui persamaan:
di mana $1$ adalah input dari state sebelumnya dan $0$ adalah self-loop pada .
Pembahasan/Jawaban
Bentuk persamaan: .
Pencocokan pola dengan Teorema Arden :
(karena , syarat terpenuhi)
Solusi unik menurut Teorema Arden adalah:
Exam Cheat Sheet
Presedensi Operator: .
Identitas Kunci:
Formula Teorema Arden:
- Konstruksi Thompson: Memetakan setiap operator RE ke modul -NFA terstandarisasi.
Referensi & Bahan Bacaan
Ken Thompson. Regular Expression Search Algorithm (Communications of the ACM, 1968).
D. N. Arden. Delayed-Logic and Finite-State Machines (Theory of Computing Systems, IEEE, 1960).
Hopcroft, Motwani, & Ullman. Introduction to Automata Theory (Chapter 3: Regular Expressions).
Catatan Penutup
Bab 8 menutup pembahasan kelas Bahasa Reguler dari sudut pandang aljabar. Pada bab berikutnya, Chapter 9: Context Free Grammar (CFG), kita melangkah keluar dari batas bahasa reguler untuk mempelajari tata bahasa rekursif yang melandasi perancangan kompilator modern.