3.2. Pengembangan Sistem Informasi dengan Metode
Waterfall
Kadang-kadang disebut siklus hidup klasik atau model
waterfall
, model sekuensial linier menunjukkan sistematis, pendekatan sekuensial untuk
pengembangan perangkat lunak yang dimulai pada tingkat sistem dan kemajuan melalui analisis, desain,
coding
, pengujian dan dukungan pada gambar 3.2. menggambarkan model sekuensial linier untuk rekayasa perangkat lunak. Model
setelah siklus rekayasa konvensional, model sekuensial linier meliputi kegiatan sebagai berikut Pressman, 2001
Gambar 3.2. Model
Waterfall
1. Rekayasa dan pemodelan sistem
Karena sistem merupakan bagian dari sebuah sistem yang lebih besar, pemodelan ini dimulai dengan membangun syarat dari semua elemen sistem
dan mengalokasikan beberapa subset dari kebutuhan ke
software
tersebut. Pandangan sistem ini penting ketika
software
harus berhubungan dengan elemen-elemen yang lain seperti
software
,
hardware,
manusia, dan
database
. Rekayasa dan pemodelan sistem menyangkut pengumpulan kebutuhan pada
System information engineering Analyisis
Design Code
Test
Universitas Sumatera Utara
tingkat sistem engan sejumlah kecil analisis serta desain tingkat puncak. Tahap ini sering disebut dengan
Project Definition
. 2. Analisis kebutuhan
software
Proses pengumpulan kebutuhan diintensifkan dan difokuskan, khususnya pada
software.
Untuk memahami sifat dari program yang dibuat, maka software
engineer
harus memahami domain informasi
software
tersebut, misalnya fungsi yang dibutuhkan, tingkah laku, unjuk kerja, dan
user interface
. Kebutuhan baik untuk sistem maupun software didokumentasikan dan
ditunjukkan kepada pelanggan. 3. Desain
Proses ini digunakan untuk mengubah kebutuhan-kebutuhan diatas menjadi representasi ke dalam bentuk “
blue prin
t”
softwar
e sebelum
coding
dimulai. Desain
software
sebenarnya adalah proses multi langkah yang berfokus pada empat atribut sebuah program yang berbeda, struktur data, arsitektur
software
, representasi interface, dan detail algoritma prosedural. Desain harus dapat
mengimplementasikan kebutuhan yang telah disebutkan pada tahap sebelumnya. Proses desain menterjemahkan syaratkebutuhan ke dalam
sebuah representasi software yang dapat diperkirakan demi kualitas sebelum dimulai pemunculan kode. Sebagaimana 2 aktivitas sebelumnya, desain
didokumentasikan dan menjadi bagian dari konfigurasi
software
. 4. Generasi kode
Untuk dapat dimengerti oleh mesin, dalam hal ini adalah komputer, maka desain tadi harus diubah bentuknya menjadi bentuk yang dapat dimengerti
Universitas Sumatera Utara
oleh mesin, yaitu ke dalam bahasa pemrograman melalui proses
coding
. Tahap ini merupakan implementasi dari tahap desain yang secara teknis nantinya
dikerjakan oleh
programmer
. 5. Pengujian
Setelah program dibuat, pengujian program dimulai. Proses pengujian berfokus pada logika internal
software
, memastikan bahwa semua pernyataan sudah diuji, dan pada eksternal fungsional, yaitumengarahkan pengujian untuk
menemukan kesalahan – kesalahan dan memastikan bahwa input yang dibatasi
akan memberikan hasil aktual yang sesuai dengan hasil yang diinginkan. Semua fungsi-fungsi
software
harus diujicobakan, agar
software
bebas dari error, dan hasilnya harus benar-benar sesuai dengan kebutuhan yang sudah
didefinisikan sebelumnya. 6. Pemeliharaan
Pemeliharaan suatu
software
diperlukan, termasuk di dalamnya adalah pengembangan, karena
software
yang dibuat tidak selamanya tetap seperti itu. Ketika dijalankan mungkin saja masih ada error kecil yang tidak ditemukan
sebelumnya, atau ada penambahan fitur-fitur yang belum ada pada
software
tersebut.
Software
dapat mengalami perubahan setelah disampaikan kepada pelanggan perkecualian yang mungkin adalah
software
yang dilekatkan, karena
software
harus disesuaikan untuk mengakomodasi perubahan –
perubahan didalam lingkungan eksternalnya contohnya perubahan yang dibutuhkan sebagai akibat dari perangkat peripheral atau sistem operasi yang
baru, atau karena pelanggan membutuhkan perkembangan fungsional atau
Universitas Sumatera Utara
unjuk kerja. Pengembangan diperlukan ketika adanya perubahan dari eksternal perusahaan seperti ketika ada pergantian sistem operasi, atau perangkat
lainnya. Pemeliharaan
software
mengaplikasikan lagi setiap fase program sebelumnya dan tidak membuat yang baru lagi.
Model ini sangat popular karena pengaplikasiannya mudah. Selain itu, ketika semua kebutuhan sistem dapat didefinisikan secara utuh, eksplisit, dan
benar di awal
project
, maka
System Engineer
dapat berjalan dengan baik dan tanpa masalah. Meskipun seringkali kebutuhan sistem tidak dapat didefinisikan
seeksplisit yang diinginkan, tetapi paling tidak, problem pada kebutuhan sistem di awal project lebih ekonomis dalam hal uang lebih murah, usaha, dan waktu
yangterbuang lebih sedikit jika dibandingkan problem yang muncul pada tahap- tahap selanjutnya. Meskipun demikian, karena model ini melakukan pendekatan
secara urut sequential, maka ketika suatu tahap terhambat,tahap selanjutnya tidak dapat dikerjakan dengan baik dan itu menjadi salah satu kekurangan dari model
ini. Selain itu, ada beberapa kekurangan pengaplikasian model ini, antara lain adalah sebagai berikut:
1. Ketika problem muncul, maka proses berhenti, karena tidak dapat menuju ke tahapan selanjutnya. Bahkan jika kemungkinan problem tersebut muncul
akibat kesalahan dari tahapan sebelumnya, maka proses harus membenahi tahapan sebelumnya agar problem ini tidak muncul. Hal - hal seperti ini yang
dapat membuang waktu pengerjaan
System Engineer
. 2. Karena pendekatannya secara sequential, maka setiap tahap harus menunggu
hasil dari tahap sebelumnya. Hal itu tentu membuang waktu yang cukup lama,
Universitas Sumatera Utara
artinya bagian lain tidak dapat mengerjakan hal lain selain hanya menunggu hasil dari tahap sebelumnya. Oleh karena itu, seringkali model ini berlangsung
lama pengerjaannya. 3. Pada setiap tahap proses tentunya dipekerjakan sesuai spesialisasinya
masingmasing. Oleh karena itu, ketika tahap tersebut sudah tidak dikerjakan, maka sumber dayanya juga tidak terpakai lagi. Oleh karena itu, seringkali
pada model proses ini dibutuhkan seseorang yang “multi - skilled”, sehingga minimal dapat membantu pengerjaan untuk tahapan berikutnya.
Pengembang sering melakukan penundan yang tidak perlu. Sifat alami dari siklus kehidupan klasik membawa kepada blocking state di mana banyak anggota
tim proyek harus menunggu tim yang lain untuk melengkapi tugas yang saling memiliki ketergantungan.
Blocking state
cenderung menjadi lebih lazim pada awal dan akhir sebuah proses sekuensial linier.
3.3. Business Process Reengineering BPR