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:
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
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
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
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
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
0 Comments