340 likes | 818 Views
TEORI BAHASA DAN OTOMATA. POKOK BAHASAN PENDAHULUAN OTOMATA KEADAN HINGGA ( FINITE STATE AUTOMATA ) 3. EKIVALENDI DETERMINISTIK OTOMATA DENGAN NON-DETERMINISTIK OTOMATA 4. NON-DETERMINISTIK OTOMATA DENGAN -MOVE EKSPRESI REGULER ATURAN PRODUKSI OTOMATA KEADAAN HINGGA
E N D
POKOK BAHASAN PENDAHULUAN OTOMATA KEADAN HINGGA (FINITE STATE AUTOMATA) 3. EKIVALENDI DETERMINISTIK OTOMATA DENGAN NON-DETERMINISTIK OTOMATA 4. NON-DETERMINISTIK OTOMATA DENGAN -MOVE EKSPRESI REGULER ATURAN PRODUKSI OTOMATA KEADAAN HINGGA 7. OTOMATA KEADAAN HINGGA DENGAN OUTPUT
POKOK BAHASAN ( lanjutan) 8. POHON PENURUNAN 9. PENYEDERHAAN TATA BAHASA BEBAS KONTEKS 10. BENTUK NORMAL CHOMSKY 11. PENGHILANGAN REKURSIF KIRI 12. BENTUK NORMAL GREIBACH 13. PUSH DOWN AUTOMATA 14. MESIN TURING
BUKU WAJIB TEORI BAHASA DAN OTOMATA FIRRAR UTDIRARTATMO BUKU PENDUKUNG TEORI BAHASA DAN OTOMATA JOHN E. HOPCROFT
TeoribahasadanOtomatamerupakan model gagasandasarmengenaikomputasi Bahasaalami (natural language) didefinisikansebagaikumpulankata-katadanmetodepenggabungankata-kata yang digunakandandimengertisuatukomunitas. Bahasa formal (formal language) digunakanuntukmembentukbahasaalamidanuntukberkomunikasidengankomputer Otomataadalahmesinabstrakuntukmemodelkan komputer yang menerimainput, menghasilkanoutput, memilikimemorisementaradanmampu mentransformasikaninputkeoutput.
1.1 AbjadatauAlfabet (Alpabet) Abjad , yang dilambangkandengansimbol, adalahhimpunanberhinggatakkosongdari simbol-simbol. Contoh 1.1 Alfabetbineradalah = { 0, 1} Alfabethurufkeciladalah = {a, b, c, … , z} Alfabetbilanganasli < 9 adalah = {1, 2, 3, …, 8} 1.2 Untai (String) Untai, kadang-kadangdisebutkataatauword, adalahbarisanberhinggasimbol-simbol yang berasaldarisuatualfabet.
Contoh 1.2 • 1011adalahuntai yang berasaldarialfabet • = { 0, 1} • stmik, kelas, sttrqwadalahuntai yang berasaldari • alfabet = {a, b, c, …, z} • 200929001adalahuntai yang berasaldarialfabet • = {1, 2, 3, 4, … , 9} • Untaikosong • Untaikosongadalahuntai yang tidakmempunyaisimbol yang berasaldarialfabet. • Untaikosong (null string) dilambangdengan. • adalahuntai yang berasaldarisembarangalfabet
Panjanguntai Panjanguntaiadalahjumlahsimbol yang membentuknya. Contoh 1.3 Panjanguntai1011, ditulis |1011|= 4 Panjanguntaisttrqw, , ditulis |sttrqw|= 6 Panjanguntai , ditulis | |= 0
PangkatAlfabet Himpunanseluruhuntai yang berasaldarialfabet tertentudapatdinyatakandalamnotasieksponensial. kdidefinisikansebagaihimpunanuntaidengan panjang k, ygmasing-masingsimbolnyaberasaldari . * (Kleen Star) didefinisikansebagaihimpunanseluruhuntaimulaidariuntaikosongsampaiuntaidenganpanjangtertentu. * = 0 + 1 + 2 + 3 + … = 0 1 2 3… +didefinisikansebagaihimpunanseluruhuntai dengantanpauntaikosong (null string) + = 1 + 2 + 3 + … = 1 2 3…
Contoh 1.5 Jika = { 0, 1}, maka: 0 = { } 1 = {0, 1} 2 = {00, 01, 10, 11} 3 = {000, 001, 010, 011, 100, 101, 110, 111} * = { , 0, 1, 00, 01, 10, 11, 000, …} + = {0, 1, 00, 01, 10, 11, 000, …}
Perbedaanantara dan kadalah: • adalahabjad yang merupakanhimpunantakkosong • yang terdiridarisimbol-simbol. • kadalahhimpunanuntaidenganpanjangmasing-masinguntaiadalah k. Simboldarisetiapuntaipada k berasaldari • Rentenganuntai (String Concatenation) • Misal w1dan w2adalahuntai. Rentenganuntai • w1 dan w1 menghasilkanuntai w1 w2
Contoh 1.6 Misal w1 = xx w2 = xyx, maka w1 w2 = xxxyx w1 = aab w2 = abb, maka w1 w2 = aababb w1 = w2 = xy, maka w1 w2 = xy w1 = abba w2 = , maka w1 w2 = abba w1 = w2 = , maka w1 w2 = 1.3 Bahasa Formal (Formal Language) Bahasa formal adalahhimpunan yang mempunyai anggota-anggotaberasaldari*. Jika adalahalfabet, dan L *maka L adalahbahasa. Untai-untai yang membentuksuatubahasaberasaldarisuatualfabet .
Contoh 1.7 • Bahasapemrograman C++, atau Java, ataulainnyatermasukbahasa formal yang berasaldarialfabet • = {a, b, c, … , z, A, B, C, …, Z, 0, 1, 2, 9,< , >, =, • +, – , *, / , ( , ) , . , & , ! , % , ^ , { , } , | , ‘ , : , ;} • Contoh 1.8 • Berikutadalahbeberapacontoh lain bahasa formal. • Himpunanseluruhuntai yang terdiridari n • buah 0 dandiikutioleh n buah 1, untuk n 0 adalah L = {, 01, 0011, 000111, …} • b) Himpunanseluruhuntaiterdiridarijumlahsimbol 0 dan 1 yang samaadalah • L = {, 01, 0011, 0101, 1010, 1100, 0110, …}
c) Himpunanbilanganbiner yang nilainyasamadenganbilangan prima adalah L = {10, 11, 101, 111, 1011, 1101, …} d) *adalahbahasaatasseluruhalfabet e) adalahbahasakosongmerupakanbahasaatassembarangalfabet f) {} adalahbahasa yang hanyaterdiridariuntaikosong, jugamerupakanbahasaatassembarangalfabet
Perhatikanbahwa: • {} • tidakmemilikiuntai • {} memilikisatuuntai • Bahasadapatdidefinisikandenganmenggunakannotasipembentukhimpunan (set-builder notation). • L = {w| sifat-sifat w} • Dibaca: L adalahhimpunanuntai w sedemikianrupa, sehinggamemenuhisifat-sifat w
Contoh 1.9 L = {w | w terdiridarisimbol-simbol 0 dan 1 yang jumlahnyasama} b) L = { w| w adalahbilanganbulatbiner yang nilainya prima} c) L = {w| w adalah program C++ yang benarsintaksnya}
1.4 OPERASI – OPERASI PADA BAHASA a) Perangkaian (Concatenation) Misal L1dan L2merupakanbahasa-bahasaberdasarkanalfabet. Perangkaian L1dan L2ditulis: L1 . L2 = {w1.w2 | w1 ∈ L1 dan w2 ∈ L2 } Contoh 1.10 Diketahui L1 = {ayam, kucing} dan B {gajah}, Maka L1 . L2 = {ayamgajah, ayamgajah}
b) Eksponensiasi (Exponentiation) Misalkan L merupakansuatubahasaberdasarkanalfabetΣ. Contoh 1.11 Jika L = {ab} berdasarkanalfabetΣ , maka: Lo = {} L1 = L = {ab} L2 = L.L1 = {abab} L3 = L.L2 = {ababab}
c) Gabungan (Union) Misalkan L1dan L2adalahbahasa-bahasaberdasarkansuatuabjadΣ. Gabungandari L1dan L2 , ditulis L1 ∪ L2,terdiridarisemuauntai yang munculsekurang-kurangnyasekalidalam L1dan L2 . L1 ∪ L2 = {x|x ∈ L1 atau x ∈ L2} Contoh 1.12 Misal Σ = {0,1} L1 = {ε,0,1,10,11} L2 = {ε,1,0110,11010} L1 ∪ L2 = {ε,0,1,10,11,0110,11010}
d) Irisan (Intersection) Misalkan L1dan L2adalahbahasa-bahasaberdasarkansuatuabjadΣ. Irisandari L1dan L2 , ditulis L1 L2,terdiridarisemuauntai yang munculbaikdi L1 maupundi L2 . L1 L2 = {x|x ∈ L1 dan x ∈ L2} Contoh 1.13 Misal Σ = {0,1} L1 = {ε,0,1,10,11} L2 = {ε,1,0110,11010} L1 L2 = {ε,1}
e) Sub Bahasa Misalkan L1 dan L2adalahbahasa-bahasaberdasarkansuatuabjadΣ danjikasemuauntaidi L1 jugamerupakanuntaidi L2, maka L1 disebutsebuah sub bahasadari L2 . Notasi L1 ⊆ L2 Contoh 1.14 Jika L1 = {a,aa,aaa} dan L2 = {a,aa,aaa,aaaa,aaaaa} maka A ⊆ B f) Equal (Sama) Duabuahbahasa L1dan L2dikatakansamajikakeduabahasatersebutsecarapersismempunyaiuntai-untai yang sama, artinyajikasebagaihimpunan-himpunankeduanyapersissama. Notasi : L1 = L2
g) Star Closure dan Plus Closure • Jika L adalahsebuahbahasaberdasarkansuatuabjadΣ, didefinisikan: • • Star Closure dari L* • • Plus Closure dari L+
Contoh 1.15 Jika L = {a, b} Maka: L0 = { } L1 = L = {a, b} L2 = L.L1 = {aa, ab, ba, bb} L3 = L2.L = {aaa, aab, aba, abb, baa, bab, aab, bbb} L* = L0 + L1 + L2 + L3 + … L* = {, a, b, aa, ab, ba, bb, aaa, aab, aba, abb, baa,bab,aab,bbb. …} L+ = L1 + L2 + L3 + … L+ = {a, b, aa, ab, ba, bb, aaa, aab, aba, abb, baa,bab,aab,bbb. …}
1.5 Hirarki Chomsky Tata bahasa (grammar) didefinisikansebagai kumpulandarihimpunan-himpunanvariabel, simbol-simbol terminal, simbolawal, yang dibatasiolehaturan-aturanproduksi. Tahun 1959 Noam Chomsky melakukan Penggolongantingkatanbahasamenjadi 4 dan disebutHirarki Chomsky.
Aturanproduksidinyatakandalambentuk , • dibaca, menghasilkan atau menghasilkan • menyatakansimbol-simbolpadaruaskiri • aturanproduksi (sebelahkiritanda ) • menyatakansimbol-simbolpadaruaskanan • aturanproduksi (sebelahkanantanda ) • Simbol-simbolpadaaturanproduksidapatberupa • simbol terminal atausimbol non-terminal/variabel • Simbol terminal adalahsimbol yang tidakdapat • diturunkanlagi • Simbol non-terminal adalahsimbol yang masihdapatditurunkan
Simbol terminal biasanyamenggunakanhurufkecil, seperti, a, b, c, … Simbol non-terminal biasanyamenggunakanhurufbesarseperti A, B, C, … Aturanproduksi: T a (dibaca “T menghasilkan a”) E TT+E (dibaca “E menghasilkan T atau E menghasilkan T + E”) Simbol “” dibaca ‘atau’; digunakanuntukmempersingkataturanproduksi yang mempunyai ruaskiri yang sama.
Jadipenulisanaturanproduksi E TT+E adalahsingkatandariduabuahaturtanproduksi: E T E T+E Contoh-contohaturanproduksi (lihattabelberikut)
KeterkaitanbahasapadaHirarkiChomski unrestricted kontekssensitif bebaskonteks regular