PENDAHULUAN
APAKAH TEORI BAHASA OTOMATA ?? Merupakan teori komputasi dari komputer digital dengan konsep formalisasi dan prosedur2x efektif dalam model-model (gagasan) fundamental. Penerapan penting model komputasi yaitu kompilasi.
Bahasa manusia sampai saat ini tidak bisa diketahui bagaimana cara manusia mengartikan bahasa, sebaliknya untuk bahasa komputer dapat diketahui cara mengartikannya. Grammar adl perangkat formal yg berisi sejumlah aturan menspesifikasikan bahasa berisi semua string sesuai dg deskripsi dan definisi sintaks bahasa pemrograman dan bahasa formal lainnya.
Finite otomata adl mesin abstrak sederhana yg dirancang/dimodelkan utk menyelesaikan berbagai perangkat lunak. Ex: neuron nets,swiching circuit, dan perancangan kompilator. Model komputasi terdiri dari 3 model: FSA ; terdiri atas DFA dan N-FA PDA ; terdiri atas DPDA dan N-PDA Mesin turing
FSA dan ER digunakan dalam perancangan Lexical analyzer yaitu bagian kompilator bertugas mengelompokkan karakter2x menjadi token-token. PDA dan CFG; utk sebarang CFG terdapat PDA yg dpt mengenal bahasa hasil CFG (ekuivalen). Ex: pemrograman,markup(HTML),kamus data,query,perintah,script,printer(mengubah semua yg dicetak menjadi string),parser,dll.
Mesin Turing ;utk mengidentifikasi ketidakmungkinan komputasi Mesin Turing ;utk mengidentifikasi ketidakmungkinan komputasi.seperti sebarang fungsi tidak ada solusi secara komputasi bila tidak dpt dikomputasi dg mesin turing.
Ilustrasi model komputasi Memori sementra Memori masukan CPU Memori keluaran Memori program
Dasar-dasar teori Bahasa Utk komunikasi diperlukan ‘bahasa’. berdasarkan ‘grammar’ akan terjadi pemahaman. Terminologi TBO : alphabet (himpunan simbol/karakter),penyambungan,penggabungan dan string pd alphabet V. Alphabet kata(string) kalimat (bahasa)
Alphabet adl himpunan tdk kosong yg berhingga, terdiri dari angka,huruf dan karakter khusus. Penyambungan dan penggabungan. Misal : A={‘123’} dan B = {‘abc’} A.B = {‘123abc’} adl penyambungan A+B = {‘123’,’abc’} adl penggabunganstring Misalkan V sebarang himp alphabet maka V* :himp string dlm V termasuk string kosong (empty). V+ : himp string dlm V yg tidak termasuk string kosong. Vo : himp yg hanya berisi string kosong (string tanpa simbol). Vk : himpunan string dg panjang k. V={‘a’};V.V=V2={‘aa’};V.V.V=V3={‘aaa’};dst..
Panjang/norma suatu string Notasi : “| |” |e| =0 |a|=1 |aa|=2 |aaa|=3 |abcdf|=5 |xy| = |x|+|y|, x dan y adl string Hukum asosiatif utk penyambungan: (xy)z=x(yz) Hukum komutatif tdk berlaku utk penyambungan: xy tdk sama dg yx.
LEKSIK, SINTAKS & SEMANTIKS Leksik : karakter dasar yg membentuk token. V={‘a’..’z’, ‘0’..’9’, ‘,’,’.’,’;’,’:’,’!’,’^’,’%’,’=’,’>’,’<’,’+’,’=’,’*’,’/’,’’’,’-’,’_’,’)’,’(’} Token merup bagian terkecil dari bhs pemrograman berupa keyword (kata cadangan) dan identifier. Ex: if, then, <>,<,>, nama variabel,nama fungsi, nama prosedur.
Sintaks (tata cara penulisan) ; penyambungan token-token hrs memenuhi sintaks .sintaks yg tepat menghasilkan kalimat/string dlm bhs pemrog tertentu. Ex: if..then , for..to..do, function …, procedure …, dst. Semantiks (mempunyai makna) : susunan sintaks yg sesuai dengan semantiks akan diterima oleh kompilator dan diterjemahkan ke dlm bhs mesin.ex: operasi2x yg sesuai dg tipe data, ekspresi/kondisi yg tepat pd algoritma, dll.
Prefiks, suffiks & Substring Misal string xyz = s maka : prefiks darinya x Suffiks darinya z Prefiks dan suffiks adalah substring. Proper suffiks (suffiks asli) string s adl x dan x = s Proper prefiks (prefiks asli) string s adl x dan x = s