1. 
Sebutkan dan jelaskan kelebihan dan
kekurangan dari model proses yang ada!
Jawab:
Ø  Waterfall Model / Linear Sequential
Model
Kelebihan
Waterfall Model :
- Mudah
     diaplikasikan.
- Memberikan
     template tentang metode analisis, desain, pengkodean, pengujian, dan
     pemeliharaan.
- Cocok
     digunakan untuk produk software yang sudah jelas kebutuhannya di awal,
     sehingga minim kesalahannya.
 
  
Kekurangan
Waterfall model :
- Waterfall
     model bersifat kaku sehingga sulit untuk melakukan perubahan pada sistem
     perangkat lunak.
- Terjadinya
     pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen
     harus dilakukan pada tahap awal proses.
- Customer
     harus sabar untuk menanti produk selesai, karena dikerjakan tahap per
     tahap,menyelesaikan tahap awal baru bisa ke tahap selanjutnya.
- Perubahan
     ditengah-tengah pengerjaan produk akan membuat bingung team work yang
     sedang membuat produk.
- Adanya
     waktu menganggur bagi pengembang, karena harus menunggu anggota tim proyek
     lainnya menuntaskan pekerjaannya.
Ø  Prototyping Model
Kelebihan
Prototyping model : 
- Menghemat
     waktu pengembangan.
- Adanya
     komunikasi yang baik antara pengembang dan pelanggan.
- Pengembang
     dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan.
- Penerapan
     menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya.
- User
     dapat berpartisipasi aktif dalam pengembangan sistem.
- Punya
     kemampuan menangkap requirement secara konkret daripada secara abstrak.
- Untuk
     digunakan secara standalone.
- Digunakan
     untuk memperluas SDLC.
 
  
Kekurangan Prototyping Model :
- Pada
     prototype tentu saja banyak kebutuhan yang tidak di tampilkan seluruhnya
     karena data yang dikumpulkan hanya sebagian.
- 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.
- Banyak
     ketidak sesuaian pada bentuk prototype.
- Proses
     analisis dan perancangan terlalu singkat.
- 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.
- Pengembang
     kadang-kadang membuat kompromi implementasi dengan menggunakan sistem
     operasi yang tidak relevan dan algoritma yang tidak efisien.
- Mengesampingkan
     alternatif pemecahan masalah. 
- Bisanya
     kurang fleksible dalam mengahadapi perubahan.
- Prototype
     yang dihasilkan tidak selamanya mudah dirubah 
- 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.
- 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. 
- Hubungan
     pelanggan dengan komputer yang disediakan mungkin tidak mencerminkan
     teknik perancangan yang baik.
Ø  Model Rapid Application Development (RAD)
Kelebihan Model Rapid Application
Development (RAD):
- Penghematan waktu dalam
     keseluruhan fase projek dapat dicapai.
- RAD mengurangi seluruh
     kebutuhan yang berkaitan dengan biaya projek dan sumberdaya manusia.
- RAD sangat membantu
     pengembangan aplikasi yang berfokus pada waktu penyelesaian projek.
- Perubahan desain sistem dapat
     lebih berpengaruh dengan cepat dibandingkan dengan pendekatan SDLC
     tradisional.
- Sudut pandang user disajikan
     dalam sistem akhir baik melalui fungsi-fungsi sistem atau antarmuka pengguna.
- RAD menciptakan rasa
     kepemilikan yang kuat di antara seluruh pemangku kebijakan projek.
Kekurangan Model Rapid Application
Development (RAD):
- Dengan metode RAD, penganalisis
     berusaha mepercepat projek dengan terburu-buru.
- 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.
- 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:
- 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.
- Lebih
     cocok untuk pengembangan sistem dan perangkat lunak skala besar.
- Dapat
     disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak
     komputer. 
- Pengembang
     dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap
     tingkat evolusi karena perangkat lunak terus bekerja selama proses.
- Menggunakan
     prototipe sebagai mekanisme pengurangan resiko dan pada setiap keadaan di
     dalam evolusi produk.
- Tetap
     mengikuti langkah-langkah dalam siklus kehidupan klasik dan memasukkannya
     ke dalam kerangka kerja iteratif.
- Membutuhkan
     pertimbangan langsung terhadp resiko teknis sehingga mengurangi resiko
     sebelum menjadi permaslahan yang serius. 
 
  
Kekurangan
model Spiral :
- 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.
- Memerlukan
     tenaga ahli untuk memperkirakan resiko, dan harus mengandalkannya supaya
     sukses.
- Belum
     terbukti apakah metode ini cukup efisien karena usianya yang relatif baru.
     
- Memerlukan
     penaksiran resiko yang masuk akal dan akan menjadi masalah yang serius
     jika resiko mayor tidak ditemukan dan diatur.
- 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: