Jumat, 19 Desember 2008

Pernyataan switch

Pernyataan switch merupakan pernyataan yang dirancang khusus untuk menangani
pengambilan keputusan yang melibatkan sejumlah alternatif, misalnya untuk menggantikan
pernyataan if bertingkat. Bentuk umum pernyataan switch adalah :
dengan ekspresi dapat berupa ekspresi bertipe integer atau bertipe karakter. Demikian juga
konstanta-1, konstanta-2, …, konstanta-n dapat berupa konstanta integer atau karakter. Setiap
pernyataan-i (pernyataan-1, … , pernyataan-n) dapat berupa pernyataan tunggal ataupun
pernyataan jamak. Dalam hal ini urutan penulisan pernyataan case tidak berpengaruh. Proses
penyeleksian berlangsung sebagai berikut :


􀂃 pengujian pada switch akan dimulai dari konstanta-1. Kalau nilai konstanta-1 cocok dengan
ekspresi maka pernyataan-1 dijalankan. Kata kunci break harus disertakan di bagian akhir
setiap pernyataan case, yang akan mengarahkan eksekusi ke akhir switch.
􀂃 Kalau ternyata pernyataan-1 tidak sama dengan nilai ekspresi, pengujian dilanjutkan pada
konstanta-2, dan berikutnya serupa dengan pengujian pada konstanta-1.
􀂃 Jika sampai pada pengujian case yang terakhir ternyata tidak ada kecocokan, maka pernyataan
yang mengikuti kata kunci default yang akan dieksekusi. Kata kunci default ini bersifat
opsional.
switch (ekspresi)
{
case konstanta-1:
pernyataan-1;
......
break;
case konstanta-2:
.
.
.
case konstanta-n:
pernyataan-n;
.......
break;
default:
.......
.......
break;
}



􀂃 Tanda kurung kurawal tutup (}) menandakan akhir dari proses penyeleksian kondisi case.
Di bawah ini contoh program pemakaian pernyataan switch untuk menggantikan if-else
bertingkat pada program kalkulator1.c di atas.
/* File program : kalkulator2.c
Contoh penggunaan pernyataan switch untuk mengimplementasikan
kalkulator sederhana */
#include
main()
{
int valid_operator = 1;
char operator;
float number1, number2, result;
printf("Masukkan 2 buah bilangan dan sebuah operator\n");
printf("dengan format : number1 operator number2\n\n");
scanf("%f %c %f", &number1, &operator, &number2);
switch(operator) {
case '*' : result = number1 * number2; break;
case '/' : result = number1 / number2; break;
case '+' : result = number1 + number2; break;
case '-' : result = number1 - number2; break;
default : valid_operator = 0;
}
if(valid_operator)
printf("%g %c %g is %g\n", number1, operator,
number2,result);
else
printf("Invalid operator!\n");
}
Contoh eksekusi :
Masukkan 2 buah bilangan dan sebuah operator
Dengan format : number1 operator number2
23.2 = 12
invalid operator !

Tidak ada komentar:

Posting Komentar

pesan


ShoutMix chat widget