Optimasi Turn Arround Time Pada Penjadwalan Round Robin Dengan Mencari Quantum Time Optimal Menggunakan Algoritma Simulated Annealing

(1)

OPTIMASI TURN ARROUND TIME PADA PENJADWALAN

ROUND ROBIN DENGAN MENCARI QUANTUM TIME

OPTIMAL MENGGUNAKAN ALGORITMA

SIMULATED ANNEALING

TESIS

ASAZIDUHU GEA

127038042

PROGRAM STUDI S2 TEKNIK INFORMATIKA

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2014


(2)

OPTIMASI TURN ARROUND TIME PADA PENJADWALAN

ROUND ROBIN DENGAN MENCARI QUANTUM TIME

OPTIMAL MENGGUNAKAN ALGORITMA

SIMULATED ANNEALING

TESIS

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Magister Teknik Informatika

ASAZIDUHU GEA

127038042

PROGRAM STUDI S2 TEKNIK INFORMATIKA

FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2014


(3)

PERSETUJUAN

Judul : OPTIMASI TURN ARROUND TIME PADA PENJADWALAN ROUND ROBIN DENGAN MENCARI QUANTUM TIME OPTIMAL

MENGGUNAKAN ALGORITMA SIMULATED ANNEALING

Nama : ASAZIDUHU GEA Nomor Induk Mahasiswa : 127038042

Program Studi : MAGISTER TEKNIK INFORMATIKA

Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Dr. Poltak Sihombing, M.Kom Prof. Dr. Muhammad Zarlis

Diketahui/Disetujui Oleh

Program Studi Magister Teknik Informatika Ketua,

Prof. Dr. Muhammad Zarlis NIP. 195707011986011003


(4)

PERNYATAAN

OPTIMASI TURN ARROUND TIME PADA PENJADWALAN ROUND ROBIN DENGAN MENCARI QUANTUM TIME OPTIMAL MENGGUNAKAN

ALGORITMA SIMULATED ANNEALING

TESIS

Saya mengakui bahwa tesis ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.

Medan, 28 Agustus 2014

ASAZIDUHU GEA 127038042


(5)

PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN

AKADEMIK

Sebagai sivitas akademika Universitas Sumatera Utara, saya yang bertanda tangan di bawah ini :

Nama Mahasiswa : ASAZIDUHU GEA Nomor Induk Mahasiwa : 127038042

Program Studi : Magister Teknik Informatika Jenis Karya Ilmiah : Tesis

Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada Universitas Sumatera Utara Hak Bebas Royalti Non-Eksklusif (Non Exclusive Royalti Free Right) atas tesis saya yang berjudul:

OPTIMASI TURN ARROUND TIME PADA PENJADWALAN ROUND ROBIN DENGAN MENCARI QUANTUM TIME OPTIMAL MENGGUNAKAN

ALGORITMA SIMULATED ANNEALING

Berserta perangkat yang ada (jika diperlukan).Dengan hak bebas royalty Non-Eksklusive ini, Universitas Sumatera Utara berhak menyimpan, mengalih media, memformat, mengelola dalam bentuk database, merawat dan mempublikasikan tesis saya tanpa meminta izin dari saya, selama tetap mencamtumkan nama saya sebagai penulis dan sebagai pemegang dan/atau sebagai hak cipta.

Demikianlah pernyataan ini dibuat dengan sebenarnya.

Medan, 28 Agusutus 2014

ASAZIDUHU GEA 127038042


(6)

Telah diuji pada :

Tanggal : 28 Agustus 2014

PANITIA PENGUJI TESIS

Ketua : Prof. Dr. Muhammad Zarlis Anggota : 1. Dr. Poltak Sihombing, M.Kom

2. Prof. Dr. Herman Mawengkang 3. Prof. Dr. Tulus


(7)

RIWAYAT HIDUP

DATA PRIBADI

Nama Lengkap : Asaziduhu Gea Tempat dan Tanggal Lahir : Dima 22 Januari 1978 Alamat Rumah : Jl. Dahlia Raya no. 257 Telepon /Fax/HP : -/-/081370913707 E-mail : ashagea@gmail.com

Instansi Tempat Bekerja : STMIK Pelita Nusantara Medan Alamat Kantor : Jl. Iskandar Muda No. 1 Medan

DATA PENDIDIKAN

SD : SD Negeri 076673 Gunung Sitoli TAMAT : 1988 SLTP : SLTP Negeri 6 Gunung Sitoli TAMAT : 1994 SLTA : SMA Negeri 3 Gunung Sitoli TAMAT : 1997 S1 : Sistem Informasi STMIK XII-Medan TAMAT : 2004 S2 : Teknik Informatika Universitas Sumatera Utara TAMAT : 2014


(8)

UCAPAN TERIMA KASIH

Puji syukur kepada Tuhan Yang Maha Esa, atas segala limpahan berkat dan penyertaan-Nya sehingga tesis ini dapat diselesaikan tepat pada waktunya. Dengan selesainya tesis ini, perkenankanlah penulis mengucapkan terima kasih yang sebesar-besarnya kepada :

1. Rektor Universitas Sumatera Utara, Prof. Dr. dr. Syahril Pasaribu, DTM&H, M.Sc (CTM), Sp. A(K) atas kesempatan yang diberikan kepada penulis untuk mengikuti dan menyelesaikan pendidikan Program Magister pada Program Pascasarjana Fasilkom-TI Universitas Sumatera Utara.

2. Dekan Fasilkom-TI (Fakultas Ilmu Komputer dan Teknologi Informasi) Universitas Sumatera Utara Prof. Dr. Muhammad Zarlis, atas kesempatan yang diberikan kepada penulis menjadi mahasiswa Program Magister pada Program Pascasarjana Fasilkom-TI Universitas Sumatera Utara.

3. Ketua Program Studi Magister (S2) Teknik Informatika, Prof. Dr. Muhammad Zarlis dan Sekretaris Program Studi Magister (S2) Teknik Informatika M. Andri Budiman, S.T, M.Comp, M.E.M beserta seluruh staff pengajar pada Program Studi Magister (S2) Teknik Informatika Program Pascasarjana Fasilkom-TI Universitas Sumatera Utara, yang telah bersedia membimbing penulis sehingga dapat menyelesaikan pendidikan tepat pada waktunya.

4. Prof. Dr. Muhammad Zarlis selaku pembimbing utama dan kepada Dr. Poltak Sihombing, M.Kom selaku pembimbing lapangan yang dengan penuh kesabaran menuntun serta membimbing penulis hingga selesainya tesis ini dengan baik.

5. Prof. Dr. Herman Mawengkang, Prof. Dr. Tulus, dan Prof. Dr. Opim Salim Sitompul sebagai pembanding yang telah memberikan saran dan motivasi serta arahan yang baik demi penyelesaian tesis ini.

6. Universitas Sumatera Utara, Staf Pegawai dan Administrasi pada Program Studi Magister (S2) Teknik Informatika Program Pascasarjana Fasilkom-TI Universitas Sumatera Utara yang telah memberikan bantuan dan pelayanan terbaik kapada penulis selama mengikuti perkuliahan.


(9)

7. Orang tua penulis. Ayahanda Felix F. Gea, Ibunda Adria Samiati Laoli dan segenap keluarga Abang/Kakak/Adik penulis yang telah mendukung penulis dan terima kasih atas segala pengorbanannya, baik moril maupun materil.

8. Sahabat istimewa saya Verinawaty Zebua, SE. Terimakasih untuk segala doa, motivasi dan dukungan yang sangat berharga selama mengikuti perkuliahan hingga penyelesaian tesis ini.

9. Teman-teman seperjuangan angkatan 2012 Kom-B, dan teman teman OFA AFO,

teristimewa untuk “Master” Rimbun Siringoringo, atas kebersamaan dan suka duka yang telah kita lewati bersama selama menjalani perkuliahan dan dalam penyelesaian tesis ini.

10.Semua pihak yang tidak dapat penulis sebutkan satu persatu, terimakasih atas segala bantuan dan doa yang diberikan. Semoga karya ilmiah ini dapat bermanfaat bagi bagi kemajuan ilmu pengetahuan dan pendidikan.

Medan, 28 Agustus 2014 Penulis

ASAZIDUHU GEA 127038042


(10)

ABSTRAK

Penjadwalan proses yang sedang mengantri perlu dimanajemen oleh sistem operasi agar semua proses bisa terlayani tanpa ada proses yang di tolak atau terlalu lama untuk di respon sehingga berakibat pada waktu yang dialokasikan pada proses tersebut. Lamanya waktu respon mengakibatkan proses proses berikutnya mengalami kegagalan proses karena kehabisan Burst Time yang telah dialokasikan pada masing masing proses tersebut. Salah satu tanggung jawab dari sistem operasi adalah memanjemen proses proses tersebut dengan membuat penjadwalan. Algoritma penjadwalan yang digunakan tidak semata mata mampu mengatasi masalah Turn arround Time. Diharapkan Turn Arround Time yang di dapatkan lebih kecil setiap kali mengeksekusi sejumlah proses. Oleh karena itu perlu di lakukan optimasi terhadap Turn Arround Time. Salah satu algoritma penjadwalan yang digunakan untuk melayani sejumlah proses adalah Round Robin. Algoritma Round Robin menggunakan metode penjadwalan yang adil dengan membagi waktu eksekusi secara merata ( quantum time ) untuk masing masing proses tetapi tetap melayani semua proses secara berurutan. Alokasi quantum time yang sesuai sangat mempengaruhi average waiting time untuk keseluruhan proses. Karena itu perlu di lakukan sebuah upaya untuk mendapatkan nilai quantum time yang optimal yang mampu memberi waktu sedikit untuk mengeksekusi jumlah proses yang banyak. Pada penelitian ini diterapkan diterapkan algoritma Simulated Annealing. Simulated Annealing adalah sebuah Algoritma yang bersifat heuristik yang berorientasi untuk menukan solusi penyelesaian sebuah masalah dengan menggunakan energi yang sedikit tetapi dengan hasil yang cukup besar. Pengujian dilakukan pada proses dengan jumlah yang bervariasi yaitu 100, 150, dan 200. Setiap proses memiliki burst time yang berbeda, diuji dengan dengan variasi alpha sebesar 0,90 dan 0,99 dan diberi nilai temperatur awal sebesar 110 dan nilai temperatur akhir 0,46 dan 0.5. Pengujian pada masing masing kelompok proses menunjukkan bahwa ada penurunan average waiting time yang cukup signifikan pada awal iterasi sampai pada iterasi terakhir. Kata Kunci : Penjadwalan Round Robin, Quantum Time, Simulated Annealing


(11)

TURN ARROUND TIME OPTIMIZATION IN ROUND ROBIN SCHEDULING BY DETERMINING OPTIMAL QUANTUM TIME USING

SIMULATED ANNEALING ALGORITHM

ABSTRACT

Scheduling processes are queuing need has managed by the operating system so that all processes can be served without any process that is in decline or too long for response, resulting in the time allotted to the process. The duration of the response time results in subsequent processes fail due to running out of Burst Time process that has been allocated to each such process. One of the responsibilities of the operating system is the Manging process by making the scheduling process. Scheduling algorithm used not merely to overcome the problem Turn arround Time. Expected Time Turn arround in getting smaller each time to execute a number of processes. Therefore, it is necessary to do the optimization of Turn arround Time. One of the scheduling algorithm is used to serve a number of processes is Round Robin. The algorithm uses Round Robin scheduling method that is fair to evenly divide the execution time (time quantum) for each process but continue to serve all processes sequentially. The allocation of the corresponding quantum time greatly affect the average waiting time for the entire process. Because it is necessary to do an effort to obtain the optimal time quantum values are able to give a little time to execute a number of processes that a lot. In this study, Simulated Annealing algorithm applied applied. Simulated Annealing is a heuristic algorithm that is oriented to finding solution for a problem with using little energy, but the results are quite large. Tests performed on the process with varying amounts of 100, 150, and 200 Each process has a different burst time, tested by the variation of alpha of 0.90 and 0.99 and the initial temperature rated at 110 and the value of the final temperature 0, 46 and 0.5. Testing in each group showed that there was a decrease in the average waiting time is quite significant in the early iterations until the last iteration.


(12)

DAFTAR ISI

Halaman

ABSTRAK i

ABSTRACK ii

DAFTAR ISI iii

DAFTAR GAMBAR v

DAFTAR TABEL vi

BAB 1 PENDAHULUAN 1

1.1 Latar Belakang Masalah 1

1.2 Perumusan Masalah 3

1.3 Batasan Masalah 3

1.4 Tujuan Penelitian 4

1.5 Manfaat Penelitian 4

BAB 2 TINJAUAN PUSTAKA 5

2.1 Penjadwalan Proses 5

2.1.1 Tipe Penjadwalan 7

2.1.2 Strategi Penjadwalan 8 2.1.3 Algoritma-Algoritma Penjadwalan 9

2.2 Algoritma Round Robin 10

2.3 Simulated Annealing 10

2.3.1 Parameter Simulated Annealing 12

BAB 3 METODOLOGI PENELITIAN 13

3.1 Pendahuluan 13

3.2 Data Yang Digunakan 14

3.3 Prosedur Penyelesaian Masalah 15 3.4 Optimasi Quantum Time Dengan Simulated Annealing 16

3.4.1 Mengeset Nilai Parameter 17

3.4.2 Menginput Data Problem 17

3.4.3 Membangkitkan Solusi Awal 18

3.4.4 Menampilkan Solusi Yang Terbaik 18

3.4.5 Kriteria Terpenuhi 18

BAB 4 HASIL DAN PEMBAHASAN 19

4.1 Pendahuluan 19

4.2 Pengujian 20

4.3 Uji Coba Pada 100 Proses 20

4.3.1 Parameter 1 20

4.3.2 Hasil Pengujian 21

4.3.3 Best seeking 23

4.3.4 Parameter 2 25

4.3.5 Hasil Pengujian Parameter 2 25


(13)

4.4 Uji Coba Pada 150 Proses 36

4.4.1 Parameter 1 36

4.4.2 Hasil Pengujian 37

4.4.3 Best seeking 41

4.4.4 Parameter 2 42

4.4.5 Hasil Pengujian Parameter 2 43

4.4.6 Best Seeking 44

4.5 Uji Coba Pada 200 Proses 46

4.5.1 Parameter 1 47

4.5.2 Hasil Pengujian 48

4.5.3 Best seeking 49

4.5.4 Parameter 2 52

4.5.5 Hasil Pengujian Parameter 2 52

4.5.6 Best Seeking 54

BAB 5 KESIMPULAN DAN SARAN 62

5.1 Kesimpulan 63

5.2 Saran 63

DAFTAR PUSTAKA LAMPIRAN


(14)

DAFTAR GAMBAR

Nomor

Gambar J u d u l Halaman

3.1. Algoritma Round Robin 13

3.2. Prosedur Penyelesaian Masalah 15

3.3. Optimasi Quantum Time 16

4.1. Grafik Best Seeking Parameter 1 24 4.2. Grafik Cooling Parameter 1 24 4.3 Grafik Best seeking Parameter 2 34 4.4 Grafik Cooling Parameter 2 35 4.5. Grafik Best seeking Parameter 1 41 4.6. Grafik Cooling Parameter 1 42 4.7. Grafik Best seeking Parameter 2 45 4.8. Grafik Cooling Parameter 2 45 4.9. Grafik Best seeking Parameter 1 50 4.10. Grafik Cooling Parameter 1 51 4.11. Grafik Best seeking Parameter 2 59 4.12. Grafik Cooling Parameter 2 60


(15)

DAFTAR TABEL

Nomor

Tabel J u d u l Halaman

4.1. Data Set 100 Proses 20

4.2. Parameter 1 21

4.3. Hasil Pengujian Parameter 1 21 4.4. Best Solution Parameter 1 23

4.5. Parameter 2 25

4.6 Hasil Pengujian Parameter 2 25 4.7. Best Solution Parameter 2 28

4.8. Data Set 150 Proses 36

4.9. Parameter 1 36

4.10. Hasil Pengujian Parameter 1 37 4.11. Best Solution Parameter 1 40

4.12. Parameter 2 42

4.13 Hasil Pengujian Parameter 2 42 4.14. Best Solution Parameter 2 44

4.15. Data Set 200 Proses 46

4.16 Parameter 1 47

4.17. Hasil Pengujian Parameter 1 47 4.18. Best Solution Parameter 1 49

4.19. Parameter 2 51

4.20 Hasil Pengujian Parameter 2 52 4.21. Best Solution Parameter 2 54


(16)

ABSTRAK

Penjadwalan proses yang sedang mengantri perlu dimanajemen oleh sistem operasi agar semua proses bisa terlayani tanpa ada proses yang di tolak atau terlalu lama untuk di respon sehingga berakibat pada waktu yang dialokasikan pada proses tersebut. Lamanya waktu respon mengakibatkan proses proses berikutnya mengalami kegagalan proses karena kehabisan Burst Time yang telah dialokasikan pada masing masing proses tersebut. Salah satu tanggung jawab dari sistem operasi adalah memanjemen proses proses tersebut dengan membuat penjadwalan. Algoritma penjadwalan yang digunakan tidak semata mata mampu mengatasi masalah Turn arround Time. Diharapkan Turn Arround Time yang di dapatkan lebih kecil setiap kali mengeksekusi sejumlah proses. Oleh karena itu perlu di lakukan optimasi terhadap Turn Arround Time. Salah satu algoritma penjadwalan yang digunakan untuk melayani sejumlah proses adalah Round Robin. Algoritma Round Robin menggunakan metode penjadwalan yang adil dengan membagi waktu eksekusi secara merata ( quantum time ) untuk masing masing proses tetapi tetap melayani semua proses secara berurutan. Alokasi quantum time yang sesuai sangat mempengaruhi average waiting time untuk keseluruhan proses. Karena itu perlu di lakukan sebuah upaya untuk mendapatkan nilai quantum time yang optimal yang mampu memberi waktu sedikit untuk mengeksekusi jumlah proses yang banyak. Pada penelitian ini diterapkan diterapkan algoritma Simulated Annealing. Simulated Annealing adalah sebuah Algoritma yang bersifat heuristik yang berorientasi untuk menukan solusi penyelesaian sebuah masalah dengan menggunakan energi yang sedikit tetapi dengan hasil yang cukup besar. Pengujian dilakukan pada proses dengan jumlah yang bervariasi yaitu 100, 150, dan 200. Setiap proses memiliki burst time yang berbeda, diuji dengan dengan variasi alpha sebesar 0,90 dan 0,99 dan diberi nilai temperatur awal sebesar 110 dan nilai temperatur akhir 0,46 dan 0.5. Pengujian pada masing masing kelompok proses menunjukkan bahwa ada penurunan average waiting time yang cukup signifikan pada awal iterasi sampai pada iterasi terakhir. Kata Kunci : Penjadwalan Round Robin, Quantum Time, Simulated Annealing


(17)

TURN ARROUND TIME OPTIMIZATION IN ROUND ROBIN SCHEDULING BY DETERMINING OPTIMAL QUANTUM TIME USING

SIMULATED ANNEALING ALGORITHM

ABSTRACT

Scheduling processes are queuing need has managed by the operating system so that all processes can be served without any process that is in decline or too long for response, resulting in the time allotted to the process. The duration of the response time results in subsequent processes fail due to running out of Burst Time process that has been allocated to each such process. One of the responsibilities of the operating system is the Manging process by making the scheduling process. Scheduling algorithm used not merely to overcome the problem Turn arround Time. Expected Time Turn arround in getting smaller each time to execute a number of processes. Therefore, it is necessary to do the optimization of Turn arround Time. One of the scheduling algorithm is used to serve a number of processes is Round Robin. The algorithm uses Round Robin scheduling method that is fair to evenly divide the execution time (time quantum) for each process but continue to serve all processes sequentially. The allocation of the corresponding quantum time greatly affect the average waiting time for the entire process. Because it is necessary to do an effort to obtain the optimal time quantum values are able to give a little time to execute a number of processes that a lot. In this study, Simulated Annealing algorithm applied applied. Simulated Annealing is a heuristic algorithm that is oriented to finding solution for a problem with using little energy, but the results are quite large. Tests performed on the process with varying amounts of 100, 150, and 200 Each process has a different burst time, tested by the variation of alpha of 0.90 and 0.99 and the initial temperature rated at 110 and the value of the final temperature 0, 46 and 0.5. Testing in each group showed that there was a decrease in the average waiting time is quite significant in the early iterations until the last iteration.


(18)

BAB 1

PENDAHULUAN

1.1.Latar Belakang

Teknologi komputer pada saat ini, telah mendorong para vendor untuk membuat evolusi sistem operasi dengan menciptakan sistem operasi yang baru, ataupun menyempurnakan sistem operasi yang sudah ada sebelumnya. Beragam keunggulan dan fitur yang tawarkan pada setiap sistem operasi, mulai dari tampilan grafis yang memikat sampai kemampuan menjalankan berbagai aplikasi dan kecepatan mengeksekusi sejumlah proses, menjadi unggulan sekaligus menjadi fitur tambahan pada sistem operasi tersebut.

Sistem operasi merupakan penghubung antara pengguna computer dengan perangkat keras komputer. Sistem operasi berfungsi untuk mengatur dan mengawasi penggunaan perangkat keras, berbagai program dan aplikasi dari para pengguna (Tarek, 2006).

Menurut Tanenbaum (2001) bahwa salah satu misi yang dijalankan oleh sistem operasi adalah efesiensi penggunaan waktu ketika terjadi multiprogramming. Memperbolehkan beberapa program berjalan pada saat yang hamper bersamaan atau bersamaan mengakibatkan terjadinya multiprosesing yang membuat CPU harus melaksanakan eksekusi terhadap sejumlah proses.

Menurut Arfiyanti (2012) banyaknya jumlah proses yang harus dieksekusi oleh CPU mengakibatkan kerumitan tersendiri dikarenakan alokasi waktu yang sangat terbatas. Kecepatan eksekusi sejumlah proses akan mempengaruhi efesiensi penggunaan waktu. Waktu yang dimaksud adalah waktu yang digunakan oleh CPU untuk mengeksekusi sejumlah proses yang sedang menunggu. Oleh karena itu sistem operasi harus membagi waktu CPU untuk mengeksekusi sejumlah proses tersebut dengan mengatur penjadwalan eksekusi untuk masing masing proses.


(19)

Pada kasus penjadwalan, hasil yang optimum seringkali ditemui dengan jalan menganalisis dan mencoba aturan prioritas yang dinilai dapat memberikan solusi paling baik. Salah satunya menggunakan pendekatan komputasi dengan memanfaatkan modul yang tersedia pada perangkat lunak penjadwalan (Asmuliardi, 2010)

Ada sejumlah algoritma yang digunakan oleh sistem operasi untuk membagi waktu pada sistem multiprogramming. Algoritma yang ada berorientasi pada konsep penjadwalan dimana tujuan utamanya agar proses bisa berjalan demi memaksimalkan kinerja dari CPU. Secara garis besar, beberapa algoritma CPU yang digunakan oleh First Come First Served, Short Job Firt, Prioritas dan Round system operasi yaitu Robin ( Tanenbaum, 2001).

Algoritma Simulated Anealing adalah salah satu algoritma yang digunakan untuk teknik optimasi. Algoritma ini berorientasi pada penggunaan sumber daya minimal. Simulated annealing (SA) adalah salah satu algoritma untuk untuk optimisasi yang bersifat generik. Berbasiskan probabilitas dan mekanika statistik. Algoritma ini dapat digunakan untuk mencari pendekatan terhadap solusi optimum global dari suatu permasalahan. Masalah yang membutuhkan pendekatan Simulated Annealing adalah masalah-masalah optimisasi kombinatorial, di mana ruang pencarian solusi yang ada terlalu besar, sehingga hampir tidak mungkin ditemukan solusi eksak terhadap permasalahan itu.

Kemampuan sistem operasi mengatasi kompleksitas waktu adalah hal utama yang perlu di perhatikan sehingga penggunaan waktu lebih efesien. Salah satu property dari CPU yang berkaitan dengan penggunaan waktu adalah throughput. Throughput adalah banyaknya jumlah proses yang diselesaikan atau yang berhasil di eksekusi per unit waktu. Oleh karena itu diperlukan sebuah teknik untuk mengalokasi time slice atau quantum time yang tepat per masing masing proses. Alokasi quantum time yang tepat sangat mempengaruhi nilai throughput yang di dapatkan oleh CPU.

Kinerja penjadwalan round robin sangat tergantung dari ukuran quantum time. Namun pemberian nilai quantum time pada masing masing proses haruslah tepat agar menghasilkan waktu yang optimal. Quantum time dalam penjadwalan round robin jika memiliki nilai yang lebih besar akan sama dengan penjadwalan First Come Fist Served sehingga menghilangkan fungsi pendjawalan round robin itu sendiri,


(20)

sementara jika quantum time dengan nilai yang kecil akan memberi respek alih konteks dengan ongkos yang sangat besar sehingga tidak tercapai waktu minimal. Menemukan nilai quantum yang bisa dialokasikan secara cepat dan dalam menyelesaikan eksekusi sejumlah proses diperlukan sebuah metode yang sifatnya heuristic search. Menurut Gregorius (2003) Heuristic Search adalah sebuah teknik yang meningkatkan efisiensi dari sebuah proses pencarian. Beberapa teknik heuristic dapat melakukan proses pencarian tanpa mengorbankan klaim terhadap kesempurnaan, sementara teknik–teknik lain dalam heuristic dapat mengakibatkan diabaikannya jalur-jalur terbaik yang mungkin ada. Dalam penelitian ini, penulis menilai bahwa algoritma simulated annealing adalah metode yang tepat yang bisa menyelesaikan masalah ini, mengingat orientasi dari state yang dia cari adalah state yang terendah atau terkecil nilai bobotnya tetapi mengupayakan hasil yang maksimal.

1.2Perumusan Masalah

Sesuai dengan latar belakang masalah di atas maka yang menjadi masalah dalam penelitian ini adalah bagaimana membuat sebuah pemodelan untuk peningkatan kinerja system operasi dalam memanajemen proses dengan menerapkan algoritma simulated annealing dalam penjadwalan round robin untuk meningkatkan kinerja central processing unit, sehingga jumlah proses yang banyak bisa di eksekusi dengan turnaround time yang lebih kecil.

1.3 . Batasan Masalah

Dalam Penelitian ini, penulis melakukan studi literature dengan membahas beberapa topik yang berhubungan dengan penjadwalan CPU dan Simulated Anealing. Adapun pembatasan yang dilakukan dalam penelitian ini adalah :

1. Penjadwalan CPU yang digunakan adalah round robin dengan sejumlah proses yang sedang mengantri.

2. Teknik pembagian waktu yang digunakan adalah algoritma Simulated Annealing.

1.4. Tujuan Penelitian

Tujuan dari penelitian ini adalah memaksimalkan jumlah job yang diproses per interval waktu, meningkatkan CPU utilization sehingga tidak ada proses yang


(21)

menganggur, meningkatkan waktu tanggap dan angka throughput sehingga lebih banyak proses yang di olah oleh sistem dengan nilai turnarround time yang lebih kecil.

1.5. Manfaat Penelitian

Adapun manfaat yang diharapkan dari penelitian ini adalah sebagai berikut :

1. Untuk mengetahui sejauh mana keberhasilan sistem operasi dalam memanajemen proses dengan menggunakan algoritma simulated annealing untuk mendapatkan rata rata waktu eksekusi yang lebih minimal dengan menggunakan algoritma simulated annealing.

2. Membuat efesiensi penggunaan hardware oleh sistem operasi sehingga tingkat kesibukan CPU dalam menjalankan proses tetap terjaga.

3. Sebagai bahan perbandingan pada para vendor sistem operasi untuk bisa mengoptimalkan penjadwalan CPU khususnya bagi yang menggunakan penjadwalan Round Robin dengan menggunakan Algoritma Simulated Annealing.

4. Sebagai rujukan bagi pembaca yang lain untuk bisa memahami algoritma penjadwalan CPU round robin dengan kombinasi simulated annealing dan mengembangkanya pada metode penelitian yang lain khususnya penelitian yang bersifat optimasi dan heuristic search.


(22)

BAB 2

TINJAUAN PUSTAKA

2.1. Penjadwalan Proses

Menurut Tanenbaum (2001) Penjadwalan proses merupakan kumpulan kebijaksanaan dan mekanisme di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem komputer. Adapun penjadwalan bertugas memutuskan :

a. Proses yang harus berjalan

b. Kapan dan selama berapa lama proses itu berjalan

Menurut Tarore ( 2012 ) pengaturan waktu atau penjadwalan dari kegiatan-kegiatan yang terlibat didalamnya dimaksudkan agar suatu proyek dapat berjalan dengan lancar serta efektif. Oleh karena itu, pelaksana dari suatu kegiatan biasanya membuat suatu jadwal waktu kegiatan atau time schedule. Jadwal waktu kegiatan adalah urutan urutan kerja yang berisi tentang :

a. Jenis pekerjaan yang akan diselesaikan

b. Waktu bilamana suatu pekerjaan dimulai dan diakhiri.

Oleh karena itu penjadwalan yang baik harus memiliki ukuran agar proses prose yang dijalankan lebih optimal. Untuk mengukur dan optimasi kinerja penjadwalan menurut Tarek (2006) bahwa ada beberapa hal yang perlu di perhatikan :

a. Adil (fairness)

Adalah proses-proses yang diperlakukan sama, yaitu mendapat jatah waktu pemroses yang sama dan tak ada proses yang tak kebagian layanan pemroses sehingga mengalami kekurangan waktu.


(23)

b. Efisiensi (eficiency)

Efisiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio) waktu sibuk pemroses.

c. Waktu tanggap (response time)

Waktu tanggap adalah waktu yang dibutuhkan untuk merespon atau menanggapi permintaan layanan eksekusi dari sebuah proses. Waktu tanggap dibedakan atas dua hal yakni :

1). Sistem interaktif

Didefinisikan sebagai waktu yang dihabiskan dari saat karakter terakhir dari perintah dimasukkan atau transaksi sampai hasil pertama muncul di layar. Waktu tanggap ini disebut terminal response time.

2). Sistem waktu nyata didefinisikan sebagai waktu dari saat kejadian (internal atau eksternal) sampai instruksi pertama rutin layanan yang dimaksud dieksekusi, disebut event response time.

d. Turn around time

Adalah waktu yang dihabiskan dari saat program atau job mulai masuk ke sistem sampai proses diselesaikan sistem. Waktu yang dimaksud adalah waktu yang dihabiskan di dalam sistem, diekspresikan sebagai penjumlah waktu eksekusi (waktu pelayanan job) dan waktu menunggu, yaitu :

Turn arround time = waktu eksekusi + waktu menunggu.

e. Throughput

Adalah jumlah kerja yang dapat diselesaikan dalam satu unit waktu. Cara untuk mengekspresikan throughput adalah dengan jumlah job pemakai yang dapat dieksekusi dalam satu unit/interval waktu.

Kriteria-kriteria tersebut saling bergantung dan dapat pula saling bertentangan sehingga tidak dimungkinkan optimasi semua kriteria secara simultan. contoh : untuk memberi waktu tanggap kecil memerlukan penjadwalan yang sering beralih ke antara proses-proses itu. Cara ini meningkatkan overhead sistem dan mengurangi throughput. Oleh karena itu dalam menentukan kebijaksanaan perancangan


(24)

penjadwalan sebaiknya melibatkan kompromi diantara kebutuhan-kebutuhan yang saling bertentangan. Kompromi ini bergantung sifat dan penggunaan sistem komputer. Sasaran penjadwalan berdasarkan kriteria-kriteria optimasi tersebut :

a. Menjamin tiap proses mendapat pelayanan dari pemroses yang adil.

b. Menjaga agar pemroses tetap dalam keadaan sibuk sehingga efisiensi mencapai maksimum. Pengertian sibuk adalah pemroses tidak menganggur, termasuk waktu yang dihabiskan untuk mengeksekusi program pemakai dan sistem operasi.

c. Meminimalkan waktu tanggap. d. Meminimalkan turn arround time.

e. Memaksimalkan jumlah job yang diproses persatu interval waktu. Lebih besar angka throughput, lebih banyak kerja yang dilakukan sistem.

2.1.1 Tipe penjadwalan

Menurut Hariyanto ( 2009), terdapat tiga tipe penjadwalan berada secara bersama-sama pada sistem operasi yang kompleks, yaitu:

1. Penjadwal jangka pendek (short term scheduller)

Bertugas menjadwalkan alokasi pemroses di antara proses-proses ready di memori utama. Penjadwalan dijalankan setiap terjadi pengalihan proses untuk memilih proses berikutnya yang harus dijalankan.

2. Penjadwal jangka menengah (medium term scheduller)

Setelah eksekusi selama suatu waktu, proses mungkin menunda sebuah eksekusi karena membuat permintaan layanan masukan/keluaran atau memanggil suatu system call. Proses-proses tertunda tidak dapat membuat suatu kemajuan menuju selesai sampai kondisi-kondisi yang menyebabkan tertunda dihilangkan. Agar ruang memori dapat bermanfaat, maka proses dipindah dari memori utama ke memori sekunder agar tersedia ruang untuk proses-proses lain. Kapasitas memori utama terbatas untuk sejumlah proses aktif. Aktivitas pemindahan proses yang tertunda dari memori utama ke memori sekunder disebut swapping. Proses-proses mempunyai kepentingan kecil saat itu sebagai proses yang tertunda. Tetapi, begitu


(25)

kondisi yang membuatnya tertunda hilang dan proses dimasukkan kembali ke memori utama dan ready.

3. Penjadwal jangka panjang (long term scheduller)

Penjadwal ini bekerja terhadap antrian batch dan memilih batch berikutnya yang harus dieksekusi. Batch biasanya adalah proses-proses dengan penggunaan sumber daya yang intensif (yaitu waktu pemroses, memori, perangkat masukan/keluaran), program-program ini berprioritas rendah, digunakan sebagai pengisi (agar pemroses sibuk) selama periode aktivitas job-job interaktif rendah. Sasaran penjadwalan berdasarkan tipe-tipe penjadwalan :

a. Memaksimumkan kinerja untuk memenuhi satu kumpulan kriteria yang diharapkan.

b. Mengendalikan transisi dari suspended to ready (keadaan suspend ke ready) c. dari proses-proses swapping.

d. Memberi keseimbangan job-job campuran. 2.1.2 Strategi Penjadwalan

Menurut Hariyanto (2009) Terdapat dua strategi penjadwalan, yaitu : 1. Penjadwalan nonpreemptive (run to completion)

Proses diberi jatah waktu oleh pemroses, maka pemroses tidak dapat diambil alih oleh proses lain sampai proses itu selesai.

2. Penjadwalan preemptive

Proses diberi jatah waktu oleh pemroses, maka pemroses dapat diambil alih proses lain, sehingga proses disela sebelum selesai dan harus dilanjutkan menunggu jatah waktu pemroses tiba kembali pada proses itu. Berguna pada sistem dimana proses-proses yang mendapat perhatian/tanggapan pemroses secara cepat, misalnya :

a. Pada sistem realtime, kehilangan interupsi (tidak layani segera) dapat berakibat fatal.


(26)

Penjadwalan secara preemptive baik tetapi harus dibayar mahal. Peralihan proses memerlukan overhead (banyak tabel yang dikelola). Supaya efektif, banyak proses harus berada di memori utama sehingga proses-proses tersebut dapat segera running begitu diperlukan. Menyimpan banyak proses tak running benar-benar di memori utama merupakan suatu overhead tersendiri.

2.1.3 Algoritma-algoritma Penjadwalan

Ada beberapa jenis jenis algoritma penjadwalan. algoritma penjadwalan dibagi dalam dua konsep secara umum :

1. Nonpreemptive, menggunakan konsep :

a. FIFO (First In First Out) atau FCFS (First Come First Serve) b. SJF (Shortest Job First)

c. HRN (Highest Ratio Next)

d. MFQ (Multiple Feedback Queues) 2. Preemptive, menggunakan konsep : a. RR (Round Robin)

b. SRF (Shortest Remaining First) c. PS (Priority Schedulling) d. GS (Guaranteed Schedulling)

Klasifikasi lain selain berdasarkan dapat/tidaknya suatu proses diambil secara paksa adalah klasifikasi berdasarkan adanya prioritas di proses-proses, yaitu :

1. Algoritma penjadwalan tanpa berprioritas. 2. Algoritma penjadwalan berprioritas, terdiri dari : a. Berprioritas statik

b. Berprioritas dinamis

2.2. Algoritma Round Robin

Konsep dasar dari algoritma Round Robin adalah dengan menggunakan time-sharing. Pada dasarnya algoritma ini sama dengan FCFS, hanya saja bersifat preemptive.


(27)

Setiap proses mendapatkan waktu CPU yang disebut dengan waktu quantum (quantum time) untuk membatasi waktu proses, biasanya 1-100 milidetik.

Setelah waktu habis, proses ditunda dan ditambahkan pada ready queue. Jika suatu proses memiliki CPU burst lebih kecil dibandingkan dengan waktu quantum, maka proses tersebut akan melepaskan CPU jika telah selesai bekerja, sehingga CPU dapat segera digunakan oleh proses selanjutnya.

Sebaliknya, jika suatu proses memiliki CPU burst yang lebih besar dibandingkan dengan waktu quantum, maka proses tersebut akan dihentikan sementara jika sudah mencapai waktu quantum, dan selanjutnya mengantri kembali pada posisi ekor dari ready queue, CPU kemudian menjalankan proses berikutnya. Jika terdapat n proses pada ready queue dan waktu quantum q, maka setiap proses mendapatkan 1/n dari waktu CPU paling banyak q unit waktu pada sekali penjadwalan CPU. Tidak ada proses yang menunggu lebih dari (n-1)q unit waktu ( Tanenbaum, 2001)

Waktu turnarround juga tergantung ukuran waktu quantum. Rata-rata waktu turnarround tidak meningkat bila waktu quantum dinaikkan. Secara umum, rata-rata waktu turnarround dapat ditingkatkan jika banyak proses menyelesaikan CPU burst berikutnya sebagai satu waktu quantum. Sebagai contoh, terdapat tiga proses masing-masing 10 unit waktu dan waktu quantum 1 unit waktu, rata-rata waktu turnarround adalah 29. Jika waktu quantum 10, sebaliknya, rata-rata waktu turnarround turun menjadi 20.

2. 3. Simulated Annealing

Menurut Mahlke (2006) Algoritma Simulated Annealing diperkenalkan oleh Metropolis et al. Pada tahun 1953, dan aplikasinya dalam masalah optimasi dilakukan pertama kali oleh Kirkpatrick et al. Tahun 1983. Algoritma ini beranalogi dengan proses annealing (pendinginan) yang diterapkan dalam pembuatan material glassy (terdiri dari butir kristal). Dari sisi ilmu fisika, tujuan sistem ini adalah untuk meminimasi energi potensial. Fluktuasi kinematika acak menghalangi sistem untuk mencapai energi potensial yang minimum global, sehingga sistem dapat terperangkap dalam sebuah keadaan minimum lokal.


(28)

Dengan menurunkan temperatur sistem, menurut Henry (2012 ) diharapkan energi dapat dikurangi ke suatu level yang relatif rendah. Semakin lambat laju pendinginan ini, semakin rendah pula energi yang dapat dicapai oleh sistem pada akhirnya.

Algoritma Simulated Annealing borientasi bagaimana menyelesaikan sebuah pekerjaan besar dengan pemakain energi yang kecil. Berdasarkan teori tersebut, maka dianalogikan bahwa algoritma Round Robin membutuhkan sebuah perhitungan nilai quantum time yang tepat untuk bisa menyelesaikan sejumlah proses dengan waktu yang sangat sedikit.

Algoritma ini penulis analogikan sebagai sebuah algorima yang mampu menyelesaikan eksekusi jumlah proses yang banyak tetapi membutuhkan waktu yang lebih sedikit atau sedikit. Jika temperatur dalam algortima simulated annealing sebagai factor penentu keberhasilan pendinginan maka dalam kasus yang penulis teliti ini, penentuan quantum time yang menjadi penentu keberhasilan pencapaian waktu optimal.

Panggabean (2002) mengatakan bahwa algoritma Simulated Annealing secara umum adalah sebagai berikut:

A. Pilih sebuah solusi awal x0 secara acak dan tetapkan nilai temperature awal. Pada langkah ke - i, solusi yang current disebut xi. Parameter kontrol adalah ci dan fi= f(xi).

B. Ulangi langkah -langkah berikut :

1. Buat sebuah neighbour xp dari solusi current xi dan hitung nilai fungsi objektifnya. State x padalah sebuah kandidat potensial untuk state x(i+1)

2. Set x(i+1) = xp dengan probabilitas min {1,exp((fi – fp )/cI )}. Jika tidak, set x i+1= xi . Turunkan nilai temperature berdasarkan faktor d tertentu :

cI = cI + dcI . Tambahkan 1 pada jumlah iterasi : i = i + 1.

Algoritma ini pasti akan mengubah state jika nilai fungsi objektif diperbaiki. Namun dengan probabilitas tertentu (yang akan berkurang sebagai fungsi dari jumlah iterasi), state dapat digantikan dengan yang lebih buruk (namun state terbaik tetap dicatat).


(29)

2.3.1 Parameter Simulated Annealing

Dalam penyelesaian sebuah masalah terdapat beberapa parameter yang di jadikan sebagai dasar penyelesaian masalah tersebut. Seperti halnya juga dalam algoritma tentu memiliki parameter dalam penyelesaian masalah. Menurut Pahwa ( 2004) parameter yang di butuhkan dalam Simulated Annealing adalah sebagai Berikut :

1. Starting Temperature - t 2. Cooling Schedule - α

3. Final temperature / Stopping Rule - Sn() 4. Iterations at given Temperature - N 5. Initial (starting) configuration - S[a,b,c] 6. Transition rule - Tr()


(30)

BAB 3

METODE PENELITIAN 3.1 Pendahuluan

Optimasi nilai quantum time pada penjadwalan round robin dapat di lakukan dengan cara memilih secara acak angka yang tepat yang digunakan untuk menyelesaikan sejumlah proses tersebut. Hasil dari penyelesaian proses itu nantinya akan di jadikan sebagai acuan untuk melaksanakan eksekusi terhadap proses berikutnya, sehingga penggunaan quantum time yang sesuai dapat tepat dapat di temukan. (Tanenbaum, 2001)

Performans algoritma round robin dapat dijelaskan sebagai berikut, jika q besar, maka yang digunakan adalah algoritma FIFO, tetapi jika q kecil maka sering terjadi context switch. Misalkan ada 3 proses: P1, P2, dan P3 yang meminta pelayanan CPU dengan quantum-time sebesar 4 milidetik.

Tabel 3.1 Antrian Proses Process Burst Time

P1 24

P2 3

P3 3

Penjadwalan proses dengan algoritma round robin dapat dilihat pada gant chart berikut :


(31)

Waktu tunggu untuk P1 adalah 6, P2 adalah 4, dan P3 adalah 7 sehingga rata-rata waktu tunggu adalah (6 + 4 + 7)/3 = 5.66 milidetik. Algoritma Round-Robin ini di satu sisi memiliki keuntungan, yaitu adanya keseragaman waktu. Namun di sisi lain, algoritma ini akan terlalu sering melakukan switching seperti yang terlihat pada Gambar 3.1.

Semakin besar quantum-time maka switching yang terjadi akan semakin sedikit. Waktu turnarround juga tergantung ukuran waktu quantum. Rata-rata waktu turnarround tidak meningkat bila waktu quantum dinaikkan. Secara umum, rata-rata waktu turnarround dapat ditingkatkan jika banyak proses menyelesaikan CPU burst berikutnya sebagai satu waktu quantum. Sebagai contoh, terdapat tiga proses masing-masing 10 unit waktu dan waktu quantum 1 unit waktu, rata-rata waktu turnarround adalah 29. Jika waktu quantum 10, sebaliknya, rata-rata waktu turnarround turun menjadi 20.

Oleh karena di perlukan suatu metode atau cara baru untuk bisa memilih atau menentukan nilai quantum time yang tepat untuk menyelesaikan eksekusi sejumlah proses. Dengan asumsi jumlah proses yang berhasil di eksekusi banyak tetapi waktu yang digunakan sedikit.

Menurut Suwarjono ( 2013) penggunaan Algoritma simulated annealing dapat memberikan nilai yang optimal untuk menyelesaikan kasus yang memiliki urutan jadwal order seperti yang terdapat di dalam penjadwalan round robin. Algoritma Simulated Annealing adalah sebuah algoritma yang berorientasi pada pencapaian hasil yang maksimal tetapi menggunakan waktu yang sedikit. Metode penyelesaian masalah yang terdapat dalam algoritma simulated annealing memiliki korelasi yang baik jika di terapkan untuk menyelesaikan masalah waktu yang cukup kompleks pada penjadwalan round- robin yakni mencari nilai Turnarround Time minimal. Peranan algorima Simulated Annealing dalam hal ini adalah mencari nilai quantum time yang mampu meminimalkan average waiting time untuk keseluruhan proses yang sedang mengantri sehingga di dapatkan Turnarround Time yang minimal.

Pada Penelitian ini, pengaruh nilai quantum time optimal akan terlihat pada opitmasi minimum variable yang mempengaruhi waktu pada penjadwalan, yaitu :


(32)

a. Average Waiting Time b. Turnarround Time c. Context Switching

Dengan menggunakan parameter nilai alpha yang digunakan pada simulated annealing dilakukan penelusuran pada penelitian ini untuk membuktikan bahwa average waiting time, Turn around time, dan context switching bisa menurun atau waktu yang digunakan lebih sedikit. Namun nilai alpha tersebut akan dipengaruhi oleh nilai quantum time yang dipilih secara acak untuk menentukan best solution.

3.2 Data Yang Digunakan

Pada penelitian ini, penulis membutuhkan beberapa data input yang terdiri dari:

1. Jumlah proses

Jumlah proses dalam hal ini adalah banyaknya jumlah proses yang sedang mengantri dalam satu tumpukan.

2. Arrival Time

Adalah urutan kedatangan sebuah proses yang akan menunggu untuk di eksekusi

3. Quantum Time

Adalah nilai yang di berikan atau lamanya waktu eksekusi yang di alokasikan oleh sistem operasi pada masing masing proses secara keseluruhan. dimana setiap proses akan berganti dengan proses berikutnya apabila quantum time-nya habis.

4. Burst Time

Adalah alokasi lamanya waktu eksekusi yang telah di alokasikan kepada masing masing proses sejak proses itu di buat.

5. Time Slice

Adalah jumlah iterasi waktu yang di gunakan untuk mencari nilai quantum yang mampu memberikan nilai turnaround time minimal. Jumlah time slice yang optimal adalah maksimal 100.


(33)

6. Context Switching

Adalah nilai peralihan waktu antar proses ketika di ekseskusi lalu di tunda dengan proses berikutnya. Semakin sedikit nilai context Switching semakin banyak jumlah proses yang bisa disedikit rata rata waktu tunggu untuk masing masing proses

3.3 Prosedure Penyelesain Masalah

Untuk menyelesaikan sebuah masalah dibutuhkan procedure penyelesaian masalah sebagai pedoman utama dalam penelitian untuk mendapatkan hasil yang baik. Adapun prosedure penyelesaian masalah dalam penelitan ini dapat dilihat pada diagram alir berikut ini :

Gambar 3.2 Prosedure Penyelesaian Masalah

Mulai

Input : 1. Jumlah Proses 2. Arrival Time 3. Burst Time 4. Quantum Time 5. Context Switching

Proses :

1. initial solution 2. evaluasi Nilai Fitness

Selesai

Output :

1. Solusi quantum Time Optimal 2. Average Waiting Time Optimal


(34)

3.4 Optimasi Quantum Time Dengan Simulated Annealing

Prosedur penyelesaian masalah optimasi quantum time dengan simulated annealing dapat dijelaskan dengan menggunakan diagram alir 3.3 dibawah ini.


(35)

3.4.1 Mengeset Nilai Parameter

Langkah awal dalam penyelesaian masalah untuk mencari nilai quantum time dengan algorima Simulated annealing adalah dengan menentukan parameter yang meliputi :

1. Penentuan Jumlah Proses (t1)

Dalam penelitian ini, jumlah proses yang akan di diesksekusi terlebih dahulu diset sebagai standar ukuran proses yang mempengaruhi waktu eksekusi. Semakin banyak jumlah proses maka semakin lama waktu yang akan di gunakan untuk menyelesaiakan eksekusi proses secara keseluruhan.

2. Burst Time (α)

Burst Time digunakan sebagai jumlah waktu yang di alokasikan pada masing masing proses sebelum di eksekusi. Burst Time ini bisa berkurang pada saat di eksekusi dan bahkan bisa bertambah. Tergantung pola manajemen penjadwalan yang di terapkan oleh system operasi

3. Time Slice ( Sn)

Adalah batasan atau waktu toleransi yang digunakan untuk menyelesaikan sebuah proses.

4. Quantum Time (N )

Adalah nilai quantum time awal yang diberikan dan nilai ini akan di ganti dengan nilai yang lain jika hasil yang di dapatkan belum maksimal.

5. Initial (starting) configuration (S[a,b,c])

adalah nilai array yang digunakan untuk dipilih secara acak oleh sistem untuk menentukan nilai quantum time yang akan di pilih berikutnya.

6. Transition rule ( Tr)

Adalah aturan transisi nilai dari quantum time yang akan digunakan. 7. Current Solution (Ex (S[a,b,c]))

Adalah konfigurasi alternatif yang lain yang digunakan jika nilai turnarround time yang di dapatkan tidak minimal.

8. Nilai Alpha

Adalah nilai yang mempengaruhi ruang pencarian solusi yang terbaik 9. Context Switching


(36)

Adalah rata rata peralihan waktu antar proses ketika quantum time telah di alokasikan pada masing masing proses. Nilai Context Switching semakin kecil semakin bagus.

3.4.2 Menginput Data Problem.

Input data Problem adalah penentuan nilai dari setiap variable yang akan mempengaruhi eksekusi proses seperti jumlah proses, burst time, arrival time dan nilai quantum time.

3.4.3 Membangkitkan Solusi Awal.

Solusi awal dalam penyelesaian kasus dalam algoritma round robin adalah penentuan nilai quantum time yang akan di gunakan untuk mengesekusi sejumlah proses yang sedang mengantri serta menghitung berapa nilai average waiting time awal. Kemudian nilai average waiting time yang di didapatkan di awal iterasi ( time slice) di uji pada iterasi yang kedua dengan membangkitkan nilai quantum time secara acak.

3.4.4 Menampilkan Solusi Yang Terbaik.

Setelah nilai quantum time di tentukan dan eksekusi di jalankan, akan ditampilkan berapa lama waktu yang digunakan untuk menyelesaikan sejumlah proses tadi dengan harapan nilai yang didapatkan adalah nilai yang terbaik saat itu ( current solution ). 3.4.5 Kriteria Terpenuhi

Jika hasil yang di dapatkan adalah nilai yang optimal maka tujuan tercapai dan pencarian solusi terbaik di hentikan. Tetapi jika nilai yang di dapat tidak optimal, maka di lakukan pencatatan nilai quantum time yang baru dan di uji kembali apakah optimal atau tidak. Jika optimal maka solusi terbaik di dapatkan dan proses di berhentikan, iterasi akan terus di lakukan jika solusi yang di berikan masih belum mendapatkan nilai yang optimal. Pencarian solusi terbaik akan berhenti jika time slice yang dialokasikan telah memenuhi nilai batas maksimum. Pada akhir iterasi ini akan di tampilkan Quantum Time, current solution, turnaround time, context switching time yang minimum. Hasil inilah yang dianggap sebagai best solution pada simulated annealing


(37)

BAB 4

HASIL DAN PEMBAHASAN

4.1 Pendahuluan

Penulis membangun program untuk optimasi nilai ( waktu ) turnaround time pada penjadwalan round robin dengan mencari nilai quantum time yang optimal dengan menerapkan fungsi algoritma simulated annealing dengan menggunakan bahasa pemrograman JAVA. Pada penelitian ini akan ditampilkan hasil pencarian angka quantum time yang dilakukan oleh simulated annealing yang diambil secara acak dengan range angka tidak boleh sama dengan satu dan nilai maksimal tidak melebihi nilai burst time yang dialokasikan pada setiap proses saat itu. Nilai quantum time yang akan dipilih secara acak di ambil dan diuji oleh fungsi dari simulated annealing. Dari setiap angka yang dipilih akan dibandingkan apakah nilai average waiting time yang dihasilkan lebih kecil atau masih bisa dikecilkan lagi. Jika masih bisa dikecilkan maka akan simulated annealing akan memilih angka yang lain dan membandingkan hasilnya dengan nilai average waiting yang yang didapat sebelumnya. Iterasi akan terus dilakukan sampai ditemukan average waiting time yang optimal atau Turnarround Time. Metode ini bersifat heuristic dimana hasil yang terbaik yang di dapat saat itu akan disimpan dan dijadikan sebagai acuan untuk mempercepat pencarian solusi berikutnya apabila ditemukan proses proses yang akan di eksekusi memiliki kesamaan nilai nilai burst time yang dialokasikan.

4.2 Pengujian

Penerapan Algoritma Simulated Annealing pada penjadwalan round robin terdiri dari beberapa tahapan. Salah satu tahapan yang pada penelitian ini adalah penentuan jumlah proses dan alokasi burst time pada masing masing proses tersebut. Pada penelitian ini optimasi nilai turnaround time yang dipengaruhi secara langsung oleh penggunaan nilai quantum time yang tepat menggunakan beberapa variable yaitu :


(38)

1. Nilai alpha ( 0,90 dan 0,99 )

2. Inisial Context Switching ( nilai awal 110 dan nilai akhir 0,5 ) 3. Jumlah Proses

4. Burst Time 5. Iterasi

4.3. Hasil Uji Coba

Pada penelitian ini, penentuan Quantum time yang optimal ditentukan dengan menggunakan algoritma Simulated annealing. Pengujian dilakukan dengan menerapkan dua jenis parameter yang berbeda dan masing-masing parameter diuji pada tiga jenis proses yang berbeda yaitu 100, 150 dan 200 proses.

4.4 Uji Coba Pada 100 Proses

Uji coba pada 100 proses menggunakan dataset yang ditampilkan pada table 4.1. Pada table tersebut ditampilkan jumlah proses dan nilai burst time tiap proses.

Tabel 4.1. Dataset 100 Proses

Proses Burst Time

P1 - P10 P11 - P20 P21 - P30 P31 - P40 P41 - P50 P51 - P60 P6 - P70 P71 - P80 P81 - P90 P91 - P100

30 170 9 55 51 33 10 21 99 130 40 4 34 31 9 66 11 22 88 140 40 170 170 11 77 22 12 23 8 240 190 100 3 20 97 11 13 20 56 5 90 200 8 345 300 44 15 20 54 90 190 167 55 23 22 55 16 300 91 190 120 60 70 12 13 66 17 76 9 120 50 70 80 178 63 77 18 131 3 50 125 5 91 19 77 88 19 211 8 125 7 8 93 9 79 99 20 3 7 17 Pada table 4.1 di atas ditampilkan bahwa proses pertama (P1) bernilai 30, P2 bernilai 40, P3 bernilai 40 dan prosess terakhir (P100) bernilai 17.

4.4.1. Parameter 1

Pada pengujian ini, parameter yang diterapkan adalah koefisien alpha atau factor pendinginan sebesar 0.90, jumlah proses sebesar 100, initial Context Switching atau nilai Context Switching awal sebesar 110, final Context Switching atau Context Switching akhir sebesar 0,5 dan iterasi bernilai satu. Parameter-parameter tersebut ditampilkan pada table 4.1 berikut ini :


(39)

Tabel 4.2 Parameter 1 100 proses Alpha Jumlah

Proses

Context

Switching max

Context Switching Min

Iterasi

0,90 100 110 0,5 1

4.4.2. Hasil Pengujian

Hasil pengujian dengan menerapkan parameter-parameter pada table 4.1 di atas dapat ditampilkan pada table 4.3 berikut ini. Pada table tersebut ditampilkan nilai quantum time, Average Waiting Time (AWT), context switching, Turnarround Time, current solution dan Context Switching. Quantum time dibangkitkan secara random dengan batasan nilai tertentu dengan batas bawah bernilai dua dan batas atas bernilai di bawah burst time maksimum dari keseluruhan proses yang sedang diuji. Pada tabel 4.1 di atas, nilai burst time maksimum adalah 345, sehingga pada pengujian ini, nilai Quantum time maksimum yang diijinkan adalah 344.

Tabel 4.3 Hasil Pengujian Parameter 1 dengan 100 proses

Atribut Hasil

Quantum time AWT awal

Context Switching

314 3663.88 110

Quantum time AWT

Current Solution Turnarround Time

Context Switching

100 3441.09 3371.00 3371.00

8.77

Quantum time AWT

Current Solution Turnarround Time

Context Switching

56 3512.73 3371.00 3371.00

7.90 Quantum time

AWT

Current Solution Turnarround Time Context Switching

14 3329.47 3329.47 3329.47 7.11

Quantum time AWT

Current Solution Turnarround Time

Context Switching

171 3717.14 3329.47 3329.47


(40)

Quantum time AWT

Current Solution Turnarround Time

Context Switching

99 3496.07 3329.47 3329.47

0.57

Quantum time AWT

Current Solution Turnarround Time

Context Switching

64 3571.84 3329.47 3329.47

0.51

Quantum time AWT

Current Solution Turnarround Time

Context Switching

40 3415.50 3329.47 3329.47 0.46

Pada tabel 4.3 di atas ditampilkan bahwa pada awal iterasi, nilai average waiting time awal adalah sebesar 3663.88 ms, nilai ini diperoleh dari Quantum time sebesar 314 pada Context Switching 110. Nilai average waiting time pada iterasi pertama tersebut di update atau diperbaharui menjadi 3371 ms pada iterasi ke 25 dengan quantum time sebesar 100 dan Context Switching 8,77. Pengujian sampai mencapai Context Switching final yaitu 0,46 diperoleh nilai average waiting time terkecil dari keseluruhan iterasi atau Turnarround Time sebesar 3329,47. Nilai Turnarround Time tersebut diperoleh pada quantum time 14 pada iterasi ke 8, dan Context Switching 52.6

4.4.4. Best seeking

Best seeking adalah proses penelusuran solusi terbaik mulai dari iterasi / Context Switching awal sampai iterasi/Context Switching akhir. Solusi terbaik atau Turnarround Time adalah nilai average waiting time terkecil yang diperoleh sejauh ini. Pada tabel 4.5 berikut ini ditampilkan sebahagian hasil penelusuran Turnarround Time untuk 100 proses menggunakan parameter 1 dan burst time yang berbeda-beda.

Tabel 4.4 Turnarround Time Parameter 1 dengan 100 proses

Iterasi Context Switching

Turnarround Time

Iterasi Context Switching

Turnarround Time

1 110 3663.88 29 5.76 3329.47

2 99 3586.58 30 5.18 3329.47

3 89.1 3586.58 31 4.66 3329.47

4 80.2 3586.58 32 4.2 3329.47


(41)

6 65 3586.58 34 3.4 3329.47

7 58.5 3586.58 35 3.06 3329.47

8 52.6 3371 36 2.75 3329.47

9 47.4 3371 37 2.48 3329.47

10 42.6 3371 38 2.23 3329.47

14 28 3371 39 2.01 3329.47

15 25.2 3371 40 1.81 3329.47

16 22.6 3371 41 1.63 3329.47

17 20.4 3371 42 1.46 3329.47

18 18.3 3371 43 1.32 3329.47

19 16.5 3371 44 1.19 3329.47

20 14.9 3371 45 1.07 3329.47

21 13.4 3371 46 0.96 3329.47

22 12 3371 47 0.86 3329.47

23 10.8 3371 48 0.78 3329.47

24 9.75 3371 49 0.7 3329.47

25 8.77 3371 50 0.63 3329.47

26 7.9 3371 51 0.57 3329.47

27 7.11 3329.47 52 0.51 3329.47

28 6.4 3329.47 53 0.46 3329.47

Pada tabel 4.4 di atas ditampilkan bahwa pada iterasi awal diperoleh Turnarround Time sebesar 3663.88. Namun pada iterasi ke dua didapatkan Turnarround Time lebih kecil dari hasil iterasi pertama yakni sebesar 3586.58. Hasil ini juga di uji pada iterasi ketiga, dan di dapatkan nilai Turnarround Time yang sama pada iterasi yang ke tujuh. Pada iterasi delapan diperoleh nilai average waiting time yang lebih kecil yaitu sebesa 3371 nilai tersebut dipertahankan sampai pada iterasi ke 27. Pada iterasi yang ke 28 di dapatkan hasil pengujian sebesar 3329.47. nilai ini terus di uji coba pada sampai iterasi ke 53 di dapatkan nilai 3329.47. Pengujian terhenti sampai pada iterasi yang ke 53 karena nilai Context Switching akhir sudah terpenuhi yakni 0,46

Proses penelusuran atau best seeking pada tabel 4.4 di atas dapat ditampilkan pada gambar 4.1 berikut ini.


(42)

Gambar 4.1 Grafik Penelusuran Nilai quantum time pada parameter 1 dengan 100 proses

Pada algoritma Simulated Annealing , nilai Context Switching awal selalu lebih besar dari nilai Context Switching akhir, dengan kata lain terjadi proses pendinginan atau cooling. Pada pengujian ini, nilai Context Switching awal adalah 110 dan nilai Context Switching ini akan diturunkan dengan factor 0.90 sampai diperoleh nilai Context Switching akhir yaitu 0.46. Grafik penurunan Context Switching dapat ditampilkan pada gambar 4.2 berikut ini.

Gambar 4.2 Grafik Penurunan Context Switching dengan alpha 0.90 pada 100 proses

4.4.5 Parameter 2

Pada pengujian ini, parameter yang diterapkan adalah koefisien alpha atau factor pendinginan sebesar 0.99, jumlah proses sebesar 100, initial Context Switching atau

3100 3200 3300 3400 3500 3600 3700

1 11 21 31 41 51

A

v

e

rag

e

Wai

tn

g

Ti

m

e

Iterasi

Grafik Best Seeking

0 50 100 150

1 11 21 31 41 51

Co

n

te

xt

S

wi

tc

h

in

g

Iterasi


(43)

nilai Context Switching awal sebesar 110, final Context Switching atau Context Switching akhir sebesar 0,5 dan iterasi bernilai satu. Parameter-parameter tersebut ditampilkan pada table 4.1 berikut ini :

Tabel 4.5 Parameter dua 100 proses dengan alpha 0,99 Alpha Jumlah

proses

Context Switching max

Context Switching Min

Iterasi

0,99 100 110 0,5 1

4.4..6 Hasil Pengujian Parameter 2

Hasil pengujian dengan menerapkan parameter-parameter pada table 4.5 di atas dapat ditampilkan pada table 4.6 berikut ini. Pada table tersebut ditampilkan nilai quantum time, Average Waiting Time (AWT), current solution, working solution, Turnarround Time dan Context Switching. Quantum time dibangkitkan secara random dengan batasan nilai tertentu dengan batas bawah bernilai dua dan batas atas bernilai di bawah burst time maksimum dari keseluruhan proses yang sedang diuji. Pada tabel 4.1 di atas, nilai burst time maksimum adalah 345, sehingga pada pangujian ini, nilai Quantum time maksimum yang diijinkan adalah 344, namun nilai alpha yang digunakan adalah 0,99.

Tabel 4. 6 Hasil Pengujian Parameter 2 dengan 100 proses Quantum time

AWT awal

330 3674.29 Quantum time

AWT

Current Solution Turnarround Time Context Switching

306 3658.69 3658.69 3658.69 108.90 Quantum time

AWT

Current Solution Turnarround Time Context Switching

223 3606.38 3606.38 3606.38 107.81 Quantum time

AWT

Current Solution Turnarround Time Context Switching

457 3641.26 3641.26 3606.38 106.73


(44)

Quantum time AWT Current Solution Turnarround Time Context Switching 287 3691.51 3691.51 3606.38 105.67 Quantum time AWT Current Solution Turnarround Time Context Switching 435 3641.26 3641.26 3606.38 104.61 Quantum time AWT Current Solution Turnarround Time Context Switching 85 3623.03 3623.03 3606.38 103.56 Quantum time AWT Current Solution Turnarround Time Context Switching 116 3616.36 3616.36 3606.38 102.53 Quantum time AWT Current Solution Turnarround Time Context Switching 47 3506.99 3506.99 3365.72 63.93 Quantum time AWT Current Solution Turnarround Time Context Switching 53 3552.87 3506.99 3365.72 63.29 Quantum time AWT Current Solution Turnarround Time Context Switching 53 3552.87 3506.99 3365.72 63.29 Quantum time AWT Current Solution Turnarround Time Context Switching 11 3292.57 3292.57 3292.57 62.66 Quantum time AWT Current Solution Turnarround Time Context Switching 62 3591.78 3292.57 3292.57 62.03


(45)

Quantum time AWT

Current Solution Turnarround Time Context Switching

152 3760.13 3293.66 3292.57 0.51 Quantum time

AWT

Current Solution Turnarround Time Context Switching

34 3356.41 3293.66 3292.57 0.51 Quantum time

AWT

Current Solution Turnarround Time Context Switching

195 3649.52 3293.66 3292.57 0.50

Pada tabel 4.6 di atas ditampilkan sebagian data bahwa pada awal iterasi, nilai average waiting time awal adalah sebesar 3674.29 ms, nilai ini diperoleh dari Quantum time sebesar 330 pada Context Switching 110. Nilai average waiting time pada iterasi pertama tersebut di update atau diperbaharui dan terus di uji untuk mendapatkan average waiting time paling kecil. Pengujian dilakukan sampai mencapai Context Switching final yaitu 0,50 diperoleh nilai average waiting time terkecil dari keseluruhan iterasi atau Turnarround Time sebesar 3292.57. Nilai Turnarround Time tersebut diperoleh pada quantum time sebesar 11 pada iterasi ke 57, dengan Context Switching 52.6.

4. 4.7 Best Seeking

Pada tabel 4.7 berikut ini ditampilkan hasil penelusuran Turnarround Time untuk 100 proses menggunakan parameter 2 dan burst time yang berbeda-beda.


(46)

Tabel 4.7 Turnarround Time Parameter 2 dengan 100 proses

Iterasi C. Switching T. Time Iterasi C.Switching T. Time

1 110.00 3674.29 51 66.55 3365.72

2 108.90 3658.69 52 65.89 3365.72

3 107.81 3606.38 53 65.23 3365.72

4 106.73 3606.38 54 64.57 3365.72

5 105.67 3606.38 55 63.93 3365.72

6 104.61 3606.38 56 63.29 3365.72

7 103.56 3606.38 57 62.66 3292.57

8 102.53 3606.38 58 62.03 3292.57

9 101.50 3606.38 59 61.41 3292.57

10 100.49 3606.38 60 60.80 3292.57

11 99.48 3606.38 61 60.19 3292.57

12 98.49 3592.66 62 59.59 3292.57

13 97.50 3592.66 63 58.99 3292.57

14 96.53 3592.66 64 58.40 3292.57

15 95.56 3592.66 65 57.82 3292.57

16 94.61 3592.66 66 57.24 3292.57

17 93.66 3579.19 67 56.67 3292.57

18 92.72 3579.19 68 56.10 3292.57

19 91.80 3579.19 69 55.54 3292.57

20 90.88 3579.19 70 54.98 3292.57

21 89.97 3371 71 54.43 3292.57

22 89.07 3371 72 53.89 3292.57

23 88.18 3371 73 53.35 3292.57

24 87.30 3371 74 52.82 3292.57

25 86.42 3371 75 52.29 3292.57

26 85.56 3371 76 51.76 3292.57

27 84.70 3371 77 51.25 3292.57

28 83.86 3371 78 50.73 3292.57

29 83.02 3371 79 50.23 3292.57

30 82.19 3371 80 49.72 3292.57

31 81.37 3365.72 81 49.23 3292.57

32 80.55 3365.72 82 48.74 3292.57

33 79.75 3365.72 83 48.25 3292.57

34 78.95 3365.72 84 47.77 3292.57

35 78.16 3365.72 85 47.29 3292.57

36 77.38 3365.72 86 46.81 3292.57

37 76.61 3365.72 87 46.35 3292.57

38 75.84 3365.72 88 45.88 3292.57

39 75.08 3365.72 89 45.42 3292.57

40 74.33 3365.72 90 44.97 3292.57

41 73.59 3365.72 91 44.52 3292.57

42 72.85 3365.72 92 44.08 3292.57

43 72.12 3365.72 93 43.63 3292.57

44 71.40 3365.72 94 43.20 3292.57

45 70.69 3365.72 95 42.77 3292.57

46 69.98 3365.72 96 42.34 3292.57

47 69.28 3365.72 97 41.92 3292.57

48 68.59 3365.72 98 41.50 3292.57

49 67.90 3365.72 99 41.08 3292.57


(47)

Iterasi C. Switching T. Time Iterasi C.Switching T.Time

101 40.26 3292.57 151 24.36 3292.57

102 39.86 3292.57 152 24.12 3292.57

103 39.46 3292.57 153 23.87 3292.57

104 39.07 3292.57 154 23.64 3292.57

105 38.68 3292.57 155 23.40 3292.57

106 38.29 3292.57 156 23.17 3292.57

107 37.91 3292.57 157 22.93 3292.57

108 37.53 3292.57 158 22.70 3292.57

109 37.15 3292.57 159 22.48 3292.57

110 36.78 3292.57 160 22.25 3292.57

111 36.41 3292.57 161 22.03 3292.57

112 36.05 3292.57 162 21.81 3292.57

113 35.69 3292.57 163 21.59 3292.57

114 35.33 3292.57 164 21.38 3292.57

115 34.98 3292.57 165 21.16 3292.57

116 34.63 3292.57 166 20.95 3292.57

117 34.28 3292.57 167 20.74 3292.57

118 33.94 3292.57 168 20.53 3292.57

119 33.60 3292.57 169 20.33 3292.57

120 33.26 3292.57 170 20.13 3292.57

121 32.93 3292.57 171 19.92 3292.57

122 32.60 3292.57 172 19.72 3292.57

123 32.28 3292.57 173 19.53 3292.57

124 31.95 3292.57 174 19.33 3292.57

125 31.63 3292.57 175 19.14 3292.57

126 31.32 3292.57 176 18.95 3292.57

127 31.00 3292.57 177 18.76 3292.57

128 30.69 3292.57 178 18.57 3292.57

129 30.39 3292.57 179 18.38 3292.57

130 30.08 3292.57 180 18.20 3292.57

131 29.78 3292.57 181 18.02 3292.57

132 29.49 3292.57 182 17.84 3292.57

133 29.19 3292.57 183 17.66 3292.57

134 28.90 3292.57 184 17.48 3292.57

135 28.61 3292.57 185 17.31 3292.57

136 28.32 3292.57 186 17.14 3292.57

137 28.04 3292.57 187 16.96 3292.57

138 27.76 3292.57 188 16.79 3292.57

139 27.48 3292.57 189 16.63 3292.57

140 27.21 3292.57 190 16.46 3292.57

141 26.94 3292.57 191 16.30 3292.57

142 26.67 3292.57 192 16.13 3292.57

143 26.40 3292.57 193 15.97 3292.57

144 26.14 3292.57 194 15.81 3292.57

145 25.87 3292.57 195 15.65 3292.57

146 25.62 3292.57 196 15.50 3292.57

147 25.36 3292.57 197 15.34 3292.57

148 25.11 3292.57 198 15.19 3292.57

149 24.85 3292.57 199 15.04 3292.57


(48)

Iterasi C. Switching T. Time Iterasi C. Switching T.Time

201 14.74 3292.57 251 8.92 3292.57

202 14.59 3292.57 252 8.83 3292.57

203 14.44 3292.57 253 8.74 3292.57

204 14.30 3292.57 254 8.65 3292.57

205 14.16 3292.57 255 8.57 3292.57

206 14.02 3292.57 256 8.48 3292.57

207 13.88 3292.57 257 8.39 3292.57

208 13.74 3292.57 258 8.31 3292.57

209 13.60 3292.57 259 8.23 3292.57

210 13.46 3292.57 260 8.15 3292.57

211 13.33 3292.57 261 8.06 3292.57

212 13.20 3292.57 262 7.98 3292.57

213 13.06 3292.57 263 7.90 3292.57

214 12.93 3292.57 264 7.82 3292.57

215 12.80 3292.57 265 7.75 3292.57

216 12.68 3292.57 266 7.67 3292.57

217 12.55 3292.57 267 7.59 3292.57

218 12.42 3292.57 268 7.52 3292.57

219 12.30 3292.57 269 7.44 3292.57

220 12.18 3292.57 270 7.37 3292.57

221 12.05 3292.57 271 7.29 3292.57

222 11.93 3292.57 272 7.22 3292.57

223 11.81 3292.57 273 7.15 3292.57

224 11.70 3292.57 274 7.08 3292.57

225 11.58 3292.57 275 7.01 3292.57

226 11.46 3292.57 276 6.94 3292.57

227 11.35 3292.57 277 6.87 3292.57

228 11.24 3292.57 278 6.80 3292.57

229 11.12 3292.57 279 6.73 3292.57

230 11.01 3292.57 280 6.66 3292.57

231 10.90 3292.57 281 6.60 3292.57

232 10.79 3292.57 282 6.53 3292.57

233 10.68 3292.57 283 6.46 3292.57

234 10.58 3292.57 284 6.40 3292.57

235 10.47 3292.57 285 6.34 3292.57

236 10.37 3292.57 286 6.27 3292.57

237 10.26 3292.57 287 6.21 3292.57

238 10.16 3292.57 288 6.15 3292.57

239 10.06 3292.57 289 6.09 3292.57

240 9.96 3292.57 290 6.03 3292.57

241 9.86 3292.57 291 5.96 3292.57

242 9.76 3292.57 292 5.91 3292.57

243 9.66 3292.57 293 5.85 3292.57

244 9.57 3292.57 294 5.79 3292.57

245 9.47 3292.57 295 5.73 3292.57

246 9.38 3292.57 296 5.67 3292.57

247 9.28 3292.57 297 5.62 3292.57

248 9.19 3292.57 298 5.56 3292.57

249 9.10 3292.57 299 5.50 3292.57


(49)

Iterasi C.Switching T. Time Iterasi C. Switching T. Time

301 5.39 3292.57 351 3.26 3292.57

302 5.34 3292.57 352 3.23 3292.57

303 5.29 3292.57 353 3.20 3292.57

304 5.23 3292.57 354 3.17 3292.57

305 5.18 3292.57 355 3.14 3292.57

306 5.13 3292.57 356 3.10 3292.57

307 5.08 3292.57 357 3.07 3292.57

308 5.03 3292.57 358 3.04 3292.57

309 4.98 3292.57 359 3.01 3292.57

310 4.93 3292.57 360 2.98 3292.57

311 4.88 3292.57 361 2.95 3292.57

312 4.83 3292.57 362 2.92 3292.57

313 4.78 3292.57 363 2.89 3292.57

314 4.73 3292.57 364 2.86 3292.57

315 4.69 3292.57 365 2.84 3292.57

316 4.64 3292.57 366 2.81 3292.57

317 4.59 3292.57 367 2.78 3292.57

318 4.55 3292.57 368 2.75 3292.57

319 4.50 3292.57 369 2.72 3292.57

320 4.46 3292.57 370 2.70 3292.57

321 4.41 3292.57 371 2.67 3292.57

322 4.37 3292.57 372 2.64 3292.57

323 4.32 3292.57 373 2.62 3292.57

324 4.28 3292.57 374 2.59 3292.57

325 4.24 3292.57 375 2.56 3292.57

326 4.20 3292.57 376 2.54 3292.57

327 4.15 3292.57 377 2.51 3292.57

328 4.11 3292.57 378 2.49 3292.57

329 4.07 3292.57 379 2.46 3292.57

330 4.03 3292.57 380 2.44 3292.57

331 3.99 3292.57 381 2.41 3292.57

332 3.95 3292.57 382 2.39 3292.57

333 3.91 3292.57 383 2.37 3292.57

334 3.87 3292.57 384 2.34 3292.57

335 3.83 3292.57 385 2.32 3292.57

336 3.79 3292.57 386 2.30 3292.57

337 3.76 3292.57 387 2.27 3292.57

338 3.72 3292.57 388 2.25 3292.57

339 3.68 3292.57 389 2.23 3292.57

340 3.65 3292.57 390 2.21 3292.57

341 3.61 3292.57 391 2.18 3292.57

342 3.57 3292.57 392 2.16 3292.57

343 3.54 3292.57 393 2.14 3292.57

344 3.50 3292.57 394 2.12 3292.57

345 3.47 3292.57 395 2.10 3292.57

346 3.43 3292.57 396 2.08 3292.57

347 3.40 3292.57 397 2.06 3292.57

348 3.36 3292.57 398 2.04 3292.57

349 3.33 3292.57 399 2.01 3292.57


(50)

Iterasi C.Switching T. Time Iterasi C. Switching T. Time

401 1.97 3292.57 451 1.19 3292.57

402 1.95 3292.57 452 1.18 3292.57

403 1.94 3292.57 453 1.17 3292.57

404 1.92 3292.57 454 1.16 3292.57

405 1.90 3292.57 455 1.15 3292.57

406 1.88 3292.57 456 1.14 3292.57

407 1.86 3292.57 457 1.12 3292.57

408 1.84 3292.57 458 1.11 3292.57

409 1.82 3292.57 459 1.10 3292.57

410 1.80 3292.57 460 1.09 3292.57

411 1.79 3292.57 461 1.08 3292.57

412 1.77 3292.57 462 1.07 3292.57

413 1.75 3292.57 463 1.06 3292.57

414 1.73 3292.57 464 1.05 3292.57

415 1.72 3292.57 465 1.04 3292.57

416 1.70 3292.57 466 1.03 3292.57

417 1.68 3292.57 467 1.02 3292.57

418 1.66 3292.57 468 1.01 3292.57

419 1.65 3292.57 469 1.00 3292.57

420 1.63 3292.57 470 0.99 3292.57

421 1.62 3292.57 471 0.98 3292.57

422 1.60 3292.57 472 0.97 3292.57

423 1.58 3292.57 473 0.96 3292.57

424 1.57 3292.57 474 0.95 3292.57

425 1.55 3292.57 475 0.94 3292.57

426 1.54 3292.57 476 0.93 3292.57

427 1.52 3292.57 477 0.92 3292.57

428 1.51 3292.57 478 0.91 3292.57

429 1.49 3292.57 479 0.90 3292.57

430 1.48 3292.57 480 0.89 3292.57

431 1.46 3292.57 481 0.88 3292.57

432 1.45 3292.57 482 0.87 3292.57

433 1.43 3292.57 483 0.87 3292.57

434 1.42 3292.57 484 0.86 3292.57

435 1.40 3292.57 485 0.85 3292.57

436 1.39 3292.57 486 0.84 3292.57

437 1.38 3292.57 487 0.83 3292.57

438 1.36 3292.57 488 0.82 3292.57

439 1.35 3292.57 489 0.82 3292.57

440 1.33 3292.57 490 0.81 3292.57

441 1.32 3292.57 491 0.80 3292.57

442 1.31 3292.57 492 0.79 3292.57

443 1.29 3292.57 493 0.78 3292.57

444 1.28 3292.57 494 0.78 3292.57

445 1.27 3292.57 495 0.77 3292.57

446 1.26 3292.57 496 0.76 3292.57

447 1.24 3292.57 497 0.75 3292.57

448 1.23 3292.57 498 0.74 3292.57

449 1.22 3292.57 499 0.74 3292.57


(51)

Iterasi C. Switching T.Time Iterasi C.Switching T. Time

501 0.72 3292.57 520 0.60 3292.57

502 0.72 3292.57 521 0.59 3292.57

503 0.71 3292.57 522 0.59 3292.57

504 0.70 3292.57 523 0.58 3292.57

505 0.69 3292.57 524 0.57 3292.57

506 0.69 3292.57 525 0.57 3292.57

507 0.68 3292.57 526 0.56 3292.57

508 0.67 3292.57 527 0.56 3292.57

509 0.67 3292.57 528 0.55 3292.57

510 0.66 3292.57 529 0.55 3292.57

511 0.65 3292.57 530 0.54 3292.57

512 0.65 3292.57 531 0.53 3292.57

513 0.64 3292.57 532 0.53 3292.57

514 0.63 3292.57 533 0.52 3292.57

515 0.63 3292.57 534 0.52 3292.57

516 0.62 3292.57 535 0.51 3292.57

517 0.62 3292.57 536 0.51 3292.57

518 0.61 3292.57 537 0.50 3292.57

519 0.60 3292.57

Pada tabel 4.7 di atas ditampilkan bahwa pada iterasi awal diperoleh Turnarround Time sebesar 3674.29. Namun pada iterasi ke dua didapatkan Turnarround Time lebih kecil dari hasil iterasi pertama yakni sebesar 3658.69. Hasil ini juga di uji pada iterasi ketiga, dan di dapatkan nilai Turnarround Time yakni 3606.38. Nilai ini terus bertahan sampai pada iterasi yang ke 11. Pada iterasi ke 12 diperoleh nilai average waiting time yang lebih kecil yaitu sebesar 3371 nilai tersebut dipertahankan sampai pada iterasi ke 16 dengan nilai 3592.66 . Pada iterasi yang ke 17 di dapatkan hasil pengujian sebesar 3579.19. nilai ini terus di uji coba pada sampai iterasi ke 20. Pada iterasi 21 di dapatkan nilai Turnarround Time sebesar 3371 sampai iterasi 30. Pada iterasi 31 di dapatkan nilai Turnarround Time sebesar 3365.72. Nilai ini terus diuji hingga iterasi yang ke 56. Pada iterasi yang ke 57 di dapatkan nilai yang lebih rendah sebagai Turnarround Time sebesar 3292.57. Pengujian terhenti sampai pada iterasi yang ke 538 karena nilai Context Switching akhir sudah terpenuhi yakni 0,50 tetapi tetap menghasilkan nilai yang sama yakni 3292.57.


(52)

Proses penelusuran terhadap best seeking dapat dilihat pada gambar 4.3 di bawah ini :

Gambar 4.3 Grafik Best Seeking dengan nilai alpha 0,99 pada 100 proses Pada pengujian ini, nilai Context Switching awal adalah 110 dan nilai Context Switching ini akan diturunkan dengan factor 0.99 sampai diperoleh nilai Context Switching akhir. Grafik penurunan Context Switching dapat ditampilkan pada gambar 4.3 berikut ini.

Gambar 4.4 Grafik Penurunan nilai Context Switching dengan nilai alpha 0,99 pada 100 proses 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 1

26 51 76

10 1 12 6 15 1 17 6 20 1 22 6 25 1 27 6 30 1 32 6 35 1 37 6 40 1 42 6 45 1 47 6 50 1 52 6 A v e rag e Wai ting Ti m e Iterasi

Grafik Best Seeking

0.00 20.00 40.00 60.00 80.00 100.00 120.00 1

25 49 73 97

12 1 14 5 16 9 19 3 21 7 24 1 26 5 28 9 31 3 33 7 36 1 38 5 40 9 43 3 45 7 48 1 50 5 52 9 Co n te xt S wi tc h in g Iterasi


(1)

int BurstTime[] = new int[] {30, 40, 40, 29, 19, 9, 190, 20, 5, 125,7, 170, 60, 78, 100, 200, 167, 60, 70, 5, 8, 9,34, 170,3, 8,55,70, 80,91,93,55,31};

int wt[]=new int[BurstTime.length]; int tat[]=new int[BurstTime.length]; int a[]=new int[BurstTime.length]; int n=BurstTime.length;

System.out.print("Time quantum : ");

q=getRandomNumber(MIN, MAX); System.out.println(q);

for(i=0;i<n;i++)

a[i]=BurstTime[i]; for(i=0;i<n;i++)

wt[i]=0;

do {

for(i=0;i<n;i++)

{

if(BurstTime[i]>=q) {

BurstTime[i]-=q; for(j=0;j<n;j++) {

if((j!=i)&&(BurstTime[j]!=0))

wt[j]+=q;

}

} else {

for(j=0;j<n;j++) {

if((j!=i)&&(BurstTime[j]!=0))

wt[j]+=BurstTime[i];

}

BurstTime[i]=0;

} }


(2)

sum=0;

for(k=0;k<n;k++)

sum=sum+BurstTime[k];

}

while(sum!=0); for(i=0;i<n;i++)

tat[i]=wt[i]+a[i];

float avg_wt=0; float avg_tat=0; for(j=0;j<n;j++) {

avg_wt+=wt[j];

}

// System.out.println("average wating time : "+(avg_wt/n)+"\nAverage TOT :

"+(avg_tat/n));

return avg_wt;

}*/

private static class Solution {

private double mSolutionEnergy = 0.0; private int mData[] = null;

private double getAWTime;

public Solution() {

mData = new int[1]; return;

}

public Solution(Solution that) {

mData = new int[1];

for(int i = 0; i < 1; i++) {

this.mData[i] = that.data(i); }

this.mSolutionEnergy = that.mSolutionEnergy; return;

}


(3)

{

for(int i = 0; i < 1; i++) {

this.mData[i] = that.data(i); }

this.mSolutionEnergy = that.mSolutionEnergy; return;

}

public void data(int index, int value) {

this.mData[index] = value; return;

}

public int data(int index) {

return this.mData[index]; }

public void solutionEnergy(double value) {

this.mSolutionEnergy = value; return;

}

public double solutionEnergy() {

return this.mSolutionEnergy; }

public int getRandomNumber(int low, int high) {

Random rand=new Random(); int n=rand.nextInt(high)+low; return n;

}

private double computeEnergy() {

int A=9; //int B; int C=91;

int i,j,q,k,sum=0;


(4)

{30, 40, 40, 190, 90, 190, 120, 50, 125,7, 170, 4, 170, 100, 200, 167, 60, 70, 5, 8, 9, 34, 170, 3, 8, 55, 70, 80, 91, 93, 55, 31, 11, 20, 345, 23, 12, 178, 19, 9, 51, 9, 77, 97, 300, 22, 13, 63, 77, 79, 33, 66, 22, 11, 44, 55, 66, 77, 88, 99, 10, 11, 12, 13, 15, 16, 17, 18, 19, 20, 21, 22, 23, 20, 20, 300, 76, 131, 211, 3, 99, 88, 8, 56, 54, 91, 9, 3, 8, 7, 130,140,240, 5, 90, 190, 120, 50, 125, 17, 33, 66, 51, 77, 89, 8, 23, 55, 11,210, 4, 43, 67, 90, 97, 33, 60, 21, 9, 99, 88, 75, 320, 50, 60, 6, 98, 37, 73, 93, 16, 45, 15, 15, 25, 300, 289, 189, 91, 105, 76, 34, 206, 88, 93, 76, 87, 70, 29, 56, 91, 66, 45, 46, 144, 301, 69, 92, 37, 69, 11, 69, 54, 46, 305, 97, 67, 81, 19, 21, 200, 7, 95, 51, 13, 43, 18, 36, 70, 99, 150,55, 25, 75, 25, 65, 95, 115, 45, 185, 225, 16, 9, 77, 55, 47, 33, 78, 36, 27};

Arrays.sort(BurstTime);

//B=BurstTime[BurstTime.length-1]; //C=B-2;

int wt[]=new int[BurstTime.length]; int tat[]=new int[BurstTime.length]; int a[]=new int[BurstTime.length]; int n=BurstTime.length;

System.out.print("Quantum Time : ");

q=getRandomNumber(A, C); System.out.println(q);

for(i=0;i<n;i++)

a[i]=BurstTime[i]; for(i=0;i<n;i++)

wt[i]=0; do

{

for(i=0;i<n;i++)

{

if(BurstTime[i]>q) {

BurstTime[i]-=q; for(j=0;j<n;j++)


(5)

{ if((j!=i)&&(BurstTime[j]!=0))

wt[j]+=q;

}

} else {

for(j=0;j<n;j++) {

if((j!=i)&&(BurstTime[j]!=0))

wt[j]+=BurstTime[i];

}

BurstTime[i]=0;

} } sum=0;

for(k=0;k<n;k++)

sum=sum+BurstTime[k];

}

while(sum!=0); for(i=0;i<n;i++)

tat[i]=wt[i]+a[i];

float avg_wt=0; float avg_tat=0; for(j=0;j<n;j++) {

avg_wt+=wt[j];

}

for(j=0;j<n;j++) {

avg_tat+=tat[j];

}

this.mSolutionEnergy = avg_wt/n;

//this.mSolutionEnergy = getAWTime();


(6)

//System.out.println("average wating time : "+(avg_wt/n)+"\nAverage TOT :

"+(avg_tat/n));

return this.mSolutionEnergy;

} }

private static class Proses {

private int mX = 0; private int mY = 0;

public int x() {

return mX; }

public void x(final int xCoordinate) {

mX = xCoordinate; return;

}

public int y() {

return mY; }

public void y(final int yCoordinate) {

mY = yCoordinate; return;

}

} // cCity class

public static void main(String[] args) {

simulatedAnnealingAlgorithm(); return;

} }