Kali ini saya akan menjawab pertanyaan seorang pembaca blog lewat email. Jawabannya sudah saya kirimkan lewat email beberapa bulan lalu, namun ada baiknya saya tampilkan di blog ini untuk berbagi kepada teman-teman lain. Pertanyaannya adalah sebuah kasus sebagai berikut :
Diketahui input data nama, jumlah hari kerja dan jumlah jam lembur, tarif perhari kerja Rp.30.000, tarif per jam Rp.5.000, jika jam lembur lebih dari 10 jam maka akan mendapatkan tambahan uang transport lembur 10% dari jumlah uang lembur.
Algoritma :
1.mulai
2.baca nama
3.baca jhr_kerja
4.baca jjam_lembur
5.Hitung Upah = jhr_kerja * 30.000
6.hitung uang_lembur =jjam_lembur * 5.000
7.jika jjam_lembur>10 maka kerjakan langkah 8 selain itu kerjakan langkah 9
8.hitung trans_lembur =(10/100) * uang lembur
9.trans_lembur = 0
10.hitung gaji = upah + uang_lembur + trans_lembur
11.tampilkan gaji
12.selesai
Berdasarkan algoritma di atas, maka kita dapat membuat flowchartnya lebih dahulu untuk mengetahui aliran program yang akan dibuat nanti.
Program: MenggunakanPascal Versi 7.0
Program Hitung_Gaji;
Uses crt;
Var jjam, jhar : integer;
transp,gaji,UPAH,u_lembur : real;
Nama : string[20];
Begin
Clrscr;
Write('Nama : '); readln(nama);
Write('Jumlah Hari Kerja : ');readln(jhar);
Write('Jumlah Jam Lembur : ');readln(jjam);
Upah := jhar * 30000.0;
u_lembur:=jjam * 5000.0;
if jjam>10 then
transp:=(10/100) * u_lembur
else
transp:= 0;
gaji := upah + u_lembur + transp;
writeln('Upah = ',upah:10:2);
writeln('Uang Lembur = ',u_lembur:10:2);
writeln('Uang Transport = ',transp:10:2);
writeln('Total Gaji = ', gaji:10:2);
readln;
End.
Output Program
Jika ingin menginput lebih dari satu karywan, maka anda harus menggunakan loop dan array. Tunggu jawabannya dengan menggunakan loop dan array di blog ini.
Semoga bermanfaat.
http://spatabang.blogspot.com
itu 10:2 darimana ya?
BalasHapus10:2 adalah bentuk format output untuk bilangan real. Artinya disediakan tempat menuliskan ouput sebanyak 10 digit dimana terdapat 2 digit di belakangan koma. Misalnya 1234.56 formatnya adalah 7:2. Jika jumlah tempat yg disediakan kurang dari digit bilangan output, maka sisanya akan menjadi spasi.
HapusSemoga bermanfaat.
Salam Sukses