100 likes | 388 Views
Teori Bahasa dan Otomata 1. Pendahuluan (1/3). Ilmu komputer memiliki dua komponen utama : Model dan gagasan mendasar mengenai komputer Teknik rekayasa untuk perancangan sistem komputer meliputi hardware dan software.
E N D
Pendahuluan (1/3) • Ilmu komputer memiliki dua komponen utama : • Model dan gagasan mendasar mengenai komputer • Teknik rekayasa untuk perancangan sistem komputer meliputi hardware dan software. • Teori bahasa & otomata termasuk dalam bagian pertama yang diterapkan pada perancangan digital, pembuatan bahasa pemograman, dan kompilator. • Teori otomata mempelajari model mesin komputer menggunakan model matematika.
Pendahuluan (2/3) • Teoriotomatamerupakankajianmengenaiperangkatkomputasiabstrak, ataubisadikatakan ‘’mesinabstrak’’ • Otomataadalahmesinabstrak yang dapatmengenali (recognize), menerima (accept), ataumembangkitkan (generate) sebuahkalimatdalambahasatertentu • Padaawalnyaotomataditujukanuntukmemodelkanfungsiotak, tetapisecaraekstrimtujuantersebutakhirnyaberubahuntukberbagaikeperluanlainnya. • Padatahun 1950-an, pakarbahasa N. Chomsky mulaimempelajaristuditentangtatabahasa formal (formal grammar). Secaralangsungtatabahasatersebuttidakterkaitdenganmesin, tetapimemilikihubunganeratdenganotomataabstrakdansaatinimenjadidasarbagisejumlahkomponenperangkatlunak, termasukbagian-bagiandarikompiler.
Pendahuluan (3/3) • Grammar memiliki manfaat sangat besar di ilmu informatika/komputer untuk mendeskripsikan dan mendefinisikan sintaks bahasa pemrograman dan bahasa-bahasa formal yang lain. • Grammar diterapkan pada perancangan kompilator dan bidang-bidang lain dalam ilmu komputer.
Beberapa Pengertian Dasar • Simbol adalah sebuah entitas abstrak. Sebuah huruf atau angka adalah contoh simbol. • String/untai/ adalah deretan terbatas (finite) simbol-simbol • Ex : jika a,b,c adalah simbol, maka abcb adalah string yang dibangun dari ketiga simbol tersebut. • Jika w adalah sebuah string, maka panjang string dinyatakan sebagai |w|, yang didefinisikan sebagai banyak simbol yang menyusun string tersebut. • Ex : jika w = abcb maka |w| = 4 • String hampa adalah sebuah string dengan nol buah simbol. String hampa dinyatakan dengan simbol ε atau ^sehingga | ε| = 0 • Bahasa (language) adalah kumpulan dari untai-untai atau string
Konsep Dasar (1/4) Si Kucing Kecil Menendang Bola Besar
doktafia Konsep Dasar (2/4) • Pohon sintaks dapat dituliskan dalam bentuk sebuah produksi : • <Kalimat> <Subjek><Predikat> • <Subjek> <Kata Sandang><Kata Benda><Kata Keadaan> • <Predikat> <Kata Kerja><Objek> • <Objek> <Kata Benda><Kata Keadaan> • <Kata Sandang> Si • <Kata Benda> Kucing | Bola • <Kata Keadaan> Kecil | Besar • <Kata Kerja> Menendang • Untai terminal dapat dibentuk dengan melakukan sederetan produksi menggunakan produksi yang ada. Proses ini disebut dengan Derivasi.
doktafia Konsep Dasar (3/4) Si Kucing Kecil Menendang Bola Besar Derivasi untuk untai di atas adalah : <Kalimat> <Subjek><Predikat> <Kata Sandang><Kata Benda><Kata Keadaan><Predikat> <Kata Sandang><Kata Benda><Kata Keadaan><Kata Kerja> <Objek> <Kata Sandang><Kata Benda><Kata Keadaan><Kata Kerja> <Kata Benda><Kata Keadaan> Si Kucing Kecil Menendang Bola Besar Untai lain yang bisa terbentuk : Si Bola Kecil Menendang Kucing Besar Si Kucing Besar Menendang Bola Kecil, dll.
Konsep Dasar (4/4) Contohberikutadalahcontohbagaimanamembangun operand yang absahdalamsuatubahasapemograman. Kita definisikanhimpunan 8 produksidengansimbol Start adalah <OPERAND> sebagaiberikut : <OPERAND> <ID> | <INTEGER> <ID> <LETTER><LIST> <LETTER> x | y | z <LIST> <LETTER><LIST> | <DIGIT><LIST> | ^ <DIGIT> 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 <INTEGER> <SIGN><DIGIT><DIT> <SIGN> + | - <DIT> <DIGIT><DIT> | ^ <OPERAND> <ID> <LETTER><LIST> y <LIST> y <DIGIT><LIST> y7 <LIST> y7^ atau y7 Derivasinya
Latihan • Apakah untai terminal berikut absah sebagai operand bahasa pemograman, kalau absah tentukan derivasinya • 4xy2 • x2y • -21x • xxb • +1230 • x123 • x-y+2 • x1x2x3x • xxxyyy