A. Sejarah Singkat Rekayasa Perangkat Lunak
Rekayasa
perangkat lunak telah berkembang sejak pertama kali diciptakan pada
tahun 1940-an hingga kini. Fokus utama pengembangannya adalah untuk
mengembangkan praktek dan teknologi untuk meningkatkan produktivitas
para praktisi pengembang perangkat lunak dan kualitas aplikasi yang
dapat digunakan oleh pemakai.
Ø 1945 - 1965: Awal
Istilah
software engineering digunakan pertama kali pada akhir 1950-an dan awal
1960-an. Saat itu, masih terdapat debat tajam mengenai aspek
engineering dari pengembangan perangkat lunak.
Pada
tahun 1968 dan 1969, komite sains NATO mensponsori dua konferensi
tentang rekayasa perangkat lunak, yang memberikan dampak kuat terhadap
perkembangan rekayasa perangkat lunak. Banyak yang menganggap bahwa dua
konferensi inilah yang menandai awal resmi profesi rekayasa perangkat
lunak.
Pada
tahun 1960-an hingga 1980-an, banyak masalah yang ditemukan para
praktisi pengembangan perangkat lunak. Banyak projek yang gagal, hingga
masa ini disebut sebagai krisis perangkat lunak.
Kasus kegagalan pengembangan perangkat lunak terjadi mulai dari projek
yang melebihi anggaran, hingga kasus yang mengakibatkan kerusakan fisik
dan kematian. Salah satu kasus yang terkenal antara lain meledaknya
roket Ariane akibat kegagalan perangkat lunak.
Selama
bertahun-tahun, para peneliti memfokuskan usahanya untuk menemukan
teknik jitu untuk memecahkan masalah krisis perangkat lunak.
Berbagai
teknik, metode, alat, proses diciptakan dan diklaim sebagai senjata
pamungkas untuk memecahkan kasus ini. Mulai dari pemrograman
terstruktur, pemrograman berorientasi object, perangkat pembantu
pengembangan perangkat lunak (CASE tools), berbagai standar, UML
hingga metode formal diagung-agungkan sebagai senjata pamungkas untuk
menghasilkan software yang benar, sesuai anggaran dan tepat waktu.
Pada tahun 1987, Fred Brooks menulis artikel No Silver Bullet,
yang berproposisi bahwa tidak ada satu teknologi atau praktek yang
sanggup mencapai 10 kali lipat perbaikan dalam produktivitas
pengembangan perangkat lunak dalam tempo 10 tahun.
Sebagian
berpendapat, no silver bullet berarti profesi rekayasa perangkat lunak
dianggap telah gagal. Namun sebagian yang lain justru beranggapan, hal
ini menandakan bahwa bidang profesi rekayasa perangkat lunak telah cukup
matang, karena dalam bidang profesi lainnya pun, tidak ada teknik
pamungkas yang dapat digunakan dalam berbagai kondisi.
B. Pengertian Rekayasa Perangkat Lunak
1. Istilah
Rekayasa Perangkat Lunak (RPL) secara umum disepakati sebagai
terjemahan dari istilah Software Engineering. Istilah Software
Engineering mulai dipopulerkan tahun 1968 pada Software Engineering
Conference yang diselenggarakan oleh NATO. Sebagian orang mengartikan
RPL hanya sebatas pada bagaimana membuat program komputer. Padahal ada
perbedaan yang mendasar antara perangkat lunak (software) dan program
komputer.
2. RPL atau Software Engineering (SE) à
Disiplin ilmu yang membahas semua aspek produksi perangkat lunak, mulai
dari tahap awal spesifikasi sistem sampai pemeliharaan sistem setelah
digunakan. Ada 2 istilah kunci disini :
a. “disiplin rekayasa” à Perekayasa membuat suatu alat bekerja. Menerapkan
teori, metode, dan alat bantu yang sesuai, selain itu mereka
menggunakannya dengan selektif dan selalu mencoba mencari solusi
terhadap permasalahan.
b. “semua aspek produksi perangkat lunak” à
RPL tidak hanya berhubungan dengan proses teknis dari pengembangan
perangkat lunak tetapi juga dengan kegiatan seperti Manajemen proyek PL
dan pengembangan alat bantu, metode, dan teori untuk mendukung produksi
PL.
Kesimpulannya, Rekayasa Perangkat Lunak adalah proses
membuat perangkat lunak dengan menggunakan kaidah-kaidah atau
prinsip-prinsip rekayasa sehingga dihasilkan perangkat lunak yang
berkualitas.
Secara lebih khusus kita dapat menyatakan tujuan RPL adalah :
a. Memperoleh biaya produksi perangkat lunak yang rendah.
b. Menghasilkan perangkat lunak yang kinerjanya tinggi, andal dan tepat waktu.
c. Menghasilkan perangkat lunak yang dapat bekerja pada berbagai jenis platform.
d. Menghasilkan perangkat lunak yang biaya perawatannya rendah.
Metode-metode RPL
n Pendekatan-pendekatan
terstruktur terhadap pengembangan perangkat lunak mencakup model,
notasi, aturan, saran pengembangan sistem (rekomendasi), dan panduan
proses.
n Deskripsi model sistem à Deskripsi model yang harus dikembangkan dan notasi yang digunakan untuk mendefinisikan model-model ini. Ex : model aliran data.
n Aturan à Batasan yang berlaku bagi model sistem. Ex : Setiap entitas pada model sistem harus memiliki nama yang unik.
n Rekomendasi à
Saran dalam membentuk perancangan yang baik. Ex : Tidak ada objek yang
memiliki lebih dari tujuh sub-objek yang berhubungan dengannya.
n Panduan Proses à
Aktifitas yang bisa diikuti untuk mengembangkan model sistem. Ex :
Atribut objek harus didokumentasi sebelum mendefinisikan operasi yang
berhubungan dengan objek.