SlideShare a Scribd company logo
1 of 10
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 
• 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.
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 KOMPILATOR PADA KESALAHAN 
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.
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 
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 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

Algo temu 4 struktur dasar algoritma
Algo temu 4 struktur dasar algoritmaAlgo temu 4 struktur dasar algoritma
Algo temu 4 struktur dasar algoritmaSenna Hendrian
 
OOP - Nested If & Else If
OOP - Nested If & Else IfOOP - Nested If & Else If
OOP - Nested If & Else IfSiska Amelia
 
Pengantar Pemrograman Chapter 2
Pengantar Pemrograman Chapter 2Pengantar Pemrograman Chapter 2
Pengantar Pemrograman Chapter 2Dede Kurniadi
 
Analisis Semantik - P6
Analisis Semantik - P6Analisis Semantik - P6
Analisis Semantik - P6ahmad haidaroh
 
Pengantar Pemrograman Chapter 3
Pengantar Pemrograman Chapter 3Pengantar Pemrograman Chapter 3
Pengantar Pemrograman Chapter 3Dede Kurniadi
 
Algo temu 6 & 7 - PENGULANGAN
Algo temu 6 & 7 - PENGULANGANAlgo temu 6 & 7 - PENGULANGAN
Algo temu 6 & 7 - PENGULANGANSenna Hendrian
 
OOP - Decision: If & If..Else
OOP - Decision: If & If..ElseOOP - Decision: If & If..Else
OOP - Decision: If & If..ElseSiska Amelia
 
Pertemuan ke-3-analisis-leksikal
Pertemuan ke-3-analisis-leksikalPertemuan ke-3-analisis-leksikal
Pertemuan ke-3-analisis-leksikalMustajib Umroni
 
Struktur data chapter_10
Struktur data chapter_10Struktur data chapter_10
Struktur data chapter_10Sejahtera Affif
 
Struktur Algoritma
Struktur AlgoritmaStruktur Algoritma
Struktur Algoritmadaffa12
 
Referensi pemrograman bahasa pascal
Referensi pemrograman bahasa pascalReferensi pemrograman bahasa pascal
Referensi pemrograman bahasa pascalMutiara Aprilian
 
Pemograman mikrokontroler
Pemograman mikrokontrolerPemograman mikrokontroler
Pemograman mikrokontrolerarie eric
 
P 1 Pendahuluan - Teknik Kompilasi
P 1 Pendahuluan - Teknik KompilasiP 1 Pendahuluan - Teknik Kompilasi
P 1 Pendahuluan - Teknik Kompilasiahmad haidaroh
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahBraga Rezpect
 
Teknik kompilasi
Teknik kompilasi Teknik kompilasi
Teknik kompilasi Mr. FM
 

What's hot (20)

Algo temu 4 struktur dasar algoritma
Algo temu 4 struktur dasar algoritmaAlgo temu 4 struktur dasar algoritma
Algo temu 4 struktur dasar algoritma
 
Modul iv
Modul ivModul iv
Modul iv
 
OOP - Nested If & Else If
OOP - Nested If & Else IfOOP - Nested If & Else If
OOP - Nested If & Else If
 
Pengantar Pemrograman Chapter 2
Pengantar Pemrograman Chapter 2Pengantar Pemrograman Chapter 2
Pengantar Pemrograman Chapter 2
 
Analisis Semantik - P6
Analisis Semantik - P6Analisis Semantik - P6
Analisis Semantik - P6
 
Pengantar Pemrograman Chapter 3
Pengantar Pemrograman Chapter 3Pengantar Pemrograman Chapter 3
Pengantar Pemrograman Chapter 3
 
operator
operatoroperator
operator
 
Algo temu 6 & 7 - PENGULANGAN
Algo temu 6 & 7 - PENGULANGANAlgo temu 6 & 7 - PENGULANGAN
Algo temu 6 & 7 - PENGULANGAN
 
OOP - Decision: If & If..Else
OOP - Decision: If & If..ElseOOP - Decision: If & If..Else
OOP - Decision: If & If..Else
 
04 if-ifelse-switch-break
04 if-ifelse-switch-break04 if-ifelse-switch-break
04 if-ifelse-switch-break
 
Pertemuan ke-3-analisis-leksikal
Pertemuan ke-3-analisis-leksikalPertemuan ke-3-analisis-leksikal
Pertemuan ke-3-analisis-leksikal
 
Struktur data chapter_10
Struktur data chapter_10Struktur data chapter_10
Struktur data chapter_10
 
Struktur Algoritma
Struktur AlgoritmaStruktur Algoritma
Struktur Algoritma
 
Referensi pemrograman bahasa pascal
Referensi pemrograman bahasa pascalReferensi pemrograman bahasa pascal
Referensi pemrograman bahasa pascal
 
Pascal01
Pascal01Pascal01
Pascal01
 
Pemograman mikrokontroler
Pemograman mikrokontrolerPemograman mikrokontroler
Pemograman mikrokontroler
 
P 1 Pendahuluan - Teknik Kompilasi
P 1 Pendahuluan - Teknik KompilasiP 1 Pendahuluan - Teknik Kompilasi
P 1 Pendahuluan - Teknik Kompilasi
 
6 lanjutan perulangan
6 lanjutan perulangan6 lanjutan perulangan
6 lanjutan perulangan
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 
Teknik kompilasi
Teknik kompilasi Teknik kompilasi
Teknik kompilasi
 

Viewers also liked

Analisis leksikal tugas
Analisis leksikal tugasAnalisis leksikal tugas
Analisis leksikal tugasAminah Rahayu
 
Analisis Leksikal - P4
Analisis Leksikal - P4Analisis Leksikal - P4
Analisis Leksikal - P4ahmad haidaroh
 
Multiplekser - Demultiplekser - Pertemuan 7
Multiplekser - Demultiplekser - Pertemuan 7Multiplekser - Demultiplekser - Pertemuan 7
Multiplekser - Demultiplekser - Pertemuan 7ahmad haidaroh
 
Lex (lexical analyzer)
Lex (lexical analyzer)Lex (lexical analyzer)
Lex (lexical analyzer)Sami Said
 

Viewers also liked (8)

Analisis leksikal tugas
Analisis leksikal tugasAnalisis leksikal tugas
Analisis leksikal tugas
 
Analisis Leksikal - P4
Analisis Leksikal - P4Analisis Leksikal - P4
Analisis Leksikal - P4
 
Bahasa Regular - P3
Bahasa Regular - P3Bahasa Regular - P3
Bahasa Regular - P3
 
Lexical
LexicalLexical
Lexical
 
Multiplekser - Demultiplekser - Pertemuan 7
Multiplekser - Demultiplekser - Pertemuan 7Multiplekser - Demultiplekser - Pertemuan 7
Multiplekser - Demultiplekser - Pertemuan 7
 
Lexical Analyzers and Parsers
Lexical Analyzers and ParsersLexical Analyzers and Parsers
Lexical Analyzers and Parsers
 
Lex (lexical analyzer)
Lex (lexical analyzer)Lex (lexical analyzer)
Lex (lexical analyzer)
 
Lexical analyzer
Lexical analyzerLexical analyzer
Lexical analyzer
 

Similar to Error Handling - P 7

Lesson 09 - Penanganan Kesalahan.ppt
Lesson 09 - Penanganan Kesalahan.pptLesson 09 - Penanganan Kesalahan.ppt
Lesson 09 - Penanganan Kesalahan.pptAlTechnology
 
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
 
Teknik Optimasi dengan Pendekatan Numeris
Teknik Optimasi dengan Pendekatan NumerisTeknik Optimasi dengan Pendekatan Numeris
Teknik Optimasi dengan Pendekatan NumerisAhnafFattanSafaraz
 
Materi_1_Pengantar_Algoritma.pptx
Materi_1_Pengantar_Algoritma.pptxMateri_1_Pengantar_Algoritma.pptx
Materi_1_Pengantar_Algoritma.pptxwahyu479353
 
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docx
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docxMAKALAH PERULANGAN BAHASA C ( Diki Candra ).docx
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docxDikicandra6
 
Bahasa Pemrograman C++
Bahasa Pemrograman C++Bahasa Pemrograman C++
Bahasa Pemrograman C++Rangga Ananto
 
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
 
01_Pengenalan_Algoritma_ppt.ppt
01_Pengenalan_Algoritma_ppt.ppt01_Pengenalan_Algoritma_ppt.ppt
01_Pengenalan_Algoritma_ppt.pptJournalJPMN
 
Pengenalan_Algoritma_ppt.ppt
Pengenalan_Algoritma_ppt.pptPengenalan_Algoritma_ppt.ppt
Pengenalan_Algoritma_ppt.pptNoerisEkaBudiarti
 
Algoritma dan pemrograman
Algoritma dan pemrogramanAlgoritma dan pemrograman
Algoritma dan pemrogramanMastur Cell
 
Pengenalan algoritma.ppt
Pengenalan algoritma.pptPengenalan algoritma.ppt
Pengenalan algoritma.ppteriekorlando3
 
Algoritma - Chapter - 1
Algoritma - Chapter - 1Algoritma - Chapter - 1
Algoritma - Chapter - 1beiharira
 
Bab 3. pengenalan algoritma
Bab 3. pengenalan algoritmaBab 3. pengenalan algoritma
Bab 3. pengenalan algoritmaArif Punk Street
 
listiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchartlistiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchartMaryanto Sumringah SMA 9 Tebo
 
dasar-dasar pemrograman
dasar-dasar pemrogramandasar-dasar pemrograman
dasar-dasar pemrogramanReza Optoriter
 
Bab 3. Pengenalan Dasar dasar Algoritma .ppt
Bab 3. Pengenalan Dasar dasar Algoritma .pptBab 3. Pengenalan Dasar dasar Algoritma .ppt
Bab 3. Pengenalan Dasar dasar Algoritma .ppttaufikhidayat607720
 

Similar to Error Handling - P 7 (20)

432.ppt
432.ppt432.ppt
432.ppt
 
Lesson 09 - Penanganan Kesalahan.ppt
Lesson 09 - Penanganan Kesalahan.pptLesson 09 - Penanganan Kesalahan.ppt
Lesson 09 - Penanganan Kesalahan.ppt
 
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
 
Teknik Optimasi dengan Pendekatan Numeris
Teknik Optimasi dengan Pendekatan NumerisTeknik Optimasi dengan Pendekatan Numeris
Teknik Optimasi dengan Pendekatan Numeris
 
Materi_1_Pengantar_Algoritma.pptx
Materi_1_Pengantar_Algoritma.pptxMateri_1_Pengantar_Algoritma.pptx
Materi_1_Pengantar_Algoritma.pptx
 
Bab II
Bab IIBab II
Bab II
 
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docx
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docxMAKALAH PERULANGAN BAHASA C ( Diki Candra ).docx
MAKALAH PERULANGAN BAHASA C ( Diki Candra ).docx
 
Bahan 2.pptx
Bahan 2.pptxBahan 2.pptx
Bahan 2.pptx
 
Bahasa Pemrograman C++
Bahasa Pemrograman C++Bahasa Pemrograman C++
Bahasa Pemrograman 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
 
01_Pengenalan_Algoritma_ppt.ppt
01_Pengenalan_Algoritma_ppt.ppt01_Pengenalan_Algoritma_ppt.ppt
01_Pengenalan_Algoritma_ppt.ppt
 
Pengenalan_Algoritma_ppt.ppt
Pengenalan_Algoritma_ppt.pptPengenalan_Algoritma_ppt.ppt
Pengenalan_Algoritma_ppt.ppt
 
Algoritma dan pemrograman
Algoritma dan pemrogramanAlgoritma dan pemrograman
Algoritma dan pemrograman
 
Pengenalan algoritma.ppt
Pengenalan algoritma.pptPengenalan algoritma.ppt
Pengenalan algoritma.ppt
 
Algoritma - Chapter - 1
Algoritma - Chapter - 1Algoritma - Chapter - 1
Algoritma - Chapter - 1
 
Bab 3. pengenalan algoritma
Bab 3. pengenalan algoritmaBab 3. pengenalan algoritma
Bab 3. pengenalan algoritma
 
listiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchartlistiati univ bung hata (1110013211051) Algoritma dan flowchart
listiati univ bung hata (1110013211051) Algoritma dan flowchart
 
dasar-dasar pemrograman
dasar-dasar pemrogramandasar-dasar pemrograman
dasar-dasar pemrograman
 
Bab 3. Pengenalan Dasar dasar Algoritma .ppt
Bab 3. Pengenalan Dasar dasar Algoritma .pptBab 3. Pengenalan Dasar dasar Algoritma .ppt
Bab 3. Pengenalan Dasar dasar Algoritma .ppt
 

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
 
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
 
Pertemuan 2 - Sistem Bilangan
Pertemuan 2 - Sistem BilanganPertemuan 2 - Sistem Bilangan
Pertemuan 2 - Sistem Bilanganahmad 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
 
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
 
Pertemuan 2 - Sistem Bilangan
Pertemuan 2 - Sistem BilanganPertemuan 2 - Sistem Bilangan
Pertemuan 2 - Sistem Bilangan
 

Recently uploaded

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
 
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
 
Kisi-kisi UTS Kelas 9 Tahun Ajaran 2023/2024 Semester 2 IPS
Kisi-kisi UTS Kelas 9 Tahun Ajaran 2023/2024 Semester 2 IPSKisi-kisi UTS Kelas 9 Tahun Ajaran 2023/2024 Semester 2 IPS
Kisi-kisi UTS Kelas 9 Tahun Ajaran 2023/2024 Semester 2 IPSyudi_alfian
 
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...Kanaidi ken
 
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdfAKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdfTaqdirAlfiandi1
 
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptxDESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptxFuzaAnggriana
 
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
 
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
 
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptx
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptxIPA Kelas 9 BAB 10 - www.ilmuguru.org.pptx
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptxErikaPuspita10
 
Kelompok 4 : Karakteristik Negara Inggris
Kelompok 4 : Karakteristik Negara InggrisKelompok 4 : Karakteristik Negara Inggris
Kelompok 4 : Karakteristik Negara InggrisNazla aulia
 
Petunjuk Teknis Aplikasi Pelaksanaan OSNK 2024
Petunjuk Teknis Aplikasi Pelaksanaan OSNK 2024Petunjuk Teknis Aplikasi Pelaksanaan OSNK 2024
Petunjuk Teknis Aplikasi Pelaksanaan OSNK 2024budimoko2
 
Kelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfKelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfCloverash1
 
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptxMODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptxarnisariningsih98
 
Pembahasan Soal UKOM gerontik persiapan ukomnas
Pembahasan Soal UKOM gerontik persiapan ukomnasPembahasan Soal UKOM gerontik persiapan ukomnas
Pembahasan Soal UKOM gerontik persiapan ukomnasAZakariaAmien1
 
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
 
Aksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru PenggerakAksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru Penggeraksupriadi611
 
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques  Rousseau.pdfPEMIKIRAN POLITIK Jean Jacques  Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdfMMeizaFachri
 
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptxTopik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptxsyafnasir
 
Edukasi Haji 2023 pembinaan jemaah hajii
Edukasi Haji 2023 pembinaan jemaah hajiiEdukasi Haji 2023 pembinaan jemaah hajii
Edukasi Haji 2023 pembinaan jemaah hajiiIntanHanifah4
 
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMLaporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMmulyadia43
 

Recently uploaded (20)

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
 
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
 
Kisi-kisi UTS Kelas 9 Tahun Ajaran 2023/2024 Semester 2 IPS
Kisi-kisi UTS Kelas 9 Tahun Ajaran 2023/2024 Semester 2 IPSKisi-kisi UTS Kelas 9 Tahun Ajaran 2023/2024 Semester 2 IPS
Kisi-kisi UTS Kelas 9 Tahun Ajaran 2023/2024 Semester 2 IPS
 
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...
RENCANA + Link2 Materi Pelatihan/BimTek "Teknik Perhitungan & Verifikasi TKDN...
 
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdfAKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
AKSI NYATA Strategi Penerapan Kurikulum Merdeka di Kelas (1).pdf
 
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptxDESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
DESAIN MEDIA PEMBELAJARAN BAHASA INDONESIA BERBASIS DIGITAL.pptx
 
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
 
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
 
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptx
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptxIPA Kelas 9 BAB 10 - www.ilmuguru.org.pptx
IPA Kelas 9 BAB 10 - www.ilmuguru.org.pptx
 
Kelompok 4 : Karakteristik Negara Inggris
Kelompok 4 : Karakteristik Negara InggrisKelompok 4 : Karakteristik Negara Inggris
Kelompok 4 : Karakteristik Negara Inggris
 
Petunjuk Teknis Aplikasi Pelaksanaan OSNK 2024
Petunjuk Teknis Aplikasi Pelaksanaan OSNK 2024Petunjuk Teknis Aplikasi Pelaksanaan OSNK 2024
Petunjuk Teknis Aplikasi Pelaksanaan OSNK 2024
 
Kelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdfKelompok 1_Karakteristik negara jepang.pdf
Kelompok 1_Karakteristik negara jepang.pdf
 
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptxMODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
MODUL 2 BAHASA INDONESIA-KELOMPOK 1.pptx
 
Pembahasan Soal UKOM gerontik persiapan ukomnas
Pembahasan Soal UKOM gerontik persiapan ukomnasPembahasan Soal UKOM gerontik persiapan ukomnas
Pembahasan Soal UKOM gerontik persiapan ukomnas
 
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
 
Aksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru PenggerakAksi Nyata Modul 1.1 Calon Guru Penggerak
Aksi Nyata Modul 1.1 Calon Guru Penggerak
 
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques  Rousseau.pdfPEMIKIRAN POLITIK Jean Jacques  Rousseau.pdf
PEMIKIRAN POLITIK Jean Jacques Rousseau.pdf
 
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptxTopik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
Topik 1 - Pengenalan Penghayatan Etika dan Peradaban Acuan Malaysia.pptx
 
Edukasi Haji 2023 pembinaan jemaah hajii
Edukasi Haji 2023 pembinaan jemaah hajiiEdukasi Haji 2023 pembinaan jemaah hajii
Edukasi Haji 2023 pembinaan jemaah hajii
 
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMMLaporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
Laporan Guru Piket untuk Pengisian RHK Guru Pengelolaan KInerja Guru di PMM
 

Error Handling - P 7

  • 1.
  • 2. 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
  • 3. KESALAHAN PROGRAM • 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.
  • 4. 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
  • 5. 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.
  • 6. REAKSI KOMPILATOR PADA KESALAHAN 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.
  • 7. 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 “;”
  • 8. ◦ Secondary Error Recovery 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.
  • 9. 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
  • 10. 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