pertemuan 10 grammar bebas konteks

33
Session 10 Context-free grammar  Theory of L anguage and Automata (KOM208) Credits: 3(3-0)  

Upload: achmad-safiatudin

Post on 19-Feb-2018

224 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Pertemuan 10 Grammar Bebas Konteks

7/23/2019 Pertemuan 10 Grammar Bebas Konteks

http://slidepdf.com/reader/full/pertemuan-10-grammar-bebas-konteks 1/33

Session 10Context-free grammar 

 Theory of Language and Automata(KOM208)

Credits: 3(3-0) 

Page 2: Pertemuan 10 Grammar Bebas Konteks

7/23/2019 Pertemuan 10 Grammar Bebas Konteks

http://slidepdf.com/reader/full/pertemuan-10-grammar-bebas-konteks 2/33

TIK, Subtopik dan WaktuPenyajian

• Tinjauan Instruksiona K!usus:

– Mahasiswa aan da!at men"e#asan tata$ahasa dan $ahasa $e$as ontes% 

•Subtopik :– &e'nisi dari tata $ahasa $e$as ontes

– enurunan menggunaan tata $ahasa

– ahasa dari se$uah tata $ahasa 

• Waktu penyajian: * + *,0 menit

Page 3: Pertemuan 10 Grammar Bebas Konteks

7/23/2019 Pertemuan 10 Grammar Bebas Konteks

http://slidepdf.com/reader/full/pertemuan-10-grammar-bebas-konteks 3/33

endahu#uan (*)

• Grammar  meru!aan a#at untumen"e#asan dan mengana#isis $ahasa%

• A!#iasinya:

•-./ memi#ii !eranan !enting da#amteno#ogi om!i#ator se"a tahun *10an%

•-./ "uga te#ah digunaan untu men"e#asanformat doumen3 menggunaan document-

type defnition (&T&) yang digunaan da#amomunitas 4ML (extensible markuplanguage) untu !ertuaran informasi !adawe$%

Page 4: Pertemuan 10 Grammar Bebas Konteks

7/23/2019 Pertemuan 10 Grammar Bebas Konteks

http://slidepdf.com/reader/full/pertemuan-10-grammar-bebas-konteks 4/33

endahu#uan (2)

• -ontoh3 misa# Σ 5 603*7% ahasa L!a# dari

!o#indrom!o#indrom !ada Σ dide'nisianseara reursif se$agai $eriut:

"asis: ε3 03 * ada#ah !o#indrom%Induksi : 9ia w ada#ah se$uah !o#indrom3

$egitu "uga 0w0 dan *w*%

 Tida ada string #ain da#am L!a# se#ainstring yang di!ero#eh dari $asis danindusi%

Page 5: Pertemuan 10 Grammar Bebas Konteks

7/23/2019 Pertemuan 10 Grammar Bebas Konteks

http://slidepdf.com/reader/full/pertemuan-10-grammar-bebas-konteks 5/33

endahu#uan ()

• -./ ada#ah se$uah notasi forma# untu menyataande'nisi reursif dari $ahasa%

• ;e$uah grammar  terdiri dari satu atau #e$ih <aria$e#yang meru!aan e#ase#as dari string yaitu $ahasa%

• &a#am ontoh $ahasa L!a#3 terda!at hanya satu<aria$e# ! yang menyataan him!unan dari!o#indrom!o#indrom yaitu e#ase#as dari stringstring yang mem$entu $ahasa L!a#%

•  Terda!at aturanaturan yang menyataan $agaimana

string da#am setia! e#as dionstrusi%• Konstrusi da!at menggunaan sim$o#sim$o# dari

a#!ha$et3 string yang dietahui ada da#am satu e#astertentu atau eduanya%

Page 6: Pertemuan 10 Grammar Bebas Konteks

7/23/2019 Pertemuan 10 Grammar Bebas Konteks

http://slidepdf.com/reader/full/pertemuan-10-grammar-bebas-konteks 6/33

Contoh 1

CFG untuk polindrom adalah

1. P → ε

2. P → 03. P → 1

4. P → 0P0

5. P → 1P1

Page 7: Pertemuan 10 Grammar Bebas Konteks

7/23/2019 Pertemuan 10 Grammar Bebas Konteks

http://slidepdf.com/reader/full/pertemuan-10-grammar-bebas-konteks 7/33

#e$nisi C%& (*)

Kom!onenom!onen da#am desri!si gramatia# darise$uah $ahasa ada#ah se$agai $eriut:

*% =im!unan $erhingga dari sim$o# yang mem$entustring dari $ahasa yang dide'nisian%A#!ha$et ini dinamaan termina#termina# atau

sim$o#sim$o# termina#%&a#am -ontoh *3 sim$o# termina# ada#ah 0 dan *%

2% =im!unan $erhingga dari <aria$e#<aria$e#%>aria$e#<aria$e# terse$ut dinamaan nontermina#atau ategori syntactic%

;etia! <aria$e# menyataan se$uah $ahasa%&a#am -ontoh *3 hanya terda!at * <aria$e#3 yaitu3 yang menyataan e#as dari !o#indrom!o#indrom !ada a#!ha$et 603*7%

Page 8: Pertemuan 10 Grammar Bebas Konteks

7/23/2019 Pertemuan 10 Grammar Bebas Konteks

http://slidepdf.com/reader/full/pertemuan-10-grammar-bebas-konteks 8/33

#e$nisi C%& (2)

% ;a#ah satu dari <aria$e#<aria$e#menyataan $ahasa yang sedangdide'nisian%

>aria$e# terse$ut dinamaan start symbol%>aria$e#<aria$e# #ain menyataan e#ase#as !em$antu dari stringstring yangdigunaan untu mende'nisian $ahasa

dari start symbol%&a#am -ontoh*3 hanya terda!at * <aria$e#3yaitu 3 yang dinamaan start symbol%

Page 9: Pertemuan 10 Grammar Bebas Konteks

7/23/2019 Pertemuan 10 Grammar Bebas Konteks

http://slidepdf.com/reader/full/pertemuan-10-grammar-bebas-konteks 9/33

#e$nisi C%& ()

?% =im!unan $erhingga dari !rodusi!rodusi atauaturanaturan yang menyataan de'nisi reursif darise$uah $ahasa% ;etia! !rodusi terdiri dari:

– ;e$uah <aria$e# yang dide'nisian (seara !arsia#) o#eh!rodusi% >aria$e# ini sering a#i dinamaan head dari

!rodusi%– ;im$o# !rodusi →

– ;e$uah string dari no# atau #e$ih termina# dan <aria$e#% String ini dinamaan body  dari !rodusi3 yang menyataan sa#ahsatu ara untu mem$entu string da#am $ahasa dari <aria$e#dari head%

•  Termina#termina# tida diu$ah dan setia! <aria$e#dari body  disu$stitusi dengan string yang dietahuida#am $ahasa dari <aria$e# terse$ut%

• &a#am -ontoh * terda!at , !rodusi%

Page 10: Pertemuan 10 Grammar Bebas Konteks

7/23/2019 Pertemuan 10 Grammar Bebas Konteks

http://slidepdf.com/reader/full/pertemuan-10-grammar-bebas-konteks 10/33

omponen CFG

• Keem!at om!onen mem$entuse$uah -./ atau hanya grammar 3notasinya ada#ah / 5 (>3 T3 3 ;)3dengan

– > : =im!unan <aria$e#<aria$e#

– T : Termina#

– : =im!unan !rodusi

– ; : Start symbol%

Page 11: Pertemuan 10 Grammar Bebas Konteks

7/23/2019 Pertemuan 10 Grammar Bebas Konteks

http://slidepdf.com/reader/full/pertemuan-10-grammar-bebas-konteks 11/33

-ontoh 2

!   Grammar  Gpal untuk polindrom-polindrom

din"atakan oleh

Gpal # ($P%& $0&1%& '& P)

denan ' adalah himpunan dari 5

produksi seperti dalam Contoh 1

Page 12: Pertemuan 10 Grammar Bebas Konteks

7/23/2019 Pertemuan 10 Grammar Bebas Konteks

http://slidepdf.com/reader/full/pertemuan-10-grammar-bebas-konteks 12/33

-ontoh

! e*uah CFG men"atakan ekspresi dalam

*ahasa pemroraman& denan ketentuan

*erikut:

1. +kspresi di*atasi han"a menandun operator dan(pen,umlahan dan perkalian).

2. 'rumen ,ua dapat *erupa identifier  "an di*atasi

han"a untuk huru a dan *& dan diit 0 dan 1.

3. etiap identifier  haruslah diaali denan a atau *dan dapat diikuti oleh string  dalam $a& *& 0& 1%/.

Page 13: Pertemuan 10 Grammar Bebas Konteks

7/23/2019 Pertemuan 10 Grammar Bebas Konteks

http://slidepdf.com/reader/full/pertemuan-10-grammar-bebas-konteks 13/33

-ontoh (Lan"utan)

 Terda!at dua <aria$e# da#am grammar  iniyaitu:

*% @ menyataan es!resi yang "uga

meru!aan start symbol danmere!resentasian $ahasa daries!resi yang dide'nisian%

2% menyataan identifer %

Page 14: Pertemuan 10 Grammar Bebas Konteks

7/23/2019 Pertemuan 10 Grammar Bebas Konteks

http://slidepdf.com/reader/full/pertemuan-10-grammar-bebas-konteks 14/33

-ontoh (Lan"utan)

-./ yang dimasud memi#ii !rodusi!rodusi $eriut

*%@ → 

2%@ → @ B @

%@ → @C@

?%@ →(@)

,% → a

1% → $

D% → a

8% → $% → 0

*0% → *

;eara forma# -./ yangdimasud ada#ah

/ 5 (6@373 T3 3 @)

dimana T ada#ah him!unansim$o#sim$o# 6B3 C3 (3 )3 a3 $3

03 *7 dan ada#ah him!unan!rodusi!rodusi%

Page 15: Pertemuan 10 Grammar Bebas Konteks

7/23/2019 Pertemuan 10 Grammar Bebas Konteks

http://slidepdf.com/reader/full/pertemuan-10-grammar-bebas-konteks 15/33

Eotasi untu !rodusi

• rodusi!rodusi Aα*3 Aα23 F3

Aαn da!at digantian dengan notasi

A

 α*G α23GFG αn • &a#am -ontoh *3 grammar  untu

!o#indrom da!at ditu#is se$agai

→ εG 0 G * G 00 G **%

Page 16: Pertemuan 10 Grammar Bebas Konteks

7/23/2019 Pertemuan 10 Grammar Bebas Konteks

http://slidepdf.com/reader/full/pertemuan-10-grammar-bebas-konteks 16/33

Penurunan 'enggunakanSebua! Grammar  

• rodusi!rodusi dari se$uah -./ da!atdigunaan untu menyim!u#an $ahwastringstring tertentu da#am $ahasa dari

se$uah <aria$e#%•  Terda!at 2 !endeatan untu inferensiterse$ut3 yaitu*% nferensi reursif3 menggunaan aturan dari

body  e head 

2. Derivation3 menggunaan aturan dari head ebody  

Page 17: Pertemuan 10 Grammar Bebas Konteks

7/23/2019 Pertemuan 10 Grammar Bebas Konteks

http://slidepdf.com/reader/full/pertemuan-10-grammar-bebas-konteks 17/33

Langah#angah nferensireursif

1. 'm*il string -string  "an diketahui ada da#am$ahasa dari setia! <aria$e# dari body %

2% Hangai stringstring terse$ut3 da#am

urutan yang sesuai3 dengan termina#termina# munu# da#am body %

% ;im!u#an $ahwa string yang dihasi#anada#ah da#am $ahasa dari <aria$e# !adahead%

Page 18: Pertemuan 10 Grammar Bebas Konteks

7/23/2019 Pertemuan 10 Grammar Bebas Konteks

http://slidepdf.com/reader/full/pertemuan-10-grammar-bebas-konteks 18/33

Langah#angah derivation 

*% er#uas start symbol menggunaan sa#ah satu!rodusinya (yaitu gunaan sa#ah satu !rodusiyang memi#ii head ada#ah start symbol)%

2% er#uas string yang dihasi#an denganmengganti sa#ah satu dari <aria$e# dengan body  dari sa#ah satu !rodusi!rodusinya3 danseterusnya sam!ai di!ero#eh se$uah string yangmengandung termina#termina# sa"a%

% ahasa dari grammar  ada#ah semua stringstring dari termina#termina# yang da!at

di!ero#eh dengan ara ini% 

Page 19: Pertemuan 10 Grammar Bebas Konteks

7/23/2019 Pertemuan 10 Grammar Bebas Konteks

http://slidepdf.com/reader/full/pertemuan-10-grammar-bebas-konteks 19/33

-ontoh ?: nferensi reursif Ta$e# $eriut menyataan !roses inferensi menggunaangrammar  !ada -ontoh :

arisString yang

di!ero#eh

Intuahasa

dari

rodusiyang

digunaan

Stringstring yangdigunaan

 (i) a , (ii) $ 1

(iii) $0 (ii)

(i<) $00 (iii)

(<) a @ * (i)(<i) $00 @ * (i<)

(<ii) a B $00 @ 2 (<)3 (<i)

(<iii) (a B $00) @ ? (<ii)

(i+) aC(a B$00

@ (<)3 (<iii)

Page 20: Pertemuan 10 Grammar Bebas Konteks

7/23/2019 Pertemuan 10 Grammar Bebas Konteks

http://slidepdf.com/reader/full/pertemuan-10-grammar-bebas-konteks 20/33

&e'nisi sim$o# re#asi ⇒

• Angga! / 5 (>3T33;) ada#ah se$uah -./%• Misa#an αAβ ada#ah se$uah string dari

termina#termina# dan <aria$e#<aria$e#dengan A ada#ah se$uah <aria$e#%

ahwa α dan β ada#ah string da#am (>∪ T)3dan A ∈ >%

• Misa#an A → γ  ada#ah se$uah !rodusidari /% Maa ita ataanαγβ β α 

G

 A   ⇒

• 9ia / dimengerti3 ita hanya mengataanα  Aβ  ⇒  αγβ %

Page 21: Pertemuan 10 Grammar Bebas Konteks

7/23/2019 Pertemuan 10 Grammar Bebas Konteks

http://slidepdf.com/reader/full/pertemuan-10-grammar-bebas-konteks 21/33

&e'nisi sim$o# re#asi ⇒ (#an"utan)

• erhatian $ahwa satu #angah derivation mengganti suatu <aria$e# da#am string dengan body  dari sa#ah satu !rodusinya%

• Kita da!at mem!er#uas hu$ungan ⇒ untumenyataan 03 * atau $anya #angah!enurunan%

Page 22: Pertemuan 10 Grammar Bebas Konteks

7/23/2019 Pertemuan 10 Grammar Bebas Konteks

http://slidepdf.com/reader/full/pertemuan-10-grammar-bebas-konteks 22/33

&e'nisi untu notasi C

• Eotasi C menyataan 0 atau $anya#angah dengan de'nisi se$agai $eriut:

"asis:

• Intu suatu string α dari termina#termina# dan <aria$e#<aria$e# itaataan

artinya suatu string menurunan dirinyasendiri%

α α ∗

G

Page 23: Pertemuan 10 Grammar Bebas Konteks

7/23/2019 Pertemuan 10 Grammar Bebas Konteks

http://slidepdf.com/reader/full/pertemuan-10-grammar-bebas-konteks 23/33

&e'nisi untu notasi C(#an"utan)

Induksi:•  9ia dan maa

ahwa "ia α da!at men"adi β dengan 0 atau#e$ih #angah3 dan satu #angah #agi mengam$i#

β e γ 3 maa α da!at men"adi γ %• &a#am !ernyataan #ain3 notasi

$erarti $ahwa terda!at serangaian stringstring  γ *3γ 23%%%3 γ n3 untu nJ* sedemiian

sehinggaα 5 γ *

β 5 γ n

Intu i 5 *3 23 %%% 3 n−*3 di!ero#eh γ i ⇒ γ i B*%

β α ∗⇒G

β α ∗⇒G

γ  β G

⇒   γ  α ∗

G

Page 24: Pertemuan 10 Grammar Bebas Konteks

7/23/2019 Pertemuan 10 Grammar Bebas Konteks

http://slidepdf.com/reader/full/pertemuan-10-grammar-bebas-konteks 24/33

-ontoh ,

• Tun"uan $ahwa aC(aB$00) ada#ah da#am$ahasa dari <aria$e# @ !ada -ontoh %

• eriut ada#ah sa#ah satu !enurunan

terse$ut :@ ⇒ @C@ ⇒ C@ ⇒ aC@ ⇒ aC(@) ⇒ aC(@B@) ⇒ aC(B@) ⇒ aC(aB@) ⇒ aC(aB) ⇒ aC(aB0)⇒ aC(aB00) ⇒ aC(aB$00)

Page 25: Pertemuan 10 Grammar Bebas Konteks

7/23/2019 Pertemuan 10 Grammar Bebas Konteks

http://slidepdf.com/reader/full/pertemuan-10-grammar-bebas-konteks 25/33

Eotasi ⇒C

Eotasi ⇒C digunaan untu menyingat!enurunan%

• &ari $asis $isa di!ero#eh @ ⇒C @

• enggunaan $eru#ang $agian indusimenghasi#an

@ ⇒C @C@

@ ⇒C C@dan seterusnya sam!ai di!ero#eh

@ ⇒C aC(aB$00)

Page 26: Pertemuan 10 Grammar Bebas Konteks

7/23/2019 Pertemuan 10 Grammar Bebas Konteks

http://slidepdf.com/reader/full/pertemuan-10-grammar-bebas-konteks 26/33

Leftmost  dan RightmostDerivation 

• Letmost derivation !ada setia! #angahdigantian letmost variable dengan sa#ahsatu dari body body  !rodusinya%

Eotasi: ⇒#m untu satu #angah dan ⇒C#m

untu $anya #angah%

• !ighmost derivation" rightmost variable diganti o#eh sa#ah satu dari body nya%

Eotasi: ⇒rm untu satu #angah dan ⇒Crm

untu $anya #angah%

Page 27: Pertemuan 10 Grammar Bebas Konteks

7/23/2019 Pertemuan 10 Grammar Bebas Konteks

http://slidepdf.com/reader/full/pertemuan-10-grammar-bebas-konteks 27/33

-ontoh 1

• enurunan dari -ontoh , meru!aanletmost derivation 

@ ⇒#m @C@ ⇒#mC@ ⇒#m aC@ ⇒#m aC(@) ⇒#m 

aC(@B@) ⇒#m aC(B@) ⇒#m aC(aB@) ⇒#m aC(aB) ⇒#m aC(aB0) ⇒#m aC(aB00) ⇒#m aC(aB$00)

;eara singat da!at dinyataan@ ⇒C

#m aC(aB$00)%

Page 28: Pertemuan 10 Grammar Bebas Konteks

7/23/2019 Pertemuan 10 Grammar Bebas Konteks

http://slidepdf.com/reader/full/pertemuan-10-grammar-bebas-konteks 28/33

Contoh (lan,utan)

• ;edangan rightmost derivation aC(aB$00):

@ ⇒rm @C@ ⇒rm @C(@) ⇒rm @C(@B@) ⇒rm 

@C(@B) ⇒rm @C(@B0) ⇒rm @C(@B00) ⇒rm @C(@B$00) ⇒rm @C(B$00) ⇒rm 

@C(aB$00) ⇒rm C(aB$00) ⇒rm aC(aB$00)

;eara singat da!at dinyataan

@ ⇒Crm aC(aB$00)%

Page 29: Pertemuan 10 Grammar Bebas Konteks

7/23/2019 Pertemuan 10 Grammar Bebas Konteks

http://slidepdf.com/reader/full/pertemuan-10-grammar-bebas-konteks 29/33

Letmost  atau rightmostderivation

• ai menggunaan letmost  ataurightmost derivation:

"ia w ada#ah termina# string dan Aada#ah <aria$e# maa

A ⇒C w "ia dan hanya "ia A ⇒C#m w

dan

A ⇒C w "ia dan hanya "ia A ⇒Crm

 w%

Page 30: Pertemuan 10 Grammar Bebas Konteks

7/23/2019 Pertemuan 10 Grammar Bebas Konteks

http://slidepdf.com/reader/full/pertemuan-10-grammar-bebas-konteks 30/33

"a!asa dari Sebua!Grammar  

• 9ia / 5 (>3T33;) ada#ah se$uah -./3 $ahasadari / dinotasian L(/) ada#ah him!unan daristringstring termina# yang memi#ii!enurunan dari start symbol% ahwa

L(/) 5 6w da#am TC G ; ⇒C w7• 9ia se$uah $ahasa L ada#ah $ahasa dari -./3

maa L diataan -.L (#ontext $reeLanguage)%

• ;e$agai ontoh3 him!unan dari !o#indrom!o#indrom ada#ah -.L (uti da!at di#ihat!ada $uu ru"uan)%

Page 31: Pertemuan 10 Grammar Bebas Konteks

7/23/2019 Pertemuan 10 Grammar Bebas Konteks

http://slidepdf.com/reader/full/pertemuan-10-grammar-bebas-konteks 31/33

"entuk-"entukSentential  

• enurunan dari start symbol menghasi#an stringstring yang memi#ii aturan husus  dinamaan$entu$entu sentential%

• ahwa3 "ia / 5 (>3T33;) ada#ah se$uah -./3

maa string α da#am (>∪ T)C sedemiian sehingga s⇒Cα ada#ah $entu sentential 

–  9ia ; ⇒C#m

 α maa α ada#ah $entu let sentential 

–  9ia ; ⇒Crm

 α maa α ada#ah $entu right

sentential • ahasa L(/) ada#ah $entu$entu sentential yang

ada da#am TC yaitu hanya terdiri dari termina#

Page 32: Pertemuan 10 Grammar Bebas Konteks

7/23/2019 Pertemuan 10 Grammar Bebas Konteks

http://slidepdf.com/reader/full/pertemuan-10-grammar-bebas-konteks 32/33

-ontoh D

• &ari -ontoh : @C(B@) ada#ah se$uah$entu sentential arena terda!at se$uah!enurunan

@ ⇒ @C@ ⇒ @C(@) ⇒ @C(@B@) ⇒ @C(B@)• -ontoh $entu let sentential ada#ah aC@3arena terda!at !enurunan $eriut

@ ⇒#m @C@ ⇒#m

 C@ ⇒#m aC@

• -ontoh $entu right sententia# ada#ah@C(@B@)3 arena terda!at !enuruan $eriut

@ ⇒rm @C@ ⇒rm

 @C(@) ⇒rm @C(@B@)

Page 33: Pertemuan 10 Grammar Bebas Konteks

7/23/2019 Pertemuan 10 Grammar Bebas Konteks

http://slidepdf.com/reader/full/pertemuan-10-grammar-bebas-konteks 33/33

&aftar ustaa

• 9ohn @% =o!roft3 Ha"ee< Motwani3 9eNrey &% I##man% 200*% %ntroductionto Automata &heory" Languange" and

#omputation% @disi e2% Addisones#ey