520 likes | 1.17k Views
Pertemuan 1 Teori Bahasa dan Automata. Matakuliah : T0162/Teori Bahasa dan Automata Tahun : 20 11. 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
E N D
Pertemuan 1Teori Bahasa dan Automata Matakuliah : T0162/Teori Bahasa dan Automata Tahun : 2011
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.
StructuralRepresentations • 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’
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 w = abb 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
STRING, ALPHABET dan LANGUAGE Ø : Empty set {} : language yang terdiri dari (empty) string Jenis Language : Finite: L1 = { a, ab, abb } Infinite: L2 = {1,2,…}
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
Regular Expression RE = Ekspresisederhanauntuk language yang diterima FA. Misalkansuatu alphabet, RE didefinisikansecara recursive sebagaiberikut : • : RE yang menunjukkan “Empty Set”. • : RE yang menunjukkan { }
Untuksetiap 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 Contoh : • 00 : RE untuk {00} • (0 + 1)* : RE untukhimpunan string yang terdiridari 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)* : 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 (definisidari operator ?) • (r*s*)* = (r+s)*
Pengenalan Java • Unduh editor Netbeans dan Java Standard edition di : http://www.oracle.com/technetwork/java/javase/downloads/index.html
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