Search This Blog

Tuesday 23 August 2016

Perulangan dengan for(), while() dan do while()

Looping merupakan proses dimana sebuah instruksi dalam pemrograman dapat dilakukan secara berulang. Untuk melakukan perulangan tersebut memiliki tiga kunci utama, yaitu memberi nilai awal sebagai nilai dimana kita memulai perulangan dari awalan berapa. Yang kedua ialah kondisi, kondisi merupakan tempat pengecekan benar atau salah. Sama halnya dengan kondisi if dan switch, namun disini kita akan menentukan batas dari nilai akhir setelah kita menentukan nilai awalnya tadi. Bagaimana maksudnya? Dalam kondisi yang satu ini, setiap perulangan akan melalui pengecekan terlebih dahulu, apakah nilainya itu masih sesuai dengan batas yang ditentukan. Sebagai contoh pada saat kita memberikan nilai awal 1 dan memberi kondisi bahwa perulangan tidak boleh melebihi tiga, maka pada saat perulangan pertama selesai akan adanya pengecekan apakah perulangan selanjutnya tidak melebihi hitungan kedua. Dan begitupun perulangan berikutnya, akan ada pengecekan kembali. Namun dikarenakan kita sudah membatasi bahwa perulangan tersebut tidak boleh sampai dengan hitungan ketiga, maka perulangan tersebut akan berhenti.

Yang harus dipahami disini, ialah pada saat kita menulis for(i=1; i<3; i++) maka dalam program tersebut dimaksudkan bahwa perulangan berawal dari angka 1 dan berakhir sebelum angka 3, dengan kata lain perulangan tersebut hanya akan terjadi 2 kali bukan tiga kali. Dan dalam contoh tersebut tertulis i++, maksud dari i++ tersebut ialah setiap perulangan ditambah 1. Nilai awalnya ialah adalah 1, maka setelah perulangan pertama maka nilai 1 tersebut akan ditambah lagi dengan 1 hingga nilai awal tersebut berubah menjadi 2, lalu melakukan pengecekan kembali, dan ditambah kembali dengan 1. Hingga pada saat angka tersebut sudah menjadi 3, maka program berakhir, karena 3 tidak kurang dari 3. Dan apabila i dicetak ke layar, maka yang tercetak ialah: 1 2. Mengapa hanya sampai angka 2? Karena perulangan tersebut hanya berlangsung 2 kali, perulangan pertama pada saat menempati angka satu dan perulangan kedua pada saat menempati angka 2.

Ada cara lain untuk penulisan kondisi pada perulangan ini, tidak hanya dengan i<(angka yang ditentukan) namun juga dapat ditulis i<=(angka yang ditentukan). Apa bedanya antara < dan <=? Terlihat hanya ada karakter sama dengan yang membedakan tulisan tersebut, namun dalam sama dengan tersebut terdapat perbedaan pandangan dari komputer. Apabila kita menulis i<3, maka perulangan hanya akan terjadi dua kali, karena angka 3 tidak kurang dari 3 pada saat pengecekan. Sedangkan apabila kita menulis i<=3, maka perulangan akan terjadi 3 kali, karena angka 3 walau tidak kurang dari 3, tetapi sama dengan 3. Karena sama dengan matematika, <= dibaca "kurang dari atau sama dengan". Oh iya satu lagi yang tidak kalah penting, huruf i yang tertulis pada contoh diatas bukan sebuah aturan huruf yang ditentukan, karena i merupakan sebuah variabel yang sebelumnya harus dideklarasikan terlebih dahulu. Dengan kata lain, i dapat diganti dengan huruf lain sesuai dengan keinginan. Dalam kesempatan kali ini, penulis ini memperkenalkan proses Looping dengan control statement for, while, do while. Sebenarnya ketiga control statement ini sama saja, sama-sama untuk melakukan perulangan dan dengan syarat yang sama, ialah dengan menentukan inisialisasi, kondisi dan perubahan kondisinya. Inisialisasi atau pemberian nilai awal yang sering kita temukan di buku-buku dengan nama initialization terdapat dalam ketiga control statement tersebut, dan yang membedakan hanyalah penempatan posisi dari inisialisasi tersebut. Kondisi atau conditionpun sama, berada dalam ketiganya, hanya beda dalam bentuk posisi saja. Begitupun dengan perubahan kondisinya, atau yang sering kita dengar dengan nama change condition. Berikut merupakan bentuk umum perulangan dengan for():

for(inisialisasi; kondisi; perubahan kondisi){
.............................................
lokasi statement yang akan menjadi perulangan)
.............................................
}
Dalam perintah tersebut terlihat didalam for tertulis pertama inisialisasi dengan diakhiri oleh karakter titik koma. Ini sudah menjadi aturan bahwa penulisannya harus seperti itu dan diakhiri dengan titik koma pada setiap akhir kata. Apa gunanya titik koma? Titik koma dalam sebuah program dapat menjadi sebuah pemisah antar perintah. Seperti pada dasarnya, dalam bahasa C memang diperbolehkan memiliki banyak spasi dari setiap kata yang berbeda (terkecuali dalam menulis sebuah kata dipisahkan dari setiap hurufnya), namun untuk pemisah itu sendiri tidak ditentukan dengan baris baru atau titik, dapat saja Anda menuliskan sebuah program tanpa baris baru, namun Anda tidak boleh menuliskan sebuah perintah tanpa diakhiri dengan titik koma selagi ada perintah lain setelah penulisan perintah tersebut. Seperti pada contoh sebelumnya, tertulis for(i=1; yang berarti inisialisasi dari variabel i diberi nilai 1. Begitupun selanjutnya terlihat ada kondisi i<3 yang diakhiri dengan tanda titik koma. Namun untuk yang i++ sendiri tidak diakhiri dengan karakter titik koma karena posisinya yang berada di akhir perintah.

#include<stdio.h>
main(){
int i;
for(i=1; i<=2; i++){
printf("%3i", i);
}
}

Dalam contoh program diatas, terlihat yang pertama ialah mendeklarasikan variabel yang akan dijadikan patokan dan diisi oleh suatu nilai tertentu. Setelah deklarasi selesai, dalam perintah for() yang pertama ialah adanya inisialisasi dengan memberikan nilai awal untuk i ialah 1. Nilai tersebut akan tersimpan kedalam variabel i dan diproses untuk selanjutnya. Seperti pada bentuk dasar yang dijelaskan diatas, setelah inisialisasi, yang dilakukan ialah menentukan kondisi serta menentukan perubahan kondisi dalam setiap perulangan yang dilakukan. Dan yang akan dilakukan perulangan ialah mencetak i ke layar. Seperti pada penjelasan sebelumnya, yang akan tercetak ke layar ialah angka 1 dan 2. Namun penulis berharap, pembaca tidak hanya mendapatkan jawaban dari apa yang dibawa akan hasil cetak ke layar tersebut, namun juga pembaca mencoba program tersebut, sehingga lebih memahami akan apa yang dimaksud dalam pembahasan ini. Dan karena manusia itu tidak ada yang sempurna, penulispun mengkhawatirkan ada kekeliruan dalam pengetikan atau penjelasan mengenai ini, maka kritik dan saran yang membangun sangat diharapkan untuk setiap terbitan.

Selain for, ada juga bentuk lain, ialah while dan do while. Seperti yang sudah disebutkan diatas, bahwa ketiganya sama saja dalam melakukan perulangan, hanya saja posisi dalam penulisannya yang berbeda. Dan untuk membuat sebuah program tidak perlu membingungkan harus memakai yang mana, cukup Anda coba terlebih dahulu dan rasakan Anda lebih nyaman dengan perintah yang mana. Karena yang orang lain rasa kurang baikpun jika Anda rasa nyaman dan menguasainya, semua itu akan lebih baik daripada mengikuti orang lain namun tidak nyaman dan tidak menguasainya. Untuk bentuk umum while() sendiri seperti berikut ini:

inisialisasi;
while(kondisi){
....................................
statement untuk dilakukan perulangan
....................................
perubahan kondisi;
}
Dalam bentuk diatas terlihat perbedaan yang penulis maksud tersebut, ialah posisi penulisan. Dalam control statement while(), inisialisasi dilakukan diluar tanda kurung dan sebelum penulisan while() itu sendiri, yang tertulis didalam kurung hanyalah kondisi dari proses perulangan tersebut. Bahkan perubahan kondisinya pun menyatu dalam koloh perintah yang dilakukan perulangan. Untuk contoh program dengan perulangan while() ialah sebagai berikut:

#include<stdio.h>
main(){
int i;
i=1;
while(i<=2){
printf("%3i", i);
i++;
}
}
Program tersebut sama halnya dengan yang dilakukan oleh control statement for() tadi, inisialisasi, kondisi dan perubahan kondisinya sama, hanya lokasi penulisannya saja yang berbeda, menyesuaikan dengan bentuk umum dari control statement tersebut. Jadi intinya sudah terbukti bahwa tidak ada perbedaan dalam melakukan perulangan dari kedua program tersebut. Dan yang terakhir ialah do while, yang sama saja alur perulangannya, yang sama pula hanya memiliki perbedaan dari posisi penulisan. Berikut bentuk umum dari do while() berikut contohnya:

inisialisasi;
do{
....................................
statement untuk dilakukan perulangan
....................................
perubahan kondisi;
}
while(kondisi);
Contoh program:


#include<stdio.h>
main(){
int i;
i=1;
do{
printf("%3i", i);
i++;
}
while(i<=2);
}
Sedikit penjelasan mengenai %3i dalam printf, yang dimaksud %i ialah untuk mencetak karakter dengan tipe data integer dan angka 3 disana ialah untuk memberikan spasi dari setiap cetakannya, angka tersebut dapat diganti dengan berapa saja sesuai dengan yang diinginkan.

1 comment:

  1. ka buat contoh urutan intruksi perulangan dengan For Do ,while do dan Repeat until

    ReplyDelete