Tugas Besar Algoritma Dan Pemrograman31
Tugas Besar Algoritma Dan Pemrograman31
Puji dan Syukur kita ucapakan kepada Tuhan karena kita dapat
menyelesaikan tugas makalah ini. Makalah ini berisi tentang struktur data
Parkir yang di tugaskan oleh Dosen kita yang bernama Ibu Tati Haryati.
Tujuan kami menyusun makalah ini adalah tidak lain untuk
menambah ilmu pengetahuan kami dalam bidang Teknik Informatika.
Dan untuk memenuhi tugas struktur data.
Serta memberi kita pengetahuan tentang struktur data tersebut.
Dengan terselesaikannya makalah ini kami mengucapkan terima
kasih kepada pihak pihak yang berperan dalam membantu penyesusunan
makalah ini hingga selesai.
Akhir kata kami mengucapkan mohon maaf apabila ada kekurangan
dan kesalahan kami dalam penyusunan makalah ini.
Kami juga mengharapkan adanya kritik dan saran dalam makalah
ini, serta kami juga mengharapkan makalah ini dapat bermanfaat untuk
mahasiswa dan mahasiswi unikom yang lainnya.
Pendahuluan
Latar Belakang
Pada suatu data seringkali dibutuhkan pembacaan kembali
informasi dengan cara searching. Searching adalah pencarian data
dengan cara menelusuri data-data tersebut. Searching sering juga
disebut storage and retrieval information adalah suatu proses untuk
mengumpulkan sejumlah informasi didalam pengingat komputer
dan kemudian mencari kembali informai yang diperlukan secepat
mungkin.
Dalam kehidupan sehari-hari sebenarnya kita sering melakukan
pencarian data. Sebagai contoh, jika kita menggunakan Kamus
untuk mencari kata-kata dalam Bahasa Inggris yang belum
diketahui terjemahannya dalam Bahasa Indonesia. Contoh lain saat
kita menggunakan buku telepon untuk mencari nomor telepon
teman atau kenalan dan masih banyak lagi contoh lainnya.
Tujuan:
Untuk mengetahui penggunan dan penerapan runtunan
dalam bahasa pemrograman pascal
Untuk mengetahui penggunaan dan penerapan pemilihan
dalam bahasa pemrograman pascal
Untuk mengetahui penggunan dan penerapan perulangan
dalam bahasa pemrograman pascal
Untuk mengetahui program pascal secara lebih dalam dan
detail
Pembahasan
Disini kami akan membahas mengenai program parkir kendaraan
Program parkir kendaraan terdiri dari :
Kendaraan masuk
Kendaraan keluar
Sequential Search Dengan Sentinel (Quick Sort Asc)
Kendaraan masuk yaitu suatu procedure mengenai kendaraan yang
masuk seperti nomor parker/antrian yang akan masuk, plat nomor
kendaraan, jam masuk, menit masuk, dan detik masuk.
Kendaraan keluar yaitu suatu procedure mengenai kendaraan yang
akan keluar seperti nomor parker/antrian yang akan keluar, plat
nomor kendaraan, jam keluar, menit keluar, detik keluar, dan biaya
parkir.
Hijau tua
: Pivot Baru
Agoritma
Program Parkir_KENDARAAN;
{I.S : record array x,jb,i, sudah terdefinisi}
{F.S : Menampilkan program parkir kendaraan }
Kamus:
type
Data = record
Status : boolean
Jam,Menit,Detik,Noplat : integer
endrecord
Parkir = array [1..100] of Data
var
x:parkir
jb,i,pil,jum,j,m,d,jamparkir,biayaparkir,search:integer
Keluar,Masuk,Lama:longint
label ulang
Procedure Cover
Algoritma
Output ('|====================================|')
Output ('|
Output ('|
|')
|')
Output ('|****************************************|')
Output ('|Tekan sembarang tombol untuk ke menu|')
Output('|====================================|')
end
Procedure Inisialisasi(input jum:integer)integer
{I.S : Record array jum(Sudah terdefinisi)}
{F.S : Menampilkan inisialisasi }
Algoritma
for i1 to 100 do
x(i).Status:=FALSE
endfor
jumjum+0
jbjb+0
Output('Status KENDARAAN yang terparkir: ',jum,' KENDARAAN')
endprocedure
endwhile
if (i=100) and (x(i).Status=TRUE) then
Output('MAAF PARKIRAN PENUH')
else
x(i).Status:=TRUE
Output (' ========================================== ')
Output ('
')
Output ('
')
: ',i)
: ',x(i).Noplat)
: ')input(j)
: ')input (m)
')
: ',i)
: ',x(i).Noplat)
: ',x(i).Jam,':',x(i).menit,':',x(i).Detik)
|*|')
Output ('=============================================')
Output ('
Output ('
')
')
Output ('=============================================')
Output ('Pilih Menu : ')input(search)
endwhile
endprocedure
|)
Output('|================================================|')
Output ('| Waktu masuk | ',x(i).Jam,':',x(i).menit,':',x(i).Detik,
|)
Output('================================================|')
else
| ',x(i).Noplat,
|)
Output('|===============================================|')
Output ('| Waktu masuk | ',x[i].Jam,':',x[i].menit,':',x[i].Detik,
|)
Output('|===============================================|')
else
Output (' Data tidak ditemukan ')
endif
endcase
endprocedure
min : integer
temp : parkir
Algoritma :
for i 1 to (jum-1)do
min i
for j (i+1) to (jum) do
if (x(min).noplat) > (x(j).noplat) then
min j
endif
temp(i) x(min)
x(min) x(i)
x(i) temp(i)
endfor
endfor
endprocedure
| Waktu Masuk
|');
gotoxy(15,5);writeln('======================================');
gotoxy(15,5+i);writeln('|
|');
gotoxy(17,5+i);writeln(x[i].Noplat);
gotoxy(35,5+i);writeln(x[i].Jam,':',x[i].menit,':',x[i].Detik);
gotoxy(15,6+i);writeln('--------------------------------------');
endfor
endprocedure
{algoritma utama}
Algoritma
procedure Cover
procedure ulang
Output (' ============================================')
Output (' |*|
|*|')
|')
Output (' |
1. Inisialisasi
|')
Output (' |
2. Kendaraan MASUK
|')
Output (' |
3. Kendaraan KELUAR
|')
Output ( ' |
4. Search
|')
Output (' |
5. Sorting
|')
Output (' |
|')
Output (' |
|')
Pilih_Search(search)
Searching(search,jum,i,x)
5 Sorting(jum,x)
Tampil(jum,x)
0 exit
Endcase
Program
Program Parkir_KENDARAAN;
{I.S : record array x,jb,i sudah terdefinisi}
{F.S : Menampilkan program parkir kendaraan }
Uses crt;
type
Data = record
Status : boolean;
Jam,Menit,Detik,Noplat : integer;
end;
Parkir = array [1..100] of Data;
var
x:parkir;
jb,i,pil,jum,j,m,d,jamparkir,biayaparkir,search:integer;
Keluar,Masuk,Lama:longint;
label ulang;
Procedure Cover;
begin
gotoxy(22,9) ;writeln('|
====================================|');
gotoxy(22,10); writeln('|
gotoxy(22,11); writeln('|
WRITEN BY : KELOMPOK 6
|');
|');
gotoxy(22,12); writeln('|
************************************|');
gotoxy(22,13);write
menu|');ReadKey;
gotoxy(22,14) ;writeln('|
====================================|');
end;
');
gotoxy(22,8);writeln('
========================================== ');
gotoxy(22,9);writeln('
gotoxy(22,10);write ('
');readln(x[i].Noplat);
gotoxy(22,11);write ('
gotoxy(22,12);write ('
');readln(x[i].menit);
No Parkir
: ',i);
Nomor Plat
Jam masuk
: ');readln(x[i].Jam);
Menit masuk :
gotoxy(22,13);write ('
');readln(x[i].Detik);
Detik masuk :
gotoxy(22,14);writeln('
========================================== ') ;
writeln;
gotoxy(22,18);writeln(' Jumlah KENDARAAN masuk parkiran
',jum,' KENDARAAN');
end;
end;
gotoxy(24,2);writeln('===========================================
');
gotoxy(24,3);writeln('
');
gotoxy(24,4);writeln('
========================================== ');
gotoxy(24,5);writeln('
No Parkir
: ',i);
gotoxy(24,6);writeln('
Nomor plat
: ',x[i].Noplat);
gotoxy(24,7);write
('
Jam keluar
: ');readln(j);
gotoxy(24,8);write
('
Menit keluar
: ');readln(m);
gotoxy(24,9);write
('
Detik keluar
: ');readln(d);
gotoxy(24,10);writeln('
========================================== ');
writeln;
masuk:=(x[i].Jam*3600)+(x[i].menit*60)+(x[i].Detik);
keluar:=(j*3600)+(m*60)+(d);
lama:=keluar-masuk;
jamparkir:= lama div 3600;
if lama mod 3600 > 0 then
jamparkir:=jamparkir+1;
biayaparkir:=1000*jamparkir;
if lama mod 3600 = 0 then
biayaparkir:=1000*jamparkir;
clrscr;
gotoxy(22,4) ;writeln('
========================================== ');
gotoxy(22,5) ;writeln('
');
gotoxy(22,6) ;writeln('
========================================== ');
gotoxy(22,7) ;writeln('
No Parkir
: ',i);
gotoxy(22,8) ;writeln('
Nomor plat
: ',x[i].Noplat);
gotoxy(22,9) ;writeln('
Waktu masuk
',x[i].Jam,':',x[i].menit,':',x[i].Detik);
gotoxy(22,10);writeln('
Waktu keluar
: ',j,':',m,':',d);
gotoxy(22,11);writeln('
TOTAL BIAYA
: Rp. ',biayaparkir);
gotoxy(22,12);writeln('
==========================================') ;
gotoxy(22,16);writeln('Jumlah KENDARAAN yang terparkir sebanyak
',jum,' KENDARAAN');
x[i].Status:=false;
end;
|*|');
writeln('=============================================');
writeln('
');
writeln('
');
writeln('=============================================');
write('Pilih Menu : ');readln(search);
end;
end;
| ',x[i].Noplat);
gotoxy(2,5);write('|
=========================================================|');
gotoxy(2,6);write('| Waktu masuk
',x[i].Jam,':',x[i].menit,':',x[i].Detik);
gotoxy(60,6);write('|');
gotoxy(2,7);write('|
=========================================================|');
end
else
writeln(' Data tidak ditemukan ');
end;
2 : begin
clrscr;
writeln('Masukan nomor plat yang ingin anda cari :
');readln(data_cari);
while (data_cari <> x[i].Noplat) and (i <> jum) do
begin
i:=i+1;
end;
if (data_cari = x[i].Noplat) then
begin
gotoxy(2,3);write('|
=========================================================|');
gotoxy(2,4);write('| Nomor Plat
| ',x[i].Noplat);
gotoxy(60,4);write('|');
gotoxy(2,5);write('|
=========================================================|');
gotoxy(2,6);write('| Waktu masuk
',x[i].Jam,':',x[i].menit,':',x[i].Detik);
gotoxy(60,6);write('|');
gotoxy(2,7);write('|
=========================================================|');
end
else
writeln(' Data tidak ditemukan ');
end;
end;
end;
temp[i] := x[min];
x[min] := x[i];
x[i] := temp[i];
end;
end;
//algoritma utama
begin
Cover;
clrscr;
ulang :
clrscr;
gotoxy(22,7) ;writeln('
============================================');
Waktu masuk
gotoxy(22,9) ;writeln('
============================================');
gotoxy(22,10);writeln(' |
|');
gotoxy(22,11);writeln(' |
1. Inisialisasi
gotoxy(22,12);writeln(' |
2. Kendaraan MASUK
gotoxy(22,13);writeln(' |
3. Kendaraan KELUAR
gotoxy(22,14);writeln(' |
4. Search
gotoxy(22,15);writeln(' |
5. Sorting
gotoxy(22,16);writeln(' |
|');
|');
|');
|');
|');
|');
gotoxy(22,17);writeln(' |
|');
gotoxy(22,18);writeln('
============================================');
gotoxy(23,21);write('Pilih Menu: ');readln(pil);
gotoxy(1,23);clreol;
gotoxy(35,21);clreol;
textcolor(15);readln(pil);
end;
case pil of
1: begin
inisialisasi(jum);
readln; goto ulang;
end;
2:begin
clrscr;
KENDARAAN_In(jb, i,x);
readln; goto ulang;
end;
3 : begin
clrscr;
gotoxy(24,5);writeln('No Antrian Parkir:');readln(i);
if x[i].Status = false then
begin
clrscr;
gotoxy(24,5);writeln('KOSONG');
readln;goto ulang;
end else
begin
KENDARAAN_Out(jum,i,x);
readln; goto ulang;
end;
end;
4 : begin
Pilih_Search(search);
Searching(search,jum,i,x);
readln; goto ulang;
end;
5 : begin
Sorting(jum,x);
Tampil(jum,x);
readln; goto ulang;
end;
0 : begin
clrscr;
end;
end;
end.
Tampilan Layar
Kontribusi Kelompok
Rai Munazat Y : Membuat procedure quick sort dan searching, Membuat layar
tampilan, Membuat daftar pustaka
Krisna Fahrizal D : Membuat teori metode sorting, Membuat procedure create dan
quick sort, Membuat algoritma
Abdul Muchosid : Membuat program quick sort dan create, Membuat algoritma,
Membuat teori metode sorting
Khairul Amin : Membuat Procedure Searching, Membuat teori metode sorting,
Membuat Pembahasan
Dyvaldy Raka Arditian : Membuat Procedure Searching, Membuat Cover, Membuat
algoritna, Membuat teori metode sorting
Daftar Pustaka
-
http://cerdaskan.com/program-pascal-tentang-parkir-mobil.html (Judul :
Program Pascal Tentang Parkir Mobil, Tanggal Posting : 28 Juni 2013, Nama
Penulis : Andri Muchsin, Tanggal Akses : 3 Maret 2016, Jam Akses : 17:22)
http://hack.spyrozone.net/0221_Struktur_Data_Sorting_Method_by_y3ppy_
WWW.SPYROZONE.NET_07_Oktober_2007.html (Judul :
[221].STRUKTUR DATA: Sorting Method, Tanggal Posting : 07/10/2007
21.29.46, Nama Penulis : y3ppy, Tanggal Akses : 5 Maret 2016, Jam Akses :
14:03)