Subscribe

Powered By

Free XML Skins for Blogger

Powered by Blogger

..:: Perbuatan yang baik selalu dihasilkan oleh pikiran yang baik::..

"Kegagalan bukanlah untuk ditangisi,tetapi untuk di insyafi.
Manakala kejayaan bukan untuk dimegahi,tapi untuk disyukuri!"

الأحد، 16 مارس 2008

PENANGANAN ERROR

Sebagai manusia normal tidak akan terlepas dari berbagai
kesilapan, demikian juga seorang programmer dalam pengembangan
program dapat saja berbuat berbagai kesalahan maupun kesilapan.

Berdasarkan jenisnya kesalahan dalam pemrograman terbagi menjadi
tiga yaitu :
1. Syntax Error, adalah kesalahan yang disebabkan oleh kesalahan
tata cara penulisan tanda baca, kesalahan pemakaian operator dan
nilai. Kesalahan jenis ini akan dengan mudah dideteksi oleh
kompiler maupun interpreter.

2. Logical Error, adalah kesalahan yang disebabkan oleh kesalahan
logika maupun model atau metode yang digunakan untuk pemrosesan
data, sehingga menyebabkan informasi yang dihasilkan menjadi
salah. Kesalahan ini tidak dapat dideteksi oleh kompiler maupun
interpreter, kesalahan ini disadari setelah melihat penyimpanan
pada saat proses maupun hasil proses.

Contoh :

N = 1
Do
Print N
N = N + 2
Loop Until N = 10

Program diatas tidak pernah berhenti, karena nilai N tidak pernah
sama dengan 10.

Kesalahan Logika dapat juga terjadi karena kesalahan pengetikan
nama variabel, dan ini merupakan salah satu kelemahan bahasa
pemrograman Basic, jika dibandingan dengan Pascal muapun C
Language dimana variabel harus dideklarasikan terlebih dahulu.

Contoh :

GajiPokok = 1000000
Bonus = 10000
GajiBersih = GajiPokol + Bonus
Print GajiBersih 'Hasilnya 10000, bukan 1010000

3. Runtime Error, adalah kesalahan yang disebabkan oleh tidak
tersedianya sumber daya atau kondisi yang normal bagi program
untuk berjalan dengan baik, misalnya kekurangan memori komputer,
disk full, atau pintu drive tidak terkunci, dll.

Sebagai programmer yang baik, tentu saja harus mampu menghasilkan
program dengan tingkat kesalahan yang minimal, dan usaha untuk
meminimalisasi tingkat kesalahan program disebut proses debug.

Pada QBasic tersedia berbagai fasilitas untuk menangani kesalahan
yang mungkin dilakukan oleh programmer, misalnya :

1. Fasilitas Syntax Checking pada menu Option yang sangat berguna
untuk mendeteksi kesalahan jenis "Syntax Error".

2. Menu Debug, yang memiliki fasilitas yang sangat bermanfaat
untuk melacak Logical Error, tetapi keberhasilannya sangat
tergantung kepada pemahaman programmer akan masalah yang terjadi.
Adapun fasilitas pada menu Debug adalah sebagai berikut :

a. Step atau F8, digunakan untuk menjalankan program baris per
baris, sehingga programmer dapat mengamati alur program secara
baris perbaris sambil mengevaluasi hasil output yang dihasilkan.

b. Procedure Step atau F10, digunakan untuk menjalankan program
baris per baris tanpa masuk ke bagian sub rutin, artinya sub
rutin dianggap sebagai satu baris dari program. Fasilitas ini
digunakan jika programmer telah yakin pada kebenaran sub rutin
yang dibuat, sehingga proses pencarian lebih terfokus pada bagian
tertentu.

c. Trace On, digunakan untuk memberikan sorotan pada baris yang
sedang dijalankan.

d. Toggle BreakPoint, digunakan untuk menandai baris dimana
proses eksekusi Pause dan masuk ke modus Step, fasilitas ini
dapat digunakan programmer untuk memperkecil jangkauan pencarian
kesalahan dengan modus Step karena tidak perlu melakukan Step
dari awal, tetapi Step dilakukan mulai pada baris dimana sumber
kesalahan dicurigai.

e. Clear Breakpoint, digunakan untuk menghapus semua Breakpoint.

f. On Error Goto label, digunakan untuk error handling, dimana
jika terjadi kesalahan, maka proses program dialihkan ke label
tertentu, dan jenis kesalahan dapat ditelusuri dari fungsi ERR
yang akan mengembalikan nomor kesalahan, dan proses dapat
diulangi dengan RESUME atau RESUME NEXT , dan anda dapat juga
menggunakan On Error Resume Next untuk mengabaikan kesalahan.
Fasilitas ini cocok untuk mengatasi Run Time Error,

Contoh :

ON ERROR GOTO Salah
OPEN "A:Sumber.Dat" FOR INPUT AS #1
DO WHILE NOT EOF(1)
LINE INPUT #1, Baris$
PRINT Baris$
LOOP
END
Salah:
SELECT CASE ERR
CASE 53

PRINT "File Sumber.Dat tidak ada"
END
CASE 71

PRINT "Drive tidak siap, [U]lang, [B]atal";
INPUT tanya$
IF tanya$ = "U" OR tanya$ = "u" THEN
RESUME
ELSE
END
END IF
END SELECT
END

Catatan : Nomor Error dapat dilihat pada bagian Help QBasic
"Runtime Error Code"


ليست هناك تعليقات: