Sejarah Teori Bahasa Otomata
Sejarah
Teori Bahasa Otomata
Teori bahasa Otomata
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. Tata bahasa (grammar) adalah kaidah/aturan
pembentukan kata/kalimat. Pada pembahasannya, bahasa formal hanya disebut
bahasa saja.
Bahasa dalam bentuk tulisan terdiri atas
symbol-simbol satuan yang jika dikombinasikan akan mempunyai arti yang berbeda.
Simbol-simbol yang biasa dipergunakan dalam sebuah bahasa terbatas jumlahnya,
yang membentuk sebuah himpunan dan disebut sebagai abjad/alphabet. Namun
kadangkala digunakan istilah karakter yang artinya sama dengan symbol. Deretan
dari karakter atau symbol ini membentuk string. Dan himpunan dari semua string
yang dibentuk dari suatu abjad ini didefinisikan sebagai bahasa.
Karena bahasa adalah sebuah himpunan dari
string, maka untuk mendefinisikan suatu bahasa bisa dilakukan dengan menuliskan
semua string yang menjadi anggotanya. Tata Bahasa G = (T,N,S,P), di mana
Ø T adalah himpunan
berhingga simbol-simbol terminal
Ø N adalah himpunan
berhingga simbol-simbol non terminal
Ø S adalah simbol awal,
S ( N
Ø P adalah himpunan
berhingga aturan produksi yang setiap elemennya berbentuk * +
* ( (T U N)+, * harus berisi
minimal 1 simbol non terminal
Sentential
form adalah semua string yang dapat diturunkan dari simbol awal S dengan menggunakan
aturan produksi P. Kalimat (sentence) adalah sentential form yang tidak mengandung
simbol non terminal. Bahasa yang dihasilkan dari G dinotasikan denganL(G),
yaitu himpunan kalimat yang dapat diturunkan dari S dengan menggunakan P.
Automata
berasal dari bahasa Yunani automatos, yang berarti sesuatu yang bekerja secara
otomatis (mesin). Istilah automata merupakan bentuk tunggal, sedangkan bentuk
jamaknya adalah automaton. Teori automata adalah teori tentang mesin abstrak
yang bekerja secara sekuensial yang menerima dan mengeluarkan output dalam bentuk
diskrit.
Pengertian mesin bukan hanya mesin
elektronis/mekanis saja melainkan segala sesuatu (termasuk perangkat
lunak) yang memenuhi ketiga ciri di atas. Penggunaan automata pada perangkat
lunak terutama pada pembuatan kompiler bahasa pemrograman. Secara garis besar
ada dua fungsi automata dalam hubungannya dengan bahasa, yaitu :
a. fungsi automata
sebagai pengenal (RECOGNIZER) string-string dari suatu bahasa,
dalam hal ini bahasa sebagai masukan
dari automata
b.
fungsi automata sebagai pembangkit (GENERATOR) string-string
dari suatu bahasa, dalam hal ini bahasa sebagai keluaran dari automata
Untuk
mengenali string-string dari suatu bahasa, akan dimodelkan sebuah automaton
yang
memiliki komponen sebagai berikut :
·
pita masukan, yang menyimpan string masukan yang akan dikenali;
·
kepala pita (tape head), untuk membaca/menulis ke pita masukan;
·
Finite State Controller (FSC), yang berisi status-status dan
aturan-aturan yang
mengatur
langkah yang dilakukan oleh automaton berdasarkan status setiap saat
dan
simbol masukan yang sedang dibaca oleh kepala pita;
·
pengingat (memory), untuk tempat penyimpanan dan pemrosesan
sementara
Automaton
pengenal, setelah membaca string masukan dan melakukan langkahlangkah
pemrosesan
yang diperlukan, akan mengeluarkan keputusan apakah
string
tersebut dikenali atau tidak.
·
Konfigurasi adalah suatu mekanisme untuk menggambarkan keadaan
suatu mesin
pengenal
, yang terdiri atas :
_
status FSC
_
isi pita masukan dan posisi kepala pita
_ isi pengingat
Mesin
pengenal bersifat deterministik bila dalam setiap konfigurasi, hanya ada satu
kemungkinan yang dapat dilakukan mesin, jika tidak mesin pengenal bersifat
nondeterministik.
Sejarah Otomata dan
Teori Bahasa
Otomata bermula sebelum komputer ada pada
teori di bidang sistem logika matematika atau formal, ilmuwan David Hilbert
telah mencoba menciptakan algoritma umum untuk pembuktian (seluruh) persoalan
matematika secara otomatis yaitu mampu menentukan salah benarnya sembarang
prosisi matematika.
Tahun 1931, Kurt GÖdel mempublikasikan teori
ketidaklengkapan dimana membuktikan prosedur/algoritma yang dikehendaki David
Hilbert tersebut tidak akan pernah ada.
GÖdel membangun rumus di kalkulus predikat
yang diterapkan pada bilangan bulat yang memiliki pernyataan-pernyataan
definisi yang tidak dapat dibuktikan maupun dibantah di dalam sistem logika
yang mungkin dibangun manusia.
Formalisasi argumen teorema ketidaklengkapan
GÖdel ini berikut penjelasan dan formalisasi selanjutnya dari prosedur efektif
secara intuisi merupakan salah satu pencapaian intelektual terbesar abad 20,
yaitu abad dimana formalisasi berkembang semarak.
Pengembangan teori otomata, komputasi dan
teori bahasa berikutnya difasilitasi perkembangan bidang psyco-linguistic.
Bidang psyco-linguistic berupaya menjawab pertanyan-pertanyan berikut:
- Apakah bahasa secara umum?
- Bagaimana manusia mengembangkan bahasa?
- Bagaimana manusia memahami bahasa?
- Bagaimana manusia mengajarkan bahasa ke
anak-anaknya?
- Apa gagasan-gagasan yang dapat dinyatakan
dan bagaimana caranya?
- Bagaimana manusia membangun kalimat-kalimat
dari gagasan-gagasan yang berada di pikirannya?
Sekitar tahun 1950-an, Noam Chomsky
menciptakan model matematika sebagai sarana untuk mendeskripsikan bahasa serta
menjawab pertanyaan-pertanyaan di atas. Saat ini dimulai pendalaman bidang
bahasa komputer.
Perbedaan antara
bahasa komputer dan bahasa manusia adalah sampai sekarang belum diketahuinya
bagaimana cara manusia mengartikan bahasa, sementara dengan pasti dapat
mengartikan bahasa pada komputer.
Noam
Chomsky mengemukakan perangkat format disebut grammar untuk memodelkan
properti-properti bahasa.
Tata bahasa (grammer) bisa didefinisikan
secara, formal sebagai kumpulan dari himpunan?himpunan variabel, simbol?simbol,
terminal, simbol awal, yang dibatasi oleh aturan?aturan produksi. Tingkat
bahasa dapat digolongkan menjadi empat yaitu :
1.Bahasa
: Regular type 3
Mesin otomata : Finite State Otomata (FSA)
meliputi deterministic finite
automata
dan non deterministic finite automata Batasan
aturan produksi : adalah sebuah simbol variabel maksimal memiliki sebuah simbol
variabel yang bila terletak di posisi paling kanan.
2.Bahasa
: Bebas konteks/context free /type 2
Mesin otomata : Push down automata (PDA) Batasan
aturan produksi :
Berupa sebuah simbol variabel.
3.Bahasa
: Context sensitive/type 1
Mesin otomata : Linier bounded automata
Batasan aturan produksi
4.Bahasa
: Unrestricted /phase /natural language/type 0
Mesin otomata : Mesin turing Batasan aturan
produksi : Tidak ada batasan
Semua aturan produksi dinyatakan dalam bentuk
“” dimana
- : simbol?simbol pada ruas kiri aturan
produksi
- : simbol?simbol pada ruas kanan
Simbol?simbol tersebut bisa berupa simbol
terminal atau non terminal/ variabel.
Keterangan :
Simbol
terminal biasanya dinyatakan dengan huruf kecil, misal 'a ', ‘b’, ‘c’.(tidak
bisa diturunkan lagi).
Simbol
non terminal dinyatakan dengan huruf besar, misal ‘A’, ‘B’, ‘C’.(masih bisa
diturunkan). Dengan menerapkan aturan produksi, suatu tata bahasa bisa
menghasilkan string. Himpunan semua string tersebut adalah bahasa yang
didefinisikan oleh tata bahasa tersebut.
Komentar
Posting Komentar