1. Metodologi Waterfall
Metodologi Waterfall merupakan model klasik yang sederhana dengan aliran sistem yang linier. Output dari setiap tahap merupakan input bagi tahap berikutnya. Model ini pertama kali diperkenalkan oleh Winston Royce tahun 1970, sekarang model ini lebih dikenal dengan Liner Sequential Model.
Karakteristik dari metodologi waterfall ini meliputi beberapa bagian, yaitu :
• Aktivitas mengalir dari satu fase ke fase lainnya secara berurutan.
• Setiap fase dikerjakan terlebih dahulu sampai selesai, jika sudah selesai baru mulai menuju fase berikutnya.
Tahapan penelitian pada model waterfall meliputi metodologi berupa :
a. System Engineering
Menetapkan segala hal yang diperlukan dalam pelaksanaan proyek
b. Analisis
Menganalisis hal-hal yang diperlukan untuk pembuatan atau pengembangan perangkat lunak
c. Design
Tahap penerjemahan dari keperluan atau data yang telah dianalisis ke dalam bentuk yang mudah dimengerti oleh programmer . Tiga atribut yang penting dalam proses perancangan yaitu : struktur data, arsitektur perangkat lunak dan prosedur rinci / algoritma.
d. Coding
Menerjemahkan data yang telah dirancang / algoritma ke dalam bahasa pemrograman yang telah ditentukan
e. Testing
Uji coba terhadap program telah dibuat .
f. Maintenance
Perubahan atau penambahan program sesuai dengan permintaan user.
Kelebihan dari metode WaterFall :
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.
2. Metodologi Prototipe
Model ini dikembangkan karena adanya kegagalan yang terjadi akibat pengembangan project / aplikasi menggunkan sistem waterfall. Kegagalan yang terjadi biasanya dikarenakan adanya kekurang pahaman atau bahkan sampai kesalah pahaman pengertian developer aplikasi mengenai user requirement yang ada.
Yang berbeda dari metodologi prototipe ini, apabila dibandingkan dengan waterfall, yaitu adanya pembuatan prototype dari sebuah aplikasi, sebelum aplikasi tersebut memasuki tahap design. Dalam fase ini, prototype yang telah dirancang oleh developer akan diberikan kepada user untuk mendapatkan dievaluasi. Tahap ini akan terus menerus diulang sampai kedua belah pihak benar-benar mengerti tentang requirement dari aplikasi yang akan dikembangkan. Apabila prototype telah selesai, maka tahapan aplikasi akan kembali berlanjut ke tahap design dan kembali mengikuti langkah-langkah pada waterfall model. Kekurangan dari tipe ini adalah tim developer pengembang aplikasi harus memiliki kemampuan yang baik karna dalam mengembangkan prototype ini hanya terdapat waktu yang singkat. Sebuah prototiping adalah sebuah sistem dalam fungsi yang sangat minimal.
Gambar Prototyping Method
Tahapan Metodologi Prototipe :
a. Pengumpulan Kebutuhan dan perbaikan
Menetapkan segala kebutuhan untuk pembangunan perangkat lunak
b. Disain cepat
Tahap penerjemahan dari keperluan atau data yang telah dianalisis ke dalam bentuk yang mudah dimengerti oleh user.
c. Bentuk Prototipe
Menerjemahkan data yang telah dirancang ke dalam bahasa pemrograman (Program contoh atau setengah jadi )
d. Evaluasi Pelanggan Terhadap Prototipe
Program yang sudah jadi diuji oleh pelanggan, dan bila ada kekurangan pada program bisa ditambahkan.
e. Perbaikan Prototype
Perbaikan program yang sudah jadi, sesuai dengan kebutuhan konsumen. Kemudian dibuat program kembali dan di evaluasi oleh konsumen sampai semua kebutuhan user terpenuhi.
f. Produk Rekayasa
Program yang sudah jadi dan seluruh kebutuhan user sudah terpenuhi
Tahapan Metodologi Prototipe :
a. Pengumpulan Kebutuhan dan perbaikan
Menetapkan segala kebutuhan untuk pembangunan perangkat lunak
b. Disain cepat
Tahap penerjemahan dari keperluan atau data yang telah dianalisis ke dalam bentuk yang mudah dimengerti oleh user.
c. Bentuk Prototipe
Menerjemahkan data yang telah dirancang ke dalam bahasa pemrograman (Program contoh atau setengah jadi )
d. Evaluasi Pelanggan Terhadap Prototipe
Program yang sudah jadi diuji oleh pelanggan, dan bila ada kekurangan pada program bisa ditambahkan.
e. Perbaikan Prototype
Perbaikan program yang sudah jadi, sesuai dengan kebutuhan konsumen. Kemudian dibuat program kembali dan di evaluasi oleh konsumen sampai semua kebutuhan user terpenuhi.
f. Produk Rekayasa
Program yang sudah jadi dan seluruh kebutuhan user sudah terpenuhi
3.Incremental Model
Model incremental (Incremental waterfall model) merupakan perbaikan dari model waterfall dan sebagai standar pendekatan top-down. Ide dasar dari model ini adalah membangun software secara meningkat (increment) berdasarkan kemampuan fungsional. Model incremental ini diaplikasikan pada sistem pakar dengan penambahan rules yang mengakibatkan bertambahnya kemampuan fungsional sistem. Keuntungan dari model ini adalah bahwa penambahan kemampuan fungsional akan lebih mudah diuji, diverifikasi, dan divalidasi dan dapat menurunkan biaya yang dikeluarkan untuk memperbaiki sistem. Model incremental merupakan model continous rapid prototype dengan durasi yang diperpanjang hingga akhir proses pengembangan. Pada model prototipe biasa, prototipe hanya dibuat pada tahap awal untuk mendapatkan kebutuhan user.
4.Code and Fix Model
Model ini mengembangkan software dengan cara membuat program dan kemudian diperbaiki jika terdapat kesalahan. Model ini merupakan model awal yang digunakan untuk mengembangkan software. Namun sejak tahun 1970-an, model ini mulai ditinggalkan dan dikembangkan model waterfall yang memberikan metodologi lebih sistematik dan sangat membantu terutama pada proyek-proyek yang besar. Namun kesulitan pada model waterfall adalah perlu adanya informasi yang lengkap pada setiap tahapnya, dan bukan sesuatu hal yang mudah untuk mendapatkan informasi tersebut. Pada prakteknya, sering tidak mungkin untuk menulis dokumentasi kebutuhan yang lengkap sebelum dibangun prototipe. Sehingga yang terjadi adalah “kerja dua kali”, membuat prototipe, kemudian dari prototipe diperoleh informasi kebutuhan dan barulah dibangun sistem final.
5. Agile Model
Pada dekade 90-an diperkenalkan metodologi baru yang dikenal dengan nama agile methods. Metodologi ini sangat revolusioner perubahannya jika dibandingkan dengan metode sebelumnya. Agile Methods dikembangkan karena pada metodologi tradisional terdapat banyak hal yang membuat proses pengembangan tidak dapat berhasil dengan baik sesuai tuntutan user. Saat ini metodologi ini sudah cukup banyak berkembang, diantaranya adalah:
1) eXtreme Programming (XP)
2) Scrum Methodology
3) Crystal Family
4) Dynamic Systems Development Method (DSDM)
5) Adaptive Software Development (ASD)
6) Feature Driven Development (FDD)
Jika kita lihat, agile bisa berarti tangkas, cepat, atau ringan. Agility merupakan metode yang ringan dan cepat dalam pengembangan perangkat lunak. Agile Alliance mendefinisikan 12 prinsip untuk mencapai proses yang termasuk dalam agility:
1. Prioritas tertinggi adalah memuaskan pelanggan melalui penyerahan awal dan perangat lunak yang bernilai.
2. Menerima perubahan requirements meskipun perubahan tersebut diminta pada akhir pengembangan.
3. Memberikan perankat lunak yang sedangdikerjakan dengan sering,beberapa min ggu atau bulan, dengan pilihan waktu yang paling singkat.
4. Pihak bisnis dan penggembangan harus berkerja sama setiap hari selam penggembangan berjalan.
5. Bangun proyek dengan individu-individu yang bermotivasi tinggi dengan memberikan lingkungan dan dukungan yang diperlukan, dan mempercyai mereka sepenuhnya untuk menyelesaikan pekerjaannya.
6. Metode yang paling efektif dan efisien dala m menyampaikan informasi kepada tim pengembangan adalah dengan komunikasi langsung face to face.
7. Perangkat lunak yang dikerjakan merupakan pengukur utama kemajuan.
8. Proses agile memberikan proses pengembangan yang bias ditopang.Sponsor,pengembangan, dan user garus bias menjaga ke-konstanan langkah yang tidak pasti.
9. Perhatian yang harus terus mennerus terhadap rangcangan dan teknik yang baik meningkatkan agility.
10. Keserdahanaan seni untuk meminimalkan jumlah pekerjaan adalah penting.
11. Arsitektur,requirements, dan rancangan terbaik muncul dari tim yang mengatur sendiri.
12. Pada interval reguler tertentu,tim merefleksikan bagaimana menjadi lebih efektif,kemudian menyesuaikannya.
Kelebihan Metode Agile
1. Meningakatkan rasio kepuasan pelanggan.
2. Bisa melakukan reviw pelanggan mengenai software yang dibuat lebih awal.
3. Mengurangi resiko kegagalan implementasi software dari non-teknis.
4. Besar kerugian baik secara material atau imaterial tidak terlalu besar jiak terjadi kegagalan.
makasih ilmu nya gan ^_^
BalasHapus