Algoritma & Pemrograman 1B
FOR . . . NEXT
Bentuk Umum : FOR pencacah = awal TO akhir [ STEP langkah ] [ statement1 ] [ statement2 ] NEXT [ pencacah ] dengan parameter-parameternya : pencacah
: nama
sembarang
perubah
numeris yang
berfungsi mengendalikan banyaknya proses berulang. Awal
: nilai awal atau batas bawah pencacah
Akhir
: nilai kahir atau batas atas pencacah
Langkah
: pertambahan nilai pencacah
statement1,Statement2,. .
: statement-statement yang akan diproses ulang.
Dari bentuk umum diatas :
Jika kata STEP dan parameter langkah tidak ditulis, maka nilai parameter langkah dianggap bernilai sama dengan 1.
Pemakaian FOR . . . NEXT berlaku ketentuan sebagai berikut : -
Jika nilai awal < akhir, nilai langkah harus lebih besar dari 0
-
Jika nilai awal > akhir, nilai langkah harus lebih kecil dari 0
Contoh : 1. CLS FOR i% = 1 TO 10 PRINT i% NEXT i END → dikerjakan 10 kali
Pengulangan
Halaman 1 dari 7
Algoritma & Pemrograman 1B
2. CLS FOR i% = 1 TO 10 STEP 2 PRINT i% NEXT i END → dikerjakan 5 kali 3. CLS FOR i = -1 TO -5 STEP -0.5 PRINT i NEXT i END → dikerjakan 9 kali
Bagan alir statement FOR . . . NEXT Awal kalang
Pencacah = awal
Pencacah Lebih besar akhir
Ya
tidak
Kerjakan semua statement Yang terletak antara statement FOR dan NEXT
Pencacah = pencacah + langkah
Akhir kalang
Kalang Tersarang Di dalam sebuah statement FOR . . . NEXT juga dimungkinkan adanya statement FOR . . . NEXT yang lain. Keadaan yang demikian ini disebut dengan kalang tersarang (nested loop).
Pengulangan
Halaman 2 dari 7
Algoritma & Pemrograman 1B
Dalam kalang tersarang ada 2 ketentuan : 1. Harus menggunakan perubah kendali yang berlainan 2. Antara kalang yang satu dengan kalang yang lain tidak boleh saling berpotongan Contoh kalang tersarang yang tidak saling berpotongan FOR i = 1 TO 10 FOR j = 1 TO 10
FOR i = 1 TO 10 FOR j = 1 TO 10
PRINT i, j, I * j NEXT i NEXT j
PRINT i, j, I * j NEXT j NEXT i
a
b
kalang tersarang : a. Berpotongan b. Tidak berpotongan.
Ket :
Pencacah i disebut kalang luar
Pencacah j disebut kalang dalam
Dalam kalang tersarang banyaknya kata FOR harus sesuai dengan banyaknya kata NEXT dengan perubah kendali yang sama.
Jika anda menuliskan program seperti dibawah ini : FOR i = 1 TO 10 FOR j = 1 TO 10 PRINT i, j, i * j NEXT j, i Anda harus berhati-hati dengan statement j, i. Jika anda menuliskan NEXT i, j akan menyebabkan dua buah operasi kalang tersebut saling berpotongan.
Pengulangan
Halaman 3 dari 7
Algoritma & Pemrograman 1B
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
PRINT “ANDA MASUK GROUP BASIC” GOTO 110
60
PRINT “ANDA MASUK GROUP COBOL” GOTO 110
80
PRINT “ANDA MASUK GROUP PASCAL” GOTO 110
100
PRINT “ANDA MASUK GROUP FORTRAN”
110
END
ON n 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.
ON n GOSUB-RETURN, proses ini juga akan menuju ke nomor baris yang tergantung dari nilai N nya, tetapi proses akan kembali lagi ke program yang memanggilnya di bawah statement ON n GOSUB
bersangkutan bila
ditemui statement RETURN.
Pengulangan
Halaman 4 dari 7
Algoritma & Pemrograman 1B
Contoh : FOR I = 1 to 2 ON I GOSUB 50, 60 NEXT I PRINT “END” END 50
PRINT “I = ” ; I ; “ Ke nomor baris 50” RETURN
60
PRINT “I = ” ; I ; “ Ke nomor baris 60” RETURN END
CONTOH PROGRAM 1.
CLS JumlahData% = 0 INPUT “Banyaknya data : “ ; n% FOR i% = 1 to n% PRINT “Isikan data ke “ ; i% “ : ; INPUT dataKe% JumlahData% = jumlahData% + datake% NEXT i% PRINT “Jumlah semua data : “ ; jumlahData% PRINT “Selesai…!” END Output : Banyaknya data : ? 2 Isikan data ke 1 : ? 3 Isikan data ke 2 : ? 2 Jumlah semua data : ? 5 Selesai
Pengulangan
Halaman 5 dari 7
Algoritma & Pemrograman 1B
PRINT “
2.
<<< MENU >>>”
PRINT PRINT “
1. Menghitung Luas 4 Persegi Panjang”
PRINT “
2. Menghitung Luas Segitiga
PRINT 50
INPUT “
Pilih Nomer (1-2) “ ; Pilih
ON Pilih GOTO 100, 200 PRINT GOTO 50 100 INPUT “Panjang 4 Persegi Panjang “ ; Panjang INPUT “Lebar 4 Persegi Panjang “ ; Lebar Luas = Panjang * Lebar PRINT PRINT “Luas 4 Persegi Panjang = “ ; Luas END 200 INPUT “Tinggi Segi-3 “ ; Tinggi INPUT “Panjang Sisi Tegak Lurus Tinggi “ ; Panjang LuasSegi3 = Panjang * . 5 * Tinggi PRINT “Luas Segitiga = “ ; LuasSegi3 END
Output : <<< MENU >>> 1. Menghitung Luas 4 Persegi Panjang 2. Menghitung Luas Segitiga
Pilih Nomer (1-2)? 1 Panjang 4 Persegi Panjang ? 6 Lebar 4 Persegi Panjang ? 2 Luas = 12
Pengulangan
Halaman 6 dari 7
Algoritma & Pemrograman 1B
3. „ -------------------------------------------------------------------„
CONTOH PEMAKAIAN GOSUB
„ --------------------------------------------------------------------„ ** PROGRAM UTAMA LET GJKOTOR = 1000000 PRINT “ GAJI KOTOR = “ ; GJKOTOR GOSUB PAJAK GJBERSIH = GJKOTOR – PJGAJI PRINT “GAJI SETELAH KENA PAJAK = “ ; GJBERSIH END „ ** SUBRUTIN PAJAK : PJGAJI = ( 10 / 100 ) * GJKOTOR PRINT “ PAJAK GAJI : “ ; PJGAJI RETURN
Output : GAJI KOTOR = 1000000 PAJAK GAJI
= 100000
GAJI SETELAH KENA PAJAK = 900000
Pengulangan
Halaman 7 dari 7