Percabangan majemuk disini yang dimaksud adalah suatu percabangan yang menyajikan banyak alternatif pilihan pernyataan yang sesuai dengan kondisi yang dipertanyakan. Dalam bahasa C/C++ percabangan ini menggunakan perintah SWITCH sedangkan pada pascal menggunakan case…of.
Perintah switch akan menyeleksi kondisi yang diberikan dan kemudian membandingkan hasilnya dengan konstanta- konstanta yang berada di case. Pembandingan akan dimulai dari konstanta 1 sampai konstanta terakhir. Jika hasil dari kondisi sama dengan nilai konstanta tertentu, misalnya konstanta 1, maka pernyataan 1 akan dijalankan sampai ditemukan break.
Pernyataan break akan membawa proses keluar dari perintah switch. Jika hasil dari kondisi tidak ada yang sama dengan konstanta-konstanta yang diberikan, maka pernyataan pada default akan dijalankan
Pernyataan break akan membawa proses keluar dari perintah switch. Jika hasil dari kondisi tidak ada yang sama dengan konstanta-konstanta yang diberikan, maka pernyataan pada default akan dijalankan
Bentuk umumnya
switch(ekspresi)
{
case konstanta1 :
pernyataan1;
break;
case konstanta2 :
pernyataan2;
break;
…..
….
….
Default : pernyataanx;
}
Sebuah program yang dibuat dengan bahasa c jika dijalankan akan memiliki tampilan seperti berikut ini :-------------------------------------------------------
K A L K U L A T O R
1. Penjumlahan
2. Pengurangan
3. Perkalian
4. Pembagian
Pilih(1-4) :
--------------------------------------------------------
Penyelesaian
Berikut ini merupakan gambar algoritma flowchartnya
Source code nya:
#include
int main()
{
int pilih,tekan;
float a,b,total;
printf(" K A L K U L A T O R");
printf("\n Menu Utama");
printf("\nx====================================x");
printf("\nx 1. Penjumlahan x");
printf("\nx 2. Pengurangan x");
printf("\nx 3. Perkalian x");
printf("\nx 4. Pembagian x");
printf("\nx====================================x");
printf("\nPilih(1-4) :: ");
scanf("%d",&pilih);
switch(pilih)
{
case 1 :
printf("\nMasukan bilangan I :");
scanf("%f",&a);
printf("\nMasukan bilangan II :");
scanf("%f",&b);
total= a+b;
printf("Hasil Penjumlahan %f + %f =",a,b);
break;
case 2 :
printf("\nMasukan bilangan I :");
scanf("%f",&a);
printf("\nMasukan bilangan II :");
scanf("%f",&b);
total= a-b;
printf("Hasil Penjumlahan %f - %f =",a,b);
break;
case 3 :
printf("\nMasukan bilangan I :");
scanf("%f",&a);
printf("\nMasukan bilangan II :");
scanf("%f",&b);
total= a*b;
printf("Hasil Penjumlahan %f * %f =",a,b);
break;
case 4 :
printf("\nMasukan bilangan I :");
scanf("%f",&a);
printf("\nMasukan bilangan II :");
scanf("%f",&b);
total= a/b;
printf("Hasil Penjumlahan %f / %f =",a,b);
break;
}
printf("%f",total);
}
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.