Anda di halaman 1dari 14

OUTLINE SOFTWARE MAINTANCE

Oleh :

Ivana Ananda Savitri - 18101152630158

UNIVERSITAS PUTERA INDONESIA “YPTK” PADANG

FAKULTAS ILMU KOMPUTER

TEKNIK INFORMATIKA
2019KATA PENGANTAR

Assalamualaikum Warahmatullah Wabarakaatuh.

Alhamdulillahi rabbil ‘alamin. Puji syukur ke hadirat Allah SWT yang

telah melimpahkan rahmat, hidayah, hikmah islam dan nikmat iman. Tak lupa

pula shalawat, serta salam kepada Nabi besar kita Muhammad SAW, untuk

sahabat sahabat dan keluarga beliau, untuk ulama ulama, imam imam mujtahid

dan pengikut pengikut beliau pada masa yang akan datang.

Dalam pembuatan Makalah ini, penulis menyadari bahwa Karya Tulis ini

masih jauh dari sempurna. Oleh karena itu, kritik dan saran sangat penulis

harapkan demi kemajuan penulis. Dan semoga Makalah ini dapat bermanfaat bagi

kita semua. Amin.

Wassalamualaikum Warahmatullah Wabarakaatuh.

Penulis,

1
DAFTAR ISI

JUDUL......................................................................................................i

KATA PENGANTAR...............................................................................ii

DAFTAR ISI.............................................................................................iii

BAB I PENDAHULUAN

A....................................................................................................La

tar Belakang...............................................................................................1
B.....................................................................................................Ru

musan Masalah..........................................................................................2
C.....................................................................................................Tu

juan Penulisan............................................................................................2

BAB II PEMBAHASAN

A....................................................................................................Tu

juan Software Maintenance.......................................................................3


B.....................................................................................................Pe

nganggaran Biaya Maintenance................................................................3


C.....................................................................................................Je

nis – Jenis Software Maintenance.............................................................4


D....................................................................................................Te

knik Pemeliharaan Perangkat Lunak.........................................................6


E.....................................................................................................Re

verse Engineering......................................................................................7
F.....................................................................................................H

ukum Lehman............................................................................................9
G....................................................................................................Ke

lebihan dan Kekurangan Rational Unified Process (RUP)........................10

BAB III PENUTUP

2
A....................................................................................................Ke

simpulan....................................................................................................12
B.....................................................................................................Sa

ran..............................................................................................................12

3
DAFTAR PUSTAKABAB I

PENDAHULUAN

A. LATAR BELAKANG
Pemeliharaan Software adalah proses umum perubahan atau

pengembangan perangkat lunak setelah diberikan kepada konsumen.

Perubahan dapat berupa perubahan sederhana untuk memperbaiki

error coding atau perubahan yang lebih ekstensif untuk mamperbaiki

error yang terjadi pada perancangan atau perbaikan signifikan untuk

mamperbaiki error dalam spesifikasi atau akomodasi persyaratan baru.


Atau dapat didefinisikan sebagai suatu kombinasi dari berbagai

tindakan yang dilakukan untuk menjaga suatu sistem atau

memperbaikinya sampai, suatu kondisi yang bisa diterima. Pada bulan

April 1970 yang didefinisikan menjadi sebuah istilah untuk Teknologi

Pemeliharaan yang mencakup pengertian yang lebih luas dari

pengertian pemeliharaan diatas istilah ini disebut Teroteknologi.


Teroteknologi merupakan siklus terakhir dari SDLC dengan

pemeriksaan periodik, audit, dan permintaan pengguna akan menjadi

source untuk melakukan perawatan system diseluruh system.


Istilah pemeliharaan perangkat lunak digunakan untuk

menjabarkan aktivitas dari analis sistem (System Analist) yang terjadi

pada saat hasil produk perangkat lunak yang sudah digunakan oleh

pemakai (user).
Biasanya pengembangan produk perangkat lunak memerlukan

waktu antara satu sampai dua tahun, tetapi pada fase pemeliharaan

perangkat lunak menghabiskan lima sampai sepuluh tahun.

1
B. Rumusan Masalah
1. Apa tujuan Software Maintance?
2. Bagaimana penganggaran biaya Maintance?
3. Apa jenis-jenis Software Maintance?
4. Bagaimana teknik pemeliharaan perangkat lunak?
5. Bagaimana eserve Engineering?
6. Apa Hukum Lehman?
7. Bagaimana Code Refactor?

C. Tujuan Penulisan

2
Sebagai tugas mata kuliah Rekayasa Perangkat Lunak.BAB II
PEMBAHASAN

A. Tujuan Software Maintance


 Untuk memperpanjang usia kegunaan asset dari system

tersebut. Hal ini sangat penting untuk negara berkembang karena

kurangnya sumber daya modal untuk menggantinya. Dinegara maju

terkadang lebih menguntungkan bagi mereka untuk ‘mengganti’

daripada ‘memelihara’.
 Untuk menjamin ketersediaan optimum peralatan
 Untuk menjamin kesiapan operasional dari seluruh

peralatan yang diperlukan dalam keadaan darurat setiap waktu.


 Untuk menjamin keselamatan orang yang menggunakan

sarana tersebut.

B. Penganggaran Biaya Maintance


Biaya pemeliharaan sistem sering kali diabaikan. Kenyataannya

biaya pemeliharaan sistem merupakan biaya yang cukup besar. Biaya

pemeliharaan perangkat lunak terus meningkat selama kurang lebih 25

tahun terakhir ini. Beberapa perusahaan membelanjakan 80% atau lebih

dari anggaran sistem mereka untuk pemeliharaan perangkat lunak.


Kenapa biaya pemeliharaan lebih tinggi dari pada biaya

pengembangan, berikut adalah beberapa faktor yang menyebabkannya :


1. Stabilitas Tim, biasanya tim pengembang dan tim pemelihara adalah

orang yang berbeda karena tim pengembang biasanya sudah lari ke proyek

baru sehingga tim pemeliharanya tidak begitu paham atas sistem yang

dikembangkan.
2. Tanggung Jawab Kontrak, kontrak bagi pengembang dan pemelihara

kebanyakan terpisah atau diberikan kepada perusahaan yang berbeda dan

3
bahkan bukan pengembang sistem aslinya, akibatnya tidak ada insentif

bagi pengembang untuk membuat sistem yang mudah untuk diubah.


3. Keahlian Staff, staff pemelihara kebanyakan tidak berpengalaman dalam

hal pemeliharaan software dan staff pemelihara sering diaangap tidak

memerlukan keahlian yang mendalam di bidang software.


4. Umur dan Struktur Program, program yang sudah tua biasanya

strukturnya sudah terdegradasi oleh perkembangan jaman sehingga sangat

sulih dipahami oleh pemeliharan

C. Jenis – Jenis Software Maintance


Pemeliharaan sistem dapat digolongkan menjadi empat jenis, yaitu : 1)

Pemeliharaan Korektif (Corrective Maintenance)


Pemeliharaan korektif adalah bagian pemeliharaan sistem yang

tidak begitu tinggi nilainya dan lebih membebani, karena

pemeliharaan ini mengkoreksi kesalahan-kesahan yang ditemukan

pada saat sistem berjalan.


Umumnya pemeliharaan korektif ini mencakup kondisi penting

atau bahaya yang memerlukan tindakan segera. Kemampuan untuk

mendiagnosa atau memperbaiki kesalahan atau malfungsi dengan

cepat sangatlah berharga bagi perusahaan.


2) Pemeliharaan Adaptif (Adaptive Maintenance)
Pemeliharaan adaptif dilakukan untuk menyesuaikan perubahan

dalam lingkungan data atau pemrosesan dan memenuhi persyaratan

pemakai baru.
Lingkungan tempat sistem beroperasi adalah dinamik, dengan

demikian, system harus terus merespon perubahan persyaratan pemakai.


3) Pemeliharaan Perfektif/Penyempurnaan (Perfective Maintenance)
Pemeliharaan penyempurnaan mempertinggi cara kerja atau

maintainabilitas (kemampuan untuk dipelihara). Tindakan ini juga

4
memungkinkan sistem untuk memenuhi persyaratan pemakai yang

sebelumnya tidak dikenal. Ketika membuat perubahan substansial

modul apapun, petugas pemeliharaan juga menggunakan kesempatan

untuk mengupgrade kode, mengganti cabang-cabang yang kadaluwarsa,

memperbaiki kecerobohan, dan mengembangkan dokumentasi.


4) Pemeliharaan Preventif (Preventif Maintenance)
Pemeliharaan Preventif terdiri atas inspeksi periodik dan

pemeriksaan system untuk mengungkap dan mengantisipasi

permasalahan. Karena personil pemeliharaan sistem bekerja dalam

sistem ini, mereka seringkali menemukan cacat-cacat (bukan kesalahan

yang sebenarnya) yang menandakan permasalahan potensial. Sementara

tidak memerlukan tindakan segera, cacat ini bila tidak dikoreksi di

tingkat awal, jelas sekali akan mempengaruhi baik fungsi sistem

maupun kemampuan untuk memeliharanya dalam waktu dekat.

D. Teknik Pemeliharaan Perangkat Lunak


Teknik pemeliharaan yang biasa dilakukan pada perangkat lunak,

pada dasarnya tidak ada teknik atau metode yang 100% pasti. Hal itu

dikarenakan pemeliharaan dilakukan sebagai solusi dari masalah yang

muncul. Dengan kata lain, pemeliharaan mungkin tidak diperlukan andai

tidak ada masalah yang muncul. Tetapi, ada beberapa teknik yang dapat

dilakukan dalam pemeliharaan perangkat lunak. Berikut beberapa

diantaranya.
1. Perbaikan:
Yang dimaksud perbaikan adalah satu jenis pemeliharaan yang

biasanya dilakukan saat ada masalah berkaitan dengan perangkat lunak

tersebut. Semisal suatu perangkat lunak untuk Android ternyata tidak

5
bisa digunakan di salah satu ponsel Android, maka perbaikan

perangkat lunak menjadi hal yang penting untuk dilakukan.


2. Peningkatan:
Dalam hal ini, peningkatan sebenarnya cukup mirip dengan

perbaikan. Hanya saja, peningkatan biasanya dilakukan tanpa harus

ada masalah yang muncul terlebih dahulu. Dengan kata lain,

pemeliharaan semacam ini hanya untuk memberikan pelayanan yang

lebih bagi para pengguna perangkat lunak.


3. Penambahan:
Dalam penambahan, biasanya perangkat lunak mendapatkan

beberapa fungsi atau fitur tambahan. Dalam hal ini, beberapa

perangkat lunak memang sering mendapatkan penambahan dalam

kasus pemeliharaan perangkat lunak. Akan tetapi, beberapa perangkat

lunak hanya mendapatkan peningkatan atau perbaikan tanpa butuh

penambahan fitur atau fungsi.


4. Pengurangan:
Hal ini sangat jarang terjadi karena biasanya pengurangan fitur atau

fungsi hanya dilakukan jika fitur atau fungsi tersebut memang tidak

diperlukan. Perlu digarisbawahi, biasanya pemeliharaan semacam ini

dilakukan hanya jika versi terbaru dari perangkat lunak tersebut akan

diluncurkan. Jadi, jangan kaget jika Anda memiliki perangkat lunak

dengan berbagai versi dan ada beberapa fitur atau fungsi yang absen di

perangkat lunak versi terbaru Anda.

E. Reserve Engineering
Rekayasa balik atau rekayasa mundur adalah proses penemuan

prinsip-prinsip teknologi dari suatu perangkat, objek, atau sistem melalui

analisis strukturnya, fungsinya, dan cara kerjanya. Proses ini biasanya

6
melibatkan pemisahan (perangkat mesin, komponen elektronik, program

komputer, atau zat biologi, kimia, atau organik) dan analisis terhadap cara

kerjanya secara terperinci, atau penciptaan perangkat atau program baru

yang memiliki cara kerja yang sama tanpa memakai atau membuat

duplikat (tanpa memahami) benda aslinya. Pada dasarnya, prinsip rekayasa

balik sama dengan penelitian ilmiah, namun objek yang ditelaah berbeda.

Objek yang ditelaah pada riset ilmiah biasanya adalah fenomena alami,

sedangkan pada rekayasa balik, objek yang ditelaah adalah benda buatan

manusia.
Rekayasa balik sudah dilakukan pada zaman ketika analisis

perangkat keras masih bertujuan memperoleh keuntungan komersial atau

militer. Tujuannya adalah mengetahui cara merancang produk akhir

dengan sedikit atau tidak adanya informasi tambahan mengenai prosedur

pembuatan aslinya. Informasi pembuatan produk asli tersebut tidak

tersedia entah karena memang dirahasiakan oleh pembuatnya atau karena

hilang atau rusak.


Teknik yang sama kini diteliti untuk diterapkan pada sistem

perangkat lunak turunan, bukan untuk keperluan industri atau pertahanan,

melainkan untuk menggantikan dokumentasi yang salah, tidak lengkap,

atau belum tersedia.

F. Hukum Lehman
Untuk dapat menjaga kualitas dari perangkat lunak tersebut dalam

melakukan evolusi perangkat lunak, maka dibuatlah ”Laws” dari

7
perangkat lunak tersebut. Adapun ”Laws” dari perangkat lunak tersebut

menurut Lehman adalah :


1. Perubahan yang terus menerus secara kontinyu. Program yang berada

pada lingkungan dunia nyata harus mengalami perubahan atau program

tersebut menjadi tidak berguna pada lingkungan tersebut.


2. Meningkatnya kompleksitas. Seiring dengan berkembangnya sebuah

program maka program tersebut menjadi lebih kompleks. Kemudian

penambahan sumber daya juga dibutuhkan untuk memelihara dan

menyederhanakan struktur programnya. Ada sebuah pernyataan yang

mengatakan : “Most often overlooked risk in software engineering: As the

system grows over time, it will become too complex or disjointed to

understand or make work reliably.” Deutsch (1998).


3. Aturan yang fundamental dari sebuah program evolusi. Pada saat

membuat sebuah program evolusi telah ditentukan ukuran, metriks serta

indikatornya.
4. Tetap dijaga stabilitas dari organisasinya. Sebagai contoh dengan

menambahkan sumber daya (misal manusia) tetapi tidak mengubah p

;roduktivitas.
5. Tetap familiarity. Dimana pada saat membuat fungsi yang baru

perbedaannya tidak jauh dari fungsi-fungsi yang sebelumnya.


G. Code Refactor
Refactoring kode adalah proses merestrukturisasi kode komputer

yang ada (mengubah ke system pabrik) tanpa mengubah perilaku

eksternalnya. Refactoring dimaksudkan untuk meningkatkan atribut

nonfungsional dari perangkat lunak. Keuntungan termasuk peningkatan

pembacaan kode dan pengurangan kompleksitas; ini dapat meningkatkan

8
pemeliharaan kode sumber dan membuat arsitektur internal atau model

objek yang lebih ekspresif untuk meningkatkan ekstensibilitas.

9
Biasanya, refactoring menerapkan serangkaian micro-refactoring dasar

standar, yang masing-masing (biasanya) merupakan perubahan kecil dalam kode

sumber program komputer yang menjaga perilaku perangkat lunak, atau

setidaknya tidak memodifikasi kesesuaiannya dengan persyaratan fungsional.

Banyak lingkungan pengembangan memberikan dukungan otomatis untuk

melakukan aspek mekanis dari refactoring dasar ini. Jika dilakukan dengan baik,

kode refactoring dapat membantu pengembang perangkat lunak menemukan dan

memperbaiki bug atau kerentanan tersembunyi atau tidak aktif dalam sistem

dengan menyederhanakan logika yang mendasarinya dan menghilangkan tingkat

kompleksitas yang tidak perlu. Jika dilakukan dengan buruk, mungkin gagal

persyaratan bahwa fungsi eksternal tidak diubah, memperkenalkan bug baru, atau

keduanya.DAFTAR PUSTAKA

https://docplayer.info/46504765-Pemeliharaan-perangkat-lunak-software-

maintenance.html

https://www.tipstutorialunik.com/2018/11/konsep-dan-teknik-pemeliharaan.html

https://id.wikipedia.org/wiki/Rekayasa_balik

https://en.wikipedia.org/wiki/Code_refactoring

https://docplayer.info/41244270-Software-maintenance.html

10

Anda mungkin juga menyukai