Queue dan Stack

Hasil gambar untuk apakah itu queue dan stackQUEUE DAN STACK




                                     Hasil gambar untuk apakah itu queue dan stack

STACK (TUMPUKAN)

Stack adalah list(urutan) dimana penambahan dan pengambilan element hanya dilakukan pada satu sisi yang disebut top(Puncak) dari Stack.
Dengan melihat definisi tersebut maka jelas pada Stack berlaku aturan LIFO (Last In First Out).  benda yang terakhir masuk ke dalam stack akan menjadi benda pertama yang dikeluarkan dari stack.
Stack(Tumpukan) adalah list linier yang dikenali elemen puncaknya (TOP) dan aturan penyisipan dan penghapusan elemennya tertentu. penyisipan selalu dilakukan "Di atas" TOP dan penghapusan selalu dilakukan pada TOP

Operasi Operasi / Fungsi Stack

Push         : digunakan untuk mengambil item pada stack pada tumpukan paling atas.
Pop           : digunakan untuk mengambil item pada stack pada tumpukan paling atas
Clear        : digunakan untuk mengosongkan stack
IsEmpty   : untuk mengecek apakah stack sudah kosong
IsFull       : digunakan untuk mengecek apakah stack sudah penuh

(Untuk mempermudah penulisan, dibawah ini isi stack tidak dituliskan kesepakatan :


  • elemen paling kanan adalah elemen yang ada pada TOS (Top Of the Stack)
  • Stack yang dipakai bernama S
  • PUSH(S,B) berarti memasukkan elemen B ke dalam Stack S
  • POP(B,S) berarti mengambil elemen dari stack S dan menaruhnya kedalam Variabel B

Operasi yang dilakukanIsi StackKeterangan
Kondisi Awalkosong-
PUSH('A',S)A-
PUSH('B',S)AB-
PUSH('C',S)ABC-
POP(Data,S)ABVariabel Data berisi 'C'
PUSH('D',S)ABD-
POP(Data,S)ABData berisi 'D'
POP(Data,S)AData berisi 'B



QUEUE (ANTRIAN)

Queue pada struktur data atau antrian adalah sekumpulan data yang mana penambahan elemen hanya bisa dilakukan pada suatu ujung disebut dengan sisi belakang (rear), dan penghapusan (pengambilan elemen) dilakukan lewat ujung lain (disebut dengan sisi depan atau Front)

Queue atau antrian prinsip yang digunakan adalah "Masuk Pertama Keluar Pertama" atau FIFO (First In First Out.
Queue ini banyak kita jumpai dalam kehidupan sehari hari, seperti :
Antrian mobil diloket Tol, antrian mahasiswa mendaftar. contoh lain dalam bidang komputer adalah pemakaian sistem komputer berbagi waktu(time-sharing computer system) dimana ada sejumlah pemakai yang akan menggunakan sistem tersebut secara serempak).

pada Queue terdapat satu buah pintu masuk di suatu ujung dan satu buah pintu keluar di ujung satunya dimana membutuhkan variabel Head dan Tail (depan/front, belakang/rear).

Karakteristik Queue atau Antrian :
1. elemen antrian
2. Front (elemen terdepan antrian)
3. Tail(elemen Terakhir)
4. Jumlah elemen pada antrian
5. Status antrian Operasi pada Queue

Operasi Operasi Queue :

1. Create() untuk menciptakan dan menginisialisasi Queue dengan cara membuat Head dan Tail.

2. IsEmpty untuk memeriksa apakah antrian sudah penuh atau belum dengan cara memeriksa nilai
    Tail, jika Tail = -1 maka empty kita tidak memeriksa Head, karena Head adalah tanda untuk kepala
    antrian (elemen pertama dalam antrian) yang tidak akan berubah ubah pergerakan pada antrian
    terjadi dengan penambahan elemen antrian kebelakang, yang menggunakan nilai Tail.

3. IsFull untuk mengecek apakah Antrian sudah penuh atau belum dengan cara mengecek nilai Tail,
    jika Tail >= MAX-1 (Karena MAX-1 adalah batas elemen array pada C) berarti sudah penuh.

4. Enqueue untuk menambahkan elemen ke dalam Antrian, Penambahan elemen selalu ditambahkan
    di elemen paling belakang, penambahan elemen selalu menggerakkan Variabel Tail dengan cara
    increment counter Tail terlebih dahulu.

5. Dequeue() digunakan untuk menghapus elemen terdepan/ pertama (Head) dari Antrian dengan cara
   menggeser semua elemen antrian kedepan dan mengurangi Tail dengan 1 penggeseran dilakukan
   dengan menggunakan looping.

6. Clear() untuk menghapus elemen-elemen Antrian dengan cara membuat Tail dan Head = -1
    penghapusan elemen-elemen Antrian sebenarnya tidak menghapus arraynya, namun hanya
    mengeset indeks pengaksesan nya ke nilai -1 sehingga elemen-elemen Antrian tidak lagi terbaca

7. Tampil() Untuk menampilkan nilai nilai elemen antrian menggunakan looping dari Head s/d Tail






 

Komentar

Postingan populer dari blog ini

jenis dan tipe perangkat lunak

Memahami Konsep Logical Database Design Pada Basis Data

Data diri