Pengembangan Model Proses Perangkat Lunak
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 :
1.
Waterfall
Development Model(Sekuensial Linier)
Model
ini model yang paling sering dipakai dan paling tua. Karena model ini
mengusulkan sebuah pendekatan Perangkat Lunak(Software) secara sistematik atau
sekuensial yang berurut mulai dari seluruh tahapan
analisis,desain,kode,pengujian, dan pemeliharaan.
a. Tahapan
pengembangan metode waterfall development model :
-
Analisis kebutuhan perangkat lunak
Pada
proses ini, dilakukan penganalisaan pengumpulan kebutuhan system yang meliputi
domain informasi,fungsi yang digunaka untuk kerja secara antarmuka.
-
Desain
Di 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 procedural.
-
Pengkodean
Menterjemahkan desain kedalam
bentuk yang dimengeti oleh mesin melalui Bahasa pemrograman.
-
Pengujian
Memeriksa atau menguji
segala kemungkinan yang akan terjadi. Agar sesuai dengan hasil yang diinginkan.
-
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.
b.
Kelebihan dan Kekurangan Waterfall
Development Model
Kelebihan :
o
Tahapan proses pengembangannya tetap
(pasti), mudah diaplikasikan, dan prosesnya teratur.
o
Cocok digunakan untuk produk software/program
yang sudah jelas kebutuhannya di awal, sehingga minim kesalahannya.
o
Software yang dikembangkan dengan
metode ini biasanya menghasilkan kualitas yang baik.
o
Documen pengembangan sistem sangat
terorganisir, karena setiap fase harus terselesaikan dengan lengkap sebelum
melangkah ke fase berikutnya.
Kekurangan
:
o
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.
o
Terjadinya pembagian proyek menjadi
tahap-tahap yang tidak fleksibel, karena komitmen harus dilakukan pada tahap
awal proses.
o
Sulit untuk mengalami perubahan
kebutuhan yang diinginkan oleh customer/pelanggan.
o
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.
o
Perubahan ditengah-tengah pengerjaan
produk akan membuat bingung tim pengembang yang sedang membuat produk.
o
Adanya waktu kosong (menganggur)
bagi pengembang, karena harus menunggu anggota tim proyek lainnya menuntaskan
pekerjaannya.
Penerapan Model :
Penerapan Model :
- 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.
Rapid Application Development Model(RAD)
Sebuah
model proses perkembanganperangkat lunak sekuensial linier yang menekankan
siklus perkembangan yang sangat pendek (kira-kira 60 sampai 90 hari). Model RAD
ini merupakan sebuah adaptasi “kecepatan tinggi” dari model sekuensial linier
dimana perkembangan cepat dicapai dengan menggunakan pendekatan konstruksi
berbasis komponen.
a.
Tahapan pengembangan metode Rapid
Application Model(RAD) :
-
Bussiness Modelling
Fase ini mencari informasi atau jawaban yang pertanyaanya
sebagai berikut :
·Informasi apa yang menegndalikan proses bisnis?
·Informasi apa yang dimunculkan?
·Di mana informasi digunakan ?
·Siapa yang memprosenya ?
-
Data Modelling
Aliran
informasi yang didefinisikan sebagai bagian dari fase bussiness modeling
disaring ke dalam serangkaian objek data yang dibutuhkan untuk menopang bisnis
tersebut. Karakteristik (atribut) masing-masing objek diidentifikasi dan
hubungan antar objek-objek tersebut didefinisikan.
-
Proses Modelling
Aliran
informasi yang didefinisikan di dalam fase data modeling ditransformasikan
untuk mencapai aliran informasi yang perlu bagi implementasi sebuah fungsi
bisnis. Gambaran pemrosesan diciptakan untuk menambah, memodifikasi, menghapus,
atau mendapatkan kembali sebuah objek data.
-
Application Generation
Selain
menggunakan bahasa pemrograman generasi ketiga, RAD juga memakai komponen
program yang telah ada atau menciptakan komponen yang bisa dipakai lagi.
Ala-alat bantu bisa dipakai untuk memfasilitasi konstruksi perangkat lunak.
-
Testing dan Turnover
Karena
proses RAD menekankan pada pemakaian kembali, banyak komponen program telah
diuji. Hal ini mengurangi keseluruhan waktu pengujian. Tetapi komponen baru
harus diuji dan semua interface harus dilatih secara penuh.
b.
Kelebihan dan Kekurangan Rapid
Application Development :
Kelebihan :
·
Lebih efektif dari Pengembangan
Model waterfall/sequential linear dalam menghasilkan sistem yang memenuhi
kebutuhan langsung dari pelanggan.
·
Cocok untuk proyek yang memerlukan
waktu yang singkat.
·
Model RAD mengikuti tahap
pengembangan sistem seperti pada umumnya, tetapi mempunyai kemampuan untuk
menggunakan kembali komponen yang ada sehingga pengembang tidak perlu
membuatnya dari awal lagi sehingga waktu pengembangan menjadi lebih singkat dan
efisien.
Kekurangan :
·
Model RAD menuntut pengembangan dan
pelanggan memiliki komitmen di dalam aktivitas rapid-fire yang diperlukan untuk
melengkapi sebuah sistem, di dalam kerangka waktu yang sangat diperpendek. Jika
komitmen tersebut tidak ada, proyek RAD akan gagal.
·
Tidak semua aplikasi sesuai untuk
RAD, bila system tidak dapat dimodulkan dengan teratur, pembangunan komponen
penting pada RAD akan menjadi sangat bermasalah.
·
RAD tidak cocok digunakan untuk
sistem yang mempunyai resiko teknik yang tinggi.
·
Membutuhkan Tenaga kerja yang banyak
untuk menyelesaikan sebuah proyek dalam skala besar.
·
Jika ada perubahan di tengah-tengah
pengerjaan maka harus membuat kontrak baru antara pengembang dan pelanggan.
3.
V-Model
Model
ini merupakan perluasan dari model waterfall. Disebut sebagai perluasan karena
tahap-tahapnya mirip dengan yang yang dalam model waterfall. Jika dalam model
waterfall proses dijalankan secara linier, maka dalam model V proses dalikukan
bercabang dalam model V ini digambarkan hubungan antara tahap pengembangan
software dengan tahap pengujiannya.
Bisa
dikatakan model ini merupakan perluasan dari model waterfall. Disebut sebagai
perluasan karena tahap-tahapnya mirip dengan yang terdapat dalam model
waterfall. Jika dalam model waterfall proses dijalankan secara linear, maka
dalam model V proses dilakukan bercabang. Dalam model V ini digambarkan
hubungan antara tahap pengembangan software dengan tahap pengujiannya.
a. Tahapan
Pengembangan V Model :
-
Requirement Analysis & Acceptance
Testing
Tahap Requirement
Analysis sama seperti yang terdapat dalam model waterfall. Keluaran dari tahap
ini adalah dokumentasi kebutuhan pengguna.
Acceptance Testing merupakan tahap yang akan mengkaji apakah dokumentasi yang dihasilkan tersebut dapat diterima oleh para pengguna atau tidak.
Acceptance Testing merupakan tahap yang akan mengkaji apakah dokumentasi yang dihasilkan tersebut dapat diterima oleh para pengguna atau tidak.
-
System Design & System Testing
Dalam tahap ini analis
sistem mulai merancang sistem dengan mengacu pada dokumentasi kebutuhan
pengguna yang sudah dibuat pada tahap sebelumnya. Keluaran dari tahap ini
adalah spesifikasi software yang meliputi organisasi sistem secara umum,
struktur data, dan yang lain. Selain itu tahap ini juga menghasilkan contoh
tampilan window dan juga dokumentasi teknik yang lain seperti Entity Diagram
dan Data Dictionary.
-
Architecture Design & Integration
Testing
Sering juga disebut
High Level Design. Dasar dari pemilihan arsitektur yang akan digunakan berdasar
kepada beberapa hal seperti: pemakaian kembali tiap modul, ketergantungan tabel
dalam basis data, hubungan antar interface, detail teknologi yang dipakai.
-
Modul Design & Unit Testing
Sering juga disebut
sebagai Low Level Design. Perancangan dipecah menjadi modul-modul yang lebih
kecil. Setiap modul tersebut diberi penjelasan yang cukup untuk memudahkan
programmer melakukan coding. Tahap ini menghasilkan spesifikasi program
seperti: fungsi dan logika tiap modul, pesan kesalahan, proses input-output
untuk tiap modul, dan lain-lain.
-
Coding
Dalam tahap ini
dilakukan pemrograman terhadap setiap modul yang sudah dibentuk.
b.
Kelebihan dan Kekurangan V-Model :
Kelebihan :
V Model sangat
fleksibel. V Model mendukung project tailoring dan penambahan dan pengurangan
method dan tool secara dinamik. Akibatnya sangat mudah untuk melakukan
tailoring pada V Model agar sesuai dengan suatu proyek tertentu dan sangat
mudah untuk menambahkan method dan tool baru atau menghilangkan method dan tool
yang dianggap sudah obsolete.
V Model dikembangkan dan
di-maintain oleh publik. User dari V Model berpartisipasi dalam change control
board yang memproses semua change request terhadap V Model.
Kekurangan :
V
Model adalah model yang project oriented sehingga hanya bisa digunakan sekali
dalam suatu proyek.
V
Model terlalu fleksibel dalam arti ada beberapa activity dalam V Model yang
digambarkan terlalu abstrak sehingga tidak bisa diketahui dengan jelas apa yang
termasuk dalam activity tersebut dan apa yang tidak.
Penerapan Mode :
Penerapan Mode :
4.
Incremental
Model
Model Incremental
merupakan hasil kombinasi elemen-elemen dari model waterfall yang diaplikasikan
secara berulang, atau bisa disebut gabungan dari Model linear sekuensial
(waterfall) dengan Model Prototype. Elemen-elemen tersebut dikerjakan hingga
menghasilkan produk dengan spesifikasi tertentu kemudian proses dimulai dari
awal kembali hingga muncul hasil yang spesifikasinya lebih lengkap dari sebelumnya
dan tentunya memenuhi kebutuhan pemakai.
a. Tahapan Pengembangan Incremental Model :
Perangkat lunak pengolah kata yang dikembangkan dengan
menggunakan paradigma pertambahan akan menyampaikan manajemen file, editing,
serta fungsi penghasilan dokumen pada pertambahan pertama, dan selanjutnya.
Pertambahan pertama dapat disebut sebagai produk inti (core product). Dan
pada pertambahan selanjutnya, produk inti akan dikembangkan terus hingga
menghasilkan produk jadi yang siap untuk digunakan/dipasarkan.
b. Kelebihan dan Kekurangan Incremental Model :
Kelebihan :
·
Personil bekerja optimal.
·
mampu mengakomodasi perubahan secara
fleksibel, dengan waktu yang relatif singkat dan tidak dibutuhkan anggota/tim
kerja yang banyak untuk menjalankannya.
·
Pihak konsumen dapat langsung
menggunakan dahulu bagian-bagian yang telah selesai dibangun. Contohnya
pemasukan data karyawan.
·
Memaksimalkan pengembalian modal
investasi konsumen.
Kekurangan
:
·
Tidak cocok untuk proyek berukuran
besar (lebih dari 200.000 baris coding).
·
Sulit untuk memetakan kebutuhan
pemakai ke dalam rencana spesifikasi tiap-tiap hasil dari increament.
Penerapan Model :
Perangkat lunak pengolah kata yang dikembangkan dengan menggunakan paradigma pertambahan akan menyampaikan manajemen file, editing, serta fungsi penghasilan dokumen pada pertambahan pertama, dan selanjutnya. Pertambahan pertama dapat disebut sebagai produk inti (core product). Dan pada pertambahan selanjutnya, produk inti akan dikembangkan terus hingga menghasilkan produk jadi yang siap untuk digunakan/dipasarkan.
Penerapan Model :
Perangkat lunak pengolah kata yang dikembangkan dengan menggunakan paradigma pertambahan akan menyampaikan manajemen file, editing, serta fungsi penghasilan dokumen pada pertambahan pertama, dan selanjutnya. Pertambahan pertama dapat disebut sebagai produk inti (core product). Dan pada pertambahan selanjutnya, produk inti akan dikembangkan terus hingga menghasilkan produk jadi yang siap untuk digunakan/dipasarkan.
5.
Spiral Model
Spiral
model adalah model proses yang pendekatannya bersifat realistis pada software
besar karena proses dari awal sampai proses pengiriman dan perbaikan dapat
dipahami dnegan baik oleh clieent dan developer. Model ini mempunyai rangkaian
kerja yang iterasi (peningkatan pada model) awal yang berbentuk prototype dan
kemudian iterasi selanjutnya akan menjadi perkembangan dari model sebelumnya.
Model ini dapat terus digunakan meskipun software sudah dikirimkan karena
proses (siklus)dapat berputar lagi jika ada perubahan pada software sampai
tidak ada permintaan perupbahan pada software oleh client.
a. Tahapan
Proses Spiral Model :
· Tahap Liason:pada
tahap ini dibangun komunikasi yang baik dengan calon pengguna/pemakai.
· Tahap Planning (perencanaan):pada tahap ini ditentukan sumber-sumber informasi, batas
waktu dan informasi-informasi yang dapat menjelaskan proyek.
· Tahap Analisis Resiko:mendefinisikan
resiko, menentukan apa saja yang menjadi resiko baik teknis maupun manajemen.
· Tahap Rekayasa (engineering):pembuatan prototipe.
· Tahap Konstruksi dan Pelepasan (release):pada tahap ini dilakukan pembangunan perangkat lunak yang
dimaksud, diuji, diinstal dan diberikan sokongan-sokongan tambahan untuk
keberhasilan proyek.
· Tahap Evaluasi:Pelanggan/pemakai/pengguna
biasanya memberikan masukan berdasarkan hasil yang didapat dari tahap
engineering dan instalasi.
c. Kelebihan
dan Kekurangan Spiral Model :
-
Kelebihan :
1. Setiap
tahap pengerjaan dibuat prototyping sehingga kekurangan dan apa yang diharapkan
oleh client dapat diperjelas dan juga dapat menjadi acuan untuk client dalam
mencari kekurangan kebutuhan.
2. Lebih
cocok untuk pengembangan sistem dan perangkat lunak skala besar.
3. Dapat
disesuaikan agar perangkat lunak bisa dipakai selama hidup perangkat lunak
komputer.
4. Pengembang
dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap
tingkat evolusi karena perangkat lunak terus bekerja selama proses.
5. Menggunakan
prototipe sebagai mekanisme pengurangan resiko dan pada setiap keadaan di dalam
evolusi produk.
6. Tetap
mengikuti langkah-langkah dalam siklus kehidupan klasik dan memasukkannya ke
dalam kerangka kerja iteratif.
-
Kekurangan :
1. Banyak
konsumen (Client) tidak percaya bahwa pendekatan secara evolusioner dapat dikontrol
oleh kedua pihak. Model spiral mempunyai resiko yang harus dipertimbangkan
ulang oleh konsumen dan developer.
2. Memerlukan
tenaga ahli untuk memperkirakan resiko, dan harus mengandalkannya supaya
sukses.
3. Belum
terbukti apakah metode ini cukup efisien karena usianya yang relatif baru.
4. Memerlukan
penaksiran resiko yang masuk akal dan akan menjadi masalah yang serius jika
resiko mayor tidak ditemukan dan diatur.
5. Butuh
waktu lama untuk menerapkan paradigma ini menuju kepastian yang absolute.
6 6.
Prototype
Model
Pendekatan
prototyping model digunakan jika pemakai hanya mendefinisikan objektif umum
dari perangkat lunak tanpa merinci kebutuhan input, pemrosesan dan outputnya,
sementara pengembang tidak begitu yakin akan efisiensi algoritma, adaptasi
sistem operasi, atau bentuk interaksi manusia-mesin yang harus diambil.
a. Tahapan
Proses Prototype Model :
· Pengumpulan kebutuhan
Pelanggan dan pengembang bersama-sama mendefinisikan format
seluruh perangkat lunak, mengidentifikasikan semua kebutuhan, dan garis besar
sistem yang akan dibuat.
·
Membangun
prototyping
Membangun prototyping dengan membuat perancangan sementara
yang berfokus pada penyajian kepada pelanggan (misalnya dengan membuat input
dan format output).
·
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.
·
Mengkodekan
sistem
Dalam tahap ini prototyping yang sudah di sepakati
diterjemahkan ke dalam bahasa pemrograman yang sesuai.
·
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.
·
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.
·
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.
b. Kelebihan
dan Kekurangan Prototype Model :
-
Kelebihan :
1. Pelanggan
berpartisipasi aktif dalam pengembangan sistem, sehingga hasil produk
pengembangan akan semakin mudah disesuaikan dengan keinginan dan kebutuhan
pelanggan.
2. Penentuan
kebutuhan lebih mudah diwujudkan.
3. Mempersingkat
waktu pengembangan produk perangkat lunak.
4. Adanya
komunikasi yang baik antara pengembang dan pelanggan.
5. Pengembang
dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan.
6. Lebih
menghemat waktu dalam pengembangan sistem.
7. Penerapan
menjadi lebih mudah karena pelanggan mengetahui apa yang diharapkannya.
-
Kekurangan :
1. Proses
analisis dan perancangan terlalu singkat.
2. Biasanya
kurang fleksibel dalam mengahadapi perubahan.
3. 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.
4. Pengembang
kadang-kadang membuat kompromi implementasi dengan menggunakan sistem operasi
yang tidak relevan dan algoritma yang tidak efisien.
Penerapan Model :
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.
Penerapan Model :
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.
Pada
model ini aktifitas kerja dilakukan secara bersamaan, setiap proses kerja
memiliki beberapa pemicu kerja dari aktifitas. Pemicu dapat berasal dari awal
proses kerja maupun dari pemicu yang lain karena setiap pemicu akan saling
berhubungan. Misalnya proses desain akan berubah atau dihentikan sementara
karena ada perubahan permintaan kebutuhan dari customer.
a. Tahapan
Proses Concurent Develompent Model
-
Sistem dan komponen aktivitas
terjadi secara simultan dan dapat diperagakan menggunakan pendekatan yang
berorientasi status sebelumnya.
-
Kekhasan aplikasi Client/Server adalah diterapkan dengan banyak
komponen, masing-masing dapat dirancang dan direalisasi secara bersamaan.
b.
Kelebihan dan Kekurangan Concurent
Development Model :
-
Kelebihan :
Hasil yang di dapat akan
menghasilkan suatu sistem yang sangat baik karena terdapat perancangan yang
terjadi secara besar dan terencana secara matang.
-
Kekurangan :
Memungkinkan terjadinya perubahan besar-besaran,
maka akan membuat biaya dan waktu yang diperlukan membengkak.
Referensi :
https://murtri.wordpress.com/2014/08/25/model-model-pengembangan-perangkat-lunak-beserta-contoh-penerapannya/
http://www.materi-it.com/2014/11/mengenal-concurrent-development-model.html?id-ID
http://dibyosusanto.blogspot.co.id/2015/08/model-proses-perangkat-lunak.html
Referensi :
https://murtri.wordpress.com/2014/08/25/model-model-pengembangan-perangkat-lunak-beserta-contoh-penerapannya/
http://www.materi-it.com/2014/11/mengenal-concurrent-development-model.html?id-ID
http://dibyosusanto.blogspot.co.id/2015/08/model-proses-perangkat-lunak.html







Komentar
Posting Komentar