Anda di halaman 1dari 12

REKAYASA PERANGKAT LUNAK

NAMA KELOMPOK: BANGKIT SANJAYA GEDE WIKA WINUTARA ANGGA PRADASTA MANDALA ADITYA

: 100030159 : 100030125 : 100030147 : 100030144

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN TEKNIK KOMPUTER STIKOM BALI

KATA PENGANTAR
Puji syukur penulis panjatkan kehadirat Tuhan Yang Maha Esa karena berkat rahmatNya penulis dapat menyusun paper yang singkat ini dengan judul METODE SOFTWARE ENGINEERING (SPIRALL,WATERFALL,PROTOTYPING) Penulis menyadari akan keterbatasan kemampuan baik ilmu maupun pengalaman, maka penulis yakin laporan ini banyak kekurangannya. Karena itu kritik sehat yang sifatnya membangun akan penulis terima dengan lapang dada dan hati yang terbuka demi kesempurnaannya. Tak lupa penulis mohon maaf bila penyajian tidak berkenan dihati pembaca dan semoga dalam kesempatan lain penulis bisa menyusun paper yang lebih sempurna lagi. Akhirnya tak lupa penulis menghaturkan Puji syukur karena atas karunia-Nya penulis bisa menyelesaikan paper ini tepat pada waktunya.

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.[1] Hal yang perlu di pertimbangkan dalam pengembangan software yaitu : 1. Produk dan software (terdiri dari program, dokumen, dan data) 2. Proses pengembangannya (terdiri dari proses manajemen dan proses teknikal) System Development Life Cycle (SDLC) merupakan beberapa tahap pengembangan pemantauan produk dari perangkat lunak. Contoh dari SDLC antara lain model waterfall, model V, model spiral, prototyping dan lain-lain. Sedangkan proses manajemen dalam pengembangan software lunak terdiri atas manajemen proyek, configuration management dan quality assurance management dan proses teknikal merupakan metode yang diaplikasikan pada tahap tertentu dalam pengembangan software, yang didalamnya termasuk metode analisis, metode desain, metode pemrograman, dan metode testing. Tiga Elemen kunci dalam Pengembangan Software : 1.

Metode

Metode software engineering memberikan tehnik-tehnik bagaimana membentuk software. Terdiri dari serangkaian tugas seperti perencanaan dan estimasi proyek Software merupakan bagian terbesar dari sistem, sehingga pekerjaan dimulai dengan cara menerapkan kebutuhan semua elemen sistem dan mengalokasikan sebagian kebutuhan tersebut ke software. Pandangan terhadap sistem adalah penting, terutama pada saat software harus berhubungan dengan elemen lain, seperti hardware, software lain dan database Analisis kebutuhan sistem dan software Merupakan suatu proses pengumpulan kebutuhan software untuk mengerti sifat -sifat program yang dibentuk software engineering, atau analis harus mengerti fungsi software yang diinginkan, performance dan interfase terhadap elemen lainnya. Hasil dari analisis ini didokumentasikan dan ditinjau bersama-sama klien. Desain struktur data Desain software sesungguhnya adalah proses multi step (proses yang terdiri dari banyak langkah) yang memfokuskan pada 3 atribut program yang berbeda, yaitu struktur data, arsitektur software dan rincian prosedur. Sebelum membedakan, definisi dari pengembangan software dan pengembangan sistem informasi adalah sebagai berikut : Arsitektur program dan prosedur algoritma Proses desain menterjemahkan kebutuhan kedalam representasi software yang dapat diukur kualitasnya sebelum coding dimulai. Hasil dari desain ini didokumentasikan dan menjadi bagian dari konfigurasi software.

Coding Merupakan proses penterjemahan desain ke dalam bentuk yang dapat dibaca oleh mesin Testing dan pemeliharaan Setelah objek program dihasilkan, testing program dimulai. Proses testing difokuskan pada logika internal software. Jaminan bahwa semua pernyataan atau statements sudah dites dan lingkungan external menjamin bahwa definisi input akan menghasilkan output yang diinginkan. Sementara proses pemeliharaaan atau maintenance dilakukan karena software mengalami error, atau harus diadaptasi untuk menyesuaikan dengan lingkungan external. 2.

Peralatan Atau Tools

Peralatan pengembangan software memberikan dukungan atau semiautomasi untuk metode, contohnya: 1. CASE (Case Aided Software Engineering), yaitu suatu software yang menggabungkan software, hardware, dan database software engineering untuk menghasilkan suatu lingkungan software engineering. 2. Database Software Engineering, adalah sebuah struktur data yang berisi informasi penting tentang analisis, desain, kode dan testing. 3. Analogi dengan CASE pada hardware adalah : CAD, CAM, CAE. 3.

Prosedur

Prosedur terdiri dari, urut-urutan di mana metode tersebut diterapkan, dokumen, laporanlaporan, formulir-formulir yang diperlukan, kontrol kualitas software, dan koordinasi perubahan yang terjadi pada software. Tiga Metode Dalam Pengembangan Software yang secara luas digunakan, yaitu: 1. System Development Life Cycle (SDLC) Adalah proses pengembangan dimana keseluruhan proses pengembangan sistem dilakukan melalui proses multi-langkah dari investigasi persyaratan awal melalui analisis, desain, implementasi dan pemeliharaan (sumber: Russel Kay, Computer World). SDLC terdiri dari beberapa jenis model antara lain model Waterfall, Prototyping, dan Spiral. Pada model waterfall output dari langkah yang satu akan menjadi input bagi langkah selanjutnya.

MODEL SPIRAL
Model spiral pada awalnya diusulkan oleh Boehm, adalah model proses perangkat lunak evolusioner yang merangkai sifat iteratif dari prototype dengan cara kontrol dan aspek sistematis model sequensial linier. Model iteratif ditandai dengan tingkah laku yang memungkinkan pengembang mengembangkan versi perangkat lunak yang lebih lengkap secara bertahap. Perangkat lunak dikembangkan dalam deretan pertambahan. Selama awal iterasi, rilis inkremantal bisa berupa model/prototype kertas, kemudian sedikit demi sedikit dihasilkan versi sistem yang lebih lengkap.

Tahapan-Tahapan Model Spiral


Model spiral dibagi menjadi enam wilayah tugas yaitu: 1. Komunikasi pelanggan Yaitu tugas-tugas untuk membangun komunikasi antara pelanggan dan kebutuhan kebutuhan yang diinginkan oleh pelanggan 2. Perencanaan Yaitu tugas-tugas untuk mendefinisikan sumber daya, ketepatan waktu, dan proyek informasi lain yg berhubungan. 3. Analisis Resiko Yaitu tugas-tugas yang dibutuhkan untuk menaksir resikomanajemen dan teknis. 4. Perekayasaan Yaitu tugas yang dibutuhkan untuk membangun satu atau lebih representasi dari apikasi tersebut. 5. Konstruksi dan peluncuran Yaitu tugas-tugas yang dibutuhkan untuk mengkonstruksi, menguji, memasang , dan memberi pelayanan kepada pemakai. 6. Evaluasi Pelanggan Yaitu tugas-tugas untuk mendapatkan umpan balik dari pelanggan.

Berikut adalah gambar dari spiral model :

Satu lingkaran dari bentuk spiral pada spiral model dibagi menjadi beberapa daerah yang disebut dengan region. Region tersebut dibagi sesuai dengan jumlah aktivitas yang dilakukan dalam spiral model. Tentunya lingkup tugas untuk project yang kecil dan besar berbeda. Untuk project yang besar, setiap region berisi sejumlah tugas-tugas yang tentunya lebih banyak dan kompleks daripada untuk project yang kecil. SE berjalan dari inti spiral berjalan mengitari sirkuit per sirkuit. Sebagai contoh untuk sirkuit pertama dilakukan untuk pembangunan dari spesifikasi dari software dengan mencari kebutuhan dari customer. Untuk sirkuit pertama harus menjalani semua aktivitas yang didefinisikan. Setelah 1 sirkuit terlewati lanjut ke tugas selanjutnya misalnya membangun prototype. Tugas ini juga harus mengitari 1 sirkuit dan begitu terus selanjutnya sampai project selesai. Tidak seperti model-model konvesional dimana setelah SE selesai, maka model tersebut juga dianggap selesai. Akan tetapi hal ini tidak berlaku untuk spiral model, dimana model ini dapat digunakan kembali sepanjang umur dari software tersebut. Pada umumnya, spiral model digunakan untuk beberapa project seperti Concept Development Project (proyek pengembangan konsep), New Product Development Project (proyek pengembangan produk baru), Product Enhancement Project (proyek peningkatan produk), dan Product Maintenance Project (proyek pemeliharaan proyek). Keempat project tersebut berjalan berurutan mengitari sirkuit dari spiral. Sebagai contoh setelah suatu konsep dikembangkan dengan melalui aktivitas2 dari spiral model, maka dilanjutkan dengan proyek selanjutnya yaitu pengembangan produk baru, peningkatan produk, sampai pemeliharaan proyek. Semuanya melalui sirkuit2 dari spiral model.

Kelebihan & Kelemahan Model Spiral


a. Kelebihan Model Spiral : 1. Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak komputer. 2. Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar 3. Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses . 4. Menggunakan prototipe sebagai mekanisme pengurangan resiko dan pada setiap

keadaan di dalam evolusi produk. 5. Tetap mengikuti langkah-langkah dalam siklus kehidupan klasik dan memasukkannya ke dalam kerangka kerja iteratif . 6. Membutuhkan pertimbangan langsung terhadp resiko teknis sehingga mengurangi resiko sebelum menjadi permaslahan yang serius. b. Kelemahan Model Spiral : 1. Sulit untuk menyakinkan pelanggan bahwa pendekatan evolusioner ini bisa dikontrol. 2. Memerlukan penaksiran resiko yang masuk akal dan akan menjadi masalah yang serius jika resiko mayor tidak ditemukan dan diatur. 3. Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolut

MODEL WATERFALL
Nama model ini sebenarnya adalah Linear Sequential Model. Model ini sering disebut dengan classic life cycle atau model waterfall. Model ini adalah model yang muncul pertama kali yaitu 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 urut mulai dari level kebutuhan sistem lalu menuju ke tahap analisis, desain, coding, testing / verification, dan maintenance. Disebut dengan waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan. Sebagai contoh tahap desain harus menunggu selesainya tahap sebelumnya yaitu tahap requirement. Secara umum tahapan pada model waterfall dapat dilihat pada gambar berikut :

Gambar di atas adalah tahapan umum dari model proses ini. Akan tetapi Roger S. Pressman memecah model ini menjadi 6 tahapan meskipun secara garis besar sama dengan tahapantahapan model waterfall pada umumnya. Berikut adalah penjelasan dari tahap-tahap yang dilakukan di dalam model ini menurut Pressman: System / Information Engineering and Modeling. Permodelan ini diawali dengan mencari kebutuhan dari keseluruhan sistem yang akan diaplikasikan ke dalam bentuk software. Hal ini sangat penting, mengingat software harus dapat berinteraksi dengan elemen-elemen yang lain seperti hardware, database, dsb. Tahap ini sering disebut dengan Project Definition. Software Requirements Analysis. Proses pencarian kebutuhan diintensifkan dan difokuskan pada software. Untuk mengetahui sifat dari program yang akan dibuat, maka para software engineer harus mengerti tentang domain informasi dari software, misalnya fungsi yang dibutuhkan, user interface, dsb. Dari 2 aktivitas tersebut (pencarian kebutuhan sistem dan software) harus didokumentasikan dan ditunjukkan kepada pelanggan. Design. Proses ini digunakan untuk mengubah kebutuhan-kebutuhan diatas menjadi representasi ke dalam bentuk blueprint software sebelum coding dimulai. Desain harus dapat mengimplementasikan kebutuhan yang telah disebutkan pada tahap sebelumnya. Seperti 2 aktivitas sebelumnya, maka proses ini juga harus didokumentasikan sebagai konfigurasi dari software. Coding. Untuk dapat dimengerti oleh mesin, dalam hal ini adalah komputer, maka desain tadi harus diubah bentuknya menjadi bentuk yang dapat dimengerti oleh mesin, yaitu ke dalam bahasa pemrograman melalui proses coding. Tahap ini merupakan implementasi dari tahap design yang secara teknis nantinya dikerjakan oleh programmer.

Testing / Verification. Sesuatu yang dibuat haruslah diujicobakan. Demikian juga dengan software. Semua fungsi-fungsi software harus diujicobakan, agar software bebas dari error, dan hasilnya harus benar-benar sesuai dengan kebutuhan yang sudah didefinisikan sebelumnya. Maintenance. Pemeliharaan suatu software diperlukan, termasuk di dalamnya adalah pengembangan, karena software yang dibuat tidak selamanya hanya seperti itu. Ketika dijalankan mungkin saja masih ada errors kecil yang tidak ditemukan sebelumnya, atau ada penambahan fitur-fitur yang belum ada pada software tersebut. Pengembangan diperlukan ketika adanya perubahan dari eksternal perusahaan seperti ketika ada pergantian sistem operasi, atau perangkat lainnya.[2]

Kelebihan & Kelemahan Model Waterfall


a. Kelebihan Model Waterfall 1. Proses pengembangan sangat terstruktur dan sistematik 2. Melalui definisi kebutuhan, sehingga gap atau kesenjangan yang terjadi antara kebutuhan dan sistem yang dihasilkan dapat dikurangi. 3. Menghasilkan petunjuk arah pengembangan yang jelas bagi manajemen. b. Kelemahan Model Waterfall 1. Tidak adaptif terhadap perubahan yang dapat terjadi selama proses pengembangan (kaku atau rigid). 2. Melelahkan karena membutuhkan waktu pengembangan yang lama dan biaya yang tinggi 3. Proyek yang sebenarnya jarang mengikuti aliran sequential yang ditawarkan model ini. Iterasi (Pengulangan) selalu terjadi dan menimbulkan masalah pada aplikasi yang dibentuk oleh model ini. 4. Seringkali pada awalnya customer sulit menentukan semua kebutuhan secara explisit. 5. Klien harus sabar karena versi program yang sedang jalan tidak akan tersedia sampai proyek pengembangan selesai.

MODEL PROTOTYPING
Rapid application development (RAD) atau rapid prototyping adalah model proses pembangunan perangkat lunak yang tergolong dalam teknik incremental (bertingkat). RAD menekankan pada siklus pembangunan pendek, singkat, dan cepat. Waktu yang singkat adalah batasan yang penting untuk model ini. Rapid application development menggunakan metode iteratif (berulang) dalam mengembangkan sistem dimana working model (model bekerja) sistem dikonstruksikan di awal tahap pengembangan dengan tujuan menetapkan kebutuhan (requirement) user dan selanjutnya disingkirkan.[1] Working model digunakan kadang-kadang saja sebagai basis desain dan implementasi sistem final.[1]

Penerapan
Model RAD mengadopsi model waterfall dan pembangunan dalam waktu singkat yang dicapai dengan menerapkan : 1. Component based construction ( pemrograman berbasis komponen bukan prosedural). 2. Penekanan pada penggunaan ulang (reuse) komponen perangkat lunak yang telah ada. 3. Pembangkitan kode program otomatis/semi otomatis. 4. Multiple team (banyak tim), tiap tim menyelesaikan satu tugas yang selevel tapi tidak sama. Banyaknya tim tergantung dari area dan kompleksitasnya sistem yang dibangun. Jika keutuhan yang diinginkan pada tahap analisa kebutuhan telah lengkap dan jelas, maka waktu yang dibutuhkan untuk menyelesaikan secara lengkap perangkat lunak yang dibuat adalah berkisar 60 sampai 90 hari. Model RAD hampir sama dengan model waterfall, bedanya siklus pengembangan yang ditempuh model ini sangat pendek dengan penerapan teknik yang cepat. Sistem dibagi-bagi menjadi beberapa modul dan dikerjakan beberapa tim dalam waktu yang hampir bersamaan d alam waktu yang sudah ditentukan. Model ini melibatkan banyak tim, dan setiap tim mengerjakan tugas yang selevel, namun berbeda. Sesuai dengan pembagian modul sistem.

Kelebihan & Kelemahan Model Prototyping


a. Kelebihan Model Prototyping 1. RAD mengikuti tahapan pengembangan sistem sepeti umumnya, tetapi mempunyai kemampuan untuk menggunakan kembali komponen yang ada (reusable object). 2. Setiap fungsi dapat dimodulkan dalam waktu tertentu dan dapat dibicarakan oleh tim RAD yang terpisah dan kemudian diintegrasikan sehingga waktunya lebih efesien. b. Kelemahan Model Prototyping 1. Model RAD memerlukan sumber daya yang cukup besar, terutama untuk proyek dengan skala besar. 2. Model ini cocok untuk proyek dengan skala besar. 3. Model RAD memerlukan komitmen yang kuat antara pengembang dan pemesssan, bahkan keduanya bisa tergabung dalam 1 tim 4. kinerja dari perangkat lunak yang dihasilkan dapat menjadi masalah manakala kebutuhan-kebutuhan diawal proses tidak dapat dimodulkan, sehingga pendekatan dengan model ini kurang bagus. 5. sistem yang tidak bisa dimodularisasi tidak cocok untuk model ini.

6. penghalusan dan penggabungan dari beberapa tim di akhir proses sangat diperlukan dan ini memerlukan kerja keras. 7. proyek bisa gagal karena waktu yang disepakati tidak dipenuhi 8. risiko teknis yang tinggi juga kurang cocok untuk model ini.

DAFTAR PUSTAKA
[1] Britton, Carol (2001). Object-Oriented Systems Development. McGraw-Hill. hlm. 28-29, 269. ISBN 0-07-709544-8. [2] Buku Software Engineering by Roger S. Pressman http://en.wikipedia.org/wiki/Waterfall_model

Anda mungkin juga menyukai