Tumpukan (struktur data): Perbedaan antara revisi

Konten dihapus Konten ditambahkan
KamikazeBot (bicara | kontrib)
k r2.7.1) (bot Mengubah: da:Stak (datastruktur)
 
(21 revisi perantara oleh 11 pengguna tidak ditampilkan)
Baris 1:
Dalam [[ilmu komputer]], '''tumpukan''' ({{asal kata|Inggris|stack}}) merupakan sebuah koleksi objek yang menggunakan prinsip '''''LIFO''''' ('''''Last In First Out'''''), yaitu data yang terakhir kali dimasukkan akan pertama kali keluar dari tumpukan tersebut. Operasi untuk memasukkan data biasa disebut ''push'' dan operasi untuk mengeluarkan biasanya disebut ''pop''. Tumpukan dapat diimplementasikan sebagai [[senarai berantai]] atau [[larik]].
{{wikify}}
Tumpukan tergolong [[struktur data linear]] dan operasi ''push'' dan ''pop'' hanya bisa dilakukan di satu ujung struktur yang biasa disebut ''top'' dari tumpukan. Untuk melihat data yang ada di top tanpa mengeluarkannya, biasanya dilakukan menggunakan operasi ''peek''.
Dalam [[ilmu komputer]], '''stack''' atau '''tumpukan''' merupakan sebuah koleksi objek yang menggunakan prinsip
LIFO (Last In First Out), yaitu data yang terakhr kali dimasukkan akan pertama kali keluar dari stack tersebut.
Stack dapat diimplementasikan sebagai representasi berkait atau kontigu (dengan tabel fix).
Ciri Stack :
 
Pemanfaatan== StackPemanfaatan :==
* Elemen TOP (puncak) diketahui
=== Perhitungan ekspresi aritmetika dan penguraian sintaks ===
* penisipan dan penghapusan elemen selalu dilakukan di TOP
Di kalkulator yang menggunakan [[notasi Polandia terbalik]] (letak operator bersifat posfiks) menggunakan tumpukan untuk menyimpan nilai. Selain itu, kebanyakan [[kompilator]] menggunakan tumpukan untuk menguraikan sintaks ekspresi dan blok program sebelum diterjemahkan ke bahasa level rendah.
* LIFO
 
=== ''Backtracking'' ===
Pemanfaatan Stack :
Tumpukan bisa dimanfaatkan untuk algoritma ''[[backtracking]]''. Misalkan ada sebuah maze. Kita bisa menyimpan daftar lokasi yang kita kunjungi menggunakan Tumpukan. Jadi, apabila kita mencapai jalan buntu, kita tinggal melakukan ''pop'' pada tumpukan daftar lokasi lalu mencoba jalan lain. Contoh algoritma ''backtracking'' yang sering digunakan adalah pencarian ''[[depth-first search]]'' pada struktur data [[pohon (stuktur data)|pohon]].
 
{{Commons category|Stack data structures}}
* Perhitungan ekspresi aritmatika (posfix)
* algoritma backtraking (runut balik)
* algoritma rekursif
 
[[Kategori:Struktur data]]
Operasi Stack yang biasanya :
 
# Push (input E : typeelmt, input/output data : stack): menambahkan sebuah elemen ke stack
# Pop (input/output data : stack, output E : typeelmt ) : menghapus sebuah elemen stack
# IsEmpty ()
# IsFull ()
# dan beberapas selektor yang lain
 
[[Kategori:Struktur data]]
 
{{komputer-stub}}
[[ar:مكدس]]
[[be-x-old:Стэк]]
[[bg:Стек (структура от данни)]]
[[ca:Pila (estructura de dades)]]
[[cs:Zásobník (datová struktura)]]
[[da:Stak (datastruktur)]]
[[de:Stapelspeicher]]
[[el:Στοίβα (δομή δεδομένων)]]
[[en:Stack (data structure)]]
[[es:Pila (informática)]]
[[et:Pinumälu]]
[[eu:Pila (informatika)]]
[[fa:پشته]]
[[fi:Pino]]
[[fr:Pile (informatique)]]
[[he:מחסנית (מבנה נתונים)]]
[[hr:Stog]]
[[hu:Verem (számítástechnika)]]
[[is:Hlaði (tölvunarfræði)]]
[[it:Stack]]
[[ja:スタック]]
[[kk:Стек]]
[[ko:스택]]
[[lb:Stack (Informatik)]]
[[lt:Rietuvė]]
[[lv:Steks (datu struktūra)]]
[[ml:സ്റ്റാക്ക് (ഡാറ്റാ സ്ട്രക്‌ച്ചർ)]]
[[mn:Stack]]
[[nl:Stack (informatica)]]
[[no:Stakk (datastruktur)]]
[[pl:Stos (informatyka)]]
[[pt:Pilha (informática)]]
[[ro:Stivă (structură de date)]]
[[ru:Стек]]
[[simple:Stack (data structure)]]
[[sl:Sklad (računalništvo)]]
[[sr:Стек]]
[[sv:Stack (datastruktur)]]
[[th:กองซ้อน]]
[[tr:Yığın (bilgisayar bilimi)]]
[[uk:Стек]]
[[vi:Ngăn xếp]]
[[zh:堆栈]]