AUTOMATA Kedudukan TBA pada Ilmu Komputer Ilmu Komputer memiliki 2 komponen utama :
1. Model dan gagasan mendasar
mengenai komputasi 2. Teknik rekayasa untuk perancangan sistem komputasi, meliputi H/W dan S/W • FSA (Finite State Automata) merupakan tool yang sangat berguna dalam perancangan lexical analyzer, yaitu bagian dari kompilator yang mengelompokan karakter-karakter ke dalam sebuah token, yang berupa unit terkecil seperti nama, variabel, dan keyword. • FSA dipakai untuk penganalisa leksikal dan dipakai juga dalam text editor, pemrosesan teks, dan program file- searching Spesifikasi dari sebuah bahasa pemrograman meliputi, hal-hal :
1. Himpunan simbol-simbol (alpabet)
yang bisa dipakai untuk membentuk program yang benar. 2. Himpunan program yang benar secara sintaktik. 3. Makna dari program tersebut. Konsep Bahasa dan Otomata • Simbol adalah suatu entitas abstrak yang tidak bisa didefinisikan secara formal • Huruf dan digit adalah contoh dari simbol yang sering di pakai • String adalah suatu deretan berhingga dari simbol-simbol, contoh : ‘a’, ‘b’, ‘c’ adalah simbol dan ‘abc’ adalah sebuah string • String kosong dinyatakan dengan ε di definisikan panjangnya = 0 atau |ε|= 0 • Bahasa adalah himpunan string-string dari simbol-simbol untuk suatu alpabet yang memiliki makna. • Ada istilah bahasa kosong, yaitu bahasa yang tidak terdiri dari string-string, contoh himpunan kosong Ø • Pada umumnya kita mengenal bahasa alami, seperti bahasa Indonesia atau bahasa Inggris. • Bahasa didefinisikan di dalam kamus adalah suatu sistem yang meliputi pengekspresian gagasan, fakta, konsep termasuk sekumpulan simbol-simbol dan aturan untuk melakukan manipulasinya. • Sebuah bahasa adalah himpunan string-string dari simbol-simbol untuk suatu alphabet. • Karena sebuah bahasa adalah kumpulan dari string-string, kita bisa mempunyai sebuah bahasa yang tidak terdiri dari string-string, yaitu bahasa kosong, yang dinotasikan seperti kita menuliskan himpunan kosong, Ø. • Untuk memodelkan hardware ke komputer diperkenalkan Otomata. • Otomata adalah suatu bentuk yang memiliki fungsi-fungsi dari komputer digital, menerima input menghasilkan output, bisa memiliki penyimpanan sementara, dan mampu membuat keputusan dalam mentransformasikan input ke output • Otomata merupakan suatu sistem yang terdiri atas sejumlah berhingga (state), dimana state menyatakan informasi mengenai input yang lalu dan dapat dianggap sebagai memori mesin. • Input pada mesin otomata dianggap sebagai bahasa yang harus dikenali oleh mesin. Selanjutnya mesin otomata membuat keputusan atau keluaran yang mengindikasikan apakah input itu diterima atau tidak a d a
d u
Gambar 1. Mesin otomata sederhana
Mesin ini memiliki 6 state (q0,q1,q2,q3,q4,q5). State awal q0, q3 dan q4 adalah state akhir, sedangkan simbol input adalah (a,d,u) • Pada gambar 1 diatas, bila 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. Latihan
Buat contoh mesin yang dapat menerima
urutan simbol abc, bukan abd dan abe Buat contoh mesin yang dapat menerima bahasa ‘saya makan nasi’ dan ‘saya memasak nasi’ Buat contoh mesin yang dapat menerima pengulangan kata : universitas, serang, serang, serang, serang, raya