• Tidak ada hasil yang ditemukan

IMPLEMENTASI ALGORITMA ROUND ROBIN DAN FCFS (FIRST COME FIRST SERVE) PADA PENJADWALAN PROSES PROCESSOR TUNGGAL SKRIPSI.

N/A
N/A
Protected

Academic year: 2021

Membagikan "IMPLEMENTASI ALGORITMA ROUND ROBIN DAN FCFS (FIRST COME FIRST SERVE) PADA PENJADWALAN PROSES PROCESSOR TUNGGAL SKRIPSI."

Copied!
73
0
0

Teks penuh

(1)

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

(2)

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)

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

(4)

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

(5)

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.

(6)

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.

(7)

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

(8)

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

(9)

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

(10)

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

(11)

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

(12)

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

(13)

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

(14)

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

(15)

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

(16)
(17)

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

(18)

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

(19)

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.

(20)

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.

(21)

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

(22)

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.

(23)

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

(24)

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.

(25)

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.

(26)

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,

(27)

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.

(28)

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.

(29)

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:

(30)

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

(31)

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.

(32)

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

(33)

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.

(34)

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)

(35)

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

(36)

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.

(37)

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).

(38)

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.

(39)

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.

(40)

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.

(41)

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).

(42)

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.

(43)

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

(44)

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.

(45)

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

(46)

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

(47)

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.

(48)

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

(49)

= (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

(50)

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):

(51)

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.

(52)

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.

(53)

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.

(54)

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.

(55)

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.

(56)

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.

(57)

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.

(58)

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

(59)

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 :

(60)

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

(61)

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

(62)

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 :

(63)

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.

(64)

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

(65)

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

(66)

Round Robin

Gant Chart

Nama Proses Waktu Tiba Waktu Kerja Waktu Tunggu

Rata-rata Waktu Tunggu Quantum

(67)

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

(68)

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

(69)

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.

(70)

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.

(71)
(72)

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.

(73)

Referensi

Dokumen terkait

Penggunaan penjadwalan round robin untuk mengeksekusi sejumlah proses yang mengantri akan lebih optimal jika nilai quantum time yang digunakan lebih tepat

Bab 5 ini berisi mengenai pengolahan data yang dilakukan yaitu pembuatan penjadwalan dengan menggunakan metode penjadwalan perusahaan (metode FCFS) dan metode penjadwalan usulan

Penerapan Algoritma Simulated Annealing untuk mencari nilai quantum time pada penjadwalan round robin sangat mempengaruhi kinerja CPU dan Sistem Operasi, sehingga

Salah satu algoritma penjadwalan yang banyak digunakan adalah Round Robin. Setiap proses mendapatkan slot waktu yang disebut dengan quantum, yang menginjinkan proses tersebut

Pada tulisan ini akan dibahas pembuatan aplikasi pembelajaran yang memvisualisasikan materi proses dalam Sistem Operasi yang terdiri dari teori algoritma-algoritma penjadwalan

Penjadwalan Round-robin juga terdapat pada Task Manager, Task Scheduler adalah aplikasi bawaan dari windows yang berguna dalam mengatur waktu pembaruan yang ada

Penerapan Algoritma Simulated Annealing untuk mencari nilai quantum time pada penjadwalan round robin sangat mempengaruhi kinerja CPU dan Sistem Operasi, sehingga

Implementasi load balancing pada local traffic dengan menggunakan algoritma round robin memberikan dampak yang cukup signifikan pada performansi jaringan,