P5 TB Otomata

14
1 PERTEMUAN V Finite State Machine (FSM) dan Finite State Automata (FSA) Tujuan Instruksional: - Diharapkan dapat memahami konsep Finite State Machine (FSM) Finite State Automata (FSA) sebagai suatu konsep abstrak matematis yang menggambarkan perilaku suatu mesin logik yang menggambarkan cara kerja dari suatu mesin fisik, suatu program, algoritma atau konsepsi pemecahan masalah. - Jika dimiliki bahasa regular pasti dapat dikonstruksi suatu mesin FSA, dan sebaliknya jika dimiliki suatu FSA pasti dapat diturunkan suatu bahasa yang akan dikenali oleh mesin tersebut.

description

P5 TBO

Transcript of P5 TB Otomata

Page 1: P5 TB Otomata

1

PERTEMUAN VFinite State Machine (FSM) dan

Finite State Automata (FSA)

Tujuan Instruksional:- Diharapkan dapat memahami konsep Finite State

Machine (FSM) Finite State Automata (FSA) sebagai suatu konsep abstrak matematis yang menggambarkan perilaku suatu mesin logik yang menggambarkan cara kerja dari suatu mesin fisik, suatu program, algoritma atau konsepsi pemecahan masalah.

- Jika dimiliki bahasa regular pasti dapat dikonstruksi suatu mesin FSA, dan sebaliknya jika dimiliki suatu FSA pasti dapat diturunkan suatu bahasa yang akan dikenali oleh mesin tersebut.

Page 2: P5 TB Otomata

Finite State Machine (FSM)Finite State Machine (FSM) adalah suatu mesin abstrak yang diwakili oleh sekumpulan keadaan, masukan, aturan transisi (perpindahan kedudukan mesin) dan (mungkin) sekumpulan keluaran.Contoh dari mesin seperti ini adalah:-Mesin Jaja (Vending Machine)-Pintu otomatis-Telepon Umum

2

Page 3: P5 TB Otomata

Finite State Machine (FSM)Contoh FSM dengan Output : Mesin Jaja (Vending Machine):Misal dimiliki mesin jaja yang dapat mengeluarkan dua macam keluaran yautu Juss Jeruk dan Juss Apel. Mesin ini memiliki kedudukan sebanyak 7 (misalkan dicatat sebagai: S0,S1,S2,…,S6). Mesin ini dapat menerima masukan uang pecahan yang dapat berupa 5-an, 10-an dan 25-an. Mesin ini juga disediakan dua tombol kuning (K) dan merah (M). Jika mesin dalam kedudukan S6, maka jika ditekan K akan keluar Juss Jeruk dan jika ditekan M akan keluar Juss ApelSebagai fungsi transisi dari mesin Jaja dapat dipahami dalam beberpa contoh, misalnya:

3

Page 4: P5 TB Otomata

Finite State Machine (FSM)Sebagai fungsi transisi dari mesin Jaja dapat dipahami dalam beberpa contoh, misalnya:-Pada saat awal mesin selalu dalam state S0

-Jika pada state S0 menerima masukan 5-an maka akan pindah ke-state S1.-Jika pada state S0 menerima masukan 10-an maka akan pindah ke-state S2.-Jika pada state S0 menerima masukan 25-an maka akan pindah ke-state S5.-Jika pada state S1 menerima masukan 5-an maka akan pindah ke-state S2.-Jika pada state S1 menerima masukan 25-an maka akan pindah ke-state S6. 4

Page 5: P5 TB Otomata

Finite State Machine (FSM)Output mesin Jaja diperoleh jika mesin dalam state-S6, yaitu:-Jika pada state S6 menerima masukan K maka akan pindah ke-state S0 dan menghasilkan OUTPUT JJ=yaitu keluar Juss Jeruk.-Jika pada state S6 menerima masukan M maka akan pindah ke-state S0 dan menghasilkan OUTPUT JA=yaitu keluar Juss Apel.

5

Page 6: P5 TB Otomata

6

Tabel transisi kedudukan mesin

State Next State Outpu

Input5-an 10-an 25-an K M

Input5-an 10-an 25-an K M

S0 S1 S2 S5 S0 S0 n n n n n

S1 S2 S3 S6 S1 S1 n n n n n

S2 S3 S4 S6 S2 S2 n n 5 n n

S3 S4 S5 S6 S3 S3 n n 10 n n

S4 S5 S6 S6 S4 S4 n n 15 n n

S5 S6 S6 S6 S5 S5 n 5 20 n n

S6 S6 S6 S6 S0 S0 5 10 25 JJ JA

Keterangan : n = tidak ada keluaran K = tombol Kuning ditekan M = tombol Merah ditekan JJ/JA = mesin mengeluarkan Juss Jeruk/Juss Apel

Fungsi Transisi Untuk Mesin Jaja

Page 7: P5 TB Otomata

Finite State Machine (FSM)Mesin Jaja tersebut hanya bisa menerima uang receh maksimum 30. Isi mesin adalah 30 ditunjukkan dengan keadaan S6. Pada kondisi S6 ini mesin berharap menerima masukan pencet tombol K atau M, bukan menerima masukan uang lagi. Ini nampak jika dalam state tertentu dimasukkan uang receh sehingga nilai uang dalam mesin jaja di atas 30 maka akan dikeluarkan kembaliannya.Misalnya:-Jika pada state S6 menerima masukan 5-an maka akan TETAP pada state S6 dan menghasilkan OUTPUT (kembalian) 5-an-Jika pada state S2 menerima masukan 25-an maka akan PINDAH menuju state S6 dan menghasilkan OUTPUT (kembalian) 5-an 7

Page 8: P5 TB Otomata

Finite State Automata (FSA)Finite State Machine dapat berupa suatu mesin yang tidak memiliki output, mesin ini dikenal sebagai Finite State Automata (FSA). Pada FSA mesin mula-mula dalam state S0 dan menerima sederetan masukan yang dapat mengubahnya ke state-state berikutnya. Dalam FSA juga dikenal himpunan state tertentu yang disebut FINAL STATE. Perubahan dari satu state ke state berikutnya mengikuti aturan tertentu yang dirumuskan sebagai FUNGSI transisi .Secara formal FSA dapat didefinisikan sebagai TUPLE-5: Kumpulan dari 5 himpunan, atau dinotasikan sebagai:FSA adalah M = {S, , , S0, dan F}

8

Page 9: P5 TB Otomata

Finite State Automata (FSA)FSA adalah M = (S, , , S0, dan F)

Dimana :S = himpunan terhingga dari state-state= himpunan terhingga dari simbol-simbol masukan pada mesin. = fungsi transisi yang mengatur gerakan mesinS0 = state AWAL

F = himpunan state-state FINALPerilaku finite State Automata diekspresikan dalam bentuk tabel transisi atau dalam bentuk diagram transisi.

9

Page 10: P5 TB Otomata

Finite State Automata (FSA)Contoh:Buatlah diagram transisi dari FSA yang didefinisikan sbb:M = (S, , , S0, dan F) dimana:

S = {S0, S1, S2, S3} = {0,1} F = {S0,S3}

Dengan fungsi transisi ada pada tabel transisi sbb:

10

Tabel transisiState

Input 0 1

S0 S0 S1S1 S0 S2S2 S0 S0S3 S2 S1

Page 11: P5 TB Otomata

Finite State Automata (FSA)Jawab: Diagram transisi dari FSA tersebut dapat digambarkan sbb:

0

1 1Start 0 1 Diagram transisi

0 1,0

Cara kerja FSA :- Mula-mula dalam state S0

- Jika dari S0 menerima 1 : akan ke State-S1

- Jika dari S0 menerima 11 : akan ke State-S1 lalu ke S2

- Jika dari S0 menerima 0 : akan tetap di State-S0

- Jika dari S0 menerima 10 : akan tetap kembali lagi State-S0

- Jika dari S0 berturut-turut menerima masukan :111, maka ia akan kembali ke State-S0

S1

S3S0

S2

Page 12: P5 TB Otomata

FSA Sebagai Pengenal StringMesin FSA jika menerima masukan sederetan simbol-simbol yang diijinkan maka akan menuju suatu state tertentu. Jika state akhir yang ditempuh setelah suatu FSA menerima sederetan simbol adalah state FINAL, maka sederetan simbol (string) tersebut dikatakan DIKENAL oleh FSA, atau dengan kata lain FSA mengenali string tersebut.Untuk FSA di atas string-string yang dikenali adalah :0 10 010010 11000…0 atau 0* 010 100* 111Sekumpulan string yang dikenali oleh FSA merupakan suatu BAHASA yang dikenali oleh FSA tersebut.

12

Page 13: P5 TB Otomata

FSA Sebagai Pengenal StringJika dimiliki FSA M maka bahasa yang dikenali oleh FSA dinotasikan sbb:L(M) = {x|x semua string yang mengantar M dari S0 ke (SiF)} untuk mesin FSA diatas:

L(M) = {0*, 0*(10)0*, 0*(110, 111)0*}Contoh tentukan bahasa L(M) yang dikenal oleh Mesin M berikut: 0

Start 0,1 1 1

0

13

S0 S1 S2 S3

Page 14: P5 TB Otomata

FSA Sebagai Pengenal StringJawab:Dari diagram terlihat final-state adalah S3. Pergerakan state yang mengantar ke final-state adalah S0S1S2S3 yakni string:011 atau string 111 yang dapat ditulis sebagai (0,1)11Pergerakan yang lain adalah dari S0 langsung ke S2 yaitu S0S2S3 yang dilakukan melalui string : 01.Setelah berada pada final state masih ada pergerakan yang bersifat rekursif pada S3 yaitu apabila diberikan masukan 0,00,000, … atau : 0*Jika seluruh string digabungkan akan menjadi:(0,1)110*010*, sehingga bahasa yang dikenal adalah:L(M)={(0,1)110*010*} = {((0,1)1101)0*}

14