Sabtu, 13 Juni 2015

Tugas IMK 9

Penanganan Kesalahan &
Help -Dokumentasi


Sebuah kompilator akan sering menemui program yang mengandung kesalahan, maka kompilator harus memiliki strategi apa yang harus dilakukan untuk menangani kesalahan - kesalahan tersebut

Jenis-jenis kesalahan dan slip
1.      Kesalahan Leksikal
Misalnya kesalahan mengeja keyword,
contoh: then ditulis ten
2.      Kesalahan Sintaks
Misalnya pada operasi aritmatika kekurangan jumlah paranthesis (kurung).
contoh : A:=X+(B*(C+D)         
3.   Kesalahan Semantik
a. Tipe data yang salah, misal tipe data integer digunakan untuk variabel string.
    Contoh :  Var          Siswa : Integer
                                    Siswa := 'Aka‘ {tipe string}
b. Variabel belum didefinisikan tetapi digunakan dalam operasi.
                Contoh : B := B + 1            {B belum didefinisikan}

Penanganan Kesalahan
  Prosedur penanganan kesalahan terdiri dari :
Mendeteksi kesalahan
Melaporkan kesalahan
Tindak lanjut perbaikan / pemulihan
  Pelaporan kesalahan yang dilakukan oleh sebuah kompilator yang menemukan kesalahan meliputi :
Kode kesalahan
Pesan kesalahan dalam bahasa natural
Nama dan atribut identifier
Tipe – tipe yang terkait bila type checking
Contoh : Error Message : 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 reaksi diantaranya adalah :
a.       Reaksi yang tidak dapat diterima (tidak melaporkan error)
1.   Kompilator crash : berhenti atau hang
2.   Looping : kompilator masih berjalan tapi tidak pernah berakhir karena looping tak berhingga (indefinite/onbounded loop)
3.   Menghasilkan program objek yang salah : kompilator melanjutkan proses sampai selesai tapi program objek yang dihasilkan salah. Ini berbahaya bila tidak diketahui pemrogram, karena baru akan muncul saat program dieksekusi.
b.      Reaksi yang benar tapi kurang dapat diterima dan kurang bermanfaat. Kompilator menemukan   kesalahan pertama, melaporkannya, lalu berhenti (halt).            
c.       Reaksi yang dapat diterima
      Reaksi yang sudah dapat dilakukan, yaitu kompilator melaporkan kesalahan / error, dan selanjutnya melakukan:
»  Recovery / pemulihan, lalu melanjutkan menemukan kesalahan / error yang lain bila masih ada.
»  Repair / Perbaikan kesalahan, lalu melanjutkan proses translasi dan menghasilkan program objek yang valid
     Reaksi yang belum dapat dilakukan, yaitu kompilator mengkoreksi kesalahan, lalu menghasilkan program objek sesuai dengan yang diinginkan pemrogram. Disini komputernya sudah memiliki kecerdasan untuk mengetahui maksud pemrogram. Tingkatan respon ini belum dapat diimplementasikan pada kompilator yang ada dewasa ini.

Pemulihan Kesalahan

Tujuannya mengembalikan kondisi parser ke kondisi stabil  ????
Strategi yang dilakukan error recovery sebagai berikut :
           Mekanisme Ad Hoc
           Syntax Directed Recovery
           Secondary Error Recovery
           Context Sensitive Recovery
 
 
JENIS-JENIS DARI DOKUMENTASI/HELP
Tidak pernah suatu penggantian untuk desain tidak baik, tetapi penting.
Sistem sederhana   user memanggil dan menggunakannya, berikan nama.
Hampir sebagian sistem dengan banyak fitur membutuhkan help/bantuan.

Jenis-jenis Bantuan:
Tutorial –
Review/Referensi yang cepat –
Manual Referensi (Penjelasan lengkap) -
Bantuan untuk context-sensitive (spesifikasi tugas) 
 
 
 
 
 
referensi 
http://firnajuwi.blogspot.com/2014/12/penanganan-kesalahan.html
 

0 komentar: