Metode pelaksanaan proyek
1.Metode Waterfall
Pengertian Metode Waterfall
Metode air terjun atau
yang sering disebut metode waterfall sering dinamakan siklus
hidup klasik (classic life cycle), dimana hal ini menggambarkan
pendekatan yang sistematis dan juga berurutan pada pengembangan perangkat
lunak, dimulai dengan spesifikasi kebutuhan pengguna lalu berlanjut melalui
tahapan-tahapan perencanaan (planning), permodelan (modeling),
konstruksi (construction), serta penyerahan sistem ke para
pelanggan/pengguna (deployment), yang diakhiri dengan dukungan pada
perangkat lunak lengkap yang dihasilkan (Pressman, 2012). Tahapan metode waterfall dapat
dilihat pada gambar di bawah ini.
Tahapan Metode Waterfall
Dalam pengembangannya metode waterfall memiliki beberapa
tahapan yang berurut yaitu: requirement (analisis
kebutuhan), design system (desain sistem), Coding (pengkodean) &
Testing (pengujian), Penerapan Program, pemeliharaan. Tahapan tahapan
dari metode waterfall adalah sebagai berikut :
Requirement Analisis
Tahap ini pengembang sistem diperlukan komunikasi yang bertujuan untuk
memahami perangkat lunak yang diharapkan oleh pengguna dan batasan perangkat
lunak tersebut. Informasi ini biasanya dapat diperoleh melalui wawancara,
diskusi atau survei langsung. Informasi dianalisis untuk mendapatkan data yang
dibutuhkan oleh pengguna.
System Design
Spesifikasi kebutuhan dari tahap sebelumnya akan dipelajari dalam fase ini
dan desain sistem disiapkan. Desain Sistem membantu dalam menentukan perangkat
keras(hardware) dan sistem persyaratan dan juga membantu dalam
mendefinisikan arsitektur sistem secara keseluruhan.
Implementation
Pada tahap ini, sistem pertama kali dikembangkan di program kecil yang
disebut unit, yang terintegrasi dalam tahap selanjutnya.
Setiap unitdikembangkan dan diuji untuk fungsionalitas yang disebut
sebagai unit testing.
Integration & Testing
Seluruh unit yang dikembangkan dalam tahap implementasi
diintegrasikan ke dalam sistem setelah pengujian yang dilakukan
masing-masing unit. Setelah integrasi seluruh sistem diuji untuk
mengecek setiap kegagalan maupun kesalahan.
Operation & Maintenance
Tahap akhir dalam model waterfall. Perangkat lunak 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.
Kelebihan Metode Waterfall
Kelebihan menggunakan metode air terjun (waterfall) adalah
metode ini memungkinkan untuk departementalisasi dan kontrol. proses
pengembangan model fase one by one, sehingga meminimalis kesalahan
yang mungkin akan terjadi. Pengembangan bergerak dari konsep, yaitu melalui
desain, implementasi, pengujian, instalasi, penyelesaian masalah, dan berakhir
di operasi dan pemeliharaan.
Kekurangan Metode Waterfall
Kekurangan menggunakan metode waterfall adalah metode ini
tidak memungkinkan untuk banyak revisi jika terjadi kesalahan dalam prosesnya.
Karena setelah aplikasi ini dalam tahap pengujian, sulit untuk kembali lagi dan
mengubah sesuatu yang tidak terdokumentasi dengan baik dalam tahap konsep
sebelumnya.
Dengan prototype yang terbuka, model sebuah sistem (atau bagiannya)
dikembangkan secara cepat dan dipoles dalam diskusi yang berkali-kali dengan
klien. Model tersebut menunjukkan kepada klien apa yang akan dilakukan oleh
sistem, namun tidak didukung oleh rancangan desain struktur yang mendetil. Pada
saat perancang dan klien melakukan percobaan dengan berbagai ide pada suatu
model dan setuju dengan desain final, rancangan yang sesungguhnya dibuat tepat
seperti model dengan kualitas yang lebih bagus.
Protoyping membantu dalam menemukan kebutuhan di tahap awal
pengembangan,terutama jika klien tidak yakin dimana masalah berasal. Selain itu
protoyping juga berguna sebagai alat untuk mendesain dan memperbaiki user
interface – bagaimana sistem akan terlihat oleh orang-orang yang
menggunakannya.
Salah satu hal terpenting mengenai metodologi ini, cepat atau lambat akan
disingkirkan dan hanya digunakan untuk tujuan dokumentasi. Kelemahannya adalah
metode ini tidak memiliki analisa dan rancangan yang mendalam yang merupakan
hal penting bagi sistem yang sudah kokoh, terpercaya dan bisa dikelola. Jika
seorang pengembang memutuskan untuk membangun jenis prototipe ini, penting
untuk memutuskan kapan dan bagaimana ia akan disingkirkan dan selanjutnya
menjamin bahwa hal tersebut telah diselesaikan tepat pada waktunya.
Tahapan-Tahapan
Prototyping dan Kelebihannya
Tahapan-tahapan dalam Prototyping adalah sebagai
berikut:
- Adanya komunikasi yang baik antara pengembang dan pelanggan
- Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan
- Pelanggan berperan aktif dalam pengembangan system
- Lebih menghemat waktu dalam pengembangan system
- Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya
- membuat klien mendapat gambaran awal dari prototype
- Membantu mendapatkan kebutuhan detil lebih baik
Model pengembangan ini (Prototyping Model) memiliki beberapa kelebihan, diantaranya :
§ Adanya komunikasi yang baik antara pengembang dan pelanggan
§ Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan
§ Pelanggan berperan aktif dalam pengembangan system
§ Lebih menghemat waktu dalam pengembangan system
§ Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang
diharapkannya
§ membuat klien mendapat gambaran awal dari prototype
Membantu mendapatkan kebutuhan detil lebih baik
Implementasi
Prototyping Model
Metode prototyping sebagai suatu paradigma baru dalam pengembangan sistem
informasi manajemen, tidak hanya sekedar suatu efolusi dari metode pengembangan
sistem informasi yang sudah ada, tetapi sekaligus merupakan refolusi dalam
pengembangan sistem informasi manajemen. Metode ini dikjatakan refolusi karena
merubah proses pengembangan sistem informasi yang lama (SDLC).
Menurut literatur, yang dimaksud dengan prototipe (prototype) adalah ”model pertama”,
yang sering digunakan oleh perusahaan industri yang memproduksi barang secara
masa. Tetapi dalam kaitannya dengan sistem informasi definisi kedua dari
Webster yang menyebutkan bahwa ”prototype is an individual that exhibits the
essential peatures of later type”, yang bila diaplikasikan dalam pengembangan
sistem informasi manajemen dapat berarti bahwa Prototipe tersebut adalah sistem
informasi yang menggambarkan hal-hal penting dari sistem informasi yang akan
datang. 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.
Dalam beberapa hal pengembangan software berbeda dengan produk-produk manufaktur,
setiap tahap atau fase pengembangan sistem informasi merupakan bagian yang
tidak terpisahkan dari seluruh proses yang harus dilakukan. Proses ini umumnya
hanya untuk satu produk dan karakteristik dari produk tersebut tidak dapat
ditentukan secara pasti seperti produk manufaktur, sehingga penggunaan ”model
pertama” bagi pengembangan software tidaklah tepat. Istilah prototyping dalam
hubungannya dengan pengembangan software sistem informasi manajemen lebih
merupakan suatu proses bukan prototipe sebagai suatu produk.
Sebagai contoh, pembuat mobil dapat mengembangkan sebuah purwarupa yang dapat
digunakan dalam lintasan pengujuan khusus dan kemudian ditampilkan dalam
showroom. Informasi yang diperoleh dari perlakuan seperti itu dapat digunakan untuk
meningkatkan desain sebelum implementasi/produksi dilakukan secara massal.
Karakteristik metode prototyping
Ada empat langkah yang menjadi karakteristik metode prototyping yaitu :
Ada empat langkah yang menjadi karakteristik metode prototyping yaitu :
- Pemilahan Fungsi
- Mengacu pada pemilahan fungsi yang harus ditampilkan oelh prototyping. Pemilahan harus selalu dilakukan berdasarkan pada tugas-tugas yang relevan yang sesuai dengan contoh kasus yang akan dipergakan.
- Penyusunan Sistem Informasi
- Bertujuan untuk memenuhi permintaan akan tersedianya prototype
- Evaluasi
- Penggunaan Selanjutnya
3.Model Spiral
Model spiral (spiral model)
adalah model proses software yang evolusioner yang merangkai sifat iteratif
dari prototipe dengan cara kontrol dan aspek sistematis dari model sekuensial
linier. Model ini berpotensi untuk pengembangan versi pertambahan software
secara cepat. Di dalam model spiral, software dikembangkan di dalam suatu
deretan pertambahan. Selama awal iterasi, rilis inkremental bisa merupakan
sebuah model atau prototipe kertas. Selama iterasi berikutnya, sedikit demi
sedikit dihasilkan versi sistem rekayasa yang lebih lengkap.
Model spiral dibagi menjadi sejumlah
aktifitas kerangka kerja, disebut juga wilayah tugas, di antara tiga sampai
enam wilayah tugas. Tahap-tahap model tersebut dapat
dijelaskan secara ringkas sebagai berikut.
- Tahap Liason: pada tahap ini membangun komunikasi yang efektif di antara pengembangan dan pelanggan.
- Tahap Planning (perencanaan): pada tahap ini ditentukan sumber-sumber informasi, batas waktu dan informasi-informasi yang dapat menjelaskan proyek.
- Tahap Analisis Resiko: mendefinisikan resiko, menentukan apa saja yang menjadi resiko baik teknis maupun manajemen.
- Tahap Rekayasa (engineering): pembuatan prototipe atau pembangunan satu atau lebih representasi dari aplikasi tersebut
- Tahap Konstruksi dan Pelepasan (release): pada tahap ini dilakukan pembangunan perangkat lunak yang dimaksud, diuji, diinstal dan diberikan sokongan-sokongan tambahan untuk keberhasilan proyek.
- Tahap Evaluasi: Pelanggan/pemakai/pengguna biasanya memberikan masukan berdasarkan hasil yang didapat dari tahap engineering dan instalasi.
Dalam pengembangan sistem informasi
berbasis web, model ini digunakan untuk menyelesaikan sistem secara global
terlebih dahulu, kemudian untuk feature dari sistem akan dikembangkan kemudian.
Dengan ini mempercepat dalam pengimplementasian project dan hal ini cocok
digunakan dalam sistem informasi Web.
Kelebihan
1. Sangat mempertimbangkan resiko kemungkinan munculnya kesalahan sehingga sangat dapat diandalkan untuk pengembangan perangkat lunak skala besar.
2. Pendekatan model ini dilakukan melalui tahapan-tahapan yang sangat baik dengan menggabungkan model waterfall ditambah dengan pengulangan-pengulangan sehingga lebih realistis untuk mencerminkan keadaan sebenarnya.
3. Baik pengembang maupun pemakai dapat cepat mengetahui letak kekurangan dan kesalahan dari sistem karena proses-prosesnya dapat diamati dengan baik.
1. Sangat mempertimbangkan resiko kemungkinan munculnya kesalahan sehingga sangat dapat diandalkan untuk pengembangan perangkat lunak skala besar.
2. Pendekatan model ini dilakukan melalui tahapan-tahapan yang sangat baik dengan menggabungkan model waterfall ditambah dengan pengulangan-pengulangan sehingga lebih realistis untuk mencerminkan keadaan sebenarnya.
3. Baik pengembang maupun pemakai dapat cepat mengetahui letak kekurangan dan kesalahan dari sistem karena proses-prosesnya dapat diamati dengan baik.
Kekurangan
1.Waktu yang dibutuhkan untuk mengembangkan
perangkat lunak cukup panjang demikian juga biaya yang besar.
2. Sangat tergantung kepada tenaga ahli
yang dapat memperkirakan resiko.
3. Terdapat pula kesulitan untuk
mengontrol proses. Sampai saat ini, karena masih relatif baru, belum ada bukti apakah
metode ini cukup handal untuk diterapkan.
4. Meyakinkan konsumen (khusunya dalam
situasi kontrak) bahwa pendekatan evolusioner bisa dikontrol.
Model Boehm sangat cocok diterapkan
untuk pengembangan sistem dan perangkat lunak skala besar di mana pengembang
dan pemakai dapat lebih mudah memahami kondisi pada setiap tahapan dan bereaksi
terhadap kemungkinan terjadinya kesalahan. Selain itu, diharapkan juga waktu
dan dana yang tersedia cukup memadai.
Rapid application
development (RAD) atau rapid prototyping adalah model
proses pembangunan perangkat
lunak yang tergolong dalam teknik
incremental (bertingkat). RAD menekankan pada siklus pembangunan pendek,
singkat, dan cepat. Waktu yang singkat adalah batasan yang penting untuk model
ini. Rapid application development menggunakan metode iteratif (berulang) dalam
mengembangkan sistem di mana working model (model bekerja) sistem
dikonstruksikan di awal tahap pengembangan dengan tujuan menetapkan kebutuhan
(requirement) user dan selanjutnya disingkirkan.Working model digunakan
kadang-kadang saja sebagai basis desain dan implementasi sistem final.
Model RAD mengadopsi model waterfall dan
pembangunan dalam waktu singkat yang dicapai dengan menerapkan:
- Component based construction ( pemrograman berbasis komponen bukan prosedural).
- Penekanan pada penggunaan ulang (reuse) komponen perangkat lunak yang telah ada.
- Pembangkitan kode program otomatis/semi otomatis.
- Multiple team (banyak tim), tiap tim menyelesaikan satu tugas yang selevel tetapi tidak sama. Banyaknya tim tergantung dari area dan kompleksitasnya sistem yang dibangun.
Jika keutuhan yang diinginkan pada tahap
analisis kebutuhan telah lengkap dan jelas, maka waktu yang dibutuhkan untuk
menyelesaikan secara lengkap perangkat lunak yang dibuat adalah berkisar 60
sampai 90 hari. Model RAD hampir sama dengan model waterfall, bedanya siklus
pengembangan yang ditempuh model ini sangat pendek dengan penerapan teknik yang
cepat.
Sistem dibagi-bagi menjadi beberapa
modul dan dikerjakan beberapa tim dalam waktu yang hampir bersamaan dalam waktu
yang sudah ditentukan. Model ini melibatkan banyak tim, dan setiap tim
mengerjakan tugas yang selevel, namun berbeda. Sesuai dengan pembagian modul
sistem.
Beberapa hal (kelebihan dan
kekurangan) yang perlu diperhatikan dalam implementasi pengembangan menggunakan
model RAD:
- Model RAD memerlukan sumber daya yang cukup besar, terutama untuk proyek dengan skala besar.
- Model ini cocok untuk proyek dengan skala besar.
- Model RAD memerlukan komitmen yang kuat antara pengembang dan pemesssan, bahkan keduanya bisa tergabung dalam 1 tim
- kinerja dari perangkat lunak yang dihasilkan dapat menjadi masalah manakala kebutuhan-kebutuhan diawal proses tidak dapat dimodulkan, sehingga pendekatan dengan model ini kurang bagus.
- sistem yang tidak bisa dimodularisasi tidak cocok untuk model ini.
- penghalusan dan penggabungan dari beberapa tim di akhir proses sangat diperlukan dan ini memerlukan kerja keras.
- proyek bisa gagal karena waktu yang disepakati tidak dipenuhi
- risiko teknis yang tinggi juga kurang cocok untuk model ini.
Model
Evolutionary Development bersifat iteratif (mengandung perulangan). Hasil
prosesnya berupa produk yang makin lama makin lengkap sampai versi terlengkap
dihasilkan sebagai produk akhir dari proses. Model Evolutionary Development /
Evolutionary Software Process terbagi menjadi 2, yaitu :
1. Model Incremental
Model
Incremental merupakan hasil kombinasi elemen-elemen dari model waterfall yang
diaplikasikan secara berulang, atau bisa disebut gabungan dari Model linear
sekuensial (waterfall) dengan Model Prototype. Elemen-elemen tersebut
dikerjakan hingga menghasilkan produk dengan spesifikasi tertentu kemudian
proses dimulai dari awal kembali hingga muncul hasil yang spesifikasinya lebih
lengkap dari sebelumnya dan tentunya memenuhi kebutuhan pemakai.
Model ini
berfokus pada penyampaian produk operasional dalam Setiap pertambahanya.
Pertambahan awal ada di versi stripped down dari produk akhir, tetapi
memberikan kemampuan untuk melayani pemakai dan juga menyediakan platform untuk
evaluasi oleh pemakai. Model ini cocok dipakai untuk proyek kecil dengan
anggota tim yang sedikit dan ketersediaan waktu yang terbatas.
REPORT
THIS AD
Pada proses
Pengembangan dengan Model Incremental, perangkat lunak dibagi menjadi
serangkaian increment yang dikembangkan secara bergantian.
Contoh Penerapan Model Incremental
Perangkat
lunak pengolah kata yang dikembangkan dengan menggunakan paradigma pertambahan
akan menyampaikan manajemen file, editing, serta fungsi penghasilan dokumen
pada pertambahan pertama, dan selanjutnya. Pertambahan pertama dapat disebut
sebagai produk inti (core product). Dan pada pertambahan selanjutnya,
produk inti akan dikembangkan terus hingga menghasilkan produk jadi yang siap
untuk digunakan/dipasarkan.
Kelebihan
Model Incremental :
- Personil bekerja optimal.
- mampu mengakomodasi perubahan secara fleksibel, dengan waktu yang relatif singkat dan tidak dibutuhkan anggota/tim kerja yang banyak untuk menjalankannya.
- Pihak konsumen dapat langsung menggunakan dahulu bagian-bagian yang telah selesai dibangun. Contohnya pemasukan data karyawan.
- Mengurangi trauma karena perubahan sistem. Klien dibiasakan perlahan-lahan menggunakan produknya setiap bagian demi bagian.
- Memaksimalkan pengembalian modal investasi konsumen.
Kekurangan
Model Incremental :
- Tidak cocok untuk proyek berukuran besar (lebih dari 200.000 baris coding).
- Sulit untuk memetakan kebutuhan pemakai ke dalam rencana spesifikasi tiap-tiap hasil dari increament.




Tidak ada komentar:
Posting Komentar