P. 1
Teori Bahasa Dan Automata Tgs 1

Teori Bahasa Dan Automata Tgs 1

|Views: 360|Likes:
Published by Andi Jumarta

More info:

Published by: Andi Jumarta on Oct 31, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

12/19/2012

pdf

text

original

TEORI BAHASA DAN AUTOMATA

1. Definisi Teori Bahasa dan Automata • Teori Bahasa Bahasa didefinisikan didalam kamus adalah suatu sistem yang meliputi pengekspresian gagasan, fakta, konsep, termasuk sekumpulan simbol-simbol dan aturan untukmelakukan manipulasinya. Sebuah bahasa adalah himpunan stringstring dari simbol-simbol alphabet. Teori bahasa membicarakan bahasa formal (formal language), terutama untuk kepentingan perancangan kompilator (compiler) dan pemroses naskah (text processor). • Automata Automata berasal dari bahasa Yunani automatos, yang berarti sesuatu yang bekerja secara otomatis (mesin). Istilah automaton sebagai bentuk tunggal dan automata sebagai bentuk jamak. Automata adalah mesin abstrak yang dapat mengenali (recognize), menerima (accept), atau membangkitkan (generate) sebuah kalimat dalam bahasa tertentu.

2. • • • • • • • • •

Ruang Lingkup Teori Bahasa dan Automata Pengertian Dasar dan Operasi pada string Grammar dan Bahasa Teknik Kompilasi Finite State Automata (FSA) Ekspresi Reguler Mesin Pengenal Bahasa Pohon Penurunan Bentuk Normal Rekursif Kiri

B→ Love | Miss.3. misalnya : α . artinya : dalam sebuah derivasi dapat dilakukan penggantian simbol α dengan simbol β . • Simbol-simbol berikut adalah simbol terminal :  huruf kecil. Kalimat adalah merupakan sentensial. dan γ . S. misalnya : +. C  huruf S sebagai simbol awal  string yang tercetak miring. • Sebuah produksi dilambangkan sebagai α → β . Sebuah derivasi dilambangkan sebagai : α ⇒ β . V N = {S. misalnya : (. P). β . V N . You}.. misalnya : if. Love. 0. dan else. Grammar Grammar G didefinisikan sebagai pasangan 4 tuple : V T .C}. dan P. • Bahasa adalah himpunan kalimat-kalimat. IMissYou} . B. c. misalnya : a. misalnya : A. misalnya : expr • Huruf yunani melambangkan string yang tersusun atas simbol-simbol terminal atau simbol-simbol non terminal atau campuran keduanya. • Simbol-simbol berikut adalah simbol non terminal /Variabel :  huruf besar. − dan × . • Kalimat adalah deretan hingga simbol-simbol terminal. 1. then. ).A. P = {S → ABC. • Sentensial adalah string yang tersusun atas simbol-simbol terminal atau simbolsimbol non terminal atau campuran keduanya. dimana : VT : himpunan simbol-simbol terminal (alfabet) kamus VN : himpunan simbol-simbol non terminal S∈V N : simbol awal (atau simbol start) P : himpunan produksi Contoh : 1) G1 : VT = {I. • Derivasi adalah proses pembentukan sebuah kalimat atau sentensial. .  string yang tercetak tebal. V N . dan dituliskan sebagai G(V T . sebaliknya belum tentu.. Anggota bahasa bisa tak hingga kalimat. Definisi Jenis dan Contoh Grammar Konsep Dasar • Anggota alfabet dinamakan simbol terminal. C→ You} S ⇒ ABC ⇒ IloveYou L(G1)={IloveYou.  simbol tanda baca. • Kalimat adalah string yang tersusun atas simbol-simbol terminal. A→ I. Miss.  simbol operator. b. S.B. dan .

Grammar tipe ke-1 : Context Sensitive Grammar (CSG) Ciri : α . B → b}. Ruas kiri semua produksinya terdiri dari sebuah V N maka G 1 kemungkinan tipe CFG atau RG. Grammar tipe ke-3 : Regular Grammar (RG) Ciri : α ∈ V N . V T V N } atau α ∈ V N .  α  > 0 V 2. β ∈ {V T . β ∈ {V T . Selanjutnya karena semua ruas kanannya terdiri dari sebuah V T atau string V N V T maka G 2 adalah RG(3). 2. aa. Grammar G 2 dengan P 2 = {S → Ba. Grammar tipe ke-2 : Context Free Grammar (CFG) Ciri : α ∈ V N . aaa. 3) language if it can be specified by a type-i grammar but can’t be specified any type-(i+1) grammar. Contoh Analisa Penentuan Type Grammar 1. 2. Grammar tipe ke-0 : Unrestricted Grammar (UG) Ciri : α . B → b}. B → bB. aaaa. 0 <  α  ≤  β  V 3.2) G2 : VT = {a}. V N V T } Tipe sebuah grammar (atau bahasa) ditentukan dengan aturan sebagai berikut : A language is said to be type-i (i = 0. B → Bb. β ∈ (V T  N )*. Selanjutnya karena semua ruas kanannya terdiri dari sebuah V T atau string V T V N maka G 1 adalah RG(3). Grammar G 1 dengan P 1 = {S → aB. 1. P = {S → aS a} S ⇒ aS ⇒ aaS ⇒ aaa L(G2) ={an n ≥ 1} L(G2)={a. β ∈ (V T  N )* V 4. . V N = {S}. β ∈ (V T  N ) *.…} Klasifikasi Chomsky Berdasarkan komposisi bentuk ruas kiri dan ruas kanan produksinya (α → β ). Noam Chomsky mengklasifikasikan 4 tipe grammar : 1. Ruas kiri semua produksinya terdiri dari sebuah V N maka G 2 kemungkinan tipe CFG atau RG.

A → aAa. B → aB}. 3. Grammar G 5 dengan P 5 = {S → aA. G 2 dengan P 2 = {1. SAc → bc}. 3. 4. 6. Derivasi Kalimat dan Penentuan Bahasa Tentukan bahasa dari masing-masing gramar berikut : 1. S → aAa. C → aC. Grammar G 6 dengan P 6 = {aS → ab. 5. aAb → aBCb}. Selanjutnya karena terdapat ruas kirinya yang lebih panjang daripada ruas kananya (yaitu SAc) maka G 6 adalah UG. 4. S → aB. Ruas kirinya mengandung string yang panjangnya lebih dari 1 maka G 6 kemungkinan tipe CSG atau UG. 5. Selanjutnya karena ruas kanannya mengandung string yang panjangnya lebih dari 2 (yaitu aAb) maka G 4 bukan RG. B → bC. Jawab : Derivasi kalimat terpendek : S ⇒ aB (2) ⇒ abC (3) Derivasi kalimat umum : S ⇒ aS (1) … . dengan kata lain G 4 adalah CFG. B → bB. Selanjutnya karena semua ruas kirinya lebih pendek atau sama dengan ruas kananya maka G 5 adalah CSG. Grammar G 4 dengan P 4 = {S → aAb. S → aS. G 1 dengan P 1 = {1. A → b}. Grammar G 3 dengan P 3 = {S → Ba. C → a}. S → aB.3. Jawab : Derivasi kalimat terpendek : S ⇒ aAa (1) ⇒ aba (3) Derivasi kalimat umum : S ⇒ aAa (1) ⇒ aaAaa (2) … ⇒ a n Aa n (2) ⇒ a n ba n (3) Dari pola kedua kalimat disimpulkan : L 1 (G 1 ) = { a n ba n n ≥ 1} 2. B → b}. Selanjutnya karena ruas kanannya mengandung string V T V N (yaitu bB) dan juga string V N V T (Ba) maka G 3 bukan RG. Ruas kirinya mengandung string yang panjangnya lebih dari 1 (yaitu aAb) maka G 5 kemungkinan tipe CSG atau UG. dengan kata lain G 3 adalah CFG(2). 2. 2. Ruas kiri semua produksinya terdiri dari sebuah V N maka G 4 kemungkinan tipe CFG atau RG. Ruas kiri semua produksinya terdiri dari sebuah V N maka G 3 kemungkinan tipe CFG atau RG.

m≥ 1} n 3. cC → cc}. bC → bc. S → aSBC. CB → BC. G 3 dengan P 3 = {1.⇒ aba (5) ⇒ a n -1 S ⇒a n B ⇒ a n bC ⇒ a n baC (4) … ⇒ a n ba m -1 C ⇒ a n ba m (5) (1) (2) (3) (4) Dari pola kedua kalimat disimpulkan : L 2 (G 2 )={a n ba m  ≥ 1. 4. S → abC. Jawab : Derivasi kalimat terpendek 1: Derivasi kalimat terpendek 3 : S ⇒ abC (2) S ⇒ aSBC (1) ⇒ abc (4) ⇒ aaSBCBC (1) Derivasi kalimat terpendek 2 : ⇒ aaabCBCBC (2) S ⇒ aSBC (1) ⇒ aaabBCCBC (5) ⇒ aabCBC (2) ⇒ aaabBCBCC (5) ⇒ aabBCC (5) aabcBC (4) ⇒ aaabBBCCC (5) ⇒ aabbCC (3) ⇒ aaabbBCCC (3) ⇒ aabbcC (4) ⇒ aaabbbCCC (3) ⇒ aabbcc (6) ⇒ aaabbbcCC ⇒ aaabbbccC ⇒ aaabbbccc (6) Dari pola ketiga kalimat disimpulkan : L 3 (G 3 ) = { a n b n c n n ≥ 1} (4) (6) Menentukan Grammar Sebuah Bahasa 1. Tentukan sebuah gramar regular untuk bahasa L 1 = { a n n ≥ 1} Jawab : P 1 (L 1 ) = {S → aS a} 2. Tentukan sebuah gramar bebas konteks untuk bahasa : . 5. 6. 3. 2. bB → bb.

Tentukan gramar bebas konteks untuk bahasa L 4 (G 4 ) = {a n b m  n.J1|3|5|7|9} Buat dua buah himpunan bilangan terpisah : genap (G) dan ganjil (J) P 2 (L 2 ) = {S → J JS. L 4 = L A ∪ L B . n ≠ m} Jawab : Langkah kunci : sulit untuk mendefinisikan L 4 (G 4 ) secara langsung... Tentukan sebuah gramar bebas konteks untuk bahasa : . Ha|.. aC. J → 1 5 9} GS 2 6 3 7 3.2. Tentukan sebuah gramar bebas konteks untuk bahasa : P 3 (L 3 ) = himpunan semua identifier yang sah menurut bahasa pemrograman Pascal dengan batasan : terdiri dari simbol huruf kecil dan angka. T → AT H HT A. ab} 5. G0|2|4|6|8. n 1 P A (L A ) = {A → aA C → aCb aC. panjang identifier boleh lebih dari 8 karakter Jawab : Langkah kunci : karakter pertama identifier harus huruf. G0|2|4|6|8. ab} P 4 (L 4 ) = {S→ A A → aA C → aCb B → Bb D→ aDb B. Db. Q(L B ) = {B → Bb D→ aDb Db. ab}. G → 0 4 8. ab.m ≥ 1. Jalan keluarnya adalah dengan mengingat bahwa x ≠ y berarti x > y atau x < y. TGT|JT|J.1. A0|.9} Vn ={S. Buat dua himpunan bilangan terpisah : huruf (H) dan angka (A) SHT|H. Vt={0.J1|3|5|7|9} P={SGS|JS|J.THT|AT|H|A. H → a c b ….|z. L A ={a n b m  > m ≥ 1}. G.. L B = {a n b m  ≤ n < m}.L 2 : himpunan bilangan bulat non negatif ganjil Jawab : Langkah kunci : digit terakhir bilangan harus ganjil.J} P={SHT|JT|J. H2|4|6|8. A → 0 2 1 …} 4.|9 P 3 (L 3 ) = {S → H HT.

Dengan fungsi transisinya adalah adalah fungsi transisi 5. untuk menangani stack: • • Γ adalah himpunan berhingga simbol-simbol stack. PushDown Automata PushDown Automata mesin pengenal bahasa yang dapat mengenali kelas bahasa Context Free Grammar (CFG) adalah salah satu varian otomata dengan 7-tupel . Buat tiga himpunan terpisah : bilangan genap tanpa nol (G). Σ adalah himpunan simbol-simbol. adalah simbol awal adalah state akhir Ditambah dengan dua unsur. Jawab : Langkah kunci : Digit terakhir bilangan harus genap. berfungsi sebagai model ideal untuk melakukan perhitungan matematis. Mesin Turing merupakan mesin pengenal bahasa yang dapat mengenali kelas bahasa yang lebih tinggi dari bahasa bebas konteks (CFG) yaitu Unrestricted Grammar (UG). serta bilangan ganjil (J). N→ 0 4 8. Jika bilangan tersebut terdiri dari dua digit atau lebih maka nol tidak boleh muncul sebagai digit pertama. bilangan genap dengan nol (N). Mesin Turing Mesin Turing adalah model komputasi teoritis yang ditemukan oleh Alan Turing. P 5 (L 5 ) = {S → N GA A → N JA. model ini tetap diterima kalangan ilmu komputer sebagai model komputer yang sesuai untuk menentukan apakah suatu fungsi dapat selesaikan oleh komputer atau tidak (menentukan computable function). Walaupun model ideal ini diperkenalkan sebelum komputer nyata dibangun. adanya sequential storage sebagai memori yang dapat di baca-tulis. Digit pertama tidak boleh nol. di mana: • • • • Q adalah himpunan berhingga dari state.L 5 = bilangan bulat non negatif genap. adalah simbol awal stack. NA G→ 2 6 JA. . J → 1 5 9} 2 6 3 7 4. mempunyai medium keluaran proses. 4 8.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->