Anda di halaman 1dari 5

Praktek Dasar Pemrograman

Informatika – UPN Veteran Jakarta


Lab 4 Pengulangan I - FOR

Struktur pengulangan atau biasa disebut looping, merupakan struktur program yang akan melakukan
pengulangan satu atau lebih pernyataan (statement) untuk diproses atau tidak diproses berdasarkan kondisi
tertentu. Dengan pengulangan, kita hanya perlu menuliskan pernyataan tersebut satu kali saja, tapi akan
dilakukan oleh program sebanyak yang diperintahkan.

Struktur pengulangan dapat dituliskan menggunakan beberapa instruksi:


1. Instruksi FOR
2. Instruksi WHILE
3. Instruksi DO…WHILE

Instruksi FOR
Instruksi FOR umumnya digunakan untuk memproses pernyataan secara berulang-ulang, dimana kita
sebelumnya sudah mengetahui berapa kali pernyataan tersebut akan diulang. Pada instruksi for
menggunakan sebuah variable yang biasa disebut sebagai loop’s counter. Nilai penghitung (counter) secara
OTOMATIS bertambah atau berkurang tiap kali pengulangan dilaksanakan, tergantung jenis
perulangannya.Contoh, jika anda diminta untuk menulikan bilangan bulat 1 sampai dengan n.

Bentuk umum dari instruksi FOR.

for(inisialisasi; kondisi; increment/decrement)


{
Statement_1;
Statement_2;
}

Keterangan :
 Inisialisasi: pernyataan untuk menyatakan keadaan awal dari variabel kontrol.
 Kondisi: ekspresi relasi yang menyatakan kondisi untuk keluar dari perulangan.
 Increment/Decrement: pengatur perubahan nilai variabel kontrol.

Proses yang dilakukan mengikuti alur berikut:


 Yang pertama kali dieksekusi adalah inisialisasi (hanya dilakukan satu kali).
 Selanjutnya, akan diperiksa bagian kondisi. Kondisi ini merupakan ekpresi Boolean.
 Jika kondisi bernilai benar, maka Statement_1, Statement_2 dieksekusi.
 Setelah itu, maka eksekusi bagian increment/decrement.
 Lakukan terus menerus, sampai dengan bagian kondisi bernilai salah.
Contoh For increment : Apa output program di bawah ini?

#include <stdio.h>
int main(){
int i,n = 5;
for (i=0; i<n; i++) {
printf("%d ", i);
}
return 0;
}
Pada potongan program di atas, maka program akan mencetak angka 0 sampai dengan angka 4.

Contoh For decrement : Apa output program di bawah ini?


#include <stdio.h>
int main(){
int i,n = 5;
for (i=n; i>0; i--) {
printf("%d ", i);
}
return 0;

}
Pada potongan program di atas, maka program akan mencetak angka 5 sampai dengan angka 1.

Contoh lainnya:
#include <stdio.h>
int main(){
int i,n = 5;
for (i=n; i>0; i--) {
printf("%d ", i);
}
//Ketika ditambahkan statement di bawah ini apa output dari nilai i?
printf(“Nilai i = %d ”, i);
return 0;
}

Nested FOR
Instruksi FOR yang bersarang, artinya terdapat instruksi FOR lainnya di dalam instruksi FOR. Pada Nested
FOR, Perulangan yang lebih dalam akan diproses lebih dulu sampai habis, kemudian perulangan yang lebih
luar baru akan diproses lagi, setelah itu mengerjakan perulangan yang lebih dalam lagi mulai dari nilai
awalnya dan seterusnya sampai kondisi perulangan yang paling luar tidak terpenuhi lagi (bernilai false).
Contoh :

int i, j;
for (i=1; i<=2; i++) {
for (j=1; j<=3; j++) {
printf("*");
}
printf("\n");
}
Pernyataan FOR bersarang (Nested FOR) biasa digunakan untuk menuliskan bilangan dalam bentuk matrik.
Misalkan ingin menuliskan bilangan 1, 2, … dalam bentuk matrik ukuran 3x4. Setiap baris hanya diakhiri
oleh newline. Contoh :

#include <stdio.h>
int main() {
int i, j, c=1;
for (i=1; i<=3; i++)
for (j=1; j<=4; j++) {
printf("%d", c++);
if (j!=4) printf(" ");
else printf("\n");
}
return 0;
}

LATIHAN
1. Apa output program di bawah ini? dan apakah yang dilakukan oleh program tersebut
#include <stdio.h>
int main(){
int i, n=5, sum=0;
for (i=1 ; i<=n; sum+=i++);
printf("%d\n", sum);
return 0;
}

2. Apa output program di bawah ini, jika diberi input 3 13 43 32? Apa yang dilakukan program
tersebut?
#include <stdio.h>
int main()
{
int i, n, bil, sum=0;
scanf("%d", &n);
for (i=1; i<=n; i++) {
scanf("%d", &bil);
sum+=bil;
}
printf("%d\n", sum);
return 0;
}

3. Apakah output dari potongan program di bawah ini? dan apa yang dilakukan program?
int i, j, sum;
for (i=1; i<=3; i++) {
sum=0;
for (j=1; j<=i; j++)
sum+=j;
printf("%d %d\n", i, sum);
}

4. Apakah ouput program di bawah ini?

#include <stdio.h>
int main(){
int m, n=10;
for(m = 0; m < 5; m++){
if ((m + n) %3) n++;
else n += n;
}
printf("%d", n);
return 0;
}

5. Lengkapi statement P, Q, R, dan S di bawah ini sehingga jika diberi input nilai n=4, diharapakan
output dari program tersebut adalah :
1
22
333
4444

int main()
{
int i,j,n;
scanf("%d", &n);
for(P)
{
for(Q)
R;
S;
}
return 0;
}

6. Buatlah sebuah program untuk membaca sebuah bilangan bulat n, dan menampilkan ouput seperti
pada contoh di bawah ini:

Contoh input: 5

Contoh output :
*****
****
***
**
*
7. Tulis program untuk mencetak bilangan kelipatan 3 antara integer a hingga b, dicetak ke layar,
dipisahkan oleh spasi, ganti baris setiap 5 bilangan.
Contoh input : 10 50
Contoh ouput :
12 15 18 21 24
27 30 33 36 39
42 45 48

8. Tulis program untuk mencetak bentuk seperti gambar berikut. Ukuran maksimum adalah 100.

Anda mungkin juga menyukai