Jika pada materi sebelumnya, kita telah belajar tentang perulangan terhitung/ counted loop.
Pada materi kali ini, kita akan belajar tentang perulangan tak terhitung/ uncounted loop.
Didalam uncounted loop ini, terdapat dua macam perulangan yaitu:
- Perulangan
while
- Perulangan
do while
Dalam melakukan aksinya, kedua perulangan tersebut membutuhkan suatu kondisi sebagai basis/acuan.
Kondisi tersebut merupakan ekspresi boolean
, yaitu ekpresi yang hanya mengembalikan nilai true
atau false
saja.
Perulangan while
Didalam perulangan while
ini, program akan mengecek kondisinya diawal terlebih dahulu.
Berikut merupakan syntax penulisan perulangan while dalam bahasa C.
#include <stdio.h>
int main(){ while(kondisi){ // Blok Kode } return 0; }
Pertama, program akan membaca kondisi yang telah diberikan.
Jika kondisi benilai true
, blok kode
yang ada didalamnya akan dijalankan.
Jika kondisi bernilai false
, program akan langsung keluar dari looping.
Berikut merupakan alur kerja dari perulangan while
.
Pada penerapannya, perulangan while
ini juga bisa termasuk kedalam counted loop, karena didalam kondisi, kita telah mensetting terlebih dahulu batas perulangannya.
Perhatikan program berikut.
#include <stdio.h>
int main(){ int x = 1; while(x <= 10){ printf("%d ", x); x++; } return 0; }
Pertama, kita inisialisasikan terlebih dahulu variabel x = 1
.
Selanjutnya, didalam kondisi, kita setting batas perulangannya.
x <= 10
, ketika nilai x
dibawah atau sama dengan 10
, kondisi bernilai true
. Maka blok kode didalamnya akan diproses.
Ketika x
sudah lebih dari 10
, maka kondisi bernilai false
, sehingga program akan keluar dari looping.
Lalu, didalam blok kode terdapat sebuah Counter x++
, yang berfungsi untuk menaikkan nilai variabel sebanyak satu tingkat.
Maka akan menghasilkan output.
Itu tadi Contoh perulangan while
dengan metode counted loop.
Sekarang kita coba menggunakan metode uncounted loop.
Perhatikan program berikut.
#include <stdio.h>
int main(){ int nilai; char lagi = 'y'; while(lagi == 'y' || lagi == 'Y'){ printf("Masukkan nilai Mhs : "); scanf("%d", &nilai); fflush(stdin); printf("Masukkan nilai lagi [y/t]? : "); scanf("%c", &lagi); fflush(stdin); printf("\n"); } return 0; }
Program diatas kita ingin menginputkan nilai mahasiswa yang tidak diketahui berapa kali kita harus menginput.
Pertama kita deklarasikan variabel nilai
dan variabel lagi
.
Variabel nilai
digunakan untuk menerima inputan nilai dari user.
Sedangkan variabel lagi
digunakan sebagai kondisi perulangan.
Kondisi hanya akan bernilai true
jika varibel lagi
sama dengan 'y'
atau 'Y'
.
Jika selain dua karakter diatas, kondisi akan bernilai false
dan program akan keluar dari looping.
Maka akan menghasilkan output
Perulangan do while
Berbeda dengan perulangan while
yang mengecek kondisinya terlebih dahulu.
Perulangan do while
ini justru mengeksekusi blok kode-nya terlebih dahulu, baru membaca kondisi yang diberikan.
Berikut merupakan syntax penulisan dari do while
.
#include <stdio.h>
int main(){ do{ // Blok Kode }while(kondisi); return 0; }
Program setidaknya akan mencetak satu kali (at least one) sebagai output dari program, entah kondisinya bernilai true
ataupun false
Berikut merupakan alur kerja dari perulangan do while
.
Berikut merupakan contoh penerapan perulangan do while
didalam program
#include <stdio.h>
int main(){ int nilai; char lagi = 'y'; do{ printf("Masukkan nilai Mhs : "); scanf("%d", &nilai); fflush(stdin); printf("Masukkan nilai lagi [y/t]? : "); scanf("%c", &lagi); fflush(stdin); printf("\n"); }while(lagi == 'y' || lagi == 'Y'); return 0; }
Nested Loop
Nested Loop atau perulangan bersarang merupakan istilah yang digunakan untuk menyebut adanya suatu perulangan didalam perulangan.
Nested loop ini biasa digunakan untuk membuat suatu program matriks, membuat data dalam bentuk baris kolom, dsb.
Berikut merupakan penggunaan nested loop didalam program.
#include <stdio.h>
int main(){ for(int i=1; i<=3; i++){ for(int j=1; j<=3; j++){ printf("%d + %d = %d\n", i, j, i+j); } } return 0; }
Pada program diatas kita ingin melakukan operasi penjumlahan.
Operand pertama diambil dari perulangan var i
, sedangkan operand kedua diambil dari perulangan var j
.
Itulah tadi penjelasan mengenai perulangan uncounted loop didalam bahasa C. Dari berbagai macam perulangan yang telah kita pelajari yaitu for
, while
, dan do while
tentunya memiliki spesifikasi yang berbeda-beda. Terlebih kapan harus menggunakan salah satu dari ketiga perulangan tersebut dapat kalian sesuaikan dengan kebutuhan.
Untuk memperdalam pemahaman mengenai perulangan while
dan do while
, coba kerjakan latihan soal berikut.
- Buat program untuk menghitung jumlah total dan rata-rata dari Inputan user.
Contoh:
Masukkan nilai : 80
Masukkan nilai lagi [y/t]? : yMasukkan nilai : 85
Masukkan nilai lagi [y/t]? : yMasukkan nilai : 87
Masukkan nilai lagi [y/t]? : tJumlah nilai total = 252
Rata-rata nilai = 84
Post a Comment
Post a Comment