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.
Pada pernyataan pernyataan diatas berdasarkan flowchart yang telah kita buat , kita dapat menuliskannya dengan menggunakan pernyataan switch seperti gambar dibawah ini :
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’ )
- 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’ )
- 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’ )
- 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.
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 :
Berdasarkan flowchart diatas, dapat dibuatkan program sebagai berikut:
Jika kita mencoba program diatas, dapat kita peroleh hasil sebagai berikut
- Untuk operator = ‘*’ (Perkalian)
- Untuk operator = ‘/’ (Pembagian)
- Untuk operator = ‘+’ (Penjumlahan)
- Untuk Operator = ‘-‘ (Pengurangan)
- Untuk Operator =(tidak terdefenisi)
Soal 3
Buatlah program untuk menampilkan menu dan melakukan proses sbb :
Menu :
- Menghitung volume kubus
- Menghitung luas lingkaran
- 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 ;
Jika kita mencoba running program diatas, maka akan kita peroleh hasil sebagai berikut :
Untuk Pilihan pertama (Case 1)
Untuk pilihan kedua (Case 2)
Untuk pilihan ketiga (Case 3)
Untuk pilihan yang tidak terdapat pada menu
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.
Recent Comments