Jawab:30
Jawab:12
21. Tentukan hasil akhir dari program berikut ini, jika a,b,c berturut-turut diisi 5, 11, 32 :
a a mod b
b c div a
a b mod c
output(a)
jawab: 6
22. Untuk program :
input(batas1)
input(batas2)
if 40>batas1 and batas2>300 then
batas1=200
endif
if 30>batas1 or batas2>200 then
batas1=100
endif
if 20>batas1 and batas2>100 then
batas1=50
endif
output(batas1)
jika masukkan dari pengguna, untuk batas1 adalah 14 dan batas2 adalah 104, maka hasil
program ini adalah……………….
Jawab: 100
23. for (I0;i<10;i++)
if A < 30 then
x x + 1
endif
endfor
output(x)
Jika nilai A dan x berturut-turut diisi dengan angka 30, 10 pada awal program, maka hasil dari
program ini adalah …………….
Jawab:10
24. Apakah hasil dari program berikut ini :
a 5
for (x1;x>a;x++)
for (y1;y>x;x++)
output(”#”)
endfor
output(”\n”) {ganti baris}
endfor
Jawab: tidak ada output
25. Kamus
n, i, hasil, token: integer
Begin
input (n)
hasil 0
token 0
i 1
while (i ≤ n) do
if (i mod 2 = 1) then
hasil hasil + i
token token + 1
endIf
i i + 1
endWhile
output (hasil,token)
End
Apa hasil keluaran variabel hasil dan token dari algoritma di atas bila n=10!
Jawab: hasil:25, token: 5
26. Input(N)
IF (N > 50) THEN
N N – 25
IF (N > 75) THEN
N N – 20
ELSE
N N – 10
ENDIF
ENDIF
Output(N)
Berapa nilai akhir N, apabila nilai awal N diinputkan 35 ?
Jawab: 35
m m2 – m1
if( m<0 )
h2 h2 - 1
m 60 - m1 + m2
endif
29. Di bawah ini adalah pseudocode dari algoritma penghitungan luas permukaan balok. Inputan
dari user berupa panjang, lebar, dan tinggi. Outputan berupa luas permukaan balok tersebut.
Kamus Data
___(a)___: ________(b)_________
___(c)___: ________(d)_________
___(e)___ : ________(f)_________
___(g)___ : ________(h)_________
Algoritma
Input (iPanjang,ilebar,iTinggi)
iLuasPerm ________(i)________
output (______(j)______)
End Algoritma
(a) iPanjang
(b) integer
(c) ilebar
(d) integer
(e) iTinggi
(f) integer
(g) iLuasPerm
(h) integer
(i) iPanjang * Ilebar * iTinggi * 6
(j) iLuasPerm
30. Lengkapi program berikut
//Algoritma Gaji_Pegawai
//hitung jumlah dan rata-rata gaji
//dari data gaji seluruh pegawai yang diinput
void main() {
//KamusData
...1)
//Begin
printf(“Masukkan banyaknya pegawai : ”);
scanf(...2));
Jml = ...3);
for (i=1;i<=...4);i++) {
printf(“Masukkan data gaji pegawai ke-%d : ”,... 5));
scanf(...6));
Jml = ... 7);
}
Rata2 =...8);
printf(...9));
printf(...10));
}
//End
int main()
{
int Jml,banyak, gaji,Rata2,i;
system("PAUSE");
return 0;
}
31. Lengkapi program berikut agar tampilan yang diharapkan sebagai berikut
//Program JumlahDeret
//hitung Jml = 5 + 10 + 15 + ... + 45 + 50 }
void main() {
//KamusData
int Jml, i;
//Begin
Jml =0;
printf(“Jumlah dari “);
i=5;
while (i<55) {
printf(“%d + “,i);
Jml =Jml+i;
i=i+5;
}
printf(“%d”, Jml);
}
//End
Kamus data
statstop : boolean
x,bMax : integer
Begin
statstop true
bMax -999
while (statstop) do
output(”masukkan angka yang ingin dibandingkan : ”)
input(x)
if (x < 0) then
output(”masukkan hanya bilangan bulat positif”)
endif
output(”akhiri dengan masukkan angka -999”)
if(x = -999) then
statstop false
else
if(x>bMax) then
bMax x
endif
endif
endwhile
if(bMax = -999) then
output(”Tidak ada angka yang dimasukkan”)
else
output(”Nilai terbesar adalah”,bMax)
End
33. Buatlah algoritma untuk menghitung pangkat suatu bilangan dengan menggunakan perulangan.
Contoh :
Bilangan : 5
Pangkat : 4
5 dipangkatkan 4 = 625.
Algoritma Pangkat
Kamus Data
i, bilangan, pangkat, hasil: Integer
Begin
Input(bilangan)
Input(pangkat)
Hasil1
i1
While (i<=pangkat) Do
hasil hasil * bilangan
i++
End While
Output(hasil)
End
34. Buatlah pseudocode/algoritma untuk mengkonversi mata uang menjadi pecahan 10 ribuan, lima
ribuan, seribuan, lima ratusan, seratusan.
Contoh :
input : 16000.
Ouput : 1 buah sepuluh ribuan, 1 buah lima ribuan, 1 buah seribuan, 0 buah lima ratusan
Algoritma Hitung_Uang
Kamus Data
uang,sepuluhrb, limarb, seribu, limaratus, seratus: Integer
Begin
Input(uang)
sepuluhrb0
limarb0
seribu0
limaratus0
seratus0
End
35. Buatlah pseudocode/algoritma untuk menghitung total belanja customer pada sebuah toko
sembako. Sembako yang disediakan adalah sebagai berikut:
a. Beras. Harga Rp. 5500/kg
b. Gula. Harga Rp. 9000/kg
c. Minyak Goreng. Harga Rp. 12.000/liter
d. Telur . Harga Rp. 11.000/kg
Toko sembako tersebut memberikan potongan harga dengan ketentuan sebagai berikut:
a. Beras. Jika membeli lebih dari 20 kg beras, maka mendapatkan diskon 10% untuk
beras merk Ayam Jago dan diskon 15% untuk beras merk Ayam Bali.
b. Gula. Jika membeli gula lebih dari 15 kg, maka mendapatkan diskon 5% untuk gula
dengan merk GULAKU dan 18% untuk gula dengan merk GULAMU.
c. Minyak Goreng. Diskon 7% dari harga total belanja minyak goreng, jika membeli
lebih dari 12 liter
d. Telur . Jika membeli lebih dari 10 kg telur, maka mendapatkan diskon 15% untuk
jenis telur puyuh, 5% untuk jenis telur bebek, 20% untuk jenis telur biasa.
Inputan berupa jumlah belanja beras dalam kg, jumlah belanja gula dalam kg, jumlah belanja
minyak goreng dalam liter, jumlah belanja telur dalam kg.
Algoritma Hitung_Belanja
Kamus Data
jmlberas, jmlgula, jmlminyak, jmltelur: Integer
hargaberas, hargagula, hargaminyak, hargatelur, totalharga: Integer
jenisberas, jenisgula, jenistelur: String
Begin
Input(jmlberas)
Input(jenisberas)
Input(jmlgula)
Input(jenisgula)
Input(jmlminyak)
Input(jmltelur)
Input(jenistelur)
End If
Else
hargatelur 11000 * jmltelur
End If
output(totalharga)
End
36. Buat algoritma untuk Menghitung Upah Lembur, dengan ketentuan sebagai berikut:
Uang lembur akan diterima pegawai jika jumlah jam kerja > 40 jam.
Upah lembur per jam ditetapkan berdasarkan golongan.
Jika Golongan=1 maka upah lembur per jam = 2000
Jika Golongan=2 maka upah lembur per jam = 1500
Jika Golongan=3 maka upah lembur per jam = 1000
Selain diatas maka upah lembur per jam = 500
Jumlah jam lembur merupakan hasil dari jumlah jam kerja dikurangi 40.
Uang lembur yang diterima merupakan hasil kali antara upah lembur per jam dan jumlah jam
lembur.
Lalu tampilkan upah lembur yang diterima pegawai.
Algoritma Hitung_bonus
Kamus Data
totalpenjualan, bonus, uangjasa: Integer
kodesales: Char
Begin
Input(kodesales)
Input(totalpenjualan)
Case (kodesales)
“A”: bonus 0.07 * totalpenjualan
uangjasa 0.05 * bonus
“B”: bonus 0.08 * totalpenjualan
uangjasa 0.06 * bonus
“C”: If (totalpenjualan >= 2000000) Then
bonus 0.1 * totalpenjualan
uangjasa 0.08 * bonus
Else
bonus 0.08 * totalpenjualan
uangjasa 0.06 * bonus
End If
End Case
Output(bonus,uangjasa)
End
38. Buat algoritma untuk menampilkan deret goyang sebagai berikut beserta jumlahnya.
1 -2 3 -4 5 -6 7 -8 9 -10
Jumlah = ……
Algoritma deret_goyang
Kamus Data
i,jumlah,banyak: Integer
Begin
banyak10
jumlah0
For (i1;i<=banyak;i++)
If (i Mod 2 = 0) Then
Output(i * -1)
jumlah jumlah + (i*-1)
Else
Output( i )
jumlah jumlah+i
End If
Output( jumlah )
End
39. Buat algoritma untuk meminta masukan dua buah nilai, kemudian mengalikan dua buah nilai
tersebut. Syarat : tidak boleh menggunakan operator *
Algoritma deret_goyang
Kamus Data
a,b,hasil,i: Integer
Begin
Input(a)
Input(b)
hasil 0
For (i1;i<=b;i++)
hasil hasil+a
End For
Output( hasil )
End
40. “PT. MAJU TERUS” mempunyai 3 golongan karyawan. Gaji karyawan ditentukan berdasarkan Gaji
Pokok dan jumlah tunjangan keluarga yang dapat diterima oleh seorang karyawan. Ketentuan
Gaji Pokok yang berlaku tergantung pada golongan karyawan sesuai dengan tabel berikut :
Gol Gaji Pokok
C Rp 250.000
B Rp 350.000
A Rp 600.000
- Tunjangan keluarga adalah sebesar 35 % dari Gaji Pokok dan hanya untuk pegawai laki-laki
saja.
- Tunjangan anak adalah 10% dari gaji pokok untuk setiap anak dan hanya diberikan sampai
anak ketiga saja.
- Total Gaji yang diterima adalah Gaji Pokok dijumlahkan dengan besar tunjangan keluarga dan
tunj anak.
Buat algoritma untuk menghitung besar Total Gaji yang dapat diterima oleh seorang karyawan.
Algoritma Hitung_total_gaji
Kamus Data
golongan: Char
jeniskelamin: Char
jmlanak,tunjangankelg,tunjangananak, gajipokok, totgaji: Integer
Begin
Input(golongan)
Input(jeniskelamin)
Input(jmlanak)
tunjangankelg 0
tunjangananak0
Case(golongan)
”A”: gajipokok 600000
“B”: gajipokok 350000
“C”: gajipokok 250000
End Case
If (jeniskelamin = “L”)
tunjangankelg 0.35 *gajipokok
End If
If (jmlanak > 3)
tunjangananak 3 * 0.1 * gajipokok
Else
tunjangananak jmlanak * 0.1 * gajipokok
End If
Output (totgaji)
End