Pengulangan Loop (6)

17
Pengulangan Loop While, do-while, switch-break

Transcript of Pengulangan Loop (6)

Pengulangan Loop While, do-while, switch-break

While

• Suatu bentuk pengulangan yang mirip dengan for, tetapi dengan bentuk yang lebih sederhana

• Pengulangan akan terus dilakukan selama syarat terpenuhi, dan akan dihentikan bila syarat tidak terpenuhi lagi.

• Syarat pengulangan dapat berupa ekspresi relasional dan ekspresi logik

Bentuk pernyataan while

• While dengan satu perintah

While(syarat)

pernyataan/perintah;

• While dengan lebih dari satu perintah

While(syarat)

{

pernyataan/perintah;

pernyataan/perintah;

pernyataan/perintah;

}

for (inisialisasi;syarat pengulangan;peubah nilai pencacah)

{

pernyataan/perintah;

pernyataan/perintah;

}

Inisialisasi While (syarat pengulangan) { pernyataan/perintah; pernyataan/perintah; peubah nilai pencacah; }

#include <conio.h>

#include <stdio.h>

int main()

{

int bil=1, total=0;

while (bil<=10)

{

total += bil;

printf("\n%10d %10d",bil,total);

bil++;

}

getche();

return 0;

}

Catatan

• Harus sertakan inisialisasi pencacah pada penggunaan while. Pada pernyataan while, tidak ada bagian yang mengatur inisialisasi pencacah.

• Jangan lupa untuk membuat peubah nilai pencacah, bila tidak maka pengulangan terjadi tak terhingga.

#include <conio.h>

#include <stdio.h>

int main()

{

char kar;

printf("\nGame tebak karakter");

printf("\nCarilah karakter untuk menghentikan pengulangan ini");

printf ("\n\n Ketikkan satu karakter antara a-z : ");

while (kar=getche() != 'm')

{

printf("\n Jawaban Anda kurang tepat");

printf("Coba input lagi, yang semangat \n");

}

getche();

return 0;

}

Do-while

• Statemen perulangannya dilakukan terlebih dahulu baru kemudian di cek syaratnya.

• Sedangkan While, syarat pengulangan dilakukan di awal loop baru perulangannya dijalankan.

do

{

Pernyataan/perintah;

Pernyataan/perintah;

}

While(syarat pengulangan);

Perbedaan while & do-while

While

• Mengecek kondisi dulu baru menjalankan statement perulangannya

• Dimungkinkan perulangan tidak pernah terjadi, yaitu ketika kondisinya langsung bernilai FALSE

Do-while

• Melakukan perulangan terlebih dahulu baru kemudaian di cek kondisinya

• Minimal terdapat 1 kali perulangan

#include <conio.h>

#include <stdio.h>

int main()

{

int bil=1, total=0;

printf("\nmencetak bilangan bulat dan total");

do

{

total += bil;

printf("\n%10d %10d",bil,total);

bil++;

}

while (bil<=10);

getche();

return 0;

}

Switch - break

• Hampir sama dengan if-elsel, tetapi penerapannya lebih sempit

• Khusus hanya bisa memeriksa data bertipe integer atau karakter

• Berguna untuk menyelesaikan program yang memiliki banyak cabang atau alternatif

Bentuk penulisan switch-break Switch (variabel integer atau karakter)

{

case nilai pertama variabel:

… Perintah;

…Perintah;

break;

case nilai pertama variabel:

… Perintah;

…Perintah;

break;

default:

… Perintah;

…Perintah;

}

Catatan

• Switch hanya bisa memeriksa persamaan dengan sebuah konstanta, tidak seperti if yang dapat memeriksa syarat-syarat lain (lebih besar, lebih kecil, dll)

• Tidak ada dua konstanta yang sama didalam sebuah switch

• Pernyataan switch lebih baik dari pada tangga if-else-if

• Setiap cabang akan dijalankan bila syarat terpenuhi

• Nilai default akan dijalankan bila semua cabang tidak terpenuhi.

• Break digunakan untuk menghentikan cabang yang dijalankan, bila tidak program akan diteruskan ke cabang-cabang selanjutnya

#include <conio.h> #include <stdio.h> int main() { int angka; printf ("\n masukkan angka antara 1-5 : "); scanf ("%d",&angka); switch(angka) { case 1 : printf ("\n Anda mengetikkan angka satu"); break; case 2 : printf ("\n Anda mengetikkan angka dua"); break; case 3 :

printf ("\n Anda mengetikkan angka tiga"); break; case 4 : printf ("\n Anda mengetikkan angka empat"); break; case 5 : printf ("\n Anda mengetikkan angka lima"); break; default : printf ("\n Maaf, angka yang Anda masukkan salah"); } getche(); return 0; }

Break dan Countinue

• Break

• Berfungsi untuk menghentikan loop dan berlanjut ke perintah selanjutnya

• Countinue

• Berfungsi untuk mengembalikan proses yang sedang dilaksanakan ke awal loop lagi, tanpa menjalankan sisa perintah dalam loop tersebut

#include <conio.h>

#include <stdio.h>

int main()

{

int i;

for (i=1;i<=10;i++)

{

if(i==6)

break;

printf("%5d",i);

}

printf("\n akhir pengulangan");

getche();

return 0;

} *) ganti break dengan continue, amati apa yang terjadi