Anda di halaman 1dari 21

PENJADWALAN PROSES

MAKALAH

DOSEN PENGAMPU :

RUHAMAH, S.Kom., M.Kom

Disusun oleh:

KELOMPOK 1 ( 1N )

NAMA : NIM:

 RAHMI HIKMA (2304411573)


 DITA AULIA (2304411557)
 YUYUN (2304411541)
 AYESA (2304411568)
 RAHMAWATI (2304411553)
 RISDA YANI (2304411564)

PROGRAM STUDI INFORMATIKA

FAKULTAS TEKNIK KOMPUTER

UNIVERSITAS COKROAMINOTO PALOPO


2023
KATA PENGANTAR

Puji dan syukur saya panjatkan kehadirat ALLAH SWT, atas limpahan rahmat dan
karunianya baik berupa kesehatan maupun kesempatan sehingga penyusunan makalah ini dapat
terselesaikan sebagai mana mestinya. Adapun tema yang saya sajikan yaitu ”PENJADWALAN
PROSES” merupakan tugas yang di berikan oleh dosen pembimbing mata kuliah guna memenuhi
salah satu persyaratan akademik,dalam standarisasi penilayan, meskipun makalah ini telah tersusun
secara mendetail maupun ilmiawi, namun saya menyadari sepenuhnya masih banyak terdapat
kesalahan dan kekurangan yang ada di dalamnya,oleh karena itu kritik dan saran dari berbagai pihak
yang sifatnya konstruktif (membangun), terutama dari teman-teman mahasiswa maupun dosen
pembimbing, sangat saya harapkan demi kesempurnaan makalah ini, harapan penulis mudamudahan
makalah ini dapat memenuhi fungsinya.

Palopo, 01 November 2023

Kelompok 1

iii
DAFTAR ISI

KATA PENGANTAR ................................................................................................................ii


DAFTAR ISI ...............................................................................................................................iii
BAB I PENDAHULUAN............................................................................................................ 1
A. LATAR BELAKANG ....................................................................................................1
B. TUJUAN PENULISAN...................................................................................................1
C. MANFAAT PENULISAN...............................................................................................1

BAB II PEMBAHASAN.............................................................................................................2

A. PENGERTIAN PENJADWALAN PROSES................................................................2


B. KRITERIA PENGUKURAN PENJADWALAN.........................................................2
C. TIPE-TIPE PENJADWALAN.......................................................................................4
D. STRATEGI PENJADWALAN.....................................................................................5
E. ALGORITMA PENJADWALAN.................................................................................6

BAB III PENUTUP....................................................................................................................15

A. KESIMPULAN..............................................................................................................15
B. SARAN..........................................................................................................................15

DAFTAR PUSTAKA.................................................................................................................16

iv
v
BAB 1

PENDAHULUAN

A. Latar Belakang

Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang


berkaitan dengan urutan kerja yang dilakukan sistem komputer. Penjadwalan adalah fungsi
dasar dari sistem operasi. Semua resources pada komputer dijadwalkan sebelum digunakan.
Penjadwalan bertugas untuk memutuskan proses yang harus berjalan serta kapan dan selama
berapa lama proses itu berjalan. Tujuan dari multiprogramming adalah untuk memiliki
sejumlah proses yang berjalan pada sepanjang waktu, untuk memaksimalkan penggunaan
CPU. Tujuan dari pembagian waktu adalah untuk mengganti CPU dantara proses-proses yang
begitu sering sehingga user dapat berinteraksi dengan setap program sambil CPU bekerja.
Untuk sistem unipprosesor,tidak akan ada lebih dari satu proses berjalan. Jika ada proses
yang lebih dari itu, yang lainnya akan harus menunggu sampai CPU bebas dan dapat
dijadwalkan kembali.

B. Tujuan Penulisan
1. Dapat mendeskripsikan pengertin schedulling atau penjadwalan proses.
2. Dapat mengetahui tipe penjadwalan apa saja dalam sistem operasi.
3. Dapat mendeskripsikan tentang konsep dasar penjadwalan.
4. Dapat mengetahui macam-macam strategi penjadwalan.
5. Dapat mengetahui algoritma penjadwalan.
C. Manfaat Penulisan
1. Dapat mendeskripsikan pengertin schedulling atau penjadwalan proses.
2. Dapat mengetahui tipe penjadwalan apa saja dalam sistem operasi.
3. Dapat mendeskripsikan tentang konsep dasar penjadwalan.
4. Dapat mengetahui macam-macam strategi penjadwalan.
5. Dapat mengetahui algoritma penjadwalan

1
BAB II
PEMBAHASAN

A. Pengertian Penjadwalan Proses

Penjadwalan didasarkan pada sistem operasi yang menggunakan Multiprogramming.


Dengan cara mengalihkan kerja CPU untuk beberapa proses, maka CPU akan semakin
produktif. Konsep dasar dari Multiprogramming ini adalah suatu proses akan menggunakan
CPU sampai proses berada dalam status menunggu atau selesai. Pada saat menunggu, maka
CPU akan menganggur. Untuk mengatasi hal ini, maka CPU dialihkan ke proses lain yang
ada, saat suatu proses sedang dalam keadaan menunggu, demikian seterusnya. Terdapat
banyak algoritma penjadwalan baik non preemptive maupun preemptive. Penjadwalan non
preemptive yaitu begitu proses diberi jatah waktu pemroses, maka pemroses dapat diambil
alih oleh proses lain sehingga proses disela sebelum selesai dan dilanjutkan dengan
menunggu jatah waktu pemroses tiba kembali pada proses tersebut. Sebaliknya pada
penjadwalan preemptive proses dapat disela dan diambil alih dengan proses lainnya,
walaupun prosesnya belum selesai dikerjakan, dan menunggu jatah waktu untuk melanjutkan
proses semula.

Penjadwalan proses yaitu kumpulan kebijaksanaan dari mekanisme sistem operasi yang
berkaitan dengan urutan kerja yang di lakukan oleh sistem komputer. Adapun tugas
penjadwalan yaitu untuk memutuskan:

1. Proses yang harus berjalan

2. Kajian dan selama berapa lama proses itu bekerja.

B. Kriteria Pengukuran Penjadwalan


Kriteria untuk mengukur dan optimasi kinerja penjadwalan:
1. Adil (Fairness)

Adil adalah proses-proses diperlukan sama yaitu mendapatkan jatah waktu pemroses yang
sama dan tak ada proses yang tidak kebagian layanan pemroses sehingga mengalami
startvision. Sasaran pendjadwalan seharusnya menjamin tiap proses mendapat pelayanan dari
pemroses yang adil.

2
2. ensi (Efficient)

Efesiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu sibuk
pemroses. Sasaran penjadwalan adalah menjaga agar pemroses tetap dalam keadaan sibuk
sehingga efesiensi mencapai maksimum. Sibuk adalah pemroses tidak menganggur, termasuk
waktu yang dihabiskan untuk mengeksekusi program pemakai dan sistem operasi.

3. Waktu Tanggap (Response Time)

Waktu tanggap berbeda untuk sistem interaktif dan sistem waktu nyata.

a. Sistem interaktif

Waktu tanggap dalam sistem interaktif didefinisikan sebagai waktu yang dihabiskan dari
saat karakter terakhir dari perintah dimasukkan atau transaksi sampai hasil pertama muncul
dilayar (terminal). Waktu tanggap ini disebut terminal response time.

b. Sistem waktu nyata

Pada sistem waktu nyata, waktu tanggap didefinisikan sebagai waktu dari saat kejadian
(internal atau eksernal) sampai instruksi pertama rutin layanan yang dimaksud dieksekusi,
disebut event response time. Sasaran pendjadwalan adalah meminimalkan waktu tanggap.

4. Waktu Penyelesaian (Turnaround Time)

Turnaround time adalah waktu yang dihabiskan dari saat program mulai masuk ke sistem
sampai proses diselesaikan sistem. Waktu yang dimaksud adalah waktu yang dihabiskan
dalam sistem, diekspresikan sebagai jumlah waktu eksekusi dan waktu menunggu, yaitu:

Turn Arround Time = waktu eksekusi + waktu tunggu

Sasaran penjadwalan adalah meminimalkan turnaround time.

5. Throughtput

Throughtput 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 adalah memaksimalkan jumlah job yang
diproses per satu interval waktu. Lebih tinggi angka throughput, lebih banyak kerja yang

3
dilakukan sistem. Kriteria-kriteria tersebut saling bergabung dan dapat pula saling
bertentangan sehingga tidak dimungkinkan optimasi semua kriteria secara simultan.

Contoh:
Untuk memberi waktu tanggap kecil memerlukan penjadwalan yang sering beralih
diantara proses-proses itu. Cara ini meningkatkan overhead sistem dan mereduksi
throughput. Kebijaksanaan perancangan penjadwalan melibatkan kompromi diantara
kebutuhan-kebutuhan yang saling bertentangan. Kompromi ini bergantung sifat dan
penggunaan sistem komputer.

C. Tipe Tipe Penjadwalan

Terdapat tiga tipe penjadwalan berada secara bersama-sama pada sistem operasi yang
kompleks, yaitu :

1. Penjadwal jangka pendek (short-term scheduller)

Penjadwal ini bertugas menjadwalkan alokasi pemroses diantara proses-proses ready di


memori utama. Sasaran utama penjadwal ini memaksimalkan kinerja untuk memenuhi satu
kumpulan kriteria yang diharapakan. Penjadwal ini dijalankan setiap terjadi pengalihan
proses untuk memilih proses berikutnya yang harus dijalankan.

2. Penjadwal jangka menengah (medium-term scheduller)

Setelah eksekusi selama suatu waktu, proses mungkin ditunda karena membuat
permintaan layanan masukan/keluaran atau memanggil suatu system call. Proses-proses
4
tertunda tidak dapat membuat suatu kemajuan selesai sampai kondisi-kondisi yang
menyebabkan tertunda dihilangkan.

Agar ruang memori dapat bermanfaat, maka proses dipindah dari memori utama ke
memori sekunder agar tersedia ruang untuk proses-proseslain. Kapasitas memori utama
terbatas untuk sejumlah proses aktif. Aktivitas pemindahan proses yang tertunda dari
memori utama ke memori sekunder disebutswapping.

Penjadwal jangka menengah adalah menangani proses-proses swapping. Proses-proses


mempunyai kepentingan kecil saat itu sebagai proses yang tertunda. Tetapi, begitu kondisi
yang membuatnya terunda hilang dan proses dimasukkan kembali ke memori utama dan
ready. Penjadwal jangka menengah mengendalikan transisi dari suspended-ready (dari
keadaan suspend ke ready) proses-proses swapping.

3. Penjadwal jangka panjang (long-term scheduller)

Penjadwal jangka panjang bekerja terhadap antrian batch dan memilih batch berikutnya
yang harus dieksekusi. Batch biasanya adalah proses-proses dengan penggunaan sumber daya
yang intensif (yaitu waktu proses, memori, perangkat I/O), program-program ini berprioritas
rendah, digunakan sebagai pengisi (agar pemroses sibuk) selama periode aktivitas job-job
interaktif rendah. Sasaran utama penjadwal jangka pangjang adalah memberi keseimbangan
job-job campuran. Dikaitkan dengan state-state proses.

D. Strategi Penjadwalan

Terdapat dua strategi penjadwalan, yaitu:

1. Penjadwalan nonpreemptive
Begitu pemroses diberi jatah untuk memroses maka proses tidak dapat diambil alih
oleh pemroses lain sampai proses itu selesai.
2. Penjadwalan preemptive
Saat proses diberi jatah waktu pemroses maka pemroses dapat diambil alih proses lain
sehingga proses disela sebelum selesai dan harus dilanjutkan menunggu jatah waktu
pemroses tiba kembali pada proses itu.

Penjadwalan preemptive berguna pada sistem dimana proses-proses yang mendapat perhatian
tanggapan pemroses secara cepat. Misalnya:

5
a. Pada sistem waktu nyata, kehilangan interupsi (yaitu interupsi tidak segera dilayani) dapat
berakibat fatal.
b. Pada sistem interaktif/time-sharing, penjadwalan preemptive penting agar dapat
menjamin waktu tanggap yang memadai.Penjadwalan preemptive bagus, tapi tidak tanpa
ongkos. Peralihan proses (yaitu proses beralih ke proses lain) memerlukan overhead
(karena banyak tabel yang dikelola). Agar preemptive efektif, banyak proses harus berada
di memori utama sehingga proses-proses tersebut dapat segera running begitu diperlukan.
Menyimpan banyak proses tak running benar-benar di memori merupakan suatu overhead
tersendiri.

E. Algoritma Penjadwalan

Penjadwalan berkaitan dengan permasalahan memutuskan proses mana yang akan


dilaksanakan dalam suatu sistem.Proses yang belum mendapat jatah alokasi dari CPU akan
mengantri di ready queue.Berfungsi untuk menentukan proses manakah yang ada di ready
queue (antri) yang akan di eksekusi oleh CPU.

Terdapat banyak algoritma penjadwalan, baik nonpreemptive maupun preemptive.

Algoritma-algoritma yang menerapkan strategi nonpreemptive:

1. FIFO (First In First Out)

FIFO adalah akronim untuk First In, First Out (Pertama Masuk, Pertama Keluar), sebuah
abstraksi yang berhubungan dengan cara mengatur dan memanipulasi data relatif terhadap
waktu dan prioritas. Ungkapan ini menggambarkan prinsip teknik pengolahan antrean atau
melayani permintaan yang saling bertentangan dengan proses pemesanan berdasarkan
perilaku first-come, first-served (FCFS): di mana orang-orang meninggalkan antrean dalam
urutan mereka tiba, atau menunggu giliran satu di sebuah sinyal kontrol lalu lintas.

Inti dari algoritma ini adalah simple / paling sederhana karena prinsipnya sama seperti
prinsip antrian tak berprioritas. Page yang masuk terlebih dahulu maka yaitu yang akan
keluar duluan juga. Untuk algoritma ini menggunakan structure data stack. Jadi kerjanya
yaitu dimana kalau tidak ada frame yang kosong saat terjadi page fault maka korban yang
dipilih adalah frame dengan stack paling bawah seperti hal nya halaman yang sudah lama
tersimpan didalam memory maka dari itu algoritma ini juga bisa memindahkan page yang

6
sering digunakan. FCFS/FIFO bisa diartikan sebagai Proses yg tiba lebih dahulu akan
dilayani lebih dahulu.Kalau ada proses tiba pada waktu yg sama, maka pelayanan mereka
dilaksanakan melalui urutan mereka dalam antrian.Proses di antrian belakang harus
menunggu sampai semua proses di depannya selesai.Setiap proses yang berada pada status
ready dimasukkan ke dalam FCFS queue sesuai dengan waktu kedatangannya. Proses yang
pertama kali meminta jatah waktu untuk menggunakan CPU akan dilayani terlebih dahulu.
Pada skema ini, proses yang meminta CPU pertama kali akan dialokasikan ke CPU pertama
kali. Misalnya terdapat tiga proses yang dapat dengan urutan P1, P2, dan P3 dengan waktu
CPU-burst dalam milidetik yang diberikan sebagai berikut:

Process Burst Time

P1 24

P2 3

P3 3

Gant Chart dengan penjadwalan FCFS adalah sebagai berikut:

P1 P2 P3

0 24 27 30

Waktu tunggu untuk P1 adalah 0, P2 adalah 24 dan P3 adalah 27 sehingga rata-rata


waktu tunggu adalah (0 + 24 + 27)/3 = 17 milidetik. Sedangkan apabila proses datang dengan
urutan P2, P3, dan P1, hasil penjadwalan CPU dapat dilihat pada gant chart berikut:

P1 P2 P3

0 3 6 6

Waktu tunggu sekarang untuk P1 adalah 6, P2 adalah 0 dan P3 adalah 3 sehingga


ratarata waktu tunggu adalah (6 + 0 + 3)/3 = 3 milidetik. Rata-rata waktu tunggu kasus ini
jauh lebih baik dibandingkan dengan kasus sebelumnya. Pada penjadwalan CPU
dimungkinkan terjadi Convoy effect apabila proses yang pendek berada pada proses yang

7
panjang. Algoritma FCFS termasuk non-preemptive. karena, sekali CPU dialokasikan pada
suatu proses, maka proses tersebut tetap akan memakai CPU sampai proses tersebut
melepaskannya, yaitu jika proses tersebut berhenti atau meminta I/O.

2. SJF (Shortest Job First)

Mekanismenya adalah menjadwalkan proses dengan waktu jalan terpendek lebih dulu
sampai selesai, sehingga memberikan efisiensi yang tinggi dan turn around time rendah.
Dalam artian waktu yang digunakan saat program (job) mulai masuk ke system sampai
proses diselesaikan system, membutuhkan waktu yang singkat. Shortest Job First (SJF) bisa
dikatakan algoritma penjadwalan yang optimal dengan rata-rata waktu tunggu yang minimal.
Shortest Job First (SJF) Merupakan penjadwalan tidak berprioritas dan Non Preventive.
Maksud NonPreveentive disini ialah ketika proses diberi jatah waktu penggunaan prosessor
maka processor tidak dapat diambil proses lain, sampai proses tersebut selesai di eksekusi.
Penjadwalan ini mengasumsikan waktu jalan proses sampai selesai diketahui sebelumnya.
Mekanismenya adalah menjadwalkan proses dengan waktu jalan terpendek lebih dulu sampai
selesai, sehingga memberikan efisiensi yang tinggi dan turn around time rendah. Dalam artian
waktu yang digunakan saat program (job) mulai masuk ke system sampai proses diselesaikan
system, membutuhkan waktu yang singkat. Shortest Job First (SJF) bisa dikatakan algoritma
penjadwalan yang optimal dengan rata-rata waktu tunggu yang minimal. Selain FCFS/FIFO
ada juga yang namanya sjf(shortest job first)bisa diartikan yaitu Setiap proses yang ada di
ready queue akan dieksekusi berdasarkan burst time terkecil. Mengakibatkan waiting time
yang pendek untuk setiap proses dan waiting time rata-ratanya juga menjadi pendek,
sehingga dapat dikatakan ini adalah algoritma yang optimal.

Pada penjadwalan SJF, proses yang memiliki CPU burst paling kecil dilayani terlebih
dahulu. Terdapat dua skema:

1. Non preemptive, bila CPU diberikan pada proses, maka tidak bisa ditunda sampai CPU
burst selesai.
2. Preemptive, jika proses baru datang dengan panjang CPU burst lebih pendek dari sisa
waktu proses yang saat itu sedang dieksekusi, proses ini ditunda dan diganti dengan
proses baru. Skema ini disebut dengan Shortest-RemainingTime-First (SRTF). SJF adalah
algoritma penjadwalan yang optimal dengan rata-rata waktu tunggu yang minimal.

Misalnya terdapat empat proses dengan panjang CPU burst dalam milidetik.

8
Process Arrival Time Burst Time
P1 0.0 7
P2 2.0 4
P3 4.0 1
P4 5.0 4
Penjadwalan proses dengan algoritma SJF (non-preemptive) dapat dilihat pada gant chart
berikut.

P1 P2 P3 P4

0 7 8 12 16

Waktu tunggu untuk P1 adalah 0, P2 adalah 26, P3 adalah 3 dan P4 adalah 7 sehingga
rata-rata waktu tunggu adalah (0 + 6 + 3 + 7)/4 = 4 milidetik. Sedangkan Penjadwalan proses
dengan algoritma SRTF (preemptive) dapat dilihat pada gant chart berikut:

Meskipun algoritma ini optimal, namun pada kenyataannya sulit buntu


diimplementasikan karena sulit untuk mengetahui panjang CPU burst berikutnya. Namun
nilai ini dapat diprediksi. CPU burst berikutnya biasanya diprediksi sebagai suatu rata-rata
eksponensial yang ditentukan dari CPU burst sebelumnya atau “Exponential Average”.

3. HRN (Highest Ratio Net)

Penjadwalan HRN merupakan:


a. Penjadwalan non-preemptive
b. Penjadwalan berprioritas dinamis
Penjadwalan ini juga untuk mengkoreksi kelemahan SJF. HRN adalah strategi penjadwalan
nonpreemptive dengan prioritas proses tidak hanya pada waktu layanan tapi juga jumlah
waktu tunggu proses.

Prioritas dinamis HRN dihitung berdasarkan rumus:

Prioritas = (Waktu tunggu + waktu layanan) / waktu layanan

9
Karena waktu layanan muncul sebagai pembagi maka proses yang lebih pendek mempunyai
prioritas yang lebih baik. Karena waktu tunggu sebagai pembilang maka proses yang telah
menunggu lebih lama juga mempunya kesempatan lebih bagus untuk memperoleh layanan
pemrosesan.

Disebut HRN (High Response Next) karena waktu tanggap adalah waktu tunggu + waktu
layanan. Ketentuan HRN adalah untuk memperoleh waktu tanggap tertinggi yang harus
dilayani.

4. MFQ (Multiple Feedback Queue)

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. misalnya pada contoh berikut.

a. Semua proses yang baru datang akan diletakkan pada queue 0 (quantum= 8 ms).
b. Jika suatu proses tidak dapat diselesaikan dalam 8 ms, maka proses tersebut akan
dihentikan dan dipindahkan ke queue 1 (quantum= 16 ms).
c. Queue 1 hanya akan dikerjakan jika tidak ada lagi proses di queue 0, dan jika suatu
proses di queue 1 tidak selesai dalam 16 ms, maka proses tersebut akan dipindahkan
ke queue 2.
d. Queue 2 akan dikerjakan bila queue 0 dan 1 kosong, dan akan berjalan dengan
algoritma FCFS.

Disini terlihat bahwa ada kemungkinan terjadinya perpindahan proses antar queue,
dalam hal ini ditentukan oleh time quantum, namun dalam praktek penerapannya, algoritma
multilevel feedback queue mendefinisikan terlebih dahulu parameter-parameternya, yaitu:

a. Jumlah antrian.
b. Algoritma internal tiap queue.
c. Aturan sebuah proses naik ke antrian yang lebih tinggi.
d. Aturan sebuah proses turun ke antrian yang lebih rendah.
e. Antrian yang akan dimasuki tiap proses yang baru datang.

10
Contoh:

Terdapat tiga antrian; Q1=10 ms, FCFS Q2=40 ms, FCFS Q3=FCFS proses yang masuk,
masuk ke antrian Q1. Jika dalam 10 ms tidak selesai, maka proses tersebut dipindahkan ke
Q2. Jika dalam 40 ms tidak selesai, maka dipindahkan lagi ke Q3. Berdasarkan hal-hal di atas
maka algoritma ini dapat digunakan secara fleksibel dan diterapkan sesuai dengan kebutuhan
sistem. Pada zaman sekarang ini algoritma multilevel feedback queue adalah salah satu yang
paling banyak digunakan.

Algoristma-algoritma yang menerapkan strategi preemptive:

1. RR (Round Robin)

Penjadwalan Round-Robin merupakan penjadwalan preemptive, namun proses tidak di-


preempt secara langsung oleh proses lain namun oleh penjadwal berdasarkan lama waktu
berjalannya suatu proses maka penjadwalan ini disebut preempt-by-time. Semua proses
dianggap penting dan diberi sejumlah waktu pemroses yang disebut kwanta (quantum) atau
time-slice tempat proses itu berkalan. Proses berjalannya selama 1 kwanta, kemudian
penjadwal akan mengalihkan kepada proses berikutnya, juga untuk berjalan satu kwanta,
begitu seterusnya sampai kembali pada proses pertama dan berulang.

Semua proses dianggap penting dan diberi sejumlah waktu proses yang disebut kwanta
(quantum) atau time slice dimana proses itu berjalan.

Ketentuan algoritma round robin adalah sebagai berikut:

a. Jika kwanta dan proses belum selesai maka proses menjadi runnable dan pemroses
dialihkan ke proses lain.
b. Jika kwanta belum habis dan proses menunggu suatu kejadian (selesainya operasi I/O),
maka proses menjadi blocked dan pemroses dialihkan ke proses lain.
c. Jika kwanta belum habis tapi proses telah selesai, maka proses diakhiri dan pemroses
dialihkan ke proses lain.

Algoritma penjadwalan ini dapat diimplementasi sebagai berikut:

a. Mengelola senarai proses read (runnable) sesuai urutan kedatangan


b. Ambil proses yang berada di ujing depan antrian menjadi running.
c. Bila kwanta belum habis dan proses selesai maka ambil proses di ujung depan antrian
proses ready.

11
d. Jika kwanta habis dan proses belum selesai maka tempatkan proses running ke ekor
antrian proses ready dan ambil proses di ujung depatn antrian proses ready.

Algoritma ini menggilir proses yang ada di antrian. Proses akan mendapat jatah
sebesar time quantum. Jika time quantum-nya habis atau proses sudah selesai, CPU akan
dialokasikan ke proses berikutnya. Tentu proses ini cukup adil karena tak ada proses yang
diprioritaskan, semua proses mendapat jatah waktu yang sama dari CPU yaitu (1/n), dan
tak akan menunggu lebih lama dari (n1)q dengan q adalah lama 1 quantum.
Algoritma ini sepenuhnya bergantung besarnya time quantum. Jika terlalu besar,
algoritma ini akan sama saja dengan algoritma first come first served. Jika terlalu kecil,
akan semakin banyak peralihan proses sehingga banyak waktu terbuang.
Permasalahan utama pada Round Robin adalah menentukan besarnya time quantum.
Jika time quantum yang ditentukan terlalu kecil, maka sebagian besar proses tidak akan
selesai. dalam 1 quantum. Hal ini tidak baik karena akan terjadi banyak switch, padahal
CPU memerlukan waktu untuk beralih dari suatu proses ke proses lain (disebut dengan
context switches time). Sebaliknya, jika time quantum terlalu besar, algoritma Round
Robin akan berjalan seperti algoritma first come first served. Time quantum yang ideal
adalah jika 80% dari total proses memiliki CPU burst time yang lebih kecil dari 1 time
quantum.
Konsep dasar dari algoritma ini adalah dengan menggunakan time-sharing. Pada
dasarnya algoritma ini sama dengan FCFS, hanya saja bersifat preemptive. Setiap proses
mendapatkan waktu CPU yang disebut dengan waktu quantum (quantum time) untuk
membatasi waktu proses, biasanya 1-100 milidetik. Setelah waktu habis, proses ditunda
dan ditambahkan pada ready queue.
Jika suatu proses memiliki CPU burst lebih kecil dibandingkan dengan waktu
quantum, maka proses tersebut akan melepaskan CPU jika telah selesai bekerja, sehingga
CPU dapat segera digunakan oleh proses selanjutnya. Sebaliknya, jika suatu proses
memiliki CPU burst yang lebih besar dibandingkan dengan waktu quantum, maka proses
tersebut akan dihentikan sementara jika sudah mencapai waktu quantum, dan selanjutnya
mengantri kembali pada posisi ekor dari ready queue, CPU kemudian menjalankan proses
berikutnya.
Jika terdapat n proses pada ready queue dan waktu quantum q, maka setiap proses
mendapatkan 1/n dari waktu CPU paling banyak q unit waktu pada sekali penjadwalan
CPU. Tidak ada proses yang menunggu lebih dari (n-1)q unit waktu. Performansi
12
algoritma round robin dapat dijelaskan sebagai berikut, jika q besar, maka yang
digunakan adalah algoritma FIFO, tetapi jika q kecil maka sering terjadi context switch.

2. SRTF (Shortest Remaining Time First)


Perbedaan SRTF dengan SJF:
a. Pada SJF, begitu proses dieksekusi, proses dijalankan sampai selesai.
b. Pada SRTF proses sedang berjalan (Running) dapat diambil alih oleh proses baru
dengan sisa waktu jalan yang diestimasi lebih rendah.

Kelemahan:

SRTF mempunyai overhead yang lebih besar dibandingkan SJF. SRTF memerlukan
penyimpanan waktu layanan yang telah dihabiskan proses dan kadang-kadang harus
menangani peralihan. Secara teoritis SRTF memberi waktu tunggu minimum tapi karena
adanya overhead peralihan maka pada situasi tertentu SJF bisa memberi kinerja yang lebih
baik dibanding SRTF.

3. PS (Priority Schedulling)

Priority Scheduling Merupakan algoritma penjadwalan yang mendahulukan proses yang


memiliki priortas tertinggi.

Prioritas dapat diberikan secara:

a. Prioritas Statis
Prioritas statis berarti prioritas tak berubah
Keunggulan: mudah diimplementasikan dan mempunyai overhead relatif kecil
Kelemahan: penjadwalan tak tanggap terhadap lingkungan yang mungkin menghendaki
penyesuaian prioritas.

b. Prioritas dinamis
Merupakan mekanisme menanggapi perubahan lingkungan sistem beroperasi.
Prioritas awal diberikan ke proses mungkin hanya berumur pendek setelah disesuaikan ke
nilai yanglebih tepat sesuai lingkungan.Kelemahan dari prioritas dinamis
adalah Implementasi mekanisme prioritas dinamis lebih kompeks dan mempunyai
overhead lebih besar. Overhead ini diimbangi dengan peningkatan daya tanggap sistem.

13
Contoh penjadwalan berprioritas:

Proses-proses yang sangat banyak operasi I/O menghabiskan kebanyakan waktu menunggu
selesainya operasi I/O. Proses-proses ini diberi prioritas sangat tinggi sehingga begitu proses
memerlukan pemroses segera diberikan, proses akan segera memulai permintaan I/O
berikutnya hingga mengakibatkan proses blocked menunggu selesainya operasi I/O. Dengan
demikian pe mroses dapat dipergunakan proses-proses lain. Proses-proses I/O bound berjalan
paralel bersama proses-proses lain yang benar-benar memerlukan pemroses, sementara
proses-proses I/O bound itu menunggu selesainya operasi DMA.

Proses-proses yang sangat banyak operasi I/O kalau harus menuggu lama untuk
memakai pemroses (karena prioritas rendah) hanya akan membebani meori karena harus
disimpan tanpa perlu prosesproses itu dimemori karena tidak selesai-selesai menunggu operai
I/O dan menunggu jatah pemroses.

Keunggulan penjadwalan prioritas biasanya memenuhi kebijaksanaan yang ingin


mencapai maksimasi suatu kriteria yang diterapkan.

4. GS (Guaranteed Schedulle)

Penjadwalan ini memberikan janji yang realistis (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.

Rasio 0,5 berarti sebuah proses hanya punya 0,5 dari apa yang waktu CPU miliki dan
rasio 2,0 berarti sebuah proses hanya punya 2,0 dari apa yang waktu CPU miliki. Algoritma
akan menjalankan proses dengan rasio paling rendah hingga naikketingkat lebih tinggi diatas
pesaing terdekatnya. Ide sederhana ini dapat diimplementasikan ke sistem real-time dan
memiliki penjadwalan berprioritas dinamis.

14
BAB III

PENUTUP

A. Kesimpulan

Berdasarkan segi waktu penyelesaian proses, penjadwalan proses preemptive dinilai lebih
efektif, karena dalam penjadwalan metode ini proses-proses dengan waktu proses yang lebih
pendek akan selesai lebih dulu, karena walaupun terdapat proses dengan waktu proses yang lama
berada pada antrian pertama, sedangkan ada proses di antrian kedua dengan waktu proses lebih
pendek, maka proses pada antrian pertama dapat disela untuk mengerjakan proses diantrian kedua
terlebih dahulu hingga selesai, dengan asumsi penjadwalan preemptive tersebut tidak berprioritas.

Beberapa penjadwalan proses yang telah divisualisasikan mempunyai kesamaan dalam


menyelesaikan sebuah proses yang berada di dalam antrian. Proses dengan waktu proses terpendek
akan diselesaikan terlebih dahulu, setelah itu baru proses-proses lainnya yang mempunyai waktu
proses lebih lama.

B. Saran

Program visualisasi adalah program yang dibuat dengan 2 perangkat lunak yang berbeda,
yaitu Macromedia Flash dan Visual Basic.NET. Untuk menampilkan visualisasi di dalam web,
hendaknya menggunakan bantuan program Macromedia Dreamweaver atau PHP, agar visualisasi
penjadwalan proses dapat dipelajari semua orang yang tertarik mempelajari penjadwalan proses
dan mencari bentuk visualisasinya dari Internet.

Program visualisasi hanya menampilkan delapan algoritma proses penjadwalan. Hendaknya


dibuat juga visualisasi proses penjadwalan sistem operasi lainnya, sehingga akan didapatkan
gambaran yang lebih jelas mengenai proses penjadwalan dalam sistem operasi

15
DAFTAR PUSTAKA

file:///C:/Users/Admin/Downloads/Documents/adoc.pub_kc-fakultas-ilmu-komputer-
fikom.pdf

http://nadongnabil.blogspot.com/2018/04/makalah-penjadwalan-proses.html

file:///C:/Users/Admin/Downloads/Documents/penjadwalanproses.pdf

16

Anda mungkin juga menyukai