Disusun Oleh:
JURUSAN INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
UNIVERSITAS TEKNOKRAT INDONESIA
BANDAR LAMPUNG
2021
Konsep Dasar Rekayasa Perangkat Lunak (RPL)
IEEE Computer Society : RPL 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.
1. Perangkat Lunak
Secara umum ada tiga jenis perangkat lunak yang diketahui hingga saat ini yaitu sistem
operasi yang merupakan sebuah penghubung antara pengguna dari komputer dengan
perangkat keras komputer. Kedua yaitu perangkat lunak bahasa pemrograman seperti
java. Dan yang ketiga yaitu perangkat lunak aplikasi yang merupakan penrangkat yang
digunakan untuk membantu dan memudahkan pekerjaan seseorang misalnya saja
Microsoft Excel, Word, dan Power Point
Rekayasa atau teknik merupakan penerapan ilmu dan teknologi untuk menyelesaikan
permasalahan manusia. Hal ni diselesaikan lewat pengetahuan, matematika, dan
pengalaman praktis yang diterapkan untuk mendesain objek atau proses yang berguna.
Para praktisi teknik professional disebut perekayasa.
Rekayasa perangkat lunak atau Software engineering dalam bahasa inggris merupakan
bidang ilmu yang mempelajari tentang segala aspek perangkat lunak, seperti cara-cara
pengembangan, pemeliharaan , pembuatan, serta manajemen kualitas perangkat lunak.
Perbedaan antara rekayasa perangkat lunak dengan ilmu koputer sudah terlihat dari
Bahasa Inggrisnya rekayasa perangkat lunak dalam Bahasa Inggris disebut sebagai
software engineering , sedangkan ilmu komputer dalam bahasa inggris disebut
science. Dari segi ilmu yang dipelajari rekayasa perangkat lunak merupakan bidang
ilmu yang mempelajari tentang perangkat lunak, sedangkan ilmu komputer
mempelajari tentang komputasi, perangkat keras, serta beragam topic yang berkaitan
dengan komputer.serta ilmu komputer lebih menekankan pada pemrograman komputer
sedangkan rekayasa perangkat lunak tidak. Selain itu rekayasa perangkat lunak lebih
mengedepankan prakteknya, sedangkan ilmu komputer lebih mengedepankan teori.
Perbedaan antara rekayasa perangkat lunak dengan rekayasa sistem adalah apabila
rekayasa sistem itu merupakan sebuah kumpulan komponen, konsep, serta alat bantu
untuk merancang dan menginstalasi sebuah sistem perangkat lunak, sedangkan
rekayasa perangkat lunak itu merupakan ilmu yang mempelajari tentang segala aspek
perangkat lunak, seperti cara-cara pengembangan, pemeliharaan , pembuatan, serta
manajemen kualitas perangkat lunak. Jadi dapat disimpulkan bahwa rekayasa perangkat
lunak merupakan bagian dari rekayasa sistem karena RPL ilmu yang mempelajari
tentang pembuatan perangkat lunak sedangkan rekayasa sistem merupakan kumpulan
komponen, konsep, serta alat bantu untuk merancang dan menginstalasi perangkat
lunak.
Proses perangkat lunak merupakan proses bagaimana sebuah perangkat lunak itu dapat
terbentuk yang dilakukan oleh perekayasa perangkat lunak, proses proses tersebut
diantaranya adalah :
Model proses perangkat lunak merupakan cara untuk memproses sebuah perangkat
lunak dari nol menjadi sebuah perangkat lunak yang siap untuk digunakan. Berikut
merupakan beberapa contoh model proses perangkat lunak yang biasa digunakan
Model air terjun ini merupakan model klasik yang bersifat sistematis dalam membuat
suatu perangkat lunak dan juga paling sering digunakan.
Pada fase analisis fungsi,kemampuan operasi perangkat lunak yang akan dibuat harus
diketahui terlebih dahulu. Kemudian apabila analisi telah selesai dilakukan maka
didesainlah perangkat lunak yang akan dibuat. Setelah desain selesai lalu desain
tersebut diterjemahkan kedalam kode-kode dengan bahasa pemrograman yang
diinginkan, misalnya saja C++. Setelah kode selesai dibuat diadakanlah proses
pengetesan terhadap perangkat lunak yang baru dibuat agar diketahui apakah perangkat
yang dibuat bisa berjalan dengan benar atau tidak.
2. Model Spiral
Model spiral ini dikembangkan oleh Boehm pada tahun 1988 berdasarkan pada
pengalamannya dengan berbagai perbaikan atas model air terjun yang diaplikasikan
pada proyek pemerintah, khususnya perangkat lunak yang besar. Model ini
dititikberatkan pada pembuatan prototype dan manajemen resiko yang sangat fleksibel
jika dibandingkan dengan model air terjun. Kebanyakan aplikasi komprehensif dari
model ini ada pada pengembangan TRW-Software Productivity System yang
dijabarkan oleh Boehm. Konsep spiral dan focus manajemen risiko telah memperolah
pengakuan di industry rekayasa perangkat lunak dan manajemen proyek pada tahun-
tahun terakhir.
a. Jangkauan atas pilihan mengakomodasi fitur yang baik untuk proses model perangkat
lunak yang sudah ada.
b. Fokus awalnya ada pada pilihan yang melibatkan penggunaan ulang perangkat lunak
yang ada. Pilihan ini mendukung karena identifikasi awa; dengan evaluasi dari
alternative-alternatif adalah kunci di setiap siklus spiral.
c. Model spiral juga menyediakan mekanisme untuk tujuan kualtias dan perangkat lunak
gabungan kepengembangan produk perangkat lunak.
e. Model spiral menyediakan kerangka kerja aktif untuk pengembangan sistem perangkat
keras dan perangkat lunak yagn terintegrasi.
b. Karena model spiral ini bersifat fleksibel serta dinamis maka langkah spiral ini harus
diteliti lebih lanjut untuk mendapatkan konsistensi, penjajakan, dan control yang
diinginkan. Penelitian dan control sangat penting , khususnya untuk area analisis resiko
dan manajemen.
7. Metode-metode RPL
Metode-metode dalam rekayasa perangkat lunak merupakan cara yang dilakukan untuk
mengembangkan perangkat lunak yang meliputi deskripsi model sistem, aturan,
rekomendasi, panduan proses, dan bimbingan. Deskripsi model sistem merupakan
model sistem yang akan digunakan contohnya model waterfall. Aturan merupakan
batasan yang diberikan kepada model sistem yang telah ditentukan, misalnya setiap
entitas pada model sistem diharuskan memiliki nama entitas yang berbeda antara satu
entitas dengan entitas lainnya. Rekomendasi berupa saran yang diberikan agar dapat
membentuk perancangan yang baik dan sesuai fungsinya. Panduan proses merupakan
aktifitas yang bisa diikuti untuk mengembangkan model sistem. Proses bimbingan yaitu
serangkaian kegiatan yang akan diikutin untuk mengembangkan model sistem.
a. Maintainability yaitu perangkat lunak harus bisa di pelihara demi memenuhi kebutuhan
pelanggan yang semakin lama menginginkan kemudahan.
b. Dependability, yaitu perangkat lunak harus dapat diandalkan dan dipercaya dan tidak
mengecewakan penggunanya.
c. Acceptability, yaitu perangkat lunak yang sudah diproduksi harus diterima sepenuhnya
oleh pengguna yang memesannya. Ini berarti perangkat harus dapat dapat digunakan
dengan mudah oleh pengguna.
d. Usability , perangkat lunak yang harus dapat digunakan sesuai dengan fungsi awal yang
telah ditentukan oleh penggunanya.
e. Efisien, yaitu perangkat lunak haruslah efisien baik dalam penggungannya maupun
sumber daya yang digunakan.
d. Adanya killer application yang bisa lebih dikostumisasi, interaktif, dinamis, dan penuh
gaya
e. User power an authority, dimana pengguna bisnis dan pengguna individu adalah
pihakyang lebih kuat, berpengalaman dan selektif.
f. Adanya market share dimana pesaing menjadi lebih agresif, dan inovatif.
11. Tujuan Rekayasa Perangkat Lunak
a. Secara lebih khusus kita dapat menyatakan tujuan RPL adalah untuk
b. Memperoleh biaya produksi perangkat lunak yang rendah.
c. Menghasilkan perangkat lunak yang kinerjanya tinggi, andal dan tepat waktu
d. Menghasilkan perangkat lunak yang dapat bekerja pada berbagai jenis platform
e. Menghasilkan perangkat lunak yang biaya perawatannya rendah
Validasi perangkat lunak, Perangkat lunak harus divalidasi untuk menjamin bahwa
perangkau lunak melakukan apa yang diinginkan oleh user.
Evolusi rangkat lunak. Perangkat lunak harus berkembang untuk memenuhi kebutuhan
pelanggan yang berubah ubah.
Cakupan ruang lingkup yang cukup luas, membuat RPL sangat terkait dengan disiplin
dengan bidang ilmu lain. tidak saja sub bidang dalam disiplin ilmu komputer namun
dengan beberapa disiplin ilmu lain diluar ilmu komputer.
c. Bidang ilmu manajemen proyek meliputi semua hal yang berkaitan dengan proyek,
seperti ruang lingkup proyek, anggaran, tenaga kerja, kualitas, manajemen resiko dan
keandalan, perbaikan kualitas, dan metode-metode kuantitatif.
a. Batch Orientation, Suatu orientasi di mana proses dilakukan setelah data dikumpulkan
dalam satuan waktu tertentu, atau proses dilakukan setelah data terkumpul, lawan dari
batch adalah Online atau Interactive Process. Keuntungan dari Interactive adalah
mendapatkan data yang selalu up to date.
b. Limmited distribution, Suatu penyebaran software yang terbatas pada perusahaan-
perusahaan tertentu.
c. Custom software, Software yang dikembangkan berdaasarkan perusahaan-perusahaan
tertentu.
2. Era Kedua (1960 – 1970)
a. Multi user, Suatu sistem di mana satu komputer digunakan oleh beberapa user pada
saat yang sama.
b. Real Time, Suatu sistem yang dapat mengumpulkan, menganalisa dan
mentransformasikan data dari berbagai sumber, mengontrol proses dan menghasilkan
output dalam mili second.
c. Database, Perkembangan yang pesat dari alat penyimpan data yang OnLine
menyebabkan muncul generasi pertama. DBMS (DataBase Management System).
d. Product Software, Adalah software yang dikembangkan untuk dijual kepada
masyarakat luas.
a. Distributed system, Suatu sistem yang tidak hanya dipusatkan pada komputer induk
(Host computer), daerah atau bidang lainnya, yang juga memiliki komputer yang
ukurannya lebih kecil dari komputer induk. Lawan dari distributed system adalah
Centralized System.
b. Embedded Intelegence, Suatu product yang diberi tambahan “Intellegence” dan
biasanya ditambahkan mikroprocessor yang mutakhir. Contohnya adalah automobil,
robot, peralatan diagnostic serum darah.
c. Low Cost Hardware, harga hardware yang semakin rendah, ini dimungkinkan karena
munculnya Personal Computer.
f. Consummer Inpact, Adanya perkembangan komputer yang murah menyebabkan
banyaknya software yang dikembangkan, software ini memberi dampak yang besar
terhadap masyarakat.
Rekayasa perangkat lunak jelas dibatasi oleh hukum lokal, nasional dan internasional.
Perekayasa perangkat lunak harus memiliki tanggung jawab etis dan moral jika ingin
dihormati sebagai profesional. Terdapat beberapa standar dan kode etik yang harus
dipertimbangkan, yaitu: