Evolusi Metode Pengembangan Rekayasa Perangkat Lunak Yang
Sering Digunakan
1Nurasiah, 2M.S. Herawati
12Sistem Informasi, Fakultas Ilmu Komputer, Universitas Gunadarma Jl. Margonda Raya 100 Pondok Cina Depok
1[email protected] 2[email protected]
Abstrak
Metode pengembangan perangkat lunak adalah sebuah cara yang teratur untuk merancang atau meningkatkan fungsi dari sebuah program agar pengguna lebih mudah dalam mengoperasikan komputer. Terdapat banyak metode yang dapat dipilih untuk melakukan pengembangan perangkat lunak. Metode dapat dipilih disesuaikan dengan kriteria pengembangan dan hasil perangkat lunak yang diinginkan. Keberhasilan dari suatu pekerjaan adalah sesuatu yang memegang peranan penting dalam suatu proses pengembangan perangkat lunak yang efektif. Masing-masing metode pengembangan perangkat lunak mempunyai kelebihan dan kekurangan.
Kata Kunci : RPL, Metode SDLC, Perangkat Lunak
Pendahuluan
Rekayasa perangkat lunak terdiri dari dua kata yaitu software ( Perangkat Lunak ) dan Engineering ( Rekayasa ). Perangkat Lunak (Software) adalah source code pada suatu program atau sistem. Rekayasa adalah aplikasi terhadap pendekatan sistematis yang berdasar atas ilmu pengetahuan dan matematis serta aplikasi tentang produksi terhadap struktur,mesin, produk, proses atau sistem. Rekayasa Perangkat Lunak adalah pendekatan
dalam mengoperasikan komputer. Terdapat banyak model metode pengembangan perangkat lunak yang dapat dipilih. Masing – masing model memiliki dasar – dasar sistem dan pendekatan yang berbeda. Untuk menentukan metode yang paling tepat ada beberapa hal yang harus dipertimbangkan seperti tujuan akhir, biaya, waktu, tim, dan pengguna. Pemilihan metode yang tepat maka akan menghasilkan perangkat lunak yang sesuai.
Pembahasan
Terdapat banyak metode yang dapat dipilih untuk melakukan pengembangan perangkat lunak. Metode dapat dipilih disesuaikan dengan kriteria pengembangan dan hasil perangkat lunak yang diinginkan. Berikut ini adalah metode – metode pengembangan perangkat lunak yang popular (sering digunakan) dari mulai yang klasik hingga yang modern.
1. Metode Waterfall
Waterfall adalah metode pengembangan perangkat lunak tradisonal dan klasik yang sistematis. Metode ini juga sering disebut siklus hidup klasik atau air terjun. Selama beberapa dekade metode ini adalah metode pengembangan perangkat lunak yang paling banyak digunakan.
Tabel 1. Kelebihan dan kelemahan Metode Waterfall
Kelebihan Kelemahan
Mudah dalam pengelolaan karena hampir seluruh requirementsnya diidentifikasikan dan didokumentasikan. Tahapannya berurutan secara linier. Identifikasi dan dokumentasi yang lengkap. Menyebabkan proses mudah dipahami oleh seluruh tim yan terlibat dan project owner.
Tahapan yang berurutan dan memungkinkan untuk kembali pada tahapan selanjutnya. Tidak fleksibel terhadap perubahan kebutuhan yang terjadi dalam tahap pengembangan sistem. Tidak ada toleransi kesalahan terutama pada tahapan planning dan
Gambar 1. Model Waterfall 2. Metode Prototype
Metode prototype digunakan apabila pengguna hanya mendefinisikan objektif umum dari perangkat lunak tanpa merinci kebutuhan input, pemrosesan dan outputnya. Model prototype digunakan untuk menampilkan semua kemungkinan sistem aplikasi dan memberikan komunikasi antara pengguna dan pengembang. Fase dari metode ini adalah pengembang mendengarkan kebutuhan pelanggan, mengembangkan beberapa demo, membangun kembali dan dievaluasi oleh pengguna sampai rancangan diterima.
Tabel 2. Kelebihan dan kelemahan Metode Prototype
Kelebihan Kelemahan
Requirements identification yang akurat karena dilakukan evaluasi secara berkala dan mendapatkan masukan dari project owner terhadap purwa rupa yang dihasilkan. User experience yang meningkat karena secara terus menerus melakukan uji coba dan evaluasi terhadap purwa rupa. Kesalahan dan redudansi
Setiap evaluasi dan masukan terhadap purwa rupa maka akan membutuhkan penyesuaian terhadap purwa rupa tersebut dan setiap penyesuaian akan meningkatkan kompleksitas sistem yang dikembangkan. Memberikan beban tambahan kepada programmer. Terdapat kebutuhan biaya tambahan
hingga purwa rupa dapat disetujui oleh project owner.
Gambar 2. Model Prototype 3. Metode Rapid Application Development ( RAD )
RAD adalah model proses pengembangan perangkat lunak secara linear sequential yang menekankan pada siklus pengembangan yang sangat singkat. Jika kebutuhan dipahami dengan baik, proses RAD memungkinkan tim pengembangan menciptakan sistem fungsional yang utuh dalam periode waktu yang sangat pendek. Metode ini menekankan pada tenggat waktu dan efisiensi biaya yang sesuai kebutuhan.
Tabel 3. Kelebihan dan kelemahan Metode RAD
Kelebihan Kelemahan
Efisiensi waktu pengiriman. Perubahan kebutuhan dapat ditampung. Waktu siklus dapat pendek dengan penggunaan alat-alat RAD yang kuat. Produktivitas dengan lebih sedikit orang dalam waktu singkat. Penggunaan alat- alat dan kerangka kerja.
Kompleksitas manajemen. Cocok untuk sistem yang berbasis komponen dan terukur.
Membutuhkan keterlibatan pengguna di seluruh siklus hidup.
Membutuhkan personal yang sangat terampil. Ketergantungan tinggi pada kemampuan modeling. Tidak berlaku untuk proyek-proyek yang lebih murah sebagai biaya pemodelan dan otomatis generasi kode sangat tinggi
untuk proyek-proyek yang dianggarkan lebih murah untuk pantas.
Gambar 3. Model Rapit Application Development (RAD) 4. Metode Agile
Metode Agile merupakan metode yang tergolong modern dikarenakan menekankan pada improvisasi dan adaptasi. Meskipun begitu alur kerja metode Agile masih menerapkan pola tradisional yang sistematis. Dimulai dari perencanaan, analisis kebutuhan, perancangan, uji coba, implementasi, dan pemeliharaan. Metode ini berfokus pada perampingan SDLC dengan menghilangkan banyak pemodelan dokumentasi overhead dan waktu yang dihabiskan untuk tugas – tugas.
Tabel 4. Kelebihan dan kelemahan Metode Agile
Kelebihan Kelemahan
Proses Iterative dan Incremental, requirement dapat berubah sewaktu-waktu Pelacakan requirement dengan melihat Backlog produk. Keterlibatan user secara aktif. Rilis yang lebih cepat dan berkala. Testing dilakukan setiap saat.
Interaksi dengan client yang kadang terlalu berlebihan. Agile sulit diimplementasikan dalam proyek yang berskala besar. Waktu perencanaan proyek yang singkat. Membutuhkan manajemen tim yang
Gambar 4. Model Agile 5. Metode Scrum
Metode scrum merupakan metode turunan dari metode agile yang nantinya akan dibahas secara khusus. Metode scrum sering tidak digolongkan sebagai sebuah metodologi, melainkan sebuah kerangka kerja yang menggunakan pendekatan iteratif (perulangan) dan incremental (berangsur – angsur). Metode scrum diterapkan ketika pengembang akan membuat sistem yang kompleks karena kerangka ini memang ditujukan untuk menghasilkan produk bernilai tinggi. Kerangka kerja scrum melibatkan beberapa tim yang saling bersinergi. Kerangka kerja scrum membagi proses pegembangan menjadi target – target kecil yang disebut satuan print. Sejumlah target kecil harus selesai dalam waktu yang singkat untuk tujuan akhir yang lebih besar. Metode scrum merupakan gabungan dari struktur dan ilmu dari metode pengembagan klasik (waterfall) dengan fleksibilitas dan praktet pengulangan metode agile yang modern.
Tabel 5. Kelebihan dan kelemahan Metode Scrum
Kelebihan Kelemahan
Kemampuannya untuk menghasilkan perangkat lunak bernilai tinggi. Dipandang lebih efektif karena mampu mengatasi permasalahan kompleks dengan mendelegasikan tugas-tugas
Ketika terjadi kendala yang membuat salah satu tim gagal mencapai target sprint-nya maka akan mempengaruhi ritme kerja tim yang lain. Metode ini memungkinkan improvisasi bebas sehingga
spesifik kepada beberapa tim yang mandiri.
membutuhkan tim dengan fleksibilitas tinggi.
Gambar 5. Model Scrum 6. Metode DevOps
Metode DevOps merupakan suatu pola kerja yang diterapkan agar bagian Dev (Development/Pengembangan) dan Ops (Operation / Operasi) dapat berkolaborasi dalam pembagian sistem sehingga memiliki sinergi positif, meningkatkan kinerja dan kualitas hasil produksi. DepOps merupakan pengembangan dari komsep agile, dimana kecepatan rilis berkualitas dapat dihasilkan lebih sering. Hal ini sesuai dengan era digital yang serba terhubung ke internet. DevOps menggabungkan nilai, prinsip, metode, praktek dan tools yang dapat meningkatkan kemampuan organisasi agar dapat lebih cepat menyediakan aplikasi. Pengujian hasil produksi yang dilakukan oleh pengembang dan staff operasional infrastruktur data center sebelum DeVOps sangat sulit dilakukan secara parallel. Dengan pendekatan kolaboratif, pengembang dan operasional dapat bersama – sama melakukan pengujian langsung pada sistem sehingga jika ada yang tidak sesuai sistem akan roll-back sehingga tidak menggangu layanan yang sedang berjalan. Sehingga DevOps dapat
Tabel 6. Kelebihan dan kelemahan Metode DevOps
Kelebihan Kelemahan
Mendukung platform terintegrasi yang memudahkan dalam pengiriman dan pengujian aplikasi. Perbedaan lingkungan antara pengembang dan user dapat teratasi. Pengembangan perangkat lunak menjadi lebih efisien dan berkualitas tinggi dengan mengintegrasikan operasi. Kelancaran proses dapat dipastikan karena seluruh tim operasi terlibat pada siklus pengembangan.
DevOps harus menyertakan kelompok lain yang penting bagi keberhasilan IT seperti
bisnis(BizDevOps), keamanan (DevSecOps) dan uji khusus. Kesulitan organisasi, seperti transisi ke praktik DevOps, membutuhkan perubahan budaya besar termasuk reorganisasi tim, yang membutuhkan waktu untuk terbiasa. DevOps bisa mahal untuk diadopsi dan
dioperasikan jika suatu organisasi hanya memiliki beberapa rilis dalam setahun. DevOps akan membutuhkan alat otomatisasi yang memadai.
Gambar 6. Model DevOps Kesimpulan
Perangkat lunak dapat menjadi elemen kunci bagi evolusi sistem dan produk yang berbasis komputer. Spesifikasi kebutuhan perangkat lunak harus diperhatikan sebagai gabungan dari responsibilitas dengan sistem dan pengembangan perangkat lunak. Keberhasilan dari suatu pekerjaan adalah sesuatu yang memegang peranan penting dalam suatu proses pengembangan perangkat lunak yang efektif. Masing-masing metode pengembangan perangkat lunak mempunyai kelebihan dan kekurangan. Dalam banyak kasus, metode - metode diatas dapat dikombinasikan dalam rangka usaha pengembangan perangkat lunak.
Daftar Pustaka
E. P. Nugroho, K. Ratnasari, K. N. Ramadhani, And B. L. Putro. Rekayasa Perangkat Lunak. Politeknik Telkom, 2009.
D.S. Budi, T.A.Y. Siswa, H. Abijono. Analisis Pemilihan Penerapan Proyek
Metodologi Pengembangan Rekayasa Perangkat Lunak. Teknika, (5)1:24-31, 2016.
K.M.S. Haryana. Penerapan Agile Development Methods Dengan Framework Scrum Pada Perancangan Perangkat Lunak Kehadiran Rapat Umum Berbasis QR-Code. Jurnal Computect & Bisnis, (13)2:70-79, 2019.
M. Rusli, M. Ziveria. Membandingkan Paradigma Empat Rekayasa Perangkat Lunak. I Statement STIMIK ESQ, (2)1:1-4, 2016.
R. Parlika, M. F. Hidayat, H. R. Putra, V. H. Satri,F.L. Hilman, And F. H. Pralas. Studi Komparatif Model Proses Perangkat Lunak Terhadap Karakteristik Sistem ERP. JURNAL IPTEK MEDIA KOMUNIKASI TEKNOLOGI, (22)2:1-8, 2019.
Guntoro,” 6 Metode Pengembangan Perangkat Lunak Paling Popular” Nov.26, 2019.[Online].Available: https://badoystudio.com/metode-pengembangan-perangkat-lunak/#Metode_Pengembangan_Software_Yang_Umum_Digunakan. [Accessed April. 9, 2020].
Putra,” 6+ Metode Pengembangan Perangkat Lunak” Feb.1, 2020.[Online].Available:
https://salamadian.com/metode-pengembangan-perangkat-lunak/. [Accessed April. 9, 2020].
Rifzan,” Penjelasan Mengenai Pengertian DevOps di Dalam Dunia Teknologi
Informasi” April.12, 2019.[Online].Available: https://www.robicomp.com/penjelasan-mengenai-pengertian-devops-di-dalam-dunia-teknologi-informasi.html. [Accessed April. 10, 2020].
Perpustakaan Universitas Gunadarma BARCODE
BUKTI UNGGAH DOKUMEN PENELITIAN PERPUSTAKAAN UNIVERSITAS GUNADARMA
Nomor Pengunggahan
SURAT KETERANGAN
Nomor: 483/PERPUS/UG/2020Surat ini menerangkan bahwa:
Nama Penulis : NURASIAH, S.Kom, MMSI
Nomor Penulis : 090905
Email Penulis : [email protected]
Alamat Penulis : Gunadarma University Build 4, 1st Floor Margonda Raya 100 Pondok Cina Depok
dengan penulis lainnya sebagai berikut:
Penulis ke-2/Nomor/Email : HERAWATI / 020172 /
Telah menyerahkan hasil penelitian/ penulisan untuk disimpan dan dimanfaatkan di Perpustakaan Universitas Gunadarma, dengan rincian sebagai berikut :
Nomor Induk : FILKOM/KA/PENELITIAN/483/2020
Judul Penelitian : Evolusi Metode Pengembangan Rekayasa perangkat Lunak Yang Sering Digunakan
Tanggal Penyerahan : 25 / 06 / 2020