pertemuan 2-pengenalan tbo [compatibility mo. bahasa dan operasi yang ada teori bahasaotomata 2 ......

38
Pengantar TBO 1 Sri Handayaningsih, S.T., M.T. Email : [email protected] Teknik Informatika Pertemuan Ke-2

Upload: vothien

Post on 15-Apr-2018

239 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: pertemuan 2-Pengenalan TBO [Compatibility Mo. Bahasa dan Operasi yang ada TEORI BAHASAOTOMATA 2 ... Compilers pada bahasa pemrograman (Kekuatan komputasi medium) ... Linz Peter,Introduction

Pengantar TBO

1

Sri Handayaningsih, S.T., M.T.Email : [email protected]

Teknik Informatika

Pertemuan Ke-2

Page 2: pertemuan 2-Pengenalan TBO [Compatibility Mo. Bahasa dan Operasi yang ada TEORI BAHASAOTOMATA 2 ... Compilers pada bahasa pemrograman (Kekuatan komputasi medium) ... Linz Peter,Introduction

TIU dan TIK

Mengenal konsep bahasa dan otomataserta berbagai penerapannya, antara lain:

a. Simbol, alfabetb. String dan operasi yang adac. Bahasa dan Operasi yang ada

TEORI BAHASA OTOMATA2

c. Bahasa dan Operasi yang adad. star closure dan positif closuree. Bentuk Otomataf. Contoh Aplikasi

Page 3: pertemuan 2-Pengenalan TBO [Compatibility Mo. Bahasa dan Operasi yang ada TEORI BAHASAOTOMATA 2 ... Compilers pada bahasa pemrograman (Kekuatan komputasi medium) ... Linz Peter,Introduction

Computasi

CPU memory

TEORI BAHASA OTOMATA3

CPU memory

Page 4: pertemuan 2-Pengenalan TBO [Compatibility Mo. Bahasa dan Operasi yang ada TEORI BAHASAOTOMATA 2 ... Compilers pada bahasa pemrograman (Kekuatan komputasi medium) ... Linz Peter,Introduction

CPU

input memory

temporary memory

TEORI BAHASA OTOMATA4

CPU

output memory

Program memory

Page 5: pertemuan 2-Pengenalan TBO [Compatibility Mo. Bahasa dan Operasi yang ada TEORI BAHASAOTOMATA 2 ... Compilers pada bahasa pemrograman (Kekuatan komputasi medium) ... Linz Peter,Introduction

CPU

input memory

temporary memory

3)( xxf Contoh:

TEORI BAHASA OTOMATA5

CPU

output memoryProgram memory

Compute 1 xx

Compute 2 xx 2

Page 6: pertemuan 2-Pengenalan TBO [Compatibility Mo. Bahasa dan Operasi yang ada TEORI BAHASAOTOMATA 2 ... Compilers pada bahasa pemrograman (Kekuatan komputasi medium) ... Linz Peter,Introduction

CPU

input memorytemporary memory

3)( xxf

2x

TEORI BAHASA OTOMATA6

CPU

output memoryProgram memory

compute xx

compute xx 2

Page 7: pertemuan 2-Pengenalan TBO [Compatibility Mo. Bahasa dan Operasi yang ada TEORI BAHASAOTOMATA 2 ... Compilers pada bahasa pemrograman (Kekuatan komputasi medium) ... Linz Peter,Introduction

CPU

input memory

temporary memory 3)( xxf

2x

42*2 z82*)( zxf

TEORI BAHASA OTOMATA7

CPU

output memoryProgram memory

compute xx

compute xx 2

Page 8: pertemuan 2-Pengenalan TBO [Compatibility Mo. Bahasa dan Operasi yang ada TEORI BAHASAOTOMATA 2 ... Compilers pada bahasa pemrograman (Kekuatan komputasi medium) ... Linz Peter,Introduction

CPU

input memory

temporary memory 3)( xxf

2x

42*2 z82*)( zxf

TEORI BAHASA OTOMATA8

CPU

output memoryProgram memory

compute xx

compute xx 2

8)( xf

Page 9: pertemuan 2-Pengenalan TBO [Compatibility Mo. Bahasa dan Operasi yang ada TEORI BAHASAOTOMATA 2 ... Compilers pada bahasa pemrograman (Kekuatan komputasi medium) ... Linz Peter,Introduction

Automaton

CPU

input memory

temporary memory

Automaton

TEORI BAHASA OTOMATA9

CPU

output memory

Program memory

Page 10: pertemuan 2-Pengenalan TBO [Compatibility Mo. Bahasa dan Operasi yang ada TEORI BAHASAOTOMATA 2 ... Compilers pada bahasa pemrograman (Kekuatan komputasi medium) ... Linz Peter,Introduction

Perbedaan dari beberapa OtomataPerbedaan berdasarkan temporary memory

• Finite Automata: Tidak mempunyai

• Pushdown Automata: Bentuknya Stack

TEORI BAHASA OTOMATA10

• Turing Machines: Pengaccessan memory

secara random

Page 11: pertemuan 2-Pengenalan TBO [Compatibility Mo. Bahasa dan Operasi yang ada TEORI BAHASAOTOMATA 2 ... Compilers pada bahasa pemrograman (Kekuatan komputasi medium) ... Linz Peter,Introduction

input memory

temporary memory

Finite

Finite Automaton (FA)

TEORI BAHASA OTOMATA11

output memory

Finite

Automaton

Contoh: Mesin Pencari Kata

(Kekuatan komputasi kecil)

Page 12: pertemuan 2-Pengenalan TBO [Compatibility Mo. Bahasa dan Operasi yang ada TEORI BAHASAOTOMATA 2 ... Compilers pada bahasa pemrograman (Kekuatan komputasi medium) ... Linz Peter,Introduction

input memory

Stack

Pushdown

Pushdown Automaton (PDA)

Push, Pop

TEORI BAHASA OTOMATA12

input memory

output memory

Pushdown

Automaton

Contoh : Compilers pada bahasa pemrograman

(Kekuatan komputasi medium)

Page 13: pertemuan 2-Pengenalan TBO [Compatibility Mo. Bahasa dan Operasi yang ada TEORI BAHASAOTOMATA 2 ... Compilers pada bahasa pemrograman (Kekuatan komputasi medium) ... Linz Peter,Introduction

input memory

Random Access Memory

Turing

Mesin Turing

TEORI BAHASA OTOMATA13

input memory

output memory

Turing

Machine

Contoh : Banyak Algoritma

(Kekuatan komputasi Tinggi)

Page 14: pertemuan 2-Pengenalan TBO [Compatibility Mo. Bahasa dan Operasi yang ada TEORI BAHASAOTOMATA 2 ... Compilers pada bahasa pemrograman (Kekuatan komputasi medium) ... Linz Peter,Introduction

Finite

AutomataPushdown

AutomataMesin

Turing

Power of AutomataDalam Menyelesaikan Permasalahan

TEORI BAHASA OTOMATA14

Turing

Kekuatan rendah Kekuatan tinggi

Page 15: pertemuan 2-Pengenalan TBO [Compatibility Mo. Bahasa dan Operasi yang ada TEORI BAHASAOTOMATA 2 ... Compilers pada bahasa pemrograman (Kekuatan komputasi medium) ... Linz Peter,Introduction

Bahasa

TEORI BAHASAOTOMATA

15

Page 16: pertemuan 2-Pengenalan TBO [Compatibility Mo. Bahasa dan Operasi yang ada TEORI BAHASAOTOMATA 2 ... Compilers pada bahasa pemrograman (Kekuatan komputasi medium) ... Linz Peter,Introduction

• Bahasa adalah kumpulan dari string

• String : Kumpulan dari huruf

TEORI BAHASA OTOMATA16

– contoh: “cat”, “dog”, “house”, …

– terdefinisi pada alphabet: zcba ,,,,

Page 17: pertemuan 2-Pengenalan TBO [Compatibility Mo. Bahasa dan Operasi yang ada TEORI BAHASAOTOMATA 2 ... Compilers pada bahasa pemrograman (Kekuatan komputasi medium) ... Linz Peter,Introduction

Alphabets and Strings• Alphabet menggunakan huruf kecil:

• String ba,

a

TEORI BAHASA OTOMATA17

abbawbbbaaavabu

baaabbbaabababaabbaaba

Page 18: pertemuan 2-Pengenalan TBO [Compatibility Mo. Bahasa dan Operasi yang ada TEORI BAHASAOTOMATA 2 ... Compilers pada bahasa pemrograman (Kekuatan komputasi medium) ... Linz Peter,Introduction

Operasi String

m

n

bbbv

aaaw

21

21

bbbaaaabba

TEORI BAHASA OTOMATA18

mn bbbaaawv 2121

Concatenation (Penyambungan)

abbabbbaaa

Page 19: pertemuan 2-Pengenalan TBO [Compatibility Mo. Bahasa dan Operasi yang ada TEORI BAHASAOTOMATA 2 ... Compilers pada bahasa pemrograman (Kekuatan komputasi medium) ... Linz Peter,Introduction

naaaw 21 ababaaabbb

TEORI BAHASA OTOMATA19

12aaaw nR

Reverse (Pembalikan)

bbbaaababa

Page 20: pertemuan 2-Pengenalan TBO [Compatibility Mo. Bahasa dan Operasi yang ada TEORI BAHASAOTOMATA 2 ... Compilers pada bahasa pemrograman (Kekuatan komputasi medium) ... Linz Peter,Introduction

Panjang String

• Panjang :

naaaw 21

nw

TEORI BAHASA OTOMATA20

• Contoh :

1

2

4

a

aa

abba

Page 21: pertemuan 2-Pengenalan TBO [Compatibility Mo. Bahasa dan Operasi yang ada TEORI BAHASAOTOMATA 2 ... Compilers pada bahasa pemrograman (Kekuatan komputasi medium) ... Linz Peter,Introduction

Panjang Concatenation

• Contoh :

vuuv

3, uaabu

TEORI BAHASA OTOMATA21

853

8

5,

vuuv

aababaabuv

vabaabv

Page 22: pertemuan 2-Pengenalan TBO [Compatibility Mo. Bahasa dan Operasi yang ada TEORI BAHASAOTOMATA 2 ... Compilers pada bahasa pemrograman (Kekuatan komputasi medium) ... Linz Peter,Introduction

String Kosong• string tanpa huruf:

• Observasi:

0

TEORI BAHASA OTOMATA22

• Observasi:

abbaabbaabba

www

0

Page 23: pertemuan 2-Pengenalan TBO [Compatibility Mo. Bahasa dan Operasi yang ada TEORI BAHASAOTOMATA 2 ... Compilers pada bahasa pemrograman (Kekuatan komputasi medium) ... Linz Peter,Introduction

Substring• Substring dari string:

subsequen dari karakter yg berurutan

String Substring

TEORI BAHASA OTOMATA23

String Substring

bbabbabbaab

abbababbababbababbab

Page 24: pertemuan 2-Pengenalan TBO [Compatibility Mo. Bahasa dan Operasi yang ada TEORI BAHASAOTOMATA 2 ... Compilers pada bahasa pemrograman (Kekuatan komputasi medium) ... Linz Peter,Introduction

Prefix and Suffix

Prefixes Suffixes

abbab

a

bbababbab

uvw

prefix

TEORI BAHASA OTOMATA24

abbababbaabbaba

babbabbbab prefix

suffix

Page 25: pertemuan 2-Pengenalan TBO [Compatibility Mo. Bahasa dan Operasi yang ada TEORI BAHASAOTOMATA 2 ... Compilers pada bahasa pemrograman (Kekuatan komputasi medium) ... Linz Peter,Introduction

Operasi Lain

• Contoh: abbaabbaabba 2

TEORI BAHASA OTOMATA25

• Definisi:– 0w

0abba

Page 26: pertemuan 2-Pengenalan TBO [Compatibility Mo. Bahasa dan Operasi yang ada TEORI BAHASAOTOMATA 2 ... Compilers pada bahasa pemrograman (Kekuatan komputasi medium) ... Linz Peter,Introduction

Operasi *• : Himpunan seluruh string yg mungkin

dari alphabet*

,ba

TEORI BAHASA OTOMATA26

,,,,,,,,,*,

aabaaabbbaabaababa

Page 27: pertemuan 2-Pengenalan TBO [Compatibility Mo. Bahasa dan Operasi yang ada TEORI BAHASAOTOMATA 2 ... Compilers pada bahasa pemrograman (Kekuatan komputasi medium) ... Linz Peter,Introduction

Operasi +: Himpunan seluruh string yg mungking

dari alphabet kecuali

,,,,,,,,,*,

aabaaabbbaabaababa

TEORI BAHASA OTOMATA27

,,,,,,,,,* aabaaabbbaabaaba

*

,,,,,,,, aabaaabbbaabaaba

Page 28: pertemuan 2-Pengenalan TBO [Compatibility Mo. Bahasa dan Operasi yang ada TEORI BAHASAOTOMATA 2 ... Compilers pada bahasa pemrograman (Kekuatan komputasi medium) ... Linz Peter,Introduction

Bahasa

• Bahasa adalah subset dari

• Contoh:

*

,ba

TEORI BAHASA OTOMATA28

• Bahasa:

,,,,,,,,* aaabbbaabaaba

},,,,,{,,

aaaaaaabaababaabbaaabaaa

Page 29: pertemuan 2-Pengenalan TBO [Compatibility Mo. Bahasa dan Operasi yang ada TEORI BAHASAOTOMATA 2 ... Compilers pada bahasa pemrograman (Kekuatan komputasi medium) ... Linz Peter,Introduction

Catatan:

}{}{

0}{

Himpunan

Ukuran Himpunan

TEORI BAHASA OTOMATA29

0}{

1}{

0

Ukuran Himpunan

Ukuran Himpunan

Panjang String

Page 30: pertemuan 2-Pengenalan TBO [Compatibility Mo. Bahasa dan Operasi yang ada TEORI BAHASAOTOMATA 2 ... Compilers pada bahasa pemrograman (Kekuatan komputasi medium) ... Linz Peter,Introduction

Contoh lain

• Bahasa Tidak Terbatas }0:{ nbaL nn

TEORI BAHASA OTOMATA30

aaaaabbbbbaabbab

L Labb

Page 31: pertemuan 2-Pengenalan TBO [Compatibility Mo. Bahasa dan Operasi yang ada TEORI BAHASAOTOMATA 2 ... Compilers pada bahasa pemrograman (Kekuatan komputasi medium) ... Linz Peter,Introduction

Operasi dalam Bahasa• Menggunakan operasi himpunan aaaaaabbbaaaaaba

ababbbaaaaabaaaaabbabaabbbaaaaaba

,,,,}{,,,

},,,{,,,

TEORI BAHASA OTOMATA31

• Complement:

aaaaaabbbaaaaaba ,,,,

LL * ,,,,,,, aaabbabaabbaa

Page 32: pertemuan 2-Pengenalan TBO [Compatibility Mo. Bahasa dan Operasi yang ada TEORI BAHASAOTOMATA 2 ... Compilers pada bahasa pemrograman (Kekuatan komputasi medium) ... Linz Peter,Introduction

Reverse

• Definisi:

• Contoh:

}:{ LwwL RR

ababbaabababaaabab R ,,,,

TEORI BAHASA OTOMATA32

• Contoh: ababbaabababaaabab ,,,,

}0:{

}0:{

nabL

nbaL

nnR

nn

Page 33: pertemuan 2-Pengenalan TBO [Compatibility Mo. Bahasa dan Operasi yang ada TEORI BAHASAOTOMATA 2 ... Compilers pada bahasa pemrograman (Kekuatan komputasi medium) ... Linz Peter,Introduction

Concatenation

• definisi: 2121 ,: LyLxxyLL

TEORI BAHASA OTOMATA33

• contoh:

baaabababaaabbaaaab

aabbaaba

,,,,,

,,,

Page 34: pertemuan 2-Pengenalan TBO [Compatibility Mo. Bahasa dan Operasi yang ada TEORI BAHASAOTOMATA 2 ... Compilers pada bahasa pemrograman (Kekuatan komputasi medium) ... Linz Peter,Introduction

Operasi Lain• Definisi:

n

n LLLL

bbbbbababbaaabbabaaabaaa

babababa,,,,,,,

,,,, 3

TEORI BAHASA OTOMATA34

• Special kasus:

bbbbbababbaaabbabaaabaaa ,,,,,,,

0

0

,, aaabbaa

L

Page 35: pertemuan 2-Pengenalan TBO [Compatibility Mo. Bahasa dan Operasi yang ada TEORI BAHASAOTOMATA 2 ... Compilers pada bahasa pemrograman (Kekuatan komputasi medium) ... Linz Peter,Introduction

Contoh

}0:{ nbaL nn

}0,:{2 mnbabaL mmnn

TEORI BAHASA OTOMATA35

}0,:{2 mnbabaL mmnn

2Laabbaaabbb

Page 36: pertemuan 2-Pengenalan TBO [Compatibility Mo. Bahasa dan Operasi yang ada TEORI BAHASAOTOMATA 2 ... Compilers pada bahasa pemrograman (Kekuatan komputasi medium) ... Linz Peter,Introduction

Star-Closure (Kleene *)

• Definisi: 210* LLLL

TEORI BAHASA OTOMATA36

• Contoh:

,,,,,,,,

,,,

*,

abbbbabbaaabbaaabbbbbbaabbaa

bbabba

Page 37: pertemuan 2-Pengenalan TBO [Compatibility Mo. Bahasa dan Operasi yang ada TEORI BAHASAOTOMATA 2 ... Compilers pada bahasa pemrograman (Kekuatan komputasi medium) ... Linz Peter,Introduction

Positive Closure

• Definition:

*

21

LLLL

TEORI BAHASA OTOMATA37

,,,,,,,,

,,,

abbbbabbaaabbaaabbbbbbaabbaa

bbabba

Page 38: pertemuan 2-Pengenalan TBO [Compatibility Mo. Bahasa dan Operasi yang ada TEORI BAHASAOTOMATA 2 ... Compilers pada bahasa pemrograman (Kekuatan komputasi medium) ... Linz Peter,Introduction

Pustaka1. Tedy Setiadi, Diktat Teori Bahasa dan Otomata,

Teknik Informatika UAD, 20052. Hopcroft John E., Rajeev Motwani, Jeffrey D. Ullman,

Introduction to Automata Theory, Languages, andComputation, 2rd, Addison-Wesley,2000

3. Martin C. John, Introduction to Languages and Theory ofComputation, McGraw-Hill Internatioanal edition,1991

TEORI BAHASA OTOMATA38

3. Martin C. John, Introduction to Languages and Theory ofComputation, McGraw-Hill Internatioanal edition,1991

4. Linz Peter,Introduction to Formal Languages & Automata,DC Heath and Company, 1990

5. Dulimarta Hans, Sudiana, Catatan Kuliah MatematikaInformatika, Magister Teknik Informatika ITB, 1998

6. Hinrich Schütze, IMS, Uni Stuttgart, WS 2006/07,Slides based on RPI CSCI 2400