Anda di halaman 1dari 6

KELOMPOK 6

STACK
17210253 – Amir Hakim Adila
Yahya
17210771 – Muhammad Aditya
Rizqi
17210772 – Muhammad Farhan
17210987 – Risma Linda
17210903 – Salsabilatul Ma’wa
 Apakah Stack itu ?

Penambahan dan penghapusan elemen


dilakukan pada elemen list yang terletak
di paling depan Yang dihapus adalah
elemen yang paling terakhir ditambahkan.
Nama lain : LIFO (Last In First Out)
STACK = TUMPUKAN
Suatu susunan koleksi data dimana data dapat ditambahkan dan dihapus selalu dilakukan pada
bagian akhir data, yang disebut dengan TOP OF STACK
Stack bersifat LIFO (Last In First Out)
“Benda yang terakhir masuk ke dalam stack akan menjadi yang pertama keluar dari stack”

Operasi Stack 

Push : digunakan untuk menambah Clear : digunakan IsFull : fungsi yang digunakan
item pada stack pada tumpukan untuk mengosongkan untuk mengecek apakah stack
paling atas stack sudah penuh

Pop : digunakan untuk mengambil IsEmpty : fungsi yang digunakan


item pada stack pada tumpukan untuk mengecek apakah stack
paling atas sudah kosong
Stack - Array of Struct Definisikan Stack dengan menggunakan struct

Definisikan konstanta MAX_STACK untuk menyimpan


maksimum isi stack Buatlah variabel array data sebagai
implementasi stackDeklarasikan operasi-operasi/function di atas
dan buat implemetasinya
Lalu, seperti apa sih implementasinya?
1. Array
Mengutip After Academy, array adalah salah satu implementasi dari stack yang paling sederhana dan
menawarkan akses acak ke pengguna berdasarkan indeks.
Menurut Geeks for Geeks, dalam implementasi stack menggunakan array, programmer dapat
menggunakan bahasa pemrograman seperti C, C++, Java, Phyton, dan C#.
Geeks for Geeks juga menggambarkan bagaimana susunan dari kelima bahasa pemrograman tersebut.
Kelebihan dari implementasi stack menggunakan array adalah mudah untuk diimpelementasikan.
Sementara itu, kekurangannya adalah bisa dibilang tidak terlalu dinamis. Pasalnya, hal itu tidak
tumbuh dan menyusut, tergantung pada kebutuhan saat proses.
2. Linked list
Sama halnya array, linked list juga mudah dalam mengimplementasikan stack.
Seperti yang sudah dijelaskan sebelumnya, operasi dasar dari stack adalah menambahkan data (push) dan menghapus
data (pop).
Nah, dilansir dari Study Tonight, dengan menggunakan linked list, operasi push bisa diganti dengan metode
addAtFront dan operasi pop bisa diganti dengan fungsi yang menghapus node depan dari linked list.
Masih sama seperti array, linked list juga dapat digunakan bahasa pemrograman seperti C, C++, Java, Phyton, dan C#
Kelebihan dari implementasi stack menggunakan linked list adalah dapat bertambah dan berkurang sesuai dengan
kebutuhan saat runtime.
KEKURANGAN
MENGGUNAKAN
STACK
Kelebihan
• membantu mengelola data dengan metode LIFO
• secara otomatis membersihkan objek
• tidak mudah rusak
• ukuran variabel tidak dapat diubah
• mengontrol memori secara mandiri

Kekurangan
• memori stack sangat terbatas
• ada kemungkinan stack akan meluap atau overflow jika
terlalu banyak objek
• tidak memungkinkan akses acak, karena harus
mengeluarkan tumpukan paling atas terlebih dahulu
untuk mengakses tumpukan paling bawah

Anda mungkin juga menyukai