BAB VI CARA PENANGANAN KESALAHAN

dokumen-dokumen yang mirip
Teknik Kompilasi Dosen: Utami Dewi W.,S.Kom

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

Kesalahan Program dapat berupa

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

Perjalanan sebuah intruksi

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

BAB VII PENANGANAN KESALAHAN dan HELP-DOCUMENTATION

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

BAB II ANALISA LEKSIKAL (SCANNER)

Hirarki Comsky. Unrestricted. Context Sensitive Context free Regular

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

TEKNIK KOMPILASI. Firrar Utdirartatmo

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 16

BAB 1 PENDAHULUAN KOMPILASI. Pendahuluan

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

ALGORITMA PEMROGRAMAN 1C SINTAKS

Fase-fase proses sebuah kompilasi

Proses Kompilasi. Otomata dan Pengantar Kompulasi Pertemuan 3

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

Kuliah Online : TEKKOM [2013/VI]

BAB II SINTAKS 2.1. SINTAKS

UNIVERSITAS GUNADARMA

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

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

ANALISIS DAN PERANCANGAN PERANGKAT LUNAK

SEMANTIK. Int vector[10];

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

SATUAN ACARA PERKULIAHAN (SAP) Semester Penempatan

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

Aplikasi Rekursif dalam Analisis Sintaks Program

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

Algoritma Pemrograman

ALGORITMA PEMROGRAMAN 1C SEMANTIKS

Pertemuan Ke-2 (Teks Algoritma) Rahmady Liyantanto. S1 Teknik Informatika-Unijoyo

Algoritma Pemrograman

STACK ATAU TUMPUKAN 3.1 DAFTAR LINEAR

BAHASA SUMBER. DEFINISI bahasa sumber

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

PHP (HYPERTEXT PREPROCESSOR)

TEKNIK KOMPILASI. Muhamad Nursalman Ilmu Komputer FPMIPA - UPI

BAB V ANALISA SEMANTIK

SMA SANTO PAULUS PONTIANAK

Pendahuluan. Tujuan Pembelajaran :

Algoritma Pemrograman

TEKNIK KOMPILASI Konsep & Notasi Bahasa

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

Struktur Data II. Bekerja Dengan Form.

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

SUMBER BELAJAR PENUNJANG PLPG

Komentar Program. Komentar program dapat diletakkan dimanapun di dalam program. pembatas (* dan *).

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

Tujuan perancangan bhs program

BAB IV ANALISA SINTAKS

LANGUAGES AND TRANSLATOR

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

BAB II DASAR TEORI. 2.1 Kompilator

TEORI BAHASA & OTOMATA (PENGENALAN KOMPILASI) PERTEMUAN VI Y A N I S U G I Y A N I

VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI. Pemrograman Dasar Kelas X Semester 2

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

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

@copyright by Emy PENGANTAR ALGORITMA & PROGRAM & PROGRAM PENGERTIAN ALGORITMA NOTASI UNTUK ALGORITMA

Keyword,Tipe data & Variabel. Keywords pada c Tipedata Variabel Konstanta

DESAIN DAN NOTASI DIALOG. Pertukaran instruksi dan informasi antara user dan sistem komputer Ada dua model NOTASI dialog

TEKNIK KOMPILASI (TEKKOM) ISTIQOMAH, S.KOM /SEMESTER VI

BAB I PENGENALAN TEKNIK KOMPILASI

BAB III ANALISIS DAN PERANCANGAN

Teknik Kompilasi. Hari Soetanto Teknik 1

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

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

TUGAS MATA KULIAH TEKNIK KOMPILASI

PENGANTAR TEKNIK KOMPILASI

SATUAN ACARA PERKULIAHAN (SAP) MATA KULIAH PENGANTAR TEKNIK KOMPILASI

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

PERTEMUAN 2 ALGORITMA & PEMROGRAMAN

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

Komponen sebuah Kompilator

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

ALGORITMA & PEMROGRAMAN

Modul 1 Mesin Karakter 1

LAPORAN PRAKTIKUM 1 TEKNIK KOMPILASI

Teknik Kompilasi. Notasi Bahasa

SOAL DAN JAWABAN UTS PEMROGRAMAN DASAR KELAS X

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

Bab 1 Pengenalan Pascal 1 BAB I PENGENALAN PASCAL, TIPE-TIPE DATA PASCAL DAN STATEMEN DASAR PADA PASCAL TUJUAN PRAKTIKUM TEORI PENUNJANG

[Type the company name] [Type the document title] [Type the document subtitle] Gilang Abdul Aziz [Pick the date]

OPERATOR, PERULANGAN DAN SELEKSI KONDISI

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

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

Teknik Kompiler 5. oleh: antonius rachmat c, s.kom, m.cs

PENGULANGAN Bagian 1 : Notasi. Tim Pengajar KU1071 Sem

3.1. Definisi Syntax Syntax suatu bahasa pemrograman adalah satu himpunan

Struktur Data. PDE - Struktur Data 1

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

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

Aturan Penulisan Algoritma Setiap Algoritma akan selalu terdiri dari tiga bagian yaitu : Judul (Header) Kamus Algoritma

Diktat Kuliah Teknik Kompilasi BAB 1 PENDAHULUAN

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

PROSES PENJUALAN BUKU

TEKNIK KOMPILASI Bahasa Regular

Transkripsi:

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 cara pemulihan kesalahan TEORI PENUNJANG Sebuah kompilator akan sering menemui program yang mengandung kesalahan, maka kompilator harus memiliki strategi apa yang harus dilakukan untuk menangani kesalahan - kesalahan tersebut. 6.1 Jenis jenis Kesalahan Kesalahan Leksikal Misalnya kesalahan mengeja keyword, contoh: then ditulis ten Kesalahan Sintaks Misalnya pada operasi aritmatika kekurangan jumlah paranthesis (kurung). contoh : A:=X+(B*(C+D) Kesalahan Semantik Tipe data yang salah, misal tipe data integer digunakan untuk variabel string. Variabel belum didefinisikan tetapi digunakan dalam operasi. 6.2 Penanganan Kesalahan Prosedur penanganan kesalahan terdiri dari : Mendeteksi kesalahan

BAB 6 CARA PENANGANAN KESALAHAN 56 Melaporkan kesalahan Tindak lanjut perbaikan Pelaporan kesalahan yang dilakukan oleh sebuah kompilator meliputi : Kode kesalahan Pesan kesalahan dalam bahasa natural Nama dan atribut identifier Tipe tipe yang terkait bila type checking Contoh : Error 162 jumlah: unknown identifier Kode kesalahan = 162 Pesan kesalahan = unknown identifier Nama identifier = jumlah Pada saat kompilator menemukan kesalahan terdapat beberapa tingkatan diantaranya adalah : a. Reaksi yang tidak dapat diterima (tidak melaporkan error) Kompilator crash : berhenti atau hang Looping Kompilator melanjutkan proses sampai selesai tapi program program objek yang dihasilkan salah. b. Reaksi yang benar tapi kurang dapat diterima dan kurang bermanfaat. Kemampuan kompilator untuk mendeteksi dan melaporkan kesalahan hanya satu kali untuk setiap kali kompilasi. c. Reaksi yang dapat diterima Reaksi yang sudah dapat dilakukan (dewasa ini), yaitu melaporkan kesalahan, dan selanjutnya melakukan: Recovery / pemulihan, lalu melanjutkan menemukan kesalahan yang lain bila masih ada. Repair / Perbaikan kesalahan, lalu melanjutkan proses translasi dan menghasilkan program objek yang valid

BAB 6 CARA PENANGANAN KESALAHAN 57 Reaksi yang belum dapat dilakukan (dewasa ini), yaitu kompilator mengkoreksi kesalahan, lalu menghasilkan program objek sesuai dengan yang diinginkan pemrogram. 6.3 Pemulihan Kesalahan Tujuannya mengembalikan parser ke kondisi stabil (supaya bisa melanjutkan proses parsing ke posisi selanjutnya). Strategi yang dilakukan sebagai berikut : Mekanisme Ad Hoc Recovery yang dilakukan tergantung dari pembuat kompilator sendiri/spesifik, dan tidak terikat pada suatu aturan tertentu. Cara ini biasa disebut juga special purpose error recovery. Syntax Directed Recovery Melakukan recovery berdasarkan syntax Contoh : ada program begin A:=A+1 B:=B+1; C:=C+1 end; kompilator akan mengenali sebagai (dalam notasi BNF) begin < statement>?<statement>;<statement>end;? akan diperlakukan sebagai ; Secondary Error Recovery Berguna untuk melokalisir kesalahan, caranya : Panic mode Maju terus dan mengabaikan teks sampai bertemu delimeter (misal : ) contoh :

BAB 6 CARA PENANGANAN KESALAHAN 58 if A := 1 Kondisi := true; Teks diatas terjadi kesalahan karena tidak ada instruksi THEN, kompilator akan maju terus sampai bertemu ; Unit deletion Menghapus keseluruhan suatu unit sintaktik (misal: <block>,<exp>,<statement> dan sebagainya), efeknya sama dengan panic mode tetapi unit deletion memelihara kebenaran sintaksis dari source program. Context Sensitive Recovery Berkaitan dengan semantik, misal bila terdapat variabel yang belum dideklarasikan (undifined variabel) maka diasumsikan tipenya berdasarkan kemunculannya. 6.4 Error Repair Bertujuan untuk memodifikasi source program dari kesalahan dan membuatnya valid. Mekanisme error repair meliputi : Mekanisme Ad Hoc Tergantung dari pembuat kompilator sendiri Syntax Directed Repair Menyisipkan simbol terminal yang dianggap hilang atau membuang terminal penyebab kesalahan Contoh : While a<1 I:=I+1; Kompilator akan menyisipkan DO karena kurang simbol DO Context Sensitive Repair Perbaikan dilakukan pada kesalahan : Tipe identifier. Diatasi dengan membangkitkan identifier dummy, misalkan : Var A : string; begin

BAB 6 CARA PENANGANAN KESALAHAN 59 A:=0; end; Tipe konstanta Diatasi dengan membangkitkan konstanta baru dengan tipe yang tepat. Spelling repair Memperbaiki kesalahan pengetikan pada identifier, misal : WHILLE A = 1 DO Identifier yang salah tersebut akan diperbaiki menjadi WHILE LAPORAN PENDAHULUAN 1. Sebutkan dan berikan contoh dari jenis jenis kesalahan! 2. Sebutkan dan jelaskan macam macam pemulihan kesalahan! LAPORAN AKHIR Buat program untuk mendeteksi dan mengoreksi kesalahan kesalahan, baik leksikal, sintaks, maupun semantik!