Dalam sebuah program, ada kalanya dalam program tersebut melakukan satu atau lebih perintah tanpa atau dengan pola tertentu secara berulang-ulang, seperti ketika kita mau mencetak sebuah kalimat berulang-ulang sebanyak 5 kali, seperti di bawah.
hello world hello world hello world hello world hello world
Keluaran di atas dapat dihasilkan dengan mudah dengan cara, seperti di bawah
#include <stdio.h> int main() { printf("hello world"); printf("hello world"); printf("hello world"); printf("hello world"); printf("hello world"); return 0; }
Cara di atas merupakan cara manual, bagaimana jika kita ingin menampilkannya sebanyak 10 kali, 100 kali atau 1000 kali? Tentu saja akan sangat melelahkan dengan menggunakan cara seperti di atas. Bahasa C menyediakan 3 kata kunci yang dapat digunakan untuk mempermudah pekerjaan tersebut, yaitu for
, while
dan do-while
. Ketiga kata kunci tersebut digunakan untuk melakukan perulangan sebuah atau blok perintah selama syarat yang diberikan terpenuhi.
Perulangan for
Berikut struktur pernyataan for
.
for(inisialisasi; ekspresi_1; ekspresi_2) { //tulis perintah di sini }
Penjelasan:
inisialisasi, adalah memberikan nilai awal terhadap sebuah variabel. Inisialisasi juga dapat dilakukan sebelum pernyataan for
.
ekspresi_1, berupa kondisi/syarat dimana perulangan akan terus dilakukan selama ekspresi ini menghasilkan true.
ekspresi_2, merupakan ekspresi perubahan nilai variabel, seperti penambahan atau pengurangan nilai.
Untuk lebih jelasnya, perhatikan contoh di bawah.
#include <stdio.h> int main() { for(int i = 0; i < 5; ++i) { printf("hello world"); } return 0; }
source code di atas akan menghasilkan keluaran seperti di bawah.
hello world hello world hello world hello world hello world
Penjelasan:
int i = 0
adalah deklarasi dan inisialisasi variabel. Variabel bisa dideklarasi di luar pernyataan for
dan diinitialisasi di dalam pernyataan for
atau dideklarasi dan diinisialisasi di luar pernyataan for
.
i < 5
, perulangan akan dilakukan selama nilai variabel i
lebih kecil dari 5.
++i
, artinya i = i + 1
, dimana pada setiap perulangan nilai pada variabel i
akan ditambah dengan 1.
Contoh lain:
#include <stdio.h> int main() { for(int i = 1; i < 10; i = i + 2) { printf("%d\n", i); } return 0; }
Keluaran:
1 3 5 7 9
Pernyataan for
dapat dibuat bersarang, dimana di dalam sebuah pernyataan for
bisa terdapat satu atau lebih pernyataan for
yang lain, seperti di bawah
for(inisialisasi; ekspresi_1; ekspresi_2) { for(inisialisasi; ekspresi_1; ekspresi_2) { //tulis perintah di sini } for(inisialisasi; ekspresi_1; ekspresi_2) { //tulis perintah di sini } }
Contoh:
#include <stdio.h> int main() { for(int i = 1; i < 5; ++i) { for(int j = 1; j < 5; ++j) { printf("%d x %d = %d\t", j, i, (i * j)); } printf("\n"); } return 0; }
Keluaran:
1 x 1 = 1 2 x 1 = 2 3 x 1 = 3 4 x 1 = 4 1 x 2 = 2 2 x 2 = 4 3 x 2 = 6 4 x 2 = 8 1 x 3 = 3 2 x 3 = 6 3 x 3 = 9 4 x 3 = 12 1 x 4 = 4 2 x 4 = 8 3 x 4 = 12 4 x 4 = 16
Contoh lain:
#include <stdio.h> int main() { for(int i = 0; i < 5; ++i) { for(int j = 0; j <= i; ++j) { printf("*"); } printf("\n"); } return 0; }
Keluaran:
* ** *** **** *****
Perulangan Tak Terbatas
Apabila inisialisasi, ekspresi_1 dan ekspresi_2 pada pernyataan for
diabaikan, seperti di bawah, akan menyebabkan perulangan yang tidak akan berhenti.
for(;;) { }
Contoh:
#include <stdio.h> int main() { for(;;) { printf("hello world"); } return 0; }
Program di atas akan mencetak tulisan hello world ke layar secara terus menerus. Cara menghentikannya adalah dengan menekan CTRL + C
.
Sebagai latihan, coba buat program yang mencetak keluaran seperti di bawah.
-
5 4 3 2 1
-
***** **** *** ** *
-
* * * * * * * * * * * * * * *
Min < itu apaan?
Maaf atas sedikit kesalahan teknisnya. < adalah escape character HTML yang menyatakan simbol ‘<', itu sudah diperbaiki. Terimakasih atas responnya 🙂
These are genuinely enormous ideas in regarding blogging.
You have touched some pleasant factors here. Any way keep
up wrinting.
It’s very simple to find out any topic on net as compared to books, as
I found this article at this website.
My programmer is trying to persuade me to move to .net from PHP.
I have always disliked the idea because of the expenses.
But he’s tryiong none the less. I’ve been using Movable-type on several websites for about a year and
am worried about switching to another platform.
I have heard fantastic things about blogengine.net.
Is there a way I can transfer all my wordpress content into
it? Any kind of help would be greatly appreciated!