Vous êtes sur la page 1sur 6

C:\Users\KYKA\Videos\rentalku.

pas
Page 1 of 6 12/27/2018 3:05:03 AM
1 program penyewaan_kendaran;
2 uses crt;
3 const max=10;
4 type rec_kend=record
5 plat,jenis,merk:string;
6 stat,ket:string;
7 harga:longint;
8 end;
9 lar_kend=array[1..max] of rec_kend;
10
11 type transaksi=record
12 h1,h2,b2,b1,t1,t2:integer;
13 nama,phone,alamat:string;
14 noktp:string;
15 bayar:longint;
16 kode:integer;
17 end;
18 lar_trans=array[1..max] of transaksi;
19
20 var kend:lar_kend;
21 trans:lar_trans;
22 i,n,pil,j:byte;
23 pdt:longint;
24
25 //====================================================================================
==============//
26
27 procedure tambah_kendaraan(VAR X:lar_kend);
28 var baru:string;
29 label ulang;
30 begin
31 clrscr;
32 ulang:
33 writeln('==========================================================');
34 writeln('===============> Menambah Kendaraan Baru <================');
35 writeln('==========================================================');
36 write(' Masukkan Plat Kendaraan : ');readln(baru);
37 for i:=1 to n do
38 begin
39 if (X[i].plat=baru) then
40 begin
41 clrscr;
42 writeln(' Plat Sudah Digunakan, Ulangi ! ! ! ');
43 goto ulang;
44 end;
45 end;
46 inc(n);
47 X[n].plat:=baru;
48 write(' Masukkan Jenis Kendaraan : ');readln(X[n].jenis);
49 write(' Masukkan Merk Kendaraan : ');readln(X[n].merk);
50 write(' Masukkan Harga per Hari : Rp. ');readln(X[n].harga);
51 X[n].stat:='TERSEDIA';
52 if (x[n].stat='TERSEDIA') then x[n].ket:='BOLEH SEWA';
53 writeln('==========================================================');
54 writeln(' Kendaraan Sudah Di Masukkan Ke Dalam Data ');
55 end;
56
- 1 -
C:\Users\KYKA\Videos\rentalku.pas
Page 2 of 6 12/27/2018 3:05:03 AM
57 //====================================================================================
===============//
58
59 procedure cetak_Data(X:lar_kend);
60 begin
61 clrscr;
62
writeln('=========================================================================
=====');
63 writeln('===========================> DAFTAR KENDARAAN
<==============================');
64
writeln('=========================================================================
=====');
65 writeln('No':3,'Plat':10,'Jenis':7,'Merk':10,'Harga':10,'Status':10);
66
writeln('=========================================================================
=====');
67 for i:=1 to n do
68
writeln(i:2,'',X[i].plat:10,'',X[i].jenis:7,'',X[i].merk:10,'',X[i].harga:10,'',x[
i].stat:10,'');
69
writeln('=========================================================================
=====');
70 end;
71
72 //====================================================================================
===============//
73
74 procedure sewa_kendaraan(var X:lar_kend; var Y:lar_trans);
75 var h3:integer;
76 kem,tot:longint;
77 cari:string;
78 ada:boolean;
79 label ulang;
80 begin
81 ada:=false;
82 ulang:;
83 clrscr;
84
writeln('=========================================================================
=====');
85 writeln('=============================> Sewa Kendaraan
<===============================');
86 write(' Masukkan Plat Kendaraan : ');readln(cari);
87
writeln('=========================================================================
=====');
88 for i:=1 to n do
89 begin
90 if X[i].plat=cari then
91 begin
92 ada:=true;
93 writeln(' Anda Akan Sewa Kendaraan merk : ',x[i].merk);
94 writeln(' Dengan Plat Nomor : ',x[i].plat);
95
- 2 -
C:\Users\KYKA\Videos\rentalku.pas
Page 3 of 6 12/27/2018 3:05:03 AM
writeln('=============================================================
=================');
96 write(' Masukkan Nama Peminjam : ');readln(Y[i].nama);
97 write(' Masukkan Nomor Hp : ');readln(Y[i].phone);
98 write(' Masukkan Alamat : ');readln(Y[i].Alamat);
99 write(' Masukkan No KTP : ');readln(Y[i].noktp);
100 write(' Masukkan Tanggal Pinjam : ');read(Y[i].h1);
101 gotoxy(40,12);write(' Bulan : ');read(Y[i].b1);
102 gotoxy(55,12);write(' Tahun : ');readln(Y[i].t1);
103 write(' Masukkan Tanggal Kembali : ');read(Y[i].h2);
104 gotoxy(40,13);writeln(' Bulan : ',Y[i].b1);
105 gotoxy(55,13);writeln(' Tahun : ',Y[i].t1);
106
writeln('=============================================================
=================');
107 h3:=Y[i].h2-Y[i].h1;
108 writeln(' Peminjaman Akan Dilakukan Selama : ',h3,' hari ');
109 Y[i].bayar:=h3*X[i].harga;
110 writeln(' Harga Sewa Kendaraan ',X[i].merk,' Adalah : Rp. ',
Y[i].bayar);
111 write(' Uang yang dibayarkan : Rp. ');readln(kem);
112
writeln('=============================================================
=================');
113 tot:=kem-Y[i].bayar;
114 writeln(' Kembalian Anda Adalah : RP. ',tot);
115 pdt:=pdt+y[i].bayar;
116 inc(j);
117 Y[j].kode:=1000+j;
118 x[i].stat:='USED';
119 if x[i].stat='USED' then x[i].ket:='SEDANG DIGUNAKAN';
120
writeln('=============================================================
=================');
121 end;
122 end;
123 if not ada then writeln(' Plat Tidak Di temukan, Ulangi ! ! ! ') else writeln('
Data Sudah Dicatat ');;
124 end;
125
126 //====================================================================================
===============//
127
128 procedure cetak_transaksi(Y:lar_trans);
129 begin
130 clrscr;
131
writeln('=========================================================================
=====');
132 writeln(' ======================> DAFTAR TRANSAKSI HARI INI
<=========================');
133
writeln('=========================================================================
=====');
134 writeln('No ':3,'Kode':7,'Nama ':12,'Alamat ':10,'No.Hp ':17,'Tanggal Pinjam
':15,'Tanggal Kembali':15);
135
- 3 -
C:\Users\KYKA\Videos\rentalku.pas
Page 4 of 6 12/27/2018 3:05:03 AM
writeln('=========================================================================
=====');
136 for i:=1 to n do
137
writeln(i:3,'',Y[i].kode:7,'',Y[i].nama:12,'',Y[i].alamat:10,'',Y[i].phone:17,
'',Y[i].h1:5,'/',Y[i].b1:3,'/',
138 Y[i].t1:2,' ',Y[i].h2:5,'/',Y[i].b2:3,'/',Y[i].t2:2,' ');
139
writeln('=========================================================================
=====');
140 end;
141
142 //====================================================================================
===============//
143
144 procedure cetak_status(X:lar_kend;Y:lar_trans);
145 begin
146 clrscr;
147
writeln('=========================================================================
=====');
148 writeln('===========================> STATUS KENDARAAN
<==============================');
149
writeln('=========================================================================
=====');
150 writeln('No':3,'Plat':10,'Status':11,'Kembali Pada Tanggal':25);
151
writeln('=========================================================================
=====');
152 for i:=1 to n do
153
writeln(i:3,'',X[i].plat:10,'',X[i].stat:12,'',Y[i].h2:9,'/',Y[i].b1:3,'/',Y[i].t1
:3,' ');
154
writeln('=========================================================================
=====');
155 end;
156
157 //====================================================================================
===============//
158
159 procedure pendapatan(x:lar_kend;y:lar_trans);
160 begin
161 clrscr;
162 writeln('===========================');
163 writeln('=== PENDAPATAN HARI INI ===');
164 writeln('===========================');
165 writeln('===> Rp. ',pdt);
166 end;
167
168 //====================================================================================
===============//
169
170 procedure pengembalian_kendaraan(var X:lar_kend; var Y:lar_trans);
171 var cari:integer;
172 ada:boolean;
- 4 -
C:\Users\KYKA\Videos\rentalku.pas
Page 5 of 6 12/27/2018 3:05:03 AM
173 label ulang;
174 begin
175 ada:=false;
176 ulang:;
177 clrscr;
178
writeln('=========================================================================
=====');
179 writeln(' ===> Pengembalian Kendaraan <=== ');
180
writeln('=========================================================================
=====');
181 write(' Masukkan Nomor Transaksi : ');readln(cari);
182 for i:=1 to n do
183 begin
184 if Y[i].kode=cari then
185 begin
186 ada:=true;
187 writeln(' Anda Akan mengembalikan Kendaraan ');
188
writeln('=============================================================
=================');
189 writeln(' Merk : ',x[i].merk);
190 writeln(' Plat Nomor : ',x[i].plat);
191 writeln(' Nama Peminjam : ',Y[i].nama);
192 writeln(' Nomor Hp : ',Y[i].phone);
193 writeln(' Alamat : ',Y[i].Alamat);
194 writeln(' No KTP : ',Y[i].noktp);
195 writeln(' Tanggal Pinjam : ',Y[i].h1);
196 gotoxy(40,12);writeln(' Bulan : ',Y[i].b1);
197 gotoxy(55,12);writeln(' Tahun : ',Y[i].t1);
198 writeln(' Tanggal Kembali : ',Y[i].h2);
199 gotoxy(40,13);writeln(' Bulan : ',Y[i].b2);
200 gotoxy(55,13);writeln(' Tahun : ',Y[i].t2);
201
writeln('=============================================================
=================');
202 x[i].stat:='TERSEDIA';
203 if x[i].stat='TERSEDIA' then x[i].ket:='BOLEH SEWA';
204
writeln('=============================================================
=================');
205 end;
206 end;
207 if not ada then writeln(' Plat Tidak Di temukan, Ulangi ! ! ! ') else writeln('
MOBIL SUDAH DIKEMBALIKAN ');;
208 end;
209
210 //========================================= PROGRAM UTAMA
==================================================//
211
212 begin
213 n:=0;
214 repeat
215 clrscr;
216 writeln('==========================================================');
217 writeln('==============> PENYEWAAN KENDARAAN LEGAL <===============');
- 5 -
C:\Users\KYKA\Videos\rentalku.pas
Page 6 of 6 12/27/2018 3:05:03 AM
218 writeln('==========================================================');
219 writeln('|| MENU ||');
220 writeln('==========================================================');
221 writeln('| 1. Tambah Kendaraan ||');
222 writeln('| 2. Cetak Data Kendaraan ||');
223 writeln('| 3. Sewa Kendaraan ||');
224 writeln('| 4. Cetak Transaksi ||');
225 gotoxy(30,6);writeln(' 5. Cek Status Kendaraan |');
226 gotoxy(30,7);writeln(' 6. Cek Pendapatan Hari ini |');
227 gotoxy(30,7);writeln(' 7. Pengembalian Kendaraan |');
228 gotoxy(30,8);writeln(' 0. Keluar |');
229 gotoxy(1,10);writeln('==========================================================');
230 writeln();
231 gotoxy(23,11);writeln('=======');
232 writeln(' Silahkan Pilih Menu :| | ');
233 gotoxy(23,13);writeln('=======');
234 gotoxy(26,12);readln(pil);
235 case pil of
236 1: if n=max then writeln(' Kendaraan Sudah Penuh ') else tambah_kendaraan(kend);
237 2: if n=0 then writeln('Daftar Kendaraan Masih Kosong') else cetak_data(kend);
238 3: if n=0 then writeln('Daftar Kendaraan Masih Kosong') else
sewa_kendaraan(kend,trans);
239 4: if n=0 then writeln('Daftar Kendaraan Masih Kosong') else
cetak_transaksi(trans);
240 5: if n=0 then writeln('Daftar Kendaraan Masih Kosong') else
cetak_status(kend,trans);
241 6: if n=0 then writeln('Daftar Kendaraan Masih Kosong') else
pendapatan(kend,trans);
242 7: if n=0 then writeln('Daftar Kendaraan Masih Kosong') else
pengembalian_kendaraan(kend,trans);
243 0: writeln('TERIMAKASIH') else writeln('Salah Pilih Menu');
244 end;
245 readln;
246 until pil=0;
247 end.
248

- 6 -