Back to IF2224 Teori Bahasa Formal dan Otomata

Topic: Studi Kasus & Latihan Soal (Penerapan Teori)

Questions/Cues

  • Strategi Konversi CNF

  • Penanganan Unit &

  • Trik Pembuktian Closure

  • Logika Set Difference

  • Tracing CYK Manual

  • Analisis Tabel CYK

  • Apa itu Pumping Lemma?

  • Syarat Pumping Lemma

Reference Points

  • Slide-15_2025_CNF.pdf (Halaman 46) - Sumber Soal Utama

  • Bab 7 Sifat2 CFG.pdf (Halaman 57, 68)

1. Studi Kasus 1: Konversi ke CNF

Soal (Slide 15, Hal 46):

Ubah grammar berikut ke CNF:

Penyelesaian Step-by-Step:

Tahap 1: Eliminasi -production

  • Variabel Nullable: (karena ).

  • Produksi :

    • S ada:

    • S hilang:

  • Produksi :

    • S dua-duanya ada:

    • Satu S hilang:

    • Dua S hilang: (Hapus)

  • Hasil Sementara:

Tahap 2: Eliminasi Unit Production

  • Unit: (Hapus saja, tidak ngefek).

  • Hasil Sementara:

Tahap 3: Konversi ke Bentuk Normal ( atau )

  • Masalah 1: (Terminal campur).

    • Buat , .

    • Ubah jadi .

  • Masalah 2: (Panjang 3 & Terminal campur).

    • Ubah terminal: .

    • Pecah body: , .

Hasil Akhir (CNF):

  1. (Catatan: Jika bahasa asli memuat , boleh tambahkan khusus di start symbol).

2. Studi Kasus 2: Pembuktian Closure

Soal (Slide 15, Hal 46):

Apakah CFL tertutup (closed) terhadap operasi ?

(Petunjuk: )

Analisis Logika:

  1. Kita tahu rumus beda himpunan: .

  2. Jadi, melibatkan operasi Komplemen () dan Irisan ().

  3. Fakta: CFL TIDAK tertutup terhadap Komplemen.

  4. Fakta: CFL TIDAK tertutup terhadap Irisan.

Pembuktian Counter-Example:

  • Misal (Ini Regular, jadi pasti CFL).

  • Misal adalah CFL.

  • Maka (Komplemen dari ).

  • Karena CFL tidak tertutup terhadap komplemen, maka operasi pengurangan () juga TIDAK TERTUTUP (Not Closed).

3. Studi Kasus 3: Tracing Algoritma CYK

Soal (Slide 15, Hal 46):

Cek apakah diterima oleh grammar:

Penyelesaian Tabel CYK:

Input .

Basis (Panjang 1):

  • (): . Isi {A}.

  • (): . Isi {A}.

  • (): . Isi {B}.

  • (): . Isi {B}.

Induksi (Panjang 2):

  • (): . Cek . Isi {A}.

  • (): . Cek . Isi {S}.

  • (): . Cek . Isi {B}.

Induksi (Panjang 3):

  • ():

    • Split 1: (Tidak ada).

    • Split 2: . Cek . Isi {S}.

  • ():

    • Split 1: . Cek . Isi {S}.

    • Split 2: (Tidak ada).

Induksi (Panjang 4 - Final):

  • ():

    • Split 1 (): (Nihil).

    • Split 2 (): . Ada .

    • Split 3 (): (Nihil).

  • Hasil .

Kesimpulan: Karena , maka string DITERIMA (VALID).

Summary

Latihan soal ini mendemonstrasikan aplikasi praktis dari teori CFL. Konversi CNF mengajarkan kita disiplin memecah struktur grammar kompleks menjadi bentuk biner sederhana. Pembuktian Closure melatih logika himpunan untuk membuktikan ketidaktetupan operasi pengurangan. Algoritma CYK membuktikan keampuhannya sebagai parser yang sistematis; meskipun kita bisa menebak valid secara intuitif (), CYK memberikan bukti matematis yang tak terbantahkan melalui pengisian tabel.