Skip to main content

TUGAS PRAKTIKUM STRUKTUR DATA YANG KETIGA

Program ini adalah tugas praktikum struktur data yang ketiga.
dalam program ini kita akan menginput beberapa data pelanggan dan setelah penginputan berakhir maka akan ditampilkan daftar pelanggan dalam bentuk tabel dan diurutkan sesuai dengan jumlah pembayaran mulai dari yang terbesar/tertinggi hingga yang terkecil seperti terlihat pada screenshot di samping.
dan juga akan dihitung jumlah pelanggan setiap golongan, jumlah denda yang harus dibayarkan, tak ketinggalan akan ditampilkan juga nama pelanggan dengan jumlah pembayaran terbesar dan terkecil.







Source Code :

Program pdam;
uses crt;
var nama : array[1..100] of string[25];
    gol : array[1..100] of char;
    jpakai : array[1..100] of integer;
    jbayar : array[1..100] of real;
    tanggal : integer;
    ulang,e : char;
    beban, harga,  bayar : longint;
    c,denda, jdenda : real;
    a,b,d,i, ja, jb , jc, max : integer;
    f : string;
begin
clrscr;
i:=1;
repeat
write('Nama pelanggan      = ');
readln(nama[i]);
write('Golongan meter      = ');
readln(gol[i]);
 if gol[i] = 'A' then
 begin
  beban := 30000;
  harga := 3000;
  ja := ja+1;
 end;
 if gol[i] = 'B' then
 begin
  beban := 40000;
  harga := 4000;
  jb := jb+1;
 end;
 if gol[i] = 'C' then
 begin
  beban := 50000;
  harga := 5000;
  jc := jc+1
 end;
write('Jumlah Pemakaian     = ');
readln(jpakai[i]);
bayar := jpakai[i] * harga + beban;
write('Tanggal pembayaran  = ');
readln(tanggal);
 if (gol[i] = 'A') and (tanggal > 10) then
  denda := 0.05 * bayar;
 if (gol[i] = 'B') and ((tanggal < 10) or (tanggal > 20))  then
  denda := 0.05 * bayar;
 if (gol[i] = 'C') and (tanggal < 20) then
  denda := 0.05 * bayar;
 jdenda := jdenda + denda;
 jbayar[i] := bayar + denda;
writeln('Biaya beban       = ',beban);
writeln('Harga air /m3     = ',harga);
writeln('Denda             = ',denda:2:2);
writeln('Jumlah pembayaran = ',jbayar[i]:2:2);
write('masih ada data ? [Y/T] ');
readln(ulang);
denda:=0;
max:=i;
inc(i);
until ulang = 'T';
writeln;
writeln('Daftar Pelanggan PDAM Kota Makassar ');
writeln('----------------------------------------------------------- ');
writeln('No. Nama Pelanggan  Gol. Meter Jml. Pakai   Jml. Pembayaran ');
writeln('----------------------------------------------------------- ');
for a:=1 to max-1 do
begin
 for b:=a+1 to max do
  begin
  if jbayar[a] > jbayar[b] then
   begin
   c := jbayar[a];
   jbayar[a] := jbayar[b];
   jbayar[b] := c;
   d:= jpakai[a];
   jpakai[a] := jpakai[b];
   jpakai[b] := d;
   e:= gol[a];
   gol[a] := gol[b];
   gol[b] := e;
   f := nama[a];
   nama[a] := nama[b];
   nama[b] := f;
   end;
  end;
end;
for i:=1 to max do
begin
 writeln(i:2,'.  ',nama[i]:13,' ',gol[i]:7,' ',jpakai[i]:9,' ',jbayar[i]:18:2);
end;
writeln('----------------------------------------------------------- ');
writeln('Jumlah Pelanggan Golongan A : ',ja);
writeln('Jumlah Pelanggan Golongan B : ',jb);
writeln('Jumlah Pelanggan Golongan C : ',jc);
writeln('Total Jumlah Denda          : Rp. ',jdenda:2:2);
writeln('Nama Pelanggan dengan Pembayaran Terbesar : ',nama[max]);
writeln('Nama Pelanggan dengan Pembayaran Terkecil : ',nama[1]);
readln;
end.

Comments

Popular posts from this blog

PROGRAM MENGHITUNG LEMBARAN UANG

Program ini untuk menghitung jumlah lembaran uang kertas dalam pecahan 100 ribu, 50 ribu, 20 ribu, 10 ribu, 5 ribu, seribu dan lima ratus, dari sejumlah nilai uang yang kita inputkan. dan juga menghitung sisa dari pecahan uang tersebut.. tampilannya programnya seperti yang terlihat pada gambar...

Menampilkan Bilangan secara acak pada pascal

Program Menampilkan Bilangan secara acak 1.  Menampilkan Bilangan decimal secara acak    

BILANGAN ACAK LCG PADA EXCEL DAN PASCAL

malam agan2 semua nih sya share tugas prak.pemodelan yang  Menampilkan Bilangan acak LCG (LINEAR CONGRUENTIAL GENERATORS) pada excel dan pascal. langsung saja yang excel saya langsung kasih masuk printscreennya bersama dengan sedikit penjelsannya. lanjut tentang yang constanta: saat memasukkan rumus dan telah mengklik sel tempat constanta berada tekan F4 pada keyboard agar nilai tidak berubah ketika ditarik kebawah.. atau kalau masih bingung langsung saja download file excelnya disini ...