4. stack(new)
DESCRIPTION
Konsep dari stack atau tumpukan dalam struktur data menggunakan bahasa pemrograman pascalTRANSCRIPT
-
5/24/2018 4. Stack(New)
1/35
STACK(Tumpukan)GedeAditra Pradnyana,S.Kom.,M.Kom
-
5/24/2018 4. Stack(New)
2/35
MasihIngat?
Kumpulandatayangmemiliki tipe lebih dari s
-
5/24/2018 4. Stack(New)
3/35
MasihIngat?
Typenama_record =record
identifier_1:tipe_data_1;
:
:identifier_n :tipe_data_n;
end;
var variabel :nama_record;
-
5/24/2018 4. Stack(New)
4/35
MengaksesElemenRecord
x.Nama
x.Usia
x.Kota
x.Kodepos
with x do
Begin
Nama
Usia
Kota
Kodepos
End
Langsung With..Do
-
5/24/2018 4. Stack(New)
5/35
STACK
Suatu bentuk khusus dari linierlist,dengan o
penyisipan dan penghapusan dibatasi hanya
satu sisinya,yaitu puncak stack(TOP). Suatu metode untuk Inputdan hapus didala
memori komputer.
-
5/24/2018 4. Stack(New)
6/35
Penghapusan serta pemasukan elemenpadahanya dapat dilakukan di satu posisi,yaknipoakhir.
Posisiinidisebutpuncak atau top dari stack.Top
-
5/24/2018 4. Stack(New)
7/35
-
5/24/2018 4. Stack(New)
8/35
ElementeratasdaristackS dinotasikansebaTOP S). Untuk stackS=[S1,S2,S3,...,ST]maka TOP(S
Jumlah elemen didalam stack S kita notasikdengan NOEL S).NOEL S)menghasilkan niinteger.
Untuk stackS=[S1,S2,S3,...,ST]maka NOEL
T.
-
5/24/2018 4. Stack(New)
9/35
A
B
C
D Top
A
B
C
D Top
A B C D
Top
ABCD
Top
-
5/24/2018 4. Stack(New)
10/35
OperasiDasarSTACK
Konseputamaoperasipadastack LIFO(L
INFIRSTOUT)
Operatorpenyisipan (insertion):PUSH
Operatorpenghapusan (deletion):POP
-
5/24/2018 4. Stack(New)
11/35
Ilustrasi
Sebagai Awal Tumpukan masih kosong
Noel (Tumpukan) = 0 Top (Tumpukan) = tidak terdefinisi
-
5/24/2018 4. Stack(New)
12/35
Push
PUSH elemen A
Diperoleh Tumpukan = [A]
A
-
5/24/2018 4. Stack(New)
13/35
PUSH elemen B
Diperoleh Tumpukan = [A,B]
A
B
-
5/24/2018 4. Stack(New)
14/35
PUSH elemen C
Diperoleh Tumpukan = [A, B, C]
AB
C
-
5/24/2018 4. Stack(New)
15/35
PUSH elemen D
Diperoleh Tumpukan = [A, B, C, D]
ABC
D
-
5/24/2018 4. Stack(New)
16/35
Pop
Pop Tumpukan = [A,B,C,D]
ABC
D
-
5/24/2018 4. Stack(New)
17/35
Pop Tumpukan = [A,B,C]
ABC
-
5/24/2018 4. Stack(New)
18/35
Pop Tumpukan = [A,B]
AB
-
5/24/2018 4. Stack(New)
19/35
Pop Tumpukan = [A]
A
-
5/24/2018 4. Stack(New)
20/35
Stack dalamPascal
-
5/24/2018 4. Stack(New)
21/35
DeklarasiAwal
const MaxElemen = 5;
type Tumpukan = record
Isi : array[1..MaxElemen] of
integer;
Atas : 0..MaxElemen;
end;
var T : Tumpukan;
-
5/24/2018 4. Stack(New)
22/35
AlgoritmaAwal
Pastikanposisitumpukankosong
Elemenyangterambilbelumada
procedure awal(var T : Tumpukan);
begin
T.Atas :=0;
end;
-
5/24/2018 4. Stack(New)
23/35
1 2 3 4
ATAS
-
5/24/2018 4. Stack(New)
24/35
AlgoritmaPush
Pastikan tumpukan belum penuh
Inputsatu persatu
-
5/24/2018 4. Stack(New)
25/35
procedure PUSH (var T : Tumpukan; nil = integer);
Begin
if (T.Atas = MaxElemen) then
write(Tumpukan sudah PENUH Bro..);
else
beginT.Atas := T.Atas + 1;
T.Isi[T.Atas] := nil;
end;
end;
-
5/24/2018 4. Stack(New)
26/35
Push
1 2 3 4
ATAS
0123
T.Atas := T.Atas + 1
T.Isi[T.Atas] := nil
-
5/24/2018 4. Stack(New)
27/35
Push Lagi
1 2 3 4
ATAS
0123 456
T.Atas := T.Atas + 1
T.Isi[T.Atas] := nil
-
5/24/2018 4. Stack(New)
28/35
Push LagidanLagi
1 2 3 4
ATAS
0123 456
T.Atas := T.Atas + 1
T.Isi[T.Atas] := nil
789 321
-
5/24/2018 4. Stack(New)
29/35
Push Lagi
1 2 3 4
0123 456
T.Atas := T.Atas +
T.Isi[T.Atas] := ni
789 321
-
5/24/2018 4. Stack(New)
30/35
procedure PUSH (var T : Tumpukan; nil = integer);
Begin
if (T.Atas = MaxElemen) then
write(Tumpukan sudah PENUH Bro..);
else
beginT.Atas := T.Atas + 1;
T.Isi[T.Atas] := nil;
end;
end;
-
5/24/2018 4. Stack(New)
31/35
AlgoritmaPop
Pastikantumpukantidakkosong
AmbilpadaposisiTOPstack
-
5/24/2018 4. Stack(New)
32/35
procedure POP (var T : Tumpukan);
Begin
if (T.Atas = 0) then
write(Tumpukan KOSONG Bro);
else
begin
Write(nilai yang diambil: ,T.Isi[T.Atas]);
T.Atas := T.Atas - 1;
end;
end;
-
5/24/2018 4. Stack(New)
33/35
PopDulu
1 2 3 4
0123 456 789 321
Write(nilai yang diambil: ,T.Isi[T.A
T.Atas := T.Atas - 1;
TUGAS
-
5/24/2018 4. Stack(New)
34/35
TUGAS
Buatlahprogramenkripsi membalikkata:
Mamamakannasibungkus
Menjadi:
Sukgnub isan nakam amam
Gunakankonsepstack danstruct
-
5/24/2018 4. Stack(New)
35/35
SUKSMABRO..NEXT Queue