viewers

Sabtu, 30 Mei 2015

PARADIGMA WATERFALL DALAM PENGEMBANGAN PERANGKAT LUNAK

Rekayasa perangkat lunak (RPL, atau dalam bahasa Inggris: Software Engineering atau SE) adalah satu bidang profesi yang mendalami cara-cara pengembangan perangkat lunak termasuk pembuatan, pemeliharaan, manajemen organisasi pengembanganan perangkat lunak dan manajemen kualitas.
IEEE Computer Society mendefinisikan rekayasa perangkat lunak sebagai penerapan suatu pendekatan yang sistematis, disiplin dan terkuantifikasi atas pengembangan, penggunaan dan pemeliharaan perangkat lunak, serta studi atas pendekatan-pendekatan ini, yaitu penerapan pendekatan engineering atas perangkat lunak.
RPL atau Software Engineering (SE)  membahas semua aspek produksi perangkat lunak, mulai dari tahap awal spesifikasi sistem sampai pemeliharaan sistem setelah digunakan.
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.
Salah satu strategi yang sering dipakai sebagai model proses atau paradigma rekayasa perangkat lunak yaitu dengan menggunakan model waterfall. Model waterfall merupakan pendekatan perangkat lunak yang sistematik dan sekuensial yang dimulai dari tahap analisis, desain, kode, pengujian, dan pemeliharaaan.
1.      Sejarah model waterfall.
Nama model ini sebenarnya adalah “Linear Sequential Model”. Model ini sering disebut dengan “classic life cycle” atau model waterfall. Model ini pertama kali yang diperkenalkan oleh Winston Royce sekitar tahun 1970 sehingga sering dianggap kuno, tetapi merupakan model yang paling banyak dipakai didalam Software Engineering (SE). Model ini melakukan pendekatan secara sistematis dan berurutan. Disebut dengan waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan.

2.      Pengertian Waterfall.
Menurut Pressman model waterfall adalah model klasik yang bersifat sistematis, berurutan dalam membangun software.
Waterfall atau AIR terjun adalah model yang dikembangkan untuk pengembangan perangkat lunak, membuat perangkat lunak. model berkembang secara sistematis dari satu tahap ke tahap lain dalam mode seperti air terjun.
Model ini mengusulkan sebuah pendekatan kepada pengembangan software yang sistematikdan sekuensial yang mulai dari tingkat kemajuan sistem pada seluruh analisis, desain, kode, pengujian dan pemeliharaan. Model ini melingkupi aktivitas-aktivitas sebagai berikut : rekayasa dan pemodelan sistem informasi, analisis kebutuhan, desain, koding, mengujian dan pemeliharaan.
Model pengembangan ini bersifat linear dari tahap awal pengembangan system yaitu tahap perencanaan sampai tahap akhir pengembangan system yaitu tahap pemeliharaan. Tahapan berikutnya tidak akan dilaksanakan sebelum tahapan sebelumnya selesai dilaksanakan dan tidak bisa kembali atau mengulang ke tahap sebelumnya.

3.       Tahapan atau fase model waterfall.
Secara umum ada dua pandangan mengenai model waterfall ini, yaitu : Fase model waterfall menurut Pressman dan Fase model waterfall menurut sommerfille.




a.       Fase model waterfall menurut Pressman.

v  Communication
Langkah ini merupakan analisis terhadap kebutuhan software, dan tahap untuk mengadakan pengumpulan data dengan melakukan pertemuan dengan customer, maupun mengumpulkan data-data tambahan baik yang ada di jurnal,artikel,maupun dari internet.
v  Planning.
Proses planning merupakan lanjutan dari proses communication (analysis requirement). Tahapan ini akan menghasilkan dokumen user requiremen atau bias dikatakan sebagai data yang berhubungan dengan keinginan user dalam pembuatan software, termasuk rencana yang akan dilakukan.
v  Modeling.
Proses modeling ini akan menerjemaahkan syarat kebutuhan ke sebuah perancangan software yang dapat diperkirakan sebelum dibuat coding, proses ini berfokuspada rancangan struktur data, arsitektur software, representasi interface , dan detail (algoritma) procedural. Tahapan ini menghasilkan dokumen yang disebut software requiremen.
v  Construction
Construction merupakan proses membuat kode, coding atau pengkodean meruapakan penerjemaah desain dalam bahasa yang bias dikenali oleh computer. Programmer akan menerjemaahkan transaksi yang diminta oleh user. Tahapan inilah yang merupakan tahapan secara nyata dalam mengerjakan suatu software, artinya penggunaan computer akan dimaksimalkan dalam tahapan ini.

v  Deployment
Tahapan ini bias dikatakan final dalam pembuatan sebuah software atau system. Setelah melakukan analisis, desain dan pengkodean maka system yang sudah jadi akan digunakan oleh user, kemudian software yang telah dibuat harus dilakukan pemeliharaan secara berkala.
b.      Fase model waterfall menurut sommerfille.

v  Requirement definition.
Pada tahapan ini dilakukan pengumpulan bahan-bahan mengenai kebutuhan-kebutuhan pengguna sistem. Setelah itu, hasil dari pengumpulan tersebut kita analisa sesuai dengan apa yang diinginkan oleh pengguna. Tahapan ini dapat dilakukan dengan cara melakukan konsultasi dengan pengguna sistem. Setelah itu, kita definisikan kebutuhan-kebutuhan yang mungkin dalam sistem yang akan kita buat.
v  System and software design.
Pada proses desain sistem ini, membagi kebutuhan-kebutuhan yang telah didefinisikan pada tahap sebelumnya menjadi sistem perangkat lunak atau perangkat keras.  Proses tersebut menghasilkan sebuah arsitektur sistem secara keseluruhan. Desain perangkat lunak (software) termasuk menghasilkan fungsi sistem perangkat lunak dalam bentuk yang memungkinkan untuk ditransformasikan kedalam satu atau lebih program yang dapat dijalankan.


v  Implementation and unit testing.
Pada tahap ini, desain perangkat lunak yang telah dihasilkan, direalisasikan kedalam bentuk program-program yang terpisah sesuai dengan unit-unitnya. Setelah terbentuk kedalam suatu program, maka dilakukan testing atau uji coba terhadap program tersebut.
v  Integration and system testing.
Tahapan ini merupakan tahap akhir sebelum sistem diserahkan kepada pengguna. Pada tahap ini dilakukan penyatuan terhadap program-program yang telah diuji pada tahap sebelumnya. Semua program disatukan kedalam suatu sistem yang lengkap. Setelah itu, dilakukan uji coba terakhir terhadap sistem yang telah lengkap. Setelah uji coba selesai dilakukan, maka sistem siap untuk diserahkan kepada pengguna.
v  Operation and maintenance.
Pada dasarnya tahapan ini merupakan tahap yang membutuhkan  waktu paling lama diantara semua tahapan. Tahapan ini merupakan tahap penggunaan sistem oleh pengguna. Pengguna akan mengetahui hasil dari sistem yang telah diinginkan. Setelah itu, dilakukan tahap perawatan atau maintenance. Pemeliharaan suatu software diperlukan, termasuk di dalamnya adalah pengembangan, karena software yang dibuat tidak selamanya hanya seperti itu. Ketika dijalankan mungkin saja masih ada permasalahan yang tidak ditemukan sebelumnya, atau ada penambahan fitur-fitur yang belum ada pada software tersebut.

4.      Tahap Pengembangan Waterfal.
a.        Analisis dan definisi persyaratan Pelayanan, batasan, dan tujuan sistem ditentukan melalui konsultasi dengan user.
b.       Perancangan sistem dan perangkat lunak Kegiatan ini menentukan arsitektur sistem secara keseluruhan.
c.        Implementasi dan pengujian unit Perancangan perangkat lunak direalisasikan sebagai serangkaian program.
d.       Integrasi dan pengujian sistem Unit program diintegrasikan atau diuji sebagai sistem yang lengkap untuk menjamin bahwa persyaratan sitem telah terpenuhi.
e.       Pemeliharaan merupakan fase siklus yang paling lama. Sistem diinstall dan dipakai. Perbaikan mencakup koreksi dari berbagai error, perbaikan dan implementasi unit sistem dan pelayanan sistem.

5.      Kelebihan  Waterfall.
a.       Merupakan model pengembangan paling handal dan paling lama digunakan.
b.      Cocok untuk system software berskala besar.
c.       Cocok untuk system software yang bersifat generic.
d.      Pengerjaan project system akan terjadwal dengan baik dan mudah dikontrol.
e.       Pembagian tugas serta monitoring akan sangat mudah dilakukan.
f.       Mudah untuk diaplikasikan.
g.      software yang dikembangkan dengan metode ini biasanya menghasilkan kualitas yang baik.

6.      Kekurangan Waterfall.
a.       Persyaratan system harus digambarkan dengan jelas..
b.      Rincian proses harus benar-benar jelas dan tidak boleh berubah-ubah.
c.       Sulit untuk mengadaptasi jika terjadi perubahan spesifikasi pada suatu tahapan pengembangan.
d.      Waktu pengembangan lama.
e.       Biaya mahal.
f.       Model ini tidak cocok untuk pemodelan pengembangan sebuah proyek yang memiliki kompleksitas tinggi.
g.      Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen harus dilakukan pada tahap awal proses.
h.       Sulit untuk merespon perubahan kebutuhan pengguna (user).

7.      Contoh produk yang menerapkan waterfall.
a.       Pembangunan aplikasi GIS mobile di Kota Padang.
b.      Pembuatan aplikasi “buku tamu” dengan java.
c.       Pada sistem informasi penerimaan siswa  online.
d.      Sistem informasi akademik.

3 komentar:

  1. tulisan bermanfaat sekali terimakasih

    http://blog.binadarma.ac.id/fatoni

    BalasHapus
  2. tulisan bermanfaat sekali terimakasih

    My Blog

    BalasHapus
  3. ini tuh waterffal versi kebberapa gan?

    BalasHapus