Anda di halaman 1dari 14

Buat program untuk menghitung waiting time rata-rata (AWT) dan Turnround time ratarata (ATT) menggunakan algoritma

: 1.FCFS 2.S F (!reempti"e dan #on !reempti"e) $.!riotit% &'heduling (preemti"e dan #on !reempti"e) (.)ound )o*in ())-FCFS) +nput program n%a umlah !ro&e&, Arri"al Time ma&ing-ma&ing pro&e&,Bur&hTime ma&ing-ma&ing pro&e& priorita& (khu&u& priorit% &'hduling) -ang ditan%a kan . 1.Flow'hart program 2.Code !rogram $.!anduan penggunaan program (.File program

Penjelasan dulu yah gustin, biar kamu jelas Penjadwalan proses merupakan basis sistem operasi multiprogramming. Dengan mengalihalihkan pemroses di antara prosesproses yang ada, sistem operasi membuat sistem komputer menjadi lebih produktif dan efisien. Sasaran multiprogramming adalah mempunyai proses yang berjalan (dieksekusi) disetiap waktu untuk memaksimumkan utilitasi pemproses. Untuk sistem komputer dengan pemroses tunggal (disebut sistem unipro essor atau singlepro essor) maka tidak lebih dari satu proses yang berjalan (!unning). "ika terdapat beberapa proses di sistem, satu proses berjalan sedangkan sisanya menunggu sampai pemroses bebas dan proses itu dijadwalkan untuk dijalankan. #agasan multiprogramming adalah sederhana, satu proses dieksekusi sampai proses itu menunggu sesuatu, biasanya pelaksanaan operasi $%&. Pada multiprogramming, beberapa proses disimpan proses disimpan di memori pada satu waktu. 'ujuan dari multiprogramming adalah untuk menjalankan beberapa proses pada waktu tertentu sehingga bisa memaksimalkan penggunaan (PU. 'ujuan dari time)sharing adalah untuk menggilir penggunaan (PU antara proses)proses sehingga user bisa berinteraksi dengan masing)masing program ketika program tersebut dijalankan. *etika satu proses harus menunggu, sistem operasi mengambil pemroses darinya dan memberikan pemroses ke proses lain. Pola ini di lakukan terus menerus. Setiap kali proses menunggu, proses lain mengambil alih penggunaan pemroses. +ahsudnya disini adalah jika terdapat lebih dari satu proses, proses)proses lainnya harus menunggu sampai (PU bebas dan bisa dijadwalkan ulang. Penjadwalan (PU adalah basis dari sistem operasi multiprogramming, yang dilakukan dengan men)swit h (PU diantara proses. Disini sistem operasi dapat membuat komputer menjadi lebih produktif. Penjadwalan adalah fungsi dasar dari sistem operasi. Penjadwalan merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer. Penjadwalan bertugas memutuskan hal)hal berikut, Proses yang harus berjalan, *apan dan selama berapa lama proses berjalan. -ampir

semua sumber daya komputer dijadwalkan sebelum digunakan. (PU merupakan salah satu sumber daya utama sistem komputer. Sehingga penjadwalan (PU merupakan pusat ran angan sistem operasi. Dalam penjadwalan, proses yang belum mendapat jatah alokasi dari (PU akan mengantri di ready .ueue. Di sini algoritma diperlukan untuk mengatur giliran proses)proses tersebut. /da beberapa algoritma untuk mengatur hal tersebut. Salah satu algoritma tersebut adalah Penjadwalan Prioritas. "enis)jenis algoritma penjadwalan, 0. 1onpreempti2e, menggunakan konsep , a. 3$3& (3irst $n 3irst &ut) atau 3(3S (3irst (ome 3irst Ser2e) b. S"3 (Shortest "ob 3irst) . -!1 (-ighest !atio 1e4t) d. +35 (+ultiple 3eedba k 5ueues) 6. Preempti2e, menggunakan konsep , a. !! (!ound !obin) b. S!3 (Shortest !emaining 3irst) . PS (Priority S hedulling) d. #S (#uaranteed S hedulling) *lasifikasi lain selain berdasarkan dapat%tidaknya suatu proses diambil se ara paksa adalah klasifikasi berdasarkan adanya prioritas di proses)proses, yaitu , 0. /lgoritma penjadwalan tanpa berprioritas. 6. /lgoritma penjadwalan berprioritas, terdiri dari , a. 7erprioritas stati b. 7erprioritas dinamis /lgoritma 1onpreempti2e 0) 3irst $n 3irst &ut (3$3&) 3irst $n 3irst &ut (3$3&) merupakan penjadwalan tidak berprioritas. 3$3& adalah penjadwalan paling sederhana, yaitu proses)proses diberi jatah waktu

pemroses berdasarkan waktu kedatangan. Pada saat proses mendapat jatah waktu pemroses, proses dijalankan sampai selesai. Penilaian penjadwalan ini berdasarkan kriteria optimasi , 8 /dil, dalam arti resmi (proses yang datang duluan akan dilayani lebih dulu), tapi adil karena job)job yang perlu waktu lama membuat job)job pendek dinyatakan tidak lama. 8 8 8 8 8 8 8 9fisiensi, sangat efisien. :aktu tanggap sangat jelek, tidak o ok untuk sistem interaktif apalagi untuk 'urn around time kurang baik. 'hroughtput kurang baik. 3$3& jarang digunakan se ara mandiri, tetapi 7aik untuk sistem bat h yang sangat jarang berinteraksi dengan pemakai. (ontoh , aplikasi analisis numerik, maupun pembuatan tabel. Sangat tidak baik (tidak berguna) untuk sistem interaktif, karena tidak memberi 'idak dapat digunakan untuk sistem waktu nyata (real)time appli ations). waktu tanggap yang baik. 3irst)(ome 3irst)Ser2ed (3(3S) /lgoritma ini merupakan algoritma penjadwalan yang paling sederhana yang digunakan (PU. Dengan menggunakan algoritma ini seiap proses yang berada pada status ready dimasukkan ke dalam antrian 3$3& sesuai dengan waktu kedatangannya. Proses yang tiba terlebih dahulu yang akan dieksekusi terlebih dahulu. +isalnya ada tiga buah proses yang datang se ara bersamaan yaitu pada ; ms, P0 memiliki burst time 6< ms, P6 memiliki burst time = ms, P> memiliki burst time > ms. -itunglah wating time rata)rata dan turnaround time (burst time ? waiting time) dari ketiga proses tersebut dengan

menunggu. "ob)job yang tidak penting dapat membuat job)job penting menunggu

sistem waktu nyata.

dikombinasikan dengan skema lain.

menggunakan algoritma 3(3S. Proses 7urst time P0 6< ms P6 = ms P> > ms :aiting time untuk p0 adalah ; ms (P0 tidak perlu menunggu), sedangkan untuk p6 adalah sebesar 6< ms (menunggu P0 selesai) dan untuk p> sebesar 6@ ms (menunggu P0 dan P6 selesai). :aiting time rata)ratanya adalah sebesar (;?6<?6@)%> A 0B,C ms. 'urnaround time untuk P0 sebesar 6< ms, sedangkan untuk P6 sebesar 6@ ms (dihitung dari awal kedatangan P6 hingga selesai dieksekusi), untuk p> sebesar >6 ms. 'urnaround time rata)rata untuk ketiga proses tersebut adalah (6<?6@?>6)%> A 6D,> ms. *elemahan dari algoritma ini, a. :aiting time rata)ratanya ukup lama. b. 'erjadinya on2oy effe t, yaitu proses)proses menunggu lama untuk menunggu satu proses besar yang sedang dieksekusi oleh (PU. 6) Shortest "ob 3irst (S"3) Penjadwalan S"3(Shorthest "ob 3irst) adalah kasus khusus untuk algoritma penjadwalan Prioritas. Prioritas dapat diasosiasikan masing)masing proses dan (PU dialokasikan untuk proses dengan prioritas tertinggi. Untuk proritas yang sama dilakukan dengan 3(3S. $de penjadwalan prioritas adalah tiap proses diberi prioritas dan proses berprioritas tertinggi running (mendapat jatah waktu pemroses). Prioritas dapat diberikan se ara, Prioritas statis (stati priorities). Prioritas dinamis (dynami priorities). Prioritas Statis

Prioritas statis berarti prioritas tak berubah. (ontoh Penjadwalan 7erprioritas Proses)proses yang sangat banyak operasi masukan% keluaran ($% & bound) menghabiskan kebanyakan waktu menuggu selesainya operasi masukan% keluaran. Proses)proses ini diberi prioritas sangat tinggi sehingga begitu proses memerlukan pemroses segera diberikan, proses akan segera memulai permintaan masukan% keluaran berikutnya sehingga menyebabkan proses blo ked menunggu selesainya operasi masukan% keluaran. Dengan demikian pemroses dapat dipergunakan proses) proses lain. Proses)proses $% & bound berjalan parallel bersama proses)proses lain yang benar)benar memerlukan pemroses, sementara proses)proses $% & bound itu menunggu selesainya operasi D+/. Proses)proses yang sangat banyak operasi masukan% keluaran kalau harus menunggu lama untuk memakai pemroses (karena prioritas rendah) hanya akan membebani memori karena harus disimpan tanpa perlu proses)proses itu di memori karena tidak selesai)selesai menunggu operasi masukan dan menunggu jatah pemroses. Penjadwalan ini mengasumsikan waktu berjalannya proses sampai selesai telah diketahui sebelumnya. +ekanismenya adalah menjadwalkan proses dengan waktu jalan terpendek lebih dulu sampai selesai, sehingga memberikan efisiensi yang tinggi dan turn around time rendah dan penjadwalannya tak berprioritas. (ontoh , 'erdapat empat proses (job) yaitu /,7,(,D dengan waktu jalannya masing) masing adalah D,<,< dan < menit. /pabila proses)proses tersebut dijalankan, maka turn around time untuk / adalah D menit, untuk 7 adalah 06, untuk ( adalah 0C dan untuk D adalah 6;. /pabila keempat proses tersebut menggunakan penjadwalan shortest job fisrt, maka turn around time untuk 7 adalah <, untuk ( adalah D, untuk D adalah 06 dan untuk / adalah 6;. *arena S"3 selalu memperhatikan rata)rata waktu respon terke il, maka sangat baik untuk proses interaktif. Umumnya proses interaktif memiliki pola, yaitu menunggu perintah, menjalankan perintah, menunggu perintah dan menjalankan perintah, begitu seterusnya. +asalah yang mun ul adalah tidak mengetahui ukuran

job saat job masuk. Untuk mengetahui ukuran job adalah dengan membuat estimasi berdasarkan kelakukan sebelumnya. Prosesnya tidak datang bersamaan, sehingga penetapannya harus dinamis. Penjadwalan ini jarang digunakan karena merupakan kajian teoritis untuk pembandingan turn around time. >) -ighest !atio 1e4t (-!1) -ighest !atio 1e4t merupakan strategi penjadwalan dengan prioritas proses tidak hanya berdasarkan fungsi waktu layanan tetapi juga jumlah waktu tunggu proses. 7egitu proses mendapat jatah pemroses, proses berjalan sampai selesai. Prioritas dinamis -!1 dihitung berdasarkan rumus , Prioritas A (waktu tunggu ? waktu layanan ) % waktu layanan *arena waktu layanan mun ul sebagai pembagi, maka job lebih pendek berprioritas lebih baik, karena waktu tunggu sebagai pembilang maka proses yang telah menunggu lebih lama juga mempunyai kesempatan lebih bagus. Disebut -!1, karena waktu tunggu ditambah waktu layanan adalah waktu tanggap, yang berarti waktu tanggap tertinggi yang harus dilayani. <) +ultiple 3eedba k 5ueues (+35) +erupakan penjadwalan berprioritas dinamis. Penjadwalan ini untuk men egah (mengurangi) banyaknya swappingdengan proses)proses yang sangat banyak menggunakan pemroses (karena menyelesaikan tugasnya memakan waktu lama) diberi jatah waktu (jumlah kwanta) lebih banyak dalam satu waktu. Penjadwalan ini juga menghendaki kelas)kelas prioritas bagi proses)proses yang ada. *elas tertinggi berjalan selama satu kwanta, kelas berikutnya berjalan selama dua kwanta, kelas berikutnya berjalan empat kwanta, dan seterusnya. *etentuan yang berlaku adalah sebagai berikut , 8 8 8 "alankan proses pada kelas tertinggi. "ika proses menggunakan seluruh kwanta yang dialokasikan, maka diturunkan Proses yang masuk untuk pertama kali ke sistem langsung diberi kelas tertinggi.

kelas prioritasnya.

+ekanisme ini men egah proses yang perlu berjalan lama swapping berkali)kali dan men egah proses)proses interaktif yang singkat harus menunggu lama. /lgoritma Preempti2e 0)

!ound !obin (!!) Penjadwalan yang paling tua, sederhana, adil, banyak digunakan algoritmanya dan mudah diimplementasikan.

+erupakan ,

Penjadwalan ini bukan dipreempt oleh proses lain tetapi oleh penjadwal berdasarkan lama waktu berjalannya proses (preempt by time). Penjadwalan tanpa prioritas. 7erasumsi bahwa semua proses memiliki kepentingan yang sama, sehingga tidak ada prioritas tertentu. Semua proses dianggap penting sehingga diberi sejumlah waktu oleh pemroses yang disebut kwanta (.uantum) atau time sli e dimana proses itu berjalan."ika proses masih running sampai akhir .uantum, maka (PU akan mempreempt proses itu dan memberikannya ke proses lain. Penjadwal membutuhkannya dengan memelihara daftar proses dari runnable. *etika .uantum habis untuk satu proses tertentu, maka proses tersebut akan diletakkan diakhir daftar (list).

6)

Shortest !emaining 3irst (S!3)

+erupakan , 8 Penjadwalan berprioritas.dinamis. 8 preempti2e untuk timesharing 8 +elengkapi S"3 Pada S!3, proses dengan sisa waktu jalan diestimasi terendah dijalankan, termasuk proses)proses yang baru tiba.Pada S"3, begitu proses dieksekusi, proses dijalankan sampai selesai.Pada S!3, proses yang sedang berjalan (running) dapat diambil alihproses baru dengan sisa waktu jalan yang diestimasi lebih rendah. *elemahan ,

+empunyai o2erhead lebih besar dibanding S"3. S!3 perlu penyimpanan

waktu layanan yang telah dihabiskan job dan kadang)kadang harus menangani peralihan. 8 8 'ibanya proses)proses ke il akan segera dijalankan. "ob)job lebih lama berarti dengan lama dan 2ariasi waktu tunggu lebih lama S!3 perlu menyimpan waktu layanan yang telah dihabiskan , menambah o2erhead. Se ara teoritis, S!3 memberi waktu tunggu minimum tetapi karena o2erhead peralihan, maka pada situasi tertentu S3" bisa memberi kinerja lebih baik dibanding S!3. Shortest)"ob 3irst (S"3) /lgoritma ini mempunyai ara penjadwalan yang berbeda dengan 3(3S. Dengan algoritma ini maka setiap proses yang ada di antrian ready akan dieksekusi berdasarkan burst time terke il. -al ini mengakibatkan waiting time yang pendek untuk setiap proses dan karena hal tersebut maka waiting time rata)ratanya juga menjadi pendek, sehingga dapat dikatakan bahwa algoritma ini adalah algoritma yang optimal. /da beberapa kekurangan dari algoritma ini yaitu, 8 *esulitan untuk memprediksi burst time proses yang akan dieksekusi selanjutnya 8 Proses yang mempunyai burst time yang besar akan memiliki waiting time yang besar pula karena yang dieksekusi terlebih dahulu adalah proses dengan burst time yang lebih ke il. /lgoritma ini dapat dibagi menjadi dua bagian yaitu, 0. Preempti2e. "ika ada proses yang sedang dieksekusi oleh (PU dan terdapat proses di antrian ready dengan burst time yang lebih ke il daripada proses yang sedang dieksekusi tersebut, maka proses yang sedang dieksekusi oleh (PU akan digantikan oleh proses yang berada di

dibanding pada S"3.

antrian ready tersebut. Preempti2e S"3 sering disebut juga Shortest)!emaining)'ime)3irst s heduling. 6. 1on)preempti2e. (PU tidak memperbolehkan proses yang ada di antrian ready untuk menggeser proses yang sedang dieksekusi oleh (PU meskipun proses yang baru tersebut mempunyai burst time yang lebih ke il. +isalnya ada empat buah proses dengan masing)masing waktu kedatangan burst time di jelaskan pada tabel di bawah ini. -itunglah waiting time rata)rata dan turnaround time dari keempat proses tersebut dengan mengunakan algoritma S"3. Proses /rri2al time 7urst 'ime P0 ; ms B ms P6 6 ms < ms P> < ms 0 ms P< = ms < ms Solusi Preempti2e, !ata)rata waiting time adalah (@ ? 0 ? ; ?6)%< A >, dimana , P0, (;);?00)6) A @ P6, (6)6?=)<) A 0 P>, (<)<) A ; P<, (B)=) A 6 !ata)rata turnaround time adalah ((@?B)?(0?<)?(;?0)?(<?6))%< A B Solusi 1on)Preempti2e, !ata)rata waiting time adalah (; ? C ? > ? B)%< A <, dimana, P0, (;);) A ; P6, (D)6) A C P>, (B)<) A >

>). Priority S hedulling (PS) Setiap proses diberi prioritas dan proses yang berprioritas tertinggi mendapat jatah waktu lebih dulu (running). Diasumsikan bahwa masing)masing proses memiliki prioritas tertentu, sehingga akan dilaksanakan berdasar prioritas yang dimilikinya. $lustrasi yang dapat memperjelas prioritas tersebut adalah dalam komputer militer, dimana proses dari jendral berprioritas 0;;, proses dari kolonel @;, mayor berprioritas D;, kapten berprioritas B;, letnan berprioritas C; dan seterusnya. Dalam U1$E perintah untuk mengubah prioritas menggunakan perintah ni e. Pemberian prioritas diberikan se ara, a.) Statis (Stati Priorities) berarti prioritas tidak berubah. *eunggulan , 8 +udah diimplementasikan. 8 +empunyai o2erhead relatif ke il. *elemahan , 8 'idak tanggap terhadap perubahan lingkungan yang mungkin menghendaki penyesuaian prioritas. b. ) Dinamis (Dynami Priorities) merupakan mekanisme untuk menanggapi perubahan lingkungan system beroperasi. Prioritas awal yang diberikan ke proses mungkin hanya berumur pendek setelah disesuaikan ke nilai yang lebih tepat sesuai lingkungan. *elemahan , $mplementasi mekanisme prioritas dinamis lebih kompleks dan mempunyai o2erhead lebih besar. &2erhead ini diimbangi dengan peningkatan daya tanggap sistem. (ontoh penjadwalan berprioritas , Proses)proses yang sangat banyak operasi masukan%keluaran menghabiskan kebanyakan waktu menunggu selesainya operasinya masukan%keluaran. Proses)proses ini diberi prioritas sangat tinggi sehingga begitu proses +emerlukan pemroses segera diberikan, proses akan segera memulai permintaan masukan%keluaran berikutnya sehingga menyebabkan proses blo ked menunggu selesainya operasi masukan%keluaran. Dengan demikian pemroses dapat dipergunakan proses)proses

lain. Proses)proses $%& berjalan paralel bersama proses)proses lain yang benar)benar memerlukan pemroses, sementara proses)proses $%& itu menunggu selesainya operasi D+/. Proses)proses yang sangat banyak operasi $%&)nya, kalau harus menunggu lama untuk memakai pemroses (karena prioritas rendah) hanya akan membebani memori, karena harus disimpan tanpa perlu proses)proses itu dimemori karena tidak selesai)selesai menunggu operasi masukan dan menunggu jatah pemroses. <) #uaranteed S hedulling (#S) Penjadwalan ini memberikan janji yang realistis (memberi daya pemroses yang sama) untuk membuat dan menyesuaikan performan e adalah jika ada 1 pemakai, sehingga setiap proses (pemakai) akan mendapatkan 0%1 dari daya pemroses (PU. Untuk mewujudkannya, sistem harus selalu menyimpan informasi tentang jumlah waktu (PU untuk semua proses sejak login dan juga berapa lama pemakai sedang login. *emudian jumlah waktu (PU, yaitu waktu mulai login dibagi dengan n, sehingga lebih mudah menghitung rasio waktu (PU. *arena jumlah waktu pemroses tiap pemakai dapat diketahui, maka dapat dihitung rasio antara waktu pemroses yang sesungguhnya harus diperoleh, yaitu 0%1 waktu pemroses seluruhnya dan waktu pemroses yang telah diperuntukkan proses itu. !asio ;,= berarti sebuah proses hanya punya ;,= dari apa yang waktu (PU miliki dan rasio 6,; berarti sebuah proses hanya punya 6,; dari apa yang waktu (PU miliki. /lgoritma akan menjalankan proses dengan rasio paling rendah hingga naik ketingkat lebih tinggi diatas pesaing terdekatnya. $de sederhana ini dapat diimplementasikan ke sistem real)time dan memiliki penjadwalan berprioritas dinamis. Multilevel Feedback Queue Algoritma ini mirip sekali dengan algoritma Multilevel Queue. Perbedaannya ialah algoritma ini mengizinkan proses untuk pindah antrian. Jika suatu proses menyita P! terlalu lama, maka proses itu akan dipindahkan ke antrian yang lebih rendah. "ni menguntungkan proses

interaksi, karena proses ini hanya memakai #aktu P! yang sedikit. $emikian pula dengan proses yang menunggu terlalu lama. Proses ini akan dinaikkan tingkatannya. %iasanya prioritas tertinggi diberikan kepada proses dengan P! burst terkecil, dengan begitu P! akan diman&aatkan penuh dan "'( dapat terus sibuk. )emakin rendah tingkatannya, panjang P! burst proses juga semakin besar. Algoritma ini dide&inisikan melalui beberapa parameter, antara lain* + Jumlah antrian + Algoritma penjad#alan tiap antrian + ,apan menaikkan proses ke antrian yang lebih tinggi + ,apan menurunkan proses ke antrian yang lebih rendah + Antrian mana yang akan dimasuki proses yang membutuhkan -ambar . Antrian multilevel &eedback $engan pende&inisian seperti tadi membuat algoritma ini sering dipakai. ,arena algoritma ini mudah dikon&igurasi ulang supaya cocok dengan sistem. /api untuk mengatahui mana penjad#al terbaik, kita harus mengetahui nilai parameter tersebut. Multilevel &eedback 0ueue adalah salah satu algoritma yang berdasar pada algoritma mulilevel 0ueue. Perbedaan mendasar yang membedakan multilevel &eedback 0ueue dengan multilevel 0ueue biasa adalah terletak pada adanya kemungkinan suatu proses berpindah dari satu antrian ke antrian lainnya, entah dengan prioritas yang lebih rendah ataupun lebih tinggi, misalnya pada contoh berikut. + )emua proses yang baru datang akan diletakkan pada antrian 1 20uantum 3 4 ms5 + Jika suatu proses tidak dapat diselesaikan dalam 4 ms, maka proses tersebut akan

dihentikan dan dipindahkan ke antrian pertama 20uantum 3 67 ms5 + Antrian pertama hanya akan dikerjakan jika tidak ada lagi proses di antrian 1, dan jika suatu proses di antrian pertama 6 tidak selesai dalam 67 ms, maka proses tersebut akan dipindahkan ke antrian kedua + Antrian kedua akan dikerjakan bila antrian 1 dan 6 kosong, dan akan berjalan dengan algoritma F F).

Anda mungkin juga menyukai