KONSEP DASAR TEORI BAHASA DAN OTOMATA Sumarni Adi, S.Kom., M.Cs S1 TEKNIK INFORMATIKA-STMIK AMIKOM YOGYAKARTA 2015 S1 Teknik Informatika-STMIK Amikom Yogyakarta
Kontrak Kuliah Hadir minimal 10 kali pertemuan = poin 20 Presensi sendiri saat akhir perkuliahan Pria : Mengenakan celana panjang,kemeja berdasi dan bersepatu Wanita : pakaian sopan dan bersepatu Tugas berupa quis yang dilakukan dikelas = 10 UTS = 30 UAS = 40 Klasifikasi Nilai : A = 80 -100 B = 50 – 79 C = 30 – 49 D = 0 - 29 S1 Teknik Informatika-STMIK Amikom Yogyakarta
Materi Kuliah pertemuan Topik Materi 1 Kontrak pembelajaran, Pendahuluan Ketentuan dalam Kuliah Pengertian Bahasa Pengertian Otomata 2 Pengertian Dasar dan Operasi pada string a. Pengertian Dasar Simbol dll b. Operasi dasar string 3 Grammar dan Bahasa a. Definisi Grammar b. Klasifikasi Grammar/bahasa c. Penentuan bahasa dari suatu grammar d. Penentuan grammar dari suatu bahasa 4,5 Mesin Pengenal Bahasa (OTOMATA) Macam-macam mesin pengenal bahasa Finite State Automata Ekuivalensi NFA-DFA
Materi Kuliah Lanjutan…. pertemuan Topik Materi 6 Ekspresi Reguler. Pengertian ER Menentukan ER dari suatu bahasa reguler Membuat NFA dari ER 7 UTS 8,9 Bahasa Bebas Konteks a. Penyederhanaan tata bahasa bebas konteks b. Bentuk Normal Chomsky 10,11 PushDown Automata (PDA) a. Pengertian PDA b. PDA deterministik/non deterministik. 12 Mesin Turing a. Pengertian Mesin Turing b. Penerimaan pada MT 13 Topik Khusus Topik-topik khusus/ masalah2 yang lebih kompleks dari teori bahasa dan otomata. 14 UAS
Buku Referensi Teori Bahasa dan Otomata, John E. Hopcroft dkk. (terjemahan, Edisi 2, 2007) Teori Bahasa dan Otomata, Firrar Utdirartatmo Introduction to Languages and The Theory of Computation, John C. Martin An Introduction to Formal Language and Automata, Peter Linz
Teori Bahasa Bahasa adalah kumpulan kalimat Semua bahasa dibangkitkan oleh sebuah tata bahasa (Grammar) Bahasa di bagi 2 yaitu : Bahasa natural yaitu bahasa manusia sehari-hari, seperti bahasa inggris, bahasa indonesia, bahasa jawa dll Bahasa Formal yaitu bahasa yang lebih kaku dengan aturan yang lebih ketat, seperti bahasa pemrograman komputer
Bahasa Formal Ada 2 hal penting yang terkait dgn bahasa formal : Pembangkit kalimat (Generation) : berkaitan dengan algoritma penghasil kalimat tersebut yang sesuai dengan aturan tata bahasa (Grammar) Pengenal Kalimat (Recognition) : Pembuatan algoritma yang dapat mengetahui apakah suatu string s (kalimat) termasuk anggota himpunan bahasa L
Elemen Bahasa Formal Abjad (alphabet): Himpunan berhingga dari simbol-simbol yang dapat disusun untuk membentuk suatu kalimat. Dalam konteks teori bahasa: kalimat, string atau kata ketiganya digunakan merujuk kepada hal yang sama, yaitu rangkaian simbol-simbol yang dapat disusun dengan menggunakan simbol yang diambil dari himpunan abjad. Himpunan abjad biasa dinotasikan dengan simbol ∑. Bahasa (Language): Himpunan seluruh string yang dapat dibangkitkan dari sebuah tatabahasa (grammar) G. Bahasa yang dibangkitkan oleh tata bahasa G biasa dinotasikan dengan L(G) atau L saja. Himpunan ini dapat berhingga atau tak berhingga. Aturan produksi (production rule : Adalah himpunan berhingga dari aturan-aturan penataan simbol dalam pembentukan sebuah string. Dengan aturan ini kita mem-produksi sebuah string , anggota suatu bahasa. Himpunan aturan produksi biasa disimbolkan sebagai P.
Teori Otomata Otomata adalah mesin abstrak yang dapat mengenali (recognize), menerima (accept), atau membangkitkan (generate) sebuah kalimat dalam bahasa tertentu. Automata adalah mesin sekuensial otomatis yang menerima input dan mengeluarkan output yang keduanya dalam bentuk diskreet". Beberapa sistem yang dapat dibuat model otomatanya antara lain : - mesin penukar uang - model transmisi data - kunci kombinasi - parser - compiler
Teori Otomata Sifat-sifat Otomata : 1. Kelakuan mesin otomata bergantung pada rangkaian input yang diterima mesin tersebut. 2. Setiap saat berada pada status tertentu, dan dapat pindah ke status baru karena perubahan input.
Hubungan antara Bahasa formal dan otomata Hubungan otomata dengan bahasa formal dapat dilukiskan sebagai berikut : Rangkaian input diskret pada mesin otomata dapat dianggap sebagai bahasa yang harus dikenali oleh otomata. Mesin otomata dapat pula digunakan untuk membangkitkan bahasa tertentu yang aturannya ditentukan oleh tata bahasa tertentu. Dengan demikian dapat dilihat keterkaitan antara : mesin otomata, bahasa yang dibangkitkan atau dikenali oleh mesin dan tata bahasa yang membangkitkan sebuah bahasa.