1.Perbedaan steak dan queun
} Stack memakai sistem LIFO atau last
in first out (yang pertama masuk akan keluar terakhir, begitu pula yang
terakhir masuk akan keluar pertama kali) yang apabila kita mengahapus/ keluar
data, maka data yang terakhirlah yang akan terhapus/ keluar terlebih dahulu.
} Sementara queue memakai siste FIFO
atau first in first out (yang pertama masuk akan keluar pertama, begitu pula
yang masuk terakhir akan keluar terakhir) yang apabila kita menghapus /
mengeluarkan data, maka data yang pertamalah yang akan terhapus/ keluar
terdahulu dan data yang terakhir akan terhapus/ keluar terakhir.
2.contoh program dari queun
var
queue:array[1..10] of integer;
i,pos,pil:integer;
queue:array[1..10] of integer;
i,pos,pil:integer;
procedure enqueue;
var
bil:integer;
begin
clrscr;
if (pos>=10) then
begin
var
bil:integer;
begin
clrscr;
if (pos>=10) then
begin
writeln(‘Antrean penuh’); readln();
end
else
begin
write(‘Masukkan bilangan : ‘);readln(bil);
pos:=pos+1;
queue[pos]:=bil;
end;
end;
end
else
begin
write(‘Masukkan bilangan : ‘);readln(bil);
pos:=pos+1;
queue[pos]:=bil;
end;
end;
procedure deque;
begin
begin
clrscr;
if (pos=0) then
begin
writeln(‘Tidak ada Antrean’);readln();
end
else
begin
{restructuring queue}
pos:=pos-1;
for i:=1 to pos do
begin
queue[i]:=queue[i+1];
end;
end;
end;
if (pos=0) then
begin
writeln(‘Tidak ada Antrean’);readln();
end
else
begin
{restructuring queue}
pos:=pos-1;
for i:=1 to pos do
begin
queue[i]:=queue[i+1];
end;
end;
end;
3.contoh
queun yang anda terapkan dalam kehidupan sehari –hari
Contohnya yaitu antrian pada kasir pada sebuah bank. Ketika
seorang pelanggan datang, akan menuju ke belakang dari antrian. Setiap
pelanggan dilayani, antrian yang berada di depan akan maju. Jika kita ada di
antrian kedua, maka kita akan menunggu antrian pertama melakukan prosesnya
4.konsep
operasi-operasi dari queun
IsEmpty
Fungsi IsEmpty berguna untuk mengecek
apakah queue masih kosong atau sudah berisi data. hal ini dilakukan dengan
mengecek apakah tail bernilai -1 atau tidak. Nilai -1 menandakan bahwa queue
masih kosong.
• IsFull
Fungsi IsFull berguna untuk mengecek apakah
queue sudah penuh atau masih bias menampung data dengan cara mengecek apakah
nilai tail sudah sama dengan jumlah maksimal queue. Jika nilai keduanya sama,
berarti queue sudah penuh.
DeQueue
Fungsi DeQueue berguna untuk mengambil
sebuah elemen dari queue. Operasi ini sering disebut juga serve. Hal ini
dilakukan dengan cara memindahkan sejauh satu langkah ke posisi di depannya
sehingga otomatis elemen yang paling depan akan tertimpa dengan elemen yang
terletak di belakangnya.
ngsi
EnQueue berguna untuk memasukkan sebuah elemen dalam queue
• Clear
Fungsi Clear berguna untuk menghapus semua
lemen dalam queue dengan jalan mengeluarkan semua elemen tersebut satu per satu
hingga queue kosong dengan memanfaatkan fungsi DEQueue.
5. Apa saja yang harus diper hatikan dalam
operasi queue
1.CREATE (Q)
Operator yang menunjukkan suatu antrean hampa Q.
Berarti : Noel (Q) = 0
Front (Q) & Rear (Q) = tidak terdefinisi
Berarti : Noel (Q) = 0
Front (Q) & Rear (Q) = tidak terdefinisi
2.ISEMPTY (Q)
Operator yang menunjukkan apakah antrean Q hampa.
Operand : tipe data antrean
Hasil : tipe data boolean
ISEMPTY (CREATE (Q)) = True
Operand : tipe data antrean
Hasil : tipe data boolean
ISEMPTY (CREATE (Q)) = True
3.INSERT (E, Q)
Operator yang menginsert elemen E ke dalam antrean Q.
E ditempatkan di bagian belakang antrean.
Hasil : antrean yang lebih besar.
REAR (INSERT (E, Q)) = E
ISEMPTY (INSERT (E, Q)) = False
4.REMOVE
(Q)Operator yang menghapus elemen bagian depan dari antrean Q.E ditempatkan di bagian belakang antrean.
Hasil : antrean yang lebih besar.
REAR (INSERT (E, Q)) = E
ISEMPTY (INSERT (E, Q)) = False
Hasil : antrean yang lebih pendek.
Pada setiap operasi, Noel (Q) berkurang 1 dan elemen ke-2 menjadi elemen terdepan.
Jika Noel (Q) = 0 maka Q = hampa
Remove (Q) = kondisi error (underflow condition)
Remove (Create (Q)) = kondisi error (underflow condition)
Tidak ada komentar:
Posting Komentar