Penjadwalan Proses (CPU Scheduling)


🎯 Capaian Pembelajaran

Setelah mempelajari materi ini, mahasiswa mampu:

  • Memahami konsep CPU Scheduling
  • Menjelaskan tujuan dan kriteria penjadwalan
  • Menganalisis berbagai algoritma scheduling
  • Menghitung waiting time, turnaround time, response time
  • Membandingkan performa algoritma penjadwalan

1. 🧠 Konsep Dasar CPU Scheduling

1.1 Pengertian

CPU Scheduling adalah mekanisme sistem operasi untuk menentukan proses mana yang mendapatkan CPU dan kapan.

πŸ“Œ Narasi:
CPU adalah sumber daya yang terbatas. Banyak proses ingin berjalan, tetapi hanya satu (atau beberapa pada multi-core) yang bisa menggunakan CPU pada satu waktu.


πŸ–ΌοΈ Ilustrasi Antrian Proses

https://images.openai.com/static-rsc-4/P4b_VcTAczwbgkspSbCmGfKNk4L71Wf8Lhf7qWMbzlCcXnJfXTMlOtrrPJxR9Bwh_Hm7wvPpXeKKzX6lJW2dZ644xF5GV7CsR1jLtFhj6ERH67QNBkXBsPp8OFK7MEZehhy9BDHWra1icANfkB-j93iovXt5CYpCiamEiGAF_lKq1binLMELdQ6lNU5Ydac3?purpose=fullsize
https://images.openai.com/static-rsc-4/_7mv6wVQV_5_dc314zMl0L6JusJJXkTGw59bJ_htrrQgIs7aydpVC92JwY0GcFkF-cNnAL_G4KbzjFU-t1TJah8Q9L3O_eg6nbWwqTkZ0iyA3wglJD5sLt4F3VWbjRaBd0Uy3xU12Ca13Io-k09tdYLzXcwSiK2rpnvXESBAYtK5VW8RmJNRf4uFqVpD-f0P?purpose=fullsize
https://images.openai.com/static-rsc-4/Wl1dHFFK5jgM7_vgvdbnPujRgPINCIIBnvjWQhryHW29Ax5t7JiyIA4RhEX-EMn8zbylqGiYPCJP94Y81a9WJZxvKrsEIWBtmXx5emdzgJB7QmLRPVH1xZPk6va9jgRo9PIsFV_zNTyGpL8zRV7GTzV8ceR4Ms-trHc6vHU5DLz08zApbykmVw52E9GJBtGn?purpose=fullsize

6

πŸ“Œ Proses yang siap dijalankan berada dalam ready queue dan menunggu giliran.


2. 🎯 Tujuan Penjadwalan

Tujuan utama:

  • Memaksimalkan CPU utilization
  • Meminimalkan waiting time
  • Meminimalkan turnaround time
  • Meminimalkan response time
  • Menjamin fairness (keadilan)

3. πŸ“Š Kriteria Evaluasi Scheduling

3.1 Waiting Time

Waktu proses menunggu di ready queue

3.2 Turnaround Time

Total waktu dari proses masuk hingga selesai

3.3 Response Time

Waktu dari request hingga respon pertama

3.4 Throughput

Jumlah proses yang selesai per waktu


πŸ“Š Tabel Ringkasan

KriteriaDeskripsi
Waiting TimeWaktu menunggu
Turnaround TimeTotal waktu proses
Response TimeWaktu respon awal
ThroughputProduktivitas sistem

4. βš™οΈ Jenis Penjadwalan

4.1 Non-Preemptive

CPU tidak bisa diambil sebelum proses selesai

4.2 Preemptive

CPU bisa diambil untuk proses lain


πŸ–ΌοΈ Preemptive vs Non-Preemptive

https://images.openai.com/static-rsc-4/6vGGFqXuynY5UyuTMWrFYw8b3EHXaIgWmFsECHZRkd26HY0IcRgcwxsHkMpCa5HeGdV2MgZrvyjScmsPN7Gn7VX2hhsEQSdJIBwW0RikCdBIahu6a0inaJPDSg_ZdFsCzdd8XOriVvrWQsgGnDBdo824uvfFmyj9ZXJ-ZuD8snAOXzfBDhjecX5PSX4yo_FF?purpose=fullsize
https://images.openai.com/static-rsc-4/5AGXePoaVOfwS49vjAKjL8UivoqnmYy5wNS3rgEJCPtexWz3f_ZIFgJMBvswXHdvf7hHDAe6UWSqqcZf9D-KxSl-qdxLoRX8_ebhPjQYCAw1PU7IeZfgzqEXGPlfzSjZPvuYRR8ZkMenByx3_gCOORNMW7cZykFZDViJNO4WyB-QoAHgajD29Usm6Vuq-CD3?purpose=fullsize
https://images.openai.com/static-rsc-4/Kw8A0EYNMsX9P211MGQrStYLFOuyhXxc6DIrCwzHaHxp16rEf_B7QBKDU0O-dBmJpAtgJlgVee7Am__vC9skKOZMxqo-YfVJUxMDtvhIloM8RcO49q0u07G4lhBKHFJXv0AC1dmIxcfS4DSuT0XRJCcFdpWA1Z9Uz-qN4W-x3z7B7IQdXthfqAedLIoFDXhr?purpose=fullsize

6


5. πŸ”„ Algoritma Penjadwalan CPU


5.1 FCFS (First Come First Serve)

🧠 Konsep:

Proses yang datang lebih dulu akan dilayani lebih dulu.


πŸ–ΌοΈ FCFS Diagram

https://images.openai.com/static-rsc-4/ooYcLq13nWV9C4xHPeummrSkqUeGKAlaIRYxye24sOZbDuOkKTfvFSwF6hKWMNvXbrg83Pj_vdShrr16Ybt5Ki2SibSnPZ-8XWMSmL0CWQ1483LtsiH1xk0LA9IsfESIroWx7sZWCxeCxul4uo4gu5cSq3kvdRQBN57BJWwiIVVoPv9BXOktZurMejHQtSvx?purpose=fullsize
https://images.openai.com/static-rsc-4/F8xI2ViunEXB_hpwjwmbAcuonODJxNJVAOEHK_o0jJC4H2_uMvYsTa7Bx1sPbcpUlShP0ND4hfmEi9RnQemEbTC8NqxzA-Fg85elwgICuiWcuFEMAG-KjzLAvtBMeEv26kfyvp2JrZN88M5hwr3ZjExkZc2fp6jRcmPn8k2hu2oPgCh3sT8K3mRkuKbTPiwu?purpose=fullsize
https://images.openai.com/static-rsc-4/mZEb576ilBwzwJ8U0Pr7voThtmgZsoG5pBWskrUdJmWrtWd4rglNHYcBgqPNUDtr3OjLpak1GtjkfdzjTKvENMoX5NiIBcFLx9V68EMHZtBW-99lnP38UWl_sVupvky4kmoFVV9_RvqTzDvJFzHHhvjZsQj-5yX1I61TVA8hOmTPPZPoH80oO0RczQVYJbdR?purpose=fullsize

5

πŸ“Š Contoh:

ProsesBurst Time
P15
P23
P32

Urutan:

P1 β†’ P2 β†’ P3


βœ… Kelebihan:

  • Sederhana

❌ Kekurangan:

  • Convoy effect (proses kecil menunggu lama)

5.2 SJF (Shortest Job First)

🧠 Konsep:

Proses dengan waktu eksekusi paling pendek didahulukan


πŸ–ΌοΈ SJF Diagram

https://images.openai.com/static-rsc-4/3Opv8Tzi_EGc2tRR6_DVv40uhk2WFQvOPcqWyB6vt7kadAIRa1kXxqlNSGyTY1-1q6wvxveGKa9lAJmgs0bcm3zydVDlb3xG7yDvnhwJQXNOASIxmV6l4RV_j0nE6uvdBToMMaCE7tXHbzRIfYo9jEUPR3n5yKnCPW1mauRd6cF5s9nXTiVkZAc6-CXq3ooe?purpose=fullsize
https://images.openai.com/static-rsc-4/s6K-oOfQH1hgXjpKEZg_Nhnwsu5ABirfN80IUYN-NwbSKWWFcyFqIZj-TBQbzkDzeDfPcI3DbjvN7nWKw-0DQbxZgIcNSFp5rCYo_qiRfG604Wrz0obAE0tG4txCD_EMP9XnVUSy-JVSA2Y7sKkZ8wnxggxi1n0HIaj-_zJuSU-VTDlE9qaFfknicm0XKBha?purpose=fullsize
https://images.openai.com/static-rsc-4/e1SxwPncx1ay_ZBJ5ZmtTWK9brxmIxbdzF4tnzP9WZuiPapd0oaMBC2ykMBI5CQD_-VZnEll5OYqwUL9JKZE1D2-1kI6a2Lf3YsWSwFluuNxuq73ykiBGpzqYS17kKJYDQYNGYlY2fyEs6ovMD--FhSWDL9K2a3dW-1acjXIPWlZfugFy06bZYbnnmR5mEpn?purpose=fullsize

6

βœ… Kelebihan:

  • Waiting time minimum

❌ Kekurangan:

  • Sulit mengetahui burst time
  • Bisa menyebabkan starvation

5.3 Round Robin (RR)

🧠 Konsep:

Setiap proses mendapat jatah waktu (time quantum)


πŸ–ΌοΈ Round Robin Diagram

https://images.openai.com/static-rsc-4/chBnvlZikhkr5BsQpDU_Y6V8k-AraHtjaAlBTHg_xVgAPOQWceLBRnnx150XbnNk6B6tOaXiWv_5zZvg0VTfP6MDyEdwAy43XeJeQRgS-vHZXeG9nVEm-ZuXwN6wNbJxdDaE0SzjoxLXBYKAexZaUOeYYTP7mz6-wqt4VuQY3hnbP1NCkvHJPprCmqPRsFNl?purpose=fullsize
https://images.openai.com/static-rsc-4/3FY7y6C2oJwC3lJZaT95Fj65wVEO_js8uW8zrq82DoV38qfW7x1NckO5yNY9EyxoCwMpl0reVfQDVoVCz4i4uM0CHrbntR60ziZq5L5WEEXLwIMGS6Zb-OWhNGQjNaNGtbtsbnxD1cnybnpE0mixhTgzfGxKAQV14BLOvaOpn1ZIbVd7qo8JDFpZEbxWC4te?purpose=fullsize
https://images.openai.com/static-rsc-4/wMsXgHi4Ofxd6LLVAMX5JaDtTIX_AGrEAAg22NcVtPq9f_YGy2YHvhPYeKAHuN82kmm6awF5OGFrplgqE6VFfyszjNAvG2GGXyMvdiyY2Y8KsP-ulbwR8a2gredtXiZQtowb7RIzvB0c3lPuKui4_6FuCgmcQxR6YVydIc2FHAZv4xrzCgGVkNywAvU55kat?purpose=fullsize

8

πŸ“Œ Contoh:

Time quantum = 2


βœ… Kelebihan:

  • Fair
  • Cocok untuk sistem interaktif

❌ Kekurangan:

  • Overhead context switching tinggi

5.4 Priority Scheduling

🧠 Konsep:

Proses dengan prioritas tertinggi didahulukan


πŸ–ΌοΈ Priority Scheduling

https://images.openai.com/static-rsc-4/JEIhwQqAkrYBmQJmjcAVEIUG21No7NhbJ7-fCSTB55DfeAf2c2bBjg3tiv1uCOA2rdJWGD_HykISdN0zUAOVX1TXWr47ZcQBAeLxGXNRoFQpxw_DL4D9mMLd4jYWbMwL9p7iEbDs0bqL1BfC5lgldmzDaBMila1zdJh9IMNBYH3NdZqbRIcHGpkoVaBvC09G?purpose=fullsize
https://images.openai.com/static-rsc-4/clSS6lmMwUwTf3SgkOi2SPxuLCPFjwEV_n38oiDRi0SSaoB4Op5pD4rQ858ri5UBSgokq7GBWKJvzgDVDv-pFe99ndBp7iA4ia1rB87KMeIpuf42fhLpfMWxNzfw9AKtYwrQqWgjyPGu9RL8J1EUTxSxie_rJA8NMuas4BzDOFxaIS-7AYzJLMR9u49P0HLX?purpose=fullsize
https://images.openai.com/static-rsc-4/Vg68BMFIcRdIzDkTxt52sNf73JxfmxpptoYt9WkJD6QXw9UoRY5sjW2jJg06u-RCZfifAbJp4miWpWPkDpDthUENB3ArVrgcp7fEZ5SdMCwUJI8blBoPgFewtkjOjAlT9aIA5bQO93vcSu6-X_4h7oAA_jkDenmAtm8cgrn86GpTe3Dqpn9yqmMqBHIyMDfj?purpose=fullsize

6

❗ Masalah:

  • Starvation

πŸ’‘ Solusi:

  • Aging (menaikkan prioritas proses lama)

6. πŸ“Š Contoh Perhitungan Lengkap

Data:

ProsesBurst Time
P15
P23
P32

FCFS:

Urutan: P1 β†’ P2 β†’ P3

Waiting Time:

  • P1 = 0
  • P2 = 5
  • P3 = 8

Average WT = (0+5+8)/3 = 4.33


SJF:

Urutan: P3 β†’ P2 β†’ P1

Waiting Time:

  • P3 = 0
  • P2 = 2
  • P1 = 5

Average WT = 2.33


πŸ“Œ Analisis:
SJF lebih optimal dibanding FCFS.


7. ⚠️ Masalah dalam Scheduling

7.1 Starvation

Proses tidak pernah mendapat CPU

7.2 Overhead

Terlalu banyak context switching

7.3 Fairness

Distribusi CPU tidak merata


8. πŸ’» Implementasi Nyata

Dalam OS modern:

  • Linux β†’ CFS (Completely Fair Scheduler)
  • Windows β†’ Priority-based scheduling

🧠 Narasi:

OS modern menggunakan algoritma kompleks yang merupakan kombinasi dari berbagai metode scheduling.


9. 🧠 Studi Kasus

Kasus:

Mahasiswa membuka:

  • Browser
  • Zoom
  • Word

πŸ“Œ Analisis:

  • Zoom β†’ prioritas tinggi (real-time)
  • Browser β†’ sedang
  • Word β†’ rendah

OS akan mengatur CPU agar Zoom tetap lancar.


10. πŸ“ Latihan

  1. Jelaskan perbedaan FCFS dan SJF!
  2. Apa kelebihan Round Robin?
  3. Hitung waiting time dari data tertentu!
  4. Apa itu starvation?

🎯 Kesimpulan

  • CPU scheduling menentukan efisiensi sistem
  • Banyak algoritma dengan kelebihan masing-masing
  • Tidak ada algoritma yang sempurna
  • OS modern menggunakan kombinasi metode

πŸš€ Pengembangan Materi Selanjutnya

➑ Thread dan Multithreading
➑ Sinkronisasi Proses
➑ Deadlock