Departemen Pendidikan Nasional
Direktorat Jenderal Manajemen Pendidikan Dasar Dan Menengah
2008 Rekayasa
Perangkat Lunak
Buku Teks Sekolah Menengah Kejuruan
Aunur R. Mulyarto
Aunur R. Mulyarto
REKAYASA
PERANGKAT LUNAK
Untuk SMK
Direktorat Pembinaan Sekolah Menengah Kejuruan
Direktorat Jenderal Manajemen Pendidikan Dasar dan Menengah Departemen Pendidikan Nasional
Hak Cipta pada Departemen Pendidikan Nasional Dilindungi Undang-undang
REKAYASA
PERANGKAT LUNAK
Untuk SMK
Penulis : Aunur R. Mulyarto Ilustrasi, Tata Letak :
Perancang Kulit :
Ukuran Buku : ……. x ……. cm
Diterbitkan oleh Direktorat Pembinaan Sekolah Menengah Kejuruan Direktorat Jenderal Manajemen Pendidikan Dasar dan Menengah Departemen Pendidikan Nasional
Tahun 2008
Diperbanyak oleh….
…...
, Mulyarto R Aunur, ---
… Rekayasa Perangkat Lunak : SMK/oleh Aunur R. Mulyarto/
Jakarta:Direktorat Pembinaan Sekolah Menengah Kejuruan, Departemen ---- Pendidikan Nasional, 2008.
vi. ... hlm.
ISBN …..-……-……-…..
1. Rekayasa Perangkat Lunak I. Judul
KATA SAMBUTAN
Puji syukur kami panjatkan kehadirat Allah SWT, berkat rahmat dan karunia Nya, Pemerintah, dalam hal ini, Direktorat Pembinaan Sekolah Menengah Kejuruan Direktorat Jenderal Manajemen Pendidikan Dasar dan Menengah Departemen Pendidikan Nasional, pada tahun 2008, telah melaksanakan penulisan pembelian hak cipta buku teks pelajaran ini dari penulis untuk disebarluaskan kepada masyarakat melalui website bagi siswa SMK.
Buku teks pelajaran ini telah melalui proses penilaian oleh Badan Standar Nasional Pendidikan sebagai buku teks pelajaran untuk SMK yang memenuhi syarat kelayakan untuk digunakan dalam proses pembelajaran melalui Peraturan Menteri Pendidikan Nasional Nomor 12 tahun 2008.
Kami menyampaikan penghargaan yang setinggi-tingginya kepada seluruh penulis yang telah berkenan mengalihkan hak cipta karyanya kepada Departemen Pendidikan Nasional untuk digunakan secara luas oleh para pendidik dan peserta didik SMK di seluruh Indonesia.
Buku teks pelajaran yang telah dialihkan hak ciptanya kepada Departemen Pendidikan Nasional tersebut, dapat diunduh (download), digandakan, dicetak, dialihmediakan, atau difotokopi oleh masyarakat. Namun untuk penggandaan yang bersifat komersial harga penjualannya harus memenuhi ketentuan yang ditetapkan oleh Pemerintah. Dengan ditayangkannya soft
copy ini akan lebih memudahkan bagi masyarakat untuk mengaksesnyasehingga peserta didik dan pendidik di seluruh Indonesia maupun sekolah Indonesia yang berada di luar negeri dapat memanfaatkan sumber belajar ini.
Kami berharap, semua pihak dapat mendukung kebijakan ini. Selanjutnya, kepada para peserta didik kami ucapkan selamat belajar dan semoga dapat memanfaatkan buku ini sebaik-baiknya. Kami menyadari bahwa buku ini masih perlu ditingkatkan mutunya. Oleh karena itu, saran dan kritik sangat kami harapkan.
Jakarta,
Direktur Pembinaan SMK
ii
Pengantar Penulis
Dengan segala kerendahan hati, kami mengucapkan syukur kepada Allah SWT. Karena hanya dengan lindungan, rahmat dan karuniaNya-lah maka buku ini dapat diselesaikan.
Buku yang berjudul ’Rekayasa Perangkat Lunak’ merupakan buku yang disusun untuk memenuhi kebutuhan buku pegangan bagi siswa Sekolah Menengah Kejuruan. Khususnya pada program keahlian Rekayasa Perangkat Lunak.
Pada kesempatan ini kami ingin menyampaikan terima kasih yang sebesar-besarnya kepada :
- Direktur Pembinaan SMK atas kesempatan yang diberikan pada penulis untuk menyusun dan menyelesaikan buku ini.
- Prof.Dr.Ir. Harijono, M.App.Sc selaku Dekan Fakultas Teknologi Pertanian Universitas Brawijaya Malang, yang telah memberikan ijin dan kemudahan bagi kami dalam melaksanakan kegiatan penulisan buku.
- Rekan-rekan sejawat di Jurusan Teknologi Industri Pertanian, Fakultas Teknologi Pertanian, Universitas Brawijaya Malang yang telah memberikan bantuan baik moril maupun materiil selama penulisan buku ini berlangsung.
- Rekan-rekan di Direktorat Pembinaan SMK yang telah banyak membantu dalam masalah-masalah administratif selama berlangsungnya penulisan buku ini.
Demi penyempurnaan buku ini, kami sangat mengharapkan saran, kritik dan masukan. Akhirnya kami berharap semoga laporan ini bermanfaat.
Amien.
Malang, Desember 2008
Penulis
iv
Daftar Isi
Halaman
PENGANTAR PENULIS i
PENGANTAR DIREKTUR PEMBINAAN SMK ii
DAFTAR ISI iv
DAFTAR GAMBAR xi
DAFTAR TABEL xxi
DAFTAR LAMPIRAN xxii
DAFTAR ISTILAH / GLOSARI xxiii
SINOPSIS xxvi
PETA KOMPETENSI xxvii
1 PENDAHULUAN 1
1.1. Pengertian 1
1.2. Tujuan Rekayasa Perangkat Lunak 2
1.3. Ruang Lingkup 3
1.4. Rekayasa Perangkat Lunak Dan Disiplin Ilmu Komputer 4 1.5. Rekayasa Perangkat Lunak Dan Disiplin Ilmu Lain 6 1.6. Perkembangan Rekayasa Perangkat Lunak 7
1.7. Profesi Dan Sertifikasi 8
1.8. Tentang Buku Ini 9
1.8.1. Isi 9
1.8.2. Bagaimana menggunakan buku ini 10
2 PRINSIP PEMECAHAN MASALAH DALAM REKAYASA PERANGKAT LUNAK
13
2.1. Masalah 11
2.1.1. Pengertian 11
2.1.2. Tipe-tipe masalah 13
2.2. Pemecahan Masalah 15
2.2.1. Proses 15
2.2.2. Strategi 16
2.3. Solusi Masalah 21
2.4. Pendekatan Sistem Dalam Pemecahan Masalah 22
2.4.1. Sistem 22
2.4.2. Pendekatan Sistem 24
3 METODE REKAYASA PERANGKAT LUNAK 25 3.1. Model Proses Rekayasa Perangkat Lunak 25
3.1.1. The Waterfall Model 27
v
3.1.2. Prototyping Model 28
3.1.3. Unified Process dan Unified Modeling Language 30
3.2. Tahapan Rekayasa Perangkat Lunak 33
3.2.1. Analisis 33
3.2.2. Disain 38
3.2.3. Konstruksi 39
3.2.4. Pengujian 39
3.2.5. Perawatan dan Konfigurasi 40
4 DASAR SISTEM KOMPUTER 41
4.1. Data 41
4.2. Informasi 41
4.3. Sistem Komputer 43
4.4. Perangkat Keras 44
4.5. Perangkat Lunak 52
4.5.1. Klasifikasi 52
5 SISTEM OPERASI 57
5.1. Fungsi 57
5.1.1. Antar muka pengguna 57
5.1.2. Manajemen sumberdaya 60
5.1.3. Manajemen file 60
5.1.4. Manajemen proses 61
5.1.5. Manajemen system masukan dan keluaran (I / O) 62
5.2. BIOS 63
5.3. Jenis-Jenis Sistem Operasi 64
5.3.1. DOS 64
5.3.2. UNIX 65
5.3.3. Microsoft Windows 68
5.3.4. Apple Mac OS 70
5.3.5. Linux 71
5.4. Menjalankan Sistem Operasi 72
5.4.1. Instalasi 73
5.4.2. Booting 76
5.4.3. Perintah berbasis teks 78
5.4.4. Bekerja dengan GUI 89
6 JARINGAN KOMPUTER 91
6.1. Topologi 91
6.2. Jangkauan 94
6.3. Protocol dan Tcp/Ip 96
6.4. Perangkat Keras Jaringan 98
6.5. Bekerja Dalam Komputer Jaringan 99
6.5.1. Persiapan 100
6.5.2. Konfigurasi koneksi jaringan 103
vi
6.5.3. Berbagi file, printer, dan sumber daya lain 103
7 DASAR-DASAR PEMROGRAMAN 106
7.1. Program dan Bahasa Pemrograman 106
7.2. Klasifikasi Bahasa Pemrograman 107
7.3. Interpreter dan Compiler 109
7.4. Tahapan-Tahapan Pemrograman 110
7.5. Teknik Pemrograman 113
7.5.1. Pemrograman Prosedural 113
7.5.2. Pemrograman Terstruktur 114
7.5.3. Pemrograman Berorientasi Obyek 117
7.6. Pemilihan Bahasa Pemrograman 119
8 TIPE DATA, VARIABEL, KONSTANTA, DAN OPERATOR
121
8.1. Tipe Data 121
8.1.1. Numerik 122
8.1.2. Character 123
8.1.3. Boolean 124
8.1.4. Array 124
8.1.5. Record 124
8.1.6. Image 124
8.1.7. Date Time 125
8.1.8. Tipe data lain 125
8.2. Variabel 127
8.3. Konstanta 129
8.4. Operator 130
8.4.1. Operator aritmatika 130
8.4.2. Operator perbandingan 131
8.4.3. Operator logika 132
9 ALGORITMA PEMROGRAMAN DASAR 133
9.1. Pengertian Algoritma 133
9.2. Cara Penulisan Algoritma 135
9.3. Flowchart 136
9.4. Struktur berurutan 138
9.5. Struktur pemilihan / percabangan 141
9.5.1. Struktur pemilihan sederhana 142
9.5.2. Struktur pemilihan bersarang (nested) 143
9.6. Struktur Pengulangan 147
9.6.1. Struktur pengulangan dengan For 147
9.6.2. Struktur pengulangan dengan While, Loop, dan Repeat 150
10 ALGORITMA PEMROGRAMAN LANJUTAN 153
10.1. Prosedur 153
vii
10.2. Array 156
10.2.1. Array satu dimensi 157
10.2.2. Array multi-dimensi 158
11 PENERAPAN ALGORITMA DALAM BAHASA PEMROGRAMAN
161
11.1. Sekilas Tentang Bahasa Pemrograman Python 161
11.1.1. Menjalankan Python 162
11.2. Variabel, Konstanta, Tipe Data dan Operator 165
11.3. Perintah Dasar Input - Output 167
11.4. Penerapan Struktur Algoritma 168
11.4.1. Struktur Berurutan 168
11.4.2. Struktur Pemilihan 170
11.4.3. Struktur Kendali Pengulangan 176
11.5. Fungsi 182
11.5.1. Fungsi built in 182
11.5.2. Membuat fungsi 183
11.6. Modul 184
11.6.1. Modul dalam standar library 185
11.6.2. Membuat Modul 187
12 PEMROGRAMAN BERBASIS GUI 189
12.1. Pengenalan Pada Visual Basic 189
12.1.1. Memulai Visual Basic 190
12.1.2. IDE Visual Basic 191
12.1.3. Toolbox 193
12.1.4. Mengatur Lingkungan Kerja Visual Basic 195 12.2. Prinsip Pokok Pemrograman Berbasis GUI 197
12.2.1. Visual Design 197
12.2.2. Event-Driven Programming 199
12.3. Struktur Kendali 199
12.4. Mengenal Procedure dan Fungsi 206
12.4.1. Sub Procedure 207
12.4.2. Function Procedure 207
12.4.3. Fungsi built-in 211
13 PENCARIAN KESALAHAN DAN PENGUJIAN 212
13.1. Jenis-Jenis Kesalahan 212
13.1.1. Run Time Errors 213
13.1.2. Logical Errors 218
13.1.3. Precision Errors 219
13.2. Teknik Pencarian Kesalahan 220
13.3. Pengujian 221
13.4. Dokumentasi 222