Anda di halaman 1dari 9

REKAYASA PERANGKAT LUNAK

A. Pengertian Rekayasa Perangkat Lunak

Rekayasa perangkat lunak


(RPL, atau dalam bahasa Inggris:
Software Engineering atau SE)
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.

Pengertian dari Perangkat Lunak adalah kumpulan beberapa perintah komputer


yang dieksekusi oleh mesin komputer dalam menjalankan pekerjaannya yaitu memproses
informasi. perangkat lunak ini merupakan catatan bagi mesin komputer untuk menyimpan
perintah, maupun dokumen serta arsip lainnya. Perangkat lunak tidak dapat disentuh dan
dilihat secara fisik, software memang tidak tampak secara fisik dan tidak berwujud benda
tapi bisa di operasikan.

Pengertian Rekayasa Perangkat Lunak (RPL) adalah aplikasi ilmu komputer untuk
membangun sistem perangkat lunak praktis 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.

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:

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).

Perbedaan perangkat lunak dengan ilmu komputer Ilmu komputer seringkali


didiskripsikan sebagai suatu studi sistematis pada proses-proses algoritma yang
menjelaskan dan mentransformasikan informasi seperti halnya di sini adalah teori,
analisis, disain, efisiensi, penerapan dan aplikasinya. Sedangkan perangkat lunak
merupakan data elektronik yang disimpan sedemikian rupa oleh komputer itu sendiri,
data yang disimpan ini dapat berupa program atau instruksi yang akan dijalankan oleh
perintah, maupun catatan-catatan yang diperlukan oleh komputer untuk menjalankan
perintah yang dijalankannya. Jadi perangkat lunak itu dapat berupa program atau
prosedur. Perbedaan antara RPL dengan ilmu komputer adalah Intinya, imu komputer
berhubungan dengan teori dan metode yang mendasari sistem komputer dan
perangkat lunak, sedangkan RPL berhubungan dengan praktek dalam memproduksi
perangkat lunak.

Perbedaan rekayasa perangkat lunak dengan rekayasa sistem Rekayasa system


mempunyai pengertian suatu sistem yang mampu memilih alat bantu yang baik dalam
perencanaan maupun dalam penerapan perangkat lunak dan memiliki teknik yang
baik untuk menilai kualitas dari perangkat lunak yang dihasilkan, serta mampu
mengkoordinasikan, mengontrol, dan mengatur pelaksanaan pekerjaan pembuatan
perangkat lunak. Sedangkan rekayasa pernagkat lunak itu adalah aplikasi dari ilmu
computer yang membangun system perangkat lunak yang nantinya perangkat lunak
itu akan dipilih kualitas dan tekniknya oleh rekayasa system. Rekayasa sistem
berkaitan dengan semua aspek dalam pembangunan sistem berbasis komputer
termasuk hardware, rekayasa PL dan proses. RPL adalah bagian dari rekayasa sistem
yang meliputi pembangunan PL, infrasktruktur, kontrol, aplikasi dan database pada
sistem. Perbedaan RPL dengan Rekayasa Sistem intinya Rekayasa sistem berkaitan
dengan semua aspek dalam pembangunan sistem berbasis komputer termasuk
hardware, rekayasa PL dan proses. RPL adalah bagian dari rekayasa sistem yang
meliputi pembangunan PL, infrasktruktur, kontrol, aplikasi dan database pada sistem.

Proses perangkat lunak sebagai berikut Serangkaian kegiatan dan hasil-hasil


relevannya yang menghasilkan perangkat lunak sebagian besar dilakukan oleh
perekayasa perangkat lunak.

Ada 4 kegiatan/aktivitas pada proses PL :

• Spesifikikasi Perangkat Lunak : Fungsionalitas perangkat lunak dan batasan


kemampuan operasinya harus didefinisikan.

• Pengembangan Perangkat Lunak : Perangkat lunak yang memenuhi


spesifikasi harus di produksi

• Validasi Perangkat Lunak : Perangkat lunak harus divalidasi untuk menjamin


bahwa perangkat lunak melakukan apa yang diinginkan oleh pelanggan.

• Evolusi Perangkat Lunak : Perangkat lunak harus berkembang untuk


memenuhi kebutuhan pelanggan.

1. Definisi Rekayasa Perangkat Lunak menurut beberapa ahli

Secara umum Rekayasa perangkat lunak memiliki pengertian sebagai sebuah


disiplin ilmu yang menerapkan teori-teori dasar bidang tertentu, kedalam sebuah
perangkat lunak yang digunakan sebagai alat bantu pemecahan masalah atau proses
pengambil keputusan.

Ada beberapa pengertian Rekayasa perangkat lunak menurut beberapa ahli


yaitu sebagai berikut:

Rekayasa perangkat lunak Menurut Stephen R. Schach

“Rekayasa perangkat lunak adalah sebuah disiplin dimana dalam


menghasilkan perangkat lunak bebas dari kesalahan dan dalam pengiriman anggaran
tepat waktu serta memuaskan keinginan pemakai.”

Rekayasa perangkat lunak Menurut Fritz Bauer

“Rekayasa perangkat lunak adalah penetapan dan penggunaan prinsip


rekayasa dalam rangka memperoleh perangkat lunak yang dapat dipercaya dan dapat
bekerja secara efisien pada mesin nyata.”

Rekayasa perangkat lunak Menurut IEEE 610.12

“Rekayasa perangkat lunak adalah sebuah studi pendekatan dan aplikasi


secara sistematis, disiplin pengembangan operasi dan pemeliharaan perangkat lunak
yang kesemuanya itu merupakan aplikasi rekayasa yang berkaitan dengan perangkat
lunak.”

Dari ketiga pengertian tersebut, arti yang diberikan Fritz Bauer sangat sesuai
dengan tujuan dan sasaran dari rekayasa perangkat lunak. Pernyataan Stephen R.
Schach terbatas pada menanggulangi kekurangan yang terjadi jika tidak menerapkan
rekayasa perangkat lunak. Pengertian yang diberikan IEEE 610.12 paling baik dalam
menyampaikan wujud dari rekayasa perangkat lunak.

2. Model Proses Perangkat Lunak

a. Model aliran kerja (workflow) : menunjukkan kegiatan pada proses bersama


dengan input, output, dan ketergantungannya. Merepresentasikan pekerjaan manusia.
b. Model aliran data (data flow) : merepresentasikan proses sebagai suatu set kegiatan
yang melakukan transformasi data. Menunjukkan bagaimana input ke proses,
misalnya spesifikasi ditransformasi menjadi output, misalnya menjadi desain.

c. Model peran/aksi : merepresentasikan peran orang yang terlibat pada PL dan


kegiatan yg menjadi tanggung jawab mereka.

Model atau paradigma umum pada proses PL Model air terjun (waterfall) :
Mengambil kegiatan dasar seperti spesifikasi, pengembangan, validasi, dan evolusi
dan merepresentasikannya sebagai fase-fase proses yang berbeda seperti spesifikasi
persyaratan, perancangan perangkat lunak, implementasi, pengujian dan seterusnya.

Pengembangan evolusioner : Pendekatan ini berhimpitan dengan kegiatan


spesifikasi, pengembangan, dan validasi. Sistem awal dikembangkan dengan cepat
dari spesifikasi abstrak. Sistem ini kemudian di perbaiki dengan masukan dari
pelanggan untuk menghasilkan sistem yang memuaskan kebutuhan pelanggan.

Pengembangan Sistem Formal : Pendekatan ini menghasilkan suatu sistem


matematis yang formal dan mentransformasikan spesifikasi ini, dengan menggunakan
metode matematik menjadi sebuah program.

Pengembangan berdasarkan pemakaian ulang (Reusable) : Teknik ini menganggap


bahwa bagian-bagian sistem sudah ada. Proses pengembangan sistem terfokus pada
pengintegrasian bagian-bagian sistem dan bukan pengembangannya dari awal.

3. Metode Rekayasa Perangkat Lunak

Pada rekayasa perangkat lunak, banyak model yang telah dikembangkan untuk
membantu proses pengembangan perangkat lunak. Model-model ini pada umumnya
mengacu pada model proses pengembangan sistem yang disebut System Development
Life Cycle (SDLC)

Kebutuhan terhadap definisi masalah yang jelas. Input utama dari setiap model
pengembangan perangkat lunak adalah pendefinisian masalah yang jelas. Semakin
jelas akan semakin baik karena akan memudahkan dalam penyelesaian masalah.
Tahapan-tahapan pengembangan yang teratur. Meskipun model-model
pengembangan perangkat lunak memiliki pola yang berbeda-beda, biasanya model-
model tersebut mengikuti pola umum analysis – design – coding – testing –
maintenance

Stakeholder berperan sangat penting dalam keseluruhan tahapan


pengembangan. Stakeholder dalam rekayasa perangkat lunak dapat berupa pengguna,
pemilik, pengembang, pemrogram dan orang-orang yang terlibat dalam rekayasa
perangkat lunak tersebut.

Dokumentasi merupakan bagian penting dari pengembangan perangkat lunak.


Masing-masing tahapan dalam model biasanya menghasilkan sejumlah tulisan,
diagram, gambar atau bentuk-bentuk lain yang harus didokumentasi dan merupakan
bagian tak terpisahkan dari perangkat lunak yang dihasilkan.

Keluaran dari proses pengembangan perangkat lunak harus bernilai ekonomis.


Nilai dari sebuah perangkat lunak sebenarnya agak susah di-rupiah-kan. Namun efek
dari penggunaan perangkat lunak yang telah dikembangkan haruslah memberi nilai
tambah bagi organisasi. Hal ini dapat berupa penurunan biaya operasi, efisiensi
penggunaan sumberdaya, peningkatan keuntungan organisasi, peningkatan “image”
organisasi dan lain-lain.

4. Jenis – Jenis Rekayasa Perangkat Lunak

1. System Software

Adalah sekumpulan program yang ditulis untuk melayani atau menunjang


program lainnya. Beberapa sistem software seperti compiler, editor, komponen-
komponen sistem operasi, driver dan prosesor telekomunikasi.

2. Real Time Software

Software yang mengukur, menganalisis dan mengontrol kejadian yang


sesungguhnya terjadi di dunia. Elemen-elemen real time software terdiri dari:

a. Komponen pengumpul data : Yang mengumpulkan dan menyusun


informasi dari lingkungan external.
b. Komponen analisis : Yang mentransformasikan informasi yang diperlukan
oleh aplikasi.

c. Komponen kontrol : Yang memberikan respon kepada lingkungan


external

d. Komponen monitor : Yang mengkoordinasi semua komponen-komponen


lainnya, sehingga respons real time yang berkisar 1 milisecond sampai 1
menit dapat dipertahankan.

Perlu dicatat bahwa istilah real time berbeda dari istilah interactive atau time
sharing. Sistem real time harus memberikan respons pada waktu yang ditentukan,
sedangkan pada sistem interactive atau time sharing respons time biasanya melebihi
batas waktu yang ditentukan tanpa merusak hasil.

3. Business Software

Software yang paling banyak digunakan dalam bidang aplikasi software.


Software ini digunakan oleh manajemen untuk mengambil keputusan ( Decision
Making ) dalam bidang bisnis. Contoh :

 DAC EASY ACCOUNTING


 FINANCE MANAGER

4. Engineering and Sciencetific Software

Software yang dicirikan dengan algoritma numerik, aplikasinya berkisar dari


astronomi sampai vulkanologi, dari analis ketegangan otomotif sampai dinamika orbit
ruang angkasa. Software ini banyak digunakan dalam bidang engineering dan science.
Contoh : CAD / CAM ( Computer Aided Design / Computer Aided Manufacture –
Simulasi sistem ).

5. Pentingnya Rekayasa Perangkat Lunak


Rekayasa perangkat lunak merupakan ilmu yang penting untuk diperdalam
karena teknologi ini memberikan stabilitas, kontrol, dan organisasi aktifitas yang jika
tidak terkontrol dengan baik dapat menjadi sangat kacau. Ada beberapa tujuan
dilakukan rekayasa perangkat lunak antara lain yaitu :

1. Untuk membangun software yang benar dan benar sebuah software (Right
Software and Software Right).
2. Untuk membangun software yang tepat (correct).
3. Dikelola dengan baik untuk pemeliharaan kebenarannya (correctness).

Secara umum tujuan RPL tidak berbeda dengan bidang rekayasa yang lain.
Bidang rekayasa akan selaluberusaha menghasilkan output yang kinerjanya tinggi,
biaya rendah dan waktu penyelesaian yang tepat. Secara lebih khusus kita dapat
menyatakan tujuan RPL adalah :

a. Memperoleh biaya produksi perangkat lunak yang rendah.


b. Menghasilkan perangkat lunak yang kinerjanya tinggi, andal dan tepat
waktu.
c. Menghasilkan perangkat lunak yang dapat bekerja pada berbagai jenis
platform.
d. Menghasilkan perangkat lunak yang biaya perawatannya rendah.
Sesuai definisi yang telah disampaikan sebelumnya, maka ruang lingkup RPL
dapat digambarkan sebagai berikut.

 Software requirements berhubungan dengan spesifikasi kebutuhan dan


persyaratan perangkat lunak.
 Software design mencakup proses penentuan arsitektur, komponen,
antarmuka, dan karakteristik lain dari perangkat lunak.
 Software construction berhubungan dengan detil pengembangan perangkat
lunak, termasuk algoritma, pengkodean, pengujian, dan pencarian kesalahan.
 Software testing meliputi pengujian pada keseluruhan perilaku perangkat
lunak.
 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 engineering process berhubungan dengan definisi, implementasi,
pengukuran, pengelolaan, perubahan dan perbaikan proses RPL.
 Software quality menitikberatkan pada kualitas dan daur hidup perangkat
lunak.

Anda mungkin juga menyukai