Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Teori Bahasa dan Automata

Presentasi serupa


Presentasi berjudul: "Teori Bahasa dan Automata"— Transcript presentasi:

1 Teori Bahasa dan Automata
Penyederhanaan Tata Bahasa Bebas Konteks

2 Penyederhanaan Tata Bahasa Bebas Konteks
Tujuan 

3 Penyederhanaan Tata Bahasa Bebas Konteks
Tujuan  melakukan pembatasan sehingga tidak menghasilkan pohon penurunan yang memiliki kerumitan yang tak pelu atau aturan produksi yang tak berarti.

4 Penyederhanaan Tata Bahasa Bebas Konteks
Tujuan  melakukan pembatasan sehingga tidak menghasilkan pohon penurunan yang memiliki kerumitan yang tak pelu atau aturan produksi yang tak berarti. Contoh: Terdapat tata bahasa bebas konteks dgn aturan produksi: SAB  a Aa ???

5 Penyederhanaan Tata Bahasa Bebas Konteks
Tujuan  melakukan pembatasan sehingga tidak menghasilkan pohon penurunan yang memiliki kerumitan yang tak pelu atau aturan produksi yang tak berarti. Contoh: Terdapat tata bahasa bebas konteks dgn aturan produksi: SAB  a Aa B Tidak memiliki penurunan …

6 Penyederhanaan Tata Bahasa Bebas Konteks
Bagaimana dengan CFG berikut? SA AB BC CD Da  A Terlalu panjang path yang dilalui D  A : menyebabkan kerumitan (redundant)

7 Penyederhanaan Tata Bahasa Bebas Konteks
Suatu tata bahasa bebas konteks dapat disederhanakan dengan melakukan : Penghilangan produksi useless Penghilangan produksi unit Penghilangna produksi 

8 Penghilangan Produksi Useless
Produksi useless didefinisikan sebagai : Produksi yang memuat variabel yang tidak memiliki penurunan yang akan menghasilkan terminal-terminal seluruhnya. Produksi ini tidak berguna karena bila diturunkan tidak akan pernah selesai (masih ada symbol variabel yang tersisa) Produksi yang tidak akan pernah dicapai dengan penurunan apapun dari symbol awal, sehingga produksi itu berlebih.

9 Penghilangan Produksi Useless
Contoh : Terdapat tata bahasa bebas konteks : SaSa Abd  Bde AAda BBBB  a Simbol variabel A tidak memiliki penurunan yang menuju terminal sehingga bisa dihilangkan. Konsekuensi diatas, aturan produksi S  Abd tidak memiliki penurunan  Maka tata bahasa bebas konteks setelah disederhanakan menjadi : SaSa  Bde

10 Penghilangan Produksi Useless
Contoh : Terdapat tata bahasa bebas konteks : SaSa Abd  Bde AAda BBBB  a Simbol variabel A tidak memiliki penurunan yang menuju terminal sehingga bisa dihilangkan. Konsekuensi diatas, aturan produksi S  Abd tidak memiliki penurunan  Maka tata bahasa bebas konteks setelah disederhanakan menjadi : SaSa  Bde

11 Penghilangan Produksi Useless
Contoh : Terdapat tata bahasa bebas konteks : S Aa  B Aab  D Bb  E Cbb EaEa Simbol variabel D tidak memiliki penurunan Tidak ada penurunan yang mencapai simbol variabel C Simbol variabel E tidak memiliki penurunan menuju terminal Aturan2 Produksi yang useless : AD Cbb EaEa BE Tata bahasa bebas konteks setelah disederhanakan menjadi : SAa  B Aab Bb

12 Penghilangan Produksi Useless
Contoh : Sederhanakan CFG dengan Aturan produksi berikut dengan menghilangkan aturan2 produksi useless! SaAb  cEB AdBE  eeC Bff Cae Dh SaBD BcD  Ab Def AEd Fdc

13 Penghilangan Produksi Unit
Produksi unit adalah produksi dimana ruas kiri dan ruas kanan aturan produksi hanya berupa satu symbol variabel. e.g. A B, C  D Tata bahasa bebas konteks dgn aturan produksi : SSb SC CD Cef Ddd

14 Penghilangan Produksi Unit
Produksi unit adalah produksi dimana ruas kiri dan ruas kanan aturan produksi hanya berupa satu symbol variabel. e.g. A B, C  D Tata bahasa bebas konteks dgn aturan produksi : SSb SC CD Cef Ddd

15 Penghilangan Produksi Unit
Produksi unit adalah produksi dimana ruas kiri dan ruas kanan aturan produksi hanya berupa satu symbol variabel. e.g. A B, C  D Tata bahasa bebas konteks dgn aturan produksi : SSb SC C dd Cef Ddd

16 Penghilangan Produksi Unit
Produksi unit adalah produksi dimana ruas kiri dan ruas kanan aturan produksi hanya berupa satu symbol variabel. e.g. A B, C  D Tata bahasa bebas konteks dgn aturan produksi : SSb SC C dd Cef Ddd

17 Penghilangan Produksi Unit
Produksi unit adalah produksi dimana ruas kiri dan ruas kanan aturan produksi hanya berupa satu symbol variabel. e.g. A B, C  D Tata bahasa bebas konteks dgn aturan produksi : SSb S dd | ef C dd Cef Ddd

18 Penghilangan Produksi Unit
Produksi unit adalah produksi dimana ruas kiri dan ruas kanan aturan produksi hanya berupa satu symbol variabel. e.g. A B, C  D Tata bahasa bebas konteks setelah penghilangan produksi unit: SSb S dd | ef C dd Cef Ddd

19 Penghilangan Produksi Unit
Contoh: Sederhanakan CFG dengan Aturan produksi berikut dengan menghilangkan aturan2 produksi unit! SCba  D AbbC BSc  ddd CeA  f  C DE  SABC Egh

20 Penghilangan Produksi 
Produksi  adalah produksi dalam bentuk  (nullable) Penghilangan produksi  dilakukan dengan melakukan penggantian produksi yang memuat variabel yang bisa menuju produksi . Contoh: SbcAd A A nullable, A   Hasil penyederhanaan tata bahasa bebas konteks: Sbcd

21 Penghilangan Produksi 
Contoh: Terdapat tata bahasa bebas konteks : SbcAd Abd   A adalah variabel nullable Hasil penyederhanaan tata bahasa bebas konteks: SbcAd  bcd Abd

22 Penghilangan Produksi 
Contoh: Terdapat tata bahasa bebas konteks : SbcAd Abd   A adalah variabel nullable Hasil penyederhanaan tata bahasa bebas konteks: SbcAd  bcd Abd

23 Penghilangan Produksi 
Contoh: Terdapat tata bahasa bebas konteks : S  ACD A a B   C  ED |  D  BC | b E  b Lakukan penghilangan aturan2 produksi unit  ! Variabel nullable: B, C, D

24 Penghilangan Produksi 
D  C S  AD D  B D  e S  AC S  A C  E S  ACD A a B   C  ED |  D  BC | b E  b Variabel nullable: B, C, D Hasil penyederhanaan tata bahasa bebas konteks: SACD | AD | AC | A Aa C  ED | E D  C | b E  b

25 Penghilangan produksi useless, unit dan 
Pada prakteknya ketiga penyederhanaan ( penghilangan useless, unit,  ) dilakukan bersama pada suatu tata bahasa bebas konteks  diubah ke dalam suatu bentuk normal Chomsky. Maka kita bisa menghapuskan semua produksi yang tidak diinginkan tersebut dengan melakukan urutan sebagai berikut : Hilangkan produksi  Hilangkan produksi unit Hilangkan produksi useless

26 Penghilangan produksi useless, unit dan 
Contoh: Sebuah CFG dengan aturan produksi: S AA  C  bd A Bb   B AB  d C de Lakukan ketiga penyederhanaan (useless, unit dan ) !

27 Penghilangan produksi useless, unit dan 
Pertama  Penghilangan produksi  : S A  AA  C  bd A Bb B B  AB  d C  de Kedua  Penghilangan produksi unit: S Bb  AA  de  bd A  Bb B AB  d

28 Penghilangan produksi useless, unit dan 
Ketiga  Penghilangan produksi useless : S Bb  AA  de  bd A  Bb B AB  d Tidak terdapat lagi produksi , produksi unit maupun produksi useless.

29

30 Teori Bahasa dan Automata
Bentuk Normal Chomsky (CNF)

31 CNF Bentuk Normal Chomsky/ Chomsky Normal Form (CNF) merupakan salah satu bentuk normal yang sangat berguna untuk tata bahasa bebas konteks (CFG) Suatu Context Free Grammar dapat dibuat menjadi bentuk normal Chomsky dengan syarat tata bahasa bebas konteks tersebut: tidak memiliki produksi useless tidak memiliki produksi unit tidak memiliki produksi 

32 CNF Sebuah CFG disebut dalam bentuk Chomsky Normal Form apabila CFG tersebut memiliki aturan produksi yang ruas kanannya hanya terdapat tepat 1 terminal atau tepat 2 variabel. Contoh : A  BC A  b B  a C  BA d

33 CFG yang sudah disederhanakan
Pembentukan CNF Biarkan yang sudah CNF CFG yang sudah disederhanakan Penggantian symbol terminal pada a.p, dg ruas kanan >1 Buat variabel dan a.p. baru bila perlu CNF Penggantian a.p. dg symbol variabel>2

34 Contoh CNF Contoh, Sebuah Tata bahasa bebas konteks dengan aturan produksi (sudah disederhanakan): S  bA  aB A  bAA  aS  a B  aBB  bS  b

35 Contoh CNF Aturan produksi yang sudah dalam CNF: A  a B  b
Ubah aturan produksi: S  bA  S  P1A S  aB  S  P2B A  bAA  A  P1AA  A  P1 P3 A  aS  A  P2S B  aBB  B  P2BB  B  P2 P4 B  bS  B  P1S Buat aturan produksi dan symbol variabel baru: P1  b P2  a P3  AA P4  BB

36 Contoh CNF Hasil akhir aturan produksi dalam CNF A  a B  b S  P1A S  P2B A  P1 P3 A  P2S B  P2 P4 B  P1S P1  b P2  a P3  AA P4  BB

37 Latihan CNF Ubahlah CFG berikut menjadi CFG dengan Chomsky Normal Form ! 1. Aturan Produksi : S  aB  CA A  a  bc B  BC  Ab C  aB  b 2. Aturan Produksi: S  aAB  ch  CD A  dbE  eEC B  ff  DD C  ADB  aS D  i E  jD

38 Algoritma Cocke, Younger & Kasami (CYK Algorithm)
Digunakan untuk menunjukkan apakah suatu string diperoleh oleh suatu Grammar. Contoh : Terdapat tata bahasa bebas konteks : S AB | BC A BA | a B CC | b C  AB | a Tentukan apakah string ‘baaba’ termasuk dalam CFG diatas!

39 Contoh Alogritma CYK Tentukan n dimana n merupakan panjang string. n = |’baaba’| = 5 Buatah tabel Vi,j dimana i merupakan kolom dan j merupakan baris (Vkolom,baris ): b a 1 2 3 4 5 V1,1 V2,1 V3,1 V4,1 V5,1 V1,2 V2,2 V3,2 V4,2 V1,3 V2,3 V3,3 V1,4 V2,4 V1,5

40 Contoh Alogritma CYK Untuk V1,1  yang bisa menurunkan b : {B} Untuk V2,1  yang bisa menurunkan a : {A,C} Untuk V3,1  yang bisa menurunkan a : {A,C} Untuk V4,1  yang bisa menurunkan b : {B} Untuk V5,1  yang bisa menurunkan a : {A,C} b a 1 2 3 4 5 B A,C V1,2 V2,2 V3,2 V4,2 V1,3 V2,3 V3,3 V1,4 V2,4 V1,5

41 Contoh Alogritma CYK Jawabannya adalah : S dan A.
Untuk V1,2  dicari variabel yang bisa menurunkan B - AC atau BA atau BC. Jawabannya adalah : S dan A. b a 1 2 3 4 5 B A,C V1,2 V2,2 V3,2 V4,2 V1,3 V2,3 V3,3 V1,4 V2,4 V1,5

42 Contoh Alogritma CYK Jawabannya adalah : S dan A.
Untuk V1,2  dicari variabel yang bisa menurunkan B - AC atau BA atau BC. Jawabannya adalah : S dan A. b a 1 2 3 4 5 B A,C S,A V2,2 V3,2 V4,2 V1,3 V2,3 V3,3 V1,4 V2,4 V1,5

43 Contoh Alogritma CYK Jawabannya adalah : B.
Untuk V2,2  dicari variabel yang bisa menurunkan AC- AC atau AA, AC, CA atau CC. Jawabannya adalah : B. b a 1 2 3 4 5 B A,C S,A V2,2 V3,2 V4,2 V1,3 V2,3 V3,3 V1,4 V2,4 V1,5

44 Contoh Alogritma CYK Jawabannya adalah : B.
Untuk V2,2  dicari variabel yang bisa menurunkan AC- AC atau AA, AC, CA atau CC. Jawabannya adalah : B. b a 1 2 3 4 5 B A,C S,A V3,2 V4,2 V1,3 V2,3 V3,3 V1,4 V2,4 V1,5

45 Contoh Alogritma CYK Jawabannya adalah : S dan C.
Untuk V3,2  dicari variabel yang bisa menurunkan AC- B atau AB atau CB. Jawabannya adalah : S dan C. b a 1 2 3 4 5 B A,C S,A V3,2 V4,2 V1,3 V2,3 V3,3 V1,4 V2,4 V1,5

46 Contoh Alogritma CYK Jawabannya adalah : S dan C.
Untuk V3,2  dicari variabel yang bisa menurunkan AC- B atau AB atau CB. Jawabannya adalah : S dan C. b a 1 2 3 4 5 B A,C S,A S, C V4,2 V1,3 V2,3 V3,3 V1,4 V2,4 V1,5

47 Contoh Alogritma CYK Jawabannya adalah : S dan A.
Untuk V4,2  dicari variabel yang bisa menurunkan B - AC atau BA atau BC. Jawabannya adalah : S dan A. b a 1 2 3 4 5 B A,C S,A S, C V4,2 V1,3 V2,3 V3,3 V1,4 V2,4 V1,5

48 Contoh Alogritma CYK Jawabannya adalah : S dan A.
Untuk V4,2  dicari variabel yang bisa menurunkan B - AC atau BA atau BC. Jawabannya adalah : S dan A. b a 1 2 3 4 5 B A,C S,A S, C V1,3 V2,3 V3,3 V1,4 V2,4 V1,5

49 Contoh Alogritma CYK Jawabannya adalah : ∅.
Untuk V1,3  dicari variabel yang bisa menurunkan B – B dan S,A – A,C atau BB, SA, SC, AA atau AC. Jawabannya adalah : ∅. b a 1 2 3 4 5 B A,C S,A S, C V1,3 V2,3 V3,3 V1,4 V2,4 V1,5

50 Contoh Alogritma CYK Jawabannya adalah : ∅. ∅
Untuk V1,3  dicari variabel yang bisa menurunkan B – B dan S,A – A,C atau BB, SA, SC, AA atau AC. Jawabannya adalah : ∅. b a 1 2 3 4 5 B A,C S,A S, C V2,3 V3,3 V1,4 V2,4 V1,5

51 Contoh Alogritma CYK Jawabannya adalah : B. ∅
Untuk V2,3 dicari variabel yang bisa menurunkan A,C – S,C dan B – B atau AS, AC, CS, CC atau BB. Jawabannya adalah : B. b a 1 2 3 4 5 B A,C S,A S, C V2,3 V3,3 V1,4 V2,4 V1,5

52 Contoh Alogritma CYK Jawabannya adalah : B. ∅
Untuk V2,3 dicari variabel yang bisa menurunkan A,C – S,C dan B – B atau AS, AC, CS, CC atau BB. Jawabannya adalah : B. b a 1 2 3 4 5 B A,C S,A S, C V3,3 V1,4 V2,4 V1,5

53 Contoh Alogritma CYK Jawabannya adalah : B. ∅
Untuk V3,3 dicari variabel yang bisa menurunkan A,C – S,A dan S,C – A,C atau AS, AA, CS, CA, SA, SC, CA atau CC. Jawabannya adalah : B. b a 1 2 3 4 5 B A,C S,A S, C V3,3 V1,4 V2,4 V1,5

54 Contoh Alogritma CYK Jawabannya adalah : B. ∅
Untuk V3,3 dicari variabel yang bisa menurunkan A,C – S,A dan S,C – A,C atau AS, AA, CS, CA, SA, SC, CA atau CC. Jawabannya adalah : B. b a 1 2 3 4 5 B A,C S,A S, C V1,4 V2,4 V1,5

55 Contoh Alogritma CYK Jawabannya adalah : ∅. ∅
Untuk V1,4 dicari variabel yang bisa menurunkan B – B dan S,A – S,C dan ∅- B atau BB, SS, SC, AS, atau AC. Jawabannya adalah : ∅. b a 1 2 3 4 5 B A,C S,A S, C V1,4 V2,4 V1,5

56 Contoh Alogritma CYK Jawabannya adalah : ∅. ∅
Untuk V1,4 dicari variabel yang bisa menurunkan B – B dan S,A – S,C dan ∅- B atau BB, SS, SC, AS, atau AC. Jawabannya adalah : ∅. b a 1 2 3 4 5 B A,C S,A S, C V2,4 V1,5

57 Contoh Alogritma CYK Jawabannya adalah : S, A dan C. ∅
Untuk V2,4 dicari variabel yang bisa menurunkan A,C – B dan B – S,A dan B - A,C atau AB, CB, BS, BA, BA atau BC. Jawabannya adalah : S, A dan C. b a 1 2 3 4 5 B A,C S,A S, C V2,4 V1,5

58 Contoh Alogritma CYK Jawabannya adalah : S, A dan C. ∅
Untuk V2,4 dicari variabel yang bisa menurunkan A,C – B dan B – S,A dan B - A,C atau AB, CB, BS, BA, BA atau BC. Jawabannya adalah : S, A dan C. b a 1 2 3 4 5 B A,C S,A S, C S,A,C V1,5

59 Contoh Alogritma CYK Jawabannya adalah : S, A dan C. ∅
Untuk V1,5 dicari variabel yang bisa menurunkan B – S,A,C dan S,A – B dan ∅ - S,A dan ∅ - A,C atau BS, BA, BC, SB, atau AB. Jawabannya adalah : S, A dan C. b a 1 2 3 4 5 B A,C S,A S, C S,A,C V1,5

60 Contoh Alogritma CYK Jawabannya adalah : S, A dan C. ∅
Untuk V1,5 dicari variabel yang bisa menurunkan B – S,A,C dan S,A – B dan ∅ - S,A dan ∅ - A,C atau BS, BA, BC, SB, atau AB. Jawabannya adalah : S, A dan C. b a 1 2 3 4 5 B A,C S,A S, C S,A,C

61 Contoh Alogritma CYK S terdapat dalam V1,5 ∅
Untuk menentukan apakah string ‘baaba’ dapat diterima maka periksa apakah simbol awal (S) terdapat pada V1,n dalam soal ini maka S terdapat dalam V1,5 b a 1 2 3 4 5 B A,C S,A S, C S,A,C

62 Latihan Algoritma CYK Terdapat tata bahasa bebas konteks : S abAB
B BAa | A | ℇ 1. Ubahlah CFG tersebut menjadi CFG dengan Chomsky Normal Form ! 2. Tentukan apakah string ‘aabab’ termasuk dalam CFG diatas!

63


Download ppt "Teori Bahasa dan Automata"

Presentasi serupa


Iklan oleh Google