REKAYASA PERANGKAT LUNAK Oleh: Al-Bahra bin Ladjamuddin B Editor: Indra Yatini B
Edisi Pertama Cetakan Pertama, 2006
Hak Cipta © 2006 pada penulis, Hak Cipta dilindungi undang-undang. Dilarang memperbanyak atau memindahkan sebagian atau seluruh isi buku ini dalam bentuk apa pun, secara elektronis maupun mekanis, termasuk memfotokopi, merekam, atau dengan teknik perekam lainnya, tanpa izin tertulis dari penerbit. GRAHA ILMU Candi Gebang Permai Blok R/6 Yogyakarta 55511 Telp. : 0274-882262; 0274-4462135 Fax. : 0274-4462136 E-mail :
[email protected]
Ladjamuddin B, Al-Bahra Rekayasa Perangkat Lunak/Al-Bahra bin Ladjamuddin B - Edisi Pertama - Yogyakarta; Penerbit Graha Ilmu, 2006 x+ 402 hlm, 1 Jil.: 23 cm. ISBN: 979-756-115-8 1. Komputer
I. Judul
KATA PENGANTAR
Ditengah maraknya perbincangan mengenai berbagai penerapan teknologi informasi dalam berbagai bidang kehidupan manusia dewasa ini, ternyata tidak akan terlepas dari, sejauhmana rekayasa yang telah dilakukan terhadap perangkat lunak sesuai dengan kebutuhan masyarakat dan dunia industri, serta metode desain dan analis yang telah dilakukan (terhadap perangkat lunak) untuk memvisualisasikan penerapan teknologi informasi tersebut dalam bentuk yang lebih nyata untuk dapat dinikmati dan dimanfaatkan oleh masyarakat. Dewasa ini rekayasa perangkat lunak merupakan salah satu disiplin ilmu yang sah, layak mendapatkan penelitian yang serius, studi yang sungguh-sungguh, dan diskusi yang matang. Sepanjang industri rekayasa perangkat lunak telah mengganti kerja programmer. Model proses perangkat lunak, metode-metode rekayasa perangkat lunak, dan alat-alat perangkat lunak, telah diadopsi dengan sukses dibanyak spektrum aplikasi industri. Para manajer dan praktisi menyadari kebutuhan akan pendekatan terhadap perangkat lunak yang lebih berdisiplin. Fuji serta syukur penulis haturkan keharibaan Sang Pencipta seluruh jagad raya ini dengan Maha Pengasih dan Maha Penyayang, yang dengan limpahan nimat sehat jasmaniyah dan nafsiyah yang di amanahkan kepada penulis, sehigga penulis dapat menyelesaikan buku ketiga dengan judul Rekayasa Perangkat Lunak. Buku ini bisa menjadi salah satu rujukan bagi mahasiswa ilmu komputer dalam mempelajari mata kuliah Rekayasa Perangkat Lunak yang diajarkan di berbagai perguruan tinggi ilmu
vi
Rekayasa Perangkat Lunak
komputer. Buku ini merupakan kumpulan dari transparansi dan makalah perkuliahan penulis selama mengajar mata kuliah Rekayasa Perangkat Lunak di berbagai perguruan tinggi (wilayah Jakarta, Karawang, Serang, dan Tangerang). Materi yang dibahas dalam buku ini meliputi Konsep Dasar Perangkat Lunak, dan Rekayasa Perangkat Lunak, Paradigma Rekayasa Perangkat Lunak, Manajemen Proyek Perangkat Lunak, Perencanaan Proyek Perangkat Lunak, Jaminan Kualitas Perangkat Lunak, Rekayasa Informasi, Konsep dan Pemodelan Analisis, Konsep dan Prinsip Desain, serta Metode Desain. Penulis menyadari buku ini masih sangat jauh dari sempurna, baik dari segi isi, cara penyajian ataupun bahasa. Kritik dan saran para pembaca sekalian sangat kami harapkan demi menyempurnakan isi buku ini.
Tangerang, Januari 2006
Al-Bahra bin Ladjamuddin B
vii
Pengantar
DAFTAR ISI KATA PENGANTAR .................................................................................... v DAFTAR ISI .................................................................................................. vii BAB I : PENDAHULUAN .......................................................................... 1 1.1. Definisi Rekayasa Perangkat Lunak ............................................. 2 1.2. Dasar-Dasar Pengertian Perangkat Lunak ................................... 3 1.3. Karakteristik Perangkat Lunak ...................................................... 5 1.4. Tujuan Rekayasa Perangkat Lunak .............................................. 7 1.5. Aplikasi-aplikasi Perangkat Lunak .............................................. 8 BAB II : PARADIGMA REKAYASA PERANGKAT LUNAK ....... 1 3 2.1. Pendahuluan ................................................................................... 13 2.2. Metode .............................................................................................. 13 2.3. Alat Bantu ........................................................................................ 14 2.4. Prosedur ........................................................................................... 14 2.5. Usaha Untuk Mengatasi Permasalahan Rekayasa Perangkat Lunak (Software Enginering) ..................................... 15 2.6. Prototyping ...................................................................................... 22
viii
Rekayasa Perangkat Lunak
BAB III : MANAJEMEN PROYEK PERANGKAT LUNAK ........... 2 9 3.1. Pendahuluan ................................................................................... 29 3.2. Pengertian Manajemen Proyek ..................................................... 30 3.3. Prinsip-Prinsip Pembentukan Sebuah Jaringan ......................... 37 3.4. Critical Path Methode ..................................................................... 45 BAB IV : PERENCANAAN PROYEK PERANGKAT LUNAK ...... 6 5 4.1. Pendahuluan ................................................................................... 65 4.2. Observasi Pada Estimasi ................................................................ 66 4.3. Tujuan Perencanaan Proyek ......................................................... 66 4.4. Ruang Lingkup Perangkat Lunak ................................................ 67 4.5. Manajemen Perangkat Lunak ....................................................... 68 4.6. Sumber Daya ................................................................................... 69 4.7. Teknik Dekomposisi ....................................................................... 70 4.8. Model Perkiraan Empiris ............................................................... 73 4.9. Dokumen Kebutuhan ..................................................................... 77 4.10. Keputusan Make-Buy .................................................................... 79 BAB V : JAMINAN KUALITAS PERANGKAT LUNAK ................. 8 5 5.1. Pendahuluan .................................................................................... 85 5.2. Konsep Kualitas ............................................................................... 86 5.3. Pergerakan Kualitas ........................................................................ 90 5.4. Jaminan Kualitas Perangkat Lunak .............................................. 91 BAB VI : REKAYASA INFORMASI ....................................................... 9 3 6.1. Pendahluan ..................................................................................... 93 6.2. Hirarki Rekayasa Sistem ................................................................ 96 6.3. Rekayasa Informasi ...................................................................... 104 6.4. Rekayasa Produk .......................................................................... 136 6.5. Pemodelan Arsitektur Sistem ...................................................... 152 6.6. Pemodelan Sistem dan Simulasi ................................................. 160 6.7. Spesifikasi Sistem .......................................................................... 162
Daftar Isi
ix
BAB VII : KONSEP DAN PEMODELAN ANALISIS ...................... 165 7.1. Pendahuluan ................................................................................. 165 7.2. Alat-Alat Bantu Perancangan Terstruktur ............................... 168 7.3. Objek Data ...................................................................................... 177 7.4. Atribut, Tupl, Domain, dan Degree ............................................ 185 7.5. Diagram Hubungan Antar Entitas ............................................. 189 BAB VIII : KONSEP DAN PRINSIP DESAIN .................................. 2 1 9 8.1. Pendahuluan ................................................................................. 219 8.2. Desain Perangkat Lunak dan Rekayasa Perangkat Lunak ..... 219 8.3. Metode Desain ............................................................................... 221 8.4. Flowchart ....................................................................................... 265 8.5. HIPO Chart .................................................................................... 292 8.6. NS Chart ......................................................................................... 300 8.7. Tabel Keputusan ........................................................................... 303 8.8. Structure Chart .............................................................................. 309 8.9. Bahasa Desain Program ............................................................... 313 8.10. Kriteria Perancangan Lain ......................................................... 344 BAB IX : PENGUJIAN PERANGKAT LUNAK ............................... 3 5 1 9.1. Pendahuluan ................................................................................. 351 9.2. Dasar-Dasar Pengujian Perangkat Lunak ................................. 352 9.3. Desain Test Case ........................................................................... 358 9.4. Pengujian ....................................................................................... 360 9.5. Pengujian untuk Aplikasi dan Lingkungan Khusus .............. 388 DAFTAR PUSTAKA ................................................................................. 3 9 7 TENTANG PENULIS ............................................................................... 3 9 9
Bab 1 Pendahuluan
Industri teknologi tinggi merupakan sebuah pilihan untuk meningkatkan pertumbuhan ekonomi Indonesia. Salah satu pilihan industri teknologi tinggi yang dapat dikembangkan adalah industri piranti lunak. Model industrialisasi yang telah sukses diterapkan di India akan digunakan sebagai pembanding. Kawasan ASEAN merupakan kawasan Asia Pasifik yang memiliki angka pertumbuhan yang menakjubkan (Tang dan Thant, 1993). Sebagai salah satu Bintang Asia dengan pertumbuhan ekonomi yang menakjubkan, pertumbuhan dan pembangunan Indonesia pada era PJPT I ditopang oleh melimpahnya sumber daya minyak dan gas bumi (MIGAS). Namun sayangnya sumber daya MIGAS ini makin lama semakin langka, sehingga Pemerintah berupaya mengembangkan sumber daya-sumber daya lain yang tidak tergantung kepada MIGAS. Sektor-sektor industri manufaktur merupakan sektor-sektor yang diharapkan dapat mengganti peranan MIGAS dalam mempertahankan laju pertumbuhan ekonomi. Salah satu pilihan industi yang menarik untuk dikembangkan adalah industri teknologi tinggi karena meskipun membutuhkan investasi yang sangat tinggi, tetapi industri ini juga memberikan yield yang tinggi pula. Pada era sepuluh tahun terakhir ini, berbagai industri teknologi tinggi seperti industri bioteknologi, industri petrokimia, dan industri pesawat terbang adalah industri-industri yang mendapat perhatian tinggi dari Pemerintah. Industri-industri tersebut telah dikembangkan dan diharapkan akan dapat menjadi benih-benih pendukung kekuatan ekonomi Indonesia di masa yang akan datang.
2
Rekayasa Perangkat Lunak
Salah satu teknologi lain yang juga sangat potensial untuk dikembangkan dan perlu mendapat dukungan serta perhatian pemerintah sebagai industri andalan non MIGAS adalah industri piranti lunak. Melihat kecenderungan globalisasi diberbagai sektor kehidupan saat ini, pengembangan industri piranti lunak ini di dalam negeri, tidak hanya menghasilkan keuntungan secara ekonomis semata, akan tetapi juga diperlukan untuk menunjang sektor-sektor di luar ekonomi, karena memasuki abad ke-21 nanti hampir tidak ada sektor kehidupan yang bebas dari keperluan piranti lunak untuk mencapai hasil yang optimal. Potensi untuk pengembangan industri piranti lunak ini ditunjang dengan besarnya volume pasar produk-produk teknologi informasi seperti komputer, dan sumber daya yang diperlukan sebagai infrastruktur industri pasar piranti lunak. Selain dari pada itu, makin pervassivenya perangkat komputer dan meluasnya otomatisasi di berbagai bidang juga menaikkan pemintaan kebutuhan piranti lunak.
1.1. DEFINISI REKAYASA PERANGKAT LUNAK Pada tanggal 15 Januari 1990 jaringan jarak jauh manual AT&T mengalami gangguan selama sembilan jam karena adanya kerusakan perangkat lunak. Jutaan hubungan telepon terputus. Dengan sendirinya bisnis seperti biro-biro travel yang menggantungkan pada jaringan tersebut juga mengalami gangguan. Peristiwa ini merupakan salah satu petunjuk akan pentingnya perangkat lunak serta dampaknya yang berpengaruh pada masyarakat bila terjadi kerusakan padanya. Ilmu yang membicarakan masalah seperti di atas adalah Rekayasa Perangkat Lunak. Rekayasa Perangkat Lunak telah dikenal sebagai bidang ilmu sejak tahun 1960-an. Oleh karena itu masih relatif baru, maka Rekayasa Perangkat Lunak ini belum memiliki banyak dasar-dasar ilmiah (scientific basic). Sebenarnya para pakar perangkat lunak ini tidak setuju dengan definisi rekayasa perangkat lunak itu sendiri. Terdapat beberapa definisi rekayasa perangkat lunak yang akan kita bahas diantaranya adalah : 1. Sebagai disiplin managerial dan teknis yang berhubungan dengan penemuan sistematik, produksi dan maintenance sistem perangkat lunak yang berkualitas tinggi, disampaikan pada waktu yang tepat serta memiliki harga yang mahal. 2. Suatu proses evolusi dan pemanfaatan alat dan teknik untuk pengembangan perangkat lunak.