P. 1
Teori bahasa automata

Teori bahasa automata

|Views: 118|Likes:
A
A

More info:

Categories:Types, School Work
Published by: Mohammad IeWar Fadhil on May 18, 2013
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as DOC, PDF, TXT or read online from Scribd
See more
See less

12/01/2013

pdf

text

original

1

1
Teori Bahasa dan Otomata

PENDAHULUAN

Teori bahasa dan otomata merupakan bagian dari teori komputasi pada ilmu komputer. Beberapa teori komputasi datang dari bahasa dan rekayasa sistem, terutama yang berbasiskan matematika. Dalam hal ini penekanannya adalah pada pemecahan masalah. Melalui contoh-contoh ilustrasi-masalah dapat dikenali latar belakang dari suatu konsep dan hubungannya dengan definis dan teorema yang ada. Secara teoritis ilmu komputer diawali dari sejumlah berbeda disiplin ilmu; ahli biologi mempelajari neural network, insinyur elektro mengembangkan switching sebagai tools untuk mendesain perangkat keras, matematikawan bekerja berdasarkan logika, dan ahli bahasa menyelidiki tata bahasa untuk bahasa alami (natural language) Finite state automata dan ekspresi reguler awal dikembangkan berdasarkan pemikiran neural network dan switching circuit. Finite state automata merupakan tools yang sangat berguna dalam perancangan suatu penganalisa leksikal (lexical analyzer) yang berguna dalam mengelompokkan karakter-karakter kedalam token-token sebagai unit terkecil dalam mengenali pola. Jadi apa sesungguhnya teori bahasa tersebut ? Teori bahasa merupakan suatu gagasan mendasar dalam komputasi yang menjadi tools untuk mengenali persoalan. Gagasan dasar tersebut dimodel dengan suatu simbol-simbol yang merepresentasikan juga suatu fungsi dari komputer digital. Teori bahasa pada awalnya lebih diarahkan untuk mengenali suatu tata bahasa dan dapat mendefinisikan spesifikasi formal dari tata bahasa tersebut. Sehingga pada akhirnya dapat didefinisikan langkah-langkah algoritmik dalam pemrosesan tata bahasa.

PUSAT PENGEMBANGAN BAHAN AJAR – UMB

Puji Catur Siswipraptini S.Kom Teori Bahasa Otomata

Untuk mempelajari prinsip-prinsip dasar tersebut.Kom Teori Bahasa Otomata . Teori bahasa dan automata persoalan Logika dasar persoalan Pseudo code / flow chart Algoritma dan struktur data Program sumber compiler Data masukan Program komputer Data keluaran PUSAT PENGEMBANGAN BAHAN AJAR – UMB Puji Catur Siswipraptini S. dari perancangan mesin sampai pemrograman. Pendekatan ini. terdapat keseragaman prinsip-prinsip umum yang dipakai. Disamping perbedaan yang ada. juga diterapkan pada ilmu sains lainnya. keuntungan yang diperoleh dari mempelajarinya adalah memberikan landasan untuk basis dari suatu pengembangan algoritma. Bidang ilmu komputer meliputi topik yang luas.2 Teori bahasa dan otomata dalam ilmu komputer Suatu teori hanya menarik jika dapat membantu dalam mencari solusi terbaik. Model ini memiliki fungsi-fungsi yang penting dan umum pada perangkat keras dan perangkat lunak komputer. Tanpa penerapan timbul pertanyaan. kita mengkonstruksi suatu mesin otomata sebagai model abstrak dari komputer dan komputasi. Meskipun model tersebut sederhana untuk diterapkan langsung pada dunia nyata. mengapa mempelajari teori? Teori memberikan konsep dan prinsip yang menolong untuk memahami perilaku dari suatu persoalan yang berkorelasi dengan teori tersebut.

menulis  {kambing. adik. menggigit. dapat direkonstruksi suatu kalimat berita sebagai berikut : Adik menulis Kucing menggigit tikus Si kambing cantik memakan sayuran segar PUSAT PENGEMBANGAN BAHAN AJAR – UMB Puji Catur Siswipraptini S. atau Kt Sdng+Kt Bnda +Kt Ket. Sandang+ Kt Benda + Kt Keterangan Kata kerja atau Kata kerja + Objek Kata Benda atau Kt Sandang +Kt benda atau Kt Benda+Kt Ket. …} Kata sandang  {Si.Kom Teori Bahasa Otomata .3 Tata Bahasa Penulisan suatu kalimat dalam sebuah bahasa. Aturan tersebut dikenal sebagai Tata Bahasa (grammar). penulisan sebuah kalimat berita akan mengikuti aturan SP (Subjek Predikat). Sebagai contoh dalam bahasa Indonesia. atau lebih detilnya aturan penulisan suatu kalimat berita adalah : Kalimat berita Subjek Predikat Kata Benda atau Kata Sandang + Kata benda atau Kata Benda + Kata Keterangan atau Kt. Kata kerja Kata benda  {memukul. …} Dengan mengikuti aturan tata bahasa tersebut. akan mengikuti suatu aturan tertentu yang berlaku pada bahasa tersebut. memasak. meja. cantik . kucing. besar. jauh. bung. bola. … } Kata Keterangan  {kecil.

yang disebut dengan Bahasa Regular Tipe 3 Mesin Otomata Finite State Automata (FSA) meliputi Deterministic Finite Automata (DFA) & Nondeterministic Finite Automata (NFA) Push Down Automata (PDA) Linier Bounded Automata Mesin Turing Batasa Aturan Produksi α adalah sebuah simbol variabel β maksimal memiliki sebuah simbol variabel yang bila ada terletak diposisi paling kanan α berupa sebuah simbol variabel | α| ≤ | β| tidak ada batasan Bebas Konteks (Context Free) Tipe 2 Context Sensitive Tipe 1 Unrestricted/Phase Structure/Natural Language/ Tipe 0 TRANSLATOR Sebuah translator melakukan pengubahan source code/source program (program sumber) ke dalam target code/object code/object program (program objet).4 Periksalah kalimat berikut apakah memenuhi aturan tersebut : Si tikus jorok mengejar kucing galak Si bola besar menendang kambing jelek Klasifikasi Tata Bahasa Tata bahasa (grammar) bisa didefinisikan secara formal sebagai kumpulan dari himpunan-himpunan variabel. Ada beberapa macam translator : 1. simbol-simbol terminal. simbol awal yang dibatasi oleh aturan-aturan produksi. Pada tahun 1959 seorang ahli bernama Hirarki Chomsky. Assembler PUSAT PENGEMBANGAN BAHAN AJAR – UMB Puji Catur Siswipraptini S. Penggolongan tersebut bisa dilihat pada tabel berikut: Noam Chomsky melakukan penggolongan tingkatan bahasa menjadi empat.Kom Teori Bahasa Otomata .

Sorurce Code Assembler Object Code Gambar stuktur Sistem Assembler 2. object kode adalah bahasa mesin atau bahasa assembler. Source code dan data diproses pada saat yang berbeda Contoh : Turbo Pascal. Data PUSAT PENGEMBANGAN BAHAN AJAR – UMB Puji Catur Siswipraptini S. object code adalah bahasa mesin. hasil translasi hanya dalam bentuk internal. Kompilator/Compiler Source code adalah bahasa tingkat tinggi. Contoh : Basic.Kom Teori Bahasa Otomata . Interpreter Interpreter tidak membangkitkan object code. Contohnya : Turbo Assembler dan Macro Assembler.5 Source code adalah bahasa assembly. Data Source Code Compiler Object Code Eksekusi computer Hasil Gambar struktur Sistem Kompilator 3.

Sebuah intruksi akan mengerjakan mirip dengan arti intruksi itu. dan bahasa pemrograman yang sudah ada. Bagian-bagian sebuah kompilator : PUSAT PENGEMBANGAN BAHAN AJAR – UMB Puji Catur Siswipraptini S. 3. MODEL KOMPILATOR Pekerjaan untuk membuat sebuah kompilator untuk suatu bahasa sumber sangat rumit. Tetapi perlu ketelitian saat menggunakan karena bahasa yang sudah ada itu mungkin mengandung kesalahan yag serius. 2. matamatika. Penjelasan masing-masing sebagai berikut : 1. PERANCANGAN KOMPILATOR BAHASA PEMROGRAMAN Gagasan untuk perancangan compiler bahasa pemrograman bisa berasal dari bahasa alami (natural langgue). Matematika telah banyak dipakai untuk aturan aturan yang terdapat pada bahasa pemrograman misalnya ekspresi matematika. Kerumitan serta sifat dari proses kompilasi tergantung pada tingkat keluasan dari bahasa sumber.6 Source Code Interpreter Hasil Gambar struktur Sistem Interpreter.Kom Teori Bahasa Otomata . Bahasa pemrograman yang sudah ada bisa menjadi sumber yang bagus untuk perancangan bahasa pemrograman. Kontruksi yang diturunkan dari bahasa alami berguna untuk kejelasan dan kemudahan pembacaan. Kerumitan kompilator dapat dikurangi jika perancang bahasa pemrograman mempertimbangkan bermacam-macam faktor perancangan.

Secara lebih detil setiap elemen sintesis melakukan tugas-tugas sebagai berikut : 1.Kom Teori Bahasa Otomata . mengenali bagian dasar dari teks (bagian leksikografis terkecil/ token) dan memisahkannya dengan spasi kosong. PUSAT PENGEMBANGAN BAHAN AJAR – UMB Puji Catur Siswipraptini S. Sintesis Pembangkit Kode Pengoptimal Kode Semua bagian tersebut dalam operasinya didukung dan merefer ke Tabel Simbol Program sumber Program objek ANALISIS Penganalisis Leksikal (Scanner) Penganalisis Sintaks (Parser) SINTESIS Pembangkit kode (code generator) Pengoptimal kode (optimizer) Penganalisis semantik Tabel Simbol Bagian Analisis berhubungan dengan pemisahan bagian-bagian dari program sumber menjadi bagian-bagian dasar (token).7 1. Analisis • • • • • Mengenali masukan (Scanner) Memeriksa kebenaran tata bahasa masukan (Parser) Menangkap makna masukan (pengenal semantik) 2. Keluaran dari penganalisa leksikal adalah daftar token. Penganalisa Leksikal (scanner) Fungsi scanner adalah membaca seluruh teks program sumber karakter per karakter.

Penganalisa Sintaks (Parser) Daftar token yang dihasilkan scanner. kode-kode objek dari pembangkit kode akan dianalisa dan langkah-langkah operasi serta kemunculan berulang dari suatu ekpresi akan direduksi. Salah satu model kode antara adalah Notasi Polish. Id dibangkitkan dengan mereferensi kepada informasi yang tersimpan dalam tabel simbol.8 Setiap token dalam daftar token dilengkapi dengan kode penanda token (id) dan keterangan jenis token. Kalimat dapat berupa ekpspresi. Keluaran dari proses analisis semantik adalah Kode Antara (intermediate code). kalimat yang terbentuk akan dianalisa untuk menghasilkan pohon sintaks atau yang sejenisnya. oleh parser selanjutkan akan dikelompokkan atas kalimat-kalimat sesuai urutan keberadaan token dalam program sumber.Kom Teori Bahasa Otomata . dan prosedur. PUSAT PENGEMBANGAN BAHAN AJAR – UMB Puji Catur Siswipraptini S. 1. 2. statement. Hasil reduksi tersebut dimaksudkan untuk menghasilkan program objek yang lebih efisien. Pohon sintaks mengidentifikasikan kalimat yang benar secara tata bahasa jika semua simpul daun berupa token dan setiap simpul yang bukan daun mewakili suatu tipe kelas sintaks. Dengan mengacu pada tata aturan penulisan kalimat (tata bahasa/grammar). 3. 2. Pengoptimal Kode (optimizer) Pada kompilator yang canggih. Keluaran dari bagian analisis selanjutnya digunakan oleh bagian sintesis untuk membangkitkan program objek yang sesuai dengan program sumber dan mesin. Penganalisa Semantik Pohon sintaks yang dihasilkan oleh parser kemudian digunakan oleh penganalisa semantik untuk menangkap makna yang dimaksud oleh kalimat tersebut. Pembangkit Kode (code generator) Intermediate code akan diterjemahkan kedalam bahasa rakitan (assembly) atau langsung kedalam bahasa mesin.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->