Kesalahan Program dapat berupa

dokumen-dokumen yang mirip
Kesalahan Program Penanganan Kesalahan Reaksi Compiler Pada kesalahan Error Recovery Error repair

Perjalanan sebuah intruksi

Teknik Kompilasi Dosen: Utami Dewi W.,S.Kom

BAB VI CARA PENANGANAN KESALAHAN

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

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

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

Hirarki Comsky. Unrestricted. Context Sensitive Context free Regular

TEKNIK OPTIMASI. Dependensi Optimasi. Optimasi Lokal. Menghasilkan kode program dengan ukuran yang lebih kecil, sehingga lebih cepat eksekusinya.

TUGAS MATA KULIAH TEKNIK KOMPILASI

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

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

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

Teknik optimasi. Teknik optimasi kode program Tujuan: menghasilkan kode program yang berukuran lebih kecil dan lebih cepat pada saat dieksekusi.

Aplikasi Rekursif dalam Analisis Sintaks Program

TEKNIK KOMPILASI. Firrar Utdirartatmo

Teknik Optimasi. Teknik Kompilasi Dosen: Utami Dewi W.,S.Kom

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

SEMANTIK. Int vector[10];

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

BAB VII PENANGANAN KESALAHAN dan HELP-DOCUMENTATION

TEKNIK KOMPILASI. Muhamad Nursalman Ilmu Komputer FPMIPA - UPI

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

Fase-fase proses sebuah kompilasi

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

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

ALGORITMA PEMROGRAMAN 1C SINTAKS

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

Proses Kompilasi. Otomata dan Pengantar Kompulasi Pertemuan 3

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

ALGORITMA PEMROGRAMAN 1C SEMANTIKS

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

TEKNIK KOMPILASI Konsep & Notasi Bahasa

Teknik Kompilasi. Hari Soetanto Teknik 1

BAB 1 PENDAHULUAN KOMPILASI. Pendahuluan

SUMBER BELAJAR PENUNJANG PLPG

Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom

dengan menyebutkan judul prosedurnya. dalam bentuk prosedur-prosedur. diperlukan.

BAB II SINTAKS 2.1. SINTAKS

BAHASA SUMBER. DEFINISI bahasa sumber

UNIVERSITAS GUNADARMA

TEORI KONSEP PEMPROGRAMAN 3.1

Modul 1 Dasar Dasar Bahasa Pemrograman C

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

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

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

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

Struktur Data II. Bekerja Dengan Form.

BAB II DASAR TEORI. 2.1 Kompilator

Tujuan perancangan bhs program

PEMROGRAMAN WEB 08 JavaScript Dasar

ANALISIS SEMANTIK. Teknik Kompilasi Dosen: Utami Dewi W.,S.Kom

6 Maret Structure of Java [Penyeleksian Kondisi]

Kuliah Online : TEKKOM [2013/VI]

Turbo C adalah tool yang dipakai untuk membuat code program dalam bahasa C ataupun C++. Berikut adalah jendela utama Turbo C

A. Putting a Program Together

A. Putting a Program Together

Tabel Informasi. Hal di atas dapat dilakukan dengan menambah dan mengambil atribut identifier yang digunakan pada program, melalui tabel informasi.

PERTEMUAN 9-11 STATEMENT

PROCEDURE. Bentuk Umum : PROGRAM judul_program ; PROCEDURE judul_prosedur ; Begin Statement prosedur ; End ; Begin Statement program utama ; end.

MODUL VII STORED PROCEDURE

PROSES PENJUALAN BUKU

2.4. Struktur Branching

KOMPILASI. Assembler Bahasa Rakitan Bahasa Mesin Compiler (Kompilator) Bahasa Tingkat Tinggi Bahasa tingkat rendah

BAHASA PEMROGRAMAN JAVA PUTU INDAH CIPTAYANI JURUSAN SISTEM INFORMASI STMIK AMIKOM YOGYAKARTA

SATUAN ACARA PERKULIAHAN (SAP) Semester Penempatan

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

Algoritma Pemrograman

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

Pengantar dalam Bahasa Pemrograman Turbo Pascal

Konsep dan Notasi Bahasa. Istiqomah, S.Kom

STRATEGI DIVIDE AND CONQUER

JAVA FUNDAMENTAL ATURAN PERKULIAHAN SILABUS

Tujuan Pembelajaran : Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Modul.

PENGUJIAN PERANGKAT LUNAK

PEMROGRAMAN VISUAL BASIC.NET ( PERULANGAN / LOOPING )

Sesi/Perkuliahan ke: VI Tujuan Instruksional Khusus : 4. Pokok Bahasan : Deskripsi singkat : Referensi :

3.1. Definisi Syntax Syntax suatu bahasa pemrograman adalah satu himpunan

Struktur Kontrol. Contoh, Akan tercetak x is 100 jika nilai yang disimpan pada variable x adalah 100:

Belajar itu, Tidak harus menunggu materi dari guru Inisiatif Mencari itulah BELAJAR.

JAVA BASIC PROGRAMMING Joobshet

ANALISIS DAN PERANCANGAN PERANGKAT LUNAK

Selection, Looping, Branching

Teori Komputasi 10/15/2015. Bab 1: Pendahuluan. Teori Komputasi dan Teknik Kompilasi. Teori Komputasi dan Teknik Kompilasi

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

a. TRUE b. FALSE c. Jawaban A dan B keduanya dimungkinkan benar d. Tidak dapat ditentukan e. Tidak ada jawaban di antara A, B, C, D yang benar

SMA SANTO PAULUS PONTIANAK

Universitas gunadarma. pascal. Bab 4- bab 10. Hana Pertiwi S.T

STACK ATAU TUMPUKAN 3.1 DAFTAR LINEAR

Algoritma Pemrograman 2B (Pemrograman C++)

Operator, Statement kondisional, dan Iterasi pada Java

BAB II ANALISA LEKSIKAL (SCANNER)

Diktat Kuliah Teknik Kompilasi BAB 1 PENDAHULUAN

BAB-2 : TIPE DATA, VARIABEL DAN OPERATOR

SATUAN ACARA PERKULIAHAN (SAP) MATA KULIAH PENGANTAR TEKNIK KOMPILASI

SOAL DAN JAWABAN UTS PEMROGRAMAN DASAR KELAS X

STRUKTUR PROGRAM. Secara ringkas, struktur suatu program Pascal dapat terdiri dari : 1.Judul Program 2.Blog Program a.

IT132 Dasar-Dasar Pemrograman. Ramos Somya, S.Kom., M.Cs.

PERTEMUAN KE-6 STRUKTUR PERULANGAN (menggunakan Loop dan Timer)

Pengenalan Pascal. Sejarah Singkat Pascal

Transkripsi:

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 dalam mengetik/mengeja Misal THEN dituliskan dengan TEN atau THN Sintaks misalnya dalam operasi aritmatika dengan tanda kurung yang jumlahnya kurang, contoh A:= X + (B * (C+D) Semantics Error Handling - Program Semantics Tipe data yang salah Contoh : int c; c = 1.5 * 0.78 Variable belum didefinisikan Misal : B := B + 1 tetapi b belum didefinisikan 2

Error Handling - Penanganan Langkah-langkah: Mendeteksi kesalahan Melaporkan kesalahan Tindak lanjut perbaikan Error Handling - Penanganan Misal: compiler menemukan kesalahan, yang bisa meliputi Kode kesalahan Pesan dalam bahasa alami Nama dan atribut identifier contoh : error 162 Jumlah: Unknow identifier Dapat diartikan: Kode kesalahan =162, pesan kesalahan = unknown identifier, nama identifier = jumlah 3

Error Handling - Reaksi terhadap Ada Beberapa reaksi yang dilakukan oleh compiler Reaksi-reaksi yang tidak dapat diterima Reaksi yang benar, tapi kurang dapat diterima dan kurang bermanfaat Error Handling - Reaksi terhadap Ada Beberapa reaksi yang dilakukan oleh compiler Reaksi-reaksi yang tidak dapat diterima Compilator crash: Berhenti atau hang Looping : compilator tidak bisa berhenti (infinite/onbounded loop) Menghasilkan Obyek program yang salah : berbahaya, bisa diketahui/muncul setelah program dieksekusi 4

Error Handling - Reaksi terhadap Ada Beberapa reaksi yang dilakukan oleh compiler Reaksi yang benar, tapi kurang dapat diterima dan kurang bermanfaat Compilator menemukan kesalahan pertama, melaporkannya, lalu berhenti (halt) Pemrogram membuang waktu untuk melakukan pengulangan compilasi untuk setiap kali terdapat sebuah error Error Handling - Reaksi terhadap Reaksi-reaksi yang dapat diterima Reaksi yang sudah dapat dilakukan ; Compilator melaporkan Error Recovery : Pemulihan Repair : Perbaikan Reaksi yang belum dapat dilakukan Compiler mengkoreksi kesalahan Menghasilkan obyek program sesuai yang diinginkan pemrogram Compiler memiliki kemampuan untuk mengetahui maksud dari pemrogram Belum diimplementasikan pada program (sekarang ini) 5

Error Handling - Error Recovery Bertujuan mengembalikan parser ke kondisi stabil agar supaya dapat melanjutkan proses parsing ke posisi selanjutnya. Mekanisme Ad Hoc Recovery yang dilakukan tergantung dari si pembuat compiler Tidak terikat pada suatu aturan tertentu Disebut juga dengan istilah purpose error recovery Syntax directed Recovery misal begin A := A + 1 ; B := B + 1; C := C + 1 end ; Error Handling - Error Recovery Pada contoh diatas, compiler akan mengenali sebagai (dalam Notasi BNF) begin <statement>?, statement> ; <statement> end;? Akan diperlakukan sebagai ; Second Error Recovery : untuk melokalisir kesalahan Panic Mode Maju terus sampai ketemu delimiter Contoh : IF A = 1 Kondisi := true; Pada kondisi diatas THEN tidak ada, compiler melanjutkan sampai ketemu delimiter (;) Unit Deletion Menghapus keseluruhan suatu unit sintaksik (misalnya : <block>, <exp>, <statement> dan sebagainya Mempermudah untuk melakukan error repairing 6

Error Handling - Error Recovery Context Sensitive Recovery Berkaitan dengan semantics contoh : B := Budi Luhur Pada awal program variabel B belum dideklarasikan, maka berdasarkan permunculannya maka diasumsikan variabel B bertipe string Error Handling - Error repair Memperbaiki kesalahan dan membuat source program valid (memodifikasi) Mekanisme Ad Hoc Tergantung pada sipembuat compiler Syntax directed Repair Menyisipkan / membuang simbol terminal yang dianggap hilang atau yang menyebabkan error contoh WHILE A < 1 I := I = 1; compiler akan menyisipkan DO 7

Error Handling - Error repair Contoh lain Procedure Increment ; begin x := X + 1 end; end; Kelebihan simbol end, yang menyebabkan kesalahan, maka compiler akan membuangnya Error Handling - Error repair Context Sensitive Repair Tipe identifier: membuat identifier dummy var A : String begin A := 0; end maka compilator akan memperbaiki kesalahan dengan membuat identifier baru, misalnya B bertipe integer Spelling Repair: memperbaiki kesalahan pengetikan pada identifier, misalnya: WHILLE A = 1 DO identifier yang salah tersebut diperbaiki menjadi WHILE 8

Teknik Optimasi Dependensi Optimasi Optimasi Lokal Optimasi Global Dependensi Optimasi bertujuan untuk menghasilkan kode program yang berukuran lebih kecil dan lebih cepat Machine Dependent Optimizer Machine Independent Optimizer (Optimasi lokal dan Optimasi global) 9