Mengurangkan data
4
3 kurang 3
2 2
1 1
Seperti gambar yang telah di perlihatkan di atas, stack
hanya bisa melakukan penambahan data dan
pengurangan data pada data yang paling atas, tidak
bisa di tengah ataupun di atas.
Operasi Pada Stack
Ada 2 Operasi dasar yang bisa di lakukan oleh stack
yaitu operasi memasukan data (push) dan operasi
menghapus data(pop).
Operasi Push
Operasi push pada stack adalah proses memasukan
data pada tumpukan. Berikut adalah ilustrasinya:
4
jadi jadi
3 3 3
2 2 2 2
1 1 1 1
Pada gambar di atas kita memasukan data sebanyak 2
kali, yaitu 3 dan 4. Dalam coding maka salah satu
contoh codingnya seperti ini:
void masukan()
{
int baru;
if (tumpukan.atas ==5-1)
{
cout<<"tumpukan penuh";
getch();
}
else
{
cout<<"Masukan nilai :";
cin>>baru;
tumpukan.atas++;
tumpukan.data[tumpukan.atas] = baru;
}
}
Operasi POP
Operasi POP adalah penghapusan data paling atas
pada sebuah program, ilustrasi seperti berikut:
4
jadi jadi
3 3 3
2 2 2 2
1 1 1 1
Pada gambar di atas kita mengeluarkan data yang
bernilai 4 dan 3 (yang di keluarkan adalah data yang
paling atas), salah satu contoh coding seperti berikut:
void keluarkan()
{
if (tumpukan.atas == -1)
{
cout<<"Tumpukan Kosong";
getch();
}
else
{
cout<<"Nilai yang dikeluarkan:"<<tumpukan.data[tumpukan.atas]<<endl;
tumpukan.atas--;
getch();
}
}
Pada proses pop, ada jalur khususnya, yaitu menghapus
data dengan menghapus indeksnya (indeks terakhir yang
di hapus), jadi ada apapun jenis datanya, jika pada indeks
tersebut di hapus indeksnya, maka datanya otomatis akan
terhapus. Jika pada proses push tidak ada statement
khususnya karena sama saja seperti menambah data
biasa, hanya saja indeksnya bertambah jika di masuki
data (indeks bisa bertambah sejumlah batas indeks).
Contoh Program
Contoh program bisa klik di link ini:
Kegunaan Stack
Stack di gunakan untuk ungkapan penulisan numeris
dengan sistem postfix.
Contoh:
(2+3)*(2-1)=23+21-*
(2+3)-1=23+1-
2+3*1/1=2311/*+
Contoh Pengaplikasiannya
(6+4)*(4-2)->6 4 + 4 2 -*
2
4 4 2
6 10 10 10 20