Abstrak - Metodologi merupakan kerangka pijakan utama Metodologi Pengembangan Perangkat Lunak dapat
dalam perancangan dan pengembangan perangkat lunak diartikan sebagai proses membuat suatu perangkat lunak
profesional untuk menghasilkan sebuah sistem informasi yang baru untuk menggantikan perangkat lunak lama secara
sesuai dengan kebutuhan bisnis sebuah organisasi. keseluruhan atau memperbaiki perangkat lunak yang telah
Keberhasilan pengembangan perangkat lunak bergantung
ada. Metodologi pengembangan perangkat lunak ini sangat
pada pengelolaan proyek perangkat lunak secara keseluruhan.
Tidak ada metodologi yang benar-benar sesuai dengan semua diperlukan agar dapat lebih cepat dan tepat dalam
jenis organsasi, sehingga dibutuhkan pendekatan lebih lanjut mendeskripsikan solusi dan mengembangkan perangkat
untuk memilih metodologi mana yang paling sesuai untuk lunak. Dengan metodologi pengembangan ini nantinya juga
dapat diterapkan pada organisasi tertentu. Paper ini dapat membantu untuk menghasilkan perangkat lunak yang
menjelaskan dan menganalisa metodologi pengembangan berkualitas.
perangkat lunak yang meliputi: Linear Sequential Model atau
Waterfall, Parallel Model, Iterative Model, Prototyping Model, II. METODOLOGI PENGEMBANGAN PERANGKAT
RAD (Rapid Application Development) Model, Spiral Model, V- LUNAK
Shaped Model dan Agile Development untuk membuat
perbandingan yang menunjukan kelebihan dan kelemahan Menurut Azhar Susanto menyatakan bahwa SDLC
masing-masing. Hasil paper ini menunjukan pertimbangan (System Development Life Cycle) adalah salah satu metode
pemilihan metodologi yang didasarkan pada faktor-faktor pengembangan sistem informasi yang popular pada saat
kriteria penilaian yang terdiri dari kejelasan persyaratan sistem informasi pertama kali dibuat [1].
pengguna, keakraban dengan teknologi, kompleksitas sistem, Terdapat empat tahapan dalam membangun atau
sistem keandalan, jadwal waktu singkat dan visibility jadwal mengembangkan sistem informasi dengan menggunakan
hingga mereferensi beberapa pendapat dari jurnal ilmiah. SDLC, yaitu: planning, analysis, design, dan
Kata Kunci : metodologi pengembangan rekayasa perangkat implementation. Adapun dalam implementasi SDLC
lunak, Linear Sequential Model, Waterfall, Parallel Model,
Iterative Model, Prototyping Model, RAD (Rapid Application
terdapat berbagai metodologi yang dapat dipergunakan.
Development) Model, Spiral Model, V-Shaped Model, Agile Penggunaan metodologi akan bervariasi tergantung kepada
Development penekanannya, apakah terhadap bisnis proses ataukah pada
data pendukung bisnis.
I. PENDAHULUAN
Keberhasilan pengembangan perangkat lunak
bergantung pada pengelolaan proyek perangkat lunak secara
keseluruhan. Menetapkan sebuah metodologi memiliki Gambar 1. System Development Life Cycle.
dinamisasi yang tinggi dalam tahap-tahap perancangan
model yang menggambarkan tahap-tahap aktivitas dan daur Berdasarkan pengertian tersebut, secara umum dapat
hidup suatu sistem. dikatakan bahwa proses pengembangan perangkat lunak
Metodologi merupakan kerangka pijakan utama dalam mengikuti tahap-tahap:
perancangan dan pengembangan perangkat lunak 1) Menentukan APA yang harus dikerjakan oleh perangkat
profesional untuk menghasilkan sebuah sistem informasi lunak dalam satu rentang waktu tertentu.
yang sesuai dengan kebutuhan bisnis sebuah organisasi. 2) Mendefinisikan BAGAIMANA perangkat lunak dibuat,
Memilih sebuah metodologi bukanlah hal yang mudah mencakup arsitektur perangkat lunaknya, antar muka
dilakukan karena tidak satupun metodologi yang dapat internal, algoritma, dan lain-lain.
dikatakan terbaik. Setiap organisasi biasanya memiliki 3) Penerapan (penulisan program) dan pengujian unit-unit
standarisasi tertentu. Sehingga hal ini menjadi alasan paper program.
ini dapat mejawab tuntutan tersebut 4) Integrasi dan pengujian modul-modul program.
5) Validasi perangkat lunak secara keseluruhan (pengujian B. Macam-Macam Metodologi Pengembangan Perangkat
sistem). Lunak
Macam-macam klasifikasi metodologi pengembangan
A. Komponen dan Karakteristik Proyek Metodologi perangkat lunak terdiri dari dua pendapat antara lain:
Pengembangan Perangkat Lunak Pertama, menurut Ian Sommerville bahwa model proses
Menurut Pressman bahwa komponen metodologi pengembangan perangkat lunak terbagi menjadi empat,
pengembangan perangkat lunak dapat dibagi ke dalam tiga yaitu: Model Pengembangan Prototyping (Evolusioner),
unit, yaitu [2]: Model Pengembangan Sistem Formal, Model
1) Metode, yaitu suatu cara atau teknik pendekatan yang Pengembangan Berorientasi Pemakaian Ulang (Reuse-
sistematik yang dipergunakan untuk mengembangkan oriented software engineering), dan Model Pengembangan
perangkat lunak. Metode ini mencakup: Perencanaan Waterfall [4].
proyek dan perkiraan, analisis keperluan sistem dan Kedua, menurut Pressman yang juga mejadi fokus
perangkat lunak, perancangan struktur data, arsitektur pembahasan dalam paper ini – menyebutkan bahwa model
program, prosedur algoritma, penulisan kode program proses pengembangan perangkat lunak terbagi menjadi 5
(coding), uji coba, dan pemeliharaan. metode yaitu: Linear Sequential Model atau waterfall,
2) Alat Bantu (Tools), yaitu alat-alat (manual maupun Incremental Process Model, Evolutionary Process Model,
otomatis) yang mendukung pengembangan perangkat RAD (Rapid Application Development) Model, dan
lunak. Terdapat dua alat bantu yang dapat digunakan Concurrent Model [2].
yaitu: alat bantu manual dan alat bantu otomatis.
3) Prosedur, yang dipergunakan untuk mendefinisikan 1) Linear Sequential Model
urut-urutan pekerjaan (daur) dari metode dan alat bantu
tersebut.
Menurut Despa bahwa karakteristik proyek
pengembangan perangkat lunak terdiri dari: sering berubah
spesifikasi, dinamika tinggi teknologi dan standard, tenaga
kerja terampil, dan tim didistribusikan secara global [3]. Hal
ini dapat dilihat pada tabel 1.
Karakteristik Dampak Positif Dampak Negatif Linear sequential model (“classic life cycle” atau
Sering berubah Membahayakan tenggat “waterfall model”) adalah metode pengembangan perangkat
spesifikasi waktu lunak dengan pendekatan sekuensial dengan cakupan
Hasil melebihi anggaran aktivitas:
proyek a) Rekayasa Sistem dan Analisis (System Engineering
Menyebabkan stres dan and Analysis). Karena perangkat lunak adalah bagian
ketidakpuasan bagi tim
dari sistem yang lebih besar, pekerjaan dimulai dari
pengembangan
Dinamika tinggi Menghasilkan Perangkat lunak dapat pembentukan kebutuhan-kebutuhan untuk seluruh
teknologi dan peluang baru menjadi usang pada saat elemen sistem dan kemudian memilah mana yang
standar dalam dari segi marak di pasaran untuk pengembangan perangkat lunak. Hal ini penting,
desain dan Pengembang software ketika perangkat lunak harus berkomunikasi dengan
codding harus menginvestasikan hardware, orang, dan basis data.
banyak waktu dalam b) Analisis Kebutuhan Perangkat Lunak (Software
meneliti teknologi baru Requirements Analysis). Pengumpulan kebutuhan
Tenaga kerja Meningkatkan Biaya tinggi yang dengan fokus pada perangkat lunak, yang meliputi:
terampil kemungkinan dihasilkan oleh sumber domain informasi, fungsi yang dibutuhkan, unjuk
mencapai hasil daya manusia
kerja/performansi dan antarmuka. Hasilnya harus
yang inovatif
Tim Bekerja dapat Monitoring dan kontrol
didokumentasi dan di-review ke pelanggan.
didistribusikan dilakukan menjadi lebih sulit c) Perancangan (Design). Ada empat atribut untuk
secara global sekitar jam program, yaitu: Struktur Data, Arsitektur perangkat
Keragaman Mengintegrasikan kode lunak, Prosedur detil, dan Karakteristik Antarmuka.
budaya baru yang lebih Proses desain mengubah kebutuhan-kebutuhan menjadi
memelihara menantang bentuk karakteristik yang dimengerti perangkat lunak
kreativitas sebelum dimulai penulisan program. Desain ini harus
terdokumentasi dengan baik dan menjadi bagian
konfigurasi perangkat lunak.
4) Prototyping Model
antarmuka manusia-mesin yang harus diambil. Cakupan a) Pemodelan Bisnis (Bussiness Modelling). Aliran
aktivitas dari prototyping model terdiri dari: informasi diantara fungsi-fungsi bisnis dimodelkan
a) Mendefinisikan objektif secara keseluruhan dan dengan suatu cara untuk menjawab pertanyaan-
mengidentifikasi kebutuhan yang sudah diketahui. pertanyaan berikut: Informasi apa yang mengendalikan
b) Melakukan perancangan secara cepat sebagai dasar proses bisnis? Ke mana informasi itu pergi? Siapa yang
untuk membuat prototype. memprosesnya?
c) Menguji coba dan mengevaluasi prototype dan b) Pemodelan Data (Data Modelling). Aliran informasi
kemudian melakukan penambahan dan perbaikan- yang didefinisikan sebagai bagian dari fase pemodelan
perbaikan terhadap prototype yang sudah dibuat. bisnis disaring ke dalam serangkaian objek data yang
dibutuhkan untuk menopang bisnis tersebut.
5) Threwaway Prototyping Model Karakteristik/atribut dari masing-masing objek
diidentifikasi dan hubungan antara objek-objek tersebut
didefinisikan.
c) Pemodelan Proses (Process Modelling). Aliran
informasi yang didefinisikan dalam fase pemodelan
data 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.
d) Pembuatan Aplikasi (Application Generation).
Selain menciptakan perangkat lunak dengan
menggunakan bahasa pemrograman generasi ketiga
Gambar 6. Threwaway Prototyping Model.
yang konvensional, RAD lebih banyak memproses
kerja untuk memakai lagi komponen program yang
Metodologi ini mirip dengan metodologi berdasarkan
telah ada atau menciptakan komponen yang bias
prototyping. Perbedaan utama adalah bahwa lembaran
dipakai lagi. Pada semua kasus, alat-alat bantu otomatis
prototipe selesai selama titik yang berbeda dalam SDLC.
dipakai untuk memfasilitasi kontruksi perangkat lunak.
Fokus pembangunan adalah untuk menguji fitur yang tidak
e) Pengujian dan Pergantian (Testing and Turnover).
dipahami dengan menganalisis, merancang, dan membangun
Karena proses RAD menekankan pada pemakaian
prototipe desain. Prototipe desain merupakan bagian dari
kembali, banyak komponen yang telah diuji. Hal ini
sistem yang perlu perbaikan tambahan, dan itu hanya cukup
mengurangi keseluruhan waktu pengujian. Tapi
rinci untuk memungkinkan pengguna untuk memahami isu-
komponen baru harus diuji.
isu yang sedang dipertimbangkan. Setelah masalah
diselesaikan, proyek bergerak ke dalam desain dan
7) Spiral Model
implementasi. Pada titik ini, desain prototipe dibuang, yang
merupakan perbedaan penting antara Threwaway
Prototyping dan Prototyping, di mana prototipe berkembang
menjadi sistem final. Pendekatan ini menghasilkan lebih
stabil dan dapat diandalkan sistem.
a) Perencanaan (Planning). penentuan tujuan, alternatif, uji sistem berfokus pada pemenuhan fungsi yang ditetapkan
dan batasan. dalam persyaratan pengumpulan.
b) Analisis resiko (Risk Analysis). analisis alternatif dan Tahap desain tingkat tinggi berfokus pada arsitektur
identifikasi/pemecahan resiko. sistem dan desain. Sebuah rencana uji integrasi dibuat dalam
c) Rekayasa (Engineering). pengembangan level fase ini dalam rangka untuk menguji potongan kemampuan
berikutnya dari produk. sistem perangkat lunak untuk bekerja sama. Namun, tahap
d) Evaluasi Pemakai (Customer Evaluation). penilaian desain tingkat rendah terletak di mana komponen perangkat
terhadap hasil rekayasa Bentuk spiral memberikan lunak yang sebenarnya dirancang, dan tes unit yang dibuat
gambaran bahwa semakin besar iterasinya, maka dalam fase ini juga.
menunjukkan makin lengkap versi dari perangkat
lunak yang dibuat. Selama awal sirkuit, objektif, 9) Agile Development l
alternatif dan batasan didefinisikan serta resiko Kategori ini berfokus pada perampingan SDLC dengan
diidentifikasikan dan dianalisa. menghilangkan banyak pemodelan dan dokumentasi
Jika resiko menunjukkan ada ketidakpastian terhadap overhead dan waktu yang dihabiskan untuk tugas-tugas.
kebutuhan, maka prototyping harus dibuat pada kuadran Proyek menekankan sederhana, pengembangan aplikasi
rekayasa. Simulasi dan pemodelan lain dapat digunakan berulang. Kategori ini menggunakan pemrograman ekstrim
untuk mendefinisikan masalah dan memperbaiki kebutuhan. (XP), yang dijelaskan sebagai berikut:
Pelanggan mengevaluasi hasil rekayasa (kuadran evaluasi Prinsip-prinsip Kunci XP meliputi pengujian terus
pelanggan) dan membuat usulan untuk perbaikan. menerus, coding sederhana dan interaksi yang dekat dengan
Berdasarkan masukan dari pelanggan, fase berikutnya pengguna akhir untuk membangun sistem yang sangat cepat.
adalah perencanaan dan analisis resiko. Setelah analisis Setelah proses perencanaan yang dangkal, tim proyek
resiko selalu diperiksa apakah proyek diteruskan atau tidak, melakukan analisis, desain, dan fase implementasi iterative.
jika resiko terlalu besar, maka proyek dapat dihentikan.
Model spiral ini adalah pendekatan yang paling realistic
untuk sistem sekala besar.
8) V-Shaped Model