20 perangkat lunak secara sequensial atau terurut mulai dari analisis, desain,
pengkodean, pengujian, dan tahap pendukung support. Keterkaitan dan pengaruh antar tahap ini ada karena output sebuah tahap dalam waterfall
merupakan input bagi tahap berikutnya. Oleh karena itu, ketidaksempurnaan hasil pelaksanaan tahap sebelumnya adalah awal ketidaksempurnaan tahap
berikutnya. Pada model pengembangan waterfall, pengembangan perangkat dilakukan
dalam tahap-tahap tersendiri. Tahap-tahap dalam setiap proses dilakukan secara berurutan satu demi satu. Setiap tahap harus terselesaikan terlebih dahulu
sebelum masuk ke tahap berikutnya Bell, 2005: 291. Menurut Bell 2005: 294, keunggulan model pengembangan perangkat lunak ini yaitu setiap langkah
terdefinisikan dengan baik, setiap langkah akan menciptakan suatu produk, setiap produk merupakan dasar atau masukkan untuk langkah selanjutnya serta
kesalahan dapat diidentifikasi pada setiap langkah. Model pengembangan waterfall dapat digambarkan seperti pada Gambar 5.
Gambar 5. Model Pengembangan Waterfall Sumber: Rosa dan Salahudin 2013
a. Analisis Kebutuhan Analysis
Analisis kebutuhan adalah sebuah proses untuk mendapatkan informasi, model, dan spesifikasi tentang perangkat lunak yang diinginkan klienpengguna
Simarmata, 2010. Tujuan utama dari analisis kebutuhan adalah menemukan apa
21 yang akan dikerjakan. Pada tahap analisis kebutuhan, tiga faktor yang harus
dipenuhi adalah lengkap, detail, dan benar. Keterampilan komunikasi, penggunaan istilah sederhana, terbuka terhadap calon pengguna, serta
menampilkan sejumlah contoh tentang apa yang dibutuhkan calon pengguna merupakan hal yang bermanfaat dalam tahap analisis guna memenuhi faktor yang
harus dipenuhi tersebut.
b. Perancangan Design
Perancangan design merupakan tahap yang dilakukan setelah selesai dalam tahap analisis. Perancangan perangkat lunak adalah proses multilangkah yang
berfokus pada desain pembuatan program perangkat lunak, termasuk struktur data, arsitektur perangkat lunak, representasi antarmuka, dan prosedur
pengkodean Rosa dan Salahudin, 2011: 29. Pada penelitian ini, desain direpresentasikan dalam Unified Modeling Language UML. Menurut Pressman
2010: 260, tahap perancangan meliputi perancangan data, perancangan arsitektural, perancangan antarmuka, dan perancangan komponenprosedural.
1
Perancangan data
. Data merupakan sumber dari informasi. Informasi- informasi tersebut tersimpan dalam suatu basisdata perangkat lunak.
Perancangan data pada perancangan perangkat lunak akan menghasilkan basisdata suatu sistem agar sistem mencapai sasaran-sasaran sistem
Pressman, 2010: 281. 2
Perancangan arsitektual
. Perancangan arsitektural perangkat lunak merupakan perancangan dasar perangkat lunak. Perancangan arsitektural
perangkat lunak ekivalen dengan perancangan dasar rumah. Perancangan dasar rumah menggambarkan keseluruhan ruangan dan hubungannya
dengan ruang lain. Begitu pula perancangan arsitektural perangkat lunak.
22 Menurut Pressman 2010: 281, elemen-elemen arsitektural perancangan
perangkat lunak memberikan gambaran keseluruhan perangkat lunak yang akan dikembangkan. Perancangan arsitektural menggambarkan fungsi-fungsi
secara umum perangkat lunak yang dikembangkan. 3
Perancangan Antarmuka . Perancangan antarmuka merupakan gambaran
dalam tampilan sederhana yang dapat mewakili tampilan keseluruhan. Desain antarmuka memfokuskan pada tiga perhatian: 1 desain antarmuka
antarmodul modul perangkat lunak; 2 desain antarmuka antara perangkat lunak dan pengguna; 3 desain antarmuka antara manusia dan mesin Fatta,
2007. Desain antarmuka pada penelitian ini akan berfokus pada desain antarmuka pengguna. Antarmuka pengguna adalah wajahtampilan aplikasi
untuk pengguna. 4
Perancangan Komponen
. Representasi perancangan data, arsitektur, dan antarmuka merupakan dasar bagi perancangan komponen. Menurut Rosa dan
Shalahuddin 2013: 149, komponen dasar pada sebuah sistem adalah komponen user interface yang menangani tampilan, komponen bussiness
processing yang menangani proses bisnis, komponen data yang menangani proses data, dan komponen security yang menangani keamanan sistem.
c. PengkodeanImplementasi Code