Soal 1

Menuliskan kembali pernyataan-pernyataan di bawah ini dengan menggunakan pernyataan switch
if( letter == ‘X’ )
sum = 0;
else if ( letter == ‘Z’ )
valid_flag = 1;
else if( letter == ‘A’ )
sum = 1;
else
printf(“Unknown letter –>%c\n”, letter );

Jawab

Kasus atau masalah diatas, dapat kita buatkan flowchart seperti gambar dibawah ini agar memudahkan kita untuk mengubah pernyataan diatas dalam bentuk switch-case. Seperti gambar dibawah ini.

  • Facebook
  • Twitter
  • Google+
  • Pinterest

Pada pernyataan pernyataan diatas berdasarkan flowchart yang telah kita buat , kita dapat menuliskannya dengan menggunakan pernyataan switch seperti gambar dibawah ini :

  • Facebook
  • Twitter
  • Google+
  • Pinterest

Jika kita melakukan running untuk menguji progran diatas, kita akan mendapatkan hasil running seperti gambar dibawah ini ;

  • Untuk input yang kita berikan adalah ‘X’ maka program akan menjalankan untuk pilihan case ‘X’ atau sama halnya dengan pilihan kondisi if( letter == ‘X’ )
  • Facebook
  • Twitter
  • Google+
  • Pinterest
  • Untuk input yang kita berikan adalah ‘Z’ maka program akan menjalankan untuk pilihan case ‘Z’ atau sama halnya dengan pilihan kondisi else if( letter == ‘Z’ )
  • Facebook
  • Twitter
  • Google+
  • Pinterest
  • Untuk input yang kita berikan adalah ‘A’ maka program akan menjalankan untuk pilihan case ‘A’ atau sama halnya dengan pilihan kondisi else if( letter == ‘A’ )
  • Facebook
  • Twitter
  • Google+
  • Pinterest
  • Untuk input yang kita berikan adalah diluar kondisi yang telah kita buat atau tidak ada pilihan case yang memenuhi maka pada program yang telah kita buat, program akan menjalankan perintah pada opsi default atau sama halnya dengan kondisi else pada progran sebelumnya.
  • Facebook
  • Twitter
  • Google+
  • Pinterest

Soal 2

Mengubah program di bawah ini, implementasikan kembali dengan menggunakan
pernyataan switch

main()
{
int valid_operator = 1;
char operator;
float number1, number2, result;
printf(“Masukkan 2 buah bilangan & sebuah operator\n”);

printf(“dengan format : number1 operator number2\n\n”);
scanf(“%f %c %f”, &number1, &operator, &number2);

if(operator == ‘*’)
result = number1 * number2;
else if(operator == ‘/’)
result = number1 / number2;
else if(operator == ‘+’)
result = number1 + number2;
else if(operator == ‘-‘)
result = number1 – number2;
else
valid_operator = 0;

if(valid_operator)
printf(“\n%g %c %g is %g\n”, number1, operator,
number2, result );
else
printf(“Invalid operator!\n”);
}

Jawab

Program diatas dapat dibuatkan flowchart seperti gambar berikut :

  • Facebook
  • Twitter
  • Google+
  • Pinterest

Berdasarkan flowchart diatas, dapat dibuatkan program sebagai berikut:

  • Facebook
  • Twitter
  • Google+
  • Pinterest
Part 1
  • Facebook
  • Twitter
  • Google+
  • Pinterest
Part 2

Jika kita mencoba program diatas, dapat kita peroleh hasil sebagai berikut

  • Untuk operator = ‘*’ (Perkalian)
  • Facebook
  • Twitter
  • Google+
  • Pinterest
  • Untuk operator = ‘/’ (Pembagian)
  • Facebook
  • Twitter
  • Google+
  • Pinterest
  • Untuk operator = ‘+’ (Penjumlahan)
  • Facebook
  • Twitter
  • Google+
  • Pinterest
  • Untuk Operator = ‘-‘ (Pengurangan)
  • Facebook
  • Twitter
  • Google+
  • Pinterest
  • Untuk Operator =(tidak terdefenisi)
  • Facebook
  • Twitter
  • Google+
  • Pinterest

Soal 3

Buatlah program untuk menampilkan menu dan melakukan proses sbb :
Menu :

  1. Menghitung volume kubus
  2. Menghitung luas lingkaran
  3. Menghitung volume silinder.

Input : pilihan user (1, 2 atau 3)
Jika pilihan = 1, maka :
Input : panjang sisi kubus
Output : Volume kubus (vol = sisi3)
Jika pilihan = 2, maka :
Input : panjang jari-jari lingkaran
Output : Luas lingkaran (luas = 3.14 * r2)
Jika pilihan = 3, maka :
Input : panjang jari-jari lingkaran & tinggi silinder
Output : Volume silinder (vol = 3.14 * r2 * t)
Jika pilihan selain 1, 2 & 3 (default) : Tampilkan pesan kesalahan.

Jawab

Program diatas dapat kita buatkan flowchart sebagai berikut ;

  • Facebook
  • Twitter
  • Google+
  • Pinterest
Part 1
  • Facebook
  • Twitter
  • Google+
  • Pinterest
Part 2

Jika kita mencoba running program diatas, maka akan kita peroleh hasil sebagai berikut :

Untuk Pilihan pertama (Case 1)

  • Facebook
  • Twitter
  • Google+
  • Pinterest

Untuk pilihan kedua (Case 2)

  • Facebook
  • Twitter
  • Google+
  • Pinterest

Untuk pilihan ketiga (Case 3)

  • Facebook
  • Twitter
  • Google+
  • Pinterest

Untuk pilihan yang tidak terdapat pada menu

  • Facebook
  • Twitter
  • Google+
  • Pinterest

Kesimpulan

Persamaan else if dengan switch case adalah Dapat digunakan dalam pemilihan atau pengambilan keputusan yang multiple atau pilihan yang diberikan lebih dari dua keadaan saja sehingga kedua perintah diatas memiliki peranan yang sama dan juga kerja yang sama

Perbedaan else if dengan switch case adalah struktur penulisan atau pemakaian else if dengan switch case berbeda. Pada else if, awalan dan akhiran dari perintah yang mencangkup kondisi yang terikat dalam tubuh else if tersebut ditandai dengan tanda kurung kurawal. Sedangkan pada Switch case, awalan diatndai setelah tanda titik dua pada case yang bersangkutan dan diakhiri dengan perintah break sebagai pertanda bahwa pengambilan keputusan telah selesai dan mengeluarkan dari fungsi switch case tersebut.