Computer Science

Membangun Simulator Penjadwalan CPU dengan Python: FCFS, SJF, dan Round Robin

Bangun simulator CPU dengan Python untuk membandingkan FCFS, SJF, dan Round Robin melalui data, perhitungan, dan validasi hasil.

Diperbarui 28 Agu 2026id5 bagian · 20 pelajaran4 jam 30 menit
Belum ada ulasan
Level Beginner
Kategori Computer Science
Perkiraan Durasi 4 jam 30 menit

Skill yang dibangun

Apa yang akan Anda pelajari

Merepresentasikan proses, waktu kedatangan, burst time, dan quantum menggunakan struktur data Python yang sesuai.

Mengimplementasikan FCFS, SJF, dan Round Robin dengan aturan tie-breaking serta perubahan state yang eksplisit.

Menghitung dan memeriksa waiting time, turnaround time, response time, serta rata-rata metrik dari timeline eksekusi.

Menguji simulator menggunakan kasus normal dan kasus batas, lalu menjelaskan trade-off algoritma berdasarkan hasil yang dapat direproduksi.

Siapa Target Audiens Kursus Ini

Pemula yang sudah memahami dasar Python seperti variabel, percabangan, perulangan, fungsi, list, dan dictionary, tetapi belum memahami hubungan antara struktur data, algoritma, dan konsep sistem operasi. Kursus ini cocok bagi mahasiswa atau calon programmer yang ingin berlatih membangun program simulasi dari spesifikasi yang jelas, membaca hasil perhitungan secara kritis, serta membandingkan keputusan algoritmik melalui proyek kecil yang terukur.

Project outcomes

Apa yang Akan Anda Buat

Peserta akan membangun simulator penjadwalan CPU berbasis Python yang menerima daftar proses beserta waktu kedatangan dan burst time, menjalankan FCFS, SJF, atau Round Robin, kemudian menampilkan timeline eksekusi, urutan proses, dan metrik kinerja. Simulator juga dapat digunakan untuk membandingkan dampak perubahan quantum, pola kedatangan, serta durasi proses terhadap hasil penjadwalan.

Konten Kursus

Dari Proses ke Model Simulasi

4 pelajaran | 120 menit
Mengubah Cerita Proses Menjadi Data
25 menit
Garis Waktu, Ready Queue, dan State Proses
30 menit
Metrik yang Membuktikan Kualitas Jadwal
35 menit
Menyusun Spesifikasi dan Kasus Uji Awal
30 menit

FCFS: Antrean Sederhana dengan Konsekuensi Nyata

4 pelajaran | 135 menit
Mengurutkan Proses Tanpa Menghilangkan Waktu Idle
30 menit
Menulis Mesin Jadwal FCFS di Python
40 menit
Mendeteksi Convoy Effect dari Hasil Simulasi
30 menit
Memvalidasi FCFS dengan Invarian
35 menit

SJF: Memilih Proses Pendek Tanpa Menebak Secara Buta

4 pelajaran | 150 menit
Mengapa SJF Mengubah Urutan Keputusan
30 menit
Ready Queue sebagai Sumber Kandidat
40 menit
Implementasi SJF Non-Preemptive
45 menit
Starvation dan Batas Prediksi Burst Time
35 menit

Round Robin: Simulasi Preemption dan Kuantum Waktu

4 pelajaran | 170 menit
Quantum Menentukan Bentuk Keadilan
35 menit
Mencatat Remaining Time tanpa Merusak Data Awal
45 menit
Menulis Loop Round Robin yang Tahan terhadap CPU Idle
50 menit
Membandingkan FCFS, SJF, dan Round Robin secara Adil
40 menit

Proyek Akhir: Membangun Simulator Penjadwalan CPU

4 pelajaran | 295 menit
Perancangan dan Setup Simulator
60 menit
Implementasi Tiga Algoritma dalam Satu Interface
75 menit
Integrasi Laporan dan Penanganan Input Bermasalah
70 menit
Pengujian, Analisis Skenario, dan Presentasi Hasil
90 menit

Deskripsi Kursus

Penjadwalan CPU menentukan proses mana yang memperoleh waktu eksekusi ketika beberapa proses menunggu. Kursus ini mengajak kita melihat masalah tersebut sebagai kombinasi antara data, aturan algoritmik, dan perubahan state, bukan sekadar rangkaian langkah untuk dihafalkan. Setiap keputusan scheduler akan dikaitkan dengan metrik yang dapat dihitung, seperti waiting time, turnaround time, dan response time.

Kita mulai dari representasi proses menggunakan struktur data Python, lalu menerapkan First-Come, First-Served (FCFS), Shortest Job First (SJF), dan Round Robin. Implementasi dibangun bertahap dari spesifikasi yang jelas agar hubungan antara input, urutan eksekusi, timeline CPU, dan output dapat diperiksa. Asumsi seperti waktu kedatangan, durasi burst, tie-breaking, dan quantum dinyatakan secara eksplisit karena perubahan kecil pada asumsi dapat mengubah hasil simulasi.

Di akhir kursus, peserta memiliki simulator berbasis Python yang dapat menerima daftar proses, menghasilkan urutan eksekusi dan metrik penjadwalan, serta membandingkan perilaku setiap algoritma. Validasi dilakukan dengan kasus sederhana, kasus batas, dan pemeriksaan manual sehingga peserta belajar membedakan hasil yang benar dari program yang hanya berhasil dijalankan tanpa error.

Rating & Ulasan

0 ratings