contoh soal sequence selection looping
Post on 03-Jul-2015
1.839 Views
Preview:
TRANSCRIPT
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)
top related