materi struktur data stack
TRANSCRIPT
![Page 1: Materi Struktur Data Stack](https://reader033.vdocuments.net/reader033/viewer/2022061611/55d30f10bb61ebdc118b466b/html5/thumbnails/1.jpg)
DISUSUN OLEH : META PRATAMA N
STACK (TUMPKUAN)
![Page 2: Materi Struktur Data Stack](https://reader033.vdocuments.net/reader033/viewer/2022061611/55d30f10bb61ebdc118b466b/html5/thumbnails/2.jpg)
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.
![Page 3: Materi Struktur Data Stack](https://reader033.vdocuments.net/reader033/viewer/2022061611/55d30f10bb61ebdc118b466b/html5/thumbnails/3.jpg)
A
BC
DDari 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
![Page 4: Materi Struktur Data Stack](https://reader033.vdocuments.net/reader033/viewer/2022061611/55d30f10bb61ebdc118b466b/html5/thumbnails/4.jpg)
Maximum 5
4
3
2
1
0
Stack S
Isi [1]
Isi [2]
Isi [3]
Isi [4]
Isi [5]
Deklarasi Struktur Data
Stack = Record
Isi : array[1..n] of Tipe Data
Atas : integer
End
![Page 5: Materi Struktur Data Stack](https://reader033.vdocuments.net/reader033/viewer/2022061611/55d30f10bb61ebdc118b466b/html5/thumbnails/5.jpg)
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
![Page 6: Materi Struktur Data Stack](https://reader033.vdocuments.net/reader033/viewer/2022061611/55d30f10bb61ebdc118b466b/html5/thumbnails/6.jpg)
Operasi Operasi dasar yang dilakukan Dalam Stack ada dua yaitu :
1. Menambah Komponen (Push)
2. Menghapus Komponen (Pop)
Operasi PushOperasi 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
![Page 7: Materi Struktur Data Stack](https://reader033.vdocuments.net/reader033/viewer/2022061611/55d30f10bb61ebdc118b466b/html5/thumbnails/7.jpg)
Push(x,s)
Procedure Push(x :Tipe data, S : Stack)
If s.atas< n then s.atas= s.atas+1 s.isi[s.atas] = xElse stack sudah penuhfi
Stack S
Atas = 0
![Page 8: Materi Struktur Data Stack](https://reader033.vdocuments.net/reader033/viewer/2022061611/55d30f10bb61ebdc118b466b/html5/thumbnails/8.jpg)
Push(x,s)
Procedure Push(x :Tipe data, S : Stack)
If s.atas< n then
s.isi[s.atas] = xElse stack sudah penuhfi
Stack S
Atas = 1
S.Atas = s.atas + 1
![Page 9: Materi Struktur Data Stack](https://reader033.vdocuments.net/reader033/viewer/2022061611/55d30f10bb61ebdc118b466b/html5/thumbnails/9.jpg)
Push(x,s)
Procedure Push(x :Tipe data, S : Stack)
If s.atas< n then S.atas= s.atas+1
Else stack sudah penuhfi
Stack S
Atas = 1S.isi[S.atas] = k
![Page 10: Materi Struktur Data Stack](https://reader033.vdocuments.net/reader033/viewer/2022061611/55d30f10bb61ebdc118b466b/html5/thumbnails/10.jpg)
Push(x,s)
Procedure Push(x :Tipe data, S : Stack)
If s.atas< n then
s.isi[s.atas] = xElse stack sudah penuhfi
Stack S
Atas = 2S.Atas = s.atas + 1
![Page 11: Materi Struktur Data Stack](https://reader033.vdocuments.net/reader033/viewer/2022061611/55d30f10bb61ebdc118b466b/html5/thumbnails/11.jpg)
Push(x,s)
Procedure Push(x :Tipe data, S : Stack)
If s.atas< n then S.atas= s.atas+1
Else stack sudah penuhfi
Stack S
Atas = 2
S.isi[S.atas] = k
![Page 12: Materi Struktur Data Stack](https://reader033.vdocuments.net/reader033/viewer/2022061611/55d30f10bb61ebdc118b466b/html5/thumbnails/12.jpg)
Push(x,s)
Procedure Push(x :Tipe data, S : Stack)
If s.atas< n then
s.isi[s.atas] = xElse stack sudah penuhfi
Stack S
Atas = 3
S.Atas = s.atas + 1
![Page 13: Materi Struktur Data Stack](https://reader033.vdocuments.net/reader033/viewer/2022061611/55d30f10bb61ebdc118b466b/html5/thumbnails/13.jpg)
Push(x,s)
Procedure Push(x :Tipe data, S : Stack)
If s.atas< n then S.atas= s.atas+1
Else stack sudah penuhfi
Stack S
Atas = 3
S.isi[S.atas] = k
![Page 14: Materi Struktur Data Stack](https://reader033.vdocuments.net/reader033/viewer/2022061611/55d30f10bb61ebdc118b466b/html5/thumbnails/14.jpg)
Push(x,s)
Procedure Push(x :Tipe data, S : Stack)
If s.atas< n then S.atas= s.atas+1
S.isi[S.atas] = kElse fi
Stack S
Atas = 5
stack sudah penuh
![Page 15: Materi Struktur Data Stack](https://reader033.vdocuments.net/reader033/viewer/2022061611/55d30f10bb61ebdc118b466b/html5/thumbnails/15.jpg)
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
![Page 16: Materi Struktur Data Stack](https://reader033.vdocuments.net/reader033/viewer/2022061611/55d30f10bb61ebdc118b466b/html5/thumbnails/16.jpg)
Pop(s)
Procedure Pop( S: Stack)
If S.atas>0 thenWrite S.isi[S.atas]S.Atas= S.Atas – 1
ElseStack KosongFi
Stack S
Atas = 5
![Page 17: Materi Struktur Data Stack](https://reader033.vdocuments.net/reader033/viewer/2022061611/55d30f10bb61ebdc118b466b/html5/thumbnails/17.jpg)
Pop(s)
Procedure Pop( S: Stack)
If S.atas>0 thenWrite S.isi[S.atas]S.Atas= S.Atas – 1
ElseStack KosongFi
Stack S
Atas = 4
![Page 18: Materi Struktur Data Stack](https://reader033.vdocuments.net/reader033/viewer/2022061611/55d30f10bb61ebdc118b466b/html5/thumbnails/18.jpg)
Pop(s)
Procedure Pop( S: Stack)
If S.atas>0 thenWrite S.isi[S.atas]S.Atas= S.Atas – 1
ElseStack KosongFi
Stack S
Atas = 4
![Page 19: Materi Struktur Data Stack](https://reader033.vdocuments.net/reader033/viewer/2022061611/55d30f10bb61ebdc118b466b/html5/thumbnails/19.jpg)
Pop(s)
Procedure Pop( S: Stack)
If S.atas>0 thenWrite S.isi[S.atas]S.Atas= S.Atas – 1
ElseStack KosongFi
Stack S
Atas = 3
![Page 20: Materi Struktur Data Stack](https://reader033.vdocuments.net/reader033/viewer/2022061611/55d30f10bb61ebdc118b466b/html5/thumbnails/20.jpg)
Pop(s)
Procedure Pop( S: Stack)
If S.atas>0 thenWrite S.isi[S.atas]S.Atas= S.Atas – 1
Else Stack KosongFi
Stack S
Atas = 0
![Page 21: Materi Struktur Data Stack](https://reader033.vdocuments.net/reader033/viewer/2022061611/55d30f10bb61ebdc118b466b/html5/thumbnails/21.jpg)
PROGRAM STACK
![Page 22: Materi Struktur Data Stack](https://reader033.vdocuments.net/reader033/viewer/2022061611/55d30f10bb61ebdc118b466b/html5/thumbnails/22.jpg)
![Page 23: Materi Struktur Data Stack](https://reader033.vdocuments.net/reader033/viewer/2022061611/55d30f10bb61ebdc118b466b/html5/thumbnails/23.jpg)
![Page 24: Materi Struktur Data Stack](https://reader033.vdocuments.net/reader033/viewer/2022061611/55d30f10bb61ebdc118b466b/html5/thumbnails/24.jpg)
HASIL