Memahami Looping atau Perulangan Dalam C/C++
Dalam kesempatan kali ini saya ingin
mencoba untuk menerangkan Fungsi Looping dan Perulangan pada Bahasa
C/C++, saya harap dengan artikel ini, kalian yang membacanya dapat lebih
memahami walau hanya sedikit. Hhehehe
Berikut Penjelasannya tentang Fungsi Looping dengan for(), while(), dan do while()Malas membaca di web?
Artikel ini dapat di unduh disini, ini merupakan artikel buatan saya, bebas digunakan dan didistribusikan sesukanya asalkan tidak disalahgunakan dan di komersialisasikan. Terima Kasih sebelumnya,
Memahami Looping
Buatlah sebuah program yang akan menghasilkan keluaran sebagai berikut,
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
4 4 4 4 4
5 5 5 5 5
Penyelesaian
Sebelum memulai pembuatan programnya, ada beberapa hal yang harus kita cari tahu
- Berapa buah variable yang dibutuhkan
- Berapa banyak fungsi For yang dibutuhkan
Dari soal tersebut kita dapat memperkirakan berapa banyak fungsi for yang kita perlukan, dan berapa banyak variable yang digunakan.
Perhatikan ini,
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
4 4 4 4 4
5 5 5 5 5
Disana hanya terjadi perulangan
pencetakan angka 1, 2, …, 5 dan setiap angka bertambah setiap kali
program telah mencetak sebanyak 5 kali yang disertai dengan perintah
ganti baris “\n”. Jadi dapat kita bayangkan bahwa variable yang kita butuh kan adalah 2 (variable pertama akan digunakan untuk menghitung berapa baris computer sudah mencetak dan variable kedua akan menghitung sudah berapa kali computer mengulang).
Mari kita mulai membuat programnya,
Pertama-tama kita buat terlebih dahulu kerangka programnya
include<stdio.h>
void main()
{
}
Kemudian kita buat isi dari program kita tersebut, langkah yang pertama adalah mendeklarasikan variable nya, kita perlu mengetahui jenis data yang kita perlukan dan disini kita akan membuat sebuah variable untuk menyimpan data berupa numeric atau angka. Sehingga tipe data yang kita perlukan ialah integer atau int pada C/C++. Kita buat variablenya dengan menambahkan code berikut.
int i;
dan secara keseluruhan code yang telah kita buat akan nampak seperti ini
include<stdio.h>
void main()
{
int i, n;
}
Perhatikan ini,
int i, n;
int disana merupakan tipe variable nya, masih banyak tipe-tipe variable lainnya seperti :
- char (digunakan untuk menyimpan data berupa character atau huruf)
- float (digunakan untuk menyimpan data berupa numeric atau angka namun dapat berupa bilangan decimal, tidak sepertin integer yang hanya mampu menyimpan bilangan bulat)
- Dan tentu masih banyak lagi yang lainnya yang saya tidak jelaskan satu persatu kegunaanya dalam artikel saya kali ini)
Kedua tipe data tersebut belum kita butuhkan dalam program kita kali ini.
Mari sekarang kita masuk kedalam pembuatan looping atau perulangannya, fungsi perulangan ada 3 macam, while(), do while() dan for(),
setiap fungsi-fungsi tersebut memiliki kegunaan yang sama, yaitu
membuat sebuah perulangan. Namun kedua fungsi tersebut akan memiliki
tingkat efisiensi dan kompetibelitas yang saling berbeda. Ada beberapa
kasus yang tidak memungkinkan kita menggunakan for()
(saat dimana kita tidak tahu batas perulangannya sampai berapa, sebagai
contoh saat kita ingin menghitung sebuah penjumlahan dan akan
menghentikannya saat dimana kedua buah bilangan tersebut memiliki nilai
yang sama besar) tapi mengharuskan kita menggunakan while() atau do while().
Dan ada pula beberapa kasus yang memungkinkan kita menggunakan salah
satu dari kedua jenis perulangan tersebut, tapi kita sebagai programmer
nya tentu akan menggunakan sebuah fungsi yang jauh lebih effiesien dalam
penggunaannya, contohnya for().
Berikut ini adalah cara penulisan atau syntax dari perintah-perintah tersebut.
Perintah for()
for(inisialisasi nilai; syarat perulangan; perubahan nilai)
{
… perintah-perintah yang akan diulang
}
- Inisialisasi nilai adalah tempat dimana kita akan memberikan nilai awal pada variable counter (variable yang digunakan untuk menghitung jumlah perulangan)
- Syarat perulangan adalah syarat yang harus dipenuhi agar perulangan tetap dilakukan
- Perubahan nilai adalah perubahan yang akan dilakukan pada setiap putaran untuk menjamin bahwa perulangan tersebut tidak akan berlangsung secara terus menerus.
Perintah while()
while(syarat perulangan)
{
… perintah-perintah yang akan diulang
}
Berbeda dengan for(), while() tidak memiliki inisialisasi nilai. Oleh karena itu, inisialisasi harus diberikan sebelum perintah while(). Statement
yang melakukan perubahan nilai juga harus diberikan di dalam
perintah-perintah yang akan diulang. Hal ini perlu dilakukan untuk
menjamin bahwa perintah while() tidak akan melakukan perulangan terus menerus.
Berikut cara membuat perulangan dengan while() dengan benar
inisialisasi nilai;
while(syarat perulangan)
{
… perintah-perintah yang akan diulang
perubahan nilai;
}
Dan ini apabila kita telah memasukkan code didalamnya,
int i;
i = 1;
while(i <= 10)
{
... perintah-perintah yang akan diulang
i++;
}
Dari code diatas, maka perulangan tersebut akan terjadi sebanyak 10 kali.
Perintah do while()
do
{
… perintah-perintah yang akan diulang
} while(syarat perulangan);
Pada prinsipnya perintah do while() sama dengan while(). Perintah do while() akan mengulang statement-nya terlebih dahulu. Setelah itu ia akan memeriksa apakah syarat perulangan masih terpenuhi atau tidak. Sedangkan perintah while() memeriksa syarat perulangan terlebih dahulu. Oleh karena itu, perintah do while() akan menjalankan statement miliknya minimal sebanyak 1 kali, meskipun syarat pengulangan tidak terpenuhi.
Berikut cara membuat perulangan dengan do while() dengan benar
inisialisasi nilai;
do
{
… perintah-perintah yang akan diulang
perubahan nilai;
} while(syarat perulangan)
Perhatikan tanda
i++
Tanda ++ berfungsi untuk menambahkan nilai awal sebuah variable
dengan satu, jadi apabila nilai ‘a adalah 1’ setelah computer
menjalankan perintah ‘a++’ maka nilai ‘a menjadi 2’. Adapula fungsi
serupa lainnya, misalnya ‘a–‘, ‘++a’ dan ‘–a’.
Saya harap penjelasannya telah cukup dan kalian telah dapat memahami fungsi-fungsi perulangan pada C/C++ dengan baik.
Sekarang kita kembali ke topic untuk
menyelesaikan permasalahan diatas, dari soal tersebut kita telah
mengetahui bahwa kita akan memerlukan 2 buah fungsi perulangan for() ataupun while()
(perulangan pertama untuk mengganti baris sebanyak 5 kali dan
perulangan kedua untuk mencetak nomor baris sebanyak 5 kali) dengan kata
lain kita akan membuat sebuah nested for(). Karena menurut saya dalam masalah ini lebih mudah menjelaskan perulangan dengan menggunakan perintah for() jadi kita akan tabahkan code berikut dalam program kita,
for(i = 1;i <= 5; i++)
{
for(n = 1;n <= 5;n++)
{
printf("%i", i);
}
printf("\n");
}
Dan code yang telah kita buat akan nampak seperti ini,
include<stdio.h>
void main()
{
int i, n;
for(i = 1;i <= 5; i++)
{
for(n = 1;n <= 5;n++)
{
printf("%i", i);
}
printf("\n");
}
}
Perhatikan potongan code berikut,
for(i = 1;i <= 5; i++)
{
for(n = 1;n <= 5;n++)
{
printf("%i", i);
}
printf("\n");
}
Code itu akan dijalankan sebanyak 5 kali untuk mencetak nilai dari i, jadi apabila dijalankan akan menhasilkan ini
1 1 1 1 1
Dan kemudian perulangan tersebut berakhir, lalu akan menjalankan perintah ‘printf(“\n“)’ yang digunakan untuk mengganti baris. Karena nilai i saat ini adalah 2 (bertambah 1 setelah fungsi i++ dijalankan secara otomatis) maka perulangan akan kembali terjadi, kini computer akan mencetak nilai dari i yaitu 2, hasilnya menjadi seperti ini,
1 1 1 1 1
2 2 2 2 2
Dan begitulah seterusnya sampai akhirnya program selesai dijalankan, dan yang tercetak adalah,
1 1 1 1 1
2 2 2 2 2
3 3 3 3 3
4 4 4 4 4
5 5 5 5 5
Setelah semua code kita buat dan kerjakan, maka secara keseluruhan program kita akan nampak sebagai berikut,
include<stdio.h>
void main()
{
int i, n;
for(i = 1;i <= 5; i++)
{
for(n = 1;n <= 5;n++)
{
printf("%i", i);
}
printf("\n");
}
}
Berikutnya kita akan membahas beberapa soal yang lebih sulit dari ini,
Buatlah sebuah program yang akan menghasilkan keluaran sebagai berikut,
1
2 2
3 3 3
4 4 4 4
5 5 5 5 5
Di sana dapat kita lihat bahwa program
akan mencetak sebanyak nomor baris nya, pada baris pertama akan tercetak
sebanyak 1 kali, pada baris kedua akan tercetak sebanyak 2 kali, dan
begitupun seterusnya.
Kita dapat menggunakan program kita yang
lama, yang telah kita kerjakan dengan sedikit modifikasi dan perbaikan
di dalamnya agar sesuai dengan kebutuhan kita.
include<stdio.h>
void main()
{
int i, n;
for(i = 1;i <= 5; i++)
{
for(n = 1;n <= 5;n++)
{
printf("%i", i);
}
printf("\n");
}
}
Dengan mudah permasalahan tersebut dapat
kita atasi, kita hanya perlu mengganti banyaknya angka yang akan kita
cetak dengan nilai dari i dimana variable tersebut berisikan baris yang sedang dikerjakan.
Sehingga program yang telah kita modifikasi akan nampak seperti ini
include<stdio.h>
void main()
{
int i, n;
for(i = 1;i <= 5; i++)
{
for(n = 1;n <= i;n++)
{
printf("%i", i);
}
printf("\n");
}
}
Selesai
Sekarang ada soal berikutnya, soal tersebut seperti ini.
Buatlah sebuah program yang akan menghasilkan keluaran sebagai berikut,
1. 1
2. 2 2
3. 3 3 3
4. 4 4 4 4
5. 5 5 5 5 5
Bagaimana cara mencetak nomor beserta tanda ‘titik’nya kedalam sebuah perulangan yang sedang berjalan?
Caranya mudah, hanya membutuhkan sebuah
ketelitian dan trik saja, kita hanya harus mencetak nomor halaman
disertakan ‘titik’nya sebelum perintah perulangan untuk mencetak angka
sebanyak nomor barisnya dilakukan. Jadi program kita akan tampak seperti
ini,
include<stdio.h>
void main()
{
int i, n;
for(i = 1;i <= 5; i++)
{
printf("%i.”, i); perhatikan ada tanda ‘titik’ setelah huruf i
for(n = 1;n <= i;n++)
{
printf("%i", i);
}
printf("\n");
}
}
Selesai lagi
Saya harap sampai sejauh ini kalian telah
memahami bagaimana cara memanipulasi sebuah perintah perulangan untuk
mendapatkan hasil yang diinginkan.
Ini adalah penjelasan terakhir tentang
cara mengerjakannya, selanjutnya saya hanya akan memberikan sebuah
contoh hasil tercetak dan code untuk membuatnya.
Saya akan meminta anda untuk membuat program yang akan menghasilkan cetakan sebagaimana berikut,
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
Disana dapat kita lihat bahwa program
akan mencetak sebanyak 5 baris dan 5 kolom dimana setiap cetakannya akan
membuat nilai yang selalu bertambah, 1, 2, 3, 4, … , 25.
Singkatnya setelah kita analisa, program tersebut akan membutuhkan,
- 3 Buah variable
- Variable pertama untuk menghitung barisnya
- Variable kedua untuk menghitung cetakan ke berapa (1, 2, 3, 4, … , 25)
- Variable ketiga untuk menghitung jumlah kolom nya
- 2 Buah perulangan
- Perulangan pertama untuk mencetak baris
- Perulangan kedua untuk mencetak kolom
Dari penjelasan-penjelasan yang saya
berikan, saya harap teman-teman telah dapat membuat programnya sendiri,
lengkapnya program akhir kita akan tampak seperti ini,
include<stdio.h>
void main()
{
int i, n, j;
j = 1;
for(i = 1;i <= 5; i++)
{
for(n = 1;n <= 5;n++)
{
printf("%i", j);
j++;
}
printf("\n");
}
}
Sekian artikel ini saya buat, semoga dapat menambah pemahaman anda seputar Looping atau Perulangan.
Bila ada bagian yang masih kurang jelas dapat ditanyakan langsung kepada saya,
E-Mail : bendot.tue@gmail.com
Dengan segala hormat, bendot.tue :: Ferdinand Dimas
Lampiran berikutnya akan berisikan contoh hasil cetakan dan cara membuatnya
Hasil Tercetak dan Cara Membuatnya Dengan Bahasa C
-
-
1
-
2 3
-
4 5 6
-
7 8 9 10
-
11 12 13 14 15
-
include<stdio.h>void main(){int i, n, j;j = 1;for(i = 1;i <= 5; i++){printf("%i. ", i);for(n = 1;n <= i;n++){printf("%i", j);j++;}printf("\n");}}
1 2 3 4 5
2 3 4 5
3 4 5
4 5
5
include<stdio.h>void main(){int i, n;for(i = 1;i <= 5; i++){for(n = i;n <= 5;n++){printf("%i", n);}printf("\n");}}
1
2 3
4 5 6
7 8 9 10
11 12 13 14 15
#include<stdio.h>int main(){int spasi, panjang, nilai, tingkat;nilai = 1;for(tingkat=1;tingkat<=5;tingkat++){for(spasi=5;spasi>=tingkat;spasi--){printf(" ");}for(panjang=1;panjang<=tingkat;panjang++){printf("%3i", nilai);nilai++;}printf("\n");}}
1
2 2
3 3 3
4 4 4 4
5 5 5 5 5
#include<stdio.h>
void main()
{
int i, j, n;
n = 0;
for(i=1;i<=5;i++)
{
for(j=i;j<=5;j++)
{
printf(" ");
}
for(n=1;n<=i;n++)
{
printf("%3i ", i);
}
printf("\n");
}
}