Perulangan (Bagian 1) – for

Written by: Zhan   |   Updated on: Oktober 14, 2018
for C

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.

Baca :   Penjelasan Variabel Durasi Statis

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

  1. 5
    4
    3
    2
    1
    
  2. *****
    ****
    ***
    **
    *
    
  3.     *
       * *
      * * *
     * * * *
    * * * * *
    

5 Replies to “Perulangan (Bagian 1) – for”

    1. Maaf atas sedikit kesalahan teknisnya. &lt; adalah escape character HTML yang menyatakan simbol ‘<', itu sudah diperbaiki. Terimakasih atas responnya 🙂

  1. These are genuinely enormous ideas in regarding blogging.

    You have touched some pleasant factors here. Any way keep
    up wrinting.

  2. 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!

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *