Senin, 06 Juni 2011

PENGULANGAN DAN PEMBACAAN DATA


Referensi :
  1. Seri Diktat Kuliah : Pengantar Algoritma dan Pemrograman : Teknik diagram alur dan bahasa Basic Dasar, Penerbit Gunadarma
  2. Yay Singleman, Business Programming Logic 2nd –ed, Prentice Hall Engelwood Cliffs, NewJersey, 1982.
  3. Gottfried, Programming in BASIC, MC Graw Hil, Ne York, 1981.
  4. Insap Santosa, Program-program Terapan Menggunakan Quick Basic, Andi Yogyakarta.
  5. Jogiyanto, Teori dan Aplikasi dan Program Komputer Bahasa Basic, Andi Yogyakarta.
  6. Rijanto Tosin, Quick Basic, Dinastindo.







PENGULANGAN DAN PEMBACAAN DATA



1.      PENGULANGAN TUNGGAL
Untuk menghindari penulisan instruksi secara berulangan (looping), QuickBASIC menyediakan statement FOR-NEXT. Dimana banyaknya iterasi pengulangan dapat ditentukan. Perhatikan contoh program di bawah ini :

CLS
PRINT  “KOMPUTER”
PRINT  “KOMPUTER”
PRINT  “KOMPUTER”
PRINT  “KOMPUTER”
PRINT  “KOMPUTER”
END

Penulisan program di atas tidak efisien karena terjadi pengulangan statement, dalam hal ini statement PRINT diulang sebanyak 5 kali. Di bawah ini program yang identik dengan program di atas.

CLS
FOR I = 1 TO 5
PRINT  “KOMPUTER”
NEXT I
END

OUTPUT :
KOMPUTER
KOMPUTER
KOMPUTER
KOMPUTER
KOMPUTER


·               Statement yang akan diproses berulang diletakkan di antara FOR dan NEXT
·               FOR I = 1 TO 5 berarti pengulangan yang harus dilakukan adalah sebanyak 5 kali. Variabel I digunakan sebagai indikator pengulangan. Proses pengulangan akan berhenti jika variable I telah mencapai 5.

Contoh :
CLS
BARIS = 5
FOR KOLOM = 10 TO 15
LOCATE BARIS, KOLOM :  PRINT  “KOMPUTER”
BARIS = BARIS + 1
NEXT KOLOM
END

OUTPUT :
KOMPUTER
 KOMPUTER
  KOMPUTER
   KOMPUTER
     KOMPUTER

Jumlah statement yang dapat diletakkan di antara statement FOR-NEXT tidak terbatas hanya satu baris statement saja. Penggunaan kata STEP 2 pada statement FOR K = 1 TO 20 berarti variabel K akan bertambah sebanyak 2. Proses pengulangan berakhir jika nilai variabel K lebih besar dari 20.

Contoh :
CLS
PRINT  “ LANGKAH KE     NILAI VARIABEL K”
PRINT  “ -------------------------------------------------------“
FORMAT$ = “           ##                                ##                   
COUNTER = 1
FOR K = 1 TO 20 STEP 2
                        PRINT USING FORMAT$; COUNTER; K
                        COUNTER = COUNTER + 1
NEXT K
END

OUTPUT :
LANGKAH KE                     NILAI VARIABEL K
1                                                                                                                                                  1
2                                                                                                                                                  3
3                                                                                                                                                  5
4                                                                                                                                                  7
5                                                                                                                                                  9
6                                                                                                                                                  11
7                                                                                                                                                  13
8                                                                                                                                                  15
9                                                                                                                                                  17
10                                                                                                                                              19



Contoh :
CLS
PRINT  “ LANGKAH KE     NILAI VARIABEL K”
PRINT  “ -------------------------------------------------------“
FORMAT$ = “           ##                                ##                   
COUNTER = 1
FOR K = 20  TO 1 STEP -2
                        PRINT USING FORMAT$; COUNTER; K
                        COUNTER = COUNTER + 1
NEXT K
END

OUTPUT :
LANGKAH KE                     NILAI VARIABEL K
1                                                                                                                                                  20
2                                                                                                                                                  18
3                                                                                                                                                  16
4                                                                                                                                                  14
5                                                                                                                                                  12
6                                                                                                                                                  10
7                                                                                                                                                    8
8                                                                                                                                                    6
9                                                                                                                                                    4
10                                                                                                                                                2

·         Penggunaan STEP -2 pada statement FOR K = 20  TO 1 menyebabkan nilai variabel K berkurang sebanyak 2, dimana nilai awalnya adalah 20.
·         Proses pengulangan akan berakhir jika variabel K lebih kecil dari 1.


Contoh :
CLS
DATA 10
DATA  “DATA PERTAMA” , “DATA KE DUA”, “DATA KE TIGA”
DATA  “DATA KE EMPAT” , “DATA KE LIMA”, “DATA KE ENAM”
DATA  “DATA KE TUJUH” , “DATA KE DELAPAN”
DATA  “DATA KE SEMBILAN” , “DATA KE SEPULUH”
‘ ……….  BACA DATA ……….
READ JUMDATA
FOR I = 1 TO JUMDATA
            READ TEKS$
            PRINT TEKS$
NEXT I
PRINT  ………. DATA SELESAI DI BACA ……….”
END

OUTPUT :
DATA PERTAMA
DATA KE DUA
DATA KE TIGA
DATA KE EMPAT
DATA KE LIMA
DATA KE ENAM
DATA KE TUJUH
DATA KE DELAPAN
DATA KE SEMBILAN
DATA KE SEPULUH
………. DATA SELESAI DI BACA ……….


·         Untuk menentukan banyaknya pengulangan dapat digunakan variabel.
·         Pada contoh di atas terlihat pada statement FOR I = 1 TO JUMDATA, nilai  JUMDATA diletakkan statement DATA 10 dan diakses melalui statement READ JUMDATA.
·         Pengulangan akan berakhir bila nilai variabel I lebih besar dari nilai variabel JUMDATA.

Contoh :
CLS
COUNTER = 1
FOR I = 1 TO 20
            IF COUNTER = 7 THEN EXIT FOR
            PRINT  “PENGULANGAN KE “; I
            COUNTER = COUNTER + 1
NEXT I
PRINT   ………. PROSES PENGULANGAN SELESAI ……….”
END

OUTPUT :
PENGULANGAN KE  1
PENGULANGAN KE  2
PENGULANGAN KE  3
PENGULANGAN KE  4
PENGULANGAN KE  5
PENGULANGAN KE  6
………. PROSES PENGULANGAN SELESAI ……….

·         Pengulangan dapat dihentikan dengan EXIT FOR
·         Pada baris statement IF COUNTER = 7 THEN EXIT FOR menyebabkan pengulangan dihentikan jjika counter mencapai 7.
·         Statement EXIT FOR menyebabkan pengulangan dihentikan, dimana proses selanjutnya yang akan dikerjakan adalah statement yang terletak setelah statement NEXT.


2.      PENGULANGAN JAMAK

Pengulangan jamak dikenal sebagai Nested Looping yang merupakan pengulangan yang terjadi di dalam suatu pengulangan. Perhatikan bentuk bagan di bawah ini :

                                    FOR I =  ………….
                                                            Statement 1
                                                            Statement 2
                                                            FOR J = ……….
                                                                                    Statement 3
                                                                                    Statement 4
                                                                                NEXT J
                                    NEXT I

pada bagan di atas terlihat bahwa di dalam statement FOR I ……NEXT I terdapat pengulangan lain yaitu statement FOR J …….. NEXT J

Contoh aplikasi dengan memanfaatkan pengulangan jamak (nested looping) :
CLS
PRINT    VARIABEL I                   VARIABEL J    
PRINT  “ =============================”
BARIS = 3
FOR I = 1 TO 3
            LOCATE BARIS,6 : PRINT I
            FOR J = 1 TO 5
                        LOCATE BARIS, 25 : PRINT J
                        BARIS = BARIS + 1
            NEXT J
            LOCATE BARIS, 1
            PRINT “ -------------------------------------------------“
            BARIS = BARIS + 1
NEXT I
END
OUTPUT :
  VARIABEL I                       VARIABEL J
 ========================================
                 1                                         1
                                                            2
                                                            3
                                                            4
                                                            5
 --------------------------------------------------
                 2                                         1
                                                            2
                                                            3
                                                            4
                                                            5
       --------------------------------------------------
                 3                                         1
                                                            2
                                                            3
                                                            4
                                                            5
 --------------------------------------------------

3.      PERINTAH WHILE …WEND

Statement WHILE ….. WEND merupakan alternatif lain untuk melakukan pengulangan proses.


                                    WHILE kondisi1
                                                            Statement1
                                                            ………….                   Blok -1
                                                            ………….
                                    WEND


·                     Jika kondisi BENAR, maka proses selanjutnya yang akan dikerjakan adalah kelompok statement yang terletak di dalam blok-1.
·                     Setelah itu, proses akan kembali melakukan pengecekan kondisi.
·                     Proses pengulangan instruksi akan berakhir jika kondisi bernilai SALAH.


Contoh :
CLS
HITUNG = 0
WHILE HITUNG < 7
            PRINT HITUNG
            HITUNG = HITUNG + 1
WEND
PRINT  “PROSES PENGULANGAN SELESAI”
PRINT  “KARENA NILAI VARIABEL HITUNG =  “; HITUNG
END

OUTPUT :
0
1
2
3
4
5
6
PROSES PENGULANGAN SELESAI
KARENA NILAI VARIABEL HITUNG = 7


·                     Jika nilai HITUNG lebih kecil dari 7, proses akan mengerjakan kelompok statement yang terletak diantara WHILE dan WEND.
·                     Setelah itu, proses kembali ke baris WHILE untuk memeriksa apakah nilai HITUNG masih lebih kecil dari 7.
·                     Jika nilai HITUNG masih lebih kecil dari 7, proses kembali mengerjakan kelompok statement yang terletak diantara WHILE dan WEND.
·                     Pengulangan ini dilakukan sampai nilai HITUNG lebih besar atau sama dengan 7.
·                     Setelah proses pengulangan berakhir, statement berikutnya yang dikerjakan adalah statement yang terletak di bawah kata WEND yaitu PRINT “PROSES PENGULANGAN SELESAI”


Ada alternatif bentuk penulisan WHILE ….. WEND lain, yaitu memakai bentuk WHILE ….. WEND bertingkat . Perhatikan bagan di bawah ini:



                        WHILE kondisi1
                                                Statement1 
                                                ………….
                                                WHILE kondisi2
                                                                        Statement4 
                                                                        …………..               blok-2            blok-1
                                                                        ………….. 
                                                WEND
                                                Statement7
                                                ………….
                        WEND


·                     Pada bagan di atas terlihat,  di dalam statement WHILE ….. WEND pertama terdapat statement WHILE ….. WEND lain.
·                     Jika kondisi 1 bernilai BENAR, maka prose berikut yang akan dikerjakan adalah kelompok statement yang terletak di dalam blok-1.

Contoh :
CLS
PRINT     VARIABEL A     VARIABEL B             
PRINT  “ =============================”
A = 3
WHILE A > 0
            PRINT TAB(5) ; A ;
            B = 3
            WHILE  B > 0
                        PRINT TAB(25) ; B
                        B = B – 1
            WEND
            PRINT  “------------------------------------------------“
            A = A – 1
WEND
END


OUTPUT :
                     VARIABEL A        VARIABEL B
   ==============================
                        3                                  3
                                                            2
                                                            1
   ---------------------------------------------------
                        2                                  3
                                                            2
                                                            1
   ----------------------------------------------------
                        1                                  3
                                                            2
                                                            1
   ----------------------------------------------------

·                     Pada contoh di atas terdapat dua pengulangan, pengulangan pertama ditentukan berdasarkan variabel A.
·                     Pengulangan ini akan berakhir jika variabel  A = 0 , sedangkan pengulangan kedua terjadi di dalam pengulangan pertama.
·                     Pengulangan kedua ditentukan berdasarkan variabel B. Pengulangan ini akan berakhir jika variabel  B = 0.


PERINTAH DO LOOP

            Statement DO LOOP merupakan alternatif lain pengulangan proses. Cara kerjanya mirip statement WHILE ….. WEND. Namun statement DO LOOP lebih fleksibel, sebab pada statement  DO  LOOP terdapat fasilitas untuk keluar dari pengulangan, tanpa harus memenuhi kondisi yang telah ditetapkan. Ada 4 macam statement DO LOOP, yaitu:

1.                  DO WHILE ….. LOOP
2.                  DO UNTIL …..  LOOP
3.                  DO ….. LOOP WHILE
4.                  DO ….. LOOP UNTIL

PERINTAH DO WHILE ….. LOOP

Perhatikan bagan di bawah ini :


            DO WHILE kondisi1
                                    Statement1
                                    ………….
                                    ………….                     Blok-1
                                    ………….
            LOOP

·         Jika kondisi1 bernilai BENAR, maka proses selanjutnya yang akan dikerjakan adalah kelompok statement yang terletak di dalam blok-1.
·         Proses ini dilakukan secara berulang dan akan berakhir jika kondisi1 bernilai SALAH.

Contoh :
            CLS
            HITUNG = 10
            DO WHILE HITUNG > 1
                        PRINT HITUNG
                        IF HITUNG = 5 THEN EXIT DO
                        HITUNG = HITUNG – 1
            LOOP
            PRINT “PROSES SELESAI”
            END

            OUTPUT :
            10
            9
            7
            6
            5
            PROSES SELESAI

·         Pengulangan dilakukan selama nilai pada variabel HITUNG lebih besar dari 1.
·         Dengan adanya statement IF HITUNG = 5  THEN EXIT DO maka pengulangan akan berakhir jika nilai pada variabel HITUNG = 5.








PERINTAH DO UNTIL ….. LOOP

Statement ini mempunyai bentuk sebagai berikut :


                       
            DO UNTIL kondisi1             
                                    Statement1                 
                                    ………….                              Blok-1
                                    ………….
            LOOP

·         Proses pengulangan akan berakhir jika kondisi telah terpenuhi.
·         Prose pengulangan akan terus berlangsung selama kondisi1 belum terpenuhi.

Contoh :
            CLS
            HITUNG = 10
            DO WHILE HITUNG > 1
                        PRINT HITUNG
                        HITUNG = HITUNG – 1
            LOOP
            PRINT “PROSES SELESAI”
            END

·         Pada contoh di atas, statement DO menggunakan WHILE.
·         Pengulangan akan terus berlangsung selama nilai pada variabel HITUNG > 1.
·         Jika kita menggunakan kata UNTIL pada statement DO, maka contoh program di atas menjadi :


            HITUNG = 10
            DO UNTIL HITUNG <= 1
                        PRINT HITUNG
                        HITUNG = HITUNG – 1
            LOOP
            PRINT “PROSES SELESAI”
            END


·               Pada contoh di atas, proses pengulangan akan terus berlangsung sampai nilai pada variabel HITUNG lebih kecil atau sama dengan 1.

            OUTPUT :

            10
            9
            8
            7
            6
            5
            4
            3
            2
            PROSES SELESAI

PERINTAH DO ….. LOOP WHILE

            Pada statement ini, proses pemeriksaan kondisi akan dilakukan setelah proses di dalam blok DO ….. LOOP dikerjakan.

            DO
                        Statement1
                        ………….
                        ………….
            LOOP WHILE kondisi1

·                     Pengulangan akan berakhir jika kondisi1 bernilai benar.

Contoh :
JWB$ = “ 
DO
                        CLS
                        INPUT JWB$
LOOP WHILE JWB$ <> “Y” AND JWB$ <> “Y”
END

·               Pengulangan akan berakhir jika isi variabel JWB$ = “Y”.
·               Sebelum dilakukan pemeriksaan kondisi tersebut statement di dalam blok DO … LOOP telah dikerjakan terlebih dahulu.


PERINTAH DO … LOOP UNTIL
            Statement ini mempunyai bentuk sebagai berikut :

                        DO
                                                Statement1
                                                ………….                              Blok1
                                                ………….
                        LOOP UNTIL  kondisi1

·                     Pengulangan di dalam blok statement akan berakhir jika kondisi1 telah terpenuhi atau bernilai benar.

Contoh :
            JUMLAH = 0
            CLS
            DO
                        JUMLAH = JUMLAH + 1
                        PRINT “********************”
            LOOP UNTIL JUMLAH = 5
            END

·                     Proses pengulangan akan berakhir jika nilai pada variabel JUMLAH = 5


PERINTAH EXIT DO

Statement EXIT DO merupakan suatu cara untuk keluar dari proses pengulangan di dalam blok statement DO …. LOOP. Perhatikan bagan di bawah ini :

            DO
                        Statement1
                        ………….                                                                   Blok1
                        IF kondisi2 THEN EXIT DO
                        ………….
                        ………….
            LOOP UNTIL kondisi1
            Statement2

·                     Jika kondisi1 bernilai BENAR, proses akan dilanjutkan ke kelompok statement yang terletak di blok-1.
·                     Proses ini dilakukan berulang dan akan berakhir jika kondisi1 bernilai SALAH atau nilai kondisi2 bernilai BENAR.
·                     Dalam blok-1 terdapat statement pencabangan lain yaitu IF kondisi2 THEN EXIT DO.
·                     Jika kondisi2 bernilai BENAR, proses akan keluar dari blok-1 dan dilanjutkan dengan mengerjakan statement yang terletak setelah kata LOOP.
·                     Walaupun kondisi1 masih bernilai BENAR maka proses pengulangan akan berakhir, jika kondisi2 juga bernilai BENAR.

Contoh :
            CLS
            HITUNG = 10
DO WHILE HITUNG > 1
            PRINT HITUNG
            IF HITUNG = 5 THEN EXIT DO
            HITUNG = HITUNG – 1
LOOP
PRINT “PROSES SELESAI”
END

            OUTPUT :
            10
            9
            8
            7
            6
            5
            PROSES SELESAI

·                     Proses pengulangan dilakukan selama nilai HITUNG > 1
·                     Tetapi dengan adanya statement IF HITUNG = 5 THEN EXIT DO, maka pengulangan akan berakhir jika variabel HITUNG = 5.



TUGAS!

Buatlah program untuk membuat table dibawah ini!
-------------------------------------------------
|  NO.  |       NAMA MHS      |  NILAI    |
-------------------------------------------------
|   1.     |   BAMBANG S        |      B        |
|   2.     |   SANTI R                |      A        |
|   3.     |   GUNAWAN          |      A        |
|    4.    |   CANTIKA             |      B        |
|    5.    |   IRAWAN              |      C        |





Tidak ada komentar:

Posting Komentar