Senin, 10 November 2014


STRUKTUR DATA (contoh program stack)

STACK ATAU TUMPUKAN PADA MATAKULIAH STRUKTUR DATA

Pengertian Stack atau Tumpukan adalah suatu stuktur data yang penting dalam pemrograman yang mempunyai sifat LIFO (Last In First Out), Benda yang terakhir masuk ke dalam stack akan menjadi benda pertama yang dikeluarkan dari stack.  Stack (Tumpukan) adalah list linier yang dikenali elemen puncaknya (TOP) dan Aturan penyisipan dan penghapusan elemennya tertentu. Penyisipan selalu dilakukan “di atas“  TOP dan Penghapusan selalu dilakukan pada TOP.



STACK ATAU TUMPUKAN PADA MATAKULIAH STRUKTUR DATA

Stack karena aturan penyisipan dan penghapusan semacam itu, TOP adalah satu-satunya alamat tempat terjadi operasi. Elemen yang ditambahkan paling akhir akan menjadi elemen yang akan dihapus.Dikatakan bahwa elemen Stack akan tersusun secara LIFO (Last In First Out).


karena kita menumpuk Compo di posisi terakhir, maka Compo akan menjadi elemen teratas dalam tumpukan. 
Sebaliknya, karena kita menumpuk Televisi pada saat pertama kali, maka elemen Televisi menjadi elemen terbawah dari tumpukan. Dan jika kita mengambil elemen dari tumpukan, maka secara otomatis akan terambil elemen teratas, yaitu Compo juga.

OPERASI-OPERASI/FUNGSI STACK

  • Push : digunakan untuk menambah item pada stack pada tumpukan paling atas
  • Pop : digunakan untuk mengambil item pada stack pada tumpukan paling atas
  • Clear : digunakan untuk mengosongkan stack
  • IsEmpty : fungsi yang digunakan untuk mengecek apakah stack sudah kosong
  • IsFull : fungsi yang digunakan untuk mengecek apakah stack sudah penuh
left;"> INISIALISASI STACK
Pada mulanya isi top dengan -1, karena array dalam C dimulai dari 0, yang berarti stack adalah KOSONG.!
Top adalah suatu variabel penanda dalam STACK yang menunjukkan elemen teratas Stack sekarang. Top Of Stack akan selalu bergerak hingga mencapai MAX of STACK sehingga menyebabkan stack PENUH!

Ilustrasi stack pada saat inisialisasi


Fungsi IsFull
Untuk memeriksa apakah stack sudah penuh?
Dengan cara memeriksa top of stack, jika sudah sama dengan MAX_STACK-1 maka full, jika belum (masih lebih kecil dari MAX_STACK-1) maka belum full

Ilustrasi


contoh program stack (tumpukan)
 # include <iostream.h>
# include <stdlib.h>
# include <conio.h>
# define alamat Elemen*
// untuk menampilkan atau mencetak tumpukan
void tampilTumpukan(Tumpukan T)
{
alamat P = T.atas;
cout << “Isi stack : “;
while ((P!=NULL)) {
cout << P->Info << ” – “;
P = P->Berikut;
}
cout << “\n”;
}
// untuk mencetak menu utama
void cetakMenu(){
cout << “***CONTOH TUMPUKAN***“;
cout << “\n 1. Tambah elemen\n”;
cout << “ 2. Hapus elemen\n”;
cout << “ 3. Cetak tumpukan\n”;
cout << “ 4. Selesai\n\n”;
}
// program utama
int main()
{
Tumpukan T;
int selesai;
int pilMenu;
tInfo elm;
inisialisasi(&T);
selesai = 0;
do
{
clrscr;
cetakMenu();
cout << “Menu yg dipilih : “;
cin >> pilMenu;
switch(pilMenu) {
case 1 : cout << “\nMasukkan elemen yg ditambahkan : “;
cin >> elm;
Push(&T,elm);
break;
case 2 : if (tumpukanKosong(T))
{
cout << “\nTumpukan kosong kosong, tidak bisa dihapus\n”;
}
else
{
Pop(&T, &elm);
cout << “\nElemen yang dihapus : ” << elm << “\n”;
}
break;
case 3 : tampilTumpukan(T);
break;
default : selesai = 1;
}
}
while ( !selesai );

Dosen pengampuh matakuliah
Nama                                                    : M.Ropianto
NIDN:                                                    : 102867804
Status                                                   : Dosen Tetap YAPISTA / STT Ibnu Sina
Pengampuh Matakuliah                   : Sesuai Matakuliah yang ada buat.


open link kampus :
http://sttibnusinabatam.ac.id/

download this tugas :


7 komentar: