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.
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:
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
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)
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 untuk sistem waktu nyata apalagi hard-real-time
applications.
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!
0 1 5 8 12 17 Gambar 3.1 Gant Chart Algoritma FCFS
Waktu tunggu rata-rata setiap proses :
P0 = 0
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! P5
P4
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 rata-rata setiap proses.
1. Jika terdapat 4 Proses dengan nama Proses P1, P2, P3, P4 dengan urutan