3.1. Definisi Syntax Syntax suatu bahasa pemrograman adalah satu himpunan

Ukuran: px
Mulai penontonan dengan halaman:

Download "3.1. Definisi Syntax Syntax suatu bahasa pemrograman adalah satu himpunan"

Transkripsi

1 BAB 3. ANALISIS SINTAK PERAN PENGURAI CONTEXT-FREE GRAMMAR PENULISAN GRAMMAR PENGURAIAN TOP-DOWN PENGURAIAN BOTTOM-UP PENGURAIAN OPERATOR-PRECEDENCE PENGURAIAN LR PENGGUNAAN AMBIGUOUS GRAMMAR PEMBENTUK PENGURAI 3.1 Syntax & Semantics Definisi Syntax Syntax suatu bahasa pemrograman adalah satu himpunan peraturan yang menjelaskan bagaimana simbol-simbol bahasa dapat dirangkai bersama untuk membentuk pernyataan (statement) yang berarti. Aturan formal yang mengatur bagaimana seseorang menulis instruksi yang valid dalam pada suatu bahasa. Definisi Semantics Himpunan aturan yang memberikan artian dari suatu instruksiinstruksi yang ditulis pada suatu bahasa pemrograman

2 Pendahuluan Setiap bahasa pemrograman mempunyai aturan-aturan yang menjelaskan struktur sintak dari program-program yang dibuatnya. Misalnya pada bahasa Pascal: Program terbentuk dari beberapa blok. Blok terbentuk dari beberapa statements. Statements terbentuk dari beberapa ekspresi. Ekspresi terbentuk dari beberapa token. Token terbentuk dari beberapa characters. 3.3 Pendahuluan (cont d) Sintak dari bentuk bahasa pemrograman dapat dijelaskan oleh notasi Context-Free Grammars atau Backus-Naur Form (BNF) yang memberikan beberapa keuntungan baik kepada perancang maupun penulis compilers. Keuntungan-keuntungan tersebut adalah: Spesifikasi sintak jelas dan mudah dimengerti Efisiensi & dapat menemukan ambiguity Mendeteksi kesalahan untuk membuat program yang benar Menampilkan construct (bentuk) baru dan kemampuan tambahan

3 PERAN PENGURAI source program Lexical Analyzer token get next token Parser parse tree Rest of Front End intermediate representation Symbol Table Position of parser in compiler model 3.5 PERAN PENGURAI (cont d) Penguraian (parsing) adalah proses penentuan apakah satu rangkaian/untaian (string) tokens dapat dibentuk (generated) oleh satu tata bahasa. Dalam pembahasan masalah ini akan sangat membantu dengan berfikir bahwa satu pohon urai sedang dibentuk walaupun sebenarnya compiler tidak membentuk pohon urai semacam itu. Namun demikian suatu pengurai (parser) harus dapat membentuk pohon urai atau bila tidak maka penerjemahan tidak dijamin berjalan benar

4 PERAN PENGURAI (cont d) Adapun peran utama pengurai (parser) adalah: Parser menerima token dari Lexical Analyzer Menguji bahwa token tersebut dapat dibentuk oleh tata bahasanya Parser melaporkan kesalahan sintak Parser harus dapat kembali bekerja walau telah menemukan kesalahan sampai proses akhir. 3.7 Perbedaan Pohon Sintak & Pohon Urai POHON SINTAK Disebut Abstract Syntax Tree atau Syntax Tree Setiap node merepresentasikan operator dan anak-anak node merepresentasikan operand Contoh: Pohon syntax untuk POHON URAI Disebut Concrete Syntax Tree Akar (root)-nya merupakan simbol mulai (start symbol) dan daun-nya merupakan produksi sebelah kanan suatu grammar, atau lebih menekankan grammar) Contoh: Pohon urai untuk berdasarkan grammar: List list + digit List list - digit List digit Digit

5 Perbedaan Pohon Sintak & Pohon Urai (cont d) Gambar Pohon Sintak Gambar Pohon Urai 3.9 Tipe Pengurai 1.Universal Dapat digunakan untuk menguraikan semua jenis tata bahasa. Sangat tidak efisien digunakan untuk keperluan kompilasi. 2.Top-Down Membentuk pohon urai dari atas atau root (akar) ke bawah atau daun (leaf). 3.Bottom-Up Memebentuk pohon urai dari bawah ke atas. Tersebut nomor dua dan tiga adalah yang lazim dan lebih efisien digunakan dalam pembuatan atau proses kompilasi

6 Syntax Error Handling Bila satu Compiler hanya memproses program yang benar, rancangan & implementasi-nya akan lebih sederhana. Tetapi programer sering menulis program yang tidak benar dan compiler yang baik harus dapat membantu programmer didalam mengidentifikasi dan melokalisasi kesalahan Kesalahan Kesalahan dapat terjadi pada beberapa tingkat yang berupa: 1. Leksikal, misal salah mengejah identifier, keyword (kata kunci), dan operator. 2. Sintak, misal ekpresi arithmetic dengan tanda kurung yang tidak seimbang. 3. Semantik, misal suatu operator dipakai pada operand yang tidak cocok. 4. Logika, misal recursive call (pemanggilan berulang) yang tidak terhingga (endless loop)

7 Pendeteksian Kesalahan Pendekteksian Kesalahan dan penanggulangannya dipusatkaan pada phase ANALISIS. Alasannya : Kesalahan terjadi pada sifat sintaknya, atau kumpulan token yang datang dari lexical analyzer tidak sesuai dengan tata bahasanya. Ketepatan dari metode parser modern yang dapat mendeteksi kesalahan sintak dengan efisien Tujuan Mengatasi Kesalahan 1.Melaporkan adanya kesalahan dengan jelas dan akurat. 2.Harus dapat cepat kembali mendeteksi kesalahan selanjutnya jika telah lhmendeteksi kikesalahan lh sebelumnya. bl 3.Tidak harus memperlambat proses jika dilakukan terhadap program yang benar

8 Cara Pelaporan Bagaimana pengendali kesalahan (error handler) melaporkan adanya kesalahan? Salah satu cara: mencetak baris dimana kesalahan mungkin terjadi; pesan juga ditampilkan. Setelah mendeteksi adanya kesalahan, pengurai (parser) kembali berfungsi walaupun kadang-kadang kesalahan pertama akan mempengaruhi proses selanjutnya, namum proses tidak berhenti. Pada umumnya pengurai kembali pada suatu phase dengan melanjutkan pemrosesan input tdengan harapan input ttersebut t dapat diurai dengan benar Error-Recovery Strategies Panic Mode (Mode Panik) Paling sederhana bila menemukan kesalahan, parser membuang simbol input sampai salah satu token penyelaras (synchronizing i token) ditemukan, misalnya; dan end. Metode ini tidak menimbulkan endless loop. Phrase Level (Kombinasi Kata-kata) Pada saat menemukan kesalahan, parser melakukan pembetulan loka pada sisa input dengan menggati awalan (prefix) dari sisa input dengan string yang dapat meneruskan proses. Pembetulan sederhana misalnya menghapus titik koma yang berlebihan, menggati koma dengan titik koma, tapi kadang menimbulkan loop tak terhingga (endless loop)

9 Error-Recovery Strategies (cont d) Error Production (Produksi Kesalahan) Bila menemukan kesalahan yang umum/biasa, kemudian memperluas tentang bahasanya dengan memproduksi bentuk-bentuk yang salah. Produksi yang diperluas tersebut digunakan untuk proses penguraian untuk dapat mendiagnosa bentuk input yang salah. Global Correction (Pembetulan Menyeluruh) Kompilator yang ideal hanya akan membuat perubahan sedikit mungkin dalam hal proses input yang tidak benar. Ada beberapa global dengan cara tertentu sehingga perubahan pada token dilakukan sekecil mungkin. Metoda ini sangat mahal dari segi waktu/tepat CONTEXT-FREE GRAMMAR Banyak bentuk bahasa pemrograman memiliki struktur rekursif (recursive: berulang) yang dapat didefinisikan oleh context-free grammar (CFG). Misalnya kita memiliki statement bersyarat yang didefinisikan oleh satu peraturan seperti: Bila S1 dan S2 adalah statement dan E adalah expression, maka; If E then S 1 else S 2 adalah sebuah statement. Dalam bentuk produksi: stmt if expr then stmt else stmt Bentuk statement bersyarat ini tidak dapat ditentukan dengan menggunakan notasi regular expression. Regular expression dapat menentukan struktur leksikal dari suatu token

10 CONTEXT-FREE GRAMMAR (cont d) Dengan menentukan variabel stmt untuk menyatakan kelas dari statement dan expr menyatakan kelas dari expression, kita dapat mengekpresikan statement diatas dengan menggunakan produksi tata bahasa. Dalam bentuk produksi: stmt if expr then stmt else stmt CFG terdiri dari Terminal, Non-Terminal, Start symbol, dan Produksi CONTEXT-FREE GRAMMAR (cont d) KOMPONEN Satu set token Satu set non-terminal Satu set produksi Satu non-terminal sebagai tanda start Contoh Grammar : stmt if (expr) stmt else stmt produksi Start symbol token Variables urutan token = non-terminal

11 CONTEXT-FREE GRAMMAR (cont d) CONTOH List List + Digit List List - Digit List Digit Digit Dapat ditulis menjadi: List List+Digit List-Digit Digit Catatan: Simbol 2 terminal: + - Simbol 2 non-terminal: list digit CONTEXT-FREE GRAMMAR (cont d) KEGUNAAN CONTEXT-FREE GRAMMAR ADALAH: Menentukan syntax suatu bahasa. Menjelaskan dengan tepat syntax suatu bahasa. Menjelaskan struktur hierarkhi bentuk-bentuk bahasa. Membantu mengarahkan penerjemahan

12 CONTEXT-FREE GRAMMAR (cont d) TERDIRI DARI : 1. Terminal Simbol dasar dari suatu rangkaian yang terbentuk token terminal, kata kunci if then dan else terminal 2. Non-Terminal stmt dan expr Adalah variabel sintatik yang menyatakan kumpulan dari rangkaian, mendefinisikan kumpulan dari rangkaian yang membantu bahasa yang dibentuk oleh tatabahasa. asa. Memberikan struktur tu hirarki yang gbermanfaat aat dalam proses analisis sintak translasi 3.23 CONTEXT-FREE GRAMMAR (cont d) 3. Awal Simbol Satu non-terminal berfungsi sebagai awal simbol, kumpulan rangkaian yang dinyatakannya merupakan bahasa yang didefinisikan tata bahasa tersebut. 4. Produksi Menentukan perilaku dimana terminal dan non-terminal dapat digabungkan untuk membentuk rangkaian. Setiap produksi terdiri dari non-terminal diikuti oleh tanda panah (kadangkadang simbol ::=), diikuti oleh rangkaian dari suatu non-terminal dan terminal. Bila S1 dan S2 adalah statement dan E adalah expression, maka; If E then S 1 else S 2 adalah sebuah statement. Dalam bentuk produksi: stmt if expr then stmt else stmt

13 Ketentuan-Ketentuan Notasi 1. Simbol-simbol Terminal Huruf kecil awal alfabet, misal a, b, c Simbol operator, misal +, -, dsb Simbol tanda baca, misal tanda kurung, koma dsb Digit 0, 1, 2,.9 Rangkaian tercetak tebal, misal id atau if 2. Simbol-simbol Non-Terminal Huruf besar alfabet, misal A, B, C Huruf S jika muncul biasanya dianggap sebagai simbol awal Nama dengan huruf kecil seperti expr atau stmt 3. Terminal/Non-Terminal Huruf besar akhir alfabet spt X,Y,Z merepresentasikan simbol tata bahasa (mungkin terminal atau non-terminal) 3.25 Ketentuan-Ketentuan Notasi (cont d) 4. Terminal Huruf kecil akhir alfabet seperti x, y, z merupan rangkaian (strings) dari suatu terminal. 5. Huruf kecil yunani seperti αβdan γ merupakan rangkaian (strings) dari simbol tata bahasa. Produksi, A α menyatakan ada satu non-terminal A disebelah kiri tanda panah & rangkaian simbol tata bahasa α disebelah kanan. 6. Jika A α 1, A α 2 A α k (atau A-produksi) dapat ditulis sebagai A α 1 α 2 α k where α 1, α 2 α k, sebagai alternatif untuk A. 7. Jika tidak disebutkan, sisi kiri dari produksi yang pertama adalah simbol awal

14 Ketentuan-Ketentuan Notasi (cont d) Grammar Notation The following notation used in the text is fairly standard in the literature: Terminals include lower-case letters early in the alphabet like a, b, c, operator symbols like +, -, punctuation symbols like comma and parentheses; digits 0, 1,, 9; boldface strings like id or const. Non-terminals include upper-case early in the alphabet like A, B, C; the letter S (usually the start symbol); lower-case italized names like expr or stmt. Upper-case letters late in the alphabet like X, Y or Z stand for grammar symbols; i.e. either terminals or non-terminals. Lower-case letters late in the alphabet like uv u, v, zstand for strings of terminal symbols. Lower-case Greek letters like α, β, γ stand for strings of grammar symbols. Hence a typical context-free grammar can be written as A α DERIVASI E -E -(E) -(id) Urutan penggantian E berturut-turut sampai dengan (id) disebut DERIVASI untuk (id) dari E. Simbol artinya derive dalam 1 langkah atau derive dalam nol atau lebih, or * + derive dalam 1 langkah atau lebih. Pohon urai & derivasi See fig derivasi

15 DERIVASI (cont d) Gambar Derivasi 3.29 AMBIGUITY Grammar yang dapat memiliki lebih dari satu pohon urai yang dihasilkan dari satu rangkaian token yang diketahui. Contoh : Grammar: List list+digit list-digit digit. Misalnya kita tidak dapat membedakan antara list dan digit, sehingga keduanya dianggap sebagai string; maka grammar-nya: string string+string string-string string. Sehingga pohon urainya dapat : string string string string string string string string string string Kedua pohon urai tersebut untuk:

16 PENULISAN SUATU TATA BHS Tata bahasa mempunyai kemampuan untuk menjelaskan sehingga besar, tetapi tidak semua, syntax dari bahasa pemrograman Sebagian kecil ildari analisis lii syntax dikerjakan jk oleh lhpenganalisis lii leksikal lkikl sebagaimanan ia menghasilkan rangkaian token dari karakter inputnya. Setiap metode pengurian hanya dapat menangani satu bentuk tertentu, tata bahasa awal mungkin harus ditulis kembali untuk dapat memungkinkanya menguraikan dengan metode yang dipilih PENULISAN SUATU TATA BHS (cont d) Regular Expressions vs Context-Free Grammar Setiap bentuk yang dapat di jelaskan oleh satu regular expression, dapat tjuga dijelaskan oleh satu tata t bahasa. Misal: regular expression (a b)*abb dan tata bahasa: A 0 aa 0 ba 0 aa 1 A 1 ba 2 A 2 ba 3 A 3 menjelaskan bahasa yang sama, set string a dan b yang diakhiri dengan abb

17 PENULISAN SUATU TATA BHS (cont d) Karena setiap set regular adalah satu bahasa bebas konteks, maka timbul pertanyaan : Mengapa menggunakan ekspresi regular untuk mendefinisikan lexical syntax dari suatu bahasa? Alasan-alasanya sebagai berikut: 1. Peraturan-peraturan leksikal dari satu bahasa pada umumnya cukup sederhana, dan untuk menjelaskannya tidak memerlukan notasi sebagus/sekuat grammar. 2. Expresi regular pada umumnya menyediakan notasi yang singkat dan lebih mudah dimengerti oleh token dari pada tata bahasa. 3. Lexical analyzer yang lebih efisien dapat dibentuk secara otomatis dari ekspresi regular dari pada grammar. 4. Pemisahan struktur sintak dari suatu bhs ke dalam bagian-bagian leksikal dan nonleksikal menyediakan kemudahan dalam hal modulasi front end menjadi dua komponen yang mudah diatur PENULISAN SUATU TATA BHS (cont d) There are no firm guidelines as to what to put into the lexical rules, as opposed to the syntactic rules. Regular expressions are most useful for describing the structure of lexical constructs such as identifiers, constants, keywords, and so forth. Grammars, on the other hand, are most useful in describing nested structures such as balanced parentheses, matching begin-end's, corresponding if-then-else's, else s, and so on. As we have noted, these nested structures cannot be described by regular expressions

18 PENULISAN SUATU TATA BHS (cont d) Secara mekanik kita dapat merubah satu NFA menjadi grammar yang menghasilakan bahasa yang sama yang dikenali oleh NFA tersebut. Tata bahasa tersebut diatas dibentuk dari NFA sebagai berikut: a start a b b b 3.35 PENULISAN SUATU TATA BHS (cont d) Menggunakan susunan sebagai berikut : Untuk setiap state i dari NFA, membentuk satu simbol nonterminal Ai. Bila state i mempunyai satu transisi ke state j simbol a, mengenalkan produk Ai aaj Bila state i ke state j dgn input ε, mengenalkan produksi Ai Aj Bila i adalah state penerima, mengenalkan Ai ε Bila i adalah state awal, membuat Ai sbg simbol start dari grammar

19 PENGURAIAN TOP-DOWN Penguaraian (turun berulang) Penguraian top-down usaha untuk: Mencari derivasi i paling kiri i (left-most) t) suatu rangkaian input Membentuk pohon urai Contoh Tata Bhs: S cad, A ab a Input: w cad S c A d S c A d S c A d a b a 3.37 PENGURAIAN PRAKIRA stmt if expr then stmt else stmt while expr do stmt begin stmt_list t t end Kata kunci if, while dan begin akan menentukan produksi

20 PENGURAIAN BOTTOM-UP Penguraian shift-reduce Penguraian dasar-atas memperoleh derivasi rightmost Contoh : Tata bahasa: S aabe A Abc b B d Kalimat : abbcdc dapat direduksi ke S, sbb : abbcde b A b Jadi abbcde dapat direduksi menjadi S. a A b c d e A Abc Derivasi Right-Most: a A d e B d S aabc aade aabcde abbcde a A B e S aabe S

BAB II SINTAKS 2.1. SINTAKS

BAB II SINTAKS 2.1. SINTAKS BAB II SINTAKS 2.1. SINTAKS merupakan kumpulan aturan yang mendefinisikan suatu bentuk bahasa. mendefinisikan bagaimana suatu kalimat dibentuk sebagai barisan/urutan dari pemilihan suatu kata dasar. Kata

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

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

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

Hirarki Comsky. Unrestricted. Context Sensitive Context free Regular

Hirarki Comsky. Unrestricted. Context Sensitive Context free Regular Hirarki Comsky Unrestricted Context Sensitive Context free Regular Contoh Tata Bahasa Sederhana BEGIN END ;

Lebih terperinci

21/11/2016. Pohon Sintaks. Syntax?? Proses Penurunan. Analisis Syntax (Parser) Metode Parsing ANALISIS SINTAKS TEKNIK KOMPILASI

21/11/2016. Pohon Sintaks. Syntax?? Proses Penurunan. Analisis Syntax (Parser) Metode Parsing ANALISIS SINTAKS TEKNIK KOMPILASI Pohon Sintaks TEKNIK KOMPILASI ANALISIS SINTAKS SHINTA P. SARI Jurusan Informatika Fasilkom Universitas Indo Global Mandiri Berupa pohon penurunan yang menggambarkan bagaimana memperoleh suatu string dengan

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

Komponen sebuah Kompilator

Komponen sebuah Kompilator Komponen sebuah Kompilator Program Subjek Program Objek ANALISIS SINTESIS Penganalisis Leksikal (Scanner) Penganalisis Sintaks (Parser) Penganalisis Semantik Pembentuk Kode Pengoptimal Kode TABEL 1 Scanning

Lebih terperinci

Syntax, Semantic & Grammar. Konsep Bahasa Pemrograman Materi 3 Yudianto Sujana, M.Kom

Syntax, Semantic & Grammar. Konsep Bahasa Pemrograman Materi 3 Yudianto Sujana, M.Kom Syntax, Semantic & Grammar Konsep Bahasa Pemrograman Materi 3 Yudianto Sujana, M.Kom Definisi Bahasa pemrograman merupakan notasi formal Mempunyai 2 komponen utama Syntax dan Semantic Syntax: Kumpulan

Lebih terperinci

Alat bantu (tools) dalam pembuatan parser/ analisis sintaksis. Menggunakan simbol persegi panjang untuk non terminal

Alat bantu (tools) dalam pembuatan parser/ analisis sintaksis. Menggunakan simbol persegi panjang untuk non terminal Diagram Syntax Alat bantu (tools) dalam pembuatan parser/ analisis sintaksis Menggunakan simbol persegi panjang untuk non terminal Lingkaran untuk simbol terminal Misalnya E T T+E T-E E T + - BNF:

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

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

Tata Bahasa Pemrograman

Tata Bahasa Pemrograman Tata Bahasa Pemrograman Bahasa dapat digambarkan sebagai suatu tatatanan yang membentuk hirarki Bahasa yang menggambarkan suatu urutan yang tertata secara valid disebut dengan formal languange Untuk membentuk

Lebih terperinci

BAB IV ANALISA SINTAKS

BAB IV ANALISA SINTAKS BAB 4 ANALISA SINTAKS 41 BAB IV ANALISA SINTAKS TUJUAN PRAKTIKUM 1) Memahami dan mengerti tugas analisa sintaks. 2) Memahami dan mengerti predictive parsing. 3) Memahami dan mengerti parsing Table M. TEORI

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

BAB 2. ANALISIS LEKSIKAL

BAB 2. ANALISIS LEKSIKAL ANALISIS LEKSIKAL 2.1 BAB 2. ANALISIS LEKSIKAL PERAN PENGANALISIS LEKSIKAL INPUT BUFFERING SPESIFIKASI TOKEN PENGENALAN TOKEN SATU BAHASA UNTUK PENENTUAN (SPECIFYING) PENGANALISIS LEKSIKAL FINITE AUTOMATA

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

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 Kompilasi Dosen: Utami Dewi W.,S.Kom

Teknik Kompilasi Dosen: Utami Dewi W.,S.Kom Teknik Kompilasi Dosen: Utami Dewi W.,S.Kom Sebuah kompilator akan sering menemui program yang mengandung kesalahan. Oleh karena itu, kompilator harus memiliki strategi yang dapat dilakukan untuk menangani

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

SEMANTIK. Sintak mendifinisikan suatu bentuk program yang benar dari suatu bahasa.

SEMANTIK. Sintak mendifinisikan suatu bentuk program yang benar dari suatu bahasa. SEMANTIK Sintak mendifinisikan suatu bentuk program yang benar dari suatu bahasa. Semantic mendefinisikan arti dari program yang benar secara sintak dari bahasa tersebut. Semantic suatu bahasa membutuhkan

Lebih terperinci

Teknik Kompilasi. Notasi Bahasa

Teknik Kompilasi. Notasi Bahasa Teknik Kompilasi Notasi Bahasa TATA BAHASA Tata bahasa / Grammar dalam OTOMATA adalah kumpulan dari himpunan variabel (non-terminal), simbol-simbol awal dan terminal yang dibatasi oleh aturan-aturan produksi.

Lebih terperinci

SATUAN ACARA PERKULIAHAN STMIK UBUDIYAH INDONESIA SEMESTER GENAP TAHUN AKADEMIK 2013/2014

SATUAN ACARA PERKULIAHAN STMIK UBUDIYAH INDONESIA SEMESTER GENAP TAHUN AKADEMIK 2013/2014 SATUAN ACARA PERKULIAHAN STMIK UBUDIYAH INDONESIA SEMESTER GENAP TAHUN AKADEMIK 2013/2014 MATA KULIAH FAKULTAS JURUSAN / JENJANG : TEKNIK KOMPILASI : Fakultas Ilmu Komputer : Teknik Informatika PROSES

Lebih terperinci

BAB VI CARA PENANGANAN KESALAHAN

BAB VI CARA PENANGANAN KESALAHAN BAB 6 CARA PENANGANAN KESALAHAN 55 BAB VI CARA PENANGANAN KESALAHAN TUJUAN PRAKTIKUM 1. Mengetahui jenis - jenis kesalahan yang biasa terjadi 2. Memahami cara cara penanganan kesalahan 3. Mengerti bagaimana

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

TEKNIK KOMPILASI Tony Darmanto,ST / Smt V S1 TI / STMIK WIDYA DHARMA/ Hal 16

TEKNIK KOMPILASI Tony Darmanto,ST / Smt V S1 TI / STMIK WIDYA DHARMA/ Hal 16 Tony Darmanto,ST / Smt V S1 TI / STMIK WIDYA DHARMA/ Hal 16 4. ANALISIS LEKSIKAL Struktur Kompiler Analisis Leksikal Apa itu? Masukan bagi sebuah compiler/interpreter adalah program sumber yang strukturnya

Lebih terperinci

Aplikasi Rekursif dalam Analisis Sintaks Program

Aplikasi Rekursif dalam Analisis Sintaks Program Aplikasi Rekursif dalam Analisis Sintaks Program Albertus Kelvin / 13514100 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132,

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 : Teknik kompilasi : Non-Reguler : 3 SKS : I : Fathiah, ST. M. Eng. Pertemua

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

TEKNIK KOMPILASI PERTEMUAN Ke 4 dan 5 Abdul Muis Mappalotteng ANALISIS SEMANTIK

TEKNIK KOMPILASI PERTEMUAN Ke 4 dan 5 Abdul Muis Mappalotteng ANALISIS SEMANTIK TEKNIK KOMPILASI PERTEMUAN Ke 4 dan 5 Abdul Muis Mappalotteng ANALISIS SEMANTIK Analisis Semantik adalah proses setelah melewati proses scanning dan parsing. Pada tahap ini dilakukan pengecekan pada struktur

Lebih terperinci

Teori Bahasa Formal dan Automata

Teori Bahasa Formal dan Automata Teori Bahasa Formal dan Automata Pertemuan 9 Semester Genap T.A. 2017/2018 Rahman Indra Kesuma, S.Kom., M.Cs. T. Informatika - ITERA POKOK BAHASAN Grammar Grammar secara Formal Context Free Grammar Terminologi

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

Pemodelan CNF Parser dengan Memanfaatkan Pohon Biner

Pemodelan CNF Parser dengan Memanfaatkan Pohon Biner Pemodelan CNF Parser dengan Memanfaatkan Pohon Biner Jansen 13510611 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia

Lebih terperinci

PERANCANGAN SISTEM PERBAIKAN ERROR KODE SUMBER PROGRAM OTOMATIS

PERANCANGAN SISTEM PERBAIKAN ERROR KODE SUMBER PROGRAM OTOMATIS PERANCANGAN SISTEM PERBAIKAN ERROR KODE SUMBER PROGRAM OTOMATIS Bondan Himawan, Indrato, Taufiq Hidayat, Yudi Prayudi Jurusan Teknik Informatika, Fakultas Teknologi Industri, Universitas Islam Indonesia

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

Kesalahan Program Penanganan Kesalahan Reaksi Compiler Pada kesalahan Error Recovery Error repair

Kesalahan Program Penanganan Kesalahan Reaksi Compiler Pada kesalahan Error Recovery Error repair ERROR HANDLING Error Handling Kesalahan Program Penanganan Kesalahan Reaksi Compiler Pada kesalahan Error Recovery Error repair Kesalahan Program Kesalahan Program dapat berupa Kesalahan leksikal Kesalahan

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

Fase-fase proses sebuah kompilasi

Fase-fase proses sebuah kompilasi Fase-fase proses sebuah kompilasi Penganalisa Leksikal membaca program sumber, karakter demi karakter. Sederetan (satu atau lebih) karakter dikelompokkan menjadi satu kesatuan mengacu kepada pola kesatuan

Lebih terperinci

Kesalahan Program dapat berupa

Kesalahan Program dapat berupa Error Handling Program Penanganan Reaksi Compiler Pada kesalahan Error Recovery Error repair Program Program dapat berupa leksikal Sintaks Semantics 1 Error Handling - Program Program dapat berupa leksikal

Lebih terperinci

Parsing. A -> a as baa B -> b bs abb

Parsing. A -> a as baa B -> b bs abb Parsing Misalnya: S -> ab ba A -> a as baa B -> b bs abb Penurunan untuk string aaabbabba Dalam hal ini perlu untuk melakukan percobaan pemilihan aturan produksi yang bisa mendapatkan solusi Metode Parsing

Lebih terperinci

SATUAN ACARA PERKULIAHAN (SAP) MATA KULIAH PENGANTAR TEKNIK KOMPILASI

SATUAN ACARA PERKULIAHAN (SAP) MATA KULIAH PENGANTAR TEKNIK KOMPILASI SATUAN ACARA PERKULIAHAN (SAP) MATA KULIAH PENGANTAR TEKNIK KOMPILASI Perte 1. 1. Pendahuluan TIU : Mhs mengetahui apa yang akan dipelajari dan apa yang dituntut darinya serta memahami gambaran umum Teknik

Lebih terperinci

SEMANTIK. Int vector[10];

SEMANTIK. Int vector[10]; SEMANTIK Sintaks mendefinisikan suatu bentuk program yang benar dari suatu bahasa. Semantik mendefinisikan arti dari program yang benar secara sintaks dari bahasan tersebut. Sebagai contoh adalah deklarasi

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

Bab III Semantik. Konsep Semantik Bahasa Pemrograman (Semantik Analisis)

Bab III Semantik. Konsep Semantik Bahasa Pemrograman (Semantik Analisis) Bab III Semantik Konsep Semantik Bahasa Pemrograman (Semantik Analisis) Dari pembahasan bab-bab terdahulu maka kita ketahui bahwa proses ini merupakan proses kelanjutan dari proses kompilasi sebelumnya,

Lebih terperinci

Perjalanan sebuah intruksi

Perjalanan sebuah intruksi Perjalanan sebuah intruksi Source Program X = Y + X Analisis Leksikal Token-token Id1:=Id2+Id1 Id1 := Id2 + Id1 Analisis Sintaksis Code Generator dan Analisis sematiks LDA A ADD Y STO X

Lebih terperinci

TEORI BAHASA DAN OTOMATA [TBO]

TEORI BAHASA DAN OTOMATA [TBO] TEORI BAHASA DAN OTOMATA [TBO] Teori Bahasa Teori bahasa membicarakan bahasa formal (formal language), terutama untuk kepentingan perancangan kompilator (compiler) danpemroses naskah (text processor).

Lebih terperinci

TEKNIK KOMPILASI. Muhamad Nursalman Ilmu Komputer FPMIPA - UPI

TEKNIK KOMPILASI. Muhamad Nursalman Ilmu Komputer FPMIPA - UPI TEKNIK KOMPILASI Muhamad Nursalman Ilmu Komputer FPMIPA - UPI Daftar Isi Bab I Pendahuluan Bab II Analisis Leksikal Bab III Analisis Sintaktik Bab IV Syntax Directed Translation Bab V Intermediate Code

Lebih terperinci

MK. PEMROGRAMAN SISTEM Semester/SKS : 6/3 COMPILER. Jurusan Sistem Komputer S1 Universitas Gunadarma

MK. PEMROGRAMAN SISTEM Semester/SKS : 6/3 COMPILER. Jurusan Sistem Komputer S1 Universitas Gunadarma MK. PEMROGRAMAN SISTEM Semester/SKS : 6/3 COMPILER Jurusan Sistem Komputer S1 Universitas Gunadarma Aspek Kompilasi Programmer dengan High Level Languange (HLL) vs. Komputer dengan Machine Language Untuk

Lebih terperinci

TEKNIK KOMPILASI Tony Darmanto,ST / Smt V S1 TI / STMIK WIDYA DHARMA/ Hal 1

TEKNIK KOMPILASI Tony Darmanto,ST / Smt V S1 TI / STMIK WIDYA DHARMA/ Hal 1 1. PENDAHULUAN TEKNIK KOMPILASI Tony Darmanto,ST / Smt V S1 TI / STMIK WIDYA DHARMA/ Hal 1 Arti Kata Teknik Kompilasi Teknik adalah suatu Metode atau Cara Kompilasi adalah suatu Proses mengabungkan serta

Lebih terperinci

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP) Mata Kuliah : Teknik Kompilasi Bobot Mata Kuliah : 3 Sks GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP) Deskripsi Mata Kuliah : Kompetensi Dasar, Indikator, Analisis Leksikal, Anlisis Sintati, Intermidiate

Lebih terperinci

SEMANTIK Syntax mendefinisikan suatu bentuk program yang benar dari suatu bahasa.

SEMANTIK Syntax mendefinisikan suatu bentuk program yang benar dari suatu bahasa. SEMANTIK Syntax mendefinisikan suatu bentuk program yang benar dari suatu bahasa. Semantik mendefinisikan arti dari program yang benar secara syntax dari bahasa tersebut. Semantik suatu bahasa membutuhkan

Lebih terperinci

Teknik Kompilasi II TEKNIK KOMPILASI. Ernastuti & Sulistyo P 1/52. Ernastuti & Sulistyo

Teknik Kompilasi II TEKNIK KOMPILASI. Ernastuti & Sulistyo P 1/52. Ernastuti & Sulistyo TEKNIK KOMPILASI P 1/52 MATERI Teknik Kompilasi II 2/52 Pendahuluan Tujuan Pembelajaran : 1. Mahasiswa memahami cara kerja serta proses yang terjadi pada sebuah Compiler 2. Mahasiswa memahami konsep pembuatan

Lebih terperinci

Proses Kompilasi. Otomata dan Pengantar Kompulasi Pertemuan 3

Proses Kompilasi. Otomata dan Pengantar Kompulasi Pertemuan 3 Proses Kompilasi Otomata dan Pengantar Kompulasi Pertemuan 3 Bahasa Pemrograman Bahasa pemrograman adalah bahasa yang menjadi sarana manusia untuk berkomunikasi dengan komputer. Pikiran manusia yang tidak

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

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

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

Teknik Kompiler 12. oleh: antonius rachmat c, s.kom Teknik Kompiler 12 oleh: antonius rachmat c, s.kom Code Generator Source code Front End Intermedate Code Code Optimizer Intermedate Code Code Generator Target Program Symbol Table Code Generation Persyaratan

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

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

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

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

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

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

LANGUAGES AND TRANSLATOR

LANGUAGES AND TRANSLATOR Algoritma dan Pemrograman 1C Konsep Bahasa Pemrograman LANGUAGES AND TRANSLATOR Disusun kembali oleh : Henny Medyawati, Universitas Gunadarma Sumber: Pittman, Thomas dan James Petters, 1992 The Art of

Lebih terperinci

BAB III CFG DAN PARSING

BAB III CFG DAN PARSING BAB 3 CFG DAN PARSING 32 BAB III CFG DAN PARSING TUJUAN PRAKTIKUM 1) Memahami dan mengerti CFG. 2) Memahami dan mengerti metode parsing. TEORI PENUNJANG 3.1. Pendahuluan Bentuk umum produksi CFG adalah

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

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

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

PENGEMBANGAN PROTOTIPE APLIKASI KONVERSI KODE DARI BAHASA C KE PASCAL

PENGEMBANGAN PROTOTIPE APLIKASI KONVERSI KODE DARI BAHASA C KE PASCAL PENGEMBANGAN PROTOTIPE APLIKASI KONVERSI KODE DARI BAHASA C KE PASCAL LAPORAN TUGAS AKHIR Disusun Sebagai Syarat Kelulusan Tingkat Sarjana oleh : Ipam Fuaddina Adam / 13502079 PROGRAM STUDI TEKNIK INFORMATIKA

Lebih terperinci

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR 1 PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR Siti Mukaromah, S.Kom TEKNIK PENYAJIAN ALGORITMA Teknik Tulisan Structure English Pseudocode Teknik Gambar Structure Chart HIPO Flowchart 2 PSEUDOCODE Kode

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

BAB II DASAR TEORI. 2.1 Kompilator

BAB II DASAR TEORI. 2.1 Kompilator BAB II DASAR TEORI Bab ini berisi penjelasan tentang beberapa teori dasar yang digunakan selama pelaksanaan Tugas Akhir. Pembahasan dilakukan terhadap kompilator, lexical analyzer, parser, code generator

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

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

BAB I PENGENALAN TEKNIK KOMPILASI

BAB I PENGENALAN TEKNIK KOMPILASI BAB 1 PENGENALAN TEKNIK KOMPILASI 1 BAB I PENGENALAN TEKNIK KOMPILASI TUJUAN PRAKTIKUM 1) Memahami penggolongan Bahasa Pemrograman berdasarkan tingkat ketergantungannya dengan mesin. 2) Mengetahui dan

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

ALGORITMA PEMROGRAMAN 1C SEMANTIKS

ALGORITMA PEMROGRAMAN 1C SEMANTIKS ALGORITMA PEMROGRAMAN 1C SEMANTIKS Indah Wahyuni PENDAHULUAN Parser tidak mengetahui symbol-simbol. Untuk mengenali makna dari simbolsimbol tersebut maka compiler memanggil routin semantics. Membutuhkan

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 KOMPILASI. Dosen : Dwi Retno Wahyuningsih, S. Kom. Jurusan : Teknik Informatika Semester Genap 2007/2008

TEKNIK KOMPILASI. Dosen : Dwi Retno Wahyuningsih, S. Kom. Jurusan : Teknik Informatika Semester Genap 2007/2008 TEKNIK KOMPILASI Dosen : Dwi Retno Wahyuningsih, S. Kom Jurusan : Semester Genap 2007/2008 SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER (STMIK) DARMAJAYA BANDAR LAMPUNG 2008 GARIS-GARIS BESAR PROGRAM

Lebih terperinci

Konsep dan Notasi Bahasa. Istiqomah, S.Kom

Konsep dan Notasi Bahasa. Istiqomah, S.Kom Konsep dan Notasi Bahasa Istiqomah, S.Kom Konsep dan Notasi Bahasa Hirarky Chomsky Diagram Keadaan Notasi BNF Diagram Sintaks (1) Hirarky Chomsky Tata Bahasa (grammar) bisa didefinisikan sebagai kumpulkan

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

MODEL KOMPILATOR FUNGSI UMUM BAGIAN KOMPILATOR. Dosen Pengampu: Utami Dewi Widianti,S.Kom

MODEL KOMPILATOR FUNGSI UMUM BAGIAN KOMPILATOR. Dosen Pengampu: Utami Dewi Widianti,S.Kom MODEL KOMPILATOR FUNGSI UMUM BAGIAN KOMPILATOR Dosen Pengampu: Utami Dewi Widianti,S.Kom (1) Program Sumber Deretan simbol berupa huruf, digit, atau simbol tertentu seperti +, -, dan, Program sumber memuat

Lebih terperinci

Aplikasi Pengolah Bahasa Alami Untuk Operasi Boolean Antar Citra Agus Purwo Handoko 5)

Aplikasi Pengolah Bahasa Alami Untuk Operasi Boolean Antar Citra Agus Purwo Handoko 5) ISSN : 1693 1173 Aplikasi Pengolah Bahasa Alami Untuk Operasi Boolean Antar Citra Agus Purwo Handoko 5) Abstrak Bahasa alami yang diproses untuk operasi Boolean merupakan bahasa Indonesia sehari-hari yang

Lebih terperinci

TEKNIK KOMPILASI. Alamat untuk tugas: Informasi: DADANG MULYANA. dadang mulyana 2013

TEKNIK KOMPILASI. Alamat  untuk tugas: Informasi: DADANG MULYANA. dadang mulyana 2013 TEKNIK KOMPILASI DADANG MULYANA Alamat email untuk tugas: dadangstmik@gmail.com Informasi: dadangmulyana@wordpress.com 1 Cara pengiriman tugas: Dalam subjek email tuliskan: Instansi_kelas_nama_matakuliah_jenistugas

Lebih terperinci

BAB VI METODE PARSING

BAB VI METODE PARSING Bab VI Metode Parsing 35 BAB VI METODE PARSING TUJUAN PRAKTIKUM 1. Memahami Metode Parsing 2. Memahami Parsing Top - Down 3. Memahami Parsing Bottom - Up 4. Mengerti Tentang Operasi - Operasi yang dilakukan

Lebih terperinci

Struktur Data. PDE - Struktur Data 1

Struktur Data. PDE - Struktur Data 1 Struktur Data Copyright@Ihsan Jatnika PDE - Struktur Data 1 Objektif Mengetahui maksud struktur data dan menjelaskan penggunaannya dalam pemrograman Mengetahui operasi yang terkait dengan struktur data

Lebih terperinci

ANALISIS DAN PERANCANGAN PERANGKAT LUNAK

ANALISIS DAN PERANCANGAN PERANGKAT LUNAK BAB IV ANALISIS DAN PERANCANGAN PERANGKAT LUNAK Bab ini membahas analisis perancangan perangkat lunak (diberi nama c2p) dari segi struktur data dan analisis aliran data. Hal-hal yang dibahas diantaranya

Lebih terperinci

TEKNIK KOMPILASI. Firrar Utdirartatmo

TEKNIK KOMPILASI. Firrar Utdirartatmo TEKNIK KOMPILASI TEKNIK KOMPILASI Firrar Utdirartatmo Kata Pengantar Penulis memberanikan diri untuk menyusun buku ini karena melihat kenyataan bahwa teknik kompilasi merupakan mata kuliah yang diajarkan

Lebih terperinci

Teori Komputasi 11/23/2016. Bab 6: Context-Free Grammar & Parsing. Context-Free Grammar. Context-Free Grammar

Teori Komputasi 11/23/2016. Bab 6: Context-Free Grammar & Parsing. Context-Free Grammar. Context-Free Grammar Teori Komputasi Bab 6: Context-Free Grammar & Parsing Agenda. Context-Free Grammar Fakultas Teknologi dan Desain Program Studi Teknik Informatika Contex-Free Grammar & Parsing 2 Context-Free Grammar Bentuk

Lebih terperinci

Parsing dapat dilakukan dengan cara : Penurunan terkiri (leftmost derivation) : simbol variable yang paling kiri diturunkan (tuntas) dahulu

Parsing dapat dilakukan dengan cara : Penurunan terkiri (leftmost derivation) : simbol variable yang paling kiri diturunkan (tuntas) dahulu Parsing atau Proses Penurunan Parsing dapat dilakukan dengan cara : Penurunan terkiri (leftmost derivation) : simbol variable yang paling kiri diturunkan (tuntas) dahulu Penurunan terkanan (rightmost derivation):

Lebih terperinci

BAHASA SUMBER. DEFINISI bahasa sumber

BAHASA SUMBER. DEFINISI bahasa sumber BAHASA SUMBER DEFINISI bahasa sumber Bahasa adalah kumpulan kalimat. Kalimat adalah rangkaian kata. Kata adalah unit terkecil komponen bahasa yang tidak bisa dipisah-pisahkan lagi. Kalimat-kalimat : Seekor

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

BAB II ANALISA LEKSIKAL (SCANNER)

BAB II ANALISA LEKSIKAL (SCANNER) BAB 2 PENGENALAN TEKNIK KOMPILASI 22 BAB II ANALISA LEKSIKAL (SCANNER) TUJUAN PRAKTIKUM 1) Memahami bahasa sumber. 2) Memahami dan mengerti tugas analisa leksikal. 3) Memahami dan mengerti membangun alisa

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

Penyederhanaan Tata Bahasa Bebas Konteks dalam Bentuk Normal Chomsky Menggunakan PHP

Penyederhanaan Tata Bahasa Bebas Konteks dalam Bentuk Normal Chomsky Menggunakan PHP Penyederhanaan Tata Bahasa Bebas Konteks dalam Bentuk Normal Chomsky Menggunakan PHP 1 Rico Andrian, 2 Wamiliana dan 3 Ismail Indra Pratama 1 Jurusan Ilmu Komputer FMIPA Unila 3 Jurusan Ilmu Komputer FMIPA

Lebih terperinci

1 Pengujian Intent Recognition dalam mengenali struktur dasar bahasa C tanpa kesalahan. Kode Keterangan Status *) #include <stdio.

1 Pengujian Intent Recognition dalam mengenali struktur dasar bahasa C tanpa kesalahan. Kode Keterangan Status *) #include <stdio. 23 Lampiran 1 Glossary ANTLR ANother Tool for Language Recognition adalah librari yang menyediakan bahasa tingkat tinggi untuk menyusun language recognizer. Language Recognizer Aplikasi yang digunakan

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

PERTEMUAN 2 ALGORITMA & PEMROGRAMAN

PERTEMUAN 2 ALGORITMA & PEMROGRAMAN PERTEMUAN 2 ALGORITMA & PEMROGRAMAN POKOK BAHASAN 1. Pendahuluan 2. Tahapan Pembangunan Program 3. Pengenalan Algoritma 4. Cara Menyajikan Algoritma 5. Data Program 6. Elemen-Elemen Program PENDAHULUAN

Lebih terperinci

Pendahuluan. Tujuan Pembelajaran :

Pendahuluan. Tujuan Pembelajaran : Tujuan Pembelajaran : 1. Mahasiswa memahami cara kerja serta proses yang terjadi pada sebuah Compiler 2. Mahasiswa memahami konsep pembuatan sebuah Compiler 3. Mahasiswa mengetahui bagaimana sebuah bahasa

Lebih terperinci

Danang Wahyu Utomo

Danang Wahyu Utomo danang.wu@dsn.dinus.ac.id 085 725 158 327 Santosa, Insap. Interaksi Manusia dan Komputer. Penerbit Andi. 2010 Dix, Alan, et al. Human Computer Interaction 3th edition Dalam arti umum percakapan antara

Lebih terperinci

PENGANTAR TEKNIK KOMPILASI

PENGANTAR TEKNIK KOMPILASI PENGANTAR TEKNIK KOMPILASI Tujuan Konsep Teknik Kompilasi Tujuan Pembelajaran : 1.Mahasiswa memahami cara kerja serta proses yang terjadi pada sebuah Compiler 2.Mahasiswa memahami konsep pembuatan sebuah

Lebih terperinci