TR
3
Chomsky Normal Form
▪ Bentuk normal Chomsky (CNF) merupakan salah satu
bentuk normal yang sangat berguna untuk tata bahasa
bebas konteks (CFG)
TR
4
Chomsky Normal Form | aturan
▪ Ruas kanan adalah sebuah simbol terminal atau dua simbol variabel.
▪ Jika terdapat lebih dari satu simbol terminal maka harus dilakukan
penggantian dan juga jika terdapat lebih dari dua simbol variabel maka
harus dilakukan perubahan.
Misalnya :
▪ A → BC | d
▪B → CA
▪C → a
TR
5
1. Penghilangan Produksi Useless
Produksi Useless :
▪ Produksi yang memuat simbol variabel yang tidak memiliki
penurunan yang akan menghasilkan terminal-terminal seluruhnya,
produksi ini tidak berguna karena bila diturunkan tidak akan pernah
selesai (masih ada simbol variabel yang tersisa)
▪ Produksiyang tidak akan pernah dicapai dengan penurunan apapun
dari simbol awal, sehingga produksi itu redundan (berlebih)
TR
6
Produksi Useless | Contoh:
S→ AB | a
A → a
Disederhanakan menjadi :
Aturan S→ AB tidak berarti karena B tidak memiliki
penurunan
TR
S → a
A → a 7
Produksi Useless | Contoh:
S → aSa | Abd | Bde
A → Ada
B → BBB | a
▪ Simbol A tdk memiliki penurunan yang menuju terminal, sehingga bisa dihilangkan
▪ Konsekuensi no 1, aturan produksi S → Abd tidak memiliki penurunan
Bentuk sederhana :
S → aSa | Bde
TR
B → BBB | a 8
2. Produksi Unit
Definisi Produksi Unit:
▪ Produksi dimana ruas kiri dan kanan aturan
produksi hanya berupa 1 simbol variabel, misalnya
AB
▪ Penyederhaan ini dilakukan dengan melakukan
penggantian aturan produksi unit.
TR
9
Produksi Unit | Contoh:
S Sb
S C
C D
C ef
D dd
Pergantian yang dilakukan adalah:
C D menjadi C dd Bentuk sederhana :
S C menjadi S dd | ef S Sb
S dd | ef
C dd
TR
C ef
D dd 10
Produksi Useless | Contoh:
S → aB Sehingga menjadi :
A → bcD | dAC S → aB
B → e | Ab B → e
C → bCb | ab
C → bCb | adF | ab
F → cFB
Langkah penyederhaan :
1. A → bCD, D tidak memiliki penurunan. Konsekuensi no1, A tidak memiliki
penurunan yang menuju terminal
2. B → Ab tidak memiliki penurunan
TR
3. F tidak memiliki penurunan yang menuju terminal
4. C → adF tidak memiliki penurunan 11
3. Penghilangan Produksi ℰ
TR
12
Produksi epsilon | Contoh:
S bcAd
A 𝜺
Pada kasus diatas A nullable, maka variabel A bisa
ditiadakan.
Hasil penyederhanaan
S bcd
TR
13
Produksi epsilon | Contoh:
S bcAd
A bd | 𝜺
▪ Hasil penyederhanaan
S bcAd | bcd
A bd
TR
14
Produksi epsilon | Contoh:
S -> dA I Bd Disederhanakan menjadi:
A -> bc S-> dA I d I Bd
A -> ε A -> bc
B -> c B -> c
Kondisi :
A nullable tapi A -> ε bukan penurunan satu-satunya dari A
TR
15
CNF|Latihan:
TR
16
S -> AaCD D -> ε, maka:
A -> CD | AB S-> AaCD => S -> AaC
A -> CD => A -> C
B -> b | ε
D -> ε dihapus.
C -> d | ε
D -> ε ▪ B & C -> ε, maka
S -> Aac
TR
A-> C|AB
B -> b 17
C -> d
Pembentukan Bentuk Normal Chomsky
• Biarkan aturan produksi yang sudah dalam bentuk normal Chomsky
TR
18
Alur penyederhanaan Tata Bahasa Bebas Konteks
CFG
Penghilangan Penghilangan
produksi 𝜺 produksi unit
CFG yang
Penghilangan
sudah
produksi useless
disederhanakan
TR
19
Pembentukan Bentuk Normal Chomsky| Contoh:
▪ S→bA | aB
▪ A→bAA | aS | a
▪ B→aBB | bS | b
TR
20
Pembentukan Bentuk Normal Chomsky| Contoh:
▪ S→bA | aB
▪ A→bAA | aS | a
▪ B→aBB | bS | b
TR
21
Pembentukan Bentuk Normal Chomsky| Contoh:
S→bA | aB
Lakukan Penggantian aturan Produksi yang
A→bAA | aS | a
belum bentuk normal Chomsky: B→aBB | bS | b
▪ S→bA S→P1A
▪ S→aB S→2B
TR
▪ B→bS B→P1S
22
Pembentukan Bentuk Normal Chomsky| Contoh:
S→bA | aB
Terbentuk aturan produksi dan simbol variabel baru
A→bAA | aS | a
▪ S→bA S→P1A B→aBB | bS | b
▪ S→aB S→P2B
P1 → b
▪ A→bAA A→P1AA A→P1P3 P2 → a
▪ A→aS A→P2S P3 → AA
P4 → BB
▪ B→aBB B→P2BB B→P2P4
TR
▪ B→bS B→P1S
23
Pembentukan Bentuk Normal Chomsky| Contoh:
S→bA | aB
Hasil akhir aturan produksi dalam bentuk normal Chomsky :
A→bAA | aS | a
▪ S→ P1 A | P 2B B→aBB | bS | b
▪ A→P1P3 | P 2S
▪ B→P2P4 | P 1S
P1 → b
▪ P1 → b
P2 → a
▪ P2 → a
▪ P3 → AA P3 → AA
▪ P4 → BB P4 → BB
TR
24
Greibach Normal Form
C → aV
Pengertian Bentuk Normal Greibach
▪ BentukNormal Greibach merupakan bentuk normal yang memiliki
banyak konsekuensi teoritis dan praktis. Dalam bentuk normal
Greibach kita membatasi posisi munculnya terminal-terminal dan
variabel-variabel. Suatu tata bahasa bebas konteks
▪ suatu tata bahasa bebas konteks dalam bentuk normal Greibach
bila hasil produksinya (ruas kanan) diawali dengan satu symbol
terminal, selanjutnya bisa diikuti oleh rangkaian symbol variabel.
TR
26
GNF | Contoh
▪ S a | aAB
▪ A aB
▪ B cS
Untuk dapat diubah ke dalam bentuk normal Greibach, tata bahasa semula harusmemenuhi syarat:
▪ Tidak menghasilkan ε
TR
Ada dua cara pembentukan bentuk normal
Greibach yaitu substitusi dan perkalian matriks
27
Pembentukan GNF dengan Substitusi
Langkah – langkahnya :
1. Tentukan urutan simbol-simbol variabel
2. Berdasarkan urutan simbol yang ditetapkan, seluruh aturan produksi yang ruas kanannya
diawali dengan variabel dapat dituliskan menjadi :
Ah → Ai γ
h <> i, adalah simbol variabel
a.Jika h < i, maka aturan sudah benar
b.jika h > i, aturan produksi salah. Lakukan substitusi berulang terhadap Ai, sehingga diperoleh produksi
dalam bentuk :
Ah → Apγ (dimana h ≤ p)
Jika h = p, lakukan penghilangan rekursif kiri
TR
Jika h < p, aturan produksi sudah benar
28
Pembentukan GNF dengan Substitusi
3. Jika terjadi penghilangan rekursif kiri pada tahap (2b), sejumlah variabel baru
yang muncul dari operasi ini dapat disisipkan pada urutan variabel semula
dimana saja asalkan tidak sebelum Ah (di kiri)
4. Setelah langkah (2) & (3) dikerjakan, maka aturan-aturan produksi yang ruas
kanannya dimulai simbol variabel sudah berada dalam urutan yang benar.
Ax → Ayγ (dimana x < y)
Produksi-produksi yang lain dalam bentuk :
Ax → a (a = simbol terminal)
Bx → Bx = simbol variabel baru yang muncul
TR
sebagai akibat dari operasi penghilangan ekursif kiri
29
Pembentukan GNF dengan Substitusi
TR
30
Contoh:
▪ Simbol awal S :
S → CA
A→a|d
B→ b
C → DD
D → AB
TR
31
S → CA
A→a|d
B→ b
Langkah – langkah : C → DD
D → AB
TR
▪ D → AB (tidak memenuhi, karena D > A)
32
S → CA
A→a|d
B→ b
Langkah – langkah : C → DD
D → AB
Lakukan substitusi mundur pada aturan yang belum dalam bentuk normal Greibach
▪ C → DD → aBD | dBD
▪ S → CA → aBDA | dBD
TR
▪ C → aBD | dBD ruas kiri dengan urutan variabel paling akhir ( kasus diatas:
S<A<B<C<D, maka C lebih dulu disubstitusi daripada S). 33
▪ D → aB | dB
Resume Langkah
Perhatikan : setiap substitusi dilakukan pada symbol variabel pertama pada ruaskanan (pada aturan
produksi yang belum bentuk normal Greibach tentunya). Prinsipnya:
1. Biarkan aturan produksi yang sudah dalam bentuk normal Greibach
2. Tentukan pengurutan simbol variabel, berdasarkan kondisi aturan produksi yang ada buatlah
urutan sedemikian sehingga memudahkan untuk proses selanjutnya. Mulailah terlebih dahulu
dari simbol awal.
3. Lakukan perubahan pada aturan produksi yang belum memenuhi ketentuan urutan tersebut
dan bila perlu selama proses itu bisa dilakukan substitusi dan penghilangan rekursif kiri
4. Lakukan substitusi mundur sedemikian rupa sehingga semua aturan produksi akan diawali
dengan tepat sebuah simbol terminal. Proses substitusi mundur mulai dari aturan produksi
dengan urutan paling akhir.
5. Lakukan substitusi mundur juga pada aturan produksi baru yang muncul sebagai hasil
penghilangan rekursif kiri.
TR
34