Teori Bahasa Otomata D. Sinaga, M.Kom.

Slides:



Advertisements
Presentasi serupa
Teori Bahasa dan Automata
Advertisements

TEORI BAHASA DAN OTOMATA
Pertemuan 14 Pengantar ke Mesin Turing
Teori Bahasa dan Automata
Pertemuan 11 PUSH DOWN AUTOMATA (PDA)
Oleh: BAGUS ADHI KUSUMA, ST
Session 12 Pushdown Automata
KONSEP DASAR TEORI BAHASA DAN OTOMATA
BAB II FINITE STATE AUTOMATA.
14. PUSH DOWN AUTOMATA.
Teori Bahasa & OTOMATA.
OTOMATA HINGGA.
BAB II FINITE STATE AUTOMATA.
BAB II FINITE STATE AUTOMATA.
PUSH DOWN AUTOMATA & MESIN TURING
Mesin Turing Pertemuan 12
PUSHDOWN AUTOMATA & TURING MACHINE
Pertemuan 3 BAHASA REGULAR
TEORI BAHASA DAN AUTOMATA
Teori Bahasa dan Otomata 2 sks
PENDAHULUAN.
NON DETERMINISTIC FINITE AUTOMATA DENGAN ε - MOVE
BAB XIV MESIN TURING.
14. PUSH-DOWN AUTOMATA.
BAB II FINITE STATE AUTOMATA.
BAB II FINITE STATE AUTOMATA.
Apakah Algoritma & Struktur Data itu ?
Mesin Turing.
Pertemuan 3 FINITE AUTOMATA
BAB 13 PUSH DOWN AUTOMATA.
PUSH DOWN AUTOMATA.
PUSH DOWN AUTOMATA ( PDA )
Teori Bahasa & OTOMATA.
2. Mesin Turing (Bagian 2) IF5110 Teori Komputasi Oleh: Rinaldi Munir
2. Mesin Turing (Bagian 1) IF5110 Teori Komputasi Oleh: Rinaldi Munir
TEORI BAHASA DAN AUTOMATA
FINITE STATE AUTOMATA (FSA)
PUSH DOWN AUTOMATA (PDA)
FINITE STATE AUTOMATA (FSA)
Teori-Bahasa-dan-Otomata
Kelompok 6 Turing Machine
BAB II FINITE STATE AUTOMATA.
OTOMATA DAN TEORI BAHASA FORMAL
FINITE STATE AUTOMATA (FSA)
TEORI GRAF DAN OTOMATA Pendahuluan Bagus Adhi Kusuma, S.T., M.Eng.
3. Mesin Turing (Bagian 3) IF5110 Teori Komputasi Oleh: Rinaldi Munir
TEORI BAHASA DAN AUTOMATA TATA BAHASA LEVEL BAHASA
Program Studi Teknik Informatika STMIK AMIKOM Purwokerto
PENDAHULUAN.
Program Studi Teknik Informatika STMIK AMIKOM Purwokerto
TEORI BAHASA DAN OTOMATA
2. Mesin Turing (Bagian 1) IF5110 Teori Komputasi Oleh: Rinaldi Munir
ATURAN PRODUKSI TATA BAHASA REGULER
MESIN TURING Kuliah Teori Bahasa dan Otomata S1 Teknik Informatika
BAB II FINITE STATE AUTOMATA.
Teori-Bahasa-dan-Otomata
Finite State Automata ♦ model matematika yang dapat menerima input dan mengeluarkan output ♦ Memiliki state yang berhingga banyaknya dan dapat berpindah.
Aturan Produksi Untuk Suatu Finite State Automata
Mesin Turing.
Tata Bahasa Kelas Tata Bahasa
Pertemuan3.
Konsep dan Notasi Bahasa
Mesin Turing HP
2. Mesin Turing (Bagian 2) IF5110 Teori Komputasi Oleh: Rinaldi Munir
Teori Bahasa dan Automata
Pertemuan4.
KELOMPOK 12: AGUNG KURNIAWAN MUHAMMAD AMIN REZA ARLIANSYAH
Pushdown Automata (PDA)
Otomata & Teori Bahasa Finite State Automata: - Non Deterministic Finite Automata dengan -move - Penggabungan dan Konkatenasi FSA.
MESIN TURING. TEST KOMPETENSI Ni nomor berapakah mobil ini parkir?
Transcript presentasi:

Teori Bahasa Otomata D. Sinaga, M.Kom

Pengertian Bahasa Bahasa adalah kumpulan kalimat yang mengandung arti. Sebuah bahasa selalu berhubungan erat dengan tatabahasa atau grammar Bahasa dibagi 2 yaitu : Bahasa natural yaitu bahasa manusia yang digunakan berkomunikasi dalam kehidupan setiap hari, mis : bhs. Inggris, bhs.indonesia,bhs jawa. Bahasa formal yaitu bahasa yang lebih kaku dengan aturan yang lebih ketat,seperti pemrograman komputer.

Teori Otomata Otomata adalah mesin abstrak yang dapat mengenali (recognize), menerima(accept) atau membangkitkan(generate) sebuah kalimat dalam bahasa tertentu. Otomata adalah mesin sekuensial otomatis yang menerima input dan pengeluarkan output yang keduanya dalam bentuk diskreet.

Finite State Outomata (FSA) Finite State Automata (FSA) adalah model matematika yang dapat menerima input dan mengeluarkan output yang memiliki state yang berhingga banyaknya dan dapat berpindah dari satu state ke state lainnya berdasarkan input dan fungsi transisi. Finite state automata tidak memiliki tempat penyimpanan/memory, hanya bisa mengingat state terkini

Karakteristik Finite Automata Setiap Finite Automata memiliki keadaan dan transisi yang terbatas. Transisi dari satu keadaan ke keadaan lainnya dapat bersifat deterministik atau non-deterministik. Setiap Finite Automata selalu memiliki keadaan awal. Finite Automata dapat memiliki lebih dari satu keadaan akhir. jika setelah pemrosesan seluruh string, keadaan akhir dicapai, artinya otomata menerima string tersebut.

Setiap FSA memiliki: Himpunan berhingga (finite) status (state) Satu buah status sebagai status awal (initial state), biasa dinyatakan q0. Beberapa buah status sebagai status akhir (final state). Himpunan berhingga simbol masukan Fungsi transisi Menentukan status berikutnya dari setiap pasang status dan sebuah simbol masukan.

Cara Kerja Finite State Automata Finite State Automata bekerja dengan cara mesin membaca memori masukan berupa tape yaitu 1 karakter tiap saat (dari kiri ke kanan) menggunakan head baca yang dikendalikan oleh kotak kendali state berhingga dimana pada mesin terdapat sejumlah state berhingga.

Finite Automata selalu dalam kondisi yang disebut state awal (initial state) pada saat Finite Automata mulai membaca tape. Perubahan state terjadi pada mesin ketika sebuah karakter berikutnya dibaca. Ketika head telah sampai pada akhir tape dan kondisi yang ditemui adalah state akhir, maka string yang terdapat pada tape dikatakan diterima Finite Automata (String-string merupakan milik bahasa bila diterima Finite Automata bahasa tersebut).

Contoh FSA sederhana : model switch on/off, apakah state pada off atau on

Model memungkinkan user untuk menekan tombol yang memiliki pengaruh berbeda tergantung pada keadaan switch : Jika switch berada pada state “off” dan setelah tombol ditekan maka state berubah menjadi “on” Jika switch berada pada state “on” dan setelah tombol ditekan maka state berubah menjadi “off”

Contoh sederhana model FSA: Untuk mengenal kata “then”

Push Down Outomata (PDA) Adalah mesin otomata dari bahasa bebas konteks. Bila sebuah FSA, dengan memori yang terbatas. Maka PDA adalah sebuah tumpukan dengan memori yang tidak terbatas. Stack adalah kumpulan dari elemen-elemen sejenis yang pengambilan datanya diambil dari puncak atau TOP of Stack(puncak stumpukan).

Sebuah stack dalam pengisiandatanya dengan cara LIFO(Last In First Out). Pengambilan elemen dari stack dinyatakan dengan operasi POP, sedang memasukkan elemen kedalam stack disebut PUSH.

Mesin Turing (TM) Mesin Turing bukan mesin. Ini adalah model matematika, yang dirumuskan oleh ahli matematika Inggris yang bernama Alan Turing pada tahun 1936. Merupakan model yang sangat sederhana dari sebuah komputer, namun memiliki kemampuan komputasi lengkap komputer tujuan umum. Turing mesin (TM) melayani dua kebutuhan dalam ilmu komputer teoritis:

Ilustrasi Mesin Turing Di sebelah kanan kalimat terdapat tak hingga simbol hampa.  Head  : membaca dan menulisi sel pita TM, bisa bergerak ke kiri atau ke kanan FSC : otak dari TM, diimplementasikan dari algoritma pengenalan kalimat.

Ilustrasi TM sebagai sebuah graf berarah : Sebagaimana graf, TM terdiri dari beberapa node dan beberapa edge. Dari satu node mungkin terdapat satu atau lebih edge yang menuju node lainnya atau dirinya sendiri. Sebuah node menyatakan sebuah stata (state). Dua stata penting adalah stata awal S (start) dan stata penerima H (halt).

Sesaat sebelum proses pengenalan sebuah kalimat, TM berada pada state S. Jika kalimat tersebut dikenali maka, setelah selesai membaca kalimat tersebut,  TM akan berhenti pada state H.

Lanj. Mesin Turing dinyatakan kedalam 7 tupel : M=(Q, ∑ , Γ, δ,S,F,B) dimana : Q=himpunan state ∑(sigma)=simbol input Γ(Gamma)=simbol pada pita Δ(Delta)=fungsi transisi S=state awal F= himpunan state akhir B=simbol kosong(blank)

Contoh : Misal : q={q1,q2} ∑={a,b} Gamma={a,b,B} F={q2} S={q1} Fungsi transisi : Δ(q1,a)=(q1,a,R) Δ(q1,b)=(q1,a,R) Δ(q1,B)=(q2,B,L) (pergerakan mesin turing R=Right/kanan,L=Left/Kiri)

Mesin Turing Membaca fungsi transisi diatas sebagai mberikut : 1. Δ(q1,a)=(q1,a,R) Pada state q1, head menunjukkan karakter “a” pada pita menjadi state q1 dan head bergerak ke kanan 2. Δ(q1,b)=(q1,a,R) Pada state q1, head menunjukkan karakter “b” pada pita menjadi state q1, head menulis karakter a lalu bergerak ke kanan. 3. Δ(q1,B)=(q2,B,L) Pada state q1, head menunjukkan karakter “B” pada pita state menjadi q2, head bergerak ke kiri. perhatikan : delta(q,x)=(q,Y,G), bila x<>y, maka head akan menulis simbol y(menimpa x) sebelum bergerak kekiri atau kanan. Simbol Head dalam mesin turing adalah ↑

Coba kerjakan : Misalkan pita yang akan dibaca “abbaa” Transisi sebagai berikut : Δ(q1,a)=(q1,a,R) Δ(q1,b)=(q1,a,R) Δ(q1,B)=(q2,B,L)

Contoh lain : δ 1 X Y B Konfigurasi mesin turing Q={q0,q1,q2,q3,q4} ∑={0,1} Gamma={01,x,y,B} F={q4} S={q0} Fungsi transisinya disajikan dalam bentuk tabel sbb: δ 1 X Y B Q0 (q1,X,R) (q3,Y,R) Q1 (q1,0,R) (q2,Y,L) (q1,Y,R) Q2 (q2,0,L) (q0,X,R) Q3 (q3,X,R) (q4,B,L) Q4