Anda di halaman 1dari 60

Fakultas Ilmu Komputer

Defri Kurniawan, M.Kom

Penjadwalan Proses
Materi

 Deskripsi penjadwalan
 Kriteria pengukuran penjadwalan
 Tipe-tipe penjadwalan
 Strategi Penjadwalan
 Algoritma Penjadwalan
Pengertian Penjadwalan

Pengertian
 Penjadwalan proses merupakan kumpulan
kebijaksanaan dan mekanisme di sistem
operasi yang berkaitan dengan urutan kerja
yang dilakukan sistem komputer
Pengertian Penjadwalan (lanj)

Adapun penjadwalan bertugas memutuskan:


1. Proses yang harus berjalan
2. Kapan dan berapa lama proses itu berjalan
Sasaran Penjadwalan

Kriteria-kriteria yang digunakan sebagai sasaran


penjadwalan, meliputi:

1. Adil (fairness)
2. Efisiensi (eficiency)
3. Waktu tanggap (response time)
• Sistem interaktif
• Sistem waktu nyata
4. Turn around time
5. Throughput
1. Adil (fairness)
Adalah proses-proses yang diperlakukan
sama, yaitu mendapat jatah waktu pemroses
yang sama dan tak ada proses yang tak
kebagian layanan pemroses sehingga
mengalami kekurangan waktu.

Sasaran penjadwalan:
Menjamin setiap proses mendapat pelayanan
dari pemroses secara adil.
2. Efisiensi (eficiency)
• Efisiensi atau utilisasi pemroses dihitung dengan
perbandingan (rasio) waktu sibuk pemroses
• Keadaan sibuk berarti pemroses tidak menganggur.
• Layanan pemroses termasuk waktu yang
dihabiskan untuk mengeksekusi program pemakai
dan layanan sistem operasi

Sasaran penjadwalan:
• Menjaga agar pemroses tetap dalam keadaan sibuk
sehingga efisiensi sistem komputer mencapai
maksimum.
3. Waktu tanggap (response time)
Waktu tanggap dalam Sistem Interaktif
Didefinisikan sebagai waktu yang dihabiskan dari saat
karakter terakhir perintah dimasukkan
Atau transaksi sampai hasil pertama muncul di layar
(terminal). Waktu tanggap ini disebut terminal response
time.
Waktu tanggap dalam Sistem waktu nyata (real
time)
Didefinisikan sebagai waktu dari saat kemunculan suatu
kejadian sampai instruksi layanan rutin pertama
terhadap kejadian yang dieksekusi, disebut event
respons time.
3. Waktu tanggap (response time)
Sasaran penjadwalan pada kriteria ini adalah
meminimalkan waktu tanggap sehingga
menghasilkan system yang reponsif
4. Turn Around Time
Adalah waktu yang dihabiskan dari saat program atau
job mulai masuk ke sistem sampai proses diselesaikan
sistem. Waktu yang dimaksud adalah waktu yang
dihabiskan di dalam sistem.

 Turn arround time = waktu eksekusi + waktu


menunggu.
 Sasaran Penjadwalan adalah meminimalkan turn
arround time
5. Throughput
 Adalah jumlah kerja yang dapat diselesaikan dalam
satu unit waktu.
 Cara untuk mengekspresikan throughput adalah
dengan jumlah job pemakai yang dapat dieksekusi
dalam satu unit/interval waktu

Sasaran Penjadwalan:
 Memaksimalkan jumlah job yang diproses persatu
interval waktu.
 Lebih besar angka throughput, lebih banyak kerja yang
dilakukan sistem.
Tipe Penjadwalan (1)

 Terdapat 3 tipe penjadwal berada secara


bersama-sama pada sistem operasi yang
kompleks, yaitu:
1. Penjadwal jangka pendek (short term
scheduller)
2. Penjadwal jangka menengah (medium term
scheduller)
3. Penjadwal jangka panjang (long term
scheduller)
Tipe Penjadwalan (2)
 Penjadwalan jangka pendek (short-termscheduller)
Penjadwalan ini bertugas menjadwalkan alokasi pemroses
diantara proses-proses ready di memori utama.

 Penjadwalan jangka menengah (medium termscheduller )


Penjadwalan jangka menengah adalah menangani proses-
proses swapping (aktivitas pemindahan proses yang
tertunda dari memory utama ke memory sekunder).

 Penjadwalan jangka panjang (long-termscheduller)


Penjadwalan jangka panjang bekerja terhadap antrian batch
(proses – proses dengan penggunaan sumberdaya yang
intensif) dan memilih batch berikutnya yang harus di
eksekusi.
Penjadwal jangka pendek (short term
scheduller)
 Digunakan untuk memilih diantara proses-
proses yang siap dieksekusi. kemudian
proses tersebut salah satunya dialokasikan
ke CPU
 Short term scheduler juga digunakan untuk
memilih proses baru untuk CPU
 Dan memilih proses berikutnya yang harus
dijalankan.
Penjadwal jangka menengah (medium
term scheduller)
 Proses-proses yang mempunyai kepentingan
kecil saat itu sebagai proses yang tertunda
ataupun tertunda karena memuat layanan
I/O atau memanggil sekumpulan layanan

 Aktivitas pemindahan proses yang tertunda


dari memori utama ke memori sekunder
disebut swapping
Penjadwal jangka menengah (medium
term scheduller)
 Begitu kondisi yang membuatnya tertunda
hilang, proses dimasukkan kembali ke
memori utama dan ready
Penjadwal jangka menengah (medium
term scheduller)
Penjadwal jangka panjang (long term
scheduller)
 Long term scheduller menentukan program
mana yang diakui pada sistem untuk
diproses, kapan dan mana yang harus
dikeluarkan

 Penjadwalan ini bekerja terhadap antrian


batch dan memilih batch berikutnya yang
harus dieksekusi
Penjadwal jangka panjang (long term
scheduller)
 Batch biasanya adalah proses-proses dengan
penggunaan sumber daya yang intensif (yaitu
waktu pemroses, memori, perangkat
input/output)

 Program-program ini berprioritas rendah,


digunakan sebagai pengisi (agar pemroses
sibuk) selama periode aktivitas job-job
interaktif rendah.
Tipe-tipe Penjadwalan
Strategi Penjadwalan
1. Penjadwalan non-preemptive (run to
completion)
Proses diberi jatah waktu oleh pemroses dan
pemroses tidak dapat diambil alih oleh proses lain
sampai proses itu selesai
2. Penjadwalan preemptive
Proses diberi jatah waktu oleh pemroses dan
pemroses dapat diambil alih proses lain. Sehingga
proses disela sebelum selesai dan harus dilanjutkan
menunggu jatah waktu pemroses tiba kembali pada
proses itu
Algoritma Penjadwalan
Berikut jenis-jenis algoritma berdasarkan
penjadwalan
1. Nonpreemptive
2. Preemtive

Klasifikasi lain berdasarkan adanya prioritas di


proses-proses, yaitu :
1. Algoritma penjadwalan tanpa berprioritas
2. Algoritma penjadwalan berprioritas
Algoritma Penjadwalan
1. Nonpreemptive
 FIFO (First In First Out) atau FCFS (First Come
First Serve)
 SJF (Shortest Job First)
 HRN (Highest Ratio Next)
 MFQ (Multiple Feedback Queues).
Algoritma Penjadwalan
2. Nonpreemptive
 RR (Round Robin)
 SRF (Shortest Remaining First)
 PS (Priority Schedulling)
 GS (Guaranteed Schedulling)
Penjadwalan Non Preemtive
Penjadwalan FIFO (First In First Out) [1]
Merupakan penjadwalan nonpreemptive dan penjadwalan tidak berprioritas.
Penjadwalan FIFO adalah penjadwalan paling sederhana, yaitu :
• Proses-proses diberi jatah waktu pemroses berdasarkan waktu kedatangan
• Saat proses mendapat jatah waktu pemroses, proses dijalankan sampai selesai

Penjadwalan ini adil yaitu proses yang datang duluan, dilayani duluan juga.
Dikatakan tidak adil karena job-job yang perlu waktu lama membuat job-job
pendek menunggu. Job-job tak penting dapat membuat job-job penting
menunggu.

Contoh Soal:

Jika diketahui 5 macam antrian proses yaitu : A-B-C-D-E dengan waktu


kedatangan semuanya 0 dan prosesor sedang tidak aktif (PP=0), lama proses
berturut-turut antara lain 5,2,6,8,3.
Penjadwalan FIFO (First In First Out) [2]
Penjadwalan FIFO (First In First Out) [3]
Terlihat lama tanggap : 14 Nilai ini cukup besar bila dibanding lama proses
masing2.
Contoh diatas tidak disertai waktu tiba.

Berikut ini adalah contoh dengan waktu tiba yang berbeda:


Penjadwalan FIFO (First In First Out) [4]

Selesai Eksekusi = Mulai Eksekusi + Selesai Eksekusi

TA = Selesai Eksekusi - Total Waktu Tiba


Penjadwalan FIFO (First In First Out) [5]
Cara lain untuk mengerjakan
Misal ada tiga proses P1, P2, P3 yang
datang dengan lama waktu kerja CPU (CPU
Burst-time) masing-masing sbb :
Jika proses datang dengan urutan P1, P2, P3
dan dilayani dengan algoritma FIFO maka
dapat digambarkan Gantt Chart-nya :

Dari Gantt Chart dapat diambil kesimpulan 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.
Kemudian jika waktu kedatangan proses adalah P3, P2, P1 maka Gantt Chartnya adalah
Penjadwalan FIFO (First In First Out) [5]
Menentukan Turn Around Time dengan FIFO berdasarkan contoh diatas :

Turn around time (waktu penyelesaian) P1 adalah 24, P2 = 27, P3 = 30, maka rata-rata turn
around time = (24+27+30)/3 = 27 milidetik.
Penjadwalan Shortest Job First (SJF) [1]

Penjadwalan dengan tipe prioritas tanpa


preeemptive.
• Dasar prioritasnya adalah pendeknya proses.
• Makin pendek prosesnya makin tinggi
prioritasnya.

Waktu tiba =
sama (0)
Penjadwalan Shortest Job First (SJF) [2]
Penjadwalan Highest Ratio Next (HRN) [1]

Penjadwalan untuk mengoreksi kelemahan SJF.

Adalah strategi penjadwalan dengan prioritas proses tidak


hanya merupakan fungsi waktu layanan tetapi juga jumlah
waktu tunggu proses. Begitu proses mendapat jatah pemroses,
proses berjalan sampai selesai.

Prioritas dinamis HRN dihitung berdasarkan rumus:


Prioritas = (waktu tunggu + waktu layanan ) / waktu layanan
Penjadwalan Highest Ratio Next (HRN) [1]

Karena waktu layanan muncul sebagai pembagi, maka job lebih


pendek berprioritas lebih baik, karena waktu tunggu sebagai
pembilang maka proses yang telah menunggu lebih lama juga
mempunyai kesempatan lebih bagus.

Disebut HRN, karena waktu tunggu ditambah waktu layanan adalah


waktu tanggap, yang berarti waktu tanggap tertinggi yang harus
dilayani.
Penjadwalan Highest Ratio Next (HRN) [1]
Penjadwalan ini merupakan :
Rumus : Rp = ( s + t ) / t
Penjadwalan non-preemptive
waktu tunggu : s, waktu layanan : t
Penjadwalan berprioritas dinamis.

Dari soal diatas yang dikerjakan pertama kali


adalah job yang tiba pertama kali.
Dikarenakan job lain belum tiba.
Penjadwalan Highest Ratio Next (HRN) [2]

B=(4-1), C=
(4-2),
D=(4-3),
E=(4-4)
Penjadwalan Highest Ratio Next (HRN) [3]
Penjadwalan Highest Ratio Next (HRN) [4]
Penjadwalan Multiple Feedback Queues (MFQ)
Penjadwalan ini merupakan :
Penjadwalan preemptive (by time ) dan berprioritas dinamis.
Latihan Penjadwalan Non Preemtive

Hitunglah waktu Turn Around (TA), Total dan Reratanya!


1. Diketahui 10 antrian proses yaitu : A-B-C-D-E-F-G-H-I-J dengan
waktu kedatangan semuanya 0 dan prosesor sedang tidak aktif
(PP=0), lama proses berturut-turut antara lain 8,5,4,10,3,9,2,1,7,8
(Menggunakan FIFO).

2. Diketahui 7 antrian proses yaitu : P-Q-R-S-T-U-V dengan waktu


kedatangan semuanya 0 dan prosesor sedang tidak aktif (PP=0),
lama proses berturut-turut antara lain 6,9,1,5,7,7,2 (Menggunakan
SJF).

3. Diketahui 5 antrian proses yaitu : A-B-C-D-E dengan waktu


kedatangan semuanya 0, 1, 2, 3,4 dan prosesor sedang tidak
aktif (PP=0), lama proses berturut-turut antara lain 1,5,7,9,10
(HRN)
Latihan Penjadwalan Non Preemtive

4. Diketahui 5 antrian proses yaitu : P-Q-R-S-T dengan waktu


kedatangan berturut-turut 0,1,3,5,8 dan prosesor sedang tidak
aktif (PP=0), lama proses berturut-turut antara lain 8,5,4,10,3
(Menggunakan FIFO).

5. Diketahui 6 antrian proses yaitu : E-F-G-H-I-J dengan waktu


kedatangan berturut-turut 0,2,3,5,7,9 dan prosesor sedang tidak
aktif (PP=0), lama proses berturut-turut antara lain 1,5,7,9,10,12
(Menggunakan SJF dan HRN)
Penjadwalan Preemtive
Penjadwalan Round Robin (RR) [1]
• Pada penjadwalan RR ini Eksekusi dijalankan secara giliran
berdasarkan antrian ( Non – Preemptive), prosesor mengerjakan
sesaat setiap proses secara berturut-turut.
• Proses yang telah dieksekusi tapi belum selesai akan kembali ke
antrian terakhir.
Penjadwalan Round Robin (RR) [2]

CONTOH SOAL I

Jika diketahui waktu tiba proses


sama yaitu 0,
dengan Quantum (Q) = 2.

Hitunglah waktu Turn Arround (TA)


untuk tiap-tiap proses, Total TA dan
Rata-rata TA-nya?!
Penjadwalan Round Robin (RR) [2]

JAWAB SOAL I

A B A B C D E A C E C
0 3 6 9 11 14 17 19 22 25 26 28
Penjadwalan Round Robin (RR) [3]

CONTOH SOAL II

Jika diketahui waktu tiba proses


bukan 0, dengan Quantum (Q) = 2.

Hitunglah waktu Turn Arround (TA)


untuk tiap-tiap proses?!
Penjadwalan Round Robin (RR) [3]

JAWAB SOAL II

A B A B C D E A C E C E C
0 2 4 6 7 9 10 12 13 15 17 19 21 22

NAMA WAKTU LAMA MULAI SELESAI TA


PROSES TIBA EKSEKUSI EKSEKUSI EKSEKUSI
A 0 5 0 13 13
B 1 3 2 7 6
C 5 7 7 22 17
D 6 1 9 10 4
E 7 6 10 21 14
Penjadwalan Round Robin (RR) [4]
CONTOH SOAL III:
Misal kumpulan proses datang pada
waktu 0 dengan spesifikasi :

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 ms
Penjadwalan Round Robin (RR) [4]
CONTOH SOAL IV:
Menentukan Turn Around Time untuk
quantum waktu (q) = 3
Penjadwalan Shortest-Remaining-First (SRF)
Penjadwalan ini merupakan :
• Penjadwalan preemptive dengan sisa waktu terpendek.
• Penjadwalan berprioritas dinamis.

Contoh Soal I
Penjadwalan Shortest-Remaining-First (SRF)
Jawab Soal I

A B B D A C
0 2 4 5 9 14 23

NAMA WAKTU LAMA MULAI SELESAI TA


PROSES TIBA EKSEKUSI EKSEKUSI EKSEKUSI
A 0 7 0 14 14
B 2 3 2 5 3
C 4 9 14 23 19
D 5 4 5 9 4
Penjadwalan Shortest-Remaining-First (SRF)
Contoh Soal II
Hitunglah waktu tunggu tiap-tiap proses dan rata-ratanya
(AWT) dari tabel proses di bawah ini?!

PROSES ID WAKTU TIBA LAMA


EKSEKUSI

P1 0 10
P2 3 6
P3 7 12
P4 9 8
P5 10 6
Penjadwalan Shortest-Remaining-First (SRF)
Jawab Soal II

P1 P2 P2 P1 P1 P5 P4 P4
0 3 7 9 10 16 22 30 42

PROSES WAKTU LAMA MULAI SELESAI WAKTU


ID TIBA EKSEKUSI EKSEKUSI EKSEKUSI TUNGGU (WT)
P1 0 10 0 16 (0-0) +(9-3)=6
P2 3 6 3 7 (3-3)=0
P3 7 12 30 42 (30-7)=23
P4 9 8 22 30 (22-9)=13
P5 10 6 16 22 (16-10)=6
Total WT=48
AWT=9,65
Penjadwalan Priority Schedulling (PS) [1]
Tiap proses dilengkapi dengan prioritas. CPU dialokasikan untuk proses
yang memiliki prioritas paling tinggi. Jika beberapa proses memiliki
prioritas yang sama, maka akan digunakan algoritma FIFO.

Prioritas dapat diberikan secara :


• Prioritas statis (static priorities).
• Prioritas dinamis (dynamic priorities).

Prioritas Statis
Prioritas statis berarti prioritas tak berubah.

Prioritas Dinamis
Merupakan mekanisme menanggapi perubahan lingkungan sistem
beroperasi. Prioritas awal yang diberikan ke proses mungkin hanya
berumur pendek setelah disesuaikan ke nilai yang lebih tepat sesuai
lingkungan.
Penjadwalan Priority Schedulling (PS) [1]
Contoh :
Jika ada 5 proses P1, P2, P3, P4 dan
P5 dengan CPU burst :

Gant Chart:

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


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.
Penjadwalan Guaranteed Schedulling (GS) [1]
Penjadwalan ini harus menjamin bahwa algoritma tersebut mempunyai
kinerja yang cukup bagus dan menjanjikan kelangsungan hidup yang baik.
Contoh : misal ada n user yang sedang login, maka tiap-tiap user dijanjikan
akan menerima 1/n dari kemampuan CPU.

Untuk meyakinkan bahwa setiap user mendapatkan jatah waktu


menggunakan CPU sesuai dengan haknya maka sistem harus tahu berapa
CPU time yang diperlukan oleh setiap proses dalam 1 user. Dan juga CPU
time yang diperlukan oleh tiap-tiap user.
Penjadwalan Guaranteed Schedulling (GS) [2]
Total waktu yang dibutuhkan untuk mengakses kelima user tersebut adalah
20 ms, sehingga diharapkan tiap user mendapatkan 20/5 = 4 ms. Pada
kenyataannya, mulai dari login hingga saat ini tiap-tiap user telah
mendapatkan CPU seperti terlihat pada tabel berikut. Dan rasio antara CPU
yang diperoleh sampai saat ini (aktual) dengan CPU yang seharusnya
diperoleh (4ms) dapat dicari :

Dapat dilihat bahwa user A memiliki rasio 0.75, artinya A baru mendapatkan ¾ dari
jatah waktu yang seharusnya diterima. User B memiliki rasio 1.5, artinya B telah
mendapatkan 1.5 waktu dari yang seharusnya ia dapatkan. Algoritma ini kemudian
akan menjalankan proses dengan rasio yang paling rendah dahulu hingga proses
tersebut mendapatkan rasio melebihi rasio proses yang sebelumnya punya rasio satu
tingkat lebih tinggi darinya.
Latihan Penjadwalan Preemtive
1. Terdapat 5 job yang datang hampir pada saat yang bersamaan.
Estimasi waktu eksekusi (burst time) masing-masing 10, 6, 2, 4 dan 8
menit dengan prioritas masing-masing 3, 5, 2, 1 dan 4, dimana 5
merupakan prioritas tertinggi. Tentukan rata-rata waktu turnaround
untuk penjadwalan CPU dengan menggunakan algoritma PS

2. Diketahui proses berikut :


Proses Waktu eksekusi
P1 11
P2 4
P3 6
P4 16
P5 9

Diketahui waktu tiba proses diatas =0, tentukan rata-rata turn around time
(AWT) menggunakan algoritma penjadwalan RR dengan quantum time=5,
TERIMA KASIH

Anda mungkin juga menyukai