Stack (tumpukan) adalah struktur data yang memberikan data seperti tumpukan dalam gelas, jadi jika suatu data akan dimasukkan ke dalam gelas yang pertama akan menjadi yang terakhir untuk diambil, maka struktur data ini menganut kaidah LIFO (Last In First Out)
. Arti dari LIFO itu adalah yang terakhir masuk maka akan menjadi yang pertama keluar.
Stack yang akan Santekno buat menerapkan sistem OOP (Object Oriented Programming)
sehingga agar lebih mudah dipahaminya. Dalam OOP kita harus membuat suatu kelas yang akan kita namakan Stack.
Kode Kelas Stack
#include <iostream>
#include <iomanip>
#define SIZE 100
using namespace std;
class Stack{
int stack[SIZE];
int atas;
public:
Stack(){atas=SIZE;}
bool empty(){return atas==SIZE;}
bool full(){return atas==0;}
void push(int value);
void pop();
int top();
int size(){return SIZE-atas;}
int getAtas() {return atas;}
int *getStack() {return stack;}
};
void Stack::push(int val){
if(full())
cout << "Stack is full\n";
else{
stack[--atas]=val;
}
}
void Stack::pop(){
if(empty())
cout << "Stack is empty\n";
else
++atas;
}
int Stack::top(){
if(empty()){
cout << "Stack is empty\n";
return 0;
}else{
return stack[atas];
}
}
ostream& operator<< (ostream &out,Stack &s){
if(s.empty())
out << "Stack is empty\n";
else{
for(int i=s.getAtas();i < s.getAtas() + s.size();++i)
out << s.getStack()[i] << endl;
}
return out;
}
int main(){
Stack st;
st.push(50);
st.push(15);
st.push(20);
cout << "Stack Awal\n";
cout << st;
int nilai=st.top();
st.pop();
cout << "\nHasil pop(): " << nilai << endl;
cout << "\nStack Akhir\n";
cout << st;
return 0;
}
Kode Program Push()
void Stack::push(int val){
if(full())
cout << "Stack is full\n";
else{
stack[--atas]=val;
}
}
Kode Program Pop()
void Stack::pop(){
if(empty())
cout << "Stack is empty\n";
else
++atas;
}
Kode Program Top()
int Stack::top(){
if(empty()){
cout << "Stack is empty\n";
return 0;
}else{
return stack[atas];
}
}
Kelas ini memiliki beberapa method atau fungsi yang sesuai dengan sifat-sifat dan kaidah Stack. Seperti Push, Pop, Top dan Full. Push adalah menyimpan data ke dalam stack. lalu Pop adalah mengambil data paling atas dari Stack sedangkan Top adalah melihat isi data yang paling atas dari suatu Stack.
Cara Membuat Double Linked List menggunakan C++
Artikel Terhangat
60 Studi Kasus Real-time Notifikasi
08 Aug 2025
82. Test dengan `bufconn` tanpa Network
08 Aug 2025
59 Skema dan Resolver Subscription
08 Aug 2025
81. Unit Test untuk Handler gRPC
08 Aug 2025
79. gRPC Logging Terstruktur dengan Zap
08 Aug 2025

60 Studi Kasus Real-time Notifikasi

82. Test dengan `bufconn` tanpa Network

59 Skema dan Resolver Subscription

81. Unit Test untuk Handler gRPC
