2015 PRAKTIKUM 07 DECISION SWITCH DWI SETIYA NINGSIH // 210 315 70 25 PJJ D3 TI
D. PERCOBAAN 1. Dengan menggunakan switch case, buat program yang meminta masukan bilangan bulat dari pengguna. Jika pengguna memasukkan 1, program menampilkan Minggu ; jika pengguna memasukkan 2, program menampilkan Senin, dan seterusnya sampai dengan Sabtu. Jika pengguna memasukkan nilai di luar jangkauan 1 sampai dengan 7, program menuliskan Hari tidak Valid. Contoh Input : 3 Output : Selasa Jawab: //program menentukan nama hari berdasarkan inputan"switch..case..default" #include "stdio.h" #include "conio.h" main() int hari; printf("\t\t++++++++++++++++++++++++++++++\n"); printf("\t\t>>>masukkan Kode Hari (1-7)<<<\n"); printf("\t\t++++++++++++++++++++++++++++++\n"); printf("masukkan Kode : "); scanf("%d",&hari);
printf("\n"); switch(hari) case 1 : puts("kode 1 adalah Hari Senin"); case 2: puts("kode 2 adalah Hari Selasa"); case 3: puts("kode 3 adalah Hari Rabu"); case 4 : puts("kode 4 adalah Hari Kamis"); case 5 : puts("kode 5 adalah Hari Jumat"); case 6 : puts("kode 6 adalah Hari Sabtu"); case 7 : puts("kode 7 adalah Hari Minggu"); default : puts("kode yang Anda masukan salah!!!"); getch(); printf("\n\n"); Kesimpulan: Fungsi switch sama seperti array dimana case berfungsi sebagai index Break sebagai tanda berhenti tiap list case agar tidak perlu mengerjakan case selanjutnya. Default berfungsi sebagaimana else dalam fungsi if else 2. Implementasikan kembali program berikut ini dengan menggunakan pernyataan switch main() int valid_operator = 1; //valid_operator diinisialisasi dengan logika 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: #include<stdio.h> main() int valid_op = 1; char op; float number1, number2, result; printf("\n======================================= \n\n"); printf("\t KALKULATOR SEDERHANA\n"); printf("\n======================================= \n\n"); printf("masukkan 2 buah bilangan & sebuah operator \n"); printf("dengan format : bil_1 operator bil_2 \nlalu tekan Enter untuk melihat hasil\n\n"); printf("kemudian operator sesuai dengan keterangan berikut\n"); printf(" + = penambahan\n"); printf(" - = pengurangan\n"); printf(" * = perkalian\n"); printf(" / = pembagian\n"); printf("\n\n");
scanf("%f %c %f", &number1, &op, &number2); switch(op) case '*': result = number1 * number2; case '/': result = number1 / number2; case '+': result = number1 + number2; case '-': result = number1 - number2; default: valid_op = 0; if(valid_op) printf("\n%g %c %g adalah %g\n", number1, op, number2, result); else printf("invalid op!\n"); Kesimpulan: Switch disini digunakan untuk menyeleksi inputan operator aritmatika sehingga program penghitungan dapat berjalan. Setelah diseleksi maka akan diproses oleh case yang sesuai dengan inputan operator user 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.
Petunjuk : gunakan switch-case Jawab: #include<stdio.h> main() int opmenu; float sisi,volume_kubus,radius,luas_lingkaran,tinggi_tabung,volume_ta bung; printf("\n======================================= \n\n"); printf("\tprogram PENGHITUNG VOLUME & LUAS\n"); printf("\n======================================= \n\n"); printf("=== MENU ===\n"); printf("[1] Menghitung volume kubus\n"); printf("[2] Menghitung luas lingkaran\n"); printf("[3] Menghitung volume tabung\n"); printf("masukkan pilihan anda : "); scanf("%d",&opmenu); printf("\n"); switch(opmenu) case 1:
printf("=== Menghitung volume kubus ==="); printf("\nmasukkan panjang sisi \t = "); scanf("%f",&sisi); volume_kubus = sisi * sisi * sisi; printf("\nvolume kubus tersebut adalah %.2f",volume_kubus); printf("\n"); case 2: printf("=+= Menghitung luas lingkaran =+="); printf("\nmasukkan radius = "); scanf("%f",&radius); luas_lingkaran = 3.14 * radius * radius; printf("\nluas lingkaran tersebut adalah %.2f",luas_lingkaran); printf("\n"); case 3: printf("=== Menghitung volume tabung ==="); printf("\nmasukkan radius \t = "); scanf("%f",&radius); printf("\nmasukkan tinggi tabung \t\t = "); scanf("%f",&tinggi_tabung); volume_tabung = 3.14 * radius * radius * tinggi_tabung; printf("\nvolume tabung tersebut adalah %.2f",volume_tabung); printf("\n"); default: printf("menu yang anda masukkan salah!"); Kesimpulan: Switch disini digunakan untuk menyeleksi inputan menu yang dibutuhkan user yang nantinya akan diteruskan ke case yang sesuai dengan inputan, kemudian dihitung sesuai rumus pada masing-masing case. E. LAPORAN RESMI 1. Untuk setiap listing program dari percobaan-percobaan di atas, ambil capture outputnya. 2. Tuliskan kesimpulan dari percobaan yang telah anda lakukan.
3. Buat kesimpulan tentang else-if dan switch-case, apakah ada perbedaan atau persamaan antara dua instruksi diatas?. Jawab: NO IF ELSE SWITCH CASE 1 Menggunakan operator logika < ; <= ; => ; > Tidak dapat menggunakan operator logika 2 Tidak memerlukan perintah break untuk berhenti Memerlukan perintah break untuk berhenti 3 Digunakan untuk memilih 1 dari 2 atau lebih kondisi Digunakan untuk memilih banyak kondisi