Pertemuan 1 Teori Bahasa dan Automata
-
Upload
randolph-tripp -
Category
Documents
-
view
115 -
download
7
description
Transcript of Pertemuan 1 Teori Bahasa dan Automata
1
Pertemuan 1Teori Bahasa dan Automata
Matakuliah : T0162/Teori Bahasa dan Automata
Tahun : 2011
Profile
• Bpk. Widodo Budiharto D2637
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)
2
3
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.
4
Contoh finite automaton
5
A finite automaton
6
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’7
8
Automata and Complexity
9
10
STRING, ALPHABET dan LANGUAGE
• String : Rangkaian SymbolContoh : 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
11
STRING, ALPHABET dan LANGUAGE
• String Kosong : ()Tidak berisi simbol
= 0• Prefix : Bagian depan string
w = abbPrefix (w) = , a, ab, abb
• Suffix : Bagian belakang stringw = abb
Suffix (w) = , b, bb, abb
12
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
13
STRING, ALPHABET dan LANGUAGE
• Alphabet ( ) : himpunan (set) simbol
1 = { a, b, …, z }
2 = { 0, 1 }
• Language (L) : himpunan string dari
suatu alphabet
Alphabet
14
15
STRING, ALPHABET dan LANGUAGE
Ø : Empty set
{} : language yang terdiri dari (empty) string
Jenis Language :
Finite: L1 = { a, ab, abb }
Infinite: L2 = {1,2,…}
Strings
16
17
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 }
18
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 }
19
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
Ui0
Ui1
Dedective proof
20
• 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
21
Deductive proof
22
23
Regular Expression
RE = Ekspresi sederhana untuk language yang diterima FA.
Misalkan suatu alphabet, RE didefinisikan secara recursive sebagai berikut :
1. : RE yang menunjukkan “Empty Set”.
2. : RE yang menunjukkan { }
24
3. Untuk setiap a ,
a : RE yang menunjukkan {a}
4. 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*
25
Contoh
Contoh :
1. 00 : RE untuk {00}2. (0 + 1)* : RE untuk himpunan string yang terdiri dari 0 dan 13. (0 + 1)*00(0 + 1)* : meliputi :
00, 10010, 010011, …
4. (1 + 10)* : meliputi :
, 1, 11, 110, 111, …
26
5. (01)*011 : meliputi :
011, 0011, 1011, 10011, …
6. (aaabbabb)* : meliputi :
, aa, ba, aabb,…
7. (ab)(ab)(ab)(ab)* : meliputi :
aaa, abba,…
27
Sifat –Sifat RE
Misal : r, s dan t adalah RE.
1. r + s = s + r
2. (r+s) + t = r + (s+t)
3. (rs) t = r (st)
4. rs + rt = r (s+t)
5. +r = r+ = r
6. r = r = 7. r = r = r
28
8. r + r = r
9. (r*)* = r*
10. * = 11. * = 12. r? = + r (definisi dari operator ?)
13. (r*s*)* = (r+s)*
29
30
Summary
31
Pengenalan Java
• Unduh editor Netbeans dan Java Standard edition di :
http://www.oracle.com/technetwork/java/javase/downloads/index.html
32
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
33
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
34