Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Penyederhanaan Tata Bahasa Bebas Konteks.  Tujuan 

Presentasi serupa


Presentasi berjudul: "Penyederhanaan Tata Bahasa Bebas Konteks.  Tujuan "— Transcript presentasi:

1 Penyederhanaan Tata Bahasa Bebas Konteks

2  Tujuan 

3  Tujuan  melakukan pembatasan sehingga tidak menghasilkan pohon penurunan yang memiliki kerumitan yang tak pelu atau aturan produksi yang tak berarti.

4 Contoh: Terdapat tata bahasa bebas konteks dgn aturan produksi: S  AB  a A  a ???

5  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 Bagaimana dengan CFG berikut? S  A ABAB BCBC CDCD D  a  A  Terlalu panjang path yang dilalui  D  A : menyebabkan kerumitan (redundant)

7 Suatu tata bahasa bebas konteks dapat disederhanakan dengan melakukan :  Penghilangan produksi useless  Penghilangan produksi unit  Penghilangna produksi 

8 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 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 B  BBB  a

10 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 B  BBB  a

11 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  DC  bb E  aEa B  E Tata bahasa bebas konteks setelah disederhanakan menjadi : S  Aa  B A  ab BbBb

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

13 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CSC CDCD C  ef D  dd

14 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 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 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 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 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 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 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 A nullable, A   Hasil penyederhanaan tata bahasa bebas konteks: S  bcd

21 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 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 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 S  ACD A  a B   C  ED |  D  BC | b E  b Variabel nullable: B, C, D D  C S  AD D  B D   S  AC S  A C  E Hasil penyederhanaan tata bahasa bebas konteks: S  ACD | AD | AC | A AaAa C  ED | E D  C | b E  b

25  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  Contoh: Sebuah CFG dengan aturan produksi: S  AA  C  bd A  Bb   B  AB  d C  de  Lakukan ketiga penyederhanaan (useless, unit dan  ) !

27  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 C  de

28  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 Bentuk Normal Chomsky (CNF)

31 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 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 Penggantian a.p. dg symbol variabel>2 CFG yang sudah disederhanakan Buat variabel dan a.p. baru bila perlu CNF Penggantian symbol terminal pada a.p, dg ruas kanan >1 Biarkan yang sudah CNF

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

35 Aturan produksi yang sudah dalam CNF:  A  a  B  b Ubah aturan produksi:  S  bA  S  P 1 A  S  aB  S  P 2 B  A  bAA  A  P 1 AA  A  P 1 P 3  A  aS  A  P 2 S  B  aBB  B  P 2 BB  B  P 2 P 4  B  bS  B  P 1 S Buat aturan produksi dan symbol variabel baru:  P 1  b  P 2  a  P 3  AA  P 4  BB

36 Hasil akhir aturan produksi dalam CNF A  a B  b S  P 1 A S  P 2 B A  P 1 P 3 A  P 2 S B  P 2 P 4 B  P 1 S P 1  b P 2  a P 3  AA P 4  BB

37 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 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 Tentukan n dimana n merupakan panjang string. n = |’baaba’| = 5 Buatah tabel V i,j dimana i merupakan kolom dan j merupakan baris (V kolom,baris ): V 1,1 V 2,1 V 3,1 V 4,1 V 5,1 2 V 1,2 V 2,2 V 3,2 V 4,2 3 V 1,3 V 2,3 V 3,3 4 V 1,4 V 2,4 5 V 1,5 baaba

40 Untuk V 1,1  yang bisa menurunkan b : {B} Untuk V 2,1  yang bisa menurunkan a : {A,C} Untuk V 3,1  yang bisa menurunkan a : {A,C} Untuk V 4,1  yang bisa menurunkan b : {B} Untuk V 5,1  yang bisa menurunkan a : {A,C} BA,C B 2 V 1,2 V 2,2 V 3,2 V 4,2 3 V 1,3 V 2,3 V 3,3 4 V 1,4 V 2,4 5 V 1,5 baaba

41 Untuk V 1,2  dicari variabel yang bisa menurunkan B - AC atau BA atau BC. Jawabannya adalah : S dan A BA,C B 2 V 1,2 V 2,2 V 3,2 V 4,2 3 V 1,3 V 2,3 V 3,3 4 V 1,4 V 2,4 5 V 1,5 baaba

42 Untuk V 1,2  dicari variabel yang bisa menurunkan B - AC atau BA atau BC. Jawabannya adalah : S dan A BA,C B 2 S,A V 2,2 V 3,2 V 4,2 3 V 1,3 V 2,3 V 3,3 4 V 1,4 V 2,4 5 V 1,5 baaba

43 Untuk V 2,2  dicari variabel yang bisa menurunkan AC- AC atau AA, AC, CA atau CC. Jawabannya adalah : B BA,C B 2S,A V 2,2 V 3,2 V 4,2 3 V 1,3 V 2,3 V 3,3 4 V 1,4 V 2,4 5 V 1,5 baaba

44 Untuk V 2,2  dicari variabel yang bisa menurunkan AC- AC atau AA, AC, CA atau CC. Jawabannya adalah : B BA,C B 2S,A B V 3,2 V 4,2 3 V 1,3 V 2,3 V 3,3 4 V 1,4 V 2,4 5 V 1,5 baaba

45 Untuk V 3,2  dicari variabel yang bisa menurunkan AC- B atau AB atau CB. Jawabannya adalah : S dan C BA,C B 2S,A B V 3,2 V 4,2 3 V 1,3 V 2,3 V 3,3 4 V 1,4 V 2,4 5 V 1,5 baaba

46 Untuk V 3,2  dicari variabel yang bisa menurunkan AC- B atau AB atau CB. Jawabannya adalah : S dan C BA,C B 2S,A B S, C V 4,2 3 V 1,3 V 2,3 V 3,3 4 V 1,4 V 2,4 5 V 1,5 baaba

47 Untuk V 4,2  dicari variabel yang bisa menurunkan B - AC atau BA atau BC. Jawabannya adalah : S dan A BA,C B 2S,A B S, C V 4,2 3 V 1,3 V 2,3 V 3,3 4 V 1,4 V 2,4 5 V 1,5 baaba

48 Untuk V 4,2  dicari variabel yang bisa menurunkan B - AC atau BA atau BC. Jawabannya adalah : S dan A BA,C B 2S,A B S, CS,A 3 V 1,3 V 2,3 V 3,3 4 V 1,4 V 2,4 5 V 1,5 baaba

49 Untuk V 1,3  dicari variabel yang bisa menurunkan B – B dan S,A – A,C atau BB, SA, SC, AA atau AC. Jawabannya adalah : ∅ BA,C B 2S,A B S, CS,A 3 V 1,3 V 2,3 V 3,3 4 V 1,4 V 2,4 5 V 1,5 baaba

50 Untuk V 1,3  dicari variabel yang bisa menurunkan B – B dan S,A – A,C atau BB, SA, SC, AA atau AC. Jawabannya adalah : ∅ BA,C B 2S,A B S, CS,A 3 ∅ V 2,3 V 3,3 4 V 1,4 V 2,4 5 V 1,5 baaba

51 Untuk V 2,3  dicari variabel yang bisa menurunkan A,C – S,C dan B – B atau AS, AC, CS, CC atau BB. Jawabannya adalah : B BA,C B 2S,A B S, CS,A 3 ∅ V 2,3 V 3,3 4 V 1,4 V 2,4 5 V 1,5 baaba

52 Untuk V 2,3  dicari variabel yang bisa menurunkan A,C – S,C dan B – B atau AS, AC, CS, CC atau BB. Jawabannya adalah : B BA,C B 2S,A B S, CS,A 3 ∅B V 3,3 4 V 1,4 V 2,4 5 V 1,5 baaba

53 Untuk V 3,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 BA,C B 2S,A B S, CS,A 3 ∅B V 3,3 4 V 1,4 V 2,4 5 V 1,5 baaba

54 Untuk V 3,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 BA,C B 2S,A B S, CS,A 3 ∅BB 4 V 1,4 V 2,4 5 V 1,5 baaba

55 Untuk V 1,4  dicari variabel yang bisa menurunkan B – B dan S,A – S,C dan ∅- B atau BB, SS, SC, AS, atau AC. Jawabannya adalah : ∅ BA,C B 2S,A B S, CS,A 3 ∅BB 4 V 1,4 V 2,4 5 V 1,5 baaba

56 Untuk V 1,4  dicari variabel yang bisa menurunkan B – B dan S,A – S,C dan ∅- B atau BB, SS, SC, AS, atau AC. Jawabannya adalah : ∅ BA,C B 2S,A B S, CS,A 3 ∅BB 4 ∅ V 2,4 5 V 1,5 baaba

57 Untuk V 2,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 BA,C B 2S,A B S, CS,A 3 ∅BB 4 ∅ V 2,4 5 V 1,5 baaba

58 Untuk V 2,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 BA,C B 2S,A B S, CS,A 3 ∅BB 4 ∅ S,A,C 5 V 1,5 baaba

59 Untuk V 1,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 BA,C B 2S,A B S, CS,A 3 ∅BB 4 ∅ S,A,C 5 V 1,5 baaba

60 Untuk V 1,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 BA,C B 2S,A B S, CS,A 3 ∅BB 4 ∅ S,A,C 5 baaba

61 Untuk menentukan apakah string ‘baaba’ dapat diterima maka periksa apakah simbol awal (S) terdapat pada V 1,n dalam soal ini maka S terdapat dalam V 1, BA,C B 2S,A B S, CS,A 3 ∅BB 4 ∅ S,A,C 5 baaba

62 Terdapat tata bahasa bebas konteks : S  abAB A  bAB | ℇ 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 "Penyederhanaan Tata Bahasa Bebas Konteks.  Tujuan "

Presentasi serupa


Iklan oleh Google