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