Senin, 22 November 2010

Pemrograman Qbasic 3

        Modul 3
        STRUKTUR KENDALI PERULANGAN

        LOOPING

        Salah satu kelebihan komputer daripada manusia adalah ia tidak
        pernah bosan terhadap tugas-tugas rutin. Inilah yang menyebabkan
        komputerisasi selalu diterapkan terhadap tugas-tugas yang rutin.

        1 Looping Counter

        Digunakan untuk proses berulang yang jumlah perulangannya
        ditentukan berdasarkan perhitungan (sistem counter).

        FOR counter = mulai TO selesai [STEP selisih]
            Statement
            ...
        NEXT [counter]

        Contoh :

        Mencetak nilai faktorial 7, dimana 7!=1x2x3x4x5x6x7

        Fak = 1
        For I = 2 To 7 Step 1
            Fak = Fak * I                       ' Fak menjadi Fak * I
        Next I
        Print "Nilai faktorial 7 :", Fak
        END

        Mencetak 10 suku bilangan fibonanci yang pertama, dimana :
        fibo(1) = 1
        fibo(2) = 1
        fibo(n) = fibo(n-1) + fibo(n-2)
        sehingga hasilnya : 1,1,2,3,5,8,13,21,34,55

        For I = 1 To 10 Step 1                  ' Looping 10 kali
            If I = 1 Then                       ' Jika suku ke 1
               fKurangSatu = 1
               Print 1
            ElseIF I = 2 Then                   ' Jika suku ke 2
               fKurangDua = 1
               Print 1
            Else                                ' Untuk suku ke n
               fibo = fKurangSatu+fKurangDua
               Print fibo
               fKurangSatu = fKurangDua
               fKurangDua  = fibo
            End IF
        Next I
        END

        2 Looping Trapping

        Perulangan jenis ini ditentukan berdasarkan kondisi tertentu.

        Pemeriksaan diawal

        DO [{WHILE | UNTIL} ekspresi logika]
           Statement
           ...
        LOOP

        Contoh :

        Mencari KPK dari dua bilangan

        Input "Bilangan pertama :", pertama
        Input "Bilangan kedua :", kedua

        If pertama > kedua Then       'Jika bilangan pertama lebih besar
           Lipat = pertama
           Bagi  = kedua
        Else
           Lipat = kedua
           Bagi  = pertama
        End IF

        N = 1

        Do While ((Lipat*N) Mod Bagi) <> 0      'Kelipatan dinaikan jika
           N = N + 1                            'sisa bagi belum nol
        Loop

        Print "KPK kedua bilangan adalah :", (Lipat*N)
        END

        NB : operator matematika MOD adalah untuk sisa bagi


        Pemeriksaan diakhir

        DO
            [statementblock]
        LOOP [{WHILE | UNTIL} ekspresi logika]

        Contoh :

        Program password, program akan terus menanyakan password sampai
        jawabannya benar.

        password$ = "INDOPROG"
        DO
           Color 7,0
           Print "Password";
           Color 0,0
           Input pass$

        LOOP until pass$ = password$
        Print "Selamat bergabung !"
        END

        Perintah EXIT DO dapat digunakan untuk meninggalkan proses DO -
        LOOP

        Contoh :

        N = 1
        password$ = "INDOPROG"
        DO
           Color 7,0
           If N > 3 Then
              EXIT DO
           End IF
           Print "Password";
           Color 0,0
           Input pass$
           N = N + 1
        LOOP until pass$ = password$
        If N > 3 Then
           Print "Akses ditolak !"
        Else
           Print "Selamat bergabung !"
        End IF
        END

        TUGAS

        1. Buatlah program menentukan bilangan yang dimasukkan merupakan
        bilangan PRIMA atau tidak.

        2. Buatlah program mencetak tabel pertumbuhan simpanan anda di
        bank.

           Jumlah simpanan ?
           Suku bunga bank/tahun ?
           Lama simpanan   ?

           Tabel pertumbuhan

           ------------------------------------------------------------
           Tahun  Awal Tahun   Bunga/tahun   Pajak       Akhir Tahun
           ------------------------------------------------------------
             1
             2
             .
             .
             .
           Awal Tahun 1 = Jumlah simpanan
           Bunga/tahun = Awal Tahun * Suku bunga bank/100
           Pajak dihitung berdasarkan :
           Jika Awal Tahun + Bunga/tahun > 7500000
                Pajak = 20% dari Bunga/tahun
           Jika tidak
                Pajak = 0
           Akhir Tahun = Awal Tahun + Bunga/tahun - Pajak
           Awal Tahun ke n = Akhir Tahun n - 1