Anda di halaman 1dari 21

TEORI BAHASA DAN

AUTOMATA
Dwikeu Asrika
Pendahuluan
Bahasa di dalam kamus adalah suatu sistem yang meliputi pengekspresian gagasan,
fakta, konsep, termasuk sekumpulan simbol-simbol dan aturan untuk melakukan
manipulasinya. Bahasa bisa juga disebut sebagai rangkaian simbol-simbol yang
mempunyai makna.
Automata merupakan suatu sistem yang terdiri atas sejumlah berhingga state, di mana
state menyatakan informasi mengenai input. Automata juga dianggap sebagai mesin
otomatis (bukan mesin fisik) yang merupakan suatu model matematika dari suatu
sistem yang menerima input dan menghasilkan output, serta terdiri dari sejumlah
berhingga state.
Hubungan di antara bahasa dan otomata adalah bahasa dijadikan sebagai input oleh
suatu mesin otomata, selanjutnya mesin otomata akan membuat keputusan yang
mengindikasikan apakah input itu diterima atau tidak.
Pendahuluan

Sebuah string input diterima bila mencapai state akhir / final state yang digambarkan dengan
lingkaran ganda.
Mesin ini memiliki 6 state {q0, q1, q2, q3, q4, q5}, yang mana adalah himpunan state yang ada
pada mesin itu.
State awal dari mesin adalah q0 state akhir/final adalah {q3, q4}.
Sedangkan himpunan simbol input adalah {a, d, u}.
Pendahuluan
Terdapat tiga jenis struktur yang digunakan dalam model komputasi :
1. Grammar (tata bahasa) Digunakan untuk membangkitkan kalimat dari suatu
bahasa dan untuk memeriksa apakah suatu kalimat termasuk di dalam bahasa
tersebut.
2. Finite State Machine(FSM) Digunakan untuk mengenali kalimat dari suatu bahasa
dan untuk menghasilkan keluaran sesuai dengan spesifikasi yang digunakan.
Konsep tata bahasa dan FSM keduanya saling berkaitan, dan antara keduanya
dapat saling ditransformasikan satu sama lain.
3. Mesin Turing Merupakan pengenal bahasa yang lebih kompleks, yang dalam
pengenalannya mesin ini dilengkapi dengan memori. Mesin turing dapat
mengenali kalimat yang tidak dapat dikenali oleh FSM sekalipun. Mesin turing
adalah model komputasi yang paling umum serta dapat melakukan pekerjaan apa
saja yang dapat dilaksanakan oleh komputer.
Definisi Bahasa
Menurut Kamus Besar Bahasa Indonesia(KBBI), bahasa adalah :
Sistem lambang bunyi berartikulasi (yang dihasilkan oleh alat-alat ucap) yang bersifat
sewenang-wenang dan konvensional yang dipakai sebagai alat komunikasi untuk
melahirkan perasaan dan pikiran.
Kalimat dalam sebuah bahasa dibentuk dengan menggabungkan satu atau lebih kata-kata.
Dalam pembentukan kalimat, perhatian tertuju pada sintaks dan bentuk kalimat, bukan
pada semantik atau makna kalimatnya. Sebagai contoh :
1. Elang menyambar ayam
2. Adik makan dengan lahap
3. Rudi menggigit anjing
4. dengan cepat ayah matematika menutup
Jenis Bahasa
Bahasa Alami
bahasa komunikasi yang digunakan oleh manusia, yaitu bahasa ucap seperti Bahasa
Indonesia, Inggris, dll.
Bahasa Formal
bahasa yang kaidah sintaksnya dapat dispesifikasikan secara matematis dengan baik.
Kaidah bahasa dalam teori bahasa formal tidak hanya bermanfaat untuk studi linguistik
bahasa alami seperti penerjemahan secara otomatis dari suatu bahasa ke bahasa lain,
tetapi juga berguna untuk studi bahasa pemrograman.
Komponen Bahasa
Alfabet (vocabulary) adalah himpunan terbatas simbol.
Contoh:
a. Alfabet Latin {A, B, C, .., Z)
b. Alfabet Yunani {,,,..,}
c. Alfabet Biner, {0,1}

String barisan(sequence) yang disusun oleh simbol-simbol alfabet.


Contoh: abad memiliki panjang string = 4
String kosong () memiliki panjang 0 dan tidak berisi simbol apapun.
A* (transitive closure) adalah himpunan semua rangkaian simbol dari himpunan A yang
terdiri dari string kosong, satu simbol, dua simbol, tiga simbol, dst
A+ (positive closure) adalah himpunan semua rangkaian simbol dari himpunan A yang
terdiri dari string satu simbol, dua simbol, tiga simbol,dst
Contoh:
A0 = {} Maka :
A1 = {a,b,c} A* = A0, A1, A2
A2 = {aa,bb,cc} A+ = A1, A2
Tata Bahasa
Jika diberikan spesifikasi suatu bahasa, ada dua masalah utama yang berkaitan dengan
masalah tersebut :
1. Bagaimana membangkitkan satu atau lebih kalimat di dalam bahasa tersebut?
2. Bagaimana menentukan apakah suatu kalimat termasuk di dalam bahasa tersebut
atau tidak?

Aturan yang digunakan untuk membangkitkan atau mengenali kalimat di dalam suatu
bahasa dinamakan tata bahasa (grammar).
Contoh:
1. Sebuah sentence dibentuk dari noun phrase diikuti dengan verb phrase.
2. Sebuah sentence dibentuk dari noun phrase diikuti dengan verb phrase dan noun
phrase.
Tata Bahasa
Kita dapat menuliskan semua kaidah tata bahasa secara ringkas sebagai berikut :
<sentence> <noun phrase> <verb phrase>
<sentence> <noun phrase> <verb phrase> <noun phrase>
<noun phrase> <adjective><noun phrase>
<noun phrase> <adjective><singular noun>
<verb phrase > <singular verb> <adverb>
<verb phrase > <singular verb>

Contoh: Proses pembangkitan kalimat the little boy runs quickly dapat
diturunkan sebagai berikut :
<adjective> the <sentence> <noun phrase> <verb phrase>
<adjective> a <adjective> <noun phrase> <verb phrase>
<adjective> little the <noun phrase> <verb phrase>
<singular noun> boy the <adjective> <singular noun > <verb phrase>
the little <singular noun > <verb phrase>
<singular noun> dog
the little boy <verb phrase>
<singular verb> runs the little boy <singular verb> <adverb>
<singular verb> bites the little boy runs <adverb>
<adverb> quickly the little boy runs quickly
Unsur unsur Tata Bahasa
Secara formal, suatu tata bahasa terdiri dari empat unsur :
1. Himpunan berhingga terminal T
Simbol terminal di dalam T adalah simbol yang dapat digunakan untuk membuat
kalimat/string di dalam bahasa itu. Simbol terminal biasanya dilambangkan dengan
huruf kecil, seperti a,b,c, atau angka 0,1,..
Contoh :
T = {a,b,c}
T = {0,1,2}

2. Himpunan berhingga non terminal N


Simbol non terminal di dalam N adalah lambang yang digunakan untuk mendeskripsikan
struktur kalimat. Simbol non-terminal biasanya dilambangkan dengan huruf besar,
seperti A,B,C,..
Contoh :
N = {S,A,B}
Unsur unsur Tata Bahasa
3. Himpunan berhingga aturan produksi P
Produksi adalah kaidah/aturan tata bahasa yang mengatur cara pembentukan kalimat di
dalam bahasa.
Setiap aturan dituliskan dalam bentuk :
yang dalam hal ini, dan adalah string, dan harus berisi paling sedikit satu simbol
non-terminal.

4. Simbol awal S N
Simbol awal adalah simbol non-terminal khusus yang mengawali pembangkitan kalimat
di dalam bahasa tersebut.

Keempat unsur tata bahasa tersebut sering dilambangkan dengan :


G = (T,N,P,S)
Perumusan Tata Bahasa / Aturan Produksi
, yang berarti menghasilkan atau menurunkan .

menyatakan simbol-simbol pada ruas kiri aturan produksi (sebelah kiri tanda ) dan
menyatakan simbol-simbol pada ruas kanan aturan produksi (sebelah kanan tanda )

Simbol variabel / non terminal adalah simbol yang masih bisa diturunkan dan ditandai
dengan huruf besar seperti A, B, C, dst.

Simbol terminal adalah simbol yang sudah tidak bisa diturunkan dan ditandai dengan
huruf kecil seperti a, b, c, dst.

Contoh aturan produksi :


T a, T menghasilkan a
E T T + E, E menghasilkan T atau E menghasilkan T + E
Perumusan Tata Bahasa / Aturan Produksi
Bahasa yang dihasilkan/dibangkitkan dilambangkan dengan L,

Contoh :
Tinjau tata bahasa G = (T,N,P,S), dengan T={a,b}, N={S,A}, P={S aA, Sb, Aaa}
Apakah L(G) dari Tata bahasa G ?
Dengan mencoba semua aturan produksi dari simbol awal S sebagai berikut :
( i ) S aA
aaa
( ii ) S b
maka hanya terdapat dua string yang dapat dibangkitkan, yaitu b dan aaa, tidak ada yang
lain.
Jadi L(G) = {b, aaa}.
Perumusan Tata Bahasa / Aturan Produksi
Contoh: Contoh:
Tata bahasa G = (T,N,P,S) dengan Tata bahasa G = (T,N,P,S) dengan
T ={a,b} T ={a,b}
N ={S} N ={S,A}
P ={S aSb, S } P ={S Ab, A aAb, A }
Maka string yang dapat di bangkitkan yaitu: Maka string yang dapat di bangkitkan yaitu:
(i) S aSb (i) S Ab
ab aAbb
L(G) = {ab} abb
(ii) S Ab
b
L(G) = {b,abb}
Perumusan Tata Bahasa / Aturan Produksi
Latihan:
1. Tata bahasa G = (T,N,P,S) dengan T={a,b}, N={S,A}, P={S aAa, A aAa, A b}
2. Tata bahasa G = (T,N,P,S) dengan T={a,b}, N={S,B,C}, P={S aS, S aB, B bC, C aC,
Ca}
3. Tata bahasa G = (T,N,P,S) dengan T={a,b,c}, N={S,B,C}, P={S aBC, B bb, bC Bc, C
cc}
(i) S aAa (ii) S aAa
aaAaa aba
aabaa L(G) = {aabaa, aba} S abC
aBc
abbc
(i) S aS (ii) S aS
aaB aaB S abC
aabC aabC abcc
aabaC aaba L(G) = {abbc,aaba}
aabaa L(G) = {aabaa, aaba}
Pengelompokan Tata Bahasa / Hierarki Chomsky
Level 0 Unrestricted Grammar (tata bahasa tanpa pembatasan) - UG
minimal memiliki satu simbol variabel / non-Terminal.
Contoh:
aS aSBC S aBC
CbB BC bB bb
bC bc cC ccB
Mesin yang mengenal bahasa tanpa-pembatasan adalah Mesin Turing (Turing Machine).
Level 1 - Context Sensitive Grammar (tata bahasa konteks sensitif) - CSG
minimal memiliki satu simbol variabel / non-Terminal.
Panjang string di ruas kiri () panjang string ruas kanan ().
Contoh:
Ab aBa
cD aB
dEd FabCa
Mesin yang mengenal bahasa konteks sensitif adalah Linear Bounded Automata (LBA).
Pengelompokan Tata Bahasa / Hierarki Chomsky
Level 2 Context Free Grammar (tata bahasa bebas konteks) - CFG
hanya memiliki satu simbol variabel / non-Terminal
Contoh:
A aa
B aBD
C FGaa
Mesin yang mengenal bahasa bebas konteks adalah Push Down Automata (PDA).
Level 3 - Regular Grammar (tata bahasa regular) - RG
hanya memiliki satu simbol variabel / non-Terminal
memiliki satu simbol variabel non-Terminal dan terletak di paling kanan (jika ada).
Contoh:
A aaB
D aa
C abckF
Mesin yang mengenal bahasa regular adalah Finite State Automata.
Pengelompokan Tata Bahasa / Hierarki Chomsky

Level 0 - Unrestricted Grammar (UG)

Level 1 - Context Sensitive Grammar (CSG)

Level 2 - Context Free Grammar (CFG)

Level 3 - Regular Grammar (RG)


Peran Teori Bahasa dan Otomata pada Ilmu
Komputer
Ilmu komputer memiliki komponen utama yaitu:
1. Model dan gagasan mendasar mengenai komputasi
2. Teknik rekayasa untuk perancangan sistem komputasi meliputi perangkat keras dan
perangkat lunak khususnya penerapan rancangan dari teori.
Finite state automata dan ekspresi regular awalnya dikembangkan berdasar pemikiran
neural network dan switching circuit. FSA merupakan tool yang sangat berguna dalam
perancangan lexical analyzer, yaitu bagian kompilator yang mengelompokan karakter-
karakter ke dalam token yang berupa unit terkecil seperti nama, variabel dan keyword.
Latihan
1. Tata bahasa G = (T,N,P,S) dengan T={a,b}, N={S,A,B}, P={S aB, B bB, B b}
2. Tata bahasa G = (T,N,P,S) dengan T={a,b}, N={S,A,B}, P={S Ba, B Bb, B b}
3. Tata bahasa G = (T,N,P,S) dengan T={a,b}, N={S,A,B}, P={S aAb, aA aa, A a, Ab
AB, B ab}
4. Tata bahasa G = (T,N,P,S) dengan T={a,b,c}, N={S,A,B,C}, P={S aAbcC, B aB, B bc,
aAb aBCb, A Ab, A aa, C ac}
Latihan
Pilihlah dari sekian aturan produksi di bawah ini ke dalam level-level bahasa yang ada dan
buatlah alasan-alasan untuk setiap jawaban dari soal di atas !
1. E fgH
2. E HgB
3. EF a
4. A aeGab
5. Abc dEF
6. D Ddd
7. A AAA
8. GH abc

Anda mungkin juga menyukai