STRUKTUR DATA PERTEMUAN 4 vandawaayahoo com STACK TUMPUKAN

  • Slides: 15
Download presentation
STRUKTUR DATA PERTEMUAN 4 vandawaa@yahoo. com

STRUKTUR DATA PERTEMUAN 4 vandawaa@yahoo. com

STACK / TUMPUKAN • Stack / tumpukan adalah konsep penyimpanan data dengan cara menggunakan

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.

STACK / TUMPUKAN ARRAY (LARIK) • Operasi penyisipan dan penghapusan elemen-elemennya dilakukan pada satu

STACK / TUMPUKAN ARRAY (LARIK) • Operasi penyisipan dan penghapusan elemen-elemennya dilakukan pada satu sisi saja yang disebut sebagai “TOP” atau “ATAS”.

STACK / TUMPUKAN ARRAY (LARIK) Operasi pada STACK : • PUSH : Memasukkan Data

STACK / TUMPUKAN ARRAY (LARIK) Operasi pada STACK : • PUSH : Memasukkan Data • POP : Mengambil Data

STACK / TUMPUKAN

STACK / TUMPUKAN

STACK / TUMPUKAN ARRAY (LARIK)

STACK / TUMPUKAN ARRAY (LARIK)

STACK / TUMPUKAN DEKLARASI TUMPUKAN const Max. Elemen = 4; type Tumpukan = record

STACK / TUMPUKAN DEKLARASI TUMPUKAN const Max. Elemen = 4; type Tumpukan = record Isi : array[1. . Max. Elemen] of char; Atas : 0. . Max. Elemen; 4 end; 3 var T : Tumpukan; 2 1

STACK / TUMPUKAN Prosedur AWAL 4 procedure AWALAN(var T : Tumpukan); begin 3 2

STACK / TUMPUKAN Prosedur AWAL 4 procedure AWALAN(var T : Tumpukan); begin 3 2 T. Atas : =0; end; 1 T. Atas : = 0 0

STACK / TUMPUKAN Prosedur PUSH Nilai = procedure PUSH (var T : Tumpukan; nilai

STACK / TUMPUKAN Prosedur PUSH Nilai = procedure PUSH (var T : Tumpukan; nilai = char); Begin if (T. Atas = Max. Elemen) then write(‘Tumpukan PENUH Beroow’) T. Atas : = 4 else begin T. Atas : = T. Atas + 1; T. Isi[T. Atas] : = nilai; end; A Y A M 4 T. Atas : = 3 3 T. Atas : = 2 2 T. Atas : = 1 1 T. Atas : = 0 0

STACK / TUMPUKAN Prosedur POP procedure POP (var T : Tumpukan); Begin if (T.

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; T. Atas : = 4 T. Atas : = 3 T. Atas : = 2 T. Atas : = 1 T. Atas : = 0 M A Y A 4 3 2 1 0

STACK / TUMPUKAN PUSH Data Nilai = procedure PUSH (var T : Tumpukan; nilai

STACK / TUMPUKAN PUSH Data Nilai = procedure PUSH (var T : Tumpukan; nilai = char); Begin if (T. Atas = Max. Elemen) then U S write(‘Tumpukan PENUH Beroow’) else begin T. Atas : = T. Atas + 1; T. Isi[T. Atas] : = nilai; end; PUSH(T, ‘U’); ‘S’); T. Atas : = 4 4 T. Atas : = 3 3 T. Atas : = 2 2 T. Atas : = 1 1 T. Atas : = 0 0

STACK / TUMPUKAN POP Data procedure POP (var T : Tumpukan); Begin if (T.

STACK / TUMPUKAN POP Data 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; POP(T); T. Atas : = 4 T. Atas : = 3 T. Atas : = 2 T. Atas : = 1 T. Atas : = 0 S U 4 3 2 1 0

Tugas 3 1. Buatlah program dalam bahasa pemrograman Pascal untuk membalikkan kata. 2. Buatlah

Tugas 3 1. Buatlah program dalam bahasa pemrograman Pascal untuk membalikkan kata. 2. 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.

Tugas 3 1 2

Tugas 3 1 2

 • THE END OF THIS DAY • KANGGOANG NAAAHHH, , !!!!

• THE END OF THIS DAY • KANGGOANG NAAAHHH, , !!!!