Anda di halaman 1dari 17

Pengenalan

Rekayasa Perangkat Lunak


Definisi
• Rekayasa Perangkat Lunak = Software
Engineering
• 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 komputer
sedangkan prosedur adalah perintah
yang dibutuhkan oleh pengguna dalam
memproses informasi (O’Brien, 1999).
• Suatu disiplin ilmu yang membahas
tentang semua aspek produksi
perangkat lunak, mulai dari tahap awal
yaitu analisa kebutuhan pengguna,
menentukan spesifikasi dari kebutuhan
pengguna design, pengkodean,
pengujian sampai pemeliharaan sistem
setelah digunakan.
• Pernyataan “semua aspek produksi”
pada pengertian di atas, mempunyai
arti semua hal yang berhubungan
dengan proses produksi seperti
manajemen proyek, penentuan
personil, anggaran biaya, metode,
jadwal, kualitas sampai dengan
pelatihan pengguna merupakan bagian
dari RPL.
Tujuan RPL
• Dari Gambar di atas dapat diartikan bahwa
bidang rekayasa akan selalu berusaha
menghasilkan output yang kinerjanya tinggi,
biaya rendah dan waktu penyelesaian yang
tepat. Secara lebih khusus kita dapat
menyatakan tujuan RPL adalah :
 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.
Ruang Lingkup(Abran et.al.,
2004).
• Sesuai definisi yang telah disampaikan sebelumnya,
maka ruang lingkup RPL dapat digambarkan sebagai
berikut.
• Software requirements berhubungan dengan
spesifikasi kebutuhan dan persyaratan
perangkat lunak.
• Software design mencakup proses penentuan
arsitektur, komponen, antarmuka, dan
karakteristik lain dari perangkat lunak.
• Software construction berhubungan dengan
detil pengembangan perangkat lunak,
termasuk algoritma, pengkodean,
pengujian, dan pencarian kesalahan.
• Software testing meliputi pengujian pada
keseluruhan perilaku perangkat lunak.
• Software maintenance mencakup upaya-
upaya perawatan ketika perangkat
lunak telah dioperasikan
• Software configuration management
berhubungan dengan usaha perubahan
konfigurasi perangkat lunak untuk
memenuhi kebutuhan tertentu.
• Software engineering management
berkaitan dengan pengelolaan dan
pengukuran RPL, termasuk
perencanaan proyek perangkat lunak.
• Software engineering tools and methods
mencakup kajian teoritis tentang alat
bantu dan metode RPL.
• Software engineering process
berhubungan dengan definisi,
implementasi, pengukuran, pengelolaan,
perubahan dan perbaikan proses RPL.
• Software quality menitikberatkan pada
kualitas dan daur hidup perangkat lunak.
Proses Perangkat Lunak
• Sekumpulan aktifitas yang memiliki tujuan untuk
pengembangan ataupun evolusi perangkat lunak.
• Aktifitas generic dalam semua proses perangkat lunak
adalah:
– Spesifikasi apa yang harus dilakukan oleh perangkat
lunak dan batasan/kendala pengembangannya
– Pengembangan proses memproduksi sistem
perangkat lunak
– Validasi  pengujian perangkat lunak terhadap
keinginan penggunak
– Evolusi  perubahan perangkat lunak berdasarkan
perubahan keinginan.
Contoh Jenis Model Proses PL
1. Model aliran kerja (workflow) 
menunjukkan kegiatan pada proses
bersama dengan input, output, dan
ketergantungannya. Merepresentasikan
pekerjaan manusia.
2. Model aliran data (data flow) 
merepresentasikan proses sebagai suatu
set kegiatan yang melakukan transformasi
data. Menunjukkan bagaimana input ke
proses, misalnya spesifikasi ditransformasi
menjadi output, misalnya menjadi desain.
3. Model peran/aksi 
merepresentasikan peran orang yang
terlibat pada PL dan kegiatan yg
menjadi tanggung jawab mereka.
Model atau paradigma umum pada
proses PL
1. Model air terjun (waterfall)
Mengambil kegiatan dasar seperti
spesifikasi, pengembangan, validasi, dan
evolusi dan merepresentasikannya sebagai
fase-fase proses yang berbeda seperti
spesifikasi persyaratan, perancangan
perangkat lunak, implementasi, pengujian
dan seterusnya.
2. Pengembangan evolusioner
Pendekatan ini berhimpitan dengan
kegiatan spesifikasi, pengembangan,
dan validasi. Sistem awal
dikembangkan dengan cepat dari
spesifikasi abstrak. Sistem ini kemudian
di perbaiki dengan masukan dari
pelanggan untuk menghasilkan sistem
yang memuaskan kebutuhan
pelanggan.
3. Pengembangan Sistem Formal
Pendekatan ini menghasilkan suatu sistem
matematis yang formal dan
mentransformasikan spesifikasi ini,
dengan menggunakan metode matematik
menjadi sebuah program.
4. Pengembangan berdasarkan pemakaian
ulang (Reusable)  Teknik ini menganggap
bahwa bagian-bagian sistem sudah ada.
Proses pengembangan sistem terfokus
pada pengintegrasian bagian-bagian
sistem dan bukan pengembangannya dari
awal.

Anda mungkin juga menyukai