Anda di halaman 1dari 10

TUGAS

REKAYASA PERANGKAT LUNAK

ANALISIS
MENGEMBANGKAN SEBUAH PERANGKAT LUNAK
MENGGUNAKAN METODE WATERFALL

ANALISIS
MENGEMBANGKAN SEBUAH PERANGKAT LUNAK
MENGGUNAKAN METODE 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,
salah satunya adalah pengembangan dengan metode waterfall.
Waterfall model pertama kali diperkenalkanoleh Winston Royce tahun 1970.
Waterfall Model merupakan pendekatan perangkat lunak yang sistematik dan sekuensial
yang dimulai dari tahap analisis, desain, kode, pengujian, dan pemeliharaan. Model
waterfall juga dikenal sebagai Linier Sequential atau Classic Life Cycle, model ini mempunyai
keterbatasan yang mengakomodasi persyaratan (requirement) berubah.

Karakteristik Metode Waterfall


Karakteristik dari metode waterfall ini meliputi beberapa bagian, yaitu :
o

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 Metode Waterfall


Tahapan dari model Waterfall :

a. System Engineering
Proses penilaian sistem lama yang sedang berjalan dan studi kelayakan
pengembangan sistem baru berdasarkan aspek teknologi, ekonomis dan sumber
daya manusia.
b. Analisis
Perolehan kebutuhan pengguna sistem dari user serta pilihan solusi jenis sistem
informasi yang akan dikembangkan.
c. Desain
Proses ini digunakan untuk mengubah kebutuhan-kebutuhan diatas menjadi
representasi

ke

dalam

bentuk

software.

Desain

harus

dapat

mengimplementasikan kebutuhan yang telah disebutkan pada tahap sebelumnya


maka proses ini juga harus didokumentasikan sebagai konfigurasi dari software.
d. Coding Dan Testing
Desain harus diubah bentuknya menjadi bentuk yang dapat dimengerti oleh
komputer, yaitu ke dalam bahasa pemrograman melalui proses coding. Tahap ini
merupakan implementasi dari tahap desain yang secara teknis akan dikerjakan

oleh programmer. Proses Coding ini harus dilakukan Testing untuk menguji
kesalahan-kesalahan program maupun fungsi dari sistem.
e. Implementasi
Setelah semua fungsi-fungsi software harus di ujicoba agar software bebas dari
kesalahan, dan hasilnya harus benar-benar sesuai dengan kebutuhan yang sudah
didefinisikan sebelumnya. Maka proses selanjutnya adalah bagaimana sistem
baru akan diinstall dan dijalankan di perusahaan dengan pengoperasian yang
dilakukan oleh user.
f. Pemeliharaan
Pemeliharaan suatu software sangat diperlukan, termasuk di dalamnya adalah
pengembangan, karena software yang dibuat tidak selamanya hanya seperti itu.
Ketika dijalankan mungkin saja masih ada kesalahan kecil yang tidak ditemukan
sebelumnya, atau ada penambahan fitur-fitur yang belum ada pada software
tersebut. Pengembangan diperlukan ketika adanya perubahan dari perusahaan
seperti ketika ada pergantian sistem operasi atau perangkat lainnya.

Alat Bantu / Tool Pemodelan Sistem


Alat Bantu / Tool Pemodelan Sistem diperlukan untuk metodologi pengembangan
system, pada metode waterfall tool yang tersedia diantaranya : Bagan Alir System
System Flow Chart), Diagram Arus Data (Data Flow Diagram), Kamus Data (data
dictionary), Bagan

Alir

Program (program

flow

chart),

pseudocode, Tabel

Keputusan (decision table). Alat bantu tersebut digunakan oleh analis system untuk
berkomunikasi dengan pemakai system dan teknisi system (pemrogram dan teknisi
lainnya).
1. Alat Bantu Analisis
Analis system perlu berkomunikasi dengan pengguna system. Pada tahap ini analis
system perlu menyampaikan hasil analisisnya kepada pengguna system. Hasil analisis
adalah pemahaman tentang system yang lama dan kebutuhan-kebutuhan informasi
yang dibutuhkan oleh pengguna system. Alat-alat komunikasi yang digunakan pada
tahap ini adalah : Bagan Alir System System Flow Chart), Diagram Arus Data (Data
Flow Diagram), Kamus Data (data dictionary).

Tool yang tersedia untuk membuat alat-alat komunikasi tersebut diantaranya:


Microsoft Office Visio, DIA, Microsoft Word, Microsoft Excell, dan lain-lain.
2. Alat Bantu Desain
Pada tahap desain, analis system banyak berkomunikasi dengan teknisi system yaitu
dengan programmer, ahli basis data, ahli telekomunikasi, dan sebagainya. Analis
system membutuhkan alat komunikasi yang efektif supaya teknisi system dapat
memahami dan memudahkan hasil analisis untuk diubah menjadi system secara
fisik. Dalam hal ini desain system membutuhkan alat bantu: Bagan Alir System
System Flow Chart), Diagram Arus Data (Data Flow Diagram), Kamus Data (data
dictionary), ERD(Entitas Relation Diagram), Normalisasi data, dan lainnya.
Tool yang mendukung diantaranya : Microsoft Office Visio, DIA, Microsoft Word,
Microsoft Excell, dan lain-lain.
3. Alat Bantu Coding / Programming
Pada tahap ini dilakukan proses coding dengan menggunakan tool pseudocode yang
membantu programmer dalam membangun system, dan untuk tool yang digunakan
dalam programming banyak yang tersedia seperti Delphi, Visual Basic, PHP, Java, dan
lainnya.
4. Alat bantu Testing / Pengujian
Perangkat lunak yang telah dikembangkan perlu diuji sebelum digunakan secara
penuh didalam system. Pengujian dikatakan berhasil jika mampu menemukan
kesalahan-kesalahan yang tersembunyi dalam perangkat lunak. Terdapat dua
pendekatan pengujian perangkat lunak, yaitu: white box testing, black box
testing. White box testing dilakukan dengan menguji detail procedural, yaitu
mengamati jalur logical yang dibentuk oleh struktur pengendalian program
(perulangan dan percabangan), apabila mengungkap 100% kesalahan logika yang
mungkin muncul dan bersifat exhaustive (melelahkan) karena terjadi ledakan
kombinasi berbagai modul / program yang besar dan komplek, dan dilakukan pada
tahap awal pengujian. Metode yang digunakan pada white box testing jalur dasar
(basis path) pengujian kondisi, pengujian aliran data, pengujian perulangan.
Black box testing dilakukan pada persyaratan fungsional dari perangkat lunak,
dilakukan tidak diawal tahap pengujian, mengungkap kesalahan-kesalahan pada
fungsi yang salah satu hilang, antar muka, akses ke basis data eksternal, kinerja,

inisialisasi dan terminasi program. Metode yang dapat digunakan untuk


pengujian black box testing Equivalence partitioning, Analisis nilai batas, Teknik
grafik sebab akibat.
Strategi yang dilakukan dalam pengujian perangkat lunak meliputi proses berbentuk
spiral dan debugging. Proses pengujian berbentuk spiral dengan urutan aktivitas
pengujian

unit,

pengujian

system. Debugging merupakan

integrasi,
konsekuensi

pengujian
dari

validasi,

pengujian

pengujian

perngkat

lunak, debugging bersifat seni yang dipengaruhi oleh aspek psikologis (intuisi dan
keberuntungan),

pendekatan

yang

dapat

dilakukan

dalam

proses debugging meliputi: tanpa metode tertentu (uji coba), backtracking (dimulai
dari tempat ditemukannya gejala kesalahan, kemudian dilakukan pelacakan kembali
ke program hingga diharapkan sumber kesalahan dapat ditemukan, cause
elimination (eliminasi penyebab= partisi biner / binary partitioning) yaitu dibuat
hipotesis penyebab yang kemudian diuji kebenarannya dengan data yang
berhubungan dengan kesalahan yang terjadi.
Tool

yang

digunakan

dalam

pengujian

perangkat

lunak

yaitu:

pelacak

program (program tracer), test case (pembangkit kasus pengujian, memory dumps,
pemetaan referensi silang.
5. Pemeliharaan Perangkat Lunak
Pemeliharaan perangkat lunak meliputi: korektif (pemeliharaan yang dilakaukan
apabila terjadi kerusakan atau kesalahan), adaptif atau produktif (pemeliharaan yang
dilakukan secara terus menerus melalui proses monitoring, penyempurnaan
(pemeliharaan sebagai hasil dari penemuan perawatan adaptif), preventif
(pemeliharaan yang dilakukan untuk pencegahan kerusakan).

Kebutuhan Pada Saat Pembuatan System


Kebutuhan pada saat pembuatan sistem yang meliputi :
1. Kebutuhan sumber daya
Membutuhkan jumlah sumber daya yang banyak, karena banyak proses yang
dilakukan serta banyak tenaga ahli yang dibutuhkan.
2. Kebutuhan waktu

Membutuhkan waktu yang lama karena harus menyelesaikan tahap demi tahap
dalam pengembangan.
3. Kebutuhan biaya
Kebutuhan biaya besar karena menggunakan sumber daya yang banyak, waktu
yang cukup lama, dan tahapan proses yang panjang.
4. Kebutuhan resiko
Resiko dalam menggunakan metode ini sangat besar, kemungkinan terjadinya
kegagalan system sehingga harus mengulang dari awal yang menyebabkan
pembekakan biaya diluar rencana anggaran. Kegagalan system sangat
berpengaruh besar, kemungkinan system tidak dapat digunakan atau harus
diperbaiki dari awal.
5. Kebutuhan upgrade
Dalam melakukan upgrade akan terjadi kesulitan karena harus menyesuikan
banyak hal, diantaranya kesesuaian dukungan hardware, software baik software
program maupun database, karena dimungkinkan pada saat system dibuat
belum mengalami / menggunakan adanya spesifikasi hardware maupun software
yang baru sesuai yang dibutuhkan saat ini. Pada metode ini proses upgrade tidak
fleksibel, akan mempengaruhi system secara keseluruhan.

Kapan model waterfall di gunakan??


Teori-teori lama menyimpulkan ada beberapa hal, yaitu :
o Ketika semua persyaratan sudah dipahami dengan baik dari awal pengembangan
o 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 dipahami
dengan baik.
o 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.
o 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 yang paling mendasar

adalah menyamakan pengembangan perangkat keras dengan perangkat lunak dengan


meniadakan perubahan saat pengembangan. Padahal, galat diketahui saat perangkat lunak
dijalankan, dan perubahan-pperubahan akan sering terjadi.

Tahap Pengembangan Waterfall


Tahap-tahap pengembangan waterfall model adalah :

o Analisis definisi persyaratan


Pelayanan, balasan, dan tujuan sistem ditentukan melalui konsultasi
dengan user.
o Perancangan sistem dan perangkat lunak
Kegiatan ini menentukan arsitektur sistem secara keseluruhan.
o Implementasi dan pengujian unit
Perancangan perangkat lunak direalisasikan sebagai serangkaian
program.
o Implementasi dan pengujian program
Unit program di integrasikan atau diuji sebagai sistem yang lengkap
untuk menjamin bahwa persyaratan sistem telah terpenuhi.
o Operasi dan pemeliharaan
Merupakan fase siklus yang paling lama. Sistem diinstall dan dipakai.
Perbaikan mancakup koreksi dari berbagai eror, perbaikan dan
implementasi unit sistem dan pelayanan sistem.

Keunggulan dan kekurangan


1. Keunggulan:
o Proses pengembangan sangat terstruktur dan sistematik
o Melalui definisi kebutuhan, sehingga gap atau kesenjangan yang
terjadi antara kebutuhan dan sistem yang dihasilkan dapat
dikurangi.

o Menghasilkan petunjuk arah pengembangan yang jelas bagi


manajemen.
2. Kelemahan:
o Tidak adaptif terhadap perubahan yang dapat terjadi selama proses
pengembangan (kaku atau rigid).
o Melelahkan karena membutuhkan waktu pengembangan yang
lama dan biaya yang tinggi
o Proyek yang sebenarnya jarang mengikuti aliran sequential yang
ditawarkan model ini.
o Iterasi (Pengulangan) selalu terjadi dan menimbulkan masalah pada
aplikasi yang dibentuk oleh model ini.
o Seringkali pada awalnya customer sulit menentukan semua
kebutuhan secara explisit
o Klien harus sabar karena versi program yang sedang jalan tidak
akan tersedia sampai proyek pengembangan selesai.

DAFTAR PUSTAKA
http://abfahtech-systems.blogspot.com/2010/11/metodologi-pengembangansoftware.html

http://setiabudi.ac.id/adhie/siklus_perancangan%20sistem.htm

http://trisnowlaharwetan.wordpress.com/2010/02/07/waterfall-sebagai-model-rekayasaperangkat-lunak/

http://herma96.blogspot.com/2012/11/makalah-ansi-model-waterfall.html

http://trisnowlaharwetan.wordpress.com/2008/02/18/usaha-untuk-mengatasipermasalahan-rekayasa-perangkat-lunak/

Anda mungkin juga menyukai