Pengenalan Rekayasa Perangkat Lunak




RPL
(REKAYASA PERANGKAT LUNAK)


1.      Pengertian RPL

Rekayasa perangkat lunak telah berkembang sejak pertama kali diciptakan pada tahun 1940-an hingga kini. Fokus utama pengembangannya adalah untuk mengembangkan praktek dan teknologi untuk meningkatkan produktivitas para praktisi pengembang perangkat lunak dan kualitas aplikasi yang dapat digunakan oleh pemakai.
Rekayasa Perangkat Lunak (RPL) atau dalam bahasa Inggris disebut Software Engineering (SE) adalah satu bidang yang mendalami mengenai cara-cara pengembangan perangkat lunak termasuk pembuatan, pemeliharaan, manajemen organisasi pengembangan 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. Jadi, dapat dikatakan Rekayasa Perangkat Lunak adalah pengubahan perangkat lunak guna mengembangkan, memelihara, dan membangun kembali dengan menggunakan prinsip rekayasa untuk menghasilkan perangkat lunak yang dapat bekerja lebih efisien dan efektif untuk pengguna.
Kriteria yang dapat digunakan sebagai acuan dalam merekayasa perangkat lunak :
  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)
Sebagian orang mengartikan RPL hanya sebatas pada bagaimana membuat program komputer. Padahal ada perbedaan yang mendasar antara perangkat lunak (software) dan program komputer.
Ø  Perangkat lunak adalah seluruh perintah yang digunakan untuk memproses informasi. Perangkat lunak dapat berupa program atau prosedur. Program adalah kumpulan perintah yang dimengerti oleh computer, sedangkan prosedur adalah perintah yang dibutuhkan oleh pengguna dalam memproses informasi (O’Brien, 1999).
Ø  RPL adalah suatu ilmu yang membahas semua aspek produksi perangkat lunak, mulai dari tahap awal yaitu analisa kebutuhan pengguna, menentukan spesifikasi dari kebutuhan pengguna, disain, pengkodean, pengujian sampai pemeliharaan sistem setelah digunakan.
Kelengkapan yang diharapkan ada dalam perangkat lunak :
  1. Dapat dipelihara : Perangkat lunak dapat ditulis sedemikian rupa sehingga perangkat lunak dapat berubah seiring dengan perubahan kebutuhan pelanggan.
  2. Dapat diandalkan : Perangkat lunak mempunyai serangkaian karakteristik, termasuk keandalan, keamanan dan keselamatan.
  3. Efisien : Perangkat lunak tidak boleh menggunakan sumber daya sistem seperti siklus memori dan prosesor.
  4. Kemampupakaian : Perangkat lunak harus dapat dipakai, memiliki interface user yang bagus dan dokumentasi yang mencukupi.

2.      Tujuan RPL


Dapat diartikan tujuan dari RPL yaitu bahwa bidang rekayasa akan selalu berusaha menghasilkan output yang kinerjanya tinggi, biaya rendah dan waktu penyelesaian yang tepat. Secara lebih khusus dapat menyatakan tujuan RPL adalah:
a.       Memperoleh biaya produksi perangkat lunak yang rendah
  1. Menghasilkan perangkat lunak yang kinerjanya tinggi, andal dan tepat waktu
  2. Menghasilkan perangkat lunak yang dapat bekerja pada berbagai jenis platform
  3. Menghasilkan perangkat lunak yang biaya perawatannya rendah dan terjangkau
  4. Menghasilkan sebuah perangkat lunak yang berkualitas. Yang dimaksud dengan berkualitas dapat dilihat dari tiga sisi, sisi sponsor (individu atau organisasi yang telah mengeluarkan biaya dalam pembangunan perangkat lunak), sisi pemakai (siapapun yang menggunakan perangkat lunak tersebut), sisi maintainer / modifier (yang memelihara dan memodifikasi perangkat lunak tersebut).

3.      Ruang Lingkup Perangkat Lunak

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqet6b3taNM4-XRiwVprYfNfA_sVRFKH2pRvHKDSEWSMRhTEpMko-foC4sJB8qAwTtUoobaKL8btbsEI1rGZftRyV-NzSZu6zYK59aSDfNU2DFmPnBROVE2RKlpJjj4sDuDVopTGfBanYi/s1600/pengertian+RPL2.jpg
1.      Software Requirements berhubungan dengan spesifikasi kebutuhan dan persyaratan perangkat lunak
2.      Software Desain mencakup proses penampilan arsitektur, komponen, antar muka, dan karakteristik lain dari perangkat lunak
3.      Software Construction berhubungan dengan detail pengembangan perangkat lunak, termasuk algoritma, pengkodean, pengujian dan pencarian kesalahan
4.      Software Testing meliputi pengujian pada keseluruhan perilaku perangkat lunak
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 Engineering Process berhubungan dengan definisi, implementasi pengukuran, pengelolaan, perubahan dan perbaikan proses RPL
10.  Software Quality menitik beratkan pada kualitas dan daur hidup perangkat lunak

4.      Produk Perangkat Lunak

1.      Produk generic
Produk generik merupakan perangkat lunak yang dibuat oleh pengembang perangkat lunak untuk dijual atau dipopulerkan (open source) tanpa ada yang memesan terlebih dahulu, perangkat lunak yang termasuk dalam produk generik misalnya perangkat lunak sistem operasi, pernagkat lunak pendukung perkantoran untuk membuat dokumen, slide  presentasi, atau penghitungan dalam bentuk papersheet dan lain-lain.
2.      Produk pemesanan
Produk pemesanan merupakan produk perangkat lunak yang dibuat karena ada pelanggan yang melakukan pemesanan, misalnya instansi memerlukan perangkat lunak untuk kebutuhan bisnis dalam instansi nya, maka instansi tersebut akan bekerja sama dengan pengembang untuk membuat perangkat lunak yang dibutuhkan.
Perbedaan penting antara tipe-tipe perangkat lunak :
1)      Pada produk generik, organisasi yang mengembangkan perangkat lunak mengontrol spesifikasi perangkat lunak.
2)      Pada produk pesanan, spesifikasi biasanya dikembangkan dan dikontrol oleh organisasi yang membeli perangkat lunak tersebut.

5.      Aplikasi Perangkat Lunak

Dilihat dari aplikasinya, perangkat lunak dibedakan menjadi :
1.      Perangkat Lunak Sistem (Sistem Software)
Sekumpulan program yang ditulis untuk kepentingan program lain, contoh editordriver dan lain-lain.
2.      Perangkat Lunak Waktu Nyata (Real Time Software)
Perangkat lunak yang digunakan untuk mengukur/menganalisis atau mengontrol proses pemasukan data dari lingkungan luar sampai menghasilkan laporan yang diinginkan.
3.      Perangkat Lunak Bisnis (Business Software)
Perangkat lunak yang memberikan fasilitas operasi untuk bisnis atau fasilitas pengambilan keputusan manajemen, contoh sistem akuntansi, inventory, payroll dan lain-lain.
4.      Perangat Lunak Rekayasa dan Sains (Engineering and Scientific Software)
Perangkat lunak yang digunakan di dalam bidang aplikasi teknik dan kerekayasaan perangkat lunak jenis ini biasanya berhubungan dengan komputasi data numerik, CAD (Computer Aided Design), simulasi sistem, dan lain-lain.
5.      Perangkat lunak tambahan untuk membantui mengerjaklan suatu fungsi dari perangkat lunak lainnya (Embedded Software)
Perangkat lunak yang digunakan untuk mengontrol suatu produk dan sistem dimana perangkat lunak tersebut disimpan. Biasanya ditempatkan di ROM, contoh Tombol di Microwave Oven.
6.      Perangkat Lunak Komputer Pribadi (Personal Computer Software)
Banyak digunakan pada aplikasi yang bersifat perorangan, contohnya: pengolah kata, spreadsheetgame, DBMS dan lain-lain.
7.      Perangkat Lunak Intelegensia Buatan (Artificial Intelligent Software)
Dibuat dengan menggunakan teknik algoritma non-numerik untuk memecahkan masalah yang kompleks, digunakan dalam bidang aplikasi kecerdasan buatan, contohnya: game, expert sistem, neural network, Turbo Prolog, dan lain-lain.
8.      Perangkat lunak berbasis web (web based software)
Perangkat lunak berbasis web (web based software) merupakan perangkat lunak yang dapat diakses dengan menggunakan browser.

6.      Mitos Perangkat Lunak

Mitos-mitos dalam perangkat lunak :
1.      Mitos Manajemen
Manajer yang bertanggung jawab terhadap masalah perangkat lunak, seperti para manajer yang kebanyakan disiplin, sering mengalami tekanan karena masalah pengaturan keuangan, menjaga jadwal agar tidak kacau dan peningkatan kualitas. Seperti orang hanyut yang hanya berpegang pada sebuah jerami, manajer perangkat lunak juga berpegang pada kepercayaan didalam mitos perangkat lunak jika mitos tersebut dapat mengurangi tekanan yang mereka rasakan meskipun sifatnya hanya temporal. Dibawah ini adalah mitos yang masih berkembang dipihak manajemen.
a.       Kita tidak perlu mengubah pendekatan terhadap pengembangan software, karena jenis pemrograman yang kita lakukan sekarang ini sudah dilakukan 10 tahun yang lalu. Realitasnya : Walau hasil program sama, produktivitas dan kualitas software harus ditingkatkan dengan menggunakan pendekatan software developments.
b.      Kita sudah mempunyai buku yang berisi standarisasi dan prosedur untuk pembentukan software. Realitasnya : Memang buku tersebut ada, tetapi apakah buku tersebut sudah dibaca atau buku tersebut sudah ketinggalan zaman (out of date).
c.       Jika kita tertinggal dari jadwal yang ditetapkan, kita menambah beberapa progammer saja. Konsep ini sering disebut Mongolin harde concept.
2.      Mitos Pelanggan
Pelanggan yang memesan perangkat lunak komputer mungkin orang yang duduk di meja sebelah, sekelompok teknisi yang ada di tingkat bawah, bagian pemasaran, atau perusahaan lain yang memesan perangkat lunak dengan cara kontrak. Dalam beberapa kasus, pelanggan mempercayai mitos tentang tentang perangkat lunak karena manajer dan para pelaksana yang bertanggung jawab atas masalah perangkat lunak hanya bekerja sedikit saja untuk memperbaiki kesalahan informasi. Mitos ini membawa ke arah pengharapan yang salah (oleh pelanggan) dan ketidakpuasan pengembang.
a.       Pernyataan tujuan umum sudah cukup untuk memulai penulisan program. Penjelasan yang lebih rinci akan menyusul kemudian. Realitasnya : Definisi awal yang buruk adalah penyebab utama kegagalan usaha-usaha pembentukan software. Penjelasan yang formal dan terinci tentang informasi fungsi performance interface, hambatan desain dan kriteria validasi adlaah penting. Karakteristik di atas dapat ditentukan hanya setelah adanya komunikasi antara customer dan developer.
b.      Kebutuhan proyek yang terus menerus berubah dapat dengan mudah diatasi karena software itu bersifat fleksibel. Kenyataannya memang benar bahwa kebutuhan software berubah, tetapi dampak dari perubahan berbeda dari waktu ke waktu.
3.      Mitos Praktisi
Mitos yang masih dipercaya oleh praktisi perangkat lunak yang sudah dihapus oleh beberapa dekade budaya pemrograman. Seperti yang sudah ditulis sebelumnya dalam bab ini, sel ma masa awal perangkat lunak, pemrograman dilihat sebagai karya seni. Cara dan kebiasaan lama tetap sukar lenyap.
a.       Tidak ada metode untuk analisa dan testing terhadap suatu pekerjaan, cukup menuju ke depan terminal dan mulai coding. Realitasnya : Metode untuk analisa desain dan testing diperlukan dalam pengembangan software.
b.      Segera setelah sofware digunakan, pemeliharaan dapat diminimalisasikan dan diatasi dengan cara "CATCH AS CATCH CAM". Realitasnya : Diperlukan budget yang besar dalam maintenance software. Pemeliharaan software harus diorganisir, direncanakan dan dikontrol seolah-olah sebagai suatu proyek besar dalam sebuah organisasi.

0 komentar:

Posting Komentar

FTI UNISKA MABA 2023

  MABA FTI UNISKA JAYA 2023