Anda di halaman 1dari 7

WAHANA INOVASI VOLUME 4 No.

1 JAN-JUNI 2015 ISSN : 2089-8592

IMPLEMENTASI ALGORITMA MULTILEVEL FEEDBACK


QUEUE DALAM MEMENTUKAN WAKTU TUNGGU DAN
WAKTU KESELURUHAN PROSES
Winda Sulastri
Dosen Tetap AMIK ROYAL Kisaran
Jl. Tuanku Imam Bonjol No. 179 Kisaran
www.Royal.ac.id// Email: stmik Royal@yahoo.co.id

ABSTRAK disebut tipe penjadwalan Preemptive


sedangkan tipe penjadwalan Non-
Penjadwalan merupakan protokol Preemptive yaitu pengerjaan Procces
atau ketentuan untuk menyelesaikan yang tidak dapat digantikan process lain.
process berdasakan kinerja CPU. Sistem Dari tipe penjadwalan tersebut maka
Operasi melakukan poling kepada setiap diciptakan algoritma penjadwalan seperti
Program counter Process yang berada First Come First Served, Shortest Job
dalam antrian Ready (Ready Queue). Jika Remains, Round Robin, Priority
diketahui terdapat nilai alamat dalam Scheduller, Multilevel Queue, Quarantee
program counter process maka process Scheduller dan Multilevel Feedback
tersebut layak untuk dijalankan (Running). Queue.
Running adlaah pengerjaan instruksi Algoritma Penjadwalan Multilevel
process berdasarkan waktu pelayanan Feedback Queue (MLFQ) adalah
(bursttime) pada CPUtime atau I/Otime. algoritma yang memiliki urutan level
Salah satu penjadwalan yan digunakan antrian dan proses dapat berpindah dari
untuk menyelesaikan process-process level antrian awal ke level-level antrian
adalah algoritma penjadwalan Multilevel berikutnya. Algoritma MLFQ memiliki
Feedback Queue (MLFQ). MLFQ me- beberapa antrian secara urutan jumlah
nerapkan beberapa algoritma-algoritma nilai waktu jatah (QuantumTIme) berbeda.
yaitu algoritma First Come First Serve Secara urutan waktu antrian level terkecil
(FCFS), Round Robin (RR), Priority memiliki waktu jatah lebih kecil dari waktu
Scheduller (PS) dan Multilevel Queue jatah antrian lainnya.
(MLQ) dan aturan perpindahan kebawah Penyelesaian secara multi level
level antrian persatu antrian. Pada tulisan antrian membuat proses yang mempunyai
ini akan membahas penyelesaian waktu pengerjaan (BurstTime / Service
process-process dengan algoritma Time) besar akan memiliki pecahan-
multilevel Feedback Queue (MFLQ) dan pecahan BurstTime dari QuantumTime di
memberlakukan Running process per- setiap level antrian. Sehingga mencari
quantum time antrian process sehingga waktu tunggu dan waktu keseluruhan sulit
dapat menentukan waktu tunggu diterapkan paa algoritma MLFQ. Maka
(WaitingTime) dan waktu keseluruhan perlu pendefenisian pecahan BurstTime
(TurnAroundTIme) yang dimiliki process. dalam bentuk variabel-variabel
Pengerjaan (Running Process).
Kata Kunci : Multilevel Feedback Queue
(MLFQ), Queue, Quantum LANDASAN TEORI
Time, Sistem Operasi
Sistem Operasi
PENDAHULUAN Pengertian sistem operasi secara
umum ialah pengelola seluruh sumber-
Penjadwalan merupakan mekanisme daya yang terdapat pada sistem komputer
dari mesin abstrak dalam menentukan dan menyediakan sekumpulan layanan
process yang akan dikerjakan di antara (system calls) yang sering disebut “tools
process yang ada antrian ready (ready atau utility” berupa aplikasi ke pemakai
queue). sehingga memudahkan dan menyaman-
Pengerjaan Process berdasarkan kan penggunaan ketika Memanfaatkan
yang dapat digantikan process lain
181
Winda Sulastri : Implementasi Algoritma Multilevel Feedback Queue dalam ..........................

sumber-daya sistem komputer tersebut 1. Kesulitan untuk memprediksi burst


(Turban, 1995). time proses yang akan dieksekusi
Sistem Operasi merupakan program selanjutnya.
utama yang menghubungkan Software 2. Proses yang mempunyai burst
Aplikasi yang digunakan oleh user time yang besar akan memiliki
dengan hardware (Turban, 1995). waiting time yang besar pula
Sistem Operasi yang sangat populer karena yang dieksekusi terlebih
pada sistem komputer pada milenium dahulu adalah proses dengan
sekarang ini yaitu Windows, Linux, dan burst time yang lebih kecil (Martin
Mac OS. Sedangkan untuk komputer and Steven, 1988).
mobile yaitu Symbian, Android, RIM Black
Berry, dan Bada. 3. Round Robin
Algoritma ini dideasin untuk sistem
Penjadwalan time-sharing. Proses akan mendapat
Penjadwalan proses merupakan jatah sebesar time quantum dengan
kumpulan kebijaksanaan dan mekanisme nilai quantum umumnya sebesar 10-
di sistem operasi yang berkaitan dengan 100 ms. Jika quantumnya habis atau
urutan kerja yang dilakukan sistem proses sudah selesai CPU akan
komputer. dialokasikan ke proses berikutnya.
Terdapat dua tipe penjadwalan Tentu proses ini cukup adil karena tak
(Scheduller) pada sistem operasi, yaitu: ada proses yang di-prioritaskan,
1. Preemtive, proses yang dapat semua proses mendapat jatah waktu
digantikan atau bersifat kooperatif. yang sama dari CPU (1/n), dan tak
2. Non-Preentuve, proses yang tidak akan menunggu lebih lama dari (n-
dapat digantikan disebut juga 1)/q.
independent. Algoritma ini sepenuhnya bergantung
besarnya time quantum. Jika terlalu
Algoritma Penjadwakan besar, algoritma ini akan sama saja
Terdapat berbagai jenis penjadwalan dengan algoritma first-come-first-
antara lain: served. Jika terlalu kecil, akan semakin
1. Fisrt Come Forst Serve (FCFS) banyak peralihan proses sehingga
FCFS merupakan algoritma pen- banyak waktu terbuang (Martin and
jadwalan yang sederhana yang di- Steven, 1988).
gunakan CPU. Dengan menggunakan
algoritma FCFS setiap proses yang 4. Priority Schedulling (PS)
berada pada status ready dimasukkan Priority Schedulling merupakan
ke dalam antrian. FIFO sesuai dengan algoritma penjadwalan yang men-
waktu kedatangannya. Proses yang dahulukan proses dengan nilai
tiba terlebih dahulu yang akan prioritas tertinggi. Setiap proses me-
dieksekusi terlebih dahulu (Martin and miliki priorotasnya masing-masing.
Steven, 1988). Prioritas suatu proses dapat ditentukan
melalui beberapa karakteristik antara
2. Shortest Job First (SJF) lain:
Dengan algoritma ini maka setiap a. Batas waktu
proses yang ada di antrian ready akan b. Kebutuhan Memori
dieksekusi berdasarkan burst time c. Akses file
terkecil. Hal ini mengakibatkan waiting d. Perbandingan antara I/O Burst
time yang pendek untuk setiap proses dengan CPU Burst.
dan karena hal tersebut maka waiting e. Tingkat kepentingan proses
time rata-ratanya juga menjadi pendek,
sehingga dapat dikatakan bahwa Penjadwalan dengan prioritas juga
algoritma ini adalah algoritma yang dapat dijalankan secara preemptive
optimal (Turban, 1995). maupun non-preemptive (Martin and
Steven, 1988).
Ada beberapa kekurangan dari Pada preemptive, jika ada suatu
algoritma ini yaitu: proses yang abru datang mamiliki
prioritas yang lebih tinggi daripada
proses yang sedang dijalankan, maka
182
Winda Sulastri : Implementasi Algoritma Multilevel Feedback Queue dalam ..........................

proses yang sedang berjalan tersebut akan dimanfaatkan penuh dan I/O
dihentikan, lalu CPU dialihkan untuk dapat terus sibuk. Semakin rendah
proses yang baru datang tersebut. tingkatannya, panjang CPU burst
Sementara itu, pada non-preemptive, proses juga semakin besar.
proses yang baru datang tidak dapat Algoritma ini didefinisikan melalui
mengganggu proses yang sedang beberapa parameter, antara lain:
berjalan, tetapi hanya diletakkan di 1. Jumlah antrian
depan antrian. 2. Algoritma penjadwalan tiap antrian
Kelemahan pada pwnjadwalan 3. Kapan menaikkan proses ke
prioritas adalah dapat terjadiya antrian yang lebih tinggi
indefinite blocking (starvation) yaitu 4. Kapan menurunkan proses ke
suatu proses dengan prioritas yang antrian yang lebih rendah
rendah memiliki kemungkinan untuk 5. Antian mana yang akan dimasuki
tidak dieksekusi jika terdapat proses proses yang membutuhkan
lain yang memiliki prioritas lebih tinggi
darinya. Solusi dari permasalahan ini
adalah Paging, yaitu meningkatkan
prioritas dari setiap yang menunggu
dalm antrian secara bertahap (Martin
and Steven, 1988).

5. Multilevel Queue (MLQ)


Ide dasar dari algoritma ini adalah
berdasarkan pada sistem prioritas
proses. Prinsipnya adalah, jika setiap
proses dapat dikelompokkan ber-
Gambar 2. Penjadwalan MLFQ
dasarkan prioritasnya.
Dengan pendefenisian seperti tadi
membuat algoritma ini sering dipakai.
Karena algoritma ini mudah di-
konfigurasi ulang supaya cocok
dengan sistem. Tapi untuk mengetahui
mana penjadwal terbaik, diharuskan
mengetahui nilai parameter tersebut.
Multilevel feedback queque adalah
salah satu algoritma yang berdasar
pada algoritma multilevel queue.
Perbedaan mendasar yang membeda-
Gambar 1. Penjadwalan MLQ kan multilevel feedback queue biasa
adalah terletak pada adaya ke-
6. Multilevel Feedback Queue (MLFQ) mungkinan suatu proses berpindah
Algoritma ini mirip sekali dengan dari satu antrian ke antrian lainnya,
algoritma Multilevel Queue. Per- entah dengan prioritas yang lebih
bedaannya ialah algoritma ini meng- rendah ataupun lebih tinggi, misalnya
izinkan proses untuk pindah antrian. pada contoh berikut.
Jika suatu pross menyita CPU terlalu 1. Semua proses yang baru datang
lama, maka proses itu akan akan diletakkan pada antrian 0
dipindahkan ke antrian yang lebih (quantum = 8 ms)
rendah. Ini menguntungkan proses 2. Jika suau proses tidak dapat
interaksi, karena proses ini hanya diselesaikan dalam 8 ms, maka
memakai waktu CPU yang sedikit. proses terdapat akan dihentikan
Demikian pula dengan proses dan dipindahkan ke antrian per-
menunggu terlalu lama. Proses ini tama (quantum = 16 ms)
akan dinaikkan tingkatannya. 3. Antrian pertama hanya akan
Biasanya prioritas tertinggi diberikan dikerjakan jika tidak ada lagi proses
kepada proses proses dengan CPU di antrian 0, dan jika suatu proses
burst terkecil, dengan begitu CPU di antrian pertama 1 tidak selesai
183
Winda Sulastri : Implementasi Algoritma Multilevel Feedback Queue dalam ..........................

dalam 16 ms, maka proses tersebut sementara sebelumnyaP1 juga


akan dipindahkan ke antrian kedua dipengaruhi P0, maka P2 di-
4. Antrian kedua akan dikerjakan bila pengaruhi P1 dan P0.
antrian 0 dan 1 kosong, dan akan 6. P1 digantikan P2. Setelah P2
berjalan dengan algoritma Round selesai P1 dikerjakan kembali dan
Robin. pada waktu pengerjaan selanjut-
nya berjalan P1 digantikan P3,
ANALISA DAN PEMBAHASAN maka P1 dipengaruhi P2 dan P3.

Analisa Penyederhanaan problema waltu tunggu.


Langkah-langkah yang dilakukan Dalam menghitung waktu tunggu proses
dalam analisa menentukan waktu tunggu diketahui dari proses-proses diketahui
dan waktu keseluruhan dalam pen- dari proses-proses yang mempengaruhi-
jadwalan MLFQ yaitu: nya.
1. Mendefinisikan rumus running procss 1. Dari problema no. 1
untuk ketentuan dalam perhitungan WTP0 = 0
waktu tunggu. Karena tidak ada yang mem-
2. Waktu tunggu dijumlahkan dengan pengaruhi P0
waktu layanan untuk mendapatkan 2. Dari problema no. 2
waktu keseluruhan. WTP1 = BTP2-ATP1
3. Dari problema no. 3
1. Analisa Waktu Tunggu (WaitingTime) WTP1 = (BTP2+BTP3)-ATP1
Setiap proses akan memiliki waktu 4. Dari problema no. 4
tunggu yang didapatkan dari waktu WTP2 = BTP1-ATP2
layanan proses yang mempengaruhi 5. Dari problema no. 5
ditambah dengan waktu kedatangan WTP2 = (BTP0+BTP1)-ATP2
proses yang dicari. 6. Dari problema no. 6
Ketentuan proses yang mempengaruhi WTP1 = (BTP2+BTP3)-ATP1
yaitu:
a. Proses yang dikerjakan waktu 2. Running Process (RP)
ayanannya digantikan oleh proses Running Process mempermudah
lain. Maka proses yang meng- perhitungan waktu tunggu karena pada
gantikan disebut sebagai proses MLFQ diketahui process dikerjakan
yang mempengaruhi atau me- berdasarkan QuantumTime (QT).
nunggu karena proses lain maka Ketentuan pengerjaan Running
terdapat lebih dari satu proses Process yaitu dengan pembagian Burst
yang mempengaruhi proses yang Time dibagi Quantum Time sedangkan
berjalan tersebut. Sisa Bagi untuk pengerjaan selanjutnya
b. Proses belum dikerjakan pada yang kurang dari Quantum Time.
waktu kedatangannya. Adapun Running Process sebagai
berikut:
Contoh problema dalam waktu tunggu 1. Hasil bagi → perulangan Quantum
1. P0 dikerjakan pertama kali dan Time
tidak ada proses yang mem- 2. Sisa bagi → Running process
pengaruhi, maka kondisi proses selanjutnya
yang mempengaruhi Null (0). 3. Jika BurstTime < Quantum Time
2. P1 dikerjakan dan digantikan P2 maka Running Process adalah
dan uga digantikan P3, maka P1 BurstTime process tersebut.
dipenharuhi P2 dan P3.
3. P1 dikerjakan dan digantikan P3, 3. Analisa Running Process Algoritma
maka P1 dipengaruhi P2 dan P3. MLFQ
4. P2 belum dikerjakan pada waktu Algoritma MLFQ memiliki berapa
kedatangannya dan pada waktu itu antrian. Setiap process akan dikerjakan
p1 sedang dikerjakan, maka P2 pada antrian pertama jika BurstTime
dipengaruhi P1. proses lebih besar dari QuantumTime
5. P2 belum dikerjakan pada waktu pertama maka akan dikerjakan pada
kedatangannya dan pada saat itu antrian selanjutnya. Jika terdapat tiga
P1 juga sedang dikerjakan, antrian maka ketntuan tersebut berlaku
184
Winda Sulastri : Implementasi Algoritma Multilevel Feedback Queue dalam ..........................

pada antrian pertama dan kedua. Pada RP1Q1 → SBTP2 > QT2
antrian ketiga yang merupakan antrian →1>3
terakhir berlaku ketentuan Running → tidak, kerjakan sebanyak
Process Pembagian. 1
RP1Q2 = 1
PEMBAHASAN
Jadi : RP2Q1 = 2, RP2Q2 = 2
Penyelesaian proses-proses dalam
penjadwalan MLFQ. P3 di Q1:
RP3Q1 → SBTP3 > QT2
1. Process →2>3
→ tidak, kerjakan sebanyak
Tabel 1. Urutan Proses-Proses 2
Process ArrivalTime BurstTime RP1Q1 = 2
P1 0 6 Sisa = 2, dipindahkan ke Q2
P2 2 3 P1 di Q2 :
P3 5 4 RP3Q1 → SBTP1 > QT2
P4 7 11 →2>3
→ tidak , kerjakan sebanyak
2. Level Antrian dan Quantum Time 2
RP3Q2 = 2
Tabel 2. Nilai Quantum Time setiap
Queue Jadi : RP3Q1 = 2, RP3Q2 = 2
Queue QuantumTime
Q0 2 P4 di Q1 :
Q1 3 RP4Q1 → BTP4 > QT1
Q2 5 → 11 > 2
→ ya, kerjakan sebanyak 2
3. Running Process RP4Q1 = 2
P1 di Q1 : Sisa = 9, dipindahkan ke Q2
RP1Q1 → BTP1 > QT1 P4 di Q2 :
→6>2 RP4Q1 → SBTP4 > QT2
→ ya, kerjakan sebanyak 2 →9>3
RP1Q1 = 2 → ya, kerjakan sebanyak 3
Sisa = 4, dipindahkan ke Q2 RP4Q2 = 3
P1 di Q2 : Sisa = 6, dipindahkan ke QT3
RP1Q1 → SBTP1 > QT2 P1 di Q3 :
→4>3 RP4Q3 → SBTP4 > Q3
→ ya, kerjakan sebanyak 3 →1<5
RP1Q2 = 3 → tidak
Sisa = 1, dipindahkan ke QT3 Maka
P1 di Q3 : RP4Q3 = SBTP4/QT3
RP1Q3 → SBTP1 > Q3 =6/5
→1<5 = 1, sisa 1
→ ya Hasil 1 perulangan sebanyak QT3
RP1Q3(1) = 1 → RP4Q3(1) = 5
→ RP4Q3(2) = 1
Jadi : RP1Q1 = 2, RP1Q2 = 3, Jadi :
RP1Q3(1) = 1 RP4Q1 = 2, RP4Q2 = 3, RP4Q3(1) = 5,
RP4Q3(2) = 1
P2 di Q1 :
RP2Q1 → BTP2 > QT1
→3>2
→ ya, kerjakan sebanyak 2
RP2Q1 = 2
Sisa = 1, dipindahkan ke Q2
P2 di Q2:
185
Winda Sulastri : Implementasi Algoritma Multilevel Feedback Queue dalam ..........................

4. Diagram Gantt KESIMPULAN DAN SARAN

Kesimpulan
Berdasarkan studi dan penelitian yang
dilakukan maka dapat disimpulkan yaitu:
1. Algoritma Multi Level Feedback Queue
(MLFQ) merupakan algoritma pen-
jadwalan yang baik dalam meng-
optimalkan prosees-proses yang me-
5. Indeks proses Sesuai ArrivalTime miliki prioritas,karena dapat me-
mindahkan proses yang memiliki
Tabel 3. Indeks Process waktu layanan (BurstTime) yang
No Process yang dilayani besar.
1 P1 2. Running Process yaitu waktu layanan
2 P1 P2 P3 P4 dibagi waktu jatah pengerjaan atau
3 P1 P4 QuantumTime (QT) sehingga hasil
bagi digunakan untuk banyak per-
6. Waktu Tunggu ulangan QT dan sisa bagi untuk
banyak pengerjaan berikutnya tapi
WTP1 = (RP2Q1+RP3Q1+RP4Q1) – kurang dari QT.
ATP1 3. Penerapan Running Proses (RP)
= (2+2+2) – 0 memudahkan penentuan waktu
=6–0 tunggu, karena dapat menggunakan
= 6 ms RP dalam mengetahui proses-proses
WTP2 = (RP1Q1+RP1Q2+RP3Q1+ yang mempengaruhi dalam diagram
RP1Q3(1)) – ATP1 gantt penjadwalan MLFQ.
= (2+3+2+2+1) – 2
= 10 – 2 Saran
= 8 ms Beberapa saran yang dapat di-
WTP3 = (RP1Q1+RP1Q2+RP2Q1+ pertimbangkan untuk yaitu:
RP4Q1+RP1Q3(1)+RP2Q2) – 1. Mengimplementasikan analisa
ATP1 alqoritma MLFQ ke dalam alqoritma
= (2+3+2+2+1+1) – 5 pembuatan program pembelajaran dan
= 11 – 5 penyelesaian problema yang
= 6 ms menyelesaikan antrian.
WTP4 = (RP1Q1+RP1Q2+RP2Q1+ 2. Analisa alqoritma MLFQ ini dapat
RP3Q1+RP1Q3(1)+RP2Q2)+ dikembangkan lagi dalam penentuan
RP3Q2+ RP1Q3(1)–ATP1 waktu respon tiap proses.
= (2+3+2+2+1+1+1) – 7
= 12 – 7 DAFTAR PUSTAKA
= 5 ms
Azis, M. F. 1994. Belajar Sendiri
7. Waktu Keseluruhan Pemrograman System Pakar,
Jakarta, Elex Media Kaputindo.
TAP1 = BTP1 + WTP1
=6+6 Kusumadewi, S. 2003. Artificial
= 12 ms Intelegence (Teknik dan Aplikasinya),
TAP2 = BTP2 + WTP2 Yogyakarta, Graha Ilmu.
=4+8
= 11 ms Martin, J. and O. Steven. 1988. building
TAP3 = BTP3 + WTP3 Expert System, New Jersey, Penerbit
=4+6 Hall.
= 10 ms
TAP4 = BTP4 + WTP4 Turban, E, 1995. Decision Support
= 11 + 5 System and Expert System, USA,
= 15 ms Penerbit Hall International Inc.
186
Winda Sulastri : Implementasi Algoritma Multilevel Feedback Queue dalam ..........................

Turban, E, 2005. Decision Support


System and Inteligent System,
Yogyakarta, Penerbit Andi
Yogyakarta.

Anda mungkin juga menyukai