STACK
Stack atau biasanya dikenal sebagai tumpukan adalah struktur data yang menumpuk data sedemikian rupa hingga data menjadi tersusun rapi. Biasanya Stack atau Tumpukan ini bisa kita temukan pada lemari pakaian atau pun tumpukan buku-buku pelajaran dan lain sebagainya. Sifat dari Stack ini adalah LIFO (Last In First Out). Artinya, data terakhir yang dimasukkan akan menjadi top dan data yang berada di top akan keluar lebih dulu karena posisinya yang berada pada posisi top.
Ada beberapa Operasi dari Stack yaitu :
• IsFull : Mengecek isi Stack apakah sudah terisi penuh atau belum.
• IsEmpty : Mengecek isi Stack apakah sudah dalam keadaan kosong atau belum.
• Push : Untuk menambahkan isi Stack yang berada pada posisi paling atas.
• Pop : Untuk mengeluarkan isi Stack yang berada pada posisi paling atas.
• Print : Untuk mencetak hasil dari Stack/mencetak isi dari Stack.
Source Code Stack
Berikut ini adalah source code atau syntax program dari Stack pada bahasa C++
#include <string>
#include <iostream>
using namespace std;
int top = -1;
char stack[128]; // secara program, jika stack sudah berisi lebih dari 128 item, ERROR.
char x;
void push()
{
cout << "Masukkan satu karakter ";
cin >> x;
top++;
stack[top] = x;
cin.clear();
cin.ignore(1, '\n');
}
void pop()
{
if(top < 0)
{
cout << "Stack kosong" << endl;
return;
}
x = stack[top];
top--;
cout << "Karakter yang terakhir masuk adalah " << x << endl;
}
void cetak()
{
if(top < 0)
{
cout << "Stack kosong" << endl;
return;
}
int i = 0;
for(i = top; i >= 0; i--)
cout << stack[i] << endl;
// kalo mau dicetak dari yang pertama masuk pakai script dibawah
//for(i = 0; i <= top; i++)
// cout << stack[i] << endl;
}
int main()
{
string input = "";
cout << "Pilihan yang dikenal adalah" << endl;
cout << "\tpush" << endl;
cout << "\tpop" << endl;
cout << "\tcetak stack" << endl;
cout << "\tquit" << endl;
while(true)
{
cout << "Masukkan pilihan: ";
getline(cin, input);
if(input == "push")
{
push();
}
else if(input == "pop")
{
pop();
}
else if(input == "cetak stack")
{
cetak();
}
else if(input == "quit")
{
break;
}
else
{
cout << "Perintah '" << input << "' tidak dikenal" << endl;
}
}
cout << "Program Akan berhenti" << endl;
}
Berikut adalah Tampilan dari Stack
Stack atau biasanya dikenal sebagai tumpukan adalah struktur data yang menumpuk data sedemikian rupa hingga data menjadi tersusun rapi. Biasanya Stack atau Tumpukan ini bisa kita temukan pada lemari pakaian atau pun tumpukan buku-buku pelajaran dan lain sebagainya. Sifat dari Stack ini adalah LIFO (Last In First Out). Artinya, data terakhir yang dimasukkan akan menjadi top dan data yang berada di top akan keluar lebih dulu karena posisinya yang berada pada posisi top.
Ada beberapa Operasi dari Stack yaitu :
• IsFull : Mengecek isi Stack apakah sudah terisi penuh atau belum.
• IsEmpty : Mengecek isi Stack apakah sudah dalam keadaan kosong atau belum.
• Push : Untuk menambahkan isi Stack yang berada pada posisi paling atas.
• Pop : Untuk mengeluarkan isi Stack yang berada pada posisi paling atas.
• Print : Untuk mencetak hasil dari Stack/mencetak isi dari Stack.
Source Code Stack
Berikut ini adalah source code atau syntax program dari Stack pada bahasa C++
#include <string>
#include <iostream>
using namespace std;
int top = -1;
char stack[128]; // secara program, jika stack sudah berisi lebih dari 128 item, ERROR.
char x;
void push()
{
cout << "Masukkan satu karakter ";
cin >> x;
top++;
stack[top] = x;
cin.clear();
cin.ignore(1, '\n');
}
void pop()
{
if(top < 0)
{
cout << "Stack kosong" << endl;
return;
}
x = stack[top];
top--;
cout << "Karakter yang terakhir masuk adalah " << x << endl;
}
void cetak()
{
if(top < 0)
{
cout << "Stack kosong" << endl;
return;
}
int i = 0;
for(i = top; i >= 0; i--)
cout << stack[i] << endl;
// kalo mau dicetak dari yang pertama masuk pakai script dibawah
//for(i = 0; i <= top; i++)
// cout << stack[i] << endl;
}
int main()
{
string input = "";
cout << "Pilihan yang dikenal adalah" << endl;
cout << "\tpush" << endl;
cout << "\tpop" << endl;
cout << "\tcetak stack" << endl;
cout << "\tquit" << endl;
while(true)
{
cout << "Masukkan pilihan: ";
getline(cin, input);
if(input == "push")
{
push();
}
else if(input == "pop")
{
pop();
}
else if(input == "cetak stack")
{
cetak();
}
else if(input == "quit")
{
break;
}
else
{
cout << "Perintah '" << input << "' tidak dikenal" << endl;
}
}
cout << "Program Akan berhenti" << endl;
}
Berikut adalah Tampilan dari Stack
Referensi dari Buku Karya Adi Nugroho yang berjudul Algoritma & Struktur Data dengan C#
Komentar
Posting Komentar