Konsep Rekayasa Perangkat Lunak
Definisi rekayasa perangkat lunak (English: Software Engineering) adalah bidang profesional yang mempelajari dan mempelajari pengembangan perangkat lunak, seperti pembuatan, pemeliharaan, perawatan, penyebaran, modifikasi, dan pengaksesan perangkat lunak yang ada agar menjadi lebih efektif dan efisien.
I. Penjelasan, konsep, dan tujuan mengenai RPL
a. Penjelasan
Menurut Fritz Bauer dalam buku Rekayasa Perangkat Lunak karya Ratna Wardani, rekayasa perangkat lunak ialah sebuah kegiatan yang menerapkan dan memanfaatkan prinsip-prinsip rekayasa untuk menghasilkan perangkat lunak yang ekonomis, andal, dan bekerja secara efisien pada mesin-mesin yang nyata.
b. Konsep RPL
Konsep rekayasa perangkat lunak adalah salah satu bidang keilmuan atau profesi yang berfokus pada produksi dan pengembangan perangkat lunak.
c. Tujuan RPL
Tujuan RPL diantaranya adalah:
1. Memperoleh biaya produksi perangkat lunak yang rendah.
2. Menghasilkan perangkat lunak yang memiliki cara kerja yang cepat dan tinggi, andal serta tepat waktu.
3. Memproduksi perangkat lunak yang dapat bekerja pada berbagai jenis platform.
4. Membuat perangkat lunak yang biaya perawatannya rendah.
II. Cakupan RPL
Cakupan atau ruang lingkup rekayasa perangkat lunak mengacu pada definisi persyaratan dan persyaratan perangkat lunak. berurusan dengan rincian perangkat lunak, seperti algoritma, pengkodean, debugging, dan pengujian. Itu termasuk aktivitas pemeliharaan setelah perangkat lunak digunakan.
Rekayasa Perangkat Lunak sendiri memiliki ruang lingkup kerjanya masing-masing sebagai berikut:
1. Software Requirements
Berhubungan dengan spesifikasi kebutuhan dan persyaratan perangkat lunak.
2. Software Design
Meliputi proses penampilan arsitektur, komponen, antar muka, dan karakteristik lain dari perangkat lunak
3. Software Construction
Berhubungan dengan detail pengembangan perangkat lunak, termasuk algoritma, pengkodean, pencarian kesalahan dan pengujian.
4. Software Testing
Meliputi pengujian pada kinerja perangkat lunak secara keseluruhan
5. Software Maintenance
Mencakup upaya-upaya perawatan ketika perangkat lunak telah dioperasikan.
6. Software Configuration Management
Berhubungan dengan usaha perubahan konfigurasi perangkat lunak untuk memenuhi kebutuhan tertentu.
7. Software Engineering Management
Berkaitan dengan pengelolaan dan pengukuran RPL, termasuk perencanaan proyek perangkat lunak.
8. Software Engineering Tools and Methods
Mencakup kajian teoritis tentang alat bantu dan metode RPL.
9. Software Quality
Menitikberatkan pada kualitas dan daur hidup perangkat lunak.
10. Software Engineering Process
Berhubungan dengan implementasi, definisi, pengukuran, pengelolaan, perubahan dan perbaikan proses Rekayasa Perangkat Lunak.
III. Proses Perangkat Lunak
Menurut Wikipedia, proses pengembangan perangkat lunak (English: software development process) adalah struktur yang diterapkan pada pengembangan perangkat lunak, yang bertujuan untuk mengembangkan sistem dan memberikan arahan yang bertujuan untuk menyukseskan serta menyelesaikan proyek pengembangan sistem langkah demi langkah. Contoh model proses pengembangan PL diantaranya adalah proses iteratif, extreme programming, serta proses air terjun (waterfall).
IV. Software Engineering Tidak Sama Dengan Software Development
Software Engineering adalah orang yang bertanggung jawab untuk merancang, mengembangkan, memelihara, menguji, dan mengevaluasi perangkat lunak.
Software Development adalah orang yang bertanggung jawab untuk membuat perangkat lunak atau aplikasi sesuai dengan persyaratan, menganalisis persyaratan perangkat lunak, dan memutuskan langkah-langkah spesifik desain perangkat lunak.
Sepintas sama, namun keduanya berbeda. Analoginya seperti seorang Software Engineering adalah seorang arsitek sementara seorang Software Development adalah seorang tukang kayu. Sehingga keduanya memiliki korelasi yang erat.
Terdapat delapan prinsip profesional software engineering yang dibuat oleh ACM/ICEE-CS (Asosiasi Profesi), kedelapan prinsip tersebut di antaranya adalah adalah:
1. Public atau Masyarakat
Maknanya perekayasa perangkat lunak atau seorang insinyur software harus bertindak secara konsisten sesuai dengan kepentingan masyarakat.
2. Client and Employer atau Klien dan Atasan
Maknanya seorang perekayasa perangkat lunak harus melakukan yang terbaik bagi klien dan atasan mereka dan tetap konsisten dengan kepentingan masyarakat.
3. Product atau Produk
Maknanya perekayasa perangkat lunak akan menjamin bahwa produk mereka dan modifikasi yang mereka lakukan terhadapnya memenuhi standar profesional setinggi tingginya.
4. Judgment atau Penilaian
Maknanya perekayasa perangkat lunak akan mempertahankan integritas dan independensi penilaian profesional mereka.
5. Management atau Manajemen
Maknanya manajer dan perangkat lunak akan mengikuti dan mempromosikan pendekatan etis terhadap manajemen pengembangan dan pemeliharaan perangkat lunak.
6. Profession atau Profesi
Maknanya perekayasa perangkat lunak akan mementingkan integritas dan reputasi profesi konsisten dengan kepentingan masyarakat.
7. Collegues atau Kolega
Maknanya perekayasa perangkat lunak harus bersikap adil dan mendukung terhadap koleganya.
8. Self atau Diri Sendiri
Maknanya perekayasa perangkat lunak akan berpartisipasi dalam pembelajaran seumur hidup mengenai praktek profesi mereka dan akan mempromosikan pendekatan etis terhadap praktek profesi tersebut.
VI. Kesimpulan
Konsep rekayasa perangkat lunak memainkan peran yang sangat penting dalam proses pengembangan perangkat lunak (software development). Dalam pengembangan perangkat lunak apapun, langkah pertama yang paling utama adalah mengidentifikasi kebutuhan. Jika tujuan awal dari pengembangan sistem sudah tidak jelas, maka dapat dipastikan yang perencanaan terjadi akan kacau. Akibatnya, sangat tidak mungkin untuk dapat membangun sistem yang akan bekerja dan memuaskan penggunanya.
Penulis: Muhammad Fathur Rizqi (D1041221020) - Mahasiswa Semester 2 Teknik Informatika Untan
Disunting pada: Rabu, 15 Februari 2023
Sumber dan Referensi:
Kumparan - Rekayasa Perangkat Lunak: Pengertian, Tujuan, dan Elemen Penting: https://kumparan.com/kabar-harian/rekayasa-perangkat-lunak-pengertian-tujuan-dan-elemen-penting-1wyPk4NIZP0/2 (diakses 15 Februari 2023)
Universitas123 - Konsep rekayasa perangkat lunak: https://www.universitas123.com/news/konsep-rekayasa-perangkat-lunak# (diakses 15 Februari 2023)
Marjikar - Pengertian, Tujuan dan Ruang Lingkup Rekayasa Perangkat Lunak (RPL): https://www.markijar.com/2016/01/pengertian-tujuan-dan-ruang-lingkup.html# (diakses 15 Februari 2023)
Wikipedia Indonesia - Proses pengembangan perangkat lunak: https://id.wikipedia.org/wiki/Proses_pengembangan_perangkat_lunak# (diakses 15 Februari 2023)
Gamelab - Jangan Sampai Tertukar, Ini Perbedaan Software Engineer dan Software Developer: https://www.gamelab.id/news/1817-jangan-sampai-tertukar-ini-perbedaan-software-engineer-dan-software-developer# (diakses 15 Februari 2023)
Proyek Perangkat Lunak - Software Engineering Code of Ethics: https://proyeksoftware.blogspot.com/2016/10/software-engineering-code-of-ethics.html (diakses 15 Februari 2023)
Tag: Rekayasa Perangkat Lunak, Software, definisi rpl, engineering