A. Apa yang dimaksud dengan Stack and Queue?
- Stack (Tumpukan) adalah kumpulan elemen-elemen data yang disimpan dalam satu lajur linear. Elemen-elemen di dalam tumpukan dapat bertipe integer, real, record dalam bentuk sederhana atau terstruktur.
- Konsep utamanya adalah LIFO (Last In First Out), benda yang terakhir masuk dalam stack akan menjadi benda pertama yang dikeluarkan dari stack.
- Queue merupakan suatu struktur data linear. Konsepnya hampir sama dengan Stack, perbedaannya adalah operasi penambahan dan penghapusan pada ujung yang berbeda. Elemen-elemen di dalam antrian dapat bertipe integer, real, record dalam bentuk sederhana atau terstruktur.
- Sistem pada pengaksesan pada Queue menggunakan sistem FIFO (First In First Out), artinya elemen yang pertama masuk itu yang akan pertama dikeluarkan dari Queue.
B.
Operasi dalam Stack
- Cek posisi Teratas (Peek)
Operasi peek digunakan untuk
mengecek posisi teratas dalam stack.
- Operasi Pop
Operasi pop dalam stack adalah
operasi untuk mengambil/menghapus elemen yang terletak pada posisi paling atas
dari sebuah tumpukan.
- Operasi Push
Operasi push dalam stack adalah
operasi yang memasukkan elemen yang akan diletakkan pada posisi teratas dari
tumpukan.
- Cek Stack kosong (Isempty)
Fungsi yang melakukan pengecekan
apakah stack dalam kondisi kosong.
- Cek Stack penuh (full)
Fungsi yang melakukan pengecekan apakah stack dalam
kondisi penuh atau tidak.
C.
Operasi dalam Queue
- Prosedur enqueue
Prosedur ini digunakan untuk memasukkan
sebuah data/ nilai ke dalam queue. Sebelum sebuah data/ nilai
dimasukkan ke dalam queue, maka prosedur ini terlebih dahulu melakukan
pengecekan terhadap posisi HEAD dan TAIL. Jika posisi HEAD dan TAIL masih
berada pada indeks ke-0 (artinya queue masih kosong), maka prosedur ini
akan menempatkan HEAD dan TAIL pada indeks ke-1 terlebih dahulu, baru setelah
itu memasukkan data/ nilai ke dalam array data queue. Namun, jika
posisi HEAD dan TAIL tidak berada pada posisi ke-0, maka posisi TAIL yang akan
dinaikkan satu level. Jadi, pada proses enqueue, TAIL-lah yang berjalan seiring
masuknya data baru ke dalam antrian, sedangkan HEAD akan tetap pada posisi
ke-1.
- Prosedur dequeue
Prosedur ini digunakan untuk mengeluarkan
atau membuang sebuah data/ nilai yang paling awal masuk (yang berada pada
posisi HEAD, yakni yang paling depan dari antrian) ke dalam queue. Pekerjaan
yang dilakukan oleh prosedur ini adalah menaikkan nilai HEAD satu level. Jadi,
setiap satu kali data dikeluarkan, maka posisi HEAD naik bertambah satu level.
- Tampil()
Untuk
menampilkan nilai-nilai elemen
- Clear()
Untuk menghapus
elemen-elemen Antrian
- IsFull
Untuk mengecek
apakah Antrian sudah penuh atau belum
- IsEmpty()
Untuk memeriksa
apakah Antrian sudah penuh atau belum
- Create()
Untuk
menciptakan dan menginisialisasi Queue
D. Prefix, Infix, and Postfix
Prefix, infix dan
postfix merupakan suatu cara penulisan atau notasi suatu operasi
perhitungan / matematika berdasarkan operan dan operatornya.
- Operan adalah bilangan/angka yang kita akan hitung
- Operator adalah lambang perhitungan yang kita gunakan untuk mengoperasikan operan, misalnya +, -, /, *, ^, dsb.
- Prefix : Operator diletakan sebelum operan.
- Infix : Operator diletakan diantara operan.
- Posfix : Operator diletakan setelah operan.
berikut contohnya :
E. Mengapa Kita Menggunakan Notasi Prefix / Postfix?
Mungkin banyak
orang bertanya mengapa kita memerlukan notasi prefix dan postfix,
padahal sudah ada notasi infix yang secara manual lebih mudah untuk
dibaca dan digunakan. Berikut manfaat menggunakan notasi prefix/postfix :
- Prefix/Postfix tidak memerlukan bracket/tanda kurung ( ) untuk memprioritaskan presedensi operator.
- Prefix/Postfix lebih mudah dievaluasi komputer.

Tidak ada komentar:
Posting Komentar