Anda di halaman 1dari 7

TUGAS TEORI BAHASA DAN AUTOMATA

DISUSUN OLEH : Nama : LOGIS FANROMIK Npm : G1A010043 DOSEN PEMBIMBING Desi Andreswari, ST., M. Cs

PRODI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS BENGKULU 2012

1. kedudukan teori bahasa dan automata pada ilmu komputer


Teori otomata mempelajari tentang mekanisme komputer abstrak atau mesin abstrak. Jauh sebelum ada komputer, tahun 1930, Alan Turing mempelajari mesin abstrak yang punya kemampuan seperti komputer sekarang, dikenal dengan nama Mesin Turing. Tujuan Turing adalah menggambarkan secara jelas apa yang dapat dan yang tidak dapat dilakukan mesin komputing. Kemudian pada tahun 1940 an dan 1950-an, ditemukan mesin abstrak yang lebih sederhana, yaitu finite automata. Automata ini, asalnya diperuntukkan untuk membentuk fungsi kecerdasan, berubah secara drastis untuk keperluan lain yang sangat beragam. Tahun 1950-an juga Chomsky mempelajari tentang tata bahasa formal, yang sangat berguna untuk pengembangan compiler. Semua pengembangan teori ini secara langsung melahirkan ilmu-ilmu komputer yang sekarang ini. Beberapa konsepnya, seperti Finite Automata dan grammar, digunakan untuk perancangan dan pembuatan bermacam software penting, seperti Pascal dan C. Konsep lainnya, seperti Mesin Turing, membantu kita memahami apa yang dapat kita harapkan dari perangkat lunak kita. Ilmu komputer mempunyai dua komponen utama, pertama : model dan gagasan mengenai komputasi, dan kedua adalah teknik rekayasa untuk perancangan sistem komputasi, yang meliputi perangkat keras dan perangkat lunak. Teori Bahasa dan Otomata merupakan bagian dari komponen pertama. Finite State Automata dan ekspresi regular awalnya dikembangkan berdasarkan pemikiran jaringan syaraf tiruan (neural network) dan rangkaian switch (switching circuit). Finite State Automata sangat berguna dalam perancangan lexica l analyzer, yang merupakan bagian dari sebuah compiler. FSA dan ekspresi regular juga digunakan dalam perancangan text editor, pattern-matching, sejumlah pemrosesan teks, dan program file-searching serta sebagai konsep matematis untuk aplikasi lain. Teori memberikan konsep dan prinsip yang menolong untuk memahami perilaku dari suatu disiplin ilmu. Bidang ilmu komputer meliputi topik yang sangat luas, dimana sebagian besar mempunyai prinsip yang umum. Untuk mempelajari prinsip dasar inilah diperlukan pemodelan secara abstrak dari komputer. Model ini memiliki fungsi-fungsi yang penting dan umum untuk dapat diterapkan pada perangkat keras maupun perangkat lunak. Beberapa gagasan yang diutarakan memiliki penerapan yang penting. Misalkan pada compiler.

2. Konsep Bahasa Dan Automata


Simbol. Simbol merupakan elemen unik terkecil dari bahasa. Dalam sebuah bahasa terdapat sejumlah berhingga simbol-simbol. Abjad / Alfabet. Merupakan himpunan dari simbol-simbol yang digunakan dalam suatu bahasa. Biasanya dinotasikan dengan . Misalkan = {0,1}. String / word / kata / untai. Adalah barisan berhingga dari simbol-simbol dalam suatu alfabet. Misalkan : = {0,1} maka 01, 00, 111 merupakan string yang dibentuk berdasarkan alfabet . Dalam pembahasan, seringkali suatu untai/string dinyatakan dengan suatu variabel, yang biasanya berupa huruf kecil. Contoh : w = 01; x = aba, dst. Panjang String. Suatu string disusun dari sejumlah n simbol, dengan n0. Banyaknya simbol yang menyusun sebuah string disebut panjang string, yang disimbolkan dengan |x|. contoh : x = aba , maka |x| = 3. Untai hampa. Sebuah string dengan panjang nol (n=0) disebut untai hampa dan dinotasikan dengan . Untai hampa () merupakan untai yang dibentuk berdasarkan abjad apa saja. Sehingga merupakan himpunan bagian dari sembarang himpunan. Bahasa. Bahasa merupakan himpunan string/kata dari alfabet bahasa itu. Misal untuk 1 = {0,1} maka L1 = {00,01,11,111} merupakan bahasa yang dibentuk berdasarkan abjad 1 . 2 = {a,b} maka L2 = {a, ab, aab, aaab, } merupakan bahasa berdasarkan abjad 2 Misalkan suatu abjad dan w adalah untai yang dibentuk berdasarkan abjad . Jika terdapat L yang merupakan bahasa berdasar abjad dan jika w ada di dalam L, kita tuliskan w L, yang berarti w elemen dari L. Bahasa kosong. Merupakan bahasa yang tidak terdiri dari untai apapun. Dinotasikan dengan {} atau . Bahasa Universal. Adalah bahasa yang terdiri dari semua kata yang dapat dibentuk berdasarkan suatu abjad . Misalkan = {1} maka bahasa universal, dinotasikan *, adalah * = {, 1, 11, 111, 1111, Otomata merupakan suatu sistem yang terdiri atas sejumlah berhingga (state), dimana state menyatakan informasi mengenai input yang lalu dan dapat dianggap sebagai memori mesin.

Input pada mesin otomata dianggap sebagai bahasa yang harus dikenali oleh mesin. Selanjutnya mesin otomata membuat keputusan atau keluaran yang mengindikasikan apakah input itu diterima atau tidak

3. HIRARKI CHOMSKY 1. Bahasa Regular (Tipe 3) Bahasa regular merupakan tata bahasa yang paling terbatas, yaitu memiliki aturan produksi yang paling banyak membatasi bahasa tersebut. Bahasa regular ini sendiri mempunyai aturan produksi dimana adalah simbol variabel dan berupa simbol terminal dan variabel, tetapi simbol variabelnya hanya boleh sebuah saja dan berada di ujung kanan sementara simbol terminal ada di bagian kiri dari variabel tersebut. 1.1 Finite State Automata (FSA) Finite State Automata merupakan mesin automata yang merupakan model matematika dari suatu sistem yang menerima input dan output diskrit. Mesin ini memiliki state-state berhingga yang dapat berpindah-pindah dari satu state ke state yang lain berdasarkan inputnya. Perubahan state ini dinyatakan oleh fungsi transisi. Finite state ini sendiri dinyatakan oleh 5 tupel : Q = himpunan state = himpunan simbol input = fungsi transisi S = state awal F = himpunan state akhir Finite state automata terdiri atas 2 jenis, yakni Deterministic Finite Automata (DFA) dan Non-Deterministic Finite Automata. Berikut penjelasannya : 1.2 Aplikasi Finite State Automata Finite state automata merupakan mesin automata yang banyak digunakan dan banyak kita temui dalam kehidupan kita sehari-hari. Sebagai contoh, dalam mesin pengenal identifier, dan pada mesin pengecek alamat email. 2. Bahasa Bebas Konteks (Context Free Grammar) Bahasa bebas konteks merupakan suatu tata bahasa yakni tata bahasa tipe 2 dimana bahasa ini memiliki lebih sedikit restriction daripada tata bahasa regular. Tata bahasa tipe ini memiliki aturan produksi yaitu dengan batasan aturan produksi dimana berupa simbol variabel. Tata bahasa ini tidak membatasi . Bila pada tata bahasa regular, bagian yang belum terturunkan tersebut selalu terjadi pada suatu ujung, pada tata bahasa bebas konteks bisa terdapat lebih banyak bagian yang belum terturunkan itu, dan bisa terjadi dimana saja. Bahasa bebas konteks menjadi dasar dalam pembentukan parser/ proses analisis sintaksis. Bagian sintaks dalam suatu kompilator kebanyakan didefinisikan dalam tata bahasa bebas konteks. Seperti Finite State Automata mewakili bahasa regular, bahasa bebas konteks direpresentasikan oleh mesin Push Down Automata.

2.1 Push Down Automata Push down automata memiliki perbedaan dibanding dengan finite state automata yang merupakan mesin bahasa regular. Pada push down automata, dia sudah ditambah dengan adanya stack(tumpukan) sehingga banyaknya tupel dari mesin ini bertambah. Berikut ini adalah 7 tupel dari push down automata : M = (Q, ,,,S,F,Z) dimana: Q = himpunan state = himpunan simbol input = simbol-simbol tumpukan/stack = fungsi transisi S = state awal F = himpunan state akhir Z = simbol awal tumpukan / top stack 3. Bahasa Context Sensitive Tata bahasa tipe berikutnya yakni tata bahasa context sensitive atau tipe 1. Tata bahasa ini merupakan tata bahasa yang memiliki aturan produksi yang tidak begitu terbatas, yakni hanya masalah panjangnya dimana || ||. Dengan begitu, yang perlu diperhatikan hanyalah panjang dari harus sama atau kurang dari panjang . Sehingga, bisa kita beri contoh tata bahasa context sensitive : Aaac bBcd aaCD ddCCA Tata bahasa tipe ini dapat direpresentasikan oleh mesin otomata Linear Bounded Automata . 3.1 Linear Bounded Automata Linear bounded automata (LBA) adalah mesin deterministic yang berdasar pada state, sebuah tape yang berisi input string, dan sebuah read/write head yang bergerak ke kiri dan ke kanan di sekitar tape. Mesin ini membandingkan state saat ini dan simbol pada tape pada posisi head dengan jumlah aturan yang terbatas untuk menentukan state berikutnya, simbol mana yang akan ditulis pada tape, dan ke arah mana head akan bergerak. Sama seperti finite automata dan pushdown automata, linear bounded automata menerima atau menolak sebuah input berdasarkan apakah mereka berhenti pada state yang diterima atau tidak. Sebuah LBA berhenti ketika tidak ada aturan untuk kombinasi saat itu dari state yang sementara dibaca. Linear bounded automata memiliki kemiripan dengan mesin Turing dimana sama-sama menggunakan tape, tetapi pada mesin ini adalah finite yakni terbatas. Linear bounded automata terdiri atas 8 tuples : Q = himpunan states = himpunan simbol input = simbol dalam pita = left endmaker (kiri) = right endmaker (kanan)

= fungsi transisi S = state awal F = himpunan state akhir 4. Bahasa Natural / Unrestricted Tata bahasa yang terakhir, yakni tata bahasa tipe 0 yaitu tata bahasa unrestricted (tidak ada batasan). Tata bahasa ini, seperti namanya, merupakan tata bahasa yang tidak memiliki sama sekali batasan dalam aturan produksinya. Tata bahasa ini adalah sama dengan tata bahasa yang kita gunakan sehari-hari. Tata bahasa ini bisa berupa bahasa Inggris, bahasa Indonesia, maupun bahasa lainnya. Karena tidak ada batasannya, maka tata bahasa ini adalah sangat rumit, karena aturan produksinya tidak tetap. Contoh tata bahasa unrestricted : Aabbc aEdB aaaBC BCaa Dalam merepresentasikan tata bahasa ini, maka digunakanlah Mesin Turing (Touring Machine). 4.1 Mesin Turing Mesin Turing merupakan mesin yang merepresentasikan tata bahasa unrestricted. Mesin Turing ini bersifat umum dan memiliki kemampuan yang lebih tinggi dari finite state automata maupun push down automata dari segi aksi dan komponennya. Pada mesin Turing memori akan berupa suatu pita yang pada dasarnya berupa array (deretan) sel-sel penyimpanan. Setiap sel mampu menyimpan sebuah simbol tunggal. Mesin Turing bisa dianalogikan seperti komputer sederhana. Dengan sejumlah state sebagai memori, pita sebagai secondary storage, dan fungsi transisi sebagai program. Sebuah mesin Turing secara formal dinyatakan dalam 7 tupel, dimana : Q = himpunan state = kumpulan simbol input = simbol dalam pita (meliputi juga blank) = fungsi transisi S = state awal F = himpunan state akhir b = simbol kosong (blank), bukan bagian dari Bagian pada pita yang belum ditulisi dianggap berisi simbol b.

DAFTAR PUSTAKA
http://pksm.mercubuana.ac.id/new/elearning/files_modul/15013-6-473135626340.doc http://id.wikipedia.org/wiki/Teori_otomata http://uinsuskateknikinformatika.blogspot.com/2009/04/teori-bahasa-dan-otomata_19. http://acole2.j-artcom.org/2011/02/teori-hirarki-chomsky.html http://bima.staff.gunadarma.ac.id/Downloads/files/8300/TeoriBahasaAutomata.pdf http://bima.staff.gunadarma.ac.id/Downloads/files/8300/TeoriBahasaAutomata.pdf http://informatics.uii.ac.id/files/SAP/Teori%20Bahasa%20dan%20Automata.pdf

Anda mungkin juga menyukai