Friday, May 10, 2013

Rekayasa Perangkat Lunak

Pengertian Rekayasa Perangkat Lunak

Rosa dan Shalahuddin (2011), menyatakan bahwa Perangkat Lunak (software) adalah program komputer yang terasosiasi dengan dokumentasi perangkat lunak seperti dokumentasi kebutuhan, model desain, dan cara penggunaan (user manual). Sebuah program komputer tanpa terasosiasi dengan dokumentasinya maka belum dapat disebut perangkat lunak (software). Sebuah perangkat lunak juga sering disebut dengan sistem perangkat lunak. Sistem berarti kumpulan komponen yang saling terkait dan mempunyai satu tujuan yang ingin dicapai.
      Rekayasa perangkat lunak (software engineering) merupakan pembangunan dengan menggunakan prinsip atau konsep rekayasa dengan tujuan menghasilkan perangkat lunak yang bernilai ekonomi yang dipercaya dan bekerja secara efisien menggunakan mesin. Perangkat lunak banyak dibuat dan pada akhirnya sering tidak digunakan karena tidak memenuhi kebutuhan pelanggan atau bahkan karena masalah non-teknis seperti keenggan pemakai perangkat lunak (user) untuk mengubah cara kerja dari manual ke otomatis, atau ketidakmampuan user menggunakan komputer. Oleh karena itu, rekayasa perangkat lunak dibutuhkan agar perangkat lunak yang dibuat tidak hanya menjadi perangkat lunak yang tidak terpakai.

Proses Perangkat Lunak
Rosa dan Shalahuddin (2011), menyatakan bahwa Proses Perangkat Lunak (software process) adalah sekumpulan aktifitas yang memiliki tujuan untuk mengembangkan atau mengubah perangkat lunak. Secara umum proses perangkat lunak terdiri dari:
1.    Pengumpulan Spesifikasi (Specification) mengetahui apa saja yang harus dapat dikerjakan sistem perangkat lunak dan batasan pengembangan perangkat lunak
2.      Pengembangan (Development) pengembangan perangkat lunak untuk menghasilkan sistem perangkat lunak.
3.   Validasi (Validation) memeriksa apakah perangkat lunak sudah memenuhi keinginan pelanggan (customer).
4.    Evolusi (Evolution) mengubah perangkat lunak untuk memenuhi perubahan kebutuhan pelanggan            (customer).

Model Proses Perangkat Lunak
Model Proses Perangkat Lunak merupakan suatu representasi proses perangkat lunak yang disederhanakan, dipresentasikan dari perspektif khusus. Contoh perspektif proses:
1.             Perspektif Alur-kerja (workflow) maksudnya barisan kegiatan.
2.             Perspektif Alur Data (Data flow) maksudnya alur informasi.
3.             Perspektif Peran atau Aksi maksudnya siapa melakukan apa.
Model perangkat lunak merupakan deskripsi yang disederhanakan dari proses perangkat lunak yang direpresentasikan dengan sudut pandang tertentu. Model, sesuai sifatnya, merupakan penyederhanaan sehingga model proses perangkat lunak merupakan abstraksi dari proses sebenarnya yang dideskripsikan. Model proses bisa mencakup kegiatan yang merupakan bagian dari proses perangkat lunak, produk perangkat lunak dan peran orang yang terlibat pada rekayasa perangkat lunak. (Sommerville, 2007)
Model atau paradigma umum pengembangan perangkat lunak:
1.             Pendekatan air terjun (waterfall)
Model ini melakukan pendekatan secara sistematis dan urut mulai dari level kebutuhan sistem lalu menuju ke tahap analisis, desain, coding, implementation. Metode ini disebut dengan waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan.
Tahapan-tahapan dalam pendekatan waterfall adalah:
a.         Analisis
Perolehan kebutuhan pengguna sistem dari user serta pilihan solusi jenis sistem informasi yang akan dikembangkan.
b.        Desain
Desain harus dapat mengimplementasikan kebutuhan yang telah disebutkan pada tahap sebelumnya maka proses ini juga harus didokumentasikan sebagai konfigurasi dari software.
c.         Coding
Desain harus diubah bentuknya menjadi bentuk yang dapat dimengerti oleh komputer, yaitu ke dalam bahasa pemrograman melalui proses coding.
d.         Implementation
Setelah semua fungsi-fungsi software harus di ujicoba agar software bebas dari kesalahan, dan hasilnya harus benar-benar sesuai dengan kebutuhan yang sudah didefinisikan sebelumnya. Maka proses selanjutnya adalah bagaimana sistem baru akan diinstall dan dijalankan di perusahaan dengan pengoperasian yang dilakukan oleh user.
2.             Pengembangan evolusioner
Pendekatan ini berhimpitan dengan kegiatan spesfikasi, pengembangan, dan validasi. Suatu sistem awal dikembangkan dengan cepat dari spesifikasi abstrak. Sistem ini kemudian diperbaiki dengan masukan dari pelanggan untuk menghasilkan sistem yang memuaskan bagikebutuhan pelanggan.
3.             Pengembangan sistem formal
Pendekatan ini didasarkan atas pembuatan spesifikasi sistem matematis dan pentransformasian spesifikasi ini, dengan memakai metode matematis untuk membangun program.
4.             Pengembangan berdasarkan pemakaian ulang
     Pendekatan ini didasarkan ataas adanya komponen yang dapat dipakai ulang dalam jumlah yang   signifikan. Proses pengembangan sistem terfokus pada integrasi komponen-komponen ini ke dalam suatu sistem dan bukan mengembangkan dari awal. (Sommerville, 2007)


1 comment: