760 likes | 1.19k Views
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 ).
E N D
TEORI BAHASA DAN OTOMATA Jim Michael Widi, S.Kom
TeoriBahasa Dan Otomata • Teoribahasamembicarakanbahasa formal (formal language), terutamauntukkepentinganperancangankompilator (compiler) danpemrosesnaskah (text processor). • Bahasa formal adalahkumpulankalimat. Semuakalimatdalamsebuahbahasadibangkitkanolehsebuahtatabahasa (grammar) yang sama. • Sebuahbahasa formal bisadibangkitkanolehduaataulebihtatabahasaberbeda. • Dikatakanbahasa formal karena grammar diciptakanmendahuluipembangkitansetiapkalimatnya. • Bahasa Natural/manusiabersifatsebaliknya; grammar diciptakanuntukmeresmikan kata-kata yang hidup di masyarakat. Dalampembicaraanselanjutnya ‘bahasa formal’ akandisebut ‘bahasa’ saja. • Otomataadalahmesinabstrak yang dapatmengenali (recognize), menerima (accept), ataumembangkitkan (generate) sebuahkalimatdalambahasatertentu.
Definisi TeoriOtomataadalahteorimengenaimesin-mesinabstrak, danberkaitaneratdenganteoribahasa formal. adabeberapahal yang berkaitandenganOtomata, yaitu Grammar. Grammar adalahbentukabstrak yang dapatditerima (accept) untukmembangkitkansuatukalimatotomataberdasarkansuatuaturantertentu.
TeoriAutomata Meliputi/ mencakup TeoriBahasa Formal Regular Expression Finite Automata Non Deterministic Finite Automata Finite Automata dengan Output Context-free Grammar Pushdown Automata
Pendahuluan ApaituKomputer • Alatuntukmengetik ? • Komputersangatkompleks - menerapkanteorimatematikasecaralangsung (computational model) • Model dasarperhitungan • Rekayasamerancangsistemkomputer H/W + S/W
Pengertian Program SebagaiObyekMatematika Diberlakukannyaalasan (reason), logika(logic) danaturan (rule) untukkombinasi Apakah program mengoperasikanbilangan, teksatauapapun
Hardware/Software • Kekompleksan hardware dan software ditanganioleh processor untukmengkonversi program kedalambentuk execute (eksekusi) • Execute file dapatdibentukmelalui : • Compile • Assembly • Dan sebagainya (interpreter)
BeberapaPengertianDasar • Simboladalahsebuahentitasabstrak (sepertihalnyapengertiantitikdalamgeometri). Sebuahhurufatausebuahangkaadalahcontohsimbol. • String adalahderetanterbatas (finite) simbol-simbol. Sebagaicontoh, jikaa, b, danc adalahtigabuahsimbolmakaabcbadalahsebuah string yang dibangundariketigasimboltersebut. • Jikaw adalahsebuah string makapanjang string dinyatakansebagaiwdandidefinisikansebagaicacahan (banyaknya) simbol yang menyusun string tersebut. Sebagaicontoh, jikaw = abcbmakaw= 4. • String hampaadalahsebuah string dengannolbuahsimbol. String hampadinyatakandengansimbol (atau ^) sehingga= 0. String hampadapatdipandangsebagaisimbolhampakarenakeduanyatersusundarinolbuahsimbol. • Alfabetadalahhimpunanhingga (finite set) simbol-simbol
OperasiDasar String (1) • Prefik string wadalah string yang dihasilkandari string wdenganmenghilangkannolataulebihsimbol-simbol paling belakangdari string wtersebut. Contoh: abc, ab, a, dan adalahsemuaPrefix(x) • ProperPrefixstringw adalahstring yang dihasilkandaristringwdenganmenghilangkansatuataulebih simbol-simbol palingbelakangdaristringwtersebut. Contoh : ab, a, dan adalahsemuaProperPrefix(x) • Postfix (atauSufix) stringwadalahstring yang dihasilkandaristringwdenganmenghilangkannolataulebih simbol-simbol palingdepandaristringwtersebut. Contoh : abc, bc, c, dan adalahsemuaPostfix(x)
OperasiDasar String (2) • ProperPostfix (atauPoperSufix) stringwadalahstring yang dihasilkandaristringwdenganmenghilangkansatuataulebih simbol-simbol palingdepandaristringwtersebut. Contoh : bc, c, dan adalahsemuaProperPostfix(x) • Head string w adalahsimbol paling depandari string w. Contoh : aadalah Head(x) • Tail string w adalah string yang dihasilkandari string wdenganmenghilangkansimbol paling depandari string w tersebut. Contoh : bcadalah Tail(x)
OperasiDasar String (3) • Substring string wadalah string yang dihasilkandari string wdenganmenghilangkannolataulebihsimbol-simbol paling depandan/atausimbol-simbol paling belakangdari string wtersebut. Contoh : abc, ab, bc, a, b, c, danadalahsemua Substring(x) • ProperSubstring string wadalah string yang dihasilkandari string wdenganmenghilangkansatuataulebihsimbol-simbol paling depandan/atausimbol-simbol paling belakangdari string wtersebut. Contoh : ab, bc, a, b, c, danadalahsemua Substring(x) • Subsequence string wadalah string yang dihasilkandari string wdenganmenghilangkannolataulebihsimbol-simboldari string wtersebut. Contoh : abc,ab, bc, ac, a, b, c, danadalahsemua Subsequence(x)
OperasiDasar String (4) • Proper Subsequence string wadalah string yang dihasilkandari string wdenganmenghilangkansatuataulebihsimbol-simboldari string wtersebut. Contoh : ab, bc, ac, a, b, c, danadalahsemua Subsequence(x) • Concatenation adalahpenyambunganduabuah string. Operator concatenation adalahconcateatautanpalambangapapun. Contoh : concate(xy) = xy= abc123 • Alternation adalahpilihansatu di antaraduabuah string. Operator alternation adalahalternate atau. Contoh : alternate(xy) = xy = abcatau 123 • Kleene Closure : x* = xxxxxx… = xxx… • Positive Closure : x = xxxxxx… = xxx…
BeberapaSifatOperasi (1) • Tidakselaluberlaku : x= Prefix(x)Postfix(x) • Selaluberlaku : x = Head(x)Tail(x) • Tidakselaluberlaku : Prefix(x) = Postfix(x) atau Prefix(x) Postfix(x) • Selaluberlaku : ProperPrefix(x) ProperPostfix(x) • Selaluberlaku : Head(x) Tail(x) • Setiap Prefix(x), ProperPrefix(x), Postfix(x), ProperPostfix(x), Head(x), dan Tail(x) adalah Substring(x), tetapitidaksebaliknya • Setiap Substring(x) adalah Subsequence(x), tetapitidaksebaliknya
BeberapaSifatOperasi (2) • Duasifataljabar concatenation : • Operasi concatenation bersifatasosiatif : x(yz) = (xy)z • Elemenidentitasoperasi concatenation adalah : x = x = x • Tigasifataljabar alternation : • Operasi alternation bersifatkomutatif : xy = yx • Operasialternationbersifatasosiatif : x(yz) = (xy)z • Elemenidentitasoperasi alternation adalahdirinyasendiri : xx = x
BeberapaSifatOperasi (3) • Sifatdistributif concatenation terhadap alternation : x (yz) = xyxz • Beberapakesamaan : • 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.
KonsepDasar (1) • Anggotaalfabetdinamakansimbol terminal. • Kalimatadalahderetanhinggasimbol-simbol terminal. • Bahasaadalahhimpunankalimat-kalimat. Anggotabahasabisatakhinggakalimat. • Simbol-simbolberikutadalahsimbol terminal : • hurufkecil, misalnya : a, b, c • simbol operator, misalnya : +, /, dan * • simboltandabaca, misalnya : (, ), dan ; • simboltandabaca, misalnya : (, ), dan ; • string yang tercetaktebal, misalnya : if, then, danelse. • Simbol-simbolberikutadalahsimbol non terminal /Variabel : • hurufbesar, misalnya : A, B, C • huruf S sebagaisimbolawal • string yang tercetak miring, misalnya : expr
KonsepDasar (2) Hurufyunanimelambangkan string yang tersusunatassimbol-simbol terminal atausimbol-simbol non terminal ataucampurankeduanya, misalnya : α,β, danε Sebuahproduksidilambangkansebagaiα --> β, artinya : dalamsebuahderivasidapatdilakukanpenggantiansimbolα dengansimbolβ. Derivasiadalah proses pembentukansebuahkalimatatausentensial. Sebuahderivasidilambangkansebagai : α ==> β. Sentensialadalah string yang tersusunatassimbol-simbol terminal atausimbol-simbol non terminal ataucampurankeduanya. Kalimatadalah string yang tersusunatassimbol-simbol terminal. Kalimatadalahmerupakansentensial, sebaliknyabelumtentu.
Grammar • Grammar G didefinisikansebagaipasangan 4 tuple : Vt , Vn , S, dan P, dandituliskansebagai G(Vt , Vn , S, P), dimana: • Vt: himpunansimbol-simbol terminal (alfabet) = kamus • Vn: himpunansimbol-simbol non terminal • S C V : simbolawal (atausimbol start) • P : himpunanproduksi • Contoh : • 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} • G2 : VT = {a}, V = {S}, P = {S --> aS | a} S --> aS --> aaS --> aaa L(G2) ={an --> n ≥ 1} L(G2)={a, aa, aaa, aaaa, …}
TeoriAutomata Meliputi/mencakup TeoriBahasa Formal Regular Expression Finite Automata Non Deterministic Finite Automata Finite Automata dengan Output Context-free Grammar Pushdown Automata MesinTuring
TeoriBahasa FormalTheory of Formal Language • Bahasaberbentukdarikombinasisimbol-simboldenganaturanformalnya • Language : A set Of string • String : A Finite list of symbols from an alphabet • Alphabet : A Finite set of objects called symbol • S1 = { a, b, c, d, e ….z ..} S2 = { 0, 1 } • Symbol : A member of alphabet • Set : Group of objects
TeoriBahasa Formal • = {a b c d e ... z , . } • Pembentukanstruktursebuahbahasadiawalidenganmemakaisebuahfinite set (himpunanterbatas), dimana unit fundamentalnyadisebutalphabet () • String-string yang bolehada di dalamsebuahbahasadisebut word • Contoh language adalahBahasa Indonesia. Alphabet yang biasadipakaiadalahhuruf, komadantitik. Semuanyadispesifikasiseperti di bawahini:
KATA-INDONESIA = {semua kata di dalamkamus} = { x } • L = { x xx xxx xxxx ... } • Bila language inidinamakan KATA-INDONESIA, dimanasemua string adalah word/kata di dalamkamus, makadefinisinyaadalah: • Contohsederhanasuatu language dengan alphabet yang adahanyasebuahhuruf, yaituhuruf x • Simbol alphabet tidakharus alphabet huruflatin, namundapatberisiapasaja
L = { x xx xxx xxxx ... } L = { x xx xxx } L L + { } L = L + Sebuah string dimungkinkantidakpunya alphabet. String inidisebutempty string atau null string dandilambangkan. Perludiingatbukan alphabet dalam language.Contoh: Bahasatanpa worddilambangkandengan null set Tolongdibedakanantara language tanpa word dengan word yang mempunyai
L1 = { x xx xxx xxxx ... } L1 = { xn for n = 1 2 3 ... } Contohsebuahbahasadengannon empty string Ataudengancara lain Dalam language L1, dapatdilakukanoperasipenggabungan (concatenation) dari word yang adamenjadi word baru. Contoh word xx dengan word xxx digabungmenjadi word baruxxxxx
L2 = { x xxx xxxxxxxxxxxx ... } = { x ganjil} = { x 2n+1 for n = 0 1 2 3 } Tidakselalubenarbiladua word digabungkanakanmembentuksebuah word baru. Contoh: xxx danxxxxxadalah word pada language L2, namunpengabungannyabukanlah word di dalam L2 Didefinisikansuatufungsilengthuntukmenghitungjumlahhurufdi dalamsebuah word length(xxxxxx) = 6 length(7152) = 4 length() = 0
L4 = { x xx xxx xxxx ... } = { xn for n = 0 1 2 3 } • Biladiinginkansebuah language mempunyai null string, makajanganlupauntukmemasukannyasaatmendefinisikan language tersebut • Harapdipahamibahwa x0 = danbukannya x0 = 1 seperti di aljabar • Didefinisikanfungsireverse. Reverse darisuatu string adalah string yang samatetapitersusundaribelakang, walaupun string inibukanlah word dalambahasatersebut reverse(xxx) = xxx reverse(xxxxx) = xxxxx reverse(145) = 541 reverse(140) = 041
Palindrome adalah kata, frase, nomoratauurutanlainnyadari unit yang dapatdibacadengancara yang sama di keduaarah. • Didefinisikansuatu language yang disebut PALINDROME dari alphabet = { a, b} PALINDROME = { , dansemua string x sedemikiansehingga reverse(x) = x } makaakandiperoleh: PALINDROME = { a b aa bb aaa aba babbbbaaaaabba ... }
Diketahui alphabet , diinginkanuntukmendefinisikansebuah language dimanatiap string darihuruf yang ada di dalamadalahsebuah word, termasuk null string. • Language inidisebutsebagaiclosure • Dapatdinotasikandenganmenambahsebuah asterisk sesudahnamadari alphabet * (Kleene Star). • Dalamlogikamatematikadanilmukomputer, bintangKleene (atau operator KleeneataupenutupanKleene) merupakanoperasi unary, baik di set pada set string atausimbol-simbolataukarakter. PenerapanbintangKleeneuntuksatu set V ditulissebagaiV*. Hal inibanyakdigunakanuntukekspresireguler, yang merupakankonteks yang diperkenalkanoleh Stephen Kleenemenjadiciri automata tertentu.
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 aaab ac ba bb bccacb cc aaa ... } • OperasiKleene Star menghasilkan infinite language dari string huruf yang adapada alphabet. • Yang dimaksud infinite language adalahtakterhitungbanyaknyaword. • Disarankan word dari language tersusunurutdari yang pendeksecaraalphabetik .
Contoh: Jika S = { aa, b} maka S* = { dan word bentukan yang berasaldariaadan b } S* = { dansemua string bentukandari a dan b dengana yang selaluberderetdalamjumlah yang genap) = { b aa bb aab baa bbbaaaaaabbbaabbbaabbbbaaaabaabaaaabbbbaaaabaabbbbaabbbbaa ... } String aabaaabtidaktermasuk S* karenajumlah a tidakgenap Contoh: Jika S = { a, ab } maka S* = { dan word bentukan yang berasaldari a danab } S* = { dansemua string bentukandari a dan b kecuali yang dimulaidengan b dan yang mengandungdua b berdempetan } ={ a aaabaaaaab aba aaaaaaabaabaabaaababaaaaa aaaabaaabaaabaaaabababaaaabaab ... }
Regular Expression Sebuahcaramendefinisikan language yang lebihtepatdibandingkandenganmenggunakancara ellipsis ( diakhiridengan ... ) Language inidisebut regular language Perhatikan: L4 = { x xx xxx xxxx ... } Denganmemanfaatkan closure, bila S = { x } maka L4 = S* Dapatjugaditulissebagai L4 = {x}*
Kleene Star tidakhanyadapatdiaplikasikanuntuk set namunjugalangsungke alphabet. Contoh: x* Ekpresisederhana x* akandipakaiuntukmengekspresikanpengulangandari x (bisajugatidaksamasekali) x* = atau x atau x2atau x3atau x4 ... = xn for n = 0 1 2 3 4 ... Jadi x* adalah string dari x yang banyaknyatidakdinyatakansecarapasti.
Sebuah language L yang didefinisikandari alphabet S = {a, b} seperti di bawahini: L = { a ababbabbbabbbb ... } Dapatjugadidefinisikandengankalimat: L = semua word yang dimulaidengan a dandiikutiolehsejumlah b (danmungkintanpa b samasekali) Denganmemakainotasi *, dapatdituliskan L = language (ab*) Kleene Star dapatdiimplementasikanpada string abseperti di bawahini: (ab)* = atauabatauababatauababab . . . (ab)* (ab*)
ContohKleene Star lainnya: • L1 = language (xx*) • Language L1 di atasberisisebuah x laludiikutidengansejumlah x (dimanamungkinsajatanpa x samasekali) • L1dapatdituliskandengannotasi lain, yaitunotasi+ • x+berartisejumlah x dalamjumlah yang selalupositif (tidakbisa 0, atautidakbisa) • Notasi*lebihlazimdipergunakandaripadanotasi+ • L1dapatjugadidefinisikandengansalahsatucontoh di bawahini: xx* x+ xx*x* x*xx*x+x* x*x+ x*x*x*xx* • Ingatbahwa x*bisasajaberarti
Contoh: Language yang didefinisikandenganekspresi ab*a Adalahsebuahhimpunandari string a dan string b yang paling sedikitberisiduahuruf yang diawalidengan a dandiakhiridengana danhanyaakanberisi b diantaranya (atautidaksamasekali) language(ab*a) = { aa aba abbaabbbaabbbba ... } Contoh: Ekspresi-ekspresidi bawahinimendefinisikan language L2denganhasilyang sama L2 = { xganjil } = x(xx)* = (xx)*x Namunekspresi x*xx* tidak, karenatermasuk (xx) x (x)
Contoh: Language denganekspresiseperti di bawahini a*b* • Berisisemua string dari a dan b sedemikiansehinggasemuaa (bilaada) akanberada di depansemua b (bilaada) language(a*b*) = { a b aaab bb aaaaababbbbbaaaa ... } • Perhatikanbahwabadan aba tidaktermasukdalam language ini, jugabahwajumlah a dan b tidakperlusama • Ada pemanfaatan lain daritandatambah +. Ekpresi x + y berartisalahsatudari x atau y (memilih). Berhati-hatilahuntukmembedakanantara+dengan+
Contoh: Perhatikanbahasa T yang berasaldari alphabet = { a b c } T = { a c abcbabbcbbabbbcbbbabbbbcbbbb … } Semuaword di dalam T dimulaidengan a atau c dandiikutidengansejumlahb. Secarasimbolik language T dapatditulisdengancara: T = language ((a + c)b*) = language (a atau c diikutisejumlah b) Tanda+ berartiharusdilakukanpilihanuntukmemakaiekspresi yang sebelahkiriataukanan
Contoh • Language yang didefinisikandenganexpressi ab*a • Adalahsebuahhimpunandari string a dan string b yang paling sedikitberisiduahuruf yang diawalidengan a dandiakhiridengan a danhanyaakanberisi b diantaraanya (atautidaksamasekali) language(ab*a) = { aa aba abbaabbbaabbbba . . .}
Contoh • Language denganekspresiseperti di bawahini a*b* • Berisisemua string dari a dan b sedemikiansehinggasemua a (bilaada) akanberada di depansemua b (bilaada) language(a*b*) = { a b aaab bb aaaaababbbbbaaaa ...} • Perhatikanbahwabadan aba tidaktermasukdalam language ini, jugabahwajumlah a dan b tidakperlusama
Contoh • Ekspresi-ekspresi di bawahinimendefinisikan language L2denganhasil yang sama L2 = { xganjil} = x(xx)* = (xx)*x • Namunekspresi x*xx*tidak, karenatermasuk (xx) x (x). Ada pemanfaatan lain daritandatambah +. Ekpresi x + y berartisalahsatudari x atau y (memilih). Berhati-hatilahuntukmembedakanantara+dengan+. Contoh • Perhatikanbahasa T yang berasaldari alphabet = { a b c } • T = { a c abcbabbcbbabbbcbbbabbbbcbbbb } • Semua word di dalam T dimulaidengan a atau c dandiikutidengansejumlah b. Secarasimbolik language T dapatditulisdengancara T = language ((a + c)b*) = language (a atau c diikutisejumlah b) tanda + berartiharusdilakukanpilihanuntukmemakaiekspresi yang sebelahkiriataukanan.
Contoh • Sebuah language L akanberisisemua string dari a dan b denganpanjangselalutiga. • L = { aaaaab aba abb baa babbbabbb } • Hurufpertamadaritiap word di dalam L adalah a atau b. Hurufkeduadaritiap word di dalam L adalah a atau b. Hurufketigatiap word di dalam L adalah a atau b. Jadi L dapatdidefinisikan: L = language ((a + b)(a + b)(a + b)) Ataudenganlebihsingkat L = language ((a + b)3)
LATIHAN Perhatikanbeberapadefinisi di bawahini yang berasaldari alphabet = { a b } • (a + b)7 • (a + b)* • a(a + b)* • (a + b)*a(a + b)* • (a + b)*a(a + b)*a(a + b)* • b*ab*a(a + b)* • (a + b)*ab*ab* • b*a(a + b)*ab* • b*ab*ab* • (a + b)*a(a + b)*b(a + b)* • (a + b)*a(a + b)*b(a + b)* + (a + b)*b(a + b)*a(a + b)* • bb*aa* • (a + b)*a(a + b)*b(a + b)* + bb*aa*
OtomataHingga SebuahOtomatahinggaadalahkumpulandaritigahal: • Kumpulan terbatas (finite set) dari state (kondisi/ keadaan). Satudiantaranyamenjadi initial state (kondisiawal) ataustart state, danbeberapa(bisaberartitidakada) dariantaranyadinyatakansebagaifinal state. • Himpunanalphabet berisibeberapahuruf, dimanastring-string bentukandari alphabet akandibacahuruf demi huruf. • Kumpulan terbatasdari transition yang menjelaskanuntuktiapstate dantiaphuruf yang dibacake state manaperjalanandilanjutkan.
OtomataHingga • Otomatahinggaadalahsuatu model yang dapatditerapkanpadaberagamjenisperangkatkeras (hardware) danperangkatlunak (software). • Penerapan-penerapandariotomatahinggaadalah: • Perangkatlunak yang digunakanuntukmerancangdanmemantauperilakurangkaian digital. • Lexical Analyzer, yaitukomponenkompiler yang bertugasmemecahteks-teks input menjadilogical unit sepertiidentifiers, keyworddanpunctuation. • Perangkatlunakuntukmemindaidokumenteks yang jumlahhalamannyaluarbiasabanyakgunamenemukankesamaan kata, frasedanbentuk-bentuk lain • Perangkatlunak yang digunakanuntukmemeriksasistem-sistemdenganstata/stateberbeda yang berhinggajumlahnya, misalnyaprotokolkomunikasiatauprotokol yang digunakanuntukpertukaraninformasisecaraaman.
ContohOtomataHingga Push Off On Push Start Start then t n h e th t the
Contoh • Alphabet yang digunakanhanya 2 huruf, adanb • Ada 3 buah state, yaitux, ydanz • Aturan transition yang dipakaiadalah: • Dari state x dan input a menuju state y • Dari state x dan input b menuju state z • Dari state y dan input a menuju state x • Dari state y dan input b menuju state z • Dari state z dan input apasajatetap di state z Ditentukanjuga x sebagai start state dan z sebagai final state
a a, b b Start a X Y Z+ b • Perhatikanapa yang akanterjadibila string aaadiumpankankeotomatahinggatersebut • Penelusuranakandimulaidari start state: • Hurufpertamaadalaha, sesuai aturan-1 akanmenuju state y • Hurufkeduaadalah a, sesuai aturan-3 akanmenuju state x • Hurufketigaadalah a, sesuai aturan-1 akanmenuju state y • Stringsudahdiumpankansemua, tapitidakmencapai final state • Jadi, string aaabukanlahtermasuk di dalambahasayang didefinisikanolehotomatahingga.
Contoh lain, bila string abbadiumpankanke FA tersebut . • Hasilnya, perjalananmencapaipada state z (final state) . • Jadi, string abbatermasuk word dalambahasa yang didefinisikanolehotomatatersebuttersebut
Tidaksulitmenerka word apasaja yang diterimaoleh FA tersebut, yaitustringnyaharusberisi minimal sebuah b agar mencapai state z. • Dari transition rule di atas, dapatdibuatkansebuahtransition table sepertidi bawahini: • OtomataHinggadapatdianggapsebagaisuatumesin. Ada suatupergerakkan, perpindahandarisebuah state ke state lain, karenaadanyasebuah input
a a X Y a X- Y b b a b b Z Z+ a b b a • OtomataHinggadapatjugadigambarkandalambentukgrafis yang disebutbentuk transition diagram. • Tanda- untuk start state dan + untuk final state . • Bentuklain, start state memakaipanahdan final state memakailingkaranganda.