Apa itu Rekayasa Perangkat Lunak? Bedanya sama Ilmu Komputer apa ya?
Hai teman-teman, pernah kebesit gak sih dipikiran kalian mengenai penjurusan yang kalian ambil? Rekayasa Perangkat Lunak dan Ilmu Komputer? Penasaran? Yuk simak artikelnya dibawah ini.
1. 1. Apakah Perangkat
Lunak ?
Jawab: Menurut Wikipedia, perangkat
lunak atau peranti lunak adalah istilah khusus untuk data yang diformat, dan
disimpan secara digital, termasuk program komputer, dokumentasinya, dan
berbagai informasi yang bisa dibaca, dan ditulis oleh komputer. Dengan kata
lain, bagian sistem komputer yang tidak berwujud. Istilah ini menonjolkan
perbedaan dengan perangkat keras komputer. Pembuatan perangkat lunak itu sendiri memerlukan
"bahasa pemrograman" yang ditulis oleh seorang pemrogram untuk
selanjutnya dikompilasi dengan aplikasi kompiler sehingga menjadi kode yang
bisa dikenali oleh mesin hardware.
2. 2. Apakah Rekayasa
Perangkat Lunak ?
Jawab: Rekayasa perangkat lunak atau Software
Engineering adalah satu bidang
profesi yang mendalami cara-cara pengembangan perangkat lunak termasuk
pembuatan, pemeliharaan, manajemen organisasi pengembanganan 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. Rekayasa
perangkat lunak adalah pengubahan perangkat lunak itu sendiri guna
mengembangkan, memelihara, dan membangun kembali dengan menggunakan prinsip
reakayasa untuk menghasilkan perangkat lunak yang dapat bekerja lebih efisien
dan efektif untuk pengguna. Kriteria yang
dapat digunakan sebagai acuan dalam merekayasa perangkat lunak adalah sebagai
berikut.
1)
Dapat terus
dirawat dan dipelihara (maintainability)
2)
Dapat mengikuti
perkembangan teknologi (dependability)
3)
Dapat mengikuti
keinginan pengguna
(robust)
4)
Efektif dan
efisien dalam menggunakan energi dan penggunaannya
5)
Dapat memenuhi
kebutuhan yang diinginkan (usability)
3. 3. Apa perbedaan
antara Rekayasa Perangkat Lunak dengan Ilmu Komputer (Computer Science) ?
Jawab: Rekayasa Perangkat Lunak (RPL)
adalah suatu disiplin ilmu yang membahas semua aspek produksi perangkat lunak,
mulai dari tahap awal yaitu analisa kebutuhan pengguna, menentukan spesifikasi
dari kebutuhan pengguna, desain, pengkodean, pengujian sampai dalam memelihara
sistem setelah di gunakan. Berbeda dengan ilmu komputer, RPL tidak hanya
berhubungan dengan proses teknis dari pengembangan perangkat lunak, melainkan
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. Ilmu komputer sendiri adalah
disiplin ilmu yang berhubungan dengan teori dan metode yang mendasari sistem
komputer dan perangkat lunak seperti algoritma, struktur data dan bahasa pemrograman. Berdasarkan kedua
pengertian diatas perbedaan antara RPL dengan ilmu komputer adalah ilmu
komputer lebih fokus pada mempelajari teori dan metode dalam membuat algoritma
dari sistem komputer dan perangkat lunak, sedangkan RPL melakukan praktek dalam
memproduksi perangkat lunak
4. 4. Apa perbedaan
Rekayasa Perangkat Lunak dan Rekayasa Sistem ?
Jawab: Rekayasa sistem merupakan disiplin ilmu yang
lebih tua dari rekayasa perangkat lunak. Rekayasa sistem berkaitan dengan semua
aspek dalam pembangunan sistem berbasis komputer termasuk hardware, rekayasa
perangkat lunak dan proses. RPL adalah bagian dari rekayasa sistem yang
meliputi pembangunan perangkat lunak, infrasktruktur, kontrol, aplikasi dan
database pada sistem.
5. 5. Apa yang
dimaksud dengan proses perangkat lunak ?
Jawab: Proses
perangkat lunak (Software process) adalah suatu proses yang diterapkan pada pengembangan
produk perangkat lunak dalam mengembangkan sistem dan memberikan panduan untuk
menyukseskan proyek pengembangan sistem melalui aktivitas/tahap- tahap
tertentu. Serangkaian kegiatan dan hasil-hasil relevannya yang menghasilkan
perangkat lunak sebagian besar dilakukan oleh perekayasa perangkat lunak. Ada 4
kegiatan/aktivitas pada proses perangkat lunak, antara lain sebagai berikut.
1)
Spesifikikasi Perangkat Lunak
Fungsionalitas perangkat lunak dan batasan kemampuan
operasinya harus didefinisikan.
2)
Pengembangan Perangkat Lunak
Perangkat lunak yang memenuhi spesifikasi harus diproduksi.
3)
Validasi Perangkat Lunak
Perangkat lunak harus divalidasi untuk menjamin bahwa
perangkat lunak melakukan apa yang diinginkan oleh pelanggan.
4)
Evolusi Perangkat Lunak
Perangkat lunak harus berkembang untuk memenuhi
kebutuhan pelanggan
6. 6. Apakah model
proses perangkat lunak ?
Jawab: Model proses perangkat lunak merupakan representasi
abstrak dari perangkat lunak, atau biasa juga disebut sebagai paradigma proses.
Setiap model proses merepresentasikan suatu proses dari sudut pandang tertentu
sehingga hanya memberikan informasi mengenai proses tersebut. Model-model proses ini merupakan
abstraksi yang digunakan untuk menjelaskan pendekatan-pendekatan terhadap
pengembangan perangkat lunak. Model proses untuk rekayasa perangkat lunak
dipilih berdasarkan sifat proyek dan aplikasi, metode dan alat yang digunakan,
serta pengendalian dan hasil yang diinginkan. Adapun beberapa model proses
perangkat lunak secara umum adalah sebagai berikut.
1) Model Air Terjun (Waterfall)
Model
ini mengambil proses dasar, seperti spesifikasi, pengembangan, validasi, dan
evolusi, serta merepresentasikannya sebagai fase-fase proses yang berbeda.
2) Pengembangan Evolusioner
Pendekatan
ini berhubungan dengan spesifikasi, pengembangan, dan validasi. Suatu sistem
awal dikembangan dengan cepat dari spesifikasi abstrak, yang kemudian
diperbaiki dengan masukan dari pelanggan untuk menghasilkan sistem yang
memuaskan.
3) Pengembangan Sistem Formal
Pendekatan
ini didasarkan atas pembuatan spesifikasi sistem matematis dan
pentransformasian dari spesifikasi tersebut, dengan menggunakan metode
matematis, untuk membangun program. Verifikasi komponen sistem dilakukan dengan
membuat argument matematis yang disesuaikan dengan spesifikasi.
4) Pengembangan Berdasarkan Pemakaian Ulang
Pendekatan
ini didasarkan atas adanya komponen yang dapat dipakai ulang dalam jumlah yang
signifikan. Proses pengembangan sistem terfokus pada integrase
komponen-komponen ini ke dalam suatu sistem, dan bukan mengembangkannya dari
awal.
7. 7. Berapa biaya
rekayasa perangkat lunak ?
Jawab: Rekayasa
perangkat lunak membutuhkan sekitar 60% untuk biaya pengembangan dan 40% untuk
biaya pengujian. Untuk perangkat lunak berbasis pengguna (custom), biaya
evolusi biasanya melebihi biaya pengembangan. Biaya yang diperlukan bergantung
pada kebutuhan sistem dan tipe sistem yang akan dikembangkan, seperti unjuk
kerja dan kehandalan sistem, Distribusi biaya bergantung pada model
pengembangan yang digunakan.
8. 8. Apa saja
metode-metode rekayasa perangkat lunak ?
Jawab: Terdapat
beberapa metode dalam rekayasa perangkat lunak. Pendekatan-pendekatan
terstruktur terhadap pengembangan perangkat lunak mencakup model, notasi,
aturan, saran pengembangan sistem (rekomendasi), dan panduan proses.
§ Deskripsi Model
Sistem
Pengembangan perangkat lunak memerlukan deskripsi
model yang harus dikembangkan serta notasi yang digunakan untuk mendefinisikan
model-model ini, contohnya adalah model aliran data.
§ Aturan
Aturan digunakan sebagai batasan yang berlaku bagi
model sistem yang digunakan, contohnya setiap entitas pada model sistem harus
memiliki nama yang unik.
§ Rekomendasi
Pembentukan rancangan yang baik memerlukan saran dan
rekomendasi, seperti tidak ada objek yang memiliki lebih dari tujuh sub-objek
yang berhubungan dengan objek tersebut.
§ Panduan Proses
Aktifitas yang bisa diikuti untuk mengembangkan model
sistem, contohnya adalah atribut objek harus didokumentasikan sebelum
mendefinisikan operasi yang berhubungan dengan objek.
9. 9. Apa yang
dimaksud dengan CASE (Computer-Aided
Software Engineering) ?
Jawab: CASE
(Computer-Aided Software Engineering) merupakan suatu teknik yang digunakan
untuk mendukung pengembangan perangkat lunak, seperti fase analisis, desain
(pemodelan sistem), implementasi dan maintenance software sehingga informasi
yang diciptakan oleh satu alat dapat digunakan oleh alat lain.
10. 10. Apakah
atribut-atribut perangkat lunak yang baik ?
Jawab: Atribut-atribut perangkat lunak yang
baik harus memberikan user kebutuhan fungsionalitas dan
kinerja sebagai berikut:
a. Maintainability (mudah dipelihara/dirawat) yaitu software harus berevolusi untuk memenuhi
perubahan kebutuhan.
b. Dependability (dapat diandalkan) yaitu software harus dapat dipercaya untuk
menunjang pengembangan software.
c. Efficiency (daya guna) yaitu efisien dalam
penggunaan sumber daya sistem (memori, hardware,
listrik, dll)
d. Acceptability (dapat diterima) yaitu perangkat
lunak harus diterima oleh pengguna. Ini berarti harus bisa dimengerti,
digunakan dan kompatibel dengan sistem lainnya.
11. 11. Apa tantangan
kunci yang dihadapi rekayasa perangkat lunak ?
Jawab: Tantangan
kunci yang dihadapi RPL yaitu sebagai berikut:
a. Legacy
(tantangan warisan) yaitu tantangan memelihara dan meng-update perangkat lunak sehingga biaya yang berlebihan dapat
dihindari dan layanan bisnis yang penting tetap dilakukan.
b. Heterogeneity (tantangan keberagaman) yaitu
mengembangkan teknik untuk membangun perangkat lunak yang dapat mengatasi
perbedaan platform dan lingkungan eksekusi.
c. Delivery (tantangan pengiriman) yaitu
mengembangkan teknik yang mengakibatkan pengiriman perangkat lunak lebih cepat tanpa
mengurangi kualitas system.
Comments
Post a Comment