![Percabangan dengan Switch C++ disertai Contoh, Tugas dan Jawaban Percabangan dengan Switch C++ disertai Contoh, Tugas dan Jawaban](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKUKJdsDJqm0i3vvYS7rfwTFmI7ugTL0876rf_czdoAjBPoe53XQzyJLoTJ-y04RiYTcjYH5RGEOo8dsZ7e5a4nGRgGSOJrHdsiA3oQ5UtYATdYL9juFzvSj8-6zBSEJDs8yYFC4qFUHs/s1600/Percabangan+%2528Selection%2529+Dengan+Switch.jpg)
DAFTAR ISI
1. Uraian Materi
Bentuk dari struktur percabangan yang menggunakan kata kunci switch ini adalah sebagai berikut :Switch (ekspresi) {
case nilai_konstan1 : Statemen_statemen; break;
case nilai_konstan2 : Statemen_statemen; break;
........
case nilai_konstanN : Statemen_statemen; break;
default
Statemen-statemen_alternatif;
}
Tipe data dari ekspresi di atas haruslah bilangan bulat atau karakter. Dalam bahasa C standar kita diizinkan untuk menuliskan 257 buah statement case dalam sebuah struktur C++ mengizinkan 16.384 buah.
2. Contoh Program
Contoh ke-1
Nilai A jika nilai diatas 80,
Nilai B jika 70<= nilai <80,
Nilai C jika 50 <= nilai <70,
Nilai D jika 30 <= nilai <50,
Nilai E jika nilai <30
Source code :
#include <iostream>
using namespace std;
main(){
int nilai;
cout<<"Masukkan nilai test : ";cin>>nilai;
switch (nilai/10)
{
case 10 :
case 9 :
case 8 :cout<<'A'<<endl;break;
case 7 :cout<<'B'<<endl;break;
case 6 :
case 5 :cout<<'C'<<endl;break;
case 4 :
case 3 :cout<<'D'<<endl;break;
case 2 :
case 1 :
case 0 :cout<<'E'<<endl;break;
default :cout<<"Salah, nilai diluar jangkauan. \n";
}
}
Running program :
![program dengan switch, untuk melihat nilai akhir test program dengan switch, untuk melihat nilai akhir test](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKuKky9WJr6mXwJNLvo5eGVlNoQejv1ZiuBuFjZo-ljzvUnjAa2VweMMzIWnlT2JIgXhH3bsjCoR3hlLeGlPdXYDySowMnvhINUyY6K-zaOaCy30hTJUPuZWnYL3JAR7X_zNBT44-DkBo/s1600/l1-1.png)
Contoh ke-2 Menghitung nilai UAS, UTS dan Tugas menggunakan Case (range)
#include <iostream>
#include <stdio.h>
using namespace std;
main(){
float uts,uas,tugas;
int nilaiakhir;
string nilaihuruf;
//Meminta user memasukkan nilai uts,uas dan tugas
cout<<"Masukkan nilai UTS : ";cin>>uts;
cout<<"Masukkan nilai UAS : ";cin>>uas;
cout<<"Masukkan nilai Tugas : ";cin>>tugas;
//Menghitung nilai akhir
nilaiakhir = ((0.35*uts)+(0.45*uas)+(0.2*tugas));
//Menentukan nilai huruf
switch (nilaiakhir)
{
case 85 ... 100: nilaihuruf="A"; break;
case 70 ... 84: nilaihuruf="B";break;
case 55 ... 69: nilaihuruf="C";break;
case 40 ... 54: nilaihuruf="D";break;
case 0 ... 39: nilaihuruf="E";break;
default :cout<<"Salah, nilai diluar jangkauan. \n";
}
//menampilkan nilai angka dan nilai huruf
cout<<"==================================="<endl;
cout<<"Nilai akhir angka : "<<nilaiakhir<<endl;
cout<<"Nilai akhir huruf : "<<nilaihuruf<<endl;
}
Running program :
⇛ Kondisi saat nilai antara 86 sampai 100
![Kondisi saat nilai antara 86 sampai 100 Kondisi saat nilai antara 86 sampai 100](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuo9sDzLXuJxh_W0W64rY1Yp06pVdSx1lPAIDw45JN5JbSkE60CZd6zTOuMW3CnCRdNyhDUpZHg-CLTqDs2bdwdHGy1BeXt0I6_tg0SuDdExSOL-Z9jpWffnL3J-lbVpSzzOrgO9pMKWw/s1600/l1-1.png)
⇛ Kondisi saat nilai antara 70 sampai 84
![Kondisi saat nilai antara 70 sampai 84 Kondisi saat nilai antara 70 sampai 84](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVcJk6X-Naq5Xd83psOlHtoS4tYWZcZ0xMHm_6VwcGxdtGTSDGkK8V6Z057Y_7QdSEMM-pYKwV6RpOOcEPFXmLScas7Wl9Eh-wmXe0y5sU_IL0y_dAtjIg9BAEpzRkodZi_HV88izqgeU/s1600/l1-2.png)
⇛ Kondisi saat nilai antara 55 sampai 69
![Kondisi saat nilai antara 55 sampai 69 Kondisi saat nilai antara 55 sampai 69](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjl0AXB00rSSuKjT__f6GZj_vJBUAuEsYgD6Oghg0qhNOXLcuLjSREEjLNs1Tw5fNdHQxyMLpdkMsOH5m01vvyJ4rpLDBCEdIjJcgWX1WeYH3z-jKtIDJsg2t9TvxsxZ9hEmhsIURTKesg/s1600/l1-3.png)
⇛ Kondisi saat nilai antara 40 sampai 54
![Kondisi saat nilai antara 40 sampai 54 Kondisi saat nilai antara 40 sampai 54](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj8fnlf9PD1mgLVyjOru0jMRpA_XNiqRyQoAftyKkIS7neA63jW0KHh1BhFF6jV8gfCon1mtbY92j-QaUWTkHdKzoZ2FOFzk-nw7BQ7C6jiFYVjY6-bC45Z6QNoQHBgK7WVtYyxCGJo_6Y/s1600/l1-4.png)
⇛ Kondisi saat nilai antara 0 sampai 39
![Kondisi saat nilai antara 0 sampai 39 Kondisi saat nilai antara 0 sampai 39](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMrwVkDvWpi4e82Ml2uctZVZS_ShIUq_GtK-GADW0_QD6UzvRpwGfrT_CcEGBP53ewZRdAbzvHDlbyznW3tb4016Nw_vgZTs3pwDWWOBW94FjcYfMA9PPgOdOrslwpkiELIyPB2jMlGnI/s1600/l1-5.png)
⇛ Kondisi jika nilai di luar jangkauan
![Kondisi jika nilai di luar jangkauan Kondisi jika nilai di luar jangkauan](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhw0BXDYnT2_3Jq-7EEIJsM4vCaLU3_81uqlAR0QKiOlBgoUdSaEVjetHX-06c_pPgwsrzBLsdOhdke-UQipSW9CfiADGiks2r4P52iZF0CNA3oBiZUeVil5c-MxghZlsU4hipERVtR0lM/s1600/l1-6.png)
Contoh ke-3
#include <iostream>
using namespace std;
main(){
char kode;
cout<<"Masukkan Kode Barang [A..C] : ";cin>>kode;
switch (kode)
{
case 'A' :
cout<<"Alat Olah Raga";break;
case 'B' :
cout<<"Alat Elektronik";break;
case 'C' :
cout<<"Alat Masak";break;
default :
cout<<"Anda Salah Memasukan kode\n";
}
}
Running program :
⇛ Kondisi saat meng-input "A"
![Kondisi saat meng-input "A" Kondisi saat meng-input "A"](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJbzb210Fv5bvh6Kon-E-kpa2AknaW-yZVRd_N_3H7Z5-Gzjzdl4CM8iw1pCJ7UiymBgyKjwJfIkQ4hleFab1d6SdsSOk39RVdLsLHrMXILu_08b-gYDaDlLYWWIL12VcOr1U6So3c4HY/s1600/l1-1.png)
⇛ Kondisi saat meng-input "B"
![Kondisi saat meng-input "B" Kondisi saat meng-input "B"](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEht2Sc0lddifQpFBLAdG_lf3-U_vMssNgQcTYxxvgkpWHRy6EByWTghN8qwrWpBVVLKb79yhKO4PNf5gRpq4viZw8XVJvqK1iRXEYZg2C_9v6rCwWTCbQ8l6wCcGm1pexFcSld63zGGsqc/s1600/l1-2.png)
⇛ Kondisi saat meng-input "C"
![Kondisi saat meng-input "C" Kondisi saat meng-input "C"](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgKFAOeq2VU1XEHBqUmxiijYic78bCB2Vj0uVJeS2FNRP_olYu0sHAE7Ou287Cm0riHJV5nbjHKPqAwSq-7wIbxGx2K_EE4-hL0gtqxnZulviUf35uNoO_iiFbYGXdBRxbBTzEL3tP_2Cc/s1600/l1-3.png)
⇛ Kondisi saat meng-input selain "A, B dan C"
![Kondisi saat meng-input selain "A, B dan C" Kondisi saat meng-input selain "A, B dan C"](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiJ7emQw3OYeL0Vv60o6ajYJ0j2ThUa4VOJcncSipgNWEwY8cly_wuj_HsYjz77gakCrzE9lLz3b4jW58EBHTltjNIdWaxcp5vgfXpzRWmdygM56IyXHIXtORDrSVmJEAMx2vs18emRaAU/s1600/l1-4.png)
Contoh ke-4 Menentuhan Jumlah hari dalam 1 bulan
#include <iostream>
using namespace std;
main(){
int AngkaBulan,tahun,JumlahHari;
cout<<"Angka Bulan : ";cin>>AngkaBulan;
cout<<"Tahun : ";cin>>tahun;
switch (AngkaBulan)
{
case 1 :
case 3 :
case 5 :
case 7 :
case 8 :
case 10 :
case 12 : JumlahHari=31; break;
case 4 :
case 6 :
case 9 :
case 11 : JumlahHari=30; break;
case 2 : if(tahun % 4 == 0)JumlahHari = 29;
else JumlahHari = 28;break;
default :cout<<"Salah, nilai diluar jangkauan. \n";
}
cout<<"============================="<<endl;
cout<<"Jumlah hari "<<JumlahHari;cout<<endl;
cout<<"============================="<<endl;
}
Running program :
![Menentuhan Jumlah hari dalam 1 bulan Menentuhan Jumlah hari dalam 1 bulan](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9vHkikAz0FedXf6bRdmDyhYQYTFucKJWqO_BWQlPKhcn5EdeRONXfNyQ8RMSVmipqkmeiU-SAx3D8vQe465jF5u5IpaYxDEmu3ec6LepsD7WeAZOXkJbsXJkliqA6cZNzQacq4RxC6qo/s1600/l1.png)
3. Tugas
- Buatlah program untuk menentukan posisi suatu titik pada koordinat cartesius berada pada kuadran ke berapa. Masukan dari program ini adalah sumbu X dan sumbu Y. Untuk menentukan berada pada kuadran berapa didasarkan pada :
Jika sumbu x positif dan sumbu Y positif maka berada pada kuadrat I jika sumbu X negatif dan sumbu Y positif maka berada pada kuadtan II jika sumbu X negatif dan sumbu Y negatif maka berada pada kuadrat III jika sumbu X positif dan sumbu Y negatif maka berada pada kuadran IV. - Buatlah program untuk mengkonversi suatu angka numerik menjadi suatu bilangan. Misalnya jika dimasukan angka 1200 maka akan ditampilkan tulisan "seribu dua ratus".
- Buatlah program kalkulator sederhana, dengan keleuaran program sebagai berikut :
4. Jawaban
Pending