stack & queue by stanly maarende

Post on 14-Jun-2015

1.173 Views

Category:

Education

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

STACK & QUEUEMateri V: Struktur Data

By. Gladly C. Rorimpandey, ST, MISDLaidy Manoppo, S.Pd

Stack (tumpukan) dapat diartikan sebagai list (urutan) dimana penambahan dan pengambilan elemen hanya dilakukan pada satu sisi yang disebut top (puncak) dari stack.

Arti lain dari Stack (tumpukan) adalah salah satu konsep struktur data yang memiliki sistem kerja yang terakhir masuk adalah yang pertama keluar (LIFO = Last In First Out)

Pengertian STACK (Tumpukan)

Ilustrasi Stack (tumpukan)

Catatan:Yang terakhir masuk ke

dalam tumpukan, itu yang pertama keluar

seperti kotak nomor 5.

Operasi-operasi pada Stack (Tumpukan)

1. Operasi Push, yaitu operasi menambahkan elemen baru pada sebuah stack.

Aturan-aturan dalam operasi Push sbb: kondisi awal ada sebuah stack yang telah

memiliki beberapa elemen dengan elemen teratas disebut “TOP”

Buat sebuah elemen baru elemen baru dimasukkan ke dalam stack penunjuk awal TOP diubah ke elemen yang

baru ditambahkan

2. Operasi Pop, yaitu operasi mengambil sebuah elemen dari sebuah stack

Aturan-aturan dalam operasi Pop sbb: kondisi awal ada sebuah stack yang

telah memiliki beberapa elemen dengan elemen teratas disebut “TOP”

penunjuk awal TOP diubah menunjuk elemen yang ada di bawahnya (TOP)

Elemen teratas diambil dari stack

3. Operasi IsFull yaitu operasi yang memeriksa apakah stack sudah penuh atau tidak.

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

4. Operasi IsEmpty yaitu operasi yang memeriksa apakah stack masih kosong atau tidak. Dengan cara memeriksa top of stack, jika masih -1 maka berarti stack masih kosong.

5. Operasi Print yaitu operasi yang 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.

Antrian adalah sekumpulan data yang mana penambahan elemen hanya bisa dilakukan pada suatu ujung disebut dengan sisi belakang, dan penghapusan (pengambilan elemen) dilakukan lewat ujung lain (disebut dengan sisi depan atau front)

Arti lain dari antrian adalah salah satu konsep struktur data yang memiliki sistem kerja yang pertama masuk adalah yang pertama keluar (FIFO = First In First Out)

Pengertian QUEUE (Antrian)

Ilustrasi Queue (antrian)

Catatan: orang pertama yang masuk dalam antrian, maka orang itu juga yang pertama

keluar dari antrian

Pada Queue atau antrian Terdapat satu buah pintu masuk di suatu ujung dan satu buah pintu keluar di ujung satunya dimana membutuhkan variabel Head dan Tail ( depan/front, belakang/rear). Karakteristik Queue atau antrian :1. elemen antrian2. front (elemen terdepan antrian)3. tail (elemen terakhir)4. jumlah elemen pada antrian5. status antrian

Operasi-operasi pada antrian1. Create()Untuk menciptakan dan menginisialisasi QueueDengan cara membuat Head dan Tail  = -1

2.IsEmpty()Untuk memeriksa apakah Antrian masih kosong

Dengan cara memeriksa nilai Tail, jika Tail = -1 maka emptyKita tidak memeriksa Head, karena Head adalah tanda untuk kepala antrian (elemen pertama dalam antrian) yang tidak akan berubah-ubahPergerakan pada Antrian terjadi dengan penambahan elemen Antrian ke belakang, yaitu menggunakan nilai Tail

3. IsFull yaitu operasi yang 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

4. EnqueueUntuk menambahkan elemen ke dalam Antrian, penambahan elemen selalu ditambahkan di elemen paling belakang

Penambahan elemen selalu menggerakan variabel Tail dengan

cara increment counter Tail terlebih

dahulu

5. Dequeue()Digunakan untuk menghapus elemen terdepan/pertama (head) dari AntrianDengan cara menggeser semua elemen antrian kedepan dan mengurangi Tail dgn 1Penggeseran dilakukan dengan menggunakan looping.

6. Clear()Untuk menghapus elemen-elemen Antrian dengan cara membuat Tail dan Head = -1

7. Tampil()Untuk menampilkan nilai-nilai elemen AntrianMenggunakan looping dari head s/d tail

 4 45 1 8

Maka yang muncul adalah angka secara berturut-turut adalah 4, 45, 1

dan 8

top related