Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

OTOMATA DAN TEORI BAHASA FORMAL

Presentasi serupa


Presentasi berjudul: "OTOMATA DAN TEORI BAHASA FORMAL"— Transcript presentasi:

1 OTOMATA DAN TEORI BAHASA FORMAL
SEMESTER PENDEK 2015/2016 OTOMATA DAN TEORI BAHASA FORMAL Betha Nurina Sari,M.Kom

2 PERTEMUAN 5 Pertemuan 9 : Ekspresi Reguler

3 Penerapan Ekspresi Regular
Sebuah bahasa dinyatakan regular jika terdapat finite state automata (FSA) yang dapat menerimanya. Ekspresi regular biasanya disebut ER, memungkinkan mendefinisikan bahasa-bahasa Ekspresi regular memberikan suatu pola atau template untuk untai/string dari suatu bahasa. Untai yang menyusun suatu bahasa regular akan cocok dengan pola bahasa itu.

4 FSA menerima bilangan integer tak bertanda
Contoh penerapannya adalah pembatasan data masukan yang diperkenankan, misalnya suatu field masukan hanya menerima input bilangan (0..9) 0,1...9 Dalam bahasa Indonesia bisa dikatakan bahwa otomata menerima masukan simbol input antara 0 sampai 9 Ekspresi Regular ( ER ) = (digit)(digit)*

5 Contoh : Tuliskan Ekspresi Regular untuk suatu identifier ( Pengenal), huruf besar atau huruf kecil yang kemudian diikuti huruf atau digit dengan tanpa pembatasan jumlah panjang : (huruf) (huruf + digit)* Akan mengenali bila huruf berupa A..Z, a..z dan digit berupa 0...9 Cek Untai, diterima atau ditolak : abqZ012, Gh6k72, 7h5sd, 32dFsd

6 Contoh : Bila pada bahasa FORTRAN dibatasi panjang identifier maksimal 6, maka ekspresi regular untuk identifier pada FORTRAN bisa dinyatakan sebagai (huruf) (huruf+digit)⁵ Dalam implementasinya, suatu finite state automata akan diterjemahkan menjadi kode dalam sebuah bahasa pemrograman.

7 Notasi Ekspresi Regular
(*) yaitu karakter asterisk, berarti bisa tidak muncul, bisa juga muncul berhingga kali (0-n). (˖) pada posisi superscript / diatas berarti minimal muncul satu kali (1-n). (+) atau (ᴗ) berarti union/atau. (.) titik, berarti konkatenasi. Biasanya titik bisa dihilangkan. Misalnya: ab bermakna sama seperti a.b.

8 Urutan prioritas operator dalam ekspresi regular:
Operator star (*) Operator dot (concatenation)(.) Concatenation bersifat asosiatif sehingga 012 dapat dikelompokkan (01)2. Operator (+) atau (υ)/ (union) yang bersifat asosiatif. Contoh, ekspresi 01*+1 dikelompokkan menjadi (0(1*))+1.

9 Contoh Ekspresi Regular
Contoh ekspresi regular, disingkat ER adalah : ER: ab*cc contoh string dibangkitkan : abcc, abbcc, abbbcc, abbbbcc, acc (b bisa tidak muncul atau muncul berkali-kali). ER: 010* contoh string yang didapatkan: 01, 010, 0100, 01000 (jumlah 0 diujung bisa tidak muncul, bisa muncul berkali-kali) ER: a*d contoh string yg didapatkan: d, ad, aad, aaad. ER: aᶧd contoh string yg didapatkan: ad, aad, aaad (a minimal muncul sekali)

10 Contoh Ekspresi Regular
ER: a*ᴗb* (‘ᴗ’ berarti atau) contoh string yg didapatkan: a, b, aa, bb, aaa, bbb, aaaa, bbbb. ER : (a ᴗ b)* contoh string yang didapat : a, b, ab, ba, abb, bba, aaaa, bbbb (untai yang memuat a atau b) ER: (aᴗb) contoh string yg didapat: a,b. ER: 01* + 0 contoh string yang didapatkan: 0, 01, 011, 0111, (string yg berawalan dengan 0, dan selanjutnya boleh diikuti deretan 1)

11 Hubungan ER dengan FSA Untuk setiap ekspresi regular ada satu Non- deterministic Finit Automata dengan transisi ɛ (NFA ɛ-move) yg ekuivalen. Untuk setiap Deterministic Finite Automata ada satu ekspresi regular dari bahasa yg diterima oleh Deterministic Finite Automata (DFA). Kita bisa membuat NFA Ԑ-move dari sebuah Ekspresi Regular dan dari NFA Ԑ-Move dapat diubah menjadi NFA,dari NFA diubah menjadi DFA ER -> NFA Ԑ-move -> NFA -> DFA

12 Hubungan antara NFA, DFA dan Ekspresi Regular

13 PERTEMUAN 5 Pertemuan 10 : Aturan Produksi FSA

14 Aturan Produksi Bahasa Regular
Sebuah otomata berhingga menspesifikasikan sebuah bahasa sebagai himpunan semua untai yang menggerakkannya dari state awal ke salah satu dari state yang diterimanya (himpunan state akhir).

15 Batasan Aturan Produksi untuk Bahasa Regular
αβ (dibaca α menghasilkan β) α adalah sebuah simbol variabel. β maksimal memiliki sebuah simbol variabel yang terletak di paling kanan bila ada. α atau β bisa berupa simbol terminal atau non- terminal/variabel. Simbol variabel/non-terminal adalah simbol yang masih bisa diturunkan. Biasanya dinyatakan dengan huruf besar, misal: A, B, C. Simbol terminal sudah tidak bisa diturunkan lagi. Simbol terminal biasanya dinyatakan dengan huruf kecil. Misal: a, b, c.

16 Aturan Produksi untuk Bahasa Regular
Suatu tata bahasa (grammar) didefinisikan dengan 4 tupel (G={V, T, P, S}) dimana: V= himpunan simbol variabel/non terminal. T= himpunan simbol terminal. P= kumpulan aturan produksi S= simbol awal

17 Mengkonstruksi Aturan Produksi dari Suatu FSA
Dalam mengkontruksi aturan produksi tata bahasa regular dari suatu finite state automata, perlu kita ingat yang menjadi perhatian kita adalah state-state yang bisa menuju ke state akhir.

18 Aturan Produksi Misalnya kita tentukan simbol awal adalah S, kita identikan simbol S dengan state awal q₀. dari q₀ mendapat input a menjadi q₁. E Kita identikkan dengan q₁ Bisa kita tuliskan sebagai aturan produksi: SaE

19 Aturan Produksi Kita bisa menambahkan simbol variabel baru setiap kali kita perlukan. Dari q₁ mendapat transisi Ԑ (tanpa menerima input) ke q₂ atau (A) dan q₃ atau (B). Dapat kita tuliskan: EA EB Atau E A|B

20 Aturan Produksi Jika kita identikan q₂ sebagai A dan q₃ sebagai B.
dari q₂ mendapat input a tetap ke q₂, dari q₃ mendapat input b tetap ke q₃, bisa kita tuliskan: A  aA B  bB

21 Aturan Produksi Selanjutnya kita lihat A  b B  b
dari q₂ mendapat input b ke q₄, dari q₃ mendapat input b ke q₄, sementara q₄ state akhir dan dari q₄ tidak ada lagi busur keluar, maka bisa kita tuliskan: A  b B  b

22 Aturan produksi Dari penjelasan yg dijabarkan diatas, maka diperoleh kumpulan aturan produksi sebagai berikut: SaE EA|B AaA|b BbB|b (ingat tanda “|” berarti atau)

23 Finite State Automata untuk Suatu Tata Bahasa Regular
Misalkan terdapat tata bahasa regular dengan aturan produksi: SaS|bB|b BcC CaS Bisa kita lihat hasil pada gambar tersebut akan berkorelasi S dengan q₀, B dengan q₁, dan C dengan q₂. Kita lihat Sb, maka kita buat state akhir q₃.

24 NEXT >>> Pohon Penurunan


Download ppt "OTOMATA DAN TEORI BAHASA FORMAL"

Presentasi serupa


Iklan oleh Google