Proses
Pengembangan Perangkat Lunak (Software Development Process) adalah suatu
penerapan struktur pada pengembangan suatu Perangkat Lunak (Software), yang
bertujuan untuk mengembangkan sistem dan memberikan panduan untuk menyukseskan
proyek pengembangan sistem melalui tahapan-tahapan tertentu. Dalam prosesnya,
terdapat beberapa paradigma model pengembangan sistem perangkat lunak,
diantaranya :
Model
Sekuensial Linier atau sering disebut Model Pengembangan Air Terjun, merupakan
paradigma model pengembangan perangkat lunak paling tua, dan paling banyak
dipakai. Model ini mengusulkan sebuah pendekatan perkembangan perangkat lunak
yang sistematik dan sekunsial yang dimulai pada tingkat dan kemajuan sistem
pada seluruh tahapan analisis, desain , kode, pengujian, dan pemeliharaan.
Berikut
Merupakan Tahapan – tahapan Pengembangan
Model Sekuensial Linear / Waterfall Development Model :
a. Rekayasa
dan pemodelan sistem/informasi
Langkah pertama dimulai
dengan membangun keseluruhan elemen sistem dan memilah bagian-bagian mana yang
akan dijadikan bahan pengembangan perangkat lunak, dengan memperhatikan
hubungannya dengan Hardware, User, dan Database.
b. Analisis
kebutuhan perangkat lunak
Pada proses ini,
dilakukan penganalisaan dan pengumpulan kebutuhan sistem yang meliputi Domain
informasi, fungsi yang dibutuhkan unjuk kerja/performansi dan antarmuka. Hasil penganalisaan dan pengumpulan tersebut
didokumentasikan dan diperlihatkan kembali kepada pelanggan.
c. Desain
Pada proses Desain,
dilakukan penerjemahan syarat kebutuhan sebuah perancangan perangkat lunak yang
dapat diperkirakan sebelum dibuatnya proses pengkodean (coding). Proses ini
berfokus pada struktur data, arsitektur
perangkat lunak, representasi interface, dan detail algoritma prosedural.
d. Pengkodean
Pengkodean merupakan
proses menterjemahkan perancangan desain ke bentuk yang dapat dimengerti oleh
mesin, dengan menggunakan bahasa pemrograman.
e. Pengujian
Setelah Proses
Pengkodean selesai, dilanjutkan dengan proses pengujian pada program perangkat
lunak, baik Pengujian logika internal, maupun Pengujian eksternal fungsional
untuk memeriksa segala kemungkinan terjadinya kesalahan dan memeriksa apakah hasil
dari pengembangan tersebut sesuai dengan hasil yang diinginkan.
f. Pemeliharaan
Proses Pemeliharaan
erupakan bagian paling akhir dari siklus pengembangan dan dilakukan setelah
perangkat lunak dipergunakan. Kegiatan yang dilakukan pada proses pemeliharaan
antara lain :
ü Corrective
Maintenance : yaitu mengoreksi apabila terdapat kesalahan pada perangkat lunak,
yang baru terdeteksi pada saat perangkat lunak dipergunakan.
ü Adaptive
Maintenance : yaitu dilakukannya penyesuaian/perubahan sesuai dengan lingkungan
yang baru, misalnya hardware, periperal, sistem operasi baru, atau sebagai
tuntutan atas perkembangan sistem komputer, misalnya penambahan driver, dll.
ü Perfektive
Maintenance : Bila perangkat lunak sukses dipergunakan oleh pemakai.
Pemeliharaan ditujukan untuk menambah kemampuannya seperti memberikan
fungsi-fungsi tambahan, peningkatan kinerja dan sebagainya.
Contoh
Penerapan dari Pengembangan Model Sekuensial Linear / Waterfall Development
Model
Contoh
dari penerapan model pengembangan ini adalah pembuatan program pendaftaran
online ke suatu Instansi Pendidikan. Program ini akan sangat membantu dalam
proses pendaftaran, karena dapat meng-efektifkan waktu serta pendaftar tidak
perlu repot-repot langsung mendatangi Instansi Pendidikan. Teknisnya adalah
sebagai berikut :
ü Sistem
program untuk pendaftaran dibuat menggunakan bahasa pemrograman PHP, dengan
Sistem Database yang dibuat menggunakan MySQL, dan diterapkan (diaplikasikan)
pada PC (personal computer) dengan sistem operasi berbasis Microsoft Windows,
Linux, dan sebagainya.
ü Setelah
program selesai dibuat dan kemudian dipergunakan oleh user, programmer akan
memelihara serta menambah atau menyesuaikan program dengan kebutuhan serta
kondisi user.
2. Kelebihan
Model Sekuensial Linear / Waterfall Development Model :
a. Tahapan
proses pengembangannya tetap (pasti), mudah diaplikasikan, dan prosesnya
teratur.
b. Cocok
digunakan untuk produk software/program yang sudah jelas kebutuhannya di awal,
sehingga minim kesalahannya.
c. Software
yang dikembangkan dengan metode ini biasanya menghasilkan kualitas yang baik.
d. Documen
pengembangan sistem sangat terorganisir, karena setiap fase harus terselesaikan
dengan lengkap sebelum melangkah ke fase berikutnya.
3. Kekurangan
Model Sekuensial Linear / Waterfall Development Model :
a. Proyek
yang sebenarnya jarang mengikuti alur sekuensial seperti diusulkan, sehingga
perubahan yang terjadi dapat menyebabkan hasil yang sudah didapatkan tim
pengembang harus diubah kembali/iterasi sering menyebabkan masalah baru.
b. Terjadinya
pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen
harus dilakukan pada tahap awal proses.
c. Sulit
untuk mengalami perubahan kebutuhan yang diinginkan oleh customer/pelanggan.
d. Pelanggan
harus sabar untuk menanti produk selesai, karena dikerjakan tahap per tahap,
dan proses pengerjaanya akan berlanjut ke setiap tahapan bila tahap sebelumnya
sudah benar-benar selesai.
e. Perubahan
ditengah-tengah pengerjaan produk akan membuat bingung tim pengembang yang sedang
membuat produk.
f. Adanya
waktu kosong (menganggur) bagi pengembang, karena harus menunggu anggota tim
proyek lainnya menuntaskan pekerjaannya.
4. Model
Prototype
Dalam
Model Prototype, prototype dari perangkat lunak yang dihasilkan kemudian
dipresentasikan kepada pelanggan, dan pelanggan tersebut diberikan kesempatan
untuk memberikan masukan sehingga perangkat lunak yang dihasilkan nantinya
betul-betul sesuai dengan keinginan dan kebutuhan pelanggan. Perubahan dan
presentasi prototype dapat dilakukan berkali-kali sampai dicapai kesepakatan
bentuk dari perangkat lunak yang akan dikembangkan.
a. Teknik
– teknik Prototyping Meliputi :
ü Perancangan
Model
ü Perancangan
Dialog
ü Simulasi
Berikut
adalah 4 langkah yang menjadi karakteristik dalam proses pengembangan pada
metode prototype, yaitu :
b. Pemilihan
fungsi
c. Penyusunan
Sistem Informasi
d. Evaluasi
e. Penggunaan
Selanjutnya
Metode
ini menyajikan gambaran yang lengkap dari suatu sistem perangkat lunak, terdiri
atas model kertas, model kerja dan program. Pihak pengembang akan melakukan
identifikasi kebutuhan pemakai, menganalisa sistem dan melakukan studi
kelayakan serta studi terhadap kebutuhan pemakai, meliputi model interface,
teknik prosedural dan teknologi yang akan dimanfaatkan.
a. Pengumpulan
kebutuhan
Pelanggan dan
pengembang bersama-sama mendefinisikan format seluruh perangkat lunak,
mengidentifikasikan semua kebutuhan, dan garis besar sistem yang akan dibuat.
b. Membangun
prototyping
Membangun prototyping
dengan membuat perancangan sementara yang berfokus pada penyajian kepada
pelanggan (misalnya dengan membuat input dan format output).
c. Evaluasi
protoptyping
Evaluasi ini dilakukan
oleh pelanggan, apakah prototyping yang sudah dibangun sudah sesuai dengan
keinginan pelanggan atau belum. Jika sudah sesuai, maka langkah selanjutnya
akan diambil. Namun jika tidak, prototyping direvisi dengan mengulang
langkah-langkah sebelumnya.
d. Mengkodekan
sistem
Dalam tahap ini
prototyping yang sudah di sepakati diterjemahkan ke dalam bahasa pemrograman
yang sesuai.
e. Menguji
sistem
Setelah sistem sudah
menjadi suatu perangkat lunak yang siap pakai, kemudian dilakukan proses
Pengujian. Pengujian ini dilakukan dengan White Box, Black Box, Basis Path,
pengujian arsitektur, dll.
f. Evaluasi
Sistem
Pelanggan mengevaluasi
apakah perangkat lunak yang sudah jadi sudah sesuai dengan yang diharapkan .
Jika ya, maka proses akan dilanjutkan ke tahap selanjutnya, namun jika
perangkat lunak yang sudah jadi tidak/belum sesuai dengan apa yang diharapkan,
maka tahapan sebelumnya akan diulang.
g. Menggunakan
sistem
Perangkat lunak yang
telah diuji dan diterima pelanggan siap untuk digunakan.
Model Prototyping ini sangat sesuai
diterapkan untuk kondisi yang beresiko tinggi di mana masalah-masalah tidak
terstruktur dengan baik, terdapat fluktuasi kebutuhan pemakai yang berubah dari
waktu ke waktu atau yang tidak terduga, bila interaksi dengan pemakai menjadi
syarat mutlak dan waktu yang tersedia sangat terbatas sehingga butuh
penyelesaian yang segera. Model ini juga dapat berjalan dengan maksimal pada
situasi di mana sistem yang diharapkan adalah yang inovatif dan mutakhir
sementara tahap penggunaan sistemnya relatif singkat, Berikut merupakan Jenis –
jenis dari Prototyping :
a. Feasibility
prototyping
digunakan
untuk menguji kelayakan dari teknologi yang akan digunakan untuk system
informasi yang akan disusun.
b. Requirement
prototyping
digunakan
untuk mengetahui kebutuhan aktivitas bisnis user.
c. Desain
Prototyping
digunakan
untuk mendorong perancangan sistem informasi yang akan digunakan.
d. Implementation
prototyping
merupakan
lanjutan dari rancangan prototype, prototype ini langsung disusun sebagai suatu
sistem informasi yang akan digunakan.
5. Contoh
Penerapan Metode Prototype.
Sebuah
rumah sakit ingin membuat aplikasi sistem database untuk pendataan pasiennya.
Seorang atau sekelompok programmer akan melakukan identifikasi mengenai apa
saja yang dibutuhkan oleh pelanggan, dan bagaimana model kerja program
tersebut. Kemudian dilakukan rancangan program yang diujikan kepada pelanggan.
Hasil/penilaian dari pelanggan dievaluasi, dan analisis kebutuhan pemakai
kembali di lakukan.
6. Kelebihan
Model Prototype :
a. Pelanggan
berpartisipasi aktif dalam pengembangan sistem, sehingga hasil produk
pengembangan akan semakin mudah disesuaikan dengan keinginan dan kebutuhan
pelanggan.
b. Penentuan
kebutuhan lebih mudah diwujudkan.
c. Mempersingkat
waktu pengembangan produk perangkat lunak.
d. Adanya
komunikasi yang baik antara pengembang dan pelanggan.
e. Pengembang
dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan.
f. Lebih
menghemat waktu dalam pengembangan sistem.
g. Penerapan
menjadi lebih mudah karena pelanggan mengetahui apa yang diharapkannya.
7. Kekurangan
Model Prototype :
a. Proses
analisis dan perancangan terlalu singkat.
b. Biasanya
kurang fleksibel dalam mengahadapi perubahan.
c. Walaupun
pemakai melihat berbagai perbaikan dari setiap versi prototype, tetapi pemakai
mungkin tidak menyadari bahwa versi tersebut dibuat tanpa memperhatikan
kualitas dan pemeliharaan jangka panjang.
d. Pengembang
kadang-kadang membuat kompromi implementasi dengan menggunakan sistem operasi
yang tidak relevan dan algoritma yang tidak efisien.
sumber
:
http://roysarimilda.wordpress.com/2012/05/08/macam-macam-model-proses-rpl-dan-penyelesaian-kasus/
http://komandankempong.blogspot.com/2011/09/model-proses-rekayasa-perangkat-lunak.html
http://id.wikipedia.org/wiki/Proses_pengembangan_perangkat_lunak



Tidak ada komentar:
Posting Komentar