pertemuan 10 grammar bebas konteks
TRANSCRIPT
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)
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
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$%
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%
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%
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
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%
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%
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%
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%
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
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%/.
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 %
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%
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 **%
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
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%
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%
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)
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β ⇒ αγβ %
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%
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
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
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)
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)
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%
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)%
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)%
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%
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)%
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#
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@)
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