download

Matakuliah
Tahun
: T0162/Teori Bahasa dan Automata
: 2009
Pertemuan 1
Teori Bahasa dan Automata
1
Learning Outcomes
Pada akhir pertemuan ini, diharapkan mahasiswa
akan mampu :
• << TIK-99 >>
• << TIK-99>>
2
Outline Materi
•
•
•
•
•
Materi 1
Materi 2
Materi 3
Materi 4
Materi 5
3
Why Study Automata Theory?
Automata = abstract computing devices
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
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’
5
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
6
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
7
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
8
STRING, ALPHABET dan
LANGUAGE
•
Alphabet ( ) : himpunan (set) simbol
1 = { a, b, …, z }
2 = { 0, 1 }
•
Language (L) : himpunan string dari
suatu
alphabet
 
languages; satu sama lain berbeda

 
9
STRING, ALPHABET dan
LANGUAGE
Ø : Empty set
{} : language yang terdiri dari  (empty)
string
Jenis Language :
Finite:
L1 = { a, ab, abb }
Infinite: L2 = himpunan palindrome atas
 = { 0, 1 }
10
STRING, ALPHABET dan
LANGUAGE
•
Konkatenasi Language :
L, M: language
L. M: konkatenasi L dan M
LM = { xy| x  L, y  M }
Contoh :
L
=
M =
LM =
{ 0, 1, 00, 01, 10 }
{ 10, 11 }
{ 010, 011, 110, 11, 0010,
0011, 0110, 0111, 1010,
1011 }
11
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 }
12
CLOSURE LANGUAGE
 : Nol kali atau lebih ( Kleene Closure)
+ : Satu kali atau lebih ( Positive Closure)
Misal
L : Suatu language
 i
0
1
2
U
L*
= L  L  L  … = i0 L
L1

L2
…

U Li
i 1
L+
=
*
: Himpunan String dari simbol2 dalam 
=
13
<< CLOSING>>
14