SlideShare a Scribd company logo
1 of 13
Budi Yono ST
Stack
 Secara sederhana stack (tumpukan) bisa diartikan
sebagai kumpulan data yang seolah-olah diletakkan di
atas data yang lain.
 Prinsipnya kita hanya bisa menambah data dan
menghapus data pada ujung ya sama.
 Konsep ini dikenal dengan LIFO (Last In First Out).
Stack
 Secara sederhana stack (tumpukan) dapat
diilustrasikan sebagai berikut :
Stack
 Pada gambar di depan dapat dilihat bahwa kotak B
berada diatas kotak A dan dibawah kotak C.
 Gambar di depan juga menunjukkan bahwa tumpukan
hanya bisa ditambah melalui atas.
 Tumpukan di depan juga hanya dapat diambil
(dikurangi) melalui bagian atas.
Operasi Pada Stack
 Ada 2 operasi dasar yang bisa dilakukan pada stack
yaitu :
 Push (menambah/menyisipkan data)
 Pop (menghapus/mengurangi data)
Push
 Ilustrasi operasi Push pada stack adalah sebagai
berikut :
Push
 Pada gambar di depan mula-mula tumpukan berisi
data 17, 41, 20
 Kemudian dilakukan operasi Push data 34 sehingga
tumpukan data pada tumpukan menjadi : 17, 41, 20, 34.
Pop
 Ilustrasi operasi Pop adalah sebagai berikut :
Pop
 Pada gambar di depan mula-mula tumpukan berisi
data : 17, 41, 20
 Kemudian dilakukan operasi Pop sehingga data yang
paling atas dihapus sehingga data pada tumpukan
menjadi : 17, 41
Pemanfaatan Stack
 Salah satu pemanfaatan Stack (tumpukan) adalah
untuk menulis ungkapan dengan menggunakan notasi
tertentu.
 Cara penulisan ungkapan sering disebut dengan notasi
infix, yang artinya bahwa operator ditulis diantara 2
operator.
 Selain notasi infix ada juga notasi prefix dan postfix.
 Pemanfaatan tumpukan bisa diterapkan pada notasi
postfix.
Pemanfaatan Stack
 Contoh notasi postfix : 2 14 + 5 *
Program Stack
 Implementasi Stack (tumpukan) pada C++ dapat
dibuat menggunakan Array atau Linked List.
 Berikut ini implementasi Stack menggunakan Array :
#include <iostream>
#include <conio>
#include <stdlib>
int top,i;
char key,temp;
char stack[10];
void push()
{
clrscr();
if(top<9)
{
cout<<"Masukkan sebuah karakter : ";
cin>>temp;
top++;
stack[top] = temp;
cout<<"Data sudah masuk, tekan enter..";
}
else
{
cout<<"Stack sudah penuh, tekan enter..";
}
getch();
}
void pop()
{
clrscr();
if(top>=0)
{
top--;
cout<<"Data sudah terhapus, tekan enter..";
}
else
{
cout<<"Stack telah kosong, tekan enter..";
}
getch();
}
void print()
{
clrscr();
if(top>=0)
{
cout<<"Isi Stack : "<<endl<<endl;
for(i=top;i>=0;i--)
{
cout<<" "<<stack[i]<<endl;
}
cout<<endl<<"Tekan enter..";
}
else
{
cout<<"Stack masih kosong, tekan enter..";
}
getch();
}
void main()
{
clrscr();
key = ' ';
top = -1;
do
{
do
{
clrscr();
cout<<"Program Stack"<<endl;
cout<<"1. Push"<<endl;
cout<<"2. Pop"<<endl;
cout<<"3. Print"<<endl;
cout<<"4. Exit"<<endl;
cout<<"Masukkan pilihan anda[1/2/3/4] : ";
key=getche();
}
while ((key!='1') && (key!='2') && (key!='3') && (key!='4'));
if(key=='1')
push();
else if(key=='2')
pop();
else if(key=='3')
print();
}
while (key!='4');
getch();
}

More Related Content

What's hot

Algoritma dan Struktur Data - Stack
Algoritma dan Struktur Data - StackAlgoritma dan Struktur Data - Stack
Algoritma dan Struktur Data - StackKuliahKita
 
Fungsi rekursif, queue, stack
Fungsi rekursif, queue, stackFungsi rekursif, queue, stack
Fungsi rekursif, queue, stackIcha Dicaprio
 
IPython : Operasi Dasar di Sympy
IPython : Operasi Dasar di SympyIPython : Operasi Dasar di Sympy
IPython : Operasi Dasar di SympyHirwanto Iwan
 
Text Editor Nano
Text Editor NanoText Editor Nano
Text Editor Nano150399
 
Slide minggu 2 pertemuan 2 (struktur data1)
Slide minggu 2 pertemuan 2 (struktur data1)Slide minggu 2 pertemuan 2 (struktur data1)
Slide minggu 2 pertemuan 2 (struktur data1)Setia Juli Irzal Ismail
 
Struktur data 03 (stack)
Struktur data 03 (stack)Struktur data 03 (stack)
Struktur data 03 (stack)Sunarya Marwah
 
Slide minggu 3 pertemuan 1 (struktur data1) [repariert]
Slide minggu 3 pertemuan 1 (struktur data1) [repariert]Slide minggu 3 pertemuan 1 (struktur data1) [repariert]
Slide minggu 3 pertemuan 1 (struktur data1) [repariert]Setia Juli Irzal Ismail
 
Materi : Struktur Data (2 Array)
Materi : Struktur Data (2 Array)Materi : Struktur Data (2 Array)
Materi : Struktur Data (2 Array)eka pandu cynthia
 
Algoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrianAlgoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrianGeorgius Rinaldo
 
Pert 4 stack
Pert 4   stackPert 4   stack
Pert 4 stackSantiIka2
 
Pengenalan Bahasa C
Pengenalan Bahasa CPengenalan Bahasa C
Pengenalan Bahasa Cguestaf3e8f4
 
Array Dimensi banyak struktur data pertemuan ke 3
Array Dimensi banyak struktur data pertemuan ke 3Array Dimensi banyak struktur data pertemuan ke 3
Array Dimensi banyak struktur data pertemuan ke 3said zulhelmi
 
Aray dan recrd
Aray dan recrdAray dan recrd
Aray dan recrd555560
 
MATLAB Dalam Tuntunan Praktis
MATLAB Dalam Tuntunan PraktisMATLAB Dalam Tuntunan Praktis
MATLAB Dalam Tuntunan Praktisstaffpengajar
 
MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )istiqlal
 

What's hot (20)

Algoritma dan Struktur Data - Stack
Algoritma dan Struktur Data - StackAlgoritma dan Struktur Data - Stack
Algoritma dan Struktur Data - Stack
 
Fungsi rekursif, queue, stack
Fungsi rekursif, queue, stackFungsi rekursif, queue, stack
Fungsi rekursif, queue, stack
 
IPython : Operasi Dasar di Sympy
IPython : Operasi Dasar di SympyIPython : Operasi Dasar di Sympy
IPython : Operasi Dasar di Sympy
 
Text Editor Nano
Text Editor NanoText Editor Nano
Text Editor Nano
 
Stack tumpukan
Stack tumpukan Stack tumpukan
Stack tumpukan
 
Slide minggu 2 pertemuan 2 (struktur data1)
Slide minggu 2 pertemuan 2 (struktur data1)Slide minggu 2 pertemuan 2 (struktur data1)
Slide minggu 2 pertemuan 2 (struktur data1)
 
Struktur data 03 (stack)
Struktur data 03 (stack)Struktur data 03 (stack)
Struktur data 03 (stack)
 
Slide minggu 3 pertemuan 1 (struktur data1) [repariert]
Slide minggu 3 pertemuan 1 (struktur data1) [repariert]Slide minggu 3 pertemuan 1 (struktur data1) [repariert]
Slide minggu 3 pertemuan 1 (struktur data1) [repariert]
 
Bab viii stack
Bab viii   stackBab viii   stack
Bab viii stack
 
Materi : Struktur Data (2 Array)
Materi : Struktur Data (2 Array)Materi : Struktur Data (2 Array)
Materi : Struktur Data (2 Array)
 
Algoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrianAlgoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrian
 
5 STACK
5 STACK5 STACK
5 STACK
 
Pert 4 stack
Pert 4   stackPert 4   stack
Pert 4 stack
 
Pengenalan Bahasa C
Pengenalan Bahasa CPengenalan Bahasa C
Pengenalan Bahasa C
 
Stack
StackStack
Stack
 
Array Dimensi banyak struktur data pertemuan ke 3
Array Dimensi banyak struktur data pertemuan ke 3Array Dimensi banyak struktur data pertemuan ke 3
Array Dimensi banyak struktur data pertemuan ke 3
 
Aray dan recrd
Aray dan recrdAray dan recrd
Aray dan recrd
 
MATLAB Dalam Tuntunan Praktis
MATLAB Dalam Tuntunan PraktisMATLAB Dalam Tuntunan Praktis
MATLAB Dalam Tuntunan Praktis
 
MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )MAKALAH STACK (TUMPUKAN )
MAKALAH STACK (TUMPUKAN )
 
Kelompok 3
Kelompok 3Kelompok 3
Kelompok 3
 

Viewers also liked

7 5 the other trig functions
7 5 the other trig functions7 5 the other trig functions
7 5 the other trig functionshisema01
 
Skąd pochodzi moje śniadanie
Skąd pochodzi moje śniadanieSkąd pochodzi moje śniadanie
Skąd pochodzi moje śniadanieJarosław Lamich
 
3.1 exponential sequences
3.1 exponential sequences3.1 exponential sequences
3.1 exponential sequenceshisema01
 
Presentation for NPSFAP
Presentation for NPSFAPPresentation for NPSFAP
Presentation for NPSFAPKay Albers
 
T7 azzam saleh improving water av and manag fo agr fao wbgs
T7 azzam saleh improving water av and manag fo agr  fao wbgsT7 azzam saleh improving water av and manag fo agr  fao wbgs
T7 azzam saleh improving water av and manag fo agr fao wbgsNENAwaterscarcity
 
Showcase T Woeste
Showcase T WoesteShowcase T Woeste
Showcase T Woestetwwoeste
 
War on the bank
War on the bankWar on the bank
War on the bankmsvictory
 
Planning the smudie 'to be' model
Planning the smudie 'to be' modelPlanning the smudie 'to be' model
Planning the smudie 'to be' modelTony Toole
 
Evaluation presentation
Evaluation presentationEvaluation presentation
Evaluation presentationjhdhsmedia
 
Great Depression Images
Great Depression ImagesGreat Depression Images
Great Depression ImagesSteven Hasen
 
How to use this website
How to use this websiteHow to use this website
How to use this websiteArsovski Todor
 
Trabajo de investigación sobre la evolución de la tecnología a través del tie...
Trabajo de investigación sobre la evolución de la tecnología a través del tie...Trabajo de investigación sobre la evolución de la tecnología a través del tie...
Trabajo de investigación sobre la evolución de la tecnología a través del tie...Carlii Barberis
 
கடல்புறா03 01
கடல்புறா03 01கடல்புறா03 01
கடல்புறா03 01tamilvasantham
 

Viewers also liked (20)

7 5 the other trig functions
7 5 the other trig functions7 5 the other trig functions
7 5 the other trig functions
 
Skąd pochodzi moje śniadanie
Skąd pochodzi moje śniadanieSkąd pochodzi moje śniadanie
Skąd pochodzi moje śniadanie
 
Find Win Keep Customers
Find Win Keep CustomersFind Win Keep Customers
Find Win Keep Customers
 
0503 ch 5 day 3
0503 ch 5 day 30503 ch 5 day 3
0503 ch 5 day 3
 
3.1 exponential sequences
3.1 exponential sequences3.1 exponential sequences
3.1 exponential sequences
 
william-james
 william-james william-james
william-james
 
Presentation for NPSFAP
Presentation for NPSFAPPresentation for NPSFAP
Presentation for NPSFAP
 
T7 azzam saleh improving water av and manag fo agr fao wbgs
T7 azzam saleh improving water av and manag fo agr  fao wbgsT7 azzam saleh improving water av and manag fo agr  fao wbgs
T7 azzam saleh improving water av and manag fo agr fao wbgs
 
Showcase T Woeste
Showcase T WoesteShowcase T Woeste
Showcase T Woeste
 
War on the bank
War on the bankWar on the bank
War on the bank
 
Smileytize your town
Smileytize your townSmileytize your town
Smileytize your town
 
Planning the smudie 'to be' model
Planning the smudie 'to be' modelPlanning the smudie 'to be' model
Planning the smudie 'to be' model
 
Evaluation presentation
Evaluation presentationEvaluation presentation
Evaluation presentation
 
Learning strategies…
Learning strategies…Learning strategies…
Learning strategies…
 
Great Depression Images
Great Depression ImagesGreat Depression Images
Great Depression Images
 
Alt c 2012
Alt c 2012Alt c 2012
Alt c 2012
 
Top 40
Top 40 Top 40
Top 40
 
How to use this website
How to use this websiteHow to use this website
How to use this website
 
Trabajo de investigación sobre la evolución de la tecnología a través del tie...
Trabajo de investigación sobre la evolución de la tecnología a través del tie...Trabajo de investigación sobre la evolución de la tecnología a través del tie...
Trabajo de investigación sobre la evolución de la tecnología a través del tie...
 
கடல்புறா03 01
கடல்புறா03 01கடல்புறா03 01
கடல்புறா03 01
 

Similar to Stack LIFO Data

Similar to Stack LIFO Data (20)

Materi kuliah 10 stack
Materi kuliah 10   stackMateri kuliah 10   stack
Materi kuliah 10 stack
 
6. Stack (Struktur Data)
6. Stack (Struktur Data)6. Stack (Struktur Data)
6. Stack (Struktur Data)
 
Pert.6 stack
Pert.6 stackPert.6 stack
Pert.6 stack
 
Laporan praktikum modul viii
Laporan praktikum modul viiiLaporan praktikum modul viii
Laporan praktikum modul viii
 
Chapter 4a stack
Chapter 4a   stackChapter 4a   stack
Chapter 4a stack
 
Algorithms and Data Structures
 Algorithms and Data Structures Algorithms and Data Structures
Algorithms and Data Structures
 
STACK .pdf
STACK .pdfSTACK .pdf
STACK .pdf
 
Tistrukdat4
Tistrukdat4Tistrukdat4
Tistrukdat4
 
Stack Linier
Stack LinierStack Linier
Stack Linier
 
ppt_stack_kelompok_5_ppt.ppt
ppt_stack_kelompok_5_ppt.pptppt_stack_kelompok_5_ppt.ppt
ppt_stack_kelompok_5_ppt.ppt
 
ppt_stack_kelompok_5_ppt.ppt
ppt_stack_kelompok_5_ppt.pptppt_stack_kelompok_5_ppt.ppt
ppt_stack_kelompok_5_ppt.ppt
 
Pertemuan 4 ok
Pertemuan 4 okPertemuan 4 ok
Pertemuan 4 ok
 
Stack tumpukan
Stack tumpukan Stack tumpukan
Stack tumpukan
 
Stack tumpukan
Stack tumpukan Stack tumpukan
Stack tumpukan
 
Bab 3 stack (tumpukan)
Bab 3 stack (tumpukan)Bab 3 stack (tumpukan)
Bab 3 stack (tumpukan)
 
Stack_Queue.pdf
Stack_Queue.pdfStack_Queue.pdf
Stack_Queue.pdf
 
Laporan praktikum modul ix
Laporan praktikum modul ixLaporan praktikum modul ix
Laporan praktikum modul ix
 
Laporan Praktikum Struktur Data Modul 3
Laporan Praktikum Struktur Data Modul 3Laporan Praktikum Struktur Data Modul 3
Laporan Praktikum Struktur Data Modul 3
 
Stack
StackStack
Stack
 
Stack
StackStack
Stack
 

More from Budi Yono

Materi kuliah 14 pernyataan dasar part 3
Materi kuliah 14   pernyataan dasar part 3Materi kuliah 14   pernyataan dasar part 3
Materi kuliah 14 pernyataan dasar part 3Budi Yono
 
Materi kuliah 01 array part 1
Materi kuliah 01   array part 1Materi kuliah 01   array part 1
Materi kuliah 01 array part 1Budi Yono
 
Materi kuliah 04 pointer part 2
Materi kuliah 04   pointer part 2Materi kuliah 04   pointer part 2
Materi kuliah 04 pointer part 2Budi Yono
 
Materi kuliah 05 pointer part 3
Materi kuliah 05   pointer part 3Materi kuliah 05   pointer part 3
Materi kuliah 05 pointer part 3Budi Yono
 
Materi kuliah 08 sort part 3
Materi kuliah 08   sort part 3Materi kuliah 08   sort part 3
Materi kuliah 08 sort part 3Budi Yono
 
Materi kuliah 02 array part 2
Materi kuliah 02   array part 2Materi kuliah 02   array part 2
Materi kuliah 02 array part 2Budi Yono
 
Materi kuliah 23 pointer part 3
Materi kuliah 23   pointer part 3Materi kuliah 23   pointer part 3
Materi kuliah 23 pointer part 3Budi Yono
 
Materi kuliah 19 fungsi part 2
Materi kuliah 19   fungsi part 2Materi kuliah 19   fungsi part 2
Materi kuliah 19 fungsi part 2Budi Yono
 
01 pengenalan algoritma
01   pengenalan algoritma01   pengenalan algoritma
01 pengenalan algoritmaBudi Yono
 
Materi kuliah 04 sekilas c++
Materi kuliah 04   sekilas c++Materi kuliah 04   sekilas c++
Materi kuliah 04 sekilas c++Budi Yono
 
05 pengenalan c++
05   pengenalan c++05   pengenalan c++
05 pengenalan c++Budi Yono
 
08 elemen dasar c++ part 3
08   elemen dasar c++ part 308   elemen dasar c++ part 3
08 elemen dasar c++ part 3Budi Yono
 
10 operator dan ungkapan part 2
10   operator dan ungkapan part 210   operator dan ungkapan part 2
10 operator dan ungkapan part 2Budi Yono
 
09 operator dan ungkapan part 1
09   operator dan ungkapan part 109   operator dan ungkapan part 1
09 operator dan ungkapan part 1Budi Yono
 
Materi kuliah 12 pernyataan dasar part 1
Materi kuliah 12   pernyataan dasar part 1Materi kuliah 12   pernyataan dasar part 1
Materi kuliah 12 pernyataan dasar part 1Budi Yono
 
02 flowchart
02   flowchart02   flowchart
02 flowchartBudi Yono
 
Materi kuliah 14 pernyataan dasar part 3
Materi kuliah 14   pernyataan dasar part 3Materi kuliah 14   pernyataan dasar part 3
Materi kuliah 14 pernyataan dasar part 3Budi Yono
 
07 elemen dasar c++ part 2
07   elemen dasar c++ part 207   elemen dasar c++ part 2
07 elemen dasar c++ part 2Budi Yono
 
Fungsi part 4
Fungsi part 4Fungsi part 4
Fungsi part 4Budi Yono
 
Materi kuliah 21 pointer part 1
Materi kuliah 21   pointer part 1Materi kuliah 21   pointer part 1
Materi kuliah 21 pointer part 1Budi Yono
 

More from Budi Yono (20)

Materi kuliah 14 pernyataan dasar part 3
Materi kuliah 14   pernyataan dasar part 3Materi kuliah 14   pernyataan dasar part 3
Materi kuliah 14 pernyataan dasar part 3
 
Materi kuliah 01 array part 1
Materi kuliah 01   array part 1Materi kuliah 01   array part 1
Materi kuliah 01 array part 1
 
Materi kuliah 04 pointer part 2
Materi kuliah 04   pointer part 2Materi kuliah 04   pointer part 2
Materi kuliah 04 pointer part 2
 
Materi kuliah 05 pointer part 3
Materi kuliah 05   pointer part 3Materi kuliah 05   pointer part 3
Materi kuliah 05 pointer part 3
 
Materi kuliah 08 sort part 3
Materi kuliah 08   sort part 3Materi kuliah 08   sort part 3
Materi kuliah 08 sort part 3
 
Materi kuliah 02 array part 2
Materi kuliah 02   array part 2Materi kuliah 02   array part 2
Materi kuliah 02 array part 2
 
Materi kuliah 23 pointer part 3
Materi kuliah 23   pointer part 3Materi kuliah 23   pointer part 3
Materi kuliah 23 pointer part 3
 
Materi kuliah 19 fungsi part 2
Materi kuliah 19   fungsi part 2Materi kuliah 19   fungsi part 2
Materi kuliah 19 fungsi part 2
 
01 pengenalan algoritma
01   pengenalan algoritma01   pengenalan algoritma
01 pengenalan algoritma
 
Materi kuliah 04 sekilas c++
Materi kuliah 04   sekilas c++Materi kuliah 04   sekilas c++
Materi kuliah 04 sekilas c++
 
05 pengenalan c++
05   pengenalan c++05   pengenalan c++
05 pengenalan c++
 
08 elemen dasar c++ part 3
08   elemen dasar c++ part 308   elemen dasar c++ part 3
08 elemen dasar c++ part 3
 
10 operator dan ungkapan part 2
10   operator dan ungkapan part 210   operator dan ungkapan part 2
10 operator dan ungkapan part 2
 
09 operator dan ungkapan part 1
09   operator dan ungkapan part 109   operator dan ungkapan part 1
09 operator dan ungkapan part 1
 
Materi kuliah 12 pernyataan dasar part 1
Materi kuliah 12   pernyataan dasar part 1Materi kuliah 12   pernyataan dasar part 1
Materi kuliah 12 pernyataan dasar part 1
 
02 flowchart
02   flowchart02   flowchart
02 flowchart
 
Materi kuliah 14 pernyataan dasar part 3
Materi kuliah 14   pernyataan dasar part 3Materi kuliah 14   pernyataan dasar part 3
Materi kuliah 14 pernyataan dasar part 3
 
07 elemen dasar c++ part 2
07   elemen dasar c++ part 207   elemen dasar c++ part 2
07 elemen dasar c++ part 2
 
Fungsi part 4
Fungsi part 4Fungsi part 4
Fungsi part 4
 
Materi kuliah 21 pointer part 1
Materi kuliah 21   pointer part 1Materi kuliah 21   pointer part 1
Materi kuliah 21 pointer part 1
 

Stack LIFO Data

  • 2. Stack  Secara sederhana stack (tumpukan) bisa diartikan sebagai kumpulan data yang seolah-olah diletakkan di atas data yang lain.  Prinsipnya kita hanya bisa menambah data dan menghapus data pada ujung ya sama.  Konsep ini dikenal dengan LIFO (Last In First Out).
  • 3. Stack  Secara sederhana stack (tumpukan) dapat diilustrasikan sebagai berikut :
  • 4. Stack  Pada gambar di depan dapat dilihat bahwa kotak B berada diatas kotak A dan dibawah kotak C.  Gambar di depan juga menunjukkan bahwa tumpukan hanya bisa ditambah melalui atas.  Tumpukan di depan juga hanya dapat diambil (dikurangi) melalui bagian atas.
  • 5. Operasi Pada Stack  Ada 2 operasi dasar yang bisa dilakukan pada stack yaitu :  Push (menambah/menyisipkan data)  Pop (menghapus/mengurangi data)
  • 6. Push  Ilustrasi operasi Push pada stack adalah sebagai berikut :
  • 7. Push  Pada gambar di depan mula-mula tumpukan berisi data 17, 41, 20  Kemudian dilakukan operasi Push data 34 sehingga tumpukan data pada tumpukan menjadi : 17, 41, 20, 34.
  • 8. Pop  Ilustrasi operasi Pop adalah sebagai berikut :
  • 9. Pop  Pada gambar di depan mula-mula tumpukan berisi data : 17, 41, 20  Kemudian dilakukan operasi Pop sehingga data yang paling atas dihapus sehingga data pada tumpukan menjadi : 17, 41
  • 10. Pemanfaatan Stack  Salah satu pemanfaatan Stack (tumpukan) adalah untuk menulis ungkapan dengan menggunakan notasi tertentu.  Cara penulisan ungkapan sering disebut dengan notasi infix, yang artinya bahwa operator ditulis diantara 2 operator.  Selain notasi infix ada juga notasi prefix dan postfix.  Pemanfaatan tumpukan bisa diterapkan pada notasi postfix.
  • 11. Pemanfaatan Stack  Contoh notasi postfix : 2 14 + 5 *
  • 12. Program Stack  Implementasi Stack (tumpukan) pada C++ dapat dibuat menggunakan Array atau Linked List.  Berikut ini implementasi Stack menggunakan Array :
  • 13. #include <iostream> #include <conio> #include <stdlib> int top,i; char key,temp; char stack[10]; void push() { clrscr(); if(top<9) { cout<<"Masukkan sebuah karakter : "; cin>>temp; top++; stack[top] = temp; cout<<"Data sudah masuk, tekan enter.."; } else { cout<<"Stack sudah penuh, tekan enter.."; } getch(); } void pop() { clrscr(); if(top>=0) { top--; cout<<"Data sudah terhapus, tekan enter.."; } else { cout<<"Stack telah kosong, tekan enter.."; } getch(); } void print() { clrscr(); if(top>=0) { cout<<"Isi Stack : "<<endl<<endl; for(i=top;i>=0;i--) { cout<<" "<<stack[i]<<endl; } cout<<endl<<"Tekan enter.."; } else { cout<<"Stack masih kosong, tekan enter.."; } getch(); } void main() { clrscr(); key = ' '; top = -1; do { do { clrscr(); cout<<"Program Stack"<<endl; cout<<"1. Push"<<endl; cout<<"2. Pop"<<endl; cout<<"3. Print"<<endl; cout<<"4. Exit"<<endl; cout<<"Masukkan pilihan anda[1/2/3/4] : "; key=getche(); } while ((key!='1') && (key!='2') && (key!='3') && (key!='4')); if(key=='1') push(); else if(key=='2') pop(); else if(key=='3') print(); } while (key!='4'); getch(); }