Bab 1
Bab 1
Pertemuan Ke 1
PRODUK
Saat ini, perangkat lunak memiliki dua peran. Di satu sisi berfungsi sebagai
sebuah produk, dan di sisi lain sebagai kendaraan yang mengantarkan sebuah
produk. Sebagai produk, perangkat lunak mengantarkan potensi penghitungan
yang dibangun oleh perangkat lunak komputer.
Sebagai kendaraan yang dipakai untuk mengantarkan produk perangkat lunak
berlaku sebagai dasar untuk kontrol komputer (sistem operasi), komunikasi
informasi (jaringan) dan penciptaan serta kontrol dari program-program lain
(peranti dan lingkungan perangkat lunak).
Pada masa awal era komputer perangkat keras dengan tujuan umum menjadi
hal yang biasa, sementara perangkat lunak dirancang secara khusus untuk
aplikasi tertentu saja dan hanya memiliki areal distribusi yang terbatas. Produk
perangkat lunak (program yang dikembangkan untuk dijual kepada satu
pelanggan atau lebih) masih langka. Kebanyakan perangkat lunak
dikembangkan dan digunakan oleh orang atau organisasi yang sama. Pada era
ini tidak ada pendokumentasian.
Era kedua evolusi sistem komputer melingkupi dekade pertengahan tahun 1960
dan 1970-an (Gambar 1.1.). Sistem multiprogram dan multiuser
memperkenalkan konsep baru interaksi manusia dengan mesin. Teknik interaktif
membuka sebuah dunia aplikasi yang baru serta tingkat kecanggihan perangkat
lunak dan perangkat keras yang baru pula. Sistem real time dapat
mengumpulkan, menganalisis, serta mengubah data dari banyak sumber
sehingga proses pengontrolan dan penghasilan output tidak lagi berada di dalam
skala menit, melainkan detik. Kemajuan dalam penyimpanan on-line membawa
ke generasi pertama sistem manajemen database.
Lecture-Note Hal : 1
Rekayasa Perangkat Lunak
Era 2 Era 4
Era 1 Era 3
Era kedua juga ditandai dengan penggunaan produk perangkat lunak serta
kehadiran software houses.
Era ketiga evolusi sistem komputer dimulai pada pertengahan tahun 1970-an
dan berlangsung lebih dari satu dekade penuh. Sistem terdistribusi – multi
komputer, yang masing-masing melakukan fungsi secara konkuren dan
berkomunikasi satu dengan yang lain. Kesimpulan dari era ketiga ditandai
dengan kehadiran dan penyebaran pemakaian mikroprosesor.
Evolusi sistem komputer era keempat menjauhkan kita dari komputer individual
dan program komputer dan menuju pengaruh kolektif dari komputer dan
perangkat lunak. Mesin desktop yang kuat yang dikontrol oleh sistem operasi
yang canggih, jaringan lokal dan global, serta digabung dengan aplikasi
perangkat lunak yang maju, menjadi sebuah aturan. Teknologi yang berorientasi
pada objek dengan cepat menggantikan pendekatan pengembangan perangkat
lunak yang lebih konvensional dalam berbagai area aplikasi. Perangkat lunak
Lecture-Note Hal : 2
Rekayasa Perangkat Lunak
sistem pakar dan kecerdasan buatan pada akhirnya bergerak dari laboratorium
ke penerapan praktis untuk berbagai masalah dengan dengan jangkauan luas di
dunia nyata.
Tetapi selama era evolusi sistem berbasis komputer, serangkaian masalah yang
berhubungan dengan perangkat lunak masih muncul, dan intensitas masalah-
masalah tersebut terus bertambah.
1. Kemajuan perangkat keras terus berlanjut, melampaui kemampuan kita
untuk membangun perangkat lunak yang sesuai dengan perangkat keras
yang ada.
2. Kemampuan kita untuk membangun program baru tidak dapat memenuhi
kebutuhan akan program baru, juga tidak dapat membangun program yang
cukup cepat untuk memenuhi kebutuhan bisnis dan pasar.
3. Pemakaian komputer yang tersebar luas membuat masyarakat semakin
tergantung pada operasi perangkat lunak yang reliabel. Kerusakan ekonomis
yang besar dan potensi penderitaan manusia dapat muncul bila terjadi
kegagalan perangkat lunak.
4. Kita berjuang untuk membangun perangkat lunak komputer dengan
reliabilitas dan kualitas yang sangat tinggi.
5. Kemampuan kita untuk mendukung program yang ada terhambat oleh
buruknya desain serta sumber daya yang tidak memadai.
Lecture-Note Hal : 3
Rekayasa Perangkat Lunak
Lecture-Note Hal : 4
Rekayasa Perangkat Lunak
tetapi tidak dapat dibawa keluar untuk diperbaiki, karena tidak ada lagi yang
dapat menggantikan posisinya.
Sekarang ini perangkat lunak sudah menjadi lahan yang sangat kompetitif.
Perangkat lunak yang dulu dibangun secara internal di dalam komputer sekarang
sudah dapat diproduksi secara terpisah.
Perangkat lunak lebih merupakan elemen logika dan bukan merupakan elemen
sistem fisik. Dengan demikian, perangkat lunak memiliki ciri yang berbeda dari
perangkat keras :
1. Perangkat lunak dibangun dan dikembangkan, tidak dibuat dalam bentuk
yang klasik (pabrikasi). Biaya untuk perangkat lunak dikonsentrasikan kepada
pengembangan. Hal ini berarti proyek perangkat lunak tidak dapat diatur
seperti pengaturan proyek-proyek pemanufakturan.
2. Perangkat lunak tidak pernah usang. Perangkat lunak tidak rentan
terhadap pengaruh lingkungan yang merusak yang menyebabkan perangkat
Lecture-Note Hal : 5
Rekayasa Perangkat Lunak
Reusability merupakan suatu ciri penting dari komponen perangkat lunak kualitas
tinggi. Sebuah komponen perangkat lunak harus didesain dan
diimplementasikan sehingga dapat dipakai lagi pada berbagai program yang
berbeda.
Komponen perangkat lunak dibangun dengan bahasa pemrograman yang
memiliki kosakata yang terbatas, sebuah tata bahasa yang dibatasi secara
eksplisit, serta aturan-aturan syntax dan semantik yang dibentuk secara baik.
Bahasa tingkat mesin merupakan perwakilan simbolik dari serangkaian instruksi
CPU. Bila program tidak dirancang dengan baik dan hanya memiliki sedikit
dokumentasi, maka bahasa tingkat mesin akan menjadi sebuah mimpi buruk.
Lecture-Note Hal : 6
Rekayasa Perangkat Lunak
Lecture-Note Hal : 7
Rekayasa Perangkat Lunak
Lecture-Note Hal : 8
Rekayasa Perangkat Lunak
Dalam Webster’s Dictionary kata crisis didefinisikan sebagai titik balik dalam
segala hal; waktu yang menentukan atau krusial, keadaan atau kejadian. Tetapi
untuk perangkat lunak, sudah tidak ada lagi “titik balik” tidak ada “waktu yang
menentukan,” dan yang ada hanya perubahan evolusi yang lambat. Dalam
industri perangkat lunak, kita telah mengalami krisis selama 30 tahun, dan
bentuknya sangat kontrakdiktif.
Masalah-masalah yang ada tidak hanya terbatas pada perangkat lunak yang
tidak berfungsi dengan baik, tetapi juga pada penderitaan yang melingkupi
masalah-masalah yang berhubungan dengan bagaimana kita mengembangkan
perangkat lunak, bagaimana kita memelihara suatu volume perangkat lunak
yang sedang tumbuh, dan bagaimana kita dapat mengejar kebutuhan akan lebih
banyak perangkat lunak lagi.
Lecture-Note Hal : 9
Rekayasa Perangkat Lunak
Lecture-Note Hal :
10
Rekayasa Perangkat Lunak
Lecture-Note Hal :
11
Rekayasa Perangkat Lunak
Mitos Para Praktisi. Seperti yang ditulis sebelumnya, selama masa awal
perangkat lunak, pemrograman dilihat sebagai sebuah karya seni. Cara dan
kebiasaan lama tetap sukar lenyap.
Mitos: Sekali kita menulis program, dan dapat membuatnya bekerja,
pekerjaan kita akan terselesaikan.
Kenyataan: Data industri menunjukkan bahwa antara 50 sampai 70 dari
semua usaha yang dilakukan pada sebuah program akan terus dilakukan
sampai program diantar ke tangan konsumen untuk yang pertama kalinya.
Mitos: Saya benar-benar tidak mempunyai cara untuk “menilai” kualitas
program, kecuali jika saya dapat membuat program itu “berjalan”.
Kenyataan: Salah satu dari mekanisme jaminan kualitas perangkat lunak
yang paling efektif dapat diperkirakan dari awal proyek – formal technical
review. Tinjauan perangkat lunak merupakan “filter kualitas” yang lebih
efektif daripada pengujian untuk menemukan kelas-kelas kesalahan
perangkat lunak yang khusus.
Mitos: satu-satunya yang dapat disampaikan untuk sebuah proyek yang
sukses adalah program yang bekerja.
Kenyataan: Program yang bekerja hanya merupakan salah satu bagian
dari konfigurasi perangkat lunak yang menyangkut program, dokumen,
dan data. Dokumentasi membentuk fondasi bagi perkembangan yang
berhasil, serta yang lebih penting lagi, memberikan tuntunan bagi tugas
pemeliharaan perangkat lunak.
Lecture-Note Hal :
12