Minggu, 17 Februari 2013

Stack(Tumpukan)

Diposting oleh Unknown di 02.33

            
         Stack adalah suatu urutan yang elemennya dapat diambil dan ditambah hanya pada posisi akhir(top).contoh dalam kebidupan sehari-hari adalah tumpukan piring disebuah restoran yang tumpukanya ditambah pada bagian paling atas dan jika mengambilnya pun dari bagian paling atas pula.


A.Macam-Macam Stack
    Stack ada 2 operasi paling besar yang dapat dilakukan yaitu:
    1.Operasi push yaitu operasi menambahkan elemen pada urutan terakhir(paling atas).
    2.Operasi pop yaitu mengambil sebuah elemen data pada urutan terakhir dan menghapus elemen tersebut dari stack.
 

     Sebagai contoh misalkan ada data sebagai berikut:
  1   3   5   6, maka data tersebut dapat tersimpan dalam bentuk sebagai berikut:


          Contoh lain adalah ada sekumpulan perintah stack yairu push(5),push(7),pop,push(3),pop.jika dijalankan, maka akan terjadi adalah:





B.Proses Operasi Stack
    Selain operasi dasar stack ada lagi operasi lain dapat terjadi dalam stack yaitu:
    1.Proses Deklarasi yaitu proses pendeklarasian stack.
    2.Proses IsEmpty yaitu proses pemeriksaan apakah stack dalam keadaan kosong.
    3.Proses IsFull yaitu proses pemeriksaan apakah stack telah penuh.
    4.Proses Inisialisasi yaitu proses pembuangan stack kosong,biasanya dengan pemberian nial untuk top.


C.Representasi Stack
    Representasi Stack dengan array dalam pemograman dapat dilakukan dengan 2 cara yaitu:
    1.Representasi stack dengan aray
    2.Representasi stack dengan singke linked list.
  
     Sebagai contoh: push91),push(2),pop,push(5),push(8),pop






D.Operasi-Operasi Stack
   
    1.Pendeklarasian Stack
       Proses pembuatan struktur stack dalam memori.karena stack dapat direpresentasikan dalam 2 cara,maka pendeklarasian stack pun ada 2 cara yaitu:
      a.Pendeklarasian stack yang menggunakan array.
         Suatu satcak memiliki beberapa bagia yaitu:
         * Top: yang berisi podidi data terakhir.
         * Elemen: yang berisi data yang ada dalam stack bagian inilaj yang berbentuk array.
         *Maks_elemen yaitu variabel yang menunjuk maksimal banyaknya elemen dalam stack.


       b.Pendeklarasian stack yang menggunakan single linked list
          Stack yang hanya memerlukan suatu pointer yang meuju ke data terakhir.



  
    2. Inisialisasi
        Inisialisai Stack adalah proses pembuatan suatu stack kosong. Adapun langkah-langkah proses tersebut berdasarkan jenis penyimpanan adalah:
        a.Inisialisasi stack yang menggunakan array.
            Dengan mengisi nilai field top dengan 0.jika elemen pertama diawali dengan nomor 1,kalau elemen pertamanya array dimulai dengan 0,maka top diisi dengan -1.
        

         
       b.Inisialisasi stack yang menggunakan single linked list.
          Proses inisialisai untuk stack yang menggunakan single linked list adalah dengan mengisi nilai pointer stack dengan NULL.



   3.Operasi IsEmpty
     Operasi yang digunakan untuk memeriksa apakah stack dalam keadaan kosong.
     Adapun langkah-langkah operasi ini:
  
     a.Operasi IsEmpty pada stack yang menggunakan array
        Operasi ini dilakukan dengan memeriksa field top,jika top bernilai 0 atau top bernilai -1, maka berarti dalam keadaan empty.




      b.Operasi IsEmpty pada stack yang menggunakan single linked list.
         Operasi IsEnpty pada stack yang menggunakan single linked list adalag dengan memeriksa apakah pointer stacak bernilai NULL,jika stack bernilai NULL,maka menandakan stack sedang keadaan empty dana akan me-return-kan nilai 1 dan jika tidak NULL maka menandakann satck mempunyai isi.






  4.Operasi IsFull
     Operasi ini untuk memeriksa keadaan stack apakah sudah penuh/belum.
     
     Langkah-langkah untuk operasai ini:
      a.Operasi IsFull pada stack yang menggunakan array.
         Operasi ini memberikan nilai true(1) jika field top sama dengan field maks_elemen.


       b.Operasi IsFull pada stack yang menggunakan single linkes list.
           Karena dalam linked list bersifat dinamis,maka pengecekan IsFull adalah dengan memeriksa apakah memori masih dapat digunakan untuk alokasi sebuah elemen stack.






    5.Operasi Push
       Operasi push adalah operasi dasar dari stack yang berguna untuk menambahkan suatu elemen data baru pada stack dan di simpan pada posisi top yang akan mengakibatkan posisi top akan berubah.
      
        Langkah-langkah operasi ini:
        a.Operasi push pada stack yang menggunakan array.
           Langkah operasi push dalam array adalah:
           *Periksa apakah satck penuh(IsFull).jika berniali false/0(tidak penuh) maka proses push dilakukan dan jika pemeriksaan ini bernilai true/1, maka proses push digagalkan.
           *Proses Push-nya sendiri adalah dengan menambahkan field top dengan 1, kemudian elemen pada posisi top di isi dengan elemen data baru.



         b.Operasi push pada stack yang menggunakan single linked list.
             Operasi push pada stack sama dengan proses tambah awal pada operasi linked list.
             
               Langkah-langkahnya:
               *Periksa apakah satck penuh(IsFull).jika berniali false/0(tidak penuh) maka proses push dilakukan dan jika pemeriksaan ini bernilai true/1, maka proses push digagalkan.
               *Proses Push-nya sendiri adalah dengan cara mengalokasikan suatu elemen linked list,kemudian periksa jika stack dalam keadaan kosong maka pointer yang menuju ke awal stack diisi dengan pointer baru.





   6.Operasi Pop 
      Operasi Popadalah salah satu operasi paling besar dari stack yang brguna untuk mengambil elemen terakhir(top) dan kemudian menghapus elemen tersebut sehingga posisi top akan berpindah.
       
       Operasi ini biasanya dibuat dalam bentuk function yang me-return-kan nilai sesuai data yang ada di top.
        a. Operasi Pop pada Stack yang menggunakan array
            Operasi Pop pada Stack yang menggunakan array adalah terlebih dahulu memeriksa apakah stack sedang keadaan kosong,jika tidak kosong maka data diambil pada posisi yang ditunjuk oleh posisi top.kemudian disimpan dalam variabel baru dengan nama "data".



        b.Operasi Pop pada stack yang menggunakan single linked list.
           Operasi Pop pada stack yang menggunakan single linked list adalah sama dengan proses hapus awal pada operasi single linked list. 
            
           Prosesnya adalah:
           *Periksa apakah stack kosong(IsEmpty),jika kosng maka proses pop tidak bisa dilakukan.jika stack tidak kosong maka prose pop dijalankan.
           *Proses pop-nya sendiri adalah mengambil elemen yang ditunjuk oleh pointer stack kemudian simpan dalam variabel data.
           
      

0 komentar:

Posting Komentar

 

Apriliyati Template by Ipietoon Blogger Template | Gadget Review