Senin, 04 April 2016

ALGORITMA PENJADWALAN DAN CONTOH SOAL



1.shorttes job-first
   Pengertian algoritma penjadualan Shortest-job-first (SJF)
Shortest-job-first (SJF) adalah penggabungan setiap proses merupakan panjang dari brust CPU berikutnya. Panjang tersebut digunakan untuk penjadwalan proses pada waktu terpendek.

Terdapat 2skema :
·         Nonpreemtive (harus diselesaikan)
·         Preemptive (bisa berhenti ditengah jalan)
Contoh : SJF(non-preemptive)
proses             arrival time                 burst time
 P1                          0,0                                        7
 P2                          2,0                                        4
 P3                          4,0                                        1
 P4                           5,0                           4
P1
P3
P2
P4
     0                        7                      8                      12                 16
Ø  Waiting time : p1 = 0
 P3 = 7-4
 = 3 (dilihat arrival time)
P2 = 8-2
 = 6 (dieksekusi mulai waktu ke-8 tapi datang waktu ke-2)
P4 = 12-5
 = 7 (dieksekusi mulai waktu ke-12 tapi datang waktu 5)
Ø  Average waiting time : 0+6+3+7=16/4= 4

priority

1.      Algoritma penjadwalan priority adalah algoritma penjadwalan yang medahulukan proses yang memiliki prioritas tertinggi. Algoritma ini juga dapat dijalankan secara preemptive dan non preemptive.
Contoh :
Proses
Burst time
Prioritas
P1
7
3
P2
2
4
P3
3
3
P4
2
1
P5
10
2
Hitunglah AWT menggunakan algoritma PS.
Maka gantt char kedatangan proses :
P4
P5
P1
P3
P2
    0                  2                      12                    19                    22                    24       
Sehingga waktu tunggu untuk tiap-tiap proses terlihat pada table berikut :
Proses
Waiting time
(ms)
P1
P2
P3
P4
P5
12
22
19
0
2

Average waiting time = (12+22+19+2)/5 = 11 ms.

round Robin

1.      Algoritma penjadwalan Round Robin adalah susunan yang memilih semua elemen pada grup seperti beberapa perintah rasional, biasanya dari atas sampai kebawah sebuah daftar/susunan dan kembali lagi keatas dan begitu seterusnya.
Contoh :
proses
Burst time
P1
23
P2
6
P3
6
Hitunglah AWT menggunakan algoritma RR dengan Q=3.
Maka gantt chart kedatangan proses :

P1
P2
P3
P1
P2
P3
P1
P1
P1
P1
P1
P1
0       3          6            9                      12           15            18          21          42            27           30           33    35
Waktu tunggu untuk tiap-tiap proses terlihat pada table berikut :
proses
Burst time
(ms)
P1
P2
P3
0+(9-3)+(18-12)=12
3+(12-6)            =9
6+(15-9)            =12         
 Average waiting time = (12+9+12)/3 = 11 ms




Multilevel Queue (MQ)
Ide dasar dari algoritma ini berdasarkan pada sistem prioritas proses. Prinsipnya, jika setiap proses dapat dikelompokkan berdasarkan prioritasnya, maka akan didapati queue seperti pada gambar berikut:
Dari gambar tersebut terlihat bahwa akan terjadi pengelompokan proses-proses berdasarkan prioritasnya. Kemudian muncul ide untuk menganggap kelompok-kelompok tersbut sebagai sebuah antrian-antrian kecil yang merupakan bagian dari antrian keseluruhan proses, yang sering disebut dengan algoritma multilevel queue.


MFQ (Multiple Feedback Queue)
Algoritma ini mirip sekali dengan algoritma multilevel queue. Perbedaannya ialah algoritma ini mengizinkan proses untuk pindah antrian. Jika suatu proses menyita CPU terlalu lama, maka proses itu akan dipindahkan ke antrian yang lebih rendah. Hal ini menguntungkan proses interaksi karena proses ini hanya memakai waktu CPU yang sedikit. Demikian pula dengan proses yang menunggu terlalu lama. Proses ini akan dinaikkan tingkatannya. Biasanya prioritas tertinggi diberikan kepada proses dengan CPU burst terkecil, dengan begitu CPU akan terutilisasi penuh dan M/K dapat terus sibuk. Semakin rendah tingkatannya, panjang CPU burst proses juga semakin besar.