Halo Sobat TeknoBgt, pada kesempatan kali ini kita akan membahas tentang cara menghitung SJF preemptive. SJF atau Shortest Job First adalah algoritma CPU scheduling yang memilih proses dengan durasi paling singkat untuk dieksekusi terlebih dahulu. Sedangkan preemptive artinya algoritma SJF dapat memaksa penghentian proses yang sedang berjalan untuk mengeksekusi proses dengan durasi yang lebih pendek. Yuk, simak cara menghitung SJF preemptive lebih lanjut!
Persiapan Perhitungan SJF Preemptive
Sebelum memulai perhitungan, ada beberapa hal yang harus dipersiapkan terlebih dahulu. Berikut beberapa yang perlu diperhatikan:
1. Data Input
Untuk menghitung SJF preemptive, kita membutuhkan data input berupa daftar proses beserta durasi masing-masing proses. Data input ini bisa disusun dalam bentuk tabel seperti contoh berikut:
Proses | Durasi |
---|---|
P1 | 5 |
P2 | 3 |
P3 | 8 |
P4 | 6 |
2. Pengelompokan Proses
Setelah memiliki data input, langkah selanjutnya adalah mengelompokkan proses-proses yang akan dieksekusi. Untuk SJF preemptive, proses yang memiliki durasi paling pendek akan dieksekusi terlebih dahulu. Namun, jika ada proses yang memiliki durasi yang sama, urutan eksekusi akan dilakukan berdasarkan urutan kedatangan proses tersebut.
3. Menentukan Waktu Mulai dan Selesai Setiap Proses
Langkah selanjutnya adalah menentukan waktu mulai dan selesai setiap proses. Waktu mulai proses pertama tentu saja adalah nol. Sedangkan waktu selesai proses dihitung berdasarkan rumus:
Waktu selesai proses = Waktu mulai proses + Durasi proses
Perhitungan SJF Preemptive
Setelah persiapan dilakukan, kita dapat memulai perhitungan SJF preemptive. Berikut adalah langkah-langkahnya:
1. Urutkan Proses Berdasarkan Durasi
Pertama-tama, urutkan proses-proses yang akan dieksekusi berdasarkan durasi paling pendek hingga durasi terpanjang. Jika ada proses yang memiliki durasi yang sama, maka proses yang lebih dulu datang akan dieksekusi terlebih dahulu.
2. Tentukan Proses yang Akan Dieksekusi
Setelah proses diurutkan, tentukan proses yang akan dieksekusi terlebih dahulu berdasarkan durasi terpendek. Jika ada proses yang sedang dieksekusi dengan durasi yang lebih pendek dari proses yang baru datang, proses yang sedang dieksekusi akan dihentikan dan proses baru akan diberikan CPU untuk dieksekusi.
3. Hitung Waktu Mulai dan Selesai Setiap Proses
Setelah proses yang akan dieksekusi ditentukan, hitung waktu mulai dan selesai setiap proses. Jika ada proses baru yang datang selama proses yang sedang dieksekusi, lakukan perhitungan waktu selesai terlebih dahulu, baru hitung waktu mulai proses baru.
4. Hitung Waktu Tunggu dan Putar Setiap Proses
Setelah waktu mulai dan selesai setiap proses dihitung, hitung juga waktu tunggu dan putar setiap proses. Waktu tunggu adalah selisih antara waktu mulai dan waktu tiba proses. Sedangkan waktu putar adalah selisih antara waktu selesai dan waktu tiba proses.
5. Hitung Rata-rata Waktu Tunggu dan Putar
Setelah waktu tunggu dan putar setiap proses dihitung, hitung juga rata-rata waktu tunggu dan putar dengan cara menjumlahkan waktu tunggu atau putar setiap proses kemudian dibagi dengan jumlah proses.
FAQ
1. Apa itu SJF preemptive?
SJF preemptive adalah algoritma CPU scheduling yang memilih proses dengan durasi paling singkat untuk dieksekusi terlebih dahulu. Preemptive artinya algoritma SJF dapat memaksa penghentian proses yang sedang berjalan untuk mengeksekusi proses dengan durasi yang lebih pendek.
2. Apa persiapan yang diperlukan untuk menghitung SJF preemptive?
Persiapan yang diperlukan untuk menghitung SJF preemptive antara lain data input berupa daftar proses beserta durasi masing-masing proses, pengelompokan proses, dan penentuan waktu mulai dan selesai setiap proses.
3. Apa langkah-langkah menghitung SJF preemptive?
Langkah-langkah menghitung SJF preemptive antara lain mengurutkan proses berdasarkan durasi, menentukan proses yang akan dieksekusi, menghitung waktu mulai dan selesai setiap proses, menghitung waktu tunggu dan putar setiap proses, dan menghitung rata-rata waktu tunggu dan putar.
4. Apa fungsi dari SJF preemptive?
Fungsi dari SJF preemptive adalah untuk memaksimalkan penggunaan CPU dan mempercepat proses pemrosesan data.
5. Kapan SJF preemptive digunakan?
SJF preemptive digunakan saat proses yang singkat harus dieksekusi terlebih dahulu agar proses yang lebih panjang dapat dijalankan lebih cepat.
Kesimpulan
Dalam menghitung SJF preemptive, beberapa persiapan perlu dilakukan seperti menyusun data input, mengelompokkan proses, dan menentukan waktu mulai dan selesai setiap proses. Langkah-langkah menghitung SJF preemptive meliputi mengurutkan proses, menentukan proses yang akan dieksekusi, menghitung waktu mulai dan selesai setiap proses, menghitung waktu tunggu dan putar setiap proses, serta menghitung rata-rata waktu tunggu dan putar. Semoga Bermanfaat dan sampai jumpa di artikel menarik lainnya!