Sunteți pe pagina 1din 6

Pengertian Waterfall

Waterfall adalah suatu metodologi pengembangan perangkat lunak yang mengusulkan


pendekatan kepada perangkat lunak sistematik dan sekuensial yang mulai pada tingkat
kemajuan sistem pada seluruh analisis, design, kode, pengujian dan pemeliharaan.

Langkah-langkah yang harus dilakukan pada metodologi Waterfall

1. Requirement Analysis
Seluruh kebutuhan software harus bisa didapatkan dalam fase ini, termasuk didalamnya
kegunaan software yang diharapkan pengguna dan batasan software. Informasi ini biasanya
dapat diperoleh melalui wawancara, survey atau diskusi. Informasi tersebut dianalisis untuk
mendapatkan dokumentasi kebutuhan pengguna untuk digunakan pada tahap selanjutnya.
2. System Design
Tahap ini dilakukan sebelum melakukan coding. Tahap ini bertujuan untuk memberikan
gambaran apa yang seharusnya dikerjakan dan bagaimana tampilannya. Tahap ini membantu
dalam menspesifikasikan kebutuhan hardware dan sistem serta mendefinisikan arsitektur
sistem secara keseluruhan.
3. Implementation
Dalam tahap ini dilakukan pemrograman. Pembuatan software dipecah menjadi modul-modul
kecil yang nantinya akan digabungkan dalam tahap berikutnya. Selain itu dalam tahap ini
juga dilakukan pemeriksaaan terhadap modul yang dibuat, apakah sudah memenuhi fungsi
yang diinginkan atau belum.
4. Integration & Testing
Di tahap ini dilakukan penggabungan modul-modul yang sudah dibuat dan dilakukan
pengujian ini dilakukan untuk mengetahui apakah software yang dibuat telah sesuai dengan
desainnya dan masih terdapat kesalahan atau tidak.
5. Operation & Maintenance
Ini merupakan tahap terakhir dalam model waterfall. Software yang sudah jadi dijalankan
serta dilakukan pemeliharaan. Pemeliharaan termasuk dalam memperbaiki kesalahan yang
tidak ditemukan pada langkah sebelumnya. Perbaikan implementasi unit sistem dan
peningkatan jasa sistem sebagai kebutuhan baru.

Keuntungan Waterfall

 Kualitas dari sistem yang dihasilkan akan baik. Ini dikarenakan oleh pelaksanaannya
secara bertahap. Sehingga tidak terfokus pada tahapan tertentu.
 Document pengembangan system sangat terorganisir, karena setiap fase harus
terselesaikan dengan lengkap sebelum melangkah ke fase berikutnya. Jadi setiap fase
atau tahapan akan mempunyai dokumen tertentu.
 Metode ini masih lebih baik digunakan walaupun sudah tergolong kuno, daripada
menggunakan pendekatan asal-asalan. Selain itu, metode ini juga masih masuk akal
jika kebutuhan sudah diketahui dengan baik.

Kelemahan Waterfall

 Diperlukan majemen yang baik, karena proses pengembangan tidak dapat dilakukan
secara berulang sebelum terjadinya suatu produk.
 Kesalahan kecil akan menjadi masalah besar jika tidak diketahui sejak awal
pengembangan yang berakibat pada tahapan selanjutnya.
 Pelanggan sulit menyatakan kebutuhan secara eksplisit sehingga tidak dapat
mengakomodasi ketidak pastian pada saat awal pengembangan.
 Pelanggan harus sabar, karena pembuatan perangkat lunak akan dimulai ketika tahap
desain sudah selesai. Sedangkan pada tahap sebelum desain bisa memakan waktu
yang lama.
 Pada kenyataannya, jarang mengikuti urutan sekuensial seperti pada teori. Iterasi
sering terjadi menyebabkan masalah baru.

Kapan Model Waterfall digunakan?


Teori-teori lama menyimpulkan ada beberapa hal, yaitu:

1. Ketika semua persyaratan sudah dipahami dengan baik di awal pengembangan.


2. Definisi produk stabil dan tidak ada perubahan saat pengembangan untuk alasan
apapun seperti perubahan eksternal, perubahan tujuan, perubahan anggaran atau
perubahan teknologi. Untuk itu, teknologi yang digunakan pun harus sudah dipahami
dengan baik.
3. Menghasilkan produk baru, atau versi baru dari produk yang sudah ada. Sebenarnya,
jika menghasilkan versi baru maka sudah masuk incremental development, yang
setiap tahapnya sama dengan Waterfall kemudian diulang-ulang.
4. Porting produk yang sudah ada ke dalam platform baru.

Dengan demikian, Waterfall dianggap pendekatan yang lebih cocok digunakan untuk
proyek pembuatan sistem baru. Tetapi salah satu kelemahan paling dasar adalah menyamakan
pengembangan perangkat keras dengan perangkat lunak dengan meniadakan perubahan saat
pengembangan. Padahal, galat diketahui saat perangkat lunak dijalankan, dan perubahan
perubahan akan sering terjadi.
Incremental model adalah model pengembangan sistem pada software engineering
berdasarkan requirement software yang dipecah menjadi beberapa fungsi atau bagian
sehingga model pengembangannya secara bertahap. dilain pihak ada mengartikan model
incremental sebagai perbaikan dari model waterfall dan sebagai standar pendekatan
topdown. Layaknya Model Waterfall, model ini pun juga memiliki tahapan tahapan untuk
perancangan perangkat lunaknya, yaitu:

1. Requirement , Requirment adalah proses tahapan awal yang dilakukan pada


incremental model adalah penentuan kebutuhan atau analisis kebutuhan.
2. Specification, Specification adalah proses spesifikasi dimana menggunakan analisis
kebutuhan sebagai acuannya.
3. Architecture Design, adalah tahap selanjutnya, perancangan software yang terbuka
agar dapat diterapkan sistem pembangunan per-bagian pada tahapan selanjutnya.
4. Code setelah melakukan proses desain selanjutnya ada pengkodean.
5. Test merupakan tahap pengujian dalam model ini.

gambar 1.2 desain pemodelan Incremental

Tahapan-tahapan tersebut dilakukan secara berurutan. Setiap bagian yang sudah selesai
dilakukan testing, dikirim ke pemakai untuk langsung dapat digunakan. Pada incremental
model, tiga tahapan awal harus diselesaikan terlebih dahulu sebelum sebelum tahap
membangun tiap increment. Untuk mengantisipasi kondisi yang terjadi pada incremental
model, diperkenalkan model More Risky Incremental Model. Model ini menerapkan sistem
kerja yang paralel. Setelah daftar kebutuhan didapatkan dari pemakai, tim spesifikasi
membuat spesifikasi untuk modul pertama. Setelah spesifikasi pertama selesai, tim desain
menindak lanjuti. Tim spesifikasi sebelumnya juga langsung membuat spesifikasi untuk
model kedua, dan seterusnya. Jadi, tidak harus menunggu modul pertama selesai hingga
dikirim ke user.
Beberapa Kelebihan Dari Mode Incremental atara lain :

1. Merupakan model dengan manajemen yang sederhana


2. Pengguna tidak perlu menunggu sampai seluruh sistem dikirim untuk mengambil
keuntungan dari sistem tersebut. Increment yang pertama sudah memenuhi
persyaratan mereka yang paling kritis, sehingga perangkat lunak dapat segera
digunakan.
3. Resiko untuk kegagalan proyek secara keseluruhan lebih rendah. Walaupun masalah
masih dapat ditemukan pada beberapa increment. Karena layanan dengan prioritas
tertinggi diserahkan pertama dan increment berikutnya diintegrasikan dengannya,
sangatlah penting bahwa layanan sistem yang paling penting mengalami pengujian
yang ketat. Ini berarti bahwa pengguna akan memiliki kemungkinan kecil untuk
memenuhi kegagalan perangkat lunak pada increment sistem yang paling bawah.
4. Nilai penggunaan dapat ditentukan pada setiap increment sehingga fungsionalitas
sistem disediakan lebih awal.
5. Memiliki risiko lebih rendah terhadap keseluruhan pengembagan sistem,
6. Prioritas tertinggi pada pelayanan sistem adalah yang paling diuji

Kelemahannya adalah :

1. kemungkinan tiap bagian tidak dapat diintegrasikan


2. Dapat menjadi build and Fix Model, karena kemampuannya untuk selalu mendapat
perubahan selama proses rekayasa berlangsung
3. Harus Open Architecture
4. Mungkin terjadi kesulitan untuk memetakan kebutuhan pengguna ke dalam rencana
spesifikasi masing-masing hasil increment.
Rational Unified Process
Analisis Software Model RUP - Rational Unified Process (RUP) merupakan suatu metode
rekayasa perangkat lunak yang dikembangkan dengan mengumpulkan berbagai best practises
yang terdapat dalam industri pengembangan perangkat lunak.

RUP menggunakan konsep object oriented, dengan aktifitas yang berfokus pada
pengembangan model dengan menggunakan Unified Model Language (UML), intinya model
ini lebih ditekankan pada kumpulan latihan yang bisa dijadikan suatu sistem utuh.

Inception

 Menentukan ruang lingkup proyek.


 Membuat business case.
 Memenuhi syarat bahwa program telah memenuhin syarat..

Elaboration

 Menganalisa berbagai persyaratan dan resiko.


 Menetapkan base line.
 Merencanakan fase berikutnya yaitu construction.

Construction

 Melakukan sederetan iterasi.


 Pada setiap iterasi akan melibatkan proses analisa desain, implementasi dan testing.

Transistion

 Membuat apa yang sudah dimodelkan menjadi suatu produk yang utuh.
 Beta dan performance testing.
 Membuat dokumentasi tambahan seperti training, user guides dan sales kit.
 Membuat rencana peluncuran produk ke komunitas pengguna.

Kelebihan RUP
 Software yang dikembangkan dengan metode ini biasanya menghasilkan kualitas
yang baik.
 Document pengembangan sistem sangat terorganisir, karena setiap fase harus
terselesaikan dengan lengkap sebelum melangkah ke fase berikutnya.

Kelemahan RUP

 Membutuhkan keahlian yang baik atau yang telah berpengalaman dalam


mengembangkan perangkat lunak dalam arti metode ini kurang cocok bagi pemula.
 Diperlukan majaemen yang baik, karena proses pengembangan tidak dapat berulang
sebelum menghasilkan suatu produk yaitu aplikasi. Jadi apabila dalam suatu proses
seperti perancangan tidak selesai tepat waktu maka akan mempengaruhi keseluruhan
proses pengembangan perangkat lunak.

S-ar putea să vă placă și