Anda di halaman 1dari 16

LOOP

3
OBJEKTIF :
1. Mahasiswa Mampu Memahami Tentang Perulangan dengan While.
2. Mahasiswa Mampu Memahami Tentang Perulangan dengan Do - While.
3. Mahasiswa Mampu Memahami Tentang Perulangan dengan For Loop.
4. Mahasiswa Mampu Memahami Tentang Switch Statement.

Untuk memudahkan dalam membuat keluaran yang berulang secara


efisien, maka digunakan statement perulangan. Statement perulangan berguna
agar program yang dibuat menjadi lebih praktis. Dengan menggunakan statement
perulangan maka statement yang diproses akan diulang – ulang cukup dituliskan
sekali saja. Terdapat beberapa jenis perulangan pada Bahasa C, yaitu While, Do –
While, dan For.

Awal / Inisialisasi
Akhir / Kondisi

Penambahan /
Peningkatan
Pernyataan atau
statement
TOPIK 3. LOOP

Kebanyakan program melibatkan pengulangan atau perulangan (loop).


Dua cara pengulangan:

1. Counter-controlled repetition

2. Sentinel-controlled repetition

Counter-controlled repetition kadang-kadang disebut pengulangan pasti


karena kita telah mengetahui sebelumnya dengan tepat berapa kali perulangan
akan dijalankan. Sentinel-controlled repetition terkadang disebut pengulangan
tak terbatas karena tidak diketahui sebelumnya berapa kali loop akan dijalankan.

Dalam Counter-controlled repetition, variabel kontrol digunakan untuk


menghitung jumlah pengulangan. Variabel kontrol bertambah (biasanya 1)
setiap kali sekelompok instruksi dilakukan. Ketika nilai dari variabel kontrol
menunjukkan bahwa jumlah pengulangan yang benar telah dilakukan, loop
berhenti dan komputer terus mengeksekusi dengan pernyataan setelah
pernyataan pengulangan.

Nilai sentinel digunakan untuk mengontrol pengulangan saat:

1. Jumlah pengulangan yang tepat tidak diketahui sebelumnya, dan

2. Pengulangan mencakup pernyataan yang memperoleh data setiap kali


pengulangan dilakukan

Dalam merancang perulangan, kita setidaknya harus mengetahui 3 komponen:

1. Kondisi awal perulangan.


2. Kondisi pada saat perulangan.
3. Kondisi yang harus dipenuhi agar perulangan berhenti.

Integrated Laboratory Universitas Gunadarma-Pemrograman Bahasa C 2


TOPIK 3. LOOP

1.1 WHILE
Sintaks dari bentuk perulangan While adalah sebagai berikut :
while (kondisi)
{
Statement;
increment;
}

Statement dapat berupa statement kosong, statement tunggal atau blok


statement yang akan diproses berulang – ulang. Proses perulangan akan masih
dilakukan jika kondisi yang diseleksi di statement while masih bernilai benar dan
perulangan akan dihentikan jika kondisinya sudah bernilai salah.
Contoh :
#include<stdio.h>
#include<stdlib.h>

int main()
{
int x,y;
x=1;
y=6;
while(x<=y)
{
printf("perulangan while ke %d\n",x);
x++;
}
}

Integrated Laboratory Universitas Gunadarma-Pemrograman Bahasa C 3


TOPIK 3. LOOP

Outputnya:

perulangan while ke 1
perulangan while ke 2
perulangan while ke 3
perulangan while ke 4
perulangan while ke 5
perulangan while ke 6

Penjelasan program adalah sebagai berikut:

Nilai Nilai Kondisi Output


x y (x<=y)
1 6 true perulangan while ke 1
2 6 true perulangan while ke 2
3 6 true perulangan while ke 3
4 6 true perulangan while ke 4
5 6 true perulangan while ke 5
6 6 true perulangan while ke 6
7 6 false Perulangan selesai

Salah satu hal yang harus selalu diingat ketika membuat perulangan while
adalah, jangan lupa membuat perintah increment. Jika tidak, kondisi akhir tidak
akan pernah terpenuhi dan perulangan akan berjalan terus menerus. Ini dikenal
dengan istilah infinity loop

Integrated Laboratory Universitas Gunadarma-Pemrograman Bahasa C 4


TOPIK 3. LOOP

1.2 DO - WHILE
Sintaks dari bentuk perulangan Do - While adalah sebagai berikut :
do
{
Statement;
iterasi;
} while(kondisi);

Perbedaan antara statement do-while dengan statement while adalah


letak dari kondisi yang akan diseleksinya. Untuk statement while, kondisi yang
diseleksi terletak di awal lingkup perulangannya, sehingga sebelum masuk
kedalam lingkup perulangan while, kondisinya harus sudah benar terlebih dahulu.
Untuk statement do-while, kondisi yang diseleksi terletak diakhir lingkup
perulangannya, ini berarti bahwa paling sedikit sebuah perulangan akan dilakukan
oleh statement do-while, karena untuk masuk pertama kali ke lingkup perulangan
ini tidak diseleksi lebih dulu.
Contoh :
#include<stdio.h>
#include<stdlib.h>
int main()
{
int n=1;
int times = 5;
do {
printf("c do while loops : %d\n",n);
n=n+1;
} while(n <= times);

return 0;
}

Integrated Laboratory Universitas Gunadarma-Pemrograman Bahasa C 5


TOPIK 3. LOOP

Outputnya:

c do while loops : 1
c do while loops : 2
c do while loops : 3
c do while loops : 4
c do while loops : 5

Penjelasan program adalah sebagai berikut:

Nilai Nilai Kondisi Output


n times (n<=times)
1 5 true c do while loops : 1
2 5 true c do while loops : 2
3 5 true c do while loops : 3
4 5 true c do while loops : 4
5 5 true c do while loops : 5
6 6 false Perulangan selesai

Kunci penting yang membedakan perulangan DO WHILE dengan


perulangan WHILE adalah posisi pemeriksaan kondisi. Karena dalam perulangan
DO WHILE pemeriksaan kondisi di lakukan di akhir, maka perulangan akan selalu
di jalankan minimal 1 kali, meskipun syarat perulangan sudah tidak dipenuhi.

Berikut contoh kasusnya:


1 #include <stdio.h>
2
3 int main(void)
4 {
5 int i = 10;
6 do {
7 printf("%i ",i*3);
8 i++;
9 }
10 while (i <= 5);
11 return 0;
12 }

Integrated Laboratory Universitas Gunadarma-Pemrograman Bahasa C 6


TOPIK 3. LOOP

Outputnya:

30

Di baris 5 diisi angka 10 ke dalam variabel counter i. Namun syarat kondisi


adalah while (i <= 5). Apakah i <=5 ? tidak (false). Namun meskipun kondisi ini
tidak dipenuhi, perulangan akan tetap dijalankan 1 kali.
Jika kondisi yang sama dibuat menggunakan WHILE, perulangan tidak akan
pernah dijalankan karena kondisi di periksa di awal. Inilah yang jadi perbedaan
antara perulangan WHILE dan DO WHILE dalam bahasa C.

1.3 FOR LOOP


Sintaks dari bentuk perulangan For adalah sebagai berikut :
for(kondisi awal;kondisi;iterasi)
{
Statement;
}

Perulangan FOR merupakan perulangan yang simple dan banyak digunakan


karena strukturnya yang mudah dipahami. Awal adalah suatu ungkapan yang
memberikan nilai awal suatu variable untuk pengulangannya (misalnya x=0).
Variable ini disebut dengan indeks atau loop-control variable. Variable ini
merupakan penghitung dari banyaknya perulangan yang akan dilakukan, akhir
adalah suatu ungkapan yang menunjukkan suatu kondisi yang harus dipenuhi
supaya perulangan dapat terus dilakukan (misalnya x<=20 berarti perulangan akan
tetap dilakukan selama nilai variabel x masih lebih kecil atau sama dengan nilai
20). Peningkatan adalah suatu ungkapan yang merubah nilai – nilai variable
pengontrol perulangan setiap perulangan dilakukan (misalnya x++ menunjukkan
nilai x ditambah dengan 1 setiap saat perulangan dilakukan).

Integrated Laboratory Universitas Gunadarma-Pemrograman Bahasa C 7


TOPIK 3. LOOP

Contoh :
#include<stdio.h>
#include<stdlib.h>
int main()
{
for(int x=1; x<=5; x=x+1)
{
printf("Nilai x adalah %d\n", x);
}

return 0;
}

Outputnya:

Nilai x adalah 1
Nilai x adalah 2
Nilai x adalah 3
Nilai x adalah 4
Nilai x adalah 5

Perintah for(int x=1; x<=5; x=x+1), bisa dibaca:

“Jalankan perulangan, mulai dari variabel x = 1 sampai x <= 5. Dalam setiap iterasi,
naikkan nilai variabel x sebanyak 1 angka menggunakan perintah x=x+1.”

Integrated Laboratory Universitas Gunadarma-Pemrograman Bahasa C 8


TOPIK 3. LOOP

1.4 SWITCH STATEMENT

Kondisi SWITCH CASE yang akan kita pelajari kali ini bisa dipakai sebagai
alternatif penulisan kondisi logika IF ELSE IF. Namun tidak semua kondisi IF ELSE IF
bisa dikonversi ke dalam bentuk SWITCH CASE

Kondisi SWITCH CASE adalah percabangan kode program dimana kita


membandingkan isi sebuah variabel dengan beberapa nilai. Jika proses
perbandingan tersebut menghasilkan nilai true, maka block kode program akan
dijalankan.

Kondisi SWITCH CASE terdiri dari 2 bagian, yakni perintah SWITCH


dimana terdapat nama variabel yang akan diperiksa, serta 1 atau lebih perintah
CASE, masing-masing untuk setiap nilai yang ingin diperiksa.

Sintaks dari bentuk Switch Statement adalah sebagai berikut :


switch (variabel) {

case 1:

// Kode program 1 yang dijalankan


break;
case 2:
// Kode program 2 yang dijalankan
break;
case 3:
// Kode program 3 yang dijalankan
break;
.
.
default:
statement-statement;
}

Integrated Laboratory Universitas Gunadarma-Pemrograman Bahasa C 9


TOPIK 3. LOOP

Di awal kode program, terdapat perintah SWITCH untuk menginput


variabel yang akan diperiksa. Kemudian terdapat beberapa perintah CASE yang
diikuti dengan sebuah nilai. Jika isi dari variabel sama dengan salah satu nilai ini,
maka blok kode program akan dijalankan. Jika ternyata tidak ada kondisi CASE
yang sesuai, blok default di baris paling bawah lah yang akan dijalankan.

Di dalam setiap block case diakhiri dengan perintah break; agar struktur
CASE langsung berhenti begitu kondisi terpenuhi

Contoh :
#include<stdio.h>
int main()
{
int input;
printf("pilih number (1,2,3) : ");
scanf("%d", &input);
switch(input){
case 1:
printf("Anda telah memilih case 1.");
break;
case 2:
printf("Anda telah memilih case 2.");

Integrated Laboratory Universitas Gunadarma-Pemrograman Bahasa C 10


TOPIK 3. LOOP

break;
case 3:
printf("Anda telah memilih case 3.");
break;
default:
printf("Anda tidak memiliki pilihan di
(1,2,3).");
break;
}
}

Outputnya:

pilih number (1,2,3) : 2


Anda telah memilih case 2.

Struktur SWITCH CASE ini terlihat lebih rapi daripada struktur IF ELSE IF, dan
kadang kala bisa lebih efisien. Namun SWITCH CASE juga memiliki batasan, yakni
tidak bisa dipakai untuk kondisi yang lebih kompleks seperti perbandingan dengan
tanda lebih besar dari ” > “, maupun penggabungan kondisi.

Kita tidak bisa membuat struktur CASE seperti berikut:

Kondisi perbandingan di atas hanya bisa ditulis menggunakan struktur IF.

Sehingga jika kondisi yang diperiksa cukup rumit, tetap harus menggunakan
struktur IF ELSE IF. Struktur SWITCH CASE hanya cocok dipakai untuk operasi
perbandingan sederhana, dimana nilai yang diperiksa hanya terdiri dari nilai yang
tetap.

Integrated Laboratory Universitas Gunadarma-Pemrograman Bahasa C 11


TOPIK 3. LOOP

PERINTAH BREAK

Break adalah perintah khusus yang dipakai untuk memaksa sebuah


perulangan berhenti sebelum waktunya. Perintah break ini bisa dipakai dalam
semua jenis perulangan, baik itu FOR, WHILE, maupun DO WHILE.

Contoh:

Outputnya:

1 + 1 = 2
2 + 2 = 4
3 + 3 = 6
4 + 4 = 8
5 + 5 = 10

Di dalam perulangan FOR, yakni pada baris 8 terdapat pemeriksaan


kondisi if (i == 5). Jika kondisi ini terpenuhi (variabel counter i sudah bernilai 5)
maka jalankan perintah break. Hasilnya, perulangan langsung berhenti begitu
nilai i mencapai angka 5.

Integrated Laboratory Universitas Gunadarma-Pemrograman Bahasa C 12


TOPIK 3. LOOP

PERINTAH CONTINUE

Perintah continue mirip seperti perintah break, hanya saja jika dalam
perintah break perulangan langsung berhenti, untuk perintah continue
perulangan hanya melewati 1 kali proses iterasi saja.
Contoh:

Outputnya:

1 + 1 = 2
2 + 2 = 4
3 + 3 = 6
4 + 4 = 8
6 + 6 = 12
7 + 7 = 14
8 + 8 = 16
9 + 9 = 18
10 + 10 = 20

Dalam kode program ini, di baris 7 terdapat kondisi if (i == 5) { continue; }. Jika


kondisi ini terpenuhi (saat variabel counter i berisi angka 5), maka jalankan
perintah continue.

Hasilnya, perintah printf di baris 10 akan dilompati dan perulangan langsung


lompat ke iterasi berikutnya, yakni variabel i akan berisi angka 6. Dalam tampilan
akhir bisa terlihat bahwa 5 + 5 = 10 tidak ada di daftar penambahan.

Integrated Laboratory Universitas Gunadarma-Pemrograman Bahasa C 13


TOPIK 3. LOOP

RANGKUMAN
1. Perulangan yang terdapat pada Bahasa C terdiri dari While, Do – While, dan
For dimana ketiganya memiliki sintaks yang berbeda – beda.
2. Switch atau dapat disebut dengan case statement merupakan sebuah
percabangan dimana kita dapat membandingkan isi sebuah variabel dengan
beberapa nilai.

TUNTUNAN LATIHAN
Berikut ini diberikan contoh program untuk mencetak 10 bilangan ganjil pertama
dan deret 10 bilangan genap pertama dengan menggunakan perulangan for :
(a) Mendeklarasikan pre-processor include diikuti dengan file judul atau
header file. Caranya mengetikkan langsung pada lembar kerja, yaitu :

(b) Mendeklarasikan fungsi int main. Caranya mengetikkan langsung pada


lembar kerja, yaitu :

(c) Mendeklarasikan variabel ganjil dan genap dengan tipe data integer. Cara
mengetikkan langsung pada lembar kerja, yaitu :

Integrated Laboratory Universitas Gunadarma-Pemrograman Bahasa C 14


TOPIK 3. LOOP

(d) Membuat perintah untuk mencetak text dan membuat perulangan dengan
for untuk bilangan ganjil. Cara mengetikkan langsung pada lembar kerja,
yaitu :

(e) Membuat perintah untuk mencetak text dan membuat perulangan dengan
for untuk bilangan genap. Cara mengetikkan langsung pada lembar kerja,
yaitu :

L A T I H AN
1. Lengkapilah program berikut untuk mencetak segitiga siku – siku dengan tinggi
berdasarkan input !

Integrated Laboratory Universitas Gunadarma-Pemrograman Bahasa C 15


TOPIK 3. LOOP

REFERENSI

[Online] https://www.duniailkom.com/tutorial-belajar-bahasa-pemrograman-c-bagi-
pemula/.
Brian W. Kernighan, Dennis M. Ritchie. The C Programming Language. s.l. : Prentice
Hall.
Deitel. 2007. C HOW TO PROGRAM. New Jersey : Pearson Prentice Hall, 2007.
Prof. Dr. Jogiyanto HM, MBA, Akt. 2006. Konsep Dasar Pemrograman Bahasa C.
Yogyakarta : Penerbit Andi, 2006.
Rinaldi Munir, Leony Lidya. 2016. Algoritma dan Pemrograman dalam Bahasa Pascal,
C, C++. Bandung : Penerbit Informatika, 2016.
Shaw, Zed A. 2016. Learn C the hard way. Indiana : Addison Wesley, 2016.
Vine, Michael. 2008. C Programming for the Absolute Beginner. Boston : Thomson
Course Technology, 2008.

Integrated Laboratory Universitas Gunadarma-Pemrograman Bahasa C 16

Anda mungkin juga menyukai