SlideShare une entreprise Scribd logo
1  sur  46
stack 
==tumpukan== 
Tenia wahyuningrum 
st3 telkom purwokerto 
www.st3telkom.ac.id
Stacks everywhere ...
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++
definisi... 
“Secara sederhana, tumpukan bisa 
diartikan sebagai suatu kumpulan 
data yang seolah-olah ada data yang 
diletakan diatas data yang lain.”
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)
LIFO ( Last In First Out ) 
“data yang disimpan terakhir akan 
diambil lebih dahulu, data yang 
disimpan pertama kali akan diambil 
paling akhir”
operasi stack...
d 
c 
b 
a 
push 
e 
d 
c 
b 
a 
e 
mula-mula setelah ditumpuk 
“Menyisipkan / menambahkan 
data pd ujung atas stack”
d 
c 
b 
a 
pop 
e 
d 
c 
b 
a 
e 
“Menghapus / mengeluarkan data 
dr ujung atas stack” 
mula-mula setelah tumpukan diambil
Kode 
program
deklarasi 
#define max 10 
struct Tumpukan{ 
int atas; 
int data[max]; 
}T;
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
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"; 
}
Mula-mula stack kosong 
T.atas = -1 
Return = 1 
push
pop 
void pop(){ 
if(kosong()==0){ 
cout<<"Data teratas sudah terambil"; 
T.atas--; 
} 
else 
cout<<"Data kosong"; 
}
T.Atas dikurangi 1 
T.atas – 
pop
void tampil(){ 
if(kosong()==0) 
{for(int i=T.atas;i>=0;i--) 
{cout<<"nTumpukan ke 
"<<i<<"="<<T.data[i];} 
} 
else 
cout<<"Tumpukan kosong"; 
}
tampil 
• Dicetak mulai dari 
tumpukan teratas, lalu 
sampai tumpukan 
terbawah
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").
contoh 
 Kasur ini rusak. 
 Ada asa, ada apa 
 Malam ada nababan. 
 ada, apa, ara, asa, bab, ini, katak, kodok, 
makam, malam, radar, taat, tamat, taat
Mengecek Kalimat Polindrom 
Kalimat : KAKAK 
K 
A 
A 
K 
K K 
K 
A 
K 
A 
K 
A 
K 
A 
K 
Operasi Push
Operasi Pop 
K 
A 
K 
K 
A 
K 
A 
K 
A 
K 
A 
A 
K K 
K 
Hasil =‘’ 
Hasil = K 
Hasil = KA 
Hasil = KAK 
Hasil = KAKA 
Hasil = KAKAK 
Jika Kalimat = hasil 
 Palindrom
Ungkapan Aritmatika 
Untuk menuliskan ungkapan 
aritmatika dapat dilakukan dengan 
tiga metode : 
infix, prefix, postfix
Derajat operator 
 () ----- tanda kurung 
 ^ ----- pangkat 
 * dan / ----- kali dan bagi 
 + dan - ------ tambah dan kurang
Infix A*B + C*D 
Prefix 
*AB + C * D 
*AB + *CD 
+*AB*CD 
Postfix 
AB* + C*D 
AB* + CD* 
AB*CD*+
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/+
Langkah manual 
infix-prefix-postfix
A * ( B + C ) / D ^ E – F
LaTIHan di KeLas ! 
Contoh : 
1.Infix (A+B)*C^D/E-F+G 
2.Infix (A+B*C)*(D+E)/F*G
Menggunakan stack 
infix-prefix-postfix
• 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”.
Langkah-langkah
TUGAS 
• Buatlah program untuk mengecek 
kata palindrom menggunakan stack ! 
• Buatlah program untuk mengubah / 
konversi notasi infix ke postfix !
good bye !

Contenu connexe

Tendances

Materi 7 Context Free Grammar
Materi 7   Context Free Grammar Materi 7   Context Free Grammar
Materi 7 Context Free Grammar ahmad haidaroh
 
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)Kelinci Coklat
 
Laporan praktikum 2 - Sistem Operasi - internal command - copy con, rename,...
Laporan praktikum 2  - Sistem Operasi -  internal command - copy con, rename,...Laporan praktikum 2  - Sistem Operasi -  internal command - copy con, rename,...
Laporan praktikum 2 - Sistem Operasi - internal command - copy con, rename,...Melina Krisnawati
 
Pertemuan-12-normalisasi.pptx
Pertemuan-12-normalisasi.pptxPertemuan-12-normalisasi.pptx
Pertemuan-12-normalisasi.pptxnurnur469094
 
7. Queue (Struktur Data)
7. Queue (Struktur Data)7. Queue (Struktur Data)
7. Queue (Struktur Data)Kelinci Coklat
 
Context Free Grammar 1 - Materi 6 - TBO
Context Free Grammar 1 - Materi 6 - TBOContext Free Grammar 1 - Materi 6 - TBO
Context Free Grammar 1 - Materi 6 - TBOahmad haidaroh
 
Fungsi dan Array Pada C++
Fungsi dan Array Pada C++Fungsi dan Array Pada C++
Fungsi dan Array Pada C++Toro Jr.
 
6 Algoritma Pengurutan Data
6 Algoritma Pengurutan Data6 Algoritma Pengurutan Data
6 Algoritma Pengurutan DataSimon Patabang
 
Interpolation search
Interpolation searchInterpolation search
Interpolation searchUsr11011
 
Domain Modeling with FP (DDD Europe 2020)
Domain Modeling with FP (DDD Europe 2020)Domain Modeling with FP (DDD Europe 2020)
Domain Modeling with FP (DDD Europe 2020)Scott Wlaschin
 
Algoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrianAlgoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrianGeorgius Rinaldo
 

Tendances (20)

Stack and queue
Stack and queueStack and queue
Stack and queue
 
Pertemuan 5 Stack atau Tumpukan
Pertemuan 5 Stack atau TumpukanPertemuan 5 Stack atau Tumpukan
Pertemuan 5 Stack atau Tumpukan
 
Materi 7 Context Free Grammar
Materi 7   Context Free Grammar Materi 7   Context Free Grammar
Materi 7 Context Free Grammar
 
5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)5. Doubly Linked List (Struktur Data)
5. Doubly Linked List (Struktur Data)
 
Queue
QueueQueue
Queue
 
Laporan praktikum 2 - Sistem Operasi - internal command - copy con, rename,...
Laporan praktikum 2  - Sistem Operasi -  internal command - copy con, rename,...Laporan praktikum 2  - Sistem Operasi -  internal command - copy con, rename,...
Laporan praktikum 2 - Sistem Operasi - internal command - copy con, rename,...
 
Pertemuan-12-normalisasi.pptx
Pertemuan-12-normalisasi.pptxPertemuan-12-normalisasi.pptx
Pertemuan-12-normalisasi.pptx
 
8 Rekursif
8 Rekursif8 Rekursif
8 Rekursif
 
7. Queue (Struktur Data)
7. Queue (Struktur Data)7. Queue (Struktur Data)
7. Queue (Struktur Data)
 
Context Free Grammar 1 - Materi 6 - TBO
Context Free Grammar 1 - Materi 6 - TBOContext Free Grammar 1 - Materi 6 - TBO
Context Free Grammar 1 - Materi 6 - TBO
 
queue antrian
queue antrianqueue antrian
queue antrian
 
Fungsi dan Array Pada C++
Fungsi dan Array Pada C++Fungsi dan Array Pada C++
Fungsi dan Array Pada C++
 
6 Algoritma Pengurutan Data
6 Algoritma Pengurutan Data6 Algoritma Pengurutan Data
6 Algoritma Pengurutan Data
 
Bab 8 rekursif
Bab 8 rekursifBab 8 rekursif
Bab 8 rekursif
 
Resume praktikum 6 stack
Resume praktikum 6 stackResume praktikum 6 stack
Resume praktikum 6 stack
 
Interpolation search
Interpolation searchInterpolation search
Interpolation search
 
LINKED LISTS
LINKED LISTSLINKED LISTS
LINKED LISTS
 
Domain Modeling with FP (DDD Europe 2020)
Domain Modeling with FP (DDD Europe 2020)Domain Modeling with FP (DDD Europe 2020)
Domain Modeling with FP (DDD Europe 2020)
 
Stack tumpukan
Stack tumpukan Stack tumpukan
Stack tumpukan
 
Algoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrianAlgoritma dan Struktur Data - antrian
Algoritma dan Struktur Data - antrian
 

En vedette

Class dan object
Class dan objectClass dan object
Class dan objectHardini_HD
 
Sd pertemuan 3 & 4 (edited)
Sd   pertemuan 3 & 4 (edited)Sd   pertemuan 3 & 4 (edited)
Sd pertemuan 3 & 4 (edited)biedoen
 
Sd pertemuan 5 & 6
Sd   pertemuan 5 & 6Sd   pertemuan 5 & 6
Sd pertemuan 5 & 6biedoen
 
Pemrograman C++ - Operasi Berkas
Pemrograman C++ - Operasi BerkasPemrograman C++ - Operasi Berkas
Pemrograman C++ - Operasi BerkasKuliahKita
 
Struktur data pertemuan 1 & 2
Struktur data   pertemuan 1 & 2Struktur data   pertemuan 1 & 2
Struktur data pertemuan 1 & 2biedoen
 
Algoritma dan Struktur Data - Konstruktor dan Destruktor
Algoritma dan Struktur Data - Konstruktor dan DestruktorAlgoritma dan Struktur Data - Konstruktor dan Destruktor
Algoritma dan Struktur Data - Konstruktor dan DestruktorKuliahKita
 
02 linked list_20160217_jintaekseo
02 linked list_20160217_jintaekseo02 linked list_20160217_jintaekseo
02 linked list_20160217_jintaekseoJinTaek Seo
 
9.double linked list circular
9.double linked list circular9.double linked list circular
9.double linked list circularHitesh Wagle
 
Predavanja 06 Konstruktori i destruktori
Predavanja 06  Konstruktori i destruktoriPredavanja 06  Konstruktori i destruktori
Predavanja 06 Konstruktori i destruktoriGoran Igaly
 
Gerbang Logika Dasar
Gerbang Logika DasarGerbang Logika Dasar
Gerbang Logika DasarArif Hakim
 
Stack tumpukan
Stack tumpukan Stack tumpukan
Stack tumpukan biedoen
 
5 6 single-linked_list
5 6 single-linked_list5 6 single-linked_list
5 6 single-linked_listWandi Parlente
 
Tugas kelompok 2
Tugas kelompok 2Tugas kelompok 2
Tugas kelompok 2yusriren
 
Struktur data 01 (pointer dan linked list
Struktur data 01 (pointer dan linked listStruktur data 01 (pointer dan linked list
Struktur data 01 (pointer dan linked listSunarya Marwah
 

En vedette (20)

Class dan object
Class dan objectClass dan object
Class dan object
 
Sd pertemuan 3 & 4 (edited)
Sd   pertemuan 3 & 4 (edited)Sd   pertemuan 3 & 4 (edited)
Sd pertemuan 3 & 4 (edited)
 
Sd pertemuan 5 & 6
Sd   pertemuan 5 & 6Sd   pertemuan 5 & 6
Sd pertemuan 5 & 6
 
Pemrograman C++ - Operasi Berkas
Pemrograman C++ - Operasi BerkasPemrograman C++ - Operasi Berkas
Pemrograman C++ - Operasi Berkas
 
Struktur data pertemuan 1 & 2
Struktur data   pertemuan 1 & 2Struktur data   pertemuan 1 & 2
Struktur data pertemuan 1 & 2
 
Linked List
Linked ListLinked List
Linked List
 
Algoritma dan Struktur Data - Konstruktor dan Destruktor
Algoritma dan Struktur Data - Konstruktor dan DestruktorAlgoritma dan Struktur Data - Konstruktor dan Destruktor
Algoritma dan Struktur Data - Konstruktor dan Destruktor
 
02 linked list_20160217_jintaekseo
02 linked list_20160217_jintaekseo02 linked list_20160217_jintaekseo
02 linked list_20160217_jintaekseo
 
9.double linked list circular
9.double linked list circular9.double linked list circular
9.double linked list circular
 
Predavanja 06 Konstruktori i destruktori
Predavanja 06  Konstruktori i destruktoriPredavanja 06  Konstruktori i destruktori
Predavanja 06 Konstruktori i destruktori
 
Gerbang Logika Dasar
Gerbang Logika DasarGerbang Logika Dasar
Gerbang Logika Dasar
 
Classes and objects
Classes and objectsClasses and objects
Classes and objects
 
Stack
StackStack
Stack
 
Stack tumpukan
Stack tumpukan Stack tumpukan
Stack tumpukan
 
5 6 single-linked_list
5 6 single-linked_list5 6 single-linked_list
5 6 single-linked_list
 
Tugas kelompok 2
Tugas kelompok 2Tugas kelompok 2
Tugas kelompok 2
 
2894065
28940652894065
2894065
 
Struktur data 01 (pointer dan linked list
Struktur data 01 (pointer dan linked listStruktur data 01 (pointer dan linked list
Struktur data 01 (pointer dan linked list
 
Teori antrian
Teori antrianTeori antrian
Teori antrian
 
Queue
QueueQueue
Queue
 

Similaire à Stack atau tumpukan

Similaire à Stack atau tumpukan (20)

Materi kuliah 10 stack
Materi kuliah 10   stackMateri kuliah 10   stack
Materi kuliah 10 stack
 
Materi kuliah 10 stack
Materi kuliah 10   stackMateri kuliah 10   stack
Materi kuliah 10 stack
 
Materi kuliah 10 stack
Materi kuliah 10   stackMateri kuliah 10   stack
Materi kuliah 10 stack
 
Algoritma dan Struktur Data - Stack
Algoritma dan Struktur Data - StackAlgoritma dan Struktur Data - Stack
Algoritma dan Struktur Data - Stack
 
5 STACK
5 STACK5 STACK
5 STACK
 
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)
 
Bab viii stack
Bab viii   stackBab viii   stack
Bab viii stack
 
Pert.6 stack
Pert.6 stackPert.6 stack
Pert.6 stack
 
Tugas
TugasTugas
Tugas
 
Tugas
TugasTugas
Tugas
 
Pert 4 stack
Pert 4   stackPert 4   stack
Pert 4 stack
 
3 stack2
3 stack23 stack2
3 stack2
 
Fungsi rekursif, queue, stack
Fungsi rekursif, queue, stackFungsi rekursif, queue, stack
Fungsi rekursif, queue, stack
 
Tistrukdat4
Tistrukdat4Tistrukdat4
Tistrukdat4
 
Algorithms and Data Structures
 Algorithms and Data Structures Algorithms and Data Structures
Algorithms and Data Structures
 
Tipe data Stack magi mahasiswa Teknik Informatika.ppt
Tipe data Stack magi mahasiswa Teknik Informatika.pptTipe data Stack magi mahasiswa Teknik Informatika.ppt
Tipe data Stack magi mahasiswa Teknik Informatika.ppt
 
Stack
StackStack
Stack
 
Ifc modul 6 (stack)
Ifc   modul 6 (stack)Ifc   modul 6 (stack)
Ifc modul 6 (stack)
 
Project akhir asd
Project akhir asdProject akhir asd
Project akhir asd
 
Resume praktikum 7__queue
Resume praktikum 7__queueResume praktikum 7__queue
Resume praktikum 7__queue
 

Plus de Tenia Wahyuningrum (20)

Measuring User Experience
Measuring User ExperienceMeasuring User Experience
Measuring User Experience
 
Populasi dan sampel dalam penelitian HCI
Populasi dan sampel dalam penelitian HCIPopulasi dan sampel dalam penelitian HCI
Populasi dan sampel dalam penelitian HCI
 
10th heuristic evaluation
10th heuristic evaluation10th heuristic evaluation
10th heuristic evaluation
 
Good vs bad design
Good vs bad designGood vs bad design
Good vs bad design
 
Media sosial untuk pembelajaran
Media sosial untuk pembelajaranMedia sosial untuk pembelajaran
Media sosial untuk pembelajaran
 
4th human factors (2)
4th human factors (2)4th human factors (2)
4th human factors (2)
 
Human factors
Human factorsHuman factors
Human factors
 
Historical Context of HCI
Historical Context of HCIHistorical Context of HCI
Historical Context of HCI
 
Trends in Human Computer Interaction
Trends in Human Computer InteractionTrends in Human Computer Interaction
Trends in Human Computer Interaction
 
Good data, for better life
Good data, for better lifeGood data, for better life
Good data, for better life
 
Teori pnp
Teori pnpTeori pnp
Teori pnp
 
Plagiarisme
PlagiarismePlagiarisme
Plagiarisme
 
Struktur data &amp; computer trends 2015 2016
Struktur data &amp; computer trends 2015 2016Struktur data &amp; computer trends 2015 2016
Struktur data &amp; computer trends 2015 2016
 
Pengujian hipotesis
Pengujian hipotesisPengujian hipotesis
Pengujian hipotesis
 
Research method
Research methodResearch method
Research method
 
Basic research
Basic researchBasic research
Basic research
 
Pengenalan android
Pengenalan androidPengenalan android
Pengenalan android
 
Mobile programming pendahuluan
Mobile programming pendahuluanMobile programming pendahuluan
Mobile programming pendahuluan
 
Pertemuan 1
Pertemuan 1Pertemuan 1
Pertemuan 1
 
Public speaking
Public speakingPublic speaking
Public speaking
 

Stack atau tumpukan

  • 1. stack ==tumpukan== Tenia wahyuningrum st3 telkom purwokerto www.st3telkom.ac.id
  • 3. 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++
  • 4. definisi... “Secara sederhana, tumpukan bisa diartikan sebagai suatu kumpulan data yang seolah-olah ada data yang diletakan diatas data yang lain.”
  • 5. 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)
  • 6. LIFO ( Last In First Out ) “data yang disimpan terakhir akan diambil lebih dahulu, data yang disimpan pertama kali akan diambil paling akhir”
  • 8. d c b a push e d c b a e mula-mula setelah ditumpuk “Menyisipkan / menambahkan data pd ujung atas stack”
  • 9. d c b a pop e d c b a e “Menghapus / mengeluarkan data dr ujung atas stack” mula-mula setelah tumpukan diambil
  • 11. deklarasi #define max 10 struct Tumpukan{ int atas; int data[max]; }T;
  • 12. 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
  • 13. 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"; }
  • 14. Mula-mula stack kosong T.atas = -1 Return = 1 push
  • 15. pop void pop(){ if(kosong()==0){ cout<<"Data teratas sudah terambil"; T.atas--; } else cout<<"Data kosong"; }
  • 16. T.Atas dikurangi 1 T.atas – pop
  • 17. void tampil(){ if(kosong()==0) {for(int i=T.atas;i>=0;i--) {cout<<"nTumpukan ke "<<i<<"="<<T.data[i];} } else cout<<"Tumpukan kosong"; }
  • 18. tampil • Dicetak mulai dari tumpukan teratas, lalu sampai tumpukan terbawah
  • 19.
  • 20. 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").
  • 21. contoh  Kasur ini rusak.  Ada asa, ada apa  Malam ada nababan.  ada, apa, ara, asa, bab, ini, katak, kodok, makam, malam, radar, taat, tamat, taat
  • 22. Mengecek Kalimat Polindrom Kalimat : KAKAK K A A K K K K A K A K A K A K Operasi Push
  • 23. Operasi Pop K A K K A K A K A K A A K K K Hasil =‘’ Hasil = K Hasil = KA Hasil = KAK Hasil = KAKA Hasil = KAKAK Jika Kalimat = hasil  Palindrom
  • 24. Ungkapan Aritmatika Untuk menuliskan ungkapan aritmatika dapat dilakukan dengan tiga metode : infix, prefix, postfix
  • 25.
  • 26. Derajat operator  () ----- tanda kurung  ^ ----- pangkat  * dan / ----- kali dan bagi  + dan - ------ tambah dan kurang
  • 27. Infix A*B + C*D Prefix *AB + C * D *AB + *CD +*AB*CD Postfix AB* + C*D AB* + CD* AB*CD*+
  • 28. 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/+
  • 30. A * ( B + C ) / D ^ E – F
  • 31.
  • 32.
  • 33. LaTIHan di KeLas ! Contoh : 1.Infix (A+B)*C^D/E-F+G 2.Infix (A+B*C)*(D+E)/F*G
  • 35. • 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”.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45. TUGAS • Buatlah program untuk mengecek kata palindrom menggunakan stack ! • Buatlah program untuk mengubah / konversi notasi infix ke postfix !