Anda di halaman 1dari 39

Penjadwalan Proses

[Algoritma]
Sistem Operasi/ TIK1620 / KKNI 2016
I Made Ardwi Pradnyana, S.T., M.T.
Outline

1. Klasifikasi Algoritma Berdasarkan Strategi Penjadwalan


2. Klasifikasi Algoritma Berdasarkan Prioritas
3. Algoritma Penjadwalan
1. FIFO (First-in, First-out)/ FCFS (First-come, First-serve)
2. SJF (Shortest Job First)
3. RR (Round Robin)
4. SRF (Shortest Remaining First)/ SRT (Shortest-Remaining Time)
5. PS (Priority Scheduling)
1. Klasifikasi Algoritma Berdasarkan Strategi
Penjadwalan
1. Algoritma menggunakan strategi nonpreemptive
1. FIFO (First-in, First-out) atau FCFS (First-come, First-serve)
2. SJF (Shortest Job First)
3. HRN (Highest – Ratio Next)
4. PS (Priority Scheduling)

2. Algoritma menggunakan strategi preemptive


1. MFQ (Multiple Feedback Queues)
2. RR (Round Robin)
3. SRF (Shortest Remaining First) atau SRT (Shortest-Remaining Time)
4. PS (Priority Scheduling)
5. GS (Guaranteed Schedulling)
2. Klasifikasi Algoritma Berdasarkan Prioritas

1. Algoritma penjadwalan tanpa prioritas


a. FIFO (First-in, First-out) atau FCFS (First-come, First-serve)
b. RR (Round Robin)
2. Algoritma penjadwalan berprioritas (statik dan dinamis)
a. SJF (Shortest Job First): statis
b. SRF (Shortest Remaining First) atau SRT (Shortest-Remaining Time): dinamis
c. PS (Priority Scheduling): statis dan dinamis
3. Algoritma-Algoritma Penjadwalan Proses
3.1 Algoritma FIFO atau FCFS

• Menggunakan strategi penjadwalan non-preemtive (run to completion)


• Merupakan penjadwalan tidak berprioritas
Ketentuan Algoritma

1. Proses-proses diberi jatah waktu pemroses diurutkan berdasarkan waktu


kedatangan proses-proses tersebut ke sistem.
2. Begitu proses mendapat jatah waktu pemroses, proses dijalankan sampai
selesai.
Kelebihan, Kelemahan dan Masalah FIFO

1. Fairness: FIFO dikatakan adil dalam arti resmi (semantik/ ari antrian yaitu proses yang datang duluan, dilayani
duluan juga), tapi dinyatakan tidak adil karena proses-proses yang perlu waktu lama membuat proses-proses
pendek menunggu. Proses-proses yang tidak penting dapat membuat proses-proses yang penting menjadi
menunggu.
2. Efisiensi: sangat efisien dalam penggunaan pemroses.
3. Waktu tanggap (response time): tidak memuaskan karena proses dapat menunggu lama. Tidak cocok untuk
sistem interaktif.
4. TAT: tidak bagus
5. Throughput: tidak bagus
• Karena menggunakan strategi non-preemtive, makan akan memunculkan convoy effect, dimana semua proses
menunggu di antrian sampai CPU dilepaskan oleh proses yang memakainya.
• FIFO jarang digunakan secara mandiri tapi dikombinasikan dengan skema lain, misalnya keputusan berdasarkan
prioritas proses, sedangkan proses-proses dengan berprioritas sama diputuskan berdasarkan FIFO.
Contoh Soal

1. Misal ada tiga proses P1, P2, P3 yang datang bersamaan di milidetik ke 0 dengan urutan kedatangan
P1, P2 dan disusul P3 serta dengan lama waktu kerja CPU (CPU Burst-time) masing-masing sbb:

Jika proses-proses tersebut diijadwalkan menggunakan algoritma FIFO, maka tentukanlah:


a. Tentukanlan Average Waiting Time / AWT dari proses-proses tersebut!

b. Tentukan Average Turn Around Time/ ATAT dari proses-proses tersebut!


Penyelesaian:
• Penggamaran Gantt Chart dengan algoritma FIFO:

a. Waktu tunggu untuk P1 adalah 0 milidetik, waktu tunggu untuk P2 adalah 24 milidetik, waktu tunggu
P3 adalah 27 milidetik. Jadi rata-rata waktu tunggu (Average Waiting Time / AWT) adalah (0+24+27)/3
= 17 milidetik.
b. Turn around time (waktu penyelesaian) P1 adalah 24, P2 = 27, P3 = 30, maka rata-rata turn around time
atau Average Turn Around Time/ ATAT = (24+27+30)/3 = 27 milidetik.
3.2 Algoritma SJF

• Menggunakan strategi penjadwalan non-preemtive (run to completion)


• Penjadwalan dapat dikatakan berprioritas. Di SJF, prioritas diasosiasikan dengan masing-
masing proses dan pemroses dialokasikan ke proses dengan prioritas tertinggi. Proses-
proses dengan prioritas yang sama akan dijadwalkan secara FIFO.
Ketentuan Algoritma

1. Penjadwalan ini mengasumsikan waktu jalan proses (sampai selesai) atau waktu
lamanya proses diketahui sebelumnya.
2. Menjadwalkan proses dengan waktu jalan terpendek sampai selesai terlebih dahulu
3. Setelah selesai, dilanjutkan dengan menjadwalkan proses dengan waktu terpendek
berikutnya, begitu seterusnya.
Kelebihan, Kelemahan dan Masalah SJF

1. Fairness: -
2. Efisiensi: sangat tinggi
3. Waktu tanggap (response time): -
4. TAT: rendah (bagus)
5. Throughput: -
• Walaupun memiliki TAT yang bagus, SJF memiliki masalah:
• Tidak dapat mengetahui ukkuran proses saat proses masuk
• Proses tidak datang bersamaan sehingga penetapannya harus dinamis
Contoh Soal

1. Misal terdapat kumpulan proses dengan burst-time sebagai berikut :

Proses-proses tersebut datang disaat yang bersamaan yaitu di milidetik ke 0. Jika proses-
proses tersebut dijadwalkan menggunakan algoritma SJF, tentukanlah Average Waiting
Time / AWT dari proses-proses tersebut!
Penyelesaian
• Penggambaran Gantt Chart dengan algoritma SJF :

• Dari Gantt Chart dapat diambil nilai waktu tunggu untuk :


• P1 = 3 milidetik
• P2 = 16 milidetik
• P3 = 9 milidetik
• P4 = 0 milidetik
• Jadi AWT yang dihasilkan adalah (3+16+9+0) / 4 = 7 milidetik.
Contoh Soal

2. Tentukan Average Turn Around Time/ ATAT untuk proses-proses berikut jika dijadwalkan
menggunakan algoritma SJF!
Penyelesaian:
Contoh Soal

3. Jika diketahui proses-proses dengan informasi sebagai berikut:

Jika proses-proses tersebut diijadwalkan menggunakan algoritma SJF, maka


tentukanlah Average Waiting Time / AWT dari proses-proses tersebut!
Penyelesaian

Penggambaran Gantt Chart menggunakan algoritma SJF:

Dari Gantt Chart dapat diambil nilai waktu tunggu untuk:


• A = 0 milidetik

• B = waktu mulai dilayani – waktu saat tiba = 8-2 = 6 milidetik

• C = waktu mulai dilayani – waktu saat tiba = 7-4 = 3 milidetik

• D = waktu mulai dilayani – waktu saat tiba = 12-5 = 7 milidetik

Jadi AWT yang dihasilkan adalah (0+6+3+7) / 4 = 4 milidetik.


3.3 Algoritma RR

• Merupakan penjadwalan preemtive, namun tidak di-preempt secara


langsung oleh proses lain namun oleh penjadwal berdasarkan lama waktu
berjalannya suatu proses (preemt-by-time)
• Merupakan penjadwalan tanpa prioritas. Semua proses dianggap penting
dan diberi sejumlah waktu pemroses yang disebut kwanta (quantum) atau
time-slice dimana proses itu berjalan.
Diagram Alur Penjadwalan RR
Ketentuan Algoritma

1. Proses berjalan selama 1 kwanta, kemudian penjdwal akan mengalilhkan kepada proses
berikutnya, juga untuk berjalan satu kwanta, begitu seterusnya sampai kembali pada
proses pertama, dan berulang.
2. Jika quantum habis dan proses belum selesai maka proses menjadi runnable dan pemroses
dialihkan ke proses lain
3. jika quantum belum habis dan proses menunggu suatu kejadian (selesainya I/O), maka
proses menjadi blocked dan pemroses dialihkan ke proses lain.
4. jika quantum belum habis tapi proses telah selesai maka proses diakhiri dan pemroses
dialihkan ke proses lain.
Kelebihan, Kelemahan dan Masalah RR

1. Fairness: adil bila dipandang dari persamaan pelayanan oleh pemroses


2. Efisiensi: cenderung efesien pada siste interaktif
3. Waktu tanggap (response time): memuaskan untuk sistem interaktif, tidak memadai
untuk sistem waktu nyata
4. TAT: cukup bagus
5. Throughput: cukup bagus
Masalah pada algoritma RR:
6. Kwanta terlalu besar menyebabkan waktu tanggap besar dan TAT rendah.
7. Kwanta terlalu kecil mengakibatkan peralihan proses terlalu banyak sehingga
menurunkan efisiensi sistem
Contoh Soal

1. Misal sekumpulan proses datang pada waktu 0 dengan spesifikasi:

Jika digunakan quantum time 4 milidetik, tentukan AWT dari proses-proses


tersebut dengan menggunakan algoritma Round Robin!
Penyelesaian
• Jika digunakan quantum time 4 milidetik, maka proses P1 mendapat 4 milidetik yang pertama, 20
milidetik berikutnya akan disela oleh proses P2 dan P3 secara bergantian, sehingga Gantt Chart-nya dapat
digambarkan sbb:

• Waktu tunggu untuk tiap-tiap proses :

• AWT yang terjadi adalah (6+4+7)/3 = 5,66 milidetik


Contoh Soal

2. Gambarkan gantt chart dan tentukan Average Turn Around Time untuk proses-
proses berikut dengan menggunakan algoritma RR dengan quantum waktu (q)
=3
Penyelesaian
3.4 Algoritma SRF/ SRT

• Merupakan penjadwalan preemtive dan penjadwalan berprioritas dinamis.


• Merupakan perbaikan dari SJF.
Ketentuan SRF

1. Proses dengan sisa waktu jalan diestimasi terendah dijalankan, termasuk proses-proses
yang baru tiba.
2. Proses yang sedang running dapat diambil alih oleh proses baru yang memilki sisa
burst time yang lebih kecil.
• Perbedaan SRF dengan SJF:
• Pada SJF, begitu proses dieksekusi, proses dijalankan sampai selesai.
• Pada SRF, proses yang sedang berjalan dapat diambil alih oleh proses baru dengan sisa waktu
jalan yang diestimasi lebih rendah.
Kelemahan SRF

• SRF mempunyai overhead yang lebih besar dibandingkan dengan SJF.


• Beresiko menimbulkan starvation.
• SRF memerlukan penyimpanan waktu layanan yang telah dihabiskan
proses dan kadang-kadang harus menangani peralihan.
• Tibanya proses-proses kecil akan segera dijalankan
• Proses-proses lebih lama berarti dengan lama dan variasi waktu tunggu lebih lama
dibandingkan dengan SJF.
Contoh Soal

1. Jika diketahui proses-proses dengan informasi sebagai berikut:

Jika proses-proses tersebut diijadwalkan menggunakan algoritma SRF, maka


tentukanlah AWT dan TAT dari proses-proses tersebut!
Penyelesaian:
• Gantt Chart algoritma SRF:
• Dari Gantt Chart dapat diambil nilai waktu tunggu untuk :
A. = 0 + (11-2) = 9 milidetik
B. = 0 + (5-4) = 1 milidetik
C. = 0 milidetik
D. = 7-5 = 2 milidetik
Jadi AWT yang dihasilkan adalah (9+1+0+2) / 4 = 3 milidetik.
• Menentukan turn around time dan ATAT:
3.5 Algoritma PS

• Merupakan algoritma penjadwalan preemtive ataupun non-preemtive, tergantung


perbandingan nilai prioritas. Jika ada proses P1 yang datang pada saat P0 sedang berjalan,
maka akan dilihat prioritas P1. Seandainya prioritas P1 lebih besar dibanding dengan
prioritas P0 maka pada non preemptive, algoritma tetap akan menyelesaikan P0 sampai
habis CPU burst-nya, dan meletakkan P1 pada posisi head queue. Sedangkan pada
preemptive, P0 akan dihentikan dulu, dan CPU ganti dialokasikan untuk P1.
• Menggnakan PS, setiap proses diberi nilai prioritas. Nilai prioritas dapat bersifat statis
ataupun dinamis (berubah terus dari waktu ke waktu).
• Prioritas biasanya menyangkut masalah: waktu, memori yang dibutuhkan, banyaknya file
yang boleh dibuka, dan perbandingan antara rata-rata I/O burst dengan rata-rata CPU burst.
Ketentuan PS

1. Tiap proses dilengkapi dengan prioritas.


2. Proses dengan prioritas lebih tinggi dijadwalkan terlebih dahulu dengan kata lain CPU
dialokasikan untuk proses yang memiliki prioritas paling tinggi.
3. Jika ada proses baru yang masuk memiliki prioritas lebih tinggi dari proses yang sedang
berjalan makan akan terjadi preemtion dan prosesor dialihkan ke proses yang baru
tersebut.
4. Jika beberapa proses memiliki prioritas yang sama, maka akan digunakan algoritma FIFO.
Kelemahan PS

• Dapat menimbulkan starvation. Starvation akan terjadi pada


proses dengan prioritas rendah, karena proses dengan prioritas
rendah akan selalu ditunda pengeksekusiannya ketika ada
proses-proses baru yang memiliki prioritas lebih tinggi.
Contoh Soal

1. Jika diketahui terdapat 5 proses P1, P2, P3, P4 dan P5 dengan CPU burst:

Tentukan AWT dari proses-proses tersebut menggunakan algoritma PS!


Penyelesaian
• Gambaran gantt chart untuk proses tersebut dengan algoritma PS:

• Waktu tunggu untuk tiap-tiap proses:

• Sehingga AWT = (6+0+16+18+1) = 8,2 ms.


Review Materi

1. Jelaskan secara singkat pengklasifikasikan algoritma FIFO (First-in, First-out)/ FCFS


(First-come, First-serve), SJF (Shortest Job First), RR (Round Robin), SRF (Shortest
Remaining First)/ SRT (Shortest-Remaining Time) dan PS (Priority Scheduling)
berdasarkan prioritas dan strategi penjadwalan!
2. Buatlah masing-masing 1 contoh soal dan penyelesaiannya untuk kasus algoritma FIFO
(First-in, First-out)/ FCFS (First-come, First-serve), SJF (Shortest Job First), RR
(Round Robin), SRF (Shortest Remaining First)/ SRT (Shortest-Remaining Time) dan
PS (Priority Scheduling)!

Anda mungkin juga menyukai