Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

ANTRIAN Farid Wajdi Yusuf Pendidikan Teknik Informatika dan Komputer Jurusan Pendidikan Teknik Elektro Fakultas Teknik – Universitas Negeri Makassar.

Presentasi serupa


Presentasi berjudul: "ANTRIAN Farid Wajdi Yusuf Pendidikan Teknik Informatika dan Komputer Jurusan Pendidikan Teknik Elektro Fakultas Teknik – Universitas Negeri Makassar."— Transcript presentasi:

1 ANTRIAN Farid Wajdi Yusuf Pendidikan Teknik Informatika dan Komputer Jurusan Pendidikan Teknik Elektro Fakultas Teknik – Universitas Negeri Makassar

2 Contoh Antrian Contoh antrian :  Antrian printer  Antrian tiket bioskop  Antrian pada kasir sebuah bank. Ketika seorang pelanggan datang, akan menuju ke belakang dari antrian. Setelah pelanggan dilayani, antrian yang berada di depan akan maju.

3 PERLU DIINGAT  Suatu item yang ditambahkan di belakang antrian tidak bisa dihapus sebelum item di depannya dihapus.

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 Tail: Head

6  Alat mailbox elektronik (berdasarkan kronologi).  Mesin antrian pada toko atau bank.  Proses menunggu untuk run pada prosessor pada sistem komputer.

7 QUEUE DAN STACK  Karakteristik yang membedakan queue (antrian) dari stack adalah cara menyimpan dan mengambil data dengan struktur first in first out (FIFO).  Hal ini berarti elemen pertama yang ditempat-kan pada queue adalah yang pertama dipindahkan.

8  Enqueue : yaitu proses penambahan elemen pada queue.  Elemen ditempatkan pada ujung (tail)

9 Dequeue yaitu proses pengambilan elemen pada queue. Memindahkan elemen dari kepala (head) sebuah queue.

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

11 AB ABCD CD QUEUE ENQUEUE DEQUEUE GAMBARPROSES

12 ATURAN MEMASUKKAN QUEUE Kondisi awal ada sebuah queue dan dibuat sebuah elemen baru yang akan dimasukkan ke dalam queue. lastfirst Elemen baru Antrian (queue)

13 Elemen baru dimasukkan ke dalam queue lastfirst Antrian (queue)

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

15 ATURAN MENGELUARKAN ELEMEN Kondisi awal ada sebuah queue yang berisi elemen. lastfirst Antrian (queue)

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

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

18 ANTRIAN BERPRIORITAS Yaitu mengeluarkan elemen dari queue berdasarkan prioritas pada elemen itu. Elemen pada antrian berprioritas harus menyimpan nilai prioritas pada setiap elemen.

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

20 KETENTUAN QUEUE BERPRIORITAS Elemen yang memiliki prioritas lebih tinggi akan lebih dahulu keluar dari queue. Jika ada dua elemen yang memiliki prioritas sama, maka yang akan keluar terlebih dahulu dari antrian adalah yang terlebih dahulu masuk ke dalam antrian.

21 OPERASIPADA ANTRIAN BERPRIORITAS Kondisi awal ada sebuah antrian berprioritas yang berisi elemen dan ada sebuah elemen baru yang akan dimasukkan ke dalam antrian. last baru Antrian (queue) first

22 Mencari tempat yang sesuai untuk elemen baru sesuai dengan prioritas elemen baru pada antrian. last baru Antrian (queue) Tempat elemen baru Di belakang elemen 2 first

23 Menyisipkan elemen baru ke dalam antrian. last Antrian (queue) first 9

24  Bagaimana dengan operasi mengeluarkan sebuah elemen dari antrian berprioritas???

25 KARAKTERISTIK QUEUE  Elemen antrian yaitu item-item data yang terdapat di elemen antrian  Front  Rear  Jumlah elemen pada antrian (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 Enqueue Rear Dequeue Front

27 Status antrian

28 Penuh  Bila elemen pada antrian mencapai kapasitas maksimum antrian.  Pada kondisi ini, tidak mungkin dilakukan penambahan ke antrian. Penambahan elemen menyebabkan kondisi kesalahan Overflow.

29 Kosong  Bila tidak ada elemen pada antrian.  Pada kondisi ini, tidak mungkin dilakukan pengambilan elemen dari antrian.  Pengambilan elemen menyebabkan kondisi kesalahan Underflow.

30 Queue berguna untuk menyimpan pekerjaan yang tertunda.

31 GAMBARAN PROSES QUEUE (ANTRIAN)

32 Deklarasi  Deklarasi  Inisialisasi  Cek kosong  Cek penuh  Pengambilan  Penambahan  Pengaksesan DEKLARASI

33  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  Dalam antrian yang telah dibahas sebelum, semua elemen yang masuk dalam antrian dianggap mempunyai prioritas yang sama, sehingga elemen yang masuk lebih dahulu akan diproses lebih dahulu.

37  Dalam praktek, elemen-elemen yang akan masuk dalam suatu antrian ada yang dikatakan mempunyai prioritas yang lebih tinggi dibanding yang lain.  Antrian yang demikian ini disebut dengan antrian berprioritas (priority queue).

38  Salah satu cara untuk mengimplementasikan antrian berprioritas adalah dengan menggunakan linked list.  Jika kita menggunakan linked list, khususnya single linked list atau double linked list, maka ada ketentuan lain yang perlu diperhatikan, yaitu:

39  Setiap node dari linked list terdiri tiga bagian, yaitu bagian informasi, angka prioritas dan bagian-bagian penyambung ke simpul lain.  Simpul X mendahului (terletak di sebelah kiri) simpul Y, jika prioritas X lebih tinggi dibanding prioritas Y atau jika prioritas X dan Y sama, maka simpul X datang lebih dahulu dibanding dengan Y.

40  Biasanya dibuat suatu perjanjian bahwa angka prioritas yang lebih kecil menunjukkan derajad prioritas yang lebih tinggi.  Sebagai contoh, jika angka prioritas pada simpul X adalah 1 dan pada simpul Y adalah 2, maka dikatakan bahwa simpul X berprioritas lebih tinggi dibanding dengan simpul Y.


Download ppt "ANTRIAN Farid Wajdi Yusuf Pendidikan Teknik Informatika dan Komputer Jurusan Pendidikan Teknik Elektro Fakultas Teknik – Universitas Negeri Makassar."

Presentasi serupa


Iklan oleh Google