Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

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

Presentasi serupa


Presentasi berjudul: "TEORI BAHASA DAN OTOMATA Jim Michael Widi, S.Kom."— Transcript presentasi:

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

2 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - FTI P ENDAHULUAN 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

3 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - FTI P ENGERTIAN P ROGRAM SEBAGAI OBYEK MATEMATIKA Diberlakukannya alasan (reason), logika (logic) dan aturan (rule) untuk kombinasi Apakah program mengoperasikan bilangan, teks atau apapun

4 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - FTI H ARDWARE /S OFTWARE Kekompleksan hardware dan software ditangani oleh processor untuk mengkonversi program kedalam bentuk execute (eksekusi) Execute file dapat dibentuk melalui :  Compile  Assembly  Dan sebagainya (interpreter)

5 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - FTI D EFINISI Teori 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. bahasa formal

6 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - FTI K ONSEP D ASAR (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 ;  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

7 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - FTI K ONSEP D ASAR (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.

8 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - FTI G RAMMAR Grammar G didefinisikan sebagai pasangan 4 tuple : V t, V n, S, dan P, dan dituliskan sebagai G(V t, V n, S, P), dimana :  V t : himpunan simbol-simbol terminal (alfabet) = kamus  V n : himpunan simbol-simbol non terminal  S C V : simbol awal (atau simbol start)  P : himpunan produksi Contoh : 1.G1 : VT = {I, want, need, You}, V = {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, …}

9 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - FTI T EORI A UTOMATA M ELIPUTI / MENCAKUP Teori Bahasa Formal Regular Expression Finite Automata Non Deterministic Finite Automata Finite Automata dengan Output Context-free Grammar Pushdown Automata Mesin Turing

10 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - FTI T EORI B AHASA F ORMAL T HEORY OF F ORMAL L ANGUAGE 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 –  { a, b, c, d, e ….z..}  { 0, 1 } Symbol : A member of alphabet Set : Group of objects

11 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - FTI T EORI B AHASA F ORMAL 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,. }

12 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - 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... }

13 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - 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 +  L = { x xx xxx } L  L + {  } L = L + 

14 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - FTI Contoh sebuah bahasa dengan non empty string Atau dengan cara lain Dalam language L 1, dapat dilakukan operasi penggabungan (concatenation) dari word yang ada menjadi word baru. Contoh word xx dengan word xxx digabung menjadi word baru xxxxx L 1 = { x xx xxx xxxx... } L 1 = { x n for n = }

15 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - FTI Tidak selalu benar bila dua word digabungkan akan membentuk sebuah word baru. Contoh: xxx dan xxxxx adalah word pada language L 2, namun pengabungannya bukanlah word di dalam L 2 Didefinisikan suatu fungsi length untuk menghitung jumlah huruf di dalam sebuah word length(xxxxxx) = 6 length(7152) = 4 length(  ) = 0 L 2 = { x xxx xxxxx xxxxxxx... } = { x ganjil } = { x 2n+1 for n = } L 2 = { x xxx xxxxx xxxxxxx... } = { x ganjil } = { x 2n+1 for n = }

16 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - FTI Bila diinginkan sebuah language mempunyai null string, maka jangan lupa untuk memasukannya saat mendefinisikan language tersebut Harap dipahami bahwa x 0 =  dan bukannya x 0 = 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 tersebut reverse(xxx) = xxx reverse(xxxxx) = xxxxx reverse(145) = 541 reverse(140) = 041 L 4 = {  x xx xxx xxxx... } = { x n for n = } L 4 = {  x xx xxx xxxx... } = { x n for n = }

17 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - 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... }

18 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - 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.

19 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - FTI Contoh: Jika  = { x } maka  * = L 4 = {  x xx xxx... } Jika  = { 0 1 } maka  * = {  } 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.

20 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - 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 } maka S*= {  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... }

21 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - FTI R EGULAR E XPRESSION Sebuah cara mendefinisikan language yang lebih tepat dibandingkan dengan menggunakan cara ellipsis ( diakhiri dengan... ) Language ini disebut regular language Perhatikan: L 4 = {  x xx xxx xxxx... } Dengan memanfaatkan closure, bila S = { x } maka L 4 = S* Dapat juga ditulis sebagai L 4 = {x}*

22 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - 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 x 2 atau x 3 atau x 4... = x n for n = Jadi x* adalah string dari x yang banyaknya tidak dinyatakan secara pasti.

23 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - 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*)

24 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - FTI Contoh Kleene Star lainnya: L 1 = language (xx * ) Language L 1 di atas berisi sebuah x lalu diikuti dengan sejumlah x (dimana mungkin saja tanpa x sama sekali) L 1 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 + L 1 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 

25 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - 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 L 2 dengan hasil yang sama L 2 = { x ganjil } = x(xx)* = (xx)*x Namun ekspresi x*xx* tidak, karena termasuk (xx) x (x)

26 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - 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 Ada pemanfaatan lain dari tanda tambah +. Ekpresi x + y berarti salah satu dari x atau y (memilih). Berhati- hatilah untuk membedakan antara + dengan +

27 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - 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

28 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - 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...}

29 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - 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

30 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - FTI Contoh Ekspresi-ekspresi di bawah ini mendefinisikan language L 2 dengan hasil yang sama L 2 ={ x ganjil } =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 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.

31 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - 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 )

32 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - FTI LATIHAN Perhatikan 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 *

33 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - FTI O TOMATA H INGGA Sebuah 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.

34 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - FTI O TOMATA H INGGA 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.

35 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - FTI C ONTOH O TOMATA H INGGA OffOn Start Push Start t th the then t he n

36 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - FTI C ONTOH 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 y 2.Dari state x dan input b menuju state z 3.Dari state y dan input a menuju state x 4.Dari state y dan input b menuju state z 5.Dari state z dan input apa saja tetap di state z Ditentukan juga x sebagai start state dan z sebagai final state

37 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - 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 y Huruf kedua adalah a, sesuai aturan-3 akan menuju state x Huruf 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. XYZ Starta b a b a, b

38 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - 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

39 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - 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 ab Start xyz yxz Final Zzz

40 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - 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 ab a b a b X- Y a b a b a b Z+

41 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - 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

42 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - FTI Ada kemungkinan sebuah Otomata Hingga tidak akan menerima language apapun -+ a b a, b - +

43 T EORI B AHASA D AN O TOMATA (3 SKS) J IM M ICHAEL W IDI, S.K OM U NIVERSITAS B UDI L UHUR - FTI Perhatikan Otomata Hingga ini Apa yang terjadi bila diberi input string ababa dan babbb (bagaimana pergerakkannya)? a a a b bb 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)


Download ppt "TEORI BAHASA DAN OTOMATA Jim Michael Widi, S.Kom."

Presentasi serupa


Iklan oleh Google