Kamis, 14 Mei 2015

Resume Kendali Error Visual Basic

        A.       Pengertian Error  

 Pengertian Error secara umum adalah "ksalahan". akan tetapi pengartian Error juga dapat di kelompokkan menurut penggunaan kata-katanya, contohnya Error dalam pengertian ilmu komputer yaitu tidak sanggup menampilkan data (tidak dapat melanjutkan ke system berikutnya). contoh lain seperi dalam gaya bahasa sehari-hari apa bila kita ingin menunjkkan sesuatu kepada orang lain, Error berarti: "tidak stabil, gila,kosong, dan lain-lain tergantung apa yang menjadi pokok permasalahannya".


B. Penjelasan Mengenai On Error Resume Next
Penggunaan On Error Resume Next bertujuan agar sebuah procedure tidak menghandle error pada saat terjadi error dalam tubuh procedure tersebut, dengan kata lain pada saat sebuah line/baris code terjadi error maka ia akan melewati line code yang error tersebut, perhatikan kode di bawah:
Option Explicit
 
Private Sub
Command1_Click()
1:    Dim i As Integer 'deklarasi variable i dengan data type integer
2:    i = "test" 'error! karena integer tidak dapat di isi dengan string
      'program berhenti di sini, fatal error, dan keluar.
3:    MsgBox i 'baris ini tidak pernah dijalankan (eksekusi)
End Sub
Sekarang, bandingkan dengan kode di bawah yang sudah dilengkapi dengan On

C. Error Resume Next
Option Explicit
 
Private Sub
Command1_Click()
1:    On Error Resume Next 'lewati baris error, jika ada
2:    Dim i As Integer 'deklarasi variable i dengan data type integer
3:    i = "test" 'error! karena integer tidak dapat di isi dengan string
      'program dilanjutkan dengan melewati baris yang ke-3:
4:    MsgBox i 'baris ini akan dijalankan
End Sub

D. Penjelasan Mengenai On Error Goto Line
On Error Goto Line kegunaannya untuk menghandle error/melewati error dengan cara melewatinya dan menuju pada baris yang dituju.
Option Explicit
 
Private Sub
Command1_Click()
1:    On Error GoTo   ErrHandler 'apabila error maka loncat ke ErrHandler:
2:    Dim i As Integer 'deklarasi variable i dengan data type integer
3:    i = "test" 'error! karena integer tidak dapat di isi dengan string
4:    MsgBox i 'akan dilewati, dan loncat ke ErrHandler:
5:    Exit Sub
ErrHandler:
6:    MsgBox Err.Description  'line ini akan dijalankan
End Sub

E.Penjelasaan Mengenai On Error GoTo 0
On error goto 0 kegunaannya untuk menggagalkan handle error.
Option Explicit
 
Private Sub  
Command1_Click()
1:    On Error GoTo ErrHandler 'lewati baris error, jika ada
2:    Dim i As Integer 'deklarasi variable i dengan data type integer
3:    On Error GoTo 0 'menggagalkan ErrHandler di atas
4:    i = "test" 'error! karena integer tidak dapat di isi dengan string
5:    MsgBox i 'akan dijalankan
6:    Exit Sub
ErrHandler:
7:    MsgBox Err.Description  'baris ini tidak akan dijalankan
End Sub

F. Try Catch
Try Catch ini adalah salah satu fitur dari Java untuk menangkap eksepsi atau kesalahan. Ya mungkin kita sering melakukan kesalahan dalam membuat program. Nah, dengan menggunakan Try Catch ini kita bisa menangkap kesalahan itu.
Eksespsi bisa berupa kesalahan penulisan kode, kesalahan saat menjalankan method dan sebagainya.
Bentuk umum Try Catch
try {
   <blok_programs>;
}
catch(<parameter>) {
   <blok_yang_dijalankan_jika_terjadi_eksepsi>;
}
finally {
   <blok_yang_dijalankan_terakhir>;
}
Di blok program di dalam Try itu adalah program yang akan dijalankan dan akan ditangkap eksepsinya jika terjadi kesalahan. Dan yang di blok catch adalah blok yang dijalankan jka terjadi eksepsi, jadi pesan kesalahannya di dalam catch ini. Biasanya berupa statement. Finally sebenarnya hanya pelengkap saja dan jarang digunakan. Ini bisa dibayangkan sebagai footer, yaitu akan keluar di akhir atau dijalankan di akhir. Mungkin akan lebih jelas dengan contoh di bawah ini:
class Coba {
   public static void main(String[] args) {
      System.out.println("starram\n");
      try{
         System.out.println(10/0);
      }
      catch(Throwable b) {
         System.err.println("terjadlahan >> "+b.getMessage());
      }
      finally {
         System.out.println("Pembagiann");
      }
      System.out.println("endrogram");
   }
}

Outputnya
start program
terjadi kesalahan >> / by zero
pembagian nol
end of program
NB:
  • Program dibaca dari atas, mencetak start program terlebih dulu setelah itu baru masuk try
  • Di blok program try terjadi kesalahan. Kesalahannya, bilangan berapapun jika dibagi nol itu tidak bisa atau tidak terdefinisi.
  • Blok catch mencetak kesalahannya. Catch mempunyai parameter b yang berkelas Throwable. Throwable adalah kelas yang ada di package java.lang yang menangani eksepsi dan merupakan turunan dari kelas objek (kelas tertinggi di JAVA). Dan perlu diketahui blok ini akan dijalankan jika terjadi eksepsi saja.
  • System.err.println untuk mencetak kesalahan dan getMessage() adalah method untuk menampilkan kesalahan yang terjadi.
  • Blok finally itu bisa dikatakan seperti footer, jadi akan dijalankan di bagian terakhir saja dan akan tetap dijalankan walaupun tidak terjadi kesalahan atau eksepsi sekalipun
  • Setelah selesai akan keluar dari Try Catch dan mencetak end of program.

G. Human ERor
Dari  berbagai  hal  yang  menyangkut  permasalahan  manusia  dalam  berinteraksi dengan  produk,  mesin  ataupun  fasilitas  kerja  lain  yang  dioperasikannya,  manusia seringkali dipandang  sebagai  sumber penyebab  segala kesalahan, ketidakberesan maupun kecelakaan kerja (human error) [Wignjosoebroto, 2000].  Human Error dapat didefinisikan suatu  keputusan.tindakan  yang  mengurangi  atau  potensial  untuk  mengurangi  efektifitas keamanan  atau  performansi  suatu  sistem  (Mc  Cormick,  1993).  Untuk  mengurangi terjadinya  human  error  ada  beberapa  metode  yang  digunakan  untuk  menganalisa terjadinya human error    tersebut, antara  lain metode SHERPA  (Systematic Human Error Reduction  and  Prediction)  disebut  juga  PHEA  (Prediction  Human  Error  Analysis). SHERPA merupakan salah satu metode untuk menganalisa terjadinya human error dengan menggunakan  input  hirarki  task  level  dasar.  Task  yang  akan  dianalisa  di-breakdown terlebih dahulu, kemudian dari setiap  task  level dasar akan diprediksi human error   yang terjadi. Sebagai  salah  satu metode  identifikasi human error, SHERPA memiliki beberapa keunggulan    dimana  SHERPA  hampir  sama  dengan    metode  SRK  (Skill,  Risk,  and Knowledge-based behaviour)   yang  tidak hanya dapat mengidentifikasi malfungsi model eksternal  tetapi  juga malfungsi  internal manusia  (misal kegagalan mendeteksi). SHERPA lebih  cocok  diterapkan  untuk  error  yang  berhubungan  dengan  keahlian  dan  kebiasaan manusia, lebih detail dan konsisiten dalam identifikasi error (Kirwan, 1994).

DAFTAR PUSTAKA

http://khoiriyyah.blogspot.com/2012/05/on-error-resume-next-on-error-goto-line.html