Latihan Soal Dasar Percabangan dalam ujian akhir semester atau pun ujian lainnya. siswa bisa memahami dan latihan mengerjakan Latihan Soal Dasar Percabangan. karena ujian kejuruan itu butuh waktu lama untuk memahaminya.
1. Perhatikan algoritma berikut
Input(iGol)
Input(iJam)
iUpah=0
Case(iGol)
1: iUpah = 3000
2: iUpah = 3500
3: iUpah = 4000
4: iUpah = 5000
End case
If (iJam > 40) Then
iGaji = 40 * iUpah + ((iJam – 40) * 1.5 * iUpah)
Else
iGaji = iJam * iUpah
End if
Output(iGaji)
Berapa output gaji yang didapatkan jika diketahui input gol=4 dan jam =20 ialah…..
a. 200.000
b. 300.000
c. 100.000
d. 1.000.000
e. 400.000
2. Perhatikan algoritma berikut !
printf(” Masukkan Gaji Pokok : “);
scanf(“%d”,&iGajiPokok);
printf(” Masukkan JmlAnak : “);
scanf(“%d”,&iJmlAnak);
if (iJmlAnak<=3 && iJmlAnak>0)
iTunjangan = iJmlAnak * 0.1 * iGajiPokok;
else if (iJmlAnak>3)
iTunjangan = 3 * 0.1 * iGajiPokok;
else
iTunjangan =0;
printf(“\nTunjangan Anak adalah sebesar Rp.%d \n”, iTunjangan);
Berapakah tunjangan anak yang akan didapatkan jika gaji pokok = 1.000.000 dan jumlh anak = 2 ialah….
a. 0
b. 200.000
c. 400.000
d. 500.000
e. 300.000
3. Sebuah acara wisata digunakan minibus kapasitas 7 penumpang per mobil. Apabila terjadi kelebihan penumpang
(walaupun cuma 1), maka minibus yang digunakan ditambah 1. Tulis program untuk menghitung jumlah minibus
yang diperlukan, bila jumlah pesertanya diinput.
int main(){
int iPeserta,iMinibus;
printf(” Masukkan jml peserta : “);
scanf([“%d”,&iPeserta]);
iMinibus=0;
if ([iPeserta > 7]){
iMinibus = iPeserta / 7;
if ([iPeserta % 7 != 0])
([iMinibus++;])
}else if ([iPeserta > 0])
iMinibus=1;
printf(“Minibus yg diperlukan: %d\n”,iMinibus);
“%d”,&iPeserta
a. iPeserta > 7
b. iPeserta % 7 != 0
c. iMinibus++;
d. iPeserta > 0
4. Perhatikan Algoritma Biaya_Parkir dibawah ini!
{menghitung biaya parkir}
KAMUS DATA
iMasuk, iKeluar, iLama, iBiaya: Integer
BEGIN
Input(iMasuk)
Input(iKeluar)
If (iKeluar >= iMasuk) Then
iLama = iKeluar – iMasuk
Else
iLama = (12-iMasuk) + iKeluar
End If
If (iLama > 2) Then
iBiaya=2000 + ((iLama – 2)*500)
else
iBiaya = 2000
Output(iBiaya)
END
Jika diberikan input iMasuk=9 dan iKeluar =12 berapa biaya parkir yang harus dibayarkan…..
a. 2000
b. 500
c. 3000
d. 4000
e. 2500
5. Perhatikan potongan program berikut!
char uname[50],pass[50];
int main()
{
printf(“Username : “); scanf(“%s”,uname);
printf(“Password : “); scanf(“%s”,pass);
if (strcmp(uname,”Baskom”)==0 && strcmp(pass,”Kece”)==0)
{
printf(“Login Sukses \n”);
printf(“Silahkan Lanjutkan\n”);
}
else printf(“Login Gagal\n”);
return 0;
}
jika username = “Basko” dan username =”kece”, maka outputnya adalah…..
a. Tidak ada jawaban yang benar
b. Silahkan lanjutkan
c. Login Sukses Silahkan lanjutkan
d. Berhasil
e. Login gagal
6. Perhatikan potongan notasi algoritmik berikut.
input(a, b, c)
if (a < b) then
a = b + c – 2
b = c – 1
if (a div 3 = 2) then
if (b mod 2 = 0) then
output(‘apa’)
else
output(‘ada’)
else
output(‘api’)
else output(‘adi’)
Jika diberi masukan 4, 5, 6 maka hasil yang ditampilkan adalah…
api
7. perhatikan program berikut
int i;
int main ()
{
printf(“Masukkan urutan hari :”); scanf(“%d”,&i);
switch(i)
{
case 1:printf(“Senin”);break;
case 2:printf(“Selasa”);break;
case 3:printf(“Rabu”);break;
case 4:printf(“Kamis”);break;
case 5:printf(“Jumat”);break;
case 6:printf(“Sabtu”);break;
case 7:printf(“Minggu”);break;
default : printf(“Angka di luar urutan hari”);break;
} }
jika i=8 maka outputnya ialah….
a. Kamis
b. Rabu
c. Senin
d. Angka diluar urutan hari
e. Selasa
8. int sisauang;
int karung,kantong,plastik;
printf(“Masukan banyak uang”);
[scanf(“%d”,&uang);]
if(uang>=10000){
karung=uang/250000;
sisauang=uang-(karung*250000);
kantong=[kantong=sisauang/50000;]
sisauang=[sisauang=sisauang‑(kantong*50000);]
plastik=[ plastik=sisauang/10000;]
sisauang=[sisauang=sisauang‑(plastik*10000);]
printf(“%d karung %d kantong %d plastik %d “, karung,kantong,plastik,sisauang);
}else{
printf(“Uang tidak cukup”);
}
9. Your answer is incorrect.
The correct answer is:
Lengkapi potongan program dibawah ini!
scanf(“%d”, &angka1);
scanf(“%d”, &angka2);
if ((angka1 % 2) == 1) {
[printf(“Angka ke 1 ganjil\n”);]
}else{
[printf(“Angka ke 1 genap\n”);]
}
if ((angka2 % 2) == 1) {
[printf(“Angka ke 2 ganjil\n”);]
}else {
[printf(“Angka ke 2 genap\n”);]
}
10. Perhatikan penggalan algoritma di bawah ini
a = 3; b = 2
if ( a / b % 2 == 0)
output(a+a / b )
else
output( a-a % b)
if ( a % b / 2 == 0)
output( (a+b) % (a-b) )
Apakah output dari penggalan algoritma di atas ?
a. 0 dan 2
b. 3 saja
c. 2 dan 5
d. 2 dan 0
e. 2 saja
11. Perhatikan program berikut!
int i=1;
while(i<=20){
printf(“%d “,i);
i=i+2;
}
Output yang akan dihasilkan program diatas ialah……
a. 1 3 5 7 9 11 13 15 17 19
b. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
c. 2 4 6 8 10 12 14 16 18 20
d. Tidak ada jawaban yang tepat
e. 1 2 3 4 5 6 7 8 9 0
12. int N;
printf(“Masukkan Bilangan Bulat : “);
[scanf(“%d”, &N);]
if(N<10){
[printf(“N adalah Satuan”);]
}
[else if(N<100){]
printf(“N adalah Puluhan”);
}
else if(N<1000){
[printf(“N adalah Ratusan”);]
}
else{
printf(“N bukan satuan, puluhan ataupun ratusan”);
}
13. Perhatikan potongan program berikut!
do{
if (i % 3 == 0)
printf(” %d “,i);
i=i+1;
}while(i<=j);
Jika diketahui i= 1 dan j=10, berapa output yang akan dihasilkan…..
a. 3 1 7
b. 2 2 2
c. 1 2 3
d. 3 6 9
e. 2 3 4
14. Lengkapi potongan program berikut!
char pilihan;
[float] R1, R2, R3, Rseri, Rparalel;
printf(“Program pemilihan proses menghitung rangkaian\n”);
printf(“A. Proses rangkaian seri \n”);
printf(“B. Proses rangkaian paralel\n”);
printf(“C. Selesai\n”);
printf(“Pilih menu : \n”);
scanf(“%c”, &pilihan);
switch(pilihan){
case ‘A’ : printf(“Rangkasian Seri\n”);
[Rseri=R1+R2+R3;]
[printf(“Rangkaian seri total =%f”, Rseri);]
break;
case ‘B’ : printf(“Rangkaian Parallel\n );
[Rparalel=(1/((1/R1)+(1/R2)+(1/R3)));]
[printf(“Rangkaian paralel total =%f”, Rparalel);]
break;
case ‘C’ :
return 0;
break;
Default: (“Tidak ada menu tersebut”);
}
15. PLN menerapkan pembayaran listrik perumahan dengan cara perhitungan sebagai berikut :
– Untuk golongan 1 tarif : Rp 1000/kWh
– Untuk golongan 2 tarif : Rp 2000/kWh
Dengan syarat penghitungan:
Minimum pembayaran adalah 100 kWh sedangkan untuk pemakaian 1000 kWh dan seterusnya tarifnya ditambah
10% dari total pembayaran.
lengkapi program berikut!
printf(“masukkan golongan: “);
scanf(“%d”,&iGol);
printf(“masukkan jam pemakaian: “);
scanf(“%d”,&iPakai);
if (iGol == 1 ){
[ iTarif]=1000;
}else{
iTarif=2000;}
if (iPakai < 100){
iBayar=[100*iTarif];
}else if ([iPakai >= 1000])
{iBayar=iPakai*iTarif*1.1;}
else
{iBayar=iPakai * iTarif;}
printf(“\n yg harus dibayarkan %d\n”,iBayar);
Demikian artikel Latihan Soal Dasar Percabangan yang saya buat semoga bermanfaat.