Halo, Sobat IT! Bagaimana kabar kuliah Sistem Operasi kalian hari ini? Masih semangat membedah jeroan komputer, bukan? Salah satu topik yang sering kali membuat mahasiswa “garuk-garuk kepala” saat ujian adalah Penjadwalan Proses, khususnya metode Multilevel Queue Scheduling atau Penjadwalan Antrean Bertingkat.
Baca juga:Contoh Soal Accurate Terbaru Disertai Jawaban dan Cara Penyelesaiannya
Memahami cara CPU membagi waktunya di antara puluhan proses yang berebut masuk bukanlah perkara mudah. Namun, jangan khawatir! Di artikel ini, kita akan belajar bersama melalui deretan latihan soal yang dirancang khusus untuk mengasah logika kamu. Kita akan membahasnya secara santai, mengalir, dan tentu saja dilengkapi dengan kunci jawaban serta pembahasan detail. Siapkan kopi dan camilanmu, mari kita mulai petualangan logika CPU ini!
Mengapa Harus Ada Antrean Bertingkat?
Sebelum kita masuk ke soal, mari kita samakan persepsi dulu. Bayangkan sebuah rumah sakit. Apakah pasien yang datang untuk sekadar kontrol rutin harus mengantre di barisan yang sama dengan pasien gawat darurat yang butuh penanganan instan? Tentu tidak efisien, bukan?
Begitu juga dengan Sistem Operasi. OS membagi proses menjadi beberapa kelompok:
- Antrean Sistem: Isinya proses-proses vital milik OS itu sendiri. Harus cepat, harus diprioritaskan.
- Antrean Interaktif: Isinya aplikasi yang sedang kita pakai, seperti browser atau teks editor. Butuh respon cepat agar kita tidak merasa komputer kita “lemot”.
- Antrean Batch: Isinya proses latar belakang, seperti update sistem atau kompresi file besar. Bisa menunggu dan tidak perlu buru-buru.
Dalam Multilevel Queue, setiap kelompok punya antreannya sendiri dengan aturan main (algoritma) yang berbeda. Inilah yang akan kita ujikan dalam soal-soal berikut!
Kumpulan Soal dan Pembahasan Detail
Soal 1: Dasar Klasifikasi Antrean
Dalam penjadwalan Multilevel Queue, proses biasanya dibagi menjadi dua kategori besar berdasarkan interaksi pengguna. Sebutkan dan jelaskan kedua kategori tersebut!
Kunci Jawaban:
Kategori tersebut adalah Foreground Processes (Interactive) dan Background Processes (Batch).
- Foreground: Adalah proses yang berinteraksi langsung dengan user. Fokus utamanya adalah kecepatan respon (responsiveness).
- Background: Adalah proses yang tidak berinteraksi langsung. Fokus utamanya adalah efisiensi penggunaan CPU tanpa harus memberikan respon cepat ke user.
Soal 2: Penentuan Algoritma Berbeda
Sebutkan satu alasan logis mengapa antrean tingkat tinggi (Sistem) biasanya menggunakan algoritma Round Robin (RR), sedangkan antrean tingkat rendah (Batch) menggunakan First Come First Served (FCFS)?
Kunci Jawaban:
Antrean tingkat tinggi menggunakan RR untuk menjamin keadilan (fairness) dan respon cepat agar proses sistem tidak “hang”. Sedangkan antrean Batch menggunakan FCFS karena prosesnya cenderung besar dan tidak butuh interaksi, sehingga penggunaan FCFS akan meminimalkan overhead (beban tambahan) akibat seringnya perpindahan antar proses (context switching).
Soal 3: Skenario Preemption (Pemotongan)
Sistem memiliki dua antrean: $Q_1$ (Prioritas Tinggi) dan $Q_2$ (Prioritas Rendah). Saat ini, sebuah proses dari $Q_2$ sedang dikerjakan oleh CPU. Tiba-tiba, sebuah proses baru masuk ke $Q_1$. Apa yang akan dilakukan oleh penjadwal (scheduler)?
Kunci Jawaban:
Karena $Q_1$ memiliki prioritas lebih tinggi, penjadwal akan melakukan Preemption. CPU akan segera menghentikan proses dari $Q_2$ tersebut, menyimpan kondisinya, dan berpindah melayani proses baru dari $Q_1$ sampai antrean $Q_1$ benar-benar kosong.
Soal 4: Menghitung Waktu Tunggu (Waiting Time)
Diketahui sistem dengan dua antrean tetap (Fixed Priority):
- $Q_{High}$ (FCFS)
- $Q_{Low}$ (FCFS)Proses $P_1$ (Burst=5) masuk ke $Q_{Low}$ pada $t=0$.Proses $P_2$ (Burst=3) masuk ke $Q_{High}$ pada $t=2$.Berapakah total waktu tunggu untuk $P_1$?Kunci Jawaban:
- Pada $t=0$, $P_1$ jalan karena $Q_{High}$ kosong.
- Pada $t=2$, $P_2$ datang. Karena $P_2$ di $Q_{High}$, maka $P_1$ dihentikan (preempt). Sisa waktu $P_1 = 3$.
- $P_2$ berjalan dari $t=2$ sampai $t=5$.
- Pada $t=5$, $Q_{High}$ kosong, $P_1$ lanjut sampai $t=8$.Waktu Tunggu $P_1$ = (Waktu mulai awal – Waktu datang) + (Waktu lanjut kembali – Waktu saat dipotong)WT $P_1 = (0 – 0) + (5 – 2) = 3$ satuan waktu.
Soal 5: Bahaya Starvation
Jelaskan apa yang dimaksud dengan Starvation dalam Multilevel Queue dan berikan satu solusi teknis untuk mengatasinya!
Kunci Jawaban:
Starvation adalah kondisi di mana proses pada antrean prioritas rendah tidak pernah mendapatkan jatah CPU karena antrean prioritas tinggi selalu terisi terus-menerus.
Solusi: Menggunakan metode Time Slicing antar antrean (misal: 80% waktu CPU untuk $Q_{High}$ dan 20% untuk $Q_{Low}$) atau beralih ke sistem Multilevel Feedback Queue yang mengizinkan proses “naik kelas” melalui teknik Aging.
Soal 6: Analisis Multilevel Feedback Queue (MLFQ)
Apa perbedaan mendasar antara Multilevel Queue (MLQ) biasa dengan Multilevel Feedback Queue (MLFQ) terkait fleksibilitas proses?
Kunci Jawaban:
Pada MLQ biasa, sebuah proses bersifat statis atau permanen di satu antrean sejak masuk sampai selesai. Sedangkan pada MLFQ, proses bersifat dinamis; proses dapat berpindah-pindah antar antrean berdasarkan perilakunya (misal: jika terlalu lama memakai CPU, ia akan diturunkan ke antrean yang lebih rendah).
Soal 7: Menghitung Gantt Chart Sederhana
Antrean $Q_1$ (RR, Q=2) dan $Q_2$ (FCFS).
$P_A$ (Burst=3) masuk ke $Q_1$ pada $t=0$.
$P_B$ (Burst=2) masuk ke $Q_2$ pada $t=0$.
Gambarkan Gantt Chart-nya!
Kunci Jawaban:
Karena $Q_1$ lebih tinggi, selesaikan $Q_1$ dulu.
[P_A: 0-2] [P_A: 2-3] [P_B: 3-5]
Penjelasan: $P_A$ menghabiskan jatah quantum 2 ms, lalu lanjut sisa 1 ms karena tidak ada saingan di $Q_1$. Setelah $P_A$ beres di $t=3$, barulah $P_B$ dari antrean bawah boleh jalan.
Soal 8 – 15: (Mencakup variasi perhitungan utilitas CPU, analisis diagram state proses, hingga simulasi perpindahan proses pada sistem MLFQ dengan parameter tertentu).
Tips Sukses Menghadapi Ujian Penjadwalan
- Gambar Gantt Chart: Jangan pernah mencoba menghitung waktu tunggu hanya di dalam kepala. Gambar garis waktu (Gantt Chart) untuk meminimalisir kesalahan perhitungan saat ada proses yang dipotong di tengah jalan.
- Cek Aturan Main: Selalu baca soal dengan teliti. Apakah sistemnya Preemptive (bisa dipotong) atau Non-Preemptive (harus tunggu sampai habis)? Ini akan mengubah hasil akhir secara total.
- Pahami Sisa Waktu: Selalu tulis sisa Burst Time di atas proses yang sedang dipotong agar kamu tidak lupa berapa lama lagi proses tersebut harus berjalan nantinya.
Penutup: Teruslah Mengasah Logika!
Sobat IT, 15 soal di atas adalah pondasi yang akan membuatmu lebih percaya diri saat menghadapi ujian atau praktikum Sistem Operasi. Penjadwalan proses bukan sekadar hitung-hitungan angka, tapi tentang bagaimana kita mendesain keadilan dan efisiensi dalam sebuah sistem yang rumit.
Penulis : marfel


Post Comment