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
3
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
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
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.
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.
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.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.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
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
DAFTAR SIMBOL
Simbol Data Flow Diagram (DFD)
Simbol Nama
Entitas
Proses
Storage
Aliran Data
Menunjukan Entitas luar sistem yang menghubungkan dengan sistem
Keterangan
Menunjukan kegiatan proses dari operasi-operasi pada sistem
Menunjukan media penyimpanan data berupa tabel-tabel yang ada
pada database
Menunjukan aliran data sebagai input / output dari suatu proses
Simbol Diagram Hubungan Entitas (ERD) Simbol 1 1 1 N N M Nama Entitas Hubungan / Relasi Garis Relasi Keterangan
Jenis entitas dapat berupa elemen lingkungan, sumber daya atau transaksi yang field-fildnya digunakan dalam aplikasi program
Menunjukan nama relasi antara satu entitas dengan entitas lainnya
Menunjukan hubungan ( keterkaitan ) antar entitas
Relasi satu ke satu Relasi satu ke banyak Relasi banyak ke banyak Kardinalitas
Kardinalitas
Simbol Bagan Alir Sistem ( Sistem Flow Map )
Simbol Nama Keterangan
Dokumen Proses Keputusan Proses Manual Database Input Manual Arsip Aliran
Menunjukan dokumen input atau output untuk proses manual atau proses komputer
Menunjukan kegiatan/proses dan operasi-operasi program komputer
Menunjukan suatu keputusan
Menunjukan pekerjaan manual
Menunjukan media penyimpanan ke hardisk
Menujukan proses inputan ke komputer
Menunjukan media penyimpanan non komputer
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
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 :
Analisis Desain Kode Tes
Permodelan Sistem informasi
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.
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
No
Jenis Kegiatan
Jadwal Pelaksanaan Skripsi
Juni Juli Agustus September
I II III IV I II III IV I II III IV I II III IV 1 Pengumpulan Data 2 Menganalisa Kebutuhan 3 Perencanaan/ Design 4 Pengkodean 5 Pengujian
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 teori-teori 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.
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 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
0 2 4 6 8 10 11 13 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 Proses Waktu Tiba Waktu Kerja
P1 0 5
P2 2 3
P3 3 4
P4 5 5
= (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 Proses Waktu Tiba Waktu Kerja
P1 0 4 P2 1 2 P3 2 4 P4 3 2 P5 4 3 0 2 4 8 10 12 14 16 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 = 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.
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 permasalahan-permasalahan 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.
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.
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
Waktu kedatangan
Waktu pengerjaan Jika Nama proses = N
Input nama proses
Jika Waktu kedatangan = N
Ya Tidak
Tidak YA
Urutan Kedatangan proses Yang pertama
Proses = Waktu tunggu + Waktu pengerjaan Proses
sebelumnya Ya
Waktu tunggu rata-rata = Total proses / N proses Cek urutan kedatangan
proses Tidak
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
Waktu kedatangan
Waktu pengerjaan Jika Nama proses = N
Input nama proses
Jika Waktu kedatangan = N
Ya Tidak
Tidak ya
Urutan Kedatangan proses Yang pertama
Proses = Waktu tunggu + Waktu pengerjaan Proses
sebelumnya
Waktu tunggu rata-rata = Total proses / N proses
Quantum = q Ya
Cek waktu kerja sampai 0 (habis) Cek urutan kedatangan
proses Tidak
Waktu kerja = waktu kerja / quantum
Ya Tidak
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 :
Implementasi Algoritma Round Robin Dan FCFS (First Come First Serve)
Pada Penjadwalan Proses Processor Tunggal User
Jumlah Proses, Kwanta, Waktu Proses, Urutan
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
User 1.0* Input Proses 2.0 Penjadwalan FCFS 3.0 Penjadwalan Round Robin Jumlah proses, urutan, waktu proses
Waktu tunggu, gant chart
Waktu tunggu, gant chart Kwanta
Gambar 4.4 DFD Level 0 Implementasi Algoritma Round Robin dan FCFS
DFD level 0 memberikan gambaran umum proses-proses dalam aplikasi beserta
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
User 1.1 Input Jumlah Proses 1.2 Input Urutan Kedatangan 1.3 Input Waktu Pengerjaan Proses Jumlah proses Urutan Waktu proses
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 Input Waktu tunggu RR Waktu tunggu FCFC RR FCFS Data Proses Qutput Proses
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 File Waktu tunggu RR Waktu tunggu FCFC RR FCFS Data Proses Help Proses Exit About
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
Jumlah Proses Nama Proses Waktu Kerja Simpan Create Reset INPUT PROSES FCFS ROUND ROBIN Kuantum,
Gambar 4. 7 Form Input Data Proses
FCFS
Gant Chart
Nama Proses Waktu Tiba Waktu Kerja Waktu Tunggu
Rata-rata Waktu Tunggu
Round Robin
Gant Chart
Nama Proses Waktu Tiba Waktu Kerja Waktu Tunggu
Rata-rata Waktu Tunggu Quantum
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. Deskripsi
Pengujian Cara Uji
Hasil yang Diharapkan
Keterangan
1 Jumlah proses
Jumlah proses ditampilkan
Jumlah proses sesuai
dengan inputan Sesuai
2 Waktu kerja proses
Waktu kerja ditampilkan
Waktu kerja proses sesuai dengan inputan
3 Uji coba button simpan Klik button Proses-proses tersebut masuk kedalam tabel penampungan Sesuai 4 Waktu tunggu proses Menghitung waktu tunggu proses
Waktu tunggu proses muncul didalam tabel penampungan Sesuai 5 Rata-rata waktu tunggu proses Menghitung rata-rata waktu tunggu proses
Rata-rata waktu tunggu proses muncul beserta
Gant Chart
Sesuai
6 Kuantum Kuantum tampil di Gant Chart
Kuantum dapat diinputkan dan dapat ditampilkan di dalam
Gant Chart
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.