Penggunaan Array pada C++

Tugas Pertemuan ke-5

Di bawah ini adalah dokumentasi code-code yang menggunakan logika Stack (Stack Array dan Stack Linked List) dan terdapat penjelasan singkat mengenai code yang sudah dituliskan.

1. PROGRAM IMPLEMENTASI STACK (TUMPUKAN) DENGAN ARRAY

Program ini mengimplementasikan struktur data Stack menggunakan prinsip LIFO (Last In First Out). Data dikelola melalui operasi push dan pop yang memanipulasi posisi index top.


Output:

10 ditambahkan ke stack
20 ditambahkan ke stack
30 ditambahkan ke stack
Elemen teratas: 30
40 ditambahkan ke stack
50 ditambahkan ke stack
Stack Overflow
50 dihapus dari stack
Elemen teratas: 40

Program ini mendemonstrasikan bagaimana elemen disimpan dalam tumpukan dengan batasan kapasitas MAX 5. Fungsi push() menyisipkan data ke posisi teratas, sedangkan pop() menghapus data yang paling terakhir dimasukkan. Operasi peek() digunakan untuk melihat nilai pada index top saat ini tanpa mengubah struktur stack. Jika stack penuh dan dilakukan push, sistem akan menampilkan pesan Stack Overflow.

Link Github Repository


2. PROGRAM IMPLEMENTASI STACK DENGAN LINKED LIST

Berbeda dengan array yang memiliki batas statis, implementasi Stack menggunakan Linked List memungkinkan alokasi memori secara dinamis, sehingga tumpukan dapat bertambah selama memori sistem masih tersedia.


Output:

10 ditambahkan ke stack
20 ditambahkan ke stack
30 ditambahkan ke stack
Elemen teratas: 30
30 dihapus dari stack
Elemen teratas: 20

Program ini menggunakan struct Node untuk menyimpan data dan pointer ke node berikutnya. Pada metode push(), sebuah node baru dibuat di memori (heap) dan diletakkan di posisi paling depan (top). Pada metode pop(), alamat node teratas dipindahkan ke pointer sementara, top digeser ke elemen di bawahnya, kemudian memori node yang dihapus dibebaskan menggunakan perintah delete untuk mencegah kebocoran memori (memory leak).

Link Github Repository


Comments

Popular posts from this blog

Documentation C++ Programming

Aplikasi Penggunaan Stack