BAB II LANDASAN TEORI 2.1
Pengertian Citra Citra merupakan hasil keseluruhan dari suatu sistem perekaman data. secara
teoritis citra dapat dikelompokkan menjadi 2 (dua) macam, yaitu citra kontinu dan citra diskrit (citra digital). Citra kontinu dihasilkan dari sistem optik yang menerima sinyal analog. Contoh: mata manusia, kamera analog. Sedangkan citra digital dihasilkan melalui proses digitalisasi terhadap citra kontinu [16]. Contoh: kamera digital, scanner. Citra sebagai keluaran dari suatu sistem perekaman data dapat bersifat : 1. Optik berupa foto, citra bersifat optik ini secara teoritis merupakan citra kontinu (merekam data secara langsung dalam suatu bidang). Kontinu dalam pengertian nilai keabuan dinyatakan dengan presisi angka tak terhingga. 2. Analog berupa sinyal video seperti gambar pada monitor televisi. Citra analog adalah citra yang terdiri dari sinyal-sinyal frekuensi elektromagnetis yang belum dibedakan sehingga pada umumnya tidak dapat ditentukan ukurannya. 3. Digital yang dapat langsung disimpan pada suatu pita magnetik. Citra digital adalah citra yang dinyatakan secara diskrit (tidak kontinu), baik untuk posisi koordinatnya maupun warnanya. Dengan demikian, citra digital dapat digambarkan sebagai suatu matriks, di mana indeks baris dan indeks kolom dari matriks menyatakan posisi suatu titik di dalam citra dan harga dari elemen matriks menyatakan warna citra pada titik tersebut. 2.1.1 Pengolahan Citra Pengolahan citra (image processing) merupakan suatu sistem dimana proses dilakukan dengan masukan berupa citra (image) dan hasilnya juga berupa citra (image) [5]. Pengolahan citra merupakan bagian mendasar dari berbagai aplikasi,
7 http://digilib.mercubuana.ac.id/
8
seperti pembacaan barcode pada barang di supermarket, mengenali peluru kendali melalui sensor visual, deteksi kanker dengan sinar X, rekonstruksi foto janin hasil USG. Pengolahan citra mempunyai dua tujuan utama, yaitu sebagai berikut : 1. Memperbaiki kualitas citra, dimana citra yang dihasilkan dapat menampilkan informasi secara jelas atau dengan kata lain manusia dapat melihat hasil dari perbaikan kualitas citra yang dilakukan. 2. Mengekstrasi informasi ciri yang menonjol pada suatu citra, dimana hasilnya adalah informasi citra. Operasi yang dapat di lalukan dengan Pengolahan citra : 1. Perbaikan kualitas citra (Image Enhacement) Tujuan : memperbaiki kualitas citra dengan memanipulasi parameterparameter citra. Operasi perbaikan citra : perbaikan kontras gelap/terang, perbaikan tepian objek (edge enhancement), penajaman (sharpening), pemberian warna semu (pseudocoloring), penapisan derau (noise filtering). 2. Pemugaran citra (Image Restoration) Tujuan : menghilangkan cacat pada citra. Operasi pemugaran citra : penghilangan kesamaran (deblurring), penghilangan derau (noise). 3. Pemampatan citra (Image Compression) Tujuan : citra direpresentasikan dalam bentuk lebih kompak, sehingga keperluan memori lebih sedikit namun dengan tetap mempertahankan kualitas gambar (misal dari .BMP menjadi .JPG). 4. Segmentasi citra (Image Segmentation) Tujuan : memecah suatu citra ke dalam beberapa segmen dengan suatu kriteria tertentu. Berkaitan erat dengan pengenalan pola. Operasi segmentasi citra : deteksi titik, deteksi garis, pendeteksian tepi objek (edge detection). 5. Pengorakan citra (Image Analysis) Tujuan : menghitung besaran kuantitatif dari citra untuk menghasilkan deskripsinya. Diperlukan untuk melokalisasi objek yang diinginkan dari
http://digilib.mercubuana.ac.id/
9
sekelilingnya. Operasi pengorakan citra : ekstraksi batas (boundary), representasi daerah (region). 6. Rekonstruksi citra (Image Recontruction) Tujuan : membentuk ulang objek dari beberapa citra hasil proyeksi. 2.1.2 Segmentasi Citra Segmentasi citra merupakan proses yang ditujukan untuk mendapatkan objek-objek yang terkandung didalam citra atau membagi citra ke dalam beberapa daerah dengan setiap objek atau daerah memilii kemiripan atribut. Segmentasi membagi citra ke dalam daerah intensitasnya masing-masing sehingga bisa membedakan antara objek dan background-nya. Segmentasi harus di hentikan apabila masing-masing objek telah terisolasi atau terlihat dengan jelas [6]. Algoritma segmentasi citra terbagi dalam dua macam, yaitu : 1. Diskontinuitas Pembagian citra berdasarkan perbedaan dalam intensitasnya, contohnya titik, garis, dan edge (tepi). 2. Similaritas Pembagian
citra
berdasarkan
kesamaan-kesamaan
kriteria
yang
dimilikinya, contohnya thresholding, region growing, region splitting, dan region merging. 2.1.3 Deteksi Tepi Tepi (edge) adalah proses untuk menentukan perubahan nilai intensitas derajat keabuan yang mendadak besar dalam jarak yang dekat. Suatu titik (x,y) dikatakan sebagai tepi(edge) dari suatu citra bila titik tersebut mempunyai perbedaan nilai piksel yang tinggi dengan nilai piksel tetangganya. Bentuk tepi gambar tergantung pada banyak parameter yaitu tergantung pada sifat geometris dan optik dari objek, kondisi cahaya dan tingkatan noise pada gambar [7]. pada suatu citra dapat menghasilkan tepi tepi dari obyek tersebut untuk menandai bagian yang detail pada citra tujuanya memperbaiki dari citra yang kabur atau eror.
http://digilib.mercubuana.ac.id/
10
Pada gambar dibawah ini adalah dimana suatu proses dilakukan untuk memperoleh tepi gambar yang sudah ada.
Gambar 2.1 Proses Deteksi Tepi Citra Sumber : Buku Step by Step Pengolahan Citra Digital, 2005 Pendeteksian tepi merupakan langkah pertama untuk melingkupi informasi di dalam citra. Tepi mencirikan batas-batas objek dan karena itu tepi berguna untuk proses segmentasi dan identifikasi di dalam citra. Tujuan pendeteksian tepi adalah untuk meningkatkan penampakan garis batas suatu daerah atau objek di dalam citra, mencirikan batas objek dan berguna untuk proses segmentasi dan identifikasi objek. Terdapat tiga macam tepi didalam citra digital, yaitu : a. Tepi Curam Tepi curam adalah tepi dengan perubahan intensitas yang tajam. Arah tepi berkisar 900.
Gambar 2.2 Tepi Curam Sumber : Buku Pengolahan Citra Digital Menggunakan MATLAB, 2007
http://digilib.mercubuana.ac.id/
11
b. Tepi Landai Tepi landai yaitu tepi dengan sudut arah yang kecil. Tepi landai dapat dianggap terdiri dari sejumlah tepi-tepi lokal yang lokasinya berdekatan.
Gambar 2.3 Tepi Landai Sumber : Buku Pengolahan Citra Digital Menggunakan MATLAB, 2007 c. Tepi yang mengandung derau Umumnya tepi yang terdapat pada aplikasi visi komputer mengandung derau. Operasi peningkatan kualitas citra dapat dilakukan terlebih dahulu sebelum pendektesian tepi.
Gambar 2.4 Tepi Curam Dengan Derau Sumber : Buku Pengolahan Citra Digital Menggunakan MATLAB, 2007 2.1.4 Operator Roberts Operator Roberts adalah operator yang berbasis gradien yang menggubakan kernel ukuran 2x2 piksel. Operator Robert juga disebut operator silang karena operator ini mengambil arah diagonal untuk penentuan arah dalam perhitungan nilai gradien. Perhitungan gradien dalam operator Robert adalah : G = |π(π₯, π¦) β π(π₯ + 1, π¦ + 1)| + |π(π₯ + 1, π¦) β π(π₯, π¦ + 1)|.............2-1
http://digilib.mercubuana.ac.id/
12
Bila ditulis dalam komponen gradien menjadi : G = | πΊπ | + | πΊπ |......................................................................................2-2 dimana Gx dan Gy dihitung menggunakan kernel konvolusi sebagai berikut. πΊπ₯ = [
1 0
0 ] β1
0 1
πΊπ¦ = [
β1 ]......................................2-3 0
2.1.5 Operator Sobel Deteksi tepi operator Sobel diperkenalkan oleh Irwin Sobel pada tahun 1970. Operator Sobel adalah salah satu operator yang menghindari adanya perhitungan gradien dititik interpolasi. Operator ini menggunakan kernel ukuran 3x3 piksel untuk perhitungan gradien sehingga perkiraan gradien berada tepat ditengah jendela [8]. Misalkan sususan piksel-piksel disekitar piksel (x,y) adalah : a0
a1
a2
a7
(x,y)
a3
a6
a5
a4
Berdasarkan susunan piksel tetangga tersebut, besaran gradien yang dihitung menggunakan operator Sobel adalah : M = βππ₯2 + ππ¦2 Dimana M adalah besar gradien dititik tengah kernel dan turunan parsial dihitung menggunhakan persamaan berikut. Sx = (a2+ca3+a4) β (a0+ca7+a6) Sy = (a0+ca1+a2) β (a6+ca5+a4) Dimana c adalah konstanta yang bernilai 2. Sx dan Sy diimpelementasikan menjadi kernel berikut. β1 0 ππ₯ = [β2 0 β1 0
1 2 ] 1
β1 ππ¦ = [ 0 1
β2 0 2
β1 0 ].................2-4 1
Operator Sobel menempatkan penekanan atau pembobotan pada pikselpiksel yang lebih dekat dengan titik pusat jendela. Dengan demikian pengaruh piksel-piksel tetangga akan berbeda sesuai dengan letaknya terhadap titik di mana
http://digilib.mercubuana.ac.id/
13
gradien dihitung. Gradien adalah hasil pengukuran perubahan dalam sebuah fungsi intensitas, dan sebuah citra dapat dipandang sebagai kumpulan beberapa fungsi intensitas kontinyu dari citra. Dari susunan nilai-nilai pembobotan pada jendela juga terlihat bahwa perhitungan terhadap gradien juga merupakan gabungan dari posisi horisontal dan vertikal. 2.1.6 Operator Prewitt Pengembangan dari gradient operator dengan menggunakan 2 mask (horizontal dan vertikal) ukuran 3x3. Pada operator ini kekuatan gradient ditinjau dari sudut pandang horizontal dan vertikal (memperhatikan titik disekitar pada posisi horizontal dan vertikal). Selain itu metode Prewitt merupakan pengembangan metode Robert dengan menggunakan filter HPF yang diberi satu angka nol penyangga. Metode ini mengambil prinsip dari fungsi laplacian yang dikenal sebagai fungsi untuk membangkitkan HPF. Persamaan gradien pada operator Prewitt sama seperti operator Sobel, tetapi menggunakan nilai konstanta c = 1, Kernel fillter yang digunakan dalam metode Prewitt ini adalah : β1 0 ππ₯ = [β1 0 β1 0
1 1 ] 1
β1 ππ¦ = [ 0 1
β1 0 1
β1 0 ].................2-5 1
Operator Prewitt tidak meletakkan penekanan atau pembobotan pada pikselpiksel yang lebih dekat dengan titik pusat dari jendela, dengan demikian ke8 piksel tetangga mempunyai pengaruh yang sama terhadap perhitungan gradien pada titik pusat jendela. Inilah yang menjadi perbedaan antara operator prewitt dengan Operator Sobel [9]. 2.1.7 Operator Isotropic Operator Isotropic merupakan salah satu deteksi tepi dengan metode operator gradien yang menggunakan dua buah matriks 3x3, yaitu matriks vertikal dan matriks horisontal yang ditapis secara bersamaan. Bedanya operator Isotropic dengan operator metode gradien lain adalah nilai konstanta c = β2, Berikut adalah kernel untuk operator Isotropic.
http://digilib.mercubuana.ac.id/
14
β1 πΌπ₯ = [ββ2 β1
0 0 0
1 β2 ] 1
πΌπ¦ = [
β1 0 1
ββ2 0 β2
β1 0 ]......................2-6 1
Kekuatan tepinya dilakukan dengan akar dari penjumlahan kuadrat hasil penelusuran secara horisontal (Ix) dengan hasil penelusuran secara vertikal (Iy), sehingga dapat dituliskan bahwa: πΊ [π(π₯, π¦)] = βπΌπ₯ 2 + πΌπ¦ 2 ..............................................2-7 2.1.8 Operator Stochastic Operator Stochastic sama seperti operator Sobel, Prewitt dan Isotropic yaitu salah satu operator deteksi tepi dengan metode gradien yang menggunakan dua buah matriks 3x3, yaitu matriks vertikal dan matriks horisontal yang ditapis secara bersamaan. Berikut adalah kernel untuk operator Stochastic. β0.776 0 ππ‘π₯ = [ β1 0 β0.776 0
0.776 β0.776 β1 β0.776 1 ] ππ‘π¦ = [ 0 0 0 ]...........2-8 0.776 0.776 1 0.776
Kekuatan tepinya dilakukan dengan akar dari penjumlahan kuadrat hasil penelusuran secara horisontal (Stx) dengan hasil penelusuran secara vertikal (Sty), sehingga dapat dituliskan bahwa: πΊ [π(π₯, π¦)] = βππ‘π₯ 2 + ππ‘π¦ 2 .........................................2-9 2.2
MATLAB Matlab adalah sebuah sistem interaktif yang menggunakan elemen data
dasarnya adalah array yang tidak membutuhkan dimensi. Hal ini mempermudah anda untuk menyelesaikan masalah komputasi, terutama yang menyangkut matriks dan vector. Nama matlab merupakan singkatan dari βMatrix Laboratoryβ. Matlab telah digunakan bertahun-tahun dengan banak pengguna. Di lingkungan universitas matlab telah menjadi alat standar untuk pengajaran tingkat dasar dan tingkat lanjut
http://digilib.mercubuana.ac.id/
15
yang berhubungan dengan matematika, rekayasa, dan sains. Dilingkungan industri, matlab merupakan alat untuk penelitian produktifitas, pengembangan, dan analisis. Menurut Wijaya & Priyono [10] Sistem matlab terdiri dari 5 bagian utama, yaitu : 1. Bahasa (pemrograman) matlab Bahasa ini adalah Bahasa (pemrograman) tingkat tinggi yang menggunakan matriks/array dengan pernyataan aliran kencali program, struktur data, masukan/keluaran, dan fitur-fitur pemrograman berorientasi objek. 2. Lingkungan kerja matlab Bagian ini adalah sekumpulan kakas dan fasilitas matlab yang digunakan oleh pengguna atau pemrogram. Fasilitas yang dimaksudkan misalnya untuk mengelola variable di dalam ruang kerja (workspace) dan melakukan impor dan ekspor data. Sedangkan kakas yang disediakan unruk pengembangan, pengelolaan, proses βdebuggingβ dan pembuatan profil Mfiles untuk aplikasi matlab. 3. Penanganan grafik Bagian ini adalah system grafik matlab, termasuk perintah-perintah (program) tingkat tinggi untuk visualisasi data dimensi 2 dan dimensi 3, pengolahan citra, animasi, dan presentasi grafik. Selain itu, bagian ini juga termasuk perintah-perintah (program) tingkat rendah untuk menetapkan sendiri tampilan grafik seperti halnya membuat antarmuka pengguna grafis untuk aplikasi matlab. 4. Pustaka (library) fungsi matematis matlab Bagian ini adalah koleksi algoritma komputasi mulai dari fungsi dasar seperti menjumlahkan (sum), menentukan nilai sinus (sine), kosinus (cosine), dan aritmatika bilangan kompleks; fungsi-fungsi seperti inverse matriks, nilai eign matriks, fungsi Bessel, dan FFT (fast fourier transform). 5. API (application program interface) matlab Bagian ini adalah pustaka (library) untuk menuliskan program daam Bahasa C dan Fortran yang berinteraksi dengan matlab, termasuk fasilitas untuk memanggil rutin program dari matlab (dynamic linking), memanggil matlab sebagai mesin komputasi (computational engine), dan untuk pembacaan serta penulisan Mat-files.
http://digilib.mercubuana.ac.id/
16
Gambar 2.4 Tampilan antar muka Matlab 2.2.1 GUI Matlab GUIDE atau GUI builder merupakan sebuah graphical user interface (GUI) yang dibangun dengan obyek grafis seperti tombol (button), kotak teks, slider, sumbu (axes), maupun menu. Sebagai contoh, ketika menggerakkan slider, maka kita dapat melihat perubahan sebuah nilai. Kemudian, ketika kita menekan tombol OK, maka aplikasi kita akan dijalankan. Aplikasi yang menggunakan GUI umumnya lebih mudah dipelajari dan digunakan karena orang yang menjalankannya tidak perlu mengetahui perintah yang ada dan bagaimana perintah bekerja. Tidak seperti Bahasa pemrograman lainnya, GUIDE matlab memiliki banyak keunggulan tersendiri, antara lain : 1. GUIDE matlab banyak digunakan dan cocok untuk aplikasi-aplikasi berorientasi sains, sehingga banyak peneliti atau mahasiswa, baik S1, S2 maupun S3, menggunakan GUIDE matlab untuk menyelesaikan riset atau tugas akhirnya. 2. Matlab memiliki banyak fungsi built in yang siap digunakan dan pemakai tidak perlu repot membuatnya sendiri. 3. Ukuran file, baik FIG-file maupun M-file, yang dihasilkan relatif kecil.
http://digilib.mercubuana.ac.id/
17
Kemampuan grafisnya cukup andal dan tidak kalah dibandingkan Bahasa pemrograman lainnya [11].
Gambar 2.5 Tampilan antar muka GUI Matlab 2.3
Rekayasa Perangkat Lunak Rekayasa Perangkat Lunak adalah suatu disiplin ilmu yang membahas
semua aspek produksi perangkat lunak, mulai dari tahapan awal yaitu analisa kebutuhan pengguna/user, menentukan spesifikasi dari kebutuhan pengguna, desain, pengkodean, pengujian sampai pemeliharaan sistem setelah digunakan. Menurut Pressman [12] Rekayasa Perangkat Lunak adalah suatu disiplin ilmu yang mengintegrasikan proses/prosedur, metode, dan perangkat tools untuk pembangunan perangkat lunak komputer. Tujuan dari Rekayasa Perangkat Lunak ini adalah : 1. Memperoleh biaya produksi perangkat lunak yang rendah. 2. Menghasilkan pereangkat lunak yang kinerjanya tinggi, andal dan tepat waktu 3. Menghasilkan perangkat lunak yang dapat bekerja pada berbagai jenis platform 4. Menghasilkan perangkat lunak yang biaya perawatannya rendah
http://digilib.mercubuana.ac.id/
18
2.3.1 Metode Prototyping Prototyping merupakan salah satu metode pengembangan perangat lunak yang banyak digunakan, dengan metode prototyping ini pengembang dan user dapat saling berinteraksi selama proses pembuatan sistem. Sering terjadi seorang user hanya mendefinisikan secara umum apa yang dikehendakinya tanpa menyebutkan secara detail output apa saja yang dibutuhkan, pemprosesan dan datadata apa saja yang dibutuhkan. Sebaliknya disisi pengembang kurang memperhatikan efesiensi algoritma, kemampuan sistem operasi dan interface yang menghubungkan manusia dan komputer. Untuk mengatasi ketidak serasian antara user dan pengembang maka dibutuhakan kerjasama yang baik diantara keduanya sehingga pengembang akan mengetahui
dengan
benar
apa
yang
diinginkan
user
dengan
tidak
mengesampingkan segi-segi teknis dan pelanggan akan mengetahui proses-proses dalam
menyelasaikan sistem yang diinginkan.
Dengan demikian akan
menghasilkan sistem sesuai dengan jadwal waktu penyelesaian yang telah ditentukan. Menurut OβBrien [13], Prototyping adalah suatu sistem potensial yang disediakan bagi pengembang dan calon pengguna/user yang dapat memberikan gambaran bagaimana kira-kira sistem tersebut akan berfungsi bila telah disusun dalam bentuk yang lengkap, dimana prosesnya disebut dengan prototype. Pengumpulan Kebutuhan
Produk Rekayasa
Perancangan Cepat
Perbaikan Prototype
Membuat Prototype Evaluasi Prototype
Gambar 2.6 Metode Prototyping Sumber : Buku Management Information Systems, 2011
http://digilib.mercubuana.ac.id/
19
Tahapan Metode Prototyping : 1. Pengumpulan Kebutuhan Menetapkan segala kebutuhan untuk pembangunan perangkat lunak 2. Perancangan cepat Tahap penerjemahan dari keperluan atau data yang telah dianalisis ke dalam bentuk yang mudah dimengerti oleh user. 3. Membuat Prototype Menerjemahkan data yang telah dirancang ke dalam bahasa pemrograman (Program contoh atau setengah jadi ) 4. Evaluasi Prototype Program yang sudah jadi diuji oleh pelanggan, dan bila ada kekurangan pada program bisa ditambahkan.
5. Perbaikan Prototype Perbaikan program yang sudah jadi, sesuai dengan kebutuhan konsumen. Kemudian dibuat program kembali dan di evaluasi oleh konsumen sampai semua kebutuhan user terpenuhi.
6. Produk Rekayasa Program yang sudah jadi dan seluruh kebutuhan user sudah terpenuhi 2.3.2 Flowchart Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta instruksinya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol menggambarkan
proses tertentu.
Sedangkan hubungan antar proses digambarkan dengan garis penghubung. Flowchart ini merupakan langkah awal pembuatan program. Dengan adanya flowchart urutan poses kegiatan menjadi lebih jelas. Jika ada penambahan proses maka dapat dilakukan lebih mudah. Setelah flowchart selesai disusun, selanjutnya pemrogram (programmer) menerjemahkannya ke bentuk program dengan bahasa pemrograman. Menurut Jogiyanto [14] Bagan alir (flowchart) adalah bagan (chart) yang menunjukan hasil (flow) didalam program atau prosedur sistem secara logika. Bagan alir digunakan terutama untuk alat bantu komunikasi dan untuk
http://digilib.mercubuana.ac.id/
20
dokumentasi. Serta Menurut Ladjamuddin [15] Flowcart adalah bagan-bagan yang mempunyai arus yang menggambarkan langkah-langkah penyelsaian suatu masalah. Flowchart merupakan cara penyajian dari suatu algoritma. Tujuan Utama dari penggunaan Flowchart adalah untuk menggambarkan suatu tahapan penyelesaian masalah secara sederhanna, terurai, rapi dan jelas dengan menggunakan simbol-simbol yang standar. Tahap penyelesaian masalah yang disajikan harus jelas, sederhana, efektif dan tepat. SIMBOL
Tabel 2.1 Simbol-simbol Flowchart NAMA FUNGSI TERMINATOR
Permulaan/akhir program
GARIS ALIR (FLOW LINE)
Arah aliran program
PREPARATION
Proses inisialisasi/pemberian harga awal
PROSES
Proses perhitungan/proses pengolahan data
INPUT/OUTPUT DATA
Proses input/output data, parameter, informasi
PREDEFINED PROCESS (SUB PROGRAM)
Permulaan sub program/proses menjalankan sub program
DECISION
Perbandingan pernyataan, penyeleksian data yang memberikan pilihan untuk langkah selanjutnya
ON PAGE CONNECTOR
Penghubung bagian-bagian flowchart yang berada pada satu halaman
OFF PAGE CONNECTOR
Penghubung bagian-bagian flowchart yang berada pada halaman berbeda
http://digilib.mercubuana.ac.id/
21
2.3.3 Metode Pengujian Pengujian perangkat lunak sangat diperlukan dalam suatu system informasi, dimana dengan melakukan suatu pengujian akan ditemukan kesalahan atau error yang muncul dari system perangkat lunak tersebut. Dengan demikian tentunya seorang programmer akan bisa mengetahui dan apa yang harus dikerjakan selanjutnya. Metode yang banyak digunakan dalam pengujian perangkat lunak yaitu metode White Box Testing dan Black Box Testing. Penjelasan keduanya yaitu sebagai berikut : 1. White Box Testting White Box digunakan untuk mengetahui cara kerja suatu perangkat lunak secara internal yaitu dengan cara masuk kedalam modul untuk meneliti kode-kode program yang ada, dan menganalisis apakah ada kesalahan atau tidak. Jika ada modul yang menghasilkan output yang tidak sesuai dengan proses bisnis yang dilakukan, maka baris-baris program, variabel, dan parameter yang terlibat pada unit tersebut akan dicek satu persatu dan diperbaiki, kemudian di-compile ulang. Pengujian dilakukan untuk menjamin operasi-operasi internal sesuai dengan spesifikasi yang telah ditetapkan dengan menggunakan struktur kendali dari prosedur yang dirancang. 2. Black Box Testting Black Box digunakan untuk menguji fungsi-fungsi khusus dari perangkat lunak yang dirancang. Kebenaran perangkat lunak yang diuji hanya dilihat berdasarkan keluaran yang dihasilkan dari data atau kondisi masukan yang diberikan untuk fungsi yang ada tanpa melihat bagaimana proses untuk mendapatkan keluaran tersebut. Dari keluaran yang dihasilkan, kemampuan program dalam memenuhi kebutuhan pemakai dapat diukur sekaligus dapat diiketahui kesalahan-kesalahannya. Tidak seperti pengujian white box yang dilakukan pada awal proses pengujian, pengujian black box cenderung diaplikasikan selama tahap akhir pengujian. Karena pengujian black box memperhatikan struktur kontrol, maka perhatian berfokus pada domain informasi [17].
http://digilib.mercubuana.ac.id/
22
http://digilib.mercubuana.ac.id/