BAB VII
PENGEMBANGAN PERANGKAT LUNAK
H W Herwanto
A.Materi
1.Model Pengembangan Perangkat Lunak
Terdapat beberapa model yang mendasari langkah-langkah pengembangan
perangkat lunak. Model-model tersebut dijelaskan sebagai berikut :
Waterfall
Waterfall merupakan model pengembangan dengan prosedur yang bertahap.
Dalam hal ini, tahap pertama diselesaikan dengan baik sebelum menuju ke
tahap berikutnya. Model waterfall dapat dikatakan sebagai model yang runtut
atau chronologicaly. Menurut Sommerville (2010:30), model ini membutuhkan
perencanaan untuk setiap tahap sebelum tahap tersebut dilakukan. Keunggulan
dari model ini adalah adanya dokumentasi yang dilakukan di setiap tahapan,
sehingga progress dari pengembangan sistem dapat direkam dengan baik.
Model dari waterfall ditunjukkan pada Gambar 6.1.
1
Tahapan tahapan model waterfall seperti ditunjukkan pada Gambar dapat
dideskripsikan sebagai berikut :
1. Tahap analisis kebutuhan (requirement and definition)
Analisis kebutuhan merupakan tahap analisis dan pengumpulan
kebutuhan dalam proses pengembangan produk. Pengumpulan kebutuhan
dapat dilakukan dengan wawancara, observasi atau penyebaran angket.
Tujuan utama dari tahap analisis kebutuhan ini adalah mengetahui
bagaimana sistem yang dibutuhkan lingkungan penelitian, serta fitur apa saja
yang diperlukan dalam sistem.
2. Tahap Desain (system and software design)
Tahap desain adalah perancangan sistem yang akan dikembangkan
berdasarkan analisis kebutuhan yang telah dilakukan pada tahap sebelumnya.
Data kebutuhan yang didapatkan melalui wawancara atau observasi
dituangkan kedalam rancangan sistem yang berupa fitur. Keluaran dari tahap
ini adalah model perancangan dalam bentuk data flow diagram (DFD), entity
relationship diagram (ERD) dan lain sebagainya.
3. Tahap Implementasi (implementation and testing unit)
Perancangan sistem yang dilakukan pada tahap desain diimplementasikan
dalam bentuk kode-kode program. Pengembang membangun sistem
dengan menggunakan software untuk menerjemahkan kebutuhan-kebutuhan
sistem dalam kode program. tahap pengkodean dilanjutkan dengan tahap uji
coba terhadap fitur-fitur sistem.
4. Tahap Pengujian (integration and system testing)
Dilakukan uji coba terhadap keefektifan dan kemampuan sistem. Jika
terdapat kekurangan, maka pada tahap ini pula dilakukan perbaikan terhadap
sistem.
5. Tahap pemeliharaan (operation and maintenance)
Sistem atau perangkat lunak yang telah diimplementasikan pada
lingkungan penelitian seringkali mengalami perubahan sesuai dengan
perkembangan yang terjadi. Perlu adanya pemeliharaan untuk menjaga
performansi sistem yang telah dikembangkan (Sommervile, 2011).
2
Prototyping
Pada metode ini pengembang akan melakukan identifikasi kebutuhan
pengguna, menganalisis sistem, melakukan studi kelayakan dan studi kebutuhan
pengguna yang meliputi model interface, teknik prosedural dan teknologi yang
akan dimanfaatkan. Tahapan-tahapan prototyping dapat dijelaskan sebagai
berikut :
a. Tahap communication
Tahap ini pengguna dan pengembang berdiskusi dalam mendefinisikan
format seluruh perangkat lunak, menentukan keperluan dan garis besar
produk yang akan dikembangkan.
b. Tahap quick plan
Setelah mendapatkan informasi mengenai kebutuhan dan garis besar
produk yang akan dikembangkan, pengembang melakukan perencanaan
terkait pengembangan perangkat lunak tersebut
c. Tahap modeling quick design
Membangun rancangan global sebagai contoh bagi pengguna
d. Tahap construction prototype
Proses pengembangan perangkat lunak sementara yang terfokus pada
penyajian kepada pelanggan, termasuk pengujian dan penyempurnaan.
e. Deployment dan feedback
Pengembang menyampaikan prototype pada pengguna. Uji coba
terhadap prototype dilakukan oleh pengguna untuk mengetahui apakah
prototype perlu direvisi atau tidak. Pengguna memberikan feedback berupa
saran atau revisi prototype. Apabila prototype belum memenuhi kebutuhan
pengguna, maka dilakukan perbaikan terhadap prototype sehingga muncul
prototype dua dan seterusnya.
3
Gambar Model Prototyping (Pressman, 2010:43)
Perulangan proses ini terus berlangsung sampai kebutuhan terpenuhi.
Prototype-prototype dikembangkan untuk memuaskan kebutuhan klien dan
memahami kebutuhan klien dengan lebih baik lagi.
Keuntungan dari model prototyping , yaitu :
a. Pemodelan memerlukan partisipasi aktif dari end-user, sehingga
meningkatkan sikap dan dukungan pengguna untuk pengembangan
perangkat lunak.
b. Perubahan dan iterasi terhadap perangkat lunak adalah konsekuensi dari
pengembangan sistem, sehingga pengguna atau end user memiliki
keinginan untuk merubah pola pikirnya.
c. End user mengetahui secara detail perkembangan kebutuhan perangkat
lunak sampai pada implementasinya
d. Model ini merupakan model aktif yang menyebabkan end user dapat
melihat, merasakan, dan mengalaminya.
e. Kesalahan dapat dideteksi lebih awal, sehingga penanggulangannya lebih
cepat
4
f. Prototyping memberikan solusi yang lebih baik, karena ada feedback dari
end user.
g. Prototyping meningkatkan ritme beberapa fase hidup dari programmer.
5
RAD Model (Rapid Application Development)
Rapid Application Development atau RAD adalah salah satu metode
pengembangan sistem informasi dengan waktu yang relatif singkat.
Pengembangan suatu sistem informasi normal membutuhkan waktu
sekurangnya 12 hari, namun dengan menggunakan metode RAD sistem dapat
diselesaikan dalam waktu yang singkat, sekitar 3 - 4 hari.
Model RAD mengadopsi model waterfall dan pembangunan dalam waktu
singkat yang dicapai dengan menerapkan :
Component based construction ( pemrograman berbasis komponen
bukan prosedural).
Penekanan pada penggunaan ulang (reuse) komponen perangkat lunak
yang telah ada.
Pembangkitan kode program otomatis/semi otomatis.
Multiple team (banyak tim), tiap tim menyelesaikan satu tugas yang
selevel tapi tidak sama. Banyaknya tim tergantung dari area dan
kompleksitasnya sistem yang dibangun.
Model RAD hampir sama dengan model waterfall. Hal yang membedakan
adalah siklus pengembangan model ini sangat pendek dengan penerapan teknik
yang cepat.
Perangkat lunak dibagi menjadi beberapa modul dan dikerjakan oleh tim
dalam waktu yang hampir bersamaan dengan waktu yang sudah ditentukan.
Model ini melibatkan banyak tim, dan setiap tim mengerjakan tugas dengan
tingkatan yang sama, namun berbeda modul.
Menurut Britton (2001), Kelebihan dan kekurangan dalam implementasi
pengembangan menggunakan model RAD :
a. Model RAD memerlukan sumber daya yang cukup besar, terutama
untuk proyek dengan skala besar.
b. Model ini cocok untuk proyek dengan skala besar.
c. Model RAD memerlukan komitmen yang kuat antara pengembang dan
pemesssan, bahkan keduanya bisa tergabung dalam satu tim
6
d. Kinerja dari perangkat lunak yang dihasilkan dapat menjadi masalah
apabila kebutuhan-kebutuhan diawal proses tidak dapat dimodulkan,
sehingga pendekatan dengan model ini kurang bagus.
e. Sistem yang tidak bisa dimodularisasi tidak cocok untuk model ini.
f. Penghalusan dan penggabungan dari beberapa tim di akhir proses
sangat diperlukan dan ini memerlukan kerja keras.
g. Proyek memiliki kemungkinan gagal, apabila waktu yang disepakati
tidak dipenuhi
h. Risiko teknis yang tinggi juga kurang cocok untuk model ini.
Spiral
Boehm (1988) mengusulkan sebuah model yang setiap loop mewakili sebuah
tahapan dari proses perangkat lunak. Model Boehm tersebut berbentuk spiral.
Tidak terdapat tahap yang tetap dalam model ini.
7
Tahap perundingan kebutuhan dengan stakeholder atau pengguna
untuk perangkat lunak yang akan dikembangkan.
b. Planning
Tahap menentukan tujuan dan hambatan dalam proses ataupun
produk serta resiko-resiko proyek yang akan dijalankan. Rencana rinci ditulis
secara lengkap. Strategi alternatif juga direncanakan sesuai dengan resiko
yang mungkin terjadi.
c. Modeling
Tahap menganalisis dan merancang perangkat luank yang akan
dikembangkan. Perancangan desain dapat berupa DFD, ERD dan lain
sebagainya. Menentukan fitur dan model perangkat lunak yang dibutuhkan
oleh pengguna.
d. Construction
Tahap pembangunan perangkat lunak. tahap ini biasa disebut coding
, implementasi rancangan pada tahap sebelumnya ke dalam bentuk
perangkat lunak yang nyata.
e. Deployment
Pada tahapan ini, perangkat lunak dipresentasikan kepada pengguna.
Pengguna dan pengembang melakukan proses evaluasi terhadap perangkat
lunak tersebut. Kemudian pengguna memberikan feedback berupa masukan
atau saran berdasarkan hasil evaluasi.
Perbedaan yang terlihat antara model spiral dengan model lainnya yaitu model
spiral secara eksplisit mempertimbangkan resiko-resiko yang ada. Resiko dapat
diartikan sebagai hal sederhana yang dapat menyebabkan kesalahan(Hamdani
dan Fera, 1999).
d. Construction
Setelah tahap perancangan produk, perlu adanya implementasi dari
tahap tersebut. Desain produk tersebut diimplementasikan dalam bentuk
coding program. tahap ini dapat disebut juga sebagai tahap pembangunan
produk. Dalam tahap ini, produk yang sudah selesai dikembangkan akan diuji
apakah sudah memenuhi kebutuhan awal pengguna atau belum.
e. Transition
9
Tahap ini adalah tahapan penyampaian produk pada pengguna atau
stakeholder. Pengguna akan menguji perangkat lunak dan memberikan
feedback yang dapat berupa saran atau perubahan pada produk, sehingga
produk menjadi lebih baik.
Data flow diagram atau biasa disebut dengan DFD adalah suatu diagram yang
menggunakan notasi-notasi untuk alur data sistem, yang penggunaannya sangat
membantu dalam memahami sistem secara logis, terstruktur dan jelas. DFD dapat
dikatakan sebagai suatu model logika data atau proses yang dibuat untuk
menggambarkan dari mana asal data dan kemana tujuan data yang keluar dari
sistem, dimana data disimpan, proses apa yang menghasilkan data tersebut dan
interaksi antara data yang tersimpan dan proses yang dikenakan pada data tersebut.
DFD sering juga disebut Bubble chart, Bubble diagram, model proses, diagram alur
kerja, atau model fungsi. DFD adalah salah satu alat pembuatan model yang sering
digunakan, khususnya bila fungsi-fungsi sistem merupakan bagian yang lebih penting
dan kompleks dari pada data yang dimanipulasi oleh sistem. DFD hanya memberikan
penekanan pada fungsi sistem yang berorientasi pada alur data dengan konsep
dekomposisi. Hal ini dapat digunakan untuk penggambaran analisa maupun
rancangan sistem yang mudah dikomunikasikan oleh profesional sistem kepada
pemakai maupun pembuat program.
DFD memiliki simbol-simbol atau kompoen yang digunakan untuk
memodelkan data. Komponen tersebut adalah (Jogiyanto ,1990):
External entity (entitas eksternal) atau boundary (batas sistem);
Process (proses);
Data store (simpanan data).
Data flow (arus data);
10
1.Entitas eksternal
Entitas eksternal mewakili entitas eksternal yang
berkomunikasi dengan sistem yang sedang dikembangkan. Entitas
eksternal dapat berupa orang atau unit yang berinteraksi dengan
sistem, tapi berada di luar sistem. Komponen ini perlu diberi nama
Gambar Entitas
sesuai dengan dunia luar yang berkomunikasi dengan sistem yang Eksternal
sedang dibuat modelnya, dan biasanya menggunakan kata benda,
misalnya Bagian Penjualan, Dosen, Mahasiswa.
2.Proses
Proses merupakan kegiatan atau pekerjaan yang dilakukan oleh orang atau mesin
komputer dimana aliran data masuk diubah atau ditransformasikan ke aliran data
keluar.
3.Data Store
Komponen Data Store DFD ditunjukkan pada
Gambar disamping Data store ini berkaitan dengan
11
4.Alur Data
DFD terdiri dari context diagram dan diagram rinci (DFD Levelled). Context
diagram berfungsi memetakan model lingkungan (menggambarkan hubungan antara
12
entitas luar, masukan dan keluaran sistem), yang direpresentasikan dengan lingkaran
tunggal yang mewakili keseluruhan sistem.
Gambar Diagram Context Sistem Informasi Perpustakaan
13
B.Sumber:
Materi dalam sumber belajar ini disusun/ dirujuk/ diadaptasi/ disalin/ disarikan dari :
1. http://informatika.web.id/category/data-flow-diagram/
2. https://www.academia.edu/5166405/Model__Model_Pengembangan_Rekayas
a_Perangkat_Lunak: Model Model Pengembangan Rekayasa Perangkat Lunak.
Oleh : Adnyana, Ngurah.
3. http://hero.lecturer.pens.ac.id/datahero/kuliah/RPL/02%20Model%20Proses%2
0RPL.pdf: Bahan Ajar Rekayasa Perangkat Lunak. PENS ITS.
4. http://www.elektroindonesia.com/elektro/komp27.html: Pemodelan Dalam
Rekayasa Perangkat Lunak.oleh Hamdani, Arief dan Fera.
5. https://www.academia.edu/17873145/Model_Pengembangan_Perangkat_Luna
k_dengan_Waterfall_Rad_Prototyping_Incremental_dan_Spiral_beserta_Perbed
aannya: Model Pengembangan Perangkat Lunak dengan Waterfall, RAD,
Prototyping, Incremental dan Spiral beserta Perbedaannya. Oleh Kurniawan, M.
Agung.
6. https://www.academia.edu/7675480/Model_Pengembangan_Prototyping:
Misri, Ali. Model Pengembangan Prototyping.
7. https://id.wikipedia.org/wiki/Rapid_application_development: Sistem Informasi
Mana jemen. Edisi ke-9. Yuliyanto dan Heri, penerjemah: Jakarta: Indeks.
Terjemahan dari: Management Information System, Edisi ke-8. Pearson Prentice
Hall, Inc.oleh McLeod Jr. P, GP Schell.
8. Pressman, Roger S. 2010. Software Engineering, a Practitioner's Approach Fourth
Edition. McGraw Hill
9. https://saraswatidwi18.wordpress.com/2014/01/18/dfd-data-flow-diagram-sist
em-informasi-perpustakaan-berbasis-web/
10. Hartono, Jogiyanto. 1990. Analisis dan Desain Sistem Informasi. Andi Offset :
Yogyakarta.
11. Prasetya, Didik Dwi. 2013. Bahan Ajar Sistem Informasi. Universitas Negeri
Malang
14