Selasa, 15 September 2015

STACK

Pengertian stack
Dalam ilmu komputerstack atau tumpukan 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. Tumpukan dapat diimplementasikan sebagai representasi berkait atau kontigu (dengan tabel fix).
Ciri tumpukan:
·         TOP merupakan sebutan untuk elemen paling atas dari suatu stack
·         Elemen TOP merupakan elemen yang paling akhir ditambahkan
·         Elemen TOP diketahui
·         penambahan dan penghapusan elemen selalu dilakukan di TOP
·         LIFO
Pemanfaatan tumpukan:
·         Perhitungan ekspresi aritmatika (posfix)
·         algoritma backtraking (runut balik)
·         algoritma rekursif
Operasi tumpukan :
1.     InsertFirst () biasa disebut Push (input E : typeelmt, input/output data : stack): menambahkan sebuah elemen ke tumpukan
2.     DeleteFirst () biasa disebut Pop (output E : typeelmt, input/output data : stack ) : menghapus sebuah elemen tumpukan
3.     IsEmpty () : mengecek apakah stack kosong atau ada elemennya
4.     IsFull () : mengecek apakah stack telah penuh atau belum
5.     Clear () : menghapus semua data
6.     Peek () : melihat data TOP

Contoh Stack :
·         Penumpukan peti kemas
·         Penumpukan buku, piring, dll

Berikut adalah script / source code stack pada bahasa pemrograman C#
using System;
using System.Collections;
using System.Linq;
using System.Text;
using System.Threading.Tasks;


namespace Stack_Queue
{
    class Program
    {
        static void Main(string[] args)
        { 
            Stack s = new Stack();
            s.Push('a');
            s.Push('b');
            s.Push('c');
            s.Push('d');
            Console.WriteLine("Stack : ");
            foreach (char a in s) Console.Write(a + " ");

            Console.WriteLine(" ");
            char pop = (char)s.Pop();
            Console.WriteLine("Huruf yang dibuang : " + pop);
            Console.WriteLine("Queue : ");
            foreach (char a in s) Console.Write(a + " ");

            s.Push('x');
            s.Push('y');
            pop = (char)s.Pop();
            Console.WriteLine("Huruf yang dibuang : " + pop);
            Console.WriteLine("Queue : ");
            foreach (char a in s) Console.Write(a + " ");
            Console.ReadKey();
        }
    }
}


0 komentar: