Your SlideShare is downloading. ×
0
4 queue2
4 queue2
4 queue2
4 queue2
4 queue2
4 queue2
4 queue2
4 queue2
4 queue2
4 queue2
4 queue2
4 queue2
4 queue2
4 queue2
4 queue2
4 queue2
4 queue2
4 queue2
4 queue2
4 queue2
4 queue2
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

4 queue2

446

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
446
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
12
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. STRUKTUR DATA (4)queue Oleh M. Kautsar Sophan
  • 2. Outline• Definisi Queue / antrian• Operasi Queue• Tugas
  • 3. Definisi Queue (baca:Kiuiu)• Konsep penyimpanan data, terdiri dari beberapa data, dengan aturan data yang baru masuk akan diletakkan di data sebelumnya, data yang keluar adalah data yang masuk pertama kali• Data masuk dari pintu depan, data keluar dari pintu belakang ( ada 2 pintu)• FIFO, First in – First Out
  • 4. Operasi Queue• Enqueue, memasukkan 1 elemen data ke antrian• Dequeue, mengeluarkan 1 elemen data dari antrian
  • 5. Penyajian Queue• Array• Linked List
  • 6. Queue Dengan Array• Bersifat FIFO (First In First Out)• Elemen yang pertama 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
  • 7. Queue Linier Array• Terdapat satu buah pintu masuk di suatu ujung dan satu buah pintu keluar di ujung satunya• Sehingga membutuhkan 2 variabel: Head dan Tail
  • 8. Queue (2)• Operasi-operasi:Create() • Untuk menciptakan dan menginisialisasi Queue • Dengan cara membuat Head dan Tail = -1
  • 9. Queue (3)
  • 10. Queue (4)• 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
  • 11. Queue (5)
  • 12. Queue (6) Fungis 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
  • 13. Queue (7) Enqueue • 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 terlebih dahulu
  • 14. Queue (8)
  • 15. Queue (9)• Dequeue() • Digunakan untuk menghapus elemen terdepan/pertama (head) dari Antrian • Dengan cara menggeser semua elemen antrian kedepan dan mengurangi Tail dgn 1 • Penggeseran dilakukan dengan menggunakan looping
  • 16. Queue (10)
  • 17. Queue (11)• 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
  • 18. Queue (12)
  • 19. Queue (13)• Tampil() • Untuk menampilkan nilai-nilai elemen Antrian • Menggunakan looping dari head s/d tail
  • 20. Tugas1. Buat program implementasi Queue, dengan operasi 1. Enqueue 2. Dequeue 3. Fungsi Cari nilai total, rata-rata, terbesar dan terkecil dari elemen-elemen queue. 4. Lihat isi elemen Queue2. Buat program calculator sederhana, dengan menghitung formula yang diinputkan: contoh : 3*2=6; (4+2)*4=24
  • 21. Tugas (2)Petunjuk utk soal no 21. Ekspresi ubah ke bentuk postfix2. Dari Postfix, di evaluasi hasil operasinya, lihat panduan algoritmaTugas dikerjakan tim, 1 tim max 3 orang

×