1 / 73

TEORI BAHASA DAN OTOMATA

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 ).

nell-moran
Download Presentation

TEORI BAHASA DAN OTOMATA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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.

  3. Definisi TeoriOtomataadalahteorimengenaimesin-mesinabstrak, danberkaitaneratdenganteoribahasa formal. adabeberapahal yang berkaitandenganOtomata, yaitu Grammar. Grammar adalahbentukabstrak yang dapatditerima (accept) untukmembangkitkansuatukalimatotomataberdasarkansuatuaturantertentu.

  4. TeoriAutomata Meliputi/ mencakup TeoriBahasa Formal Regular Expression Finite Automata Non Deterministic Finite Automata Finite Automata dengan Output Context-free Grammar Pushdown Automata

  5. Pendahuluan ApaituKomputer • Alatuntukmengetik ? • Komputersangatkompleks - menerapkanteorimatematikasecaralangsung (computational model) • Model dasarperhitungan • Rekayasamerancangsistemkomputer H/W + S/W

  6. Pengertian Program SebagaiObyekMatematika Diberlakukannyaalasan (reason), logika(logic) danaturan (rule) untukkombinasi Apakah program mengoperasikanbilangan, teksatauapapun

  7. Hardware/Software • Kekompleksan hardware dan software ditanganioleh processor untukmengkonversi program kedalambentuk execute (eksekusi) • Execute file dapatdibentukmelalui : • Compile • Assembly • Dan sebagainya (interpreter)

  8. BeberapaPengertianDasar • Simboladalahsebuahentitasabstrak (sepertihalnyapengertiantitikdalamgeometri). Sebuahhurufatausebuahangkaadalahcontohsimbol. • String adalahderetanterbatas (finite) simbol-simbol. Sebagaicontoh, jikaa, b, danc adalahtigabuahsimbolmakaabcbadalahsebuah string yang dibangundariketigasimboltersebut. • Jikaw adalahsebuah string makapanjang string dinyatakansebagaiwdandidefinisikansebagaicacahan (banyaknya) simbol yang menyusun string tersebut. Sebagaicontoh, jikaw = abcbmakaw= 4. • String hampaadalahsebuah string dengannolbuahsimbol. String hampadinyatakandengansimbol (atau ^) sehingga= 0. String hampadapatdipandangsebagaisimbolhampakarenakeduanyatersusundarinolbuahsimbol. • Alfabetadalahhimpunanhingga (finite set) simbol-simbol

  9. 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)

  10. 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)

  11. 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, danadalahsemua 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, danadalahsemua Substring(x) • Subsequence string wadalah string yang dihasilkandari string wdenganmenghilangkannolataulebihsimbol-simboldari string wtersebut. Contoh : abc,ab, bc, ac, a, b, c, danadalahsemua Subsequence(x)

  12. OperasiDasar String (4) • Proper Subsequence string wadalah string yang dihasilkandari string wdenganmenghilangkansatuataulebihsimbol-simboldari string wtersebut. Contoh : ab, bc, ac, a, b, c, danadalahsemua 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) = xy = abcatau 123 • Kleene Closure : x* = xxxxxx… = xxx… • Positive Closure : x = xxxxxx… = xxx…

  13. 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

  14. BeberapaSifatOperasi (2) • Duasifataljabar concatenation : • Operasi concatenation bersifatasosiatif : x(yz) = (xy)z • Elemenidentitasoperasi concatenation adalah : x = x = x • Tigasifataljabar alternation : • Operasi alternation bersifatkomutatif : xy = yx • Operasialternationbersifatasosiatif : x(yz) = (xy)z • Elemenidentitasoperasi alternation adalahdirinyasendiri : xx = x

  15. BeberapaSifatOperasi (3) • Sifatdistributif concatenation terhadap alternation : x (yz) = xyxz • Beberapakesamaan : • Kesamaan ke-1 : (x*)* = x* • Kesamaan ke-2 : x = x = x* • Kesamaan ke-3 : (xy)* = xyxxyyxyyx… = semua string yang merupakan concatenation dari nol atau lebih x, y, atau keduanya.

  16. 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

  17. 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.

  18. 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, …}

  19. TeoriAutomata Meliputi/mencakup TeoriBahasa Formal Regular Expression Finite Automata Non Deterministic Finite Automata Finite Automata dengan Output Context-free Grammar Pushdown Automata MesinTuring

  20. 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

  21. 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:

  22. 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

  23. L = {  x xx xxx xxxx ... } L = { x xx xxx } L  L + {  } L = L +  Sebuah string dimungkinkantidakpunya alphabet. String inidisebutempty string atau null string dandilambangkan. Perludiingatbukan alphabet dalam language.Contoh: Bahasatanpa worddilambangkandengan null set  Tolongdibedakanantara language tanpa word dengan word yang mempunyai

  24. 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

  25. 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

  26. 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

  27. 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 ... }

  28. Diketahui alphabet , diinginkanuntukmendefinisikansebuah language dimanatiap string darihuruf yang ada di dalamadalahsebuah 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.

  29. 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 .

  30. 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 ... }

  31. 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}*

  32. 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.

  33. 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*)

  34. 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

  35. 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)

  36. 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+

  37. 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

  38. 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 . . .}

  39. 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

  40. 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.

  41. 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)

  42. 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*

  43. 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.

  44. 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.

  45. ContohOtomataHingga Push Off On Push Start Start then t n h e th t the

  46. 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

  47. 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.

  48. Contoh lain, bila string abbadiumpankanke FA tersebut . • Hasilnya, perjalananmencapaipada state z (final state) . • Jadi, string abbatermasuk word dalambahasa yang didefinisikanolehotomatatersebuttersebut

  49. 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

  50. 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.

More Related