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

Popular posts from this blog

Plug-in Ease & Wizz dalam After Effects

Bahasa C : Kode Program Anak Ayam

MENGENAL ADOBE AFTER EFFECT