Monday, December 29, 2014

Proses Pengembangan Perangkat Lunak

(Eresha ):tugas 1
Nama     :Rohmad basuki



Pada pelajaran RPl kali ini saya belajar tentang Model proses Perangkat  lunak ( software  Process) .software proses yang saya pelajari  terbagi menjadi  5 model , yaitu:

  • Linear Sequential Model /Waterfall Model 
  • Prototping Model 
  • Rapid Application Development (RAD) Model 
  • Incremental Model
  • Ireactive Incremental (Spiral )Model 

software proses model ( model proses perangkat lunak ) merupakan  suatu  representasi  proses perangkat yang disederhanakan  dipresentasikan dan perspektif secara khusus.
Fungsi model proses  pengembangan  perangakat lunak : 

  • Menentukan tahap-tahap diperlukan  untuk pengembangan  perangkat lunak 
  •  Menentukan urutan pelaksanaan dari tahap-tahap tersebut dalam rangka pengembangan perangkat lunak
  •  Menentukan kriteria transisi /perpindahan dari satu tahap ketahap berikutnya

Terdapat  beberapa model proses perangkat lunak (Software Proses Model ) antara lain  sebagai berikut :

  • Linear Sequential Model /Waterfall Model

           Model ini adalah model klasik yang bersifat sistematis ,berurutan dalam membangun software.Waterfall Model juga dikenal dengan Model Air terjun.proses dalam Waterfall model akan berlanjut jika proses sebelumnya telah selasai dilakukan jika tidak maka proses selanjutnya juga tidak bisa berjalan (prosesnya berjalan secara berurutan).ada dua gambaran  dari waterfall model

 Fase fase Waterfall Model menurut referensi pressman :



                   
                           




 

 Fase-fase Waterfall Model menurut refensi Sommerville:
      





















1.Requirement analyis and definition
Mengumpulkan kebutuhan secara lenkap kemudian dianalisis dan ddefinisikan kebutuhan yang  dipenuhi oleh programyang akan dibangun fase ini dikerjakan secara lenkap bisa menghasilkan desain yang terlengkap.
2.Sytem and Sofwere design
Desain dikerjakan setelah kebutuhan selesai dikumpulkan secara lenkap.
3.Implementasion and sytem testing
Desain program diterjemahkan ke dalam kode-kode dengan menggunakan bahasa pemograman yang sudah ditentukan program  yang dibangun langsung diuji baik secara unit.
4.Integration and system testinggan
Penyatuan unit-unit program  kemudian  di uji secara keseluruhan (sytem testing )
5.Operation and Maintenance
Mengoperasikan program dilingkungannya melakukan pemeliharaan seperti penyesuaian atau perubahan karena adaptasi dengan situasi sebenarnya.kekurngan yang utama dari model ini adalah kesulitan dalam mengakomodasi perubahan setelah proses dijalani.Fase sebelumnya harus lenkap dan selesai sebelum mengerjakan fase berikutnya.
Masalah dengan Water fall Model :
1.perubahan sulit dilakukan karena sifatnya yang kaku
2.Karena sifat kakunya ,model ini cocok ketika kebutuhan dikumpulkan secara lengkap sehingga perubahan bisa ditekan secekil mungkin tapi pada kenyataannya jarang sekali konsumen /pengguna yang bisa memberikan kebutuhan secara lengkap ,perubahan kebutuhan adalah sesuatu yang wajar terjadi.
3.Waterfall pada umumnya digunakan untuk rekayasa  sistem yang besar dimana proyek dikerjakan dibeberapa tempat berbeda  dan dibagi menjadi beberapa bagian sub proyek.
Kelebihan  dan Kekurangan Waterfall Model:
Kelebihan :
-merupakan model pengenbangan paling handal dan paling lama digunakan
-Cocok untuk  system software berskala besar
-Cocok untuk system software yang bersifat generic
-Pengerjaan project sytem akan terdadwal dengan baik dan mudah dikontrol.
Kekurangan :
-Persyaratan system harus digambarkan dengan jelas
-Rincian proses harus benar-benar jelas dan tidak boleh berubah-ubah
-sulit untuk mengadaptasi jika  perubahan spesifikasi pada suatu tahapan pengembangan

Referensi:
http://nugtachinsui.blogspot.com/2011/10/rekaya -perangkat-lunak -software-process.html
http://itsum.wordpress.com 2010/09/27/kelebihan- dan -kekurangan-setiap -model-pada.software-deverlopment-life-cyle-sdlc/

  • Protoyping Model
Model prototipe ( protoyping model )merupakan suatu untuk mengumpulkan informasi tertentu mengenai kebutuhan -kebutuhan informasi pengguna secara cepat.Berfokus pada penyajiaan  dari aspek-aspek software tersebut yang nampak bagi pelanggan atau pemakai (contohnya pendekatan input dan format  output).prototipe tersebut dievaluasi oleh pelanggan /pemakai dan dipakai untuk menyaring kebutuhan pengembangan software.
proses (aktivitas ) pada  model prototyping bisa dijelaskan sebagai berikut :

1.Mengidentifikasi kebutuhan  ;Analisa terhadap kebutuhan calon user.
2.Quick design: pembuatan desain global untuk membentuk contoh software.
3.Build prototype :pembuatan software prototype termasuk pengujian dan penyempurnaan.
4.Evaluasi pelanggan ;Mengevaluasi prototype dan memperhalus analisa kebutuhan calon pemakai.
5.Pembuatan dan Implementasi :Pembuatan sebenarnya termasuk design,coding,dan testing.

Perulangan ketiga proses ini terus berlangsung hingga semua kebutuhan customer terpenuhi.
prototype -prototype dibuat untuk memuaskan klien dan untuk memahami kebutuhan klien lebih baik.Prototype yang dibuat dapat dimanfaatkan kembali untuk membangun software lebih cepat,namun tidak semua prototype bisa dimanfaatkan.

Kelebihan dan Kekurangan Prototyping Model:

Kelebihan :
  • Lebih tampak realistis bagi user .
  • Dapat menggenerasi spesifikasi aplikasi
  • prototype melibatkan  user dalam analisa dan desain
  • digunakan  untuk memperluas SDLC
  • Mempersingkat waktu pengembangan  Sistem Informasi.

Kekurangan :
  • Ketidaksadaran useer bahwa ini hanya suatu model awal bukan model akhir.
  • Teknik dan tools yang tidak optimal pada prototype yang akan tetap digunakan pada software  sesungguhnya
  • Sulit dalam hal dokumentasi
  • proses analisis dan peranangan terlalu singkat 
  • Mengesampingkan alternatif pemecahan masalah 

Referensi :
http://www.scribd.com/doc/31813767/model -proses -perangkat-lunak
http://itsum.wordpress.com/2010/09/27/kelebihan -dan kekurangan -setiap -model-pada-software-deverlopment-life-cycle-sdlc/
  • Rapid Application Development (RAD) Model
 RAD ialah model proses pembangunan PL yang incremental.RADmenekankan pada pembangunan yang pendek /singkat.RAD mengadopsi model waterfall dan  pembangunan dalam waktu singkat dicapai dengan menerapkan componet based construction.jika kebutuhan lengkap dan jelas maka yang  waktu yang dibutuhkan untuk menyelesaikan secara komplit software yang dibuat adalah  misalnya 60 samapai 90 hari.
  
Fase-fase di atas  menggambarkan proses dalam model RAD.Sistem dibagi menjadi modul dan dikerjakan dalam waktu yang bersamaan  dalam batasan waktu yang sudah ditentukan .
1.Bussiness Modelling
Menjawab pertanyaan -pertanyaan :
-Informasi apa yang mengendalikan proses bisnis ?
-Siapa yang mengolah informasi ?
- Kebutuhan dari sistem?

2.Data modelling
Aliran informasi yang sudah didefinisikan,disusun menjadi sekumpulan objek data.Ditentukan  karakteristik /atribut.
3.Process Modelling 
Objek data yang sudah didefinisikan diubah menjadi aliran informasi yang diperlukan untuk menjalankan  fungsi -fungsi bisnis.
4.Application  Geberation 
RAD menggunakan component program yang sudah ada atau selama diperlukan.
5.Testing and Turnover
Karena menggunakan component yang sudah ada,maka kebanyakan component sudah melalui  uji atau testing.
  kelebihan dan kekurangan RAD Model :
Kelebihan :
  -RAD mengikuti tahapan pengembangan  sistem seperti umumnya .
  -Setiap fungsi dapat di modulkan dalam waktu tertentu dan dapat dibicarakan oleh tim RAD yang terpisah dan kemudian diintegrasikan sehingga waktunya lebih efesien.
Kekurangan:
-Tidak cocok untuk proyek skala besar
-Resiko teknis yang tinggi juga cocok untuk model ini
Referensi :
http://itsum.wordpress.com/2010/09/27/kelebihan -dan -kekurangan -setiap-model-pada-software-development-life-cycle-sdlc/
http://nugtachinsui.blogspot/2011/10/rekasa-perangkat-lunak-software-process.html

  •  Incremental Model

Model incremental mengambungkan  elemen -elemen model  sekuensial liner ( diimplementasikan secara berulang ) dengan filosofi prototype interatif.Model ini juga merupakan perbaikan dari model waterfall dan sebagai standar pendekatan top-down.
pada saat model incremental (pertambahan )ini digunakan ,pertambahan pertama sering merupakan produk inti (core product)yaitu sebuah model pertambahan yang dipergunakan ,tetapi beberapa muka tambahan (beberapa diketahui dan beberapa tidak) tetap tidak disampaikan.produk inti tersebut dipergunakan oleh pelanggan ( atau mengalami pengkajian detail).proses ini mengikuti penyampaian setiap pertambahan sampai bisa menghasilkan produk yang lengkap.
Model proses incremental tersebut ,seperti model prototype dan pendekatan -pendekatan evolusioner yang lain ,bersifat iterative.
perkembangan pertambahan khususnya berguna pada saat staffing,tidak bisa dilakukan dengan menggunakan implementasi lenkap oleh batasan waktu bisnis yang sudah disepakati untuk proyek tersebut.
Contoh penggunaan Incremental Model :
Misalnya ,perangkat lunak pengolah kata yang dikembangkan dengan mengguankan  paradigma penambahan akan menyampaikan manajemen  file dasar ,editingserta fungsi penghasilan dokumen pada penambahan pertama;kemudian  editing dan kemampuan penghasilan dokumen yang lebih canggihpada pertambahan kedua; pengecekan spelling dan tata bahasa pada pertambahan ketiga ; serta kemampuan pengaturan halaman tingkat lanjut pada tahap pertambahan keempat ;harus dicatat bahwa aliran proses untuk berbagai pertambahan tersebut dapat menggabungkan paradigma prototype.
Kelebihan dan Kekurangan Incremental model:
Kelebihan:
  • Merupakan model dengan manajemen yang sederhana
  • Resiko untuk kegagalan proyek secara keseluruhan lebih rendah.walaupun masalah dapat dite mukan pada beberapa inkremen bisa saja beberapa inkremen  diserahkan dengan sukses kepada  pelanggan.
  • Pelanggan tidak perlu menunggu sampai seluruh system dikirim untuk keuntungan dari system tersebut
Kekurangan
  • Inkremen harus relative lebih kecil (tidak lebih dari 20.000 baris kode ) dan setiap inkremen harus menyediakan sebagian dari fungsional system.
  • adanya kesulitan untuk memetakan persyaratan pelanggan pada inkremen dengan yang benar.
  • Tiap bagian tidak dapat diintegrasikan.
referensi:
http://evi-mursalin.blogspot.com/2011/01/rekayasa-perangkat-lunak-incremental.html

  •  ang benar Ireactive Incremental (spiral) Model

proses digambarkan sebagai spiral setiap  loop mewakili satu fase dari sortware prosess.loop paling berfokus pada kelayakan dari sistem,loop selanjutnya tentang definisi dari kebutuhan. loop berikutnya berkaitan dengan desain sistem dan seterusnya.
1.Objective settings (menentukan tujuan)
Menetukan tujuan dari fase yang ditentukan,batasan -batasan pada proses dan produk sudah diketahui.
2.Risk assessment and reduction (penanganan dan pengurangan resiko)
Setiap resiko dianalisis  secara detil pada sektor ini ,langkah-langkah  penanganan dilakukan misalnya  membuat protoytpe untuk mengetahui  ketidak cocokan kebutuhan .
 3.Development and Validation  ( pembangunan dan pengujian )
Setelah evaluasi ,maka model pengembangan sistem dipilih .
4.Planning
Proyek  dievaluasi resiko atau ditinjau-ulang  dan diputuskan  untuk terus ke fase loop selanjutnya atau tidak
5.Menggunakan model formal dengan perhintungan matematis dan jika masalahnya adalah integrasi sistem model waterfall lebih cocok.

Pembangian sektor tidak bisa saja dikembangkan seperti pada pembangian sektor berikut pada model variasi spiral dibawah ini



1.Customer communication :membangun komunikasi yang baik dengan pengguna/customer
2.Planning :mendefinisikan bersumber, batas waktu, informasi -informasi lain seputar proyek
3.Risk analysis : identifikasi resiko managemen dan teknis
4.Engineering :pembangunan  contoh-contoh  aplikasi ,misalnya prototype
5.Construction  and release :pembangunan test install dan support
6.Customer evaluation : mendapatkan  feedback dari penggunanberdasarkan evaluasi PL pada fase engineering dan fase instalasi pada model spiral resiko sangat dipertimbangkan .
Kelebihan dan Kekurangan Spiral model :
Kelebihan :
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.Tetap mengikuti langkah -langkah dalam siklus kehidupan  klasik dan  memasukkannya  ke dalam kerangka kerja iteratif .
Kekurangan :

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 mayor  tidak ditemukan dan diatur
Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolut
Referensi:
http://nugtachinsui.blogspot.com/2011/10/rekaya-perangkat -lunak-software-process.html
http://saifulmubin.blogspot.com/2011/model spiral .html