SlideShare a Scribd company logo
2
Most read
5
Most read
24
Most read
DISUSUN OLEH : META PRATAMA N
STACK (TUMPKUAN)
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).
 Untuk menjelaskan pengertian diatas kita ambil contoh sebagai berikut. Misalnya kita
mempunyai dua buah kotak yang kita tumpuk,sehingga kotak kita letakkan diatas kotak
yang lain. Jika kemudian tumpukan duah buah kotak itu kita tambah dengan kotak
ketiga,keempat dan seterusnya,maka akan kita peroleh sebuah tumpukan kotak yang
terdiri dari N kotak.
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
StackS
Isi [1]
Isi [2]
Isi [3]
Isi [4]
Isi [5]
Deklarasi StrukturData
Stack= Record
Isi : array[1..n] of Tipe Data
Atas : integer
End
OPERASI – OPERASI / FUNGSI
STACK
Push : digunakan untuk menambah item pada stack pada
tumpukan paling atas
Pop : digunakan untuk mengambil item pada stack pada
tumpukan paling atas
Clear : digunakan untuk mengosongkan stack
IsEmpty : fungsi yang digunakan untuk mengecek apakah
stack sudah kosong
IsFull : fungsi yang digunakan untuk mengecek apakah stack
sudah penuh
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.
Stackdikatakan penuh Jika posisi atas sudah berada pada posisi N
(If S.atas = n then stackpenuh)
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 = 2S.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
Fi
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
Fi
Stack S
Atas = 0
PROGRAM STACK
Materi Struktur Data Stack
Materi Struktur Data Stack
HASIL

More Related Content

DOCX
MAKALAH STACK (TUMPUKAN )
PDF
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
PPTX
Pushdown Automata
PDF
5. Doubly Linked List (Struktur Data)
PDF
Pertemuan 10 Kunjungan Pada Pohon Biner
PDF
Teknik Searching
PDF
Pertemuan 9 Representasi Pengetahuan
PPTX
Materi 7. array
MAKALAH STACK (TUMPUKAN )
4.1 Operasi Dasar Singly Linked List 1 (primitive list)
Pushdown Automata
5. Doubly Linked List (Struktur Data)
Pertemuan 10 Kunjungan Pada Pohon Biner
Teknik Searching
Pertemuan 9 Representasi Pengetahuan
Materi 7. array

What's hot (20)

PPTX
Algoritma Decision Tree - ID3
PDF
7. Queue (Struktur Data)
PPTX
Materi 3 Finite State Automata
PDF
Algoritma dan Struktur Data - Struktur Data
PPTX
kriptografi hill cipher
PPT
Metode pencarian heuristik
PPTX
Data Mining Klasifikasi (Updated 30 Desember 2020)
PDF
Konsep Data Mining
PDF
Analisis Algoritma - Teorema Notasi Asimptotik
PDF
Analisis Algoritma - Penerapan Strategi Algoritma Brute Force
PPT
Materi Struktur Data Tree
PPTX
Data mining 1 pengantar
PDF
Materi Data Mining - C4.5
PDF
TEKNIK ENKRIPSI DAN DEKRIPSI HILL CIPHER
PPTX
Bab 4 aljabar boolean
PDF
Algoritma Apriori
PPT
Pertemuan 2-pemecahan-masalah-ai
PDF
circular linked list
PDF
Kecerdasan Buatan (AI)
PDF
Analisis Algoritma - Strategi Algoritma Brute Force
Algoritma Decision Tree - ID3
7. Queue (Struktur Data)
Materi 3 Finite State Automata
Algoritma dan Struktur Data - Struktur Data
kriptografi hill cipher
Metode pencarian heuristik
Data Mining Klasifikasi (Updated 30 Desember 2020)
Konsep Data Mining
Analisis Algoritma - Teorema Notasi Asimptotik
Analisis Algoritma - Penerapan Strategi Algoritma Brute Force
Materi Struktur Data Tree
Data mining 1 pengantar
Materi Data Mining - C4.5
TEKNIK ENKRIPSI DAN DEKRIPSI HILL CIPHER
Bab 4 aljabar boolean
Algoritma Apriori
Pertemuan 2-pemecahan-masalah-ai
circular linked list
Kecerdasan Buatan (AI)
Analisis Algoritma - Strategi Algoritma Brute Force
Ad

Similar to Materi Struktur Data Stack (20)

PPT
Tipe data Stack magi mahasiswa Teknik Informatika.ppt
PPTX
Pert 4 stack
PPT
Pertemuan_4,5_Stack(Tumpukan....) (2).ppt
DOCX
Makalah stack ramadhani
PDF
STACK .pdf
PDF
6. Stack (Struktur Data)
PPTX
05-STRUKDAT-STACK - Dalam struktur data, stack diartikan sebagai sekumpulan d...
PDF
Algoritma dan Struktur Data - tumpukan
PDF
Algoritma dan Struktur Data - Stack
PPTX
Stack atau tumpukan
PPT
1_4_STACK_TUMPUKeeAeweweweweweweN_PPT.ppt
PPTX
Materi kuliah 10 stack
PPTX
Materi kuliah 10 stack
 
PPTX
Materi kuliah 10 stack
PPTX
Slide minggu 2 pertemuan 2 (struktur data1)
PPT
ppt_stack_kelompok_5_ppt.ppt
PPT
ppt_stack_kelompok_5_ppt.ppt
PPT
data stack tugas sekolah sma dan kawan kaan.ppt
PPT
data stack liana dan kawan kawan sekolah.ppt
PDF
Bab viii stack
Tipe data Stack magi mahasiswa Teknik Informatika.ppt
Pert 4 stack
Pertemuan_4,5_Stack(Tumpukan....) (2).ppt
Makalah stack ramadhani
STACK .pdf
6. Stack (Struktur Data)
05-STRUKDAT-STACK - Dalam struktur data, stack diartikan sebagai sekumpulan d...
Algoritma dan Struktur Data - tumpukan
Algoritma dan Struktur Data - Stack
Stack atau tumpukan
1_4_STACK_TUMPUKeeAeweweweweweweN_PPT.ppt
Materi kuliah 10 stack
Materi kuliah 10 stack
 
Materi kuliah 10 stack
Slide minggu 2 pertemuan 2 (struktur data1)
ppt_stack_kelompok_5_ppt.ppt
ppt_stack_kelompok_5_ppt.ppt
data stack tugas sekolah sma dan kawan kaan.ppt
data stack liana dan kawan kawan sekolah.ppt
Bab viii stack
Ad

Materi Struktur Data Stack

  • 1. DISUSUN OLEH : META PRATAMA N STACK (TUMPKUAN)
  • 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).  Untuk menjelaskan pengertian diatas kita ambil contoh sebagai berikut. Misalnya kita mempunyai dua buah kotak yang kita tumpuk,sehingga kotak kita letakkan diatas kotak yang lain. Jika kemudian tumpukan duah buah kotak itu kita tambah dengan kotak ketiga,keempat dan seterusnya,maka akan kita peroleh sebuah tumpukan kotak yang terdiri dari N kotak.
  • 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 StackS Isi [1] Isi [2] Isi [3] Isi [4] Isi [5] Deklarasi StrukturData Stack= Record Isi : array[1..n] of Tipe Data Atas : integer End
  • 5. OPERASI – OPERASI / FUNGSI STACK Push : digunakan untuk menambah item pada stack pada tumpukan paling atas Pop : digunakan untuk mengambil item pada stack pada tumpukan paling atas Clear : digunakan untuk mengosongkan stack IsEmpty : fungsi yang digunakan untuk mengecek apakah stack sudah kosong IsFull : fungsi yang digunakan untuk mengecek apakah stack sudah penuh
  • 6. 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. Stackdikatakan penuh Jika posisi atas sudah berada pada posisi N (If S.atas = n then stackpenuh) Push( x,s) adalah Memasukkan x kedalam Stack S
  • 7. 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
  • 8. 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
  • 9. 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
  • 10. 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 = 2S.Atas = s.atas + 1
  • 11. 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
  • 12. 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
  • 13. 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
  • 14. 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
  • 15. 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
  • 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 = 5
  • 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 Fi Stack S Atas = 4
  • 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 Fi Stack S Atas = 3
  • 20. 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 = 0
  • 24. HASIL