Stack dan Queue dalam Aplikasi Kehidupan Sehari-hari

LOGIKA DAN ALGORITMA

Stack dan Queue dalam Aplikasi

Kehidupan Sehari-hari

 

  1. 1.      Stack

Stack adalah merupakan sebuah kumpulan benda dimana hanya benda yang baru dimasukkan yang dapat diakses atau dilihat. Stack juga merupakan perintah pengumpulan data secara linier yang disebut “last in, first out” (LIFO).

Misalnya:
• Setumpuk koran, dimana koran yang paling terakhir ditambahkan dan ditaruh di atas tumpukan yang dapat dilihat.
• Tumpukan kotak rokok, koin, buku dan lain-lain.

Dalam ilmu komputer, stack atau tumpukan merupakan sebuah koleksi objek yang menggunakan prinsip LIFO (Last In First Out), yaitu data yang terakhr kali dimasukkan akan pertama kali keluar dari stack tersebut. Stack dapat diimplementasikan sebagai representasi berkait atau kontigu (dengan tabel fix). Ciri Stack :

  • Elemen TOP (puncak) diketahui
  • penisipan dan penghapusan elemen selalu dilakukan di TOP
  • LIFO

Pemanfaatan Stack :

  • Perhitungan ekspresi aritmatika (posfix)
  • algoritma backtraking (runut balik)
  • algoritma rekursif

Operasi Stack yang biasanya :

  1. Push (input E : typeelmt, input/output data : stack): menambahkan sebuah elemen ke stack
  2. Pop (input/output data : stack, output E : typeelmt ) : menghapus sebuah elemen stack
  3. IsEmpty ()
  4. IsFull ()
  5. dan beberapas selektor yang lain.

Contoh Aplikasi :

 

  1. a.      Stack adalah salah satu struktur data yang memiliki sistem kerja Last In First Out (LIFO), yang terakhir masuk pertama keluar.dapat di gambarkan seperti:
  1. seorang anak yang sedang mencuci piring, piring yang di cuci pertama pasti akan diletakan di bawah dan akan terus berlanjut sampai tumpukan piring yang terahir di cuci. dan ketika semua piring sudah di cuci kemudian piring pasti akan di taruh di rak piring. cara penaruhanya pun pasti yang paling terahir di ambil lebih dahulu.dan piring yang pertama di cuci justru paling akhir yang di ambil.
  1. contoh yang ini mungkin bukan stack sebuat tumpukan tapi juga mempunyai pengertian seperti ssteck. yaitu ketika kita sedang berangkat genduri di suatu desa pasti yang berangkat duluan akan pulang paling akhir, sebaliknya untuk yang datang paling akhir justru malah pulang pertama.
  1. tumpukan batu bata yang sedang turun dari mobil pasti yang diturunkan pertama pasti akan di susun menjadi tembok paling akhir.dan masih banyak lagi contoh dari steck yang bisa kita dapat dalam kehidupan sehari-hari. ini adalah contoh kecil dari sekian banyak contoh penerapan steck yang kita lakukan.

 

  1. b.      Penerapan Stack dapat kita lihat melaui tumpukan buku, baju yang dilipat, piring yang ditumpukkan, banyak lagi yang lainnya. Konsep utama pada Stack adalah Last In First Out(LIFO). Stack dalam sturukturnya diterapkan seperti gambar di bawah ini.

Keterangan Stack:
1. Buku yang pertama diletkkan dibagian yang paling bawah.
2. Hingga Buku yang terakhir.
3. Jika Mengambil buku selalu yang paling atas yang diambil.
4. Dengan begitu metode LIFO dapat digunakan.

c.Menara Hanoi

 

Kasus Menara Hanoi –Menggunakan Turbo C++ 4.5

Memindahkan lempengan dari menara A ke menara B dengan perantara menaraC

dengan jumlah data = 3 (50, 75, 100). Step program:

1. Pindahkan batu 50 dari A ke C

2. Pindahkan batu 75 dari A ke C

3. Pindahkan batu 100 dari A ke B

4. Pindahkan batu 75 dari C ke B

5. Pindahkan batu 50 dari C ke B

  1. 2.      Queue

            Jika diartikan secara harafiah, queue berarti antrian, queue merupakan salah satu contoh aplikasi dari pembuatan double linked list yang cukup sering kita temui dalam kehidupan sehari-hari, misalnya saat Anda mengantri di loket untuk membeli tiket. Istilah yang cukup sering dipakai seseorang masuk dalam sebuah antrian adalah enqueue. Dalam suatu antrian, yang dating terlebih dahulu akan dilayani lebih dahulu. Istilah yang sering dipakai bila seseorang keluar dari antrian adalah dequeue. Walaupun berbeda implementasi, struktur data queue setidaknya harus memiliki operasi-operasi sebagai berikut :

EnQueueà Memasukkan data ke dalam antrian

DeQueueà Mengeluarkan data terdepan dari antrian

Clear       àMenghapus seluruh antrian

IsEmpty àMemeriksa apakah antrian kosong

IsFull     àMemeriksa apakah antrian penuh

 

Queue atau antrian adalah sebuah kumpulan benda di mana hanya benda yang terakhir dimasukkan yang dapat diakses. Queue atau Antrian merupakan perintah pengumpulan data yang disebut “first-in, first-out”. Aplikasi ini meliputi jadwal pekerjaan dalam sebuah operasi

Misalnya:
a. Antrian printer job pada sebuah jaringan
b. Antrian nasabah pada sebuah bank
c. Antrian loket bioskop, dan lain-lain

Contoh Aplikasi :

a.Antrean

Saat Anda mengantri di loket untuk membeli tiket. Istilah yang cukup sering dipakai seseorang masuk dalam sebuah antrian adalah enqueue. Dalam suatu antrian, yang datang terlebih dahulu akan dilayani lebih dahulu. Istilah yang sering dipakai bila seseorang keluar dari antrian adalah dequeue.
Walaupun berbeda implementasi, struktur data queue setidaknya harus memiliki operasi-operasi sebagai berikut :
a. EnQueue Memasukkan data ke dalam antrian
b. DeQueue Mengeluarkan data terdepan dari antrian
c. Clear Menghapus seluruh antrian
d. IsEmpty Memeriksa apakah antrian kosong
e. IsFull Memeriksa apakah antrian penuh

b. Dalam kehidupan sehari-hari kita bisa dapati melalui penerapan pembelian tiket kereta api, tiket pesawat, tiket kapal laut, pembayaran tiket tol, pembayaran listrik, pembayaran air, dan lain sebagainya.

Dalam pembelian tiket kereta api:
Enqueue : Seseorang membeli tiket melalui tempat pembayaran tiket yang disediakan.
Dequeue : Setelah membeli tiket, langsung menuju tempat penungguan kereta, dengan sebelumnya petugas memeriksa cek tiket tersebut.
Clear : Pembeli tiket tersebut telah terhapus dari antrian karena sudah melewati pembayaran administrasi tersebut.
IsEmpty : Petugas tiket Kereta melihat tidak ada lagi yang ingin membeli tiket kereta.
IsFull : Petugas Tiket Kereta melihat masih ada pembeli tiket kereta.

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s