Minggu, 15 Mei 2011

Kondisi & Perulangan pada QBasic

Kondisi
If … Then
            Pengecekan ini hanya mengecek jika sebuah kondisi benar saja. Dengan kata lain jika kondisi tidak terpenuhi atau salah, maka tidak ada pemprosesan atau instruksi selanjutnya. Melihat flowchart di atas, maka jika sebuah bilangan yang diinputkan kemudian di MOD (sisa bagi) dengan 2 ternyata TIDAK bernilai 0, maka tidak akan tampil tulisan pada layer “Bilangan Ganjil”. Jika diimplementaikan ke dalam bahasa pemprograman berikut:

QBASIC
            Format:
          IF<kondisi>THEN
             <Intruksi>
          END IF      à Terdapat spasi antara END dan IF

          Contoh:
            INPUT  ``Masukan Bilangan : ``, BIL%
            IF BIL% MOD 2 = 0 THEN
                        PRINT ``Bilangan Genap’’
            END IF

If … Then … Else
            Pengecekan berikut adalah pengecekan kondisi jika ada sebuah kondisi yang tidak terpenuhi. Penggambaran contoh di bawah ini adalah penggambaran lengkap alur atau flowchart di atas.

QBASIC
            Format:
            IF<kondisi>THEN
             <Instruksi>
             <Instruksi>
          ELSE
             <Instruksi>
             <Instruksi>
          END IF      àTerdapat spasi antara END dan IF

          Contoh:
            INPUT ``Masukan Bilangan : ``, Bil%
            IF Bil% MOD 2  = 0 THEN
                        Print ``Bilangan Genap’’
            ELSE
                        Print ``Bilangan Ganjil’’
            END IF

IF (IF BERTINGKAT)
            IF bertingkat adalah pengecekan jika salah satu kondisi terpenuhi atau tidak namun di cek kembali dengan kondisi yang berbeda. Secara umum ada beberapa IF di dalam IF (ada pengecekan yang lain di didalam satu pengecekan) atau bias dikatakan sebagai IF jamak atau pengecekan jamak.

QBASIC
                        Format:
            IF<kondisi>THEN
              <proses>
              <proses>
          ELSEIF<kondisi>THENà antara ELSE dan IFTIDAK ADA SPASI
                   <proses>
                   <proses>
          END IF   à END IF hanya sekali karena penulisan ELSE IF (1 baris)

            Atau
           
            IF<kondisi> THEN
             <proses>
             <proses>
          ELSE
          IF<kondisi> THEN
                   <proses>
                   <proses>
                 END IF
          END IF à END IF dua kali karena penulisan IF setelah ELSE di baris lain

                        Contoh:
                        Dim NA as Integer
                        Dim NH as String * 2

                        INPUT ``Masukan Nilai Akhir : ``,NA
                        IF NA<50 THEN
                            NH=’’E’’
                        ELSEIF NA<70 THEN
                                         NH=’’D’’
                                    ELSEIF NA < 80 THEN
                                                NH=’’B’’
                                          ELSE
                                                NH=’’A’’
                        END IF

Case
          Penggunaan CASE adalah penyederhanaan dari IF bertingkat, namun perbedaanya terletak pada kondisi. Pada CASE jika kondisi telah tersaring pada case awal. Sebagian besar pengunaan case untuk satu variabel dan jarang dari bahasa pemprograman yang di bahas dapat menggunakan lebih dari satu variabel yang dapat menjadi kondisi.
QBASIC
            Format:
            SELECT CAS<variabel>
                   CASE<kondisi/ range>
                             <perintah / statement>
                   CASE <kondisi / range>
                             <perinah / statement>
                   CASE ELSE
                             <perintah / statement>
          END SELECT

          Contoh:
            Dim NA as Integer
            Dim NH as String * 2
           
            INPUT ``Masukan Nilai Akhir : ``,NA
            SELECT CASE NA
                        CASE IS<50
                                    Grade=’’E’’
                        CASE 50 TO 59
                                    Grade=’’D’’
                        CASE 60 TO 79
                                    Grade=’’C’’
                        CASE 80 TO 89
                                    Grade=’’B’’
                        CASE ELSE
                                    Grade=’’A’’
            END SELECT
           
            PRINT ``Gradenya : ``,grade


Perulangan
For

QBASIC
          Format:
          FOR<nilai awal>TO<nilai akhir>STEP<increment>
                   <statemen / instruksi>
          NEXT

          Contoh perulangan dengan penambahan 1 :
          For x=1 TO 10
            PRINT X
NEXT

Hasil :
1 2 3 4 5 6 7 8 9 10

Contoh perulangan dengan penambahan 2 / increment bebas :
FOR x=1 TO 10 STEP 2
            ? x
NEXT

Hasil:
1 3 5 7 9

While

QBASIC
          Format:
          WHILE<kondisi>
                   <statement / instruksi>
          WEND

          Contoh:
          I=1
            WHILE  I<= 10
                        PRINT I
                        I=I+1
            WEND

Loop / Repeat

          QBASIC
                   Format:
                   DO {WHILE / UNTIL} <kondisi>
                             <statement/instruksi>
                   LOOP
                   à Pengecekan kondisi dilakukan terlebih dahulu

Atau
DO
                    <statement./instruksi>
          LOOP {WHILE/UNTIL}<kondisi>
à Pengecekan kondisi dilakukan terakhir akibatnya statement          
          dilaksanakan  sekali

          Contoh:
            I=1
            DO WHILE I<=10
                        PRINT I
                        I=I+1
            LOOP

          Atau
         
            I=1
            DO UNTIL I=11 à Saat i=11 tidak akan tercetak
                   PRINT I
                   I=I+1
            LOOP

Atau

I=1
DO
            PRINT 1
            I=I+1
            LOOP WHILE I<=10

Atau

I=1
DO
            PRINT I
            I=I+1
LOOP UNTIL I=11

Tidak ada komentar:

Posting Komentar