Sunday, March 8, 2020

Stack - Queue

STACK

Stack adalah kumpulan suatu elemen dimana hanya elemen yang baru dimasukkan yang dapat diakses atau dilihat. Stack merupakan perintah pengumpulan data secara linear yang menyusun data seperti tumpukan dan bersifat Last In First Out(LIFO) yang berarti data yang terakhir masuk adalah data yang pertama keluar. Contoh dalam Kehidupan sehari-hari :

  1. Setumpuk koran, dimana koran yang paling terakhir ditambahkan dan ditaruh diatas adalah koran yang dapat dilihat
  2. Seseorang yang sedang mencuci piring, piring yang dicuci pertama pasti akan diletakan dibawah dan akan terus berlanjut sampai tumpukan piring yang terakhir dicuci. Lalu, piring pasti akan di taruh di rak piring dan pasti yang diambil adalah piring yang paling atas yaitu piring yang terakhir dicuci dan yang pertama dicuci pasti akan terakhir.
  3. Tumpukan Batu bata yang sedang diturunkan dari mobil pasti yang diambil adalah batu bata yang paling atas, padahal batu bata pertama yang dimasukkan kedalam mobil adalah batu bata yang berada dibawahnya.
Jadi, Stack yaitu sebuah koleksi objek yang menggunakan prinsip LIFO(Last In First Out) dan Stack dapat diimplementasikan sebagai representasi berkait atau kontinyu. Ciri-Ciri Stack diantaranya :
  • Elemen TOP/Puncak diketahui
  • Penyisipan dan Penghapusan selalu dilakukan di TOP
  • LIFO(Last In First Out) 
Pemanfaatan Stack yaitu :
  • Perhitungan Ekspresi Aritmatitika (posfix)
  • Algoritma Backtracking (runut balik)
  • Algoritma Rekursif

Operasi Stack yang biasa digunakan diantaranya yaitu :
  1. Push untuk memasukkan atau menginputkan data
  2. Pop  untuk mengeluarkan data
  3. IsFull untuk mengetahui jika tumpikan sudah penuh
  4. IsEmpety untuk mengetahui tumpukan yang kosong, dan
  5. Clear untuk menghapus seluruh data atau membersihkan data. 


QUEUE

Secara Harfiah, queue artinya adalah antrian. Queue adalah salah satu contoh penerapan aplikasi dari pembuatan double linked list yang sering ditemui dalam kehidupan sehari-hari. Queue ialah Struktur Data yang mempunyai sifat FIFO(First In First Out) yang artinya, data yang pertama kali masuk merupakan data yang akan keluar paing awal. Contohnya saat mengantri dalam loket untuk membeli tiket. Istilah Enqueue cukup sering dipakai seseorang ketika masuk antrian. Yang datang terlebih pertama, maka akan dilayani terlebih dahulu. Dan istilah untuk seseorang keluar dari antrian adalah Dequeue.

Queue mempunyai beberapa fungsi operasi diantaranya yaitu :
  • EnQueue untuk Memasukkan data kedalam Antrian
  • DeQueue untuk Mengeluarkan data kedalam Antrian.
  • IsFull untuk memeriksa apakah antrian Penuh
  • IsEmpety untuk memeriksa apakah antrian Kosong
  • Clear untuk Menghapus seluruh Antrian.


Dalam kehidupan sehari-hari, ada banyak sekali tentang Queue atau antrian. Contohnya adalah sebagai berikut :
  • Saat seseorang mengantri di sebuah Bank
  • Antrian Loket pembelian sebuah tiket Pesawat, Kereta Api, dan lainnya
  • Pembayaran Tol dan sebagainya.
Contoh dalam Pembelian Tiket Kereta Api :
  1. Enqueue  : Seseorang membeli tiket melalui tempat pembayaran tiket yang disediakan.
  2. Dequeue  : Setelah membeli tiket, langsung menuju tempat tunggu Kereta Api, dengan sebelumnya petugas memeriksa cek tiket tersebut.
  3. Clear    : Pembeli tiket tersebut telah terhapus dari antrian karena sudah melewati pembayaran administrasi tersebut.
  4. IsEmpty  : Petugas tiket Kereta  Api melihat tidak ada lagi yang ingin membeli tiket kereta.
  5. IsFull       : Petugas Tiket Kereta Api melihat masih ada pembeli tiket kereta.

No comments:

Post a Comment