PengulanganPembacaanData(Minggu Ke IV).doc

28
Algoritma &Pemrogrammam 1B Sesi/Perkuliahan ke: 4 Tujuan Instruksional Khusus : Agar mahasiswa dapat membuat program dengan proses pemutaran kembali (looping). Pokok Bahasan : PENGULANGAN PEMBACAAN DATA Deskripsi singkat : Dalam pertemuan ini akan mempelajari tentang pembuatan progrm dengan menggunakan proses pemutaran kembali (looping) dan menggunakan Panji/Flag. Statemen ini berguna untuk mengikuti perkuliahan berikutnya tentang satemen input. Referensi : 1. Seri Diktat Kuliah : Pengantar Algoritma dan Pemrograman : Teknik diagram alur dan bahasa Basic Dasar, Penerbit Gunadarma 2. Yay Singleman, Business Programming Logic 2 nd –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. Pengulangan Pembacaan Data Halaman 1 dari 28

Transcript of PengulanganPembacaanData(Minggu Ke IV).doc

Page 1: PengulanganPembacaanData(Minggu Ke IV).doc

Algoritma &Pemrogrammam 1B

Sesi/Perkuliahan ke: 4

Tujuan Instruksional Khusus :

Agar mahasiswa dapat membuat program dengan proses pemutaran kembali

(looping).

Pokok Bahasan : PENGULANGAN PEMBACAAN DATA

Deskripsi singkat : Dalam pertemuan ini akan mempelajari tentang pembuatan

progrm dengan menggunakan proses pemutaran kembali (looping) dan menggunakan

Panji/Flag. Statemen ini berguna untuk mengikuti perkuliahan berikutnya tentang

satemen input.

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 Pembacaan Data Halaman 1 dari 21

Page 2: PengulanganPembacaanData(Minggu Ke IV).doc

Algoritma &Pemrogrammam 1B

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

Pengulangan Pembacaan Data Halaman 2 dari 21

Page 3: PengulanganPembacaanData(Minggu Ke IV).doc

Algoritma &Pemrogrammam 1B

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

Pengulangan Pembacaan Data Halaman 3 dari 21

Page 4: PengulanganPembacaanData(Minggu Ke IV).doc

Algoritma &Pemrogrammam 1B

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

Pengulangan Pembacaan Data Halaman 4 dari 21

Page 5: PengulanganPembacaanData(Minggu Ke IV).doc

Algoritma &Pemrogrammam 1B

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.

Pengulangan Pembacaan Data Halaman 5 dari 21

Page 6: PengulanganPembacaanData(Minggu Ke IV).doc

Algoritma &Pemrogrammam 1B

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 ……….

Pengulangan Pembacaan Data Halaman 6 dari 21

Page 7: PengulanganPembacaanData(Minggu Ke IV).doc

Algoritma &Pemrogrammam 1B

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.

Pengulangan Pembacaan Data Halaman 7 dari 21

Page 8: PengulanganPembacaanData(Minggu Ke IV).doc

Algoritma &Pemrogrammam 1B

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

Pengulangan Pembacaan Data Halaman 8 dari 21

Page 9: PengulanganPembacaanData(Minggu Ke IV).doc

Algoritma &Pemrogrammam 1B

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

--------------------------------------------------

Pengulangan Pembacaan Data Halaman 9 dari 21

Page 10: PengulanganPembacaanData(Minggu Ke IV).doc

Algoritma &Pemrogrammam 1B

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

Pengulangan Pembacaan Data Halaman 10 dari 21

Page 11: PengulanganPembacaanData(Minggu Ke IV).doc

Algoritma &Pemrogrammam 1B

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

Pengulangan Pembacaan Data Halaman 11 dari 21

Page 12: PengulanganPembacaanData(Minggu Ke IV).doc

Algoritma &Pemrogrammam 1B

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 “------------------------------------------------“

Pengulangan Pembacaan Data Halaman 12 dari 21

Page 13: PengulanganPembacaanData(Minggu Ke IV).doc

Algoritma &Pemrogrammam 1B

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

Pengulangan Pembacaan Data Halaman 13 dari 21

Page 14: PengulanganPembacaanData(Minggu Ke IV).doc

Algoritma &Pemrogrammam 1B

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 :

Pengulangan Pembacaan Data Halaman 14 dari 21

Page 15: PengulanganPembacaanData(Minggu Ke IV).doc

Algoritma &Pemrogrammam 1B

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

Pengulangan Pembacaan Data Halaman 15 dari 21

Page 16: PengulanganPembacaanData(Minggu Ke IV).doc

Algoritma &Pemrogrammam 1B

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 :

Pengulangan Pembacaan Data Halaman 16 dari 21

Page 17: PengulanganPembacaanData(Minggu Ke IV).doc

Algoritma &Pemrogrammam 1B

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.

Pengulangan Pembacaan Data Halaman 17 dari 21

Page 18: PengulanganPembacaanData(Minggu Ke IV).doc

Algoritma &Pemrogrammam 1B

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 Pembacaan Data Halaman 18 dari 21

Page 19: PengulanganPembacaanData(Minggu Ke IV).doc

Algoritma &Pemrogrammam 1B

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

Pengulangan Pembacaan Data Halaman 19 dari 21

Page 20: PengulanganPembacaanData(Minggu Ke IV).doc

Algoritma &Pemrogrammam 1B

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

Pengulangan Pembacaan Data Halaman 20 dari 21

Page 21: PengulanganPembacaanData(Minggu Ke IV).doc

Algoritma &Pemrogrammam 1B

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 |

Pengulangan Pembacaan Data Halaman 21 dari 21