Skip to main content

Menghitung Average Waiting Time dalam Algoritma Penjadwalan Shortest Remaining Time First (SRTF)

Melanjutkan postingan sebelumnya mengenai cara mencari Average waiting time dari algoritma penjadwalan proses. Pada postinga kali ini saya membahas tentang bagaimana cara untuk mencari Average waiting time dari algoritma penjadwalan proses dengan SRTF. Membahas sedikit tentang SRTF dimana 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 saya akan langsung membahas contoh soal. Berikut soal yang akan saya bahas pada postingan ini:
Hitunglah Average Waiting Time dengan algoritma penjadwalan SRTF dari tabel di atas!

Langsung saja kepada penyelesaiannya:
  • Hal yang pertama dilakukan sama seperti postingan sebelumnya, yaitu membuat Gantt Chart, berikut gambarnya:

Seperti postingan sebelumnya, saya akan jelaskan bagaimana Gantt Chartnya bisa seperti di atas. Sebelumnya saya punya orak-orek dari Gantt Chart 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:

Artikel Terkait:

Mohon untuk membaca Kebijakan Privasi sebelum mengambil data dari blog ini atau sebelum berkomentar.

Comments