Anda di halaman 1dari 6

LAPORAN SISTEM OPERASI

ALGORITMA PENJADWALAN PROSES

DOSEN PENGAMPU:
NOVA NOOR KAMALA SARI, S.T., M.Kom.
198904072015042004

DISUSUN OLEH :
ADINDA CAHYA KAMILLA (223010503018)
NADYA REVELIN PUTRI (223010503035)
NOVIA FITRIANI (223010503040)
NATASYA PRIYANI (223010503041)

JURUSAN TEKNIK INFORMATIKA


FAKULTAS TEKNIK
UNIVERSITAS PALANGKARAYA
2023
ALGORITMA PENJADWALAN PROSES DAN PENERAPANNYA

A. Algoritma-Algoritma Yang Menerapkan Strategi Nonpreemptive


1. FIFO (First-in, First-out) atau FCFS (First Come, First Serve)
2. SJF (Shortest Job First).
Algoritma Shortest Job First Scheduling sangat optimal, karena
memberikan rata-rata waktu tunggu lebih kecil dibandingkan algoritma
penjadwalan yang lain dengan cara memindahkan job-job pendek di
depan job-job yang panjang, sehingga akan mengurangi waktu tunggu.
Untuk memperjelasnya dapat dilihat di contoh berikut.
Misalkan ada empat job yaitu A, B, C, D masing-masing waktu
kedatangan sama, yaitu pada t = 0, dan lama proses job berturut-turut : 8,
4, 4, 4.
Tabel 1. Shortest Job First Jika Waktu Tiba Bersamaan
PROSES LAMA EKSEKUSI
P1 8
P2 4
P3 4
P4 4
Jika urutan pengerjaannya :
a. Job A, B, C, D
b. Job B, C, D, A
Maka proses pengerjaannya adalah sebagai berikut :

8 4 4 4
a.
A B C D

4 4 4 8
b. B C D A
Dengan pengerjaan job berdasarkan urutan (a), maka berturut-turut
waktu yang dibutuhkan untuk proses A, B, C, D adalah 8, 12, 16, 20
sehingga dapat dihitung waktu rata-rata = ( 8 + 12 + 16 + 20 ) / 4 = 14.
Bila job yang dikerjakan berdasarkan (b), yaitu dengan shortest job first,
maka waktu yang dibutuhkan untuk proses B, C, D, A adalah 4, 8, 12, 20
atau rata-rata = ( 4 + 8 + 12 + 20 ) / 4 = 11. Pada algoritma ini setiap
proses yang ada di ready queue akan dieksekusi berdasarkan burst time
terkecil. Hal ini mengakibatkan waiting time yang pendek untuk setiap
proses dan karena hal tersebut maka waiting time rata-ratanya juga
menjadi pendek, sehingga dapat dikatakan bahwa algoritma ini adalah
algoritma yang optimal.
Tabel Shortest Job First Jika Waktu Tiba Berbeda
PROSES WAKTU TIBA LAMA EKSEKUSI
P1 0.0 7
P2 2.0 4
P3 4.0 1
P4 6.0 3

Tabel Perhitungan SJF Non-preemptive


PROSES WAKTU LAMA MULAI SELESAI LAMA LAMA
TIBA EKSEKUSI EKSEKUSI EKSEKUSI TANGGAP TUNGGU
P1 0.0 7 0 7 7 0
P3 4.0 1 8 11 7 4
P4 6.0 3 9 12 6 3
P2 2.0 4 12 15 13 10

Tabel Ganntt Chart SJF Non-preemptive


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
P1 P1 P1 P1 P1 P1 P1 P3 P4 P4 P4 P2 P2 P2 P2

Pada algoritma Shortest Job First Scheduling Non-preemptive,


CPU tidak memperbolehkan proses yang ada di ready queue untuk
menggeser atau menginterupsi proses yang sedang dieksekusi oleh CPU
meskipun proses yang baru tersebut mempunyai burst time yang lebih
pendek.  
Dapat dilihat pada contoh gambar di atas P1 datang di awal dengan
lama eksekusi 7 dan tetap berlanjut sampai akhir proses P1. Baru
kemudian di lanjut oleh P3 dengan lama eksekusi terpendek yaitu 1, baru
kemudian dilanjutkan dengan P4 dengan lama eksekusi 3, dan diikuti
oleh P2 yang memiliki lama eksekusi 4. Dari tabel perhitungan dapat
dihitung rata rata waktu tanggap yaitu, (7+7+6+13)/4 = 8,25. Serta rata
rata waktu tunggu yaitu, (0+4+3+10)/4 = 4,25.

3. HRN (Highest Ratio Next).


4. MFQ (Multiple Feedback Queues).

B. Algoritma - Algoritma Yang Menerapkan Strategi Preemptive


1. RR (Round-Robin)
2. SRF (Shortest Remaining First)
Sortest Remaining First (SRF) adalah bagian counter preemptive
dari SJF atau dengan kata lain adalah algoritma penjadwalan preemptive
dengan prioritas. Prioritas didasarkan pada pendeknya sisa proses. Makin
pendek sisa proses makin tinggi prioritasnya. Dalam SRF, proses dengan
perkiraan waktu berjalan terkecil sampai selesai dijalankan berikutnya,
Dalam SRF, proses yang sedang berjalan dapat didahului oleh proses
pengguna dengan perkiraan waktu proses yang lebih singkat. Contoh, di
mana tiga proses tiba di urutan A ,B ,C pada waktu yang disebutkan di
bawah ini, dan kemudian waktu tunggu rata-rata menggunakan algoritma
penjadwalan SJF akan dihitung sebagai:
Tabel Contoh Penjadwalan SFR
PROSE WAKTU TIBA LAMA EKSEKUSI
S
A 0 11
B 1 6
C 2 3

Tabel Ganntt Chart SRF


A B C B A
0 1 2 5 10 20

Tabel Perhitungan SRF Preemptive


PROSES WAKTU LAMA SELESAI
TIBA EKSEKUSI EKSEKUSI
A 0.0 11 => 10 20
B 1.0 6 => 5 10
C 2.0 3 5

Pertama, mulai dengan angka 0 dari prosess A dengan lama


eksekusi 11 dieksekusi karena proses ini yang pertama kali tiba.
Kemudian, Prosess B datang pada waktu tiba 2.0  dengan lama eksekusi
6 yang lebih singkat dari prosess A, dan proses A yang di eksekusi
belum selesai (1). Kemudian, dibandingkan antar lama eksekusi proses A
bersisa 10 (11-1=10 karena proses B datang ketika proses A dieksekusi
1) untuk menyelesaikanya dan proses B memiliki 6 untuk
menyelesaikanya sehingga proses B lebih singkat untuk dikerjakan lebih
dulu, maka prosess A di pending dan prosess B dikerjakan.
Kemudian, Prosess C datang pada waktu tiba 2.0 ketika prosess B
dan A belum selesai dieksekusi. Lama eksekusi proses C hanya 3 dan
lebih singkat dari A dan B. Kemudian, dibandingkan antar lama eksekusi,
A=10ms dan B=5ms(6-1=5 karena proses C dating Ketika proses B
dieksekusi 1) dan C=3 untuk menyelesaikannya, dan ternyata C lebih
singkat dari proses A dan B maka proses C akan di prosess terlebih
dahulu dan proses A serta B dipending, Kemudian, ketika Prosess C telah
selesai maka kita bandingkan lagi antar lama eksekusi proses A dan B
yang ternyata lebih singkat proses B sehingga proses B di eksekusi
sampai selesai lalu dilanjutkan proses A hingga selesai.
Untuk menghitung waktu tunggunya yaitu dengan rumus (lama
selesai eksekusi dikurang lama eksekusi) dikurang waktu tiba.
Tabel Perhitungan Waktu Tunggu SRF

PROSE WAITING TIME


S
A (20 - 11) - 0. = 9
B (10 - 6) - 1 = 3
C (5 - 3) - 2 = 0
Dan untuk menghitung rata rata waktu tunggu nya dengan rumus
jumlah waktu tunggu/jumlah proses, yaitu (9 + 3 + 0)/3 = 4.

3. PS (Priority Schedulling )
4. GS (Guaranteed Schedulling )

Anda mungkin juga menyukai