STACK AND QUEUE
Muhammad Najib DS, M.T.
DEFINITION
Stack adalah tumpukan data dimana terdapat data dalam satu elemen
yang sama.
Suatu metode untuk input dan hapus di dalam memori komputer
Konsep dalam stack yaitu LIFO (Last In First Out).
Contoh :
5. Sepatu
4. Kacamata
3. Sepeda
2. Jam
1. Baju
Understanding
Stack (tumpukan) dapat diartikan sebagai list (urutan) dimana
Penambahan dan pengambilan elemen hanya dilakukan pada satu sisi
yang disebut top (puncak) dari stack.
Arti lain dari Stack adalah salah satu konsep struktur data yang memiliki
sistem kerja yang terakhir masuk adalah yang pertama keluar (LIFO = Last
In First Out ).
Stack Ilustration
5 Sepatu (12)
4 Kacamata (5)
3 Sepeda (20)
2 Jam (15)
1 Baju (4)
Masuk
Keluar
Catatan : Yang terakhir masuk ke dalam tumpukan, itu
yang yang pertama keluar seperti pada urutan ke 5.
Algorithm
Input / Tambah Data
Jika ada input maka no stack/no tumpukan yang semula 0 akan tambah 1
demi 1 sampai maksimal tumpukan.
Pengambilan Data
Jika ada pengambilan data maka data dipindahkan di variabel lain. Dan
posisi tumpukannya yang semula maksimal akan berkurang 1 demi 1
sampai posisi 0 kembali.
Operation on The Stack
Operasi Push
Operasi Pop
Operasi IsFull
Operasi IsEmpty
Operation Push
Operasi Push, yaitu operasi menambahkan elemen baru pada sebuah
stack.
Aturan-aturan dalam operasi Push :
ď‚· kondisi awal ada sebuah stack yang telah memiliki beberapa elemen
dengan elemen teratas disebut “TOP”.
ď‚· Buat sebuah elemen baru
ď‚· elemen baru dimasukkan ke dalam stack
ď‚· penunjuk awal TOP diubah ke elemen yang baru ditambahkan
Operation Push
Operation Pop
Operasi Pop, yaitu operasi mengambil sebuah elemen dari sebuah
stack.
Aturan-aturan dalam operasi Pop sbb:
ď‚· Kondisi awal ada sebuah stack yang telah memiliki beberapa elemen
dengan elemen teratas disebut “TOP”
ď‚· Penunjuk awal TOP diubah menunjuk elemen yang ada di bawahnya
(TOP)
ď‚· Elemen teratas diambil dari stack
Operation Pop
Operation IsFuLL
Operasi IsFull, yaitu operasi yang memeriksa apakah stack sudah
penuh atau tidak.
Dengan cara, memeriksa top of stack, jika sudah sama dengan
MAX_STACK-1 maka full, jika belum (masih lebih kecil 1) maka belum full.
Operation IsFull
Operation IsEmpty
Operasi IsEmpty, yaitu operasi yang memeriksa apakah stack masih
kosong atau tidak. Dengan cara memeriksa top of stack, jika masih -1
maka berarti stack masih kosong.
Operation IsEmpty
QUEUE
DEFINITION
Adalah antrian data yang seolah-olah ada data yang mengantri dari yang
terawal sampai yang terakhir.
Suatu metode untuk input dan hapus di dalam memori komputer
Konsep dalam queue yaitu FIFO (First In First Out).
Contoh :
5. Sepatu
4. Kacamata
3. Sepeda
2. Jam
1. Baju
DEFINITION QUEUE
Antrian adalah sekumpulan data yang mana penambahan elemen hanya
bisa dilakukan pada suatu ujung disebut dengan sisi belakang, dan
penghapusan (pengambilan elemen) dilakukan lewat ujung lain (disebut
dengan sisi depan atau front)
Arti lain dari antrian adalah salah satu konsep struktur data yang memiliki
sistem kerja yang pertama masuk adalah yang pertama keluar (FIFO =
First In First Out )
Queue Ilustration
Masuk
Keluar
Catatan : Yang pertama masuk ke dalam antrian, itu
yang yang pertama keluar.
1 2 3 4 5
Baju Jam Sepeda Kacamata Sepatu
Algorithm
Input / Tambah Data
Jika ada input maka no queue/no antrian yang semula 0 akan tambah 1
demi 1 sampai maksimal antrian.
Pengambilan Data
Jika ada pengambilan data maka data dipindahkan di variabel lain
contohnya temp. Dan posisi antriannya yang semula maksimal akan
berkurang 1 demi 1 sampai posisi 0 kembali.
Understanding
Pada Queue atau antrian 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
Operation on Queue
Operasi Create
Operasi IsEmpty
Operasi IsFull
Operasi EnQueue
Operasi DeQueue
Operasi Clear and Tampil
Operation Create
Operasi Create, Untuk menciptakan dan menginisialisasi Queue
Dengan cara membuat Head dan Tail = -1
Operation IsEmpty
Operasi IsEmpty, Untuk memeriksa apakah antrian masih kosong.
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 ke
belakang, yaitu
menggunakan nilai Tail.
Operation IsFull
Operasi IsFull, operasi yang 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.
Operation Enqueue
Untuk menambahkan elemen ke dalam Antrian, penambahan elemen
selalu ditambahkan di elemen paling belakang.
Catatan : Penambahan elemen
selalu menggerakan
variabel Tail dengan cara
increment counter Tail terlebih
dahulu.
Operation Dequeue
Digunakan untuk menghapus elemen terdepan/pertama (head) dari
Antrian.
Catatan : Dengan cara
menggeser semua elemen
antrian kedepan dan
mengurangi Tail dgn 1
Penggeseran dilakukan dengan
menggunakan looping.
Operation Clear
Untuk menghapus elemen-elemen Antrian dengan cara membuat Tail
dan Head = -1
Operation Tampil
Untuk menampilkan nilai-nilai Elemen Antrian Menggunakan looping
dari head s/d tail
Catatan : Maka yang muncul
adalah angka secara berturut-
turut adalah 4, 45, 1 dan 8
4 45 1 8
Chapter 4   stack and queue

Chapter 4 stack and queue

  • 1.
  • 2.
    DEFINITION Stack adalah tumpukandata dimana terdapat data dalam satu elemen yang sama. Suatu metode untuk input dan hapus di dalam memori komputer Konsep dalam stack yaitu LIFO (Last In First Out). Contoh : 5. Sepatu 4. Kacamata 3. Sepeda 2. Jam 1. Baju
  • 3.
    Understanding Stack (tumpukan) dapatdiartikan sebagai list (urutan) dimana Penambahan dan pengambilan elemen hanya dilakukan pada satu sisi yang disebut top (puncak) dari stack. Arti lain dari Stack adalah salah satu konsep struktur data yang memiliki sistem kerja yang terakhir masuk adalah yang pertama keluar (LIFO = Last In First Out ).
  • 4.
    Stack Ilustration 5 Sepatu(12) 4 Kacamata (5) 3 Sepeda (20) 2 Jam (15) 1 Baju (4) Masuk Keluar Catatan : Yang terakhir masuk ke dalam tumpukan, itu yang yang pertama keluar seperti pada urutan ke 5.
  • 5.
    Algorithm Input / TambahData Jika ada input maka no stack/no tumpukan yang semula 0 akan tambah 1 demi 1 sampai maksimal tumpukan. Pengambilan Data Jika ada pengambilan data maka data dipindahkan di variabel lain. Dan posisi tumpukannya yang semula maksimal akan berkurang 1 demi 1 sampai posisi 0 kembali.
  • 6.
    Operation on TheStack Operasi Push Operasi Pop Operasi IsFull Operasi IsEmpty
  • 7.
    Operation Push Operasi Push,yaitu operasi menambahkan elemen baru pada sebuah stack. Aturan-aturan dalam operasi Push :  kondisi awal ada sebuah stack yang telah memiliki beberapa elemen dengan elemen teratas disebut “TOP”.  Buat sebuah elemen baru  elemen baru dimasukkan ke dalam stack  penunjuk awal TOP diubah ke elemen yang baru ditambahkan
  • 8.
  • 9.
    Operation Pop Operasi Pop,yaitu operasi mengambil sebuah elemen dari sebuah stack. Aturan-aturan dalam operasi Pop sbb:  Kondisi awal ada sebuah stack yang telah memiliki beberapa elemen dengan elemen teratas disebut “TOP”  Penunjuk awal TOP diubah menunjuk elemen yang ada di bawahnya (TOP)  Elemen teratas diambil dari stack
  • 10.
  • 11.
    Operation IsFuLL Operasi IsFull,yaitu operasi yang memeriksa apakah stack sudah penuh atau tidak. Dengan cara, memeriksa top of stack, jika sudah sama dengan MAX_STACK-1 maka full, jika belum (masih lebih kecil 1) maka belum full.
  • 12.
  • 13.
    Operation IsEmpty Operasi IsEmpty,yaitu operasi yang memeriksa apakah stack masih kosong atau tidak. Dengan cara memeriksa top of stack, jika masih -1 maka berarti stack masih kosong.
  • 14.
  • 15.
  • 16.
    DEFINITION Adalah antrian datayang seolah-olah ada data yang mengantri dari yang terawal sampai yang terakhir. Suatu metode untuk input dan hapus di dalam memori komputer Konsep dalam queue yaitu FIFO (First In First Out). Contoh : 5. Sepatu 4. Kacamata 3. Sepeda 2. Jam 1. Baju
  • 17.
    DEFINITION QUEUE Antrian adalahsekumpulan data yang mana penambahan elemen hanya bisa dilakukan pada suatu ujung disebut dengan sisi belakang, dan penghapusan (pengambilan elemen) dilakukan lewat ujung lain (disebut dengan sisi depan atau front) Arti lain dari antrian adalah salah satu konsep struktur data yang memiliki sistem kerja yang pertama masuk adalah yang pertama keluar (FIFO = First In First Out )
  • 18.
    Queue Ilustration Masuk Keluar Catatan :Yang pertama masuk ke dalam antrian, itu yang yang pertama keluar. 1 2 3 4 5 Baju Jam Sepeda Kacamata Sepatu
  • 19.
    Algorithm Input / TambahData Jika ada input maka no queue/no antrian yang semula 0 akan tambah 1 demi 1 sampai maksimal antrian. Pengambilan Data Jika ada pengambilan data maka data dipindahkan di variabel lain contohnya temp. Dan posisi antriannya yang semula maksimal akan berkurang 1 demi 1 sampai posisi 0 kembali.
  • 20.
    Understanding Pada Queue atauantrian 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
  • 21.
    Operation on Queue OperasiCreate Operasi IsEmpty Operasi IsFull Operasi EnQueue Operasi DeQueue Operasi Clear and Tampil
  • 22.
    Operation Create Operasi Create,Untuk menciptakan dan menginisialisasi Queue Dengan cara membuat Head dan Tail = -1
  • 23.
    Operation IsEmpty Operasi IsEmpty,Untuk memeriksa apakah antrian masih kosong. 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 ke belakang, yaitu menggunakan nilai Tail.
  • 24.
    Operation IsFull Operasi IsFull,operasi yang 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.
  • 25.
    Operation Enqueue Untuk menambahkanelemen ke dalam Antrian, penambahan elemen selalu ditambahkan di elemen paling belakang. Catatan : Penambahan elemen selalu menggerakan variabel Tail dengan cara increment counter Tail terlebih dahulu.
  • 26.
    Operation Dequeue Digunakan untukmenghapus elemen terdepan/pertama (head) dari Antrian. Catatan : Dengan cara menggeser semua elemen antrian kedepan dan mengurangi Tail dgn 1 Penggeseran dilakukan dengan menggunakan looping.
  • 27.
    Operation Clear Untuk menghapuselemen-elemen Antrian dengan cara membuat Tail dan Head = -1
  • 28.
    Operation Tampil Untuk menampilkannilai-nilai Elemen Antrian Menggunakan looping dari head s/d tail Catatan : Maka yang muncul adalah angka secara berturut- turut adalah 4, 45, 1 dan 8 4 45 1 8