Cs3113 02 Grammer Dan Tingkat Bahasa

download Cs3113 02 Grammer Dan Tingkat Bahasa

of 28

Transcript of Cs3113 02 Grammer Dan Tingkat Bahasa

CS3113 Teori Komputasi STT Telkom 2007Grammer dan Tingkat Bahasa

Agung Toto Wibowo [email protected] 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.

Materi dan Manfaat perkuliahan Regular Ekspression [3]Ekspresi reguler menyatakan struktur dari data khususnya dalam teks / string. Contoh :Unix Style regular ekspression [A-Z][a-z]*[ ][A-Z] [A-Z] yang merepresentasikan kata berawalan huruf besar, yang diikuti spasi dan diakhiri dua huruf kapital.

Materi lainnya adalah Mesin Turing yang merupakan model dari mesin komputerkomputer canggih saat ini.

Konsep Sentral Teori AutomataBeberapa istilah penting yang ada di dalam teori automata :Alphabet Himpunan simbol String list simbol dari alphabet Language himpunan string dari alphabet yang sama

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

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

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

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

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

Bahasa sebagai Alat Komunikasi

Apa yang terjadi???

Kisah Lain

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

Komponen Grammer [1]Suatu Grammer / tata bahasa dapat didefinikan ke dalam bentuk formal : G = (VN, VT, S, F) Di mana VN (variabel non terminal) adalah himpunan simbol yang masih bisa diturunkan.VN biasanya dituliskan dalam huruf kapital. Contoh A, B, C, S

VT (variabel terminal) adalah himpunan simbol yang sudah tidak bisa diturunkan lagi.VT biasanya dituliskan dalam hurul kecil, dan bisa berupa angka atau simbol lain. Contoh a, b, c, 1, 0, +, -

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

Penggolongan Tingkat / Tipe Bahasa [1]Pada tahun 1959, Noam Chomsky menggolongkan bahasa menjadi 4 tingkatan (dikenal dengan Hirarki Chomsky)

Penggolongan Tingkat / Tipe Bahasa [2]BahasaRegular / Tipe 3

Mesin AutomataFinite 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]BahasaContext Sensitive / Tipe 1 Unrestricted / Phase Structure / Natural Language / Tipe 0

Mesin Automata

Batasan Produksi

Linier Bounded Automata ||