Teori Bahasa dan Automata Pendahuluan Teori Bahasa dan Automata
Pengantar Model dan Gagasan Komputasi Teori Bahasa dan Automata Komputer Teknik Rekayasa (Hardware and Software)
Finite State Automata dan Eskpresi Regular Berdasar neural network dan switching circuit Untuk perancangan lexycal analyzer (bagian kompilator untuk pengelompokkan token) Digunakan pada text editor, pattern matching, text processing, file searching, konsep matematis (logika)
Fungsi Tata Bahasa dan Push Down Automata Spesifikasi Formal Bahasa Spesifikasi bahasa pemrograman dan perancangan parser (bagian penting kompilator) Menyederhanakan parsing Efisiensi pengembangan parses untuk kompilator Spesifikasi Formal Bahasa Mengganti deksripsi yang tidak lengkap atau ambigu
1 2 3 Fungsi Teori Perancangan digital Perancangan Bahasa Pemrograman Perancangan Kompilator 3
Konsep ‘abcd’ : suatu string dengan panjang 4 ‘a’,’b’ : suatu simbol Bahasa : Himpunan string-string dari simbol simbol untuk suatu alphabet Automata : memodelkan hardware dari komputer Automata memiliki fungsi-fungsi dari komputer digital Sifat Automata Menerima input Menghasilkan output Memiliki penyimpanan sementara Membuat keputusan dalam transformasi input ke output Bahasa formal : suatu abstraksi terdiri dari himpunan simbol-simbol dan aturan-aturan dimana simbol tersebut data dikombinasikan dalam entitas yang disebut kalimat Bahasa pemrograman dari bahasa formal
Konsep Automata merupakan sistem dengan Sejumlah berhingga state State menyatakan informasi input yang lalu (memori mesin) Input Automata dianggap bisa dikenali mesin Mesin automata membuat keputusan sebagai indikasi penerimaan input. Contoh : (di papan tulis)
Hirarki Chomsky Tahun 1959, seorang ahli Noam Chomsky => Pendefinisian tata bahasa (grammar) secara formal Bahasa Mesin Automata Batasan Aturan Produksi Regular/Tipe 3 Finite State Automata (Deterministic Finite Automata dan Non deterministics Finite Automata)) α = simbol variabel β = maksimal memiliki sebuah simbol variabel yang bila ada terletak di posisi paling kanan Bebas Konteks/Context Free/ Tipe 2 Push Down Automata Context Sensitive/Tipe 1 Linear Bounded Automata |α| ≤ |β| Unrestricted/Phase Structure/Natural Language/Tipe 0 Mesin Turing Tidak ada batasan
Hirarki Chomsky, menjelaskan Spesifikasi tata bahasa melakukan transformasi string ke bentuk lainnya Terdiri dari ruas kiri(alpha) dan kanan(beta) α = aturan produksi β = hasil produksi Simbol berupa terminal atau non terminal/variabel Simbol terminal dinyatakan dalam huruf kecil (Firrar, 2005) Simbol non terminal/variabel dinyatakan dengan huruf besar
Hirarki Chomsky Unrestricted Context Sensitive Tidak ada batasan pada aturan produksinya Abc De Context Sensitive Panjang string ruas kiri kurang dari sama dengan ruas kanan Sering digunakan dalam proses analisis semantik pada tahapan kompilasi |α| ≤ |β| Ab DeF CD eF S ɛ (pengecualian)
Hirarki Chomsky Context Free Grammar Bahasa Regular Ruas kiri harus tepat satu simbol variabel Dasar pembentukan parser Kompilator biasanya menggunakan Context Free/Bebas Konteks B CDeFG D BcDe Bahasa Regular Ruas kanan maksimal memiliki sebuah simbol variabel terletak di paling kanan Dapat memiliki simbol terminal tak terbatas A e A efg A efgG C D
Larangan dari tipe 0 sampai tipe 3 Simbol Empty (ɛ) tidak boleh berada di ruas kiri Aturan produksi yang hanya memuat terminal saja
Teori Himpunan Operasi Aritmatika Ketentuan Operasi Himpunan Gabungan (union) Irisan (intersection) Komplemen Ketentuan Operasi Himpunan
Graph Graph G = (V , E) merupakan himpunan vertex-vertex (simpul) V dan himpunan sisi (edge) E dimana E dibentuk dari V x V Graph : kumpulan vertex vertex dan sisi-sisi penggabung vertex Jenis : Graph berarah dan Graph tak berarah Lintasan (path) : urutan simpul atau sisi yang dibentuk untuk bergerak Titik akhir busur menjasi titik awal busur berikutnya Sirkuit : Lintasan yang memiliki simpul awal dan akhir sama Panjang lintasan : Banyaknya sisi yang dilalui lintasan tersebut
Tree Tree : graph terhubung tanpa sirkuit Setiap pasang simpul terhubung hanya oleh satu lintasan Root/Akar : suatu simpul tertinggi Daun/Leaf : simpul yang tidak diturunkan lagi Cabang / branch : simpul simpul selain daun n = banyaknya simpul s = banyaknya sisi Pohon biner : pohon yang setiap cabangnya maksimal mempunyai dua anak
Sumber Utdirartatmo, Firrar. 2005. Teori Bahasa dan Otomata. Graha Ilmu:Yogyakarta. Terimakasih