SlideShare a Scribd company logo
1 of 15
CARA PENANGAN KESALAHAN
Sebuah kompilator akan sering menemui program
yang mengandung kesalahan, maka kompilator
harus memiliki strategi apa yang harus dilakukan
untuk menangani kesalahan - kesalahan tersebut
KESALAHAN PROGRAM
• Kesalahan Leksikal
• Misalnya kesalahan mengeja keyword,
contoh: then ditulis ten
while ditulis wail
• Kesalahan Sintaks
• Misalnya pada operasi aritmatika kekurangan jumlah paranthesis
(kurung).
contoh : A:=X+(B*(C+D)
• Kesalahan Semantik
a. Tipe data yang salah.
Contoh : Var Siswa : Integer
Siswa := 'Yanuar' {tipe string}
b. Variabel belum didefinisikan.
Contoh : B := B + 1 {B belum didefinisikan}
PENANGANAN KESALAHAN
• Prosedur penangan kesalahan terdiri dari :
 Mendeteksi kesalahan
 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
REAKSI KOMPILATOR PADA KESALAHAN
• Pada saat kompilator menemukan kesalahan terdapat
beberapa tingkatan rekasi, diantaranya adalah :
• 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.
• Reaksi yang benar tapi kurang dapat diterima dan
kurang bermanfaat.
Kemampuan kompilator untuk mendeteksi dan
melaporkan kesalahan hanya satu kali untuk
setiap kali kompilasi.
 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
 Reaksi yang belum dapat dilakukan (dewasa ini), yaitu
kompilator mengkoreksi kesalahan, lalu menghasilkan
program objek sesuai dengan yang diinginkan pemrogram.
REAKSI KOMPILATOR PADA KESALAHAN
ERROR RECOVERY
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 :
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.
ERROR RECOVERY
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
ERROR REPAIR
• Context Sensitive Repair
Perbaikan dilakukan pada kesalahan :
 Tipe identifier. Diatasi dengan membangkitkan identifier
dummy,
misalkan :
Var A : string;
begin
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

More Related Content

What's hot

3 rekayasa kebutuhan
3 rekayasa kebutuhan3 rekayasa kebutuhan
3 rekayasa kebutuhanObey Rohman
 
CFG dan PARSING - P 5 - Teknik Kompilasi
CFG dan PARSING - P 5 - Teknik KompilasiCFG dan PARSING - P 5 - Teknik Kompilasi
CFG dan PARSING - P 5 - Teknik Kompilasiahmad haidaroh
 
Algoritma Apriori
Algoritma AprioriAlgoritma Apriori
Algoritma Aprioridedidarwis
 
Teori bahasa-dan-otomata
Teori bahasa-dan-otomataTeori bahasa-dan-otomata
Teori bahasa-dan-otomataBanta Cut
 
technik kompilasi
technik kompilasitechnik kompilasi
technik kompilasimastnie
 
Pembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja onlinePembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja onlineandiseprianto
 
51231301 erd-sederhana-rs
51231301 erd-sederhana-rs51231301 erd-sederhana-rs
51231301 erd-sederhana-rsAlan Inversent
 
[PBO] Pertemuan 10 - Exception & Error Handling
[PBO] Pertemuan 10 - Exception & Error Handling[PBO] Pertemuan 10 - Exception & Error Handling
[PBO] Pertemuan 10 - Exception & Error Handlingrizki adam kurniawan
 
Analisis leksikal tugas
Analisis leksikal tugasAnalisis leksikal tugas
Analisis leksikal tugasAminah Rahayu
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Debby Ummul
 
[RPL2] Class Diagram dan Konsep Object Oriented (1)
[RPL2] Class Diagram dan Konsep Object Oriented (1)[RPL2] Class Diagram dan Konsep Object Oriented (1)
[RPL2] Class Diagram dan Konsep Object Oriented (1)rizki adam kurniawan
 
Laporan Project Pemrograman Berbasis Web
Laporan Project Pemrograman Berbasis WebLaporan Project Pemrograman Berbasis Web
Laporan Project Pemrograman Berbasis Websmatrigger
 
Analisis Leksikal - P4
Analisis Leksikal - P4Analisis Leksikal - P4
Analisis Leksikal - P4ahmad haidaroh
 
Pengertian dan Representasi Graph
Pengertian dan Representasi GraphPengertian dan Representasi Graph
Pengertian dan Representasi GraphZaldy Eka Putra
 
Teori bahasa formal dan Otomata
Teori bahasa formal dan OtomataTeori bahasa formal dan Otomata
Teori bahasa formal dan OtomataRisal Fahmi
 

What's hot (20)

3 rekayasa kebutuhan
3 rekayasa kebutuhan3 rekayasa kebutuhan
3 rekayasa kebutuhan
 
CFG dan PARSING - P 5 - Teknik Kompilasi
CFG dan PARSING - P 5 - Teknik KompilasiCFG dan PARSING - P 5 - Teknik Kompilasi
CFG dan PARSING - P 5 - Teknik Kompilasi
 
Algoritma Apriori
Algoritma AprioriAlgoritma Apriori
Algoritma Apriori
 
Teori bahasa-dan-otomata
Teori bahasa-dan-otomataTeori bahasa-dan-otomata
Teori bahasa-dan-otomata
 
Sap 2
Sap 2Sap 2
Sap 2
 
technik kompilasi
technik kompilasitechnik kompilasi
technik kompilasi
 
Pembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja onlinePembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja online
 
51231301 erd-sederhana-rs
51231301 erd-sederhana-rs51231301 erd-sederhana-rs
51231301 erd-sederhana-rs
 
Modul praktikum-pemrograman java dgn netbeans
Modul praktikum-pemrograman java dgn netbeansModul praktikum-pemrograman java dgn netbeans
Modul praktikum-pemrograman java dgn netbeans
 
[PBO] Pertemuan 10 - Exception & Error Handling
[PBO] Pertemuan 10 - Exception & Error Handling[PBO] Pertemuan 10 - Exception & Error Handling
[PBO] Pertemuan 10 - Exception & Error Handling
 
[PBO] Pertemuan 5 - Polymorphism
[PBO] Pertemuan 5 - Polymorphism[PBO] Pertemuan 5 - Polymorphism
[PBO] Pertemuan 5 - Polymorphism
 
Analisis leksikal tugas
Analisis leksikal tugasAnalisis leksikal tugas
Analisis leksikal tugas
 
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
Modul Praktikum Pemrograman Berorientasi Objek (Chap.1-6)
 
Modul PBO Bab-08 - Java GUI
Modul PBO Bab-08 - Java GUIModul PBO Bab-08 - Java GUI
Modul PBO Bab-08 - Java GUI
 
[RPL2] Class Diagram dan Konsep Object Oriented (1)
[RPL2] Class Diagram dan Konsep Object Oriented (1)[RPL2] Class Diagram dan Konsep Object Oriented (1)
[RPL2] Class Diagram dan Konsep Object Oriented (1)
 
Laporan Project Pemrograman Berbasis Web
Laporan Project Pemrograman Berbasis WebLaporan Project Pemrograman Berbasis Web
Laporan Project Pemrograman Berbasis Web
 
Analisis Leksikal - P4
Analisis Leksikal - P4Analisis Leksikal - P4
Analisis Leksikal - P4
 
Pengertian dan Representasi Graph
Pengertian dan Representasi GraphPengertian dan Representasi Graph
Pengertian dan Representasi Graph
 
Algoritma penjadwalan proses
Algoritma penjadwalan prosesAlgoritma penjadwalan proses
Algoritma penjadwalan proses
 
Teori bahasa formal dan Otomata
Teori bahasa formal dan OtomataTeori bahasa formal dan Otomata
Teori bahasa formal dan Otomata
 

Similar to Error Handling - P 7 Teknik Kompilasi

Lesson 09 - Penanganan Kesalahan.ppt
Lesson 09 - Penanganan Kesalahan.pptLesson 09 - Penanganan Kesalahan.ppt
Lesson 09 - Penanganan Kesalahan.pptAlTechnology
 
Bahasa Pemrograman C++
Bahasa Pemrograman C++Bahasa Pemrograman C++
Bahasa Pemrograman C++Rangga Ananto
 
Pengantar Pemrograman Chapter 2
Pengantar Pemrograman Chapter 2Pengantar Pemrograman Chapter 2
Pengantar Pemrograman Chapter 2Dede Kurniadi
 
Tutorial basic of c++ lesson 1 ind ver
Tutorial basic of c++ lesson 1 ind verTutorial basic of c++ lesson 1 ind ver
Tutorial basic of c++ lesson 1 ind verQrembiezs Intruder
 
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanie Indah
 
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanie Indah
 
Materi_1_Pengantar_Algoritma.pptx
Materi_1_Pengantar_Algoritma.pptxMateri_1_Pengantar_Algoritma.pptx
Materi_1_Pengantar_Algoritma.pptxwahyu479353
 
Materi matakuliah bahasa c
Materi matakuliah bahasa cMateri matakuliah bahasa c
Materi matakuliah bahasa cIzhan Nassuha
 
Teknik Optimasi dengan Pendekatan Numeris
Teknik Optimasi dengan Pendekatan NumerisTeknik Optimasi dengan Pendekatan Numeris
Teknik Optimasi dengan Pendekatan NumerisAhnafFattanSafaraz
 
Logika pemrograman hand out
Logika pemrograman hand outLogika pemrograman hand out
Logika pemrograman hand outgivaro igfar
 
Pengenalan bahasa c++
Pengenalan bahasa c++Pengenalan bahasa c++
Pengenalan bahasa c++windi1
 
Pengertian algoritma
Pengertian algoritmaPengertian algoritma
Pengertian algoritmakoboibdg
 
Algoritma - prosedur dan fungsi
Algoritma - prosedur dan fungsiAlgoritma - prosedur dan fungsi
Algoritma - prosedur dan fungsiZombie Black
 
Algoritma dan pemrograman (pengantar 1).pptx
Algoritma dan pemrograman (pengantar 1).pptxAlgoritma dan pemrograman (pengantar 1).pptx
Algoritma dan pemrograman (pengantar 1).pptxMiaMiftahulRachmawat
 

Similar to Error Handling - P 7 Teknik Kompilasi (20)

432.ppt
432.ppt432.ppt
432.ppt
 
Error Handling - P 7
Error Handling - P 7Error Handling - P 7
Error Handling - P 7
 
Lesson 09 - Penanganan Kesalahan.ppt
Lesson 09 - Penanganan Kesalahan.pptLesson 09 - Penanganan Kesalahan.ppt
Lesson 09 - Penanganan Kesalahan.ppt
 
Bahasa Pemrograman C++
Bahasa Pemrograman C++Bahasa Pemrograman C++
Bahasa Pemrograman C++
 
Pengantar Pemrograman Chapter 2
Pengantar Pemrograman Chapter 2Pengantar Pemrograman Chapter 2
Pengantar Pemrograman Chapter 2
 
Tutorial basic of c++ lesson 1 ind ver
Tutorial basic of c++ lesson 1 ind verTutorial basic of c++ lesson 1 ind ver
Tutorial basic of c++ lesson 1 ind ver
 
Modul c++
Modul c++Modul c++
Modul c++
 
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
 
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunusTifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
Tifanieindahyulianti 1610530183 tugasperulangan_algoritma_muhammadyunus
 
Bab II
Bab IIBab II
Bab II
 
Materi_1_Pengantar_Algoritma.pptx
Materi_1_Pengantar_Algoritma.pptxMateri_1_Pengantar_Algoritma.pptx
Materi_1_Pengantar_Algoritma.pptx
 
Algoritma 1 pertemuan 1
Algoritma 1 pertemuan 1Algoritma 1 pertemuan 1
Algoritma 1 pertemuan 1
 
Materi matakuliah bahasa c
Materi matakuliah bahasa cMateri matakuliah bahasa c
Materi matakuliah bahasa c
 
Teknik Optimasi dengan Pendekatan Numeris
Teknik Optimasi dengan Pendekatan NumerisTeknik Optimasi dengan Pendekatan Numeris
Teknik Optimasi dengan Pendekatan Numeris
 
Logika pemrograman hand out
Logika pemrograman hand outLogika pemrograman hand out
Logika pemrograman hand out
 
Pengenalan bahasa c++
Pengenalan bahasa c++Pengenalan bahasa c++
Pengenalan bahasa c++
 
Pengenalan bahasa C++
Pengenalan bahasa C++Pengenalan bahasa C++
Pengenalan bahasa C++
 
Pengertian algoritma
Pengertian algoritmaPengertian algoritma
Pengertian algoritma
 
Algoritma - prosedur dan fungsi
Algoritma - prosedur dan fungsiAlgoritma - prosedur dan fungsi
Algoritma - prosedur dan fungsi
 
Algoritma dan pemrograman (pengantar 1).pptx
Algoritma dan pemrograman (pengantar 1).pptxAlgoritma dan pemrograman (pengantar 1).pptx
Algoritma dan pemrograman (pengantar 1).pptx
 

More from ahmad haidaroh

Materi 7 Context Free Grammar
Materi 7   Context Free Grammar Materi 7   Context Free Grammar
Materi 7 Context Free Grammar ahmad haidaroh
 
Materi 4 Regular Expression
Materi 4   Regular ExpressionMateri 4   Regular Expression
Materi 4 Regular Expressionahmad haidaroh
 
Materi 3 Finite State Automata
Materi 3   Finite State AutomataMateri 3   Finite State Automata
Materi 3 Finite State Automataahmad haidaroh
 
Materi 3 Finite State Automata
Materi 3   Finite State AutomataMateri 3   Finite State Automata
Materi 3 Finite State Automataahmad haidaroh
 
Pertemuan 4 Aljabar Boole
Pertemuan 4   Aljabar Boole Pertemuan 4   Aljabar Boole
Pertemuan 4 Aljabar Boole ahmad haidaroh
 
Pertemuan 2&3 - Dasar2 Keamanan Encyption
Pertemuan 2&3 - Dasar2 Keamanan EncyptionPertemuan 2&3 - Dasar2 Keamanan Encyption
Pertemuan 2&3 - Dasar2 Keamanan Encyptionahmad haidaroh
 
Multiplekser - Demultiplekser - Pertemuan 7
Multiplekser - Demultiplekser - Pertemuan 7Multiplekser - Demultiplekser - Pertemuan 7
Multiplekser - Demultiplekser - Pertemuan 7ahmad haidaroh
 
Pertemuan 3a Rangkaian Aritmatik-Half n Full Adder
Pertemuan 3a   Rangkaian Aritmatik-Half n Full AdderPertemuan 3a   Rangkaian Aritmatik-Half n Full Adder
Pertemuan 3a Rangkaian Aritmatik-Half n Full Adderahmad haidaroh
 
Pertemuan 6 Penyederhanaan RL-Karnaugh Map
Pertemuan 6   Penyederhanaan RL-Karnaugh MapPertemuan 6   Penyederhanaan RL-Karnaugh Map
Pertemuan 6 Penyederhanaan RL-Karnaugh Mapahmad haidaroh
 
Pertemuan 5a gerbang kombinasi-maxtem-minterm
Pertemuan 5a   gerbang kombinasi-maxtem-mintermPertemuan 5a   gerbang kombinasi-maxtem-minterm
Pertemuan 5a gerbang kombinasi-maxtem-mintermahmad haidaroh
 
Pertemuan 5 gerbang logika dasar n bentukan
Pertemuan 5   gerbang logika dasar n bentukanPertemuan 5   gerbang logika dasar n bentukan
Pertemuan 5 gerbang logika dasar n bentukanahmad haidaroh
 
Aritmatika Biner - Pertemuan 3
Aritmatika Biner - Pertemuan 3Aritmatika Biner - Pertemuan 3
Aritmatika Biner - Pertemuan 3ahmad haidaroh
 

More from ahmad haidaroh (20)

Materi 7 Context Free Grammar
Materi 7   Context Free Grammar Materi 7   Context Free Grammar
Materi 7 Context Free Grammar
 
8 Rekursif
8 Rekursif8 Rekursif
8 Rekursif
 
6 ANTRIAN - QUEUE
6 ANTRIAN - QUEUE6 ANTRIAN - QUEUE
6 ANTRIAN - QUEUE
 
5 STACK
5 STACK5 STACK
5 STACK
 
4 Adt
4 Adt4 Adt
4 Adt
 
3 Linked List
3   Linked List3   Linked List
3 Linked List
 
2 Array
2 Array2 Array
2 Array
 
Materi 4 Regular Expression
Materi 4   Regular ExpressionMateri 4   Regular Expression
Materi 4 Regular Expression
 
Materi 3 Finite State Automata
Materi 3   Finite State AutomataMateri 3   Finite State Automata
Materi 3 Finite State Automata
 
Materi 3 Finite State Automata
Materi 3   Finite State AutomataMateri 3   Finite State Automata
Materi 3 Finite State Automata
 
Presentasi OSPEK 2018
Presentasi OSPEK 2018Presentasi OSPEK 2018
Presentasi OSPEK 2018
 
Pertemuan 4 Dioda1
Pertemuan 4   Dioda1Pertemuan 4   Dioda1
Pertemuan 4 Dioda1
 
Pertemuan 4 Aljabar Boole
Pertemuan 4   Aljabar Boole Pertemuan 4   Aljabar Boole
Pertemuan 4 Aljabar Boole
 
Pertemuan 2&3 - Dasar2 Keamanan Encyption
Pertemuan 2&3 - Dasar2 Keamanan EncyptionPertemuan 2&3 - Dasar2 Keamanan Encyption
Pertemuan 2&3 - Dasar2 Keamanan Encyption
 
Multiplekser - Demultiplekser - Pertemuan 7
Multiplekser - Demultiplekser - Pertemuan 7Multiplekser - Demultiplekser - Pertemuan 7
Multiplekser - Demultiplekser - Pertemuan 7
 
Pertemuan 3a Rangkaian Aritmatik-Half n Full Adder
Pertemuan 3a   Rangkaian Aritmatik-Half n Full AdderPertemuan 3a   Rangkaian Aritmatik-Half n Full Adder
Pertemuan 3a Rangkaian Aritmatik-Half n Full Adder
 
Pertemuan 6 Penyederhanaan RL-Karnaugh Map
Pertemuan 6   Penyederhanaan RL-Karnaugh MapPertemuan 6   Penyederhanaan RL-Karnaugh Map
Pertemuan 6 Penyederhanaan RL-Karnaugh Map
 
Pertemuan 5a gerbang kombinasi-maxtem-minterm
Pertemuan 5a   gerbang kombinasi-maxtem-mintermPertemuan 5a   gerbang kombinasi-maxtem-minterm
Pertemuan 5a gerbang kombinasi-maxtem-minterm
 
Pertemuan 5 gerbang logika dasar n bentukan
Pertemuan 5   gerbang logika dasar n bentukanPertemuan 5   gerbang logika dasar n bentukan
Pertemuan 5 gerbang logika dasar n bentukan
 
Aritmatika Biner - Pertemuan 3
Aritmatika Biner - Pertemuan 3Aritmatika Biner - Pertemuan 3
Aritmatika Biner - Pertemuan 3
 

Recently uploaded

implementasu Permendikbudristek no 53 2023
implementasu Permendikbudristek no 53 2023implementasu Permendikbudristek no 53 2023
implementasu Permendikbudristek no 53 2023DodiSetiawan46
 
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docxModul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docxherisriwahyuni
 
Prakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptx
Prakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptxPrakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptx
Prakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptxSyaimarChandra1
 
Karakteristik Negara Brazil, Geografi Regional Dunia
Karakteristik Negara Brazil, Geografi Regional DuniaKarakteristik Negara Brazil, Geografi Regional Dunia
Karakteristik Negara Brazil, Geografi Regional DuniaNadia Putri Ayu
 
Kelompok 4 : Karakteristik Negara Inggris
Kelompok 4 : Karakteristik Negara InggrisKelompok 4 : Karakteristik Negara Inggris
Kelompok 4 : Karakteristik Negara InggrisNazla aulia
 
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...Kanaidi ken
 
Membuat Strategi Penerapan Kurikulum Merdeka di dalam Kelas
Membuat Strategi Penerapan Kurikulum Merdeka di dalam KelasMembuat Strategi Penerapan Kurikulum Merdeka di dalam Kelas
Membuat Strategi Penerapan Kurikulum Merdeka di dalam KelasHardaminOde2
 
polinomial dan suku banyak kelas 11..ppt
polinomial dan suku banyak kelas 11..pptpolinomial dan suku banyak kelas 11..ppt
polinomial dan suku banyak kelas 11..pptGirl38
 
Materi Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxMateri Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxRezaWahyuni6
 
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptxAKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptxWirionSembiring2
 
adap penggunaan media sosial dalam kehidupan sehari-hari.pptx
adap penggunaan media sosial dalam kehidupan sehari-hari.pptxadap penggunaan media sosial dalam kehidupan sehari-hari.pptx
adap penggunaan media sosial dalam kehidupan sehari-hari.pptxmtsmampunbarub4
 
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques  Rousseau.pdfPEMIKIRAN POLITIK Jean Jacques  Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdfMMeizaFachri
 
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptxJurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptxBambang440423
 
Kelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfKelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfCloverash1
 
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptxPPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptxalalfardilah
 
Model Manajemen Strategi Public Relations
Model Manajemen Strategi Public RelationsModel Manajemen Strategi Public Relations
Model Manajemen Strategi Public RelationsAdePutraTunggali
 
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdfLAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdfChrodtianTian
 
Materi Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxMateri Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxRezaWahyuni6
 
PPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptx
PPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptxPPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptx
PPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptxHeruFebrianto3
 
Demonstrasi Kontekstual Modul 1.2. pdf
Demonstrasi Kontekstual  Modul 1.2.  pdfDemonstrasi Kontekstual  Modul 1.2.  pdf
Demonstrasi Kontekstual Modul 1.2. pdfvebronialite32
 

Recently uploaded (20)

implementasu Permendikbudristek no 53 2023
implementasu Permendikbudristek no 53 2023implementasu Permendikbudristek no 53 2023
implementasu Permendikbudristek no 53 2023
 
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docxModul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
Modul Ajar Bahasa Indonesia - Menulis Puisi Spontanitas - Fase D.docx
 
Prakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptx
Prakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptxPrakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptx
Prakarsa Perubahan dengan Kanvas ATAP & BAGJA.pptx
 
Karakteristik Negara Brazil, Geografi Regional Dunia
Karakteristik Negara Brazil, Geografi Regional DuniaKarakteristik Negara Brazil, Geografi Regional Dunia
Karakteristik Negara Brazil, Geografi Regional Dunia
 
Kelompok 4 : Karakteristik Negara Inggris
Kelompok 4 : Karakteristik Negara InggrisKelompok 4 : Karakteristik Negara Inggris
Kelompok 4 : Karakteristik Negara Inggris
 
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...PELAKSANAAN  + Link2 Materi TRAINING "Effective  SUPERVISORY &  LEADERSHIP Sk...
PELAKSANAAN + Link2 Materi TRAINING "Effective SUPERVISORY & LEADERSHIP Sk...
 
Membuat Strategi Penerapan Kurikulum Merdeka di dalam Kelas
Membuat Strategi Penerapan Kurikulum Merdeka di dalam KelasMembuat Strategi Penerapan Kurikulum Merdeka di dalam Kelas
Membuat Strategi Penerapan Kurikulum Merdeka di dalam Kelas
 
polinomial dan suku banyak kelas 11..ppt
polinomial dan suku banyak kelas 11..pptpolinomial dan suku banyak kelas 11..ppt
polinomial dan suku banyak kelas 11..ppt
 
Materi Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptxMateri Pertemuan 6 Materi Pertemuan 6.pptx
Materi Pertemuan 6 Materi Pertemuan 6.pptx
 
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptxAKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
AKSI NYATA MODUL 1.2-1 untuk pendidikan guru penggerak.pptx
 
adap penggunaan media sosial dalam kehidupan sehari-hari.pptx
adap penggunaan media sosial dalam kehidupan sehari-hari.pptxadap penggunaan media sosial dalam kehidupan sehari-hari.pptx
adap penggunaan media sosial dalam kehidupan sehari-hari.pptx
 
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques  Rousseau.pdfPEMIKIRAN POLITIK Jean Jacques  Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdf
 
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptxJurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
Jurnal Dwi mingguan modul 1.2-gurupenggerak.pptx
 
Kelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfKelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdf
 
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptxPPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
PPT_AKUNTANSI_PAJAK_ATAS_ASET_TETAP.pptx
 
Model Manajemen Strategi Public Relations
Model Manajemen Strategi Public RelationsModel Manajemen Strategi Public Relations
Model Manajemen Strategi Public Relations
 
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdfLAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
LAPORAN PKP KESELURUHAN BAB 1-5 NURUL HUSNA.pdf
 
Materi Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptxMateri Pertemuan Materi Pertemuan 7.pptx
Materi Pertemuan Materi Pertemuan 7.pptx
 
PPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptx
PPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptxPPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptx
PPT Materi Jenis - Jenis Alat Pembayaran Tunai dan Non-tunai.pptx
 
Demonstrasi Kontekstual Modul 1.2. pdf
Demonstrasi Kontekstual  Modul 1.2.  pdfDemonstrasi Kontekstual  Modul 1.2.  pdf
Demonstrasi Kontekstual Modul 1.2. pdf
 

Error Handling - P 7 Teknik Kompilasi

  • 1.
  • 2.
  • 3. CARA PENANGAN KESALAHAN Sebuah kompilator akan sering menemui program yang mengandung kesalahan, maka kompilator harus memiliki strategi apa yang harus dilakukan untuk menangani kesalahan - kesalahan tersebut
  • 4. KESALAHAN PROGRAM • Kesalahan Leksikal • Misalnya kesalahan mengeja keyword, contoh: then ditulis ten while ditulis wail • Kesalahan Sintaks • Misalnya pada operasi aritmatika kekurangan jumlah paranthesis (kurung). contoh : A:=X+(B*(C+D) • Kesalahan Semantik a. Tipe data yang salah. Contoh : Var Siswa : Integer Siswa := 'Yanuar' {tipe string} b. Variabel belum didefinisikan. Contoh : B := B + 1 {B belum didefinisikan}
  • 5.
  • 6. PENANGANAN KESALAHAN • Prosedur penangan kesalahan terdiri dari :  Mendeteksi kesalahan  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
  • 7.
  • 8. REAKSI KOMPILATOR PADA KESALAHAN • Pada saat kompilator menemukan kesalahan terdapat beberapa tingkatan rekasi, diantaranya adalah : • 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. • Reaksi yang benar tapi kurang dapat diterima dan kurang bermanfaat. Kemampuan kompilator untuk mendeteksi dan melaporkan kesalahan hanya satu kali untuk setiap kali kompilasi.
  • 9.  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  Reaksi yang belum dapat dilakukan (dewasa ini), yaitu kompilator mengkoreksi kesalahan, lalu menghasilkan program objek sesuai dengan yang diinginkan pemrogram. REAKSI KOMPILATOR PADA KESALAHAN
  • 10.
  • 11. ERROR RECOVERY 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 ;
  • 12. ◦ Secondary Error Recovery  Berguna untuk melokalisir kesalahan, caranya :  Panic mode Maju terus dan mengabaikan teks sampai bertemu delimeter (misal ‘:’) contoh : 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. ERROR RECOVERY
  • 13. 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
  • 14.
  • 15. ERROR REPAIR • Context Sensitive Repair Perbaikan dilakukan pada kesalahan :  Tipe identifier. Diatasi dengan membangkitkan identifier dummy, misalkan : Var A : string; begin 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