Pengenalan Rekayasa Perangkat Lunak
RPL
(REKAYASA PERANGKAT LUNAK)
1.
Pengertian RPL
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.
Rekayasa Perangkat Lunak (RPL) atau dalam bahasa
Inggris disebut Software Engineering (SE) adalah satu
bidang yang mendalami mengenai cara-cara pengembangan perangkat
lunak termasuk pembuatan, pemeliharaan, manajemen organisasi
pengembangan perangkat lunak dan manajemen kualitas. IEEE Computer Society mendefinisikan
Rekayasa Perangkat Lunak sebagai penerapan suatu pendekatan yang sistematis,
disiplin dan terkuantifikasi atas pengembangan, penggunaan dan pemeliharaan
perangkat lunak, serta studi atas pendekatan-pendekatan ini, yaitu penerapan
pendekatan engineering atas perangkat lunak. Jadi, dapat dikatakan Rekayasa Perangkat Lunak adalah
pengubahan perangkat lunak guna mengembangkan, memelihara, dan membangun
kembali dengan menggunakan prinsip rekayasa untuk menghasilkan perangkat lunak
yang dapat bekerja lebih efisien dan efektif untuk pengguna.
Kriteria yang dapat digunakan sebagai acuan dalam merekayasa
perangkat lunak :
- Dapat terus dirawat dan dipelihara
(Maintainability)
- Dapat mengikuti perkembangan
teknologi (Dependability)
- Dapat mengikuti keinginan pengguna
(Robust)
- Efektif dan efisien dalam
menggunakan energi dan penggunaannya
- Dapat memenuhi kebutuhan yang
diinginkan (Usability)
Sebagian orang mengartikan RPL hanya sebatas pada bagaimana
membuat program komputer. Padahal ada perbedaan yang mendasar antara perangkat
lunak (software) dan program
komputer.
Ø Perangkat
lunak adalah seluruh perintah yang digunakan untuk memproses informasi.
Perangkat lunak dapat berupa program atau prosedur. Program adalah kumpulan
perintah yang dimengerti oleh computer, sedangkan prosedur adalah perintah yang
dibutuhkan oleh pengguna dalam memproses informasi (O’Brien, 1999).
Ø RPL
adalah suatu ilmu yang membahas semua aspek produksi perangkat lunak, mulai
dari tahap awal yaitu analisa kebutuhan pengguna, menentukan spesifikasi dari
kebutuhan pengguna, disain, pengkodean, pengujian sampai pemeliharaan sistem
setelah digunakan.
Kelengkapan yang diharapkan ada dalam
perangkat lunak :
- Dapat dipelihara : Perangkat lunak dapat ditulis
sedemikian rupa sehingga perangkat lunak dapat berubah seiring dengan
perubahan kebutuhan pelanggan.
- Dapat diandalkan : Perangkat lunak mempunyai
serangkaian karakteristik, termasuk keandalan, keamanan dan keselamatan.
- Efisien : Perangkat lunak tidak boleh menggunakan
sumber daya sistem seperti siklus memori dan prosesor.
- Kemampupakaian : Perangkat lunak
harus dapat dipakai, memiliki interface user yang bagus dan dokumentasi
yang mencukupi.
2.
Tujuan RPL
Dapat diartikan tujuan dari RPL yaitu bahwa bidang rekayasa
akan selalu berusaha menghasilkan output yang kinerjanya tinggi, biaya rendah
dan waktu penyelesaian yang tepat. Secara lebih khusus dapat menyatakan tujuan
RPL adalah:
a. Memperoleh biaya produksi perangkat
lunak yang rendah
- Menghasilkan
perangkat lunak yang kinerjanya tinggi, andal dan tepat waktu
- Menghasilkan
perangkat lunak yang dapat bekerja pada berbagai jenis platform
- Menghasilkan
perangkat lunak yang biaya perawatannya rendah dan terjangkau
- Menghasilkan sebuah perangkat
lunak yang berkualitas. Yang dimaksud dengan berkualitas dapat dilihat
dari tiga sisi, sisi sponsor (individu atau organisasi yang telah
mengeluarkan biaya dalam pembangunan perangkat lunak), sisi pemakai
(siapapun yang menggunakan perangkat lunak tersebut), sisi maintainer / modifier (yang memelihara
dan memodifikasi perangkat lunak tersebut).
3.
Ruang Lingkup
Perangkat Lunak
1. Software Requirements berhubungan dengan spesifikasi kebutuhan dan persyaratan
perangkat lunak
2. Software Desain mencakup proses penampilan arsitektur, komponen, antar
muka, dan karakteristik lain dari perangkat lunak
3. Software Construction berhubungan dengan detail pengembangan perangkat lunak,
termasuk algoritma, pengkodean, pengujian dan pencarian kesalahan
4. Software Testing meliputi pengujian pada keseluruhan perilaku perangkat
lunak
5. Software Maintenance mencakup upaya-upaya perawatan ketika perangkat lunak telah
dioperasikan
6. Software Configuration Management berhubungan dengan usaha perubahan
konfigurasi perangkat lunak untuk memenuhi kebutuhan tertentu
7. Software Engineering Management berkaitan dengan pengelolaan dan
pengukuran RPL, termasuk perencanaan proyek perangkat lunak
8. Software Engineering Tools And Methods mencakup kajian teoritis tentang alat
bantu dan metode RPL
9. Software Engineering Process berhubungan dengan definisi,
implementasi pengukuran, pengelolaan, perubahan dan perbaikan proses RPL
10. Software Quality menitik beratkan pada kualitas dan daur hidup perangkat
lunak
4.
Produk Perangkat Lunak
1. Produk generic
Produk generik merupakan
perangkat lunak yang dibuat oleh pengembang perangkat lunak untuk dijual atau
dipopulerkan (open source) tanpa ada yang memesan terlebih dahulu,
perangkat lunak yang termasuk dalam produk generik misalnya perangkat lunak
sistem operasi, pernagkat lunak pendukung perkantoran untuk membuat
dokumen, slide presentasi, atau penghitungan dalam
bentuk papersheet dan lain-lain.
2. Produk pemesanan
Produk pemesanan merupakan produk perangkat lunak yang
dibuat karena ada pelanggan yang melakukan pemesanan, misalnya instansi
memerlukan perangkat lunak untuk kebutuhan bisnis dalam instansi nya, maka
instansi tersebut akan bekerja sama dengan pengembang untuk membuat perangkat
lunak yang dibutuhkan.
Perbedaan penting antara tipe-tipe perangkat lunak :
1)
Pada produk generik, organisasi yang
mengembangkan perangkat lunak mengontrol spesifikasi perangkat lunak.
2)
Pada produk pesanan, spesifikasi biasanya
dikembangkan dan dikontrol oleh organisasi yang membeli perangkat lunak
tersebut.
5.
Aplikasi Perangkat Lunak
Dilihat dari aplikasinya, perangkat lunak dibedakan menjadi :
1.
Perangkat Lunak Sistem (Sistem Software)
Sekumpulan
program yang ditulis untuk kepentingan program lain, contoh editor, driver dan
lain-lain.
2. Perangkat
Lunak Waktu Nyata (Real Time Software)
Perangkat
lunak yang digunakan untuk mengukur/menganalisis atau mengontrol proses
pemasukan data dari lingkungan luar sampai menghasilkan laporan yang
diinginkan.
3. Perangkat
Lunak Bisnis (Business Software)
Perangkat
lunak yang memberikan fasilitas operasi untuk bisnis atau fasilitas pengambilan
keputusan manajemen, contoh sistem akuntansi, inventory, payroll dan
lain-lain.
4. Perangat
Lunak Rekayasa dan Sains (Engineering and Scientific Software)
Perangkat
lunak yang digunakan di dalam bidang aplikasi teknik dan kerekayasaan perangkat
lunak jenis ini biasanya berhubungan dengan komputasi data numerik, CAD (Computer
Aided Design), simulasi sistem, dan lain-lain.
5. Perangkat
lunak tambahan untuk membantui mengerjaklan suatu fungsi dari perangkat lunak
lainnya (Embedded
Software)
Perangkat
lunak yang digunakan untuk mengontrol suatu produk dan sistem dimana perangkat
lunak tersebut disimpan. Biasanya ditempatkan di ROM, contoh Tombol di Microwave
Oven.
6. Perangkat
Lunak Komputer Pribadi (Personal Computer Software)
Banyak
digunakan pada aplikasi yang bersifat perorangan, contohnya: pengolah
kata, spreadsheet, game, DBMS dan lain-lain.
7. Perangkat
Lunak Intelegensia Buatan (Artificial Intelligent Software)
Dibuat
dengan menggunakan teknik algoritma non-numerik untuk memecahkan masalah yang
kompleks, digunakan dalam bidang aplikasi kecerdasan buatan, contohnya: game,
expert sistem, neural network, Turbo Prolog, dan lain-lain.
8. Perangkat
lunak berbasis web (web based software)
Perangkat
lunak berbasis web (web based software) merupakan perangkat lunak yang
dapat diakses dengan menggunakan browser.
6. Mitos
Perangkat Lunak
Mitos-mitos
dalam perangkat lunak :
1.
Mitos Manajemen
Manajer yang
bertanggung jawab terhadap masalah perangkat lunak, seperti para manajer yang kebanyakan
disiplin, sering mengalami tekanan karena masalah pengaturan keuangan, menjaga
jadwal agar tidak kacau dan peningkatan kualitas. Seperti orang hanyut yang
hanya berpegang pada sebuah jerami, manajer perangkat lunak juga berpegang pada
kepercayaan didalam mitos perangkat lunak jika mitos tersebut dapat mengurangi
tekanan yang mereka rasakan meskipun sifatnya hanya temporal. Dibawah ini
adalah mitos yang masih berkembang dipihak manajemen.
a. Kita
tidak perlu mengubah pendekatan terhadap pengembangan software, karena jenis pemrograman yang kita lakukan sekarang ini
sudah dilakukan 10 tahun yang lalu. Realitasnya : Walau hasil program sama,
produktivitas dan kualitas software
harus ditingkatkan dengan menggunakan pendekatan software developments.
b. Kita
sudah mempunyai buku yang berisi standarisasi dan prosedur untuk pembentukan software. Realitasnya : Memang buku
tersebut ada, tetapi apakah buku tersebut sudah dibaca atau buku tersebut sudah
ketinggalan zaman (out of date).
c.
Jika kita tertinggal dari jadwal yang
ditetapkan, kita menambah beberapa progammer
saja. Konsep ini sering disebut Mongolin
harde concept.
2.
Mitos Pelanggan
Pelanggan yang memesan perangkat lunak komputer
mungkin orang yang duduk di meja sebelah, sekelompok teknisi yang ada di
tingkat bawah, bagian pemasaran, atau perusahaan lain yang memesan perangkat
lunak dengan cara kontrak. Dalam beberapa kasus, pelanggan mempercayai mitos
tentang tentang perangkat lunak karena manajer dan para pelaksana yang
bertanggung jawab atas masalah perangkat lunak hanya bekerja sedikit saja untuk
memperbaiki kesalahan informasi. Mitos ini membawa ke arah pengharapan yang
salah (oleh pelanggan) dan ketidakpuasan pengembang.
a.
Pernyataan tujuan umum sudah cukup untuk memulai
penulisan program. Penjelasan yang lebih rinci akan menyusul kemudian. Realitasnya
: Definisi awal yang buruk adalah penyebab utama kegagalan usaha-usaha
pembentukan software. Penjelasan yang
formal dan terinci tentang informasi fungsi performance
interface, hambatan desain dan kriteria validasi adlaah penting.
Karakteristik di atas dapat ditentukan hanya setelah adanya komunikasi antara customer dan developer.
b.
Kebutuhan proyek yang terus menerus berubah
dapat dengan mudah diatasi karena software
itu bersifat fleksibel. Kenyataannya memang benar bahwa kebutuhan software berubah, tetapi dampak dari
perubahan berbeda dari waktu ke waktu.
3.
Mitos Praktisi
Mitos yang masih dipercaya oleh praktisi perangkat
lunak yang sudah dihapus oleh beberapa dekade budaya pemrograman. Seperti yang
sudah ditulis sebelumnya dalam bab ini, sel ma masa awal perangkat lunak,
pemrograman dilihat sebagai karya seni. Cara
dan kebiasaan lama tetap sukar lenyap.
a.
Tidak ada metode untuk analisa dan testing
terhadap suatu pekerjaan, cukup menuju ke depan terminal dan mulai coding. Realitasnya : Metode untuk
analisa desain dan testing diperlukan dalam pengembangan software.
b.
Segera setelah sofware digunakan, pemeliharaan
dapat diminimalisasikan dan diatasi dengan cara "CATCH AS CATCH CAM".
Realitasnya : Diperlukan budget yang besar dalam maintenance software. Pemeliharaan software harus diorganisir, direncanakan dan dikontrol seolah-olah
sebagai suatu proyek besar dalam sebuah organisasi.
0 komentar:
Posting Komentar