700 likes | 1.66k Views
Teori Bahasa & OTOMATA. BAB I. PENDAHULUAN. Ilmu komputer mempunyai 2 komponen utama : Model dan gagasan mendasar mengenai komputasi . Teknik rekayasa untuk perancangan sistem komputasi , meliputi perangkat keras dan perangkat lunak , khususnya penerapan rancangan dari teori .
E N D
Teori Bahasa & OTOMATA
BAB I. PENDAHULUAN Ilmukomputermempunyai 2 komponenutama : • Model dangagasanmendasarmengenaikomputasi. • Teknikrekayasauntukperancangansistemkomputasi, meliputiperangkatkerasdanperangkatlunak, khususnyapenerapanrancangandariteori. Teoribahasadanotomatamerupakanbagianpertama. • KEDUDUKAN TEORI BAHASA DAN OTOMATA • PADA ILMU KOMPUTER
Secarateoritisilmukomputerdiawalidarisejumlahperbedaan disiplinilmu. • Teknikelektro : Mengembangkan switching sebagai tool untukmendesain hardware. • Matematika : Bekerjaberdasarkanlogika. • AhliBahasa : Menyelidikitatabahasauntuk natural language. • AhliBiologi : Mempelajari neural network. Spesifikasidarisebuahbahasapemrograman : • Himpunansimbol-simbol (alphabet) yang bisadipakaiuntukmembentuk program yang benar. • Himpunan program yang benarsecarasintaktik. • Maknadari program tersebut.
B. Konsep Bahasa dan Otomata 1. TeoriBahasaadalahkonsep-konseppada "string alpabet “ dalampenyambungankarakter-karakteralpabetuntukmembentuksuatumakna (bahasa). 2. Alpabetadalahhimpunansimbol (karakter) takkosong yang berhingga. Alpabetdigunakanuntukmembentukkata-kata (string- string) dibahasa. Bahasadimulaidenganalpabet. AlpabetdilambangkandenganΣ 3. String adalahderetansimboldarialpabetdimanaperulangansimboldiijinkan.Contoh :V = {a,b,c,d}String padaalpabet V antara lain -> 'a','abcd','bbba'
4. panjang string adalahjumlahsimboldidalam string bukanpadaalpabetdanpengulangankemunculansimboldihitung. Panjang string dilambangkan|w| Contoh: |ε| = 0 |a| = 1 |aa| = 2 |aaa| = 3 |aaab| = 4
5. Empty string(null string) adalah string yang tidakmengandungsimbolapapun. Lambangnyaatau • 6. Regular expression adalahcarauntukmengekspresikanbahasadenganhanyamenggunakanoperasi : • Concatenation • Superscript • Kleene closure • Positif closure
Penyambungan (Concatenation - o)Penyambungandilakukanpada 2 karakterataulebihmembentuk 1 barisankarakter (string simbol).Contoh : 'a' o 'b' = 'ab''ab' o 'baab' = 'abbaab'
Superscript Penyambungandapatdianggapsebagaiperkaliankarenabiasanyapenulisannyaadalahbila x dan y string, maka x o y adalahxy. sehinggapemangkatandapatdigunakanVoV = VV = V2 ----> Panjang string = 2
Kleene closure V* = {ε} U V+adalah string pada V, termasuk string kosongdimana ε string kosong (string tanpasimbol) ε mempunyaisifatidentitas, yaitu:ε o x = xx o ε = x
Positive closure V+ = V1 U V2 U V3 U ... adalahhimpunan string pada V, tidakada string kosongdidalamnya. V0 = {ε}adalahhimpunan yang isinyahanya string kosong, dimana String kosong ε tidaksamadenganhimpunankosong
Otomatamerupakansuatusistem yang terdiriatassejumlahberhingga state, dimana state menyatakaninformasimengenai input yang lalu, dandapat pula dianggapsebagaimemorimesin. • Input padamesinotomatadianggapsebagaibahasa yang harusdikenaliolehmesin. • Selanjutnyamesinotomatamembuatkeputusan yang mengindikasikanapakah input ituditerimaatautidak. • Sebuah string input diterimabilamencapai state akhir / final state yang digambarkandenganlingkaranganda.
C. Hirarki Chomsky • Tata bahasa (grammar) bisadidefinisikansecara formal sebagaikumpulandarihimpunan-himpunanvariabel, simbol-simbol terminal, simbolawal yang dibatasiolehaturan-aturanproduksi.
Aturanproduksimerupakanpusatdaritatabahasa, yang menspesifikasikanbagaimanasuatutatabahasamelakukantransformasisuatu string kebentuklainnya. • Semuaaturanproduksidinyatakandalambentuk : “ α→β “ ( alpha menghasilkanbethaatau alpha menurunkanbetha) • αmenyatakansimbol-simbolpadaruaskiriaturanproduksi. • βmenyatakansimbol-simbolpadaruaskananaturanproduksi
PenggolonganempattingkatanbahasaberdasarkanhirarkiComskydapatdilihatpadatabelberikut :
Simbolvariabel / non terminaladalahsimbol yang masihbisaditurunkanlagidandinyatakandenganhurufbesar. • Simbol terminalsudahtidakbisaditurunkanlagi, dandinyatakandenganhurufkecil. • Denganmenerapkanaturanproduksi, suatutatabahasabisamenghasilkansejumlahstring. • Himpunansemua string adalahbahasa yang didefinisikanolehtatabahasatersebut.
Contoh Aturan Produksi • T → a dibaca “T menghasilkan a“ • E → T | T + E dibaca “E menghasilkan T” atau “E menghasilkan T dan E“ Simbol | menyatakan ‘atau’, digunakanuntukmempersingkatpenulisanaturanproduksi yang mempunyairuaskiri yang sama.
Tipe 0 /Unrestricted /Natural Language • Tidakadabatasanpadaaturanproduksinya. Misal : Abc→ De ABC → b
Tipe 1/ Conteks Sensitive • Panjang string padaruaskiri≤ panjang string padaruaskanan|α | ≤ |β|. Misal : Ab → DeF CD → eF exception : S → ε
Tipe 2 / BebasKonteks/ Context Free • Ruaskiriharustepatsatusimbolvariabel Misal : B → CDeFG D→ BcDe
Tipe 3/Reguler • Ruaskananmaksimalmemilikisebuahsimbolvariabel yang terletakdi paling kanan, simbol terminal bisaberapasaja/ takterbatas, tetapibilaterdapatsimbolvariabelharusterletak paling kanan. Misal : A → e A → fgh A → eH C→ D
Catatan : • Aturanproduksiseperti : ε → Abd bukanaturanproduksi yang legal, karenasimbolεtidakbolehberadapadaruaskiri • Aturanproduksi yang ruaskirinyahanyamemuatsimbol terminal saja, seperti : a → bd ab → bd bukan aturan produksi yang legal, karena ruas kiri juga harus memuat simbol yang bisa diturunkan.