S T A C K ( T U M P U K A N )
STACK
Stack adalah suatu bentuk khusus dari linier list, dengan operasi penyisipan dan penghapusan dibatasi hanya pada satu sisinya, yaitu puncak stack (TOP). Elemen teratas dari stack dinotasikan sebagai TOP(S). Untuk stack S, dengan S = [S1, S2, S3, ..., ST] maka TOP(S) = ST Jumlah elemen di dalam stack kita notasikan dengan NOEL(S). NOEL(S) menghasilkan nilai integer. Untuk stack S = [S1, S2, S3, ..., ST] maka NOEL (S) = T.
Operator penyisipan (insertion) : PUSH
Operator penghapusan (deletion) : POP
Operasi stack : LIFO (Last In First Out), yaitu : yang terakhir masuk yang pertama keluar. Jika ada NOEL elemen didalam stack, maka elemen ke NOEL merupakan elemen puncak (TOP) Stack secara umum :
S = [S1, S2, ..., SNOEL]
bahwa : SI berada di atas elemen SJ, untuk I > J
SI akan dikeluarkan lebih dulu dari elemen di bawahnya.
Contoh stack : Tumpukan baki dalam cafetaria
Empat operasi dasar yang berlaku pada stack :
1. CREATE(stack)
2. ISEMPTY(stack)
3. PUSH(elemen, stack)
4. POP(stack)
CREATE adalah operator yang menunjukkan suatu stack kosong dengan nama S.
Jadi : NOEL(CREATE(S)) = 0 TOP(CREATE(S)) adalah TIDAK TERDEFINISI.
ISEMPTY adalah operator yang menentukan apakah stack S kosong. Operandnya terdiri dari type data stack. Hasilnya merupakan type data Boolean:
ISEMPTY(S) = True. Jika S hampa, yakni bila NOEL(S) = 0.
PUSH adalah operator yang menambahkan elemen E pada puncak stack S. Hasilnya merupakan stack yang lebih besar. PUSH(E,S). E ditempatkan sebagai TOP(S).
POP(stack) adalah operator yang menghapus sebuah elemen dari puncak stack S. Hasilnya merupakan stack yang lebih kecil.
• POP(S) mengurangi NOEL(S)
• POP(CREATE(S)) → kondisi error
• POP(PUSH(E,S)) = S
Baca selengkapnya »
0 komentar:
Posting Komentar