Pertemuan 1 Teori Bahasa dan Automata Matakuliah : T0162/Teori Bahasa dan Automata Tahun : 2011 Pertemuan 1 Teori Bahasa dan Automata
Profile Bpk. Widodo Budiharto D2637 widodo@widodo.com HP :081410043883 Books : Hopcroft dkk, Introduction to Automata Theory, Languages and Computation, Addison –Wesley, 2001 2 Quiz 3 Tugas Mandiri (kelompok) 1 Tugas Akhir (paper/demo program kelompok di pertemuan 13)
Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : Mengenal arti penting dari konsep bahasa dan Automata Automata dan kompleksitas Regular Expression
Why Study Automata Theory? Automata theory is the study of abstract computing devices or “machines” Automata dapat digunakan sebagai model untuk: Lexical analyser pada compiler Pencarian kata kunci dalam satu file atau pada halaman web Software untuk pemeriksaan finite state system, seperti communication protocol Software untuk mendesain digital circuits.
Contoh finite automaton
A finite automaton
Structural Representations Adalah cara alternatif untuk spesifikasi mesin automata. Grammars : Himpunan aturan produksi Contoh : E E+E | E-E | E*E | E/E adalah aturan untuk ekspresi aritmetika Regular Expression : menyatakan bentuk struktur data. Contoh : ‘[A-Z][a-z]*’ Kata sesuai : ‘Jakarta’ Kata tidak sesuai : ‘JAKARTA’
Automata and Complexity
STRING, ALPHABET dan LANGUAGE String : Rangkaian Symbol Contoh : aa, bb, dst. • Symbol : Huruf : a, ..., z, A, ..., Z Digit : 0 ... 9 Khusus : $, , =, (, dst • Panjang String : |w| Jumlah simbol dalam string : w = abc |w| = 3
STRING, ALPHABET dan LANGUAGE String Kosong : () Tidak berisi simbol = 0 Prefix : Bagian depan string w = abb Prefix (w) = , a, ab, abb Suffix : Bagian belakang string Suffix (w) = , b, bb, abb
STRING, ALPHABET dan LANGUAGE • Infix : Bagian tengah string w = abb Infix (w) = , b, a, bb, ab, abb • Proper Prefix / Suffix : Prefix / Suffix kecuali w sendiri • Konkatenasi : Rangkaian dua string “hari”,”ini” “hariini” w = w = w
STRING, ALPHABET dan LANGUAGE • Alphabet ( ) : himpunan (set) simbol 1 = { a, b, …, z } 2 = { 0, 1 } • Language (L) : himpunan string dari suatu alphabet
Alphabet
STRING, ALPHABET dan LANGUAGE Ø : Empty set {} : language yang terdiri dari (empty) string Jenis Language : Finite: L1 = { a, ab, abb } Infinite: L2 = {1,2,…}
Strings
STRING, ALPHABET dan LANGUAGE • Konkatenasi Language : L, M : language L. M : konkatenasi L dan M LM = { xy| x L, y M } Contoh : L = { 0, 1, 00, 01, 10 } M = { 10, 11 } LM = { 010, 011, 110, 11, 0010, 0011, 0110, 0111, 1010, 1011 }
STRING, ALPHABET dan LANGUAGE • Union Language : L M : Union L dan M L M : { x x L atau x M} Contoh : L M = { 0, 1, 00, 01, 10, 11 }
CLOSURE LANGUAGE : Nol kali atau lebih ( Kleene Closure) + : Satu kali atau lebih ( Positive Closure) Misal L : Suatu language L* = L0 L1 L2 … = Li L+ = L1 L2 … = Li
Dedective proof Deduksi berarti penarikan kesimpulan dari keadaan yang umum atau penemuan yang khusus dari yang umum. Metode deduksi akan membuktikan suatu kebenaran baru berasal dari kebenaran-kebenaran yang sudah ada dan diketahui sebelumnya (berkesinambungan ).
Deductive proof A deductive proof consists of a sequence of statements whose truth leads us from some initial statement, called the hypothesis or the given statement(s), to a conclusion statement
Deductive proof
RE = Ekspresi sederhana untuk language yang diterima FA. Regular Expression RE = Ekspresi sederhana untuk language yang diterima FA. Misalkan suatu alphabet, RE didefinisikan secara recursive sebagai berikut : : RE yang menunjukkan “Empty Set”. : RE yang menunjukkan { }
r + s : RE untuk R S Untuk setiap a , a : RE yang menunjukkan {a} Jika r dan s adalah RE untuk language R dan S, maka : r + s : RE untuk R S r s : RE untuk RS r* : RE untuk R*
Contoh , 1, 11, 110, 111, … Contoh : 00 : RE untuk {00} (0 + 1)* : RE untuk himpunan string yang terdiri dari 0 dan 1 3. (0 + 1)*00(0 + 1)* : meliputi : 00, 10010, 010011, … 4. (1 + 10)* : meliputi : , 1, 11, 110, 111, …
5. (01). 011 : meliputi : 011, 0011, 1011, 10011, … 6. (aaabbabb) 5. (01)*011 : meliputi : 011, 0011, 1011, 10011, … 6. (aaabbabb)* : meliputi : , aa, ba, aabb,… 7. (ab)(ab)(ab)(ab)* : meliputi : aaa, abba,…
Sifat –Sifat RE Misal : r, s dan t adalah RE. r + s = s + r (r+s) + t = r + (s+t) (rs) t = r (st) rs + rt = r (s+t) +r = r+ = r r = r = r = r = r
8. r + r = r 9. (r*)* = r* * = * = r? = + r (definisi dari operator ?) (r*s*)* = (r+s)*
Summary
Pengenalan Java Unduh editor Netbeans dan Java Standard edition di : http://www.oracle.com/technetwork/java/javase/downloads/index.html
Kompilasi: javac CobaJava.java Eksekusi : java CobaJava Program java class CobaJava { public static void main(String args[]) { int nilai =85; System.out.println (“Belajar Java”); System.out.print (“Nilai :” + nilai); } Kompilasi: javac CobaJava.java Eksekusi : java CobaJava
TM 1(Kelompok) dikirim di pertemuan ke 3) Berikan definisi dan Jelaskan mengenai: Machine turing Teori Automata Deductive proof Inductive proof Alphabet, strings, languages Contoh DFA dan NFA