ALGORITMA PENJADWALAN PROSES Algoritma Penjadwalan Proses First Come
- Slides: 47
ALGORITMA PENJADWALAN PROSES
Algoritma Penjadwalan Proses First Come First Served (FCFS) / FIFO (First In First Out) SJF (Shortest Job First) Priority Scheduling Round Robin
First Come First Served (FCFS) Merupakan algoritma penjadwalan CPU yang paling sederhana Proses yang tiba lebih dahulu akan dilayani lebih dahulu Kalau ada proses tiba pada waktu yang sama, maka pelayanan mereka dilaksanakan berdasarkan urutan dalam antrian Proses di antrian belakang harus menunggu sampai semua proses di depannya selesai.
Contoh - FCFS Diketahui 3 buah proses sbb:
Gantt chart Waiting Time AWT
FCFS (2) Contoh soal 1: Jika diketahui terdapat 5 macam antrian proses, yaitu A-B-C-D-E dengan waktu kedatangan semuanya 0. Lama proses berturut-turut antara lain: 5 -2 -6 -8 -3. Pertanyaan: Kapan dimulainya eksekusi dari tiap-tiap antrian proses tsb? Kapan selesai eksekusinya? Hitung Turn Arround Time (TA)-nya? Berata-rata TA? Rumus TA = Waktu Tunggu + Lama Eksekusi Rata-rata TA = ∑TA / ∑Job Waktu Tunggu = Mulai Eksekusi – Waktu Tiba
FCFS (3) Jawaban: Nama Proses A Waktu Tiba 0 Lama Eksekusi 5 B 0 2 C 0 6 D 0 8 E 0 3
FCFS (4) Nama Proses Waktu Tiba Lama Ekseku si Mulai Ekseku si Waktu Tunggu Selesai Ekseku si TA A 0 5 0 0 5 5 B 0 2 5 5 7 7 C 0 6 7 7 13 13 D 0 8 13 13 21 21 E 0 3 21 21 24 24 ∑TA = 70 rata 2 TA = 14
FCFS (5) Contoh Soal 2: Jika diketahui terdapat 5 macam antrian proses, yaitu A-B -C-D-E dengan waktu kedatangan semuanya 0 -1 -2 -2 -5. Lama proses berturut-turut antara lain: 5 -2 -6 -8 -3. Pertanyaan: Kapan dimulainya eksekusi dari tiap-tiap antrian proses tsb? Kapan selesai eksekusinya? Hitung Turn Arround Time (TA)-nya? Berata rerata TA? Rumus TA = Waktu Tunggu + Lama Eksekusi Rerata TA = ∑TA / ∑Job Waktu Tunggu = Mulai Eksekusi – Waktu Tiba Selesai Eksekusi = Mulai_Eksekusi + Lama_Eksekusi
FCFS (6) Nama Proses Waktu Tiba Lama Mulai Selesai Eksekusi Waktu Tunggu TA A 0 5 0 5 B 1 2 5 7 4 6 C 2 6 7 13 5 11 D 2 8 13 21 11 19 E 5 3 21 24 16 19 ∑TA = 60 Rerata = 12
FCFS (7) Berdasarkan kriteria penilaian penjadwalan: Fairness Penjadwalan FCFS adil dalam arti semantiks (dalam arti antrian) Efesiensi Penjadwalan FCFS sangat efisien dalam penggunaan pemroses Waktu Tanggap Penjadwalan sangat tidak memuaskan, karena proses dapat menunggu lama Turn Arround Time Penjadwalan FCFS tidak bagus Throughput Penjadwalan FCFS tidak bagus.
Shortest Job First Dasar prioritas adalah pendeknya proses. Makin pendek/singkat proses makin tinggi prioritasnya Langkah I: tentukan urutan prioritas berdasarkan pendeknya proses yang dilayani Langkah II: penentuan proses mana yang dilayani oleh pemroses
Setiap proses yang ada dalam ready queue akan dieksekusi berdasarkan burst time terkecil Hal ini mengakibatkan waiting time yang pendek untuk setiap proses, maka rerata waiting time (AWT) juga menjadi pendek Algoritma ini dikatakan optimal
SJF (2) Contoh Soal 1: Nama Proses A Waktu Tiba 0 Lama Eksekusi 10 B 0 5 C 0 7 D 0 1 E 0 3
SJF (3) Nama Proses Waktu Tiba Lama Eksekusi D 0 1 E 0 3 B 0 5 C 0 7 A 0 10
SJF (4) Nama Proses Waktu Tiba Lama Eksekusi Mulai Eksekusi Selesai Eksekusi TA D 0 1 1 E 0 3 1 4 4 B 0 5 4 9 9 C 0 7 9 16 16 A 0 10 16 26 26 ∑TA = 56 rata 2 TA = 11, 2
SJF (5) Nama Proses Lama Eksekusi Waktu Tiba D 1 0 E 3 2 B 5 5 C 7 7 A 10 9
SJF (6) Nama Proses Waktu Tiba Lama Mulai Selesai Eksekusi Waktu Tunggu TA D 0 1 0 1 E 2 3 2 5 0 3 B 5 5 5 10 0 5 C 7 7 10 17 3 10 A 9 10 17 27 8 18 ∑TA = 37 Rerata = 7, 4
Priority Scheduling Merupakan algoritma yang mendahulukan proses yang memiliki prioritas tertinggi Prioritas proses ditentukan berdasar: Time limit Memory requirement File access Perbandingan antara burst proses dengan CPU Tingkat kepentinagn proses
PS (2) Priority scheduling dapat dijalankan secara preemptive dan non-preemptive Preemptive jika ada proses yang baru datang memiliki prioritas lebih tinggi dari proses yang sedang berjalan, maka proses yang sedang berjalan tsb dihentikan, lalu CPU dialihkan untuk proses yang baru datang tersebut Non preemptive proses yang baru datang tidak dapat menganggu proses yang sedang berjalan, tapi hanya diletakkan di depan queue
PS (3) Kelemahan PS adalah terjadinya infinite blocking (starvation), yaitu suatu proses dengan prioritas yang rendah memiliki kemungkinan tidak pernah dieksekusi jika terdapat proses lain yang memiliki prioritas lebih tinggi Solusi dari starvation adalah aging, yaitu meningkatkan prioritas dari setiap proses yang menunggu dalam queue secara bertahap
PS (4) Contoh : setiap 10 menit, prioritas dari masing-masing proses yang menunggu dalam queue dinaikkan 1 tingkat. Maka proses yang memiliki prioritas 127, setidaknya dalam 21 jam 20 menit, proses tsb akan memiliki prioritas 0, yaitu prioritas yang tertinggi
Contoh 2 - PS Diketahui 5 proses dengan urutan proses sbb:
Gantt chart Waiting Time AWT
ROUND ROBIN Algoritma ini menggilir proses yang ada di antrian. Proses akan mendapat jatah sebesar time quantum. Jika time quantum-nya habis atau proses sudah selesai, CPU akan dialokasikan ke proses berikutnya Proses ini cukup adil, karena tidak ada proses yang diprioritaskan Semua proses mendapat jatah waktu yang sama dari CPU yaitu 1/n, dan tidak akan menunggu lebih lama dari (n-1)q; dimana q adalah lama 1 quantum
Algoritma RR sepenuhnya bergantung besarnya time quantum (TQ). Jika TQ terlalu besar, algoritma ini akan sama saja dengan algoritma FCFS Jika TQ terlalu kecil, akan semakin banyak peralihan proses sehingga banyak waktu yang terbuang
Permasalahan algoritma RR Permasalahan utamanya adalah menentukan besarnya TQ. Jika TQ yang ditentukan terlalu kecil, maka sebagian besar proses tidak akan selesai dalam 1 quantum. Akibatnya akan terjadi banyak switch, padahal CPU memerlukan waktu untuk beralih dari satu proses ke proses yang lain (= context switches time) Sebaliknya, jika TQ yang ditentukan terlalu besar, algoritma RR akan berjalan seperti FCFS TQ ideal adalah jika 80% dari total proses memiliki CPU burst time yang lebih kecil dari 1 TQ
Urutan Kejadian RR
Penggunaan TQ
Contoh sederhana
Contoh 2 Diketahui 3 proses sbb: TQ = 3
Gantt chart Burst Time
Contoh 3 - RR Sebuah CPU dengan quantum 4 mendapat beberapa proses yang kedatangannya sebagai berikut: Proses Burst Time P 1 4 P 2 9 P 3 6 P 4 5 P 5 3 Burst time waktu proses
Gantt Chart P 1 0 P 2 4 P 3 8 P 4 12 P 5 16 P 2 19 P 3 23 P 4 25 P 2 26 27
AWT (average waiting time) Waktu tunggu untuk tiap-tiap proses : Proses P 1 P 2 P 3 Waiting Time 0 4 + (19 - 8) + (26 - 23) = 18 8 + (23 - 12) = 19 P 4 P 5 12 + (25 - 16) = 21 16 AWT yang terjadi adalah: ( 0 + 18 + 19 + 21 + 16 ) / 5 = 74 / 5 = 14, 8
ATR (average turn around) Proses Saat Tiba Lama Proses Saat Mulai Saat Selesai Turn Around Time P 1 0 4 4 P 2 0 9 4 27 27 P 3 0 6 8 25 25 P 4 0 5 12 26 26 P 5 0 3 16 19 19 Jumlah Rata-rata 101 20, 2
Round Robin dengan Waktu Tiba berbeda Nama Proses Saat Tiba A 0 B 1 C 5 D 6 E 7 Jml Lama Proses 5 3 7 1 6 22 Quantum = 2
Gantt Chart A 0 A 1 E 11 B 2 E 12 B 13 4 3 C A C 14 A 5 E 15 B 6 E 16 C 17 8 7 C C C 18 D 9 E 19 A 10 E 20 C 21 22
AWT Nama Saat Proses Tiba Lama Proses Waiting Time A 0 5 0+(4 -2)+(10 -6)=6 B 1 3 (2 -1)+(6 -4)=3 C 5 7 (7 -5)+(13 -9)+(17 -15)+(21 -19) =10 D 6 1 (9 -6)=3 E 7 6 (11 -7)+(15 -13)+(19 -17)=8 AWT = (6+3+10+3+8)/5 = 30/5 = 6
Turn Around Nama Proses Saat Tiba Lama Proses Saat Mulai Saat Selesai Lama Proses A 0 5 0 11 11 B 1 3 2 7 6 C 5 7 7 22 17 D 6 1 9 10 4 E 7 6 11 21 14 Jumlah Rata-rata 52 10, 4
Contoh 4 Untuk memahami dari cara kerja algoritma penjadwalan Round Robin ini, mari kita kerjakan soal berikut
Penyelesaian : Seperti halnya algoritma penjadwalan sebelumnya, langkah pertama untuk mencari AWT dengan Algoritma penjadwalan Round Robin dilakukan dengan membuat Gantt Chart prosesnya.
Dari Gantt Chart terlihat bahwa setiap proses dikerjakan menurut waktu yaitu setiap proses di proses sebesar 5 langkah. Awalnya P 1 akan di kerjakan sebanyak 5 langkah, kemudian, P 2 sebanyak 5 langkah, dan begitupun selanjutnya hingga P 5. Proses yang sudah di proses menurut porsi waktu yang diberikan akan kembali menunggu dan berada paling belakang dari antrian proses yang ada.
Contohnya P 1 dikerjakan di awal, kemudian ada P 2, P 3, P 4, dan P 5 yang mengantri di belakangnya. Jika P 1 selesai di proses menurut porsi waktunya maka P 1 akan di pindahkan ke belakang, sehingga urutannya menjadi P 2, P 3, P 4, P 1. begitupun seterusnya.
Waiting Time AWT
Latihan 1 Terdapat 5 job yang datang hampir pada saat yang bersamaan. Estimasi waktu eksekusi (burst time) masing-masing 10, 6, 2, 4 dan 8 menit dengan prioritas masing-masing 3, 5, 2, 1 dan 4, dimana 5 merupakan prioritas tertinggi. Tentukan rata-rata waktu turn around untuk penjadwalan CPU dengan menggunakan algoritma a. FCFS / FIFO b. Round Robin (quantum time = 2) c. Priority d. Shortest job first
Latihan 2 Diketahui quantum = 5, dengan menggunakan alogoritma Round Robin, carilah AWT dan Turn Around jika terdapat proses sebagai berikut: Nama Proses Saat Tiba Lama Proses A 0 5 B 2 3 C 7 8 D 11 2 E 14 6
- Contoh soal round robin
- Contoh soal algoritma penjadwalan proses
- Come rico
- Definisi penjadwalan
- First come first serve
- Fcfs gantt chart
- Konsep dasar penjadwalan cpu
- Berikut ini langkah konsep dasar penjadwalan proses
- Process scheduling solver
- Come holy spirit, come hymn
- Summary of the story hey come on out
- Come thou fount come thou king
- Past tense of sh
- Emmanuel son of god
- Come mi chiamo come mi chiamo
- Through all generations everlasting is his mercy
- Softly and tenderly jesus is calling
- Come mi vedo io come mi vedono gli altri
- Get in touch with god turn your radio on
- Come mi chiamo come mi chiamo
- Trow en pasado simple
- Come in and sit down
- Come in come in and sit down
- If + present simple
- Paralelisme sinkron
- Flowchart cara membuat kopi
- Start in flowchart
- Algoritma proses pembuatan kopi yang rasa manisnya tepat
- Desain algoritma
- Sequence process adalah
- Contoh penjadwalan proyek
- Contoh penjadwalan scheduling
- Pengertian tracking dalam manajemen proyek
- Materi penjadwalan jangka pendek
- Contoh penjadwalan maju
- Ppt business plan kewirausahaan
- Contoh gantt chart proyek sederhana
- Manfaat penjadwalan proyek
- Penjadwalan dengan prioritas tanpa prempsi, adalah:
- Susunan seri dan paralel
- Contoh penjadwalan preemptive dan nonpreemptive
- Spl proyek adalah
- Penjadwalan proyek
- Penjadwalan preemptive
- Contoh penjadwalan preemptive dan nonpreemptive
- Pengertian penjadwalan jangka pendek
- Contoh algoritma first fit
- Konsep proses mengajar dalam standar proses pendidikan