Professional Documents
Culture Documents
Telah dijelaskan bahwa bahasa tidak lebih dari himpunan, yang dapat
berhingga atau tak hingga dari string-string yang diproduksi dengan
aturan-aturan yang disebut tata bahasa. Berikut didefinisikan secara lebih
konkrit apa itu tata bahasa dan bahasa.
DEFINISI 1:
Tata bahasa (grammar) G didefinisikan sebagai tuple-4 G(∑,N,S,P).
Dimana:
∑ : Himpunan berhinggga dari simbol-simbol abjad/alphabet/vocabulary.
Simbol-simbol elemen ∑ dan rangkaian simbol-simbol yang terdiri dari
elemen ∑ dinamakan juga dengan simbol terminal. Simbol terminal
dilambangkan dengan huruf kecil: a, b, c atau abjad 0, 1, 2.
7
α adalah rangkaian simbol-simbol dan β juga rangkaian simbol-simbol,
yang sekali lagi dapat berupa simbol non terminal atau terminal.
Contoh:
α = ABab
β = BBa
Panjang String
Pajang string α dimaksudkan sebagai banyaknya simbol dalam string α.
Panjang string dilambangkan sebagai |α|.
Contoh 1:
α = ABc maka |α| = 3
α = abc maka |α| = 3
Cleen closure
Jika dimiliki himpunan A, maka Cleene-closure dari A dinotasikan dengan A*
didefinisikan sebagai:
A* = A0 A1 A2 ... A∞
An = AAn-1
An-1 = AAn-2
An-2 = AAn-3
...
A = AA0
A0 = ε
8
Contoh 2:
Positive Closure
Selain Cleene-closure, atas himpunan A juga dapat didefinisikan suatu
closure yang disebut sebagai positive-closure (A+), yang didefinisikan
sebagai:
A+ = A1 A2 ... A∞
A* = A+ ε atau A+ = A* - ε
Contoh 3:
Jawab:
Bahasa yang dibangkitkan adalah L(G) = {aaa,aab,aa}
aaa, aab, dan aa masing-masing diperoleh dari pohon penurunan:
9
Gambar 1. Penurunan string aaa, aab, dan aa
α β
Contoh 4:
Dimiliki grammar G(∑,N,S,P) dengan:
∑={a,b}
N={A,B,S}
P={SABa; ABB; Bab; ABab; BBBaa}.
Perlihatkan bahwa string: abababa dan aaa adalah string-string yang
diproduk oleh grammar tersebut.
10
Jawab:
Jika dicermati produk yang ada, terlihat bahwa seluruh produksi yang
ada memenuhi syarat grammar tipe-0, yaitu string kiri dalam aturan
produksi minimal terdiri dari satu simbol non terminal.
Yaitu panjang string α lebih kecil atau sama dengan panjang string β.
Contoh 5:
Dimiliki grammar G(∑,N,S,P) dengan:
∑={a,b}
N={A,B,S}
P={SABa; ABB; Bab; ABAAA; Aaa; Aε}.
Apakah tata bahasa ini termasuk dalam tipe-1. Bandingkan dengan tata
bahasa contoh 4 di atas, apakah termasuk tipe-1. Tunjukkan bahwa
string a termasuk anggota bahasa.
Jawab:
Tata bahasa contoh 5 memenuhi tata bahasa tipe-0 dan tipe-1.
Sedangkan tata bahasa pada contoh 4 hanya memenuhi tipe-0 dan tidak
memenuhi tipe-1, karena ada aturan produksi: BBBaa pada contoh 4.
Penurunan string a diperoleh dengan:
S ABa AAAa εεεa a
Contoh 6:
Tunjukkan bahwa contoh 5 adalah tidak termasuk pada tata bahasa
(grammar) tipe-2.
Jawab:
Jika diperhatikan aturan produksi pada contoh 5:
SABa, ABB, Bab, ABAAA, Aaa, Aε
Ada aturan ABAAA, yaitu aturan produksi dimana ruas kiri (AB)
memiliki panjang lebih dari satu. Ini melanggar aturan untuk grammar
tipe-2, dengan demikian tidak termasuk grammar tipe-2.
11
Tata Bahasa Tipe-3 (Regular Grammar)
Tata bahasa tipe-3 adalah tata bahasa tipe-2 yang memiliki aturan
produksi: α β dengan tambahan batasan:
α : hanya terdiri dari satu simbol Non Terminal saja, atau αN
β : dalam bentuk salah satu diantara: a, aB, atau ε.
Dimana a adalah simbol terminal dan B adalah simbol Non Terminal.
Tata bahasa tipe-3 (regular) merupakan tata bahasa yang paling ketat
(paling banyak aturan) dari hirarki tata bahasa yang ada. Secara diagram
keempat tata bahasa tersebut dapat digambarkan sebagai berikut:
Contoh 7:
Dimiliki grammar G(∑,N,S,P) dengan:
∑={a,b}
N={A,B,S}
P={SaA; AaA; AB; BbB; Bε}
Tentukan bahasa yang dibangkitkan oleh tata bahasa regular tersebut.
Jawab:
Penurunan: SaAaBaεa menghasilkan string: a
Penurunan: SaAaaAaaaAaaaa..aaBaaaa..aaεaaaa..aa
menghasilkan string: aaaa..aa
Penurunan: SaAaaAaaaAaaaa..aaBaaaa..aabεaaaa..aab
menghasilkan string: aaaa..aab
Penurunan:
SaAaaAaaaAaaaa..aaBaaaa..aabBaaaa..aabbBaaaa..aabb..bB
aaaa..aabb..bεaaaa..aabb..b menghasilkan string: aaaa..aabb..b
12
E. MESIN PENGENAL BAHASA
Beberapa tingkatan tata bahasa melahirkan beberapa tingkatan bahasa. Tata
bahasa regular (Regular Grammar) membangkitkan bahasa regular, tata bahasa
bebas konteks (Context Free Grammar) membangkitkan bahasa bebas konteks,
dan seterusnya. Mesin abstract yang merupakan pengenal dari berbagai
tingkatan bahasa tersebut dimulai dari yang paling sederhana adalah:
13