Teori Bahasa Formal dan Automata Pertemuan 2 Semester Genap T.A. 2017/2018 Rahman Indra Kesuma, S.Kom., M.Cs. T. Informatika - ITERA
POKOK BAHASAN Finite Automata Notasi Finite Automata Deterministic Finite Automata Transition Function Extended Transition Function
REVIEW Apa tujuannya memperlajari TBFO? Jika diketahui = {0, 1, 2, 3}, maka: Apa itu alfabet, string, string kosong, dan panjang string? Apakah 001 termasuk dalam 2? Apakah 134 termasuk dalam 3 Atau *? Apakah ε termasuk dalam *? Definisikan bahasa yang diterima oleh mesin berikut, jika string yang dapat diproses adalah {11, 101, 111, 1011, 11111, 110111, }
FINITE AUTOMATA Model komputasi yang paling sederhana Melingkupi kelas bahasa reguler (reguler language) Operasi: Kondisi pada suatu kejadian, selalu berada di salah satu dari state yang jumlahnya terhingga Berpindah-pindah state sebagai respons terhadap input Menerima input (string) jika berakhir di salah satu Final State (Accepting)
FINITE AUTOMATA Contoh penerapan FA pada protokol e-commerce berkaitan dengan e-money. Beberapa event yang didefinisikan: Pelanggan dapat membayar ke penjual Pelanggan dapat membatalkan pembayaran Penjualan dapat mengirimkan barang ke pelanggan Penjual dapat menebus/mengambil uang Bank dapat mentransfer uang ke penjual
FINITE AUTOMATA Contoh penerapan FA pada protokol e-commerce menggunakan e- money.
FINITE AUTOMATA Contoh penerapan FA pada protokol e-commerce menggunakan e- money.
FINITE AUTOMATA Contoh Finite Automata, untuk menguji apakah sebuah string berisi substring 01. Contoh string: 11010 L 000111 L 111000 L = {0, 1}, L = {w * w berisi substring 01}, = {x01y x, y *}
NOTASI State: Initial State: Final State: Transition: Hal ini mengartikan bahwa pada state q 1, FA menerima input simbol 1, maka FA akan berpindah ke state q 2.
CONTOH PENERAPAN NOTASI q 0 : menunggu 0 yang pertama q 1 : telah menerima 0, dan menunggu 1 q 2 : telah menerima 01, bisa dianggap sebagai akhir dari string
DETERMINISTIK FINITE AUTOMATA (DFA) DFA merupakan definisi FA dengan 5 komponen berikut: A = (Q,, δ, q 0, F) Q merupakan sekumpulan state yang terhingga merupakan sejumlah terhingga dari alfabet/simbol/input δ merupakan fungsi transisi (q, a) p q 0 Q merupakan start state F Q merupakan final state
FUNGSI TRANSISI PADA DFA δ Q Σ Q Bentuk pengkodean dari diagram/notasi fungsi transisi pada slide sebelumnya, yaitu δ(p, a) = q sama dengan Transisi juga dapat direpresentasikan dengan Tabel Transisi:
CONTOH PENERAPAN FUNGSI TRANSISI DFA yang dapat menerima bahasa L = {x01y x, y {0, 1}*} Definisi automata A = ({q 0, q 1, q 2 }, {0, 1}, δ, q 0, {q 2 }) Tabel Transisi dan Diagram Transisi 0 1 q 0 q 1 q 0 q 1 q 1 q 2 q 2 q 2 q 2
PENERIMAAN DALAM DFA FA akan menerima string w (w=a 1, a 2,, a n ) jika terdapat path dalam diagram transisi, yang mana Dimulai dari Start/Initial State Berakhir pada Final State Terdapat rangkaian transisi secara terurut dari a 1, a 2,, a n
LATIHAN DFA Jika = {0, 1}, rancanglah sebuah DFA yang memenuhi: Dapat menerima semua string yang diakhiri dengan 10 Dapat menerima semua string yang Jumlah 0-nya adalah ganjil Dapat menerima semua string yang mengandung 101
EXTENDED TRANSITION FUNCTION Tujuan: memperluas definsi δ ke lebih dari satu transisi, Ide: δ : satu transisi pada simbol a, δ : sebarisan transisi pada substring input w *, Secara formal: δ Q Σ Q δ(p,w) = q mengartikan bahwa transisi dimulai dari state p, dengan memproses substring w, dan mesin FA membawa ke state q.
CONTOH
EXTENDED TRANSITION FUNCTION Bagaimana memperoleh δ dari δ? Definisi (Induktif): q Q, a Σ, x Σ Basis : δ q, ε = q Induksi : δ q, xa = δ δ(q, x), a Aplikasi: δ q 0, ε = q 0 δ q 0, 1 = δ δ q 0, ε, 1 = δ q 0, 1 = q 0 δ q 0, 10 = δ δ q 0, 1, 0 = δ q 0, 0 = q 1 δ q 0, 101 = δ δ q 0, 10, 1 = δ q 1, 1 = q 2
BAHASA SEBUAH DFA Tentukan bahasa dari diagram transisi DFA berikut:
BAHASA SEBUAH DFA Bangunlah diagram transisi DFA, jika diketahui suatu DFA M = {Q,, δ, S, F} dengan Q = {1, 2, 3, 4}, initial state S = {1}, final state F = {1, 3}, alfabet = {a, b} dan fungsi transisi δ sebagai berikut: δ a b 1 2 4 2 2 3 3 2 3 4 4 4 Selanjutnya tentukan bahasa dari desan mesin DFA tersebut!
PUSTAKA John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman, Introduction To Automata Theory, Languages, and Computation Dr.-Ing. Reza Pulungan, M.Sc. Bahan Ajar Teori Komputasi. JIKE UGM.
Terima Kasih!