Stack & queue by stanly maarende

1,388 views

Published on

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,388
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
25
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Stack & queue by stanly maarende

  1. 1. Materi V: Struktur DataBy. Gladly C. Rorimpandey, ST, MISD Laidy Manoppo, S.Pd
  2. 2.  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)
  3. 3. Catatan:Yang terakhir masuk ke dalam tumpukan, itu yang pertama keluarseperti kotak nomor 5.
  4. 4. 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
  5. 5. 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
  6. 6. 3. Operasi IsFull yaitu operasi yangmemeriksa apakah stack sudah penuhatau tidak. Dengan cara, memeriksa top ofstack, jika sudah sama denganMAX_STACK-1 maka full, jika belum(masih lebih kecil dari MAX_STACK-1) maka belum full
  7. 7. 4. Operasi IsEmpty yaitu operasi yangmemeriksa apakah stack masih kosong atautidak. Dengan cara memeriksa top of stack,jika masih -1 maka berarti stack masihkosong.
  8. 8. 5. Operasi Print yaitu operasi yangmenampilkan semua elemen-elemen stackdengan cara looping semua nilai array secaraterbalik, karena kita harus mengakses dariindeks array tertinggi terlebih dahulu baru keindeks yang kecil.
  9. 9.  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)
  10. 10. Catatan: orangpertama yang masuk dalamantrian, makaorang itu jugayang pertama keluar dari antrian
  11. 11. Pada Queue atau antrian Terdapat satu buahpintu masuk di suatu ujung dan satu buah pintukeluar di ujung satunya dimana membutuhkanvariabel 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
  12. 12. 1. Create()Untuk menciptakan dan menginisialisasiQueueDengan cara membuat Head dan Tail = -1
  13. 13. Dengan cara memeriksanilai Tail, jika Tail = -1maka emptyKita tidak memeriksaHead, karena Head adalahtanda untuk kepalaantrian (elemen pertamadalam antrian) yang tidakakan berubah-ubahPergerakan pada Antrianterjadi denganpenambahan elemenAntrian ke belakang, yaitumenggunakan nilai Tail
  14. 14. 3. IsFull yaitu operasi yang mengecek apakah Antrian sudahpenuh atau belumDengan cara mengecek nilai Tail, jika Tail >= MAX-1(karena MAX-1 adalah batas elemen array pada C) berartisudah penuh
  15. 15. 4. EnqueueUntuk menambahkan elemen ke dalamAntrian, penambahan elemen selaluditambahkan di elemen paling belakang Penambahan elemen selalu menggerakan variabel Tail dengan cara increment counter Tail terlebih dahulu
  16. 16. 5. Dequeue()Digunakan untuk menghapus elemen terdepan/pertama (head) dariAntrianDengan cara menggeser semua elemen antrian kedepan danmengurangi Tail dgn 1Penggeseran dilakukan dengan menggunakan looping.
  17. 17. 6. Clear()Untuk menghapus elemen-elemen Antriandengan cara membuat Tail dan Head = -1
  18. 18. 7. Tampil()Untuk menampilkan nilai-nilai elemenAntrianMenggunakan looping dari head s/d tail 4 45 1 8 Maka yangmuncul adalah angka secaraberturut-turutadalah 4, 45, 1 dan 8

×