Anda di halaman 1dari 21

Contoh contoh soal 

1. Sequence
2. Selection
3. looping
Contoh soal sequence 
1. Tuliskan algoritma untuk mencari luas persegi panjang, kemudian cetak luas
tersebut ke piranti keluaran
Jawab :
PROGRAM luaspersegipanjang
{ membaca panjang, lebar segipanjang, menghitung luasnya, lalu mencetak luas
tersebut ke piranti keluaran}
DEKLARASI
panjang : real
lebar : real
luas : real
ALGORITMA
read(panjang,lebar)
luas panjang * lebar
write (luas)
Contoh soal sequence 
2. Tuliskan algoritma untuk menghitung komisi yang diterima seorang salesman berdasarkan nilai
penjualan yang dicapainya. Salesman tersebut mendapat komisi 6 % dari hasil penjualannya.
Algoritma menerima data nama salesman dan nilai penjualan yg dicapainya, menhitung
komisi, lalu mencetak nama salesman dan besar komisi yang diperolehnya
Jawab :
PROGRAM komisi salesman
{ Menghitung besar komisi yang diterima seorang salesmen. Besar komisi adalah 6 % dari nilai
penjualan yang dicapainya. Data masukan adalah nama salesman dan nilai penjualannya.
Keluaran algoritma adalah besar komisi yang diterima salesman tersebut}
DEKLARASI
NamaSalesman : string
NilaiPenjualan : real
Komisi : real
ALGORITMA
read(NamaSalesman, NilaiPenjualan)
komisi 0.06 * NilaiPenjualan
write(komisi)
Contoh soal sequence 
3. Tulislah algoritma yang membaca nama karyawan dan gaji pokok bulanannya dan
menghitung gaji bersih karyawan tersebut. Gaji bersih yang diterima pegawai
tersebut adalah :
gaji bersih= gaji pokok + tunjangan‐pajak
Tunjangan karyawan dihitung 20 % dari gaji pokok, sedangkan pajak adalah 15% dari
gaji pokok ditambah tunjangannya. Nama karyawan dan gaji bersihnya dicetak ke
piranti keluaran.
Jawab :
PROGRAM
{ Menghitung gaji bersih karyawan, data masukan adalah nama karyawan dan gaji pokok bulanan.
Gaji bersih = gajipokok +tunjangan‐pajak. Tunjangan adalah 20% dari gaji pokok, sedangan
pajak adalah 15 % dari gaji pokok. Keluaran adalah nama karyawan dan gaji bersihnya.}
DEKLARASI
const PersenTunjangan =0.2
const persenPajak = 0.15
NamaKaryawan : string
GajiPokok, tunjangan, pajak,GajiBersih : real
ALGORITMA
read(NamaKaryawan,GajiPokok)
Contoh soal sequence 
Tunjangan PersenTunjanagn * GajiPokok
Pajak Persenpajak * (GajiPokok + tunjangan)
GajiBersih GajiPokok + tunjangan – pajak
Write (NamaKaryawan, GajiBersih)
Contoh soal sequence 
4. Seorang pelari maraton menempuh waktu lari yang diukur dalam satuan jam, menit dan detik. Tulislah
algoritma yang membaca waktu tempuh seorang pelari maraton, lalu mengkonversi waktu tempuh
tersebut ke dalam detik.

PROGRAM Konversi_ke_detik
{ membaca waktu tempuh pelari maraton menempuh waktu lari yang diukur dalam satuan jam,menit dan detik.
Hasil konversi ditampilkan ke piranti keluaran}
DEKLARASI
type Jam=record
< hh: integer {jam}
mm: integer {menit}
ss : integer { detik}
>
J=Jam
TotalDetik integer

ALGORITMA
read (jam,menit,detik)
TotalDetik (J.hh*3600)+(J.mm*60)+J.ss
write (TotalDetik)
Contoh soal sequence 
5. Tulislah algoritma yang membaca lama sebuah percakapan telepon dalam satuan detik, kemudian
mengkonversinya ke dalam jam, menit dan detik. Misalkan lama percakapan adalah 3020 detik, maka
3020 div 60 = 50 (menit)
3020 mod 60 = 20 (sisa 20 detik)
jadi 3020 detik = 50 menit + 20 detik

PROGRAM Konversi
{ membaca lama percakapan telopon dalam detik kemudian mengkonversi dlam jam menit dan detik}

DEKLARASI
type Jam=record
< hh: integer {jam}
mm: integer {menit}
ss : integer { detik}
>
J=Jam
TotalDetik : integer
Sisa : integer
Contoh soal sequence 
ALGORITMA

read (TotalDetik)
J.hh TotalDetik div 3600 { mendapatkan jam }
sisa TotalDetik mod 3600
J.mm sisa div 60 { mendapatkan menit }
J.Ss sisa mod 60 { mendapatkan detik}
write (J.hh,J.mm,J.s}
Contoh soal selection
1. Tuliskan algoritma yang membaca sebuah bilangan bulat, lalu mencetak pesan
genap jika bilangan tersebut adalah genap

PROGRAM bilangan_genap
{ mencetak pesan bilangan genap jika sebuah bilangan bulat yang dibaca dari piranti
masukan merupakan bilangan genap}
DEKLARASI
x: integer
ALGORITMA
read (x)
if x mod 2 = 0
write(‘genap’)
Contoh soal selection
2. Tuliskan algoritma yang membaca sebuah karakter, lalu menuliskan pesan “huruf
hidup” jika karakter tersebut merupakan salah satu huruf vokal

PROGRAM huruf_vokal
{ mencetak pesan “huruf hidup” jika sebuah karakter yang dibaca merupakan huruf
hidup, asumsikan karakter yang dibaca adalah huruf kecil}
DEKLARASI
x: char
ALGORITMA
read (x)
if (x= ‘a’) or (x=‘I’) or (x=‘u’) or (x=‘e’) or (x=‘o’)
write(‘huruf vokal’)
Contoh soal selection
3. Tuliskan algoritma yang membaca dua buah bilangan bulat, kemudian tentukan
bilangan yg terbesar

PROGRAM bilangan_terbesar
{ menentukan bilangan terbesar dari 2 buah bilangan bulat}
DEKLARASI
a,b: integer
ALGORITMA
read (a,b)
if (a>b)
write(‘bilangan terbesar= ’ ,a)
else
write(‘bilangan terbesar=‘ , b)
Contoh soal selection
4. Karyawan di PT’ ABC’ diberikan gaji berdasarkan jumlah jam kerjanya selama
seminggu. Upah per jam Rp.2500. Bila jam kerja lebih dari 48 jam maka sisanya
dianggap jam lembur. Upah lembur Rp.3500/jam. Tulislah algoritma yang
membaca jumlah jam kerja seorang karyawan selama satu minggu, lalu
menentukan upah mingguannya.

Misalkan jumlah jam kerja karyawan adalah JJk


Analisis kasus :
kasus 1: jika JJK <=48 maka upah = JJK * 2500
kasus 2 : jika JJK > 48 maka
lembur = JJK – 48
upah = 48*2500+lembur*3500
Contoh soal selection
Jawab versi 1
PROGRAM { Menentukan upah mingguan seorang karyawan. Masukan yang dibaca
adalah nama karyawan,dan jumlah jam kerja. Keluaran program adalah nama
karyawan dan upahnya}
DEKLARASI
nama : string { nama karyawan}
JJk : integer {jumlah jam kerja}
lembur : real { jumlah jam lembur }
upah : real { upah karyawan}
ALGORITMA
read( nama,JJK)
if ( JJK<=48)
upah JJK * 2500
else
lembur JJK – 48
upah 48*2500+lembur*3500
write (nama,upah)
Contoh soal selection
Jawab versi 2
PROGRAM { Menentukan upah mingguan seorang karyawan. Masukan yang dibaca
adalah nama karyawan,dan jumlah jam kerja. Keluaran program adalah nama
karyawan dan upahnya}

DEKLARASI
const JamNormal = 48 { jumlah jam kerja normal per minggu }
const UpahPerJam = 2500 { upah per jam 2500 )
const UpahLembur = 3500 { upah per jam lembur 3500 }

nama : string { nama karyawan}


JJk : integer {jumlah jam kerja}
lembur : real { jumlah jam lembur }
upah : real { upah karyawan}
Contoh soal selection
ALGORITMA

read( nama,JJK)
if ( JJK<= JamNormal)
upah JJK * UpahPerJam
else
lembur JJK – JamNormal
upah JamNormal*UpahPerJam + lembur*UpahLembur
write (nama,upah)
Contoh soal selection
5. Sebuah perusahaan “abc” mengelompokkan karyawannya berdasarkan golongannya.
Upah per jam tiap karyawan tergantung pada golongannya.(lihat tabel) Jumlah jam
kerja yang normal selama seminggu adalah 40 jam. Kelebihan jam kerja dianggap
sebagai lembur dengan upah lembur adalah 3000/jam untuk semua golongan
karyawan. Buatlah algoritma yang membaca nama karyawan dan jumlah jam
kerjanya selama seminggu kemudian hitung gaji mingguannya !
Tabel

Golongan Upah per jam


A 4000
B 5000
C 6000
D 7500
Contoh soal selection
Analisa kasus:

Kasus 1 : jika golongan =‘A’ maka upah per jam = 4000


Kasus 2 : jika golongan =‘B’ maka upah per jam = 5000
Kasus 3 : jika golongan =‘C’ maka upah per jam = 6000
Kasus 4 : jika golongan =‘D’ maka upah per jam = 7500

Upah dihitung dari jumlah jam kerja, jika terdapat jam lembur maka upah total adalah
upah kerja + upah lembur.

Konstanya yang dipesan adalah jam kerja normal = 40


upah lembur = 3000
Contoh soal selection
Jawab :
PROGRAM Upahkaryawan
{ menghitung upah mingguan karyawan . Masukan yang dibaca adalah nama karyawan,
golongan dan jumlah jam kerja. Keluaran program adalah nama karyawan dan
upah totalnya }
DEKLARASI

const JamKerjaNormal = 40
const UpahLembur = 3000
nama :string
golongan : char
JJK : integer
JamLembur : integer
UpahPerjam :real
UpahTotal : real
Contoh soal selection
ALGORITMA ( dengan nested if )
read (Nama,gol,JJK)
if gol =‘A’
UpahPerJam 4000
else if gol =‘B’
UpahPerJam 5000
else if gol =‘C’
UpahPerJam 6000
else gol =‘D’
UpahPerJam 7500
if JJK <= JamKerjaNormal
UpahTotal JJK * UpahPerJam
else
JamLembur JJK ‐ JamKerjaNormal
UpahTotal JamKerjaNormal * UpahPerJam + JamLembur*UpahLembur
write (Nama,UpahTotal)
Contoh soal selection
ALGORITMA ( dengan switch)
read (Nama,gol,JJK)
case ( gol )
‘A’ : UpahPerJam 4000
‘B’ : UpahPerJam 5000
‘C’ : UpahPerJam 6000
‘D’ : UpahPerJam 7500
if JJK <= JamNormal
UpahTotal JJK * UpahPerJam
else
JamLembur JJK ‐ JamKerjaNormal
UpahTotal JamKerjaNormal * UpahPerJam + JamLembur*UpahLembur
write (Nama,UpahTotal)
Contoh soal perulangan

Anda mungkin juga menyukai