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
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
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];
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