5. Teknik Pengulangan
Counter
Teknik kounter dipakai untuk mengontrol pengulangan proses. Pengontrolan ini
dilakukan dengan memeriksa isi variabel yang digunakan sebagai kounter, sehingga
junlah pengulangan dapat diketahui.
Misalnya terdapat beberapa proses yang harus dilakukan dengan urutan sebagai
berikut :
Proses A
Proses B
Proses C
Proses D
Proses B
Proses C
Proses D
Proses B
Proses C
Proses D
Proses E
Dari contoh di atas bahwa proses B, C, dan D diulang sebanyak tiga kali.
Pengulangan ini terjadi setelah proses A dan sebelum proses E dikerjakan.
Jika diimplementasikan ke bentuk flowchart, maka terbentuk rangkaian symbol yang
tersusun berderet. Hal ini tidak efisien.
Agar flowchart menjadi lebih efisien maka digunakan kounter sebagai pengontrol
jumlah pengulangan ketiga proses tersebut.
Teknik pengulangan
Contoh :
START
K = 0
PROSES B
PROSES C
PROSES D
K = K + 1
T
K = 3
Y
PROSES E
END
Teknik pengulangan
Berikut ini sebuah contoh untuk memperjelas penerapan teknik kounter dalam
flowchart.
Sebuah perusahaan ingin mencetak data pegawai melalui komputer. Data tersebut
tersimpan di dalam disk dan dicetak melalui printer.
Spesifikasi proses adalah :
c
Input data diperoleh dari dik yang terdiri dari nomor pegawai, nama pegawai dan
alamat.
Karena dalam satu halaman hanya memuat 30 baris data, maka diperlukan suatu
variabel kounter. Kounter ini digunakan untuk menghitung jumlah data yang telah
dicetak pada setiap halaman.
Selain itu juga terdapat proses pemeriksaan isi variabel kounter. Jika ternyata isinya
telah mencapai 30 maka pencetakan dilakukan pada halaman berikutnya dan
lakukan proses pencetakan judul.
Teknik pengulangan
N = 0
PRINT
JUDUL
READ
NO, NM,
ALM
Y
/*
END
T
N = N + 1
PRINT
NO, NM,
ALM
T
N =30
Y
N = 0
NM
ALM
4. Periksa input data. Bila isinya berupa simbol /* maka proses berakhir.
5. Variabel N ditambah 1. Variabel ini digunakan sebagai kounter untuk mengetahui
jumlah data yang telah dicetak untuk setiap halaman.
6. Cetak rincian data yaitu NO, NM, ALM.
7. Periksa isi variabel N. Jika N = 30 berarti data telah dicetak sebanyak 30 baris.
Oleh karena itu proses selanjutnya adalah kembali ke langkah 1 yaitu mencetka
Teknik pengulangan
judul halaman baru. Sedangkan jika N lebih kecil dari 30 maka proses
selanjutnya kembali ke langkah 3 untuk membaca data berikutnya tanpa
mencetak judul lagi.
LOOPING
Merupakan pengolahan data yang berulang yang lebih dari satu diadalam arus
diagram alur untuk itu digunakan tanda panah ke pengolahan data tersebut.
Contoh :
START
READ
A, B
C=A+B
Y
C>5
PRINT
C
N
D=C+3
PRINT
D
String
Numeric
Teknik pengulangan
= XXX, ZZZ
= 999, 000
c. Variabel dari flag harus benar-benar data yang tidak dipakai didalam
pelaksanaan proses.
d. Banyaknya flag yang digunakan dan jenisnya harus disesuaikan dengan
variabel yang dibaca.
Contoh : READ A, B Maka Flagnya yang digunakan ada 2 flag.
Contoh :
START
data 1,2,3,4,5,6,999,99
READ
A,B
C=A+B
START
READ
A,B
Y
END
A = 999
N
PRINT
C
C=A+B
PRINT
C
Hasil :
Hasil:
11
11
Teknik pengulangan
START
START
FOR I = 1 TO
10
FOR I = 1 TO
10
FOR J = 1 TO
10
FOR J = 1 TO
10
Print I,J
Print I,J
NEXT I
NEXT J
NEXT J
NEXT I
END
END
Teknik pengulangan
START
FOR I = 1 TO 10
Print I
NEXT I
FOR J = 1 TO
10
Print J
NEXT J
END
contoh
1. Buat flowchart untuk mencetak hasil sbb :
1
Teknik pengulangan
Teknik pengulangan
FOR J = 1 TO 2
FOR I = 1 TO 2
NEXT I
NEXT J
J , I
End
Teknik pengulangan
10
Untuk menyimpan nilai matriks X tidak dapat digunakan sebuah variabel. Untuk itu
harus digunakan variabel berindeks, yaitu X1, X2, X3, X4, X5, X6, X7, X8 dan X9.
Berdasarkan jumlah dimensi indeks dalam sebuah variabel array, dikenal
adanya array dimensi satu dan arrray dimensi banyak.
Beberapa hal penting yang harus diperhatikan bila ingin memasukkan
deretan data kedalam variabel array adalah :
a. Tipe data yang akan disimpan kedalam variabel harus diketahui, karena
variabel array numerik hanya dapat menerima data numerik dan variabel array
string hanya dapat menerima data string.
b. Banyaknya data harus lebih kecil atau sama dengan jumlah subkrip ( indeks )
dari array tersebut.
c. Untuk memasukkan deretan data dalam suatu variabel indeks dapat digunakan
intruksi perulangan.
d. Banyaknya indeks yang ditentukan menunjukkan banyknya ruang memori yang
dialokasikan, oleh karena itu dalam menentukan banyaknya indeks sebaiknya
disesuaikan
dengan
banyaknya
data
sehingga
tidak
memboroskan
Teknik pengulangan
11
Contoh 1.
Perhatikan flowchart dibawah ini, tentukan hasil jika diketahui datanya
5,10,15,20
Start
FOR K = 1 TO 3
Baca A(K)
NEXT K
A (K)
END
Hasil : 5 10 15
Teknik pengulangan
12
Contoh 2 :
Algoritma Program dari penjumlahan matriks :
Berapa Jumlah Ordonya.
Berapa jumlah baris ? Diisi ke variabel B.
Berapa jumlah kolomnya ? Diisi ke variabel K.
Memesan varaibel A, B dan C, yang masing-masing dapat menampung sebanyak B
baris dan K kolom.
Pengisian angka-angka di Matriks A :
a. Untuk BRS dari 1 hingga B, kerjakan nomor 3b.
b. Untuk KLM dari 1 hingga K, kerjakan nomor 3c.
c.
d.
e.
Pada baris ke YA dan kolom ke XA, angka untuk matriks B diisi, dimasukkan
ke
variabel :
B ( BRS , KLM )
Teknik pengulangan
13
Teknik pengulangan
14
Start
Masukkan nilai
B?
FOR BRS 1 =
TO B
End
Masukkan nilai
B?
DIM A(B,K),
B(B,K),
C(B,K),
FOR BRS 1 =
TO B
FOR KLM 1 =
TO K
Masukkan nilai
B (BRS, KLM)
NEXT KLM
NEXT BRS
FOR KLM 1 =
TO K
FOR BRS 1 =
TO K
Masukkan nilai
A (BRS, KLM)
FOR KLM 1 =
TO B
NEXT KLM
A(BRS,KLM)
B(BRS,KLM) +
C(BRS,KLM)
NEXT BRS
Cetak
C (BRS,KLM)
A
NEXT KLM
NEXT BRS
Teknik pengulangan
15
Contoh 3.
Perhatikan flowchart dibawah ini, kemudian tentukan outputnya jika diketahui
datanya 10,20,30,40
Start
BACA A(U)
JUMLAH
1 + A(U)
A(U);
NEXT U
JUMLAH
END
Hasil : 11 21 31 41
104
Teknik pengulangan
16
subprogram,
yang
sering
disebut
dengan
nama
subrutin,
SUBRUTIN 1
START
GO SUB 200
PROSES
CALL
RETURN
END
SUBRUTIN 2
SUB..
END SUB
Teknik pengulangan
17
Hitung
contoh :
t 2
START
Input bil1
Input bil2
GOSU
B 200
? Contoh
subrutin
Rata=(bil1+bil
2)/2
Print rata
END
RETURN
Teknik pengulangan
18
REM PROGKOUNTER1
DATA 2,4,6,8,999
C=0
10
READ BIL
IF BIL = 999 THEN 20
C=C+1
GO TO 10
20
PRINT C
END
Output :
4
Pada program di atas yang dimaksud variable kounter adalah C. Setiap kali
statemen C = C + 1 dilaksanakan, maka harga C bertambah dengan 1.
REM PROGKOUNTER2
N = 0 : K=0
10
READ X
K=K+1
IF K = 9 THEN 30
IF X > 3 THEN 20
GOTO 10
20
N=N+1
GOTO 10
30
PRINT N
DATA 1,4,2,3,5,6,5,9,2,8
END
Output :
5
Teknik pengulangan
19
DIM baristabel(5)
DIM baristabel( 1 to 5)
DIM baristabel(5) As Integer
Dari contoh deklarasi di atas maka akan disediakan ruang memori untuk
array baristabel dengan jumlah elemen 5.
40
30
100
80
75
REM PROGARRAY1
DIM A(5)
LET A(1)=40 : A(2)=30 : A(3)=100 : A(4)=80 : A(5)=75
C = A(1) + A(2) + A(3) + A(4) + A(5)
Teknik pengulangan
20
30
100
80
75
atau
dimensi
: cacah baris
Baris
Kolom
: cacah kolom
atau
DIM M( 1 to 2, 1 to 3)
Dari contoh deklarasi di atas maka akan disediakan ruang memori untuk
array M dengan jumlah elemen 2 baris dan 3 kolom..
30
50
20
10
10
10
Teknik pengulangan
21
REM PROGARRAY2
output :
DIM M(2,3)
40
10
atau
DIM namavar (b1 to b2,k1to k2, h1 to h2,, dn1 to dn2) [As tipe]
Contoh : DIM M(2,3,4)
atau
DIM M(1 to 2, 1 to 3, 1 to 4)
Dalam operasinya menggunakan subskrib 3 dimensi, yaitu :
M(1,1,1),M(1,1,2),M(1,1,3),M(1,1,4)
M(1,2,1),M(1,2,2),M(1,2,3),M(1,2,4)
M(1,3,1),M(1,3,2),M(1,3,3),M(1,3,4)
M(2,1,1),M(2,1,2),M(2,1,3),M(2,1,4)
M(2,2,1),M(2,2,2),M(2,2,3),M(2,2,4)
M(2,3,1),M(2,3,2),M(2,3,3),M(2,3,4)
Teknik pengulangan
22
Latihan
1. Buatlah sebuah program untuk menghasilkan laporan sbb:
DAFTAR GAJI PEGAWAI
NAMA
TOTAL GAJI
---------------------------------INA
1500000
ANI
1300000
NIA
1250000
ANE
1000000
ANU
7500000
= , NAMA$(K)
= ,GAPOK(K)
INPUT TUNJANGAN
= ,TUNJ(K)
TOTALGAJI(K) = GAPOK(K) +
TUNJ(K)
IF K=5 THEN 20
K=K+1
GOTO 10
20
Teknik pengulangan
23
PRINT NAMA$(K);TAB(15);TOTALGAJI(K)
NEXT K
END
ON n GOTO
Bentuk Umum :
ON n GOTO nomor baris [.,nomor baris]
Contoh :
CLS
PRINT Ketik 1, 2, 3, 4 atau 5
INPUT n
ON n GOTO 60, 40, 80, 100, 110
40
60
80
100
110
END
ON GOSUB
Statement ini sifatnya adalah gabungan antara statement ON n GOTO dan
GOSUB-RETURN itu sendiri.
Dimana :
ON n GOTO, proses menuju ke nomor baris yang tergantung dari nilai N nya,
untuk kemudian proses berlanjut seperti biasa.
Teknik pengulangan
24
Contoh :
FOR I = 1 to 2
ON I GOSUB 50, 60
NEXT I
PRINT END
END
50
60
Teknik pengulangan
25