sack and Queque by betaracool

VIEWS: 19 PAGES: 21

More Info
									ARRAY STACK and QUEUE



  Minggu ke 5 & 6
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
Ilustrasi:
Operasi-operasi/fungsi Stack
   Push : digunakan untuk menambah item
    pada stack pada tumpukan paling atas
   Pop : digunakan untuk mengambil item pada
    stack pada tumpukan paling atas
   Clear : digunakan untuk mengosongkan
    stack
   IsEmpty : fungsi yang digunakan untuk
    mengecek apakah stack sudah kosong
   IsFull : fungsi yang digunakan untuk
    mengecek apakah stack sudah penuh
Inisialisasi Stack
   Pada mulanya isi top dengan -1, karena array
    dalam C dimulai dari 0,yang berarti stack
    adalah KOSONG!
   Top adalah suatu variabel penanda dalam
    STACK yang menunjukkan elemen teratas
    Stack sekarang. Top Of Stack akan selalu
    bergerak hingga mencapai MAX of STACK
    sehingga menyebabkan stack PENUH!
Ilustrasi:
Fungsi IsFull
   Untuk memeriksa apakah stack sudah penuh?
   Dengan cara memeriksa top of stack, jika sudah sama dengan MAX_STACK-1
    maka full, jika belum (masih lebih kecil dari MAX_STACK-1) maka belum full
Fungsi IsEmpty
   Untuk memeriksa apakah stack masih kosong?
   Dengan cara memeriksa top of stack, jika masih -1 maka berarti stack masih
    kosong!
   Program:
Fungsi Push
   Untuk memasukkan elemen ke stack, selalu menjadi elemen teratas stack
   Tambah satu (increment) nilai top of stack terlebih dahulu setiap kali ada
    penambahan elemen stack, asalkan stack masih belum penuh, kemudian isikan
    nilai baru ke stack berdasarkan indeks top of stack setelah ditambah satu
    (diincrement)
Fungsi Pop
   Untuk mengambil elemen teratas dari stack.
   Ambil dahulu nilai elemen teratas stack dengan mengakses top of stack,
    tampilkan nilai yang akan diambil terlebih dahulu, baru didecrement nilai top of
    stack sehingga jumlah elemen stack berkurang
Fungsi Print
   Untuk menampilkan semua elemen-elemen stack
   Dengan cara looping semua nilai array secara terbalik, karena
    kita harus mengakses dari indeks array tertinggi terlebih dahulu
    baru ke indeks yang kecil!
QUEUE
   Queue = Antrian
   Elemen yang pertama kali masuk ke antrian
    akan keluar pertama kalinya
   DEQUEUE adalah mengeluarkan satu
    elemen dari suatu Antrian
   Antrian dapat dibuat dengan menggunakan:
    Liniear Array dan Circular Array
Ilustrasi:
QUEUE DENGAN LINIEAR ARRAY
   Terdapat satu buah pintu masuk di suatu ujung dan satu buah
    pintu keluar di ujung satunya
   Sehingga membutuhkan variabel Head dan Tail
OPERASI-OPERASI PADA QUEUE

- Create()
   Untuk menciptakan dan menginisialisasi Queue
   Dengan cara membuat Head dan Tail = -1
IsEmpty()
   Untuk memeriksa apakah Antrian sudah penuh atau belum
   Dengan cara memeriksa nilai Tail, jika Tail = -1 maka empty
   Kita tidak memeriksa Head, karena Head adalah tanda untuk kepala antrian
    (elemen pertama dalam antrian) yang tidak akan berubah-ubah
   Pergerakan pada Antrian terjadi dengan penambahan elemen Antrian
    kebelakang, yaitu menggunakan nilai Tail
IsFull()

   Untuk mengecek apakah Antrian sudah penuh atau belum
   Dengan cara mengecek nilai Tail, jika Tail >= MAX-1 (karena MAX-1
    adalah batas elemen array pada C) berarti sudah penuh
Enqueue(data)
   Untuk menambahkan elemen ke dalam Antrian, penambahan elemen
    selalu ditambahkan di elemen paling belakang
   Penambahan elemen selalu menggerakan variabel Tail dengan cara
    increment counter Tail
Dequeue()
   Digunakan untuk menghapus elemen terdepan/pertama dari Antrian
   Dengan cara mengurangi counter Tail dan menggeser semua elemen
    antrian kedepan.
   Penggeseran dilakukan dengan menggunakan looping
Clear()
   Untuk menghapus elemen-elemen Antrian dengan cara membuat Tail
    dan Head = -1
   Penghapusan elemen-elemen Antrian sebenarnya tidak menghapus
    arraynya, namun hanya mengeset indeks pengaksesan-nya ke nilai 1
    sehingga elemen elemen Antrian tidak lagi terbaca
Tampil()

   Untuk menampilkan nilai-nilai elemen Antrian
   Menggunakan looping dari head s/d tail

								
To top