contoh soal sequence selection looping

21
Contoh contoh soal 1. Sequence 2. Selection 3. looping

Upload: londohollic

Post on 03-Jul-2015

1.837 views

Category:

Documents


18 download

TRANSCRIPT

Contoh contoh soal 

1. Sequence2. Selection3. looping

Contoh soal sequence 1. Tuliskan algoritma untuk mencari luas persegi panjang, kemudian cetak luas

tersebut ke piranti keluaranJawab :PROGRAM luaspersegipanjang{ membaca panjang, lebar segipanjang, menghitung luasnya, lalu mencetak luas

tersebut ke piranti keluaran}DEKLARASI

panjang : reallebar : realluas : real

ALGORITMAread(panjang,lebar)luas panjang * lebarwrite (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, menhitungkomisi, 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}

DEKLARASINamaSalesman : stringNilaiPenjualan : realKomisi : real

ALGORITMAread(NamaSalesman, NilaiPenjualan)komisi 0.06 * NilaiPenjualanwrite(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 pegawaitersebut adalah :

gaji bersih= gaji pokok + tunjangan‐pajakTunjangan karyawan dihitung 20 % dari gaji pokok, sedangkan pajak adalah 15% darigaji pokok ditambah tunjangannya. Nama karyawan dan gaji bersihnya dicetak kepiranti 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, sedanganpajak adalah 15 % dari gaji pokok. Keluaran adalah nama karyawan dan gaji bersihnya.}

DEKLARASIconst PersenTunjangan =0.2const persenPajak = 0.15NamaKaryawan : stringGajiPokok, tunjangan, pajak,GajiBersih : real

ALGORITMAread(NamaKaryawan,GajiPokok)

Contoh soal sequence Tunjangan PersenTunjanagn * GajiPokokPajak Persenpajak * (GajiPokok + tunjangan)GajiBersih GajiPokok + tunjangan – pajakWrite (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 tempuhtersebut 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}DEKLARASItype Jam=record

< hh: integer {jam}mm: integer {menit}ss : integer { detik}

>J=JamTotalDetik integer

ALGORITMAread (jam,menit,detik)TotalDetik (J.hh*3600)+(J.mm*60)+J.sswrite (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, maka3020 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}

DEKLARASItype Jam=record

< hh: integer {jam}mm: integer {menit}ss : integer { detik}

>J=JamTotalDetik : integerSisa : integer

Contoh soal sequence ALGORITMA

read (TotalDetik)J.hh TotalDetik div 3600 { mendapatkan jam }sisa TotalDetik mod 3600J.mm sisa div 60 { mendapatkan menit }J.Ss sisa mod 60 { mendapatkan detik}write (J.hh,J.mm,J.s}

Contoh soal selection1. 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: integerALGORITMA

read (x)if x mod 2 = 0

write(‘genap’)

Contoh soal selection2. 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: charALGORITMA

read (x)if (x= ‘a’) or (x=‘I’) or (x=‘u’) or (x=‘e’) or (x=‘o’)

write(‘huruf vokal’)

Contoh soal selection3. 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: integerALGORITMA

read (a,b)if (a>b)

write(‘bilangan terbesar= ’ ,a)else

write(‘bilangan terbesar=‘ , b)

Contoh soal selection4. 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 sisanyadianggap jam lembur. Upah lembur Rp.3500/jam. Tulislah algoritma yangmembaca jumlah jam kerja seorang karyawan selama satu minggu, lalumenentukan upah mingguannya.

Misalkan jumlah jam kerja karyawan adalah JJkAnalisis kasus :

kasus 1: jika JJK <=48 maka upah = JJK * 2500kasus 2 : jika JJK > 48 maka

lembur = JJK – 48upah = 48*2500+lembur*3500

Contoh soal selectionJawab versi 1PROGRAM { Menentukan upah mingguan seorang karyawan. Masukan yang dibaca

adalah nama karyawan,dan jumlah jam kerja. Keluaran program adalah namakaryawan dan upahnya}

DEKLARASInama : string { nama karyawan}JJk : integer {jumlah jam kerja}lembur : real { jumlah jam lembur }upah : real { upah karyawan}

ALGORITMAread( nama,JJK)if ( JJK<=48)

upah JJK * 2500else

lembur JJK – 48upah 48*2500+lembur*3500

write (nama,upah)

Contoh soal selectionJawab versi 2PROGRAM { Menentukan upah mingguan seorang karyawan. Masukan yang dibaca

adalah nama karyawan,dan jumlah jam kerja. Keluaran program adalah namakaryawan dan upahnya}

DEKLARASIconst 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 selectionALGORITMA

read( nama,JJK)if ( JJK<= JamNormal)

upah JJK * UpahPerJamelse

lembur JJK – JamNormalupah JamNormal*UpahPerJam + lembur*UpahLembur

write (nama,upah)

Contoh soal selection5. Sebuah perusahaan “abc” mengelompokkan karyawannya berdasarkan golongannya.

Upah per jam tiap karyawan tergantung pada golongannya.(lihat tabel) Jumlah jamkerja yang normal selama seminggu adalah 40 jam. Kelebihan jam kerja dianggapsebagai lembur dengan upah lembur adalah 3000/jam untuk semua golongankaryawan. Buatlah algoritma yang membaca nama karyawan dan jumlah jamkerjanya selama seminggu kemudian hitung gaji mingguannya !

Tabel

Golongan Upah per jam

A 4000

B 5000

C 6000

D 7500

Contoh soal selectionAnalisa kasus:

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

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

Konstanya yang dipesan adalah jam kerja normal = 40upah lembur = 3000

Contoh soal selectionJawab :PROGRAM Upahkaryawan{ menghitung upah mingguan karyawan . Masukan yang dibaca adalah nama karyawan,

golongan dan jumlah jam kerja. Keluaran program adalah nama karyawan danupah totalnya }

DEKLARASI

const JamKerjaNormal = 40const UpahLembur = 3000nama :stringgolongan : charJJK : integerJamLembur : integerUpahPerjam :realUpahTotal : real

Contoh soal selectionALGORITMA ( 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 <= JamKerjaNormalUpahTotal JJK * UpahPerJam

elseJamLembur JJK ‐ JamKerjaNormalUpahTotal JamKerjaNormal * UpahPerJam + JamLembur*UpahLembur

write (Nama,UpahTotal)

Contoh soal selectionALGORITMA ( dengan switch)read (Nama,gol,JJK)case ( gol )‘A’ : UpahPerJam 4000‘B’ : UpahPerJam 5000‘C’ : UpahPerJam 6000‘D’ : UpahPerJam 7500

if JJK <= JamNormalUpahTotal JJK * UpahPerJam

elseJamLembur JJK ‐ JamKerjaNormalUpahTotal JamKerjaNormal * UpahPerJam + JamLembur*UpahLembur

write (Nama,UpahTotal)

Contoh soal perulangan