Jumat, 24 November 2017

Artikel Sejarah, Metode Dan Model Rekayasa Perangkat Lunak (RPL)





  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.

   1965 - 1985: krisis 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.

   1985 - kini: tidak ada senjata pamungkas
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:
  1. Incremental model, yaitu: model yang mengkombinasikan linear sequential model dengan filosofi iteratif pada prototyping.
  2. Spiral model, yaitu: model yang menggabungkan sifat alami iterasi pada prototyping dengan aspek sistematik dan terkendali dari linear sequential model.
  3. 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.
  4. 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:
  1. Determine objective atau penentuan tujuan, kebutuhan sistem dijelaskan sedetil mungkin.
  2. 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.
  3. Development and test, pengembangan dan pengujian purwa-rupa sistem.
  4. 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:
  1. Identifikasi class-class yang akan digunakan kembali dengan menguji class tersebut dengan data yang akan dimanipulasi dengan aplikasi/software dan algoritma yang baru
  2. 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.
  3. 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
waktu 70%
► Biaya produksi berkurang sampai 84% arena pembangunan komponen
berkurang



Artikel Terkait

Artikel Sejarah, Metode Dan Model Rekayasa Perangkat Lunak (RPL)
4/ 5
Oleh

Berlangganan

Suka dengan artikel di atas? Silakan berlangganan gratis via email

2 komentar