Perulangan (Bagian 1) – for

Posted on   Februari 4, 2018   |   Last Modified   Februari 11, 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 &lt; 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 :   Pernyataan For

++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 &lt; 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 &lt; 5; ++i) {
        for(int j = 1; j &lt; 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 &lt; 5; ++i) {
        for(int j = 0; j &lt;= 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.     *
       * *
      * * *
     * * * *
    * * * * *
    

Tinggalkan Balasan

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