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:
Proses | Waktu Pengerjaan | Waktu Selesai |
---|---|---|
P1 | 3 | 3 |
P2 | 5 | 8 |
P3 | 2 | 10 |
P4 | 1 | 11 |
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:
Proses | Waktu Pengerjaan | Waktu Selesai | Waktu Tunggu |
---|---|---|---|
P1 | 3 | 3 | 0 |
P2 | 5 | 8 | 0 |
P3 | 2 | 10 | 3 |
P4 | 1 | 11 | 9 |
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:
Proses | Waktu Pengerjaan | Waktu Selesai | Waktu Tunggu | Waktu Putar |
---|---|---|---|---|
P1 | 3 | 3 | 0 | 3 |
P2 | 5 | 8 | 0 | 5 |
P3 | 2 | 10 | 3 | 5 |
P4 | 1 | 11 | 9 | 10 |
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!