Rabu, 02 Desember 2015

perbedaaan stack dan queue

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;
    procedure enqueue;
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;
     procedure deque;
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;
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
2.ISEMPTY (Q) Operator yang menunjukkan apakah antrean Q hampa.
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.
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