Senin, 22 November 2010

Pemrograman Qbasic 5

        Modul 5
        FUNGSI BANTU BAWAAN

        Fungsi bantu adalah fasilitas yang disediakan untuk membantu
        programmer dalam mengembangkan program. Dengan adanya fungsi
        bantu bawaan programmer tidak perlu mengembangkan program untuk
        melakukan hal yang sama.

        Contoh :
        Pada Qbasic telah tersedia fungsi bantu Sinus yang dapat
        digunakan untuk mendapatkan nilai sinus dari suatu sudut dalam
        radian.

        Dim B As Double
        B = Sin(30 * 3.14/180)

        Akan mengisi nilai sinus sudut 30 derajat ke variabel B

        Tanpa mengunakan fungsi bantu Sinus, programmer dapat
        mengembangkan program sendiri untuk melakukan hal yang sama,
        tetapi hal ini tentu saja menuntut pengetahuan yang lebih
        mendalam.

        Contoh :
        Dengan menggunakan Ekspansi Trigonometris, suatu nilai Sinus
        dapat diturunkan.

        DIM S AS DOUBLE
        DIM Sinus AS DOUBLE
        S = 30 * 3.14 / 180              ' Sudut 30 derajat dalam radian
        F = 1
        Tanda = 1
        Sinus = S
        FOR I = 2 TO 11
            F = F * I                    ' Menghitung nilai faktorial
            IF I MOD 2 = 1 THEN          ' Suku 3, 5, 7, 9, 11
               Tanda = -Tanda            ' Tanda -1, 1, -1, 1, dst
               Sinus = Sinus + (S ^ I / F * Tanda)
            END IF
        NEXT I
        B = Sinus

        Potongan program diatas akan menghasilkan nilai Sinus 30 derajat
        ke variabel B.

        Dengan menggunakan fungsi bantu bawaan yang telah tersedia
        pekerjaan programmer akan lebih terfokus pada program yang akan
        dikembangkan.


        FUNGSI BANTU STRING

        LEFT$ (stringexpression,n)
        Mengembalikan sejumlah karakter string dari suatu data string
        dari sebelah kiri.

        Contoh :
        Print Left$("IndoProg",4)          ' Akan mencetak Indo


        RIGHT$ (stringexpression,n)
        Mengembalikan sejumlah karakter string dari suatu data string
        dari sebelah kanan.

        Contoh :
        Print Right$("IndoProg",4)         ' Akan mencetak Prog


        MID$(stringexpression,start[,length])
        Mengembalikan sejumlah karakter string dari suatu string mulai
        posisi tertentu.

        Contoh :
        Print Mid$("1234567890",3,4)       ' Akan mencetak 3456
        Print Mid$("1234567890",3)         ' Akan mencetak 34567890


        LTRIM$(stringexpression)
        Mengembalikan string dengan menghilangkan spasi sebelah kiri.

        Contoh :
        A$ = "   100"
        B$ = LTRIM$(A$)
        Print A$                           'Akan mencetak    100
        Print B$                           'Akan mencetak 100


        RTRIM$(stringexpression)
        Mengembalikan string dengan menghilangkan spasi sebelah kanan.

        INSTR([start,]stringexpression1,stringexpression2)
        Mencari posisi suatu string pada string lain (0 jika tidak
        ditemukan).

        Contoh :
        Print INSTR("ABCD","B")            'Akan mencetak 2
        Print INSTR(4,"ABCDABCD","A")      'Akan mencetak 5
        Print INSTR("ABCD","a")            'Akan mencetak 0


        LCASE$(stringexpression)
        Mengembalikan suatu string yang telah diubah ke huruf kecil.

        Contoh :
        Print LCase$("IndoProg")           'Akan mencetak indoprog


        UCASE$(stringexpression)
        Mengembalikan string yang telah dibuat huruf besar.

        Contoh :
        Print UCase$("IndoProg")           'Akan mencetak INDOPROG


        SPACE$(n)
        Mengembalikan string yang berisi sejumlah spasi.

        Contoh :
        Print Space$(30), "IndoProg"


        STRING$(m,n) atau STRING$(m,stringexpression)
        Mengembalikan string yang mengandung sejumlah character yang
        berulang.

        Contoh :
        Print String$(10,65)               ' Akan mencetak AAAAAAAAAA
        Print String$(10,"A")              ' Akan mencetak AAAAAAAAAA


        LEN(stringexpression)
        Mengembalikan jumlah huruf suatu data string.

        Contoh :
        Print Len("Indonesia Programmer")  ' Akan mencetak 20


        FUNGSI BANTU KONVERSI

        STR$(numeric-expression)
        Mengembalikan string dari suatu expresi numeric

        Contoh :
        A  = 100
        B$ = Str$(A)                       'B berisi "100"

        VAL(stringexpression)
        Mengembalikan numeric dari suatu expresi string

        Contoh :
        B$ = "100"
        A  = Val(B)                        'A berisi 100
        C  = "IndoProg"
        D  = Val(C)                        'D berisi 0

        ASC(stringexpression)
        Mengembalikan nilai ASCII dari suatu character.

        Contoh :
        Print Asc("A")                     'Akan mencetak 65

        CHR$(n)
        Mengembalikan character ASCII n.

        Contoh :
        Print Chr$(65)                     'Akan mencetak "A"


        FUNGSI BANTU ARITMATIKA

        SIN(numeric-expression)
        COS(numeric-expression)
        TAN(numeric-expression)
        ATN(numeric-expression)
        Mengembalikan nilai trigonometri.
        numeric-expression dinyatakan dalam radian (sudut*3.14/180).

        Cukup jelas


        EXP(numeric-expression)
        Mengembalikan nilai exponential.

        Cukup jelas


        LOG(numeric-expression)
        Mengembalikan nilai logaritma natural.

        Cukup jelas


        SQR(numeric-expression)
        Mengembalikan nilai akar pangkat dua.

        Contoh :
        Print Sqr(9)                       'Akan mencetak 3

        INT(numeric-expression)
        Mengembalikan nilai bulat dari suatu desimal.

        Contoh :
        Print Int(3.5)                     'Akan mencetak 3


        FUNGSI BANTU RANDOM

        RANDOMIZE [integer-expression]
        RANDOMIZE TIMER
        Memberikan bibit kepada nilai random.

        RND
        Mengembalikan nilai pseudo random antara 0 s/d < 1

        Contoh :
        Randomize Timer
        Print Int(RND*100)                 'Akan mencetak suatu bilangan
                                           'random 0 s/d 99


        FUNGSI BANTU WAKTU

        DATE$
        Mengembalikan tanggal system dalam string dengan format mm-dd-
        yyyy.

        TIME$
        Mengembalikan waktu komputer dalam string dengan format hh:mm:ss.

        TIMER
        Mengembalikan jumlah detik sejak pukul 00:00:00
        TIMER dapat digunakan pada perintah RANDOMIZE TIMER.

        Contoh :
        'PROGRAM TEBAK ANGKA
        CLS
        RANDOMIZE TIMER :HASIL = INT(RND*100)+1
        N = 0
        DO
          N = N + 1
          INPUT "MASUKKAN TEBAKAN ANDA (1-100)";TEBAK
          IF TEBAK > HASIL THEN PRINT "TERLALU BESAR"
          IF TEBAK < HASIL THEN PRINT "TERLALU KECIL"
        LOOP UNTIL HASIL=TEBAK
        PRINT "TEBAKAN ANDA SEBANYAK ";N;" KALI"
        END

        Latihan :
        1. Bandingkan hasil Sinus dengan fungsi bantu Sin dan Ekspansi
        Trigonometris.

        2. Buatlah program putar String "Indonesia Programmer" dari kiri
        ke kanan.

        3. Bagaimana kalau putar dari kanan ke kiri.

        4. Cobalah program tebak angka, berapa kali anda mampu
        selesai menebaknya?