1 / 40

ANTRIAN

ANTRIAN. Farid Wajdi Yusuf. Pendidikan Teknik Informatika dan Komputer Jurusan Pendidikan Teknik Elektro Fakultas Teknik – Universitas Negeri Makassar. Contoh Antrian. Contoh antrian : Antrian printer Antrian tiket bioskop Antrian pada kasir sebuah bank.

Download Presentation

ANTRIAN

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ANTRIAN Farid Wajdi Yusuf PendidikanTeknikInformatikadanKomputer JurusanPendidikanTeknikElektro FakultasTeknik – UniversitasNegeri Makassar

  2. ContohAntrian • Contoh antrian : • Antrian printer • Antriantiketbioskop • Antrianpadakasirsebuah bank. Ketikaseorangpelanggandatang, akanmenujukebelakangdari antrian. Setelah pelanggan dilayani, antrian yang berada di depan akan maju.

  3. PERLU DIINGAT • Suatu item yang ditambahkandibelakangantriantidakbisadihapussebelum item didepannyadihapus.

  4. Queue (antrian) adalah struktur data dimana proses pengambilan dan penambahan element dilakukan pada ujung yang berbeda. • Queue mengikuti konsep FIFO. • FIFO (First In First Out) : elemen yang pertama masuk akan menjadi elemen yang pertama kali keluar.

  5. Head Tail:

  6. Alat mailbox elektronik (berdasarkankronologi). • Mesinantrianpadatokoatau bank. • Prosesmenungguuntuk run padaprosessorpadasistemkomputer.

  7. QUEUE DAN STACK • Karakteristik yang membedakan queue (antrian) dari stack adalahcaramenyimpandanmengambil data denganstruktur first in first out (FIFO). • Hal iniberartielemenpertama yang ditempat-kanpada queue adalah yang pertamadipindahkan.

  8. Enqueue : yaituproses penambahan elemen pada queue. • Elemen ditempatkan pada ujung (tail)

  9. Dequeue yaituproses pengambilan elemen pada queue. • Memindahkanelemendarikepala (head) sebuah queue.

  10. Penambahan dilakukan pada bagian belakang. Sedangkan pengambilan dilakukan pada bagian depan (element yang pertama masuk). Queue dequeue enqueue

  11. GAMBAR PROSES A B QUEUE A B C D ENQUEUE C D DEQUEUE

  12. last first Elemen baru Antrian (queue) ATURAN MEMASUKKANQUEUE • Kondisi awal ada sebuah queue dan dibuat sebuah elemen baru yang akan dimasukkan ke dalam queue.

  13. Elemen baru dimasukkan ke dalam queue last first Antrian (queue)

  14. Penunjuk last diubah menunjuk ke elemen baru sebagai elemen paling belakang. last first Antrian (queue)

  15. ATURAN MENGELUARKAN ELEMEN • Kondisiawaladasebuah queue yang berisielemen. last first Antrian (queue)

  16. Penunjuk first diubah ke elemen di belakang elemen paling depan. last first Antrian (queue)

  17. Elemen paling depan dikeluarkan dari queue. last first keluar Antrian (queue)

  18. ANTRIAN BERPRIORITAS • Yaitumengeluarkanelemendari queue berdasarkanprioritaspadaelemenitu. • Elemenpadaantrianberprioritasharusmenyimpannilaiprioritaspadasetiapelemen.

  19. Untuk memasukkan elemennya, tidak harus melalui sisi belakang antrian, tetapi disisipkan dan diurutkan berdasarkan prioritas elemen.

  20. KETENTUAN QUEUE BERPRIORITAS • Elemen yang memilikiprioritaslebihtinggiakanlebihdahulukeluardari queue. • Jikaadaduaelemen yang memilikiprioritassama, maka yang akankeluarterlebihdahuludariantrianadalah yang terlebihdahulumasukkedalamantrian.

  21. last baru 9 7 6 4 2 1 3 Antrian (queue) OPERASIPADA ANTRIAN BERPRIORITAS • Kondisiawaladasebuahantrianberprioritas yang berisielemendanadasebuahelemenbaru yang akandimasukkankedalamantrian. first

  22. Mencari tempat yang sesuai untuk elemen baru sesuai dengan prioritas elemen baru pada antrian. Tempat elemen baru Di belakang elemen 2 last first baru 9 7 6 4 2 1 3 Antrian (queue)

  23. Menyisipkan elemen baru ke dalam antrian. last first 9 7 6 4 3 2 1 Antrian (queue)

  24. Bagaimanadenganoperasimengeluarkansebuahelemendariantrianberprioritas???Bagaimanadenganoperasimengeluarkansebuahelemendariantrianberprioritas???

  25. KARAKTERISTIK QUEUE • Elemenantrianyaitu item-item data yang terdapatdielemenantrian • Front • Rear • Jumlahelemenpadaantrian (Count) • Status antrian

  26. FRONT DAN REAR • Front : pointer bantu yang digunakan untuk menunjuk element yang paling depan. • Rear : pointer bantu yang digunakan untuk menunjuk element yang paling belakang. Queue Dequeue Front Enqueue Rear

  27. Status antrian

  28. Penuh • Bilaelemenpadaantrianmencapaikapasitasmaksimumantrian. • Padakondisiini, tidakmungkindilakukanpenambahankeantrian. Penambahanelemenmenyebabkankondisikesalahan Overflow.

  29. Kosong • Bilatidakadaelemenpadaantrian. • Padakondisiini, tidakmungkindilakukanpengambilanelemendariantrian. • Pengambilanelemenmenyebabkankondisikesalahan Underflow.

  30. Queue bergunauntukmenyimpanpekerjaanyang tertunda.

  31. GAMBARAN PROSES QUEUE (ANTRIAN)

  32. DEKLARASI Deklarasi • Deklarasi • Inisialisasi • Cek kosong • Cek penuh • Pengambilan • Penambahan • Pengaksesan

  33. DEKLARASI • Proses yang harus dilakukan pertama kali adalah deklarasi/menyiapkan tempat. • Langkah yang harus dilakukan adalah : • Deklarasi class • Deklarasi struktur data (menggunakan array atau linked list) • Deklarasi pointer front dan rear • Deklarasi variabel size untuk menyimpan besar array. • Deklarasi variabel jumlah untuk mengetahui banyak item yang disimpan pada queue.

  34. CEK KOSONG (ISEMPTY) • Operasi yang digunakan untuk mengecek kondisi queue dalam keadaan kosong. • Pada array : menggunakan pengecekan pada variabel jumlah_item. Jika nilainya = 0 berarti queue dalam kondisi kosong. • Pada linked list : dapat menggunakan pengecekan front atau rear jika nilainya null berarti queue kosong. • Operasi ini harus dapat mengembalikan nilai true jika queu kosong dan false jika sebaliknya.

  35. CEK PENUH (ISFULL) • Operasi yang hanya dapat diterapkan pada queue yang menggunakan array. • Operasi ini digunakan untuk mengecek kondisi queue dalam keadaan penuh. • Caranya : melihat nilai pada variabel jumlah item. Jika nilainya = size-1 (dimana size adalah ukuran array) maka dapat diindikasikan queue dalam kondisi penuh. • Operasi ini harus dapat mengembalikan nilai true jika queue penuh dan false jika sebaliknya.

  36. ANTRIAN BERPRIORITAS • Dalamantrian yang telahdibahassebelum, semuaelemen yang masukdalamantriandianggapmempunyaiprioritas yang sama, sehinggaelemen yang masuklebihdahuluakandiproseslebihdahulu.

  37. Dalampraktek, elemen-elemen yang akanmasukdalamsuatuantrianada yang dikatakanmempunyaiprioritas yang lebihtinggidibanding yang lain. • Antrian yang demikianinidisebutdenganantrianberprioritas (priority queue).

  38. Salahsatucarauntukmengimplementasikanantrianberprioritasadalahdenganmenggunakan linked list. • Jikakitamenggunakan linked list, khususnya single linked list atau double linked list, makaadaketentuan lain yang perludiperhatikan, yaitu:

  39. Setiap node dari linked list terdiritigabagian, yaitubagianinformasi, angkaprioritasdanbagian-bagianpenyambungkesimpul lain. • Simpul X mendahului (terletakdisebelahkiri) simpul Y, jikaprioritas X lebihtinggidibandingprioritas Y ataujikaprioritas X dan Y sama, makasimpul X datanglebihdahuludibandingdengan Y.

  40. Biasanyadibuatsuatuperjanjianbahwaangkaprioritas yang lebihkecilmenunjukkanderajadprioritas yang lebihtinggi. • Sebagaicontoh, jikaangkaprioritaspadasimpul X adalah 1 danpadasimpul Y adalah 2, makadikatakanbahwasimpul X berprioritaslebihtinggidibandingdengansimpul Y.

More Related