Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
Diterbitkan olehSugiarto Yuwono Telah diubah "6 tahun yang lalu
1
Tumpukan Dengan Array Ika Menarianti
2
Mengenal Struktur Data Tumpukan
Tumpukan (Stack) adalah struktur data yang memungkinkan penyisipan dan pengambilan data dilakukan dari satu ujung yang disebut puncak. Kosong C B Berisi 3 A C Diambil 1 dari puncak B A
3
Lanjutan..1 Tumpukan memiliki sifat Last In First Out (LIFO)
Artinya, data yang terakhir dimasukkan atau disisipkan akan menjadi data yang pertam kali keluar. Misal terjadi tumpukan A, B dan C. C adalah data yang terakhir kali ditumpukkan. Jika terjadi operasi pengambilan dan mengingat bahwa data hanya bisa diambil dari puncak maka C adalah data yang keluar dulu.
4
Operasi dasar pada tumpukan
Push adalah operasi untuk memasukkan data ke dalam tumpukan. Dinyatakan dengan Push(T,d). T menyatakan tumpukan dan d menyatakan item data yang disisipkan ke dalam tumpukan T. Pop adalah operasi untuk mengambil data dari tumpukan. Dinyatakan dengan Pop(T). Data teratas dari tumpukan T akan dikeluarkan den menjadi nilai balik Pop. Dituangkan dalam pernyataan: Data := Pop(T);
5
Ilustrasi Push dan Pop pada tumpukan
Operasi Penjelasan Hasil Tumpukan T Push (T, ‘Paris’) Push(T,’Roma’) Paris dimasukkan dulu baru Roma Roma Paris Pop (T) Push(T, ‘Amsterdam’) Push(T,’Geneva’) Roma dikeluarkan kemudian Amsterdam dimasukkan dan diikuti Geneva Geneva Amsterdam Push (T, ‘Vienna’) Roma dan Vienna ditambahkan Vienna Push(T, ‘London’) Roma, Vienna dan Geneva dikeluarkan. Kemudian tambahkan London London
6
Aplikasi Tumpukan Membalik String.
Dimulai dari yang terkiri dan menaruh ke tumpukan per karakter, sehingga karakter paling kiri berada dibawah String asal: NARA A R diproses Diambil satu karakter dan disusun dari kiri kekanan ARAN A N
7
Implementasi Tumpukan Dengan Array
Pilih menu File dan Save Project As... Simpan unit dengan nama FTumpukan Simpan project dengan nama Ptumpukan Atur propert Form: Name : FormTumpukan Caption : Tumpukan
8
Menambahkan kode untuk deklarasi
Ketikkan kode ini diatas type const Makselemen = 10; Kemudian ketikkan dibawah type Tstack = record Data : Array [1..Makselemen] of Integer; Puncak: 0 .. Makselemen; end; Buat baris kosong antara {private declaration} dan public ketikkan: Tumpukan : Tstack;
9
Penjelasan const Makselemen = 10;
Dimaksudkan untuk membuat konstanta bernama Makselemen yang bernilai 10. Tstack = record Data : Array [1..Makselemen] of Integer; Puncak: 0 .. Makselemen; end; Digunakan untuk membuat tipe Tstack yang menyatakan struktur data tumpukan. Mengandung dua buah field Data dan Puncak. Data berupa Array dan Puncak menyatakan posisi pada tumpukan. Tumpukan : Tstack; Dimaksudkan untuk membuat variabel instan bernama Tumpukan yang bertipe Tstack
10
Tambahkan komponen String Grid, Edit dan Button
11
Properti yang perlu diatur
Komponen Properti Nilai String Grid Name StringGridTumpukan ColCount 1 (lebarkan sesuai grid) ScrollBars ssVertical (hanya scrollbar vertikal yang ditampilkan) Edit EditTumpukan Text Kosongkan Button 1 ButtonPush Caption &Push Button 2 ButtonPop P&op Button 3 ButtonKeluar &Keluar
12
Menambahkan prosedur untuk menampilkan data
Tambahkan baris kode berikut diatas private: procedure TampilkanData; Tambahkan kode berikut diatas end yang paling bawah procedure TFormTumpukan.TampilkanData; var i : integer; begin StringGridTumpukan.RowCount := Makselemen+1; StringGridTumpukan.Cells[0,0] := ‘Isi Stack'; //kosongkan semua elemen dalam String Grid for i:= 1 to Tumpukan.Puncak do StringGridTumpukan.Cells[0,i] := IntToStr (Tumpukan.Data[i]); end;
13
Lanjutan.. Tekan Ctrl+F9 dan kemudian save dengan Ctrl+S
StringGridTumpukan.RowCount := Makselemen+1; Digunakan untuk menentukan judul baris dalam string grid. Penambahan angka 1 ditujukan untuk tempat judul pada string grid. Pengisian judul dilakukan dengan StringGridTumpukan.Cells[0,0] := ‘Isi Stack'; String grid diisi dengan data dari tumpukan melalui perintah: for i:= 1 to Tumpukan.Puncak do StringGridTumpukan.Cells[0,i] := IntToStr (Tumpukan.Data[i]);
14
Tambahkan pada kejadian OnCreate
procedure TFormTumpukan.FormCreate(Sender: TObject); begin //mengisikan sebuah data Tumpukan.Data[1] := 214; Tumpukan.Puncak := 1; TampilkanData; end;
15
Hasil Program
16
Menambahkan prosedur Push
Diatas kata private, sisipkan baris kode: procedure Push (x:Integer); Diatas baris end yang paling bawah, tambahkan: procedure TFormTumpukan.Push(x:Integer); begin //cek jika tumpukan sudah penuh if Tumpukan.Puncak = Makselemen then ShowMessage('Tumpukan Penuh'); Exit; end; //tambahkan x ke tumpukan Tumpukan.Puncak := Tumpukan.Puncak + 1; Tumpukan.Data[Tumpukan.Puncak] := x;
17
Tambahkan data ke tumpukan
Klik ganda pada tombol Push Tuliskan kode berikut: procedure TFormTumpukan.ButtonPushClick(Sender: TObject); begin //periksa jika data pada kotak kosong if Trim(EditTumpukan.Text) = '' then ShowMessage('isikan sebuah bilangan'); exit; end; Push(StrToInt(EditTumpukan.Text)); TampilkanData;
18
Push(StrToInt(EditTumpukan
Push(StrToInt(EditTumpukan.Text)); Dijalankan jika EditTumpukan tidak dalam keadaan kosong. Pada pemanggilan Push, StrToInt diperlukan mengingat EditTumpukan.Text bertipe string sementara argumen Push didefinisikan integer. Setelah push dijalankan, prosedur TampilkanData dipanggil untuk memperbaharui tampilan pada string grid.
19
Memodifikasi Tampilan Tumpukan
Untuk menunjukkan keadaan keadaan seperti pada tumpukan piring dengan data terbaru diletakkan diatas maka kita bisa memodifikasi cara menampilkan isi tumpukan.
20
procedure TFormTumpukan
procedure TFormTumpukan.TampilkanData; var i : integer; begin StringGridTumpukan.RowCount := Makselemen+1; StringGridTumpukan.Cells[0,0] := 'Isi Stack'; //kosongkan semua elemen dalam String Grid for i:= 1 to Makselemen do StringGridTumpukan.Cells[0,i] :=''; //menampilkan data dari bawah for i:=1 to Tumpukan.Puncak do StringGridTumpukan.Cells[0,Makselemen- i+1]:=IntToStr(Tumpukan.Data[i]); end;
21
Menambahkan fungsi Empty
Fungsi empty merupakan fungsi yang ditujukan untuk memeriksa tumpukan dalam keadaan kosong atau tidak. Fungsi ini dirancang menghasilkan True kalau tumpukan dalam keadaan dan memberikan nilai balik False kalau tumpukan berisi data. Untuk menambahkan fungsi empty, lakukan langkah berikut: Tambahkan baris program berikut diatas kata private function Empty: Boolean; Tuliskan kode berikut diatas kata end. (yang paling bawah)
22
function TFormTumpukan.Empty:Boolean;
begin if Tumpukan.Puncak = 0 then Empty:= True else Empty:= False; end; Pastikan tidak ada kesalahan dengan tekan F9 dan simpan
23
Menambahkan fungsi Pop
Tambahkan baris berikut diatas kata private function Pop: Integer; Tulis kode berikut diatas end. (yang paling bawah) Pastikan tidak ada kesalahan dengan compile program Simpan program
24
function TFormTumpukan
function TFormTumpukan.Pop:Integer; var Nilai:Integer; begin if Empty() then ShowMessage('Tumpukan sudah kosong'); Pop := ; //nilai yang menyatakan kosong end else Nilai := Tumpukan.Data[Tumpukan.Puncak]; Tumpukan.Puncak := Tumpukan.Puncak - 1; Pop := Nilai; end;
25
Menambahkan kode kejadian OnClick
Klik ganda pada tombol Pop, dan tulis kode berikut selengkapnya: procedure TFormTumpukan.ButtonPopClick(Sender: TObject); var Data:Integer; begin Data := Pop; TampilkanData; if Data <> then ShowMessage('Data Hasil Pop: '+ IntToStr(Data)); end; Simpan dan Compile
26
Penjelasan.. Data := Pop; Dijalankan untuk mengambil data teratas dalam tumpukan. Selanjutnya, TampilkanData dipanggil untuk memperbaharui isi string grid. if Data <> then ShowMessage('Data Hasil Pop: '+ IntToStr(Data)); Dipakai untuk menampilkan informasi data yang diperoleh dari Pop kalau nilainya tidak berupa
27
Latihan.. Tambahkan 4 Data yaitu 12, 45, 200,312
Kemudian tekan tombol Pop. Apa yang terjadi? Setelah dilakukan Pop apa yang terjadi? Tambahkan kode untuk mengakhiri aplikasi.
28
Evaluasi Jelaskan apa yang dimaksud dengan tumpukan!
Mengapa tumpukan dikatakan mempunyai sifat LIFO? Berikan contoh aplikasi tumpukan! Jelaskan kegunaan operasi Push dan Pop dalam tumpukan!
29
Suatu Tumpukan pada awalnya dalam keadaan kosong dan kemudian terdapat deretan operasi sebagai berikut: Push(‘A’) Push(‘B’) Push(‘C’) Pop Push(‘E’) Push(‘F’) Gambarkan keadaan sesudah setiap operasi diatas dilaksanakan.
30
6) Bagaimana caranya agar tumpukan pada keadaan 1 berubah menjadi seperti pada keadaan 2?
X Z Y X keadaan 1 keadaan 2
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.