Kamis, 05 September 2019

Error Hendling

Pernahkah anda mendengar istilah Error Handling ?
Error Handling adalah sistem penanganan kesalahan (error) dalam berbagai macam keadaan pada sebuah program. Dengan adanya error handling ini maka program akan semakin user friendly bagi para penggunanya (user), baik user tingkat pemula hingga expert.


Macam-macam Error Handling :
  1. Perceptual error : Adanya kesalahan yang disebabkan oleh ketidak jelasan keterangan dari petunjuk pengguna yang menyebabkan kesalah tanggapan dari pihak pengguna (user).
  2. Cognitive error : Kesalahan yang disebabkan oleh kemampuan penyelesaian oleh user, terlalu banyak konteks dan informasi status yang ditampilkan.
  3. Motor error : Adanya kesalahan yang disebabkan oleh ketidak sinkronan antara mata, tangan, dan kemampuan yang dimiliki oleh user.

Jenis-jenis kesalahan dari program :
  1. Runtime error adalah kesalahan yang terjadi ketika sebuah program dijalankan.
  2. Syntax error merupakan kesalahan dari penulisan syntax pada program sehingga syntax tersebut tidak dapat dieksuke oleh program, dan akan membuat program error.
  3. Logical error merupakan kesalahan yang disebabkan oeh programmer karena kesalahan penusilan atau rumus yang diterapkan.

Jenis-jenis kesalahan dari user :
  1. Mistake adalah kesalahan yang terjadi ketika user berpikir bahwa sudah melakukan hal yang benar, namun sebenarnya yang terjadi user melakukan ksealahan.
  2. Slip adalah terjadi kesalahan diluar keinginan user seperti kesalahan pengetikan atau salah klik.

Penanganan Kesalahan :
  • Interaksi melalui menu lebih dapat menghindarkan user dari kesalahan daripada menggunakan perintah baris.
  • Compaq pernah mempertimbangkan untuk mengubah “Press Any Key” menjadi “Press Enter Key” dikarenakan banyak telpon yang menanyakan letak tombol “Any” di keyboard.
  • Cara mengurangi kesalahan user, misalnya seperti seleksi user yang tepat, pelatihan yang memadai, desain peralatan, prosedur dan lingkungan.
  • Menyediakan kemudahan recovery dari kesalahan.

Cara membuat Error Handling yang baik :
  1. Gunakan bahasa yang mudah dipahami oleh user.
  2. Hindari kata-kata seperti bad,dummy, dll.
  3. Hindari kalimat perintah.
  4. FAQ (Frequently Asked Questions).
  5. Optimalisasikan dan pemanfaatan undo redo function dan cancel.
  6. Menyiapkan berbagai macam model respon.
  7. Validitas masukan atau inteligent error checking & recovery.
  8. Proteksi pengguna.
  9. Penampilan pesan.
  10. Optimalkan fungsi HELP(Quick Access Help).
  11. Editing for error fields.
  12. Desain yang efektif dan efisien.
  13. Return cursor & Highlight error.
  14. No Interrupting work flow.
  15. Confirmation commands.


Exception Handling merupakan mekanisme yang paling diperlukan dalam menangani error yang terjadi pada saat runtime (program berjalan) atau yang lebih dikenal dengan sebutan runtime error.
Secara umum, adanya kesalahan / error yang terjadi pada program pada saat runtime dapat menyebabkan program berhenti atau hang. Untuk itulah diperlukan mekanisme untuk memastikan bahwa program tetap dapat berjalan meskipun terdapat kesalahan yang terjadi.
Secara umum, Exception Handling dapat dilakukan menggunakan keyword try-catch, dimana pada artikel ini akan dijelaskan bagaimana melakukannya dalam Bahasa pemrograman Java.
Contoh:
Contoh code ini dapat menyebabkan terjadinya exception pada saat runtime, yakni indeks yang diakses melebihi dari size yang telah didefinisikan sebelumnya. Exception seperti ini dikenal dengan sebutan Array Index Out Of Bounds Exception.,
Untuk menangani hal tersebut, Exception Handling dapat dilakukan dengan cara:
Beberapa exception yang sering terjadi pada Bahasa pemrograman Java di antaranya adalah:
  1. Arithmetic Exception
    Untuk perhitungan aritmatika, misalkan sebuah angka dibagi 0.
  1. Null Pointer Exception
    Bila object yang ingin dia kses masih NULL, maka tidak bisa akses method dari object tersebut.
  1. Number Format Exception
    Bila ingin melakukan casting tipe data string ke int maka akan terjadi kesalahan ini.
  1. IO Exception
    Bila yang diminta adalah angka, tapi diinputkan berupa String

Tidak ada komentar:

Posting Komentar