Download - stack - Institut Teknologi Telkom Purwokerto
![Page 1: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/1.jpg)
stack ==tumpukan==
Tenia wahyuningrum st3 telkom purwokerto www.st3telkom.ac.id
![Page 2: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/2.jpg)
Stacks everywhere ...
![Page 3: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/3.jpg)
definisi...
“A stack is an ordered collection of items into which new items may be inserted and from which items may be deleted at one end, called top of the stack”
* Yedidyah L, Moshe J. A., and Aaron M. Tenenbaum; Data Structures Using C and C++
![Page 4: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/4.jpg)
definisi...
“Secara sederhana, tumpukan bisa diartikan sebagai suatu kumpulan data yang seolah-olah ada data yang diletakan diatas data yang lain.”
![Page 5: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/5.jpg)
Satu hal yang perlu kita ingat adalah bahwa kita bisa menambah (menyisipkan) data, dan mengambil (menghapus) data lewat ujung yang sama, yang disebut sebagai ujung atas tumpukan (top of stack)
![Page 6: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/6.jpg)
LIFO ( Last In First Out )
“data yang disimpan terakhir akan diambil lebih dahulu, data yang disimpan pertama kali akan diambil paling akhir”
![Page 7: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/7.jpg)
operasi stack...
![Page 8: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/8.jpg)
d c b a
push
e d c b a
e
mula-mula setelah ditumpuk
“Menyisipkan / menambahkan data pd ujung atas stack”
![Page 9: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/9.jpg)
d c b a
pop
e d c b a
e
mula-mula setelah tumpukan diambil
“Menghapus / mengeluarkan data dr ujung atas stack”
![Page 10: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/10.jpg)
Kode
program
![Page 11: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/11.jpg)
deklarasi
#define max 10
struct Tumpukan{
int atas;
int data[max];
}T;
![Page 12: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/12.jpg)
int penuh(){
if(T.atas==max-1)
return 1;
else
return 0;
}
void awal(){
T.atas=-1;
}
int kosong(){
if(T.atas== -1)
return 1;
else
return 0;
}
nilai awal
![Page 13: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/13.jpg)
Mula-mula stack kosong
T.atas = -1 Return = 1
push
![Page 14: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/14.jpg)
push
void push(int data){
if(kosong()==1)
{T.atas++;
T.data[T.atas]=data;
cout<<"Data "<<T.data[T.atas]<<" masuk ke stack";}
else if(penuh()==0)
{T.atas++;
T.data[T.atas]=data;
cout<<"Data "<<T.data[T.atas]<<" masuk ke stack";}
else
cout<<"Tumpukan penuh";
}
![Page 15: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/15.jpg)
T.atas –
T.Atas dikurangi 1
pop
![Page 16: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/16.jpg)
pop
void pop(){
if(kosong()==0){
cout<<"Data teratas sudah terambil";
T.atas--;
}
else
cout<<"Data kosong";
}
![Page 17: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/17.jpg)
void tampil(){
if(kosong()==0)
{for(int i=T.atas;i>=0;i--)
{cout<<T.data[i];}
}
else
cout<<"Tumpukan kosong";
}
![Page 18: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/18.jpg)
tampil • Dicetak mulai dari
tumpukan teratas, lalu sampai tumpukan terbawah
![Page 19: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/19.jpg)
![Page 20: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/20.jpg)
Palindrom
“sebuah kata, frasa, angka maupun
susunan lainnya yang dapat
dibaca dengan sama baik
dari depan maupun belakang (spasi
antara huruf-huruf biasanya
diperbolehkan)”
* Kata "palindrom" berasal dari bahasa Yunani: palin ("balik") dan dromos ("pacuan kuda").
![Page 21: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/21.jpg)
contoh
Kasur ini rusak.
Ada asa, ada apa
Malam ada nababan.
ada, apa, ara, asa, bab, ini, katak, kodok, makam, malam, radar, taat
![Page 22: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/22.jpg)
Mengecek Kalimat Polindrom
Kalimat : KAKAK
K
A
K K
A
K
K
A
K
A
K
A
K
A
K
Operasi Push
![Page 23: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/23.jpg)
Operasi Pop
K
A
K
K
A
K
A
K
A
K
A
K K
A
K
Hasil =‘’
Hasil = K
Hasil = KA
Hasil = KAK
Hasil = KAKA
Hasil = KAKAK
Jika Kalimat = hasil
Palindrom
![Page 24: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/24.jpg)
Ungkapan Aritmatika
Untuk menuliskan ungkapan
aritmatika dapat dilakukan dengan
tiga metode :
infix, prefix, postfix
![Page 25: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/25.jpg)
![Page 26: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/26.jpg)
Derajat operator
() ----- tanda kurung
^ ----- pangkat
* dan / ----- kali dan bagi
+ dan - ------ tambah dan kurang
![Page 27: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/27.jpg)
Infix A*B + C*D
Prefix
*AB + C * D
*AB + *CD
+*AB*CD
Postfix
AB* + C*D
AB* + CD*
AB*CD*+
![Page 28: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/28.jpg)
Infix : A + B * (C – D) / E
Prefix
A + B * -CD / E
A + *B-CD / E
A + /*B-CDE
+A/*B-CDE
Postfix
A + B * CD- / E
A + BCD-* / E
A + BCD-*E/
ABCD-*E/+
![Page 29: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/29.jpg)
Langkah manual
infix-prefix-postfix
![Page 30: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/30.jpg)
A * ( B + C ) / D ^ E – F
![Page 31: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/31.jpg)
![Page 32: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/32.jpg)
![Page 33: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/33.jpg)
Menggunakan stack
infix-prefix-postfix
![Page 34: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/34.jpg)
• Stack adalah tumpukan (jadi,
memori diibaratkan dengan
tumpukan) yang memiliki cara kerja,
“yang pertama masuk ke kotak, maka
akan terakhir kali diambil kembali”
atau “first in last out”.
![Page 35: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/35.jpg)
Langkah-
langkah
![Page 36: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/36.jpg)
![Page 37: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/37.jpg)
![Page 38: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/38.jpg)
![Page 39: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/39.jpg)
![Page 40: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/40.jpg)
![Page 41: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/41.jpg)
![Page 42: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/42.jpg)
![Page 43: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/43.jpg)
![Page 44: stack - Institut Teknologi Telkom Purwokerto](https://reader030.vdocuments.mx/reader030/viewer/2022012811/61c24dba0f36de4b513c7629/html5/thumbnails/44.jpg)
good bye !