Você está na página 1de 20

I.

PENDAHULUAN
A. KEDUDUKAN TEORI BAHASA DAN OTOMATA PADA ILMU KOMPUTER Ilmu komputer mempunyai 2 komponen utama : Model dan gagasan mendasar mengenai komputasi. 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 perbedaan disiplin ilmu. Teknik elektro : Mengembangkan switching sebagai tool untuk mendesain hardware. Matematika : Bekerja berdasarkan logika. Ahli Bahasa : Menyelidiki tata bahasa untuk natural language. Ahli Biologi : Mempelajari neural network.

Spesifikasi dari sebuah bahasa pemrograman :


Himpunan simbol-simbol (alphabet) yang bisa dipakai untuk membentuk program yang benar. Himpunan program yang benar secara sintaktik. Makna dari program tersebut.

B. Konsep Bahasa dan Otomata Sebuah string ( kata/ untai) adalah suatu deretan berhingga dari simbolsimbol. Panjang string adalah jumlah simbol yang membentuk string. String kosong dinyatakan dengan , didefinisikan panjangnya = 0 atau || = 0

Otomata adalah suatu bentuk yang memiliki fungsi-fungsi dari komputer digital.
Menerima input, menghasilkan output, bisa memiliki penyimpanan sementara, dan mampu membuat keputusan dalam mentransformasikan input ke output. Otomata merupakan suatu sistem yang terdiri atas sejumlah berhingga state, dimana state menyatakan informasi mengenai input yang lalu, dan dapat pula dianggap sebagai memori mesin. Input pada mesin otomata dianggap sebagai bahasa yang harus dikenali oleh mesin. Selanjutnya mesin otomata membuat keputusan yang mengindikasikan apakah input itu diterima atau tidak. Sebuah string input diterima bila mencapai state akhir / final state yang digambarkan dengan lingkaran ganda.

C. 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. Penggolongan tersebut dapat dilihat pada tabel berikut :

Bahasa
Reguler / Type 3

Mesin Otomata
Finite State Automata, meliputi Deterministic Finite Automata dan Non Deterministic Finite Automata Push Down Automata Linier Bounded Automata

Batasan Aturan Produksi.


adalah sebuah simbol variabel. maksimal memiliki sebuah simbol variabel yang bila ada terletak di posisi paling kanan. adalah sebuah simbol variabel. | | || Tidak ada batasan.

Bebas Konteks/ Context Free / Tipe 2 Context Sensitive/ Tipe1

Unrestricked/ Mesin Turing Phase Structure / Natural Language/Tipe 0

Aturan produksi merupakan pusat dari tata bahasa, yang menspesifikasikan bagaimana suatu tata bahasa melakukan transformasi suatu string ke bentuk lainnya. Semua aturan produksi dinyatakan dalam bentuk : ( alpha menghasilkan betha atau alpha menurunkan betha) menyatakan simbol-simbol pada ruas kiri aturan
produksi.

menyatakan simbol-simbol pada ruas kanan aturan


produksi

Simbol variabel / non terminal adalah simbol yang masih bisa diturunkan lagi dan dinyatakan dengan huruf besar. Simbol terminal sudah tidak bisa diturunkan lagi, dan dinyatakan dengan huruf kecil. Dengan menerapkan aturan produksi, suatu tata bahasa bisa menghasilkan sejumlah string. Himpunan semua string adalah bahasa yang didefinisikan oleh tata bahasa tersebut.

Contoh aturan produksi :


T a , dibaca T menghasilkan a E T | T + E , dibaca E menghasilkan T atau E menghasilkan T dan E . Simbol | menyatakan atau, digunakan untuk mempersingkat penulisan aturan produksi yang mempunyai ruas kiri yang sama.

Tipe 0 /Unrestricked /Natural Language.


Tidak ada batasan pada aturan produksinya. Misal : Abc De

Tipe 1/ Conteks Sensitive


Panjang string pada ruas kiri panjang string pada ruas kanan | | ||.
Misal : Ab DeF CD eF

Bebas Konteks/ Context Free / Tipe 2


Ruas kiri harus tepat satu simbol variabel. Misal : B CDeFG D BcDe

Reguler / Type 3
Ruas kanan maksimal memiliki sebuah simbol variabel yang terletak di paling kanan, simbol terminal bisa berapa saja/ tak terbatas, tetapi bila terdapat simbol variabel harus terletak paling kanan. Misal : A e A fgh A eH C D

Simbol tidak boleh berada pada ruas kiri. Ruas kiri tidak boleh hanya memuat simbol terminal saja, karena ruas kiri harus juga memuat simbol yang bisa diturunkan.

SELESAI

Tentukanlah apakah aturan produksi berikut memenuhi aturan tata bahasa reguler!
1. A b 2. B bdB 3. B C 4. B bC 5. B Ad 6. B bbbbbd 7. B bdshgaA 8. AaSa 9. AaaSS 10. AbAdB

Tentukanlah apakah aturan produksi berikut memenuhi aturan tata bahasa bebas konteks! 1. A aSa 2. A Ace 3. a ab 4. A b 5. Bjfhajs 6. B shkajkA 7. A aSa 8. AaSSSS 9. AbBAD 10. AAAAAAAAA

Tentukanlah apakah aturan produksi berikut memenuhi aturan tata bahasa contxt sensitive! 1. BhnfkjashoA 2. A aSSAa 3. AdHAJHG 4. abc 5. AB C 6. aB BBBBB 7. sajjbbBaaaaaB 8. AAABBB 9. aaBcd aB 10. A

Tentukanlah apakah aturan produksi berikut termasuk type 1,2, dan atau 3!
1. A aaB (type 1,3 dan 2) 2. B CD 1,2 3. AaAabB (2,1) 4. AB T 5. abfghijkllllmnopzxcvbnmasdfgHJ 6. AaBcdEFG , 2, 1 7. Baaaaaaaa , 2,3,1 8. aBcabcD , 1 9. ABcdef , 2,1 10.ABCD (T)

Você também pode gostar