Kamis, 06 Desember 2018

Algoritma Round Robin

Algoritma Round Robin

Pengertian

Round robin merupakan salah satu algoritma penjadwalan yang paling sederhana untuk proses dalam sistem operasi. Round robin ditugaskan untuk membagi waktu setiap proses pada porsi yang sama dan dalam urutan melingkar, menjalankan semua proses tanpa prioritas dikenal juga sebagai eksekutif siklik, (Ishwari, 2012).
Penjadwalan round-robin itu sederhana, mudah diterapkan, dan bebas starvation. Penjadwalan round-robin juga dapat diterapkan untuk masalah penjadwalan lainnya, seperti penjadwalan paket data dalam jaringan komputer. Round robin dirancang untuk sistem time sharing. Algoritma ini mirip dengan penjadwalan FCFS (First Come First Served), namun preemption ditambahkan untuk switch (peralihan proses) antara proses. (Yaashuwanth, 2009)

Ketentuan Algoritma Round Robin
Ketentuan Algoritma Round Robin adalah sebagai berikut:
  1. Jika quantum dan proses belum selesai maka proses menjadi runnable dan pemroses dialihkan ke proses lain.
  2. Jika quantum belum habis dan proses menunggu suatu kejadian (selesainya operasi I/O), maka proses menjadi blocked dan pemroses dialihkan ke proses lain.
  3. Jika quantum belum habis tapi proses telah selesai, maka proses diakhiri dan pemroses dialihkan ke proses lain.

Contoh Soal


Hitunglah Average Waiting Times proses di atas dengan menggunakan algoritma penjadwalan Round Robin dengan QT = 5ms! 

Penyelesaian:
Seperti halnya algoritma penjadwalan sebelumnya, langkah pertama untuk mencari AWT dengan Algoritma penjadwalan Round Robin dilakukan dengan membuat Gantt Chart prosesnya. Berikut gambarnya:
Dari Gantt Chart di atas terlihat bahwa setiap proses dikerjakan menurut waktu yaitu setiap proses di proses sebesar 5. Awalnya P1 akan di kerjakan sebanyak 5 langkah, kemudian, P2 sebanyak 5 langkah, dan begitupun selanjutnya hingga P5. Proses yang sudah di proses menurut porsi waktu yang diberikan akan kembali menunggu dan berada paling belakang dari antrian proses yang ada. Contohnya P1 dikerjakan di awal, kemudian ada P2, P3,P4,dan P5 yang mengantri di belakangnya. Jika P1 selesai di proses menurut porsi waktunya maka P1 akan di pindahkan ke belakang, sehingga urutannya menjadi P2, P3, P4, P4, P1. begitupun seterusnya.

Setelah mendapatkan Gantt Chartnya, sekarang kita menghitung waiting timesnya, lihat gambar di bawah:

Dari Waiting Times di atas dapat kita tentukan AWTnya yaitu dengan cara :


Jadi Awtnya = 21.4 ms