OLEH :
M. IZZUDDIN
NIM :
TI16190025
SMESTER :
II (DUA)
KATA PENGANTAR
Puji Syukur Alhamdulillah kita panjatkan kehadirat Allas Swt. yang telah memberikan
ramat dan karunianya kepada kita semua. Serta shalawat terhantur kepada nabi besar
Muhammad Saw, semoga kelak kita mendapat safaatnya, Amin.
Rasa terimakasih juga penulis hanturkan kepada dosen yang telah mempercayakan
pembuatan makalah ini kepada saya yang berjudul “SISTEM ANTRIAN”. Seperti kata
pepatah tidak ada gading yang tak retak, begitu juga dengan pembuatan makalah ini
saya akui masih banyak kekurangan karena pengalaman yang saya miliki sangatlah
kurang oleh karena itu saya harapkan kepada pembaca untuk memberikan masukkan-
masukan yang bersifat membangun dan untuk kesempurnaan makalah ini.
BAB I
PENDAHULUAN
A. Latar Belakang
Dan semoga Makalah ini dapat membantu, setidaknya dapat memberikan sedikit
pengetahuan tentang “SISTEM ANTRIAN”Algorima dan Pemrograman Data.
B. Rumusan Masalah
Melihat dari latar belakang masalah , maka penulis dapat merumuskan masalah
pada manajemen algoritma yang terbagi menjadi 5, yaitu :
3. Guaranteed Scheduling
PEMBAHASAN
Queue (Antrian) adalah suatu kumpulan data yang mana penambahan data / elemen
hanya dapat dilakukan pada sisi belakang sedangkan penghapusan / pengeluaran
elemen dilakukan pada sisi depan.
Dalam antrian tidak semuanya dilakukan secara FIFO murni, contoh yg relevan
dalam bidang komputer adalah Time-sharing Computer System, dimana ada sejumlah
penakai ( user ) yg menggunakan sistem tsb secara serempak. Karena sistem ini biasanya
menggunakan processor, dan sebuah memory utama. Jika processor sedang dipakai oleh
seorang user, maka user yang lain harus antri sampai gilirannya.
Antrian ini tidak akan dilayani secara FIFO murni tetapi biasanya didasarkan pada
suatu prioritas tertentu. Antrian yang memasukkan unsur prioritas dinamakan dengan
ANTRIAN PRIORITAS ( PRIORITY QUEUE )
Elemen yang pertama kali masuk ke antrian akan keluar pertama kalinya.
DEQUEUE adalah mengeluarkan satu elemen dari suatu antrian. Terdapat satu buah
pintu masuk di suatu ujung dan satu buah pintu keluar di ujung satunya sehingga
membutuhkan variabel Head dan Tail.
1. Multilevel Queue Scheduling
Ide dasar dari algoritma ini berdasarkan pada sistem prioritas proses. Kemudian
muncul ide untuk menganggap kelompok-kelompok tersbut sebagai sebuah antrian-
antrian kecil yang merupakan bagian dari antrian keseluruhan proses, yang sering
disebut dengan algoritma multilevel queue.
Dalam hal ini, dapat dilihat bahwa seolah-olah algoritma dengan prioritas yang
dasar adalah algoritma multilevel queue dimana setiap queue akan berjalan dengan
algoritma FCFS yang memiliki banyak kelemahan. Oleh karena itu, algoritma multilevel
queue memungkinkan adanya penerapan algoritma internal dalam masing-masing sub-
antriannya yang bisa memiliki algoritma internal yang berbeda untuk meningkatkan
kinerjanya. Berawal dari priority scheduling, algoritma ini pun memiliki kelemahan yang
sama dengan priority scheduling, yaitu sangat mungkin bahwa suatu proses pada queue
dengan prioritas rendah bisa saja tidak mendapat jatah CPU. Untuk mengatasi hal
tersebut, salah satu caranya adalah dengan memodifikasi algoritma ini dengan adanya
jatah waktu maksimal untuk tiap antrian, sehingga jika suatu antrian memakan terlalu
banyak waktu, maka prosesnya akan dihentikan dan digantikan oleh antrian
dibawahnya, dan tentu saja batas waktu untuk tiap antrian bisa saja sangat berbeda
tergantung pada prioritas masing-masing antrian.Multilevel Feedback Queue Scheduling
( Part 2 ).
Algoritma ini mirip sekali dengan algoritma multilevel queue. Perbedaannya ialah
algoritma ini mengizinkan proses untuk pindah antrian. Jika suatu proses menyita CPU
terlalu lama, maka proses itu akan dipindahkan ke antrian yang lebih rendah. Hal ini
menguntungkan proses interaksi karena proses ini hanya memakai waktu CPU yang
sedikit. Demikian pula dengan proses yang menunggu terlalu lama. Proses ini akan
dinaikkan tingkatannya. Biasanya prioritas tertinggi diberikan kepada proses dengan CPU
burst terkecil, dengan begitu CPU akan terutilisasi penuh dan M/K dapat terus sibuk.
Semakin rendah tingkatannya, panjang CPU burst proses juga semakin besar.
a. Jumlah antrian.
Dengan pendefinisian seperti tadi membuat algoritma ini sering dipakai, karena
algoritma ini mudah dikonfigurasi ulang supaya cocok dengan sistem. Tapi untuk
mengatahui mana penjadwal terbaik, kita harus mengetahui nilai parameter tersebut.
Multilevel feedback queue adalah salah satu algoritma yang berdasar pada algoritma
multilevel queue. Perbedaan mendasar yang membedakan multilevel feedback queue
dengan multilevel queue biasa adalah terletak pada adanya kemungkinan suatu proses
berpindah dari satu antrian ke antrian lainnya, entah dengan prioritas yang lebih rendah
ataupun lebih tinggi. Pada zaman sekarang ini algoritma multilevel feedback queue
adalah salah satu yang paling banyak digunakan.
3. Guaranteed Scheduling
Penjadualan ini memberi daya pemroses yang sama untuk membuat dan
menyesuaikan performance adalah jika ada N pemakai, sehingga setiap proses
(pemakai) akan mendapatkan 1/N dari daya pemroses CPU. Untuk mewujudkannya,
sistem harus selalu menyimpan informasi tentang jumlah waktu CPU untuk semua
proses sejak login dan juga berapa lama pemakai sedang login. Kemudian jumlah waktu
CPU, yaitu waktu mulai login dibagi dengan n, sehingga lebih mudah menghitung rasio
waktu CPU. Karena jumlah waktu pemroses tiap pemakai dapat diketahui, maka dapat
dihitung rasio antara waktu pemroses yang sesungguhnya harus diperoleh, yaitu 1/N
waktu pemroses seluruhnya dan waktu pemroses yang telah diperuntukkan proses itu.
Algoritma akan menjalankan proses dengan rasio paling rendah hingga naik ke tingkat
lebih tinggi diatas pesaing terdekatnya. Ide sederhana ini dapat diimplementasikan ke
sistem real-time dan memiliki penjadualan berprioritas dinamis.
Deklarasi Queue :
#defineMAX8
Int head;
Int tail;
}queue;
1. Create ( )
void create()
Antrian.head=antrian.tail=-1;
2. IsEmpty ( )
· Kita tidak memeriksa Head, karena Head adalah tanda untuk kepala antrian
(elemen pertama dalam antrian) yang tidak akan berubah-ubah
int isempty()
{if (antrian.tail==-1)
Return1;
Else
Return 0;
3. IsFull
· Dengan cara mengecek nilai Tail, jika Tail >= MAX-1 (karena MAX-1 adalah batas
elemen array pada C) berarti sudah penuh .
Sebagai berikut:
int isfull()
{ if (antrian.tail==MAX-1) return1
Else return0;
4. Enqueue (data)
· Untuk menambahkan elemen ke dalam antrian, penambahan elemen selalu
ditambahkan di elemen paling belakang.
Sebagai berikut:
{anrtrian.head=anrtrian.tail=0;
Antrian.data [anrtrian.tail]=data;
}else
If (isFull()==0)
{antrian.tail++;
Antrian.data [antrian.tail]=data;
6. 5. Dequeue()
· Dengan cara mengurangi counter Tail dan menggeser semua elemen antrian
kedepan.
· Penggeseran dilakukan dengan menggunakan looping.
Sebagai berikut:
int dequeue()
Int I;
Antrian.tail--;
Return;
6. Clear()
· Untuk menghapus elemen-elemen Antrian dengan cara membuat Tail dan Head =
-1
Sebagai berikut:
void Clear()
{antrian.head=antrian.tail=-1;
7. Tampil
Sebagai berikut:
Void tampil()
{ if (isEmpty ()==0)
{printf(“%”,antrian.data [i]);
}
BAB III
PENUTUP
A. KESIMPULAN
Jadi dapat di simpulakan bahwa.sistem antrian itu tidak bisa lepas dari manusia, dari
kehidupan sehari-hari kita dapat melihat dan merasakannya. contohnya : Atm,
Spbu.Hotel. Rumahkan dan lain-lain. dan masih banyak lagi yang belum kita ketahui,,
maka tugas kita adalah belajar, mencari tau dan melakukan penelitian....
DAFTAR PUSTAKA
http://kumpulandancontohmakalah.blogspot.com