Sunday 8 May 2016

Struktur data (Tumpukan/Stack)

Stack atau tumpukan adalah struktur data dimana semua penyisipan dan penghapusan data dilakukan pada salah satu ujung yang disebut top (puncak) stack. Stack dapat dibayangkan sebagai tumpukan kardus dimana hanya kardus teratas  yang dapat diperoleh kembali dengan satu langkah. Kardus-kardu yang terdapat dibawah hanya dapat diambil setelah kardus yang berada diatasnya diambil (dikeluarkan). Dengan bentuk yang demikian tumpukan dapat dikatakan sebagai struktur data yang bersifat LIFO (Last In Firs Out). Metode/fungsi yang terpenting pada stack adalah push dan pop.

Contoh program :
Class Tumpukan
{
     private int ukuran;
     private long[] tumpukan;
     private int top;

     public Tumpukan(int s)
     {
          ukuran = s;
          tumpukan = new long[ukuran];
          top = -1;
     }

     public void push(long j)
     {
          tumpukan[++top] = j;
     }


     public long pop()
     {
          return tumpukan[top--];
     }

     public long peek()
     {
          return tumpukan[top];
     }

     public boolean isEmpty()
     {
          return (top == -1);
     }

     public boolean isFull()
     {
          return (top == ukuran-1);
     }

     public void baca()
     {
          int i = top;
          while( i>=0 )
          {
              System.out.print(tumpukan[i]);
              System.out.print(" ");
              i--;
          }
          System.out.println(" ");
     }

}

class ApliStack
{
     public static void main(String[] args)
     {
          Tumpukan stack = new Tumpukan(10);
          stack.push(56);
          stack.baca();
          stack.push(45);
          stack.baca();
          stack.push(67);
          stack.baca();
          stack.push(83);
          while( !stack.isEmpty() )
          {
              long nilai = stack.pop();
              System.out.print(nilai);
              System.out.print(" ");
          }
          System.out.println(" ");
     }
}


Selamat mencoba ^_^

Sumber : Modul Praktikum Struktur Data STMIK AKAKOM Yogyakarta

No comments:

Post a Comment