PENDAHULUAN Teori Bahasa

Ukuran: px
Mulai penontonan dengan halaman:

Download "PENDAHULUAN Teori Bahasa"

Transkripsi

1 PERTEMUAN I

2 PENDAHULUAN Teori Bahasa 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 manusia bersifat sebaliknya; grammar diciptakan untuk meresmikan kata-kata yang hidup di masyarakat. Dalam pembicaraan selanjutnya bahasa formal akan disebut bahasa saja.

3 Automata Automata adalah mesin abstrak yang dapat mengenali (recognize), menerima (accept), atau membangkitkan (generate) sebuah kalimat dalam bahasa tertentu. Untuk memodelkan hardware dari komputer diperkenalkan otomata. Otomata adalah fungsi-fungsi dari komputer digital. Menerima input, menghasilkan output, bisa memiliki penyimpanan sementara dan mampu membuat keputusan dalam mentransformasikan input ke output. Sebuah bahasa formal adalah suatu abstraksi terdiri dari himpunan simbol-simbol dan aturan-aturan yang mana simbol-simbol tersebut bisa dikombinasikan ke dalam entitas yang disebut kalimat. Meskipun bahasa formal yang dipelajari di sini lebih sederhana daripada bahasa pemrograman, mereka mempunyai banyak hal yan g penting. Kita bisa mempelajari banyak tentang bahasa pemrograman dari bahasa formal.

4 Otomata merupakan suatu sistem yang terdiri atas sejumlah berhingga state, dimana state menyatakan informasi mengenai input yang lalu dan dapat dianggap sebagai memori mesin. Input pada mesin otomata dianggap sebagai bahasa yang harus dikenali oleh mesin. Selanjutnya, mesin otomata membuat keputusan yang mengindikasikan apakah input itu diterima atau tidak.

5 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 hinpunan hingga (finite set) simbol-simbol

6 Operasi Dasar String Diberikan dua string : x = abc, dan y = 123 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)

7 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) Substring string w adalah string yang dihasilkan dari string w dengan menghilangkan nol atau lebih simbol-simbol paling depan dan/atau simbolsimbol 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 simbolsimbol paling belakang dari string w tersebut. Contoh : ab, bc, a, b, c, dan ε adalah semua Substring(x)

8 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) ProperSubsequence 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(x y) = x y = abc atau 123 Kleene Closure : x* =ε x xx xxx =ε x x2 x3 Positive Closure : x + = x xx xxx = x x 2 x 3

9 Konsep Dasar 1. Dalam pembicaraan grammar, anggota alfabet dinamakan simbol terminal atau token. 2. Kalimat adalah deretan hingga simbol-simbol terminal. 3. Bahasa adalah himpunan kalimat-kalimat. Anggota bahasa bisa tak hingga kalimat. 4. Simbol-simbol berikut adalah simbol terminal (VT) : huruf kecil alfabet, misalnya : a, b, c simbol operator, misalnya : +,, dan simbol tanda baca, misalnya : (, ), dan ; string yang tercetak tebal, misalnya : if, then, dan else. 5. Simbol-simbol berikut adalah simbol non terminal (VN) : huruf besar alfabet, misalnya : A, B, C huruf S sebagai simbol awal string yang tercetak miring, misalnya : expr dan stmt. 6. Huruf besar akhir alfabet melambangkan simbol terminal atau non terminal, misalnya : X, Y, Z. 7. Huruf kecil akhir alfabet melambangkan string yang tersusun atas simbol-simbol terminal, misalnya : x, y, z.

10 8. Huruf yunani melambangkan string yang tersusun atas simbol-simbol terminal atau simbol-simbol non terminal atau campuran keduanya, misalnya : α, β, dan γ. 9. Sebuah produksi dilambangkan sebagai α β, artinya : dalam sebuah derivasi dapat dilakukan penggantian simbol α dengan simbol β. 10. Simbol α dalam produksi berbentuk α β disebut ruas kiri produksi sedangkan simbol β disebut ruas kanan produksi. 11. Derivasi adalah proses pembentukan sebuah kalimat atau sentensial. Sebuah derivasi dilambangkan sebagai : α β. 12. Sentensial adalah string yang tersusun atas simbol-simbol terminal atau simbol-simbol non terminal atau campuran keduanya. 13. Kalimat adalah string yang tersusun atas simbol-simbol terminal. Jelaslah bahwa kalimat adalah kasus khusus dari sentensial. 14. Pengertian terminal berasal dari kata terminate (berakhir), maksudnya derivasi berakhir jika sentensial yang dihasilkan adalah sebuah kalimat (yang tersusun atas simbol-simbol terminal itu). 15. Pengertian non terminal berasal dari kata not terminate (belum/tidak berakhir), maksudnya derivasi belum/tidak berakhir jika sentensial yang dihasilkan mengandung simbol non terminal.

11 Grammar dan Klasifikasi Chomsky Grammar G didefinisikan sebagai pasangan 4 tuple : V T, V N, S, dan Q, dan dituliskan sebagai G(V T, V N, S, Q), dimana : V T : himpunan simbol-simbol terminal (atau himpunan token -token, atau alfabet) V N : himpunan simbol-simbol non terminal S V N : simbol awal (atau simbol start) Q : himpunan produksi

12 Berdasarkan komposisi bentuk ruas kiri dan ruas kanan produksinya (α β), Noam Chomsky mengklasifikasikan 4 tipe grammar : 1. Grammar tipe ke-0 : Unrestricted Grammar (UG) Ciri : α, β (V T V N )*, α > 0 2. Grammar tipe ke-1 : Context Sensitive Grammar (CSG) Ciri : α, β (V T V N )*, 0 < α β 3. Grammar tipe ke-2 : Context Free Grammar (CFG) Ciri : α V N, β (V T V N )* 4. Grammar tipe ke-3 : Regular Grammar (RG) Ciri : α V N, β {V T, V T V N } atau α V N, β {V T, V N V T } Mengingat ketentuan simbol-simbol (hal. 3 no. 4 dan 5), ciri-ciri RG sering dituliskan sebagai : α V N, β {a, bc} atau α V N, β {a, Bc}

13 Contoh Analisa Penentuan Type Grammar 1. Grammar G1 dengan Q1 = {S ab, B bb, B b}. Ruas kiri semua produksinya terdiri dari sebuah V N maka G1 kemungkinan tipe CFG atau RG. Selanjutnya karena semua ruas kanannya terdiri dari sebuah V T atau string V T V N maka G1 adalah RG. 2. Grammar G 2 dengan Q 2 = {S Ba, B Bb, B b}. Ruas kiri semua produksinya terdiri dari sebuah V N maka G 2 kemungkinan tipe CFG atau RG. Selanjutnya karena semua ruas kanannya terdiri dari sebuah V T atau string V N V T maka G 2 adalah RG. 3. Grammar G3 dengan Q 3 = {S Ba, B bb, B b}. Ruas kiri semua produksinya terdiri dari sebuah V N maka G 3 kemungkinan tipe CFG atau RG. Selanjutnya karena ruas kanannya mengandung string V T V N (yaitu bb) dan juga string V N V T (Ba) maka G 3 bukan RG, dengan kata lain G 3 adalah CFG. 4. Grammar G 4 dengan Q 4 = {S aab, B ab}. Ruas kiri semua produksinya terdiri dari sebuah V N maka G 4 kemungkinan tipe CFG atau RG. Selanjutnya karena ruas kanannya mengandung string yang panjangnya lebih dari 2 (yaitu aab) maka G 4 bukan RG, dengan kata lain G 4 adalah CFG.

14 5. Grammar G5 dengan Q 5 = {S aa, S ab, aab abcb}. Ruas kirinya mengandung string yang panjangnya lebih dari 1 (yaitu aab) maka G5 kemungkinan tipe CSG atau UG. Selanjutnya karena semua ruas kirinya lebih pendek atau sama dengan ruas kananya maka G 5 adalah CSG. 6. Grammar G 6 dengan Q 6 = {as ab, SAc bc}. Ruas kirinya mengandung string yang panjangnya lebih dari 1 maka G 6 kemungkinan tipe CSG atau UG. Selanjutnya karena terdapat ruas kirinya yang lebih panjang daripada ruas kananya (yaitu SAc) maka G 6 adalah UG.

15 Tipe 0 Mesin Automata Mesin Turing Tipe 1 Mesin Automata Linier bounded Tipe 2 Mesin Automata Push Down ( NFA [Non Deterministic Finite Automata] } Tipe 3 DFA, NFA ( DFA [Deterministic Finite Automata] ) Alternate x y = y x pilihan x atau y Cleen closure ( * ) x* = ε x xx xxx.. Positive closure ( + ) tanpa hampa x + = x xx xxx.. ( x * )* = x * ( x y )* = ε x y xx yy xy yx xxy yyx ( xy )* = xy xyxy xyxyxy..

16 Tipe 3? BENAR ATAU SALAH jawaban dibawah ini a. B bdb V N V T V T V N ( Ya ) b. B bcdef V N V T V T V T V T V T ( Tidak ) c. A ass V N V T V N V N ( Tidak ) d. Ad db V N V T V T V N ( Tidak ) Tipe 2? e. B bcdefg V N V T V T V T V T V T V N ( Ya ) f. A Ace V N V N V T V T ( Ya ) g. A ab V N V T V T ( Ya ) h. A asa V N V T V N V T ( Ya )

17 Tipe 1 i. Ad b V T V T V T ( Tidak ) j. AB cde V N V N V T V T V T ( Ya ) k. Ad db V N V T V T V N ( Ya ) l. adc DE V T V T V N V N V N ( Tidak ) Tipe 0 m. AB cde V N V N V T V T V T ( Tidak ) n. adc DE V T V T V N V N V N ( Ya ) o. ad b V T V T V N ( Ya )

18 PERTEMUAN 2 FINITE STATE AUTOMATA ( FSA )

19 FINITE STATE AUTOMATA ( FSA ) FSA merupakan mesin automata dari bahasa Regular. FSA memiliki state yang banyaknya berhingga dan dapat berpindah pindah dari satu state ke state yang lain. Perpindahan state dinyatakan dengan transisi. FSA dapat menerima input & menghasilkan output. Contoh : mesin automata untuk pencek pariti ganjil Even Odd O 1 Odd O 1 o Lingkaran menyatakan state/ kedudukan Lingkaran ganda menyatakan state akhir ( final state ) Label pada lingkaran adalah nama state tersebut Busur menyatakan transisi / perpindahan state Label pada busur adalah simbol input Lingkaran didahului oleh sebuah busur tanpa label menyatakan state awal Simbol input { 0.1}

20 State awal Even State akhir Odd Bila mesin mendapat Input : l l 0 l, apakah diterima oleh mesin? Input akan diterima bila berakhir pada hait atau final state. Untuk state yang dilakukan Even l Odd l Even O Even l Odd Berakhir pada state Odd, maka Input ll0l diterima oleh mesin Bila mendapat input l0l, apakah diterima oleh mesin? Untuk state yang dilakukan Even l Odd 0 Odd l Even Berakhir pada Even, maka Input l0l ditolak oleh mesin

21 Secara formal Finite State Automata dinyatakan dengan 5 tuple atau m = { Q, Σ, δ, S, F } Definisinya : Q = Himpunan state atau kedudukan Σ = Himpunan simbol input / masukan / abjad / angka δ = Fungsi transisi S = State awal / kedudukan awal, S Q F = Himpunan state akhir, F Q FSA DFA ( Deterministic Finite Automata ) NFA ( Non Deterministic Finite Automata ) DFA ( Deterministic Finite Automata) 1. Mesin DFA b a a qo q1 b b a q2

22 Q = {q0, q1, q2} Σ = {a, b } S = {q0} F = {q2} Fungsi Transisi Tabel Transisi δ ( q0, a ) = qo δ a b δ ( qo, b ) = q1 q0 q0 q1 δ ( q1, a ) = q1 q1 q1 q2 δ ( q1, b ) = q2 δ ( q2, a ) = q1 δ ( q2, b ) = q2 q2 q1 q2

23 Jika mesin DFA tersebut mendapat input abb, apakah diterima oleh mesin? δ (q0, abb ) = δ (q0, bb) = δ (q1,b) = q2 Berakhir pada final state maka input diterima oleh mesin abb berada di akhir L( m ) Jika mesin mendapat Input string baba apakah merupakan L ( m )? δ (q0, baba ) = δ (q1, aba) = δ (q1, ba) = δ (q2,a) = q1 q1 bukan final state, berakhir pada state q1, maka input untuk string baba ditolak / direject oleh mesin & bukan L( m ) 2. Mesin DFA qo b a,b q 1 a

24 Q = {q0, q1} Σ = {a,b} S = {q0} F = {q1} Fungsi Transisi Tabel Transisi δ ( q0, a ) = q1 δ a b δ ( q0, b ) = q1 δ ( q1, a ) = q1 δ ( q1, b ) = q0 JIka mesin DFA tersebut mendapat Input abbaba, apakah diterima oleh mesin δ ( q0, abbaba ) = δ ( q1, bbaba ) = δ ( q0,baba ) q0 q1 q1 q1 q1 q0 = δ ( q1, aba ) = δ ( q1, ba ) = δ ( q0, a ) = q1 Berakhir pada final state maka input diterima oleh mesin abbaba berada diakhir L ( m )

25 * NFA (Non Deterministic Finite Automata) 1. Mesin NFA qo a q1 a b Fungsi Transisi δ a b Q = { q0, q1 } δ { q0, a } = q1 q0 q1 φ Σ = { a, b } δ { q0, b } = φ q1 q1 q0 S = { q0 } δ { q1, a } = q1 F = { q1 } δ { q1, b } = q0 Himpunan φ merupakan NFA Jika mendapat input aaabbbaaa δ ( q0, aaabbbaaa ) = δ ( q1, aabbbaaa ) = δ ( q1, abbbaaa ) = δ ( q1, bbbaaa ) = δ ( q0, bbaaa ) = δ ( φ ) ditolak / direject oleh mesin & bukan L ( m )

26 2. Mesin NFA b a qo a q1 b a b q2 a Q = { q0, q1, q2 } Σ = { a, b } S = { q0 } F = { q1 } Himpunan { q1, q2 } merupakan NFA

27 Tabel Transisi δ a b q0 {q1, q2 } q0 q1 q1 q0 q2 q2 q1 q0 mendapat input a dengan 2 transisi state { q1, q2 } NFA Jika state satu mempunyai 2 transisi dengan input yang sama Jika mendapat input bababaaa, apakah diterima oleh mesin? δ ( q0, bababaaa ) = δ ( q0, ababaaa ) = δ ( {q1, q2}, babaaa ) * Jika diambil q1. δ ( q0, abaaa ) = δ ( {q1, q2}, baaa ) = δ ( q1, aaa ) = δ ( q1, aa ) = δ (q1, a ) = q1 dterima oleh mesin & L ( m )

28 REDUKSI JUMLAH STATE PADA FINITE STATE AUTOMATA

29 REDUKSI JUMLAH STATE PADA FINITE STATE AUTOMATA TAHAPAN REDUKSI : 1. Hapus semua state yang tidak dapat dicapai dari state awal. 2. Buatlah semua pasangan state ( p, q ) yang distinguishable, dimana P F dan q f. Catatlah pasangan state state tersebut. 3. Untuk semua state lakukan pencarian state yang distinguishable dengan aturan untuk semua ( p, q )dan a Σ, hitunglah δ ( p, a ) = pa dan δ ( q, a) = qa. Jika pasangan ( pa, qa ) telah tercatat sehingga distinguishable maka pasangan ( p, q ) juga dimasukkan sebagai distinguishable. 4. Dari hasil No. (3), distinguishable dapat pasangan state state distringuishable. Pasangan pasangan state lain yang tidak termasuk ke dalam state distinguishable tersebut, sisanya dapat ditentukan sebagai state yg indistinguishable. 5. Beberapa state yang saling indistinguishable dapat digabungkan ke dalam satu state. 6. Sesuaikan transisi dari dan ke state state gabungan tersebut.

30 distringuishable dapat dibedakan indistringuishable tidak dapat dibedakan 2 buah state p dan q dari DFA dikatakan indistrnguishable Jika δ ( q, w ) F sedang δ ( p, w ) F δ ( q, w ) F sedang δ ( p, w ) F untuk semua w Σ State p dan q dikatakan distinguishable jika ada string w Σ δ ( q, w ) F sedang δ ( p, w ) F contoh : qo o 1 q1 o o q2 o 1 q3 o 1 q4 Lakukan reduksi jumlah state terhadap mesin tersebut

31 Tahap tahap yang dilakukan untuk reduksi jumlah state adalah 1. Tidak ada state yang tak dicapai dari state awal 2. Catat state state yang distinguishable sbb : pasangan ( q0, q4 ), ( q1, q4 ) ( q2, q4 ) dan ( q3, q4 ) dicatat dari q0, q1, q2, q3 bukan elemen final state, sedangkan q4 F 3. Tentukan pasangan state lain : pasangan ( q0, q1 ) : δ ( q0, 1) = q3 dan δ ( q1, 1) = q4 sedangkan ( q3, q4 ) distinguishable, maka ( q0, q1 ) juga distinguishable pasangan ( q0, q2 ) : δ ( q0, 1) = q3 dan δ ( q2, 1) = q4 sedangkan ( q3, q4 ) distinguishable, maka ( q0, q2 ) juga distinguishable pasangan ( q0, q3 ) : δ ( q0, 1) = q3 dan δ ( q3, 1) = q4 sedangkan ( q3, q4 ) distinguishable, maka ( q0, q3 ) juga distinguishable

32 4. Periksa semua pasangan state : State state distinguishable : ( q0, q4 ), ( q1, q4 ), ( q2, q4 ), ( q3, q4 ), ( q0, q1 ), ( q0, q2 ), ( q0, q3 ) State state indistinguishable : ( q1, q2 ), ( q1, q3 ), ( q2, q3 ) 5. q1 indistinguishable q2, q2 indistinguishable dengan q3, maka q1, q2, q3 saling indistinguishable dan dapat dijelaskan dalam satu state 6. Gambar setelah reduksi jumlah state qo q123 q4 0, ,1

33 Latihan Soal 1. Lakukan Reduksi jumlah state terhadap mesin berikut : qo q1 q3 0,1 o 1 q2 q4 q ,1 Tahap tahap yang dilakukan untuk reduksi jumlah state adalah sbb : 1. Ada state yang tak dicapai dari state awal yaitu q5 (dihapus) 2. Distinguishable :..( q0, q3 ), ( q2, q4 ), ( q1, q4 ) ( q2, q3 ), ( q0, q4 ), ( q1, q3 ) q0, q1, q2, F q3, q4 F

34 3. State state distinguishable yang lain : ( q0, q1 ) δ ( q0, 1 ) = q3 δ ( q1, 1 ) = q4 ( q3, q4 ) ( q0, q2 ) δ ( q0, 1 ) = q3 δ ( q2, 1 ) = q4 ( q3, q4 ) 4. Distinguishable : ( q0, q3 ), ( q2, q4 ), ( q1, q4 ), ( q2, q3 ) ( q0, q4 ), ( q1, q3 ), ( q0, q1 ), ( q0, q2 ) Indistinguishable : ( q1, q2 ), ( q3, q4 ) 5. q1 dan q2 saling indistinguishable q2 dan q3 saling indistinguishable qo q123 1 q4

35 2. 0 q1 0 0 q3 qo q5 q2 0,1 0,1 q4 1 0 q6 0,1 Tahap tahap yang dilakukan untuk reduksi jumlah state adalah sbb : 1. Tidak ada state yang tak dicapai dari state awal 2. Distinguishable:( q0, q1 ), ( q0, q3 ), ( q2, q4 ), ( q2, q6 ), ( q5, q4 ), ( q5, q6 ) q0, q4, q6 F q1, q2, q3, q5 F

36 3. State state distinguishable yang lain : ( q0, q2 ) δ ( q0, 1 ) = q2 ( q2, q4 ) δ ( q2, 1 ) = q4 ( q0, q4 ) δ ( q0, 1 ) = q2 ( q2, q4 ) δ ( q4, 1 ) = q4 ( q0, q5 ) δ ( q0, 1 ) = q2 ( q2, q4 ) δ ( q5, 1 ) = q4 ( q0, q6 ) δ ( q0, 1 ) = q2 ( q2, q6 ) δ ( q6, 1 ) = q6 ( q1, q4 ) δ ( q1, 1 ) = q5 ( q5, q4 ) δ ( q4, 1 ) = q4 ( q1, q6 ) δ ( q1, 1 ) = q5 ( q5, q6 ) δ ( q6, 1 ) = q6 ( q3, q4 ) δ ( q3, 1 ) = q5 ( q5, q4 ) δ ( q4, 1 ) = q4 ( q3, q6 ) δ ( q3, 1 ) = q5 ( q5, q6 ) δ ( q6, 1 ) = q6

37 4. Distinguishable : ( q0, q1 ), ( q0, q2 ), ( q0, q3 ), ( q0, q4 ), ( q0, q5 ), ( q0, q6 ), ( q1, q4 ), ( q1, q6 ), ( q2, q4 ), ( q2, q6 ), ( q3, q4 ), ( q3, q6 ), ( q5, q4 ), ( q5, q6 ) Indistinguishable : ( q1, q2 ), ( q1, q3 ), ( q1, q5 ), ( q2, q3 ), ( q2, q5 ), ( q3, q5 ), ( q4, q6 ) 5. q1, q2, q3, q5 saling indistinguishable q4, q6 saling indistinguishable qo q123 q

38 Tugas 1. Gambarkan diagram transisi dari Deterministic Finite Automata berikut Q = { q 0, q 1, q 2 } = { a,b } S = q 0 F = {q 0 } Fungsi transisi dari DFA tersebut δ a b q0 q1 q2 q1 q2 q0 q2 q2 q2

39 2. Bila L(M) adalah bahasa yang diterima oleh Deterministic Finite Automata pada gambar di bawah, tentukan string berikut termasuk dalam L(M ) qo a, b b q1 a a. aaa b. bbbb c. abba

40 PERTEMUAN 3 EKIVALENSI NFA KE DFA

41 Tahapan Pengubahan Non-Deterministic Finite Automata ke Deterministic Finite Automata Dari sebuah mesin Non-Deterministic Finite Automata dapat dibuat mesin DFA yang ekivalen. Ekivalen artinya mampu menerima bahasa yang sama. * Suatu DFA dapat dipandang sebagai kasus khusus (subset) dari NFA. Jelas bahwa kelas bahasa yang diterima oleh DFA juga akan diterima oleh DFA Namun ternyata DFA juga dapat mensimulasikan NFA; yaitu untuk setiap NFA kita dapat membuat DFA yang ekivalen Dapat dibuktikan bahwa DFA dan NFA adalah ekivalen, sehingga dapat disebut FA saja Simulasi NFA oleh DFA Cara simulasi NFA oleh DFA adalah dengan membuat state DFA berkorespondensi dengan set state di NFA DFA yang dibentuk mencatat semua state yang mungkin pada NFA setelah membaca input tertentu

42 Contoh : EKIVALENSI NFA ke DFA Mesin NFA 0 q q1 Konfigurasi mesin 1 Tabel Transisi Q = ( { q0 }, { q1} ) δ 0 1 q0 { q0, q1 } q1 q1 φ { q0, q1 } Σ = { 0, 1 } S = q0 F = q1 Telusuri setiap state yang ada dimulai dari { q0 } : State { q0 } bila memperoleh input o menjadi state { q0, q1 } State { q0 } bila memperoleh input 1 menjadi state { q1 }

43 qo 1 0 { q1 } {qo, q1} State { q1 } - State { q1 } bila memperoleh input o menjadi state φ - State { q1 } bila memperoleh input 1 menjadi state { q0, q1 } State { q0, q1 } bila memperoleh input o menjadi state { q0, q1 } diperoleh dari δ ( q0, 0 ) = { q0, q1 } δ ({ q0, q1}, 0) = { q0, q1 } δ ( q1, 0 ) = φ State { q0, q1 } bila memperoleh input 1 menjadi { q0, q1 } diporoleh dari δ ( q0, 1 ) = { q1 } digabung δ ( q1, 1 ) = { q0, q1 } δ ({ q0, q1 }, q1) = { q0, q1}

44 Hasil setelah penelusuran { q1 }, { q0 }, { q0, q1 } qo q1 1 0 φ 1 0,1 δ ( φ, 0 ) = φ 0 δ ( φ, 1 ) = φ { q0, q1} F = ({ q1 }, { q0, q1 }) Hasilnya adalah mesin DFA 0.1 Tabel Transisi δ 0 1 q0 { q0, q1 } q1 q1 φ { q0, q1 } { q0, q1 } { q0, q1 } { q0, q1 } φ φ φ Konfigurasi Mesin Q = ( qo, { q0, q1 }, q1, φ ) ε = { 1,0 } S = q0 F = ( q1, { q0, q1 } )

45 Tugas 1. Buatlah DFA yang ekuivalen dengan NFA berikut Q = { p, q, r, s} = { 0, 1} S = p F = {s} Fungsi transisinya dinyatakan dalam tabel transisi berikut δ 0 1 p p, q p q r r r s - s s s

46 2. Buatlah DFA yang ekuivalen dengan NFA berikut Q = { p, q, r, s} = { 0, 1} S = p F = {q, s} Fungsi transisinya dinyatakan dalam tabel transisi berikut δ 0 1 p p, s p q r q,r r s p s - p

47 PERTEMUAN 4 Ekivalensi NFA ε - MOVE ke NFA TANPA ε - MOVE

48 NFA ε MOVE NFA ε MOVE adalah mesin NFA yang diperbolehkan mengubah state tanpa membaca input. Disebut dengan transisi ε karena tidak bergantung pada suatu input ketika melakukan transisi. Contoh NFA ε - MOVE - q0 tanpa membaca input dapat berpindah ke q1 - q1 tanpa membaca input dapat berpindah ke q2 - q4 tanpa membaca input dapat berpindah ke q1 ε - closure adalah himpunan state state yang dapat dicapai dari suatu state tanpa membaca input

49 ε - closure ( q0 ) = { q0, q1, q2 } ε - closure ( q1 ) = { q1, q2 } ε - closure ( q2 ) = { q2 } ε - closure ( q3 ) = { q3 } ε - closure { q4 ) = { q1, q2, q4 } Pada suatu state yang tidak memiliki transisi ε maka ε - closureny adalah state itu sendiri.

50 EKIVALENSI NFA ε - MOVE KE NFA tanpa ε - MOVE Tahapan tahapan / langkah ekivalensi NFA dengan ε - move ke NFA tanpa ε - Move : 1. Buat tabel Transisi NFA ε - Move 2. Tentukan ε - Closure untuk setiap state 3. Carilah setiap fungsi hasil perubahan dari NFA ε - Move ke NFA tanpa ε - Move dengan rumus : δ ( state, input ) = ε - closure ( δ (ε - closure (state), input )) 4. Berdasarkan hasil no. 3 buat tabel transisi & diagram transisi NFA tanpa ε - Move yang ekivalensi dengan NFA ε - Move ε

51 5. Tentukan state akhir untuk NFA tanpa ε - Move tersebut, yaitu state state akhir semua & tambah dengan state state yang Σ - closurenya menuju ke salah satu dari state akhir semula. Contoh mesin NFA ε - Move Buat Ekivalensi NFA ε - Move ke NFA tanpa ε - Move

52 1. Tabel Transisi NFA ε - Move δ a b q0 φ φ q1 q2 q3 q2 φ φ q3 φ φ 2. ε - closure ( q0 ) = { q0, q1 } ε - closure ( q1 ) = { q1 } ε - closure ( q2 ) = { q2 } ε - closure ( q3 ) = { q3 }

53 3. δ ( state, input ) = ε - closure ( δ (ε - closure (state), input )) δ ( q0, a ) = ε - closure ( δ (ε - closure (q0), a )) = ε - closure ( δ ( { q0, q1 }, a )) = ε - closure ( q2 ) = { q2 } δ ( q0, b ) = ε - closure ( δ (ε - closure (q0), b )) = ε - closure ( δ ( { q0, q1 }, b )) = ε - closure ( q3 ) = { q3 } δ ( q1, a ) = ε - closure ( δ (ε - closure (q1), a )) = ε - closure ( δ ( { q1 }, a )) = ε - closure ( q2 ) = { q2 } δ ( q1, b ) = ε - closure ( δ (ε - closure (q1), b )) = ε - closure ( δ ( { q1 }, b )) = ε - closure ( q3 ) = { q3 }

54 δ ( q2, a ) = ε - closure ( δ (ε - closure (q2), a )) = ε - closure ( δ ( { q2 }, a )) = ε - closure ( φ ) = φ δ ( q2, b ) = ε - closure ( δ (ε - closure (q2), b )) = ε - closure ( δ ( { q2 }, b )) = ε - closure ( φ ) = φ δ ( q3, a ) = ε - closure ( δ (ε - closure (q3), a )) = ε - closure ( δ ( { q3, a } ) = ε - closure ( φ ) = φ δ ( q3, b ) = ε - closure ( δ (ε - closure (q3), b )) = ε - closure ( δ ( { q3 }, b )) = ε - closure ( φ ) = φ

55 4. Tabel Transisi NFA tanpa ε - Move δ a b q0 q2 q3 5. q0 a q2 q1 q2 q3 q2 φ φ q3 φ φ b q1 b a q3

56 Tugas 1. Buatlah NFA tanpa ε-move yang ekuivalen dengan NFA ε-move pada gambar di bawah ini, ( = {0,1,2}) ε ε q0 q1 q2

57 2. Buatlah NFA tanpa ε-move yang ekuivalen dengan NFA ε-move pada gambar di bawah ini, ( = {0,1,2}) 0 q0 ε q1 1

58 Ekspresi Reguler Pertemuan 5

59 5.1. Penerapan Ekspresi Reguler (ER) Sebuah bahasa dinyatakan reguler jika terdapat Finite State Automata(FSA) yang dapat menerimanya. Bahasa yang diterima oleh suatau FSA dapat dinyatakan secara sederhana dengan Ekspresi Reguler ER. ER memberikan suatau pola (pattern) atau template untuk untai(string) dari suatu bahasa. Banyak masalah pada perancangan perangkat lunak yang dapat disederhanakan dengan melakukan pengubahan notasi ER ke dalam implementasi komputer dari FSA yang bersangkutan.

60 5.2. Notasi ER Tabel 5.1. Notasi ER Nama Symbol Keterangan asterik * Bisa tak muncul, bisa juga muncul berhingga kali (0 sampai n) plus + Gabungan atau union Atau plus + Tanda plus pada posisi superscript, berarti minimal muncul satu kali (1-n) titik. Berarti konkatenasi. Biasanya titik bisa dihilangkan. Misalnya a.b = ab

61 Table 5.2. Contoh ER Ekspresi ER String yang dibangkitkan ab*cc abcc, abbcc, abbbcc, acc 010* 01, 010, 0100, a*d d, ad, aad, aaad a + d ad, aad, aaad a* b* a, b, aa, bb, aaa, bbb, a b a, b (a b)* a, b, aa, ab, bba, aaa, bbb, 01*+0 00, 010, 0110, 01110,

62 5.3. HubunganER danfsa Untuk setiap ER, ada satu Non-Deterministik Finite Automata dengan transisi ε(nfa ε-move) Sementara untuk Deterministik Finite AutomataDFA ada satu ER dari bahasa yang diterima Sederhananya kita dapat membuat satu NFA ε-move dari Sederhananya kita dapat membuat satu NFA ε-move dari suatu ER

63 a ε b q 0 q 1 q 2 q 3 Gambar 5.1. NFA ε-move untuk ER: ab a q 0 ε b q 1 q 2 Gambar 5.2. NFA ε-move untuk ER: a*b

64 ε a ε q 0 q 1 q 2 q 3 ε b q 4 q 5 ε Gambar 5.3. NFA ε-move untuk ER: a b

65 Tentukan ER untuk setiap mesin FSA pada gambar 5.4 dan gambar q 0 q 1 q 2 0 Gambar 5.4. Mesin FSA

66 a a b q 0 q 1 q 3 a q 2 b q 4 a b Gambar 5.5. Mesin FSA

67 Hubungan antara NFA, ε-move, DFA, dan ER NFA DFA NFA ε-move ER

68 Studi Kasus: Latihan 1. kita ingin membuat mesin DFA yang menerima bahasa berupa semua string yang berakhiran dengan 00, diketahui Σ=(0,1). Tentukan: ER, Mesin NFA, dan Mesin DFA 2. kita ingin membuat mesin DFA yang menerima bahasa berupa semua stringyang memuat minimal dua nol berurutan 00, diketahui Σ=(0,1). Tentukan: ER, Mesin NFA, dan Mesin DFA

69 EKSPRESI REGULAR

70 EKSPRESI REGULAR Notasi Ekspresi Regular : * Yaitu karakter asterik ; berarti bisa tidak muncul, bisa juga muncul berhingga kali. + ( pada posisi superscript/ diatas ) berarti minimal muncul satu kali + atau berarti union berarti gabungan Contoh Ekspresi Regular 1. ER : ab*cc Contoh string yang dibangkitkan/ dibentuk : abcc, abbcc, abbbcc, abbbbcc, acc 2. ER : 010* Contoh string yang dibentuk : 01, 010, 0100, 01000, ER : a*d String yang dibentuk : d, ad, aad, aaad

71 4. ER : a + d Contoh string yang dibentuk : ad, aad, aaad 5. ER : a* b* ( berarti atau ) string yang dibentuk : a, b, aa, bb, aaa, bbb, aaaa, bbbb 6. ER : ( a b ) berarti atau string yang dibentuk : a, b 7. ER : ( a b )* string yang dibentuk : a, b, ab, ba, abb, bba, aaaa, bbbb notasi kadang ditulis + 8. ER : 01* + 0 string yang dibentuk : 0, 01, 011, 0111, 01111

72 Hubungan Ekspresi Regular & FSA qo 1. a ε b q1 q2 q3 ER ; ab a ε b qo q1 q2 2. ER ; a*b 3. qo a q1 ER : a b b q ER ; 010* qo q1 q2 0 1

73 5. 0 0,1 qo q1 q2 ER ; 0 ( 1 0 ) 0,1 qo 6. 0 q1 ER ; 0 ( 1 0 ) * ER ; 01* ER ; 0*10* qo q1 q2 qo 1 9. a q0 q1 ER ; a*

74 10. a qo q1 b ER ; a ( ba )* 11. a q0 ER ; ( ab ) * b q qo q1 q2 ER ; 01* 10*11* 0

75 Aturan Produksi Untuk Finite State Automata(FSA) Pertemuan 6

76 6. 1. Aturan Produksi Bahasa Reguler Sebuah otomata berhingga menspesifikasikan sebuah bahasa sebagai himpunan semua untai yang menggerakkannya dari stateawal ke salah satu stateyang diterimanya (himpunan state akhir) Misalkan untuk sebuah ER: a(a* b*)b. Selain dengan ER, kita dapat mengkonstruksi aturan-aturan produksi untuk suatu tata bahasa reguler. Kita ingat juga batasan aturan produksi untuk bahasa reguler: α β(dibaca: α menghasilkan β) dimana αadalah sebuah simbol variabel, dan βmaksimal memiliki sebuah simbol variabel yang terletak di paling kanan (bila ada) αdan βdapat berupa simbol terminal atau simbol nonterminal (variabel)

77 Simbol variabel (non-terminal adalah simbol yang masih bisa diturunkan, sedangkan simbol terminal sudah tidak bisa diturunkan lagi. Simbol terminal biasanya dinyatakan dengan huruf kecil, misal: a, b, c. Simbol non-terminal (variabel) biasanya dinyatakan dengan huruf besar, misal: A, B, C. Suatu tata bahasa (grammer) didefinisikan dengan empat tupel (G={V, T, P, S}), dimana: v = himpunan simbol variabel T = himpunan simbol terminal P = kumpulan aturan produksi S = simbol awal

78 ε q 2 b a q 0 q 1 q 3 a ε b q 3 b Gambar 6.1. Mesin FSA

79 Dari gambar 6.1., kumpulan aturan produksi yang kita peroleh dapat dituliskan sbb: S ae E A B A aa B B bb b Secara formal, tata bahasa (grammer) yang diperoleh dari otomata pada gambar 6.1. adalah: V = {S, E, A, B} T = {a, b} P = {S Ae, E A B, A aa B, B bb b} S = S

80 6.2. Mengkonstruksi Aturan Produksi dari Suatu FSA Dalam mengkonstruksi aturan produksi tata bahasa reguler dari suatu FSA, yang menjadi perhatian kita adalah state-state yang dapat menuju ke state akhir. Mesin FSA pada gambar 6.1, memiliki simbol input a dan b. simbol tersebut akan menjadi terminal pada aturan produksi yang akan kita bentuk. Misalkan kita tentukan simbol awal adalah S, state awal q 0, dari q 0 mendapat input a menjadi q 1.Aturan produksi yang dapat ditulis adalah: S ae E dapat kita identikkan denga q 1, lebih tepatnya adalah bagian yang belum terbangkitkan mulai dari q 1.

81 Kita dapat menambahkan simbol variabel baru setiap kali kita perlukan. Dari q 1 mendapat tramsisi-e (tanpamenerimainput) keq 2 dan q 3, kitatuliskan: E A E B Jikakitaidentikkanq 2 sebagaia, danq 3 sebagaib; dariq 2 mendapatinput a tetapkeq 2 ; dariq 3 mendapatinput b tetap keq 3 ; bisakitatuliskan: A aa B bb

82 Selanjutnyakitalihat: dariq 2 memberikaninput b keq 4 ; dari q 3 memberikaninput b keq 4 ; sementaraq 4 merupakanstate akhir, maka bisa dituliskan: A b B b Kumpulan aturan prosuksi yang kita peroleh adalah sbb: S ae E A B A aa B B bb b

83 Secara formal, tata bahasa yang diperoleh dari otomata pada gambar 6.1 adalah sbb: V = {S, E, A, B} T = {a, b} P = {S ae; E A B; A aa B; B bb b} S = S

84 6.3. FSA Untuk Suatu Tata Bahasa Reguler Bila sebelumnya dari suatu diagram transisi FSA kita dapat membuat aturan-aturan produksinya, sebaliknya kita juga dapat mengkonstruksi diagram transisi FSA untuk suatu tata bahasa teguler yang diketahui aturan-aturan produksinya. Misalnya terdapat tata bahasa reguler dengan aturan produksi sbb: S ab ba ε A abas B babs FSA dari aturan produksi diatas, seperti yang pada gambar 6.2. berikut ditunjukkan

85 a b q 0 q 2 b q 1 b a q 3 q 4 a a q 5 b q 6 Gambar 6.2. FSA dari suatu regular grammer

86 ATURAN PRODUKSI

87 ATURAN PRODUKSI α β α menurun β α menghasilkan β α atau β bisa berupa simbol variabel terminal atau non terminal. Gramer didefinisikan dengan 4 tipe ( G = { VN, VT, P, S } ) VN : himpunan simbol variabel non terminal VT : himpunan simbol variabel terminal P : himpunan aturan produksi S : simbol awal Contoh mesin FSA a qo q1 a ε q2 ε b q3 b b q4

88 Aturan produksi dari mesin FSA S ae S adalah q0 q1 didefinisikan dengan E E adalah q1 q1 identik dengan E q0 identik dengan S dari q1 tanpa mendapat input menuju q2 dan q3 E A A identik q2 E B B identik q3 dari q2 mendapat input a tetap ke q2 dari q3 mendapat input b tetap ke q3 A aa B bb dari q2 mendapat input b ke q4 dari q3 mendapat input b ke q4

89 A b B b Karena q4 adalah final state yang tidak memiliki busur keluar atau keluaran maka q4 tidak didefinisikan atau diabaikan Kumpulan Aturan Produksi S ae E A B A aa b B bb b berarti atau VN = { S, E, A, B } S = S VT = { a, b } P = { S ae, E A B, A aa b, B bb b }

90 Finite State Automata (FSA) Dengan Output Pertemuan 9

91 7.1. Mesin Moore Suatu keterbatasan dari FSA yang sudah dipelajari sebelumnya adalah: keputusannya terbatas pada diterima atau ditolak. Otomata tsb biasa disebut dengan accepter (dalam hal ini FSA). Kita dapat mengkonstruksi sebuah FSA yang memiliki keputusan beberapa keluaran (output), dalam hal ini otomata tersebut dikenal sebagai transducer. Pada mesin Moore, output akan berasosiasi dengan state.

92 Mesin Moore didefinisikan dalam 6 tupel, yaitu: M=(Q, Σ, δ, S,, λ) Dimana: Q = himpunan state Σ = himpunan simbol input δ = fungsi transisi S = state awal, dimana S Q = himpunan output λ = fungsi output untuk setiap output

93 Contoh Mesin Moore Misalnya kita ingin memperoleh sisa pembagian(modulus) suatu bilangan dengan 3, dimana input dinyatakan dengan biner. Konfigurasi mesinnya adalah sbb: Q = {q 0, q 1, q 2 } Σ = {0, 1} S = q 0 = {0, 1, 2} untukoutput padakasusmod dengan 3, kemungkinansisapembagiannyaadalah1, 2 atau3 λ = q 0 =0, q 1 =1, q 2 =2

94 0 1 1 q 0 q 0 1 q Gambar 7.1. Mesin Moore untuk MOD 3 Coba buktikan untuk: 5 MOD MOD 3 (Input nya harus dirubah dulu kedalam biner)

95 7.2. Mesin Mealy Bila output pada mesin Moore berasosiasi dengan state, maka output pada mesin Mealy akan berasosiasi dengan transisi. Mesin Mealy sendiri didefinisikandalam 6 tupel, yaitu: Dimana: M=(Q, Σ, δ, S,, λ) Q = himpunan state Σ = himpunan simbol input δ = fungsi transisi S = state awal, dimana S Q = himpunan output λ = fungsi output untuk setiap output

96 Contoh Mesin Mealy Mesin ini akan mengeluarkan output menerima Y atau menolak T suatu masukan biner. Dengan ketentuan: mesin akan mengeluarkan output Y bila menerimauntaiyang memilikiduasimbolberurutanyang sama, atau secara formal dalam ER: (0+1)*(00+11) Konfigurasi mesinnya adalah sbb: Q = {q 0, q 1, q 2 } Σ = {0, 1},0 S = q 0 = {Y, T} λ(q 0,0)=T; λ(q 0,1)=T; λ(q 1,0)=Y; λ(q 1,1)=T λ(q 2,0)=T; λ(q 2,1)=Y

97 0/Y 0/T q 1 q 0 1/T 0/T 1/T q 2 1/Y Gambar 7.2. Contoh Mesin Mealy Coba buktikan untuk input yang diterima: 01011; 01100; ; ; 00; 11; 100; 011; 111; 0101; 0010

98 7.3. Ekuivalensi Mesin Moore dan Mesin Mealy Dari suatu mesi Moore, dapat dibuat mesin Mealy yang ekuivalen, begitu juga sebaliknya. State pada mesin Moore dibentuk dari kombinasi state pada Mealy dan banyaknya output. Untuk mesin Mealy pada gambar 7.2, jumlah state=3; dan jumlah output=2; maka jumlah state pada mesin Moore yang ekuivalen adalah=6.

99 Konfigurasi mesin Moore yang dibentuk adalah: Q = {q 0 Y,q 0 T,q 1 Y,q 1 T,q 2 Y,q 2 T} Σ = {0, 1} S = q 0 = {0,1,2} λ(q 0 Y)=Y; λ(q 0 T)=T; λ(q 1 Y)=Y; λ(q 1 T)=T; λ(q 2 Y)=Y; λ(q 2 T)=T

100 1 1 Y q 0 T 0 0 q 0 T q 0 T T T T q 0 T q 0 T q 0 T Y 1 Gambar 7.3. Mesin Moore yang ekuivalen dengan Mesin Mealy pada gambar 7.2. Y 1

101 Untuk memperoleh ekuivalensi mesin Mealy dari suatu mesin Moore, caranya lebih mudah, cukup dengan menambahkan label output ke setiap transisi, dan menghapus label output pada setiap state Konfigurasi mesin Moore yang dibentuk adalah: Q = {q 0, q 1, q 2 } Σ = {0, 1} S = q 0 = {0, 1, 2} λ(q 0,0)=0; λ(q 0,1)=1 λ(q 1,0)=2; λ(q 1,1)=0 λ(q 2,0)=1; λ(q 2,1)=3

102 0/0 1/2 1/1 q 0 q 0/2 1 q 2 1/0 0/1 Gambar 7.4. Mesin Mealy yang ekuivalen dengan Mesin Moore pada gambar 7.1.

103 FSA (FINITE STATE AUTOMATA) DENGAN OUTPUT

104 Mesin Moore dengan 6 Tuple M = (Q, Σ, δ, S,, λ) Q = Himpunan State Σ = Himpunan simbol input δ = Fungsi transisi S = State awal, S Q = Himpunan output λ = Fungsi output untuk setiap state Contoh : konfigurasi mesin Q = {q 0, q 1, q 2 } Σ = {0, 1) = {0, 1, 2} S = (q 0 ) λ(q 0 ) = 0 λ(q 1 ) = 1 λ(q 2 ) = 2

105 q q 1 q 2 0 Mesin Moore untuk modulus mod 3 =? mod hasil dari sisa pembagian bilangan biner 5 = 101 urutkan state : δ (q 0, 101) = δ(q 1, 01) = δ (q 2, 1) = q 2 Berakhir pada q 2 λ (q 2 )= 2 maka 5 mod 3 = 2

106 10 mod Bilangan biner 10 = 1010 Urutkan state : δ (q 0, 1010) = δ (q 1, 010) = δ ( q 2, 10) = δ ( q 2, 0) = q 1 Beakhir pada q 1 λ (q 1 ) = 1 maka 10 mod 3 = 1 MESIN MEALY Dengan 6 tuple M = (Q, Σ, δ, S,, λ )

107 Contoh Mesin Mealy : Konfigurasi mesin Q = {q 0, q 1, q 2 } Σ = { 0, 1} = { Y, T} S = {q 0 } λ = (q 0, 0) = T λ = (q 0, 1) = T λ = (q 1, 0) = Y λ = (q 1, 1) = T λ = (q 2, 0) = T λ = (q 2, 1) = Y

108 0 / T q 1 0/Y Jika MEsin Mealy menerima input , apakah diterima oleh mesin tersebut? q 0 1/T 1/T 0/T δ (q 0, ) = δ (q 2, 10101) T = δ (q 2, 0101) = δ (q 1, 101) Y T q 2 1/Y = δ (q 2, 01) = δ (q 1, 1) = q 2 Y T T Tidak diterima input , ditolak oleh Mesin Mealy

109 Contoh soal : Mesin Moore q 0 q q 1 0 q q Buat konfigurasi mesin tersebut - Jika mesin menerima input , output? q 5 1 δ (q 0, ) = δ (q 1, ) = δ (q 3, 01011) 1 3 = δ (q 3, 1011) = δ (q 4, 011) = δ (q 2, 11) = δ (q 5, 1) = q

110 Input = λ ( q 0 ) = 0 Output = λ ( q 1 ) = 1 Q = {q 0, q 1, q 2, q 3, q 4, q 4 } λ ( q 2 ) = 2 Σ = {0, 1} λ ( q 3 ) = 3 = { 0, 1, 2, 3, 4, 5 } λ ( q 4 ) = 4 S = q 0 λ ( q 4 ) = 4 A

111 LATIHAN : 1. JIka Mesin Moore pada contoh soal didapat , Output? 2. Pada Mesin Moore Modulus 3 40 mod 3? 55 mod 3? 73 mod 3? 3. Pada mesin Mealy jika input apakah diterima?

112 1. δ (q 0, ) = δ (q 1, ) = (q 2, ) 1 2 = δ (q 5, ) = δ (q 1, ) = δ (q 3, ) = δ (q 3, ) = δ (q 4, ) = δ (q 4, 01011) = δ (q 2, 101) = δ (q 5, 011) = δ (q 1, 11) = δ (q 3, 1) = q Input = Output =

113 2. 40 mod 3 bilangan biner 40 = urutkan state : δ (q 0, ) = δ (q 1, 01000) = δ (q 2, 1000) = δ (q 2, 000) = δ (q 1, 00) = δ (q 1, 0) = q 1 Berakhir pada λ (q 1 )= 1 40 mod 3 = 1

114 55 mod 3 bilangan biner 55 = urutkan state : δ (q 0, ) = δ (q 1, 10111) = δ (q 0, 0111) = δ (q 0, 111) = δ (q 1, 11) = δ (q 1, 1) = q 1 Berakhir pada Q1 λ (q 1 ) = 1 55 mod 3 = 1 73 mod 3 bilangan biner 73 = δ (q 0, ) = δ (q 1, ) = δ (q 2, 01001) = δ (q 1, 1001) = δ (q 0, 001) = δ (q 0, 01) = δ (q 0, 1) = q 1 berakhir pada q 1 λ (q 1 ) = 1 73 mod 3 = 1

115 3. Jika input , apakah diterima? δ (q 0, ) = δ (q 1, ) = δ (q 2, ) T T = δ (q 2, ) = δ (q 1, ) = δ (q 1, 1011) Y T T = δ (q 2, ) = δ (q 2, 01011) = δ (q 1, 1011) T Y T = δ (q 2, 011) = δ (q 1, 11) = δ (q 2, 1) = q 2 T T T T

116 Pohon penurunan Pertemuan 10

117 8.1. Tata Bahasa Bebas Konteks Bila pada tata bahasa reguler terdapat pembatasan pada ruas kanan atau hasil produksinya, maka pada tata bahasa konteks (context free grammer), selanjutnya kita sebut CFG, tidak terdapat pembatasan hasil produksinya. Seperti halnya pada tata bahasa reguler, sebuah CFG adalah suaatu cara yang menunjukkan bagaimana menghasilkan untai-untai dalam sebuah bahasa.

118 Pada saat menurunkan suatu string, simbol-simbol variabel akan mewakili bagian-bagian yang belm terturunkan dari string tersbut. Pada tata bahasa reguler: bagian yang belum terturunkan tsb selalu terjadi pada suatu ujung. Pada tata bahasa bebas konteks: bisa terdapat lebih banyak bagian yang belum terturunkan dan bisa terjadi dimana saja. Ketika penurunan itu telah lengkap, semua bagian yang belum terturunkan telah diganti oleh string- string (yang mungkin sja kosong) dari himpunan simbol terminal.

119 8.2. Parsing Sebuah pohon (tree) adalah suatu graph terhubung tidak sirkuler, yang memiliki satu simpul (node) / vertex yang disebut akar (root) dan dari Node memiliki lintasan ke setiap simpul. Pohon penurunan (derivation tree/parse tree) berguna untuk Pohon penurunan (derivation tree/parse tree) berguna untuk menggambarkan bagaimana memperoleh suatu string (untai) dengan cara menurunkan simbol-simbol variabel (VN) menjadi simbol-simbol terminal (VT). Setiap simbol variabel akan diturunkan menjadi terminal, sampai tidak ada yag belum tergantikan

120 Misalnya, terdapat tata bahasa bebas konteks dengan aturan produksi sbb: S AB A aa a B bb b akan kita gambarkan pohon penurunan untuk memperoleh untai: aabbb S A a A b B B a b B b

121 Proses penurunan atau parsing bisa dilakukan dengan cara sbb: Penurunan terkiri(leftmost derivation): Proses Penurunan dimulai dari simbol S, dgn simbol variabel terkiri yang diperluas terlebih dahulu. Penurunan terkanan(rightmost derivation): Proses penurunan dimulai simbol S, dgn simbol variabel terkanan yang diperluas terlebih dahulu.

122 Misal, terdapat tata bahasa bebas konteks: S aas a A SbA ba Untuk memperoleh untai aabbaa dari tata bahasa bebas konteks diatas adalah: Denganpenurunanterkiri: S aas asbas aabas aabbas aabbaa Dengan penurunan terkanan: S aas aaa asbaa aabaa aabbaa

123 S a A S S b A a a b a Gambar 8.2. Pohon Penurunan untuk untai aabbaa

124 8.3. Ambiguitas Ambiguitas/kedwiartian terjadi bila terdapat lebih dari satu pohon penurunan yang berbeda untuk memperoleh suatu untai. Misalkan terdapat tata bahasa bebas konteks sb: S A B A a B a Untuk memperoleh untai a bisa terdapat dua cara penurunan, yaitu: S A a S B a

125 Contoh lain, terdapat tata bahasa konteks: S SbS ScS a Coba anda tentukan cara untuk menurunkan untai abaca. Dan buatkanlah pohon penurunannya.

126 Pertemuan11 PENYEDERHANAAN TATA BAHASA BEBAS KONTEKS

127 Tujuan Melakukan pembatasan sehingga tidak menghasilkan pohon penurunan yang memiliki kerumitan yang tidak perlu atau aturan produksi yang tidak berarti. Contoh 1: S AB a A a Aturan produksi S AB tidak berarti karena B tidak memiliki penurunan Contoh 2 : S A A B B C C D D a A

128 Memiliki kelemahan terlalu panjang jalannya padahal berujung pada S a, produksi D A juga menyebabkan kerumitan. Cara Penyederhanaan: 1. Penghilangan produksi useless ( tidak berguna ) 2. Penghilangan produksi unit 3. Penghilangan produksiε Penghilangan Produksi Useless Di sini produksi useless didefinisikan sebagai : * Produksi yang memuat symbol variabel yang tidak memiliki penurunan yang akan menghasilkan terminal-terminal seluruhnya. * Produksi yang tidak akan pernah dicapai dengan penurunan apapun dari simbol awal, sehingga produksi itu redundan ( berlebih )

129 Contoh : S asa Abd Bde A Ada B BBB a Maka 1) Aturan Produksi A Ada, Ada, Simbol variabel A tidak memiliki penurunan yang menuju terminal, sehingga bisa dihilangkan 2) Konsekuensi no (1), aturan produksi S Abd tidak memiliki penurunan Penyederhanaan menjadi: S asa Bde B BBB a

130 Contoh : S Aa B A ab D B b E C bb E aea Maka : 1) Aturan produksi A D, simbol variabel D tidak memiliki penurunan. 2) Aturan produksi C bb, Penurunan dari simbol S, dengan jalan manapun tidak akan pernah mencapai C 3) Aturan Produksi E aea, Simbol variabel E tidak memiliki aturan produksi yang menuju terminal 4) Konsekuensi no (3) Aturan produksi B E, simbol variabel E tidak memiliki penurunan.

131 maka produksi yang useless: A D C bb E aea B E Penyederhanaannya menjadi: S Aa B A ab B b

132 Contoh : S aab ceb A dbe eec B ff C ae D h Analisa : 1) Aturan produksi S ceb, A dbe dapat dihilangkan ( E tidak memiliki penurunan) 2) Aturan produksi D h, redundan Sisa aturan produksi S aab A eec B ff C ae

133 Analisis lagi B ff juga redundan, Hasil penyederhanaan menjadi: S aab A eec C ae Contoh lain lagi : S ab A bcd dac B e Ab C bcb adf ab F cfb

134 Analisis 1) Aturan produksi A bcd, variabel D tidak memiliki penurunan 2) Konsekuensi no (1), simbol variabel A tidak memiliki penurunan yang menuju terminal (tinggal A dac) 3) Konsekuensi no (2), B Ab tidak memiliki penurunan 4) Simbol variabel F tidak memiliki penurunan yang menuju terminal 5) Konsekuensi no (4), C adf tidak memiliki penurunan Setelah disederhanakan menjadi: S ab B e C bcb ab

135 Contoh lain lagi : S abd B cd Ab D ef A Ed F dc Analisa 1) Aturan produksi A Ed, E tidak memiliki penurunan 2) Aturan produksi F dc, redundan Sisa aturan produksi: S abd B cd Ab D ef

136 Analisa lagi B Ab, A tidak memiliki penurunan. Hasil penyederhanaan: S abd B cd D ef

137 Contoh lagi: S Abc ab A AAA ε Aturan produksi setelah disederhanakan: S Abc ab A AAA ε Ingat A ε juga harus diperhitungkan PRINSIP Setiap kali melakukan penyederhanaan diperiksa lagi aturan produksi yang tersisa, apakah semua produksi yang useless sudah hilang.

138 Penghilangan Produksi Unit Produksi dimana ruas kiri dan kanan aturan produksi hanya berupa satu simbol variabel, misalkan: A B, C D. Keberadaannya membuat tata bahasa memiliki kerumitan yang tak perlu. Penyederhanaan dilakukan dengan melakukan penggantian aturan produksi unit. Contoh: S Sb S C C D C ef D dd

139 Dilakukan penggantian berturutan mulai dari aturan produksi yang paling dekat menuju ke penurunan terminal-terminal ( => dibaca menjadi ): C D => C dd S C => S dd ef Sehingga aturan produksi setelah penyederhanaan: S Sb S dd ef C dd C ef C dd

140 Contoh lain: S A S Aa A B B C B b C D C ab D b Penggantian yang dilakukan : C D => C b B C => B b ab, karena B b sudah ada, maka cukup dituliskan B ab A B => A ab b S A => ab b

141 Sehingga aturan produksi setelah penyederhanaan: S ab b S Aa A ab b B ab B b B b C b C ab D b

142 Contoh lagi: S Cba D A bbc B Sc ddd C ean f C D E SABC E gh

143 Penggantian yang dilakukan: D E menjadi D gh C C, kita hapus S D menjadi S gh SABC Sehingga aturan produksi setelah penyederhanaan: S Cba gh SABC A bbc B Sc ddd C ea f D gh SABC E gh

144 Penghilangan Produksiε Produksi ε adalah produksi dalam bentuk α ε atau bisa dianggap sebagai produksi kosong ( empty ). Penghilangan produksi ε dilakukan dengan melakukan penggantian produksi yang memuat variabel yang bisa menuju produksiε, atau biasa disebut nullable. Prinsip penggantiannya bisa dilihat kasus berikut: S bcad A ε A nullable serta A ε satu-satunya produksi dari A, maka variabel A bisa ditiadakan, hasil penyederhanaan tata bahasa bebas konteks menjadi: S bcd

145 Tetapi bila kasusnya: S bcad A bd ε A nullable, tapi A ε bukan satu-satunya produksi dari A, maka hasil penyederhanaan: S bcad bcd A bd

146 Contoh lagi, terdapat tata bahasa bebas konteks: S Ab Cd A d C ε Variabel yang nullable adalah variabel C. Karena penurunan C ε merupakan penurunan satusatunya dari C, maka kita ganti S Cd menjadi S d. Kemudian produksi C ε kita hapus. Setelah penyederhanaan menjadi: S Ab d A d

147 Contoh lain lagi: S da Bd A bc A ε B c Variabel yang nullable adalah variabel A. A ε bukan penurunan satu-satunya dari A ( terdapat A bc ), maka kita ganti S da menjadi S da d. A ε kita hapus. Setelah penyederhanaan : S da d Bd A bc B c

148 Contoh tata bahasa bebas konteks: S AaCD A CD AB B b ε C d ε D ε Variabel yang nullable adalah variabel B, C, D. Kemudian dari A CD, maka variabel A juga nullable ( A ε ). Karena D hanya memilki penurunan D ε, maka kita sederhanakan dulu: S AaCD => S AaC A CD => A C D ε kita hapus

149 Selanjutnya kita lihat variabel B dan C memiliki penurunan ε, meskipun bukan satu-satunya penurunan, maka dilakukan penggantian: A AB => A AB A B S AaC => S AaC ac Aa a B ε dan C ε kita hapus Setelah penyederhanaan: S AaC ac Aa a A C AB A B B b C ε

150 Variabel yang nullable adalah A, B, C. Dari S AB, maka S juga nullable. Kita lakukan penggantian: A aca => A aa B ba => B ba b B BB => B BB B A abb => A abb ab S AB => S AB A B ε C ε, B ε, A ε dihapus *Perhatikan untuk penggantian S AB kita tetap mempertahankan S ε, karena S merupakan simbol awal. Ini merupakan satu-satunya perkecualian produksi ε yang tidak dihapus, yaitu produksi ε yang dihasilkan oleh simbol awal.

151 Hasil akhir dari penyederhanaan: S AB A B ε A abb ab aa B ba b BB B Contoh tata bahasa bebas konteks: S aab A aab ε Hasil penyederhanaan: S aab ab A aab ab

152 Contoh tata bahasa bebas konteks: S ABaC A BC B b ε C D ε D d Hasil penyederhanaan: S ABaC BaC AaC ABa ac Aa Ba a A B C BC B b C D D d

153 Prakteknya ketiga penyederhanaan tersebut dilakukan bersama pada suatu tata bahasa bebas konteks, yang nantinya menyiapkan tata bahasa bebas konteks tersebut untuk diubah kedalam suatu bentuk normal Chomsky. Urutan penghapusan aturan produksi : 1) Hilangkan produksiε 2) Hilangkan produksi unit 3) Hilangkan produksi useless

154 Contoh : S AA C bd A Bb ε B AB d C de Hilangkan produksiε, sehingga menjadi: S A AA C bd A Bb B B AB d C de Selanjutnya penghilangan produksi unit menjadi: S Bb AA de bd A Bb B AB d C de

155 Penghilangan produksi unit bisa menghasilkan produksi useless. Terakhir dilakukan penghilangan produksi useless: S Bb AA de bd A Bb B AB d Hasil akhir aturan produksi tidak lagi memiliki produksiε, produksi unit, maupun produksi useless.

156 PERTEMUAN 12 BENTUK NORMAL CHOMSKY

157 Pengertian Bentuk Normal Chomsky Bentuk normal Chomsky / Chomsky Normal Form (CNF) merupakan salah satu bentuk normal yang sangat berguna untuk tata bahasa bebas konteks ( CFG ). Bentuk normal Chomsky dapat dibuat dari sebuah tata bahasa bebas konteks yang telah mengalami penyederhanaan yaitu penghilangan produksi useless, unit, dan ε. Dengan kata lain, suatu tata bahasa bebas konteks dapat dibuat menjadi bentuk normal Chomsky dengan syarat tata bahasa bebas kontesk tersebut: 1. Tidak memiliki produksi useless 2. Tidak memiliki produksi unit 3. Tidak memiliki produksi ε Aturan produksi dalam bentuk normal Chomsky ruas kanannya tepat berupa sebuah terminal atau dua variabel non terminal. Misalkan: A BC A b B a C BA d

158 Pembentukan Bentuk Normal Chomsky Langkah-langkah pembentukan bentuk normal Chomsky secara umum sebagai berikut: 1. Biarkan aturan produksi yang sudah dalam bentuk normal Chomsky 2. Lakukan penggantian aturan produksi yang ruas kanannya memuat simbol terminal dan panjang ruas kanan > 1 3 Lakukan penggantian aturan produksi yang ruas kanannya memuat > 2 simbol variabel Non Terminal 4 Penggantian-penggantian tersebut bisa dilakukan berkali-kali sampai akhirnya semua aturan produksi dalam bentuk normal Chomsky 5 Selama dilakukan penggantian, kemungkinan kita akan memperoleh aturan-aturan produksi baru, dan juga memunculkan simbol-simbol variabel baru

BAB I TEORI BAHASA DAN AUTOMATA

BAB I TEORI BAHASA DAN AUTOMATA Bab 1 Teori Bahasa dan Automata 1 BAB I TEORI BAHASA DAN AUTOMATA TUJUAN PRAKTIKUM 1. Memahami Tentang Teori Bahasa 2. Memahami Automata dan Istilah Istilah yang terdapat dalam Automata 3. Mengerti Tentang

Lebih terperinci

Dasar Teori Bahasa & Grammar

Dasar Teori Bahasa & Grammar Dasar Teori Bahasa & Grammar Dasar Teori Bahasa Grammar & Bahasa Klasifikasi Noam Chomsky Teori Bahasa Teori bahasa membicarakan bahasa formal (formal language), terutama untuk kepentingan perancangan

Lebih terperinci

TEORI BAHASA DAN OTOMATA [TBO]

TEORI BAHASA DAN OTOMATA [TBO] TEORI BAHASA DAN OTOMATA [TBO] Otomata (Automata) Otomata adalah mesin abstrak yang dapat mengenali (recognize), menerima (accept), atau membangkitkan (generate) sebuah kalimat dalam bahasa tertentu. Beberapa

Lebih terperinci

Teknik Informatika PERTEMUAN 2. TEORI BAHASA & OTOMATA Imam Riadi, M.Kom Shofwatul Uyun, M.Kom. Teknik Informatika

Teknik Informatika PERTEMUAN 2. TEORI BAHASA & OTOMATA Imam Riadi, M.Kom Shofwatul Uyun, M.Kom. Teknik Informatika TEORI BAHASA FST UIN SUKA TEORI BAHASA (PENDAHULUAN) PERTEMUAN 2 Teori bahasa membicarakan bahasa formal (formal language), terutama untuk kepentingan perancangan kompilator (compiler) dan pemroses naskah

Lebih terperinci

TEORI BAHASA DAN AUTOMATA

TEORI BAHASA DAN AUTOMATA MODUL X TEORI BAHASA DAN AUTOMATA Tujuan : Mahasiswa memahami tentang tata bahasa bebas konteks dan membangun pohon penurunan tata bahasa bebas konteks Materi : Pohon Derivatif Tata Bahasa Bebas Konteks

Lebih terperinci

Memiliki kelemahan terlalu panjang jalannya padahal berujung pada S a, produksi D A juga menyebabkan kerumitan.

Memiliki kelemahan terlalu panjang jalannya padahal berujung pada S a, produksi D A juga menyebabkan kerumitan. PENYEDERHANAAN TATA BAHASA BEBAS KONTEKS Tujuan : Melakukan pembatasan sehingga tidak menghasilkan pohon penurunan yang memiliki kerumitan yang tidak perlu atau aturan produksi yang tidak berarti. Contoh

Lebih terperinci

MATERI PERTEMUAN KE-1

MATERI PERTEMUAN KE-1 TEORI BAHASA DAN OTOMATA MATERI PERTEMUAN KE-1 TEORI BAHASA Teori bahasa membicarakan bahasa formal (formal language), terutama untuk kepentingan perancangan kompilator (compiler) dan pemroses naskah (text

Lebih terperinci

Teori Komputasi 10/15/2015. Bab 3: Konsep Bahasa dan Otomata. Teori Bahasa. Teori Bahasa. Agenda. Teori Bahasa Otomata Operasi Dasar String

Teori Komputasi 10/15/2015. Bab 3: Konsep Bahasa dan Otomata. Teori Bahasa. Teori Bahasa. Agenda. Teori Bahasa Otomata Operasi Dasar String Teori Komputasi Agenda. Teori Bahasa Bab 3: Konsep Bahasa dan Fakultas Teknologi dan Desain Program Studi Teknik 1-1 Informatika Konsep Bahasa dan 2 Teori Bahasa Teori bahasa membicarakan bahasa formal

Lebih terperinci

anggota alfabet dinamakan simbol terminal atau token.

anggota alfabet dinamakan simbol terminal atau token. GRAMMAR DAN BAHASA MATERI MINGGU KE-2 TATA BAHASA Dalam pembicaraan tata bahasa, anggota alfabet dinamakan simbol terminal atau token. Kalimat adalah deretan hingga simbo-lsimbol terminal. Bahasa adalah

Lebih terperinci

TEORI BAHASA DAN OTOMATA [TBO]

TEORI BAHASA DAN OTOMATA [TBO] TEORI BAHASA DAN OTOMATA [TBO] Tata Bahasa Bebas Konteks Bila pada tata bahasa regular terdapat pembatasan pada ruas kanan atau hasil produksinya, maka pada tata bahasa bebas konteks/ context free grammar,

Lebih terperinci

TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA TEORI BAHASA DAN OTOMATA MATERI KULIAH : Topik Substansi 1 Kontrakpembelajaran, Pendahuluan a. Ketentuan dalam Kuliah b. Pengertian Bahasa c. Pengertian Otomata 2 Pengertian Dasar dan Operasi pada string

Lebih terperinci

Teori Bahasa dan Otomata 1

Teori Bahasa dan Otomata 1 Teori Bahasa dan Otomata 1 KATA PENGANTAR Teori Bahasa dam Otomata merupakan matakuliah wajib yang harus diambil oleh seluruh mahasiswa jurusan Teknik Indonesia di lingkungan Sekolah Tinggi Teknologi Indonesia.

Lebih terperinci

PENYEDERHANAAN Context Free Grammar

PENYEDERHANAAN Context Free Grammar PENYEDERHANAAN Context Free Grammar Bila pada tata bahasa regular terdapat pembatasan pada ruas kanan atau hasil produksinya, maka pada tata bahasa bebas konteks/ context free grammar, selanjutnya disebut

Lebih terperinci

TEORI BAHASA DAN OTOMATA [TBO]

TEORI BAHASA DAN OTOMATA [TBO] TEORI BAHASA DAN OTOMATA [TBO] Ekspresi Regular (1) Sebuah bahasa dinyatakan regular jika terdapat finite state automata yang dapat menerimanya. Bahasa-bahasa yang diterima oleh suatu finite state automata

Lebih terperinci

Sebuah bahasa dinyatakan regular jika terdapat finite state automata yang dapat menerimanya. Bahasa-bahasa yang diterima oleh suatu finite state

Sebuah bahasa dinyatakan regular jika terdapat finite state automata yang dapat menerimanya. Bahasa-bahasa yang diterima oleh suatu finite state EKSPRESI REGULAR Sebuah bahasa dinyatakan regular jika terdapat finite state automata yang dapat menerimanya. Bahasa-bahasa yang diterima oleh suatu finite state automata bisa dinyatakan secara sederhana

Lebih terperinci

KONSEP GRAMMAR DAN BAHASA

KONSEP GRAMMAR DAN BAHASA KONSEP GRAMMAR DAN BAHASA Konsep Dasar 1. Dalam pembicaraan grammar, anggota alfabet dinamakan simbol terminal atau token. 2. Kalimat adalah deretan hingga simbol-simbol terminal. 3. Bahasa adalah himpunan

Lebih terperinci

Teori Bahasa dan Operasi Matematis.

Teori Bahasa dan Operasi Matematis. Teori Bahasa dan Operasi Matematis http://www.brigidaarie.com Terminologi Bahasa Manfaat bahasa adalah sebagai media komunikasi yang menggunakan sekumpulan simbol dan dikombinasikan menurut aturan sintaksis

Lebih terperinci

metodenumerikblog.wordpress.com Retno Tri Vulandari, S.Si, M.Sc

metodenumerikblog.wordpress.com Retno Tri Vulandari, S.Si, M.Sc Retno Tri Vulandari, S.Si, M.Sc String Simbol KALIMAT Bahasa TEORI BAHASA Bahasa Formal Adalah suatu sistem yang terdiri atas sejumlah berhingga state yang menerima input dan mengeluarkan output dalam

Lebih terperinci

GRAMMAR AND LANGUAGE

GRAMMAR AND LANGUAGE GRAMMAR AND LANGUAGE Konsep Dasar Anggota alfabet dinamakan simbol terminal. Kalimat adalah deretan hingga simbol-simbol terminal. Bahasa adalah himpunan kalimat-kalimat. Anggota bahasa bisa tak hingga

Lebih terperinci

Penyederhanaan Tata Bahasa Bebas Konteks. Kuliah Online : TBA [2012/2013]

Penyederhanaan Tata Bahasa Bebas Konteks. Kuliah Online : TBA [2012/2013] Penyederhanaan Tata Bahasa Bebas Konteks Kuliah Online : TBA [2012/2013] Tujuan Penyederhanaan untuk melakukan pembatasan sehingga tidak menghasilkan pohon penurunan yang memiliki kerumitan yang tidak

Lebih terperinci

POHON PENURUNAN Context Free Grammar

POHON PENURUNAN Context Free Grammar POHON PENURUNAN Context Free Grammar Bila pada tata bahasa regular terdapat pembatasan pada ruas kanan atau hasil produksinya, maka pada tata bahasa bebas konteks/ context free grammar, selanjutnya disebut

Lebih terperinci

TEORI BAHASA DAN OTOMATA [TBO]

TEORI BAHASA DAN OTOMATA [TBO] TEORI BAHASA DAN OTOMATA [TBO] Tata Bahasa Bebas Konteks Bila pada tata bahasa regular terdapat pembatasan pada ruas kanan atau hasil produksinya, maka pada tata bahasa bebas konteks/ context free grammar,

Lebih terperinci

DIKTAT TEORI BAHASA DAN OTOMATA

DIKTAT TEORI BAHASA DAN OTOMATA DIKTAT TEORI BAHASA DAN OTOMATA DISUSUN OLEH Ir. Sudiadi, M.M.A.E. Ir. Rizani Teguh, M.T. Sekolah Tinggi Manajemen Informatika dan Komputer Global Informatika MDP 207 Hal KATA PENGANTAR Pertama-tama kami

Lebih terperinci

Bahasa adalah kumpulan kalimat. Kalimat adalah rangkaian kata. Kata adalah komponen terkecil kalimat yang tidak bisa dipisahkan lagi.

Bahasa adalah kumpulan kalimat. Kalimat adalah rangkaian kata. Kata adalah komponen terkecil kalimat yang tidak bisa dipisahkan lagi. Konsep dan Notasi Bahasa Teori Bahasa Bahasa adalah kumpulan kalimat. Kalimat adalah rangkaian kata. Kata adalah komponen terkecil kalimat yang tidak bisa dipisahkan lagi. Contoh : Si Kucing kecil menendang

Lebih terperinci

BAHASA REGULER 1. Ekspresi Regular

BAHASA REGULER 1. Ekspresi Regular BAHASA REGULER 1. Ekspresi Regular Bahasa regular adalah penyusun ekspresi regular (ER) Ekspresi regular terdiri dari kombinasi simbol-simbol atomik menggunakan 3 operator : concate, alternate, dan closure/repetisi.

Lebih terperinci

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran SILABUS MATAKULIAH Revisi : 2 Tanggal Berlaku : Maret 2014 A. Identitas 1. Nama Matakuliah : A11. 54401/ Teori dan Bahasa Otomata 2. Program Studi : Teknik Informatika-S1 3. Fakultas : Ilmu Komputer 4.

Lebih terperinci

TATA BAHASA BEBAS KONTEKS (CONTEXT FREE GRAMMAR)

TATA BAHASA BEBAS KONTEKS (CONTEXT FREE GRAMMAR) TATA BAHASA BEBAS KONTEKS (CONTEXT FREE GRAMMAR) Oleh: Bagus Adhi Kusuma Teori Bahasa dan Otomata STIMIK AMIKOM Purwokerto Program Studi Teknik Informatika 2013/2014 CFG (Bahasa Bebas Konteks) sebuah tata

Lebih terperinci

Tata Bahasa Kelas Tata Bahasa. Konsep Bahasa (1)

Tata Bahasa Kelas Tata Bahasa. Konsep Bahasa (1) Tata Bahasa Kelas Tata Bahasa Risnawaty 2350376 Jurusan Teknik Informatika Institut Teknologi Bandung Page 1 Konsep Bahasa (1) String(kata) adalah suatu deretan berhingga dari simbol-simbol. Panjang string

Lebih terperinci

TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA TEORI BAHASA DAN OTOMATA Disusun Oleh : Hartono BAB I PENDAHULUAN Teori Bahasa Teori bahasa membicarakan bahasa formal (formal language), terutama untuk kepentingan perancangan kompilator (compiler) dan

Lebih terperinci

Tujuan Penyederhanaan

Tujuan Penyederhanaan VII.1 MODUL MATA KULIAH TEORI BAHASA DAN OTOMATA BAB VII PENYEDERHANAAN TATA BAHASA BEBAS KONTEKS Tujuan Penyederhanaan IF Penyederhanaan tata bahasa bebas konteks bertujuan untuk melakukan pembatasan

Lebih terperinci

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS)

RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS) RENCANA PROGRAM KEGIATAN PERKULIAHAN SEMESTER (RPKPS) Kode / Nama Mata Kuliah : A11. 54401/ Teori dan Bahasa Otomata Revisi 2 Satuan Kredit Semester : 3 SKS Tgl revisi : Februari 2014 Jml Jam kuliah dalam

Lebih terperinci

BAB II TINJAUAN PUSTAKA. Bahasa menurut kamus Websters adalah the body of words and methods of

BAB II TINJAUAN PUSTAKA. Bahasa menurut kamus Websters adalah the body of words and methods of BAB II TINJAUAN PUSTAKA 2.1 Bahasa Alami dan Bahasa Formal Bahasa menurut kamus Websters adalah the body of words and methods of combining words used and understood by a considerable community, sedangkan

Lebih terperinci

Grammar dan Tingkat Bahasa

Grammar dan Tingkat Bahasa CSG3D3 Teori Komputasi Grammar dan Tingkat Bahasa Agung Toto Wibowo Ahmad Suryan Yanti Rusmawati Mahmud Dwi Sulistiyo Kurniawan Nur Ramadhani Said Al Faraby Dede Rohidin KK Intelligence, Computing, and

Lebih terperinci

Teori Bahasa & Otomata

Teori Bahasa & Otomata Teori Bahasa & Otomata Pendilkom/Ilkom Universitas Pendidikan Indonesia 1 Daftar Isi Bab 1 Pendahuluan Bab 2 Matematika Dasar Bab 3 Dasar-Dasar Teori Bahasa Bab 4 Representasi Bahasa Bab 5 Klasifikasi

Lebih terperinci

Tata Bahasa Bebas Konteks

Tata Bahasa Bebas Konteks Tata Bahasa Beas Konteks By mei Dalam tataahasa eas konteks Ruas kiri dari aturan produksi terdiri dari ATU simol non terminal Ruas kanan dapat erupa string yang dientuk dari simol terminal dan non terminal

Lebih terperinci

TEKNIK KOMPILASI Bahasa Regular

TEKNIK KOMPILASI Bahasa Regular TEKNIK KOMPILASI Bahasa Regular Sekolah Manajemen Informatika dan Komputer (STMIK) Palangkaraya 2012 Tata bahasa reguler Sebuah bahasa dinyatakan regular jika terdapat Finite State Automata (FSA) yang

Lebih terperinci

FINITE STATE MACHINE / AUTOMATA

FINITE STATE MACHINE / AUTOMATA FINITE STATE MACHINE / AUTOMATA BAHASA FORMAL Dapat dipandang sebagai entitas abstrak, yaitu sekumpulan string yang berisi simbol-simbol alphabet Dapat juga dipandang sebagai entitasentitas abstrak yang

Lebih terperinci

BAB V CONTEXT FREE GRAMMAR DAN PUSH DOWN AUTOMATA

BAB V CONTEXT FREE GRAMMAR DAN PUSH DOWN AUTOMATA Bab V Context Free Grammar dan Push Down Automata 26 BAB V CONTEXT FREE GRAMMAR DAN PUSH DOWN AUTOMATA TUJUAN PRAKTIKUM 1. Memahami CFG dan PDA 2. Memahami Context Free Grammar 3. Memahami Push Down Automata

Lebih terperinci

TEORI BAHASA DAN AUTOMATA

TEORI BAHASA DAN AUTOMATA MODUL I TEORI BAHASA DAN AUTOMATA Tujuan : Mahasiswa memahami pengertian dan kedudukan Teori Bahasa dan Otomata (TBO) pada ilmu komputer Definisi dan Pengertian Teori Bahasa dan Otomata Teori bahasa dan

Lebih terperinci

TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA Copyright Adi S. Nugroho Page 1 1. MENGENAL OTOMATA 1.1. Definisi Otomata Otomata adalah mesin abstrak yang dapat mengenali (recognize), menerima (accept), atau membangkitkan (generate) sebuah kalimat

Lebih terperinci

TEKNIK KOMPILASI Konsep & Notasi Bahasa

TEKNIK KOMPILASI Konsep & Notasi Bahasa TEKNIK KOMPILASI Konsep & Notasi Bahasa Sekolah Manajemen Informatika dan Komputer (STMIK) Palangkaraya 2012 Konsep dan Notasi bahasa Teknik Kompilasi merupakan kelanjutan dari konsepkonsep yang telah

Lebih terperinci

Teknik Kompiler 7. oleh: antonius rachmat c, s.kom

Teknik Kompiler 7. oleh: antonius rachmat c, s.kom Teknik Kompiler 7 oleh: antonius rachmat c, s.kom Transformasi TBBK Dimaksudkan untuk memperoleh TBBK yang memenuhi kriteria-kriteria tertentu yang lebih efisien. Transformasi boleh dilakukan asalkan tidak

Lebih terperinci

SATUAN ACARA PERKULIAHAN MATA KULIAH : TEORI BAHASA DAN AUTOMATA (TBA) KODE / SKS : KK / 3 SKS

SATUAN ACARA PERKULIAHAN MATA KULIAH : TEORI BAHASA DAN AUTOMATA (TBA) KODE / SKS : KK / 3 SKS SATUAN ACARA PERKULIAHAN MATA KULIAH : TEORI BAHASA DAN AUTOMATA (TBA) KODE / SKS : KK-045325 / 3 SKS Mingu Pokok Bahasan 1. 1. Pendahuluan menjelaskan konsep dasar bahasa dan teori tentang string 1.1.

Lebih terperinci

BAB I PENDAHULUAN 1-1

BAB I PENDAHULUAN 1-1 BAB I PENDAHULUAN 1.1 Pendahuluan Ilmu komputer memiliki dua komponen utama: pertama, model dan gagasan mendasar mengenai komputasi, kedua, teknik rekayasa untuk perancangan sistem komputasi, meliputi

Lebih terperinci

MODUL TEORI BAHASA DAN AUTOMATA

MODUL TEORI BAHASA DAN AUTOMATA MODUL TEORI BAHASA DAN AUTOMATA DISUSUN OLEH : Rizqia Cahyaning tyas 997234A 35979 SEKOLAH TINGGI TEKNIK PLN TEKNIK INFORMATIKA JAKARTA 22 SATUAN ACARA PENGAJARAN (SAP) MATA KULIAH/ SEMSTER : Otomata dan

Lebih terperinci

EKSPRESI REGULAR PADA SUATU DETERMINISTIC FINITE STATE AUTOMATA

EKSPRESI REGULAR PADA SUATU DETERMINISTIC FINITE STATE AUTOMATA Jurnal Matematika Vol.6 No., November 26 [ 63-7 ] EKSPRESI REGULAR PADA SUATU DETERMINISTIC FINITE STATE AUTOMATA Jurusan Matematika, UNISBA, Jalan Tamansari No, Bandung,46, Indonesia dsuhaedi@eudoramail.com

Lebih terperinci

TEORI BAHASA DAN AUTOMATA

TEORI BAHASA DAN AUTOMATA MODUL VIII TEORI BAHASA DAN AUTOMATA Tujuan : Mahasiswa memahami ekspresi reguler dan dapat menerapkannya dalam berbagai penyelesaian persoalan. Materi : Hubungan antara DFA, NFA, dan ekspresi regular

Lebih terperinci

IF-UTAMA 1. Definisi. Grammar. Definisi

IF-UTAMA 1. Definisi. Grammar. Definisi Definisi Grammar Bahasa adalah himpunan kata-kata atau kalimat yang telah disepakati, contoh : {makan, tidur, bermain, belajar} Bahasa Indonesia {shit, sheet, damn, kiss, smell} Bahasa Inggris {konichiwa,

Lebih terperinci

TEORI BAHASA & OTOMATA (KONSEP & NOTASI BAHASA) PERTEMUAN IX Y A N I S U G I Y A N I

TEORI BAHASA & OTOMATA (KONSEP & NOTASI BAHASA) PERTEMUAN IX Y A N I S U G I Y A N I TEORI BAHASA & OTOMATA (KONSEP & NOTASI BAHASA) PERTEMUAN IX Y A N I S U G I Y A N I Konsep dan Notasi bahasa Thn 56-59 Noam chomsky melakukan penggolongan tingkatan dalam bahasa, yaitu menjadi 4 class

Lebih terperinci

Lecture Notes Teori Bahasa dan Automata

Lecture Notes Teori Bahasa dan Automata Penyederhanaan CFG (edisi 1) 1/8 Lecture Notes Teori Bahasa dan Automata Penyederhanaan Context Free Grammar Thompson Susabda Ngoen Pendahuluan Context Free Grammar (CFG) terdiri atas sejumlah production

Lebih terperinci

MODUL 1: PENGANTAR TEORI BAHASA

MODUL 1: PENGANTAR TEORI BAHASA MODUL 1: PENGANTAR TEORI BAHASA Pengantar Automata dan Bahasa Teori Pendukung Konsep Bahasa Slide 1 dari 38 PENGANTAR AUTOMATA DAN BAHASA Obyektif membahas model-model komputasi sebagai mesin abstraks

Lebih terperinci

TUGAS MAKALAH TEORI BAHASA & AUTOMATA

TUGAS MAKALAH TEORI BAHASA & AUTOMATA TUGAS MAKALAH TEORI BAHASA & AUTOMATA Anggota Kelompok : 1. Aedy Suciawan (50407040) 2. Afrista Reolny W (50407042) 3. Arnoldus Billy Jansen (50407161) 4. Endah Nurhayati (50407318) 5. Danang Panji P (50407227)

Lebih terperinci

Analisis Sintaksis (syntactic analyzer atau parser)

Analisis Sintaksis (syntactic analyzer atau parser) Analisis Sintaksis (syntactic analyzer atau parser) pohon (tree) suatu graph terhubung yang tidak sirkuler, memiliki satu buah simpul (atau vertex / node) yaitu akar (root) dan dari akar ini memiliki lintasan

Lebih terperinci

ALGORITMA PEMROGRAMAN 1C SINTAKS

ALGORITMA PEMROGRAMAN 1C SINTAKS ALGORITMA PEMROGRAMAN 1C SINTAKS Indah Wahyuni PENDAHULUAN Bahasa mesin adalah bentuk terendah komputer. Kita dapat berhubungan langsung dengan bagianbagian yang ada didalam komputer seperti bits, register.

Lebih terperinci

Sumarni Adi TEKNIK INFORMATIKA STMIK AMIKOM YOGYAKARTA 2013

Sumarni Adi TEKNIK INFORMATIKA STMIK AMIKOM YOGYAKARTA 2013 Sumarni Adi TEKNIK INFORMATIKA STMIK AMIKOM YOGYAKARTA 2013 KONTRAK KULIAH 1. Presensi 15 menit diawal perkuliahan dan dilakukan sendiri (tidak Boleh Titip Presensi), setelahnya sistem akan ditutup 2.

Lebih terperinci

Non-deterministic Finite Automata Dengan -Move

Non-deterministic Finite Automata Dengan -Move Non-deterministic Finite Automata Dengan -Move Terdapat jenis otomata baru yang disebut NFA dengan -move ( disini bisa dianggap sebagai empty). Pada NFA dengan -move (transisi ), diperbolehkan merubah

Lebih terperinci

TEORI BAHASA DAN OTOMATA [TBO]

TEORI BAHASA DAN OTOMATA [TBO] TEORI BAHASA DAN OTOMATA [TBO] PENGGABUNGAN 2 FSA Pada 2 mesin FSA dapat dilakukan penggabungan, disebut union serta konkatenasi. Misalkan terdapat dua mesin NFA, M1 dan M2 Gambar 5: M1 Gambar 6: M2 OPERASI

Lebih terperinci

NonDeterministic Finite Automata. B.Very Christioko, S.Kom

NonDeterministic Finite Automata. B.Very Christioko, S.Kom NonDeterministic Finite Automata Perbedaan DFA dan NFA DFA (Deterministic Finite Automata) FA di dalam menerima input mempunyai tepat satu busur keluar. NFA (Non Deterministic Finite Automata) FA di dalam

Lebih terperinci

KONSEP DAN IMPLEMENTASI PARSING DENGAN MENGGUNAKAN METODE BRUTE FORCE

KONSEP DAN IMPLEMENTASI PARSING DENGAN MENGGUNAKAN METODE BRUTE FORCE KONSEP DAN IMPLEMENTASI PARSING DENGAN MENGGUNAKAN METODE BRUTE FORCE SKRIPSI Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Sains (S.Si) Program Studi Matematika Oleh: Vinsentia Asri

Lebih terperinci

Teori Komputasi 11/2/2016. Bab 5: Otomata (Automata) Hingga. Otomata (Automata) Hingga. Otomata (Automata) Hingga

Teori Komputasi 11/2/2016. Bab 5: Otomata (Automata) Hingga. Otomata (Automata) Hingga. Otomata (Automata) Hingga Teori Komputasi Fakultas Teknologi dan Desain Program Studi Teknik 1-1 Informatika Bab 5: Agenda. Deterministic Finite Automata DFA (Otomata Hingga Deterministik) Equivalen 2 DFA Finite State Machine FSA

Lebih terperinci

TEORI BAHASA DAN OTOMATA [TBO]

TEORI BAHASA DAN OTOMATA [TBO] TEORI BAHASA DAN OTOMATA [TBO] NFA DENGAN -MOVE Terdapat jenis otomata baru yang disebut NFA dengan -move ( disini bisa dianggap sebagai empty). Pada NFA dengan -move (transisi ), diperbolehkan merubah

Lebih terperinci

Contents.

Contents. Contents FINITE TATE AUTOMATA (Otomata Hingga)... 2 Deterministic/Non Deterministic Finite Automate... 2 Ekwivalensi DFA dan NFA... 4 Contex Free Grammer(CFG)... 8 Penyederhanaan CFG... 9 Bentuk Normal

Lebih terperinci

Disusun oleh: Rina Dewi Indah Sari, S.Kom

Disusun oleh: Rina Dewi Indah Sari, S.Kom Disusun oleh: Rina Dewi Indah Sari, S.Kom Kata Pengantar Teori bahasa dan automata merupakan salah satu mata kuliah yang wajib di jurusan-jurusan informatika maupun ilmu komputer. Salah satunya pada STMIK

Lebih terperinci

Teori Himpunan. Matematika Dasar untuk Teori Bahasa Otomata. Operasi pada Himpunan. Himpunan Tanpa Elemen. Notasi. Powerset & Cartesian Product

Teori Himpunan. Matematika Dasar untuk Teori Bahasa Otomata. Operasi pada Himpunan. Himpunan Tanpa Elemen. Notasi. Powerset & Cartesian Product Teori Himpunan Matematika Dasar untuk Teori Bahasa Otomata Teori Bahasa & Otomata Semester Ganjil 2009/2010 Himpunan adalah sekumpulan entitas tidak memiliki struktur sifatnya hanya keanggotaan Notasi

Lebih terperinci

TEORI BAHASA DAN OTOMATA

TEORI BAHASA DAN OTOMATA MATERI KULIAH TEORI BAHASA DAN OTOMATA Oleh : Heru Cahya Rustamaji, S.Si, M.T JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INDUSTRI UNIVERSITAS PEMBANGUNAN NASIONAL VETERAN YOGYAKARTA 2004 1 PERTEMUAN

Lebih terperinci

MODUL 17. BAHASA-BAHASA REKURSIF DAN RECURSIVELY ENUMERABLE

MODUL 17. BAHASA-BAHASA REKURSIF DAN RECURSIVELY ENUMERABLE MODUL 17. BAHASA-BAHASA REKURSIF DAN RECURSIVELY ENUMERABLE TM T r untuk suatu bahasa rekursif akan menjawab (recognize) atau setelah memproses string masukan. T r Dalam pembahasan sebelumnya kita mendapatkan

Lebih terperinci

TEORI BAHASA DAN AUTOMATA

TEORI BAHASA DAN AUTOMATA MODUL VI TEORI BAHASA DAN AUTOMATA Tujuan : Mahasiswa dapat malakukan operasi gabungan/konkatenasi, dan membangun FSA optimal Materi : Operasi Gabungan Operasi Konkatenasi Alur Pengembangan FSA Contoh-contoh

Lebih terperinci

MODUL MATA KULIAH TEORI BAHASA DAN OTOMATA DOSEN:

MODUL MATA KULIAH TEORI BAHASA DAN OTOMATA DOSEN: MODUL MATA KULIAH TEORI BAHASA DAN OTOMATA DOSEN: Mira Kania S.,ST.,MT Utami Dewi W.,S.Kom IF I. PENDAHULUAN PENDAHULUAN Komputer digunakan sebagai alat bantu untuk menyelesaikan pekerjaan(task). Dua pertanyaan

Lebih terperinci

Finite State Machine dapat berupa suatu mesin yang tidak memiliki output. Finite State Machine yang tidak mengeluarkan output ini dikenal

Finite State Machine dapat berupa suatu mesin yang tidak memiliki output. Finite State Machine yang tidak mengeluarkan output ini dikenal FINITE STATE AUTOMATA (FSA) DAN FINITE STATE MACHINE (FSM) MATERI MINGGU KE-3 Finite State Automata (FSA) Finite State Machine dapat berupa suatu mesin yang tidak memiliki output. Finite State Machine

Lebih terperinci

TEORI BAHASA DAN AUTOMATA

TEORI BAHASA DAN AUTOMATA MODUL III TEORI BAHASA DAN AUTOMATA Tujuan : Mahasiswa memahami Finite State Automata (FSA) dan dapat menyederhanakan sebuah FSA. Materi : Useless state State distinguishable dan state indistinguishable

Lebih terperinci

Reduksi DFA [Deterministic Finite Automata]

Reduksi DFA [Deterministic Finite Automata] Reduksi DFA [Deterministic Finite Automata] Untuk suatu bahasa regular kemungkinan ada sejumlah DFA yang dapat menerimanya Perbedaannya umumnya adalah pada jumlah state yang dimiliki oleh otomata-otomata

Lebih terperinci

Teori Bahasa dan Otomata

Teori Bahasa dan Otomata Teori Bahasa dan Otomata Disajikan oleh: Bernardus Budi Hartono Web : http://pakhartono.wordpress.com/ E-mail : pakhartono at gmail dot com budihartono at acm dot org Teknik Informatika [Gasal 2009 2010]

Lebih terperinci

IF-UTAMA 1. Penurunan (Derivation) [2] Penurunan (Derivation) Contoh Penurunan [1] Parse Tree [1]

IF-UTAMA 1. Penurunan (Derivation) [2] Penurunan (Derivation) Contoh Penurunan [1] Parse Tree [1] Penurunan (Derivation) [2] Penurunan (Derivation) Pertemuan : 5 Dosen Pembina : Danang Junaedi IF-UTM 1 Berfungsi untuk menggambarkan atau mengetahui bagaimana memperoleh suatu string dari dari suatu tata

Lebih terperinci

Teknik Kompiler 5. oleh: antonius rachmat c, s.kom, m.cs

Teknik Kompiler 5. oleh: antonius rachmat c, s.kom, m.cs Teknik Kompiler 5 oleh: antonius rachmat c, s.kom, m.cs TATA BAHASA Tata bahasa / Grammar dalam OTOMATA adalah kumpulan dari himpunan variabel (non-terminal), simbol-simbol awal dan terminal yang dibatasi

Lebih terperinci

Mahasiswa memahami bahasa sebagai himpunan dan operasi 2 -nya, cara mendefinisikan bahasa, serta cara mengenali anggota 2 bahasa

Mahasiswa memahami bahasa sebagai himpunan dan operasi 2 -nya, cara mendefinisikan bahasa, serta cara mengenali anggota 2 bahasa Mahasiswa memahami bahasa sebagai himpunan dan operasi 2 -nya, cara mendefinisikan bahasa, serta cara mengenali anggota 2 bahasa JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INDUSTRI UNIVERSITAS ISLAM

Lebih terperinci

SINTAKS. Sintaks dari bahasa pemrograman di defenisikan dengan 2 kumpulan aturan, yaitu:

SINTAKS. Sintaks dari bahasa pemrograman di defenisikan dengan 2 kumpulan aturan, yaitu: SINTAKS Bahasa mesin adalah bentuk terendah komputer. Kita dapat berhubungan langsung dengan bagian-bagian yang ada di dalam komputer seperti bits, register. Bahasa mesin terdiri dari bit-bit 0 dan 1.

Lebih terperinci

BAB II TINJAUAN PUSTAKA. konsep, fakta, termasuk simbol simbol serta aturan agar mempunyai makna.

BAB II TINJAUAN PUSTAKA. konsep, fakta, termasuk simbol simbol serta aturan agar mempunyai makna. BAB II TINJAUAN PUSTAKA 2.1 Teori Bahasa dan Automata Bahasa merupakan suatu sistem yang meliputi pengekspresian gagasan, konsep, fakta, termasuk simbol simbol serta aturan agar mempunyai makna. Automata

Lebih terperinci

Teori Bahasa dan Automata. Finite State Automata & Non Finite State Automata

Teori Bahasa dan Automata. Finite State Automata & Non Finite State Automata Teori Bahasa dan Automata Finite State Automata & Non Finite State Automata Finite State Automata Model matematika suatu sistem yang menerima input dan output diskrit Mesin automata dari bahasa Regular

Lebih terperinci

Ekspresi Reguler Definisi. Notasi Ekspresi Regular. Contoh Ekspresi Reguler [2]

Ekspresi Reguler Definisi. Notasi Ekspresi Regular. Contoh Ekspresi Reguler [2] Ekspresi Reguler Definisi Pertemuan : 3 Dosen Pembina : Danang Junaedi IF-UTAMA 1 Suatu cara untuk merepresentasikan bahasa regular [4] Pola (pattern) atau template untuk string dari suatu bahasa [3] Cara

Lebih terperinci

Teknik Kompiler 6. oleh: antonius rachmat c, s.kom

Teknik Kompiler 6. oleh: antonius rachmat c, s.kom Teknik Kompiler 6 oleh: antonius rachmat c, s.kom Analisis Sintaks (Parser) Analisis Sintaks bergantung pada bahasa pemrograman masing-masing. Karena masing-masing bahasa pemrograman memiliki bentuk sintaks

Lebih terperinci

PERTEMUAN II. Finite State Automata (FSA) Deterministic Finite Automata (DFA) Non Deterministic Finite Automata (NFA)

PERTEMUAN II. Finite State Automata (FSA) Deterministic Finite Automata (DFA) Non Deterministic Finite Automata (NFA) PERTEMUAN II Finite State Automata (FSA) Deterministic Finite Automata (DFA) Non Deterministic Finite Automata (NFA) dadang mulyana 1 INGA.INGAT MULAI MINGGU DEPAN KULIAH TBO DIMULAI JAM 13.00 MAAF UNTUK

Lebih terperinci

TEORI BAHASA & OPERASI MATEMATIS (2)

TEORI BAHASA & OPERASI MATEMATIS (2) PERTEMUAN III TEORI BAHASA & OPERASI MATEMATIS (2) Mahasiswa memahami bahasa sebagai himpunan dan operasi 2 -nya, cara mendefinisikan bahasa, serta cara mengenali anggota 2 bahasa JURUSAN TEKNIK INFORMATIKA

Lebih terperinci

Tujuan perancangan bhs program

Tujuan perancangan bhs program Tujuan perancangan bhs program Komunikasi dengan manusia Pencegahan dan deteksi kesalahan Usability Efektifitas pemrograman Compilability (mengurangi kompleksitas,mis:penggunaan bracket) Efisiensi dengan

Lebih terperinci

SINTAKS. Sintaks dari bahasa pemrograman di defenisikan dengan 2 kumpulan aturan, yaitu:

SINTAKS. Sintaks dari bahasa pemrograman di defenisikan dengan 2 kumpulan aturan, yaitu: SINTAKS Bahasa mesin adalah bentuk terendah komputer. Kita dapat berhubungan langsung dengan bagian-bagian yang ada di dalam komputer seperti bits, register. Bahasa mesin terdiri dari bit-bit 0 dan 1.

Lebih terperinci

SATUAN ACARA PERKULIAHAN (SAP) Semester Penempatan

SATUAN ACARA PERKULIAHAN (SAP) Semester Penempatan SATUAN ACARA PERKULIAHAN (SAP) Nama Mata Kuliah Kode Mata Kuliah Bobot Kredit Semester Penempatan Penanggung Jawab Mata Kuliah : Teori Bahasa Automata : TI 2A & TI 2B : 3 SKS : III : Fathiah, ST. M. Eng.

Lebih terperinci

Penerapan Graf Transisi dalam Mendefinisikan Bahasa Formal

Penerapan Graf Transisi dalam Mendefinisikan Bahasa Formal Penerapan Graf Transisi dalam Mendefinisikan Bahasa Formal Abdurrahman Dihya R./13509060 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha

Lebih terperinci

Teori Bahasa Formal dan Automata

Teori Bahasa Formal dan Automata Teori Bahasa Formal dan Automata Pertemuan 12 Semester Genap T.A. 2017/2018 Rahman Indra Kesuma, S.Kom., M.Cs. T. Informatika - ITERA POKOK BAHASAN Penghilangan ε-production Penghilangan Unit Production

Lebih terperinci

UNIVERSITAS GUNADARMA

UNIVERSITAS GUNADARMA UNIVERSITAS GUNADARMA SK No. 92 / Dikti / Kep /1996 Fakultas Ilmu Komputer, Teknologi Industri, Ekonomi,Teknik Sipil & Perencanaan, Psikologi, Sastra Program Diploma (D3) Manajemen Informatika, Teknik

Lebih terperinci

Amir Hamzah AKPRIND PRESS 2009

Amir Hamzah AKPRIND PRESS 2009 1 TEORI BAHASA DAN OTOMATA Amir Hamzah AKPRIND PRESS 2009 1 TEORI BAHASA DAN OTOMATA Amir Hamzah JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INDUSTRI INSTITUT SAINS DAN TEKNOLOGI AKPRIND YOGYAKARTA AKPRIND

Lebih terperinci

MODUL 4: Nondeterministic Finite Automata

MODUL 4: Nondeterministic Finite Automata MODUL 4: Nondeterministic Finite Automata Slide dari 2 FA DENGAN NONDETERMINISME Disamping ini merupakan FA dari suatu bahasa regular dalam {,} * dengan ekspresi regular (+) *. p, q s, u r t Slide 2 dari

Lebih terperinci

8 April 2015 Teori Bahasa dan Otomata

8 April 2015 Teori Bahasa dan Otomata EKSPRESI REGULAR MATERI MINGGU KE-4 EKSPRESI REGULAR Bahasa disebut reguler jika terdapat FSA yang dapat menerimanya. Bahasa reguler dinyatakan secara sederhana dengan ekspresi reguler/regular expression

Lebih terperinci

MODUL 5: Nondeterministic Finite Automata dengan

MODUL 5: Nondeterministic Finite Automata dengan MODUL 5: Nondeterministic Finite Automata dengan Transisi-L (NFA-L) Slide dari 4 Dengan konsep nondeterministisme dari suatu ekspresi regular suatu NFA yang dapat menerima bahasa ybs dapat langsung dilakukan.

Lebih terperinci

RENCANA PEMBELAJARAN SEMESTER

RENCANA PEMBELAJARAN SEMESTER RENCANA PEMBELAJARAN SEMESTER F-0653 Issue/Revisi : A0 Tanggal Berlaku : 1 Juli 2015 Untuk Tahun Akademik : 2015/2016 Masa Berlaku : 4 (empat) tahun Jml Halaman : 28 halaman Mata Kuliah : Teori Komputasi

Lebih terperinci

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP) Mata Kuliah : Teori Bahasa dan Automa Bobot Mata Kuliah : 3 Sks GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP) Deskripsi Mata Kuliah : Micro processing dan Memory, Memory Addressing; Register, Struktur Program,

Lebih terperinci

SATUAN ACARA PERKULIAHAN (SAP)

SATUAN ACARA PERKULIAHAN (SAP) SATUAN ACARA PERKULIAHAN (SAP) Pertemuan / Minggu Nama Mata Kuliah : Teori Bahasa dan Automata Kode Mata Kuliah : TI 04 Bobot Kredit : 3 SKS Semester Penempatan : III Kedudukan Mata Kuliah : Mata Kuliah

Lebih terperinci

TEORI BAHASA DAN OTOMATA PENGANTAR

TEORI BAHASA DAN OTOMATA PENGANTAR TEORI BAHASA DAN OTOMATA PENGANTAR PERKULIAHAN Jumlah pertemuan minimal 13 kali dan maksimal 15 kali sudah termasuk dengan ujian tengah semester (UTS) PENILAIAN ABSEN 10% (Minimal kehadiran 80% dari jumlah

Lebih terperinci

Overview. Pendahuluan. Pendahuluan. Pendahuluan. Pendahuluan. Pendahuluan

Overview. Pendahuluan. Pendahuluan. Pendahuluan. Pendahuluan. Pendahuluan Overview Pertemuan : I Dosen Pembina : Danang Junaedi Deskripsi Tujuan Instruksional Kaitan Materi Penilaian Grade Referensi Jurusan Teknik Informatika Universitas Widyatama Deskripsi Mata kuliah ini mempelajari

Lebih terperinci

TEORI BAHASA & AUTOMATA

TEORI BAHASA & AUTOMATA TEORI BAHASA & AUTOMATA Dosen: Dadang mulyana Alamat email untuk tugas: dadangstmik@gmail.com 1 Cara pengiriman tugas: Dalam subjek email tuliskan: Instansi_kelas_nama_matakuliah_jenistugas Contoh: Ahmad

Lebih terperinci

BAB 1 PENDAHULUAN. sederhana adalah kelas bahasa reguler (regular languages). Bahasa reguler dapat dengan

BAB 1 PENDAHULUAN. sederhana adalah kelas bahasa reguler (regular languages). Bahasa reguler dapat dengan BAB 1 PENDAHULUAN 1.1 Latar Belakang Dalam hierarki kelas-kelas bahasa menurut Chomsky, kelas bahasa yang paling sederhana adalah kelas bahasa reguler (regular languages). Bahasa reguler dapat dengan tepat

Lebih terperinci

TEORI BAHASA DAN AUTOMATA

TEORI BAHASA DAN AUTOMATA TEORI BAHAA DAN AUTOMATA I. PENDAHULUAN Teori Bahasa Teori bahasa membicarakan bahasa formal (formal language), terutama untuk kepentingan perancangan kompilator (compiler) dan pemroses naskah (text processor).

Lebih terperinci