Anda di halaman 1dari 15

INOVASI

ANTRIAN
DATA
Komunikasi Data & Jaringan Komputer
Kelompok 3
● MUHAMMAD FACHRI SETIAWAN B. (D041201092)
● HAYUL KAYUM (D041201123)
● AISSIH ATASARI (D041201023)
● EDWARD WIJAYA (D041191063}
● MUTMAINNAH TULHADAWIAH (D041201092)
● CHRISTIAN EDWARD (D041191062)
● JEFRIANTO MANURUN (D041191112)
● SURAHMAN HIDAYAT (D041201077)
● KHAUDRY ADDAILAMY (D041201122)
INTRODUCT
IONProses antrian merupakan suatu proses yang berhubungan
dengan kedatangan pelanggan pada :
1. suatu fasilitas pelayanan
2. menunggu pelayanan
3. dilayani dan
4. akhirnya meninggalkan fasilitas tersebut sesudah dilayani.
Prinsip antrian data terdiri atas FIFO (First In First Out) atau masuk pertama keluar pertama
dan prinsip antrian kedua yaitu “masuk terakhir keluar pertama” atau “Last In First Out”
(LIFO), digunakan pada tumpukan atau stack.
Teori Antrian
Teori antrian merupakan studi matematis mengenai antrian atau waiting lines yang di
dalamnya disediakan beberapa alternatif model matematika yang dapat digunakan untuk
menentukan beberapa karakteristik dan optimasi dalam pengambilan keputusan suatu
sistem antrian.
Antrian merupakan suatu struktur data linear. Konsepnya sama dengan Tumpukan,
perbedaannya adalah operasi penambahan dan penghapusan pada ujung yang berbeda.
Penghapusan dilakukan pada bagian DEPAN (FRONT) dan penambahan berlaku pada
bagian BELAKANG (REAR). Elemen-elemen di dalam antrian dapat bertipe data integer,
real, rekord dalam bentuk sederhana atau terstruktur
Antrian disebut juga “Waiting Line” yaitu penambahan elemen baru dilakukan pada
LOGIKA
ANTRIAN
• Pengantri register dulu
• Setelah register pengantri
pertama dapat tempat paling
depan
• Pengantri selanjutnya berada
dibelakangnya
• Setelah proses pengantri
pertama selesai, antrian
setelahnya maju
• Sehingga terdapat tempat
kosong (paling belakang)
untuk pengantri baru
CONTOH ANTRIAN

contoh antrain kosong, antrian dengan 1elemen, dan antrian


dengan N elemen.
OPERASI DASAR PADA ANTRIAN

CreateQueue(
Q) MakeNull(Q) EmptyQ
Membuat Antrian baru Q, Mengosongkan Antrian Q, Antrian kosong? Menguji
dengan jumlah elemen jika ada elemen maka semua apakah antrian Q kosong
kosong elemen terhapus

TambahanQ/ AmbilQ/ Remove


FullQ Insert (X,Q) (Q,X)
Antrian Penuh? Menguji Memasukkan elemen baru X Mengeluarkan elemen pada
apakah Antrian Q penuh ke dalam Antrian Q antrian Q
REPRESENTASI ANTRIAN/ QUEUE

LINKED
ARRAY LIST
Queue (antrian) dapat direpresentasikan dengan array
ataupun linked list.
REPRESENTASI ANTRIAN/ QUEUE
1. REPRESENTASI QUEUE DENGAN ARRAY
Pada representasi dengan array, perlu memperhatikan indeks yaitu depan (front) dan belakang (rear)
sehingga dapat diketahui queue kosong atau tidak. Queue dapat ditambahkan dengan suatu elemen
baru selama posisi dari rear tidak sama dengan indeks maksimum dari queue array. Untuk melakukan
dequeue pada array biasanya dengan mengambil atau mengeluarkan nilai elemen pada indeks ke 0,
kemudian menggeser nilai nilai selanjutnya. Jika ingin melakukan enqueue pada array, perlu mencari
indeks dimana nilai elemen terakhir berada. Untuk pengambilan data menggunakan pointer Front
(F),sedangkan pemasukan data menggunakan pointer Rear (R).

2. REPRESENTASI QUEUE DENGAN LINKED LIST


Antrian yang direpresentasikan dengan linked list mempunyai beberapa variasi. Linked list yang
digunakan di sini menggunakan struktur yang berisi pointer yang menunjuk pada simpul Front dan
Rear dari linked list. Masing-masing simpul berisi data dari antrian dan juga link yang menunjuk
pada simpul selanjutnya dari linked list, yang dinamakan Link. Implementasi Queue dengan
menggunakan linked list memiliki keunggulan jika dibandingkan dengan array yaitu antrian dapat
dilakukan secara dinamis dengan menggunakan pointer.
ANTRIAN BERPRIORITAS
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).
Dalam antrian berprioritas, setiap elemenn yang akan msuk dalam antrian sudah
ditentukan lebih dahulu prioritasnya. Dalam hal ini berlaku dua ketentuan, yaitu:
1. Elemen-elemen yang mempunyai prioritas lebih tinggi akan diproses lebih dahulu.
2. Dua elemen yang mempunyai prioritas sama akan dikerjakan sesuai dengan urutan
pada saat kedua elemen ini masuk dalam antrian.
Dengan memperhatikan kedua ketentuan di atas, akan berlaku ketentuan bahwa
elemen yang mempunyai prioritas lebih tinggi akan dikerjakan lebih dahulu dibanding
elemen yang mempunyai prioritas lebih rendah, meskipun elemen yang berprioritas tinggimasuknya sesudah

elemen yang berprioritas rendah.


IMPLEMENTASI ANTRIAN BERPRIORITAS
Ada beberapa cara untuk mengimplementasikan antrian berprioritas. Salah satu caranya 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:
1. Setiap node dari linked list terdiri tiga bagian, yaitu bagian informasi, angka prioritas dan bagian-
bagian penyambung ke simpul lain.
2. 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.
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.
QUEUE DENGAN CIRCULAR ARRAY
Jika kita menggunakan array untuk queue seperti yang dijelaskan sebelumnya, maka
ketika ada proses pengambilan (dequeue) ada proses pergeseran data. Proses pergeseran
data ini pasti memerlukan waktu apalagi jika queue nya banyak. Oleh karena itu solusi
agar proses pergeseran dihilangkan adalah dengan metode circular array.
Queue dengan circular array dapat digambarkan sebagai berikut:
atau
QUEUE DENGAN CIRCULAR ARRAY
aturan-aturan dalam queue yang menggunakan circular array adalah:
1. Proses penghapusan dilakukan dengan cara nilai depan (front) ditambah 1 ; Front=
Front + 1
2. Poses penambahan elemen sama dengan linear array yaitu nilai belakang (rear)
ditambah 1; Rear= Rear + 1
3. Jika Front= MaksQueue dan ada elemen yang dihapus, maka nilai Front = 1
4. Jika Rear = MaksQueue dan front tidak 1 maka jika ada elemen yang akan
ditambahkan, nilai belakang = 1
5. Jika hanya tinggalo 1 elemen di queue (Front=Rear), dan akan di happus maka Front
diisi 0 dan rear diisi dengan 0 (queue kosong)
PENGAPLIKASIAN ANTRIAN DATA
• Dalam ilmu komputer, antrian atau queue banyak digunakan terutama dalam sistem
operasi yang memerlukan manajemen sumber daya dan penjadwalan. Contohnya time-
sharing computer-system yang bisa dipakai oleh sejumlah orang secara serempak.
• Salah satu penggunaan time sharing system ini dapat dilihat dalam pemakaian suatu
teller terminal pada suatu bank. Bilamana seorang nasabah datang ke bank tersebut
untuk menyimpan uang atau mengambil uang, maka buku tabungannya ditempatkan
pada terminal. Dan oleh operator pada terminal tersebut dicatat melalui papan ketik
(keyboard), kemudian data tersebut dikirim secara langsung ke pusat komputer,
memprosesnya, menghitung jumlah uang seperti yang dikehendaki, dan mencetaknya
pada buku tabungan tersebut untuk transaksi yang baru saja dilakukan
THANK
YOU!!!!

Anda mungkin juga menyukai