Catatanku Si Bendot.Tue

"Apapun yang kutahu kan kuberikan padamu, dan berharap membawa kebaikan"

Memahami Looping atau Perulangan Dalam C/C++

with 9 comments

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

  1. Berapa buah variable yang dibutuhkan
  2. 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 :

  1. char (digunakan untuk menyimpan data berupa character atau huruf)
  2. float (digunakan untuk menyimpan data berupa numeric atau angka namun dapat berupa bilangan decimal, tidak sepertin integer yang hanya mampu menyimpan bilangan bulat)
  3. 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,

  1. 3 Buah variable
    1. Variable pertama untuk menghitung barisnya
    2. Variable kedua untuk menghitung cetakan ke berapa (1, 2, 3, 4, … , 25)
    3. Variable ketiga untuk menghitung jumlah kolom nya
  2. 2 Buah perulangan
    1. Perulangan pertama untuk mencetak baris
    2. 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. 1
    2. 2   3
    3. 4   5   6
    4. 7   8   9   10
    5. 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");
}
}

Tentu masih begitu banyak pola-pola lainnya yang dapat dikembangkan. Semoga beberapa pola sederhana yang saya berikan dapat membantu anda dalam memahaminya, terima kasih sebelumnya telah membaca artikel sederhana saya ini.

Written by bendot.tue

Februari 13, 2011 pada 1:25 pm

9 Tanggapan

Subscribe to comments with RSS.

  1. Mohon maaf sebelumnya yang sudah buka artikel ini, tautan untuk downloadnya yang kemarin saya salah pasang, sekarang sudah saya perbaiki, terima kasih

    |bendot.tue|

    Februari 17, 2011 at 1:09 am

  2. sip pokoke

    agung

    Maret 12, 2011 at 1:04 am

  3. salam, saya mau tanya klo membuat loop segita yg input’a dari karakter gmn???
    hasil’a seperti dibawah ini
    input : NAMA
    output ; N
    NA
    NAM
    NAMA
    terimaksih

    abudzar

    Oktober 16, 2012 at 11:25 pm

    • Cara loop inputan buat karakter, gimana ya ? Bantuannya dong .

      Julia

      April 14, 2016 at 12:44 pm

  4. tetep ga ngerti, kurang jelas T_T

    kiki

    Oktober 27, 2012 at 3:12 pm

  5. Terima kasih mas …

    ony

    Oktober 4, 2013 at 1:31 pm

  6. Wooow, ini mantep banget!!! Saya TERCERAHKAN. Terima kasih banyak.

    Topan

    November 12, 2014 at 11:16 pm

  7. Keren Gan.. :3

    langon

    Maret 9, 2015 at 8:45 pm

  8. selamat sejahtra mas: maaf ganggu ya numpang kodinagnya gimana…
    mas kalo perhitungan atau naik dan bertambah dari 0 1 1 2 3 5 dan seterusnya gimana mas bisa di bantu dengan cara i atau karakter lain di tambah ++ atau ++ i mas ..

    Muhammad Ramdani

    Mei 4, 2016 at 5:54 pm


Tinggalkan Tanggapan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: