Tugas10 RPL : Pemeliharaan Software

Pendahuluan

Istilah pemeliharaan perangkat lunak digunakan untuk menjabarkan aktivitas dari analis sistem (software engineering) yang terjadi pada saat hasil produk perangkat lunak sudah dipergunakan oleh pemakai (user). Biasanya pengembangan produk perangkat lunak memerlukan waktu antara 1 sampai dengan 2 tahun, tetapi pada pase pemeliharaan perangkat lunak menghabiskan 5 sampai dengan 10 tahun. Aktivitas yang terjadi pada pase pemeliharaan antara lain :

 

Penambahan atau peningkatan atau juga perbaikan untuk produk perangkat lunak, meliputi :

1. penambahan fungsi-fungsi baru

 

2. perbaikan tampilan dan modus interaktif

 

3. perbaharui dokumen ekstemal

 

4. perbaharui dokumentasi internal

5. perbaharui karakteristik perfomansi dari sistem

 

Adaptasi produk dengan lingkungan mesin yang baru, meliputi :

1. pemindahan perangkat lunak ke mesin yang berlainan

2. modifikasi untuk dapat mempergunakan protokol atau disk drive tambahan.

Pembetulan permasalahan yang timbul, meliputi :

1. pembenaran kesalahan yang timbul setelah produk perangkat lunak dipergunakan oleh user (pemakai).

Aktivitas pemeliharaan menghabiskan biaya terbesar dari seluruh anggaran pengembangan atau pembuatan perangkat lunak. Hal ini merupakan yang sering kali terjadi jika pemeliharaan menghabiskan 70% Bari seluruh biaya pengembangan perangkat lunak. Sedangkan pada pase pemeliharaan sekitar 60% digunakan untuk anggaran penambahan atau perbaikan perangkat lunak, sisanya untuk adaptasi atau pembetulan. Dari besarnya biava yang dihabiskan untuk pase pemeliharaan maka tidak heran apabila tujuan dari pengembangan atau pembuatan perangkat lunak adalah menghasilkan sistem perangkat lunak yang dapat diandalkan dan mudah dalam pemeliharaannya. Atribut utama dari perangkat lunak yang mudah dalam pemeliharaan adalah:

–          perangkat lunak dikerjakan per modul

–          perangkat lunak mempunyai kejelasan

–          dokumentasi internal yang baik dan jelas

–          dokumen-dokumen pendukung lainnya
Alasan 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 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 pemelihara.

Pemeliharaan perangkat lunak jika ditinjau dari daur siklus pengembangan perangkat lunak dapat dikelompokkan sebagai herikut:

–    perluasan dan analisis merupakan perwujudan kembali dari fase analisis pada daur siklus pengembangan.

–    pembenaran merupakan perwujudan kembali dari fase analisis, perancangan dan penerapan.

 

Selain itu juga seluruh alat bantu yang digunakan pada pengembangan perangkat lunak dapat digunakan pada pemeliharaan perangkat lunak.

 

Aktivitas analisis selama pemeliharaan perangkat lunak meliputi: Pengertian skope dan pengaruh yang ditimbulkan akibat dari perubahan, selain itu juga batasan (kendala) yang terjadi akibat perubahan. Sedangkan pada perancangan dan fase pemeliharaan meliputi perancangan kembali dari perubahan-perubahan yang diinginkan, dimana perubahan ini akan diterapkan sehingga menyebabkan dokumentasi internal dan program sumber juga harus diperbaharui, dan test case yang baru harus dirancang untuk memulai keakuratan hasil modifikasi, Selama itu juga dokumen pendukung (keperluan, spesifikasi perancangan, rencana uji coba, prinsip pengoperasian, petunjuk pemakaian) harus diperbaharui untuk memperlihatkan hasil perubahan.

 

Pemeliharaan Perangkat Lunak adalah proses umum pengubahan/pengembangan perangkat lunak setelah diserahkan ke konsumen. Perubahan mungkin berupa perubahan sederhana untuk membetulkan error koding atau perubahan yg lebih ekstensif untuk membetulkan error perancangan/perbaikan signifikan untuk membetulkan error spesifikasi/akomodasi persyaratan baru.

 

Jenis-Jenis Pemeliharaan Software

1. Corrective (perubahan yang dilakukan guna memperbaiki kesalahan)

Perawatan perangkat lunak korektif melibatkan mengembangkan dan menyebarkan solusi untuk masalah (“bug”) yang timbul selama penggunaan program perangkat lunak. Pengguna komputer akan melihat masalah kinerja dengan perangkat lunak, seperti pesan error yang datang pada layar atau program pembekuan atau menabrak, berarti perawatan perangkat lunak perbaikan perlu dilakukan. Seringkali perbaikan ini secara permanen memecahkan masalah, tetapi tidak selalu. Beberapa perbaikan bertindak sebagai solusi sementara sambil pemrogram komputer bekerja pada solusi yang lebih permanen.

 

2. Perfective (perubahan untuk meningkatkan kualitas sistem tanpa merubah fungsinya)

Tidak ada program perangkat lunak yang berisi nol kekurangan atau area yang perlu diperbaiki. Perawatan perangkat lunak perfektif melibatkan pemrogram komputer bekerja untuk meningkatkan cara fungsi program perangkat lunak atau seberapa cepat proses permintaan. Programmer juga dapat terlibat dalam perawatan perangkat lunak perfektif untuk meningkatkan tata letak menu perangkat lunak dan antarmuka perintah. Terkadang programmer perlu melakukan pemeliharaan perfektif pada perangkat lunak karena pengaruh luar, seperti peraturan pemerintah baru yang mempengaruhi bagaimana bisnis beroperasi.

 

3. Adaptive (perawatan berdasarkan perubahan lingkungan)

Bidang teknologi terus berubah melalui hardware dan pengembangan perangkat lunak. Perawatan perangkat lunak Adaptive mengatasi perubahan ini. Perubahan dalam kecepatan prosesor, misalnya, akan mempengaruhi bagaimana perangkat lunak melakukan pada sebuah komputer. Software berinteraksi dengan program perangkat lunak lain pada komputer atau jaringan, yang berarti perubahan dalam satu program dapat memerlukan perubahan dalam program lain. Seorang pengguna akhirnya akan memperkenalkan perangkat lunak baru ke komputer atau jaringan, yang juga dapat mempengaruhi bagaimana perangkat lunak lain yang sudah ada beroperasi.

 

4. Preventative (Meningkatkan reliability, future maintainability, future enhancement  (reverse engineering dan re-engineering))

Ketika pemrogram komputer terlibat dalam perawatan perangkat lunak preventif mereka mencoba untuk mencegah masalah dengan program perangkat lunak sebelum terjadi. Programmer berusaha mencegah pemeliharaan korektif sebanyak mungkin, sementara juga mengantisipasi kebutuhan pemeliharaan adaptif sebelum pengguna mengalami masalah. Programer komputer yang pengujian perangkat lunak, sebagai perusahaan otomotif menguji kendaraan yang mereka buat, untuk memastikan perangkat lunak dapat menangani beban data yang tinggi dan operasi stres lain tanpa masalah. Programmer komputer juga menguji perangkat lunak dengan pengguna program lain kemungkinan akan digunakan pada komputer mereka, membuat masalah kompatibilitas yakin tidak muncul.

 

Manfaat Pemeliharaan Software

Ada beberapa manfaat dari pemeliharaan software, yaitu sebagai berikut :

1. Dapat memastikan kesesuaian dengan kebutuhan fungsionalitas teknis software.

2. Dapat memastikan kesesuaian kebutuhan pihak manajerial mengenai jadwal dan budget.

3. Dapat meningkatkan efisiensi software berikut juga aktifitas pemeliharaannya.
Referensi :

http://www.ehow.com/list_6632907_types-software-maintenance.html

http://aandaru.wordpress.com/2011/11/10/pengertin-pemeliharaan-perangkat-lunak/
http://rangkuman-pengetahuan.blogspot.com/2013/02/pemeliharaan-perangkat-lunak-software.html

 

Print Friendly, PDF & Email

Tugas 01 RPL : Waterfall Model

Model ini sering disebut dengan “classic life cycle” atau model waterfall, merupakan model yang paling banyak dipakai didalam Software Engineering (SE). Model ini melakukan pendekatan secara sistematis dan urut mulai dari level kebutuhan sistem lalu menuju ke tahap analisis, desain, coding, testing / verification, dan maintenance. Disebut dengan waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan. Sebagai contoh tahap desain harus menunggu selesainya tahap sebelumnya yaitu tahap requirement. Secara umum tahapan pada model waterfall dapat dilihat pada gambar berikut :

Gambar di atas adalah tahapan umum dari model proses ini. Akan tetapi Roger S. Pressman memecah model ini menjadi 6 tahapan meskipun secara garis besar sama dengan tahapan-tahapan model waterfall pada umumnya. Berikut adalah penjelasan dari tahap-tahap yang dilakukan di dalam model ini menurut Pressman:

  • System / Information Engineering and Modeling. Permodelan ini diawali dengan mencari kebutuhan dari keseluruhan sistem yang akan diaplikasikan ke dalam bentuk software. Hal ini sangat penting, mengingat software harus dapat berinteraksi dengan elemen-elemen yang lain seperti hardware, database, dsb. Tahap ini sering disebut dengan Project Definition.
  • Software Requirements Analysis. Proses pencarian kebutuhan diintensifkan dan difokuskan pada software. Untuk mengetahui sifat dari program yang akan dibuat, maka para software engineer harus mengerti tentang domain informasi dari software, misalnya fungsi yang dibutuhkan, user interface, dsb. Dari 2 aktivitas tersebut (pencarian kebutuhan sistem dan software) harus didokumentasikan dan ditunjukkan kepada pelanggan.
  • Design. Proses ini digunakan untuk mengubah kebutuhan-kebutuhan diatas menjadi representasi ke dalam bentuk “blueprint” software sebelum coding dimulai. Desain harus dapat mengimplementasikan kebutuhan yang telah disebutkan pada tahap sebelumnya. Seperti 2 aktivitas sebelumnya, maka proses ini juga harus didokumentasikan sebagai konfigurasi dari software.
  • Coding. Untuk dapat dimengerti oleh mesin, dalam hal ini adalah komputer, maka desain tadi harus diubah bentuknya menjadi bentuk yang dapat dimengerti oleh mesin, yaitu ke dalam bahasa pemrograman melalui proses coding. Tahap ini merupakan implementasi dari tahap design yang secara teknis nantinya dikerjakan oleh programmer.
  • Testing / Verification. Sesuatu yang dibuat haruslah diujicobakan. Demikian juga dengan software. Semua fungsi-fungsi software harus diujicobakan, agar software bebas dari error, dan hasilnya harus benar-benar sesuai dengan kebutuhan yang sudah didefinisikan sebelumnya.
  • Maintenance. Pemeliharaan suatu software diperlukan, termasuk di dalamnya adalah pengembangan, karena software yang dibuat tidak selamanya hanya seperti itu. Ketika dijalankan mungkin saja masih ada errors kecil yang tidak ditemukan sebelumnya, atau ada penambahan fitur-fitur yang belum ada pada software tersebut. Pengembangan diperlukan ketika adanya perubahan dari eksternal perusahaan seperti ketika ada pergantian sistem operasi, atau perangkat lainnya.

Mengapa model ini sangat populer??? Selain karena pengaplikasian menggunakan model ini mudah, kelebihan dari model ini adalah ketika semua kebutuhan sistem dapat didefinisikan secara utuh, eksplisit, dan benar di awal project, maka SE dapat berjalan dengan baik dan tanpa masalah. Meskipun seringkali kebutuhan sistem tidak dapat didefinisikan seeksplisit yang diinginkan, tetapi paling tidak, problem pada kebutuhan sistem di awal project lebih ekonomis dalam hal uang (lebih murah), usaha, dan waktu yang terbuang lebih sedikit jika dibandingkan problem yang muncul pada tahap-tahap selanjutnya.

Meskipun demikian, karena model ini melakukan pendekatan secara urut / sequential, maka ketika suatu tahap terhambat, tahap selanjutnya tidak dapat dikerjakan dengan baik dan itu menjadi salah satu kekurangan dari model ini. Selain itu, ada beberapa kekurangan pengaplikasian model ini, antara lain adalah sebagai berikut:

  • Ketika problem muncul, maka proses berhenti, karena tidak dapat menuju ke tahapan selanjutnya. Bahkan jika kemungkinan problem tersebut muncul akibat kesalahan dari tahapan sebelumnya, maka proses harus membenahi tahapan sebelumnya agar problem ini tidak muncul. Hal-hal seperti ini yang dapat membuang waktu pengerjaan SE.
  • Karena pendekatannya secara sequential, maka setiap tahap harus menunggu hasil dari tahap sebelumnya. Hal itu tentu membuang waktu yang cukup lama, artinya bagian lain tidak dapat mengerjakan hal lain selain hanya menunggu hasil dari tahap sebelumnya. Oleh karena itu, seringkali model ini berlangsung lama pengerjaannya.
  • Pada setiap tahap proses tentunya dipekerjakan sesuai spesialisasinya masing-masing. Oleh karena itu, ketika tahap tersebut sudah tidak dikerjakan, maka sumber dayanya juga tidak terpakai lagi. Oleh karena itu, seringkali pada model proses ini dibutuhkan seseorang yang “multi-skilled”, sehingga minimal dapat membantu pengerjaan untuk tahapan berikutnya.

Model ini paling tepat digunakan untuk proyek yang besar dan membutuhkan perencanaan yang matang.

Print Friendly, PDF & Email

Tugas Pengantar Multimedia


Soal

1)     Berapakah ukuran file yang akan dihasilkan jika anda merekam audio dengan menggunakan resolusi 16-bit stereo, dengan sampling rate 22,05 kHz, selama 5 menit?

2)     Apa yang dimaksud MIDI? Apa keuntungan penyimpanan data audio memakai MIDI?

3)     Apa perbedaan antara tipe bitmap image dan voctor image? Sertakan contoh gambarnya!

4)     Secara garis besar image  dibagi 4: monochrome, gray-scale, 8-bit, dan 24-bit color image. Jelaskan dan beri contoh!

5)     Apa beda color-depth dan resolusi pada image?

6)     Misal: image dibuat dengan color depth 24-bit resolusi 800 X 600.

Hitung: ukuran file yang dihasilkan image tersebut!

7)     Apakah anti-aliasing pada image?

8)     Jelaskan tentang model warna pada printer!

9)     Jelaskan perbedaan warna antara model RGB, HSV, HSL!

10)Sebutkan fitur  pada software yang biasanya menggunakan model HSV dan HSL!

 

Jawaban

1)     Stereo=samplingRate*durationOfRecording*(bitResolution/8)*2

= (22,05*1000)*(5*60)*(16/8)*2

= 22050*300*2*2 = 26.460.000 byte = 26,46 MB

2)     MIDI adalah singkatan dari Musical Instrument Digital Interface. MIDI merupakan sebuah standar perangkat keras dan perangkat lunak internasional untuk bertukar data (seperti, kode musik dan MIDI Event).

Di antara perangkat musik elektronik dan komputer dari merek yang berbeda. Keuntungan penyimpanan data audio memakai MIDI diantaranya adalah tidak memerlukan capture dan menyimpan suara tang sebenarnya, ukuran file MIDI sangat kecil dibandingkan dengan file audio, dan MIDI mudah dibuat dengan perangkat lunak tertentu di komputer.

3)     Bitmap Image atau yang sering juga disebut raster adalah gambar yang terdiri dari sekumpulan titik-titik (pixel) yang berdiri sendiri dan mempunyai warna sendiri pula yang membentuk sebuah gambar.

Gambar bitmap sangat bergantung pada resolusi. Jika gambar diperbesar maka gambar akan tampak kurang halus sehingga mengurangi detailnya. Selain itu gambar bitmap akan mempunyai ukuran file yang lebih besar. Semakin besar resolusi gambar akan semakin besar pula ukuran filenya. Contoh bitmap image :

Vektor Image adalah gambar yang dibuat dari unsur garis dan kurva yang disebut vektor. Kumpulan dari beberapa garis dan kurva ini akan membentuk suatu obyek atau gambar.Gambar vektor tidak tergantung pada resolusi. Kita dapat memperbesar atau memperkecil ukuran gambar tanpa kehilangan detail gambarnya. Disamping itu gambar vektor akan mempunyai ukuran file yang lebih kecil dan dapat diperbesar atau diperkecil bentuknya tanpa merubah ukuran filenya. Contoh vektor image

Gambar dengan tampilan 100%

Gambar dengan tampilan 500%

4)     Monochrome Image merupakan sebuah citra yang hanya terdiri dari warna hitam dan putih yang diwakili oleh bit 0 dan 1. Contoh monochrome image :

Gray-scaleImage merupakan sebuah citra yang hanya terdiri dari warna abu-abu yang memiliki tingkat keabuan (gray scale) yang berbeda-beda. Contoh gray-scale image :

8-bit color image digunakan sebagai metode untuk merepresentasikan gambar yang tiap pixel-nya terdiri dari 8 bit data warna. Jumlah maximum warna yang bisa ditampilkan dalam 1 waktu adalah 256 warna. Contoh 8-bit color image :

24-bit color image merupakan format gambar yang menggunakan 24 bits untuk merepresentasikan warna pada tiap pixel. Setiap komponen RGB disimpan sebagai integer 8-bit, sehingga total memerlukan 24 bit. Hal ini digunakan agar dapat menciptakan suatu warna yang detail. Contoh 24-bit color image :

5)     Image resolution adalah jumlah pixel per inci semakin tinggi resolusi semakin baik kualitasnya, sedangkan color-depthadalah jumlah bit yang digunakan untuk merepresentasikan sebuah warna dalam sebuah pixel.

6)     Image dengan color depth 24 bit dan resolusi 800×600.Maka ukuran file yang akan dihasilkan kurang lebih :

Ukuran File = 800 x 600 x (24/8) = 1.440.000 Byte = 1,44 MB

7)     Anti aliasing adalah teknik penghalusan pada bagian-bagian tertentu dalam suatu gambar. Misal pada bagian yang runcing, pada perpotongan garis, pada bentuk sehingga akan tampak lebih halus.

8)     Model warna yang digunakan pada peralatan printer adalah CMYK (Cyan, Magenta, Yellow, and Key). CMYK ini juga sering disebut sebagai warna proses atau empat warna. Warna CMYK ini umum dipergunakan dalam pencetakan berwarna.

9)     RGB merupakan sebuah model pewarnaan dimana cahaya merah, hijau, dan biru ditambahkan untuk menghasilkan variasi warna yang sangat banyak.

HSV dan HSL menyusun kembali bentuk RGB agar lebih intuitif. Model pewarnaan HSV dan HSL dapat mengatur intensitas dan tingkat kecerahan warna.

10)Fitur pada software yang biasanya menggunakan model warna HSV dan HSL adalah Colors Selection.

 

Print Friendly, PDF & Email