Sumarni Adi TEKNIK INFORMATIKA STMIK AMIKOM YOGYAKARTA 2013
KONTRAK KULIAH 1. 2. 3.
3.
4.
3/7/2013
Presensi 15 menit diawal perkuliahan dan dilakukan sendiri (tidak Boleh Titip Presensi), setelahnya sistem akan ditutup Toleransi Keterlambatan 20 menit Tugas Sebelum UTS dan Sebelum UAS Aspek Penilaian : • Kompleksitas Bahan • Pemahaman dan Penguasaan Materi • Ketepatan Waktu Pengumpulan Sistem Penilaian : • Presensi 20% • UTS 30 % • UAS 30 % • Tugas 20 % Klasifikasi Nilai : >= 80 :A >= 50 - < 80 : B >= 30 - < 50 : C >=10 - < 30 : D > = 0 - < 10 : E
2
Outline Teori Bahasa dan Otomata (2 sks) 1. 2. 3. 4. 5.
6. 7.
3/7/2013
Konsep dasar Bahasa Otomata Konsep dasar dan terapan Chomsky Hierarchy Konsep dasar dan terapan finite state automata : Deterministic dan Nondeterministic finite automata Konsep dasar dan karakteristik finite automata
with epsilon transition, regular expression Konsep dasar dan karakteristik Context free Languages Konsep push Down automata dan mesin turing Konsep problem dalam model diagram status dan mengaplikasikannya dalam algoritma komputer
3
REFERENSI 1. Hopcroft, J.E. and J.D.Ullman,
Introduction to Automata Theory, Languages, 2001 2. Linz, P., An Introduction to Formal Language and Automata, D.C. Heath and Co, 1990 3. Firrar Utdirartatmo, Teori bahasa dan Otomata, 2001 3/7/2013
4
TUJUAN KULIAH TBO mempunyai kemampuan teknik menyelesaikan problem yang dapat dimodelkan dengan diagram status dan diimplementasikan dalam algoritma Komputer
3/7/2013
5
Konsep dasar Bahasa dan Otomata 1. Kenapa perlu bahasa dan Otomata dalam Ilmu Komputer ??? 2. Apa itu Bahasa ??? 3. Apa itu Otomata ??? 3/7/2013
6
BAB 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.
3/7/2013
7
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. 3/7/2013
8
B. Konsep Bahasa dan Otomata 1. 1.
Teori Bahasa adalah konsep-konsep pada "string alpabet “ dalam penyambungan karakter-karakter alpabet untuk membentuk suatu makna (bahasa). ATAU Bahasa adalah himpunan string-string dari Alpabet yang mempunyai makna
2. Alpabet adalah himpunan simbol (karakter) tak kosong yang berhingga. Alpabet digunakan untuk membentuk kata-kata (string-string) di bahasa. Bahasa dimulai dengan alpabet. Alpabet dilambangkan dengan Σ 3. String adalah deretan simbol dari alpabet dimana perulangan simbol diijinkan. Contoh : V = {a,b,c,d} String pada alpabet V antara lain -> 'a','abcd','bbba' 3/7/2013
9
4. panjang string adalah jumlah simbol di dalam string bukan pada alpabet dan pengulangan kemunculan simbol dihitung. Panjang string dilambangkan |w|
Contoh: |ε| = 0 |a| = 1 |aa| = 2 |aaa| = 3 |aaab| = 4
3/7/2013
10
5. Empty string(null string) adalah string yang tidak mengandung simbol apapun. Lambangnya atau
6. Regular expression adalah cara untuk mengekspresikan bahasa dengan hanya menggunakan operasi : • Concatenation • Superscript • Kleene closure • Positif closure
3/7/2013
11
Penyambungan (Concatenation - o) Penyambungan dilakukan pada 2 karakter atau lebih membentuk 1 barisan karakter (string simbol).
Contoh : 'a' o 'b' = 'ab' 'ab' o 'baab' = 'abbaab'
3/7/2013
12
Superscript Penyambungan dapat dianggap sebagai perkalian karena biasanya penulisannya adalah bila x dan y string, maka x o y adalah xy. sehingga pemangkatan dapat digunakan
VoV = VV = V2 ----> Panjang string = 2
3/7/2013
13
Kleene closure V* = {ε} U V+ adalah string pada V, termasuk string kosong dimana ε string kosong (string tanpa simbol) ε mempunyai sifat identitas, yaitu:
εox=x xoε=x
3/7/2013
14
Positive closure V+ = V1 U V2 U V3 U ... adalah himpunan string pada V, tidak ada string kosong didalamnya.
V0 = {ε} adalah himpunan yang isinya hanya string kosong, dimana String kosong ε tidak sama dengan himpunan kosong
3/7/2013
15
Apa itu OTOMATA ? • 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. 3/7/2013
16
Konsep dasar Bahasa dan Otomata Contoh : kita mempunyai rancangan mesin otomata yang mempunyai 6 State (q0,q1,q2,q3,q4,q5), state awal {q0}, state akhir {q3,q5}, himpunan simbol input adalah {a,b,u}.
Gambarkan mesin otomatanya dan tentukan string input yang diterima ??? 3/7/2013
17
Jawabannya
• String input : 1. abu : diterima 2. aba : diterima 3. abb : ditolak (karena tidak berakir difinish) 3/7/2013
18