teori bahasa dan otomata

73
TEORI BAHASA DAN OTOMATA Jim Michael Widi, S.Kom

Upload: nell-moran

Post on 02-Jan-2016

133 views

Category:

Documents


9 download

DESCRIPTION

TEORI BAHASA DAN OTOMATA. Jim Michael Widi , S.Kom. Teori Bahasa Dan Otomata. Teori bahasa membicarakan bahasa formal ( formal language ), terutama untuk kepentingan perancangan kompilator ( compiler ) dan pemroses naskah ( text processor ). - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATAJim Michael Widi, S.Kom

Page 2: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

TEORI BAHASA DAN OTOMATA• Teori bahasa membicarakan bahasa formal (formal language), terutama untuk

kepentingan perancangan kompilator (compiler) dan pemroses naskah (text processor).

• Bahasa formal adalah kumpulan kalimat. Semua kalimat dalam sebuah bahasa dibangkitkan oleh sebuah tata bahasa (grammar) yang sama.

• Sebuah bahasa formal bisa dibangkitkan oleh dua atau lebih tata bahasa berbeda.

• Dikatakan bahasa formal karena grammar diciptakan mendahului pembangkitan setiap kalimatnya.

• Bahasa Natural/manusia bersifat sebaliknya; grammar diciptakan untuk meresmikan kata-kata yang hidup di masyarakat. Dalam pembicaraan selanjutnya ‘bahasa formal’ akan disebut ‘bahasa’ saja.

• Otomata adalah mesin abstrak yang dapat mengenali (recognize), menerima (accept), atau membangkitkan (generate) sebuah kalimat dalam bahasa tertentu.

Page 3: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

DEFINISITeori Otomata adalah teori mengenai mesin-mesin abstrak, dan berkaitan erat dengan teori bahasa formal. ada beberapa hal yang berkaitan dengan Otomata, yaitu Grammar. Grammar adalah bentuk abstrak yang dapat diterima (accept) untuk membangkitkan suatu kalimat otomata berdasarkan suatu aturan tertentu.

Page 4: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

TEORI AUTOMATA MELIPUTI / MENCAKUP

• Teori Bahasa Formal• Regular Expression• Finite Automata• Non Deterministic Finite Automata• Finite Automata dengan Output• Context-free Grammar• Pushdown Automata

Page 5: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

PENDAHULUAN

Apa itu Komputer• Alat untuk mengetik ? • Komputer sangat kompleks - menerapkan teori

matematika secara langsung (computational model) Model dasar perhitungan Rekayasa merancang sistem komputer H/W + S/W

Page 6: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

PENGERTIAN PROGRAM SEBAGAI OBYEK MATEMATIKA• Diberlakukannya alasan (reason), logika (logic)

dan aturan (rule) untuk kombinasi• Apakah program mengoperasikan bilangan,

teks atau apapun

Page 7: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

HARDWARE/SOFTWARE• Kekompleksan hardware dan software

ditangani oleh processor untuk mengkonversi program kedalam bentuk execute (eksekusi)

• Execute file dapat dibentuk melalui :CompileAssemblyDan sebagainya (interpreter)

Page 8: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

BEBERAPA PENGERTIAN DASAR• Simbol adalah sebuah entitas abstrak (seperti halnya pengertian titik

dalam geometri). Sebuah huruf atau sebuah angka adalah contoh simbol.• String adalah deretan terbatas (finite) simbol-simbol. Sebagai contoh, jika

a, b, dan c adalah tiga buah simbol maka abcb adalah sebuah string yang dibangun dari ketiga simbol tersebut.

• Jika w adalah sebuah string maka panjang string dinyatakan sebagai w dan didefinisikan sebagai cacahan (banyaknya) simbol yang menyusun string tersebut. Sebagai contoh, jika w = abcb maka w= 4.

• String hampa adalah sebuah string dengan nol buah simbol. String hampa dinyatakan dengan simbol (atau ^) sehingga = 0. String hampa dapat dipandang sebagai simbol hampa karena keduanya tersusun dari nol buah simbol.

• Alfabet adalah himpunan hingga (finite set) simbol-simbol

Page 9: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

OPERASI DASAR STRING (1)• Prefik string w adalah string yang dihasilkan dari string w dengan

menghilangkan nol atau lebih simbol-simbol paling belakang dari string w tersebut.Contoh : abc, ab, a, dan adalah semua Prefix(x)

• ProperPrefix string w adalah string yang dihasilkan dari string w dengan menghilangkan satu atau lebih simbol-simbol paling belakang dari string w tersebut.Contoh : ab, a, dan adalah semua ProperPrefix(x)

• Postfix (atau Sufix) string w adalah string yang dihasilkan dari string w dengan menghilangkan nol atau lebih simbol-simbol paling depan dari string w tersebut.Contoh : abc, bc, c, dan adalah semua Postfix(x)

Page 10: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

OPERASI DASAR STRING (2)• ProperPostfix (atau PoperSufix) string w adalah string yang

dihasilkan dari string w dengan menghilangkan satu atau lebih simbol-simbol paling depan dari string w tersebut.Contoh : bc, c, dan adalah semua ProperPostfix(x)

• Head string w adalah simbol paling depan dari string w.Contoh : a adalah Head(x)

• Tail string w adalah string yang dihasilkan dari string w dengan menghilangkan simbol paling depan dari string w tersebut.Contoh : bc adalah Tail(x)

Page 11: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

OPERASI DASAR STRING (3)• Substring string w adalah string yang dihasilkan dari string w dengan

menghilangkan nol atau lebih simbol-simbol paling depan dan/atau simbol-simbol paling belakang dari string w tersebut.Contoh : abc, ab, bc, a, b, c, dan adalah semua Substring(x)

• ProperSubstring string w adalah string yang dihasilkan dari string w dengan menghilangkan satu atau lebih simbol-simbol paling depan dan/atau simbol-simbol paling belakang dari string w tersebut.Contoh : ab, bc, a, b, c, dan adalah semua Substring(x)

• Subsequence string w adalah string yang dihasilkan dari string w dengan menghilangkan nol atau lebih simbol-simbol dari string w tersebut.Contoh : abc, ab, bc, ac, a, b, c, dan adalah semua Subsequence(x)

Page 12: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

OPERASI DASAR STRING (4)• Proper Subsequence string w adalah string yang dihasilkan dari

string w dengan menghilangkan satu atau lebih simbol-simbol dari string w tersebut.Contoh : ab, bc, ac, a, b, c, dan adalah semua Subsequence(x)

• Concatenation adalah penyambungan dua buah string. Operator concatenation adalah concate atau tanpa lambang apapun.Contoh : concate(xy) = xy = abc123

• Alternation adalah pilihan satu di antara dua buah string. Operator alternation adalah alternate atau .Contoh : alternate(xy) = xy = abc atau 123

• Kleene Closure : x* = xxxxxx… = xx x …• Positive Closure : x = xxxxxx… = xx x …

Page 13: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

BEBERAPA SIFAT OPERASI (1)• Tidak selalu berlaku :

x = Prefix(x)Postfix(x)• Selalu berlaku : x = Head(x)Tail(x)• Tidak selalu berlaku :

Prefix(x) = Postfix(x) atau Prefix(x) Postfix(x)• Selalu berlaku : ProperPrefix(x) ProperPostfix(x)• Selalu berlaku : Head(x) Tail(x)• Setiap Prefix(x), ProperPrefix(x), Postfix(x), ProperPostfix(x),

Head(x), dan Tail(x) adalah Substring(x), tetapi tidak sebaliknya• Setiap Substring(x) adalah Subsequence(x), tetapi tidak

sebaliknya

Page 14: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

BEBERAPA SIFAT OPERASI (2)• Dua sifat aljabar concatenation :– Operasi concatenation bersifat asosiatif : x(yz) = (xy)z– Elemen identitas operasi concatenation adalah : x

= x = x• Tiga sifat aljabar alternation :– Operasi alternation bersifat komutatif : xy = yx– Operasi alternation bersifat asosiatif : x(yz) =

(xy)z– Elemen identitas operasi alternation adalah dirinya

sendiri : xx = x

Page 15: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

BEBERAPA SIFAT OPERASI (3)• Sifat distributif concatenation terhadap

alternation : x (yz) = xyxz• Beberapa kesamaan :– Kesamaan ke-1 : (x*)* = x*– Kesamaan ke-2 : x = x = x*– Kesamaan ke-3 : (xy)* = xyxxyyxyyx… =

semua string yang merupakan concatenation dari nol atau lebih x, y, atau keduanya.

Page 16: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

KONSEP DASAR (1)• Anggota alfabet dinamakan simbol terminal.• Kalimat adalah deretan hingga simbol-simbol terminal.• Bahasa adalah himpunan kalimat-kalimat. Anggota bahasa bisa tak hingga

kalimat.• Simbol-simbol berikut adalah simbol terminal : huruf kecil, misalnya : a, b, c simbol operator, misalnya : +, /, dan * simbol tanda baca, misalnya : (, ), dan ; simbol tanda baca, misalnya : (, ), dan ; string yang tercetak tebal, misalnya : if, then, dan else. • Simbol-simbol berikut adalah simbol non terminal /Variabel : huruf besar, misalnya : A, B, C huruf S sebagai simbol awal string yang tercetak miring, misalnya : expr

Page 17: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

KONSEP DASAR (2)• Huruf yunani melambangkan string yang tersusun atas simbol-

simbol terminal atau simbol-simbol non terminal atau campuran keduanya, misalnya : α,β, dan ε

• Sebuah produksi dilambangkan sebagai α --> β, artinya : dalam sebuah derivasi dapat dilakukan penggantian simbol α dengan simbol β.

• Derivasi adalah proses pembentukan sebuah kalimat atau sentensial. Sebuah derivasi dilambangkan sebagai : α ==> β.

• Sentensial adalah string yang tersusun atas simbol-simbol terminal atau simbol-simbol non terminal atau campuran keduanya.

• Kalimat adalah string yang tersusun atas simbol-simbol terminal. Kalimat adalah merupakan sentensial, sebaliknya belum tentu.

Page 18: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

GRAMMAR• Grammar G didefinisikan sebagai pasangan 4 tuple : Vt , Vn , S, dan P, dan dituliskan

sebagai G(Vt , Vn , S, P), dimana : Vt : himpunan simbol-simbol terminal (alfabet) = kamus Vn : himpunan simbol-simbol non terminal S C V : simbol awal (atau simbol start) P : himpunan produksi

• Contoh :1. G1 : Vt = {I, want, need, You}, Vn = {S,A,B,C}, P = {S --> ABC, A--> I, B--> want | need, C-->

You}S --> ABC IwantYou L(G1)={IwantYou,IneedYou}

2. G2 : VT = {a}, V = {S}, P = {S --> aS | a}S --> aS

--> aaS --> aaa L(G2) ={an --> n ≥ 1}

L(G2)={a, aa, aaa, aaaa, …}

Page 19: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

TEORI AUTOMATA MELIPUTI/MENCAKUP

• Teori Bahasa Formal• Regular Expression• Finite Automata• Non Deterministic Finite Automata• Finite Automata dengan Output• Context-free Grammar• Pushdown Automata• Mesin Turing

Page 20: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

TEORI BAHASA FORMALTHEORY OF FORMAL LANGUAGE• Bahasa berbentuk dari kombinasi simbol-simbol

dengan aturan formalnya• Language : A set Of string• String : A Finite list of symbols from an alphabet• Alphabet : A Finite set of objects called symbol– 1 =S { a, b, c, d, e ….z ..} 2 =S { 0, 1 }

• Symbol : A member of alphabet• Set : Group of objects

Page 21: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

TEORI BAHASA FORMAL• Pembentukan struktur sebuah bahasa diawali dengan

memakai sebuah finite set (himpunan terbatas), dimana unit fundamentalnya disebut alphabet ()

• String-string yang boleh ada di dalam sebuah bahasa disebut word

• Contoh language adalah Bahasa Indonesia. Alphabet yang biasa dipakai adalah huruf, koma dan titik. Semuanya dispesifikasi seperti di bawah ini:

= {a b c d e ... z , . }

Page 22: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

• Bila language ini dinamakan KATA-INDONESIA, dimana semua string adalah word/kata di dalam kamus, maka definisinya adalah:

• Contoh sederhana suatu language dengan alphabet yang ada hanya sebuah huruf, yaitu huruf x

• Simbol alphabet tidak harus alphabet huruf latin, namun dapat berisi apa saja

KATA-INDONESIA = {semua kata di dalam kamus}

= { x } L = { x xx xxx xxxx ... }

Page 23: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

• Sebuah string dimungkinkan tidak punya alphabet. String ini disebut empty string atau null string dan dilambangkan . Perlu diingat bukan alphabet dalam language. Contoh:

• Bahasa tanpa word dilambangkan dengan null set • Tolong dibedakan antara language tanpa word

dengan word yang mempunyai

L = { x xx xxx xxxx ... }

L = { x xx xxx }L L + { }L = L +

Page 24: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

• Contoh sebuah bahasa dengan non empty string

Atau dengan cara lain

• Dalam language L1, dapat dilakukan operasi penggabungan (concatenation) dari word yang ada menjadi word baru. Contoh word xx dengan word xxx digabung menjadi word baru xxxxx

L1 = { x xx xxx xxxx ... }

L1 = { xn for n = 1 2 3 ... }

Page 25: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

• Tidak selalu benar bila dua word digabungkan akan membentuk sebuah word baru. Contoh:

• xxx dan xxxxx adalah word pada language L2, namun pengabungannya bukanlah word di dalam L2

• Didefinisikan suatu fungsi length untuk menghitung jumlah huruf di dalam sebuah word

• length(xxxxxx) = 6 length(7152) = 4• length() = 0

L2 = { x xxx xxxxx xxxxxxx ... } = { x ganjil}

= { x 2n+1 for n = 0 1 2 3 }

Page 26: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

• Bila diinginkan sebuah language mempunyai null string, maka jangan lupa untuk memasukannya saat mendefinisikan language tersebut

• Harap dipahami bahwa x0 = dan bukannya x0 = 1 seperti di aljabar

• Didefinisikan fungsi reverse. Reverse dari suatu string adalah string yang sama tetapi tersusun dari belakang, walaupun string ini bukanlah word dalam bahasa tersebutreverse(xxx) = xxx reverse(xxxxx) = xxxxxreverse(145) = 541 reverse(140) = 041

L4 = { x xx xxx xxxx ... }= { xn for n = 0 1 2 3 }

Page 27: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

• Palindrome adalah kata, frase, nomor atau urutan lainnya dari unit yang dapat dibaca dengan cara yang sama di kedua arah.

• Didefinisikan suatu language yang disebut PALINDROME dari alphabet

= { a, b}PALINDROME = { , dan semua string x sedemikian

sehingga reverse(x) = x }maka akan diperoleh:PALINDROME = { a b aa bb aaa aba bab bbb aaaa

abba ... }

Page 28: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

• Diketahui alphabet , diinginkan untuk mendefinisikan sebuah language dimana tiap string dari huruf yang ada di dalam adalah sebuah word, termasuk null string.

• Language ini disebut sebagai closure • Dapat dinotasikan dengan menambah sebuah asterisk sesudah

nama dari alphabet * (Kleene Star).• Dalam logika matematika dan ilmu komputer, bintang Kleene

(atau operator Kleene atau penutupan Kleene) merupakan operasi unary, baik di set pada set string atau simbol-simbol atau karakter. Penerapan bintang Kleene untuk satu set V ditulis sebagai V*. Hal ini banyak digunakan untuk ekspresi reguler, yang merupakan konteks yang diperkenalkan oleh Stephen Kleene menjadi ciri automata tertentu.

Page 29: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

• Contoh:Jika = { x } maka* = L4 = { x xx xxx ... }

Jika = { 0 1 } maka* = { 0 1 00 01 10 11 000 001 ... }

Jika = { a b c } maka* = { a b c aa ab ac ba bb bc ca cb cc aaa ... }

• Operasi Kleene Star menghasilkan infinite language dari string huruf yang ada pada alphabet.

• Yang dimaksud infinite language adalah tak terhitung banyaknya word.

• Disarankan word dari language tersusun urut dari yang pendek secara alphabetik .

Page 30: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

• Contoh:Jika S = { aa, b} maka

S* = { dan word bentukan yang berasal dari aa dan b }S* = { dan semua string bentukan dari a dan b dengan a yang selalu

berderet dalam jumlah yang genap)= { b aa bb aab baa bbb aaaa aabb baab bbaa bbbb aaaab aabaa aabbb baaaa baabb bbaab bbbaa ... }

String aabaaab tidak termasuk S* karena jumlah a tidak genap • Contoh:

Jika S = { a, ab } makaS* = { dan word bentukan yang berasal dari a dan ab }S* = { dan semua string bentukan dari a dan b kecuali yang dimulai dengan b dan yang mengandung dua b berdempetan } = { a aa ab aaa aab aba aaaa aaab aaba abaa abab aaaaa aaaab aaaba aabaa aabab abaaa abaab ... }

Page 31: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

REGULAR EXPRESSION • Sebuah cara mendefinisikan language yang lebih

tepat dibandingkan dengan menggunakan cara ellipsis ( diakhiri dengan ... )

• Language ini disebut regular language • Perhatikan: L4 = { x xx xxx xxxx ... }

• Dengan memanfaatkan closure, bila S = { x } maka L4 = S*

• Dapat juga ditulis sebagai L4 = {x}*

Page 32: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

• Kleene Star tidak hanya dapat diaplikasikan untuk set namun juga langsung ke alphabet. Contoh: x*

• Ekpresi sederhana x* akan dipakai untuk mengekspresikan pengulangan dari x (bisa juga tidak sama sekali)

x* = atau x atau x2 atau x3 atau x4 ... = xn for n = 0 1 2 3 4 ...

• Jadi x* adalah string dari x yang banyaknya tidak dinyatakan secara pasti.

Page 33: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

• Sebuah language L yang didefinisikan dari alphabet S = {a, b}seperti di bawah ini:L = { a ab abb abbb abbbb ... }

• Dapat juga didefinisikan dengan kalimat: L = semua word yang dimulai dengan a dan diikuti oleh

sejumlah b (dan mungkin tanpa b sama sekali) • Dengan memakai notasi *, dapat dituliskan L = language (ab*) • Kleene Star dapat diimplementasikan pada string ab seperti di

bawah ini:(ab)* = atau ab atau abab atau ababab . . . (ab)* (ab*)

Page 34: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

Contoh Kleene Star lainnya:• L1 = language (xx*)

• Language L1 di atas berisi sebuah x lalu diikuti dengan sejumlah x (dimana mungkin saja tanpa x sama sekali)

• L1 dapat dituliskan dengan notasi lain, yaitu notasi + • x+ berarti sejumlah x dalam jumlah yang selalu positif

(tidak bisa 0, atau tidak bisa )• Notasi * lebih lazim dipergunakan daripada notasi + • L1 dapat juga didefinisikan dengan salah satu contoh di

bawah ini:xx* x+ xx*x* x*xx* x+x* x*x+ x*x*x*xx*

• Ingat bahwa x* bisa saja berarti

Page 35: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

Contoh:• Language yang didefinisikan dengan ekspresi

ab*a

• Adalah sebuah himpunan dari string a dan string b yang paling sedikit berisi dua huruf yang diawali dengan a dan diakhiri dengan a dan hanya akan berisi b diantaranya (atau tidak sama sekali)

language(ab*a) = { aa aba abba abbba abbbba ... }

Contoh:• Ekspresi-ekspresi di bawah ini mendefinisikan language L2

dengan hasil yang samaL2 = { xganjil } = x(xx)* = (xx)*x

• Namun ekspresi x*xx* tidak, karena termasuk (xx) x (x)

Page 36: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

• Contoh:Language dengan ekspresi seperti di bawah inia*b*

• Berisi semua string dari a dan b sedemikian sehingga semua a (bila ada) akan berada di depan semua b (bila ada)language(a*b*) = { a b aa ab bb aaa aab abb bbb aaaa ... }

• Perhatikan bahwa ba dan aba tidak termasuk dalam language ini, juga bahwa jumlah a dan b tidak perlu sama

• Ada pemanfaatan lain dari tanda tambah +. Ekpresi x + y berarti salah satu dari x atau y (memilih). Berhati-hatilah untuk membedakan antara + dengan +

Page 37: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

Contoh:• Perhatikan bahasa T yang berasal dari alphabet = { a b c }

T = { a c ab cb abb cbb abbb cbbb abbbb cbbbb … }

• Semua word di dalam T dimulai dengan a atau c dan diikuti dengan sejumlah b. Secara simbolik language T dapat ditulis dengan cara:

T = language ((a + c)b*) = language (a atau c diikuti sejumlah b)

• Tanda + berarti harus dilakukan pilihan untuk memakai ekspresi yang sebelah kiri atau kanan

Page 38: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

Contoh• Language yang didefinisikan dengan expressi

ab*a• Adalah sebuah himpunan dari string a dan

string b yang paling sedikit berisi dua huruf yang diawali dengan a dan diakhiri dengan a dan hanya akan berisi b diantaraanya (atau tidak sama sekali)

language(ab*a) = { aa aba abba abbba abbbba . . .}

Page 39: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

Contoh• Language dengan ekspresi seperti di bawah ini

a*b*

• Berisi semua string dari a dan b sedemikian sehingga semua a (bila ada) akan berada di depan semua b (bila ada)language(a*b*) = { a b aa ab bb aaa aab abb bbb aaaa ...}

• Perhatikan bahwa ba dan aba tidak termasuk dalam language ini, juga bahwa jumlah a dan b tidak perlu sama

Page 40: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

Contoh • Ekspresi-ekspresi di bawah ini mendefinisikan language L2 dengan hasil yang sama

L2 = { xganjil}

= x(xx)*

= (xx)*x• Namun ekspresi x*xx* tidak, karena termasuk (xx) x (x).

Ada pemanfaatan lain dari tanda tambah +. Ekpresi x + y berarti salah satu dari x atau y (memilih). Berhati-hatilah untuk membedakan antara + dengan +.Contoh

• Perhatikan bahasa T yang berasal dari alphabet = { a b c }• T = { a c ab cb abb cbb abbb cbbb abbbb cbbbb }• Semua word di dalam T dimulai dengan a atau c dan diikuti dengan sejumlah

b. Secara simbolik language T dapat ditulis dengan caraT = language ((a + c)b*) = language (a atau c diikuti sejumlah b)

tanda + berarti harus dilakukan pilihan untuk memakai ekspresi yang sebelah kiri atau kanan.

Page 41: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

Contoh• Sebuah language L akan berisi semua string dari a dan

b dengan panjang selalu tiga.• L = { aaa aab aba abb baa bab bba bbb }• Huruf pertama dari tiap word di dalam L adalah a atau

b. Huruf kedua dari tiap word di dalam L adalah a atau b. Huruf ketiga tiap word di dalam L adalah a atau b. Jadi L dapat didefinisikan:

L = language ((a + b)(a + b)(a + b)) Atau dengan lebih singkat L = language ((a + b)3)

Page 42: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

LATIHANPerhatikan beberapa definisi di bawah ini yang berasal dari alphabet = { a b }

1. (a + b)7

2. (a + b)*

3. a(a + b)*

4. (a + b)*a(a + b)*

5. (a + b)*a(a + b)*a(a + b)*

6. b*ab*a(a + b)*

7. (a + b)*ab*ab*

8. b*a(a + b)*ab*

9. b*ab*ab*

10. (a + b)*a(a + b)*b(a + b)*

11. (a + b)*a(a + b)*b(a + b)* + (a + b)*b(a + b)*a(a + b)*

12. bb*aa*

13. (a + b)*a(a + b)*b(a + b)* + bb*aa*

Page 43: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

OTOMATA HINGGASebuah Otomata hingga adalah kumpulan dari tiga hal: • Kumpulan terbatas (finite set) dari state (kondisi/ keadaan).

Satu diantaranya menjadi initial state (kondisi awal) atau start state, dan beberapa (bisa berarti tidak ada) dari antaranya dinyatakan sebagai final state. • Himpunan alphabet berisi beberapa huruf, dimana string-

string bentukan dari alphabet akan dibaca huruf demi huruf.• Kumpulan terbatas dari transition yang menjelaskan untuk

tiap state dan tiap huruf yang dibaca ke state mana perjalanan dilanjutkan.

Page 44: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

OTOMATA HINGGA• Otomata hingga adalah suatu model yang dapat diterapkan pada

beragam jenis perangkat keras (hardware) dan perangkat lunak (software).

• Penerapan-penerapan dari otomata hingga adalah: Perangkat lunak yang digunakan untuk merancang dan memantau perilaku

rangkaian digital. Lexical Analyzer, yaitu komponen kompiler yang bertugas memecah teks-teks

input menjadi logical unit seperti identifiers, keyword dan punctuation. Perangkat lunak untuk memindai dokumen teks yang jumlah halamannya luar

biasa banyak guna menemukan kesamaan kata, frase dan bentuk-bentuk lain Perangkat lunak yang digunakan untuk memeriksa sistem-sistem dengan

stata/state berbeda yang berhingga jumlahnya, misalnya protokol komunikasi atau protokol yang digunakan untuk pertukaran informasi secara aman.

Page 45: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

CONTOH OTOMATA HINGGA

Off OnStart

Push

Push

Startt th the then

t h e n

Page 46: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

CONTOH• Alphabet yang digunakan hanya 2 huruf, a dan b• Ada 3 buah state, yaitu x, y dan z• Aturan transition yang dipakai adalah:

1. Dari state x dan input a menuju state y2. Dari state x dan input b menuju state z3. Dari state y dan input a menuju state x4. Dari state y dan input b menuju state z5. Dari state z dan input apa saja tetap di state zDitentukan juga x sebagai start state dan z sebagai final state

Page 47: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

• Perhatikan apa yang akan terjadi bila string aaa diumpankan ke otomata hingga tersebut

• Penelusuran akan dimulai dari start state:Huruf pertama adalah a, sesuai aturan-1 akan menuju state yHuruf kedua adalah a, sesuai aturan-3 akan menuju state xHuruf ketiga adalah a, sesuai aturan-1 akan menuju state y

• String sudah diumpankan semua, tapi tidak mencapai final state

• Jadi, string aaa bukanlah termasuk di dalam bahasa yang didefinisikan oleh otomata hingga.

X Y Z+Start a

b

a

b

a, b

Page 48: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

• Contoh lain, bila string abba diumpankan ke FA tersebut .

• Hasilnya, perjalanan mencapai pada state z (final state) .

• Jadi, string abba termasuk word dalam bahasa yang didefinisikan oleh otomata tersebut tersebut

Page 49: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

• Tidak sulit menerka word apa saja yang diterima oleh FA tersebut, yaitu stringnya harus berisi minimal sebuah b agar mencapai state z.

• Dari transition rule di atas, dapat dibuatkan sebuah transition table seperti di bawah ini:

• Otomata Hingga dapat dianggap sebagai suatu mesin. Ada suatu pergerakkan, perpindahan dari sebuah state ke state lain, karena adanya sebuah input

a b

Start x y z

y x z

Final Z z z

Page 50: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

• Otomata Hingga dapat juga digambarkan dalam bentuk grafis yang disebut bentuk transition diagram.

• Tanda - untuk start state dan + untuk final state .• Bentuk lain, start state memakai panah dan final

state memakai lingkaran ganda.

X Y

Z

a b

a

b

a

b

X- Y

a b

a

b

a

b

Z+

Page 51: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

• 2 busur atau lebih yang berasal dari state yang sama dan menuju ke state yang sama pula dapat disatukan seperti gambar di atas.

• Sekilas terkesan bahwa FA di atas dapat menerima string dalam bentuk apapun.

• Namun, bila inputnya adalah null string ( ), maka tidak akan terjadi perpindahan state.

• Jadi language yang diterima oleh mesin di atas adalah:( a + b ) ( a + b )* = ( a + b )+

- +

a

b

a

b

- + a, b

a, b

Page 52: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

• Ada kemungkinan sebuah Otomata Hingga tidak akan menerima language apapun

- +

a, b

a, b a, b

Page 53: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

• Perhatikan Otomata Hingga ini

• Apa yang terjadi bila diberi input string ababa dan babbb (bagaimana pergerakkannya)?

2

1- 4+

3

a

a

a

b

b b

a, b

Transisi bila diberi input string ababaδ(1,a) = (2)δ(2,b) = (3)δ(3,a) = (2)δ(2,b) = (3)δ(3,a) = (2)

Transisi bila diberi input string babbbδ(1,b) = (3)δ(3,a) = (2)δ(2,b) = (3)δ(3,b) = (4)δ(4,b) = (4)

Page 54: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

NON-DETERMINISTIC FINITE AUTOMATA

• Pada Non-Deterministic Finite Automata (NFA), dari suatu state bisa terdapat 0, 1 atau lebih busur keluar (transisi) berlabel simbol input yang sama.

• Pada setiap pasangan state-input, dapat memiliki 0 (nol) atau lebih pilihan untuk state berikutnya.

X Y

a, b a

a

a bStart x {x,y} {y}Final y {y} Ø

Transition Table

Page 55: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

• Contoh berikut diperlihatkan sebuah NFA yang merupakan gabungan dari 2 buah FA, yaitu dengan cara menumpuk start state.

• Dua FA berikut ini (FA1 dan FA2) masing-masing menerima language yang didefinisikan oleh regular expression r1 dan r2.

+

a

a

a

a

b

bb

b

a, b

b

a

a

b

a

b

a, b

Page 56: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

• NFA yang akan dibuat untuk bisa mendefinisikan kedua language yang diterima oleh masing-masing FA terlihat seperti berikut ini:

+ -

+

a, b

a

a

a

a

a

aa

b

b

b

b

ba, b

Page 57: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

DETERMINISTIC FINITE AUTOMATA• Pada Deterministic Finite Automata, dari satu state ada tepat satu state

berikutnya untuk setiap simbol masukan yang diterima• Apapun state saat itu (current state) atau masukan/input nya, selalu

terdapat satu dan hanya satu state berikutnya

a

b b

a

a

b

x y

z

a bStart X Y Z Y X ZFinal Z Z Z

Page 58: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

KONVERSI DARI NFA KE DFA• Mulai dari state awal NFA, kemudian mengikuti transisinya

untuk membentuk state-state baru, untuk setiap state yang terbentuk diikuti lagi transisinya sampai tercover semua• Jika state baru yang terbentuk sama cukup ditulis sekali

saja• Jika state baru yang terbentuk adalah state Ø, maka state

Ø tersebut harus tetap digambarkan sebagai sebuah state• Semua state pada DFA yang mengandung final state NFA

akan menjadi final state

Page 59: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

CONTOH

x y

a, b

a

a a bStart x {x,y} {y}Final y {y} Ø

• ({x},a) = ({x,y})• ({x},b) = ({y})• ({x,y},a) = ({x,y})• ({x,y},b) = ({y})• ({y},a) = ({y})• ({y},b) = ({Ø})• ({Ø},a) = ({Ø})• ({Ø},b) = ({Ø})

x x,y

a

b

a

y

ba, b

b

Ø

Page 60: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

CONTOH

b

p q

a, b

a

b

s

a, b

b

r

a

a bStart p {q,s} {q}Final q {r} {q,r} r {s} {p}Final s Ø {p}

• ({p},a) = ({q,s})• ({p},b) = ({q})• ({q,s},a) = ({r})• ({q,s},b) = ({p,q,r})• ({q},a) = ({r})• ({q},b) = ({q,r})• ({r},a) = ({s})• ({r},b) = ({p})• ({p,q,r},a) = ({q,r,s})• ({p,q,r},b) = ({p,q,r})• ({q,r},a) = ({r,s})• ({q,r},b) = ({p,q,r})• ({s},a) = ({Ø})• ({s},b) = ({p})• ({q,r,s},a) = ({r,s})• ({q,r,s},b) = ({p,q,r})• ({r,s},a) = ({s})• ({r,s},b) = ({p})• ({Ø },a) = ({Ø})• ({Ø },b) = ({Ø})

Page 61: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

CONTOH

b

p q,s

b

r

a

q

b

a

a

b

p,q,r

a

q,r

s

b

q,r,s

a

br,s

a

b

a

b

a

b

a,b

Ø

a

• ({p},a) = ({q,s})• ({p},b) = ({q})• ({q,s},a) = ({r})• ({q,s},b) = ({p,q,r})• ({q},a) = ({r})• ({q},b) = ({q,r})• ({r},a) = ({s})• ({r},b) = ({p})• ({p,q,r},a) = ({q,r,s})• ({p,q,r},b) = ({p,q,r})• ({q,r},a) = ({r,s})• ({q,r},b) = ({p,q,r})• ({s},a) = ({Ø})• ({s},b) = ({p})• ({q,r,s},a) = ({r,s})• ({q,r,s},b) = ({p,q,r})• ({r,s},a) = ({s})• ({r,s},b) = ({p})• ({Ø },a) = ({Ø})• ({Ø },b) = ({Ø})

Page 62: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

0 1Start P {P,Q} {P} Q {R} {R} R {S} ØFinal S {S} {S}

• ({P},0} = ({P,Q})• ({P},1) = ({P})• ({P,Q},0) = ({P,Q,R})• ({P,Q},1) = ({P,R})• ({P,Q,R},0) = ({P,Q,R,S})• ({P,Q,R},1) = ({P,R})• ({P,R},0) = ({P,Q,S})• ({P,R},1) = ({P})• ({P,Q,R,S},0) = ({P,Q,R,S})• ({P,Q,R,S},1) = ({P,R,S})• ({P,Q,S},0) = ({P,Q,R,S})• ({P,Q,S},1) = ({P,R,S})• ({P,R,S),0) = ({P,Q,S})• ({P,R,S),1) = ({P,S})• ({P,S},0) = ({P,Q,S})• ({P,S},1) = ({P,S})

Page 63: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

CONTOHP P,Q0 P,Q,R0

P,R

1

0

P,Q,R,SP,Q,S

0

P,R,S

0

10

P,S 1

0

1

1

• ({P},0} = ({P,Q})• ({P},1) = ({P})• ({P,Q},0) = ({P,Q,R})• ({P,Q},1) = ({P,R})• ({P,Q,R},0) = ({P,Q,R,S})• ({P,Q,R},1) = ({P,R})• ({P,R},0) = ({P,Q,S})• ({P,R},1) = ({P})• ({P,Q,R,S},0) = ({P,Q,R,S})• ({P,Q,R,S},1) = ({P,R,S})• ({P,Q,S},0) = ({P,Q,R,S})• ({P,Q,S},1) = ({P,R,S})• ({P,R,S),0) = ({P,Q,S})• ({P,R,S),1) = ({P,S})• ({P,S},0) = ({P,Q,S})• ({P,S},1) = ({P,S})

Page 64: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

CONTOH

A

B

C E0, 1 F0

G

D0

1

0

1 0, 1

Page 65: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

FINITE AUTOMATA DENGAN OUTPUT (MESIN MOORE)• Sebuah finite set dari state q0, q1, q2, q3, . . . Dimana q0 adalahstart

state

• Alphabet berisi huruf-huruf yang akan membentuk input string. = {a, b, c, . . . }

• Alphabet dari karakter yang akan menjadi output

T = {x, y, z, . . . }

• Tabel transisi yang memperlihatkan untuk tiap state dan tiap huruf input, state apa yang akan dicapai

• Tabel Keluaran yang memperlihatkan karakter apa dari T yang akan dihasilkan untuk tiap state yang tercapai

Page 66: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

• Mesin Moore tidak mendefinisikan language dari word yang diterima, karena tiap input yang diumpankan akan menghasilkan suatu keluaran.

• Tidak mempunyai Final State.

• Proses akan berhenti jika huruf input yang terakhir telah selesai dibaca.

• Tampilan Mesin Moore mirip dengan sebuah FA

• Perbedaannya terletak pada state. Sebuah state akan mempunyai nama dan karakter apa yang dihasilkan dengan pemisahnya garis miring ( / ).

Page 67: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

• Alphabet input = {a, b}• Karakter output T = {0, 1}• Nama state q0, q1, q2, q3

Transition Table Output Table

State AwalState Baru Karakter yang

diberikanSesudah Input a Sesudah Input b

q0 q1 q3 1

q1 q3 q1 0

q2 q0 q3 0

q3 q3 q2 1

Page 68: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

• Bentuk grafis dari Mesin Moore tersebut adalah:

q0/1 q1/0

q2/0 q3/1

a

a

a b

a

b

b

b

• Contoh lain:

q0/0 q1/0 q2/0 q3/1

a

a

a

a

b

b

b

Page 69: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

FINITE AUTOMATA DENGAN OUTPUT (MESIN MEALY)• Sebuah finite set dari state q0, q1, q2, q3, . . . Dimana q0 adalah

start state

• Alphabet berisi huruf-huruf yang akan membentuk input string. = {a, b, c, . . . }

• Alphabet dari karakter yang akan menjadi output T = {x, y, z, . . . }

• Tabel transisi yang memperlihatkan untuk tiap state dan tiap huruf input, state apa yang akan dicapai

• Tiap edge/busur diberi label dalam bentuk i/o, dimana I adalah huruf yang akan dibaca dan o adalah karakter yang dicetak.

Page 70: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

• Jumlah karakter yang dihasilkan akan sama banyak dengan jumlah huruf dari input.

• Mesin ini tidak mendefinisikan language yang diterima, sehingga tidak memiliki final state

• Perbedaan dengan mesin Moore, mesin Mealy tidak menghasilkan apapun pada saat awal.

Page 71: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

• Contoh Mesin Mealy• Apa yang dihasilkan Mesin Mealy ini bila diberi

inputan aaabb?

a/0

q1

q2 q0

q3

b/1

b/1

a/0 b/0

b/1

a/1

a/1

Page 72: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

• Bila terdapat 2 edge/busur yang menuju ke sebuah state, maka kedua edge/busur itu dapat digabungkan.

q4 q7

b/x

a/x

q4 q7 a/x, b/x

Page 73: TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA (3 SKS)

JIM MICHAEL WIDI, S.KOMUNIVERSITAS BUDI LUHUR - FTI

• Contoh lain, mesin Mealy di bawah ini dapat memperlihatkan adanya huruf ganda yang terdapat pada string ababbaab, yaitu dengan menghasilkan 00001010.

start

a/0

a/0b/0

a/1

b/0

b/1