Cara Menghitung SJF Non Preemptive
Cara Menghitung SJF Non Preemptive

Cara Menghitung SJF Non Preemptive

Halo Sobat TeknoBgt,

Artikel ini akan membahas tentang cara menghitung SJF Non Preemptive. SJF atau Shortest Job First merupakan metode penjadwalan di mana proses dengan waktu pengerjaan terpendek akan diproses terlebih dahulu. Tipe SJF yang akan dibahas pada artikel ini adalah Non Preemptive, di mana proses yang sedang berjalan tidak dapat diinterupsi sebelum selesai. Yuk, simak penjelasan lengkapnya di bawah ini!

Pengertian SJF Non Preemptive

Sebelum memulai menghitung SJF Non Preemptive, ada baiknya untuk memahami pengertian dari metode ini. SJF Non Preemptive merupakan metode penjadwalan di mana proses yang mempunyai waktu pengerjaan terpendek akan dijadwalkan terlebih dahulu untuk diproses. Pada tipe non preemptive, proses yang sedang berjalan tidak dapat diinterupsi oleh proses yang lainnya hingga selesai.

Contohnya adalah jika terdapat dua proses dengan waktu pengerjaan 3 dan 5. Proses dengan waktu pengerjaan 3 akan diproses terlebih dahulu, meskipun proses dengan waktu pengerjaan 5 sudah masuk dahulu.

Cara Menghitung SJF Non Preemptive

Untuk menghitung SJF Non Preemptive, terdapat beberapa langkah yang harus dilakukan. Langkah-langkahnya adalah sebagai berikut:

1. Mengumpulkan Data Waktu Pengerjaan Setiap Proses

Langkah pertama yang harus dilakukan adalah mengumpulkan data waktu pengerjaan setiap proses. Data ini akan digunakan pada langkah selanjutnya untuk menghitung waktu selesai untuk setiap proses.

2. Menghitung Waktu Selesai untuk Setiap Proses

Langkah kedua adalah menghitung waktu selesai untuk setiap proses. Caranya adalah dengan menjumlahkan waktu pengerjaan proses sebelumnya dengan waktu pengerjaan proses saat ini. Contohnya akan dijelaskan pada tabel di bawah ini:

ProsesWaktu PengerjaanWaktu Selesai
P133
P258
P3210
P4111

Pada tabel di atas, proses P1 mempunyai waktu pengerjaan 3 dan sudah selesai pada waktu 3. Kemudian, proses P2 yang mempunyai waktu pengerjaan 5 dimulai pada waktu 3 dan selesai pada waktu 8. Setelah itu, proses P3 dimulai pada waktu 8 dan selesai pada waktu 10. Terakhir, proses P4 dimulai pada waktu 10 dan selesai pada waktu 11.

3. Menghitung Waktu Tunggu untuk Setiap Proses

Setelah menghitung waktu selesai untuk setiap proses, langkah selanjutnya adalah menghitung waktu tunggu untuk setiap proses. Waktu tunggu merupakan selisih antara waktu selesai dan waktu kedatangan proses.

Berikut adalah contoh perhitungan waktu tunggu untuk setiap proses pada tabel di atas:

ProsesWaktu PengerjaanWaktu SelesaiWaktu Tunggu
P1330
P2580
P32103
P41119

Pada tabel di atas, waktu tunggu untuk proses P1 dan P2 adalah 0 karena proses tersebut langsung diproses setelah tiba. Sedangkan waktu tunggu untuk proses P3 dan P4 adalah masing-masing 3 dan 9 karena harus menunggu proses yang sedang berjalan selesai.

4. Menghitung Waktu Putar untuk Setiap Proses

Langkah terakhir adalah menghitung waktu putar untuk setiap proses. Waktu putar merupakan selisih antara waktu selesai dan waktu kedatangan proses ditambah dengan waktu tunggu.

Berikut adalah contoh perhitungan waktu putar untuk setiap proses pada tabel di atas:

ProsesWaktu PengerjaanWaktu SelesaiWaktu TungguWaktu Putar
P13303
P25805
P321035
P4111910

Pada tabel di atas, waktu putar merupakan selisih antara waktu selesai dan waktu kedatangan proses ditambah dengan waktu tunggu. Waktu putar untuk proses P1 adalah 3, karena tiba pada waktu 0 dan selesai pada waktu 3. Waktu putar untuk proses P2 adalah 5, karena tiba pada waktu 0 dan selesai pada waktu 8 setelah menunggu 3 satuan waktu. Waktu putar untuk proses P3 dan P4 masing-masing adalah 5 dan 10, karena harus menunggu proses yang sedang berjalan selesai terlebih dahulu.

FAQ Mengenai SJF Non Preemptive

1. Apa itu SJF Non Preemptive?

SJF Non Preemptive adalah metode penjadwalan di mana proses yang mempunyai waktu pengerjaan terpendek akan dijadwalkan terlebih dahulu untuk diproses. Pada tipe non preemptive, proses yang sedang berjalan tidak dapat diinterupsi oleh proses yang lainnya hingga selesai.

2. Apa perbedaan antara SJF Preemptive dan Non Preemptive?

Perbedaan antara SJF Preemptive dan Non Preemptive terletak pada kemampuan untuk menginterupsi proses yang sedang berjalan. Pada tipe Preemptive, proses yang sedang berjalan dapat diinterupsi oleh proses yang memiliki waktu pengerjaan lebih pendek. Sedangkan pada tipe Non Preemptive, proses yang sedang berjalan tidak dapat diinterupsi hingga selesai.

3. Apa keuntungan dari menggunakan SJF Non Preemptive?

Keuntungan dari menggunakan SJF Non Preemptive adalah waktu pengerjaan proses dapat lebih cepat karena proses yang mempunyai waktu pengerjaan terpendek akan dijadwalkan terlebih dahulu untuk diproses.

4. Apakah SJF Non Preemptive cocok untuk digunakan pada sistem real-time?

Tidak, SJF Non Preemptive tidak cocok untuk digunakan pada sistem real-time karena proses yang sedang berjalan tidak dapat diinterupsi hingga selesai. Hal ini dapat menyebabkan adanya delay atau waktu respon yang lambat pada sistem.

Kesimpulan

Dalam menghitung SJF Non Preemptive, terdapat beberapa langkah yang harus dilakukan. Langkah-langkahnya adalah mengumpulkan data waktu pengerjaan setiap proses, menghitung waktu selesai untuk setiap proses, menghitung waktu tunggu untuk setiap proses, dan menghitung waktu putar untuk setiap proses. Dengan menggunakan SJF Non Preemptive, waktu pengerjaan proses dapat lebih cepat karena proses yang mempunyai waktu pengerjaan terpendek akan dijadwalkan terlebih dahulu untuk diproses.

Semoga Bermanfaat dan sampai jumpa di artikel menarik lainnya!

Cara Menghitung SJF Non Preemptive