A.Pengertian Rekayasa Perangkat Lunak(RPL)
1. Istilah Rekayasa Perangkat Lunak (RPL) secara umum disepakati
sebagai terjemahan dari istilah Software Engineering. Istilah Software
Engineering mulai dipopulerkan tahun 1968 pada Software Engineering Conference
yang diselenggarakan oleh NATO. Sebagian orang mengartikan RPL hanya sebatas
pada bagaimana membuat program komputer. Padahal ada perbedaan yang mendasar
antara perangkat lunak (software) dan program komputer.
2. RPL atau Software Engineering
(SE) à Disiplin ilmu yang membahas semua aspek produksi perangkat
lunak, mulai dari tahap awal spesifikasi sistem sampai pemeliharaan sistem
setelah digunakan. Ada 2 istilah kunci disini :
a. “disiplin
rekayasa” à Perekayasa membuat suatu alat bekerja.Menerapkan teori,
metode, dan alat bantu yang sesuai, selain itu mereka menggunakannya dengan
selektif dan selalu mencoba mencari solusi terhadap permasalahan.
b. “semua aspek produksi
perangkat lunak” à RPL tidak hanya berhubungan dengan proses teknis
dari pengembangan perangkat lunak tetapi juga dengan kegiatan seperti Manajemen
proyek PL dan pengembangan alat bantu, metode, dan teori untuk mendukung
produksi PL.
Kesimpulannya, Rekayasa Perangkat Lunak adalah proses membuat perangkat lunak
dengan menggunakan kaidah-kaidah atau prinsip-prinsip rekayasa sehingga
dihasilkan perangkat lunak yang berkualitas.
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.
Metode-metode RPL
n Pendekatan-pendekatan terstruktur
terhadap pengembangan perangkat lunak mencakup model, notasi, aturan, saran
pengembangan sistem (rekomendasi), dan panduan proses.
n Deskripsi model
sistem à Deskripsi model yang harus dikembangkan dan notasi yang
digunakan untuk mendefinisikan model-model ini. Ex : model aliran data.
n Aturan à Batasan
yang berlaku bagi model sistem. Ex : Setiap entitas pada model sistem harus
memiliki nama yang unik.
n Rekomendasi à Saran
dalam membentuk perancangan yang baik. Ex : Tidak ada objek yang memiliki lebih
dari tujuh sub-objek yang berhubungan dengannya.
n Panduan
Proses à Aktifitas yang bisa diikuti untuk mengembangkan model
sistem. Ex : Atribut objek harus didokumentasi sebelum mendefinisikan operasi
yang berhubungan dengan objek.
B.Sejarah
Singkat Rekayasa Perangkat Lunak
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.
1945
- 1965: Awal
Istilah software engineering
digunakan pertama kali pada akhir 1950-an dan awal 1960-an. Saat itu, masih
terdapat debat tajam mengenai aspek engineering dari pengembangan perangkat
lunak.
Pada tahun 1968 dan 1969, komite
sains NATO mensponsori dua konferensi tentang rekayasa perangkat lunak, yang
memberikan dampak kuat terhadap perkembangan rekayasa perangkat lunak. Banyak
yang menganggap bahwa dua konferensi inilah yang menandai awal resmi profesi
rekayasa perangkat lunak.
Pada tahun 1960-an hingga 1980-an,
banyak masalah yang ditemukan para praktisi pengembangan perangkat lunak.
Banyak projek yang gagal, hingga masa ini disebut sebagai . Kasus
kegagalan pengembangan perangkat lunak terjadi mulai dari projek yang melebihi
anggaran, hingga kasus yang mengakibatkan kerusakan fisik dan kematian. Salah
satu kasus yang terkenal antara lain meledaknya roket Ariane akibat kegagalan
perangkat lunak.
Selama bertahun-tahun, para peneliti
memfokuskan usahanya untuk menemukan teknik jitu untuk memecahkan masalah
krisis perangkat lunak.
Berbagai teknik, metode, alat, proses
diciptakan dan diklaim sebagai senjata pamungkas untuk memecahkan kasus ini.
Mulai dari pemrograman terstruktur, pemrograman berorientasi object, perangkat
pembantu pengembangan perangkat lunak (CASE tools), berbagai standar, UML hingga
metode formal diagung-agungkan sebagai senjata pamungkas untuk menghasilkan
software yang benar, sesuai anggaran dan tepat waktu.
Pada tahun 1987, Fred Brooks menulis
artikel No Silver Bullet,
yang berproposisi bahwa tidak ada satu teknologi atau praktek yang sanggup
mencapai 10 kali lipat perbaikan dalam produktivitas pengembangan perangkat
lunak dalam tempo 10 tahun.
Sebagian berpendapat, no silver
bullet berarti profesi rekayasa perangkat lunak dianggap telah gagal. Namun
sebagian yang lain justru beranggapan, hal ini menandakan bahwa bidang profesi
rekayasa perangkat lunak telah cukup matang, karena dalam bidang profesi
lainnya pun, tidak ada teknik pamungkas yang dapat digunakan dalam berbagai
kondisi.
MODEL PROSES RPL
1. Model Waterfall
Sejarah model waterfall
Nama model ini
sebenarnya adalah “Linear Sequential Model”. Model ini sering disebut dengan
“classic life cycle” atau model waterfall. Model ini pertama kali yang
diperkenalkan oleh Winston Royce sekitar tahun 1970 sehingga sering dianggap
kuno, tetapi merupakan model yang paling banyak dipakai didalam Software
Engineering (SE). Model ini melakukan pendekatan secara sistematis dan
berurutan. Disebut dengan waterfall karena tahap demi tahap yang dilalui harus
menunggu selesainya tahap sebelumnya dan berjalan berurutan.
Pengertian Waterfall
Waterfall atau AIR
terjun adalah model yang dikembangkan untuk pengembangan perangkat lunak,
membuat perangkat lunak. model berkembang secara sistematis dari satu tahap ke
tahap lain dalam mode seperti air terjun.
Model ini
mengusulkan sebuah pendekatan kepada pengembangan software yang sistematikdan
sekuensial yang mulai dari tingkat kemajuan sistem pada seluruh analisis,
desain, kode, pengujian dan pemeliharaan. Model ini melingkupi
aktivitas-aktivitas sebgai berikut : rekayasa dan pemodelan sistem informasi,
analisis kebutuhan, desain, koding, mengujian dan pemeliharaan.
Model pengembangan
ini bersifat linear dari tahap awal pengembangan system yaitu tahap perencanaan
sampai tahap akhir pengembangan system yaitu tahap pemeliharaan. Tahapan
berikutnya tidak akan dilaksanakan sebelum tahapan sebelumnya selesai
dilaksanakan dan tidak bisa kembali atau mengulang ke tahap sebelumnya.
2. Model Prototyping
Dalam pembuatan
software, dikenal beberapa metode untuk membuat software yang dibutuhkan untuk
memenuhi kebutuhan user yang memerlukan software tersebut.
. Prototype adalah model atau simulasi dari semua aspek produk
sesungguhnya yang akan dikembangkan yang dimana model tersebut harus
representative dari produk akhirnya.
3.
Model Evolutionary
Model ini
memungkinkan perulangan (iterasi) dari setiap tahapan pengembangan perangkat
lunak. Dengan model ini kompleksitas perangkat lunak yang dihasilkan akan
semakin bertambah untuk setiap iterasi. Model ini terdiri dari:
- Incremental model, yaitu: model yang
mengkombinasikan linear sequential model dengan filosofi iteratif
pada prototyping.
- Spiral model, yaitu: model yang menggabungkan sifat alami
iterasi pada prototyping dengan aspek sistematik dan
terkendali dari linear sequential model.
- WINWIN Spiral model, yaitu: model yang
memungkinkan user dan pengembang melakukan komunikasi
dalam tahap pengembangan, dimana bisa memberikan win-win solution,
seperti user bisa mengemukakan sebagian besar dan/atau keseluruhan
kebutuhannya sedangkan pengembang bisa mengembangkan perangkat lunak
sesuai dengan kebutuhan user tersebut dalam cakupan waktu
dan biaya yang sudah dispesifikasikan.
- Concurrent development model, yaitu: model yang biasa
digunakan untuk mengembangkan perangkat lunak client server.
4.
Model Spiral
Pengembangan
perangkat lunak dengan pendekatan spiral adalah penggabungan antara
metodologi waterfall dan metodologi prototype dengan
upaya memadukan keunggulan diantara keduanya. Metodologi ini ditujukan untuk
proyek yang besar, mahal dan rumit.
Didefinisikan pertama
kali oleh Barry Boehm pada artikelnya “A Spiral Model
of Software Development and Enhancement” di tahun 1986. Model ini
memiliki tahap-tahap umum sebagai berikut:
- Determine objective atau penentuan tujuan,
kebutuhan sistem dijelaskan sedetil mungkin.
- Identify and resolve risk, mengidentifikasi dan
memecahkan masalah, proses desain sistem, merupakan tahap paling penting
dalam model ini, karena merupakan permulaan dan penanganan masalah secara
menyeluruh sehingga dapat menghemat biaya pengembangan.
- Development and test, pengembangan dan
pengujian purwa-rupa sistem.
- Plan the next iteration, perencanaan pengulangan
tahap untuk memperbaiki purwa-rupa yang telah dibuat hingga menjadi sistem
yang siap pakai dan sesuai kebutuhan.
Perbedaan yang
mendasar antara model spiral dengan model lainnya adalah bahwa model ini dengan
eksplisit menyadari resiko-resiko yang ada. Hal ini membuat analisis resiko
semakin baik sehingga dapat menekan potensi kesalahan dalam sistem dan
kesalahan pada saat pengembangannya. Keunggulan lain dari model ini adalah
adanya purwa-rupa sistem yang dapat diuji oleh klien sehingga dapat dengan
mudah disesuaikan dengan keinginan klien.
5.
Reuse Based Development
sangat berkaitan
dengan teknologi berorientasi objek. Pada pemrograman berorientasi objek,
banyak class yang dibangun dan menjadi komponen dalam suatu software.
Class-class tersebut bersifat reusable artinya bisa digunakan kembali. Model
ini bersifat iteratif atau berulang-ulang prosesnya.
Secara umum proses
yang terjadi dalam model ini adalah:
- Identifikasi class-class yang akan digunakan
kembali dengan menguji class tersebut dengan data yang akan dimanipulasi
dengan aplikasi/software dan algoritma yang baru
- Class yang dibuat pada proyek sebelumnya disimpan
dalam class library, sehingga bisa langsung diambil dari library yang sudah
ada. Jika ternyata ada kebutuhan class baru, maka class baru dibuat dengan
metode berorientasi objek.
- Bangun software dengan class-class yang sudah
ditentukan atau class baru yang dibuat, integrasikan.
Penggunaan kembali
komponen software yang sudah ada menguntungkan dari segi:
► Siklus waktu pengembangan software, karena mampu mengurangi
► Siklus waktu pengembangan software, karena mampu mengurangi
waktu 70%
►
Biaya produksi berkurang sampai 84% arena pembangunan komponen
berkurang
Artikel Sejarah, Metode Dan Model Rekayasa Perangkat Lunak (RPL)
4/
5
Oleh
Unknown
2 komentar
jj
ReplyThanks
Reply