Anda di halaman 1dari 8

STACK

ANGGOTA KELOMPOK :

JHON CARLIE 1831069

HARTONO 1831095

JENNIFER CHANDRINOVA 1831108

ROBIN 1831125

WINSON 1831193

OKTAVINA 1831007
STACK DENGAN SINGLE LINKED LIST

Single Linked List merupakan suatu linked list yang hanya memiliki satu variabel pointer saja. Dimana pointer tersebut
menunjuk ke node selanjutnya. Biasanya field pada tail menunjuk ke NULL.
Stack dengan menggunakan Array
Pengertian Stack
 Stack atau tumpukan adalah suatu stuktur data yang penting dalam pemrograman
 Bersifat LIFO (Last In First Out)
 Benda yang terakhir masuk ke dalam stack akan menjadi benda pertama yang dikeluarkan dari stack
 Contohnya, 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
CODING
KELEBIHAN DAN KEKURANGAN STACK

Kelebihan :
Penambahan & Penghapusan data dapat dilakukan dengan cepat. Selama memori masih tersedia, maka penambahan
data bisa terus dilakukan. Dengan demikian tidak ada kekuatiran terjadinya “stack overflow” (memori stack habis
terpakai sehingga proses berhenti bekerja).
Kekurangan :
Setiap sel tidak hanya menyimpan 1 value saja, melainkan juga ke sel berikutnya. Hal ini menyebabkan implementasi
stack memakai linked list yang akan memerlukan memori lebih banyak dari pada array. Sehingga membuat halaman
diakses lebih lama/lambat.
Stack array dengan linked list array
Stack array adalah struktur data statis, Ruang yang diperlukan untuk mereka harus ditentukan sebelumnya yaitu
berapa banyak elemen total yang akan ada bersama pada suatu titik waktu harus diketahui sebelumnya. Oleh karena
itu, pembuatan stack sebagai array melibatkan penentuan jumlah elemen sebelumnya. Sedangkan linked list array ruang
tidak perlu ditentukan sebelumnya yaitu tempat yang disediakanakan sesuai dengan banyaknya elemen yang mengisi
stack.
MACAM – MACAM STACK
1. Operasi Push ( Memasukkan elemen baru ke dalam stack pada tumpukan paling atas ).

Contoh coding push c++ : void push (int val) {if (top>=n-1)
cout << “Stack Overflow” <<end1;
else {
top++;
stack[top]=val;
}
}
MACAM – MACAM STACK

2. Operasi Pop ( Mengambil/Mengeluarkan elemen pada tumpukan paling atas ).


Contoh coding pop c# :
NOTASI PREFIX, INFIX, DAN POSTFIX

a. Prefix : Notasi yang terbentuk atas operator dengan operand, dimana Operator didepan Operand.
Contoh ; A+B*C (infix) operand [A,B,C] & operator [+,*]
A +*BC
+A*BC
Proses dimulai dengan melihat dari hirarkhi operator.Contoh diatas operator yang tertinggi adalah * kemudian +.
Tanda * diapit oleh 2 operand yaitu B*C, prefixnya dengan menggabungkan operand dan memindahkan operator ke
depan dari operand,sehingga fungsi B*C, notasi prefixnya menjadi *BC.

Sehingga hasil sementara dari notasi prefix adalah:


A+*BC

Selanjutnya mencari prefix untuk operator yang berikutnya yaitu +, cara yang dilakukan sama seperti diatas,
operator + diapit oleh operand, yaitu A dan *BC, gabungkan operand,sehingga menjadi A*BC,lalu pindahkan operator
kedepan operand,sehingga hasil akhir menjadi :
+A*BC.
NOTASI PREFIX, INFIX, DAN POSTFIX
Notasi ini terbentuk dari Operand dan Operator.
Operand : Data atau nilai yang membantu dalam Proses
Operator : Fungsi yang digunakan dalam Proses
Hirarki/Level yang ada dalam Notasi
1. ( ) (Kurung).
2. ^ (Pangkat).
3. * / (Perkalian / Pembagian).
4. + - (Penjumlahan / Pengurangan).
b. Infix : Notasi yang terbentuk atas operator dengan operand, dimana Operator berada diantara Operand
Contoh : A + B *C, (A + B) *C , A – (B + C) *D ^ E
c. Postfix : Notasi yang terbentuk atas operator dengan operand, dimana Operator berada dibelakang
Operand
Contoh : A+B*C (infix)
maka notasi postfix adalah ABC*+

Anda mungkin juga menyukai