SJF (SHORTEST JOB FIRST)

SJF adalah salah satu bentuk algoritma penjadwalan yang dipengaruhi oleh waktu tunggu dari sebuah proses. Apabila suatu proses memiliki waktu tunggu paling sedikit dalam pemrosesannya maka proses tersebut yang akan di kerjakan terlebih dahulu. Pada SJF tidak ada penyelaan karena SJF ini bersifat Non Preemtive

Sudah paham tentang bagaimana cara kerja SJF? Kalau belum, baca kembali pengertian di atas agar anda lebih paham. Mempersingkat waktu, saya akan lanjutkan tentang pembahasan soal tentang mencari average waiting time dengan SJF. Soalnya masih sama dengan postingan sebelumnya dengan table yang sama.
Dari table di atas tentukan average waiting time dengan algoritma penjadwalan SJF!
Penyelesaian:
  • Hal yang pertama dilakukan sama seperti postingan sebelumnya, yaitu membuat Gantt Chart, berikut gambarnya:
Awalnya ketika CPU tidak melakukan aktifitas apapun alias lagi nganggur, datang sebuah proses yang bernama P1 untuk diproses yaitu pada titik 0. Pada saat itu P1 membutuhkan waktu proses sejumlah 8. Namun baru berjalan sejumlah 2, tiba-tiba datang P2 meminta untuk di proses, tapi hal ini tidak akan di izinkan oleh CPU karena dalam SJF tidak diizinkan sebuah penyelaan, proses yang sudah di proses akan di kerjakan hingga selesai. Maka dengan itu P1 akan di proses sampai selesai pada titik 8.
Pada titik 8, sudah terlihat bahwa P2 dan P3 sedang menunggu untuk di proses. Pada saat ini CPU kembali mengecek jumlah waktu tunggu dari ke dua proses tersebut. dan dapat di lihat bahwa P2 memiliki waktu pengerjaan lebih sedikit dibandingkan dengan P3. Maka P2 lah yang dikerjakan terlebih dahulu. Begitu seterusnya, setiap CPU menyelesaikan proses dia akan melakukan pengecekan dari waktu tunggu proses yang sedang menunggu, yang terkecil akan di proses lebih awal.
Ingat: SJF tidak ada proses penyelaan (Non Preemtive)
  • 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:

  
Segitu dulu postingan kali ini, semoga apa yang saya jelaskan bisa anda mengerti dan bisa bermanfaat bagi kalian semua.

KELEBIHAN SJF (SHORTEST JOB FIRST)
Paling optimal, karena algoritma ini memberikan minimum waiting time untuk kumpulan proses yang mengantri

KELEMAHAN SJF (SHORTEST JOB FIRST)

  • Kesulitan untuk memprediksi burst time proses yang akan dieksekusi selanjutnya
  • Proses yang mempunyai burst time yang besar akan memiliki waiting time yang besar pula karena yang dieksekusi terlebih dahulu adalah proses dengan burst time yang lebih kecil.

Leave a Reply