Anda di halaman 1dari 11

BAB I

PENDAHULUAN

1.1 Latar Belakang


Komputer mengikuti sejumlah prosedur sistematis, atau algoritme, yang
dapat diaplikasikan untuk serangkaian input (string) yang menyatakan integer dan
menghasilkan jawaban setelah sejumlah berhingga langkah.
Teori otomata adalah studi tentang peralatan atau mesin komputasi
abstrak, yang dapat didefinisikan secara matematis. Tahun 1930-an Alan Turing
telah mempelajari mesin abstrak yang memiliki kemampuan seperti komputer
sekarang (dalam hal apa yang dihitung). Mesin abstrak merupakan model teoritis
dari perangkat keras atau perangkat lunak yang digunakan dalam teori otomata.
Tipe paling sederhana dari mesin abstrak adalah finite automaton atau finite
state machine. Prinsip yang mendasari mesin ini adalah sistem pada setiap saat
dalam salah satu dari sejumlah state berhingga dan bergerak diantara state-state
tersebut dalam merespon sinyal input individual
1.2 Rumusan Masalah
Kita harus mengerti dan memahami tentang :
1.2.1 Apa itu teori bahasa?
1.2.2 Apa itu otomata
1.2.3 Apa itu komputasi
1.2.4 Bagaimana peranannnya dan apa kegunaannya untuk kita.

BAB II
PEMBAHASAN
2.1 Pengertian
2.1.1 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.
2.1.2 Automata
Otomata (Automata) adalah suatu sistem yang terdiri atas sejumlah berhingga
state yang mempelajari tentang mesin abstrak yang menerima input dan
mengeluarkan output dalam bentuk diskret (satu per satu). Dimana state adalah
suatu kondisi yang menyatakan informasi mengenai input yang lalu sedangkan
input pada otomata dianggap sebagai batas yang harus dikenali oleh mesin.
2.1.3 Bahasa dan Automata
Teori bahasa dan automata merupakan salah satu komponen ilmu informatika,
teori ini merupakan ide dan model fundamental yang mendasari sebuah system
komputasi, teori ini juga bisa disebut sebagai sebuah teknik rekayasa untuk
perancangan system komputasi.
2.1.4 Komputasi
Komputasi Adalah Proses menghitung, membandingkan dan berbagai operasi
perhitungan matematika dan logika yang bertujuan untuk menyelesaikan suatu
masalah yang dikerjakan dengan Program Komputer yang sudah disusun sesuai
dengan Algoritma yang benar. Kelebihan dari proses perhitungan komputasi
adalah bisa mendapatkan suatu hasil laporan dengan cepat dan akurat. Karena
anda tinggal menginput data ke komputer, maka sistem yang telah dibuat tadi
akan bekerja dan mengolah data menjadi informasi yang lebih berguna.

2.2

Beberapa bidang ilmu lain yang mendukung pengembangan metode

komputasi :
2.2.1 Biologi
Mempelajari jaringan neuron yang mengilhami ditemukanannya finite automata.
2.2.2 Rangkaian Elektronika
Mempelajari teori switching sebagai perancangan perangkat keras menggunakan
finite automata.
2.2.3 Matematika
Mengembangkan system logika yang berguna untuk masalah pembuktian
automata.
2.3 Beberapa model komputasi dalam automata
2.3.1 Finite automata (FA)
Sering juga disebut dengan Finite State Automata (FSA). Terdiri dari
Deterministic Finite Automata (DFA) dan Non Deterministik Finite Automata
(NDFA). Teori dasar dari FA sangat umum yaitu system pada saat berada di
salahsatu state dari sejumlah state bergerak diantara state-state secara dapat
diproduksi yang bergantung pada masukan ke system. Salah satu penerapannya
adalah kompilasi/translasi bahasa pemograman tingkat tinggi menjadi bahasa
mesin yang ekivalen. Finite automata merupakan jenis otomata yang tidak
memiliki memori sementara, FA adalah kelas mesin dengan kemampuan paling
terbatas.
2.3.2 Pushdown Automata (PA)
Terdiri dari Deterministic Pushdown Automata (DFA) dan Non Deterministik
Pushdown Automata (NDFA). PA memiliki memori sementara dengan mekanisme
stack LIFO (Last In First Out).
2.3.3 Turing Machine (TM).
Memiliki mekanisme Random Access Memory
2.4 Peran Teori Bahasa dan Otomata pada Ilmu Komputer

Ilmu komputer memiliki dua komponen utama : pertama, model dan


gagasan mendasar mengenai komputasi, kedua, teknik rekayasa untuk
perancangan sistem komputasi, meliputi perangkat keras dan perangkat lunak,
khususnya penerapan rancangan dari teori. Teori Bahasa dan Otomata merupakan
bagian pertama. Secara teoritis ilmu komputer diawali dari sejumlah berbeda
disiplin ilmu: ahli biologi mempelajari neural network, insinyur elektro
mengembangkan

switching

sebagai

tool

untuk

mendesain

hardware,

matematikawan bekerja mendasarkan logika, dan ahli bahasa menyelidiki tata


bahasa untuk natural language.
Finite State Automata dan ekspresi reguler awalnya dikembangkan
berdasarkan pemikiran neural network dan switching circuit. Finite State
Automata merupakan tool yang sangat berguna dalam perancangan lexical
analyzer, yaitu bagian dari kompilator yang mengelompokkan karakter-karakter
dalam ke dalam token, yang berupa unit terkecil seperti nama, variabel dan
keyword.

Dalam

sistem

penulisan

kompilator

secara

otomatis

akan

mentransformasikan ekspresi regular ke dalam finite state automata dan ekspresi


regular dipakai pula dalam text editor, pattern matching, sejumlah pemrosesan
teks, dan program file-searching, dan sebagai konsep matematis untuk aplikasi di
disiplin lain seperti logika.
Finite automata terdiri dari sejumlah berhingga state. Dalam banyak sistem
dan komponen seperti dijelaskan di atas, sejumlah berhingga state digunakan
untuk mengingat bagian dari histori sistem. Karena hanya terdapat sejumlah
berhingga state, secara umum histori sistem secara keseluruhan tidak dapat
disimpan/diingat, sehingga sistem harus dirancang untuk mengingat apa yang

penting dan melupakan apa yang tidak penting. Context free grammer dan
pushdown

automata

digunakan

dalam

spesifikasi

bahasa

komputer

(pemrograman, markup, kamus data, query, perintah, script, printer). Dalam


parser, bagian kompilator yang memriksa kebenaran sintaks program. Pemahaman
pushdown automata sangat menyederhanakan proses parsing. Proses parsing
yang berlangsung sangat cepat adalah berkat pemahaman mendalam teknik
parsing bebasis pada pengetahuan mengenai context free grammer.
Mesin Turing merupakan pemodelan mesin komputasi yang ampuh.
Berdarkan mesin Turing dapat diidentifikasi ketidakmungkinan penulisan
program. Bila dinyatakan tidak dapat dikomputasi mesin Turing berarti persoalan
tidak mungkin dapat diselesaikan secara komputasi dengan mesin komputasi
apapun. Namun bila dikatakan persoalan dapat dikomputasi mesin Turing bukan
berarti terdapat algoritma penyelesaian efisien. Mesin Turing sangat penting
mengidentifikasi ketidakmungkinan komputasi sehingga kita tidak bersusah payah
berusaha memperoleh solusi 100% terhadap fungsi yang diidentifikasi tidak
mungkin dikomputasi.
2.5 Hirarki Chomsky
Tata bahasa (grammar) bisa didefinisikan secara formal sebagai kumpulan dari
himpunan-himpunan variabel, simbol-simbol terminal, simbol awal, yang dibatasi
oleh
aturan-aturan produksi. Pada tahun 1959, seorang ahli bernama Noam Chomsky
melakukan penggolongan tingkatan bahasa menjadi empat, yang disebut dengan
hirarki
Chomsky. Penggolongan tersebut bisa dilihat pada tabel berikut.

Bahasa

Mesin Otomata

Batasan Aturan
Produksi

Regular

Finite State Automata


(FSA) meliputi
Deterministic Finite
Automata (DFA) & Non
Deterministic Finite
Automata (NFA)
Push Down Automata
(PDA)
Linier Bounded Automata

adalah sebuah simbol


variabel. maksimal
memiliki sebuah simbol
variabel yang bila ada
terletak di posisi paling
kanan
berupa sebuah simbol
variabel
|| ||

Bebas Konteks / Context


Free
Context Sensitive
Unrestricted / Phase
Structure / Natural
Mesin Turing
Tidak ada batasan
Language
Secara umum tata bahasa dirumuskan sebagai :
, yang berarti menghasilkan atau menurunkan .
Di mana 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.

2.5.1 Tata Bahasa Regular


Aturan :
- Simbol pada Sebelah kiri harus berupa sebuah simbol variabel
- Simbol pada sebelah kanan maksimal hanya memiliki sebuah simbol variabel
dan bila ada terletak di posisi paling kanan.
Contoh :

A b (Diterima)
a B (Ditolak, karena simbol pada sebelah kiri harus berupa sebuah simbol
variabel)
A B (Diterima)
A bC (Diterima)
A Bc (Ditolak, karena simbol variabel pada sebelah kanan harus berada pada
posisi
paling kanan)
A bcD (Diterima)
A bCD (Ditolak, karena simbol pada sebelah kanan maksimal hanya memiliki
sebuah simbol variabel)
Ab c (Ditolak, karena simbol pada sebelah kiri harus berupa sebuah simbol
variabel)

2.5.2 Tata Bahasa Context Sensitive


Aturan :
- Simbol pada Sebelah kiri harus minimal ada sebuah simbol variabel
- Jumlah simbol pada ruas sebelah kiri harus lebih kecil atau sama dengan jumlah
simbol pada ruas kanan
Contoh :

A bc (Diterima)
Ab cd (Diterima)
AB CD (Diterima)
ABC DE (Ditolak, karena jumlah simbol pada ruas sebelah kiri lebih bayak
dari
jumlah simbol pada ruas kanan)
Ab cDe (Diterima)
bA cd (Diterima)
a b (Ditolak, karena simbol pada sebelah kiri harus minimal ada sebuah simbol
variabel)
2.5.3 Tata Bahasa Unrestricted
Aturan :
- Simbol pada Sebelah kiri harus minimal ada sebuah simbol variabel
Contoh :
Abcdef g (Diterima)
aBCdE GHIJKL (Diterima)
abcdef GHIJKL (Ditolak, karena simbol pada sebelah kiri tidak ada sebuah
simbol
variabel)
2.6 Contoh Penerapan Teori Bahasa Otomata
Contoh 1:
Model switch on/off digambarkan sebagai berikut :
Model tersebut mengingat apakah switch berada dalam state on atau state off.
Model memungkinkan user untuk menekan tombol yang memiliki pengaruh
berbeda tergantung pada keadaan switch:

Jika switch berada dalam state off maka setelah tombol ditekan state berubah

menjadi on.
Jika switch berada dalam state on maka setelah tombol ditekan state berubah
menjadi off.
Model pada Gambar dibawah dapat dipandang sebagai model finite automato
sederhana

Dalam finite automata, state dinyatakan oleh lingkaran, dan dalam Contoh 1 state
diberi nama on dan off. Arc diantara state diberi label input yang
menyatakan pengaruh eksternal pada sistem. Dalam Contoh 1 kedua arc
diberilabel push yang menyatakan user menekan tombol tertentu. Salah satu
state dinyatakan sebagai start state atau initial state yang merupakan state dimana
sistem berada dalam keadaan awal. Dalam Contoh start state adalah off. Dalam
pembahasan selanjutnya, start state ditunjukan oleh kata start dan panah menuju
start state tersebut. Dalam Gambar diatas state on dinyatakan sebagai final atau
accepting state. Dalam state tersebut, peralatan yang sedang dikontrol oleh switch
akan beroperasi. Dalam pembahasan selanjutnya, final State dinyatakan dalam
lingkaran ganda.
Contoh 2:
Finite automaton berikut dapat dinyatakan sebagai bagian dari lexical analyzer

Tugas dari automaton tersebut adalah mengenali keyword then sehingga


diperlukan lima state masing-masing menyatakan posisi yang berbeda dalam kata
then yang telah dicapai sejauh ini. Posisi ini berhubungan dengan prefix dari
kata yang berkisar dari kata string kosong (tidak ada kata yang dikenali sejauh ini)
sampai dengan kata lengkap.
Dalam Gambar contoh 2 diatas, input dinyatakan oleh huruf. Start state
merupakan string kosong, dan setiap state memiliki transisi pada huruf
selanjutnya dari kata then ke state yang menyatakan prefix selanjutnya yang lebih
besar. State yang diberi nama then dimasuki ketika input mengeja kata then.
Karena fungsi dari model dalam Gambar di atas adalah mengenali kata then, maka
state thendinyatakan sebagai accepting state

DAFTAR PUSTAKA

http://id.wikipedia.org/wiki/Teori_otomata
http://harbhallecoz.blogspot.de/2014/02/teori-bahasa-dan-automata.html
http://ajuarna.staff.gunadarma.ac.id/Downloads/files/1471/TeoriBahasaAutomata.
pdf
http://www.slideshare.net/materikuliah/hirarky-chomsky
http://files.ridwanandriyana.webnode.com

Anda mungkin juga menyukai