Professional Documents
Culture Documents
ISSN : 2301-9425
ABSTRAK
Automata adalah aktivitas yang mengurusi persoalan formalisasi tatabahasa (grammar) dengan alat bantu
mesin matematis. Finite State Automata (FSA) terdiri dari Non-Deterministic FSA (NFSA) dan Deterministic
FSA (DFA). FSA digunakan untuk mengenali bahasa reguler dengan notasi ekspresi. Dalam automata
mengandung unsur : Grammar (tata bahasa), Parsing (mengurai string-string dalam buffer), Scanning
(membaca data streaming ke dalam buffer)
Dalam paper mencakup bahasan bagaimana proses transformasi reguler expression ke DFA dan NFA
dengan menguraikan tahap demi tahap hingga muncul diagram transisi yang akan digunakan untuk meregulasi
bahasa.
Paper ini akan menghasilkan diagram transisi yang bersifat non deterministik dan deterministik, dan
sebelumnya tabel diagram transisi sudah terbentuk.
Kata Kunci : Buffer, ekspressi, scanning, diagram transisi, non determistik dan deterministik
1. Pendahuluan
1.1. Latar Belakang
Teori bahasa adalah salah satu topik materi
pendukung yang membicarakan formalisasi (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. Mengenali (recognize), menerima (accept),
atau membangkitkan (generate) sebuah kalimat
dalam bahasa tertentu.
Automata secara umum dipelajari bersama
dengan teori bahasa. Alasan yang mendasar adalah
sebagai berikut :
1. Rangkaian input dapat dianggap sebagai bahasa
yang harus dikenali oleh automata tersebut.
2. Automata
dapat
berfungsi
untuk
membangkitkan bahasa tertentu yang aturannya
ditentukan oleh tata bahasa (grammar) tertentu.
ISSN : 2301-9425
Dasar Teoritis
2.
3.
4.
xx x
ISSN : 2301-9425
Positive Closure : x
2
xx x
= xxx =
ProperPostfix(x)
Selalu berlaku : Head(x) Tail(x)
Setiap Prefix(x), ProperPrefix(x), Postfix(x),
ProperPostfix(x), Head(x), dan Tail(x) adalah
Substring(x), tetapi tidak sebaliknya
Setiap Substring(x) adalah Subsequence(x),
tetapi tidak sebaliknya
Dua sifat aljabar concatenation :
a. Operasi concatenation bersifat asosiatif :
x(yz) = (xy)z
b. Elemen identitas operasi concatenation
adalah : x = x = x
Tiga sifat aljabar alternation :
a. Operasi alternation bersifat komutatif :
xy = yx
b. Operasi alternation bersifat asosiatif :
x(yz) = (xy)z
c. Elemen identitas operasi alternation adalah
dirinya sendiri : xx = x
Sifat
distributif
concatenation
terhadap
alternation : x (yz) = xyxz
Beberapa kesamaan :
a. Kesamaan ke-1 : (x*)* = (x*)
b.
c.
Kesamaan ke-2 : x = x = x*
Kesamaan
ke-3
:
(xy)*
=xyxxyyxyyx = semua string
yang merupakan concatenation dari nol
atau lebih x, y, atau keduanya.
SimulasiTransformasiRegularExpressionTerhadapFiniteStateAutomata
Oleh:SinarSinurat
ISSN : 2301-9425
aaAaa
(2)
anAan
(2)
SimulasiTransformasiRegularExpressionTerhadapFiniteStateAutomata
Oleh:SinarSinurat
Dari
ISSN : 2301-9425
ke dua pola
L1(G1)={anbann 1}
anban
(3)
kalimat diperoleh :
aS
(1)
abC (3)
aba (5)
an-1S
(1)
anB
(2)
anbC
(3)
anbaC
(4)
anbam-1C (4)
(5)
anbam
Dari ke dua pola di atas diperoleh :
L2(G2)={anbam n ,m
1}
Contoh 3 : G3 dengan Q3 = {1. SaSBC, 2. S
abC,
3. bB bb, 4. bC
bc,
5. CB BC,
6.
cC cc}
Maka diperoleh :
derivasi kalimat terpendek :
Derivasi kalimat
umum :
S abC
(2)
S
aSBC
(1)
abc
(4)
aaSBCBC
(1)
Derivasi terpendek 2 :
aaabCBCBC
(2)
S aSBC
(1)
aaabBCCBC
(5)
aabCBC
(2)
aaabBCBCC
(5)
aabBCC
(5)
aaabBBCCC
(5)
aabbCC
(3)
aaabbBCCC
(3)
aabbcC
(4)
aaabbbCCC
(3)
aabbcc
(6)
aaabbbcCC
(4)
aaabbbccC
(6)
aaabbbccc
(6)
ISSN : 2301-9425
SimulasiTransformasiRegularExpressionTerhadapFiniteStateAutomata
Oleh:SinarSinurat
ISSN : 2301-9425
3 4 5 6
Followpos
{1,2,3}
{1,2,3}
{4}
{5}
{6}
-
SimulasiTransformasiRegularExpressionTerhadapFiniteStateAutomata
Oleh:SinarSinurat
ISSN : 2301-9425
4. Implementasi
4.1 Form Ekspressi Reguler
Pada form ini dilakukan penginputan string
untuk state, dan fungsi transisi dari NFA yang akan
diproses (ditransformasi).
Algoritma dalam penginputan state adalah sebagai
berikut:
1. Input string
2. Jika string yang diinput adalah string akhir, beri
tanda pada kotak cek Final.
Algoritma dalam penginputan fungsi transisi adalah
sebagai berikut:
a. Input state.
b. Cari state tersebut pada tabel transisi.
i. Jika state tersebut tidak ada, kembali ke
langkah a.
ii. Jika state tersebut ada, dilanjutkan ke
langkah c.
c. Input alfabet.
d. Cari alfabet tersebut pada tabel transisi.
i. Jika alfabet tersebut tidak ada, maka kembali
ke langkah c.
ii. Jika alfabet tersebut ada, dilanjutkan ke
langkah e.
e. Input state tujuan dari fungsi transisi.
f. Cari state tujuan tersebut pada tabel transisi
i. Jika state tersebut tidak ada, kembali ke
langkah f.
ii. Jika state tersebut ada, dilanjutkan ke
langkah g.
g. Tambahkan fungsi transisi ke dalam tabel
transisi.
4.2 Form Fungsi Pohon Transisi
Form ini menampilkan simulasi proses
pembentukan pohon fungsi transisi state yang
memiliki transisi atas input firstpos, lastpos dan
nullable.
Algoritma proses ini adalah sebagai berikut:
1. Mulai dari leaf hingga root
2. Cek apakah node untuk fungsi and or atau
fungsi * closure dan + closure.
3. Untuk masing-masing node akan diberi 3 nilai
di mana untuk setiap leaf bahwa firstpos dan
lastpos dari indeks yang ada pada pohon
sedangkan nullable diberi nilai false.
4. Untuk selanjutnya pada proses pemberian
nullable dilakukan berdasarkan tabel kebenaran
ke dua ruas kanan dan ruas kiri. Dengan cara
yang sama sehingga semua posisi node akan
mendapatkan nilai nullable
5. Untuk pemberian nilai firstpos dan laspos untuk
masing-masing node selain leaf gunakanlah
tabel rules untuk nullabel, firstpos dan lastpos.
Ulangi dengan cara yang sama sehinga semua
node akan terisi nilai firstpos dan lastpos
SimulasiTransformasiRegularExpressionTerhadapFiniteStateAutomata
Oleh:SinarSinurat