You are on page 1of 7

2.

Average waiting time dari algoritma penjadwalan proses dengan SRTF

Cara mencari Average waiting time dari algoritma penjadwalan proses. SRTF ini adalah
algoritma penjadwalan proses yang mencari waktu terpendek daripada sebuah proses
yang memungkinkan proses yang satu dengan yang lainnya mengalami penyelaan.
Untuk lebih jelasnya akan membahas contoh soal. Berikut soal yang akan di bahas :

Hitunglah Average Waiting Time dengan algoritma penjadwalan SRTF dari tabel di atas!
Langsung saja kepada penyelesaiannya:
Hal yang pertama dilakukan yaitu membuat Gantt Chart, berikut gambarnya:

bagaimana Gantt Chartnya bisa seperti di atas?

Penjelasan:
Ketika CPU tidak melakukan apa-apa dating P1 untuk meminta di proses. Dimana P1
membutuhkan waktu 10 untuk menyelesaikan seluruh prosesnya.
Tetapi, P1 baru dikerjakan sejumlah 3 sudah datang P2 yang ingin di proses. P2
membutuhkan waktu pengerjaan seluruh prosesnya sejumlah 6. Karena P2 memiliki
waktu proses yang lebih sedikit dibandingkan dengan P1 maka P2 akan diproses
terlebih dahulu.

Pada saat P2 sedang di proses, pada titik ke 7 datng P3 yang mempunyai waktu
penyelesaian seluruh prosesnya sejumlah 12. Pada waktu yang bersamaan P1 yang
berjumlah 7 dan P2 yang berjumlah 2 sedang menunggu. CPU kemudian melakukan
pengecekan terhadap ke tiga proses tersebut. Yang memiliki waktu tunggu yang paling
sedikit yaitu P2, maka P2 akan dikerjakan sampai selesai yaitu pada titik 9.
Di titik 9 P2 sudah selesai di proses, maka pada saat ini CPU akan melakukan
pengecekan kembali terhadap proses yang akan dikerjakan. Pada titik 9 sudah ada P1
yang mempunyai waktu pengerjaan 7 dan P3 yang mempunyai waktu pengerjaan 12.
Namun pada saat yang bersamaan datang P4 yang mempunyai waktu pemrosesan 8.
Setelah melakukan pengecekan dari tiga proses tersebut, CPU memutuskan bahwa
yang akan di kerjakan pada titik 9 yaitu P1, hal ini karena P1 memiliki waktu
pemrosesan paling sedikit disbanding ketiga proses tersebut.
Pada saat P1 dikerjakan di titik 10 datang P5 yang membutuhkan waktu pengerjaan
sejumlah 6. Disana juga masih terdapat antrian proses yaitu ada P3(12), P4(8). Jika
dilihat P1 dan P5 memiliki waktu pengerjaan proses sejumlah 6, sama seperti SJF jika
ada proses yang memiliki kesamaan waktu pengerjaan, maka proses yang lebih awal
datang akan dikerjakan terlebih dahulu. Disini CPU memilih P1 untuk dikerjakan hingga
berakhir pada titik 16.
Di titik 16 saat P1 selesai di proses oleh CPU, CPU kembali melakukan pengecekan
terhadap proses-proses yang sedang menunggu. Pada saat itu CPU memilih P5 yang
lebih awal untuk di proses.
Begitupun selanjutnya CPU selalu memilih proses yang memiliki waktu pengerjaan
lebih sedikit untuk di proses lebih awal.

Hal kedua yang dilakukan untuk menghitung average waiting time yaitu dengan
menghitung berapa lama waktu tunggu yang dihasilkan oleh proses tersebut.
Untuk menhitungnya dapat dilakukan dengan cara mengurangkan waktu
eksekusi dengan waktu datang.

Hal ketiga dan juga hal yang terakhir yang harus dilakukan yaitu menghitung
Average Waiting Time dari semua proses tersebut, yaitu dengan cara sebagai
berikut:

4 a. Menghitung Average Waiting Time dalam Algoritma Penjadwalan Priority


dengan metode Non Preemtive
Algoritma Priority secara Non Preemtive adalah algoritma dimana proses yang memiliki prioritas
lebih tinggi akan di proses lebih awal, namun karena non preemtive maka proses yang sudah
di jalankan oleh CPU akan diselesaikan terlebih dahulu sebelum CPU mengambil proses yang
selanjutnya. Dalam algoritma Priority secara Non Preemtive prioritas tertinggi adalah 1 (satu).
Berikut contohnya:

Hitung AWT dengan Algoritma Penjadwalan Priority secara Non Preemtive !


Penyelesaian:

Hal yang pertama dilakukan sama seperti postingan sebelumnya, yaitu membuat Gantt
Chart, tapi disini saya langsung berikan orak-orek prosesnya. Berikut gambarnya:

Ingat ya, disini jika proses yang sudah di proses oleh CPU maka proses tersebut akan
diselesaikan sampai selesai terlebih dahulu tanpa ada penyelaan karena disini Non Preemtive.
Saya kira anda sudah mengerti bagaimana alur algoritma di atas.

Tapi untuk yang masih kurang mengerti saya akan jelaskan. Begini awalnya, pada suatu kondisi
CPU sedang tidak melakukan aktifitas yaitu pada titik 0. Pada saat itu datang P1 dan langsung
di proses oleh CPU. CPU disini tidak akan menghiraukan proses lain pada saat P1 sedang di
proses, kembali lagi itu karna Non Preemtive.
Ketika P1 selesai di proses, akan dilanjutkan dengan proses yang memiliki priority yang lebih
tinggi. Begitupun selanjutnya sampai keseluruhan proses selesai di eksekusi oleh CPU. Nah ...
jika pada saat CPU memproses, terdapat proses yang memiliki priority yang sama, maka CPU
akan melihat proses yang mana datang lebih awal. Silakan anda pahami lagi penjelasan di
atas, dan lihat bagaimana cara kerja algoritma penjadwalan di atas.

Hal kedua yang dilakukan untuk menghitung average waiting time yaitu dengan
menghitung berapa lama waktu tunggu yang dihasilkan oleh proses tersebut. Untuk
menhitungnya dapat dilakukan dengan cara mengurangkan waktu eksekusi dengan
waktu datang.

Hal ketiga dan juga hal yang terakhir yang harus dilakukan yaitu menghitung Average
Waiting Time dari semua proses tersebut, yaitu dengan cara sebagai berikut:

b. Menghitung Average Waiting Time dalam Algoritma Penjadwalan Priority


dengan metode Preemtive
Diposkan oleh mahadi suta 4.5 Rabu, 12 Desember 2012 Label: Sistem Operasi

Menghitung Average Waiting Time dalam Algoritma Penjadwalan Priority dengan metode
Preemtive agak sedikit berbeda dengan yang Non Preemtive. Bedanya di sini yaitu dalam
prosesnya CPU mengizinkan untuk melakukan penyelaan. Berikut soalnya:

Hitung AWT dengan Penjadwalan Priority metode Preemtive !

Penyelesaian:

Pertama kita membuat orak-orek Gantt Chart, Berikut gambarnya:

Dari postingan yang sebelumnya hingga sampai postingan saat ini tentunya anda sudah
mengerti bagaiman jika proses tersebut melakukan penyelaan atau tidak boleh melakukan
penyelaan. Pada postingan ini prosesnya mengizinkan proses yang mempunyai prioritas lebih
tinggi untuk di proses lebih awal tanpa menunggu satu proses tersebut selesai untuk di kerjakan
oleh CPU. Postingan kali ini saya hanya memberikan penjelasan segitu, silakan anda pahami
sesuai apa yang sudah sebelumnya di bahas.
Dari orak-orek di atas akan menghasilkan Gantt Chart sebagai berikut:

Masih tetap sama, setelah selesai Gantt Chartnya kita mencari waiting timesnya (WT)

Dari WT di atas maka kita bisa tentukan Average Waiting Timesnya

5 Menghitung Average Waiting Time dalam Algoritma Penjadwalan Round Robin


Dalam algoritma penjadwalan proses Round Robin, proses akan diberikan porsi
waktu pengerjaan yang sama dari tiap-tiap prosesnya. Algoritma Round Robin ini
disebut dengan algoritma yang adil. Untuk memahami dari cara kerja algoritma
penjadwalan Round Robin ini,mari kita kerjakan soal berikut :

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 :

You might also like