SlideShare a Scribd company logo
STACK (Tumpukan)
Oleh :
Santi Ika Murpratiwi, S.Kom., M.T.
Defenisi :
 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).
A
B
C
D
Dari gambar ini kita bisa
mengatakan bahwa
kotak B ada diatas kotak
A dan ada dibawah
kotak C. Gambar
dibawah ini hanya
menunjukkan bahwa
dalam tumpukan kita
hanya bisa menambah
atau mengambil sebuah
kotak lewat satu ujung,
yaitu ujung bagian atas
Maximum 5
4
3
2
1
0
Stack S
Isi [1]
Isi [2]
Isi [3]
Isi [4]
Isi [5]
Deklarasi Struktur Data
Stack = Record/Data
Isi : array[1..n] of Tipe Data
Atas : integer
End
Operasi
Operasi dasar yang dilakukan Dalam Stack ada dua yaitu :
1. Menambah Komponen (Push)
2. Menghapus Komponen (Pop)
Operasi Push
Operasi Push adalah Menambah elemen kedalam stack S, dimana penambahan
dapat dilakukan jika stack itu belum penuh.
Stack dikatakan penuh Jika posisi atas sudah berada pada posisi N
(If S.atas = n then stack penuh)
Push( x,s) adalah Memasukkan x kedalam Stack S
Push(x,s)
Procedure Push(x :Tipe
data, S : Stack)
If s.atas< n then
s.atas= s.atas+1
s.isi[s.atas] = x
Else
stack sudah penuh
fi
Stack S
Atas = 0
Push(x,s)
Procedure Push(x :Tipe
data, S : Stack)
If s.atas< n then
s.isi[s.atas] = x
Else
stack sudah penuh
fi
Stack S
Atas = 1
S.Atas = s.atas + 1
Push(x,s)
Procedure Push(x :Tipe
data, S : Stack)
If s.atas< n then
S.atas= s.atas+1
Else
stack sudah penuh
fi
Stack S
Atas = 1
S.isi[S.atas] = k
Push(x,s)
Procedure Push(x :Tipe
data, S : Stack)
If s.atas< n then
s.isi[s.atas] = x
Else
stack sudah penuh
fi
Stack S
Atas = 2
S.Atas = s.atas + 1
Push(x,s)
Procedure Push(x :Tipe
data, S : Stack)
If s.atas< n then
S.atas= s.atas+1
Else
stack sudah penuh
fi
Stack S
Atas = 2
S.isi[S.atas] = k
Push(x,s)
Procedure Push(x :Tipe
data, S : Stack)
If s.atas< n then
s.isi[s.atas] = x
Else
stack sudah penuh
fi
Stack S
Atas = 3
S.Atas = s.atas + 1
Push(x,s)
Procedure Push(x :Tipe
data, S : Stack)
If s.atas< n then
S.atas= s.atas+1
Else
stack sudah penuh
fi
Stack S
Atas = 3
S.isi[S.atas] = k
Push(x,s)
Procedure Push(x :Tipe
data, S : Stack)
If s.atas< n then
S.atas= s.atas+1
S.isi[S.atas] = k
Else
fi
Stack S
Atas = 5
stack sudah penuh
POP(S)
Pop(s) adalah menghapus elemen dari stack, dimana elemen yang dihapus
adalah elemen yang terakhir Masuk (LIFO Last In First Out) atau elemen
penghapusan, dimana proses penghapusan dapat dilakukan jika stack tidak
dalam keadaan Kosong
If S.Atas > 0 then stack tidak kosong
Dimana Setiap melakukan penghapusan, maka posisi yang paling atas akan
berkurang 1 (S.Atas = S.Atas -1)
Procedure Pop( S: Stack)
If S.atas>0 then
Write S.isi[S.atas]
S.Atas= S.Atas – 1
Else
Stack Kosong
Fi
Pop(s)
Procedure Pop( S: Stack)
If S.atas>0 then
Write S.isi[S.atas]
S.Atas= S.Atas – 1
Else
Stack Kosong
Fi
Stack S
Atas = 5
Pop(s)
Procedure Pop( S: Stack)
If S.atas>0 then
Write S.isi[S.atas]
S.Atas= S.Atas – 1
Else
Stack Kosong
Fi
Stack S
Atas = 4
Pop(s)
Procedure Pop( S: Stack)
If S.atas>0 then
Write S.isi[S.atas]
S.Atas= S.Atas – 1
Else
Stack Kosong
Fi
Stack S
Atas = 4
Pop(s)
Procedure Pop( S: Stack)
If S.atas>0 then
Write S.isi[S.atas]
S.Atas= S.Atas – 1
Else
Stack Kosong
Stack S
Atas = 3
Pop(s)
Procedure Pop( S: Stack)
If S.atas>0 then
Write S.isi[S.atas]
S.Atas= S.Atas – 1
Else
Stack Kosong
Stack S
Atas = 0
1. Untuk mencek kalimat Polindrom
Contoh Penggunaan Stack
Mencek Kalimat Polindrom
Kalimat : KAKAK
K
A
K
K
A
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
K K
A
K
Operasi POP
Hasil =‘’
Hasil = K
Hasil = KA
Hasil = KAK
Hasil = KAKA
Hasil = KAKAK
Kalimat = hasil
 Polindrom

More Related Content

PDF
Ifc modul 6 (stack)
PPT
Materi Struktur Data Stack
PPTX
Stack atau tumpukan
PDF
6. Stack (Struktur Data)
PDF
Algoritma dan Struktur Data - Stack
DOCX
MAKALAH STACK (TUMPUKAN )
PDF
Stack tumpukan
PDF
Algoritma dan Struktur Data - tumpukan
Ifc modul 6 (stack)
Materi Struktur Data Stack
Stack atau tumpukan
6. Stack (Struktur Data)
Algoritma dan Struktur Data - Stack
MAKALAH STACK (TUMPUKAN )
Stack tumpukan
Algoritma dan Struktur Data - tumpukan

What's hot (20)

PDF
Bab 8-stack-dan-queue
PDF
Algoritma dan Struktur Data - antrian
PDF
PDF
Pertemuan 5 Stack atau Tumpukan
PPTX
Slide minggu 2 pertemuan 2 (struktur data1)
DOC
Implementasi queue
PPT
Fungsi rekursif, queue, stack
PPTX
PPTX
Slide minggu 3 pertemuan 1 (struktur data1) [repariert]
PPTX
Tugas
PPTX
struktur data
PPTX
Materi : Struktur Data (2 Array)
PPT
Stack Linier
PDF
Bab viii stack
PPTX
Materi kuliah 10 stack
PDF
Queue antrian
PPTX
Materi kuliah 10 stack
PDF
Algoritma dan Struktur Data - Antrian
PPTX
Pertemuan 6 Struktur Data, Algoritma dan Pemrograman
PDF
Aray dan recrd
Bab 8-stack-dan-queue
Algoritma dan Struktur Data - antrian
Pertemuan 5 Stack atau Tumpukan
Slide minggu 2 pertemuan 2 (struktur data1)
Implementasi queue
Fungsi rekursif, queue, stack
Slide minggu 3 pertemuan 1 (struktur data1) [repariert]
Tugas
struktur data
Materi : Struktur Data (2 Array)
Stack Linier
Bab viii stack
Materi kuliah 10 stack
Queue antrian
Materi kuliah 10 stack
Algoritma dan Struktur Data - Antrian
Pertemuan 6 Struktur Data, Algoritma dan Pemrograman
Aray dan recrd
Ad

Similar to Pert 4 stack (20)

PPT
Tipe data Stack magi mahasiswa Teknik Informatika.ppt
PPT
Pertemuan_4,5_Stack(Tumpukan....) (2).ppt
PDF
STACK .pdf
DOCX
Makalah stack ramadhani
PDF
Pertemuan 5 revisijan2013-mhs
PPTX
STACK.pptx
DOCX
Tugas mandiri struktur data
PPT
Tistrukdat4
PPTX
PPTX
PPTX
Materi kuliah 10 stack
 
PPT
data stack tugas sekolah sma dan kawan kaan.ppt
PPT
data stack liana dan kawan kawan sekolah.ppt
PDF
Stack_Queue.pdf
PPTX
PPTX
Stack & queue by stanly maarende
PPTX
PPT
ppt_stack_kelompok_5_ppt.ppt
PPT
ppt_stack_kelompok_5_ppt.ppt
PPTX
Ketoprak_PPT ADT Stack dan Queue.pptx
Tipe data Stack magi mahasiswa Teknik Informatika.ppt
Pertemuan_4,5_Stack(Tumpukan....) (2).ppt
STACK .pdf
Makalah stack ramadhani
Pertemuan 5 revisijan2013-mhs
STACK.pptx
Tugas mandiri struktur data
Tistrukdat4
Materi kuliah 10 stack
 
data stack tugas sekolah sma dan kawan kaan.ppt
data stack liana dan kawan kawan sekolah.ppt
Stack_Queue.pdf
Stack & queue by stanly maarende
ppt_stack_kelompok_5_ppt.ppt
ppt_stack_kelompok_5_ppt.ppt
Ketoprak_PPT ADT Stack dan Queue.pptx
Ad

Recently uploaded (14)

PPTX
02. PENGUKURAN MATERI ILMU PENGETAHUAN ALAM KELAS 8.pptx
PPTX
modul ajar verb of be (tense) untuk tingkat sltp
PPT
PPT-Seminar-Optimalisasi-Energi-29-Februari-2016-Presentasi-Cukup-Mulyana.ppt
PPTX
sumber daya alam untuk masa depan berkelanjutan
PPTX
SISTEM PENCERNAAN PADA MANUSIA PELAJARAN IPA KELAS 8
PPTX
PPT SMA SOSIOLOGI KELAS 10 BAB 1 [modulguruku.com].pptx
PDF
Penjadwalan dan proses pada sistem operasi
PPTX
Kelompok 1_Konsep-Konsep Dasar Termodinamika-digabungkan (1).pptx
PDF
Dasar pengamatan burung di alam bebas...
PPT
PPT Sumber Daya Alam dan Energi Alternatif.ppt
PPTX
1745621890_Temu_11B_Aljabar_Trigonometri (1).pptx
PPTX
01. HAKIKAT ILMU SAINS ILMU PENGETAHUAN ALAM .pptx
PDF
PPT Kelompok 3 penciptaan alam semes.pdf
PPTX
Besaran Pokok Besaran yang menjadi dasar bagi besaran lainnya dan tidak dapat...
02. PENGUKURAN MATERI ILMU PENGETAHUAN ALAM KELAS 8.pptx
modul ajar verb of be (tense) untuk tingkat sltp
PPT-Seminar-Optimalisasi-Energi-29-Februari-2016-Presentasi-Cukup-Mulyana.ppt
sumber daya alam untuk masa depan berkelanjutan
SISTEM PENCERNAAN PADA MANUSIA PELAJARAN IPA KELAS 8
PPT SMA SOSIOLOGI KELAS 10 BAB 1 [modulguruku.com].pptx
Penjadwalan dan proses pada sistem operasi
Kelompok 1_Konsep-Konsep Dasar Termodinamika-digabungkan (1).pptx
Dasar pengamatan burung di alam bebas...
PPT Sumber Daya Alam dan Energi Alternatif.ppt
1745621890_Temu_11B_Aljabar_Trigonometri (1).pptx
01. HAKIKAT ILMU SAINS ILMU PENGETAHUAN ALAM .pptx
PPT Kelompok 3 penciptaan alam semes.pdf
Besaran Pokok Besaran yang menjadi dasar bagi besaran lainnya dan tidak dapat...

Pert 4 stack

  • 1. STACK (Tumpukan) Oleh : Santi Ika Murpratiwi, S.Kom., M.T.
  • 2. Defenisi :  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).
  • 3. A B C D Dari gambar ini kita bisa mengatakan bahwa kotak B ada diatas kotak A dan ada dibawah kotak C. Gambar dibawah ini hanya menunjukkan bahwa dalam tumpukan kita hanya bisa menambah atau mengambil sebuah kotak lewat satu ujung, yaitu ujung bagian atas
  • 4. Maximum 5 4 3 2 1 0 Stack S Isi [1] Isi [2] Isi [3] Isi [4] Isi [5] Deklarasi Struktur Data Stack = Record/Data Isi : array[1..n] of Tipe Data Atas : integer End
  • 5. Operasi Operasi dasar yang dilakukan Dalam Stack ada dua yaitu : 1. Menambah Komponen (Push) 2. Menghapus Komponen (Pop) Operasi Push Operasi Push adalah Menambah elemen kedalam stack S, dimana penambahan dapat dilakukan jika stack itu belum penuh. Stack dikatakan penuh Jika posisi atas sudah berada pada posisi N (If S.atas = n then stack penuh) Push( x,s) adalah Memasukkan x kedalam Stack S
  • 6. Push(x,s) Procedure Push(x :Tipe data, S : Stack) If s.atas< n then s.atas= s.atas+1 s.isi[s.atas] = x Else stack sudah penuh fi Stack S Atas = 0
  • 7. Push(x,s) Procedure Push(x :Tipe data, S : Stack) If s.atas< n then s.isi[s.atas] = x Else stack sudah penuh fi Stack S Atas = 1 S.Atas = s.atas + 1
  • 8. Push(x,s) Procedure Push(x :Tipe data, S : Stack) If s.atas< n then S.atas= s.atas+1 Else stack sudah penuh fi Stack S Atas = 1 S.isi[S.atas] = k
  • 9. Push(x,s) Procedure Push(x :Tipe data, S : Stack) If s.atas< n then s.isi[s.atas] = x Else stack sudah penuh fi Stack S Atas = 2 S.Atas = s.atas + 1
  • 10. Push(x,s) Procedure Push(x :Tipe data, S : Stack) If s.atas< n then S.atas= s.atas+1 Else stack sudah penuh fi Stack S Atas = 2 S.isi[S.atas] = k
  • 11. Push(x,s) Procedure Push(x :Tipe data, S : Stack) If s.atas< n then s.isi[s.atas] = x Else stack sudah penuh fi Stack S Atas = 3 S.Atas = s.atas + 1
  • 12. Push(x,s) Procedure Push(x :Tipe data, S : Stack) If s.atas< n then S.atas= s.atas+1 Else stack sudah penuh fi Stack S Atas = 3 S.isi[S.atas] = k
  • 13. Push(x,s) Procedure Push(x :Tipe data, S : Stack) If s.atas< n then S.atas= s.atas+1 S.isi[S.atas] = k Else fi Stack S Atas = 5 stack sudah penuh
  • 14. POP(S) Pop(s) adalah menghapus elemen dari stack, dimana elemen yang dihapus adalah elemen yang terakhir Masuk (LIFO Last In First Out) atau elemen penghapusan, dimana proses penghapusan dapat dilakukan jika stack tidak dalam keadaan Kosong If S.Atas > 0 then stack tidak kosong Dimana Setiap melakukan penghapusan, maka posisi yang paling atas akan berkurang 1 (S.Atas = S.Atas -1) Procedure Pop( S: Stack) If S.atas>0 then Write S.isi[S.atas] S.Atas= S.Atas – 1 Else Stack Kosong Fi
  • 15. Pop(s) Procedure Pop( S: Stack) If S.atas>0 then Write S.isi[S.atas] S.Atas= S.Atas – 1 Else Stack Kosong Fi Stack S Atas = 5
  • 16. Pop(s) Procedure Pop( S: Stack) If S.atas>0 then Write S.isi[S.atas] S.Atas= S.Atas – 1 Else Stack Kosong Fi Stack S Atas = 4
  • 17. Pop(s) Procedure Pop( S: Stack) If S.atas>0 then Write S.isi[S.atas] S.Atas= S.Atas – 1 Else Stack Kosong Fi Stack S Atas = 4
  • 18. Pop(s) Procedure Pop( S: Stack) If S.atas>0 then Write S.isi[S.atas] S.Atas= S.Atas – 1 Else Stack Kosong Stack S Atas = 3
  • 19. Pop(s) Procedure Pop( S: Stack) If S.atas>0 then Write S.isi[S.atas] S.Atas= S.Atas – 1 Else Stack Kosong Stack S Atas = 0
  • 20. 1. Untuk mencek kalimat Polindrom Contoh Penggunaan Stack
  • 21. Mencek Kalimat Polindrom Kalimat : KAKAK K A K K A K K A K A K A K A K Operasi Push
  • 22. Operasi Pop K A K K A K A K A K A K K A K Operasi POP Hasil =‘’ Hasil = K Hasil = KA Hasil = KAK Hasil = KAKA Hasil = KAKAK Kalimat = hasil  Polindrom