Selasa, 31 Maret 2015

Tugas Perorangan



1.  Sebutkan dan jelaskan kelebihan dan kekurangan dari model proses yang ada!
Jawab:

Ø  Waterfall Model / Linear Sequential Model
Kelebihan Waterfall Model :
  1. Mudah diaplikasikan.
  2. Memberikan template tentang metode analisis, desain, pengkodean, pengujian, dan pemeliharaan.
  3. Cocok digunakan untuk produk software yang sudah jelas kebutuhannya di awal, sehingga minim kesalahannya.
   
Kekurangan Waterfall model :
  1. Waterfall model bersifat kaku sehingga sulit untuk melakukan perubahan pada sistem perangkat lunak.
  2. Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen harus dilakukan pada tahap awal proses.
  3. Customer harus sabar untuk menanti produk selesai, karena dikerjakan tahap per tahap,menyelesaikan tahap awal baru bisa ke tahap selanjutnya.
  4. Perubahan ditengah-tengah pengerjaan produk akan membuat bingung team work yang sedang membuat produk.
  5. Adanya waktu menganggur bagi pengembang, karena harus menunggu anggota tim proyek lainnya menuntaskan pekerjaannya.
Ø  Prototyping Model
Kelebihan Prototyping model : 
  1. Menghemat waktu pengembangan.
  2. Adanya komunikasi yang baik antara pengembang dan pelanggan.
  3. Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan.
  4. Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya.
  5. User dapat berpartisipasi aktif dalam pengembangan sistem.
  6. Punya kemampuan menangkap requirement secara konkret daripada secara abstrak.
  7. Untuk digunakan secara standalone.
  8. Digunakan untuk memperluas SDLC.
   
Kekurangan Prototyping Model :
  1. Pada prototype tentu saja banyak kebutuhan yang tidak di tampilkan seluruhnya karena data yang dikumpulkan hanya sebagian.
  2. Prototype yang di setujui oleh client harus dikembangkan oleh developer tanpa ada data tambahan dari client dan software dari prototype harus memiliki fungsi yang lengkap.
  3. Banyak ketidak sesuaian pada bentuk prototype.
  4. Proses analisis dan perancangan terlalu singkat.
  5. Walaupun pemakai melihat berbagai perbaikan dari setiap versi prototype, tetapi pemakai mungkin tidak menyadari bahwa versi tersebut dibuat tanpa memperhatikan kualitas dan pemeliharaan jangka panjang.
  6. Pengembang kadang-kadang membuat kompromi implementasi dengan menggunakan sistem operasi yang tidak relevan dan algoritma yang tidak efisien.
  7. Mengesampingkan alternatif pemecahan masalah.
  8. Bisanya kurang fleksible dalam mengahadapi perubahan.
  9. Prototype yang dihasilkan tidak selamanya mudah dirubah 
  10. Pelanggan kadang tidak melihat atau menyadari bahwa perangkat lunak yang ada belum mencantumkan kualitas perangkat lunak secara keseluruhan dan juga belum memikirkan kemampuan pemeliharaan untuk jangja waktu lama.
  11. Pengembang biasanya ingin cepat menyelesaikan proyek. Sehingga menggunakan algoritma dan bahasa pemrograman yang sederhana untuk membuat prototyping lebih cepat selesai tanpa memikirkan lebih lanjut bahwa program tersebut hanya merupakan cetak biru sistem. 
  12. Hubungan pelanggan dengan komputer yang disediakan mungkin tidak mencerminkan teknik perancangan yang baik.
Ø  Model Rapid Application Development (RAD)

Kelebihan Model Rapid Application Development (RAD):
  1. Penghematan waktu dalam keseluruhan fase projek dapat dicapai.
  2. RAD mengurangi seluruh kebutuhan yang berkaitan dengan biaya projek dan sumberdaya manusia.
  3. RAD sangat membantu pengembangan aplikasi yang berfokus pada waktu penyelesaian projek.
  4. Perubahan desain sistem dapat lebih berpengaruh dengan cepat dibandingkan dengan pendekatan SDLC tradisional.
  5. Sudut pandang user disajikan dalam sistem akhir baik melalui fungsi-fungsi sistem atau antarmuka pengguna.
  6. RAD menciptakan rasa kepemilikan yang kuat di antara seluruh pemangku kebijakan projek.
Kekurangan Model Rapid Application Development (RAD):
  1. Dengan metode RAD, penganalisis berusaha mepercepat projek dengan terburu-buru.
  2. Kelemahan yang berkaitan dengan waktu dan perhatian terhadap detail. Aplikasi dapat diselesaikan secara lebih cepat, tetapi tidak mampu mengarahkan penekanan terhadap permasalahan-permasalahan perusahaan yang seharusnya diarahkan.
  3. RAD menyulitkan programmer yang tidak berpengalaman menggunakan prangkat ini di mana programmer dan analyst dituntut untuk menguasai kemampuan-kemampuan baru sementara pada saat yang sama mereka harus bekerja mengembangkan sistem.
Ø  Model Iteratif
Kelebihan Model Iteratif:
1.      Dapat mengakomodasi jika terjadi perubahan pada tahapan pengembangan yang telah dilaksanakan.
2.       Dapat disesuaikan agar system bisa dipakai selama hidup software computer.
3.       Cocok untuk pengembangan sistem dan perangkat lunak skala besar.
4.      Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tahapan karena system terus bekerja selama proses.
Kekurangan Model Iteratif:
1.      Hanya berlaku untuk Short-Lifetime system.
2.      Tahapan proses tidak terlihat sedang berada ditahapan mana suatu pekerjaan.
3.      Memerlukan alat ukur kemajuan secara regular.
4.      Perubahan yang sering terjadi dapat merubah struktur system.
5.      Memerlukan tenaga ahli dengan kemampuan tinggi.


Ø  Model Spiral
Kelebihan Model Spiral:
  1. Setiap tahap pengerjaan dibuat prototyping sehingga kekurangan dan apa yang diharapkan oleh client dapat diperjelas dan juga dapat menjadi acuan untuk client dalam mencari kekurangan kebutuhan.
  2. Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar.
  3. Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak komputer. 
  4. Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses.
  5. Menggunakan prototipe sebagai mekanisme pengurangan resiko dan pada setiap keadaan di dalam evolusi produk.
  6. Tetap mengikuti langkah-langkah dalam siklus kehidupan klasik dan memasukkannya ke dalam kerangka kerja iteratif.
  7. Membutuhkan pertimbangan langsung terhadp resiko teknis sehingga mengurangi resiko sebelum menjadi permaslahan yang serius.
   

Kekurangan model Spiral :
  1. Banyak konsumen (Client) tidak percaya bahwa pendekatan secara evolusioner dapat dikontrol oleh kedua pihak. Model spiral mempunyai resiko yang harus dipertimbangkan ulang oleh konsumen dan developer.
  2. Memerlukan tenaga ahli untuk memperkirakan resiko, dan harus mengandalkannya supaya sukses.
  3. Belum terbukti apakah metode ini cukup efisien karena usianya yang relatif baru.
  4. Memerlukan penaksiran resiko yang masuk akal dan akan menjadi masalah yang serius jika resiko mayor tidak ditemukan dan diatur.
  5. Butuh waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolute.

2. Anda adalah seorang manajer yang mendapatkan proyek sebuah perangkat luak pengolah database yang sangat sederhana, tetapi waktu yang ditentukan oleh pelanggan sangat ketat.
Pertanyaan :
Model pengembangan perangkat lunak mana yang anda pilih dan jelaskna alasannya!

Jawab:
Menurut saya, saya akan memilih Model Rapid Application Development (RAD), karena Metode pengembangan sistem RAD relatif lebih sesuai dengan rencana pengembangan aplikasi yang tidak memiliki ruang lingkup yang besar dan akan dikembangkan oleh tim yang kecil. Selain itu RAD adalah proses model perangkat lunak inkremental yang menekankan siklus pengembangan yang singkat. Model RAD adalah sebuah adaptasi “kecepatan tinggi” dari model waterfall, di mana perkembangan pesat dicapai dengan menggunakan pendekatan konstruksi berbasis komponen. Jika tiap-tiap kebutuhan dan batasan ruang lingkup projek telah diketahui dengan baik, proses RAD memungkinkan tim pengembang untuk menciptakan sebuah “sistem yang berfungsi penuh” dalam jangka waktu yang sangat singkat.

3.  Anda dipilih menjadi seorang manajer proyek yang mendapat proyek membangun sebuah aplikasi yang sangat mirip dengan aplikasi lain yang sudah pernah dibangun sebelumnyaa, meskipun yang satu ini lebih besar dan kompleks, syaray-syarat sudah didokumentasikan dengan teliti oleh pemakai.
Pertanyaan:
Model pengembangan perangkat lunak mana yang anda pilih dan jelaskan alasannya!

Jawab:
Metode prototyping sebagai suatu paradigma baru dalam pengembangan system perangkat lunak, tidak hanya sekedar suatu efolusi dari metode pengembangan sistem perangkata lunak yang sudah ada, tetapi sekaligus merupakan refolusi dalam pengembangan sistem . Metode ini dikatakan refolusi karena merubah proses pengembangan sistem informasi yang lama (SDLC). Prototipe sistem informasi bukanlah merupakan sesuatu yang lengkap, tetapi sesuatu yang harus dimodifikasi kembali, dikembangkan, ditambahkan atau digabungkan dengan sistem informasi yang lain bila perlu.

4. Buat sebuah program dan lakukan  pengujian black box terhadap program yang anda buat!

Jawab: