Teks tersebut membahas tentang teori dasar bahasa formal dan otomata. Secara singkat, teks tersebut menjelaskan definisi string, tata bahasa formal, aturan produksi, hierarki bahasa berdasarkan keterbatasan aturan produksinya, serta konsep mesin otomata sebagai model abstrak yang menerima masukan dan menghasilkan keluaran berdasarkan aturannya.
2. Otomata
Arti menurut American Heritage Dictionary:
1. a robot
2. one that behaves in an automatic or mechanical fashion
Arti dalam dunia matematika
Berkaitan dengan teori mesin abstrak, yaitu mesin sekuensial yang
menerima input, dan mengeluarkan output, dalam bentuk diskrit.
Contoh :
♦ Mesin Jaja / vending machine
♦ Kunci kombinasi
♦ Parser/compiler
3. Teori Otomata dan bahasa formal, berkaitan
dalam hal :
Pembangkitan kalimat/generation : menghasilkan
semua kalimat dalam bahasa L berdasarkan aturan
yang dimilikinya
Pengenalan kalimat / recognition : menentukan
suatu string (kalimat) termasuk sebagai salah
satu anggota himpunan L.
4. Bahasa Formal
Suatu kalimat dibentuk dengan menerapkan
serangkaian aturan produksi pada sebuah
simbol ‘akar’. Proses penerapan aturan
produksi dapat digambarkan sebagai suatu
diagram pohon.
5. Teori dasar
Def. 1 sebuah string dengan panjang n yang dibentuk dari himpunan A
adalah barisan dari n simbol
a1a2...an
ai ∈ A
Panjang string x dituliskan dengan |x|
Def 2. String kosong (null string), dilambangkan dengan ε adalah untaian
dengan panjang 0 dan tidak berisi apapun.
Panjang string x dituliskan dengan |x|
Def 3. dua buah string a = a1a2...am dan b=b1b2...bn dapat disambungkan
menjadi string c dengan panjang m+n sebagai berikut c =
a1a2...amb1b2...bn
Operasi penyambungan tersebut dapat pula diterapkan pada himpunan
Z=XY = {st | s∈X ∧ t∈Y}
6. Teori dasar ( lanjutan )
Def 4. (Closure) . An adalah himpunan string
dengan panjang n yang dibentuk dari simbol-simbol
di himpunan simbol/alfabet A:
Transitif Closure/Kleen Closure adalah himpunan
seluruh string yang dapat dibentuk dari A dengan
berbagai panjang
A* = A0 ∪ A1 ∪ A2 ∪ A3 ∪ ...
Jika string kosong dikeluarkan , akan diperoleh positive
closure
A+ = A1∪ A 2∪ A3 ∪ ...
7. Mesin Otomata
Untuk memodelkan hardware dari komputer diperkenalkan otomata.
Otomata adalah suatu bentuk yg memiliki fungsi-fungsi dari komputer digital, menerima input,
menghasilkan output, bisa memiliki penyimpan sementara, dan mampu membuat keputusan
dalam mentransformasikan input ke output.
Otomata merupakan suatu sistem yang terdiri atas sejumlah berhingga state, dimana state
menyatakan informasi mengenai input yg lalu, dan dapat pula dianggap sebagai memori mesin.
Input pada mesin otomata dianggap sebagai bahasa yang harus dikenali oleh mesin.
Selanjutnya mesin otomata membuat keputusan yang mengindikasikan apakah input itu
diterima atau ditolak. Sehingga mesin otomata dapat dipakai untuk menghasilkan bahasa yang
aturannya ditentukan oleh atauran bahasa itu.
8. Misal kita memiliki sebuah mesin sederhana
menerima input kata dalam bahasa indonesia :
q0
a
q1
d
a
q2
q3
u
d
q4
q5
q0
Mesin mendapat input berikut :
- ada : diterima
- adu : diterima
- add : ditolak
Keterangan :
State awal
State akhir
Perpindahan state
9. Tata Bahasa
Adalah aturan yang disebutkan pada proses pengenalan dan
pembangkitan kalimat.
Secara formal, tata bahasa terdiri dari 4 komponen yaitu :
Himpunan berhingga, tidak kosong dari simbol-simbol non terminal T1
Himpunan berhingga, dari simbol-simbol non-terminal N
Simbol awal S ∈ N, yang merupakan salah satu anggota dari himpunan
simbol nonterminal.
Himpunan berhingga aturan produksi P yang setiap elemennya
dituliskan dalam bentuk :
α→β
dimana α dan β adalah string yang dibentuk dari himpunan
dan α harus berisi paling sedikit satu simbol non-terminal.
T∪N
10. Tata Bahasa (lanjutan)
Keempat komponen tersebut sering dituliskan
sbb :
G = (T,N,S,P)
Bahasa yang dihasilkan oleh G ditulis sebagai
L(G), yaitu himpunan string yang dapat
diturunkan dari simbol awal S dengan
menerapkan aturan-aturan produksi yang
terdapat pada P.
11. Aturan Produksi
Aturan produksi α→β yang diterapkan pada suatu string
w=aαc mengganti kemunculan. α menjadi β, sehingga string
tersebut berubah menjadi w=aβc, sehingga dapat dituliskan
aαc ⇒ aβc (aαc memproduksi aβc).
Produksi tersebut dapat diterapkan berkali-kali
w1 ⇒ w2 ⇒ w3 ⇒ ... ⇒ wn
atau dapat dituliskan
w1 ⇒* wn
jika minimal harus ada 1 aturan produksi yang diterapkan :
w1 ⇒+ wn
12. Aturan produksi (tambahan)
Simbol variabel/non terminal adalah simbol
yang masih bisa diturunkan, biasanya
dinyatakan dengan huruf besar : ‘A’, ‘B’,’C’ dll.
Simbol terminal adalah simbol yang tidak bisa
diturunkan lagi, biasanya dinyatakan dengan
huruf kecil :’a’,’b’,’c’ dll.
13. Dengan menerapkan aturan produksi,suatu tata
bahasa bisa menghasilkan sejumlah string.
Himpunan semua string tersebut adalah
bahasa yang didefinisikan oleh tata bahasa
tersebut.
Contoh aturan produksi L
T a ( baca : T menghasilkan a )
E T | T + E ( baca : E menghasilkan T atau E
menghasilkan T+E, Simbol | dibaca atau ).
15. Berdasarkan aturan diatas :
Bahasa manusia / bahasa alami : Tipe 0/Unrestricted, dimana tidak
ada batasan pada aturan produksinya, mis : Abc De
Bahasa Context Sensitive, Panjang string pada ruas kiri kecil atau
sama dengan panjang ruas kanan, mis : Ab DeF, CD eF.
Bahasa Bebas konteks, ruas kiri haruslah tapat satu simbol
variabel, mis : B CdeFg, D BcDe.
Bahasa Regular, ruas kanan maksimal memiliki sebuah simbol
variabel yang terletak dipaling kanan/kiri, mis : A e, A efg, A
efgH, C D.