Penggunaan Tumpukan: Panduan Komprehensif dengan Contoh Program Stack C++ Sederhana
Dalam dunia pemrograman, penggunaan tumpukan merupakan konsep penting yang perlu dipahami oleh setiap pengembang. Tumpukan, atau stack, adalah struktur data linier yang mengikuti prinsip Last In, First Out (LIFO). Artinya, elemen terakhir yang dimasukkan ke dalam tumpukan akan menjadi elemen pertama yang dikeluarkan.
Konsep Tumpukan
Tumpukan dapat divisualisasikan sebagai tumpukan piring. Saat kita menambahkan piring baru ke tumpukan, piring tersebut akan diletakkan di atas piring yang sudah ada. Ketika kita ingin mengambil piring, kita akan mengambil piring paling atas. Prinsip inilah yang diterapkan pada struktur data tumpukan.
Setiap elemen dalam tumpukan memiliki alamat memori yang unik. Ketika kita menambahkan elemen baru, alamat memori elemen tersebut akan disimpan di bagian atas tumpukan. Saat kita mengeluarkan elemen, alamat memori elemen tersebut akan dihapus dari bagian atas tumpukan.
Operasi Dasar Tumpukan
Ada dua operasi dasar yang dapat dilakukan pada tumpukan:
- Push: Menambahkan elemen baru ke bagian atas tumpukan.
- Pop: Menghapus dan mengembalikan elemen dari bagian atas tumpukan.
Selain itu, ada juga operasi peek yang memungkinkan kita melihat elemen di bagian atas tumpukan tanpa menghapusnya.
Implementasi Tumpukan dalam C++
Dalam C++, kita dapat mengimplementasikan tumpukan menggunakan array atau linked list. Berikut adalah contoh implementasi tumpukan menggunakan array:
#include <iostream>#include <cstdlib>using namespace std;class Stack {private: int *arr; int top; int capacity;public: Stack(int size) { arr = new int[size]; top = -1; capacity = size; } ~Stack() { delete[] arr; } void push(int data) { if (top == capacity - 1) { cout << "Stack penuh" << endl; return; } arr[++top] = data; } int pop() { if (top == -1) { cout << "Stack kosong" << endl; return -1; } return arr[top--]; } int peek() { if (top == -1) { cout << "Stack kosong" << endl; return -1; } return arr[top]; } bool isEmpty() { return top == -1; } void print() { for (int i = top; i >= 0; i--) { cout << arr[i] << " "; } cout << endl; }};int main() { Stack stack(5); stack.push(10); stack.push(20); stack.push(30); stack.push(40); stack.push(50); stack.print(); stack.pop(); stack.pop(); stack.print(); return 0;}
Contoh Penggunaan Tumpukan
Tumpukan memiliki berbagai aplikasi dalam pemrograman, di antaranya:
- Evaluasi Ekspresi: Tumpukan dapat digunakan untuk mengevaluasi ekspresi matematika dengan mengikuti algoritma postfix.
- Pemanggilan Fungsi: Tumpukan digunakan untuk menyimpan alamat pengembalian dan argumen fungsi saat terjadi pemanggilan fungsi.
- Pengelolaan Memori: Tumpukan dapat digunakan untuk mengalokasikan dan membebaskan memori secara dinamis.
Kesimpulan
Tumpukan merupakan struktur data penting yang banyak digunakan dalam pemrograman. Memahami konsep dan implementasi tumpukan sangat penting untuk menjadi pengembang yang cakap. Contoh program C++ yang diberikan dalam artikel ini dapat membantu Anda memahami cara kerja tumpukan secara praktis.
Posting Komentar untuk "Penggunaan Tumpukan: Contoh Program Stack C++ Sederhana Yang Praktis"