BAB II LANDASAN TEORI
2.1 Pengertian Deteksi Gerak Deteksi gerak secara sederhana dapat dilakukan dengan mencari beda antara 2 buah citra yang berurutan pada hasil pencitraan menggunakan kamera digital. Ada berbagai macam metode untuk membandingkan dua buah gambar. Metode yang sederhana dan prosesnya tidak terlalu berat yaitu dengan mencari nilai perbedaan piksel tertinggi dan membandingkannya dengan suatu nilai batas. Jika nilai perbedaan lebih tinggi dari nilai batas maka disimpulkan terdapat perbedaan pada kedua gambar tersebut. Agar rentang perbedaan piksel tidak terlalu jauh maka sebaiknya dilakukan greyscale terlebih dahulu, yaitu dengan mengambil nilai rata – rata komponen RGB. Jika terdapat 2 buah gambar, gambar 1 dan gambar 2 masing – masing merupakan nilai piksel gambar acuan dan gambar yang akan dibandingkan, sehingga mendapatkan nilai perbedaan piksel tertinggi, dan nilai batas yang telah ditetapkan, maka jika nilai batas > beda piksel berarti terdapat perbedaan pada kedua gambar. Nilai batas digunakan untuk mentoleransi nilai perbedaan yang dianggap terlalu kecil.
2.2 Arti Pewaktu (Timer) Arti waktu menurut Kamus Besar Bahasa Indonesia (KBBI 1123) adalah seluruh rangkaian saat ketika proses, perbuatan atau keadaan berada atau berlangsung. Dalam hal ini, skala waktu merupakan interval antara dua buah keadaan atau kejadian, atau bisa merupakan lama berlangsungnya suatu kejadian. Skala waktu diukur dengan satuan detik, menit, jam, hari, bulan, tahun, windu, dekade (dasawarsa), abad, milenium (alaf) dan seterusnya.
6
7
Pewaktu (Timer) adalah suatu rangkaian yang dapat digunakan sebagai pewaktu pada suatu alat yang memerlukan pewaktu yang dapat di set waktunya sesuai kebutuhan
2.3 Microsoft Visual Basic 6.0 (VB 6) 2.3.1 Pengenalan VB 6 Visual Basic adalah salah suatu development tools untuk membangun aplikasi dalam lingkungan Windows. Dalam pengembangan aplikasi, Visual Basic menggunakan pendekatan Visual untuk merancang user interface dalam bentuk form, sedangkan untuk kodingnya menggunakan bahasa pemograman Visual Basic yang cenderung mudah dipelajari. Visual Basic telah menjadi tools yang terkenal bagi para pemula maupun para developer dalam pengembangan aplikasi skala kecil sampai ke skala besar. Dalam lingkungan Window's User-interface sangat memegang peranan penting, karena dalam pemakaian aplikasi yang kita buat, pemakai senantiasa berinteraksi dengan User-interface tanpa menyadari bahwa dibelakangnya berjalan instruksi-instruksi program yang mendukung tampilan dan proses yang dilakukan. Pada
pemrograman
Visual,
pengembangan
aplikasi
dimulai
dengan
pembentukkan user interface, kemudian mengatur properti dari objek-objek yang digunakan dalam user interface, dan baru dilakukan penulisan kode program untuk menangani kejadian – kejadian (event). Tahap pengembangan aplikasi demikian dikenal dengan istilah pengembangan aplikasi dengan pendekatan Bottom Up.
8
Gambar 2.1 Dialog box New Project saat menjalankan IDE Visual Basic 6
2.3.2 IDE (Integrated Development Environment) Visual Basic Langkah awal dari Visual Basic adalah mengenal IDE (Integrated Development
Environment)
Visual
Basic
yang
merupakan
Lingkungan
Pengembangan Terpadu bagi programmer dalam mengembangkan aplikasinya. Dengan menggunakan IDE programmer dapat membuat user interface, melakukan koding, melakukan testing dan debuging serta menkompilasi program menjadi executable. Penguasaan yang baik akan IDE akan sangat membantu programmer dalam mengefektifkan tugas-tugasnya sehingga dapat bekerja dengan efisien.
9
Gambar 2.2 IDE Visual Basic dengan jendela – jendela yang terbuka
Penjelasan jendela-jendela adalah sebagai berikut : Menu Bar, digunakan untuk memilih tugas-tugas tertentu seperti menyimpan project, membuka project, dll Main Toolbar, digunakan untuk melakukan tugas-tugas tertentu dengan cepat. Jendela Project, jendela ini berisi gambaran dari semua modul yang terdapat dalam aplikasi. Bisa menggunakan icon Toggle Folders untuk menampilkan modul-modul dalam jendela tersebut secara di group atau berurut
berdasarkan
nama.
Dapat
menggunakan
Ctrl+R
untuk
menampilkan jendela project, ataupun menggunakan icon Project Explorer. Jendela Form Designer, jendela ini merupakan tempat untuk merancang user interface dari aplikasi. Jadi jendela ini menyerupai kanvas bagi seorang pelukis.
10
Jendela Toolbox, jendela ini berisi komponen-komponen yang dapat di gunakan untuk mengembangkan user interface. Jendela Code, merupakan tempat untuk menulis koding. Untuk dapat menampilkan jendela ini dengan menggunakan kombinasi Shift-F7. Jendela Properties, merupakan daftar properti-properti object yang sedang terpilih. Sebagai contohnya untuk mengubah warna tulisan (foreground) dan warna latar belakang (background). Dapat menggunakan F4 untuk menampilkan jendela properti. Jendela Color Palette, adalah fasilitas cepat untuk mengubah warna suatu object. Jendela Form Layout, akan menunjukan bagaimana form bersangkutan ditampilkan ketika runtime
2.3.3 Toolbox Jendela Toolbox merupakan jendela yang sangat penting. Dari jendela ini dapat di ambil komponen-komponen (object) yang akan ditanamkan pada form untuk membentuk user interface.
Gambar 2.3 Toolbox Visual Basic 6 dengan semua control
11
Adapun secara garis besar fungsi dari masing-masing intrinsic kontrol tersebut adalah sebagai berikut : Pointer bukan merupakan suatu kontrol; gunakan icon ini ketika ingin memilih kontrol yang sudah berada pada form. PictureBox adalah kontrol yang digunakan untuk menampilkan image dengan format: BMP, DIB (bitmap), ICO (icon), CUR (cursor), WMF (metafile), EMF (enhanced metafile), GIF, dan JPEG. Label adalah kontrol yang digunakan untuk menampilkan teks yang tidak dapat diperbaiki oleh pemakai. TextBox adalah kontrol yang mengandung string yang dapat diperbaiki oleh pemakai, dapat berupa satu baris tunggal, atau banyak baris. Frame adalah kontrol yang digunakan sebagai kontainer bagi kontrol lainnya. Command Button merupakan kontrol hampir ditemukan pada setiap form, dan digunakan untuk membangkitkan event proses tertentu ketika pemakai melakukan klik padanya. CheckBox digunakan untuk pilihan yang isinya bernilai yes/no, true/false. Option Button sering digunakan lebih dari satu sebagai pilihan terhadap beberapa option yang hanya dapat dipilih satu. ListBox mengandung sejumlah item, dan user dapat memilih lebih dari satu (bergantung pada property MultiSelect). ComboBox merupakan konbinasi dari TextBox dan suatu ListBox dimana pemasukkan data dapat dilakukan dengan pengetikkan maupun pemilihan. HScrollBar dan VScrollBar digunakan untuk membentuk scrollbar berdiri sendiri. Timer digunakan untuk proses background yang diaktifkan berdasarkan interval waktu tertentu. Merupakan kontrol non-visual. DriveListBox, DirListBox, dan FileListBox sering digunakan untuk membentuk dialog box yang berkaitan dengan file. Shape dan Line digunakan untuk menampilkan bentuk seperti garis, persegi, bulatan, oval.
12
Image berfungsi menyerupai image box, tetapi tidak dapat digunakan sebagai kontainer bagi kontrol lainnya. Sesuatu yang perlu diketahui bahwa
kontrol
image
menggunakan
resource
yang
lebih
kecil
dibandingkan dengan PictureBox Data digunakan untuk data binding OLE dapat digunakan sebagai tempat bagi program eksternal seperti Microsoft Excel, Word, dll.
2.4 Windows Application Programming Interface (API) Antarmuka Pemrograman Aplikasi Windows (berasal dari Bahasa Inggris: Windows Application Programming Interface), yang sering disebut sebagai WinAPI atau Windows API adalah sekumpulan antarmuka pemrograman aplikasi yang dibuat oleh Microsoft dalam inti sistem operasi Microsoft Windows buatannya. Semua program Windows, kecuali program konsol, harus berinteraksi dengan Windows API tanpa melihat dengan bahasa apa ia dibuat. Akses terhadap elemen sistem operasi yang lebih rendah, seperti halnya yang dibutuhkan oleh device driver, tidak disediakan oleh Windows API, tapi disediakan oleh Windows Driver Foundation atau Native API dalam versi-versi baru Windows. Agar para pengembang perangkat lunak dapat menggunakan versi-versi Windows baru, Microsoft sering merilis Software Development Kit (SDK), yang terdiri atas dokumentasi dan alat bantu untuk membangun aplikasi-aplikasi Windows dengan teknologi terbaru Microsoft Windows. Windows API merupakan kumpulan fungsi-fungsi eksternal yang disediakan library windows untuk mengatur kemampuan dan tingkah laku setiap element di Windows (dari tampilan di desktop hingga alokasi memory) sehingga dapat dimanfaatkan suatu program untuk meningkatkan kemampuan program tersebut, contohnya saja untuk pengaksesan registry windows dengan fasilitas built in visual basic sangat sukar dilakukan, tetapi dengn adanya fasilitas API untuk registry dari library advapi32.dll, pengaksesan tersebut menjadi lebih mudah. Untuk memasukkan Windows API ke dalam proyek Visual Basic, cara yang paling mudah adalah dengan menggunakan program API Viewer yang terdapat di
13
menubar Add-Ins yaitu Add-In Manager. Pilih Loaded API Viewer, lalu buka text file darinya, pilih Win32api.txt.
2.5 WebCam (Kamera Web) 2.5.1 Pengertian WebCam (Kamera Web) Webcam (singkatan dari web camera) adalah sebutan bagi kamera real-time (bermakna keadaan pada saat ini juga) yang gambarnya bisa diakses atau dilihat melalui World Wide Web, program instant messaging, atau aplikasi video call. Istilah webcam merujuk pada teknologi secara umumnya, sehingga kata web terkadang diganti dengan kata lain yang mendeskripsikan pemandangan yang ditampilkan di kamera, misalnya StreetCam yang memperlihatkan pemandangan jalan. Ada juga Metrocam yang memperlihatkan pemandangan panorama kota dan pedesaan, TraffiCam yang digunakan untuk memonitor keadaan jalan raya, cuaca dengan Weather Cam, bahkan keadaan gunung berapi dengan VolcanoCam. Webcam atau web camera adalah sebuah kamera video digital kecil yang dihubungkan ke komputer melalui (biasanya) port USB ataupun port COM.
2.5.2 Tipe-Tipe Kamera Web Slim1320 (True 1.3 Mega Pixels High Performance Web Cam), Slim 2020AF (Mega Pixel Web Camera Auto Focus), Eye 312 (Simplify Instant Video and Chat), Eye 110 (Instant Video Messenger WebCam) serta i-Look 1321 (Advance 1.3 Mega Pixel Camera), dan lain-lain. Sekarang hampir semua kamera digital dan ponsel bisa dijadikan sebagai kamera web (webcam).
2.5.3 Cara Kerja Kamera Web Sebuah kamera web yang sederhana terdiri dari sebuah lensa standar, dipasang di sebuah papan sirkuit untuk menangkap sinyal gambar; casing (cover), termasuk casing depan dan casing samping untuk menutupi lensa standar dan memiliki sebuah lubang lensa di casing depan yang berguna untuk memasukkan gambar; kabel support, yang dibuat dari bahan yang fleksibel, salah satu ujungnya
14
dihubungkan dengan papan sirkuit dan ujung satu lagi memiliki connector, kabel ini dikontrol untuk menyesuaikan ketinggian, arah dan sudut pandang kamera web. Sebuah kamera web biasanya dilengkapi dengan software, software ini mengambil gambar-gambar dari kamera digital secara terus menerus ataupun dalam interval waktu tertentu dan menyiarkannya melalui koneksi internet. Ada beberapa metode penyiaran, metode yang paling umum adalah software merubah gambar ke dalam bentuk file JPEG dan meng-upload-nya ke web server menggunakan File Transfer Protocol (FTP).Frame rate mengindikasikan jumlah gambar sebuah software dapat ambil dan transfer dalam satu detik. Untuk streaming video, dibutuhkan minimal 15 frame per second (fps) atau idealnya 30 fps. Untuk mendapatkan frame rate yang tinggi, dibutuhkan koneksi internet yang tinggi kecepatannya. Sebuah web camera tidak harus selalu terhubung dengan komputer, ada web camera yang memiliki software webcam dan web server bulitin, sehingga yang diperlukan hanyalah koneksi internet. Web camera seperti ini dinamakan “network camera”. Kita juga bisa menghindari penggunaan kabel dengan menggunakan hubungan radio, koneksi Ethernet ataupun WiFi.
2.6 Pengolahan Citra 2.6.1 Pengertian Citra Definisi Citra = gambar = image. Citra, menurut kamus besar ilmu pengetahuan (Dagun 142) adalah suatu representasi, kemiripan, atau imitasi dari suatu objek atau benda, contoh: -
Foto Anda mewakili entitas diri Anda sendiri di depan kamera.
-
Foto sinar-X thorax mewakili keadaan bagian dalam tubuh seseorang.
-
Data dalam suatu file BMP mewakili apa yang digambarkannya.
Citra, dari sudut pandang matematis, merupakan fungsi menerus (continue) dari intensitas cahaya pada bidang 2 dimensi. Citra yang terlihat merupakan cahaya yang direfleksikan dari sebuah objek. Sumber cahaya menerangi objek, objek memantulkan kembali sebagian dari berkas cahaya tersebut dan pantulan cahaya ditangkap oleh alat-alat optik, misal mata manusia, kamera, scanner, sensor satelit, dan sebagainya, kemudian direkam. Citra sebagai keluaran dari suatu sistem perekaman data dapat bersifat :
15
- Optik berupa foto - Analog berupa sinyal video seperti gambar pada monitor televisi - Digital yang dapat langsung disimpan pada media penyimpan magnetik
2.6.2 Computer Vision Terminologi lain yang berkaitan erat dengan pengolahan citra adalah Computer Vision. Computer vision merupakan proses otomatis yang mengintegrasikan sejumlah besar proses untuk persepsi visual, seperti akuisisi citra, pengolahan citra, pengenalan dan membuat keputusan. Computer vision mencoba meniru cara kerja sistem visual manusia (human vision) yang sesungguhnya sangat kompleks. Manusia melihat dengan objek dengan indera penglihatan (mata), lalu citra objek diteruskan ke otak untuk diinterpretasi sehingga manusia mengerti objek apa yang tampak dalam pandangan mata. Hasil interpretasi ini digunakan untuk pengambilan keputusan (misal menghindar kalau melihat ada mobil di depan). Pengolahan citra merupakan proses awal pada computer vision, pengenalan pola merupakan proses untuk menginterpretasi citra. Proses-proses dalam computer vision : - Memperoleh atau mengakuisisi citra digital - Operasi pengolahan citra - Menganalisis dan menginterpretasi citra dan menggunakan hasil pemrosesan untuk tujuan tertentu, misal memandu robot, mengontrol peralatan, dan lain-lain.
16
2.6.3 Macam Koordinat Sistem Koordinat Cartesian
Gambar 2.4 Koordinat Cartesian
Koordinat Piksel = koordinat tampilan di layar monitor
Gambar 2.5 Koordinat Piksel
Koordinat Matriks (y=baris, x=kolom)
Gambar 2.6 koordinat Matriks
17
2.6.4 Operasi Dasar Pengolahan Citra Citra digital direpresentasikan dengan matriks sehingga operasi pada citra digital pada dasarnya memanipulasi elemen-elemen matriks. Operasi dasar pengolahan citra antara lain : operasi titik, operasi global, operasi berbasis bingkai (frame), operasi geometri, operasi bertetangga. operasi berbasis bingkai (frame) atau Operasi multi image adalah operasi pengolahan terhadap lebih dari satu obyek citra dan menghasilkan sebuah citra keluaran yang merupakan hasil operasi matematis. Operasi ini dilakukan titik - pertitik dengan lokasi yang bersesuaian pada citra-citra masukan. Secara umum misal akan dioperasikan citra A dan citra B sehingga menghasilkan citra C, maka dapat diformulasikan sebagai berikut: C(x,y) = A(x,y) operator B(x,y) Jika melibatkan lebih dari 2 citra, maka : C(x,y) = A1(x,y) operator A2(x,y) operator A3(x,y)……….. Dalam operasi yang melibatkan dua buah citra atau lebih, biasanya akan diterapkan operasi aritmatika, sebagai contoh : Penjumlahan C(x,y) = A(x,y) + B(x,y) Pengurangan C(x,y) = A(x,y) – B(x,y) Perkalian C(x,y) = A(x,y) * B(x,y) Pembagian C(x,y) = A(x,y) / B(x,y) Beberapa pengolahan citra yang berkaitan dengan operasi ini adalah : 1. Penggabungan citra (image blending) 2. Deteksi gerakan (motion detection) 3. Operasi Logika (logic Operation)
2.6.5 Deteksi Gerakan Deteksi gerakan secara sederhana dapat dilakukan dengan mencari beda antara dua buah citra yang berurutan pada hasil pencitraan menggunakan kamera video digital. Operator yang digunakan adalah pengurangan, Dengan operasi pengurangan ini bagian yang tidak bergerak akan menghasilkan nilai = 0, bagian yang bergerak menghasilkan nilai ≠ 0 C(x,y) = A(x,y) – B(x,y)
18
Dengan mengevaluasi nilai selisih tersebut, dapat diketahui apakah pada citra terdapat objek yang bergerak. Bisa juga digunakan rumus pada operasi blending dengan memberi bobot wa = 1 dan wb = – 1
Gambar 2.7 Citra A
Gambar 2.8 Citra B
Citra 2.9 Citra Hasil Mendeteksi Gerakan - Objek paku hitam menunjukan posisi objek mengalami perpindahan. - Objek paku putih menunjukan posisi akhir dari objek tersebut.
2.7 Format Citra Digital Piksel adalah unsur gambar atau representasi sebuah titik terkecil dalam sebuah gambar grafis yang dihitung per inci. Piksel sendiri berasal dari akronim bahasa Inggris Picture Element yang disingkat menjadi Pixel. Pada ujung tertinggi skala resolusi, mesin cetak gambar berwarna dapat menghasilkan hasil cetak yang memiliki lebih dari 2.500 titik per inci denga pilihan 16 juta warna lebih untuk setiap inci, dalam istilah komputer berarti gambar seluas satu inci persegi yang bisa ditampilkan pada tingkat resolusi tersebut sepadan dengan 150 juta bit informasi. Monitor atau layar datar yang sering kita temui terdiri dari ribuan
19
piksel yang terbagi dalam baris-baris dan kolom-kolom. Jumlah piksel yang terdapat dalam sebuah monitor dapat kita ketahui dari resolusinya. Resolusi maksimum yang disediakan oleh monitor adalah 1024x768, maka jumlah pixel yang ada dalam layar monitor tersebut adalah 786432 piksel. Semakin tinggi jumlah piksel yang tersedia dalam monitor, semakin tajam gambar yang mampu ditampilkan oleh monitor tersebut. Citra digital merupakan fungsi intensitas cahaya f(x,y), dimana harga x dan y merupakan koordinat spasial dan harga fungsi tersebut pada setiap titik (x,y) merupakan tingkat kecemerlangan citra pada titik tersebut. Citra digital adalah citra f(x,y) dimana dilakukan diskritisasi koordinat spasial (sampling) dan diskritisasi
tingkat
kecemerlangannya/keabuan
(kwantisasi).
Citra
digital
merupakan suatu matriks dimana indeks baris dan kolomnya menyatakan suatu titik pada citra tersebut dan elemen matriksnya (yang disebut sebagai elemen gambar / piksel / pixel / picture element / pels) menyatakan tingkat keabuan pada titik tersebut. Citra digital dinyatakan dengan matriks berukuran N x M (baris/tinggi = N, kolom/lebar = M) N = jumlah baris
0≤y≤N–1
M = jumlah kolom
0≤x≤M–1
L = maksimal warna intensitas
0 ≤ f(x,y) ≤ L – 1
(derajat keabuan / gray level) 0,0 0,1 1,0 1,1 … F(x,y) ≈ 1,0 1,1
0, 1 1, 1 1, 1
2.8 Daur Hidup Pengembangan Sistem Daur atau siklus pengembangan sistem dari pengembangan sistem merupakan suatu bentuk yang digunakan untuk menggambarkan tahapan utama dan langkahlangkah didalam tahapan tersebut dalam proses pengembangannya (Jogiyanto, 2005). Daur Hidup Pengembangan Sistem memiliki 6 langkah, yaitu: 1. Inisialisasi sistem dan mempelajari kemungkinan
20
Inisialisasi sistem dan mempelajari kemungkinan merupakan langkah untuk melakukan dokumentasi atas sistem yang ada saat ini, tujuan dan manfaat pembuatan sistem baru atau pengembangan dari sistem yang telah ada, identifikasi untuk alternatif solusi sistem dan penentuan solusi secara pasti. 2. Analisa sistem Analisa sistem merupakan langkah untuk membuat sketsa awal perencanaan proyek dan dokumentasi untuk sistem baru. 3. Perancangan sistem Perancangan sistem merupakan langkah untuk menghasilkan spesifikasi arsip (file) basis data, spesifikasi masukan/keluaran, spesifikasi modul program dan rencana proyek yang lebih rinci. 4. Pemrograman Pemrograman merupakan langkah untuk membuat dan menghasilkan program yang dibutuhkan oleh sistem baru. 5. Penerapan Penerapan merupakan langkah dimana pengguna melakukan pengujian terhadap program yang telah dibuat, perubahan file basis data, pelatihan pengguna, dan melakukan pengenalan terhadap sistem baru. 6. Evaluasi penerapan Evaluasi penerapan merupakan langkah untuk melakukan peninjauan ulang apakah sistem ini memenuhi kebutuhan pengguna. Model Waterfall merupakan salah satu dari model-model yang terdapat pada penerapan Daur Hidup Pengembangan Sistem. Roger.S, Pressman membagi model Waterfall ke dalam beberapa tahap, yaitu: tahap rekayasa sistem, analisis kebutuhan perangkat lunak, perancangan, pemrograman, pengujian, dan pemeliharaan yang dapat di gambarkan pada gambar 2.10
21
Gambar 2.10 Skema Model Waterfall
Tahapan-tahapan dalam waterfall adalah sebagai berikut:
1. Tahapan Rekayasa Sistem Tahapan ini menyangkut pengumpulan kebutuhan pada tingkat sistem dengan sejumlah kecil analisis serta desain tingkat puncak.
2. Tahapan Analisis Pada tahap ini dilakukan pengumpulan perangkat lunak. Untuk memahami perangkat lunak yang dibangun, perekayasa perangkat lunak harus memahami domain informasi, tingkah laku, unjuk kerja, dan antarmuka yang yang diperlukan.
Kebutuhan
baik
untuk
sistem
maupun
perangkat
lunak
didokumentasikan dan dilihat lagi dengan pelanggan.
3. Tahapan Perancangan Tahapan perancangan perangkat lunak sebenarnya adalah proses multi langkah yang berfokus pada empat atribut program yang berbeda; struktur data, arsitek perangkat lunak, representasi antarmuka, dan detail prosedural. Proses desain menerjemahkan kebutuhan ke dalam sebuah representasi perangkat lunak yang dapat
diperkirakan
demi
kualitas
sebelum
dimulai
pemunculan
kode.
22
Sebagaimana persyaratan, desain didokumentasikan dan menjadi bagian dari konfigurasi perangkat lunak.
4. Tahapan Pemrograman Desain harus diterjemahkan ke dalam bentuk mesin yang bisa dibaca. Langkah pemrograman melakukan tugas ini. Jika desain dilakukan dengan cara yang lengkap, pembuatan kode dapat diselesaikan secara mekanis.
5. Tahapan Pengujian Sekali kode dibuat, pengujian program dimulai. Proses pengujian berfokus pada logika di dalam perangkat lunak, memastikan bahwa semua pernyataan sudah diuji, dan di luar fungsi, yaitu mengarahkan pengujian untuk menemukan kesalahan-kesalahan dan memastikan bahwa masukan yang dibatasi akan memberikan hasil aktual yang sesuai dengan hasil yang dibutuhkan.
6. Tahapan Pemeliharaan Perangkat lunak akan mengalami perubahan setelah disampaikan kepada pelanggan.
Perubahan
akan
terjadi
kesalahan-kesalahan
ditentukan,
karenaperangkat lunak harus disesuaikan untuk menampung perubahan-perubahan di dalam lingkungan luarnya. Pemeliharaan perangkat lunak menerapkan lagi setiap tahap program sebelumnya dan tidak membuat yang baru lagi.