Anda di halaman 1dari 16

LAPORAN

TUGAS PEMOGRAMAN
Program Array Berdimensi Satu, Prosedur, Searching, dan Sorting
Data pada Toko Kecantikan Wajah Alami Blora

Untuk Memenuhi Tugas Akhir Mata Kuliah Dasar Pemrograman 2


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

Disusun Oleh ;
Yessy Ambar Dewi
3.31.17.2.20
LT-2C

PROGRAM STUDI D3 TEKNIK LISTRIK


JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI SEMARANG
2019/2020
PROGRAM ARRAY BERDIMENSI

A. TAnalisa Persoalan
Untuk menghitung diskon yang didapatkan dan nominal yang harus dibayar oleh
pembeli Masker, serta menghitung jumlah transaksi dalam satu bulan.

B. Identifikasi Data
1. Data Input
a. Jumlah Transaksi (N)
b. Kode Masker (T)
c. Jumlah Masker (JUM)

2. Proses
a. Mencari harga
 Harga_satuan_1 = 0..100 maka HS = 25000
 Harga_satuan_2 = 101..200 maka HS = 20000
 Harga_satuan_3 = 201..300 maka HS = 15000
 Harga_satuan_4 = 301..400 maka HS = 10000
b. Menghitung diskon
 Diskon_1 = JUM > 5 maka DISKON = 0,05 * HS * JUM
 Diskon_2 = JUM < 5 maka DISKON = 0 * HS * JUM
 Diskon_3 = JUM = 5 maka DISKON = 0 * HS * JUM
c. Menghitung bayar
 Bayar_1 = BAYAR = HS * JUM – (0.05 * HS * JUM).
 Bayar_2 = BAYAR = HS * JUM – (0 * HS * JUM).
 Bayar_3 = BAYAR = HS * JUM – (0 * HS * JUM).
d. Menghitung jumlah Transaksi, TOTRANS = TOTRANS + BAYAR.
3. Data Output
a. Diskon (DISKON)
b. Bayar (BAYAR)
c. Jumlah Transaksi (TOTRANS)

C. Flowchar

Mulai

Input: N

TOTRANS = 0

FOR T = 1 TO N

INPUT: KODE BARANG


(T)

0..100 HARGA_SATUAN_1

101..200 HARGA_SATUAN_2
0

201..300 HARGA_SATUAN_3
0

C B
A
C A B

301..400 HARGA_SATUAN_4
0

END

INPUT: JUMLAH
BARANG (JUM(T))

JUM[T]>5 DISKON_1 BAYAR_1


:

JUM[T]<5 DISKON_2 BAYAR_2

JUM[T]=5 DISKON_3 BAYAR_3

END

FOR T:=1 TO (N-1) DO

FOR J:=(T+1) TO N DO

F D E
D
F E

KODE[T], HS[T], JUM[T],


DISKON[T],
KODE [T]
BAYAR[T]

END

END

TOTRANS = TOTRANS + BAYAR[T]

CETAK: DAFTAR TRANSAKSI PENJUALAN JILBAB

SALE 5% UNTUK PEMBELIAN JILBAB LEBIH DARI


5 ITEM

CETAK: DATE

CETAK: ‘NO’,’KODE’,’HARGA
SATUAN’,’JUMLAH’,’DISKON’,’BAYAR,

CETAK: CHR(179,180,191,192,193,

194,195,196,197,217,218)

G
G

FOR L = 1 TO 58

CETAK: GARIS HORIZONTAL


3X

END

FOR M = 1 TO 12

CETAK: GARIS VERTIKAL


6X

END

FOR C = 1 TO N

CETAK: C, KODE[C], HS[C],


JUM[C], DISKON [C], BAYAR[C]

END

FOR C = 1 TO N

CETAK: C, KODE[C], HS[C],


JUM[C], DISKON [C], BAYAR[C]

END

CETAK: TRANSFER

SELESAI
D. PROGRAM
PROGRAM PROCEDURE_TRANSAKSI_PENJUALAN_MASKER;
USES CRT;
CONST
D=0.05;
D1=0;
D2=0;
VAR
L,M,C,U:INTEGER;
DT:STRING[10];
TOTRANS:REAL;
S1,S2,S3,S4:REAL;
S:INTEGER;
J,T,N:BYTE;
BAYAR,DISKON,HS,JUM:ARRAY[1..10] OF REAL;
KODE:ARRAY[1..10] OF INTEGER;
PROCEDURE MENGHITUNG_DISKON_1;
BEGIN
DISKON[T]:=D*HS[T]*JUM[T];
WRITE('DISKON=RP',DISKON[T]:4:0);
DISKON[T]:=DISKON[T];
END;
PROCEDURE MENGHITUNG_DISKON_2;
BEGIN
DISKON[T]:=D*HS[T]*JUM[T];
WRITE('DISKON=RP',DISKON[T]:4:0);
DISKON[T]:=DISKON[T];
END;
PROCEDURE MENGHITUNG_DISKON_3;
BEGIN
DISKON[T]:=D*HS[T]*JUM[T];
WRITE('DISKON=RP',DISKON[T]:4:0);
DISKON[T]:=DISKON[T];
END;
PROCEDURE MENGHITUNG_BAYAR;
BEGIN
BAYAR[T]:=HS[T]*JUM[T]-(D*HS[T]*JUM[T]);
WRITE('BAYAR=RP',BAYAR[T]:4:0);
BAYAR[T]:=BAYAR[T];
END;
PROCEDURE MENGHITUNG_BAYAR_1;
BEGIN
BAYAR[T]:=HS[T]*JUM[T]-(D1*HS[T]*JUM[T]);
WRITE('BAYAR=RP',BAYAR[T]:4:0);
BAYAR[T]:=BAYAR[T];
END;
PROCEDURE MENGHITUNG_BAYAR_2;
BEGIN
BAYAR[T]:=HS[T]*JUM[T]-(D2*HS[T]*JUM[T]);
WRITE('BAYAR=RP',BAYAR[T]:4:0);
BAYAR[T]:=BAYAR[T];
END;
PROCEDURE MENCARI_HARGA_SATUAN_1;
BEGIN
HS[T]:=35000;
WRITE('HARGA SATUAN=RP',HS[T]:4:0);
HS[T]:=HS[T];
END;
PROCEDURE MENCARI_HARGA_SATUAN_2;
BEGIN
HS[T]:=30000;
WRITE('HARGA SATUAN=RP',HS[T]:4:0);
HS[T]:=HS[T];
END;
PROCEDURE MENCARI_HARGA_SATUAN_3;
BEGIN
HS[T]:=25000;
WRITE('HARGA SATUAN=RP',HS[T]:4:0);
HS[T]:=HS[T];
END;
PROCEDURE MENCARI_HARGA_SATUAN_4;
BEGIN
HS[T]:=20000;
WRITE('HARGA SATUAN=RP',HS[T]:4:0);
HS[T]:=HS[T];
END;
BEGIN
CLRSCR;
BEGIN
TOTRANS:=0;
WRITE('JUMLAH TRANSAKSI=');READLN(N);
END;
WRITE('DATE=');READLN(DT);
FOR T:=1 TO N DO
BEGIN
WRITE('');
TEXTCOLOR(BLUE);WRITE('KODE BARANG=');READLN(KODE[T]);
BEGIN
CASE KODE[T] OF
0..100:
MENCARI_HARGA_SATUAN_1;
101..200:
MENCARI_HARGA_SATUAN_2;
201..300:
MENCARI_HARGA_SATUAN_3;
302..400:
MENCARI_HARGA_SATUAN_4;
END;
WRITELN('');
WRITE('JUMLAH BARANG=');READLN(JUM[T]);
IF JUM[T]>5 THEN MENGHITUNG_DISKON_1;
IF JUM[T]<5 THEN MENGHITUNG_DISKON_2;
IF JUM[T]=5 THEN MENGHITUNG_DISKON_3;
WRITE('');
IF JUM[T]>5 THEN MENGHITUNG_BAYAR;
IF JUM[T]<5 THEN MENGHITUNG_BAYAR_1;
IF JUM[T]=5 THEN MENGHITUNG_BAYAR_2;
END;
WRITE('');
TOTRANS:=TOTRANS+BAYAR[T];
END;
FOR T:=1 TO (N-1) DO
BEGIN
FOR J:=(T+1) TO N DO
BEGIN
IF KODE[T]>KODE[J] THEN
BEGIN
S:=KODE[T];
KODE[T]:=KODE[J];
KODE[J]:=S;
S1:=HS[T];
HS[T]:=HS[J];
HS[J]:=S1;
S2:=JUM[T];
JUM[T]:=JUM[J];
JUM[J]:=S2;
S3:=DISKON[T];
DISKON[T]:=DISKON[J];
DISKON[J]:=S3;
S4:=BAYAR[T];
BAYAR[T]:=BAYAR[J];
BAYAR[J]:=S4;
END;
END;
END;
TEXTCOLOR(BLUE); WRITELN('TOTAL TRANSAKSI
RP',TOTRANS:4:0);
READLN;
CLRSCR;
BEGIN
GOTOXY(17,1); TEXTCOLOR(YELLOW);WRITE('DAFTAR
TRANSAKSI PENJUALAN MASKER');
GOTOXY(13,2); TEXTCOLOR(YELLOW);WRITE('SALE 5% UNTUK
PEMBELIAN LEBIH DARI 5 ITEM');
GOTOXY(7,4); TEXTCOLOR(GREEN);WRITE('DATE=',DT);
GOTOXY(7,6); TEXTCOLOR(GREEN);WRITE('NO');
GOTOXY(12,6); TEXTCOLOR(YELLOW);WRITE('KODE');
GOTOXY(19,6); TEXTCOLOR(GREEN);WRITE('HARGA
SATUAN');
GOTOXY(34,6); TEXTCOLOR(YELLOW);WRITE('JUMLAH');
GOTOXY(43,6); TEXTCOLOR(GREEN);WRITE('DISKON');
GOTOXY(54,6); TEXTCOLOR(YELLOW);WRITE('BAYAR');
GOTOXY(7,20); TEXTCOLOR(YELLOW);WRITE('TOTAL
TRANSAKSI');
END;
FOR L:=1 TO 58 DO
BEGIN
GOTOXY(L+4,5); TEXTCOLOR(YELLOW);WRITE (CHR(196));
END;
FOR M:=1 TO 15 DO
BEGIN
GOTOXY(5,M+4); TEXTCOLOR(GREEN);WRITE(CHR(179));
GOTOXY(10,M+4);WRITE(CHR(179));
GOTOXY(17,M+4);WRITE(CHR(179));
GOTOXY(32,M+4);WRITE(CHR(179));
GOTOXY(41,M+4);WRITE(CHR(179));
GOTOXY(51,M+4);WRITE(CHR(179));
GOTOXY(62,M+4);WRITE(CHR(179));
END;
GOTOXY(5,5);TEXTCOLOR(YELLOW);WRITE(CHR(218));
GOTOXY(10,5);WRITE(CHR(194));
GOTOXY(17,5);WRITE(CHR(194));
GOTOXY(32,5);WRITE(CHR(194));
GOTOXY(41,5);WRITE(CHR(194));
GOTOXY(51,5);WRITE(CHR(194));
GOTOXY(10,7);WRITE(CHR(197));
GOTOXY(17,7);WRITE(CHR(197));
GOTOXY(32,7);WRITE(CHR(197));
GOTOXY(41,7);WRITE(CHR(197));
GOTOXY(5,7);WRITE(CHR(195));
GOTOXY(51,7);WRITE(CHR(197));
GOTOXY(5,19);TEXTCOLOR(GREEN);WRITE(CHR(192));
GOTOXY(10,19);WRITE(CHR(193));
GOTOXY(17,19);WRITE(CHR(193));
GOTOXY(32,19);WRITE(CHR(193));
GOTOXY(41,19);WRITE(CHR(193));
GOTOXY(51,19);WRITE(CHR(193));
GOTOXY(62,5);TEXTCOLOR(YELLOW);WRITE(CHR(191));
GOTOXY(62,7);WRITE(CHR(180));
GOTOXY(61,19);TEXTCOLOR(GREEN);WRITE(CHR(217));
FOR C:=1 TO N DO
BEGIN
GOTOXY(7,C+7);TEXTCOLOR(YELLOW);WRITE('',C);
GOTOXY(12,C+7);WRITE('',KODE[C]:4);
GOTOXY(20,C+7);WRITE('RP',HS[C]:4:0);
GOTOXY(35,C+7);WRITE('',JUM[C]:3:0);
GOTOXY(43,C+7);WRITE('RP',DISKON[C]:4:0);
GOTOXY(24,20);WRITE('RP',TOTRANS:4:0);
GOTOXY(53,C+7);WRITE('RP',BAYAR[C]:4:0);
END;

WRITELN;
TEXTCOLOR(WHITE);
GOTOXY(7,21);WRITE('KODE YANG DICARI:'); READLN(U);
FOR T:=1 TO N DO
IF (U=KODE[T]) THEN
BEGIN
CLRSCR;
WRITELN('DATA YANG DICARI');
WRITELN('KODE= ',KODE[T]);
WRITELN('JUMLAH BARANG=',JUM[T]:10:0);
WRITELN('DISKON=',DISKON[T]:10:0);
WRITELN('TOTAL TRANSAKSI=',TOTRANS:10:0);
END;
READLN;
END.

E.

F. CODING
G. LAYOUT

Anda mungkin juga menyukai