Ilmu komputer memiliki dua komponen utama : 1. Model dan gagasan mendasar mengenai komputasi 2. Teknik rekayasa untuk perancangan sistem. Finite State Otomata merupakan tool dalam perancangan Lexical analyzer Spesifikasi bahasa pemograman meliputi : Himpunan simbol-simbol (alphabet) yang bisa dipakai untuk membentuk program yang benar. Himpunan program yang benar secara sintaksis. makna dari program Teori memberikan konsep dan prinsip untuk memahami perilaku dari suatu disiplin ilmu.
Mesin Otomata sederhana Mesin mendapat string input berikut : ada : diterima adu : diterima add : ditolak Sebuah string input diterima bila mencapai state akhir / final state , yang digambarkan dengan lingkaran ganda.
HIRARKI CHOMSKY
Noam Chomsky menggolongkan tingkatan bahasa menjadi empat Bahasa Mesin Otomata Finite State Automata (FSA) meliputi Deterministic Finite Automata (DFA) & Nondeterministic Finite Automata (NFA) Push Down Automata (PDA) Linier Bounded Automata Mesin Turing Batasan Aturan Produksi adalah sebuah symbol variable maksimal memiliki sebuah symbol variable yang bila ada terletak diposisi paling kanan berupa sebuah symbol variabel
Regular / Tipe 3
Bebas Konteks/Context Free/Tipe 2 Context Sensitive/Tipe 1 Unrestricted / 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 ( menghasilkan , menurunkan ), menyatakan simbol-simbol pada ruas kiri aturan produksi dan menyatakan simbol-simbol pada ruas kanan aturan produksi . Simbol-simbol bisa berupa simbol terminal atau simbol nonterminal/variable. Symbol variable /nonterminal adalah symbol yang masih bisa diturunkan ,sedang symbol terminal sudah tidak bisa diturunkan lagi. Symbol terminal biasanya dinyatakan dengan huruf kecil, misal a,b,c. symbol nonterminal /variable biasanya dinyatakan huruf besar, misal A,B,C. Contoh aturan produksi : T a dibaca : T menghasilkan a ET|T+E dibaca : E menghasilkan T atau E menghasilkan T + E Simbol | menyatakan atau, digunakan untuk mempersingkat penulisan aturan produksi yang mempunyai ruas kiri yang sama. Tipe 0/Unrestricted tidak ada batasan pada aturan produksinya. Misalnya saja : Abc De Pada bahasa Context Sensitive, panjang string pada ruas kiri panjang ruas kanan . Ab DeF CD eF
S Kita ketahui = 1, sedang = 0, menurut aturan Context Sensitive aturan produksi itu tidak diperkenankan, tetapi disini kita buat suatu perkecualian sehingga S dianggap memenuhi Context Sensitive grammar . Pada bahasa konteks, batasannya bertambah lagi dengan ruas kiri haruslah tepat satu symbol variable B CDeFg D BcDe Bahasa bebas konteks menjadi dasar dalam pembentukan suatu parser/proses analisis sintaksis. Bagian sintaks dalam suatu kompilator kebanyakan didefinisikan dalam tata bahasa bebas konteks (context free grammar), yang dideskripsikan secara formal dengan notasi BNF (Backus Naur Form atau Backus Normal Form). Pada bahasa regular, batasannya bertambah dengan ruas kanan maksimal memiliki sebuah symbol variable yang terletak di paling kanan. Ae A efg A efgH CD
TEORI HIMPUNAN Himpunan merupakan kumpulan dari elemen-elemen Himpunan dikatakan sama bila memuat elemen-elemen yang sama Jika semua elemen dari himpunan A adalah elemen dari himpunan B, dapat dikatakan A adalah subset (himpunan bagian) dari B. Himpunan kosong/null, dinotasikan dengan , merupakan himpunan bagian dari semua himpunan Terdapat tiga operasi himpunan: 1. Gabungan (union) : dinyatakan dengan . 2. Irisan (intersection): dinyatakan dengan . 3. Komplemen. Komplemen dari suatu himpunan adalah semua elemen yang tidak menjadi elemen himpunan tersebut
Beberapa ketentuan pada operasi himpunan 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. A=A A= A BA B=A A BA B=B A A=A A A=A Komutatif Assosiatif Distributif AB=A B (A B) = A B ( A B) = A B ( A) = A =U U=
LATIHAN SOAL
1.Tentukan apakah produksi berikut memenuhi aturan tata bahasa regular a). A b b). B bdB c). B C d). B Ad e). B bcdef f). A aSa 2. Tentukan apakah produksi berikut memenuhi aturan tata bahasa bebas konteks a). A Ace b). B bdB c). B d). B ABCDEF e). B bcdef f). Ad dB
3.Tentukan apakah produksi berikut memenuhi aturan tata bahasa context sensitive a). B bcdefG b). B aSS c). B C d). B Ad e). B bcdef f). A aSa 4. Tentukan apakah produksi berikut memenuhi aturan tata bahasa unrestricted a). A Ace b). ad b c). AB d). abC DE e). B bcdef f). AB cde