IMPLEMENTASI ALGORITMA ROUND ROBIN DAN FCFS (FIRST

advertisement
IMPLEMENTASI ALGORITMA ROUND ROBIN DAN FCFS (FIRST
COME FIRST SERVE) PADA PENJADWALAN PROSES PROCESSOR
TUNGGAL
SKRIPSI
Disusun Oleh :
MOH. SYAHRUL RAMADHAN
1209428
PROGRAM STUDI TEKNIK INFORMATIKA
SEKOLAH TINGGI TEKNOLOGI INDONESIA
TANJUNGPINANG
2013
IMPLEMENTASI ALGORITMA ROUND ROBIN DAN FCFS (FIRST
COME FIRST SERVE) PADA PENJADWALAN PROSES PROCESSOR
TUNGGAL
SKRIPSI
Diajukan Untuk Memenuhi Salah Satu Syarat Kelulusan Diajukan Untuk
Memenuhi Salah Satu Syarat Kelulusan Memperoleh Gelar Sarjana Program
Studi Teknik Informatika
MOH. SYAHRUL RAMADHAN
1209428
PROGRAM STUDI TEKNIK INFORMATIKA
SEKOLAH TINGGI TEKNOLOGI INDONESIA
TANJUNG PINANG
2013
KATA PENGANTAR
Puji syukur kehadirat Tuhan Yang Maha Esa yang Maha Pengasih atas
berkat rahmat dan karunia-Nya sehingga penulis dapat menyelesaikan Laporan
skripsi ini dengan judul :
“ Implementasi Algoritma Round Robin dan FCFS (First Come First
Serve) Pada Penjadwalan Proses Processor Tunggal”
Dalam kesempatan ini penulis ingin mengucapkan terima kasih kepada
semua pihak yang telah membantu dalam menyelesaikan laporan ini dan secara
khusus penulis sampaikan kepada :
1. Bapak Said Thaha Ghafara, S.Kom., M.SI sebagai dosen pembimbing
I yang telah memberikan kontribusi yang berarti sehingga terselesainya
Laporan skripsi ini.
2. Ibu Siti Yuliyanti.ST, sebagai dosen pembimbing II yang telah
memberikan kontribusi yang berarti sehingga terselesainya Laporan
skripsi ini.
3. Serta semua pihak yang telah membantu terselesainya laporan skripsi
ini.
Penulis menyadari bahwa masih banyak kekurangan dari laporan ini dan
masih jauh dari kesempurnaan, baik dari materi maupun teknik penyajiannya.
Mengingat kurangnya pengetahuan dan pengalaman penulis, maka dengan
3
kerendahan hati penulis mengharapkan adanya saran dan kritikan yang
membangun dari semua pihak demi penyempurnaan laporan ini.
Akhirnya tidak lupa penulis mengucapkan terimakasih kepada semua
pihak yang telah membantu dalam menyelesaikan laporan ini, mudah – mudahan
laporan ini dapat bermanfaat bagi pembaca.
Tanjungpinang,
Januari 2013
Penulis
ABSTRAK
Penjadwalan proses merupakan basis sistem operasi multiprogramming. Sasaran
multiprogramming adalah mempunyai proses yang berjalan (dieksekusi) di setiap
waktu untuk memaksimumkan utilisasi pemroses, dimana komputer harus dapat
mengelola semua proses aktif dan mengalokasikan sumber daya ke proses-proses
itu sesuai kebijaksanaan yang diambil untuk memenuhi sasaran kinerja.
Ada berbagai macam teknik penjadwalan diantaranya adalah Round Robin dan
FCFS. Beberapa jenis algoritma membutuhkan suatu pemahaman yang baik
maka harus melihat langsung gambaran dari penjadwalan proses yang
dilakukan oleh sistem operasi tersebut. Implementasi ini dirancang untuk
menggambarkan secara simbolis bagaimana proses penjadwalan pada CPU
yang dilakukan oleh sistem operasi dan diharapkan dapat memudahkan user
dalam memahaminya dengan menggunakan bahasa pemrograman Delphi 7.0.
Kata kunci
: Penjadwalan, Proses, FCFS, Round Robin
ABSTRACT
Scheduling process is the basis of multiprogramming operating system. Target
multiprogramming is to have processes running (executable) at any time to
maximize processor utilization, which the computer must be able to manage all
active processes and allocate resources to the processes that discretion is taken to
meet performance goals.
There are a variety of techniques such as Round Robin scheduling and FCFS.
Several types of algorithms require a good understanding of the need to see
immediate overview of the scheduling process is done by the operating system.
The implementation is designed to symbolically illustrate how the scheduling
process performed by the CPU and the operating system is expected to allow a
user to understand by using Delphi 7.0 programming language.
Keywords : Scheduling, Process, FCFS, Round Robin
DAFTAR ISI
KATA PENGANTAR ...................................................... ............................. i
ABSTRAKSI ................................................................................................. iii
ABSTRACTION ........................................................................................... iv
DAFTAR ISI .................................................................................................. v
DAFTAR GAMBAR ..................................................................................... ix
DAFTAR TABEL .......................................................................................... x
DAFTAR SIMBOL ........................................................................................ xi
BAB I PENDAHULUAN
1.1. LatarBelakang ........................................................................................ 1
1.2. IndentifikasiMasalah .............................................................................. 3
1.3. Rumusan Masalah ................................................................................. 4
1.4. Batasan Masalah .................................................................................... 4
1.5. Tujuan Penulisan Skripsi ....................................................................... 5
1.6. Metodologi Penelitian ............................................................................ 5
1.7. Perencanaan Jadwal Skripsi ................................................................... 7
1.8. Sistematika Penulisan ............................................................................. 8
BAB II LANDASAN TEORI
. 2.1. Definisi Implementasi ............................................................................10
2.2. Pengertian Visualisasi ............................................................................10
2.3 Sistem Operasi ...................................................................................... 11
2.4 Manajemen Proses ............................................................................... 11
2.5 Penjadwalan Pada Processor ...................................................................13
2.5.1 Penjadwalan Satu Processor .............................................................. 13
2.5.2 Penjadwalan ProcessorJamak ................................................................13
2.5.3 Algoritma Penjadwalan ....................................................................... 14
2.5.4 Algoritma ............................................................................................14
2.5.5 Algoritma Round Robin (RR) ..............................................................16
2.5.6 Algoritma First Come First Serve (FCFS) ............................................17
2.6 Pengertian Prosessor ........................................................................... 18
2.7 Perancangan Terstruktur ...................................................................... 19
2.7.1 Data Flow Diagram (DFD) ......................................................... 19
2.7.2 Flowchart ................................................................................... 19
2.8 Tools Yang Digunakan ......................................................................... 20
2.8.1 Windows 7 ................................................................................. 20
2.8.2 Delphi 7 ...................................................................................... 21
BAB III ANALISA SISTEM
3.1 Analisis prosedur yang sedang berjalan ............................................... 22
3.2 Analisis Algoritma FCFS ................................................................... 24
3.3 Analisis Algoritma Round Robin ........................................................ 26
3.4 Contoh Kasus ...................................................................................... 29
3.4.1 Contoh Kasus Algoritma FCFS .................................................. 29
3.4.2 Contoh Kasus Algoritma Round Robin .................................... 32
3.5 Analisis SWOT Terhadap Penjadwalan Proses Processor Tunggal Algoritma
FCFS dan Round Robin .......................................................................... 35
3.6 Hasil Analisis ......................................................................................... 36
3.7 Analisis Kebutuhan Sistem .................................................................... 37
3.7.1 Analisis Kebutuhan Perangkat Lunak .......................................... 37
3.7.2 Analisis Kebutuhan Perangkat Keras ............................................ 37
3.7.3 Analisis Kebutuhan Pengguna ..................................................... 37
3.8 Evaluasi Algoritma ................................................................................... 38
BAB IV PERANCANGAN SISTEM
4.1. Tujuan Perancanngan perangat lunak ....................................................... 40
4.2 Perancangan system .................................................................................. 40
4.2.1 Flowchart .............................................................................. 40
4.3 Diagram Konteks .................................................................................... 44
4.3.1 Data Flow Diagram ............................................................... 44
4.4 PerancanganAntarMuka ......................................................................... 47
4.4.1 Rancangan Struktur Program ................................................. 47
4.4.2 Struktur Menu ........................................................................ 48
4.4.3 Perancangan Input ................................................................. 49
BAB V IMPLEMENTASI SISTEM
5.1 Tujuan Implementasi Sistem .............................................................. 51
5.3 Kebutuhan Perangkat Lunak ................................................................ 51
5.3 Uji coba aplikasi ................................................................................. 51
5.4 Instalasi aplikasi ................................................................................ 52
BAB VI PENUTUP
6.1 Kesimpulan ......................................................................................... 54
6.2 Saran ................................................................................................... 54
DAFTAR PUSTAKA
LAMPIRAN
LISTING CODING
DAFTAR GAMBAR
Gambar 1.1 Metode sekuensial linier ................................................................ 6
Gambar 2.1 Urutan kejadian Round Robin ...................................................... 17
Gambar 3.1 Gant chart algoritma FCFS .......................................................... 29
Gambar 3.2 Gant chart algoritma FCFS .......................................................... 31
Gambar 3.3 Gant chart algoritma Round Robin. ............................................. 32
Gambar 3.4 Gant chart algoritma Round Robin ............................................... 34
Gambar 4.1 Flowchart algoritma FCFS .......................................................... 42
Gambar 4.2 Flowchart algoritma Round Robin ............................................. 43
Gambar 4.3 Diagram konteks implementasi algoritma Round Robin dan FCFS 44
Gambar 4.4 DFD level 0 implementasi algoritma Round Robin dan FCFS ..... 45
Gambar 4.5 DFD level 1 implementasi algoritma Round Robin dan FCFS ...... 46
Gambar 4.6 Struktur program........................................................................... 48
Gambar 4.7 Struktur menu .............................................................................. 48
Gambar 4.8 Form input data proses ................................................................. 49
Gambar 4.9 Form algoritma FCFS .................................................................. 50
Gambar 4.10 Form algoritma Round Robin .................................................... 50
DAFTAR TABEL
Tabel 1.1 Perencanaan jadwal skripsi .............................................................. .7
Tabel 3.1 Proses-proses yang berjalan ............................................................. 29
Tabel 3.2 Proses-proses yang berjalan ............................................................. 30
Tabel 3.3 Proses-proses yang berjalan ............................................................ 32
Tabel 3.4 Proses-proses yang berjalan ............................................................. 33
Tabel 5.1 Pengujian aplikasi dengan metode black box ................................... 52
DAFTAR SIMBOL
Simbol Data Flow Diagram (DFD)
Simbol
Nama
Keterangan
Entitas
Menunjukan Entitas luar sistem yang
menghubungkan dengan sistem
Proses
Menunjukan kegiatan proses dari
operasi-operasi pada sistem
Storage
Menunjukan media penyimpanan data
berupa tabel-tabel yang ada
pada database
Aliran Data
Menunjukan aliran data sebagai input /
output dari suatu proses
ke proses lain
Simbol Diagram Hubungan Entitas (ERD)
Simbol
Nama
Entitas
Jenis entitas dapat berupa elemen lingkungan,
sumber daya atau transaksi yang field-fildnya
digunakan dalam aplikasi program
Hubungan / Relasi
Menunjukan nama relasi antara satu
entitas dengan entitas lainnya
Garis Relasi
1
1
1
N
N
M
Keterangan
Kardinalitas
Kardinalitas
Kardinalitas
Menunjukan hubungan ( keterkaitan )
antar entitas
Relasi satu ke satu
Relasi satu ke banyak
Relasi banyak ke banyak
Simbol Bagan Alir Sistem
( Sistem Flow Map )
Simbol
Nama
Keterangan
Dokumen
Menunjukan dokumen input atau output
untuk proses manual atau proses komputer
Proses
Menunjukan kegiatan/proses dan operasioperasi program komputer
Keputusan
Menunjukan suatu keputusan
Proses Manual
Database
Input Manual
Arsip
Aliran
Menunjukan pekerjaan manual
Menunjukan media penyimpanan
ke hardisk
Menujukan proses inputan ke komputer
Menunjukan media penyimpanan non
komputer
Menunjukan arus dari suatu proses
BAB I
PENDAHULUAN
1.1 Latar Belakang
Sistem operasi melakukan beragam tugas, salah satu tugas yang paling
penting adalah manajemen proses, dimana komputer mengelola semua proses
aktif dan mengalokasikan sumber daya ke proses-proses itu sesuai kebijaksanaan
yang diambil untuk memenuhi sasaran kinerja. Penjadwalan proses dapat
memutuskan proses mana dahulu yang harus berjalan serta kapan dan berapa
lama proses tersebut berjalan..
Penjadwalan proses merupakan basis sistem operasi multiprogramming.
Sasaran multiprogramming adalah mempunyai proses yang berjalan (dieksekusi)
di setiap waktu untuk memaksimumkan utilisasi pemroses. Sistem komputer yang
memiliki pemroses tunggal (disebut sistem singleprosessor atau prosessor
tunggal) maka tidak pernah lebih dari satu proses yang berjalan (running). Jika
terdapat beberapa proses di sistem, satu proses berjalan sedangkan sisanya
menunggu sampai pemroses bebas dan proses itu dijadwalkan untuk dijalankan.
Oleh karena itu dibutuhkan manajemen proses.
Manajemen proses merupakan salah satu tugas terpenting yang dikerjakan
oleh sistem operasi, pada manajemen proses ini komputer mengelola semua
proses aktif dan mengalokasikan sumber daya ke proses-proses itu sesuai
kebijaksanaan yang diambil untuk memenuhi sasaran kinerja. Manajemen proses
mengelola semua proses tersebut dengan menjadwalkan semua proses-proses.
Penjadwalan proses dapat memutuskan proses mana dahulu yang harus
berjalan serta kapan dan berapa lama proses tersebut berjalan. Ada berbagai
macam teknik penjadwalan diantaranya adalah Round Robin dan teknik
penjadwalan yang paling sederhana yaitu FCFS atau FIFO.
Penjadwalan Round Robin adalah penjadwalan proses yang menerapkan
strategi preemptive (Proses yang sedang dieksekusi dapat diinterupsi dan dipaksa
untuk menyerahkan CPU), penjadwalan Round Robin bukan di preemptive oleh
proses lain tapi oleh penjadwal berdasarkan jatah waktu pemroses yang disebut
kwanta (quantum). Sedangkan penjadwalan FCFS merupakan penjadwalan yang
paling sederhana yang digunakan CPU. Dengan menggunakan algoritma ini setiap
proses yang berada pada status siap ( ready) dimasukkan ke dalam FCFS (FIFO)
queue atau antrian dengan prinsip First In First Out, sesuai dengan waktu
kedatangannya. Proses yang tiba terlebih dahulu yang akan dieksekusi. Beberapa
jenis algoritma membutuhkan suatu pemahaman yang baik sehingga harus
melihat langsung gambaran dari penjadwalan proses yang dilakukan oleh
sistem operasi tersebut.
Dalam pengkajian masalah penjadwalan proses pada prosesor tunggal ini,
maka penulis tertarik untuk merancang sebuah “IMPLEMENTASI ALGORITMA
ROUND ROBIN DAN FCFS (FIRST COME FIRST SERVE) PADA
PENJADWALAN PROSES PROCESSOR TUNGGAL” untuk menggambarkan
secara simbolis bagaimana proses penjadwalan pada CPU yang dilakukan
oleh
sistem
operasi
dan
diharapkan
dapat memudahkan
user
dalam
memahaminya.
1.2 Identifikasi Masalah
Untuk mempermudah pembahasan dan tetap berdasar pada latar belakang
masalah, maka penyusunan skripsi mengambil pokok permasalahan yaitu:
1. Dalam masalah penjadwalan proses dengan proses yang masih sedikit
tidaklah bermasalah, namun jika jumlah proses yang berjalan ada banyak
sangatlah sulit menghitung berapa waktu tunggu rata-rata setiap
prosesnya.
2. Beberapa jenis algoritma butuh suatu pemahaman yang baik dengan cara
melihat langsung gambaran dari penjadwalan proses yang dilakukan
oleh sistem operasi.
3. Membandingkan 2 algoritma penjadwalan proses, yaitu algoritma FCFS
dan algoritma Round Robin untuk menilai algoritma mana yang
mempunyai waktu tunggu rata-rata terbaik.
4. Belum adanya
implementasi serta visualisasi mengenai algoritma
penjadwalan proses.
1.3 Rumusan Masalah
Rumusan masalah dari penelitian ini adalah:
1. Bagaimana mengimplementasikan algoritma penjadwalan proses dengan
jumlah proses lebih banyak?
2. Bagaimana membuat sebuah aplikasi yang
langsung menggambarkan
penjadwalan proses sistem operasi?
3. Bagaimana mengimplementasi perbandingan 2 algoritma yaitu, algoritma
FCFS dan algoritma Round Robin?
4. Bagaimana mengimplementasikan serta menvisualisasikan algoritma
penjadwalan proses?
1.4 Batasan Masalah
Agar penelitian lebih terarah, ruang lingkup masalah dibatasi pada:
1. Hanya membahas implementasi algoritma Round Robin dan FCFS
2. Penjadwalan proses yang diimplementasi dibatasi dari 1 sampai 15 proses
3. Waktu kerja proses dibatasi sampai dengan 15 milisecond.
4. Kuantum proses untuk algoritma Round Robin dibatasi sampai dengan 9
kuantum.
1.5 Tujuan Penulisan Skripsi
Adapun maksud dan tujuan skripsi ini adalah sebagai berikut :
1. Membuat aplikasi penjadwalan proses pada CPU (Central Processing
Unit) menggambarkan secara simbolis bagaimana proses penjadwalan
pada CPU yang dilakukan oleh sistem operasi, yakni pada algoritma
Round Robin dan FCFS (First Come First Served).
2. Memudahkan pengguna dalam memahami dan melakukan proses
perhitungan pada algoritma FCFS (First Come First Serve) dan Round
Robin.
3.
Membandingkan proses penjadwalan pada algoritma Round Robin dan
FCFS (First Come First Served).
1.6 Metodologi Penelitian
1. Metode pengumpulan data
Metode pengumpulan data yang digunakan dalam penyusunan skripsi ini
adalah dengan melakukan studi pustaka. Studi pustaka dilakukan dengan
cara-cara mempelajari teori-teori, buku-buku, dan sumber-sumber lain
yang berhubungan dengan objek permasalahan yang dibahas.
2. Metode Pengembangan Perangkat Lunak
Pengembangan sistem informasi perlu digunakan metodologi sebagai
pedoman bagaimana dan apa yang harus dilakukan selama melaksanakan
pengembangan sistem. Adapun pengembangan sistem yang digunakan
adalah model siklus kehidupan klasik atau model air terjun (sekuensial
linier). Tahapan-tahapannya adalah sebagai berikut :
Permodelan
Sistem informasi
Analisis
Desain
Kode
Tes
Gambar 1.1 Model Sekuensial Linier 1
Keterangan :
1. Rekayasa dan permodelan sistem informasi (system engineering),
melakukan pengumpulan data dan penetapan kebutuhan semua elemen
sistem.
2. Analisis kebutuhan perangkat lunak, melakukan analisis terhadap
permasalahan yang dihadapi dan menetapkan kebutuhan perangkat lunak,
fungsi performasi dan interfacing.
3. Desain, menetapkan domain informasi untuk perangkat lunak, fungsi dan
interfacing.
1
Pressman, Roger S, Rekayasa Perangkat Lunak, hal 37 - 38
4. Generasi kode, pengkodean yang mengimplementasikan hasil desain
kedalam kode atau bahasa yang dimengerti oleh mesin komputer dengan
menggunakan bahasa pemprograman tertentu.
5. Pengujian, kegiatan untuk melakukan pengetesan program yang sudah
dibuat apakah sudah benar atau belum diuji secara manual. Jika testing
sudah benar maka program boleh digunakan.
6. Pemeliharaan, menangani perangkat lunak yang sudah selesai supaya
dapat berjalan lancar dan terhindar dari gangguan-gangguan yang dapat
menyebabkan kerusakan.
1.7 Perancangan Jadwal Skripsi
Tabel 1.1 Perencanaan jadwal skripsi
Jadwal Pelaksanaan Skripsi
No
1
2
3
Jenis
Juni
Kegiatan
I II III IV
Pengumpulan
Data
Menganalisa
Kebutuhan
Perencanaan/
Design
4
Pengkodean
5
Pengujian
Agustus
Juli
I
II III IV
I
September
II III IV I II III IV
1.8 Sistematika Penulisan
Agar hasil penelitian ini dapat digunakan semaksimal mungkin maka
secara garis besar penulis menyajikan laporan ini sebanyak 6 (enam) bab, yang
setiap isi babnya adalah sebagai berikut :
BAB I PENDAHULUAN bab ini berisi tentang latar belakang masalah, maksud
dan tujuan, identifikasi masalah, metodologi penelitian dan perencanaan jadwal
skripsi.
BAB II LANDASAN TEORI bab ini menjelaskan tentang pengertian atau teoriteori yang digunakan sebagai penjelasan dari permasalahan yang dibahas.
BAB III ANALISIS SISTEM bab ini menjelaskan tentang gambaran umum atau
objek penelitian tersebut, pendeskripsian masalah tersebut, pendeskripsian sistem
yang sedang berjalan, penganalisisan dokumen atau sistem yang sedang berjalan.
Disini juga dituliskan tentang pembangunan perangkat lunak sesuai dengan
metodologi pengembangan yang dipakai serta menjelaskan dan menyajikan
kesimpulan analisis dengan hasil berupa diagram analisis berjalan.
BAB IV PERANCANGAN SISTEM bab ini menjelaskan tentang flowmap (alur
dokumen), yang diusulkan dataflow diagram (DFD), entity relationship diagram
(ERD) perancangan database,perancangan spesifikasi rinci yang terdiri atas
struktur program, struktur menu, format masukan dan format keluaran.
BAB V IMPLEMENTASI SISTEM bab ini berisi tentang pemilihan bahasa
program, kebutuhan alat dan spesifikasi perangkat keras, software dan brainware.
BAB VI PENUTUP bab ini berisi kesimpulan dari seluruh laporan dan saran dari
penulis. Kesimpulan dapat mengemukakan masalah skripsi dan mampu menjawab
pertanyaan dalam identifikasi masalah. Saran merupakan manifestasi dari penulis
untuk dilaksanakan terlepas dari ruang lingkup tugas.
Daftar Pustaka berisikan literatur-literatur yang berhubungan dengan skripsi.
Lampiran-lampiran
BAB II
LANDASAN TEORI
2.1 Pengertian Implementasi
Pengertian implementasi secara umum dapat diuraikan sebagai proses
interpretasi dari suatu konsep yang dapat diterapkan kedalam bentuk yang mudah
dimengerti. Sebagai contoh suatu bahasa pemrograman (programming language)
dapat menguraikan bagaimana kita menterjemahkan suatu istilah-istilah yang
digunakan dalam perancangan
kedalam istilah-istilah implementasi (actual
language). Contoh lainnya adalah implementasi source code dengan bahasa
pemrograman tertentu.
2.2 Pengertian Visualisasi
Visualisasi adalah rekayasa dalam pembuatan gambar, diagram atau
animasi untuk penampilan suatu informasi. Secara umum, visualisasi dalam
bentuk gambar baik yang bersifat abstrak maupun nyata telah dikenal sejak awal
dari peradaban manusia. Contoh dari hal ini meliputi lukisan di dinding-dinding
gua dari manusia purba, bentuk huruf hiroglip Mesir, sistem geometri Yunani,
dan teknik pelukisan dari Leonardo da Vinci untuk tujuan rekayasa dan ilmiah,
dan lain-lain.
Pada saat ini visualisasi telah berkembang dan banyak dipakai untuk
keperluan ilmu pengetahuan, rekayasa, visualisasi disain produk, pendidikan,
multimedia interaktif, kedokteran, dan lain-lain. Pemakaian dari grafika komputer
merupakan perkembangan penting dalam dunia visualisasi, setelah ditemukannya
teknik garis perspektif pada zaman Renaissance. Perkembangan bidang animasi
juga telah membantu banyak dalam bidang visualisasi yang lebih kompleks dan
canggih.
2.3 Sistem Operasi
Sistem Operasi adalah program yang bertindak sebagai perantara antara
user dengan perangkat keras komputer. Sistem operasi digunakan untuk
mengeksekusi program user dan memudahkan menyelesaikan permasalahan user.
Selain itu dengan adanya sistem operasi membuat sistem komputer nyaman
digunakan. Sistem operasi mempunyai tujuan untuk menggunakan perangkat
keras komputer secara efisien.
2.4 Manajemen Proses
Proses adalah sebuah program yang sedang dieksekusi. Sedangkan
program adalah kumpulan instruksi yang ditulis ke dalam bahasa yang dimengerti
sistem operasi. Sebuah proses membutuhkan sejumlah sumber daya untuk
menyelesaikan tugasnya. Sumber daya tersebut dapat berupa CPU time, alamat
memori, berkas-berkas, dan perangkat-perangkat Masukan/Keluaran. Sistem
operasi mengalokasikan sumber daya-sumber daya tersebut saat proses itu
diciptakan atau sedang diproses atau dijalankan. Ketika proses tersebut berhenti
dijalankan, sistem operasi akan mengambil kembali semua sumber daya agar bisa
digunakan kembali oleh proses lainnya.
Sistem operasi bertanggung jawab atas aktivitas-aktivitas yang berkaitan
dengan manajemen proses seperti:
1. Membuat dan menghapus proses pengguna dan sistem proses. Sistem
operasi bertugas mengalokasikan sumber daya yang dibutuhkan oleh
sebuah proses dan kemudian mengambil sumber daya itu kembali
setelah proses tersebut selesai agar dapat digunakan untuk proses
lainnya.
2. Menunda atau melanjutkan proses. Sistem operasi akan mengatur
proses apa yang harus dijalankan terlebih dahulu berdasarkan
berdasarkan prioritas dari proses-proses yang ada. Apa bila terjadi 2
atau lebih proses yang mengantri untuk dijalankan, sistem operasi akan
mendahulukan proses yang memiliki prioritas paling besar.
3. Menyediakan mekanisme untuk proses sinkronisasi. Sistem operasi
akan mengatur jalannya beberapa proses yang dieksekusi bersamaan.
Tujuannya adalah menghindarkan terjadinya inkonsistensi data karena
pengaksesan data yang sama, juga untuk mengatur urutan jalannya
proses agar setiap proses berjalan dengan lancar
4. Menyediakan mekanisme untuk proses komunikasi. Sistem operasi
menyediakan
mekanisme
agar
beberapa
proses
dapat
saling
berinteraksi dan berkomunikasi (contohnya berbagi sumber daya antar
proses) satu sama lain tanpa menyebabkan terganggunya proses
lainnya.
5. Menyediakan mekanisme untuk penanganan deadlock.
Deadlock
adalah suatu keadaan dimana sistem seperti terhenti karena setiap
proses memiliki sumber daya yang tidak bisa dibagi dan menunggu
untuk mendapatkan sumber daya yang sedang dimiliki oleh proses
lain. Saling menunggu inilah yang disebut deadlock (kebuntuan).
Sistem operasi harus bisa mencegah, menghindari, dan mendeteksi
adanya deadlock. Jika deadlock terjadi, sistem operasi juga harus dapat
memulihkan kondisi sistemnya.
2.5 Penjadwalan Pada Prosesor
2.5.1 Penjadwalan Satu Prosesor
Yang dimaksud satu buah prosesor ini adalah satu buah prosesor
sebagai CPU/ Central Processing Unit . Hal ini ditekankan sebab ada
beberapa perangkat yang memang memiliki prosesor tersendiri di dalam
perangkatnya seperti VGA Card AGP, Optical Mouse, dan lain-lain.
2.5.2 Penjadwalan Processor Jamak (Multi-Processor)
Prosesor-prosesor yang memiliki fungsi yang identik atau
homogen. Maka setiap prosesor dapat digunakan untuk menjalankan
proses-proses yang ada di antrian.
Dua pendekatan penjadwalan CPU dalam sistem prosesor jamak:
1. Proses Jamak Asimetris
2. Proses Jamak Simetris
Dari kedua penjadwalan di atas erat kaitannya dengan penjadwalan
CPU. Konsep dasarnya yaitu Pada saat proses dijalankan terjadi siklus
eksekusi CPU dan menunggu I/O yang disebut dengan siklus CPU-I/O
burst. Eksekusi proses dimulai dengan CPU burst dan dilanjutkan dengan
I/O burst, diikuti CPU burst lain, kemudian I/O burst lain dan seterusnya.
2.5.3 Algoritma Penjadwalan
Penjadwalan CPU menyangkut penentuan proses-proses yang ada
dalam ready queue yang akan dialokasikan pada CPU. Terdapat beberapa
algoritma penjadwalan CPU seperti dijelaskan pada sub bab di bawah ini.
2.5.4 Algoritma
Kata algoritma berasal dari latinisasi nama seorang ahli matematika
dari Uzbekistan Al Khawārizmi (hidup sekitar abad ke-9), sebagaimana
tercantum pada terjemahan karyanya dalam bahasa latin dari abad ke-12
"Algorithmi de numero Indorum". Pada awalnya kata algorisma adalah
istilah yang merujuk kepada aturan-aturan aritmetis untuk menyelesaikan
persoalan dengan menggunakan bilangan numerik arab (sebenarnya dari
India, seperti tertulis pada judul di atas). Pada abad ke-18, istilah ini
berkembang menjadi algoritma, yang mencakup semua prosedur atau
urutan langkah yang jelas dan diperlukan untuk menyelesaikan suatu
permasalahan. Masalah timbul pada saat akan menuangkan bagaimana
proses yang harus dilalui dalam suatu/sebuah sistem (program) bagi
komputer sehingga pada saat eksekusinya, komputer dapat bekerja seperti
yang diharapkan. Programer komputer akan lebih nyaman menuangkan
prosedur komputasinya atau urutan langkah proses dengan terlebih dahulu
membuat gambaran (diagram alur) diatas kertas.
“Algoritma adalah urutan logis langkah-langkah penyelesaian
masalah. Masalah tersebut dapat berupa apa saja, dengan catatan
untuk setiap masalah, ada kriteria kondisi awal yang harus dipenuhi
sebelum menjalankan algoritma. Algoritma akan dapat selalu berakhir
untuk semua kondisi awal yang memenuhi kriteria, dalam hal ini
berbeda dengan heuristik. Algoritma sering mempunyai langkah
pengulangan (iterasi) atau memerlukan keputusan (logika Boolean dan
perbandingan) sampai tugasnya selesai.” (Rinaldi, 2001 : 4).
Terdapat beragam klasifikasi algoritma dan setiap klasifikasi
mempunyai alasan tersendiri. Salah satu cara untuk melakukan klasifikasi
jenis-jenis algoritma adalah dengan memperhatikan paradigma dan metode
yang digunakan untuk mendesain algoritma tersebut. Beberapa paradigma
yang digunakan dalam menyusun suatu algoritma akan dipaparkan
dibagian ini. Masing-masing paradigma dapat digunakan dalam banyak
algoritma yang berbeda.
1. Divide and Conquer, paradigma untuk membagi suatu permasalahan
besar menjadi permasalahan-permasalahan yang lebih kecil. Pembagian
masalah ini dilakukan terus menerus sampai ditemukan bagian masalah
kecil yang mudah untuk dipecahkan. Singkatnya menyelesaikan
keseluruhan masalah dengan membagi masalah besar dan kemudian
memecahkan permasalahan-permasalahan kecil yang terbentuk.
2. Dynamic programming, paradigma pemrograman dinamik akan sesuai
jika digunakan pada suatu masalah yang mengandung sub-struktur yang
optimal dan mengandung beberapa bagian permasalahan yang tumpang
tindih . Paradigma ini sekilas terlihat mirip dengan paradigma Divide
and Conquer, sama-sama mencoba untuk membagi permasalahan
menjadi sub permasalahan yang lebih kecil, tapi secara intrinsik ada
perbedaan dari karakter permasalahan yang dihadapi.
3. Metode serakah. Sebuah algoritma serakah mirip dengan sebuah
Pemrograman dinamik, bedanya jawaban dari submasalah tidak perlu
diketahui dalam setiap tahap dan menggunakan pilihan "serakah" apa
yang dilihat terbaik pada saat itu.
2.5.3 Algoritma Round Robin (RR)
Algoritma ini menggilir proses yang ada di antrian. Proses akan
mendapat jatah sebesar time quantum. Jika time quantum-nya habis atau
proses sudah selesai, CPU akan dialokasikan ke proses berikutnya. Tentu
proses ini cukup adil karena tak ada proses yang diprioritaskan, semua
proses mendapat jatah waktu yang sama dari CPU yaitu (1/n), dan tak akan
menunggu lebih lama dari (n-1)q dengan q adalah lama 1 quantum.
Algoritma ini sepenuhnya bergantung besarnya time quantum. Jika
terlalu besar, algoritma ini akan sama saja dengan algoritma first come first
served. Jika terlalu kecil, akan semakin banyak peralihan proses sehingga
banyak waktu terbuang.
Permasalahan utama pada Round Robin adalah menentukan besarnya
time quantum. Jika time quantum yang ditentukan terlalu kecil, maka
sebagian besar proses tidak akan selesai dalam 1 quantum. Hal ini tidak baik
karena akan terjadi banyak switch, padahal CPU memerlukan waktu untuk
beralih dari suatu proses ke proses lain (disebut dengan context switches
time). Sebaliknya, jika time quantum terlalu besar, algoritma Round Robin
akan berjalan seperti algoritma first come first served. Time quantum yang
ideal adalah jika 80% dari total proses memiliki CPU burst time yang lebih
kecil dari 1 time quantum.
Gambar 2.1 Urutan kejadian Round Robin
2.5.4 Algoritma First Come First Serve (FCFS)
Algoritma ini merupakan algoritma penjadwalan yang paling
sederhana yang digunakan CPU. Dengan menggunakan algoritma ini setiap
proses yang berada pada status ready dimasukkan kedalam FIFO queue atau
antrian dengan prinsip first in first out, sesuai dengan waktu kedatangannya.
Proses yang tiba terlebih dahulu yang akan dieksekusi.
2.6 Pengertian Prosessor
Processor sering disebut sebagai otak dan pusat pengendali komputer
yang didukung oleh kompunen lainnya. Processor adalah sebuah IC yang
mengontrol keseluruhan jalannya sebuah sistem komputer dan digunakan sebagai
pusat atau otak dari komputer yang berfungsi untuk melakukan perhitungan dan
menjalankan tugas. Processor terletak pada socket yang telah disediakan oleh
motherboard, dan dapat diganti dengan processor yang lain asalkan sesuai dengan
socket yang ada pada motherboard. Salah satu yang sangat besar pengaruhnya
terhadap kecepatan komputer tergantung dari jenis dan kapasitas processor.
Prosesor adalah chip yang sering disebut “Microprosessor” yang sekarang
ukurannya sudah mencapai Gigahertz (GHz). Ukuran tersebut adalah hitungan
kecepatan prosesor dalam mengolah data atau informasi. Merk prosesor yang
banyak beredar dipasatan adalah AMD, Apple, Cyrix VIA, IBM, IDT, dan Intel.
Bagian dari Prosesor Bagian terpenting dari prosesor terbagi 3 yaitu :
1.
Aritcmatics Logical Unit (ALU)
2.
Control Unit (CU)
3.
Memory Unit (MU)
2.7 Perancangan Terstruktur
2.7.1 Data Flow Diagram (DFD)
Data
Flow
Diagram
(DFD)
adalah
suatu
diagram
yang
menggunakan notasi-notasi untuk menggambarkan arus dari data sistem,
yang penggunaannya sangat membantu untuk memahami sistem secara
logika,
tersruktur
dan jelas.
DFD
merupakan alat
bantu dalam
menggambarkan atau menjelaskan sistem yang sedang berjalan logis.
Suatu yang lazim bahwa ketika menggambarkan sebuah sistem
kontekstual data flow diagram yang akan pertama kali muncul adalah
interaksi antara sistem dan entitas luar. DFD didisain untuk menunjukkan
sebuah sistem yang terbagi-bagi menjadi suatu bagian sub-sistem yang lebih
kecil adan untuk menggarisbawahi arus data antara kedua hal yang tersebut
diatas. Diagram ini lalu "dikembangkan" untuk melihat lebih rinci sehingga
dapat terlihat model-model yang terdapat di dalamnya.
2.7.2 Flowchart
Flowchart atau diagram alir merupakan sebuah diagram dengan
simbol-simbol grafis yang menyatakan aliran algoritma atau proses yang
menampilkan langkah-langkah yang disimbolkan dalam bentuk kotak,
beserta urutannya dengan menghubungkan masing masing langkah tersebut
menggunakan tanda panah. Diagram ini bisa memberi solusi selangkah
demi selangkah untuk penyelesaian masalah yang ada di dalam proses atau
algoritma tersebut.
2.8
Tools yang digunakan
2.8.1
Windows 7
Windows
7
adalah
rilis
terkini
Microsoft
Windows
yang
menggantikan Windows Vista. Windows 7 dirilis untuk pabrikan komputer
pada 22 Juli 2009 dan dirilis untuk publik pada 22 Oktober 2009, kurang
dari tiga tahun setelah rilis pendahulunya, Windows Vista.
Tidak seperti pendahulunya yang memperkenalkan banyak fitur
baru, Windows 7 lebih fokus pada pengembangan dasar Windows, dengan
tujuan agar lebih kompatibel dengan aplikasi-aplikasi dan perangkat keras
komputer yang kompatibel dengan Windows Vista. Presentasi Microsoft
tentang Windows 7 pada tahun 2008 lebih fokus pada dukungan multi-touch
pada layar, desain ulang taskbar yang sekarang dikenal dengan nama
Superbar, sebuah sistem jaringan rumahan bernama HomeGroup, dan
peningkatan performa. Beberapa aplikasi standar yang disertakan pada versi
sebelumnya dari Microsoft Windows, seperti Windows Calendar, Windows
Mail, Windows Movie Maker, dan Windows Photo Gallery, tidak disertakan
lagi di Windows 7, kebanyakan ditawarkan oleh Microsoft secara terpisah
sebagai bagian dari paket Windows Live Essentials yang gratis.
2.8.2 Delphi 7
Delphi merupakan bahasa pemrograman berbasis Windows yang
menyediakan fasilitas pembuatan aplikasi visual seperti Visual Basic.
Delphi memberikan kemudahan dalam menggunakan kode program,
kompilasi yang cepat, penggunaan file unit ganda untuk pemrograman
modular, pengembangan perangkat lunak, pola desain yang menarik serta
diperkuat dengan bahasa pemrograman yang terstruktur dalam bahasa
pemrograman Object Pascal. Delphi memiliki tampilan khusus yang
didukung suatu lingkup kerja komponen Delphi untuk membangun suatu
aplikasi dengan menggunakan Visual Component Library (VCL). Sebagian
besar pengembang Delphi menuliskan dan mengkompilasi kode program
dalam IDE (Integrated Development Environment).
BAB III
ANALISIS SISTEM
3.1 Analisis Masalah Penjadwalan Proses
Penjadwalan proses merupakan kumpulan kebijaksanaan dan mekanisme
di sistem operasi yang berkaitan dengan urutan kerja yang dilakukan sistem
komputer.
Adapun penjadwalan bertugas memutuskan :
1. Proses yang harus berjalan
2.
Kapan dan selama berapa lama proses itu berjalan
Kriteria untuk mengukur dan optimasi kinerja penjadwalan :
1. 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.
2.
Efisiensi (eficiency)
Efisiensi atau utilisasi pemroses dihitung dengan perbandingan (rasio)
waktu sibuk pemroses.
3. Waktu tanggap (response time)
Waktu tanggap berbeda untuk :
a. Sistem interaktif
Didefinisikan sebagai waktu yang dihabiskan dari saat karakter
terakhir dariperintah dimasukkan atau transaksi sampai hasil pertama
muncul di layar.Waktu tanggap ini disebut terminal response time.
b. Sistem waktu nyata
Didefinisikan sebagai waktu dari saat kejadian (internal atau eksternal)
sampaiinstruksi pertama rutin layanan yang dimaksud dieksekusi,
disebut eventresponse time.
4. 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 didalam sistem, diekspresikan sebagai penjumlah
waktu eksekusi (waktu pelayanan job) dan waktu menunggu, yaitu :
Turn arround time = waktu eksekusi + waktu menunggu.
5. Throughput
Adalah jumlah kerja yang dapat diselesaikan dalam satu unit waktu. Cara
untuk mengekspresikan throughput adalah dengan jumlah job pemakai
yang dapatdieksekusi 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
penjadwalan sebaiknya melibatkan kompromi diantara kebutuhan-kebutuhan yang
saling bertentangan. Kompromi ini bergantung sifat dan penggunaan sistem
komputer.
3.2 Analisis Algoritma FCFS
Merupakan penjadwalan yang tidak berprioritas.FIFO adalah penjadwalan
paling sederhana, yaitu :
1. Proses-proses diberi jatah waktu pemroses berdasarkan waktu kedatangan.
2.
Pada saat proses mendapat jatah waktu pemroses, proses dijalankan
sampai selesai.
Penilaian penjadwalan ini berdasarkan kriteria optimasi :
1. Adil dalam arti resmi (proses yang datang duluan akan dilayani lebih
dulu), tapidinyatakan tidak adil karena job-job yang perlu waktu lama
membuat job-job pendek menunggu. Job-job yang tidak penting dapat
membuat job-job penting menunggu lama.
2. Efisiensinya sangat efisien.
3. Waktu tanggapnya sangat jelek, tidak cocok untuk sistem interaktif apalagi
untuk sistem waktu nyata.
4. Turn around time algoritma FCFS jelek.
5. Throughtputnya jelek.
FIFO jarang digunakan secara mandiri, tetapi dikombinasikan dengan
skema lain, misalnya keputusan berdasarkan prioritas proses. Untuk
proses-proses berprioritas sama diputuskan berdasarkan FIFO.
Penjadwalan algoritma FCFS ini :
1. Baik untuk sistem batch yang sangat jarang berinteraksi dengan pemakai.
Contoh : aplikasi analisis numerik, maupun pembuatan tabel.
2. Sangat tidak baik (tidak berguna) untuk sistem interaktif, karena tidak
memberi waktu tanggap yang baik.
3. Tidak dapat digunakan untuk sistem waktu nyata (real-time applications).
3.3 Analisis Algoritma Round Robin
Merupakan penjadwalan yang paling tua, sederhana, adil, banyak
digunakan algoritmanya dan mudah diimplementasikan.
Penjadwalan ini bukan dijalankan oleh proses lain tetapi oleh penjadwal
berdasarkan lama waktu berjalannya proses (preempt by time).
Penjadwalan tanpa prioritas berasumsi 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 (quantum) atau time slice dimana proses itu berjalan. Jika proses masih
running sampai akhir quantum, maka CPU akan mem-preempt proses itu dan
memberikannya ke proses lain.
Penjadwal membutuhkannya dengan memelihara daftar proses dari
runnable.
Ketika quantum habis untuk satu proses tertentu, maka proses tersebut akan
diletakkan diakhir daftar (list).
Algoritma yang digunakan :
1. Jika kwanta habis dan proses belum selesai, maka proses menjadi
runnable dan pemroses dialihkan ke proses lain.
2. Jika kwanta belum habis dan proses menunggu suatu kejadian (selesainya
operasi I/O), maka proses menjadi blocked dan pemroses dialihkan ke
proses lain.
3. Jika kwanta belum habis tetapi proses telah selesai, maka proses diakhiri
dan pemroses dialihkan ke proses lain.
Diimplementasikan dengan :
1. Mengelola senarai proses ready (runnable) sesuai urutan kedatangan.
2. Ambil proses yang berada di ujung depan antrian menjadi running.
3. Bila kwanta belum habis dan proses selesai, maka ambil proses di
ujung depan antrian proses ready.
4. Jika kwanta habis dan proses belum selesai, maka tempatkan proses
running keekor antrian proses ready dan ambil proses di ujung depan
antrian proses ready.
Masalah yang timbul adalah menentukan besar kwanta, yaitu :
1.
Kwanta terlalu besar menyebabkan waktu tanggap besar dan turn
arround time rendah.
2. Kwanta terlalu kecil menyebabkan peralihan proses terlalu banyak
sehingga menurunkan efisiensi proses.
3. Switching dari satu proses ke proses lain membutuhkan kepastian
waktu yang digunakan untuk administrasi, menyimpan, memanggil
nilai-nilai register, pemetaan memori, memperbaiki tabel proses dan
senarai dan sebagainya. Mungkin proses switch ini atau konteks switch
membutuhkan waktu 5 msec disamping waktu pemroses yang
dibutuhkan untuk menjalankan proses tertentu.
Dengan permasalahan tersebut tentunya harus ditetapkan kwanta waktu
yang optimal berdasarkan kebutuhan sistem dari hasil percobaan atau data
historis. Besar kwanta waktu beragam bergantung beban sistem. Apabila nilai
quantum terlalu singkat akan menyebabkan terlalu banyak switch antar proses dan
efisiensi CPU akan buruk, sebaliknya bila nilai quantum terlalu lama akan
menyebabkan respon akan lambat sehingga proses yang singkat akan menunggu
lama. Sebuah quantum sebesar 100 msec merupakan nilai yang dapat diterima.
Penilaian penjadwalan ini berdasarkan kriteria optimasi yaitu:
1. Adil bila dipandang dari persamaan pelayanan oleh pemroses.
2. Efisiensi cenderung efisien pada sistem interaktif.
3. Waktu tanggap memuaskan untuk sistem interaktif, tidak memadai untuk
sistem waktu nyata.
4. Turn around time cukup baik.
5. Throughtputcukup baik.
Penjadwalan ini :
1. Baik untuk sistem interactive-time sharing dimana kebanyakan waktu
dipergunakan menunggu kejadian eksternal. Contoh : text editor,
kebanyakan waktu program adalah untuk menunggu keyboard, sehingga
dapat dijalankan proses-proses lain.
2. Tidak
cocok
applications.
3.4 Contoh Kasus
untuk
sistem waktu
nyata
apalagi
hard-real-time
3.4.1 Contoh Kasus Algoritma FCFS
Berikut adalah contoh kasus penjadwalan proses dengan menggunakan
Algoritma FCFS dengan mencari waktu tunggu rata-rata setiap proses.
1. Jika terdapat 4 Proses dengan nama Proses P1, P2, P3, P4 dengan
urutan kedatangan P1, P2, P3, P4 yang terlihat dalam tabel berikut :
Tabel 3.1 Proses-proses yang berjalan
Waktu Tiba
Waktu Kerja
P1
0
5
P2
2
3
P3
3
4
P4
5
5
Carilah waktu tunggu rata-rata setiap proses dengan algoritma FCFS!
P1
0
P2
1
5
P4
P3
8
12
Gambar 3.1 Gant Chart Algoritma FCFS
Waktu tunggu rata-rata setiap proses :
P0
=
0
17
P2
=
5
P3
=
5+3
=8
P4
=
5+3+4
= 12
Rata-rata waktu tunggu
=
Total waktu tunggu / jumlah proses
=
(0 + 5 + 8 + 12 ) /4
=
25 / 4
=
6, 25
Jadi waktu tunggu rata-rata adalah 6, 25 satuan waktu.
Rumus menghitung
: Rata-rata waktu tunggu
=
Total
waktu
tunggu / jumlah proses
2. Jika terdapat 5 Proses dengan nama Proses P1, P2, P3, P4, P5 dengan
urutan kedatangan P1, P2, P3, P4,P5 yang terlihat dalam tabel berikut :
Tabel 3.2 Proses-proses yang sedang berjalan
Proses
Waktu Tiba
Waktu Kerja
P1
0
4
P2
1
2
P3
2
4
P4
3
2
P5
4
3
Carilah waktu tunggu rata-rata setiap proses dengan algoritma FCFS!
P1
P2
P3
P4
P5
0
1
4
6
10
12
15
Gambar 3.2 Gant Chart Algoritma FCFS
Waktu tunggu rata-rata setiap proses :
P0
=
0
P2
=
4
P3
=
4+2
=6
P4
=
4+2+4
= 10
P5
=
4 + 2 + 4 + 2 = 12
Rata-rata waktu tunggu
=
Total waktu tunggu / jumlah proses
=
(0 + 4 + 6 + 10 + 12 ) /5
=
32 / 5
=
6,4
Jadi waktu tunggu rata-rata adalah 6,4 satuan waktu.
3.4.2 Contoh Kasus Algoritma Round Robin
Berikut
adalah contoh kasus penjadwalan proses dengan
menggunakan Algoritma Round Robin dengan mencari waktu tunggu ratarata setiap proses.
1. Jika terdapat 4 Proses dengan nama Proses P1, P2, P3, P4 dengan urutan
kedatangan P1, P2, P3, P4 (terlihat dalam tabel dibawah) dan quantum
yang diberikan = 2 ms, carilah waktu tunggu rata-rata setiap proses dengan
algoritma Round Robin !
Tabel 3.3 Proses-proses yang sedang berjalan
P1
0
Proses
Waktu Tiba
Waktu Kerja
P1
0
5
P2
2
3
P3
3
4
P4
5
5
P2
2
P3
P4
4
6
P2
P1
8
10
P3
11
P4
13
P1
15 16
Gambar 3.3 Gant chart algoritma Round Robin
Waktu tunggu rata-rata setiap proses :
P0
=
0+ 6 + 5
= 11
P2
=
2+6
=8
P3
=
4+5
=9
P4
=
6+5+1
= 12
Rata-rata waktu tunggu
=
Total waktu tunggu / jumlah proses
P4
=
(11 + 8 + 9 + 12 ) /4
=
40 / 4
=
10
Jadi waktu tunggu rata-rata adalah 10 satuan waktu.
2. Jika terdapat 5 Proses dengan nama Proses P1, P2, P3, P4, P5 dengan
urutan kedatangan P1, P2, P3, P4, P5 (terlihat dalam tabel dibawah) dan
quantum yang diberikan = 1 ms, carilah waktu tunggu rata-rata setiap
proses dengan algoritma Round Robin !
Tabel 3.4 Proses - proses yang sedang berjalan
P1
Proses
Waktu Tiba
Waktu Kerja
P1
0
4
P2
1
2
P3
2
4
P4
3
2
P5
4
3
P2 P3 P4 P5 P1
0
2
4
P2
8
P3
P4 P5
10
P1
12
P3
P5
P1
14
Gambar 3.4 Gant Chart algoritma Round Robin
Waktu tunggu rata-rata setiap proses :
P0
=
0+ 4 + 4 + 2 = 10
P2
=
1+ 4
=5
P3
16
P3
=
2 + 4 + 3 + 2 = 11
P4
=
3+ 4
=7
P5
=
4 + 4 +2
= 10
Rata-rata waktu tunggu
=
Total waktu tunggu / jumlah proses
=
(10 + 5 + 11 + 7+10 ) /5
=
43/ 5
=
8, 6
Jadi waktu tunggu rata-rata adalah 8,6satuan waktu.
3.5 Analisis SWOT Terhadap Penjadwalan Proses Processor Tunggal
Algoritma FCFS dan Round Robin
Analisis SWOT adalah suatu metode untuk menggambarkan kondisi dan
mengevaluasi suatu masalah.
1. Strengths (kekuatan):
a. Mencari rata-rata waktu tunggu terbaik untuk semua proses yang ada
b. Waktu tunggu akan menjadi baik, apabila semua proses memiliki
waktu kerja yang sama.
2. Weaknesses (kelemahan):
a. Untuk semua algoritma penjadwalan proses harus diketahui terlebih
dahulu waktu kerja setiap prosesan urutan kedatangan proses .
b. Kemungkinan terjadi kekeliruan dalam proses perhitungannya.
3. Opportunities (peluang):
a. Membandingkan 2 algoritma penjadwalan proses FCFS dan Round
Robin
b. Perhitungan dilakukan secara otomatis disertai dengan Gant Chart
untuk memudahkan dalam menganalisis.
4. Threats (ancaman):
a. Jika jumlah waktu kerja yang diinputkan dalam skala yang besar dan
jumlah prosesnya banyak akan menyebabkan terjadinya gagal
perhitungan, karena melebihi batas.
b. Jika kuantum diinputkan dalam skala yang besar akan menyebabkan
terjadinya proses kekeliruan dalam perhitungan.
5. Strengths to Opportunities
a. Dengan membandingkan algoritma Round Robin dan FCFS dapat
mempermudah user mengetahui waktu tunggu rata-rata yang tepat.
6. Strengths to Threats
a. Sulitnya menghitung waktu rata-rata proses apabila waktu kerjanya
besar
7. Weaknesses to Opportunities
a. Seluruh proses perhitungan dapat diotomasi untuk menghemat waktu.
b. Otomasi proses perhitungan dapat menurunkan tingkat kekeliruan.
8. Weaknesses to Threats
a. Jika waktu kerja proses tidak diketahui, rata-rata waktu tunggu juga
tidak dapat diketahui.
b. Jika urutan kedatangan proses tidak diketahui, rata-rata waktu tunggu
juga tidak dapat diketahui.
3.5 Hasil Analisis
Hasil dari analisis dari kedua algoritma tersebut adalah sebagai berikut :
1. Rata-rata waktu tunggu algoritma FCFS lebih kecil dibandingkan dengan
algoritma Round Robin
2. Tidak efisien apabila waktu kerja proses pertama yang datang lebih besar
waktu kerjanya (untuk kasus dengan menggunakan Algoritma FCFS).
3. Tidak efisien apabila kuantum yang diinputkan dalam ukuran yang besar
(untuk kasus dengan menggunakan Algoritma Round Robin).
3.6 Analisis Kebutuhan Sistem
3.6.1 Analisis Kebutuhan Perangkat Lunak
Dari kesimpulan analisis Algoritma FCFS dan Round Robin
dibutuhkan suatu perangkat yang dapat membantu menyelesaikan masalah
tersebut. Selain itu juga perangkat lunak yang dapat memberikan
keamanan data dari gangguan internal maupun eksternal. Implementasi ini
dikembangkan dengan bahasa pemrograman Delphi 7.0 dengan sistem
operasi Microsoft Windows 7.
3.6.2 Analisis Kebutuhan Perangkat Keras
Demi menunjang kelancaran perangkat lunak yang akan digunakan pada
pengolahan data perparkiran, diperlukan juga perangkat keras yang menunjang
sistem kerja dari perangkat lunak. Perangkat keras yang diperlukan untuk
keperluan membangun Implementasi Algoritma Round Robin dan FCFS (First
Come First Serve) Pada Penjadwalan Proses Processor Tunggal sesuai dengan
rekomendasi yang diberikan sebagai berikut :
1. Processor yang digunakan Intel® CellTM
2 Duo Processor T6400
(2.0GHz, 800MHz FSB, 2MB L2 cache)
2. Harddisk terpasang 40GB
3. Memori terpasang 1GB
4. VGA Card terpasang 128MB, rekomendasi minimum adalah 64MB
5. Mouse dan Keyboard
6. Layar Monitor SVGA
3.6.3 Analisis Kebutuhan Pengguna
Bagian yang dapat menggunakan Implementasi Algoritma Round
Robin dan FCFS (First Come First Serve) Pada Penjadwalan Proses
Processor Tunggal yang akan dibangun adalah user yang membutuhkan
informasi mengenai penjadwalan proses sistem operasi.
3.7. Evaluasi Algoritma
Berdasarkan hasil analisis, penyusun dapat mengevaluasi bagaimana memilih
sebuah algoritma penjadwalan CPU untuk sistem-sistem tertentu. Yang menjadi pokok
permasalahan adalah kriteria seperti apa yang digunakan untuk memilih sebuah
algoritma, pertama-tam yang harus dilakukan adalah menentukan ukuran dari suatu
kriteria berdasarkan :
1. Memaksimalkan penggunaan CPU dibawah waktu responnya, yaitu 1
detik
2. Memaksimalkan throughput karena turn around bergerak secara linier
pada saat eksekusi proses.
Pada pokok permasalahan evaluasi algoritma penjadwalan CPU, ada tiga pokok
permasalahan, antara lain :
1. Analisis
Evaluation,
mengambil
beban kerja
ditentukan dan
mendefinisikan kemapuan dari tiap algoritma untuk beban kerja
2. Quequening models (model antrian proses)
3. Implementasi dan Visualisasi.
BAB IV
PERANCANGAN SISTEM
4.1 Tujuan Perancangan Perangkat Lunak
Tujuan dari perangkat lunak ini adalah penanganan atas permasalahanpermasalahan yang ada dan mendapatkan gambaran dari sistem perangkat lunak
yang akan dibangun sesuai dengan ruang lingkup masalah yang telah ditentukan.
4.2 Perancangan Sistem
Untuk merancang sebuah aplikasi yang mempunyai kemampuan yang
baik, maka harus dilakukan terlebih dahulu suatu analisis terhadap suatu aplikasi
yang akan dibangun. Dan dalam perancangan aplikasi ini, telah dilakukan analisis
terhadap sistem dan prosedur yang ada pada saat ini dan semuanya telah dibahas
dalam bab sebelumnya.
Pada bab ini akan dijelaskan mengenai prilaku yang terjadi dalam sistem
dan bagaimana sistem berinteraksi dengan user (pemakai). Pada bagian ini
perancangan ini akan membahas tentang Flowchart, Diagram Konteks, Data Flow
Diagram.
4.2.1 Flowchart
Flowchart atau diagram alir merupakan sebuah diagram dengan simbolsimbol grafis yang menyatakan aliran algoritma atau proses yang
menampilkan langkah-langkah yang disimbolkan dalam bentuk kotak,
beserta urutannya dengan menghubungkan masing masing langkah tersebut
menggunakan tanda panah. Diagram ini bisa memberi solusi selangkah
demi selangkah untuk penyelesaian masalah yang ada di dalam proses atau
algoritma tersebut.
4.2.1.1 Flowchart Algoritma FCFS
Berikut adalah prosedur Algoritma FCFS:
1. User menginputkan jumlah proses dan nama proses sebanyak n proses.
2. User menginputkan waktu kedatangan dan waktu pengerjaan setiap
proses.
3. Aplikasi akan melakukan pengecekan urutan kedatangan proses.
4. Aplikasi akan menghitung rata-rata waktu tunggu semua proses.
Mulai
Jumlah proses = N
Input nama proses
Tidak
Jika Nama proses = N
Ya
Jika Waktu kedatangan
=N
Waktu kedatangan
Tidak
Cek urutan kedatangan
proses
YA
Waktu pengerjaan
Tidak
Urutan Kedatangan proses
Yang pertama
Ya
Proses = Waktu tunggu +
Waktu pengerjaan Proses
sebelumnya
Waktu tunggu rata-rata =
Total proses / N proses
Selesai
Gambar 4.1 Flowchart Algoritma FCFS
4.2.1.2 Flowchart Algoritma Round Robin
Berikut adalah prosedur Algoritma Round Robin:
1. User menginputkan jumlah proses dan nama proses sebanyak n proses.
2. User menginputkan waktu kedatangan dan waktu pengerjaan setiap
proses.
3. Aplikasi akan melakukan pengecekan urutan kedatangan proses.
4. User menginputkan quatum proses.
5. Aplikasi akan menghitung rata-rata waktu tunggu semua proses
Mulai
Jumlah proses = N
Input nama proses
Tidak
Jika Nama proses = N
Ya
Jika Waktu kedatangan
=N
Waktu kedatangan
ya
Tidak
Cek urutan kedatangan
proses
Waktu pengerjaan
Tidak
Urutan Kedatangan proses
Yang pertama
Ya
Quantum = q
Cek waktu kerja
sampai 0 (habis)
Waktu kerja = waktu kerja /
quantum
Proses = Waktu tunggu +
Waktu pengerjaan Proses
sebelumnya
Tidak
Ya
Waktu tunggu rata-rata =
Total proses / N proses
Selesai
Gambar 4.2 Flowchart Algoritma Round Robin
4.3 Diagram Konteks
Untuk menggambarkan sistem secara umum yang mewakili seluruh proses
yang terjadi dan menggambarkan bagaimana hubungan antara proses utama
dengan entitas ekternal yang terlibat dalam sistem, maka penyusun
menggambarkan diagram konteks dari sistem yang diusulkan sebagai berikut :
Jumlah Proses, Kwanta, Waktu Proses, Urutan
Implementasi Algoritma
Round Robin Dan FCFS
(First Come First Serve)
Pada Penjadwalan
Proses Processor Tunggal
User
Waktu tunggu, gant chart
Gambar 4.3 Diagram Konteks Implementasi Algoritma Round Robin dan FCFS
4.3.1 Data Flow Diagram
Data Flow Diagram merupakan peralatan yang berfungsi
untuk menggambarkan secara rinci mengenai sistem sebagai jaringan kerja
antar fungsi yang berhubungan satu sama lain dengan menunjukan dari
dan kemana data mengalir serta penyimpanannya. Berikut adalah DFD
Implementasi algoritma FCFS dan Round Robin :
1.
DFD level 0
DFD level 0 menjelaskan mengenai proses-proses yang terjadi pada
implementasi secara terperinci. Gambar dibawah ini menjelaskan Data
Flow Diagran level 0
1.0*
Input Proses
Jumlah proses, urutan, waktu proses
User
Waktu tunggu, gant chart
2.0
Penjadwalan
FCFS
Kwanta
Waktu tunggu, gant chart
3.0
Penjadwalan
Round Robin
Gambar 4.4 DFD Level 0 Implementasi Algoritma Round Robin dan FCFS
DFD level 0 memberikan gambaran umum proses-proses dalam aplikasi beserta
input dan output. Pada level ini, terdapat 3 proses, yaitu:
1. Proses 1.0, Penginputan proses. Yang terdiri dari input jumlah proses,
nama proses, waktu tiba proses, waktu pengerjaan proses.
2. Proses 2.0, FCFS. Pada proses ini akan dicari nilai rata-rata setiap proses,
dan akan dtampilkan simulasi gant chart FCFS.
3. Proses 3.0, Round Robin. Pada proses ini akan dicari nilai rata-rata setiap
proses, dan akan dtampilkan simulasi gant chart Round Robin.
2. DFD level 1 Proses 1.0 Input Proses
DFD level 1 proses 1.0 merupakan perincian dari proses 1.0
pada implementasi. Gambar dibawah ini menjelaskan Data Flow
Diagram level 1 proses 1.0
Jumlah proses
1.1
Input Jumlah
Proses
User
Urutan
1.2
Input Urutan
Kedatangan
Waktu proses
1.3
Input Waktu
Pengerjaan
Proses
Gambar 4.5 DFD Level 1 Implementasi Algoritma Round Robin dan FCFS
DFD level 1 terdiri dari 3 proses yaitu :
1. Proses 1.1. Input jumlah proses sekaligus menginputkan nama-nama
proses tersebut.
2. Proses 1.2 Input urutan kedatangan setiap proses, untuk menentukan
proses mana yang dating duluan.
3. Proses 1.3 Input waktu pengerjaan setiap proses untuk menentukan
berapa lama sebuah proses menunggu disistem untuk dikerjakan.
4.4 Perancangan Antar Muka
Perancangan antar muka digunakan untuk membantu merancang system
yang akan dibangun
4.4.1 Rancangan Struktur Program
Struktur program merupakan suatu gambaran dalam bentuk bagan
yang dibuat untuk mengidentifikasikan dan mengilustrasikan program ke
dalam bentuk pemodelan. Rancangan Struktur Program ini berguna untuk
menggambarkan model-model yang membangun sistem Informasi tersebut
diatas. Adapun struktur program untuk Implementasi adalah sebagai berikut
:
Struktur Program
Proses
Input
Data Proses
Qutput
FCFS
Waktu tunggu
FCFC
RR
Waktu tunggu
RR
Gambar 4.5 Struktur Program
4.4.2 Struktur Menu
Struktur menu adalah bentuk umum dari suatu perancangan
program untuk memudahkan melihat dan memfungsikan sesuai dengan
kebutuhan. Perancangan Struktur program aplikasi merupakan
perancangan program secara keseluruhan baik itu dari tampilan menu
aplikasi, menu inputan.
Menu
Proses
File
Data Proses
Exit
Help
FCFS
About
Waktu tunggu
FCFC
RR
Waktu tunggu
RR
Gambar 4.6 Struktur Menu
5.1 Perancangan Input
Perancangan Input, tampilan dirancang sedemikian rupa agar mudah
dioperasikan oleh pemakai. Untuk setiap eksekusi peralatan yang digunakan
berupa keyboard dan mouse. Adapun form inputan yang penyusun rancang
meliputi beberapa form yang akan dibutuhkan pada implementasi algoritma
FCFS dan Round Robin yang penyusun bangun. Berikut gambaran serta
penjelasan dari masing – masing form yang penyusun rancang.
INPUT PROSES
Jumlah Proses
Create
Reset
Nama Proses
Waktu Kerja
Simpan
FCFS
Kuantum,
ROUND ROBIN
Gambar 4. 7 Form Input Data Proses
FCFS
Nama Proses
Waktu Tiba
Waktu Kerja
Gant Chart
Rata-rata Waktu Tunggu
Gambar 4. 10 Form Algoritma FCFS
Waktu
Tunggu
Round Robin
Nama Proses
Waktu Tiba
Waktu Kerja
Waktu
Tunggu
Quantum
Gant Chart
Rata-rata Waktu Tunggu
Gambar 4.11 Form Algoritma Round Robin
BAB V
IMPLEMENTASI
5.1 Kebutuhan Perangkat Lunak
Aplikasi
pengamanan
dokumen
teks
ini
dibangun
dengan
menggunakan kompilator Borland Delphi 7.0. Agar proses implementasi aplikasi
dapat berjalan lancar, dan menggunakan sistem operasi Microsoft Windows 7.
5.2 Kebutuhan Perangkat Keras
Perangkat keras komputer user yang akan menggunakan aplikasi ini
minimal harus memiliki :
1. Processor Intel Pentium IV CPU 300 GHz
2. Harddisk terpasang 160 GB
3. RAM 512 MB
4. Monitor
5. Keyboard
5.3 Ujicoba Aplikasi
Proses ujicoba dilakukan agar aplikasi yang telah dibuat sesuai dengan apa
yang diharapkan dan bebas dari kesalahan. Tahap ujicoba dilakukan dengan
metode black box testing yang fokus pada keperluan fungsional dari software.
Berikut adalah tahapan-tahapan ujicoba aplikasi yang telah dibuat.
Tabel 5.1 Pengujian Aplikasi dengan Metode Black Box
No.
1
2
Deskripsi
Pengujian
Cara Uji
Jumlah
Jumlah proses
Jumlah proses sesuai
proses
ditampilkan
dengan inputan
Waktu kerja
Waktu kerja
Waktu kerja proses
proses
ditampilkan
sesuai dengan inputan
Uji coba
3
button
Klik button
5
masuk kedalam tabel
Waktu tunggu proses
waktu tunggu
muncul didalam tabel
proses
penampungan
Rata-rata
Menghitung rata-
Rata-rata waktu tunggu
waktu tunggu
rata waktu tunggu proses muncul beserta
proses
proses
tunggu proses
Sesuai
Sesuai
penampungan
Menghitung
Waktu
Keterangan
Proses-proses tersebut
simpan
4
Hasil yang Diharapkan
Sesuai
Sesuai
Gant Chart
Kuantum dapat
6
Kuantum
Kuantum tampil
diinputkan dan dapat
di Gant Chart
ditampilkan di dalam
Gant Chart
Sesuai
5.4 Instalasi Aplikasi
Agar aplikasi yang dibangun dengan Borland Delphi 7.0 ini dapat berjalan
dengan baik, komputer dimana aplikasi akan berjalan sebaiknya menggunakan
sistem operasi Microsoft Windows XP, Microsoft Windows 7 atau sistem operasi
yang diluncurkan setelah itu.
Setelah proses instalasi, perlu diperhatikan bahwa aplikasi harus dipelihara
secara berkala agar aplikasi dapat terus digunakan tanpa gangguan yang berarti.
Untuk itu, user hendaknya memperhatikan kekurangan aplikasi agar proses
pemeliharaan aplikasi dapat berjalan dengan baik.
BAB VI
PENUTUP
6.1 Kesimpulan
Kesimpulan dari proses penyusunan skripsi serta pembuatan adalah:
1. Dengan adanya aplikasi ini proses dengan jumlah yang banyak dapat
dihitung secara otomatis.
2. Lebih mudah memahami algoritma penjadwalan proses dengan melihat
gambarannya secara langsung ke dalam aplikasi.
3. Dapat terlihat waktu tunggu rata-rata terbaik dari kedua algoritma
penjadwalan proses tersebut.
4. Dengan
aplikasi
ini
algoritma
penjadwalan
proses
dapat
diimplementasikan dan divisualiasikan.
6.2 Saran
Berikut adalah saran dari penyusun setelah pembuatan aplikasi
pengamanan dokumen teks.
1. Aplikasi
ini
harus
terus
dievaluasi
dan
dikembangkan
dengan
menggunakan algoritma-algoritma penjadwalan lainnya.
2. Disarankan agar aplikasi dipelihara secara berkala.
3. Pengguna hendaknya memperhatikan kekurangan dari aplikasi agar
aplikasi dapat diperbaiki.
DAFTAR PUSTAKA
Ali Pangera, Abas, Dony Ariyus, 2005. Sistem Operasi, Andi Yogyakarta
Hariyanto, Bambang, 2009. Sistem Operasi, Informatika Bandung
Kadir, Abdul, 2001. Dasar Pemrograman Delphi, Andi Yogyakarta
Kusnadi, dkk, 2008. Sistem Operasi, Andi Yogyakarta
Munir, Rinaldi, 2004. Algoritma dan Pemrograman Dalam Bahasa Pascal dan C
edisi ke-3 (Buku Satu), Informatika Bandung
Pressman, Roger S, 2002. Rekayasa Perangkat Lunak (Buku Satu), ANDI
Yogyakarta.
Download
Study collections