Dalam bahasa sehari hari ya STACK itu artinya adalah sebuah tumpukan yang termasuk bentuk khusus dari linier list. kalo mau ngubah tumpukannya cuma bisa diubah di satu sisi yaitu posisi atas (TOP) yang dinotasiin jadi S(TOP) stack S, dengan S = [S1, S2, S3, ..., ST] maka TOP(S) = ST. banyaknya lemen disebutkan menjadi NOEL(S) dan ini nilainya integer. jadi misalnya stack S = [S1, S2, S3, ..., ST] maka NOEL (S) = T.
ada bermacam macam operator yaitu Operator penyisipan (insertion) : PUSH
Operator penghapusan (deletion) : POP. dalam stack ini operasi yang digunakan adalah LIFO(Last In First Out) jadi yang terakhir masuk dia yang pertama kali keluar. dibayangin aja misalnya ada sebuah tumpukan, masa iya yang diambil yang dibawah, ntar berantakan jadinya kaaan? makanya yang diambil yang diatas dulu.
Empat operasi dasar yang berlaku pada stack :
1. CREATE(stack)
2. ISEMPTY(stack)
3. PUSH(elemen, stack)
4. POP(stack)
pertama kita mulai dengan create adalah operator yang menunjukkan suatu stack kosong dengan nama S.
Jadi : NOEL(CREATE(S)) = 0
TOP(CREATE(S)) adalah TIDAK TERDEFINISI.
selanjutnya ada isempty adalah operator yang nentuin sistack S itu kosong apa ngga. Hasilnya merupakan type data boolean yang terdiri dari true apa ngga false ISEMPTY(S) = True. Jika S hampa, kalo misalnya si NOEL(S) = 0.
terus push adalah operator yang bertugas buat nambahin elemen G pada puncak stack S.
Hasilnya merupakan stack yang lebih besar.
PUSH(G,S). jadinya si G jadi TOP(S).
yang terakhir adalah pop jadi pop adalah operator yang bertugas buat ngapus 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.
jadi intinya itu ada beberapa:
- kita samain pemikiran dulu ya kalo misalnya + = - < * = / < ^(pangkat)
- Liat operator yang mau masuk >= udah di dalem nah yang di dalem ngga boleh keluar jadi disimpen ke dalem stack
- operator masuk<operator yang udah di dalem nah yang tadinya di dalem dijadiin output aja.
- elemen langsung dijadiin output
- misalnya ada tanda '(' jadinya operator sampe ')' dijadiin output tapi diliat juga ketentuan yang nomer 2 sama 3.
- kalo ada tanda ; udah berarti udahan tuh tinggal keluarin semua stack yang ada buat dijadiin output.
A+B-(C/D^E)*F-G/H;
masih belom ngerti?
tenang ada video tutorial nih buat temen temen yang belom terlalu ngerti masalah STACK
check this out yaaa.
semoga info ini bermanfaat ya teman teman. oiya ada juga nih manual book bikin graph pake DIA, bisa nih di download ya kawan kawan.
Source: materi ibu detty di staffsite
0 komentar:
Posting Komentar