REVIEW WEBSITE MEDIAKOMEN.COM || WEBSITE DAFTAR JADI BUZZER || PENGHASIL UANG VIA WEBSITE || RECEHAN REVIEW WEBSITE MEDIAKOMEN.COM || WEBSITE DAFTAR JADI BUZZER || PENGHASIL UANG VIA WEBSITE || RECEHAN REVIEW WEBSITE MEDIAKOMEN.COM || WEBSITE DAFTAR JADI BUZZER || PENGHASIL UANG VIA WEBSITE || RECEHAN REVIEW WEBSITE MEDIAKOMEN.COM || WEBSITE DAFTAR JADI BUZZER || PENGHASIL UANG VIA WEBSITE || RECEHAN #REVIEWWEBSITE #penghasiluang #receh Berikut Link Webistenya : https://www.mediakomen.com/ 0:00:00 ▼ EXPAND FOR NAVIGATION ▼ 0:01 CH 0: Opening 0:08 CH 1: Story 0:10 CH 2: Closing
Program Queue atau Antrian Pascal
Selamat malam sob... kali ini ane mau post nih salah satu tugas struktur data semester 3, yaitu Program Antrian atau sering disebut Queue, langsung aja sob liat kodingannya,..
COPAS BOLEH, PELAJARI HARUS!!!..
====================================================================
Program queue;
uses wincrt;
type antrian = ^node;
node = record
isi : String[10];
next : antrian;
end;
var
depan, belakang : antrian;
pointer, x : string;
pil : char;
{Procedure baru digunakan untuk inisialisasi awal list}
Procedure baru(x : string; var tunjuk : antrian);
begin
new(tunjuk);
tunjuk^.isi := x;
tunjuk^.next := nil;
end;
{Function isempty digunakan untuk mengecek apakah suatu list kosong atau tidak}
Function isempty(depan, belakang : antrian):boolean;
begin
isempty := (depan=nil) and (belakang=nil) = true
end;
{procedure tambahAntri digunakan untuk menambahkan jumlah orang dalam antrian}
procedure tambahAntri(var belakang : antrian);
var x : string;
tunjuk : antrian;
begin
write('Masukan nama orang yang mau masuk antrian : '); readln(x);
baru(x,tunjuk);
belakang^.next := tunjuk;
belakang := tunjuk;
end;
{procedure hapusDepan digunakan untuk menghapus list dalam antrian}
procedure hapusDepan(var depan, belakang : antrian);
var bantu : antrian;
begin
if isempty(depan, belakang) then
writeln('antrian kosong')
else if depan = belakang then
begin
depan := nil;
belakang := nil;
end
else
begin
bantu:=depan^.next;
depan := bantu;
end;
end;
{Procedure selesaiAntri digunakan untuk mengambik orang yang sudah selesai antri}
procedure selesaiAntri(var depan, belakang:antrian; var x : string);
begin
if depan = nil then
x:= 'Antrian kosong'
else
begin
x := depan^.isi;
hapusDepan(depan, belakang);
end;
end;
{procedure buatAntrian untuk membangun antrian dengan input data secara interaktif}
procedure buatAntrian(var depan, belakang:antrian);
var c : char;
tunjuk : antrian;
i : integer;
begin
i := 0;
depan := nil;
belakang := nil;
repeat
i := i+1;
write('masukan nama ke-',i,'='); readln(x);
baru(x,tunjuk);
if isempty(depan, belakang) then
begin
depan := tunjuk;
belakang := tunjuk;
end
else
begin
belakang^.next := tunjuk;
belakang := tunjuk;
end;
repeat
write('tambah data yang antri [Y/T] = '); readln(c);
until c in ['T','t','y','Y'];
until c in ['T','t'];
end;
{procedure cetak untuk mencetak isi antrian, pintu keluar antrian disebelah kanan dan pintu masuk antrian disebelah kiri}
procedure cetak(depan : antrian; var output : string);
var bantu : antrian;
y : string;
begin
bantu := depan;
output := 'loket pendaftaran';
if isempty(depan, belakang) then
output := ' antrian kosong'
else
begin
while bantu <> nil do
begin
y := bantu^.isi;
output := y+'->>'+output;
bantu:=bantu^.next;
end;
output := 'pintu masuk antrian ->> '+output;
end;
end;
begin
buatAntrian(depan, belakang);
repeat
repeat
{menu utama}
writeln;
writeln('--------------------------------------------------------');
writeln('[1] Buat Antrian baru ');
writeln('[2] Tambah antrian pendaftar ');
writeln('[3] ambil orang yg selesai daftar ');
writeln('[4] loket pendaftaran ditutup ');
writeln('--------------------------------------------------------');
write('pilihan anda : '); //pil := readkey;
readln(pil);
writeln(pil);
writeln;
until (pil>= '1') and (pil <= '4');
{case pil of mengacu pada menu pilihan yang akan mengaktifkan salah satu prosedure yang dipilih}
case pil of
'1' : begin
buatAntrian(depan,belakang);
writeln;
writeln;
writeln;
end;
'2' : begin
tambahAntri(belakang);
writeln;
writeln('setelah antrian menjadi : ');
cetak(depan, pointer);
writeln(pointer);
writeln;
writeln;
writeln;
end;
'3' : begin
selesaiAntri(depan,belakang,x);
writeln(' ',x,' telah selesai mendaftar, maka ia keluar dari antrian');
writeln;
writeln(' antrian menjadi : ');
cetak(depan, pointer);
writeln(pointer);
writeln;
writeln;
writeln;
end;
'4' : begin
writeln('loket telah ditutup ');
writeln('antrian dilanjutkan hari berikutnya');
exit;
end;
end;
until (pil='8');
end.
end.
====================================================================
OUTPUT
========================================================================
Semoga bermanfaat😎
Komentar ini telah dihapus oleh administrator blog.
BalasHapushahaha mantap
Hapus