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