CS3113 Teori Komputasi STT Telkom 2007

Grammer dan Tingkat Bahasa

Agung Toto Wibowo atw@stttelkom.ac.id Download via http://www.stttelkom.ac.id/staf/atw/
JANGAN JADIKAN SLIDE INI SEBAGAI REFERENSI TUGAS AKHIR / PROYEK AKHIR

Materi dan Manfaat perkuliahan – FA [1]


Finite Automata : model yang sangat bermanfaat untuk berbagai hardware dan software. FA meliputi DFA dan NFA. Manfaat nyata :

Software untuk mendesain dan mencek perilaku sirkuit digital. Contoh : mesin ATM. Bagian “Lexical Analyzer” dari berbagai kompiler yang berfungsi membagi teks input menjadi logical unit seperti Keyword, Identifier, dan pungtuasi. Search engine  menscan web, dan menemukan kata, frasa atau pola yang tepat

Materi dan Manfaat perkuliahan – Grammer [2]

Grammer : model yang sangat bermanfaat untuk mendesain software yang memproses data secara rekursif. Grammer meliputi apa yang di bahas / dikategorikan di hirarki Chomsky Contoh yang paling populer dalam dunia komputer : Parser  bagian kompiler yang mengecek kebenaran / validitas struktur dari program sumber.

Contoh :  Unix Style regular ekspression ‘[A-Z][a-z]*[ ][A-Z] [A-Z]’ yang merepresentasikan kata berawalan huruf besar. .  Materi lainnya adalah Mesin Turing yang merupakan model dari mesin komputerkomputer canggih saat ini. yang diikuti spasi dan diakhiri dua huruf kapital.Materi dan Manfaat perkuliahan – Regular Ekspression [3]   Ekspresi reguler menyatakan struktur dari data khususnya dalam teks / string.

Konsep Sentral Teori Automata  Beberapa istilah penting yang ada di dalam teori automata :    Alphabet – Himpunan simbol String – list simbol dari alphabet Language – himpunan string dari alphabet yang sama .

. akan digunakan Σ untuk menyatakan alphabet. merupakan alphabet biner Σ = {a. b. Contoh :    Σ = {0. merupakan alphabet dari lower case Semua himpunan ASCII adalah alphabet dari karakter ASCII . . 1}..Alphabet   Alphabet : finite set dan non-empty set dari simbol. z}. c. Di perkuliahan kita.

1}.String [1]    String / word : finite sequence symbols yang diambil dari alphabet. Panjang String : panjang dari string w dinotasikan dengan |w| adalah jumlah kemunculan symbol dalam suatu string. . Contoh : |10010| = 5 dan |λ| = 0. Empty string dinotasikan dengan ε (dibuku 3) atau λ (dibuku 1 – yang kita gunakan). Empty string : string dengan kemunculan symbol adalah nol. Contoh : 01101 merupakan string dari alphabet Σ = {0.

00. maka kita dapat mengekspresikan sekumpulan string dengan panjang tertentu dari alphabet dengan cara Σk  Contoh : jika Σ = {0. 001. 0. 010. 11. 111} Σ* akan kita sebut sebagai himpunan string yang dapat dibangun oleh alphabet {0. 10. 110. 011. 000. 100. 1. maka      Σ0 = {λ} Σ3 = {000. 1}.101.String [2] Power of an Alphabet  Jika Σ adalah suatu alphabet. 01. …} Σ* = Σ0 U Σ1 U Σ2 U Σ3 U … . 1}* = {λ.

Laguage / Bahasa [1]    Language : himpunan string yang dipilih dari Σ* . maka L adalah language yang bisa di hasilkan oleh himpunan alphabet Σ. program yang legal adalah subset dari semua kemungkinan string yang dibangun dari alphabet di bahasa pemrograman itu. Contoh :   Kata-kata bahasa Indonesia adalah himpunan string dari alphabet yang semuanya terdiri atas huruf. Jika Σ adalah alphabet. . dan L  Σ* . Di bahasa C atau pemrograman lain.

01. …} . 01. 0011. …} Y = {λ. 000111. maka definisikan bahasa dari himpunan string berikut :    X = {λ. 1011. 11. 1}. 0101. 0011. 10. 1001. …} Z = {10.Laguage / Bahasa [2]  Contoh lain : jika kita punya Σ = {0. 111. 101.

.Bahasa sebagai Alat Komunikasi Aku Cinta Padamu….

Apa yang terjadi??? Hmmmm… Aku Juga... .

Kisah Lain Gila Lo yah!!! .

   Pembicara menggenerate kata-kata (grammer) Pendengar mengenali kata-kata (recognizer) Pendengar memahami maksud kata-kata (semantik) .Point Diskusi    Apa yang diucapkan oleh Pembicara??? Bagaimana Pendengar dapat memahami maksud pembicara? Sebenarnya….

„-‟ . „B‟. „1‟. dan bisa berupa angka atau simbol lain. Contoh „a‟. „C‟. „c‟. „b‟.   VN biasanya dituliskan dalam huruf kapital. „S‟  VT (variabel terminal) adalah himpunan simbol yang sudah tidak bisa diturunkan lagi. „0‟.Komponen Grammer [1]   Suatu Grammer / tata bahasa dapat didefinikan ke dalam bentuk formal : G = (VN. VT. „+‟. F) Di mana VN (variabel non terminal) adalah himpunan simbol yang masih bisa diturunkan. Contoh „A‟.   VT biasanya dituliskan dalam hurul kecil. S.

F (aturan produksi) adalah aturan yang menspesifikasikan bagaimana mentransformasi suatu string ke bentuk lainnya.    Kita akan menuliskan aturan produksi dalam bentuk α  β.Komponen Grammer [2]   S (starting symbol) adalah variabel non terminal yang digunakan sebagai awal penurunan produksi. Contoh :  T a (dibaca T menghasilkan a)  E  T | T+E α minimal mengandung 1 variabel nonterminal .

Noam Chomsky menggolongkan bahasa menjadi 4 tingkatan (dikenal dengan Hirarki Chomsky) Unrestricted Bahasa Konteks Sensitive Bahasa Bebas Konteks Bahasa Regular .Penggolongan Tingkat / Tipe Bahasa [1]  Pada tahun 1959.

Penggolongan Tingkat / Tipe Bahasa [2] Bahasa Regular / Tipe 3 Mesin Automata Finite State Automata (FSA) meliputi Deterministic Finite Automata (DFA) dan Non Deterministic Finite Automata (NFA) Batasan Produksi α adalah sebuah simbol variabel β maksimal memiliki sebuah simbol variabel yang bila ada terletak paling kanan α adalah sebuah simbol variabel Bebas Konteks Push Down Automata / Context Free / (PDA) Tipe 2 .

Penggolongan Tingkat / Tipe Bahasa [3] Bahasa Context Sensitive / Tipe 1 Unrestricted / Phase Structure / Natural Language / Tipe 0 Mesin Automata Batasan Produksi Linier Bounded Automata |α| <= |β| Mesin Turing Tidak ada batasan .

Penggolongan Tingkat / Tipe Bahasa [4]  Bahasa manusia / natural language masuk ke dalam grammer Tipe 0 / Unrestricted. dimana tidak ada batasan pada aturan produksinya.  Contoh : Abc  De .

.Penggolongan Tingkat / Tipe Bahasa [5]  Pada bahasa Context Sensitive. |α| <= |β|.    Contoh : Ab  DeF CD  eF Perhatikan S ε. Apakah masuk ke Context Sensitive???? Context Sensitive digunakan untuk proses analisis semantik dalam tahapan kompilasi.

(context free grammer) batasan bertambah dengan ruas kiri harus tepat 1 simbol variabel.   Contoh : B CDeFg D  BcDe Bahasa bebas konteks menjadi dasar dalam pembentukan suatu parser / analisis sintaksis.Penggolongan Tingkat / Tipe Bahasa [6]  Pada bebas konteks. .

Penggolongan Tingkat / Tipe Bahasa [7]  Pada bahasa reguler.  Contoh : A e | efgC C  cD | D De . batasan ini bertambah dengan ruas kanan maksimal memiliki sebuah simbol variabel yang letaknya paling kanan.

Penggolongan Tingkat / Tipe Bahasa [8]    Aturan produksi beriku ini tidak legal : ε  Abd karena ruas kiri tidak boleh berupa ε. Aturan berikut juga tidak legal : a  bd ab  bd karena ruas kiri harus memuat simbol yang bisa diturunkan. . Aturan di atas tidak legal untuk aturan produksi yang Unrestricted sekalipun.

: a  bd 2. : E  ( E ) | AOE | EOA | A A 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 O*|+|-|:  3: S  xX X  yY Y  xX | λ .Studi Kasus dan Diskusi [1]    Tentukan jenis grammer dari aturan produksi berikut : 1.

Studi Kasus dan Diskusi [2]  4. <sentence>  <subject> <predicate> <subject>  <noun> <noun>  jhon | mary <predicate>  <intransitive verb> <predicate>  <transitive verb> <object> <object>  <noun> <intransitive verb>  skates <transitive verb> likes .

Latihan [1]  Lengkapi tabel berikut : Nama Bahasa Unrestricted Context Free Context Sensitive Regular Tipe Syarat .

1 adalah fungsi a. Bukan Injective maupun Surjective e. Injective (satu ke satu) b.Latihan [4]  Fungsi f(x) = x2 . Salah semua . Surjective / onto (pada) c. Bijective (satu ke satu dan pada) d.

dan bagian betha terdapat maksimal 1 variabel non terminal. . Bahasa Context Sensitive digolongkan ke tipe 2. Bahasa Reguler lebih luas daripada bahasa Context Free. a. maka bahasa itu adalah unrestricted. Tidak ada jawaban benar. b. c. Syarat bahasa dikatakan unrestricted adalah bagian alpha maksimum 1 variabel non-terminal d. dan letaknya paling kanan. e. jika pada aturan produksi bagian alpha terdapat satu variabel non Terminal.Latihan [3]  Mana dari pernyataan penggolongan bahasa menurut chomsky berikut yang benar.

Latihan [4]  Mana dari aturan produksi berikut yang menyebabkan bahasa menjadi tidak context free. 0B  1 e. B 0 d. B  B0B . B  1B c. a. B  B01 b.

Bahasa Sensitif-Konteks c. Tidak ada yang benar . Bahasa Reguler d. Bahasa Bebas Konteks b.b}.{a.Latihan [5]  Diketahui tata bahasa G = ({S}. P) dimana P terdiri dari S  aaS | Saa | b aS  Sa Tata bahasa tersebut membangun : a. Bahasa TakTerikat e. S.

1 s/d 1.Tugas :  Baca materi Buku 1 chapter 1.5 .

Ullman. and Computation” Utdirartatmo. Firrar “Teknik Kompilasi”. Glen. 3. Language.Daftar Pustaka 1. 2. J. Jhon E. J&J Learning Yogyakarta. 1989 Hopcroft. and Jeffery D. 2001 ISBN:979-9398-11-8 . Brookshear. The Benjamin/Cummings Publishing Company. “Introduction to Automata Theory. “Theory of Computation : Formal Language. Automata and Complexity”.

Sign up to vote on this title
UsefulNot useful