AUTOMATA
TEORI BAHASA DAN AUTOMATA, SEMESTER GENAP 2019
PTIK, FT - UNM
Materi Bahasan
A Konsep Teori Bahasa dan Automata.
D Aplikasi-aplikasi TBO
Konsep Teori Bahasa
dan Automata
D
D
Defenisi
Teori Bahasa
Teori bahasa membicarakan bahasa formal (formal language), terutama untuk
kepentingan perancangan kompilator (compiler) dan pemroses naskah (text
processor).
Bahasa formal adalah kumpulan kalimat. Semua kalimat dalam sebuah
bahasa dibangkitkan oleh sebuah tata bahasa (grammar) yang sama.
Sebuah bahasa formal bisa dibangkitkan oleh dua atau lebih tata bahasa
berbeda. Dikatakan bahasa formal karena grammar diciptakan mendahului
pembangkitan setiap kalimatnya.
Bahasa manusia bersifat sebaliknya; grammar diciptakan untuk meresmikan
kata-kata yang hidup di masyarakat. Dalam pembicaraan selanjutnya ‘bahasa
formal’ akan disebut ‘bahasa’ saja.
Bahasa Formal adalah suatu kalimat yang dibentuk dengan menerapkan
serangkaian aturan produksi pada sebuah simbol “akar”. Proses penerapan
aturan produksi dapat digambarkan sebagai suatu diagram pohon.
Defenisi
Automata
Automata adalah mesin abstrak yang dapat mengenali (recognize), menerima
(accept), atau membangkitkan (generate) sebuah kalimat dalam bahasa
tertentu.
Cont…Automata
Beberapa contoh tipe mesin (finite automata) yang dipelajari oleh sejumlah
peneliti dan berguna untuk berbagai macam keperluan
Kleene Closure :
X* = x xx xxx … = x x2 x3 …
Positive Closure :
x + = x xx xxx … = x x2 x3 …
Jika x dan y membentuk string maka x.y menyatakan concatenation dari x dan
y, yaitu string yang terbentuk dari tiruan x dan diikuti oleh tiruan y
Contoh:
1. x = 01101 and y = 110
Maka xy = 01101110 dan yx = 11001101
2. Untuk setiap string w, persamaan w = w = w .
Persamaan ini , adalah identitas untuk concatenation
Jika S dan T adalah subsets dari ∑* , maka
S.T = {s.t | s ∈ S, t ∈ T}
Concatenation
Alternation adalah pilihan satu diantara dua buah string. Operator alternation
adalah alternate atau . Contoh alternate (xy) = x y = abc atau 123
Operasi Dasar String
Sebuah bahasa pada ∑ boleh tidak mengikutkan semua string dengan semua
symbol pada ∑
Maka, sebuah bahasa pada ∑ juga merupakan sebuah bahasa pada setiap
alphabet yang merupakan superset dari ∑
Contoh:
• Bahasa Pemrograman C
Program-program yang legal adalah sebuah subset dari semua string yang
mungkin dapat dibentuk dari alphabet sebuah bahasa (sebuah subset dari
karakter ASCII)
• Bahasa Inggris atau Bahasa Perancis
Contoh Bahasa
1.Sebuah bahasa dari semua strings yang terdiri dari n buah 0 diikuti oleh
n buah 1 (n ≥ 0): {, 01, 0011, 000111, . . .}
2. Sebuah set dari strings terdiri dari sejumlah 0 dan 1 dengan jumlah
yang sama : {, 01, 10, 0011, 0101, 1001, . . .}
UNION
Contoh :
Jika L = {001, 10, 111} dan M = {, 001} maka
CONCATENATION
Concatenation dari bahasa (languages) L dan M, dinotasikan
dengan L . M atau hanya LM , adalah sebuah set dari strings yang
dapat dibentuk dengan mengambil string yang manapun dalam L
dan menggabungkannya dengan string apapun dalam M
Contoh :
Jika L = {001, 10, 111} dan M = {, 001} maka
L.M = {001, 10, 111, 001001, 10001, 111001}
Beberapa Operator Penting pada Bahasa
CLOSURE
Jika closure dari sebuah bahasa (language) L dinotasikan dengan L* dan
merepresentasikan sebuah set dari sejumlah strings yang dapat dibentuk
dengan mengambil sejumlah strings dari L, mungkin dengan repetisi (i.e.,
string yang sama dapat dipilih lebih dari sekali) dan menggabungkannya.
Contoh:
Jika L = {0, 1} maka L* adalah semua string dengan 0 dan 1
Jika L = {0, 11} maka L* terdiri dari string-string 0 dan 1 dimana 1 muncul
secara berpasangan, e.g., 011, 11110 dan . Tetapi bukan 01011 atau 101
Secara formal, L* adalah infinite union ∪𝑖 ≥0 𝐿𝑖 dimana 𝐿0 = {}, 𝐿1 = L,
dan untuk i > 1 maka 𝐿𝑖 = LL. . .L (concatenation dari i kali L).
Aplikasi-Aplikasi TBO
D
D
Vending Machine
Compiler
• Contoh penggunaan atumata dan bahasa dalah dalam aplikasi
• asisten pada smartphone, yaitu Siri dari Apple dan Cortana dari
• Microsoft.4
• Kalkulator