Wednesday, July 8, 2015



@RR(Round Robin) scheduling adalah suatu algorithma penjadwalan yang termasuk ke dalam kelompok penjadwalan Preemptive pada akhir irisan waktu(time slice) atau akhir waktu quantumAlgorithma Round Robin sederhana dan mudah diimplementasikan. 

Nama Round Robin berasal dari prinsip yang dikenal sebagai Round Robin dimana setiap orang mengambil bagian yang sama dari sesuatu pada gilirannya.

@Algorithme Round Robin merupakan salah satu algorithma yang tertua paling sederhana, algoritma paling adil dan paling banyak digunakan adalah Round Robin (RR).

@Tujuan dasar dari algoritma penjadwalan Round Robin adalah untuk mendukung sistem pembagian waktu (Time Sharing).Oleh karena itu Round Robin efektif dalam lingkungan time-sharing di mana sistem perlu menjamin waktu respon yang wajar bagi pengguna interaktif.

@Di satu sisi Algoritma Round Robin mirip dengan algoritma FIFO yakni proses yang dilayani  di dalam antrian Ready dan proses yang duluan tiba adalah proses yang duluan dilayani.
Pada RR Proses yang dilayani berada dalam antrian Ready melingkar disebut cyclic executive.
Perbedaannya dengan FIFO bahwa pada penjadwalan Round Robin ada pemberian jatah waktu layanan maksimal tertentu yang  sama untuk semua proses dalam 1 kali layanan.Jatah waktu layanan tertentu dalam satu kali layanan disebut waktu Quantum atau irisan waktu(time slice). Sehingga sistem pemberian jatah waktu layanan pada Round Robin disebut Time Slice(Irisan waktu) atau dikenal sebagai waktu Quantum

@Waktu kuantum umumnya 10 s/d 100 ms

@Dalam algorithme Round Robin untuk menyelesaikan suatu proses boleh saja mengalami layanan lebih dari 1 kali waktu kuantum yaitu terjadi pada proses yang BTnya lebih besar atau jauh lebih besar dari waktu Quantum. 

Pada kronologis layanan setiap set timer menunjuk habisnya waktu Quantum akan menyebabkan interupsi pada Sistem Operasi maka layanan terhadap suatu proses dihentikan(ditunda) dan scheduller menetapkan layanan diberikan pada proses urutan berikutnya pada antrian Ready. Proses yang ditunda tersebut akan ditempatkan posisinya di ujung akhir antrian Ready dan akan dilayani dilain waktu jika telah tiba gilirannya untuk dilayani lagi. 



Suatu proses yang ditunda layanannya dapat disebabkan karena telah tiba batas kuantum atau karena mendapatkan blokir atau karena suatu operasi I / O ketika dalam waktu kuantum. 



Perpindahan proses dari posisi antrian Ready depan ke ujug akhir antrian Ready disebut Overhead. Proses pengalihan layanan dari proses Running(dilayani)  ke kondisi Ready(bersiap untuk dilayani) di dalam antrian proses Ready dan mekanisme kebalikannya seolah tiada terputus disebut Konteks Switching. 


Jika suatu proses selesai dilayani sebelum habis masa waktu kuantum maka proses mengalami Terminated (dihentikan layanan terhadapnya) kemudian proses keluar dari sistem. Selanjutnya layanan akan diberikan sebesar waktu Quantum ke proses yang berada pada urutan berikutnya dari antrian Ready.

Demikian seterusnya hingga semua proses selesai dilayani.

@Biasanya waktu yang diperlukan konteks switching adalah kurang dari 10 microsecond; dengan demikian, waktu konteks switch adalah sebagian kecil dari waktu quantum.

Perlu mempertimbangkan pengaruh konteks switching pada kinerja penjadwalan RR,mekanisme memindahkan layanan dari satu proses  ke proses yang lain  membutuhkan sejumlah waktu tertentu untuk melakukan administration saving dan memuat register dan peta memori, memperbarui berbagai tabel dan daftar, pembilasan dan reload cache memori, dll.

Pada contoh diagram di bawah ini memperlihatkan mekanisme overhead,switching pada proses A yang memiliki BT lebih besar dari waktu quantum sehingga proses A butuh dilayani lebih dari 1 kali kuantum. Setelah layanan tahap 1 sebesar waktu quantum  maka proses A mengalami switching dan overhead ke ujung akhir antrian Ready. Proses A akan dilayani lagi setelah waktu giliran proses A kembali posisinya di ujung awal antrian. Jika proses A belum juga selesai ketika waktu quantum tahap ke 2 habis maka proses A akan switching dan overhead ke ujung akhir lagi dan bersiap akan dilayani jika sudah tiba lagi posisinya di ujung awal antrian.Demikian mekanisme RR-nya hingga proses A selesai dan akhirnya keluar dari sistem.


@Rata-rata Waiting Time  dalam Round Robin scheduling panjang.
@Secara umum, waktu penyelesaian rata-rata dapat ditingkatkan jika sebagian besar proses memiliki Burst Time selesai dalam waktu kuantum hanya satu kali.


Kelemahan  dan masalah pada Round Robin Scheduling :

1. Jika waktu kuantum terlalu kecil akan menyebabkan  terjadinya 
   banyak overhead untuk konteks switching yang sering memperburuk 
   efisiensi kinerja.  Misalnya 1 ms,  pendekatan  Rdisebut 
   Sharing Prosesor dan menciptakan penampilan yang masing-masing n
   proses memiliki prosesor sendiri berjalan pada 1/n kecepatan 
   prosesor yang nyata.


2. Rata-rata waktu tunggu cukup panjang ketika Burst Time proses 
   yang terlibat  sama panjang nya.

3. Jika  waktu kuantum  terlalu besar dapat menyebabkan minim 
   respon untuk permintaan layanan proses interaktif singkat
   yaitu saat pekerjaan panjang  adalah identik dengan menunggu,
   jika terjadi demikian bahkan algorithme FIFO lebih baik.
   Jika  kuantum terlalu besar maka RR berubah menjadi FIFO,  
   

Hubungan Overhead  dengan context switch dapat dinyatakan sebagai

overhead konteks switch  = C / (Q + C)
di mana Q adalah panjang waktu kuantum dan C adalah waktu konteks switching.
Peningkatan Q meningkatkan efisiensi tetapi mengurangi waktu respon rata-rata.

Sebagai contoh, misalkan ada sepuluh proses siap dijalankan, Q = 100 ms, dan C = 5 ms. Proses A (di kepala antrian run, daftar proses yang dalam keadaan Ready) mendapat giliran layanan segera. Proses B dapat berjalan hanya setelah  kuantum 
proses A berakhir (100 ms) dan context switch terjadi (5 ms), sehingga mulai berjalan pada 105 ms. Demikian juga, proses B dapat dilayani hanya 105 ms. Kita bisa menghitung jumlah waktu setiap proses yang akan ditunda dan membandingkan penundaan antara kuantum kecil (10 ms) dan kuantum panjang (100 ms.

Kelebihan Round Robin:

1.secara dramatis dapat meningkatkan rata-rata waktu respon rata-
rata.
2.Alokasi layanan adil ,tidak terjadi Starvation karena tidak ada proses dibiarkan menunggu giliran untuk dieksekusi oleh CPU.
3.Rata-rata Waktu Tunggu  rendah ketika ukuran Burst Time proses yang terlibat dalam layanan ukurannya bervariasi

Perhitungan yang biasa di dalam algorithme RR seperti perhitungan pada algorithme FIFO dan SJF yang telah penulis postingkan di waktu lalu .



Contoh1. Round Robin Scheduling:
Waktu Quantum = 1 ms
Pada contoh 1 ini penulis tidak mengulas perhitungan hanya menjelaskan step by step kronologis algorithme RR-nya. Waktu Quantum = 1 ms artinya setiap proses mendapat jatah layanan sebesar 1 ms . Dari paparan di bawah ini dapat dilihat bahwa P1 dilayani 5 kali, P2 dilayani 3 kali, P3 dilayani 2 kali. Dengan urutan layanan proses ada 4 rangkaian seperti yang penulis istilahkan di bawah ini sebagai 4 Trip yaitu Trip 1, Trip 2, Trip 3, dan Trip 4.


Kronologi proses dalam algorithma Round Robin-nya dapat digambarkan 
pada Gantt Chart sbb:
--------------------------------------------------------------------------------------------------------------------------


Contoh 2. Round Robin
Pada contoh ini bahasan RR bersama contoh perhitungan di dalamnya.
Data Contoh 2 ini penulis ambil dari suatu web, yang Gantt Chartnya penulis koreksi karena yang asalnya mungkin ada kesilapan dalam menuliskan Gantt Chartnya.Tetapi perhitungan Waiting Timenya dengan cara perhitungan bertahap melalui pembacaan t pada  Gantt Chartnya 
benar. 
Baiklah sahabat on line kita lanjut ulasan ini...
  
Waktu quantum = 2 ms












*Gantt Chart
Gantt Chart Contoh 2 Round Robin:






Pada akhir Gantt Chart P1 boleh tidak digambarkan sebanyak 2 kali karena P1 adalah proses yang terakhir dilayani dalam 2 kali quantum hingga selesai.Cukup dengan menuliskan t selesainya saja 17


*Perhitungan Waiting Time Round Robin 
Perhitungan Waiting Time pada Round Robin dapat dilakukan melalui pembacaan t pada Gantt Chartnya. Tetapi sedikit berbeda dibandingkan dengan pembacaan Waiting Time melalui Gantt Chart pada FIFO dan SJF yang juga telah penulis ulas pada waktu yang lalu,  hal itu karena dalam algorithme RR layanan proses yang ukuran BTnya lebih besar dari ukuran waktu Quantum,layanan dialokasikan dalam tahapan-tahapan oleh quantum.  Jadi pembacaan Waiting Time melalui Gantt Chart RR selalu dibarengi dengan perhitungan akumulasi waiting time dalam layanan hingga suatu proses itu selesai di layani.

Penulis mencoba terjemahkan ke dalam rumus perhitungan   WT yang membarengi pembacaan WT pada Gantt Chart.

Waiting Time = wt1 +( wt2 - ct1)+ (wt3 - ct2) +... (wtn - ctn-1)

wt1 =waiting time tahap1(awal)
wt2 =waiting time tahap2 
wt3 =waiting time tahap3
wtn =waiting time tahapke n
ct1 =completion time tahap1 (waktu selesai tahap1)
ct2 =completion time tahap2
ctn =completion time tahap ke n-1

Waiting Time (WT) untuk contoh 2 RR ini adalah sbb:
WT P1 = 0 + (6-2) + (10-8) + (13-12) = 7 ms
WT P2 = 2+ (8-4) + (12-10) = 8 ms
WT P3 = 4 ms , selesai dalam 1 kali Quantum

Jika dihitung rata-rata WT-nya  maka ,WT = (7+8+4)/3 = 6.33 


Bagaimana jika WT kita hitung menggunakan rumus perhitungan WT seperti yang juga telah saya postingkan pada Penjadwalan Proses di waktu yang lalu.


WT = CT - BT - AT
maka ;
WT P1 = CTP1 - BTP1 - AT1
WT P1 = 17 - 10 - 0 = 7 ms
WT P2 = 13 - 5 - 0 = 8 ms
WT P3 = 4 ms
hasilnya....sama juga.

Rata - Rata Waiting Time = (7 + 8 + 4 )/3 = 6,33

*Perhitungan Turn Around Time

Kita cukup menggunakan rumus 
TAT = WT + BT
sehingga;
TAT P1 = 7 + 10 =17 ms
TAT P2 = 8 + 5  =13 ms
TAT P3 = 4 + 2  = 6 ms

atau
boleh menggunakan rumus lain yaitu
TAT = CT - AT
sehingga ;
TAT P1=  CTP1 - ATP1
karena AT = 0, maka dalam hal ini TAT = CT
sehingga;
TAT P1= CTP1 -ATP1
      = 17 -0 =17 ms
TAT P2= 13 ms
TAT P3= 6 ms ....lihat t nya pada Gantt Chart   
hasilnya juga sama dengan hasil perhitungan rumus TAT di atas....

Rata-rata Turn Around Time = (17 + 13 + 6)/3 = 8,67 ms
----------------------------------------------------------------

Contoh 3. Round Robin
Hitunglah Rata-rata Turn Around dari layanan proses di bawah ini:
Quantum = 4 ms









*Perhitungan Turn Around Time
Kita cukup menggunakan rumus yang ada komponen rumusnya di tabel yaitu:
TAT = WT + BT
TAT D1 = 15 + 17 =32 ms
TAT D2 = 12 + 5  =17 ms
TAT D3 = 17 + 10 =27 mssehingga Rata-rata TAT-nya didapat
TAT = (30 + 17 + 27)/3 = 74/3 =24.67  ms

*Bagaimana Gantt Chart contoh 3 di atas?

Gantt Chart contoh 3 adalah :




*Bagaimana cara mencari Waiting Timenya?

WT  D1 = 0 + (12-4) + (21-16)  + (27-25)
              = 0  +     8      +     5        +      2     = 15
WT  D2 = 4  + (16-8)
              = 4  +     8   = 12
WT  D3 = 8  +(17-12) + (25-21)
              = 8  +     5       +    4     =17

Demikianlah informasi perihal algorithma Round Robin yang dapat penulis sampaikan di sini, semoga bermanfaat ...

Alhamdulillah  terima kasih. Thanks For........

Daftar Referensi

http://javahungry.blogspot.com/2013/09/round-robin-scheduling-algorithm-with-example-java-program-code.html
http://physinfo.ulb.ac.be/cit_courseware/opsys/os02.htm
http://siber.cankaya.edu.tr/OperatingSystems/ceng328/node125.html
http://web.cse.ohio-state.edu/~agrawal/660/Slides/jan18.pdf
https://www.cs.rutgers.edu/~pxk/416/notes/07-scheduling.html
http://www.personal.kent.edu/~rmuhamma/OpSystems/Myos/roundRobinSchedule.htm
Pasaribu.M.2015.Sistem Operasi.
Yang,Junfeng.W4118.http://www.cs.columbia.edu/~junfeng/10sp-w4118/lectures/l13-sched.pdf

Thursday, July 2, 2015



SJF (Shortest Job First).

Ciri-ciri SJF:
@SJF merupakan  satu algorithme penjadwalan  Non Preepmtive.
@Penjadwalan ini mengasumsikan waktu layanan proses  diketahui sebelumnya.
@SJF tidak dapat dilaksanakan di tingkat penjadwalan CPU jangka pendek, karena tidak ada cara untuk mengetahui BT proses berikutnya. Sama halnya seperti FIFO,   SJF optimal diterapkan untuk penjadwalan CPU jangka panjang seperti dalam sistem Batch.

@Shortest Job First (SJF) merupakan algorithme penjadwalan layanan proses berdasarkan Burst Time terpendek(BT terkecil, tersingkat).

@Dari proses yang sudah tiba pada semua AT =0    scheduller memilih proses terpendek untuk pertama dilayani oleh processor hingga selesai kemudian urutan selanjutnya yang dijadwalkan untuk dilayani adalah proses yang memiliki BT terpendek dari semua proses yang tersisa ,  demikian prinsip layanan proses-prosesnya selanjutnya hingga semua proses dilayani  selesai.

@Jika proses tiba dengan waktu tiba(AT) yang berbeda maka proses yang awal dilayani awal adalah proses yang masuk di waktu tiba paling awal dan proses tersebut dilayani hingga selesai dengan tanpa melihat apakah proses yang tiba di waktu paling awal tersebut memiliki BT terpendek atau terpanjang,  urutan layanan selanjutnya barulah dilakukan layanan pada proses yang BT nya paling  terpendek dan demikian prinsip layanan proses yang selanjutnya dipilih BT terpendek dari semua proses yang ada hingga semua semua proses selesai dilayani.

@Jika terdapat 2 proses atau lebih yang memiliki BT sama terpendek maka penjadwalan ala FIFO dilaksanakan yaitu dari antara kedua proses yang memiliki BT sama terpendeknya yang duluan dilayani adalah proses yang duluan tiba dari keduanya .

@SJF dinilai sebgai algorithme yang memberikan efisiensi yang tinggi dan turn around time rendah dan penjadwalannya tak berprioritas.

@Algoritma SJF pada suatu kondisi dapat bersifat algorithme  pre-emptive  yang dikenal sebagai algorithme SRTF atau SRF yang insya Allah  akan penulis postingkan pada kesempatan  yang akan datang.

MASALAH PADA SJF
1) Starvation (adanya proses yang tidak dilayani)
dalam beberapa keadaan seperti BT terpendek yang panjang  mungkin dibelakang ada proses yang selamanya menunggu.
Misalnya proses A BT 1 jam tiba di AT = 0

***************************
Contoh 1 Algorithme SJF
Contoh SJF dengan Arrival Time =0
Terdapat proses dibawah ini dengan Arrival Time (waktu tiba) yang sama di  t=0

Jika ditanya :
1.kapankah proses mulai dilayani ?
2.kapankah proses selesai dilayani ?
3.berapa lama proses menunggu sebelum dilayani ? dan berapa rata-rata lama proses menunggu dilayani?
4.berapa waktu yang dihabiskan proses di dalam sistem ? dan berapa rata-rata waktu yang dihabiskan proses di dalam sistem?

maka jawaban pertanyaan di atas memerlukan langkah-langkah Penyelesaian:
Untuk mudah dapat menjawab pertanyaan maka sebagai Langkah 1.;
Membuat Gantt Chart Proses SJF nya.

Mungkin jika ukuran waktu prosesnya pendek dan rangkaian prosesnya sedikit maka dianggap  tidak memerlukan Gantt Chart , namun jika BT prosesnya bervariasi dan panjang serta rangkaian  prosesnya banyak maka Gantt Chart sangat membantu kita membahas mekanismenya.

Dalam membuat Gant Chart rangkaian proses digunakan prinsip SJF yaitu dengan 
mengingat bahwa  proses yang pertama dilayani yang punya BT terpendek yaitu proses A BT3 hingga selesai  di t =3, kemudian diikuti dengan terpendek berikutnya proses X BT6 dilayani hingga  selesai di t =9 dan kemudian terpendek berikutnya proses Z BT7 dilayani hingga selesai  di t =16  dan yang terakhir dilayani adalah proses Y BT8 dilayani selesai di t=24.  Sebagai  kontrol perlu memperhatikan Jumlah Burst Time sama dengan t terakhir pada Gantt Chart.

Meskipun di soal tidak diminta menggambarkan Gantt Chartnya, tetapi sudah lazim dalam menjawab soal algorithme penjadawalan .dilampirkan Gantt Chartnya pada bagian awal jawaban.

Gant Chart proses SJF nya:







Membuat  tabel  jawaban yaitu table dasar soal  ditambah dengan kolom-kolom komponen  pertanyaan seperti berikut:






Setiap hasil pembahasan nantinya  dituliskan sebagai jawaban di dalam tabel.

Langkah 2. Berdasarkan Gantt Chart dapat dimulai menjawab pertanyaan

1.Waktu Proses mulai dilayani (Start Time) dilihat dari Gantt Chart
X =3
Y=16
Z=9
A=0 ­.------masukkan jawaban di dalam tabel di kolom Start Time

2.Waktu Proses selesai  dilayani (Completion Time) dilihat dari Gantt Chart
X =9
Y=24
Z=16
A=3 ­.------masukkan jawaban di dalam tabel pada langkah 2 di kolom Completion Time

3.Waktu Proses menunggu dilayani (Waiting Time) dapat dilihat dari Gantt Chart:
X =3
Y=16
Z=9
A=0  ------masukkan jawaban di dalam tabel pada langkah 2 di kolom Completion Time

Jika diuji dengan Rumus perhitungan WT :
Waiting Time = Start Time – Arrival Time
Waiting Time = Completion Time – Burst Time – Arrival Time
Untuk AT = 0 ,  WT=ST  atau  WT = CT-BT
Maka hasilnya sama dengan pembacaan waktu tunggu dari Gantt Chart
  
Rata-rata lama waktu proses menunggu dilayani:
WT average = ∑ WT  / ∑P
WT average = (3+16+9+0)/4 = 7

4.Waktu yang dihabiskan Proses di dalam sistem adalah:
Turn Around Time =
Turn Around Time = Completion Time – Arrival Time
Atau
Turn Around Time = Waiting Time + Burst Time
X=3 +6 = 9
Y=16 +8 =24
Z=9 +7 =16
A=0  + 3 = 3 masukkan jawaban di dalam tabel pada langkah 2 di kolom Turn Around Time

Rata-rata waktu yang dihabiskan proses di dalam sistem  (Turn Around Time) adalah
TAT average = ∑ TAT  / ∑P
TAT average= (9 + 24 + 16 +3) / 4 = 13










********************************* 
Contoh 2 Algorithme SJF
Contoh SJF dengan Arrival Time berbeda
Pertanyaan:
1.Gambarkan Gantt Chart proses
2.Tentukan Lama Proses menunggu layanan
3.Hitung jumlah rata-rata waktu yang dihabiskan proses selama di dalam sistem
Pada rangkaian proses di bawah ini.










Pembahasan :
Pada t=0.0 P1(BT7)  tiba dilayani 7 ms selesai di t=7,sementara  itu semua proses sudah tiba.
Kemudian yang dilayani selanjutnya adalah proses yang dilayani berikutnya dari tiga proses yang tersisa adalah proses yang  paling pendek BTnya yaitu P3(BT1) dilayani 1ms selesai di t=8,  selanjutnya yang dilayani adalah P2(BT4) dilayani selesai di t=12 dan terakhir dilayani adalah P1(BT7) selesai di t=16

Jawaban 1.
Gant Chart pproses SJF nya:




Jawaban 2.
Sebelumnya ,buat tabel jawaban dari tabel dasar ditambah kolom Waiting Time dan kolom Turn Around Time

Mencari Waiting Time (WT) yang lebih memungkinkan digunakan rumus
WT = Start Time - Arrival Time , -------untuk ukuran Start Time lihat Gantt Chart
WT P1 =0-0 =0
WT P2 =8-2 =6
WT P3=7-4 =3
WT P4 =12-5 =7  -------------------isikan ke dalam kolom Waiting Time

Jawaban no 3
TAT= Waiting Time + Burst Time Mencari waktu yang dihabiskan proses selama di sistem (Turn Around Time)  yang lebih memungkinkan digunakan rumus

TAT P1 =0+7 =7
TAT P2 =6+4 =10
TAT P3 =3+1 =4
TAT P4 =7+4 =11  -------------------isikan ke dalam kolom  Turn Around Time di tabel

Tabel Jawaban Contoh 2 SJF:
Rata-rata Turn Around Time = ∑ Turn Around Time / ∑ Proses
Rata-rata Turn Around Time = (7+10+4+11) /4  = 32/4 = 8


**************************
Contoh 3 Algorithme SJF
Mencari Rata-rata waktu penyelesaian  dan rata-rata waktu tunggu dari proses dibawah :











Pembahasan:
Seperti biasanya , terutama untuk tampilan data proses yang demikian diperlukan Gantt Chart untuk
membahasnya. 
Proses yang pertama tiba  di t=1 adalah D4(BT5) dilayani  5ms hingga selesai  di t = 6, sementara itu semua proses  telah tiba. Proses selanjutnya yang memiliki BT terpendek ada dua yakni  D1 dan D6 maka kebijakan FIFO digunakan yaitu yang dilayani adalah D6 karena D6 tiba lebih awal daripada D1.
Setelah D6 maka dilayani berturut-turut adalah D1,D5,D2,D4, dan terakhir dilayani adalah D3,sehingga kronologis pelayanan prosesnya dapat digambarkan pada Gantt Chart sbb:




∑t = 19-1 =18

Untuk mencari waktu penyelesaian  proses  selama di sistem (Turn Around Time)  yang lebih memungkinkan digunakan rumus :
Turn Arround Time  = Completion Time  – Arrival Time yaitu
Lihat Completion Time dari Gantt Chart dan lihat Arival Time dari tabel dasar di atas,  maka didapat:
Waktu Penyelesaian D1 = 8 –  6 = 2
Waktu Penyelesaian D2 = 13 – 3 =10
Waktu Penyelesaian D3 = 19 – 4 =15
Waktu Penyelesaian D4 = 6 – 1 = 5
Waktu Penyelesaian D5 = 10 – 2 = 8
Waktu Penyelesaian D6 = 7 – 5 = 2 -------isikan hasilnya ke kolom Turn Around Time  pada tabel.

Rata-rata waktu penyelesaian maka
TAT =  ∑ Turn Around Time / ∑ Proses
TAT = (2+10+15+5+8+2)/6    =42/6  = 7

Untuk mencari waktu tunggu   proses  (Waiting Time)  yang lebih memungkinkan digunakan rumus
Yang berkaitan langsung dengan  TAT yaitu:

Waiting Time = Turn Around Time - Burst Time
WT D1  = 2–1 = 1
WT D2  = 10–3 = 7                                   
WT D3  = 15-6 = 11
WT D4  = 5-5 = 0
WT D5  = 8-2 = 6
WT D6  = 2-1 = 1--------------isikan hasilnya ke kolom  Waiting Time  pada tabel.
             
Tabel Jawaban Contoh 3 SJF :          











Demikian kiranya informasi SJF scheduling yang dapat penulis tampilkan di sini,  semoga bermanfaat .


Thanks for...

Daftar Referensi:

http://web.cse.ohio-state.edu/~agrawal/660/Slides/jan18.pdf


Pasaribu.M.2015.Sistem Operasi 



FIFO =First In First Out.  Istilah lain untuk menyebut FIFO adalah FCFS (First Come First Served), di Indonesia ada yang menyebutnya PTPD (Pertama Tiba Pertama Dilayani).
FIFO merupakan algorithme penjadwalan yang paling sederhana.
Dalam algorithma penjadwalan FIFO, prosesor melayani proses berdasarkan urutan tiba dalam  antrian(Queuing) dimulai dari proses yang awal tiba hingga proses yang tibanya terakhir.Dalam FIFO semua proses dilayani jadi tidak terjadi Starvation(adanya proses yang tidak dilayani) .

FIFO secara kondisi umum meminimalisir  overhead dan meminimalisir konteks switching(peralihan layanan prosesor antar satu proses ke proses lain).

Pada kondisi khusus tertentu FIFO tidak menguntungkan bagi proses dengan Burst Time  pendek yang berada di urutan belakang dan proses Burst Time terpanjang berada di urutan antri depan karena proses dengan Burst Time pendek di belakang harus menunggu lama untuk mendapat giliran dilayani sehingga menyebabkan rata-rata waktu tunggu proses menjadi besar.Hal ini   disebut efek Konvoi.

Contoh penerapan algorithme FIFO :
-baik diterapkan untuk aplikasi analisis numerik dan pembuatan tabel.
-baik diterapkan pada sistem batch yang sangat jarang berinterkasi dengan pemakai.

Penilaian terhadap algorithma FIFO berdasarkan kriteria optimasi layanan proses:
1.Adil
Jika dilihat dari waktu tiba yakni pertama datang pertama dilayani,  tetapi jika dilihat dari jumlah BT maka FIFO tidak adil karena proses dengan BT pendek yang berada pada urutan belakang menjadi menunggu lama agar bisa dilayani.

2.Efisiensi
Dinilai sangat efisien

3.Waktu Tanggap
Dinilai sangat jelek , sangat tidak cocok untuk sistem interaktif dan  sistem waktu nyata (Real Time).

4.Turn arround Time
Jelek

5. Throughput
Jelek
FIFO jarang digunakan mandiri tetapi dikombinasikan algorithme lain, misalnya pada Algorithme SRTF dalam memprioritaskan proses-proses yang memiliki BT yang sama terpendeknya, pada saat demikian SRTF  diputuskan berdasarkan prinsip FIFO yakni proses yang duluan tiba yang dilayani diantara proses-proses yang  terpendeknya sama.


Berikut ini penulis menampilkan beberapa contoh dimulai dari yang paling sederhana dalam mekanisme FIFO : 








Terdapat 3 proses yaitu  A,B,C dengan Burst Time berturut-turut 2,5 ,20 dengan waktu tibanya 0,1,2.

Hal-Hal Yang dapat dibicarakan dalam Pembahasan:

1.Membuat Rangkaian proses-nya dalam tabel dasar sbb:

2.Menggambarkan Gantt Chart rangkaian prosesnya dengan prinsip FIFO dapat dibuat sbb :

3.Menentukan Start Time (ST) yaitu Waktu Kapan Mulai Proses Dilayani;dapat dilihat dari Gantt Chart, yaitu:
ST  Proses A =0
ST  Proses B =2
ST  Proses C =7

4.Menentukan Completion Time (CT) yaitu Waktu Kapan Selesai Proses Dilayani; dapat dilihat pada Gantt Chart, yaitu:

CT  Proses A =2
CT  Proses B =7
CT  Proses C =27

5.Menentukan Waktu Tunggu (WT) setiap Proses , dapat dihitung dengan mana saja dari berbagai Rumus perhitungan yang ada diantaranya adalah :


[Masih lupa rumus-rumus alternatif  perhitungan WT.TAT. konversinya? klik di @BEBERAPA RUMUS PENGUKURAN DALAM PENJADWALAN PROSES@


a.Rumus Waiting Time = Start Time - Arrival Time

disingkat WT= ST - AT
ST masing-masing proses dilihat pada hasil pembahasan no 3.  dan  AT masing-masing proses ada pada soal atau di tabel dasar pembahasan no 1.  sehingga;
WT  Proses A = STA - ATA =0-0 =0
WT  Proses B = STB - ATB =2-1 =1
WT  Proses C = STC - ATC =7-2 =5

Karena Completion Time sudah diketahui dapat juga Waiting Time dihitung menggunakan ;

b.Rumus Waiting Time = Completion Time – Burst Time – Arrival Time
disingkat WT = CT - BT - AT
CT masing-masing proses lihat pada hasil pembahasan no 4.
BT dan AT masing-masing proses dilihat pada soal atau pada tabel dasar pembahasan no1.
sehingga ;
WT  Proses A = CTA - BTA -ATA =2-2-0 =0
WT  Proses B = CTB - BTB -ATB =7-5-1 =1
WT  Proses C = CTC - BTC -ATC =27-20-2=5

6.Menentukan Turn Around Time (TAT) yaitu waktu yang dihabiskan proses selama di dalam sistem pemrosesan:

TAT dapat dihitung dengan mana saja dari 2 rumus perhitungan sbb:
a.Rumus Turn Around Time = Completion Time - Arrival Time
disingkat TAT = CT - AT
sehingga ;
TAT Proses A = CTA - ATA =2-0 =2
TAT Proses B = CTB - ATB =7-1 =6
TAT Proses C = CTC - ATC =27-2=25 d

Atau...karena Waiting Time sudah diketahui maka Turn Around dapat dihitung menggunakan menggunakan;
b.Rumus Turn Around Time = Waiting  Time + Burst Time
disingkat TAT = WT + BT
sehingga;
TAT Proses A = WTA - BTA =0+2=2
TAT Proses B = WTB - BTB =1+5 =6
TAT Proses C = WTC - BTC =5+20=25 

7.Hasil Pembahasan FIFO contoh 1 dapat ditampilkan dalam tabel:


Rata-rata Waiting Time = ∑ WT_ABC : ∑Proses

Rata-rata WT = 6/3 =2

Rata-rata TAT = ∑ TAT_ABC : ∑Proses

Rata-rata TAT = 33/3=11


Demikianlah Contoh 1 Penjadwalan FIFO Arrival Time berbeda.


 *****************#######***************






Pada contoh 1 di atas diketahui Arrival Time semua proses berbeda, pada contoh 2 ini semua proses tiba bersamaan di t=o



Jika diminta untuk :

1.Menentukan Completion Time(Waktu Kapan Selesai Proses Dilayani)
2.Rata-Rata Turn Around Time.
3.Menentukan Rata-rata Waiting Time

Pembahasan:

Pembahasan No. 1
Penggambaran Gant Chart-nya  dalam prinsip FIFO untuk lebih jelas melihat Completion Time prosesnya :



Dari Gantt Chart dapat ditentukan jawaban no 1.

Completion Time(CT) prosesnya ;
CT Proses P =3
CT Proses Q=18
CT Proses R=35

Pembahasan No.2

Untuk mendapatkan Rata-rata TAT  harus menghitung TAT masing-masing proses.
Dalam hal ini karena Completion Time telah diketahui maka TAT masing-masing proses dapat dihitung dengan yang ini : Rumus  Turn Around Time  = Completion Time  -  Arrival Time
disingkat TAT = CT - AT
dikarenakan AT = 0  maka TAT = CT
sehingga di dapatkan:
TAT proses P  = CTP  =3
TAT proses Q = CTQ =18
TAT proses R = CTR =35
Jawaban no 2.
Rata-rata TAT = (3+18+35)/3   =  56/3  = 18,67

Pembahasan No.3

Karena Turn Around Time Telah diketahui maka Waiting Time dapat dihitung dengan rumus yang ini: Waiting Time = Turn around Time - Burst Time
disingkat WT = TAT - BT
sehingga ;
WT proses P =TAT Proses P - BTP = 3-3 =0
WT proses Q =TAT Proses Q - BTQ = 18-15=3
WT proses R =TAT Proses R - BTR = 35-17=18
Jawaban no 3. 
Rata-rata Waiting Time = (0+3+18)/3 = 7





Pada contoh rangkaian FIFO yang ke 3 ini penulis paparkan contoh perhitungan dalam FIFO  di dalam  tabel. 

Jika diketahui terdapat antrian 7 proses yaitu P1, P2, P3, P4, P5, P6, P7 dengan kedatangan 0,1,2,2,4,5,6,8  dan lama layanan berturut-turut adalah 5,2,4,6,8,3,2.

Pertanyaan :
a.Kapankah dimulai layanan dari tiap-tiap antrian?
b.Kapankah selesai layanan tiap-tiap proses?
c.Hitung Turn Around Time-nya.
d.Berapakah rata-rata Turn Around Time?

Pembahasan untuk menjawab pertanyaan:
@Membuat tabel dasar rangkaian prosesnya sbb:


@Membuat Gantt Chart rangkaian prosesnya:


Kali ini jawaban ditampilkan sudah dalam bentuk Tabel

Penulis mencoba untuk menjelaskan kronologis  perhitungan yang mungkin menghagasilkan  isi tabel untuk menjadi jawaban pertanyaan di atas :


Rata-Rata TAT = 100/7 = 14,29

Demikianlah informasi perihal FIFO scheduling yang dapat penulis share,  semoga bermanfaat bagi siapa saja yang membutuhkan informasi sekitar ini.

Alhamdulillah terima kasih


Thanks For ....
Daftar Referensi:
http://inst.eecs.berkeley.edu/~cs162/sp11/sections/cs162-sp11-section5-answers.pdf
http://siber.cankaya.edu.tr/OperatingSystems/ceng328/node122.html
Pasaribu.M.2015.Sistem Operasi 

LUPA PASWORD AKUN DI GOOGLE?.. BEGINI SOLUSINYA

Alhamdulillah 💕 Assalamualaikum  sahabat online 🙋💝💝 sharing info solusi jika sulit membuka akun google  Langkah-langkah metode lupa pasw...