Anda di halaman 1dari 17

LAPORAN PEMROGRAMAN KOMPUTER

PROGRAM DAFTAR TRANSAKSI FOTOCOPY

( ARRAY DIMENSI SATU, PROSEDUR, FUNGSI, SORTING


DAN SEARCHING DATA)

Disusun untuk Memenuhi Tugas Mata Kuliah Pemrograman Komputer

Dosen Pembimbing : Chambali, B.Eng, M.Komp

Disusun Oleh:

Mega Tri Lestari 3.31.17.2.10

LT – 2C

PROGRAM STUDI TEKNIK LISTRIK


JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI SEMARANG
2019 / 2020
a. Memahami persoalan : Daftar transaksi fotocopy
b. Mengidentifikasi :
- Data Input :
a. Nama (NK)
b. Jenis Kertas (JK)
c. Jumlah Lembar (JL)
d. Harga per lembar (HL)
e. Bayar (BYR)

- Proses :
a. Fungsi
HSL=HL*JL[K]
b. Jika (JL[K]>=100) dan (JK[K]='HVS') maka HL:=75;
jika (JL[K]>=100) dan (JK[K]='BURAM') maka HL:=60;
jika (JL[K]<100) dan (JK[K]='HVS') maka HL:=100;
jika (JL[K]<100) dan (JK[K]='BURAM') maka HL:=80;
c. BYR[K]=HSL(A)
- Data Output :

c. Membuat Algoritma/Flowchart
1. Program Utama

MULAI

Tanggal

For k = 1 to n

jm

INPUT:
NK[k],
JK[k],JL[k]

JIKA

jm

Fungsi
HSL=HL*JL[K]
Proses BYR[K]=HSL(A)

END {k}

jm

SORTING

jm

Cetak Judul

HORIZONTAL

A
A

VERTICAL

Cetak Judul Kolom

For k = 1 to n

jm

Cetak
k,NK[k], JK[k] ,JL[k], BYR[k]

END {k}

jm

Cetak tabel

For k = 1 to n

jm

Cetak NK[K], JL[K],


IF Q=NK[K]
JK[K],BYR[K]

END {k}

jm

SELESAI
2. Prosedur Jika
MULAI

IF JK[K]=HVS, JL>=100 HL=75

IF JK[K]=BURAM,
JL>=100
HL=60

IF JK[K]=HVS, JL<100 HL=100

IF JK[K]=BURAM,
JL<100 HL=80

Cetak
BYR[K]

SELESAI
3. Prosedur Sorting

MULAI

For J = 1 to n

jm

For I = (J+1) to n

jm

NK[J] >
NK[I] ?
Tukar
NK[J],NK[I]
JK[J],JK[I]
JL[J],JL[I]
BYR[J],BYR[I]

END {I}

jm

END {I}

jm

SELESAI
4. Prosedur Garis Horizontal

MULAI

for k = 1 to 31

jm

CETAK
Garis Horisontal
3 kali

END {k}

jm

SELESAI
5. Prosedur Garis Vertical

MULAI

for k = 1 to
13

jm

CETAK
Garis Vertical
9 kali

END {k}

jm

SELESAI
5. Function

MULAI

HSL=JL[K]*HL

CETAK
HSL(A)

SELESAI
c. Menulis Program
PROGRAM TRANSAKSI_FOTOCOPY;
USES CRT;
VAR
K,N,J,I:BYTE;
A:INTEGER;
TGL,P,Q:STRING[20];
HL,R,S:REAL;
NK:ARRAY[1..5]OF STRING;
JK:ARRAY[1..5]OF STRING;
JL:ARRAY[1..5]OF REAL;
BYR:ARRAY[1..5]OF REAL;
PROCEDURE JIKA;
BEGIN;
IF (JL[K]>=100) AND (JK[K]='HVS') THEN HL:=75;
IF (JL[K]>=100) AND (JK[K]='BURAM') THEN HL:=60;
IF (JL[K]<100) AND (JK[K]='HVS') THEN HL:=100;
IF (JL[K]<100) AND (JK[K]='BURAM') THEN HL:=80;
END;
PROCEDURE HORIZONTAL;
BEGIN
FOR K:=1 TO 31 DO
BEGIN
TEXTCOLOR(RED);
GOTOXY(1+K,5);WRITE(CHR(205));
GOTOXY(1+K,7);WRITE(CHR(205));
GOTOXY(1+K,17);WRITE(CHR(205));
END;
END;
PROCEDURE VERTICAL;
BEGIN;
FOR K:=1 TO 13 DO
BEGIN
TEXTCOLOR(RED);
GOTOXY(2,4+K);WRITELN(CHR(186));
GOTOXY(5,4+K);WRITELN(CHR(186));
GOTOXY(12,4+K);WRITELN(CHR(186));
GOTOXY(19,4+K);WRITELN(CHR(186));
GOTOXY(26,4+K);WRITELN(CHR(186));
GOTOXY(32,4+K);WRITELN(CHR(186));
END;
END;
PROCEDURE SORTING;
BEGIN
FOR J:=1 TO (N-1) DO
BEGIN
FOR I:=(J+1) TO N DO
BEGIN
IF NK[J]>NK[I] THEN
BEGIN
P:=NK[J];
NK[J]:=NK[I];
NK[I]:=P;
Q:=JK[J];
JK[J]:=JK[I];
JK[I]:=Q;
R:=JL[J];
JL[J]:=JL[I];
JL[I]:=R;
S:=BYR[J];
BYR[J]:=BYR[I];
BYR[I]:=S;
END;
END;
END;
END;
FUNCTION
HSL(BYR:REAL):REAL;
BEGIN
HSL:=JL[K]*HL;
END;
BEGIN
CLRSCR;
WRITE('JUMLAH KONSUMEN= ');READLN(N);
WRITE('TANGGAL= ');READLN(TGL);
WRITELN;
FOR K:=1 TO N DO
BEGIN
WRITELN('DATA KE= ',K);
WRITE('NAMA KONSUMEN=');READLN(NK[K]);
WRITE('JUMLAH LEMBAR=');READLN(JL[K]);
WRITE('JENIS KERTAS=');READLN(JK[K]);
JIKA;
BYR[K]:=HSL(A);
WRITELN;
END;
SORTING;
CLRSCR;
TEXTCOLOR(YELLOW);GOTOXY(5,1);WRITE('DAFTAR
TRANSAKSI FOTOCOPY');
TEXTCOLOR(YELLOW);GOTOXY(9,2);WRITE('SAHABATNYA
CINO');
WRITELN;
TEXTCOLOR(YELLOW);GOTOXY(3,4);WRITE('TANGGAL=
',TGL);
HORIZONTAL;
VERTICAL;
BEGIN
TEXTCOLOR(BLUE);
GOTOXY(3,6);WRITE('NO');
GOTOXY(7,6);WRITE('NAMA');
GOTOXY(13,6);WRITE('KERTAS');
GOTOXY(20,6);WRITE('J LMBR');
GOTOXY(27,6);WRITE('BAYAR');
END;
FOR K:=1 TO N DO
BEGIN
TEXTCOLOR(WHITE);
GOTOXY(3,7+K);WRITE(K);
GOTOXY(6,7+K);WRITE(NK[K]);
GOTOXY(13,7+K);WRITE(JK[K]);
GOTOXY(20,7+K);WRITE(JL[K]:6:0);
GOTOXY(27,7+K);WRITE(BYR[K]:5:0);
END;
BEGIN;
TEXTCOLOR(RED);
GOTOXY(2,5);WRITE(CHR(201));
GOTOXY(5,5);WRITE(CHR(203));
GOTOXY(12,5);WRITE(CHR(203));
GOTOXY(19,5);WRITE(CHR(203));
GOTOXY(26,5);WRITE(CHR(203));
GOTOXY(32,5);WRITE(CHR(187));
GOTOXY(2,7);WRITE(CHR(204));
GOTOXY(5,7);WRITE(CHR(206));
GOTOXY(12,7);WRITE(CHR(206));
GOTOXY(19,7);WRITE(CHR(206));
GOTOXY(26,7);WRITE(CHR(206));
GOTOXY(32,7);WRITE(CHR(185));
GOTOXY(2,17);WRITE(CHR(200));
GOTOXY(5,17);WRITE(CHR(202));
GOTOXY(12,17);WRITE(CHR(202));
GOTOXY(19,17);WRITE(CHR(202));
GOTOXY(26,17);WRITE(CHR(202));
GOTOXY(32,17);WRITE(CHR(188));
WRITELN;
WRITE('NAMA KONSUMEN YANG DICARI= ');READLN(Q);
FOR K:=1 TO N DO
IF Q=NK[K] THEN
BEGIN
WRITELN('NAMA= ',NK[K]);
WRITELN('JENIS= ',JK[K]);
WRITELN('JUMLAH LEMBAR= ',JL[K]:4:0);
WRITELN('JUMLAH PEMBAYARAN= Rp. ',BYR[K]:6:0);
END;
END;
READLN;
END.
d. Menjalankan Program

Anda mungkin juga menyukai