• Tidak ada hasil yang ditemukan

APLIKASI SIMULASI ALGORITMA PENJADWALAN SISTEM OPERASI SKRIPSI Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer Program Studi Teknik Informatika

N/A
N/A
Protected

Academic year: 2019

Membagikan "APLIKASI SIMULASI ALGORITMA PENJADWALAN SISTEM OPERASI SKRIPSI Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer Program Studi Teknik Informatika"

Copied!
192
0
0

Teks penuh

(1)

APLIKASI SIMULASI ALGORITMA PENJADWALAN SISTEM OPERASI

SKRIPSI

Diajukan Untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Komputer

Program Studi Teknik Informatika

oleh:

Yosef Benny Kurniawan NIM: 045314064

PROGRAM STUDI TEKNIK INFORMATIKA JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA YOGYAKARTA

(2)

ii

Presented as Partial Fulfillment of The Requirements To Obtain The Bachelor of Computer Science Degree

in Informatics Engineering Study Programme

by:

Yosef Benny Kurniawan NIM: 045314064

INFORMATICS ENGINEERING STUDY PROGRAMME DEPARTMENT OF INFORMATICS ENGINEERING

FACULTY OF SCIENCE AND TECHNOLOGY SANATA DHARMA UNIVERSITY

(3)
(4)
(5)
(6)

vi

berjalannya suatu algoritma. Oleh karena itu akan lebih mudah bila dibuat simulasi yang menggambarkan jalannya sebuah algoritma.

Tulisan ini dibuat dengan tujuan untuk memudahkan pengguna dalam pembelajaran algoritma penjadwalan pada sistem operasi.

Dalam pengembangan aplikasi simulasi algoritma penjadwalan ini digunakan metodologi prototyping. Tahap-tahap prototyping tersebut meliputi pengumpulan kebutuhan, membangun prototype, evaluasi prototype, mengkodekan sistem, menguji sistem, evaluasi sistem, dan menggunakan sistem.

(7)

vii

ABSTRACT

Algorithm learning is also going to explain how to run the way an algorithm. So that it will be easier if we make an simulation to describe the run of algorithm.

This task was made in order to make easier the users in algorithm scheduling of operating system learning.

In extension this algorithm of scheduling simulation application,it can be used prototyping methodology. The prototyiping steps include gathering requisite, building up prototype, evaluating prototype, signing the system, testing the system, evaluating the system, and using the system.

(8)
(9)

ix

KATA PENGANTAR

Puji syukur saya ucapkan ke hadirat Tuhan Yang Maha Esa atas berkat dan limpahan kasih karunia yang telah diberikan-Nya sehingga saya dapat menyelesaikan skripsi ini dengan judul “APLIKASI SIMULASI ALGORITMA PENJADWALAN SISTEM OPERASI”.

Dalam penulisan skripsi ini, penulis telah banyak memperoleh bantuan dan bimbingan dari berbagai pihak, oleh karena itu tidak lupa penulis mengucapkan terimakasih kepada:

1. Tuhan Yesus Kristus, yang telah menganugerahkan kasih karunia dan rahmat-Nya serta selalu memberikan keberuntungan.

2. Bunda Maria yang telah mendengarkan segala doa dan permohonan.

3. Ayah, Mamah, kakak serta adikku yang selalu memberikan doa, dorongan dan semangat baik moril maupun spiritual.

4. Bapak Yosef Agung Cahyanta, S.T., M.T selaku Dekan Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta.

5. Bapak Puspaningtyas Sanjoyo Adi, S.T., M..T. selaku Ketua Jurusan Teknik Informatika Fakultas Sains dan Teknologi Universitas Sanata Dharma Yogyakarta.

(10)

x

8. Andri Krisharyadi, Kuntarto Kunto Aji, Tri Prasetyo Adi, Yanuarius Budi, Mahendra Yudha dan Brigita Moris Meta Cynara yang telah membantu dalam pengerjaan tugas akhir, baik moril maupun spiritual.

9. Teman-teman TI’2004 yang lain yang telah menjadi teman seperjuangan dalam melalui kuliah selama ini.

Akhirnya skripsi ini terselesaikan, disadari bahwa skripsi ini jauh dari sempurna. Untuk itu penulis dengan rendah hati mengharapkan kritik dan saran yang dapat memberikan kesempurnaan pada penulisan skripsi ini. Akhir kata, semoga skripsi ini dapat bermanfaat bagi penulis, juga pihak yang membutuhkan.

Penulis

(11)

xi

DAFTAR ISI

Halaman

HALAMAN JUDUL ………..… i

HALAMAN JUDUL ……….. ii

HALAMAN PERSETUJUAN PEMBIMBING ……….. iii

HALAMAN PENGESAHAN ………..…………. iv

HALAMAN KEASLIAN KARYA …………..……… v

INTISARI ……….. vi

ABSTRACT ………... vii

LEMBAR PERNYATAAN PUBLIKASI ………... viii

KATA PENGANTAR ………...……….. ix

DAFTAR ISI ………... xi

DAFTAR TABEL ………..… xvi

DAFTAR GAMBAR ………. xvii

BAB I PENDAHULUAN ……….………... 1

1.1 Latar Belakang Masalah ...……….………….. 1

1.2 Rumusan Masalah …...……….……….. 2

1.3 Batasan Masalah ………...………….. 2

1.4 Tujuan ………...………. 3

1.5 Metodologi ………...……….. 3

(12)

xii

2.2.1 Simulasi dan Pemodelan ………..……….……….. 8

2.2.2 Kelebihan dan Kekurangan Simulasi ………... 9

2.3 Metode Prototyping ……… 10

2.3.1 Tahapan-tahapan Prototyping ……… 11

2.3.2 Keunggulan dan Kelemahan Prototyping ………. 12

2.4 Macromedia Flash 8 ……….…….. 13

2.5 Sistem Operasi ……….. 15

2.5.1 Pengertian Umum Sistem Operasi ……… 15

2.5.2 Konsep Dasar Sistem Operasi ……….. 16

2.6 Central Processing Unit (CPU) ………... 19

2.7 Penjadwalan CPU ………... 19

2.7.1 Sasaran Utama Penjadwalan CPU ……… 20

2.7.2 Tipe-tipe Penjadwalan CPU ………. 21

2.7.3 Strategi Penjadwalan CPU ……… 23

2.7.4 Penjadwalan CPU ……….……… 24

2.7.4.1 First Come First Serve (FCFS) ………... 25

2.7.4.2 Shortest Job First (SJF) ………... 26

2.7.4.3 Round Robin (RR) ………..….……… 27

(13)

xiii

BAB III ANALISIS DAN PERANCANGAN SISTEM ... 31

3.1 Analisis Sistem ……….…. 31

3.1.1 Analisis Masalah ……….…….. 31

3.2 Perancangan Sistem ………..……….…… 33

3.2.1 Desain Model Secara Umum ………..……….…. 33

3.2.1.1 Diagram Use Case ……….…. 33

3.2.1.2 Tabel Penjelasan Use Case ……….…… 34

3.2.1.3 Struktur Menu ……….…… 36

3.2.1.4 Desain Modul (Flowchart) ……….……… 36

3.3 Perangkat Keras dan Perangkat Lunak ……...……….…… 37

3.4 Perancangan Menu Antar Muka ..……….… 37

BAB IV IMPLEMENTASI DAN PEMBAHASAN ……….……. 42

4.1 Implementasi Program ……….………. 42

4.1.1 Halaman Utama ……….……… 42

4.1.2 Halaman Menu Utama ……….………. 44

4.1.2.1 Menu Materi ……….………. 45

4.1.2.2 Menu Simulasi ……….……….. 52

4.1.2.3 Menu Bantuan ……….……… 60

4.2 Kuisioner ……….…….. 62

4.2.1 Kuisioner dan Cara Pengumpulan Datanya ………….………. 62

4.2.2 Sasaran Kuisioner ……….………. 63

4.2.3 Form Kuisioner ……….……… 63

(14)

xiv

4.4.1.1 Data I pada algoritma FCFS ……….. 70

4.4.1.2 Data I pada algoritma SJF Nonpreemtive ……… 73

4.4.1.3 Data I pada algoritma SJF Preemtive ………. 75

4.4.1.4 Data I pada algoritma RR ……… 77

4.4.1.5 Data I pada algoritma Priority Nonpreemtive ………. 79

4.4.1.6 Data I pada algoritma Priority Preemtive ……… 81

4.4.2 Sampel Data II ………... 83

4.4.2.1 Data II pada algoritma FCFS ………. 83

4.4.2.2 Data II pada algoritma SJF Nonpreemtive ………. 86

4.4.2.3 Data II pada algoritma SJF Preemtive ………... 88

4.4.2.4 Data II pada algoritma RR ………. 90

4.4.2.5 Data II pada algoritma Priority Nonpreemtive ……….. 92

4.4.2.6 Data II pada algoritma Priority Preemtive ……… 94

4.4.3 Sampel Data III ……… 96

4.4.3.1 Data III pada algoritma FCFS ……….. 96

4.4.3.2 Data III pada algoritma SJF Nonpreemtive …………. 99

4.4.3.3 Data III pada algoritma SJF Preemtive ……… 101

4.4.3.4 Data III pada algoritma RR ……….. 103

4.4.3.5 Data III pada algoritma Priority Nonpreemtive ……... 105

(15)

xv

4.4.4 Sampel Data IV ……….. 109

4.4.4.1 Data IV pada algoritma FCFS ………. 109

4.4.4.2 Data IV pada algoritma SJF Nonpreemtive …………. 112

4.4.4.3 Data IV pada algoritma SJF Preemtive ……… 114

4.4.4.4 Data IV pada algoritma RR ………. 116

4.4.4.5 Data IV pada algoritma Priority Nonpreemtive …….. 118

4.4.4.6 Data IV pada algoritma Priority Preemtive …………. 120

4.4.5 Sampel Data V ……… 122

4.4.5.1 Data V pada algoritma FCFS ……….. 122

4.4.5.2 Data V pada algoritma SJF Nonpreemtive ………….. 125

4.4.5.3 Data V pada algoritma SJF Preemtive ………. 127

4.4.5.4 Data V pada algoritma RR ………...… 129

4.4.5.5 Data V pada algoritma Priority Nonpreemtive ……… 131

4.4.5.6 Data V pada algoritma Priority Preemtive ………….. 133

BAB V PENUTUP ……… 138

5.1 Kesimpulan ……… 138

5.2 Saran ……….. 138

DAFTAR PUSTAKA ……… 140

(16)

xvi

2.1 Tabel Status Dasar Proses 16

3.1 Tabel Penjelasan Use Case 35

4.1 Data I 71

4.2 Data II 84

4.3 Data III 97

4.4 Data IV 110

4.5 Data V 123

(17)

xvii

DAFTAR GAMBAR

Gambar Keterangan Halaman

2.1 Hubungan Pemodelan dan Simulasi 8

2.2 Diagram Status Dasar Proses 17

3.1 Diagram Use Case 34

3.2 Struktur Menu 37

3.3 Diagram Flowchart 37

3.4 Tampilan Halaman Utama 38

3.5

Tampilan Antar Muka bila pengguna menekan tombol masuk

39

3.6 Tampilan dari sub-menu Materi bila ditekan 40 3.7 Tampilan materi dari salah satu sub-materi bila ditekan 40

3.8

Tampilan simulasi bila pengguna menekan tombol menu Simulasi

41

3.9 Tampilan dari menu Bantuan 42

4.1 Tampilan Halaman Utama 44

4.2 Tombol MENU UTAMA yang diberi action script 44 4.3 Tombol KELUAR yang diberi action script 45

4.4 Tampilan halaman MENU UTAMA 45

4.5 Tombol back yang diberi action script 46

(18)

xviii

4.10 Salah satu tampilan dari Materi Round Robin 50 4.11 Salah satu tampilan dari Materi Priority 51 4.12 Tombol next back dalam setiap menu materi 52

4.13 Tombol Home 52

4.14 Halaman Simulasi 53

4.15 Pesan Error 54

4.16 Diagram Status Proses 59

4.17 Diagram Waktu Kedatangan 60

4.18 Gant Chart 60

4.19 Tampilan Halaman Bantuan 61

4.20 Tombol next dan tombol back 62

4.21 Tombol close menu bantuan 62

4.22 Form Kuisioner 64

(19)

xix

4.29 Perhitungan hasil kuisioner pertanyaan 7 68 4.30 Perhitungan hasil kuisioner pertanyaan 8 68 4.31 Perhitungan hasil kuisioner pertanyaan 9 69

4.32 Visualisasi data I Algoritma FCFS 72

4.33 Visualisasi data I Algoritma SJF Nonpreemtive 74 4.34 Visualisasi data I Algoritma SJF Preemtive 76

4.35 Visualisasi data I Algoritma RR 78

4.36 Visualisasi data I Algoritma Priority Nonpreemtive 80 4.37 Visualisasi data I Algoritma Priority Preemtive 82

4.38 Visualisasi data II Algoritma FCFS 85

4.39 Visualisasi data II Algoritma SJF Nonpreemtive 87 4.40 Visualisasi data II Algoritma SJF Preemtive 89

4.41 Visualisasi data II Algoritma RR 91

4.42 Visualisasi data II Algoritma Priority Nonpreemtive 93 4.43 Visualisasi data II Algoritma Priority Preemtive 95

4.44 Visualisasi data III Algoritma FCFS 98

4.45 Visualisasi data III Algoritma SJF Nonpreemtive 100 4.46 Visualisasi data III Algoritma SJF Preemtive 102

4.47 Visualisasi data III Algoritma RR 104

4.48 Visualisasi data III Algoritma Priority Nonpreemtive 106 4.49 Visualisasi data III Algoritma Priority Preemtive 108

(20)

xx

4.54 Visualisasi data IV Algoritma Priority Nonpreemtive 119 4.55 Visualisasi data IV Algoritma Priority Preemtive 121

4.56 Visualisasi data V Algoritma FCFS 124

4.57 Visualisasi data V Algoritma SJF Nonpreemtive 126 4.58 Visualisasi data V Algoritma SJF Preemtive 128

4.59 Visualisasi data V Algoritma RR 130

(21)

1

BAB I

PENDAHULUAN

1.1Latar Belakang Masalah

Perkembangan teknologi sekarang ini sudah mengalami kemajuan yang sangat pesat, terlebih lagi teknologi sekarang pasti tidak akan lepas dari sistem komputer, dan perkembangan teknologi komputer saat ini juga sudah banyak dipengaruhi oleh Sistem Operasi. Sistem Operasi menyediakan suatu lingkungan yang memungkinkan user dapat menjalankan program, membuat sistem komputer dapat digunakan secara mudah, tepat dan juga membuat sistem komputer dapat menggunakan hardware secara efisien (Iwan Binanto, 2005).

Operasi-operasi kerja yang dilakukan oleh CPU tersebut memerlukan suatu sistem pengaturan ukuran beban kerja bagi suatu sistem komputer dapat diselesaikan secara cepat dan tepat. Ketika banyak proses berjalan bersamaan, sistem operasi harus memutuskan proses mana yang harus berjalan pertama kali. Bagian dari sistem operasi yang menangani hal ini disebut dengan Scheduler (Penjadwal). Algoritma yang digunakan disebut dengan Algoritma Penjadwalan (Iwan Binanto, 2005).

(22)

membahas masalah ini dengan membuat simulasi cara kerja dari algoritma penjadwalan dalam berbagai keadaan masukan yang diberikan sehingga dapat membantu pengguna dalam memahami proses dari suatu algoritma penjadwalan.

Dengan demikian, penulis berharap tugas akhir ini dapat memberikan gambaran tentang cara kerja algoritma FCFS, SJF Nonpreemtive, SJF Preemtive, RR, Priority Nonpreemtive dan Priority Preemtive.

1.2Rumusan Masalah

Bagaimana membantu pengguna dalam memahami tentang algoritma penjadwalan dengan bantuan visualisasi.

1.3Batasan Masalah

Program ini dibuat dengan batasan sebagai berikut:

1. Program mensimulasikan algoritma penjadwalan satu tingkat, algoritma yang disimulasikan adalah algoritma FCFS, SJF Nonpreemtive, SJF Preemtive, RR, Priority Nonpreemtive dan Priority Preemtive.

(23)

3

3. Jumlah proses yang digunakan untuk masing-masing simulasi algoritma maksimal sampai dengan 5 proses. Karena 5 proses dirasa sudah dapat menunjukkan simulasi cara kerja dari algoritma penjadwalan.

4. Program memvisualisasikan Diagram Status Proses, Diagram Waktu Kedatangan, Gant Chart, Mulai Tunggu, Selesai Tunggu, Mulai Proses, Selesai Proses, Lama Tunggu dan AWT (Average Waiting Time).

1.4 Tujuan

Tujuan dari penulisan ini adalah untuk membantu pengguna dalam memahami algoritma penjadwalan dengan bantuan visualisasi.

1.5Metodologi Penelitian

Metode yang digunakan untuk menyelesaikan penulisan ini adalah metodologi prototyping (Roger Pressman, 1997) yang meliputi beberapa proses diantaranya:

1. Pengumpulan kebutuhan

Pengembang dan user menemukan bersama tujuan perangkat lunak beserta seluruh kebutuhannya.

2. Desain cepat

(24)

3. Pembangunan prototype

Pembangunan prototype didasarkan pada proses desain cepat. 4. Evaluasi pelanggan terhadap prototype

Prototype diberikan pelanggan untuk dievaluasi apakah sesuai denga permintaan pengguna. Pengguna dan pengembang mendiskusikan perubahan yang diinginkan.

5. Perbaikan prototype

Perbaikan prototype dilakukan berdasarkan hasil evaluasi. Proses iterasi terjadi menyertai proses ini, kecuali jika kebutuhan pengguna sudah terpenuhi.

6. Produk rekayasa

Berupa perangkat lunak yang mendekati kebutuhan pengguna.

1.6Sistematika Penulisan

BAB I PENDAHULUAN

Bab ini akan berisi Latar Belakang Masalah, Rumusan Masalah Batasan Masalah, Tujuan, Metodologi, dan Sistematika Penulisan. BAB II LANDASAN TEORI

(25)

5

BAB III ANALISA DAN PERANCANGAN SISTEM

Bab ini akan membahas rancangan konsep dari sistem, perancangan antarmuka sistem dan pengumpulan bahan.

BAB IV IMPLEMENTASI DAN PEMBAHASAN

Bab ini akan menjelaskan secara rinci tentang program pada setiap bagian dan hasil dari kuisioner yang disebarkan kepada pengguna secara acak.

BAB V KESIMPULAN DAN SARAN

Bab ini berisi Kesimpulan dan Saran untuk sistem yang telah dibuat agar ada pengembangan yang lebih baik untuk masa yang akan datang.

(26)

6

2.1 Sistem Informasi

Sistem informasi adalah sekumpulan komponen yang mempunyai fungsi berbeda-beda, saling berinteraksi dan bekerja sama untuk menghasilkan satu tujuan yang sama (Jogianto, 1999). Tujuan dari sistem informasi adalah untuk menyediakan dan menyusun informasi yang merefleksikan seluruh kejadian yang diperlukan untuk mengendalikan beberapa operasi. Operasi tersebut diantaranya mengambil, mengolah, menyimpan, dan menyampaikan informasi yang diperlukan.

(27)

7

Tahap-tahap pembuatan Sistem Informasi mencakup beberapa hal, diantaranya :

1. Perencanaan

Sebelum suatu sistem informasi dikembangkan umumnya terlebih dahulu dimulai dengan adanya suatu kebijakan dan perencanaan untuk mengembangkan sistem itu. Tanpa adanya perencaan sistem yang baik, pengembangan system tidak akan dapat berjalan sesuai dengan yang diharapkan.

2. Analisa Sistem

Didalam tahap analisia sistem tedapat langkah-langkah dasar yang harus dilakukan, yaitu :

1) Identify, yaitu mengidentifikasi masalah.

2) Understand, yaitu memahami kerja sistem yang ada. 3) Analyze, yaitu menganalisa sistem.

3. Desain Sistem

Tahap desain sistem mempunyai beberapa tujuan yaitu : 1) Untuk memenuhi kebutuhan kepada pemakai sistem.

(28)

4. Implementasi sistem dan testing

Merupakan proses pembuatan program dari sistem baru yang diusulkan dan sebelum program diterapkan maka program harus terlebih dulu bebas dari 9 kesalahan. Oleh karena itu program harus diuji untuk menemukan kemungkinan yang terjadi. (Jogianto, 1999)

2.2 Simulasi

2.2.1 Simulasi dan Pemodelan

Simulasi adalah proses pembuatan desain model dari suatu sistem nyata secara matematika dan logika, kemudian model tersebut diimplementasikan dengan percobaan berbasis komputer untuk menjelaskan, menggambarkan, dan memprediksi kelakuan atau perilaku dari sistem nyata tersebut (Hoover dan Perry, 1989).

Menurut Suryadi dan Ramdhani (1998), simulasi sebagai alat deskriptif diartikan sebagai alat untuk menerangkan atau memperkirakan karakter sistem pada keadaan yang berbeda, karena itu tidak ada simulasi yang secara otomatis akan mendapatkan solusi yang optimal .

(29)

9

Sistem nyata merupakan sistem yang mewakili dunia nyata dengan kepentingan tertentu. Model menyatakan sekumpulan instruksi yang menggambarkan sistem nyata. Komputer merupakan sarana yang digunakan untuk melakukan proses perhitungan dari data dan informasi yang tersedia. Pemodelan menjelaskan hubungan antara sistem nyata dengan model. Sedangkan simulasi menjelaskan antara model dan komputer. Untuk melakukan validasi terhadap model, kita perlu melakukan konsultasi dengan ahli yang terkait dalam sistem yang dimodelkan. Sedangkan untuk meneliti kelayakan hasil simulasi, kita melakukan verifikasi yaitu bagaimana kemampuan model untuk mewakili dunia nyata dengan melihat tingkat kesamaan antar data sistem nyata dengan data yang dibandingkan model (Suryadi dan Ramdhani, 1998).

2.2.2 Kelebihan dan Kekurangan Simulasi

1. Kelebihan Simulasi

Menurut Suryadi dan Ramdhani (1998), kelebihan dari simulasi antara lain:

1) Model yang sudah dibuat dapat dipergunakan berulang untuk menganalisis tujuan.

2) Analisis dengan metode simulasi dapat dilakukan dengan masukan data yang bervariasi.

(30)

4) Sistem memungkinkan untuk melakukan percobaan terhadap sistem tanpa adanya resiko pada sistem nyata.

2. Kekurangan Simulasi

Menurut Suryadi dan Ramdhani (1998), kekurangan dari simulasi antara lain:

1) Model simulasi memerlukan waktu yang cukup banyak untuk pengembangannya.

2) Kualitas dan analisis model tergantung pada kualitas keahlian si pembuat model.

2.3 Metodologi Prototyping

Prototyping merupakan salah satu metode pengembangan perangkat lunak yang banyak digunakan. Dengan metode prototyping ini pengembang dan pelanggan dapat saling berinteraksi selama proses pembuatan sistem (Hery Setiawan, 2009).

Sering terjadi seorang pelanggan hanya mendefinisikan secara umum apa yang dikehendakinya tanpa menyebutkan secara detal output apa saja yang dibutuhkan, pemrosesan dan data-data apa saja yang dibutuhkan. Sebaliknya disisi pengembang kurang memperhatikan efesiensi algoritma, kemampuan sistem operasi dan interface yang menghubungkan manusia dan komputer (Roger Pressman, 1997).

(31)

11

pengembang akan mengetahui dengan benar apa yang diinginkan pelanggan dengan tidak mengesampingkan segi-segi teknis dan pelanggan akan mengetahui proses-proses dalam menyelesaikan sistem yang diinginkan. Dengan demikian akan menghasilkan sistem sesuai dengan jadwal waktu penyelesaian yang telah ditentukan (Roger Pressman, 1997).

Kunci agar model prototype ini berhasil dengan baik adalah dengan mendefinisikan aturan-aturan main pada saat awal, yaitu pelanggan dan pengembang harus setuju bahwa prototype dibangun untuk mendefinisikan kebutuhan. Prototype akan dihilangkan sebagian atau seluruhnya dan perangkat lunak aktual direkayasa dengan kualitas dan implementasi yang sudah ditentukan (Hery Setiawan, 2009).

2.3.1 Tahapan-tahapan Prototyping

Menurut Hery Setiawan (2009). Tahapan-tahapan dalam Prototyping adalah sebagai berikut:

1. Pengumpulan kebutuhan

Pelanggan dan pengembang bersama-sama mendefinisikan format seluruh perangkat lunak, mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan dibuat.

2. Membangun prototyping

(32)

3. Evaluasi prototyping

Evaluasi ini dilakukan oleh pelanggan apakah prototyping yang sudah dibangun sudah sesuai dengan keinginan pelanggan. Jika sudah sesuai maka langkah 4 akan diambil. Jika tidak prototyping direvisi dengan mengulangu langkah 1, 2 , dan 3.

4. Mengkodekan sistem

Dalam tahap ini prototyping yang sudah di sepakati diterjemahkan ke dalam bahasa pemrograman yang sesuai.

5. Menguji sistem

Setelah sistem sudah menjadi suatu perangkat lunak yang siap pakai, harus dites dahulu sebelum digunakan. Pengujian ini dilakukan dengan White Box, Black Box, Basis Path, pengujian arsitektur dan lain-lain. 6. Evaluasi Sistem

Pelanggan mengevaluasi apakah sistem yang sudah jadi sudah sesuai dengan yang diharapkan . Juka ya, langkah 7 dilakukan; jika tidak, ulangi langkah 4 dan 5.

7. Menggunakan sistem

Perangkat lunak yang telah diuji dan diterima pelanggan siap untuk digunakan.

2.3.2 Keunggulan dan Kelemahan Prototyping

(33)

13

2. Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan.

3. Pelanggan berperan aktif dalam pengembangan sistem. 4. Lebih menghemat waktu dalam pengembangan sistem.

5. Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya.

Menurut Hery Setiawan (2009). Kelemahan prototyping adalah : 1. Pelanggan kadang tidak melihat atau menyadari bahwa perangkat

lunak yang ada belum mencantumkan kualitas perangkat lunak secara keseluruhan dan juga belum memikirkan kemampuan pemeliharaan untuk jangja waktu lama.

2. Pengembang biasanya ingin cepat menyelesaikan proyek. Sehingga menggunakan algoritma dan bahasa pemrograman yang sederhana untuk membuat prototyping lebih cepat selesai tanpa memikirkan lebih lanjut bahwa program tersebut hanya merupakan cetak biru sistem.

3. Hubungan pelanggan dengan komputer yang disediakan mungkin tidak mencerminkan teknik perancangan yang baik.

2.4 Macromedia Flash 8

(34)

sangat bermanfaat untuk membuat animasi interaktif maupun non-interaktif yang dilengkapi dengan bahasa pemrograman ActionScript. Sintaks dan tata bahasa dalam ActionScript mirip dengan bahasa pemrograman berorientasi object. Macromedia flash biasanya digunakan untuk membuat animasi web, iklan, maupun pembuatan film-film animasi dua dimensi.

Keunggulan dari macromedia flash ini dari program-program yang lain adalah :

1. Dapat membuat tombol interaktif dengan sebuah movie atau object yang lain.

2. Dapat membuat perubahan transparansi warna dalam movie.

Pemrograman dengan ActionScript pada Macromedia flash dapat digunakan untuk pembuatan visualisasi di segala bidang terutama aplikasi interaktif berbasis web. ActionScript adalah pemrograman visual berorientasi object. Seperti JavaScipt, ActionScript mempunyai sintaks, tata bahasa, dan struktur yang mirip dengan bahasa pemrograman C++. Salah satu fungsi dari ActionScript dalam macromedia Flash adalah untuk memberikan suatu tampilan tools yang sangat interaktif dengan penggunanya.

Beberapa fungsi-fungsi dasar dari ActionScript diantaranya : 1. Go To – melompat ke frame atau scene.

2. Play dan Stop – untuk menjalankan dan menghentikan movie. 3. Toggle High Quality – untuk mengatur kualitas tampilan movie. 4. Stop All Sounds – menghentikan suara pada movie

(35)

15

6. FSCommand – mengontrol action yang berjalan pada Flash player 7. Load Movie, Unload Movie – menambah dan menghilangkan movie. 8. Tell Target – mengontrol movie lain dari movie clip.

9. Onmovie Event – action bila mouse event.

2.5 Sistem Operasi

2.5.1 Pengertian Umum Sistem Operasi

Sistem operasi adalah software sistem komputer yang membantu hardware dalam menjalankan fungsi-fungsi manajemen proses atau kontrol proses. Sistem operasi merupakan resource manager yang akan menentukan proses mana yang harus terlebih dahulu dikerjakan, apabila terdapat dua atau lebih proses yang akan dikerjakan secara bersamaan. Sistem operasi bertanggung jawab mengatur agar semua resource (CPU, I/O device, memory) dapat berjalan secara efisien (Iwan Binanto, 2005).

Sebuah Sistem operasi adalah bagian terpenting dari sebagian besar dari setiap sistem komputer. Sebuah sistem komputer secara umum dapat dibagi menjadi empat komponen (Iwan Binanto, 2005), yaitu: 1. Hardware (CPU, I/O devices)

2. Sistem Operasi

3. Program-program aplikasi (misalnya: compilers, system database, video games, program bisnis)

(36)

2.5.2 Konsep Dasar Sistem Operasi

1. Proses

Proses merupakan konsep paling mendasar pada sistem operasi, karena semua pengelolahan sistem operasi dikaitkan dengan proses. Proses adalah program yang sedang dieksekusi atau sesuatu yang dinamis. PCB (Process Control Block) merupakan tempat untuk menyimpan satu proses dan merupakan record yang sangat besar dan tempat menyimpan semua informasi. Tiap PCB mengandung semua informasi tentang proses yang diperlukan oleh sistem operasi.

2. Status Proses

Status proses merupakan serangkaian status yang harus dilewati proses. Dalam tabel 2.1 akan ditunjukan beberapa status dasar yang dialami proses. Proses dapat berada di salah satu status yang ada dari status dasar tersebut.

Tabel 2.1 Tabel Status Dasar Proses

Status Deskripsi

New Proses yang baru mulai dibangun

Ready Proses siap (ready) dieksekusi oleh CPU, tapi CPU tidak bersedia mengeksekusi proses.

Running Status proses yang sedang dieksekusi oleh CPU.

Waiting Proses menunggu kejadian untuk melengkapi tugasnya. Stopped Program yang sedang di-running dapat berhenti.

(37)

17

Gambar 2.2 Diagram Status Dasar Proses

Gambar 2.2 menunjukkan hubungan atau transisi dari status-status proses yang digambarkan dalam diagram status-status dasar proses. Transisi pada status-status proses yang dilakukan dapat terjadi dalam berbagai macam kondisi, sehingga transisi ditentukan dari gambar 2.2.

(38)

Dispatcher atau low level scheduler (penjadwal/scheduler proses) adalah alokasi CPU ke proses dengan pengaturan terhadap register hardware yang penting, dan mencari proses yang ready dan siap untuk dijalankan (running). Jika tidak ada proses yang ready untuk dijalankan, maka proses menunggu interrupt dan proses harus menunggu. Dispatcher diperlukan dalam menjalankan sistem operasi multiprogramming, dispatcher sering kali membutuhkan akses dari CPU pada saat CPU tersebut sedang diakses oleh proses lain dalam running proses. Untuk mendapatkan akses yang sedang dipakai oleh proses lain tersebut, dibutuhkan adanya:

a. Interrupt

(39)

19

b. Timer

Menunjukkan lama waktu yang telah digunakan proses dan merupakan dukungan hardware yang dapat diatur (diatur seperti jam).

2.6 Central Processing Unit (CPU)

CPU atau processor merupakan sumber dari sistem komputer yang utama, dapat memanipulasi dan melakukan operasi aritmatika pada data dari memori. CPU juga mengeksekusi instruksi yang dikontrol oleh processor lain.

CPU dapat dieksekusi oleh banyak proses dan program. Dalam istilah penjadwalan berarti terdapat lebih dari satu proses yang akan dijalankan, maka dari itu peran CPU sangat berguna dalam memutuskan proses mana yang dapat menggunakan CPU lebih dahulu, kapan CPU tersebut dapat digunakan dan berapa lama CPU dijalankan. Penjadwalan CPU dapat memutuskan bahwa sebuah proses dalam antrian yang siap (ready queue) akan dialokasikan ke CPU.

2.7 Penjadwalan CPU

(40)

Penjadwalan CPU adalah basis dari multiprogramming sistem operasi. Dengan men-switch CPU diantara proses. Akibatnya sistem operasi bisa membuat komputer produktif.

2.7.1 Sasaran Utama Penjadwalan CPU

Sasaran utama penjadwalan CPU adalah optimalisasi kerja menurut kriteria tertentu. Kriteria untuk mengukur serta optimasi kerja penjadwalan yang juga merupakan sasaran utama penjadwalan adalah (Iwan Binanto, 2005):

a. Pemanfaatan CPU (Efisiensi)

Menjaga agar CPU tetap dalam keadaan sibuk, artinya CPU tidak pernah menganggur, termasuk waktu yang dihabiskan untuk mengeksekusi program pemakai dan sistem operasi.

b. Adil (Fairness)

Menjaga dan menjamin tiap proses mendapat layanan dari CPU secara adil (diperlakukan sama), yaitu mendapatkan jatah waktu CPU yang sama dan tidak ada proses yang tidak mendapat layanan dari CPU yang dapat mengakibatkan starvation.

c. Throughput

(41)

21

d. Turn Around Time

Merupakan waktu yang dihabiskan dari saat proses masuk ke sistem sampai proses diselesaikan oleh sistem. Turn Around Time merupakan jumlahan dari waktu tunggu di memori, waktu tunggu di antrian ready, waktu eksekusi di CPU, dan waktu mengerjakan I/O. e. Response Time

Merupakan jumlah waktu dari proses untuk mulai merespons atau waktu yang dibutuhkan dari masuk ke sistem sampai respons pertama muncul.

Kriteria-kriteria tersebut saling bergantung dan dapat pula saling bertentangan sehingga tidak dimungkinkan optimalisasi semua kriteria secara simultan.

2.7.2 Tipe-tipe Penjadwalan CPU

Terdapat 3 tipe penjadwalan secara bersama-sama pada Sistem Operasi yang kompleks (William Stallings, 2001), yaitu:

1. Penjadwalan jangka panjang (long-term scheduler) 2. Penjadwalan jangka menengah (medium-term scheduler) 3. Penjadwalan jangka pendek (short-term scheduler)

1. Penjadwalan jangka panjang (long-term scheduler)

(42)

proses dengan penggunaan sumber daya yang intensif (seperti waktu pemroses, memori, perangkat I/O).

2. Penjadwalan jangka menengah (medium-term scheduler)

Penjadwal ini bertugas menangani proses-proses swapping, mengendalikan transisi dari suspended-to-ready. Swapping adalah aktivitas pemindahan proses yang tertunda (suspended) dari memori utama ke memori sekunder hingga proses tertunda selesai dan proses siap (ready) untuk mengeksekusi CPU.

3. Penjadwalan jangka pendek (short-term scheduler)

Penjadwalan jangka pendek atau CPU Schedulling bertugas memilih salah satu atau menjadwalkan proses dari ready list agar memperoleh giliran untuk dieksekusi pada alokasi CPU di memori utama menurut kebijakan tertentu. Sasaran utama penjadwalan ini memaksimumkan kinerja untuk memenuhi sekumpulan criteria yang diharapkan dalam penjadwalan CPU. Penjadwal ini dijalankan setiap terjadi pengalihan proses untuk memilih proses berikutnya yang harus dijalankan.

(43)

23

2.7.3 Strategi Penjadwalan CPU

Strategi penjadwalan mempunyai dua metode, yaitu: 1. Penjadwalan Preemtive

Proses yang sedang berjalan dapat diinterupsi dan dipindah ke status ready oleh sistem operasi sehingga CPU dapat diambil alih proses yang lain. Pada penjadwalan preemptive, penjadwal bukan dihentikan oleh proses lain tapi terutama oleh lama waktu berjalannya proses, disebut preempt by time (dihentikan oleh waktu). Sebuah proses tidak dapat mengakses CPU sepanjang waktu yang telah dijatah tertentu, tetapi sebelumnya semua proses diberi sejumlah waktu oleh CPU yang disebut kwanta (quantum time) atau time slice. Suatu proses tidak boleh menggunakan pengolah selama lebih dari satu kwanta jika ada proses lain dalam daftar siap.

2. Penjadwalan Nonpreemtive

(44)

2.7.4 Penjadwalan CPU

Secara umum, teknik penjadwalan CPU dibagi menjadi penjadwalan CPU satu tingkat dan penjadwalan CPU multitingkat (multilevel), penggolongan ini selain berdasarkan pada teknik penjadwalan prosesor adalah penggolongan berdasarkan adanya prioritas di masing-masing proses, yaitu:

1. Metode penjadwalan tanpa prioritas

2. Metode penjadwalan berprioritas, terdiri dari:

1) Prioritas statis (static priorities), yaitu prioritas tidak berubah. 2) Prioritas dinamis (dynamic priorities), merupakan mekanisme

menanggapi perubahan lingkungan secar beroperasi. Metode yang menerapkan penjadwalan CPU satu tingkat adalah: 1. First Come First Serve (FCFS)

2. Shortest Job First (SJF) 3. Round Robin (RR) 4. Priority

Metode yang menerapkan penjadwalan CPU multitingkat adalah: 1. Multilevel Queue

2. Feedback Multilevel Queue

2.7.4.1 First Come First Serve (FCFS)

(45)

25

ini, proses yang meminta CPU pertama kali akan dialokasikan ke CPU pertama kali (Iwan Binanto, 2005).

Misalnya terdapat tiga proses yang dapat dengan urutan P1, P2, dan P3 dengan waktu CPU-burst dalam milidetik yang diberikan sebagai berikut :

Process Burst Time P1 24 P2 3 P3 3

Gant Chart dengan penjadwalan FCFS adalah sebagai berikut (Iwan Binanto, 2005) :

Waktu tunggu untuk P1 adalah 0, P2 adalah 24 dan P3 adalah 27 sehingga rata-rata waktu tunggu adalah (0 + 24 + 27)/3 = 17 milidetik. Sedangkan apabila proses dating dengan urutan P2, P3, dan P1, hasil penjadwalan CPU dapat dilihat pada gant chart berikut (Iwan Binanto, 2005) :

(46)

lebih baik dibandingkan dengan kasus sebelumnya. Pada penjadwalan CPU dimungkinkan terjadi Convoy effect apabila proses yang pendek berada pada proses yang panjang.

Algoritma FCFS termasuk non-preemptive. karena, sekali CPU dialokasikan pada suatu proses, maka proses tersebut tetap akan memakai CPU sampai proses tersebut melepaskannya, yaitu jika proses tersebut berhenti atau meminta I/O.

2.7.4.2 Shortest Job First (SJF)

Pada penjadwalan SJF, proses yang memiliki CPU burst paling kecil dilayani terlebih dahulu (Iwan Binanto, 2005). Terdapat dua skema :

1. Nonpreemptive, bila CPU diberikan pada proses, maka tidak bisa ditunda sampai CPU burst selesai.

2. Preemptive, jika proses baru datang dengan panjang CPU burst lebih pendek dari sisa waktu proses yang saat itu sedang dieksekusi, proses ini ditunda dan diganti dengan proses baru. Skema ini disebut dengan Shortest Remaining Time First (SRTF).

(47)

27

Process Arrival Time Burst Time P1 0.0 7 P2 2.0 4 P3 4.0 1 P4 5.0 4

Penjadwalan proses dengan algoritma SJF (nonpreemptive) dapat dilihat pada gant chart berikut (Iwan Binanto, 2005) :

Waktu tunggu untuk P1 adalah 0, P2 adalah 26, P3 adalah 3 dan P4 adalah 7 sehingga rata-rata waktu tunggu adalah (0 + 6 + 3 + 7)/4 = 4 milidetik. Sedangkan Penjadwalan proses dengan algoritma SRTF (preemptive) dapat dilihat pada gant chart berikut (Iwan Binanto, 2005) :

Waktu tunggu untuk P1 adalah 9, P2 adalah 1, P3 adalah 0 dan P4 adalah 4 sehingga rata-rata waktu tunggu adalah (9 + 1 + 0 + 4)/4 = 3 milidetik.

2.7.4.3 Round Robin (RR)

(48)

dengan FCFS, hanya saja bersifat preemptive. Setiap proses mendapatkan waktu CPU yang disebut dengan waktu kuantum (quantum time) untuk membatasi waktu proses, biasanya 1-100 milidetik. Setelah waktu habis, proses ditunda dan ditambahkan pada ready queue.

Jika suatu proses memiliki CPU burst lebih kecil dibandingkan dengan waktu kuantum, maka proses tersebut akan melepaskan CPU jika telah selesai bekerja, sehingga CPU dapat segera digunakan oleh proses selanjutnya. Sebaliknya, jika suatu proses memiliki CPU burst yang lebih besar dibandingkan dengan waktu kuantum, maka proses tersebut akan dihentikan sementara jika sudah mencapai waktu kuantum, dan selanjutnya mengantri kembali pada posisi ekor dari ready queue, CPU kemudian menjalankan proses berikutnya.

(49)

29

Misalkan ada 3 proses: P1, P2, dan P3 yang meminta pelayanan CPU dengan quantum-time sebesar 4 milidetik.

Process Burst Time P1 24 P2 3 P3 3

Penjadwalan proses dengan algoritma round robin dapat dilihat pada gant chart berikut (Iwan Binanto, 2005) :

Waktu tunggu untuk P1 adalah 6, P2 adalah 4, dan P3 adalah 7 sehingga rata-rata waktu tunggu adalah (6 + 4 + 7)/3 = 5.66 milidetik.

2.7.4.4 Priority

(50)

P0, maka pada non-preemptive, algoritma tetap akan menyelesaikan P0 sampai habis CPU burst-nya, dan meletakkan P1 pada posisi head queue. Sedangkan pada preemptive, P0 akan dihentikan dulu, dan CPU ganti dialokasikan untuk P1.

Misalnya terdapat lima proses P1, P2, P3, P4 dan P5 yang datang secara berurutan dengan CPU burst dalam milidetik.

Process Burst Time Priority P1 10 3 P2 1 1 P3 2 3 P4 1 4 P5 5 2

Penjadwalan proses dengan algoritma priority dapat dilihat pada gant chart berikut (Iwan Binanto, 2005) :

(51)

31

BAB III

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Seperti yang telah disampaikan di awal, tugas akhir ini akan membahas mengenai simulasi algoritma penjadwalan pada sistem operasi yang memiliki fasilitas berupa materi yang disertai animasi untuk memperkenalkan tentang cara kerja dari algoritma penjadwalan. Analisis sistem sendiri meliputi beberapa langkah, yaitu:

3.1.1 Analisis Masalah

Algoritma penjadwalan adalah salah satu materi yang dibahas dalam perkuliahan sistem operasi di Universitas Sanata Dharma (USD). Algoritma penjadwalan sendiri terdiri dari 5 macam algoritma yang berbeda, First Come First Serve (FCFS), Shortest Job First (SJF) Preemtive, Shortest Job First (SJF) Nonpreemtive, Round Robin, Priority Preemtive dan Priority Nonpreemtive.

(52)

First (SJF) Nonpreemtive merupakan algoritma dengan penjadwalan dimana proses yang terpendek yang akan dieksekusi pertama kali, tidak bisa ditunda sampai proses tersebut selesai. Round Robin, konsep dasar dari algoritma ini adalah dengan menggunakan time-sharing. Pada dasarnya algoritma ini sama dengan FCFS, hanya saja bersifat preemptive. Setiap proses mendapatkan waktu CPU yang disebut dengan waktu kuantum (quantum time) untuk membatasi waktu proses. Priority Preemtive merupakan algoritma yang penjadwalannya menggunakan nomor prioritas (integer), prioritas dengan nomor terkecil akan dieksekusi terlebih dahulu, tetapi jika ada proses baru yang memiliki prioritas lebih kecil dari proses yang sedang berjalan, maka proses tersebut akan ditunda dan kemudian digantikan dengan proses yang baru. Priority Nonpreemtive merupakan algoritma yang penjadwalannya menggunakan nomor prioritas (integer), prioritas dengan nomor terkecil akan dieksekusi terlebih dahulu tanpa bisa ditunda dan akan dieksekusi sampai selesai.

(53)

33

3.2 Perancangan Sistem

Tahap-tahap yang terdapat dalam perancangan sistem ini adalah sebagai berikut:

3.2.1 Desain Model Secara Umum

3.2.1.1 Diagram Use Case

USER Lihat Cara Penggunaan Simulasi

Lihat Simulasi Priority Preemtive

Lihat Simulasi Priority Nonpreemtive

Lihat Simulasi Round Robin

Lihat Simulasi SJF Preemtive

Lihat Simulasi SJF Nonpreemtive

Lihat Simulasi FCFS

Lihat Materi Algoritma Penjadwalan

Lihat Materi FCFS

Lihat Materi SJF

Lihat Materi Round Robin

Lihat Materi Priority

(54)

3.2.1.2 Tabel Penjelasan Use Case

Tabel 3.1 Tabel Penjelasan Use Case

USE CASE KETERANGAN

Pilih Menu Bantuan Di dalam fasilitas ini terdapat satu halaman berupa satu jendela baru yang berfungsi untuk menjelaskan cara penggunaan sistem ini.

Pilih Menu Simulasi Di dalam fasilitas ini akan terdapat beberapa jendela yang akan digunakan pengguna untuk memasukkan data kemudian menampilkan simulasi dari setiap algoritma yang dipilh oleh pengguna.

 Lihat Simulasi FCFS Pengguna dapat melihat cara kerja dari algoritma FCFS dari menu simulasi ini.

 Lihat Simulasi SJF Nonpreemtive

Pengguna dapat melihat cara kerja dari algoritma Simulasi SJF Nonpreemtive dari menu simulasi ini.

 Lihat Simulasi SJF Preemtive

Pengguna dapat melihat cara kerja dari algoritma Simulasi SJF Preemtive dari menu simulasi ini.

 Lihat Simulasi RR Pengguna dapat melihat cara kerja dari algoritma Simulasi RR dari menu simulasi ini.

 Lihat Simulasi Priority Nonpreemtive

Pengguna dapat melihat cara kerja dari algoritma Simulasi Priority Nonpreemtive dari menu simulasi ini.

 Lihat Simulasi Priority Preemtive

(55)

35

Pilih Menu Materi Di dalam fasilitas akan berisi materi dari setiap algoritma berupa penjelasan singkat serta contoh kasus, yang berfungsi untuk membantu pengguna secara teori sebelum menggunakan simulasi.

 Lihat Materi Algoritma Penjadwalan

Pengguna dapat melihat dan mempelajari apa itu algoritma penjadwalan secara teori.

 Lihat Materi FCFS Pengguna dapat melihat dan mempelajari algoritma FCFS secara teori beserta contoh soalnya secara singkat.

 Lihat Materi SJF Pengguna dapat melihat dan mempelajari algoritma SJF secara teori beserta contoh soalnya secara singkat.

 Lihat Materi RR Pengguna dapat melihat dan mempelajari algoritma RR secara teori beserta contoh soalnya secara singkat.

(56)

3.2.1.3 Struktur Menu

Menu Materi Menu Simulasi

First Come First Serve

Shortest job

First Round Robin Priority

Simulasi

Gambar 3.2 Struktur Menu

3.2.1.4 Desain Modul (Flowchart)

Flowchart program merupakan bagan yang menjelaskan secara rinci langkah-langkah dari proses program secara logika. Berikut ini flowchart dari program aplikasi yang dikembangkan adalah sebagai berikut:

Start

Tampilkan Simulasi dari beberapa Algoritma

(57)

37

3.3 Perangkat Keras dan Perangkat Lunak

Perangkat Keras dan Perangkat Lunak yang digunakan agar sistem ini dapat berjalan adalah :

1. Perangkat Keras (spesifikasi minimum) 1) Processor : Pentium III, 800 Mhz 2) Memori : 128 Mb

3) Hard Disk 2. Perangkat Lunak

Perangkat lunak yang harus tersedia dalam sebuah komputer untuk mendukung kerja sistem ini adalah Macromedia Flash 8 atau diatasnya. Atau minimal sebuah komputer dapat menjalankan sistem ini bila didalamnya memiliki aplikasi flash player minimal versi 8 atau diatasnya.

3.4 Perancangan Menu Antar Muka

Program Bantu Untuk Pembelajaran Algoritma Penjadwalan Di Bidang Studi Sistem Operasi

MASUK

MASUK

(58)

Ini adalah halaman utama dari program, terdiri dari 2 tombol utama. Jika pengguna menekan tombol masuk, maka pengguna akan menuju ke menu seperti gambar 3.5. Bila pengguna menekan tombol keluar, maka program akan tertutup dan pengguna keluar dari sistem.

MENU UTAMA

MATERI SIMULASI BANTUAN

Program Bantu Untuk Pembelajaran Algoritma Penjadwalan

Di Bidang Studi Sistem Operasi

Gambar 3.5 Tampilan Antar Muka bila pengguna menekan tombol

masuk

(59)

39

MENU UTAMA

MATERI SIMULASI BANTUAN

Program Bantu Untuk Pembelajaran Algoritma Penjadwalan

Di Bidang Studi Sistem Operasi

Algoritma Penjadwalan FCFS

SJF RR Priority

Gambar 3.6 Tampilan dari sub-menu Materi bila ditekan

Ini adalah tampilan dari sub-menu Materi bila pengguna menekan tombol Materi, sub-menu tersebut berisi materi-materi dari sub-menu diatas. Bila pengguna menekan salah satu dari sub-menu tersebut, maka pengguna dapat melihat dan membaca materi atau teori dari algoritma penjadwalan (gambar 3.7). Bila pengguna menekan tombol kembali, maka pengguna akan kembali menuju menu utama atau seperti gambar 3.5.

BERISI MATERI-MATERI DARI ALGORITMA PENJADWALAN MATERI

Selanjutnya Sebelumnya

Kembali

(60)

SIMULASI ALGORITMA PENJADWALAN

Algoritma Penjadwalan

First Come First Serve SJF Premtive

SJF Nonpremtive

Round Robin

Kuantum Waktu = ms

Priority Preemtive Priority Nonpreemtive

Jumlah Proses = Proses

Data Awal

Nama Proses Saat Tiba Lama Proses Prioritas

P1

Nama Proses Mulai tunggu Selesai Tunggu Mulai Proses

P1

Average Waiting Time = ms

Selesai Proses

Gambar 3.8 Tampilan simulasi bila pengguna menekan tombol menu

Simulasi

Ini adalah tampilan antar muka untuk menu Simulasi, terdiri dari beberapa kolom proses untuk memudahkan pengguna dalam memahami sistem. Pertama pengguna akan memilih algoritma yang akan disimulasikan yang terdiri dari 6 macam algortima penjadwalan yang tersedia, kemudian pengguna dapat menentukan jumlah proses yang ingin disimulasikan, dengan jumlah proses maksimal adalah 5 proses.

(61)

41

untuk memasukkan data secara acak, juga terdapat beberapa tombol operasional yang berguna untuk menjalankan simulasi.

Untuk melihat jalannya simulasi, setelah pengguna selesai memasukkan data-data yang dibutuhkan, maka pengguna dapat menekan tombol Simulasi, tombol ini berfungsi untuk mensimulasikan dari data awal berdasarkan jenis algoritma penjadwalan yang dipilih. Terdapat beberapa kolom simulasi, yaitu Diagram Status Proses, Diagram Waktu Kedatangan dan Gant Chart yang berfungsi untuk membantu pengguna dalam pemahaman simulasi.

BANTUAN

CARA PENGGUNAAN SISTEM

X

Gambar 3.9 Tampilan dari menu Bantuan

(62)

42

Implementasi merupakan tahap pengkodean dari hasil perancangan. Pada bab sebelumnya telah dijelaskan mengenai perancangan sistem. Pada bab ini akan dijelaskan hasil implementasi dan pembahasan serta hasil dari kuisioner yang disebarkan kepada pengguna secara acak.

4.1Implementasi Program

Program simulasi algoritma ini dapat digunakan oleh siapapun yang ingin mempelajari proses berjalannya sebuah algoritma dan juga dasar-dasar teori dari algoritma tersebut, dalam hal ini algoritma penjadwalan.

Susunan dari program simulasi algoritma ini terdiri dari sekumpulan modul-modul flash movie yang terintegrasi antara satu dengan yang lainnya, sehingga membentuk sebuah aplikasi pembelajaran yang utuh.

4.1.1 Halaman Utama

(63)

43

Gambar 4.1 Tampilan Halaman Utama

Ditampilan halaman utama terdiri dari dua tombol, yaitu tombol MENU UTAMA dan tombol KELUAR. Tombol MENU UTAMA digunakan pengguna untuk menggunakan aplikasi ini lebih lanjut, berikut action script yang digunakan:

on (press) {

gotoAndStop(2); }

Perintah tersebut digunakan untuk menuju jendela frame lain, dalam hal ini tombol tersebut menginstruksikan sistem agar menuju frame ‘2’.

Gambar 4.2 Tombol MENU UTAMA yang diberi action script

(64)

on (press) {

fscommand('quit', ""); }

Gambar 4.3 Tombol KELUAR yang diberi action script

4.1.2 Halaman Menu Utama

Bila pengguna menekan tombol MENU UTAMA, maka aplikasi ini akan menuju halaman berikut:

Gambar 4.4 Tampilan halaman MENU UTAMA

(65)

45

halaman utama seperti gambar 4.1. Berikut action script yang digunakan:

on (press) {

gotoAndStop(1); //kembali ke frame 1 }

Gambar 4.5 Tombol back yang diberi action script

4.1.2.1 Menu Materi

Menu Materi adalah menu yang digunakan pengguna untuk mempelajari materi-materi dari algoritma penjadwalan ini sebelum pengguna menggunakan simulasi dari algoritmanya. Menu Materi ini berupa tombol yang terdiri dari beberapa sub-menu, sub-menu tersebut berupa kumpulan tombol yang disatukan (Group) untuk kemudian diubah menjadi movie clip yang diberi nama menu_bar_materi, jika tombol menu Materi ditekan maka akan muncul sub-menu seperti yang terlihat pada gambar 4.6 berikut:

Gambar 4.6 Tampilan tombol Materi

(66)

pengguna tidak dapat melihat sub-menu yang sebenarnya disembunyikan, kemudian jika tombol Materi ditekan oleh pengguna maka menu_bar_materi._visible=true; yang akan dijalankan, berikut action script yang digunakan dalam tombol Materi:

on (release) {

menu_bar_materi._visible=true; }

Berikut action script yang digunakan untuk membuat sub-menu tersebut, action script tersebut terdapat pada frame 1:

menu_bar_materi._visible = false;

menu_bar_materi.algo_btn.onRollOver = function() { menu_bar_materi._visible = true;

};

menu_bar_materi.algo_btn.onRollOut = function() { menu_bar_materi._visible = false;

};

menu_bar_materi.fcfs_btn.onRollOver = function() { menu_bar_materi._visible = true;

};

menu_bar_materi.fcfs_btn.onRollOut = function() { menu_bar_materi._visible = false;

};

menu_bar_materi.sjf_btn.onRollOver = function() { menu_bar_materi._visible = true;

};

menu_bar_materi.sjf_btn.onRollOut = function() { menu_bar_materi._visible = false;

};

menu_bar_materi.rr_btn.onRollOver = function() { menu_bar_materi._visible = true;

};

menu_bar_materi.rr_btn.onRollOut = function() { menu_bar_materi._visible = false;

};

menu_bar_materi.prio_btn.onRollOver = function() { menu_bar_materi._visible = true;

};

menu_bar_materi.prio_btn.onRollOut = function() { menu_bar_materi._visible = false;

(67)

47

Dalam menu Materi tersebut terdapat lima sub-menu yang berfungsi untuk membantu pengguna dalam pemahaman materi dari algoritma penjadwalan, yaitu Algoritma Penjadwalan, First Come First Serve, Shortest Job First, Round Robin dan Priority.

Gambar 4.7 Salah satu tampilan Materi Algoritma

Penjadwalan

(68)

Gambar 4.8 Salah satu tampilan dari Materi First Come

First Serve

Didalam materi ini pengguna akan menemukan materi tentang algoritma FCFS, algoritma FCFS merupakan algoritma yang paling sederhana, dimana antrian yang lebih dahulu datang akan dilayani terlebih dahulu, serta terdapat sedikit contoh masalah yang diharapkan dapat membantu pengguna dalam pemahaman.

(69)

49

Didalam materi ini pengguna akan menemukan materi tentang algoritma SJF, algoritma SJF merupakan algoritma yang pelayanannya didasarkan pada lama proses yang terkecil dari setiap proses yang ada, dimana antrian yang memiliki lama proses terkecil maka akan lebih dahulu akan dilayani, serta terdapat sedikit contoh masalah yang diharapkan dapat membantu pengguna dalam pemahaman.

Gambar 4.10 Salah satu tampilan dari Materi Round Robin

(70)

Gambar 4.11 Salah satu tampilan dari Materi Priority

Didalam materi ini pengguna akan menemukan materi tentang algoritma Priority, algoritma Priority merupakan algoritma yang setiap prosesnya diberi status prioritas dan proses yang memiliki prioritas tertinggi (dalam kasus ini berupa nilai integer terkecil) akan dilayani terlebih dahulu, serta terdapat sedikit contoh masalah yang diharapkan dapat membantu pengguna dalam pemahaman.

Dalam setiap halaman materi, terdapat tombol yang berfungsi untuk membantu pengguna, terdapat tiga tombol, yaitu next (selanjutnya), back (sebelumnya) dan home (gambar rumah). Tombol selanjutnya digunakan pengguna untuk pindah menuju halaman berikutnya, sedangkan tombol sebelumnya digunakan untuk menuju halaman sebelumnya. Berikut salah satu contoh action script yang digunakan:

(71)

51

Script ini diletakkan pada tombol selanjutnya yang akan berfungsi untuk pindah frame selanjutnya, dalam kasus ini adalah akan berpindah menuju frame ‘3’.

on (release) { gotoAndStop(1); }

Script ini diletakkan pada tombol sebelumnya yang akan berfungsi untuk pindah frame sebelumnya, dalam kasus ini adalah akan berpindah menuju frame ‘1’.

Gambar 4.12 Tombol next back dalam setiap menu materi

Juga terdapat tombol home (gambar rumah) yang berfungsi untuk pindah halaman menuju halaman menu utama (gambar 4.4). Berikut contoh action script yang digunakan: on (release) {

_root.gotoAndStop(2); removeMovieClip(this); }

Script ini diletakkan pada tombol home, perintah ini akan memindahkan pengguna menuju halaman depan, yaitu halaman menu utama (gambar 4.4), dalam scene halaman utama terletak pada root frame ‘2’, removeMovieClip(this); berfungsi saat pengguna kembali menuju halaman menu utama, materi yang movie clip tidak terlihat oleh pengguna.

(72)

4.1.2.2 Menu Simulasi

Bagian utama dari program ini adalah simulasi algoritma penjadwalan disamping materi-materi yang berisi teori singkat tentang algoritma yang akan disimulasikan sebagai penunjang. Tampilan awal dari menu simulasi ini adalah sebagai berikut terlihat pada gambar 4.14.

Gambar 4.14 Halaman Simulasi

(73)

53

dengan jumlah proses maksimal adalah 5 proses seperti yang telah ditentukan. Dan untuk nilai-nilai dari setiap proses sendiri terdapat waktu saat tiba dan waktu lama proses serta nilai prioritas untuk algoritma Priority (Nonpreemtive maupun Preemtive). Jika tidak sesuai dengan batasan aplikasi ini, maka akan muncul pesan error. Seperti yang terlihat pada gambar 4.15.

Gambar 4.15 Pesan Error

Pesam error tersebut berupa movie clip yang didalamnya terdapat sebuah dynamic text yang berfungsi untuk menampilkan pesan error. Terdapat juga tombol X (silang) yang berfungsi untuk menutup pesan error tersebut. Pengecekan data masukkan oleh pengguna dilakukan didalam tombol Simulasi. Berikut potongan action script untuk keadaan error:

else {

_root.error._x = 0; _root.error._y = 0;

(74)

} ///*

if(cek_data()=='lebih tiba'){

_root.error._x = 0;

_root.error._y = 0;

this.error.error_msg.text="SAAT TIBA

MAKS=10!!!!!"; }

//*/

if(cek_data()=='lebih proses'){

_root.error._x = 0;

_root.error._y = 0;

this.error.error_msg.text="LAMA PROSES

MAKS=15!!!!!"; }

///

if(cek_data()=='lebih prio'){

_root.error._x = 0;

_root.error._y = 0;

this.error.error_msg.text="PRIORITAS

MAKS=5!!!!!"; }

}

Pada saat program dijalankan posisi awal dari movie clip error berada jauh diluar layar program, tepatnya dikoordinat (-950, 0). Sehingga pengguna tidak dapat melihat. Setelah dilakukan pengecekan dan memenuhi untuk terjadinya kondisi error, maka movie clip pesan error akan diubah koordinatnya ke posisi tengah, yaitu pada koordinat (0, 0). Sedangkan action script untuk tombol X (silang) pada pesan error adalah untuk mengeset kembali koordinat pada posisi awal, sehingga pesan tersebut tidak terlihat lagi oleh pengguna.

(75)

55

masing-masing data tersebut merupakan textfield. saattiba_p1 untuk textfield waktu saat tiba proses 1, lamaproses_p1 untuk textfield waktu lama proses proses 1, prioritas_p1 untuk textfield prioritas proses 1, saattiba_p2 untuk textfield waktu saat tiba proses 2, lamaproses_p2 untuk textfield waktu lama proses proses 2, prioritas_p2 untuk textfield prioritas proses 2 dan seterusnya hingga proses lima. Sehingga memudahkan untuk menampilkan textfield sebanyak data yang dimasukkan oleh pengguna.

Untuk masukan data secara manual, pengguna dapat memasukkan data dengan menggunakan keyboard pada komputer pengguna untuk menentukan nilainya, untuk masukan data secara random, data secara otomatis akan tertampil. Untuk membangkitkan bilangan random digunakan action script yang berada dibawah ini. Data manual ataupun random tersebut adalah data numeric yang tentunya nilai ini dibatasi, untuk waktu saat tiba dengan range antara 0-10, untuk waktu lama proses dengan range antara 1-15 dan untuk prioritas dengan range antara 1-5.

on (release) {

function randRange(min:Number, max:Number):Number {

var randomNum:Number =

Math.floor(Math.random() * (max - min + 1)) + min;

return randomNum;

}

///random p1

var n1:Number = randRange(1, 10)

(76)

var n3:Number = randRange(1, 5)

p1_mc.saattiba_p1.text=n1;

p1_mc.lamaproses_p1.text=n2;

p1_mc.prioritas_p1.text=n3;

p2_mc.lamaproses_p2.text=m2;

p2_mc.prioritas_p2.text=m3;

///random p3

var o1:Number = randRange(1, 10) var o2:Number = randRange(1, 15) var o3:Number = randRange(1, 5)

p3_mc.saattiba_p3.text=o1;

p3_mc.lamaproses_p3.text=o2;

p3_mc.prioritas_p3.text=o3;

///random p4

var y1:Number = randRange(1, 10) var y2:Number = randRange(1, 15) var y3:Number = randRange(1, 5)

p4_mc.saattiba_p4.text=y1;

p4_mc.lamaproses_p4.text=y2;

p4_mc.prioritas_p4.text=y3;

///random p5

var z1:Number = randRange(1, 10) var z2:Number = randRange(1, 15) var z3:Number = randRange(1, 5)

p5_mc.saattiba_p5.text=z1;

p5_mc.lamaproses_p5.text=z2;

p5_mc.prioritas_p5.text=z3; }

(77)

57

untuk mempelajari proses algoritma, diantaranya terdapat Diagram Status Proses (gambar 4.16), Diagram Waktu Kedatangan (gambar 4.17) dan Gant Chart (gambar 4.18).

Diagram Status Proses merupakan serangkaian status yang harus dilewati oleh proses, seperti yang telah dijelaskan pada BAB II. Dalam scene, animasi untuk diagram status proses ini terletak pada bagian Library dengan nama ball_ani, ball_ani berupa kumpulan dari movie clip masing-masing proses yang diwakili dengan warna untuk membedakannya, p1_ball berupa movie clip untuk proses ke-1, p2_ball berupa movie clip untuk proses ke-2, seterusnya sampai p5_ball berupa movie clip untuk proses ke-5. Berikut salah satu contoh action script yang digunakan untuk membuat animasi gerak pada Diagram Status Proses (p1_ball):

onClipEvent (load) { var id1:Number = 0; onClipEvent (enterFrame) { if (id1<_root.jalur.length-1 &&

(78)

if (dist>speed) {

x1 = (_root[_root.jalur[id1]]._x-20); y1 = (_root[_root.jalur[id1]]._y); x2 = (_root[_root.jalur[id2]]._x-20); y2 = (_root[_root.jalur[id2]]._y); dy = y2-y1;

dx = x2-x1;

dy1 = Math.abs(y2-this._y); dx1 = Math.abs(x2-this._x); var sudut = Math.atan2(dy, dx); var speedx = speed*Math.cos(sudut); var speedy = speed*Math.sin(sudut); if (x1 == x2 && y1 == y2) {

dist = Math.sqrt(dy1*dy1+dx1*dx1);

count++;

this._x = (_root[_root.jalur[_root.jalur.length-1]]._x-20);

this._y = (_root[_root.jalur[_root.jalur.length-1]]._y);

Gambar 4.16 Diagram Status Proses

(79)

59

untuk dieksekusi berdasarkan waktu kedatangan dari setiap proses. Diagram ini berupa movie clip yang dideklarasikan pada layer Deklarasi Variabel pada frame 1 yang diberi nama p1_diagram, untuk proses 1, p2_diagram untuk proses 2 dan seterusnya sampai p5_diagram untuk proses 5. Action script untuk melakukan animasi ini:

function diagram_waktu_kedatangan() {

for (var i = 0; i<_root.input_proses.text; i++) {

_root['name'+(i+1)+'_diagram'].text = "P"+(i+1);

_root['p'+(i+1)+'_diagram']._x=(_root.proses[i].sa attiba*10)+31;

_root['p'+(i+1)+'_diagram']._width= _root.proses[i].lamaproses*10;

} }

Gambar 4.17 Diagram Waktu Kedatangan

Pada bagian ini pengguna dapat melihat Gant Chart merupakan diagram yang berfungsi untuk melihat hasil eksekusi yang dilakukan oleh setiap algoritma berdasarkan sistem pengurutan yang digunakan pada algoritma tersebut.

(80)

4.1.2.3 Menu Bantuan

Bila pengguna memilih menu Bantuan, maka aplikasi akan menuju halaman berikut ini:

Gambar 4.19 Tampilan Halaman Bantuan

Halaman ini berupa movie clip yang diberi nama ‘bantuan’ yang menjelaskan bagaimana cara menggunakan aplikasi ini, dengan menekan tombol next (untuk pindah menuju halaman berikutnya) dan back (untuk pindah menuju halaman sebelumnya). Berikut action script yang terdapat pada tombol next dan back:

// Tombol next on (release) {

_parent.nextFrame(); }

// Tombol back on (release) {

(81)

61

Gambar 4.20 Tombol next dan tombol back

Juga terdapat tombol close yang berfungsi pengguna untuk menutup dari menu bantuan ini, berikut action script yang digunakan:

on (press) {

_parent.removeMovieClip(this);

}

Script ini akan memindahkan movie clip parent yang bernama ‘bantuan’ untuk kemudian kembali pada posisi semula, yaitu tepatnya pada koordinat (-642.1, 128.8)

Gambar 4.21 Tombol close menu bantuan

Menu bantuan dibuat menjadi sistem Drag and Drop, berarti menu ini berupa movie clip dan dapat dilihat tanpa harus pindah jendela, berikut action script untuk membuat Drag and Drop:

on (press) {

dept = _root.getNextHighestDepth();

_parent.swapDepths(_root.getInstanceAtDepth(dept -1));

startDrag(_parent); }

on (release) { stopDrag(); }

on (releaseOutside) { stopDrag();

(82)

4.2Kuisioner

Dari hasil pembuatan aplikasi kemudian penulis melakukan berbagai evaluasi secara berulang-ulang, salah satunya adalah dengan cara menyebar kuisioner kepada calon pengguna. Hal ini dilakukan agar penulis dapat melihat kelayakan berbagai aspek dari aplikasi yang telah dibuatnya dimata calon penggunanya. Selain itu penyebaran kuisioner ini ditujukan agar penulis dapat menerima masukan berupa saran dan kritik untuk kemajuan dari aplikasi yang telah atau akan dibuatnya dikemudian hari.

4.2.1 Kuisioner dan cara pengumpulan datanya

Alat pengumpulan data disebut angket, dan sumber datanya berupa orang atau disebut dengan istilah responden. Pada metode ini, pertanyaan diajukan secara tertulis dan disebarkan kepada responden untuk dijawab. Setelah pertanyaan dijawab, dikembalikan kepada peneliti. Pertanyaan yang diajukan berupa pertanyaan tertutup. Disebut pertanyaan tertutup karena pilihan jawabannya telah disediakan dan responden tinggal memilih jawaban yang sesuai.

Berikut ini adalah beberapa tahap yang dapat dilakukan untuk mengumpulkan data :

1. Pembuatan kuisioner

Pembuatan kuisioner ini dilakukan secara satu hari. Beberapa topik yang dapat dibahas dari masing-masing kuisioner adalah topik yang kiranya lebih mengarah ke evaluasi suatu hasil kerja.

(83)

63

Penyebaran kuisioner ini dilakukan kurang lebih selama 4 hari. 3. Penarikan kuisioner

Penarikan kuisioner dilakukan setelah pengguna mencoba aplikasi yang dibuat. Dan tidak lupa setelah menggunakan aplikasi tersebut pengguna diharapkan dapat memberikan evaluasinya pada lembar kuisioner tersebut.

4.2.2 Sasaran Kuisioner

Sasaran kuisioner untuk pengembangan aplikasi ini adalah diutamakan mahasiswa Universitas Sanata Dharma yang telah atau belum memahami cara kerja dari algoritma penjadwalan sistem operasi.

4.2.3 Form Kuisioner

(84)

4.2.4 Hasil dan Pembahasan

Dari kuisioner yang berisi sembilan pertanyaan dan disebarkan pada 20 orang responden, maka diperoleh hasil sebagai berikut:

1. Hasil prosentase pertanyaan 1:

Pertanyaan: “Apakah anda pernah mengikuti mata kuliah Sistem Operasi?”

Gambar 4.23 Perhitungan hasil kuisioner pertanyaan 1

Kesimpulan: 20 responden menjawab pernah mengikuti mata kuliah sistem operasi.

2. Hasil prosentase pertanyaan 2

Pertanyaan: “Apakah anda pernah memperlajari Algoritma Penjadwalan dalam mata kuliah Sistem Operasi?”

Gambar 4.24 Perhitungan hasil kuisioner pertanyaan 2 YA

TIDAK

(85)

65

Kesimpulan: 20 responden menjawab pernah mempelajari Algoritma Penjadwalan dalam mata kuliah sistem operasi.

3. Hasil prosentase pertanyaan 3

Pertanyaan: “Apakah anda mengerti dasar-dasar dari Algoritma Penjadwalan?”

Gambar 4.25 Perhitungan hasil kuisioner pertanyaan 3

Kesimpulan: 10 responden menjawab mengerti teori dasar dari Algoritma Penjadwalan dan 10 responden menjawab tidak.

4. Hasil prosentase pertanyaan 4

Pertanyaan: “Apakah anda mengetahui macam-macam dari Algoritma Penjadwalan?”

Gambar 4.26 Perhitungan hasil kuisioner pertanyaan 4

Kesimpulan: 7 responden menjawab mengetahui macam-macam

YA TIDAK

Gambar

Tabel Keterangan
Tabel 2.1 Tabel Status Dasar Proses
Gambar 2.2 Diagram Status Dasar Proses
Gambar 3.1 Diagram Use Case
+7

Referensi

Dokumen terkait

data yang telah diubah atau tombol kembali untuk menuju halaman

Biometrik yang biasa digunakan adalah suara, geometri tangan, retina, wajah dan sidik jari. Pada tugas akhir ini menggunakan sistem biometrik sidik jari karena sidik jari sedang

Diskripsi Use Case ini mendeskripsikan suatu kejadian yang dilakukan oleh Kepala Sekolah, Tata usaha, Wali Kelas, dan Guru Mata Ajar1. Kepala Sekolah, Tata usaha, Wali

Hal ini mengindikasikan bahwa untuk jarak 1 meter sampai 4 meter belum ada perubahan dari adanya pengaruh hubungan kuat sinyal dan throughput pada jaringan

“Sistem Pendukung Keputusan Penilaian Praktek Kerja Industri (Prakerin) di Cv.Asri Papua Consulindo Menggunakan Metode Fuzzy Mamdani” ini dengan baik. Tugas akhir ini

Robiatul Mardhiyah : Perbandingan Metode Double Exponential Smoothing dan Fuzzy Time Series pada Peramalan Penjualan, Skripsi, Teknik Informatika, Fakultas Teknik

Dari hasil percobaan yang dilakukan, menunjukkan bahwa teknik watermarking dengan menggunakan Discrete Wavelet Transform (DWT) memiliki ketahanan (robustness) yang

Berdasarkan beberapa penelitian diatas, untuk mengatasi permasalahan tentang identifikasi kerusakan mesin sepeda motor tersebut, maka dalam penelitian ini akan