2. 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
3. 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 ).
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 / 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.
6. Operation on The Stack
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
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
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.
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.
16. 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
17. 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 )
19. 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.
20. 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
21. Operation on Queue
Operasi Create
Operasi IsEmpty
Operasi IsFull
Operasi EnQueue
Operasi DeQueue
Operasi Clear and Tampil
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 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.
26. 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.
28. 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