Waterfall dan Contoh Kasusnya
Waterfall
Permodelan dalam suatu perangkat lunak merupakan suatu hal yang
dilakukan di tahapan awal. Di dalam suatu rekayasa perangkat lunak, sebenarnya
masih memungkinkan tanpa melakukan permodelan. Hal ini tidak dapat lagi
dilakukan dalam suatu industri perangkat lunak.Permodelan dalam perangkat lunak
merupakan suatu yang harus dikerjakan di bagian awal rekayasa, dan permodelan
ini akan mempengaruhi pekerjaan-pekerjaan dalam rekayasa perangkat lunak tersebut.Model
proses perangkat lunak masih menjadi obyek penelitian, tapi sekarang ada
banyak model umum atau paradigma yang berbeda dari pengembangan perangkat
lunak, antara lain:
Pengembangan waterfall
Pengembangan secara evolusioner
Transformasi formal
Penggabungan sistem dengan menggunakan komponen-komponen yang dapat digunakan kembali.Waterfall model pertama kali
diperkenalkan oleh Winston Royce tahun 1970. Waterfall Model merupakan model
klasik yang sederhana dengan aliran sistem yang linier. Output dari setiap
tahap merupakan input bagi tahap berikutnya.Model ini telah diperoleh dari proses
rekayasa lainnya dan menawarkan cara pembuatan rekayasa perangkat lunak secara
lebih nyata. Model ini melibatkan tim SQA (Software
Quantity Assurance) dengan 5 tahapan, dimana setiap tahapan selalu
dilakukan verifikasi atau testing.
Tahapan model Waterfall meliputi :
· Requirment
Dalam tahapan ini jasa, kendala dan tujuandari konsultasi dengan pengguna
sistem. Kemudian semuanya dibuat dalam bentuk yang dapat dimengerti oleh user
dan staf pengembang. Dengan kata lain, dalam tahapan ini dilakukan analisa kebutuhan,
kemudian diverifikasi klien
dan tim SQA.
Dalam tahapan ini jasa, kendala dan tujuandari konsultasi dengan pengguna
sistem. Kemudian semuanya dibuat dalam bentuk yang dapat dimengerti oleh user
dan staf pengembang. Dengan kata lain, dalam tahapan ini dilakukan analisa kebutuhan,
kemudian diverifikasi klien
dan tim SQA.
· Specification
Dokumentasi spesifikasi, kemudian diperiksa oleh tim SQA. Selanjutnya
jika disetujui oleh klien, maka dokumen tersebutmerupakan kontrak
kerjaantaraklien dan pengembang s0ftware. Selanjutnya merencanakan jadwal
pengembangan software. Jika disetujui
oleh SQA, tahap desain
baru dilakukan.
Dokumentasi spesifikasi, kemudian diperiksa oleh tim SQA. Selanjutnya
jika disetujui oleh klien, maka dokumen tersebutmerupakan kontrak
kerjaantaraklien dan pengembang s0ftware. Selanjutnya merencanakan jadwal
pengembangan software. Jika disetujui
oleh SQA, tahap desain
baru dilakukan.
· Design
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.
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.
· Operaton 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 ketidakluwaesan
pembagian proyek ke dalam langkah yang jelas/nyata. Sistem yang disampaikan
kadang-kadang tidak dapatdigunakan sesuai keinginan konsumen. Namun demikian,
model waterfall mencerminkan kepraktisan rekayasa. Konsekuensinya, model proses
perangkat lunak yang berdasarkan pada pendekatan ini, digunakan dalam
pengembangan sistem perangkat lunak dan
hardware yang luas.
Contoh Kasus pada Waterfall Model
John Chen adalah General Manager A Company, sebuah perusahaan perkapalan yang
berbasis di Singapura. Sebagai perusahaan UKM muda yang terus berkembang, John
Chen menginvestasikan sebagian modal perusahaan untuk promosi di media cetak
dan elektronik, serta melatih kemampuan karyawan melalui berbagai kursus. Untuk
mendukung kerja karyawan, A Company menggunakan komputer dasar (Basic PC) yang
dilengkapi dengan office software. Seperti kebanyakan UKM lainnya, A Company
juga memiliki akses internet yang hanya dapat digunakan secara terbatas di
beberapa PC. A Company memiliki satu buah email resmi yang masih menggunakan
domain dari ISP (Internet Service Provider). Untuk komunikasi dilingkungan
karyawan, mereka menggunakan fasilitas email gratis yang banyak tersedia di
internet. Email gratis ini kadang juga digunakan untuk berkomunikasi dengan
supplier dan pelanggan.
Sebagai perusahaan UKM yang terus berkembang cepat, John Chen mulai berfikir
untuk mengembangkan A Company lebih professional. Harapan John Chen, calon
pelanggan potensial, pelanggan, supplier dan karyawan lebih mengenal A Company.
Disisi lain, ia juga berharap agar cara yang digunakan lebih efisien, hemat
biaya, tetapi menampilkan sosok perusahaan yang meyakinkan atau bonafit. John
Chen meyakini, bahwa berkomunikasi menggunakan alamat email atau domain
sendiri; promosi melalui website sendiri; data yang terintegrasi dan dapat
diakses disemua komputer perusahaan akan dapat membawa perusahaan menjadi lebih
profesional.
A Company tidak memiliki departemen khusus untuk menangani TI. Untuk mewujudkan
keinginannya, John Chen meminta bantuan perusahaan khusus TI. Implementasi TI
dikerjakan oleh perusahaan TI (sebagai pemenang tender) dalam jangka waktu kontrak
1 tahun, Dalam proses implementasi, John Chen menyerahkan tugas dan
tanggung-jawab kepada bawahannya. Semua karyawan dilibatkan dalam pertemuan dan
diskusi dengan perusahaan pembangun TI. Dari waktu kontrak 1 tahun yang
disepakati, TI yang bisa diimplementasikan adalah pembangunan jaringan
komputer, akses internet, email, dan pembangunan data terpusat. Sedangkan untuk
website belum bisa dikerjakan sepenuhnya karena sebagian besar waktu yang
tersedia habis digunakan untuk menyatukan keinginan para pihak yang terkait
dalam implementasi.
Meskipun demikian, sistem yang dibangun mulai dirasakan manfaatnya oleh A
Company. Komunikasi melalui email mulai dapat dilakukan karyawan dengan
supplier dan pelanggan. Pengambilan keputusan sudah mulai bisa dilakukan dengan
cepat karena data yang diperlukan sudah terpusat. John Chen juga merasakan
terjadinya penghematan dalam penggunaan kertas dan alat tulis, karena
perusahaan mulai menerapkan e-document. Namun demikian, kepuasan John Chen
tidak bertahan lama, karena sistem TI mulai menimbulkan masalah. Hal itu
misalnya terjadi pada email yang mengalami over quota dan dibanjiri virus,
sehingga komunikasi perusahaan dengan pelanggan menjadi terputus dan komputer
perusahaan menjadi rusak.Hal yang terjadi tidak hanya membuat kerjaan perusahaan menjadi
terganggu, tetapi berbagai peluang bisnis menjadi hilang. Citra perusahaan
dimana supplier dan pelanggan menjadi berubah dan A Company harus menanggung
kerugian investasi.
John Chen baru menyadari bahwa implementasi TI yang dilakukan belum memberikan
hasil positif secara keseluruhan kepada perusahaannya. Ditambah lagi ia harus
menyiapkan budget tambahan untuk memperbaiki sistem jaringan yang rusak.
Kekecewaan John Chen bertambah ketika budget yang diusulkan dalam proposal implementasi
tidak termasuk biaya perawatan. John Chen akhirnya memutuskan untuk
menghentikan proyek pengerjaan website, karena TI yang sudah diimplementasikan
merugikan perusahaan dan menghabiskan budget yang sudah dialokasikan sebelum
keseluruhan proyek selesai dilaksanakan.
Secara umum tujuan pengembangan sistem informasi adalah untuk memberikan
kemudahan dalam penyimpanan informasi, mengurangi biaya dan menghemat waktu,
meningkatkan pengendalian, mendorong pertumbuhan, meningkatkan produktifitas
serta profitabilitas organisasi. Dalam beberapa tahun terakhir ini peningkatan
produktifitas organisasi ini dibantu dengan berkembangnya teknologi komputer
baik hardware maupun softwarenya. Tetapi tidak semua kebutuhan sistem informasi
dengan komputer itu dapat memenuhi kebutuhan dan menyelesaikan masalah yang
dihadapi organisasi. Keterbatasan sumber daya dan anggaran pemeliharaan memaksa
para pengembang sistem informasi untuk menemukan jalan untuk mengoptimalkan
kinerja sumber daya yang telah ada.
Karakteristik dari suatu sistem informasi manajemen yang lengkap tergantung
dari masalah yang dihadapi, proses pengembangannya dan tenaga kerja yang akan
dikembangkannya. Seiring dengan perkembangan permasalahan karena berubahnya
lingkungan yang berdampak kepada perusahaan maka yang menjadi parameter proses
pengembangan sistem informasi yaitu masalah yang dihadapi, sumber daya yang
tersedia dan perubahan, sehingga hasil pengembangan sistem informasi manajemen
baik yang diharapkan oleh perorangan maupun oleh organisasi turut berubah.
Perubahan tersebut pada akhirnya menimbulkan ketidakpastian dan menambah
kompleks/rumit masalah yang dihadapi oleh para analis sistem informasi. Metode
tradisional seperti SDLC dianggap tidak lagi mampu memenuhi tantangan perubahan
dan kompleksnya masalah yang dihadapi tersebut. Sekitar awal tahun delapan
puluhan, para profesional dibidang sistem informasi memperkenalkan satu metode
pengembangan sistem informasi baru, yang dikenal dengan nama metode
prototyping.
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).
tulisan bermanfaat sekali terimakasih
BalasHapushttp://blog.binadarma.ac.id/fatoni
tulisan bermanfaat sekali terimakasih
BalasHapusMy Blog