Selasa, 24 Mei 2016

Pengertian Rekayasa Perangkat Lunak

Istilah Rekayasa Perangkat Lunak atau Software Engineering mulai dipopulerkan pada tahun 1968 saat Konferensi Rekayasa Perangkat Lunak yang diselenggarakan oleh NATO. Sebagian orang mengartikan Rekayasa Perangkat Lunak hanya sebatas pada bagaimana cara membuat suatu program komputer. Padahal terdapat sebuah perbedaan yang mendasar antara program komputer dan perangkat lunak (software)

Menurut (O’Brien, 1999) Program merupakan kumpulan perintah yang dimengerti oleh komputer sedangkan Perangkat lunak (Software) merupakan seluruh perintah yang digunakan untuk memproses suatu informasi. Perangkat lunak bisa berupa prosedur atau program.
Sedangkan Pengertian dari Rekayasa Perangkat Lunak, biasanya merujuk pada pengertian Rekayasa Perangkat Lunak menurut Wikipedia dan IEEE Computer Society, berikut pengertiannya:




Pengertian Rekayasa Perangkat Lunak menurut Wikipedia
Rekayasa perangkat lunak / Software Engineering (SE) adalah satu bidang profesi yang mendalami cara-cara pengembangan perangkat lunak termasuk pembuatan, manajemen organisasi pengembanganan perangkat lunak, pemeliharaan serta manajemen kualitas.
Pengertian Rekayasa Perangkat Lunak menurut IEEE Computer Society
Rekayasa perangkat lunak adalah penerapan suatu pendekatan yang sistematis, disiplin dan terkuantifikasi terhadap pengembangan, penggunaan, pemeliharaan perangkat lunak, dan studi atas pendekatan-pendekatan tersebut, yaitu penerapan pendekatan engineering terhadap perangkat lunak.
Jadi Rekayasa perangkat lunak merupakan pengubahan perangkat lunak itu sendiri guna mengembangkan, memelihara, dan membangun kembali dengan menggunakan prinsip-prinsip rekayasa untuk menghasilkan perangkat lunak yang dapat bekerja lebih efektif dan efisien untuk pengguna nya.
Menurut Rosa A.S. dan M. Shalahuddin, dalam bukunya berjudul Rekayasa Perangkat Lunak (hlm 5 ISBN 978-602-8759-13-7), terddapat 5 Prinsip atau kriteria yang sering digunakan sebagai acuan dalam Rekayasa perangkat lunak:
  • Dapat mengikuti keinginan pengguna (robust)
  • Dapat terus dirawat dan dipelihara (maintainability)
  • Dapat memenuhi kebutuhan yang diinginkan (usability)
  • Efisien dan efektif dalam menggunakan energi dan penggunaannya
  • Dapat mengikuti perkembangan teknologi (dependability)
 

Tujuan Rekayasa Perangkat Lunak

Secara umum tujuan Rekayasa Perangkat Lunak tidak berbeda dengan bidang rekayasa yang lain. Bidang rekayasa akan selalu berusaha menghasilkan output yang kinerjanya tinggi waktu penyelesaian yang tepat dan Berbiaya rendah. Secara lebih khusus kita dapat menyatakan tujuan RPL adalah sebagai berikut:
  • Menghasilkan perangkat lunak yang kinerjanya tinggi, andal serta tepat waktu.
  • Memperoleh biaya produksi perangkat lunak yang rendah.
  • Menghasilkan perangkat lunak yang biaya perawatan rendah.
  • Menghasilkan perangkat lunak yang bisa bekerja di berbagai jenis platform.

    Ruang Lingkup Rekayasa Perangkat Lunak

    Rekayasa Perangkat sendiri mempunyai ruang lingkup kerjanya Sebagai berikut:
    Pengertian, Tujuan dan Ruang Lingkup Rekayasa Perangkat Lunak
    Ruang Lingkup Rekayasa Perangkat Lunak
    Software Requirements
    berhubungan dengan spesifikasi kebutuhan dan persyaratan perangkat lunak. 
    Software Design
    meliputi proses penampilan arsitektur, komponen, antar muka, dan karakteristik lain dari perangkat lunak
    Software Construction
    berhubungan dengan detil pengembangan perangkat lunak, termasuk algoritma, pengkodean, pencarian kesalahan dan pengujian.
    Software Testing
    meliputi pengujian pada kinerja perangkat lunak secara keseluruhan
    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 Quality
    menitikberatkan pada kualitas dan daur hidup perangkat lunak.
    Software Engineering Process
    berhubungan dengan implementasi, definisi, pengukuran, pengelolaan, perubahan dan perbaikan proses Rekayasa Perangkat Lunak.