Anda di halaman 1dari 3

1.

STACK
Pengertian Stack pada Struktur Data adalah sebagai tumpukan dari benda,
sekumpulan data yang seolah-olah diletakkan di atas data yang lain, koleksi
dari objek-objek homogen, atau Suatu urutan elemen yang elemennya dapat
diambil dan ditambah hanya pada posisi akhir (top) saja. Stack pada Struktur
Data dapat diilustrasikan dengan dua buah kotak yang ditumpuk, kotak yang
satu akan ditumpuk diatas kotak yang lainnya. Jika kemudian stack 2 kotak
tadi, ditambah kotak ketiga, keempat, kelima, dan seterusnya, maka akan
diperoleh sebuah stack kotak yang terdiri dari N kotak.
Stack bersifat LIFO (Last In First Out) artinya Benda yang terakhir masuk ke
dalam stack akan menjadi yang pertama keluar dari stack
Operasioperasi yang dapat dilakukan pada stack terbatas pada operasi
pemeriksaan apakah
stack kosong, insert, dan delete. Proses penampilan data atau pengaksesan
data dilakukan di luar struktur data stack.
1. Pemeriksaan status stack, kosong atau berisi
Untuk memeriksa apakah stack memiliki elemen atau tidak, cukup
dengan memeriksa apakah top berada pada indeks 1 dimana belum
ada Item yang dimasukan atau apakah top berada pada indeks
maksimum yang berarti stack sudah terisi penuh.
2. Push (insert)
Pada stack, proses insert elemen baru dinamakan push. Proses push
selalu meletakkan elemen baru di atas elemen yang paling atas (top).
3. Pop (delete)
Pada stack, proses delete elemen dinamakan pop. Proses pop selalu
menghapus elemen yang terletak paling atas (top). Elemen yang
dihapus oleh proses pop dikembalikan (return). Agar dapat digunakan
oleh baris yang memanggil proses pop.
2. QUEUE
Queue merupakan struktur data yang memiliki sifat First In First Out (FIFO).
Sesuai dengan kata queue yang berarti antrian, maka queue juga dapat
dianalogikan dengan suatu antrian, dimana setiap elemen yang masuk lebih
awal, juga akan keluar lebih awal. Pada antrian, elemen yang baru akan
diletakkan di bagian paling belakan dari antrian, dan elemen yang keluar
adalah elemen yang paling depan. Antrian dapat dianalogikan sebagai
berikut:

Seperti halnya pada stack, untuk mengimplementasikan struktur data queue


ke dalam pemrograman, kita dapat menggunakan struktur data array.
Prosesproses yang terdapat di dalam queue secara umum sama dengan
stack. Prosesproses tersebut adalah:

1. Pemeriksaan status queue, kosong atau berisi


Untuk memeriksa apakah queue memiliki elemen atau tidak, cukup
dengan memeriksa apakah penunjuk ke elemen terdepan (front) menunjuk
ke null atau tidak. Jika null, maka kembalikan status bahwa stack kosong,
jika tidak maka kembalikan status bahwa stack tidak kosong.
2. Insert
Pada queue, proses insert selalu meletakkan elemen baru di atas elemen
yang paling depan (front).
3. Remove
Pada queue, proses remove selalu menghapus elemen yang terletak
paling depan (front). Elemen yang dikeluarkan oleh proses remove akan
dikembalikan (return) agar dapat digunakan oleh baris yang memanggil
proses remove.

3. Priority Queues (cont)

Priority Queue adalah kumpulan sebuah elemen yang mempunyai


urutan perbandingan (priority)
Menyediakan akses dan opersi update dimana penghapusan selalu
menghapus elemen dengan prioritas tertinggi.

Pada priority Queue, terdapat salah satu bentuk implementasi yaitu


implementasi menggunakan struktur data heaps. Dalam implementasi ini
ada pokok atribut yaitu heaps, comparator, dan last. Dengan
menggunakan fasilitas heap ini kita bisa melakukan insert atau remove
elemen dalam kompleksitas waktu logaritmik.

Anda mungkin juga menyukai