Anda di halaman 1dari 4

Nama : Kadek Adi Praptha

NIM : 1104505054

Tugas Rekayasa Perangkat Lunak

Pertanyaan
1. Apakah Perangkat Lunak?
2. Apakah Rekayasa Perangkat Lunak (RPL) ?
3. Apa perbedaan antara RPL dengan ilmu komputer (computer science) ?
4. Apa perbedaan RPL dan rekayasa sistem ?
5. Apa yang dimaksud dengan proses perangkat lunak ?
6. Apakah model proses perangkat lunak ?
7. Berapa biaya rekayasa perangkat lunak ?
8. Apa saja metode-metode RPL ?
9. Apa yang dimaksud dengan CASE (Computer-Aided Software Engineering) ?
10. Apakah atribut-atribut perangkat lunak yang baik ?
11. Apa tantangan kunci yang dihadapi RPL ?

Jawaban
1. Perangkat lunak (software) adalah perangkat penyusun sebuah personal
computer (PC) yang mengendalikan system kerja dari perangkat
keras(hardware), dan sebagai penghubung antar usur dengan PC. Software
terdiri dari empat bagian penting, yaitu
System operasi, program aplikasi, bahasa pemrograman, dan utility (program
bantu), dalam hal ini software bukan hanya sebuah program computer saja,
melainkan segala dokumentasi dan konfigurasi yang saling berhubungan untuk
membantu agar program dapat berjalan dengan benar.

2. Rekayasa perangkat lunak merupakan disiplin ilmu yang membahas semua
aspek produksi suatu perangkat lunak, mulai dari tahap awal spesifikasi sistem
sampai perawatan sistem setelah digunakan. Jadi disini perekayasa atau
pembuat tidak hanya membuat sebuah sistem namun menemukan sebuah
solusi dan metode efektif untuk mendukung agar sistem dapat berjalan dengan
baik.

3. Perbedaan antara RPL dengan ilmu computer (computer science) adalah kalau
ilmu computer (computer science) merupakan suatu ilmu yang membahas
mengenai teori dan metode yang mendasari perangkat lunak dan sistem
computer, sedangkan RPL merupakan ilmu bagaiman teknis merancang dan
memelihara sebuah perangkat lunak. Disini bagi perekayasa perangkat lunak
sangatlah penting untuk mengetahui ilmu computer.seperti para dokter harus
paham pengetahuan biologi.

4. Perbedaan RPL dengan Rekayasa Sitem
Kalau Rekayasa Sistem merupakan rekayasa berbasis komputer, dimana
berhubungan dengan segala sesuatu aspek pengembangan sistem, termasuk
perangkat keras , perangkat lunak dan rekayasa proses. Sedangkan RPL
rekayasa berkenaan dengan perangkat lunaknya saja.

5. Proses perangkat lunak adalah suatu tahapan kegiatan untuk menghasilkan
hasil-hasil yang relevan dalam menghasilkan perangkat lunak, yang dilakukan
oleh perekayasa perangkat lunak.
Ada empat tahapan dalam prpses ini yaitu :
a) Spesifikasi perangkat lunak, mendefinisian dan perancangan perangkat
lunak sampai mana nantinya batasan operasinya.
b) Pengembangan perangkat lunak, setelah perangkat lunak sesuai
spesifikasiya selanjutnya perangkat lunak tersebut diproduksi
c) Validasi perangkat lunak, perangkat lunak yang diproduksi harus
divalidasi agar dapat memenuhi keinginan para pengguna
d) Evolusi perangkat lunak, perangkat lunak yang di produksi harus dapat
menyesuaikan dengan perkembangan dan kebutuhan pelanggan dunia
teknologi yang selalu berubah ubah.

6. Model proses perangkat lunak adalah bagian dari proses perangkat lunak yang
dipresentasikan dari sudut pandang tertentu tentang bagaimana cara untuk
memproses suatu perangkat lunak, produk perangkat lunak, maupun peran
orang yang terlibat pada rekayasa perangkat lunak.
Model-model proses perangkat lunak :
a) Model aliran kerja (workflow), model ini menunjukkan urutan kegiatan
pada proses bersama dengan input, output, dan ketergantungannya.
Kegiatan pada model ini mempresentasikan pekerjaan manusia.
b) Model aliran data (data flow) atau kegiatan, model ini memrepresentasikan
proses sebagai satu set kegiatan yang masing-masing melakukan
transformasi data. Model ini menunjukan bagaimana input ke proses,
misalnya spesifikasi, ditransformasi menjadi output, misalnya desain.
Kegiatan pada model ini mempresentasikan pekerjaan manusia atau
computer.
c) Model peran/aksi, model ini merepresentasikan peran orang yang terlibat
pada proses perangkat lunak dan kegiatan yang menjadi tanggung jawab
mereka.


Model-model pengembangan perangkat lunak :
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.

7. Biaya Rekayasa perangkatan lunak tidaklah pasti, ini dikarenakan kita belum
tau pasti jenis perangkat lunak apa yang akan kita kembangkan dan proses
apa yang kan digunakan. Jika kita mengambil biaya total pengambangan
sistem perangkat lunak yang kompleks sebesar 100 satuan biaya, maka
distribusi satuan biaya ini cenderung berbentuk seperti :

0 25 50 75 100
Spesifikasi Perancangan Pengambangan Integrasi dan Pengujian
Dari Peraga di atas terlihat bahwa tingkat atau biaya integrasi dan pengujian
sistem merupakan kegiatan yang paling mahal, hamper 40 persen dari biaya
pengembangan total, tetapi ada pula dalam beberapa kasus dalam sistem kritis
mungkin menghabiskan sekitar 50 persen dari biaya sistem total.
8. Metode rekayasa perangkat lunak adalah pendekatan terstruktur terhadap
pengembangan perangkat lunak yang bertujuan memfasilitasi produksi
perangkat lunak kualitas tinggi dengan cara yang efektif dalam hal biaya.
Biasanya metode mencakup beberapa komponen seperti deskripsi model
sistem, aturan rekomendasi(saran pengembangan sistem), dan panduan proses.
Contoh metode misalnya metode berorientasi fungsi dan metode berorientasi
objek.

9. Case merupakan singkatan dari Computer-Aided Software Engineering. Case
mencakup berbagai macam program yang digunakan untuk mendukung
kegiatan perangkat lunak seperti analisis persyaratan, pemodelan sistem,
debugging, dan pengujian. Semua metode sekarang memakai teknologi yang

berhubungan dengan CASE, seperti editor untuk notasi yang dipakai pada
metode terdebut, modul analisis yang memeriksa model sistem berdasarkan
aturan-aturan metode dan pembuatan laporan untuk membantu membuat
sistem dokumentasi.

10. Atribut-atribut perangkat lunak yang baik
Atribut-atribut ini tidak langsung berhubungan dengan apa yang dilakukan
perangkat lunak tersebut, melainkan bagaimana menunjukan perilaku
perangkat lunak pada saat perangkat lunak tersebut dipakai dan struktur dan
organisasi program sumber (source) dan dokumentasi yang berkaitan. Contoh
atribut-atribut ini adalah waktu tanggap perangkat lunak terhadap permintaan
user dan dapat dipahaminya kode program. Atribut esensial dari perangkat
lunak yang baik adalah
1. Dapat dipelihara (Maintanability) Perangkat Lunak harus dapat
memenuhi perubahan kebutuhan user.
2. Dapat diandalkan (Dependability) Perangkat Lunak harus dapat
dipercaya dan tidak menyebabkan kerusakan fisik atau ekonomi jika
terjadi kegagalan sistem.
3. Efisien Perangkat Lunak harus efisien dalam penggunaan sumber daya
sistem.
4. Kemampupakaian (Usability) Perangkal Lunak harus dapat dipakai
sesuai dengan yang direncanakan
11. Tantangan kunci yang dihadapi rekayasa perangkat lunak
a. Tantangan Warisan (Legacy), merupakan tantangan memelihara dan
meng-update Perangkat Lunak sedemikian sehingga biaya yang berlebihan
dapat dihindari dan layanan bisnis yang penting tetap dilakukan.
b. Tantangan Heterogenitas, merupakan tantangan teknik pengembangan
untuk membangun perangkat lunak yang dapat diandalkan dan cukup
flexibel untuk menghadapi heterogenitas yang ada.
c. Tantangan Pengiriman, merupakan tantangan mempersingkat waktu kirim
sistem besar dan kompleks, tanpa mengurangi kualitas sistem.