NIM : 220030047
Kelas : CA193
M.K : Manajemen dan Proses TI
Perangkat lunak atau yang sering disebut dengan istilah software, merupakan serangkaian
program yang berisi instruksi dalam format digital yang dibuat dengan bahasa pemrograman
yang membuat perangkat keras atau hardware bisa berfungsi sehingga komputer dapat
dioperasikan. Ada tiga jenis perangkat lunak dalam komputer, yaitu sistem, program, dan
aplikasi.
Dalam penggunaannya, perangkat lunak dapat selalu dikembangkan seiring dengan
berjalannya waktu melalui berbagai cara atau metode. Lantas, apakah yang dimaksud dengan
metode pengembangan perangkat lunak?
Metode pengembangan perangkat lunak merupakan cara teratur yang dapat digunakan
untuk merancang dan atau meningkatkan fungsi dari suatu program atau sistem agar dapat
semakin mudah digunakan oleh pengguna.
Adapun beberapa metode yang sering digunakan dalam melakukan pengembangan
perangkat lunak diantaranya:
1. Metode Waterfall
Metode waterfall merupakan metode pengembangan tradisional.
Metode waterfall memiliki lima tahapan proses, di antaranya menganalisa persyaratan,
membuat desain, menerapkan, pengujian, menggunakan pada proyek, dan
pemeliharaan. Konsep dari metode ini adalah pengerjaan yang dilakukan secara tertata,
berurutan, dan linear. Sederhananya, jika langkah satu belum dikerjakan, maka langkah
selanjutnya pun tidak bisa dikerjakan. Metode ini dianggap tidak fleksibel karena semua
proses dan fase harus dimulai kembali dari awal jika terjadi perubahan atau kesalahan pada
proyek.
Kelebihan dari metode waterfall yaitu melibatkan berbagai proses yang sistematis dan
komprehensif. Sumber daya dan tahapan pengerjaannya dikumpulkan secara lengkap
sehingga dapat mencapai hasil maksimal.
Kekurangan dari metode waterfall yaitu penggunaan proses yang baku, sehingga
pengembang sulit melakukan improvisasi dan membutuhkan waktu lama dalam proses
pengerjaan pengembangan suatu perangkat lunak. Itulah mengapa metode ini dianggap
kurang efektif dan seringkali hanya dipakai dalam pengembangan perangkat lunak atau
sistem yang berskala besar.
2. Metode Agile
Metode agile dirancang untuk memperbarui metode waterfall yang kurang fleksibel.
Meskipun sudah mengadopsi cara baru, tetapi alur kerja masih menggunakan pola
tradisional. Proyek yang menggunakan metode agile biasanya berlangsung pendek dan
bertahap. Hal ini karena metode ini dilakukan secara kolaboratif, terstruktur, dan terorganisir.
Dalam pengembangan software, metode ini memiliki beberapa prinsip utama. Misalnya,
memprioritaskan kepuasan pengguna, menyediakan fitur-fitur uji coba yang sangat baik,
dan memberikan lingkungan untuk memotivasi pengguna dan pengembang untuk bekerja
sama di semua proyek setiap hari.
Jika berorientasi pada kepuasan pengguna, metode agile menyediakan prosedur yang
tepat. Demikian halnya pada proyek besar yang membutuhkan pemeliharaan jangka panjang.
Metode agile menguntungkan dari segi efisiensi waktu dan tenaga. Keunggulan
metode agile juga terletak pada adaptasi dan kebebasan bagi pengembang untuk melakukan
improvisasi. Tidak ada batasan baku bagi pengembang ketika ingin menerapkan ide-ide
barunya dalam menjawab tantangan zaman.
Namun, bukan berarti metode ini tidak memiliki kelemahan. Tantangan terbesar akan
dihadapi pengembang yang terus dipacu untuk beradaptasi dengan perubahan zaman. Tim
pengembangan pun tidak boleh asal pilih, harus solid dan sama-sama berkomitmen kuat.
3. Metode Scrum
Metode ini adalah turunan dari metode agile, yang nantinya akan dibahas secara
tersendiri. Scrum seringkali tidak digolongkan sebagai metodologi, melainkan suatu
kerangka kerja yang menggunakan pendekatan iteratif (perulangan) dan inkremental
(berangsur-angsur).
Pengembang menerapkan scrum ketika ingin membuat sistem yang kompleks. Pasalnya,
kerangka kerja ini memang ditujukan untuk menghasilkan produk bernilai tinggi, unik
sekaligus produktif. Kabarnya Google, Microsoft, hingga Spotify menerapkan sistem ini.
Berbeda dengan metode waterfall yang memakai pendekatan sistematis, scrum diaplikasikan
dengan lima tahapan yang bersifat imperatif dan inkremental. Oleh karena itu, kerangka
kerja scrum pasti melibatkan beberapa tim yang saling bersinergi.
Kerangka kerja scrum membagi proses pengembangan menjadi target-target kecil yang
dinyatakan dalam satuan sprint. Istilah ini mengacu pada kecepatan lari jarak pendek.
Sejumlah target kecil harus selesai dalam waktu singkat untuk tujuan akhir yang lebih besar.
Pengembangan dimulai dengan merumuskan target sprint prioritas dari setiap tim. Diikuti
dengan identifikasi pekerjaan spesifik serta proses pengerjaan sesuai target sprint yang telah
ditentukan. Sementara itu, evaluasi berkala dilakukan selama masa penggarapan tiap sprint.
Setiap sprint berakhir, tim yang terlibat selalu menyampaikan hasil pekerjaannya. Tahapan
ini juga mencakup evaluasi menyeluruh dan perumusan ide-ide baru yang mungkin bisa
diterapkan pada sprint berikutnya.
Kelebihan dari metode scrum terletak pada kemampuannya untuk menghasilkan
perangkat lunak bernilai tinggi. Pun dipandang lebih efektif karena mampu mengatasi
permasalahan kompleks dengan mendelegasikan tugas-tugas spesifik kepada beberapa tim
yang mandiri. Masalah baru muncul ketika terjadi kendala yang membuat salah satu tim
gagal mencapai target sprint-nya. Imbasnya akan memengaruhi ritme kerja tim yang lain.
Metode ini juga memungkinkan improvisasi bebas sehingga membutuhkan tim dengan
fleksibilitas tinggi.
4. Metode Prototype
5. Metode Spiral
6. Metode RAD
RAD merupakan singkatan dari Rapid Application Development. Metode ini juga
menggunakan pendekatan iteratif dan inkremental, tetapi lebih menekankan pada tenggat
waktu dan efisiensi biaya yang sesuai dengan kebutuhan. Proses pengembangan dengan
Metode RAD dianggap lebih singkat. Pasalnya, semua pihak, baik pelanggan maupun
pengembang, terus terlibat secara aktif dalam setiap proses hingga hasil dapat tercapai. Di
samping itu, tahapan kerja pada metode ini juga lebih sedikit.
Alur kerja hanya dibagi menjadi tiga tahap yang semuanya padat. Identifikasi tujuan yang
langsung diiringi dengan komunikasi dan perancangan, di mana seluruh pihak terlibat aktif
dalam setiap perumusannya. Proses ini menjadi tahap awal dari Metode RAD. Tahap kedua
masih melibatkan semua pihak, yaitu proses mendesain sistem atau perangkat lunak sesuai
kebutuhan. Pelanggan atau pengguna ikut terjun dalam menguji coba perangkat lunak.
Perbaikan pun langsung diterapkan jika pengguna menemukan kesalahan. Ketika pengguna
terpuaskan dengan desain perangkat lunak, setelah melalui berbagai perbaikan, barulah
proses kerja menginjak pada tahap terakhir, yaitu implementasi. Desain perangkat lunak
mulai diterjemahkan dalam bahasa mesin dan bisa digunakan.
Beberapa kekurangan dari metode RAD, antara lain dilihat dari segi konsistensi dan
kemampuan personel. Metode ini membutuhkan pengembang ahli, sekaligus kerjasama yang
aktif dan konsisten antara pemilik proyek beserta semua tim. Tanpa kedua hal tersebut,
mustahil menerapkan metode RAD dalam pengembangan perangkat lunak, apalagi yang
berskala besar. Namun jika kedua hal itu terakomodasi dengan baik, metode RAD adalah
cara paling efektif untuk menghemat waktu dan biaya.