• Tidak ada hasil yang ditemukan

Lecture 03. State transition diagram & transition table

N/A
N/A
Protected

Academic year: 2021

Membagikan "Lecture 03. State transition diagram & transition table"

Copied!
30
0
0

Teks penuh

(1)

Lecture 03

CS3113 Theory of Computation

CS3113 Theory of Computation

State transition diagram &

transition table

(2)

2 EAR/CS3113

(3)

Finite Automata

• Suatu model komputer dengan jumlah memory yang sangat terbatas (Model komputasional yang paling sederhana)

• Contoh : • Contoh :

– Perangkat lunak untuk merancang dan menguji perilaku rangkaian digital.

– Lexical analyzer dari sebuah kompilator yang membagi teks input ke dalam unit-unit logik, seperti identifier, keyword dan pungtuasi. – Perangkat lunak untuk men-scan teks berukuran besar, seperti

koleksi web page, untuk menemukan adanya kata, frasa atau pola yang lain.

– Perangkat lunak untuk verifikasi sistem yang memiliki sejumlah berhingga state yang berbeda, seperti protokol-protokol komunikasi atau protokol untuk keamanan pertukaran data.

(4)

Contoh 1 Model FA Sederhana

• Model switch on/off mengingat apakah switch berada dalam state “on” atau state “off”.

• Model memungkinkan user untuk menekan tombol yang memiliki pengaruh berbeda tergantung pada keadaan

switch:

– Jika switch berada dalam state “off” maka setelah tombol ditekan

state berubah menjadi “on”.

– Jika switch berada dalam state “on” maka setelah tombol ditekan

state berubah menjadi “off”.

4 EAR/CS3113

(5)

Komponen dalam FA

• State dinyatakan oleh lingkaran, dalam Contoh 1 state diberi nama

“on” dan “off”.

• Arc diantara state diberi label “input “ yang menyatakan pengaruh

eksternal pada sistem.

– Dalam Contoh 1 kedua arc diberi label ‘push” yang menyatakan

user menekan tombol tertentu.

• Start state atau initial state merupakan state dimana sistem berada • Start state atau initial state merupakan state dimana sistem berada

dalam keadaan awal.

– Dalam Contoh 1 start state adalah off.

– Selanjutnya, start state ditunjukan oleh kata start dan panah menuju start state tersebut.

• Final atau accepting state.

– Dalam Contoh 1 state on dinyatakan sebagai final state. – Selanjutnya, final State dinyatakan dalam lingkaran ganda.

(6)

Contoh 2 Model FA Sederhana

• FA untuk mengenali kata “then”

• dapat dinyatakan sebagai bagian dari lexical analyzer.

• Input dinyatakan oleh huruf.

• Start state merupakan string kosong

• Setiap state memiliki transisi pada huruf selanjutnya dari kata then

ke state yang menyatakan prefix selanjutnya yang lebih besar.

• State “then” adalah accepting state.

6 EAR/CS3113

(7)

Sehingga….

• Finite Automata (FA):

– Merupakan mesin otomata dari

bahasa regular

.

– Memiliki

state

yang jumlahnya

berhingga

dan

dapat

berpindah

dari satu state ke state yang

dapat

berpindah

dari satu state ke state yang

lainnya.

– Perubahan state dinyatakan oleh

fungsi transisi

.

– Tidak

memiliki tempat penyimpanan, sehingga

(8)

State Transition Diagram [1]

sekumpulan node berlabel terbatas, yang dihubungkan dengan garis

( busur)

State diagram akan menerima input string dan menghasilkan output

berupa accept/reject

Contoh di bawah ini adalah state transition diagram untukContoh di bawah ini adalah state transition diagram untuk

mengenali variable (kita akan menyebutnya M1).

8 EAR/CS3113

(9)

• Contoh string input : X256, 789, 7uyt (variabel manakah yang akan diterima)?

(10)

State Transition Diagram [4]

Contoh String input X256

Pertama kali, state akan masuk ke q0 secara otomatis. Kemudian membaca alphabet “X” dan state berubah ke q2

membaca alphabet “2”, “5”, dan “6” berturut-turut state tetap di q2

10 EAR/CS3113

(11)

Program Terjemahan STD

State := q0

Baca simbol berikut dari string input While not End-Of-String do

Case State of

q0 : if CurrentSymbol adalah letter then State := q2 q0 : if CurrentSymbol adalah letter then State := q2

else if CurrentSymbol adalah digit then State := q1 else exit to error rutine

q1 : exit to error rutine

q2 : if CurrentSymbol adalah letter then State := q2

else if CurrentSymbol adalah digit then State := q2 else exit to error rutine

Baca simbol berikutnya dari string input; End While

(12)

Example

: String in a Language

0 0,1

String 101 is in the language of the DFA below. Start at A. 12 Start 1 0 A B C 1 0 0,1

(13)

Example

: String in a Language

0 0,1

Follow arc labeled 1.

String 101 is in the language of the DFA below.

Start 1 0 A B C 1 0 0,1

(14)

Example

: String in a Language

0 0,1

Then arc labeled 0 from current state B.

String 101 is in the language of the DFA below.

14 Start 1 0 A B C 1 0 0,1

(15)

Example

: String in a Language

0 0,1

Finally arc labeled 1 from current state A. Result is an accepting state, so 101 is in the language. String 101 is in the language of the DFA below.

Start 1 0 A B C 1 0 0,1

(16)

Latihan : [1]

• Buat diagram transisi untuk mengenali penulisan

bilangan Real (mesin float).

Masukkan string berikut ke dalam mesin float tersebut:

– 123459 (integer  tidak valid)

– 1234567,987 (real)

– 1234567,987 (real)

– 1234E (tidak valid)

– 1234E+ (tidak valid)

– 123,4E5 (valid) – 1234E56 (real) – 1234E+56 (real) – 1234E-56 (real) 16 EAR/CS3113

(17)
(18)

Tabel Transisi [2]

Gambar di atas adalah tabel transisi dari M1.

18 EAR/CS3113

(19)

State := q0; Repeat

Baca simbol berikut dari aliran input; Case simbol of

letter : Input := “letter”; digit : Input := “digit”;

End-of-string : Input := “EOS”;

jika-tak-satupun-ada-diatas : Exit to Error rutine; State := Table[State, Input]

if State = “error” then Exit to Error rutine Until State = “Accept”

(20)

Mengubah STD

ke Tabel Transisi

1. Definisikan state dan alfabet yang mungkin

2. Tambahkan kolom EOS

3. Isi nilai di kolom EOS dengan “accept” untuk baris dimana accepted state berada

dimana accepted state berada

4. Isi dengan “error” untuk selainnya (di kolom EOS)

5. Untuk tiap-tiap baris, isikan nilai state berikutnya yang bersesuaian dengan alfabet.

6. Isikan “error” untuk sel yang belum terisi.

20 EAR/CS3113

(21)

Latihan : [2]

a. Ubah diagram transisi dari Mesin Float

menjadi tabel transisi.

b. Buat juga program terjemahan tabel

transisinya (Lexical Analizer)

(22)

Jawab : [2-a]

22 EAR/CS3113

(23)

Jawab : [2-b]

State := q1 Repeat

Baca simbol berikut dari aliran input Case Symbol of

0..9 : Input := “digit”

“,”, “E”, “+”, “-” : Input := Symbol End-of-string : Input := “EOS”

else else

Exit to Error rutine end Case

State := Table[State, Input]

if State = “error” then Exit to Error rutine Until State = “Accept

(24)

Diskusi

Buatkan State Transition Diagram, dan Tabel

Transisi untuk kasus deteksi :

a. Bilangan ganjil pada string biner

b. Bilangan genap pada string biner

b. Bilangan genap pada string biner

c. Kemunculan substring 111 pada string biner

d. Kemunculan substring 0101 pada string biner

e. Bagian leksik yang mengenali kemunculan

string “:=“, sekaligus Angka, sekaligus variabel.

24 EAR/CS3113

(25)

Jawab : [1] Mesin Ganjil

• Mesin terdiri dari dua status : q0 dan q1. • karakter masukan: 0, 1

• Lihat bahwa accepted state selalu menerima karakter 1. • Contoh String yang dikenali mesin 100001, 1111111,

0000001, dan sebagainya

Contoh String yang dikenali mesin 100001, 1111111, 0000001, dan sebagainya

(26)

Jawab : [2] Mesin Genap

• Contoh string yang diterima mesin ini adalah

0, 00, 10, 1111110, 000000010, dan

sebagainya

26 EAR/CS3113

(27)

Jawab : [3] Mesin 111

• Contoh string yang diterima mesin ini adalah

111, 1111110, 000001110, dan sebagainya

(28)

Jawab : [4] Mesin 0101

• Contoh string yang diterima mesin ini adalah

0101, 000101, 000001010, 1111110101111

dan sebagainya

28 EAR/CS3113

(29)

Jawab : [5] Mesin Variabel, Angka, dan

Assignment

(30)

Daftar Pustaka

1. Brookshear, Glen. J. “Theory of Computation : Formal

Language, Automata and Complexity”, The

Benjamin/Cummings Publishing Company, 1989

2. Hopcroft, Jhon E. and Jeffery D. Ullman, “Introduction

to Automata Theory, Language, and Computation” to Automata Theory, Language, and Computation”

30 EAR/CS3113

Gambar

Tabel Transisi [2]

Referensi

Dokumen terkait

Pada pengujian pertama, yang dilakukan adalah menekan tombol Start untuk sebagai tanda awal mulanya proses, setelah itu pembawa material berada disensor Limit Switch 1 (S1) keadaan

Automata merupakan suatu sistem yang terdiri atas sejumlah berhingga state, dimana state menyatakan informasi mengenai input yang lalu, dan dapat juga dianggap

Finite state machine merupakan metodologi perancangan sistem kontrol yang menggambarkan prinsip kerja sistem dengan menggunakan tiga hal yaitu: keadaan, kejadian

Kemampuan untuk menjelaskan pengertian tentang state space, menentukan nisbah alih hubungannya dengan persamaan ruang keadaan dan Mengembangkan analisis sistem pengaturan

Konsep dasar analisis markov adalah state dari sistem atau state transisi, sifat dari proses ini adalah apabila diketahui proses berada dalam suatu keadaan

Pada pengujian pertama, yang dilakukan adalah menekan tombol Start untuk sebagai tanda awal mulanya proses, setelah itu pembawa material berada disensor Limit Switch 1 (LT1) keadaan

Flowchart Sistem Gambar 4 merupakan flowchart yang digunakan pada game ini dimana pemain saat start game akan masuk ke dalam menu dan diberikan 3 pilihan yaitu start game, about, dan

Kondisi Awal Initial Condition Kondisi awal merupakan suatu keadaan dari sistem akuifer yang mempunyai parameter - parameter dengan nilai tertentu pada suatu waktu tertentu, serta