Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehSusanti Indradjaja Telah diubah "6 tahun yang lalu
1
STRUKTUR DATA PERTEMUAN 4
2
STACK / TUMPUKAN Stack / tumpukan adalah konsep penyimpanan data dengan cara menggunakan konsep LIFO (Last In First Out) Artinya, data yang terakhir masuk, data tersebut yang pertama kali keluar. Untuk merepresentasikan stack , kita dapat menggunakan variabel statis alias Array atau variabel dinamis alias Pointer. Stack juga dapat digunakan untuk mengecek ekspresi matematika , dan mengubah suatu ekspresi. Infix menjadi Prefix atau sebaliknya.
3
ARRAY (LARIK) STACK / TUMPUKAN
Operasi penyisipan dan penghapusan elemen-elemennya dilakukan pada satu sisi saja yang disebut sebagai “TOP” atau “ATAS”.
4
ARRAY (LARIK) STACK / TUMPUKAN Operasi pada STACK :
PUSH : Memasukkan Data POP : Mengambil Data
5
STACK / TUMPUKAN
6
ARRAY (LARIK) STACK / TUMPUKAN
7
STACK / TUMPUKAN DEKLARASI TUMPUKAN const MaxElemen = 4;
type Tumpukan = record Isi : array[1..MaxElemen] of char; Atas : 0..MaxElemen; end; var T : Tumpukan; 4 3 2 1
8
STACK / TUMPUKAN Prosedur AWAL procedure AWALAN(var T : Tumpukan);
4 3 2 1 procedure AWALAN(var T : Tumpukan); begin T.Atas :=0; end; T.Atas := 0
9
A Y A M STACK / TUMPUKAN Prosedur PUSH
Nilai = A procedure PUSH (var T : Tumpukan; nilai = char); Begin if (T.Atas = MaxElemen) then write(‘Tumpukan PENUH Beroow’) else begin T.Atas := T.Atas + 1; T.Isi[T.Atas] := nilai; end; M T.Atas := 4 4 3 2 1 T.Atas := 3 T.Atas := 2 T.Atas := 1 T.Atas := 0
10
M A Y A STACK / TUMPUKAN Prosedur POP
procedure POP (var T : Tumpukan); Begin if (T.Atas = 0) then write(‘Tumpukan KOSONG Beroow’) else begin write(‘nilai yang diambil : ’ ,T.Isi[T.Atas]); T.Atas := T.Atas - 1; end; M T.Atas := 4 4 3 2 1 A T.Atas := 3 Y T.Atas := 2 A T.Atas := 1 T.Atas := 0
11
U S U S STACK / TUMPUKAN PUSH Data PUSH(T, ‘U’); PUSH(T, ‘S’); 4
Nilai = U procedure PUSH (var T : Tumpukan; nilai = char); Begin if (T.Atas = MaxElemen) then write(‘Tumpukan PENUH Beroow’) else begin T.Atas := T.Atas + 1; T.Isi[T.Atas] := nilai; end; S T.Atas := 4 4 3 2 1 T.Atas := 3 PUSH(T, ‘U’); PUSH(T, ‘S’); T.Atas := 2 T.Atas := 1 T.Atas := 0
12
S U S U STACK / TUMPUKAN POP Data POP(T); 4 3 2 1 T.Atas := 4
procedure POP (var T : Tumpukan); Begin if (T.Atas = 0) then write(‘Tumpukan KOSONG Beroow’) else begin write(‘nilai yang diambil : ’ ,T.Isi[T.Atas]); T.Atas := T.Atas - 1; end; S T.Atas := 4 4 3 2 1 U T.Atas := 3 S POP(T); T.Atas := 2 U T.Atas := 1 T.Atas := 0
13
Tugas 3 Buatlah program dalam bahasa pemrograman Pascal untuk membalikkan kata. Buatlah program dalam bahasa pemrograman Pascal untuk perhitungan perkalian faktorial. **Input banyak kata-kata dan angka diisi saat program running **Gunakan tipe data yang tepat **Gunakan prosedur dalam mendeklarasikan PUSH dan POP.
14
Tugas 3 1 2
15
THE END OF THIS DAY KANGGOANG NAAAHHH,,,,!!!!
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.