Anda di halaman 1dari 27

Penyederhanaan CFG

Pertemuan Ke - 11

Sri Handayaningsih, S.T., M.T.


Email : ning_s12@yahoo.com
Teknik Informatika
TIU & TIK

1. Mengetahui proses penyederhanaan


CFG

2
Aturan Substitusi
Gramer yg
Equivalent
S  aB
S  aB | ab
A  aaA Substitusi
A  aaA
A  abBc B b A  abBc | abbc
B  aA
B  aA
B b
3
Aturan Substitusi
S  aB | ab
A  aaA
A  abBc | abbc
B  aA
Substitusi
B  aA
S  aB | ab | aaA
Gramer
A  aaA Equivalent

A  abBc | abbc | abaAc 4


Secara Umum :

A  xBz

B  y1
Substitute

B  y1
Gramer
A  xBz | xy1z Equivalent

5
Variabel Kosong/Null

produksi : A

Variabel Kosong /null: A  

6
Memindahkan Variabel Kosong
Contoh Gramer:

S  aMb
M  aMb
M 

Variabel Kosong
7
Gramer Akhir

S  aMb
S  aMb
S  ab
M  aMb
Substitusi
M 
M  aMb
M 
M  ab

8
Unit-Produksi

Unit Produksi: A B

(variabel tunggal pada dua sisi)

9
Memindahkan Unit Produksi
Observasi:

A A

Apakah berpindah immediately

10
Contoh Gramer:

S  aA
Aa
AB
BA
B  bb
11
S  aA
S  aA | aB
Aa
Substitusi Aa
AB A B B  A| B
BA
B  bb
B  bb
12
S  aA | aB S  aA | aB
Aa Berpindah
Aa
B  A| B BB BA
B  bb B  bb

13
S  aA | aB
S  aA | aB | aA
Aa Substitusi
BA Aa
BA
B  bb
B  bb

14
Pengulangan pemindahan produksi

Gramer akhir
S  aA | aB | aA S  aA | aB
Aa Aa
B  bb B  bb

15
Produksi yang tidak berguna
S  aSb
S 
SA
A  aA Produksi
Tdk berguna

Beberapa derivasi tidak akan berakhir...

S  A  aA  aaA    aa aA   16
Gramer lain :

SA
A  aA
A
Produksi
B  bA Tdk berguna
Tidak dapat tercapai dari S

17
Secara Umum: Hanya
terminal

Jika S    xAy    w

w L(G )

kemudian variabel A digunakan

kecuali, variabel A tidak dugunakan

18
produksi
A x
tidak digunakan
Jika variabel tidak digunakan

S  aSb
S  Produksi

Variabel SA Tidak digunakan

Tidak digunakan A  aA Tidak digunakan

Tidak digunakan B  C Tidak digunakan

Tidak digunakan C  D Tidak digunakan


19
Memindahkan produksi yg tdk
digunakan

20
Pertama: Temukan Semua variabel yg dapat
Memproduksi string yg hanya terminal

S  aS | A | C putaran 1: { A, B}
Aa SA
B  aa
C  aCb putaran 2:{ A, B, S }

21
Simpan hanya variabel
Yg memproduksi simbol terminal: { A, B, S }
(variabel lain tdk digunakan)

S  aS | A | C
Aa S  aS | A
B  aa Aa
C  aCb B  aa
Pindahkan produksi yg tdk digunakan
22
Kedua : Temukan semua variabel
Yg tdk tercapai dari S

Gunakan graf Dependensi

S  aS | A
Aa S A B
B  aa tdk
tercapai
23
Temukan semua variabel
Yg tdk tercapai dari S
(variabel lain tdk digunakan)

Gramer Akhir
S  aS | A
S  aS | A
Aa
Aa
B  aa

Pindahkan produksi yg tdk digunakan


24
Pindahkan semua

Langkah 1: pindahkan variabel kosong

Langkah 2: pindahkan Unit-Produksi

Langkah 3: pindahkan variabel yg tdk


berguna
25
Tugas
1. Pindahkan Produksi yg tdk digunakan

S  aS | A | C
Aa
B  aa
C  aCb

26
Pustaka
1. Tedy Setiadi, Diktat Teori Bahasa dan Otomata,
Teknik Informatika UAD, 2005
2. Hopcroft John E., Rajeev Motwani, Jeffrey D. Ullman,
Introduction to Automata Theory, Languages, and
Computation, 2rd, Addison-Wesley,2000
3. Martin C. John, Introduction to Languages and Theory of
Computation, McGraw-Hill Internatioanal edition,1991
4. Linz Peter,Introduction to Formal Languages & Automata,
DC Heath and Company, 1990
5. Dulimarta Hans, Sudiana, Catatan Kuliah Matematika
Informatika, Magister Teknik Informatika ITB, 1998
6. Hinrich Schütze, IMS, Uni Stuttgart, WS 2006/07,
Slides based on RPI CSCI 2400

TEORI BAHASA OTOMATA


27

Anda mungkin juga menyukai