AUTOMATA
A. Bahasa Formal
Bahasa terbagi dua:
1. Bahasa Semantik
Bahasa yang dimengerti karena tahu artinya.
Umumnya bahasa tingkat tinggi dan
digunakan oleh manusia.
2. Bahasa Formal
Bahasa yang dimengerti karena tahu bentuk
katanya. Umumnya digunakan oleh mesin.
B. Definisi
1. Abjad/karakter
Unsur terkecil dalam bahasa formal.
Contoh :
a,b,c,d..., -, +, =, ?, !, dll.
2. Alfabet
Kumpulan abjad/karakter yang disimbolkan
dalam bentuk ∑.
Contoh :
5. Panjang String
Banyaknya abjad yang ada didalam S.
Dilambangkan dengan |S|.
Contoh :
|ab| = 2
|aaabbc| = 6
|Ԑ| = 0
6. Operasi Konkatenasi
Konkatenasi antara string S dengan string T
menyambungkan S dengan T menjadi S˳T.
S˳S˳S=S3
Contoh 2:
S= ba S3=bababa
7. Balikan String (invers string)
Balikan dari string S adalah suatu string yang
diperoleh dari membaca S secara terbalik.
Dilambangkan dengan S-1.
Contoh :
S= abaac S-1 = caaba
Sifat balikan string
a) |S-1|= |S|
Contoh :
= abcaaab
8. String Palindrom
S disebut string Palindrom jika S-1= S.
Contoh:
S= abba S-1= abba
9. Bahasa Formal
Dari alfabet zigma (∑) adalah kumpulan string
yang dapat dibuat dari abjad dalam ∑, melalui
operasi konkatenasi. Lambang bahasa = L.
Contoh :
∑= {a,b}
L= {a,ba,bb,aab,baab}
C. Bahasa Palindrom
L disebut bahasa palindrom, jika setiap string
didalam L adalah string palindrom.
Contoh :
∑= {a,b}
L= {a,aba,bab,bbb,baab)
L adalah palindrom
Misalkan Pn adalah bahasa palindrom yang
panjang setiap stringnya adalah n.
P3= {aaa,bbb,bab,aba}
P4= {aaaa,bbbb,baab,abba}
D. Klosur
Misalkan S adalah kumpulan string.
Klosur dari S ditulis S˟, adalah kumpulan semua
string – string dalam S melalui operasi
Contoh:
S= {a}
Maka S˟= {Ԑ,a,aa,aaa,aaaa,aaaaa,aaaaaa....}
,bbb...}
Jika S= {a,b} maka S˟ dapat Tentukan bahasa
reguler dari ∑= {a,b} yang setiap stringnya
memuat 2ˈbˈ.
ditulis sebagai (a+b)˟.
= {b,ab,ba,aba,aab,baa,abaa,...}
string – string yang memuat
Karnasatu
setiap
ˈbˈ didalam a˟¸ba˟ adalah string yang
Contoh:
Buatlah bahasa reguler yang setiap stringnya berakhir ˈbˈ
atau yang memuat 1ˈaˈ.
Jawab :
Karena ada kata “atau” berarti ada 1 pola string yang harus
digabung pada string 1 (string yang berakhir ˈbˈ).
a) Pola string 1 (string yang berakhir ˈbˈ)
a˟ ba˟
Latihan
Buatlah bahasa reguler yang setiap stringnya memuat
paling sedikit 1ˈbˈ.
A. Rekursi
Rekursi adalah proses yang sama dilakukan
berulang – ulang untuk memperoleh hasil yang
lebih baik.
Bahasa reguler pada umumnya dapat
diperoleh melalui proses rekursi.
Contoh 2:
∑= {a,b}
L adalah bahasa yang setiap stringnya berakhir ˈbˈ. Buatlah
definisi rekursi dari bahasa L tersebut.
Jawab :
Langkah 1 :
L= {b}
Langkah 2 :
Jika χL, maka χaL dan χbL.
Simulasi dari hasil definisi rekursi tersebut.
Langkah 1 :
L= {b}
Langkah 2 :
Karna abL dan bbL. Maka L= {b,ab,bb}. Ulangi
langkah 2.
Contoh 3:
∑= {a,b}
L adalah bahasa yang setiap stringnya berawal ˈbˈ berakhir
ˈaˈ . Buatlah definisi rekursi dari bahasa L tersebut.
Jawab :
L= {ba,baa,bba,baaa,baba,bbaa,bbba,...}
Misal L1= {b,ba,bb,baa,bab,bba,bbb,...}
A. Ekspresi Reguler
Ekspresi reguler adalah suatu ekspresi yang
diperoleh dari definisi rekursi.
Aturan:
1. Jika χ∑ maka χ adalah E.R
Contoh :
∑= {a,b}
Tunjukkan bahasa (a+b)˟ ab˟ adalah E.R
Jawab:
Dari aturan 1 :
Karna a∑ maka a adalah E.R
Karna b∑ maka b adalah E.R
Dari aturan 3a :
Karna a dan b adalah E.R. maka a+b adalah
E.R
A. Automata
Automata adalah suatu sistem yang terdiri dari :
1. Kumpulan input didalam ∑.
2. Kumpulan state(keadaan) dimana 1 state
diantaranya terdiri dari state awal dab
beberapa state biasa serta beberapa state
akhir.
3. Terdapat Tabel Transisi state yaitu tabel yang
menunjukkan perpindahan state ke state lain,
diakibatkan state sebelumnya diberikan input.
Dimana state awal adalah keadaan awal, yaitu
proses awal dari automata. Sedangkan state akhir
adalah keadaan akhir, yaitu proses akhir dari
automata.
B. Simbol/Lambang
1. Jika x adalah state awal, maka disimbolkan
sebagai –x.
a a
b a y a -x a y b +z a b
-x -x y +z
b
Tentukan bahasa yang diterima automata tersebut!
Jawab :
String – string yang diterima automata adalah
b
{a,aa,ba,baa,bba,aaa,aba,baaa,aaba,...}
Jadi string – string yang diterima memiliki ciri – ciri string
berakhiran ˈaˈ.
Jadi bahasa yang diterima automata adalah bahasa yang
setiap stringnya berakhiran ˈaˈ.
Contoh 3 :
Diberikan automata :
b
b
-x a +y
a a
-x b y a +z
Latihan
Diberikan automata :
b
a b a
-x y +z
b a
a b a +z
-x y
Latihan
L adalah bahasa yang setiap stringnya berakhiran ˈaaˈ.
Buatlah automata yang menerima bahasa ˈLˈ.
z a
-x a y b +z
a b
b b b
a
t
a
w a
Latihan
∑= {a,b}
Buatlah automata yang menerima semua string yang
memuat ˈaˈ ganjil dan ˈbˈ ganjil serta berakhiran ˈabˈ
A. Teori Kleene 1
Jika A adalah automata yang menerima bahasa L
maka dapat dibuat automata yang menerima
bukan bahasa L (ditulis Lʿ, dibaca L komplemen).
Aturan untuk membuat automata yang bukan
atau tidak dapat menerima bahasa L.
1. Setiap state akhir didalam automata A
diubah menjadi state biasa.
2. Setiap state yang bukan state akhir
diiubah menjadi state akhir.
b b a
a
b b a
a
+t
b a y b +z
-x
a
Menerima Bahasa L
b
a b
b a +y b z
+x
a Tidak menerima Bahasa L
b
a b
+t
Latihan
∑= {a,b}
B. Teori Kleene 2
Jika A1 adalah automata yang menerima bahasa L1
dan A2 adalah automata yang menerima L2. Maka
dapat dibuat automata yang menerima bahasa L1
dan L2 (L1+L2).
Misalkan x0,x1,x2,...xn. dengan X0 sebagai state awal
dari automata A1 dan y0,y1,y2,...ym. dengan Y0
sebagai state awal dari automata A2. Dan
z0,z1,z2,...zk adalah state – state dari automata yang
menerima bahasa L1+L2. Maka aturan untuk
membuat automata yang menerima bahasa L1+L2
adalah :
1. Jika z0 sebagai state awal, maka z0= x0+y0
2. Jika zk= xs+yt dan xs atau yt adalah state
akhir, maka zk menjadi state akhir.
-y0 b +y1
State a b
b -x0 x1 x0
x1 x1 x2
+x2 x1 x0
z1
a b
-z0 +z3
b
b a
a
a
a +z4
+z2
b b
+z5
L2).
-x0 Automata A1 +xn
Menerima Bahasa L2
b state a b
-y0 y0 y1
a -y0 b +y1 +y1 y0 y0
a
-Z0 b
b
b b
a b
Z2 a Z3
a
a Z4 a Z6
a
a
Z8 b
b
b
+Z7
A. Automata Beroutput
Automata beroutput adalah yang mempunyai
input dan output, tapi tidak mempunyai state
akhir. Jenis automata beroutput antara lain:
1. Mesin Moore
2. Mesin Mealy
B. Mesin Moore
Mesin Moore adalah automata beroutput
yang outputnya ada di dalam setiap statenya.
1. Input Mesin Moore berbentuk ∑= {a,b}
2. Output Mesin Moore berbentuk Ʈ= {0,1}
(dibaca tho)
Input: a,b y
/0
a
-x
/1 a
b
a
z
/1 b
-x b z a x b z b z a x a y
1 1 1 1 1 0
C. Mesin Mealy
Mesin Mealy adalah automata beroutput
yang outputnya disajikan bersama dengan
inputnya.
-x a y a b b y a b y
z y z
1 0 1 0 0 1
Hukum :
1. Setiap Mesin Moore dapat diubah menjadi Mesin
Mealy.
Caranya :
a
x a /1
/0 y
/1 x y
y
a /1
a
-x b
/0
b
a z
/0
Outputnya : ˈ1001ˈ
Input : ˈaabbˈ
Outputnya : ˈ1001ˈ
Kasus 2 :
a
/1
b a
/1 b
X
x /1
a
/1
Xs/0
a
Kasus 3 :
b
/1 a
a
/1 b
x
x /1
a
/0 b
a
b
/0 xs/1
a
Mesin Mealy Mesin Moore
Input A B Output
AND OR XOR
XOR NOT
Tugas Individu
∑= {a,b}
FINAL
Makassar, 20 Desember 2017
Soal
1. Diberikan transduser sebagai berikut :
NOT
Input A B Output
OR XOR NOR
NOT NOT
AND