Anda di halaman 1dari 12

LAPORAN PRAKTIKUM KE-2

PRAKTIKUM DASAR-DASAR PEMROGRAMAN


“PROGRAM ARRAY DAN RECORD”

Oleh:
Ulfah Maisaroh (195090501111017)

Asisten Praktikum:
1. Agus Putradana (175090500111038)
2. Djihan Wahyuni (175090501111010)
3. Yanuar Rizal R (175090501111024)
4. Denilson Jovano (185090507111030)

LABORATORIUM STATISTIKA
JURUSAN STATISTIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS BRAWIJAYA
MALANG
2020
SOAL
Buatlah program menggunakan type record mengenai katalog
toko/swalayan/rumah makan dll yang menjual minimal 5 jenis barang (tiap
mahasiswa tidak boleh sama) dengan harga setiap barang. Lalu pembeli akan
menginput barang yang akan dibeli. Kemudian sistem akan mengeluarkan
struk pembayaran yang harus dibayar oleh pembeli.
Contoh Ouput:

1
SOURCE CODE DAN PEMBAHASAN

No Source Code Pembahasan


1 program tugas_laprak2; Nama program yang dibuat.
Mendeklarasikan unit crt
(fungsi pada program yang
2 uses crt;
fungsinya membersihkan layar
tampilan)
type
3 Memulai record katalog
katalog=record
kode: array[1..6] of Menyiapkan penyimpanan
string; kode pada array (string)
nama: array[1..6] of Menyiapkan penyimpanan
4
string; nama pada array (string)
harga: array[1..6] of Menyiapkan penyimpanan
longint; harga pada array (longint)
5 end; Mengakhiri record/merekam
Mendeklarasikan variabel
6 pesanan=record
pesanan dengan tipe record
kode: array[1..50] of
string;
Mendeklarasikan kode(string),
nama: array[1..50] of
nama(string), harga(longint),
string;
7 dan jumlah(integer) dan
harga: array[1..50] of
disimpan dalam array [1
longint;
sampai 50]
jumlah: array[1..50]
of integer;

2
8 end; Mengakhiri array pesanan
var
Pendeklarasian variabel global
9 data1:katalog;
data1 dan data2.
data2:pesanan;
procedure menu(var Mengawali prosedur untuk
10 kat:katalog; var menu dengan variabel kat dan
psn:pesanan); psn
var Pendeklarasian variabel lokal I
i,j:integer; dan j bertipe integer.
11
total_harga:longint; total_harga bertipe longint
pilih:string; pilih bertipe string
12 begin Memulai prosedur
writeln('============
Memerintahkan program
=====================
13 menulis baris pada output agar
=====================
tampilan seperti nota dari kasir
=======');
Menulis judul toko pada baris
writeln('|','PRICELIST
14 selanjutnya dengan spasi 42
MOON-SHOP ':42,'|':24);
dan 24
writeln('--------------
Memerintahkan program
-----------------------
15 menulis baris pada output agar
-----------------------
tampilan seperti nota dari kasir
-------');
writeln('|','Kode Menulis Kode Barang, Nama
Barang':13,'Nama Barang, dan Harga barang
16
Barang':25,'Harga sesuai dengan spasi yang
Barang':25,'|':3); diinginkan.

3
writeln('============
Memerintahkan program
=====================
17 menulis baris pada output agar
=====================
tampilan seperti nota dari kasir
=======');
kat.kode[1]:='001';
kat.kode[2]:='002'; Menyimpan data pada array
kat.kode[3]:='003'; kode sesuai dengan indeks.
18
kat.kode[4]:='004'; Kode ke-1 sampai ke-6 = 001,
kat.kode[5]:='005'; 002, 003, 004, 005, 006.
kat.kode[6]:='006';
kat.nama[1]:='Sheet
Mask';
Menyimpan data pada array
kat.nama[2]:='Masker
nama sesuai dengan indeks.
Organik';
Nama ke-1: Sheet Mask
kat.nama[3]:='Kuteks';
Nama ke-2: Masker Organik
19 kat.nama[4]:='Earloop
Nama ke-3: Kuteks
Mask';
Nama ke-4: Earloop mask
kat.nama[5]:='Headloop
Nama ke-5: Headloop mask
Mask';
Nama ke-6: Hand Sanitizer
kat.nama[6]:='Hand
Sanitizer';
kat.harga[1]:=20000; Menyimpan data pada array
kat.harga[2]:=15000; nama sesuai dengan indeks.
kat.harga[3]:=8000; Harga ke-1: 20000; harga ke-
20
kat.harga[4]:=5000; 2: 15000; harga ke-3: 8000;
kat.harga[5]:=8000; harga ke-4: 5000; harga ke-5:
kat.harga[6]:=7000; 8000; harga ke-6: 7000

4
21 for i:=1 to 6 do Memulai looping

Writeln Memerintahkan program


('|',kat.kode[i]:8, menulis dan menampilak data
22
kat.nama[i]:33, pada ouput, dari array urut dari
kat.harga[i]:22,'|':3); i=1 sampai i=6
writeln('============
Memerintahkan program
=====================
23 menulis baris pada output agar
=====================
tampilan seperti nota dari kasir
=======');
Awal looping untuk
24 for j:=1 to 50 do
mengetikkan pesanan
25 begin Memulai looping
Memberi jeda enter untuk
26 writeln;
kalimat selanjutnya.
Memerintahkan program
write('Masukkan Kode untuk menulis Masukkan
27 Pesanan = '); Kode Pesanan, kemudian
readln(psn.kode[j]); terbaca sebagai variabel
psn.kode
Memerintahkan program
write('Masukkan Jumlah untuk menulis Masukkan
28 Pesanan = '); Jumlah Pesanan, kemudian
readln(psn.jumlah[j]); terbaca sebagai variabel
psn.jumlah

5
write('Mau Pesan Memerintahkan program
29 Lagi?(y/n): '); untuk menulis Mau Pesan
readln(pilih); Lagi?
if (pilih='n') then Jika memilih y, lanjutkan
30
break; looping. Jika n maka berhenti.
Mengakhiri proses looping
31 end;
mengetikkan pesanan.
Perintah untuk membersihkan
32 clrscr;
layar saat di-run (output)
writeln('============
Memerintahkan program
=====================
33 menulis baris pada output agar
=====================
tampilan seperti nota dari kasir
=======');
Memerintahkan program
writeln('|','STRUK menulis Struk Pembayaran
34 PEMBAYARAN':38, pada output setelah selesai
'|':20); memasukkan total belanjaan
pelanggan
writeln('--------------
Memerintahkan program
-----------------------
35 menulis baris pada output agar
-----------------------
tampilan seperti nota dari kasir
-------');
Mendefinisikan total_harga =
36 total_harga:=0;
0
37 for j:=1 to 50 do Mendeklarasikan looping
38 begin Memulai looping untuk j

6
Mendeklarasikan looping
39 for i:=1 to 5 do
dalam looping
40 Begin Memulai looping untuk i
if(psn.kode[j]= Mendefinisikan seleksi, jika
41
kat.kode[i]) then psn.kode = kat.kode maka
42 begin Memulai seleksi
psn.nama[j]:=
Jika nama dan harga sesuai
kat.nama[i];
43 dengan indeks yang telah di-
psn.harga[j]:=
input.
kat.harga[i];

writeln('|',j:3, Menulis variabel nama, harga,


psn.nama[j] dan jumlah yang telah diinput
44
:34,psn.harga[j]:15, atau disimpan pada array dan
psn.jumlah[j]:4,'|':2); record.
total_harga:=total_ Mendefinisikan total_harga
45 harga+(psn.jumlah[j] dengan ditambah jumlah
*psn.harga[j]); pesanan kali harga pesanan.
46 end; Mengakhiri proses seleksi
47 end; Mengakhiri looping i
48 end; Mengakhiri looping j
writeln('============
Memerintahkan program
=====================
49 menulis baris pada output agar
=====================
tampilan seperti nota dari kasir
=======');
writeln('|','TOTAL Menulis TOTAL HARGA
50
HARGA':3, pada baris selanjutnya dengan

7
total_harga:41,'|':6); membaca variabel total_harga
yang telah didefinisikan
writeln('============
Memerintahkan program
=====================
51 menulis baris pada output agar
=====================
tampilan seperti nota dari kasir
=======');
52 end; Mengakhiri prosedur
53 begin Memulai program utama
Membersihkan layar pada
54 clrscr;
output.
Memanggil prosedur menu
55 menu(data1,data2);
(data1 dan data2)
Membiarkan output tetap
56 readln;
terbaca setelah program selesai
Mengakhiri keseluruhan
57 end.
program (Program utama)

8
Screenshoot

Input

9
10
Output

11

Anda mungkin juga menyukai