OLEH :
I MADE AGUS HARY SETIAWAN
(1504505090)
A.A.NGR.AG.ADITYAWINATA
(1504505099)
(1504505102)
( 1504505103)
(15045050108)
Sistem / teknik informasi dan pemodelan. Perangkat lunak merupakan bagian dari
sistem yang lebih besar (atau bisnis). Pandangan sistem ini penting ketika perangkat lunak
harus berinteraksi dengan unsur-unsur lain seperti perangkat keras, orang, dan database.
Analisis kebutuhan perangkat lunak. Persyaratan proses pengumpulan diintensifkan
dan difokuskan secara khusus pada software.
Rancangan. Desain perangkat lunak merupakan langkah yang berfokus pada empat
atribut yang berbeda dari sebuah program, yaitu struktur data, arsitektur perangkat lunak,
representasi interface, dan prosedural (algoritmik) rinci.
Pembuatan kode (Coding). Desain harus diterjemahkan ke dalam bentuk mesin yang
dapat dibaca. Dalam tahap ini dilakukan pembuatan kode.
Pengujian(Testing). Setelah kode telah dihasilkan, pengujian program dimulai.
Pengujian yang dilakukan secara internal (benar tidaknya pernyataan yang dibuat dalam
coding) dan eksternal (melakukan tes untuk menemukan kesalahan dan memastikan bahwa
input sesuai dengan apa yang dibutuhkan).
Dukungan (Support). Perangkat lunak akan mengalami perubahan setelah
disampaikan kepada pelanggan.
Kedua fase-fase menggunakan nama yang berbeda pada tiap fasenya, tetapi pada
dasarnya inti dari kedua fase-fase tersebut adalah sama. Tahapan-tahapan yang sering
dijumpai adalah menurut refrensi dari Sommerville karena lebih terperinci perbedaan pada
tiap fasenya:
Requirements definition
telah menentukan alur software hingga pada tahap algoritma detail. di akhir tahap ini,
kembali diperksa tim SQA.
Proses design sistem membagi kebutuhan-kebutuhan menjadi sistem perangkat lunak
atau perangkat keras. Proses tersebut menghasilkan sebuah arsitektur keseluruhan. Desain
perangkat lunak termasuk menghasilkan fungsi sistem perangkatlunak dalam bentuk yang
mungkin ditransformasi kedalam satu atau lebih program yang dapat dijalankan. Tahapan ini
telah menentukan alur software hingga pada tahap algoritma detail. di akhir tahap ini,
kembali diperksa tim SQA.
Implementation
Selama tahap ini, desain perangkat lunak disadari sebagai sebuah program lengkap
atau unit program. Desain yang telah disetujui, diubah dalam bentuk kode-kode program.
Tahap ini, kode-kode program yang dihasilkan masih pada tahap modul-modul. Diakhir
Tahap ini, tiap modul di testing tanpa diintegrasikan.Selama tahap ini, desain perangkat lunak
disadari sebagai sebuah program lengkap atau unit program. Desain yang telah disetujui,
diubah dalam bentuk kode-kode program. Tahap ini, kode-kode program yang dihasilkan
masih pada tahap modul-modul. Diakhir Tahap ini, tiap modul di testing tanpa diintegrasikan.
Integration
Unit program diintegrasikan dandiuji menjadi sistem yang lengkap untuk meyakinkan
bahwa persyaratan perangkat lunak telah dipenuhi. Setelah uji coba, sistem disampaikan ke
konsumen.Unit program diintegrasikan dandiuji menjadi sistem yang lengkap untuk
meyakinkan bahwa persyaratan perangkat lunak telah dipenuhi. Setelah uji coba, sistem
disampaikan ke konsumen.
Operation model & retirement
Normalnya, ini adalah tahap yang terpanjang. Sistem dipasang dan digunakan.
Pemeliharaan termasuk pembetulan kesalahan yang tidak ditemukan pada langkah
sebelumnya. Perbaikan inmplementasi unit sistem dan peningkatan jasa sistem sebagai
kebutuhan baru ditemukan.Setiap tahap dari modelini menggunakan Document Drivent, yaitu
tahap selanjutnya selalu bekerja berdasarkan dokumen yang telah diberikan sebelumnya.
Tahapan pada waterfall model tidak akan selesai jika tidak disetujui SQA. Modifikasi pada
tahap tertentu (tidak sesuai dengan dokumen sebelumnya), proses harus kembali pada tahap
sebelumnya untuk penyesuaian dan peninjauan ulang.Dalamprakteknya, setiap langkah sering
tumpang tindih dan saling memberi informasi satu sama lain. Proses perangkat lunak tidak
linierdan sederhana, tapi mengandung urutan iterasi dari aktifitas pengembangan. Selama di
langkah terakhir, perangkat lunak telah digunakan. Kesalahan dan kelalaian dalam
menentukan kebutuhan perangkat lunak original dapat diatasi.Sayangnya model yang banyak
mengandung iterasi, sehingga membuat sulit bagi pihak manajemen untuk memeriksa seluruh
rencana dan laporan.
Maka dari itu, setelah sedikit iterasi, biasanya bagian yang telah dikembangkan akan
dihentikan dan dilanjutkan dengan langkah pengembangan selanjutnya. Masalah-masalah
selama resolusi selanjutnya, dibiarkan atau diprogram. Pemberhentian yang prematur dari
persyaratan akan berarti bahwa sistem tidak akan sesuai dengan keinginan user. Mungkin
juga sistem terstruktur secarajelek yang sebenarnya merupakan masalah deain akan dibiarkan
karenaterkalahkan
olehtrik
implementasi.Masalah
pendekatan
waterfall
adalah
Mudah diaplikasikan.
Cocok digunakan untuk produk software yang sudah jelas kebutuhannya di awal,
sehingga minim kesalahannya.
Waterfall model bersifat kaku sehingga Penanganan perubahan pada saat proses
sedang berlangsung menjadi lebih sulit.
Customer harus sabar untuk menanti produk selesai, karena dikerjakan tahap per
tahap,menyelesaikan tahap awal baru bisa ke tahap selanjutnya.
Adanya waktu menganggur bagi pengembang, karena harus menunggu anggota tim
proyek lainnya menuntaskan pekerjaannya.
Semua kebutuhan sudah terefenisi sejak awal dan Software yang diberikan adalah
versi terakhir dari setiap tahap,
2. Prototype Models
Protoyping Model adalah model yang dapat diterapkan pada model apapun. Model ini
tidak memerlukan data yang lengkap dari sisi client dan banyaknya keraguan dari pembuat
software karena kondisi yang belum diketahui (seberapa besar software, bagaimana sistem
penerapannya). Model ini tepat digunakan jika pihak client menginginkan prototype dari
software dalam waktu yang singkat. Dan prototype inilah yang akan menjadi acuan dari client
untuk memberikan data kebutuhan yang lebih lengkap pada pembuat software (developer).
Perancangan Model
Perancangan Dialog
Simulasi
Berikut adalah 4 langkah yang menjadi karakteristik dalam proses pengembangan pada
metode prototype, yaitu :
Pemilihan fungsi
Evaluasi
Penggunaan Selanjutnya
Metode ini menyajikan gambaran yang lengkap dari suatu sistem perangkat lunak, terdiri
atas model kertas, model kerja dan program. Pihak pengembang akan melakukan identifikasi
kebutuhan pemakai, menganalisa sistem dan melakukan studi kelayakan serta studi terhadap
kebutuhan pemakai, meliputi model interface, teknik prosedural dan teknologi yang akan
dimanfaatkan.
Berikut adalah Tahapan tahapan Proses Pengembangan dalam Model Prototype, yaitu :
Pengumpulan kebutuhan
Pelanggan dan pengembang bersama-sama mendefinisikan format seluruh perangkat
lunak, mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan dibuat.
Membangun prototyping
Membangun prototyping dengan membuat perancangan sementara yang berfokus pada
penyajian kepada pelanggan (misalnya dengan membuat input dan format output).
Evaluasi protoptyping
Evaluasi ini dilakukan oleh pelanggan, apakah prototyping yang sudah dibangun sudah
sesuai dengan keinginan pelanggan atau belum. Jika sudah sesuai, maka langkah selanjutnya akan
diambil. Namun jika tidak, prototyping direvisi dengan mengulang langkah-langkah sebelumnya.
Mengkodekan sistem
Dalam tahap ini prototyping yang sudah di sepakati diterjemahkan ke dalam bahasa
pemrograman yang sesuai.
Menguji sistem
Setelah sistem sudah menjadi suatu perangkat lunak yang siap pakai, kemudian dilakukan
proses Pengujian. Pengujian ini dilakukan dengan White Box, Black Box, Basis Path, pengujian
arsitektur, dll.
Evaluasi Sistem
Pelanggan mengevaluasi apakah perangkat lunak yang sudah jadi sudah sesuai dengan
yang diharapkan . Jika ya, maka proses akan dilanjutkan ke tahap selanjutnya, namun jika
perangkat lunak yang sudah jadi tidak/belum sesuai dengan apa yang diharapkan, maka tahapan
sebelumnya akan diulang.
Menggunakan sistem
Perangkat lunak yang telah diuji dan diterima pelanggan siap untuk digunakan.Model
Prototyping ini sangat sesuai diterapkan untuk kondisi yang beresiko tinggi di mana masalahmasalah tidak terstruktur dengan baik, terdapat fluktuasi kebutuhan pemakai yang berubah dari
waktu ke waktu atau yang tidak terduga, bila interaksi dengan pemakai menjadi syarat mutlak dan
waktu yang tersedia sangat terbatas sehingga butuh penyelesaian yang segera. Model ini juga
dapat berjalan dengan maksimal pada situasi di mana sistem yang diharapkan adalah yang
inovatif dan mutakhir sementara tahap penggunaan sistemnya relatif singkat.
Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya.
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.
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.
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.
Hubungan
pelanggan
dengan
komputer
yang
disediakan
mungkin
tidak
Pemodelan Bisnis, pada tahap ini berisi tentang pertanyaan-pertanyaan apa informasi
yang mendorong proses bisnis? Informasi apa yang dihasilkan? Siapa yang menghasilkan
itu? Dari mana informasi itu berasal? Siapa yang memprosesnya?
Proses pemodelan. Objek data yang didefinisikan dalam fase pemodelan data
dihubungkan untuk mendapatkan informasi yang diperlukan untuk melaksanakan fungsi
bisnis.
RAD tidak cocok digunakan untuk sistem yang mempunyai resiko teknik yang tinggi
Membutuhkan orang yang banyak untuk menyelesaikan sebuah proyek berskala besar
Pengembang dan customer harus punya komitmen yang kuat untuk menyelesaikan
sebuah software
Jika sistem tidak di bangun dengan benar maka RAD akan bermasalah
Jika ada perubahan di tengah-tengah pengerjaan maka harus membuat kontrak baru
4. Model incremental
Model ini merupakan gabungan dari waterfall model dan prototype model. Model
proses ini dapat digambarkan sebagai berikut,
Dari gambar dapat diartikan bahwa model inkremental berlaku urutan linear secara
bergiliran sesuai dengan urutan waktu. Setiap urutan linier menghasilkan deliverable
kenaikan perangkat lunak.
Contoh Penerapan Model Incremental
dikembangkan terus hingga menghasilkan produk jadi yang siap untuk digunakan/dipasarkan.
Tahap awal adalan dasar dari pembuatan tahap berikutnya (dikerjakan secara terurut).
Hanya akan berhasil jika tidak ada staffing untuk penerapan secara menyeluruh.
Penambahan staf dilakukan jika hasil incremental akan dikembangkan lebih lanjut.
5. Model Spiral
Model spiral memiliki sifat interatif yaitu sifat yang ditandai dengan kemungkinan
suatu perangkat lunak dikembangkan versinya secara bertahap untuk menghasilkan perangkat
lunak yang lengkap dan terkontrol.
Tahapan-tahapan model spiral:
Perencanaan, pada tahap ini dilakukan pendefinisian sumber daya, waktu yang
dibutuhkan, dan informasi lainnya terkait dengan pembuatan perangkat lunak.
Analisi Risiko, menganalisis risiko manajemen dan risiko teknis saat pembuatan
perangkat lunak.
Konstruksi dan Peluncuran, pada proses ini peerangkat lunak diuji dan akan
memberikan pelayanan pada pelanggan.
Komunikasi Pelanggan.
2.
Perencanaan.
3.
Analisis resiko.
4.
Perekayasaan.
5.
6.
Evaluasi Client
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.
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.
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.
Dalam hal ini win win merupakan situasi kemenangan antara tim pengembang dan
pelanggan. Yang membedakan antara win win spiral model dan spiral model adalah setelah
selesai mendapatkan feed back dari pelanggan, tim pengembang perangkat lunak dan
pelanggan akan kembali melakukan negosiasi untuk perkembangan perangkat lunak tersebut.
Tahapan-tahapan WINWIN Spiral model:
1.
2.
3.
Pada model ini aktifitas kerja dilakukan secara bersamaan, setiap proses kerja
memiliki beberapa pemicu kerja dari aktifitas. Pemicu dapat berasal dari awal proses kerja
maupun dari pemicu yang lain karena setiap pemicu akan saling berhubungan.
Kesimpulan:
Dari beberapa Prespective model yang telah di jabarkan, saya beranggapan spiral
model lah yang paling bagus, spiral model saya pilih mengingat banyaknya kelebihan pada
model ini terutama karena Dapat disesuaikan agar perangkat lunak bisa dipakai selama hidup
perangkat lunak komputer dan cocok untuk perangkat lunak sekala besar, meskipun model ini
memiliki beberapa kekurangan tapi semua kekurangan tersebut dapat tertutupi dengan
besarnya kelebihan yang dimilikinya, yang antara lain :
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.
Refrences :