Senin, 22 November 2010

Pemrograman Qbasic 4

        MODUL 4
        VARIABEL ARRAY

        Array adalah sekumpulan data yang menggunakan nama variabel yang
        sama. Tiap-tiap nilai dari array disebut sebagai elemen dan memiliki
        index. Setiap elemen array adalah sebuah variabel juga.


        Menciptakan Variabel Array

        Untuk menciptakan variabel array dapat menggunakan perintah :

        DIM variable[(subscripts)] [AS type]

        Contoh :

        DIM A(20) As Integer

        Akan menciptakan variabel array yang bernama A yang memiliki 20
        elemen (mulai dari index 0 s/d 19), yang masing-masing dapat
        menampung data integer, dan memiliki nilai awal 0 (nol).


        Menggunakan Variabel Array

        Penggunakan Variabel Array sama saja dengan variabel biasa, cuma
        kita perlu menyebutkan nomor index elemen yang diinginkan.

        Contoh :

        A(0) = 100
        A(1) = 200
        A(2) = 300

        Akan mengisi nilai 100 ke elemen pertama, 200 ke elemen kedua,
        dan 300 ke elemen ketiga.

        Catatan : Elemen pertama dari array dimulai dengan nomor index 0

        Contoh lain :

        For I = 0 To 19 Step 1
            Input "Masukkan Nilai :",A(I)
        Next I

        Akan menanyakan kepada pemakai untuk mengisi elemen pertama s/d
        elemen keduapuluh.

        Contoh lain :

        Total = 0
        For I = 0 To 19 Step 1
            Total = Total + A(I)     'A(0), A(1), ..., A(19)
        Next I
        Print "Total :",Total

        Akan menjumlahkan nilai elemen pertama s/d elemen keduapuluh ke
        variabel total.

        Dalam Quick Basic, kita mengenal dua jenis variabel array, yakni
        dynamic array dan static array. Static array dapat kita bentuk
        tanpa perintah khusus, tetapi terbatas sampai nomor index ke 10
        saja tanpa dipengaruhi jumlah dimensi.

        Contoh :

        For I = 0 To 10 Step 1
            Input "Masukkan Nilai :",B(I)
        Next I
        Total = 0
        For I = 0 To 10 Step 1
            Total = Total + B(I)
        Next I
        Print "Total :",Total

        Program diatas dapat dijalankan tanpa kesalahan walaupun variabel
        array B tidak dideklarasikan sebagai variabel array. Hal ini
        karena kita menggunakan Static array yang otomatis disediakan
        oleh Quick Basic, tetapi hanya terbatas sampai nomor index ke 10
        saja.

        Pada defaultnya index awal dari variabel array adalah dimulai
        dari 0, tetapi hal ini bisa diubah dengan perintah OPTION BASE 1.

        Contoh :

        OPTION BASE 1
        DIM A(30)

        For I = 1 To 30
            Input "Masukkan Nilai :",A(I)
        Next I

        Index awal dari variabel array dapat juga ditentukan pada saat
        deklarasi.

        Contoh :

        DIM C(5 To 15)

        For I = 5 To 15 Step 1
            Input "Masukkan Nilai :",A(I)
        Next I

        Akan menghasilkan variabel array C, dengan elemen pertama
        memiliki nomor index 5, dan elemen terakhir memiliki nomor index
        15.

        Anda dapat juga menggunakan fungsi LBound dan UBound untuk
        mendapatkan index awal dan index akhir dari suatu array.

        Contoh :

        DIM C(5 To 15)

        For I = LBound(C) To UBound(C) Step 1
            Input "Masukkan Nilai :",A(I)
        Next I


        Static Array dan Dynamic Array

        Pada QBasic, semua array yang dideklarasikan dengan numerik
        adalah Static Array, dan array yang dideklarasikan dengan
        variabel adalah Dynamic Array.

        Contoh :

        DIM D(30)

        D adalah variabel Static Array

        E = 30
        DIM F(E)

        F adalah variabel Dynamic Array, karena jumlah elemennya
        ditentukan dengan menggunakan variabel E, dalam hal ini 30.

        Perbedaan Static Array dan Dynamic Array :
        1. Memory Static Array dialokasikan oleh QBasic pada awal
        eksekusi program dimulai, sedangkan Memory Dynamic Array
        dialokasikan secara dinamis pada saat eksekusi program
        berlangsung.
        2. Static Array tidak dapat dideklarasi ulang, sedangkan Dynamic
        Array dapat dideklarasikan ulang dengan perintah REDIM

        Contoh :

        DIM A(10)
        REDIM A(20)

        Akan terjadi kesalahan, karena variabel A adalah Static Array.

        B = 10
        DIM C(B)
        REDIM C(30)

        Tidak terjadi kesalahan.

        Catatan : REDIM akan menghapus isi array, dan mendimensi ulang
        jumlah elemennya.


        3. Static Array tidak dapat dihapus dari memory, sedangkan
        Dynamic Array dapat dihapus dari memory dengan perintah ERASE.


        OPTION BASE 1
        DIM A(3)
        A(1) = 1
        A(2) = 2
        A(3) = 3

        ERASE A

        Print A(1)    ' akan tercetak 0
        Print A(2)    ' akan tercetak 0
        Print A(3)    ' akan tercetak 0

        Karena perintah Erase hanya mereset isi variabel Static Array ke
        0 (jenis numeric) atau "" (Null) (jenis string), sedangkan
        Variabel dan dimensinya tetap dipertahankan.

        Contoh Lain :

        OPTION BASE 1
        B = 3
        DIM C(B)
        C(1) = 1
        C(2) = 2
        C(3) = 3

        ERASE C

        Print C(1)     ' terjadi kesalahan subscript out of range

        Karena variabel array C telah dihapus dari memory.

        Variabel Array Multi Dimensi

        Anda dapat membentuk variabel array 2 atau 3 dimensi dengan
        perintah dim.

        Contoh :

        DIM A(10,10)

        Akan membentuk array 11 baris (0 s/d 10), 11 kolom (0 s/d 10)
        (121 elemen)

        Cara pemakaian array Multi Dimensi sama saja dengan array 1
        dimensi yaitu perlu disebutkan nomor indexnya masing-masing.

        Contoh :

        A(2,2) = 5

        Akan mengisi nilai 5 ke elemen baris 3 kolom 3 dari Array dua
        dimensi A. (ingat index dimulai dari 0, kecuali dengan pernyataan
        OPTION BASE 1)

        Bahan Latihan

        1. Susun sebuah program  dengan  ketentuan berikut :
           - program menanyakan jumlah data
           - program menerima data sesuai dengan jumlah data satu persatu
           - program mengurut data tersebut secara ascending
           - program menghitung :
             1. data terbesar
             2. data terkecil
             3. rata-rata
             4. median

        2. Buatlah program faktur sederhana dengan ketentuan :
           - program menanyakan Tanggal dan Penjual
           - program menanyakan
             1. Jumlah
             2. Satuan
             3. Nama barang
             secara berulang sampai jumlah yang dimasukkan 0 (nol)
           - hasil menghasilkan tampilan faktur berikut :

                               FAKTUR PENJUALAN

           Tanggal : 01-Jan-1995
           Penjual : Budianto
           --------------------------------------------------------
           No.  Jlh  Satuan  Nama Barang      Harga @      Jumlah
           ========================================================
            1.   30  Kotak   Diskette 3M    15,000.00   450,000.00
            2.   10  Buah    Pita printer    7,000.00    70,000.00
           ========================================================
                                               Total :  520,000.00
           --------------------------------------------------------