Mohon tunggu...
Tiara Deliana
Tiara Deliana Mohon Tunggu... MAHASISWI (UIN MAULANA MALIK IBRAHIM MALANG)

Hayy!!! perkenalkan saya tiara, saya asli kalimantan timur dan lahir dikota sangatta (kutai Timur) saya anak pertama dri 5 saudara (keluarga yang lengkap dan bahagia) hobi saya menulis,membaca,menyanyi,fasion,fotografer,traveling, saya merantau kemalag untuk meneruskan pendidikan S1 DI UNIVERSITAS ISLAM NEGERI MAULANA MALIK IBRAHIM MALANG prodi TEKNIK INFORMATIKA. sekian dri saya terimakasih

Selanjutnya

Tutup

Ilmu Alam & Tekno

Pemeliharaan dan Evolusi Perangkat Lunak : Peta Jalan Masa Depan Pengembangan Perangkat Lunak

13 April 2025   14:15 Diperbarui: 13 April 2025   14:15 98
+
Laporkan Konten
Laporkan Akun
Kompasiana adalah platform blog. Konten ini menjadi tanggung jawab bloger dan tidak mewakili pandangan redaksi Kompas.
Lihat foto
Software maintenance & Sumber Gambar AI

 Pendahuluan

Perangkat lunak adalah entitas yang unik dibandingkan produk rekayasa lainnya karena kemampuannya untuk terus berkembang. Namun, evolusi ini bukannya tanpa tantangan. Dalam praktiknya, pemeliharaan perangkat lunak menyerap sebagian besar biaya siklus hidup sistem. Artikel ini menggambarkan bagaimana pemeliharaan ( maintenance ) dan evolusi perangkat lunak ( software Evolution ) harus dipandang tidak hanya sebagai tugas teknis, tetapi juga sebagai tantangan manajerial dan strategi yang kompleks.

Penelitian yang dilakukan oleh Keith Bennett dan Vaclav Rajlich ini menyusun peta jalan (roadmap) untuk pengembangan masa depan pemeliharaan dan evolusi perangkat lunak selama 10 tahun ke depan. Peta jalan ini memperkenalkan model secara bertahap, mendalami tantangan empiris, dan menjawab kebutuhan organisasi modern dalam lanskap bisnis yang berubah dengan cepat.

Definisi dan Ruang Lingkup

Definisi Pemeliharaan

Menurut IEEE 1219, pemeliharaan perangkat lunak adalah:

"Modifikasi pada perangkat lunak setelah pengiriman untuk memperbaiki kesalahan, meningkatkan kinerja atau atribut lainnya, atau beradaptasi dengan lingkungan yang telah berubah."

ISO/IEC 12207 juga menekankan bahwa aktivitas ini terjadi setelah perangkat lunak dirilis.

Evolusi Perangkat Lunak

Evolusi mencakup proses yang lebih besar dan dinamis dibandingkan pemeliharaan. Hal ini berkaitan dengan perubahan signifikan yang memerlukan pemahaman mendalam terhadap sistem, domain aplikasi, dan arsitektur. Evolusi dianggap sebagai fase dalam model bertahap , yaitu model siklus hidup perangkat lunak bertahap yang dijelaskan pada bagian berikut.

Peta Jalan Penelitian: Model yang Dipentaskan

Lima Tahapan Siklus Hidup Perangkat Lunak

Keith Bennett dan Vaclav Rajlich memperkenalkan Staged Model sebagai alternatif dari model klasik Lientz dan Swanson. Model Bertahap membagi siklus hidup perangkat lunak menjadi lima tahap:

  1. Perkembangan Awal (Pengembangan Awal):

    • Pengembangan versi pertama sistem.

    • Penetapan arsitektur dan akumulasi pengetahuan tim.

  2. Evolusi (Evolusi):

    • Tahap utama perubahan besar dan penyesuaian.

    • Didukung oleh arsitektur fleksibel dan pengetahuan tim yang masih utuh.

  3. Pelayanan (Perawatan):

    • Hanya perubahan kecil yang dapat dilakukan.

    • Umumnya terjadi ketika arsitektur rusak dan kunci pribadi telah hilang ( kehilangan pengetahuan ).

  4. Penghapusan secara bertahap (Penghentian Bertahap):

    • Sistem masih digunakan tetapi tidak diperbarui lagi.

  5. Penutupan (Penutupan):

    • Sistem dihentikan sepenuhnya, pengguna diarahkan ke solusi baru.

Versi Lanjutan: Model Bertahap Berversi

Model ini menekankan bahwa versi baru dari perangkat lunak akan dikembangkan selama fase evolusi, tetapi versi lama hanya akan tersedia. Cocok untuk model distribusi perangkat lunak shrink-wrapped seperti sistem operasi dan perangkat lunak konsumen.

Tantangan di Setiap Tahap

Pengembangan Awal

  • Menentukan arsitektur yang memungkinkan masa depan.

  • menyimpan dan mendokumentasikan pengetahuan tim.

  • Menggunakan bahasa deskripsi arsitektur (ADLs) dan pola desain untuk dokumentasi arsitektur eksplisit.

Evolusi

  • Perubahan besar terjadi tanpa merusak sistem.

  • Menjaga arsitektur dan pengetahuan tetap utuh.

  • Tantangan utama: mempertahankan tim ahli dan memahami interaksi antar fitur ( fitur interaksi masalah ).

Servis

  • Didominasi oleh perawatan minor (patch, bug fix).

  • Dilakukan oleh staf baru dengan pengetahuan parsial.

  • Butuh alat bantu pemahaman program dan manajemen perubahan:

    • Analisis dampak

    • Alat visualisasi kode

    • Pengujian regresi

Proses Perubahan: Perubahan Mini-Cycle

Setiap perubahan perangkat lunak melibatkan siklus mini:

  1. Permintaan Perubahan

  2. Perencanaan

  3. Pemahaman Program

  4. Analisis Dampak

  5. Implementasi Perubahan

  6. Restrukturisasi

  7. Propaganda Perubahan

  8. Verifikasi & Validasi

  9. Redokumentasi

Catatan: Tahap pemahaman program menyita 50% lebih waktu pemeliharaan. Oleh karena itu, dokumentasi dan alat bantu visual menjadi penting untuk efisiensi.

Sistem Warisan dan Reengineering

Definisi Sistem Legacy

"Perangkat lunak yang sangat penting bagi organisasi, tetapi tidak diketahui bagaimana harus ditangani."

Sering kali sistem ini tidak terdokumentasi dengan baik, sulit dimodifikasi, namun tetap digunakan karena nilai bisnisnya.

Masalah Rekayasa Ulang

  • Tidak selalu hemat biaya

  • Butuh tenaga ahli yang mahal

  • Kode sumber belum tentu tersedia

  • Arsitektur lama belum tentu relevan

  • Teknologi baru pun belum terbukti lebih mudah dipelihara

Strategi Baru: Migrasi

Alih-alih hanya fokus pada kode, pendekatan migrasi mempertimbangkan keseluruhan sistem termasuk data, arsitektur, dan proses organisasi.

Perubahan Paradigma: Perangkat Lunak sebagai Layanan

Organisasi modern (terutama e-business) menuntut:

  • Kecepatan rilis (time-to-market) dalam hitungan hari

  • Kemampuan perubahan cepat dan fleksibel

  • Biaya kepemilikan (TCO) yang rendah

Model produk tradisional (perangkat lunak sebagai produk statistik) sudah tidak cocok. Maka memulai:

  • Perangkat Lunak sebagai Layanan (SaaS)

  • Layanan terfederasi : sistem yang dibentuk dari layanan kecil yang hanya digabungkan saat runtime (mirip routing telepon internasional).

Fokus Penelitian Masa Depan

Tantangan Utama

  • Mendesain arsitektur yang mendukung evolusi jangka panjang

  • Menjaga dan mentransfer pengetahuan tim pengembang

  • Meningkatkan alat bantu pemahaman program

  • Menyusun model prediksi dan estimasi biaya perubahan

  • Menyelaraskan teknologi dengan kebutuhan bisnis

Integrasi Multidisiplin

Evolusi perangkat lunak ke depan akan menjadi bidang yang sangat interdisipliner, mencakup:

  • Teknologi

  • Psikologi organisasi

  • Manajemen proses bisnis

  • Hukum dan etika digital

  • Interaksi manusia-komputer

Pemeliharaan dan evolusi perangkat lunak bukanlah tahap akhir dalam pengembangan, tetapi proses keberlanjutan yang krusial bagi kelangsungan bisnis. Model bertahap yang diperkenalkan memberikan pemahaman mendalam akan dinamika perubahan sistem. Solusi masa depan memerlukan pendekatan radikal, fleksibel, dan lintas disiplin, menjadikan evolusi perangkat lunak sebagai pusat dari rekayasa perangkat lunak modern.

Referensi 

Bennett, KH, & Rajlich, VT (2000). Pemeliharaan dan evolusi perangkat lunak: Sebuah peta jalan . Dalam A. Finkelstein (Ed.), Prosiding Konferensi tentang Masa Depan Rekayasa Perangkat Lunak (hlm. 73--87). ACM. https://doi.org/10.1145/336512.336534


IEEE (1993). Standar IEEE untuk Pemeliharaan Perangkat Lunak (IEEE Std. 1219-1993) . Masyarakat Komputer IEEE.

ISO/IEC. (1995). ISO/IEC 12207: Teknologi Informasi---Proses Siklus Hidup Perangkat Lunak . Organisasi Internasional untuk Standardisasi.

Lientz, BP, & Swanson, EB (1980). Manajemen Pemeliharaan Perangkat Lunak . Addison-Wesley.

Lehman, MM (1980). Mengenai pemahaman hukum, evolusi dan konservasi dalam siklus hidup program besar. Jurnal Sistem dan Perangkat Lunak, 1 (3), 213--221.

Lehman, MM (1985). Evolusi Program: Proses Perubahan Perangkat Lunak . Academic Press.

Bohner, SA, & Arnold, RS (Eds.). (1996). Analisis Dampak Perubahan Perangkat Lunak . IEEE Computer Society Press.

Fjeldstad, RK, & Hamlen, WT (1982). Studi pemeliharaan program aplikasi: Laporan kepada responden kami. Dalam G. Parikh & N. Zvegintzov (Eds.), Tutorial tentang Pemeliharaan Perangkat Lunak (hlm. 13--30). IEEE Computer Society Press.

Sneed, HM (1995). Perencanaan rekayasa ulang sistem lama. Perangkat Lunak IEEE, 12 (1), 24--34.

Fan, R., & Rajlich, V. (1999). Menghapus klon dari kode. Jurnal Pemeliharaan Perangkat Lunak: Penelitian dan Praktik, 11 (4), 223--243.

Rajlich, V., & Varadarajan, S. (1999). Menggunakan web untuk anotasi perangkat lunak. Jurnal Internasional Rekayasa Perangkat Lunak dan Rekayasa Pengetahuan, 9 (1), 55--72.

Follow Instagram @kompasianacom juga Tiktok @kompasiana biar nggak ketinggalan event seru komunitas dan tips dapat cuan dari Kompasiana. Baca juga cerita inspiratif langsung dari smartphone kamu dengan bergabung di WhatsApp Channel Kompasiana di SINI

HALAMAN :
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
Mohon tunggu...

Lihat Konten Ilmu Alam & Tekno Selengkapnya
Lihat Ilmu Alam & Tekno Selengkapnya
Beri Komentar
Berkomentarlah secara bijaksana dan bertanggung jawab. Komentar sepenuhnya menjadi tanggung jawab komentator seperti diatur dalam UU ITE

Belum ada komentar. Jadilah yang pertama untuk memberikan komentar!
LAPORKAN KONTEN
Alasan
Laporkan Konten
Laporkan Akun