TEORI GRAF DAN OTOMATA KONSEP GRAMMAR HIRARKI CHOMSKY

  • Slides: 25
Download presentation
TEORI GRAF DAN OTOMATA KONSEP GRAMMAR & HIRARKI CHOMSKY Oleh : Bagus Adhi Kusuma,

TEORI GRAF DAN OTOMATA KONSEP GRAMMAR & HIRARKI CHOMSKY Oleh : Bagus Adhi Kusuma, S. T. , M. Eng. Program Studi Teknik Informatika STMIK AMIKOM Purwokerto

Ø anggota alfabet dinamakan simbol terminal atau token. Ø Kalimat adalah deretan hingga simbol-simbol

Ø anggota alfabet dinamakan simbol terminal atau token. Ø Kalimat adalah deretan hingga simbol-simbol terminal. Ø Bahasa adalah himpunan kalimat. Anggota bahasa bisa tak hingga kalimat.

Simbol-simbol Terminal: ü huruf kecil awal alfabet misalnya : a, b, c ü simbol

Simbol-simbol Terminal: ü huruf kecil awal alfabet misalnya : a, b, c ü simbol operator misalnya : +, −, dan × ü simbol tanda baca misalnya : (, ), dan ; ü string yang tercetak tebal misalnya : if, then, dan else.

Simbol-simbol Non Terminal: ü huruf besar awal alfabet misalnya : A, B, C ü

Simbol-simbol Non Terminal: ü huruf besar awal alfabet misalnya : A, B, C ü Huruf S sebagai simbol awal ü string yang tercetak miring misalnya : expr dan stmt

ü Huruf besar akhir alfabet melambangkan simbol terminal atau non terminal misalnya : X,

ü Huruf besar akhir alfabet melambangkan simbol terminal atau non terminal misalnya : X, Y, Z. ü Huruf kecil akhir alfabet melambangkan string yang tersusun atas simbol-simbol terminal misalnya : x, y, z. ü Huruf yunani melambangkan string yang tersusun atas simbol-simbol terminal atau simbol-simbol non terminal atau campuran keduanya misalnya : α, β, dan γ.

ü Pengertian terminal berasal dari kata terminate (berakhir), maksudnya derivasi berakhir jika sentensial yang

ü Pengertian terminal berasal dari kata terminate (berakhir), maksudnya derivasi berakhir jika sentensial yang dihasilkan adalah sebuah kalimat (yang tersusun atas simbol terminal itu). ü Pengertian non terminal berasal dari kata not terminate (belum/tidak berakhir), maksudnya derivasi belum/tidak berakhir jika sentensial yang dihasilkan mengandung simbol non terminal.

ü Sebuah produksi dilambangkan sebagai α → β artinya : dalam sebuah derivasi dapat

ü Sebuah produksi dilambangkan sebagai α → β artinya : dalam sebuah derivasi dapat dilakukan penggantian simbol α dengan simbol β Simbol α dalam produksi berbentuk α → β disebut ruas kiri produksi sedangkan simbol β disebut ruas kanan produksi.

ü Derivasi adalah proses pembentukan sebuah kalimat atau sentensial. Lambang: α ⇒ β ü

ü Derivasi adalah proses pembentukan sebuah kalimat atau sentensial. Lambang: α ⇒ β ü Sentensial adalah string yang tersusun atas simbol-simbol terminal atau simbol-simbol non terminal atau campuran keduanya. ü Kalimat adalah string yang tersusun atas simbol-simbol terminal. Kalimat adalah kasus khusus dari sentensial.

ATURAN PRODUKSI Aturan produksi dinyatakan dalam bentuk α → βü α menghasilkan atau menurunkan

ATURAN PRODUKSI Aturan produksi dinyatakan dalam bentuk α → βü α menghasilkan atau menurunkan β ü α symbol-symbol untuk ruas kiri, β symbol untuk ruas kanan ü Symbol-symbol dapat berupa terminal dan non terminal dimana non terminal dapat diturunkan menjadi symbol yang lainnya 1

ATURAN PRODUKSI ü Umumnya symbol terminal disymbolkan dengan huruf kecil (a, b, c, dsb),

ATURAN PRODUKSI ü Umumnya symbol terminal disymbolkan dengan huruf kecil (a, b, c, dsb), sedangkan untuk symbol non terminal disymbolkan dengan huruf besar (A, B, C, dsb) Contoh : T→a E→T│T+E T menghasilkan a E menghasilkan T atau E menghasilkan T + E 2

Grammar & Klasifikasi Chomsky Grammar G didefinisikan sebagai pasangan 4 tuple : VT, V

Grammar & Klasifikasi Chomsky Grammar G didefinisikan sebagai pasangan 4 tuple : VT, V N, S, dan Q dituliskan sebagai G(VT, VN, S, dan Q) VT : himpunan simbol-simbol terminal (atau himpunan token -token, atau alfabet) VN : himpunan simbol-simbol non terminal S ∈ VN : simbol awal (atau simbol start) Q : himpunan produksi

Hirarki Chomsky Tipe sebuah grammar (atau bahasa) ditentukan dengan aturan sebagai berikut : A

Hirarki Chomsky Tipe sebuah grammar (atau bahasa) ditentukan dengan aturan sebagai berikut : A language is said to be type-i (i = 0, 1, 2, 3) language if it can be specified by a type-i grammar but can’t be specified any type-(i+1) grammar.

1. Grammar tipe ke-0 : Unrestricted Grammar (UG) α, β ∈ (VT | VN)*,

1. Grammar tipe ke-0 : Unrestricted Grammar (UG) α, β ∈ (VT | VN)*, |α|> 0 • Ciri : Tidak ada batasan pada aturan produksi • Contoh : Abc → De

2. Grammar tipe ke-1 : Context Sensitive Grammar (CSG) α, β ∈ (VT |

2. Grammar tipe ke-1 : Context Sensitive Grammar (CSG) α, β ∈ (VT | VN)*, 0 < |α| ≤ |β| • Ciri : Panjang string ruas kiri harus < (lebih kecil) atau = (sama dengan) ruas kanan • Contoh : Ab → De. F CD → e. F

3. Grammar tipe ke-2 : Context Free Grammar (CFG) α ∈ VN, β ∈

3. Grammar tipe ke-2 : Context Free Grammar (CFG) α ∈ VN, β ∈ (VT|VN)* • Ciri : Ruas kiri haruslah tepat satu symbol variabel, yaitu simbol non terminal • Contoh : B → CDe. Fg D → Bc. De

4. Grammar tipe ke-3 : Regular Grammar (RG) α ∈ VN, β ∈ {VT,

4. Grammar tipe ke-3 : Regular Grammar (RG) α ∈ VN, β ∈ {VT, VT VN} atau α ∈ VN, β ∈ {VT, VN VT} • Ciri : Ruas kiri hanya memiliki maksimal satu symbol non terminal • Contoh : A→e A → g. H

Contoh Analisa Penentuan Type Grammar 1. Grammar G 1 dengan Q 1 = {S

Contoh Analisa Penentuan Type Grammar 1. Grammar G 1 dengan Q 1 = {S → a. B, B → b}. • Ruas kiri semua produksinya terdiri dari sebuah VN maka G 1 kemungkinan tipe CFG atau RG. • karena semua ruas kanannya terdiri dari sebuah VT atau string V T VN maka G 1 adalah RG.

Contoh Analisa Penentuan Type Grammar 2. Grammar G 2 dengan Q 2 = {S

Contoh Analisa Penentuan Type Grammar 2. Grammar G 2 dengan Q 2 = {S → Ba, B → Bb, B → b} • Ruas kiri semua produksinya terdiri dari sebuah VN maka G 2 kemungkinan tipe CFG atau RG • karena semua ruas kanannya terdiri dari sebuah VT atau string VN VT maka G 2 adalah RG.

Contoh Analisa Penentuan Type Grammar 3. Grammar G 3 dengan Q 3 = {S

Contoh Analisa Penentuan Type Grammar 3. Grammar G 3 dengan Q 3 = {S → Ba, B → b. B, B → b} • Ruas kiri semua produksinya terdiri dari sebuah VN maka G 3 kemungkinan tipe CFG atau RG • karena ruas kanannya mengandung string VT VN (yaitu b. B) dan juga string VN VT (Ba) maka G 3 bukan CFG, dengan kata lain G 3 adalah RG.

Contoh Analisa Penentuan Type Grammar 4. Grammar G 4 dengan Q 4 = {S

Contoh Analisa Penentuan Type Grammar 4. Grammar G 4 dengan Q 4 = {S → a. Ab, B → a. B}. • Ruas kiri semua produksinya terdiri dari sebuah VN maka G 4 kemungkinan tipe CFG atau RG. • karena ruas kanannya mengandung string yang panjangnya lebih dari 2 (yaitu a. Ab) maka G 4 bukan RG, dengan kata lain G 4 adalah CFG.

Contoh Analisa Penentuan Type Grammar 5. Grammar G 5 dengan Q 5 = {S

Contoh Analisa Penentuan Type Grammar 5. Grammar G 5 dengan Q 5 = {S → a. A, S → a. B, a. Ab → a. BCb}. • Ruas kirinya mengandung string yang panjangnya lebih dari 1 (yaitu a. Ab) maka G 5 kemungkinan tipe CSG atau UG • karena semua ruas kirinya lebih pendek atau sama dengan ruas kananya maka G 5 adalah CSG

Contoh Analisa Penentuan Type Grammar 6. Grammar G 6 dengan Q 6 = {a.

Contoh Analisa Penentuan Type Grammar 6. Grammar G 6 dengan Q 6 = {a. S → ab, SAc → bc} • Ruas kirinya mengandung string yang panjangnya lebih dari 1 maka G 6 kemungkinan tipe CSG atau UG • karena terdapat ruas kirinya yang lebih panjang daripada ruas kananya (yaitu SAc) maka G 6 adalah UG.

Derivasi Kalimat dan Penentuan Bahasa

Derivasi Kalimat dan Penentuan Bahasa

Latihan 1 Tentukan derivasi bahasa dari masing-masing grammar berikut: 1. Grammar G 1 dengan

Latihan 1 Tentukan derivasi bahasa dari masing-masing grammar berikut: 1. Grammar G 1 dengan Q 1 = {1. S → a. Aa, 2. A → a. Aa, 3. A → b} 2. Grammar G 2 dengan Q 2 = {1. S → a. S, 2. S → a. B, 3. B → b. C, 4. C → a. C, 5. C → a}

Latihan 2 1. Diketahui grammar G(VT , VN , S, Q) dimana : VT

Latihan 2 1. Diketahui grammar G(VT , VN , S, Q) dimana : VT = {a, b} VN = {S, A, B} S ∈ VN Q = {1. S → a. A; 2. A → a. Bb; 3. B → b. S; } a. G termasuk grammar tipe yg mn? Berikan alasannya. b. Buatlah 3 kalimat dengan panjang berbeda yang dapat diturunkan dari grammar G