Prinsip Stack adalah LIFO ( Last In First Out ) atau Terakhir masuk pertama keluar. Setiap elemen tidak dapat dikeluarkan (POP keluar) sebelum semua elemen diatasnya dikeluarkan. Elemen teratas (puncak) dari stack dinotasikan sebagai TOP(S)
Misal diberikan stack S sebagai berikut :
S= [ S2,S2,………, ST ] è maka TOP(S) = ST
Untuk menunjukkan jumlah elemen suatu stack digunakan notasi NOEL(S).
Dari stack diatas maka NOEL(S) = T.
NOEL(S) menghasilkan nilai integer.
Jika diberikan sebuah stack S = [A,B,C,D] maka stack S ini dapat digambarkan sebagai berikut :
Operasi Pada Stack:
1. CREATE (STACK)
Operator ini berfungsi untuk membuat sebuah stack kosong (menjadi hampa) dan didefinisikan bahwa:
NOEL (CREATE (S)) = 0 dan
TOP (CREATE(S)) = null / tidak terdefinisi
2. ISEMPTY(STACK)
Operator ini berfungsi untuk menentukan apakah suatu stack adalah stack kosong (hampa) atau tidak. Operasinya akan bernilai boolean dengan definisi sebagai berikut :
ISEMPTY(S) = True, jika S adalah stack kosong atau NOEL(S) = 0
False, jika S bukan stack kosong atau NOEL(S) ¹ 0
Catatan : ISEMPTY(CREATE(S)) = true
3. PUSH(ELEMEN,STACK)
- Operator ini berfungsi untuk menambahkan satu elemen ke dalam stack . Notasi yang digunakan adalah PUSH(E,S)
Artinya : menambahkan elemen E ke dalam stack S
- Elemen yang baru masuk ini akan menempati posisi TOP jadi TOP(PUSH(E,S)) = E
- Akibat dari operasi ini jumlah elemen dalam stack akan bertambah, artinya NOEL (S) menjadi lebih besar atau stack menjadi tidak kosong (ISEMPTY(PUSH(E,S)) = false )
4. POP(STACK)
- Operator ini berfungsi untuk mengeluarkan satu elemen dari dalam stack, notasinya POP(S)
- Elemen yang keluar dari dalam stack adalah elemen yang berada pada posisi TOP.
- Akibat dari operasi ini jumlah elemen stack akan berkurang atau NOEL(S) berkurang 1 dan elemen pada posisi TOP akan berubah.
- Operator ini tidak dapat digunakan pada stack kosong, artinya POP(CREATE(S)) = error condition dan POP(PUSH(E,S)) = S
Catatan : TOP(PUSH(E,S)) = E
Contoh Program:
*Source Code dibawah ini di compile menggunakan Code::Blocks
Tampilan Program:
Baca Juga
Pemrograman C++: Variable
Pemrograman C++: Array 1 Dimensi dan 2 Dimensi
Pemrograman C++: Stack
Pemrograman C++: Queue
Pemrograman C++: Sorting
Pemrograman C++: Searching
Referensi:
Materi Dosen Struktur Data Stikom Bali
Pemrograman C++: Variable
Pemrograman C++: Array 1 Dimensi dan 2 Dimensi
Pemrograman C++: Stack
Pemrograman C++: Queue
Pemrograman C++: Sorting
Pemrograman C++: Searching
Referensi:
Materi Dosen Struktur Data Stikom Bali
0 komentar:
Post a Comment