stack_1
DESCRIPTION
file pdf stackTRANSCRIPT
![Page 1: STACK_1](https://reader031.vdokumen.com/reader031/viewer/2022020417/5695cf3c1a28ab9b028d2f24/html5/thumbnails/1.jpg)
STACKDesak Made Dwi Utami Putra, M.Cs
![Page 2: STACK_1](https://reader031.vdokumen.com/reader031/viewer/2022020417/5695cf3c1a28ab9b028d2f24/html5/thumbnails/2.jpg)
Review Record
![Page 3: STACK_1](https://reader031.vdokumen.com/reader031/viewer/2022020417/5695cf3c1a28ab9b028d2f24/html5/thumbnails/3.jpg)
What Is Record??
Kumpulan data yang memiliki tipe lebih dari satu.
![Page 4: STACK_1](https://reader031.vdokumen.com/reader031/viewer/2022020417/5695cf3c1a28ab9b028d2f24/html5/thumbnails/4.jpg)
Bagaimana mendeklarasikan Record??
Type nama_record = record identifier_1 : tipe_data_1; : : identifier_n : tipe_data_n;
end;var variabel : nama_record;
![Page 5: STACK_1](https://reader031.vdokumen.com/reader031/viewer/2022020417/5695cf3c1a28ab9b028d2f24/html5/thumbnails/5.jpg)
Bagaimana mengakses elemenRecord??
x.Namax.Usia x.Kota x.Kodepos
with x doBegin
NamaUsiaKota Kodepos
End
Langsung With..Do
![Page 6: STACK_1](https://reader031.vdokumen.com/reader031/viewer/2022020417/5695cf3c1a28ab9b028d2f24/html5/thumbnails/6.jpg)
Linier List
![Page 7: STACK_1](https://reader031.vdokumen.com/reader031/viewer/2022020417/5695cf3c1a28ab9b028d2f24/html5/thumbnails/7.jpg)
Linier List
Suatu struktur data umum yang berisi suatu kumpulan terurut dari elemen; jumlah elemen di dalam list dapat berubah-ubah.
Linier list A dinotasikan sebagai :A = [ A1, A2, ..., AT]Jika T = 0, maka A disebut “Empty List” atau “Null List”
![Page 8: STACK_1](https://reader031.vdokumen.com/reader031/viewer/2022020417/5695cf3c1a28ab9b028d2f24/html5/thumbnails/8.jpg)
Suatu elemen dapat dihilangkan/dihapus dari sembarang posisi dalam linier list, dan dapat pula dimasukkan elemen baru sebagai anggota list.
![Page 9: STACK_1](https://reader031.vdokumen.com/reader031/viewer/2022020417/5695cf3c1a28ab9b028d2f24/html5/thumbnails/9.jpg)
Stack
![Page 10: STACK_1](https://reader031.vdokumen.com/reader031/viewer/2022020417/5695cf3c1a28ab9b028d2f24/html5/thumbnails/10.jpg)
What is Stack??
Tumpukan data yang seolah-olah ada data di atas data lain.
Suatu metode untuk Input dan hapus di dalam memori komputer.
Konsep utama dalam STACK adalah LIFO (Last In First Out).
![Page 11: STACK_1](https://reader031.vdokumen.com/reader031/viewer/2022020417/5695cf3c1a28ab9b028d2f24/html5/thumbnails/11.jpg)
Penghapusan serta pemasukan elemen pada stack hanya dapat dilakukan di satu posisi, yakni posisi akhir.
Posisi ini disebut puncak atau top dari stack.
![Page 12: STACK_1](https://reader031.vdokumen.com/reader031/viewer/2022020417/5695cf3c1a28ab9b028d2f24/html5/thumbnails/12.jpg)
Tumpukan Buku
![Page 13: STACK_1](https://reader031.vdokumen.com/reader031/viewer/2022020417/5695cf3c1a28ab9b028d2f24/html5/thumbnails/13.jpg)
Tumpukan Koin
![Page 14: STACK_1](https://reader031.vdokumen.com/reader031/viewer/2022020417/5695cf3c1a28ab9b028d2f24/html5/thumbnails/14.jpg)
Tumpukan Baju
![Page 15: STACK_1](https://reader031.vdokumen.com/reader031/viewer/2022020417/5695cf3c1a28ab9b028d2f24/html5/thumbnails/15.jpg)
Stack adalah suatu bentuk khusus dari linier list, dengan operasi penyisipan dan penghapusan dibatasi hanya pada satu sisinya, yaitu puncak stack (TOP).
![Page 16: STACK_1](https://reader031.vdokumen.com/reader031/viewer/2022020417/5695cf3c1a28ab9b028d2f24/html5/thumbnails/16.jpg)
Elemen teratas dari stack dinotasikan sebagai TOP(S).
Untuk stack S = [S1, S2, S3, ..., ST] maka TOP(S) = ST
Jumlah elemen di dalam stack kita notasikan dengan NOEL(S). NOEL(S) menghasilkan nilai integer.
Untuk stack S = [S1, S2, S3, ..., ST] maka NOEL (S) = T.
![Page 17: STACK_1](https://reader031.vdokumen.com/reader031/viewer/2022020417/5695cf3c1a28ab9b028d2f24/html5/thumbnails/17.jpg)
Ilustrasi Stack
Terdapat sebuah bejana/gelas yang dimasukan sebuah kotak-kotak. Pertama adalah kotak A dimasukanSelanjutnya kotak B diletakkan di atas kotak A.Demikian juga dengan kotak C diletakkan di atas kotak B Hingga kotak D dimasukkan, yang berada di atas kotak C.
![Page 18: STACK_1](https://reader031.vdokumen.com/reader031/viewer/2022020417/5695cf3c1a28ab9b028d2f24/html5/thumbnails/18.jpg)
TOP (tumpukan) = DNOEL (tumpukan) = 4
![Page 19: STACK_1](https://reader031.vdokumen.com/reader031/viewer/2022020417/5695cf3c1a28ab9b028d2f24/html5/thumbnails/19.jpg)
A
B
C
D TopA
B
C
D Top
A B C D
Top
ABCD
Top
![Page 20: STACK_1](https://reader031.vdokumen.com/reader031/viewer/2022020417/5695cf3c1a28ab9b028d2f24/html5/thumbnails/20.jpg)
Operasi Pada Stack
Operator penyisipan (insertion) : PUSH
Operator penghapusan (deletion) : POP
Operasi stack : LIFO (Last In First Out), yaitu : yang terakhir masuk yang pertama keluar.
![Page 21: STACK_1](https://reader031.vdokumen.com/reader031/viewer/2022020417/5695cf3c1a28ab9b028d2f24/html5/thumbnails/21.jpg)
Ilustrasi
Sebagai Awal Tumpukan masih kosongNoel (Tumpukan) = 0Top (Tumpukan) = tidak terdefinisi
![Page 22: STACK_1](https://reader031.vdokumen.com/reader031/viewer/2022020417/5695cf3c1a28ab9b028d2f24/html5/thumbnails/22.jpg)
Push
PUSH elemen ADiperoleh Tumpukan = [A]
A
![Page 23: STACK_1](https://reader031.vdokumen.com/reader031/viewer/2022020417/5695cf3c1a28ab9b028d2f24/html5/thumbnails/23.jpg)
PUSH elemen BDiperoleh Tumpukan = [A,B]
A
B
![Page 24: STACK_1](https://reader031.vdokumen.com/reader031/viewer/2022020417/5695cf3c1a28ab9b028d2f24/html5/thumbnails/24.jpg)
PUSH elemen CDiperoleh Tumpukan = [A, B, C]
AB
C
![Page 25: STACK_1](https://reader031.vdokumen.com/reader031/viewer/2022020417/5695cf3c1a28ab9b028d2f24/html5/thumbnails/25.jpg)
PUSH elemen DDiperoleh Tumpukan = [A, B, C, D]
ABC
D
![Page 26: STACK_1](https://reader031.vdokumen.com/reader031/viewer/2022020417/5695cf3c1a28ab9b028d2f24/html5/thumbnails/26.jpg)
Pop
Pop Tumpukan = [A,B,C,D]
ABCD
![Page 27: STACK_1](https://reader031.vdokumen.com/reader031/viewer/2022020417/5695cf3c1a28ab9b028d2f24/html5/thumbnails/27.jpg)
Pop Tumpukan = [A,B,C]
ABC
![Page 28: STACK_1](https://reader031.vdokumen.com/reader031/viewer/2022020417/5695cf3c1a28ab9b028d2f24/html5/thumbnails/28.jpg)
Pop Tumpukan = [A,B]
AB
![Page 29: STACK_1](https://reader031.vdokumen.com/reader031/viewer/2022020417/5695cf3c1a28ab9b028d2f24/html5/thumbnails/29.jpg)
Pop Tumpukan = [A]
A
![Page 30: STACK_1](https://reader031.vdokumen.com/reader031/viewer/2022020417/5695cf3c1a28ab9b028d2f24/html5/thumbnails/30.jpg)
Algoritma Awal
Pastikan posisi tumpukan kosongElemen yang terambil belum ada
![Page 31: STACK_1](https://reader031.vdokumen.com/reader031/viewer/2022020417/5695cf3c1a28ab9b028d2f24/html5/thumbnails/31.jpg)
Deklarasi Awal
const MaxElemen = 255;
type Tumpukan = record
Isi : array[1..MaxElemen] of integer;
Atas : 0..MaxElemen;
end;
var T : Tumpukan;
Procedure awal
begin
t.atas :=0;
end;
![Page 32: STACK_1](https://reader031.vdokumen.com/reader031/viewer/2022020417/5695cf3c1a28ab9b028d2f24/html5/thumbnails/32.jpg)
Algoritma Push
Pastikan tumpukan belum penuhInput satu persatu
![Page 33: STACK_1](https://reader031.vdokumen.com/reader031/viewer/2022020417/5695cf3c1a28ab9b028d2f24/html5/thumbnails/33.jpg)
Deklarasi Push
procedure PUSH (var T : Tumpukan; nil = integer);
Begin
if (T.Atas = MaxElemen) then write(‘Tumpukan PENUH…!!’);
else
begin
T.Atas := T.Atas + 1;
T.Isi[T.Atas] := nil;
end;
end;
![Page 34: STACK_1](https://reader031.vdokumen.com/reader031/viewer/2022020417/5695cf3c1a28ab9b028d2f24/html5/thumbnails/34.jpg)
Algoritma Pop
Pastikan tumpukan tidak kosongAmbil satu persatu atau lebih (optional)
![Page 35: STACK_1](https://reader031.vdokumen.com/reader031/viewer/2022020417/5695cf3c1a28ab9b028d2f24/html5/thumbnails/35.jpg)
Deklarasi Pop
procedure POP (var T : Tumpukan);
Begin
if (T.Atas = 0) then
write(‘Tumpukan KOSONG…!!’);
else
begin
Write(‘nilai yang diambil : ’,T.Isi[T.Atas]);
T.Atas := T.Atas - 1;
end;
end;
![Page 36: STACK_1](https://reader031.vdokumen.com/reader031/viewer/2022020417/5695cf3c1a28ab9b028d2f24/html5/thumbnails/36.jpg)
![Page 37: STACK_1](https://reader031.vdokumen.com/reader031/viewer/2022020417/5695cf3c1a28ab9b028d2f24/html5/thumbnails/37.jpg)