Sabtu, 06 Oktober 2018

Artificial Intelligence (AI)


Apa itu Teknologi Sistem Cerdas?
                         
Pada pembahasan ini kita akan membahas tentang teknologi sistem cerdas, teknologi sendiri adalah
keseluruhan sarana untuk menyediakan barang-barang yang diperlukan bagi kelangsungan, dan kenyamanan hidup manusia. Dan sistem cerdas itu sendiri adalah mesin yang mampu menirukan kemampuan manusia dalam poses pembuatan keputusan. Sistem cerdas juga mempelajari cara bertindak sehingga mampu mencapai tujuannya.

Pada era yang sekarang ini perkembangan teknologi berkembang begitu pesat. Dapat dilihat salah satu contohnya yaitu teknologi sistem cerdas tersebut atau juga sering disebut sistem kecerdasan buatan, yang ditambahkan kepada suatu sistem yang bisa diatur dalam konteks ilmiah (Artificial Intelligence) atau AI.

Pengertian Artificial Intelligence
Artificial Intelligence atau AI dalam bahasa Indonesia artinya Kecerdasan Buatan yaitu kecerdasan yang ditunjukkan oleh suatu entitas ilmiah. Kecerdasan dibuat dan dimasukkan ke dalam suatu mesin/ komputer supaya bisa melakukan pekerjaan seperti yang bisa dikerjakan oleh manusia. Contohnya adalah kemampuan untuk menjawab diagnosa dan pertanyaan pelanggan, perencanaan dan penjadwalan, pengendalian, serta pengenalan tulisan tangan, suara dan wajah. Hal-hal seperti itu telah menjadi disiplin ilmu tersendiri, yang memusatkan perhatian pada penyediaan solusi masalah di kehidupan yang nyata. Terdapat macam-macam bidang yang menggunakan kecerdasan buatan diantaranya yaitu: game komputer, sistem pakar, jaringan syaraf tiruan, logika fuzzy dan robotika.
Kelebihan Artificial Intelligence:
• Artificial Intelligence bersifat konsisten dan teliti .
• Artificial Intelligence lebih bersifat permanent.
• Artificial Intelligence dapat lebih murah daripada kecerdasan alami.
• Artificial Intelligence menawarkan kemudahan untuk digandakan atau disebarkan.
• Artificial Intelligence dapat didokumentasi.
Contoh Penerapan Artificial Intelligence:
• SYSTRAN.
perangkat lunak untuk penerjemahan bahasa.
• Delco Electronics.
Mobil yang dapat mengemudikan sendiri yang menggunakan pendeteksi tepi untuk tetap bertahan di jalan.
• Deep Blue.
program catur 1997 yang mengalahkan Garry Kasparov pecatur dunia .
• Volkswagen AG.
Sistem pengemudi kendaraan otomatis yang diciptakan oleh Jerman.

Perbedaan Kecerdasan Buatan  & Kecerdasan Alami
Kemampuan untuk membuat mesin yang cerdas telah dilakukan sejak jaman dahulu, kini dengan kecanggihan computer dan dalam kurun waktu 50 tahun, penelitian telah memasuki teknik-teknik pemrograman kecerdasan buatan (Artificial Intelligence), sehingga impian tentang mesin yang pintar sekarang telah menjadi kenyataan. Para peneliti membuat suatu sistem yang dapat meniru manusia, berbicara, mengalahkan pemain terbaik, dan hal lain yang tidak dapat dibayangkan sebelumnya. Kecerdasan buatan juga merupakan kombinasi ilmu komputer, fisiologi dan filosofi.

Kecerdasan buatan memiliki kelebihan-kelebihan, yaitu memiliki logika dan dapat menyelesaikan masalah, dapat berpikir, dan berlogika seperti pikiran manusia ada juga yang tidak seperti manusia. Diantara kelebihan-kelebihan tersebut juga terdapat berbagai kelemahan, yaitu memiliki logika dan dapat menyelesaikan masalah hanya pada daerah tertentu saja, bahasa yang digunakan adalah bahasa alam (bahasa yang khusus dibuat) serta minimnya perkembangan.

Adapun perbedaan antara kecerdasan buatan dengan kecerdasan alami adalah kecerdasan buatan lebih bersifat permanen, sedangkan kecerdasan alami dapat berubah (hal ini karena sifat manusia yang pelupa). Kecerdasan buatan lebih mudah disalin dan dipindah daripada kecerdasan alami. Menyediakan layanan computer lebih mudah dan murah daripada mendatangkan seseorang untuk mengerjakan sejumlah pekerjaan dalam waktu yang sangat lama. Kecerdasan buatan bersifat konsisten karena merupakan bagian dari teknologi computer, sedangkan kecerdasan alami dapat berubah-ubah.

Keputusan yang dibuat dalam kecerdasan buatan dapat didokumentasi dengan mudah dengan cara melacak tiap aktifitas dari sistem tersebut, sedangkan kecerdasan alami sulit direproduksi. Kecerdasan buatan lebih cepat dan lebih baik daripada kecerdasan buatan.
Kecerdasan buatan kreatif karena untuk menambah pengetahuan harus melalui sistem yang dibangun, sedangkan kecerdasan alami lebih kreatif soalnya manusia memiliki kemampuan untuk menambah pengetahuan.

Kecerdasan buatan harus bekerja dengan input-input simbolik dan sangat terbatas, sedangkan kecerdasan alami memungkinkan orang untuk menggunakan pengalaman secara langsung dan pemikiran manusia dapat digunakan secara luas.

Jadi, secanggih-canggihnya suatu kecerdasan buatan tidak akan permah dapat menggantikan kecerdasan alami. Karena kecerdasan buatan berasal dari kecerdasan alami.

Kecerdasan Buatan:
  • Lebih bersifat permanen. Kecerdasan alami bisa berubah karena sifat manusia pelupa. Kecerdasan buatan tidak berubah selama sistem komputer & program tidak mengubahnya.
  • Lebih mudah diduplikasi & disebarkan. Mentransfer pengetahuan manusia dari 1 orang ke orang lain membutuhkan proses yang sangat lama & keahlian tidak akan pernah dapat diduplikasi dengan lengkap. Jadi jika pengetahuan terletak pada suatu sistem komputer, maka pengetahuan tersebut dapat disalin dari komputer tersebut & dapat dipindahkan dengan mudah ke komputer yang lain.
  • Lebih murah. Menyediakan layanan komputer akan lebih mudah & murah dibandingkan mendatangkan seseorang untuk mengerjakan sejumlah pekerjaan dalam jangka waktu yang sangat lama.
  • Bersifat konsisten karena kecerdasan buatan adalah bagian dari teknologi komputer sedangkan kecerdasan alami senantiasa berubah-ubah.
  • Dapat didokumentasi.Keputusan yang dibuat komputer dapat didokumentasi dengan mudah dengan cara melacak setiap aktivitas dari sistem tersebut. Kecerdasan alami sangat sulit untuk direproduksi.
  • Lebih cepat.
  • lebih baik
Sedangkan kecerdasan Alami
  • Kreatif : manusia memiliki kemampuan untuk menambah pengetahuan, sedangkan pada kecerdasan buatan untuk menambah pengetahuan harus dilakukan melalui sistem yang dibangun.
  • Memungkinkan orang untuk menggunakan pengalaman secara langsung. Sedangkan pada kecerdasan buatan harus bekerja dengan input-input simbolik.
  • Pemikiran manusia dapat digunakan secara luas, sedangkan kecerdasan buatan sangat terbatas.
Sejara Artificial Intelligence
Artificial intelligence merupakan inovasi baru di bidang ilmu pengetahuan. Mulai ada sejak muncul komputer modern, yakni pada 1940 dan 1950. Ilmu pengetahuan komputer ini khusus ditujukan dalam perancangan otomatisasi tingkah laku cerdas dalam sistem kecerdasan komputer.
Pada awalnya, kecerdasan buatan hanya ada di universitas-universitas dan laboratorium penelitian, serta hanya sedikit produk yang dihasilkan dan dikembangkan. Menjelang akhir 1970-an dan 1980-an, mulai dikembangkan secara penuh dan hasilnya berangsur-angsur dipublikasikan di khalayak umum. Permasalahan di dalam kecerdasan buatan akan selalu bertambah dan berkembang seiring dengan laju perkembangan zaman menuju arah globalisasi dalam setiap aspek kehidupan manusia, yang membawa persoalan-persoalan yang semakin beragam pula.
Program kecerdasan buatan lebih sederhana dalam pengoperasiannya, sehingga banyak membantu pemakai. Program konvensional dijalankan secara prosedural dan kaku, rangkaian tahap solusinya sudah didefinisikan secara tepat oleh pemrogramnya. Sebaliknya, pada program kecerdasan buatan untuk mendapatkan solusi yang memuaskan dilakukan pendekatan trial and error, mirip seperti apa yang dilakukan oleh manusia.
                     
Hubungan Artificial Intelligence dan Kognisi Manusia
Artificial intelligence adalah salah satu bagian ilmu komputer yang membuat agar mesin (komputer) dapat melakukan pekerjaan seperti dan sebaik yang dilakukan oleh manusia. Kecerdasan buatan juga merupakan suatu sistem informasi yang berhubungan dengan penangkapan, pemodelan dan penyimpanan kecerdasan manusia dalam sebuah sistem teknologi informasi sehingga sistem tersebut memiliki kecerdasan seperti yang dimiliki manusia. Sistem ini dikembangkan untuk mengembangkan metode dan sistem untuk menyelesaikan masalah, biasanya diselesaikan melalui aktifivitas intelektual manusia, misal pengolahan citra, perencanaan, peramalan dan lain-lain, meningkatkan kinerja sistem informasi yang berbasis komputer.
Artificial intelligence merupakan suatu sistem yang membuat mesin secerdas manusia. Untuk itu, sistem ini harus berpedoman pada sistem kognisi manusia, yaitu cara berfikir manusia, cara manusia bernalar, mengenali suatu stimulus, memecahkan masalah, mengingat, dan mengambil keputusan serta merespon dan bertindak. Dengan demikian para peneliti ilmu ini dapat membuat suatu sistem, aplikasi, atau program yang dapat melakukan pekerjaan-pekerjaan manusia dengan lebih baik, menggunakan perangkat mesin yang canggih untuk mempermudah pekerjaan manusia dikehidupan nyata.

Artificial Intelligence dan Sistem Pakar ( Eliza, Parry, dan Net Talk)
            Eliza, Parry dan Nettalk adalah beberapa contoh dari chatterbot. Chatterbot merupakan sebuah program komputer yang dirancang untuk menstimulasi percakapan intelektual dengan satu atau lebih manusia secara audio maupun teks. Chatterbot dikategorikan sebagai kecerdasan buatan atau Artificial Intelligence, yang dimanfaatkan untuk tujuan praktis seperti bantuan online, layanan personal, atau diskusi informasi, dalam hal ini dapat dilihat fungsi program sebagai suatu jenis agen percakapan (conversational agent)

ELIZA
Program yang dipublikasikan oleh Joseph Weizenbaum pada tahun 1966, yang dapat mengelabui pengguna hingga mempercayai bahwa mereka sedang bercakap-cakap dengan manusia nyata. Tujuan dari pembuatan program ini adalah untuk meniru pembicaraan antara seorang psikolog dan pasiennya, dalam hal ini, Eliza berperan sebagai psikoterapis dan memberikan saran dan nasihat tentang masalah penggunanya. Kunci metode operasional Eliza melibatkan rekognisi dari isyarat kata-kata atau kalimat input, dan output berupa tanggapan yang telah dipersiapkan atau diprogram, yang dapat meneruskan percakapan dengan suatu cara sehingga tampak bermakna.

PARRY
Parry dibuat pada tahun 1972 oleh psikiatris Kenneth Colby ketika di Universitas Stanford. Parry bertujuan untuk merefleksikan pikiran pasien dengan mental paranoid yang serius. Program ini menjalankan model mentahan dari prilaku schizophren paranoid berdasarkan konsep, konseptualisasi dan kepercayaan (penilaian tentang konseptualisasi : penerimaan, penolakan, dan netral). Ini juga menggunakan strategi percakapan, lebih serius dan merupakan program lanjutan dari Eliza.

NETTALK
Connectionism adalah gerakan dalam ilmu kognitif yang berharap untuk menjelaskan kemampuan intelektual manusia menggunakan jaringan syaraf tiruan (juga dikenal sebagai “jaringan syaraf” atau “jaring syaraf”). jaringan syaraf disederhanakan model otak terdiri dari sejumlah besar unit (young analog neuron) bersama-sama dengan bobot yang mengukur kekuatan hubungan antara unit. Model ini berat efek dari sinaps yang menghubungkan satu neuron yang lain. Percobaan pada model semacam ini telah menunjukkan kemampuan untuk mempelajari keterampilan seperti pengenalan wajah, membaca, dan deteksi struktur gramatikal sederhana. Connectionists telah membuat kemajuan yang signifikan dalam menunjukkan kekuatan jaringan saraf untuk menguasai tugas-tugas kognitif. Berikut adalah tiga percobaan terkenal yang telah mendorong connectionists untuk percaya bahwa JST model yang baik dari kecerdasan manusia. Salah satu yang paling menarik dari upaya tersebut adalah kerja 1987 Sejnowski dan Rosenberg di jaring yang dapat membaca teks bahasa Inggris disebut NETtalk. Pelatihan ditetapkan untuk NETtalk adalah basis data yang besar terdiri dari teks bahasa Inggris ditambah dengan output yang sesuai fonetik-nya, yang ditulis dalam kode yang cocok untuk digunakan dengan synthesizer pidato. Tape kinerja NETtalk di berbagai tahap pelatihan mendengarkan sangat menarik. Pada awalnya output random noise. Kemudian, bersih suara seperti itu mengoceh, dan kemudian masih seolah-olah itu adalah berbahasa Inggris double-talk (pidato yang dibentuk dari suara yang menyerupai kata dalam bahasa Inggris). Pada akhir pelatihan, NETtalk melakukan pekerjaan yang cukup baik mengucapkan teks diberikan. Selain itu, kemampuan ini generalizes cukup baik untuk teks yang tidak disajikan pada training set.

Penggunaan Artificial Intelligence sebagai expert
Kecerdasan buatan (Artificial Intelligence) Menurut Raymond McLeod, Jr dan George P. Schell, 2008  adalah aktivitas penyediaan mesin seperti computer dengan kemampuan untuk menghasilkan perilaku yang akan dianggap sama cerdasnya dengan jika kemampuan tersebut ditampilkan oleh manusia. Kecerdasan buatan (Artificial Intelligence) merupakan aplikasi computer yang paling canggih karena aplikasi ini berusaha mencontoh cara pemikiran manusia.
Sistem Pakar (Expert System) adalah usaha untuk menirukan seorang pakar. Biasanya, Sistem Pakar berupa perangkat lunak pengambil keputusan yang mampu mencapai tingkat performa yang sebanding sengan seorang pakar dalam bidang problem yang khusus dan sempit. Ide dasarnya adalah kepakaran ditransfer dari seorang pakar atau sumber kepakaran lain ke komputer, pengetahuan yang ada di simpan dalam komputer, dan pengguna dapat berkonsultasi pada komputer itu untuk suatu nasehat, lalu kemudian komputer dapat mengambil inferensi (menyimpulkan, mendeduksi, dll) seperti layaknya seorang pakar. Dan selanjutnya komputer akan menjelaskan ke pengguna tersebut, dengan alasan-alasannya bila perlu.


Sumber Tulisan :

Jumat, 22 Juni 2018

MAINTENANCE DALAM PENGEMBANGAN SOFTWARE SYSTEM


MAINTENANCE DALAM PENGEMBANGAN SOFTWARE SYSTEM

Software Maintenance
Menurut McCall (1997) kriteria yang mempengaruhi kualitas software
terbagi menjadi tiga aspek penting yaitu :
1. Sifat-sifat operasional dari software (Product Operations).
2. Kemampuan software dalam menjalani perubahan (Product Revision)
3. Daya  adaptasi  atau  penyesuaian software terhadap lingkungan baru (Product Transition).
Dengan beragamnya tujuan perawatan perangkat lunak, maka jenis perawatan perangkat lunak dapat dibagi menjadi empat pula, yaitu perawatan perbaikan (correction), perawatan peningkatan kinerja (improvement), perawatan penyesuaian (adaptation), dan perawatan pencegahan (prevention). Akan tetapi, secara umum, jenis perawatan perangkat lunak dapat dikelompokkan kedalam dua kategori besar, yaitu perawatan perbaikan (correction) dan perawatan peningkatan (enhancement). Perawatan jenis kedua mencakup perawatan improvement, adaptation, dan prevention.
Aspek Kegiatan Maintenance
Aktivitas pemeliharaan yang pertama terjadi karena asumsi yang salahpada saat uji coba yaitu kesalahan-kesalahan tersembunyi pada perangkat lunak yang cukup besar. Menurut O’Brien (2005) bahwa dibutuhkan pembagian kegiatan maintenance ke dalam empat aspek. Pemeliharaan perangkat lunak dapat dibedakan menjadi:
·       Adaptive, diartikan sebagai modifikasi sistem untuk mengatasi perubahan lingkungan software. Aktivitas yang kedua ini terjadi karena pertumbuhan atau perkembangan perangkat lunak atau perangkat keras sehingga memerlukan modifikasi dari perangkat lunak yang telah dibuat.
·       Perfective, diartikan sebagai tindakan baru implementasi atau perubahan pengguna peralatan yang  mana  memperhatikan  fungsi  tambahan  untuk software. Aktivitas ini terjadi pada saat perangkat lunak yang telah dibuat dan dilakukan uji cobs kemudian dipergunakan oleh user. Setelah dipergunakan oleh user mungkin timbul permintaan tambahan fungsi sesuai dengan keinginan pemakai.
·       Corrective, diartikan sebagai deteksi dan perbaikan masalah, yang ditemukan oleh pengguna. Aktivitas ini terjadi pada saat produk dipakai dan hasil yang didapat oleh pamakai baik berupa kesalahan yang timbul maupun kesalahan dalam bentuk keluaran yang tidak sesuai.
·       Preventive, diartikan sebagai peningkatan kemampuan software atau reabilitas untuk menghindari masalah di masa yang akan datang. Pemeliharaan yang terakhir dilakukan untuk menghadapi kemajuan perangkat lunak atau perangkat keras di masa mendatang, umpamanya penambahan fungsifungsi atau melengkapi fungsi-fungsi yang telah ada.

Maintenance Planning Activity
Aktivitas penting untuk maintenance perangkat lunak adalah perencanaan. Jika tahap development berlangsung 1-2 tahun, maka fase maintenance berlangsung selama bertahun-tahun. Memperkirakan secara akurat sumber daya yang digunakan adalah elemen kunci dalam rencana maintenance. Sumber daya yang didalamnya termasuk biaya harus dimasukkan dalam rencana anggaran proyek. Rencana maintenance harus dimulai dengan membuat atau menentukan tujuan kualitas perangkat lunak. Konsep dan perencanaan maintenance :
• Mengandung ruang lingkup (scope) maintenance perangkat lunak.
• Proses setelah perangkat lunak selesai.
• Harus diketahui siapa yang akan melakukan maintenance.
• Perkiraan biaya maintenance siklus hidup perangkat lunak.

Teknik-teknik Maintenance
Software maintenance yang efektif dilakukan dengan teknik  yang spesifik atau khusus untuk maintenance. Beberapa teknik praktis yang biasa dipakai maintener akan dijelaskan di bawah ini.
1. Program Comprehension
Programmers menghabiskan banyak waktu untuk membaca dan mengerti program dalam rangka mengimplementasikan perubahan. Code browsers merupakan tools kunci dalam program comprehension. Dokumentasi  yang singkat dan jelas dapat membantu dalam program comprehension. Berdasarkan atas pentingnya subtopik ini, maka IEEE Computer Society mengadakan pelatihan yang diadakan setiap tahunnya mengenai program comprehension.
2. Re-engineering
Reengineering biasanya tidak dilakukan untuk meningkatkan kemudahan melakukan maintenance(maintainability) namun untuk mengganti legacy system yang sudah berumur. Arnold [Arn92] membahas topik ini secara luas meliputi konsep, tools,teknik, studi kasus, risiko dan keuntungan re-engineering. Refactoringatau transformasi program yang mengorganisasi ulang (reorganisasi) tanpa mengubah perilaku sistem sekarang digunakan dalam reverse engineering untuk meningkatkan struktur program berorientasi objek.

3. Reverse engineering
Reverse engineering adalah proses menganalisa subjek sistem untuk mengindentifikasi komponen sistem dan hubungan yang terjadi di dalamnya untuk di representasikan dalam bentuk lain atau pada level abstraksi yang lebih tinggi. Reverse engineering dilkukan secara pasif, artinya tidak mengubah sistem atau menghasilkan sistem yang baru. Sebuah usaha reverse engineering sederhana mungkin menghasilkan sesuatu yang disebut graphs dan control flow graphs dari source code. Jenis dari reverse engineering antara lain redocumentation dan design recovery. Date Reverse Engineeringmempunyai pengaruh penting beberapa tahun belakangan. Topik Reverse engineering menjadi bahan diskusi dalam acara tahunan Working Conference on Reverse Engineering (WCRE).
4. Impact Analysis
Impact analysis mengidentifikasi keseluruhan sistem dan produk sistem yang dipengaruhi oleh permintaan perubahan (change   request)dan membuat perkiraan sumber daya yang diperlukan untuk melakukan perubahan. Dilakukan setelah permintaan perubahan (change request)diterima oleh configuration management process. Beberapa hal penting tentang impact analisis:
§  Menentukan ruang lingkup perubahan untuk perencanaan dan implementasi.
§  Membuat perkiraan sumber daya yang diperlukan untuk melakukan kegiatan secara akurat.
§  Menganalisa untung / rugi perubahan yang diminta.
§  Melakukan komunikasi dengan bagian lain tentang kompleks tidaknya perubahan yang dilakukan.

Maintenance dalam Pengembangan Software
Software maintanence menjadi bagian dari keberlangsungan sebuah software (software sustainment). Software yang dapat di maintenance akan mendukung perusahaan dalam memecahkan solusi sesuai dengan perubahan lingkungan bisnis. Bila suatu software tidak dapat di maintenance maka sofrware tersebut tidak dapat mendukung kinerja dari perusahaan atau pengguna. Software maintenance menjadi sangat penting karena memberikan porsi yang besar dalam biaya lifecycle keseluruhan. Ketidakmampuan untuk melakukan perubahan software secara cepat dan reliable akan menyebabkan kehilangan peluang bisnis yang dimiliki.
Maintenance pada software perlu dilakukan dengan cara memonitor dan mengevaluasi kinerja pada software yang sudah ada. Modifikasi atau perubahan diperlukan apabila terdapat perubahan dari organisasi itu sendiri baik yang berkaitan dalam hal struktur organisasi maupun perubahan cara kerja dan juga pengembangan bisnis (faktor external maupun faktor internal). Penyesuaian pada maintenance software dapat dilakukan dengan update sistem yang dimulai dari identifikasi permasalahan pada sistem yang sudah berjalan. Apabila suatu sistem tidak diperhatikan sisi maintenance-nya, maka sinergi antara perubahan-perubahan/kemajuan yang terjadi dalam perusahaan tidak dapat langsung diaplikasikan dalam software, yang dalam hal ini merupakan faktor penunjang dalam efisiensi dan efektivitas.

Maintenance software
perlu memperhatikan beberapa karakteristik:

Karakteristik
Sub karakteristik

Functionality :
Software untuk menjalankan fungsinya
sebagimana kebutuhan sistemnya.

Suitability, accuracy, interoperability,
security

Reliability :
Kemampuan software untuk dapat tetap
tampil sesuai dengan fungsi ketika
digunakan.

Maturity, Fault tolerance,
Recoverability

Usability :
Kemampuan software untuk
menampilkan performans relatif terhadap
penggunaan sumberdaya.

Understanbility, Learnability,
Operability, Attractiveness

Efficiency :
Kemampuan software untuk
menampilkan performans relatif terhadap
penggunaan sumberdaya.

Time behaviour, Resource Utilization
Maintainability :
Kemampuan software untuk dimodifikasi
(korreksi, adaptasi, perbaikan)

Analyzability, Changeability, Stabilit
y,
Testability

Portability :
Kemampuan software untuk ditransfer
dari satu lingkungan ke lingkungan lain.

Adaptability, Installability
Tabel 1. Karakteristik Software: ISO 9126

Untuk menghasilkan software yang baik dan berkualitas maka perangkat lunak tersebut harus memiliki kriteria : Functionality, Reliability, Usability, Efficiency, Maintainability, dan Portability.
Penggunaan kriteria tersebut akan menghasilkan keuntungan bagi perusahaan penguna software tersebut.
Berdasarkan uraian diatas maka, urgensi dari pemeliharaan sistem atau system maintenance adalah:

·       Memperbaiki Kesalahan (Correcting Errors)
Maintenance dilakukan untuk mengatasi kegagalan dan permasalahan yang muncul saat sistem dioperasikan. Sebagai contoh, maintenance dapat digunakan untuk mengungkapkan kesalahan pemrograman (bugs) atau kelemahan selama proses pengembangan yang tidak terdeteksi dalam pengujian sistem, sehingga kesalahan tersebut dapat diperbaiki.

·       Menjamin dan Meningkatkan Kinerja Sistem (Feedback Mechanism)
Kajian pasca implementasi sistem merupakan salah satu aktivitas maintenance
yang meliputi tinjauan sistem secara periodik. Tinjauan periodik atau audit sistem dilakukan untuk menjamin sistem berjalan dengan baik, dengan cara memonitor sistem secara terus-menerus terhadap potensi masalah atau perlunya perubahan terhadap sistem. Sebagai contoh, saat user menemukan errors pada saat sistem digunakan, maka user dapat memberi umpan balik atau feedback kepada spesialis informasi guna meningkatkan kinerja sistem. Hal ini yang menjadikan system maintenance perlu dilakukan secara berkala, karena system maintenance akan senantiasa memastikan sistem baru yang di implementasikan berjalan dengan baik dan sesuai dengan tujuan penggunaanya melalui mekanisme umpan balik.

·       Menjaga Kemutakhiran Sistem (System Update)
Selain sebagai proses perbaikan kesalahan dan kajian pasca implementasi, system maintenance juga meliputi proses modifikasi terhadap sistem yang telah dibangun karena adanya perubahan dalam organisasi atau lingkungan bisnis. Sehingga, system maintenance menjaga kemutakhiran sistem (system update) melalui modifikasi-modifikasi sistem yang dilakukan.

Selain itu, urgensi dari pemeliharaan sistem atau system maintenance dalam suatu organisasi/ perusahaan adalah sebagai berikut:

v  Mengurangi pengeluaran dalam bidang investasi teknologi.
v  Membantu perusahaan memecahkan masalah dengan tetap mengikuti perubahan lingkungan dan prosedur yang terjadi.
v  Efektivitas biaya.
Menghindari kerugian yang diakibatkan oleh munculnya kesalahan pada perangkat lunak yang berakibat pada pengguna terakhir. Biaya yang dikeluarkan akan lebih sedikit jika dilakukan pendektesian awal terhadap kesalahan yang terjadi pada perangkat lunak tersebut.
v  Efisiensi waktu
Dilakukannya pengujian terhadap perangkat lunak akan menghindari perusahaan dari resiko kerugian yang terjadi dan waktu yang lebih lama untuk melakukan perbaikan terhadap perangkat lunak tersebut.
v  Fokus pada pengembangan bisnis.
Perangkat lunak yang tidak memiliki kesalahan (bug) akan memaksimalkan kinerja dari perusahaan dengan mendukung kegiatan bisnis lebih baik dan mendukung penyelesaian masalah lebih cepat dengan penggunaan perangkat lunak tersebut.
v  Peningkatan loyalitas pelanggan.
software maintenance yang dilakukan oleh pihak ketiga/outsourcing akan menghemat waktu yang berharga bagi perusahaan. Seperti akan diperoleh cukup waktu untuk fokus pada kegiatan penting bisnis dan mengoptimalkan pelayanan terhadap pelanggan untuk meningkatkan loyalitas dan kepuasan terhadap perusahaan.
v  Membuat software tersebut menjadi kategori software berkualitas.
v  Mengambil peluang bisnis yang ada, dengan maintenance software atau sistem informasi, akan mengevaluasi sistem yang ada dan memodifikasinya, bila sebuah sistem usang atau rusak maka organisasi tidak akan dapat mengambil peluang bisnis yang ada dengan proses yang efektif dan efisien.
v  Menjaga agar software tidak menjadi usang.
Keusangan software atau sistem informasi akan merugikan organisasi, organisasi menjadi tidak optimal dalam memanfaatkan software pun menghasilkan kinerja yang tidak optimal, sehingga proses maintenance menjaga hal ini agar keusangan tidak terjadi.