Program ini membuat kuitansi untuk pelanggan fotocopy dengan menentukan harga per lembar berdasarkan jumlah fotocopi. Variabel yang digunakan antara lain nama, alamat, jumlah fotocopi pelanggan, harga, dan total bayar. Alur program meliputi input data pelanggan, proses penetapan harga berdasarkan jumlah fotocopi, dan output kuitansi. Program ini berhasil menghasilkan kuitansi sesuai dengan rumus yang ditentukan.
1. a. Tentukan Nama-nama Variabel dan Tipe/Jenis Data yang digunakan ?
No Nama variabel Tipe data Keterangan
1 nama String[25] Nama pelaanggan
2 Alt String[40] Alamat pelanggan
3 Jmlfc Integer Jumlah fotocopi pelanggan
4 Harga Real Harga satuan perfotocopi
5 Bayar Real Hasil kali jumah foto kopi dan harga
6 Jml.i Real Banyaknya peanggan
b. Buat diagram alur program !
Start
harga :=0; bayar :=0;
jmlfc:=0;
Nama,alt,
jmlfc
T YY
Jmlfc>100
harga :150 harga :125
bayar=jmlfc*harga bayar=jmlfc*harga
Judul, 'Nama Pelanggan, 'Alamat
Pelanggan, 'Jumlah Hal Fotocopy, Biaya
per halaman, 'Total Bayar, Komentar
Stop EOF
2. c. Buat listing hasil program yang dibuat. !
Program Kuitansi_FotoCopy;
uses wincrt;
Var
nama : string[25];
alt : string[40];
jhfc : real;
harga : real;
bayar : real;
jml, i : byte;
Begin
Clrscr; {membersihkan layar}
{INISIALISASI}
jhfc:=0; harga:=0; bayar :=0;
write('Jumlah pelanggan diperkirakan : ');readln(jml);
{ALGORITMA LOOPING/PENGULANGAN}
FOR i:=1 TO jml DO
Begin
{BAGIAN INPUT SETIAP DATA PELANGGAN}
Write(' Nama Pelanggan : ');readln(nama);
write(' Alamat Pelanggan : ');readln(alt);
write(' Jumlah hal FC : ');readln(jhfc);
{BAGIAN PROSES}
If jhfc > 100 then harga := 125
else harga := 150;
bayar :=jhfc*harga;
{BAGIAN OUTPUT}
writeln;
writeln(' KUITANSI PEMBAYARAN FOTOCOPY ');
WRITELN(' MURAH MERIAH FOTOCOPY ');
writeln('@@@ Jln Gerlong Girang No 123 telp 022 87654321 @@@');
writeln('---------------------------------------------------------');
Writeln('Nama Pelanggan : ',nama);
writeln('Alamat Pelanggan : ',alt);
writeln('Jumlah Hal Fotocopy : ',jhfc:2:0,' hal');
writeln('Biaya per halaman : Rp. ',harga:2:0);
writeln('Total Bayar : Rp. ',bayar:2:0);
writeln('---------------------------------------------------------');
WRITELN(' *** TERIMA KASIH ATAS KEPERCAYAAN ANDA ***' );
WRITELN('===> Anda puas beritahu teman, tdk puas beritahu kami <===');
writeln;
End;
End.
3. d. Cek dan Analisis hasil Program yang Di buat !
Percobaan pertama dengan
Memasukan nilai <100
Jhfc<100 maka biaya per hal
=150
Hasil Sesuai dengan Rumus (BERHASIL)
Percobaan KEDUA dengan
Memasukan nilai =100
Jhfc=100 maka biaya per hal
= 150
Hasil Sesuai dengan Rumus jumlah FTCp x biaya/hal
(BERHASIL)
Percobaan KETIGA memasukan
nilai > 100
Jhfc > 100 maka biaya per hal
= 125
(BERHASIL)
JADI PROGRAM YANG DI BUAT BERHASIL (SESUAI DENGAN HARAPAN)
4. A. Tentukan nama Variabel dan tipe/ jenis data yang digunakan !
No Nama variabel Tipe data Keterangan
1 Nama String[25] Nama pegawai
2 NIK String[25] Nomor Induk Kepegawaian
3 Divisi String[25] Divisi Pekerja
4 Jmlj Real Jumlah jam kerja pegawaii
5 Gapok Real Gaji pokok
6 Galem Real Gaji lembur
7 Gatot Real Gaji Total
8. Jml, i byte Jumlah pegawai yang di bayar
B. FLOW CHART
Start
Gapok:=0; Galem:=0;
'Nama Pegawai, 'Nomor Induk
Kepegawaian, Divisi, 'Jumlah Jam Kerja
jmlj <50
Gapok:=500000 Gapok:=jmlj*10000
Gatot := ((jmlj- Gatot := ((jmlj-
50)*12500)+Gapok 50)*12500)+Gapok
Judul, 'Nama Pegawai, NIK, Divisi ,Gaji Pokok
'Jumlah Jam Kerja, 'Gaji Lembur, 'Gaji Total
Komentar
Stop EOF Stop
5. C. LISTING PROGRAM
program Pembayaran_Upah ;
uses wincrt;
var
Nama,NIK, Divisi: STRING [25];
Gapok, Gatot : real;
Galem :real;
jmlj:real;
jml,i:byte;
begin
clrscr;
{INISIALISASI}
Gapok :=0; Galem :=0;
write ('Karyawan Yang Akan Di Gaji : ');readln (jml);
for i:=1 to jml do
begin
writeln;
write ('Nama Pegawai : '); readln (Nama);
write ('Nomor Induk Kepegawaian :'); readln (NIK);
write ('Divisi:');Readln (Divisi);
write ('Jumlah Jam Kerja :');readln (jmlj);
if jmlj < 50 then
begin
Gapok:=jmlj*10000;
end
else
begin
Gapok:=500000;
end;
if jmlj > 50 then Gatot := ((jmlj-50)*12500)+Gapok
else Gatot:=jmlj*10000;
writeln (' PT MAJU TEKSTIL ');
writeln (' KUALITAS SEBELUM KUANTITAS ');
writeln ('Jln. Raya Cileunyi No.76 Telp.022.3478007');
WRITELN ('*****************************************');
writeln ('Nama Pegawai : ',Nama);
writeln ('Nomor Induk Kepegawaian : ',NIK);
writeln ('Divisi : ',Divisi);
writeln ('Gaji Pokok : ',Gapok:0:0);
writeln ('Jumlah Jam Kerja : ',jmlj:0:0);
writeln ('Gaji Lembur : ',Gatot-Gapok:0:0);
writeln ('Gaji Total : ',Gatot:0:0);
WRITELN (' JIKA ADA KESALAHAN SILAHKAN HUBUNGI PROGRAMER');
WRITELN (' ===== TERIMA KASIH ATAS KONTRIBUSI ANDA =====');
end;
END.
6. C. ANALISIS PROGRAM
Jumlah Jam kerja < 50 jam
Gapok=jml jam x 10000
Jam kerja < 50, jadi tak lembur
(BERHASIL)
Jam kerja = 50 jam
Jam kerja = 50, jadi tak lembur
Gaji Pokok/Minggu + Gaji Lembur
(BERHASIL)
Jam kerja > 50 jam
Gaji lembur 25% dari
Gapok+Galem Gapok
(BERHASIL)