BAHASA PEMROGRAMAN BASIC dengan Quick BASIC
        Oleh : Hendra, ST.

        MODUL 12
        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"

    Source: geocities.com/indoprog/tutorial/vb

               ( geocities.com/indoprog/tutorial)                   ( geocities.com/indoprog)