1. Dokumen ini membahas tentang struktur data stack dan antrian (queue). Stack bekerja dengan prinsip LIFO (last in first out) sedangkan antrian bekerja dengan prinsip FIFO (first in first out).
2. Stack dan antrian memiliki operasi dasar seperti push, pop, isEmpty, isFull untuk stack, dan enqueue, dequeue, isEmpty, isFull untuk antrian.
3. Dokumen ini menjelaskan algoritma dan cara kerja dari masing-masing operasi tersebut pada stack dan antrian
1. Materi V: Struktur Data
By. Gladly C. Rorimpandey, ST, MISD
Laidy Manoppo, S.Pd
2. 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 (tumpukan) adalah salah
satu konsep struktur data yang memiliki
sistem kerja yang terakhir masuk adalah yang
pertama keluar (LIFO = Last In First Out)
4. 1. Operasi Push, yaitu operasi menambahkan
elemen baru pada sebuah stack.
Aturan-aturan dalam operasi Push sbb:
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
5.
6. 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
7.
8. 3. 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 dari MAX_STACK-
1) maka belum full
9.
10. 4. 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.
11. 5. Operasi Print yaitu operasi yang
menampilkan semua elemen-elemen stack
dengan cara looping semua nilai array secara
terbalik, karena kita harus mengakses dari
indeks array tertinggi terlebih dahulu baru ke
indeks yang kecil.
12. 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)
14. 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
16. 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
17. 3. IsFull yaitu 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
18. 4. Enqueue
Untuk menambahkan elemen ke dalam
Antrian, penambahan elemen selalu
ditambahkan di elemen paling belakang
Penambahan elemen
selalu menggerakan
variabel Tail dengan
cara increment
counter Tail terlebih
dahulu
19. 5. Dequeue()
Digunakan untuk menghapus elemen terdepan/pertama (head) dari
Antrian
Dengan cara menggeser semua elemen antrian kedepan dan
mengurangi Tail dgn 1
Penggeseran dilakukan dengan menggunakan looping.
21. 7. Tampil()
Untuk menampilkan nilai-nilai elemen
Antrian
Menggunakan looping dari head s/d tail
4 45 1 8
Maka yang
muncul adalah
angka secara
berturut-turut
adalah 4, 45, 1
dan 8