materi

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:

  1. Union (++): Pilihan logis (OR). Contoh: L(a+b)={a,b}L(a + b) = \{a, b\}.

  2. Concatenation (\cdot): Penyambungan berurutan (AND THEN). Biasanya titik penyambung dihilangkan (ababab \equiv a \cdot b).

  3. Kleene Star Closure (*): Pengulangan nol kali atau lebih.

Urutan Evaluasi Operator (Hierarki Presedensi):

  1. Prioritas 1 (Tertinggi): Operator Closure (*).

  2. Prioritas 2 (Menengah): Operator Penyambungan (\cdot).

  3. Prioritas 3 (Terendah): Operator Penggabungan (++).

Contoh Hierarki Evaluasi: Ekspresi P+QRP + Q \cdot R^* dievaluasi sebagai P+(Q(R))P + (Q \cdot (R^*)), bukan (P+Q)R(P + Q) \cdot R^*.

4 Identitas Krusial Kleene Star & Positive Closure:

  1. R+=RR=RRR^+ = R \cdot R^* = R^* \cdot R
  2. R=ϵ+R+R^* = \epsilon + R^+
  3. L(ϵ)={ϵ}L(\epsilon^*) = \{\epsilon\}
  4. L()={ϵ}L(\emptyset^*) = \{\epsilon\} (Perhatikan: Pengulangan himpunan kosong nol kali menghasilkan string kosong ϵ\epsilon!)


2. Algoritma Thompson: Konversi RE ke ϵ\epsilon-NFA

Algoritma Thompson menyediakan blok pembangun (building blocks) modular:

  1. Untuk ϵ\epsilon: State awal {\text{in}} \xrightarrow{\epsilon} q_{\text{out}}$ (state final).
  2. **Untuk simbol \in \Sigma:Stateawalinaqout**: State awal {\text{in}} \xrightarrow{a} q_{\text{out}} (state final).
  3. Untuk Union ( + R_2$): State awal baru bercabang $\epsilon$ ke start $ dan start $; final $ dan final $ bercabang $\epsilon$ ke state final baru.
  4. Untuk Concatenation ( \cdot R_2$): Hubungkan state final $ ke state awal $ dengan transisi $\epsilon$.
  5. 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 ϵ\epsilon ke cabang atas (aa^*) dan cabang bawah (bcb \cdot c).

  • Pada cabang atas: State awal aa memiliki bypass ϵ\epsilon ke akhir dan loop balik ϵ\epsilon setelah membaca aa.

  • Pada cabang bawah: Simbol bb dihubungkan via ϵ\epsilon ke simbol cc.

  • Kedua cabang bermuara via transisi ϵ\epsilon ke satu state final bersama.

2. Graf Transisi yang Disederhanakan:

Transisi ϵ\epsilon internal yang berlebihan disederhanakan:

  • Cabang atas: Loop aa dan bypass ϵ\epsilon dipadatkan.

  • Cabang bawah: Busur berurutan bb langsung menuju transisi cc.

  • 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 PP dan QQ adalah dua ekspresi reguler di mana ϵP\epsilon \notin P, maka persamaan:

R=Q+RPR = Q + RP

memiliki solusi unik:

R=QPR = QP^*

Langkah Penerapan:

  1. Nyatakan setiap state qiq_i sebagai persamaan aljabar dari seluruh panah transisi yang masuk ke qiq_i:
qi=qjaji+(ϵ jika qi adalah state awal q0)q_i = \sum q_j \cdot a_{ji} + (\epsilon \text{ jika } q_i \text{ adalah state awal } q_0)
  1. Gunakan substitusi aljabar dan Teorema Arden (R=Q+RP    R=QPR = Q + RP \implies R = QP^*) hingga diperoleh nilai ekspresi reguler murni untuk setiap state final.

  2. 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 (*, ++, \cdot).

Soal 1.2

Buktikan bahwa L()={ϵ}L(\emptyset^*) = \{\epsilon\}.


Pembahasan/Jawaban

1.1 Presedensi tertinggi adalah Closure (*), diikuti Concatenation (\cdot), dan terendah adalah Union (++).

1.2 Berdasarkan definisi perpangkatan bahasa, L0={ϵ}L^0 = \{\epsilon\} untuk sembarang bahasa LL, termasuk L=L = \emptyset. Karena =01={ϵ}={ϵ}\emptyset^* = \emptyset^0 \cup \emptyset^1 \cup \dots = \{\epsilon\} \cup \emptyset = \{\epsilon\}.


Level 2 - Intermediate

Soal 2.1

Diberikan R=ϵ+1R = \epsilon + 1 dan S=ϵ+0+1S = \epsilon + 0 + 1. Hitung bahasa hasil konkatenasi T=RST = R \cdot S secara eksplisit.


Pembahasan/Jawaban

L(R)={ϵ,1}L(R) = \{\epsilon, 1\} dan L(S)={ϵ,0,1}L(S) = \{\epsilon, 0, 1\}.

L(T)=L(R)L(S)={ϵϵ,ϵ0,ϵ1,1ϵ,10,11}={ϵ,0,1,1,10,11}={ϵ,0,1,10,11}L(T) = L(R) \cdot L(S) = \{\epsilon \cdot \epsilon, \epsilon \cdot 0, \epsilon \cdot 1, 1 \cdot \epsilon, 1 \cdot 0, 1 \cdot 1\} = \{\epsilon, 0, 1, 1, 10, 11\} = \{\epsilon, 0, 1, 10, 11\}

(Catatan: perhitungan aljabar lengkapnya menghasilkan {ϵ,0,1,10,11}\{\epsilon, 0, 1, 10, 11\}).


Level 3 - Advanced

Soal 3.1

Gunakan Teorema Arden untuk mencari ekspresi reguler dari state q1q_1 jika diketahui persamaan:

q1=q10+1q_1 = q_1 0 + 1

di mana $1$ adalah input dari state sebelumnya dan $0$ adalah self-loop pada q1q_1.


Pembahasan/Jawaban

Bentuk persamaan: q1=1+q10q_1 = 1 + q_1 \cdot 0.

Pencocokan pola dengan Teorema Arden R=Q+RPR = Q + RP:

  • R=q1R = q_1
  • Q=1Q = 1
  • P=0P = 0 (karena ϵ{0}\epsilon \notin \{0\}, syarat terpenuhi)

Solusi unik menurut Teorema Arden adalah:

R=QP    q1=10=10R = QP^* \implies q_1 = 1 \cdot 0^* = 10^*

Exam Cheat Sheet

  • Presedensi Operator: >>+* > \cdot > +.

  • Identitas Kunci:

    • R+=RR=RRR^+ = R R^* = R^* R
    • R=ϵ+R+R^* = \epsilon + R^+
    • ={ϵ}\emptyset^* = \{\epsilon\}
  • Formula Teorema Arden:

R=Q+RP    R=QP(syarat: ϵP)R = Q + RP \implies R = QP^* \quad (\text{syarat: } \epsilon \notin P)
  • Konstruksi Thompson: Memetakan setiap operator RE ke modul ϵ\epsilon-NFA terstandarisasi.

Referensi & Bahan Bacaan

  1. Ken Thompson. Regular Expression Search Algorithm (Communications of the ACM, 1968).

  2. Stephen Cole Kleene. Representation of Events in Nerve Nets and Finite Automata (RAND Corporation, 1951).

  3. D. N. Arden. Delayed-Logic and Finite-State Machines (Theory of Computing Systems, IEEE, 1960).

  4. 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.