6 BAB 2 LANDAS AN TEORI
2.1 Pencitraan digital Pencitraan digital merupakan representasi dari gambar 2(dua) dimensi yang terbentuk dari kumpulan piksel dengan menggunakan nilai dari 0(nol) sampai 1(satu) pada setiap komponen pikselnya. Dalam pemetaan gambar digital terdapat 2(dua) cara penulisan data gambar yaitu dengan tipe vektor atau raster. Kedua tipe tersebut memiliki perbedaan konsep data yang mendasar. Sebelum kita melangkah lebih lanjut, ada baiknya untuk sejenak membahas perbedaan kedua tipe tersebut. 2.1.1 . Tipe Raster Data gambar pada tipe ini berupa kumpulan intensitas warna yang berupa titik-titik sehingga membentuk satu kesatuan gambar. Titik-titik ini dikenal dengan sebutan pixel pada dunia digital imaging. Pixel merupakan elemen terkecil pada suatu gambar raster yang berbentuk titik kecil dan memiliki warna. Gambar raster bergantung dengan resolusi pixel. Resolusi pixel adalah perbandingan jumlah pixel pada dimensi gambar yang biasa didefinisikan dengan satuan dot per inci atau pixel per inci. Oleh karena hal tersebut, gambar dengan tipe raster akan lebih sulit untuk diperbesar atau diperkecil tanpa mengorbankan kualitas gambar. Ketika gambar diperkecil maka harus ada pixel yang dibuang, begitu pula sebaliknya ketika gambar diperbesar maka harus ada penambahan pixel untuk menutupi segmensegmen yang kosong karena perenggangan dimensi. Dalam penambahan
7 pixel, sistem harus membuat nilai warna dari pixel baru yang diambil dari estimasi warna-warna pixel tetangganya. Cara seperti ini dikenal dengan teknik interpolasi. M acam-macam file yang menyimpan gambar raster antara lain : ◦
BMP
◦
GIF
◦
JPEG, JPG
◦
PNG
◦
PICT (M acintosh)
◦
PCX
◦
TIFF
◦
PSD (Adobe Photoshop)
2.1.2 . Tipe Vektor Data gambar pada tipe vektor terbentuk dari beberapa objek dan masing-masing objek masih dapat dimanipulasi. Objek-objek tersebut dibentuk berdasarkan perhitungan matematis
dan selalu dapat dirender
dengan kualitas tinggi. M acam-macam objek yang dapat mengisi gambar vektor seperti garis, kurva,
dan poligon dengan atribut-atributnya dapat
diedit kembali secara dinamis. Atribut-atribut yang dimaksudkan seperti warna, garis tepi, isi warna dari objek poligon. Disebabkan objek tersebut terbentuk dari perhitungan matematis, maka gambar vektor tidak bergantung terhadap resolusi. Objek vektor dapat
8 diperbesar dan diperkecil tanpa mengurangi kualitas gambar asal. M acammacam format file yang menyimpan data vektor : ◦
AI (Adobe Illustrator)
◦
CDR (Corel Draw)
◦
CMX (Corel Exchange)
◦
CGM (Computer Graphics M etafile)
◦
DXF (AutoCADs)
◦
WM F (Windows M etafile )
2.2 Warna Warna adalah persepsi visual yang sesuai pada manusia dengan kategori yang disebut merah, hijau, biru dan lain-lain. Warna berasal dari spektrum cahaya dan merupakan radiasi gelombang elektromagnetik yang berinteraksi pada mata dengan sensitivitas spektral dari reseptor cahaya. Hal tersebut diekspresikan sebagai distribusi energi spektral L(λ), di mana λ adalah panjang gelombang yang berada pada area pengelihatan, yaitu antara 350 nm sampai 780 nm dari spektrum elektromagnetik. Cahaya yang didapatkan dari suatu objek dapat kita tuliskan dengan rumusan sebagai berikut, I λ =p λ L λ
Di mana p( λ) merepresentasikan nilai pantulan dari suatu objek dan L( λ) adalah distribusi energi yang mengarah kepada objek. Jangkauan iluminasi yang dapat dilihat pada mata kita antara 1 sampai 1010 magnitudo. Cahaya akan difokuskan pada retina
9 oleh kornea dan lensa mata. Retina adalah suatu jaringan (tissue) yang sangat tipis yang membatasi bagian dalam dari belakang mata yang fungsinya meneruskan data yang didapat dari gelombang cahaya menjadi gelombang signal yang kemudian diteruskan kepada otak melalui saraf-saraf optik. Sel-sel penerima cahaya di dalam retina adalah dua tipe, yang disebut batang-batang (rods) dan kerucut-kerucut (cones). Dalam retina mata kurang lebih ada 100 juta sel batang. M ereka menyediakan apa yang disebut dengan pandangan scoptopic, di mana mata dapat merespon gelombang cahaya dengan magnitude rendah. Lain halnya dengan sel kerucut, jumlah sel kerucut lebih sedikit dibandingkan dengan banyaknya sel batang yaitu sekitar 6,5 juta sel. Sel-sel ini menyediakan apa yang disebut dengan pandangan photopic, di mana sel ini dapat merespon gelombang cahaya pada magnitudo tinggi. Intensitas Cahaya atau luminasi dari distribusi spasial pada suatu objek dengan distribusi cahaya I(x,y,λ) dirumuskan sebagai berikut, f x,y =ιI x,y,λ V λ dλ
di mana V( λ) adalah relativitas efisiensi intensitas cahaya dari sistim visual. Untuk mata manusia, grafik V( λ) terhadap λ berbentuk seperti lonceng (gambar 2.1). Objek yang bersinar akan memiliki karakteristik independen terhadap cahaya sekitar.
10 Ga mb ar 2.1 Pho topi c (hij au) dan Scoptopic (hitam).
Gambar 2.2 Hubungan warna dengan panjang gelombang.
2.3 Grayscale Greyscale pada pencitraan digital adalah suatu gambar di mana setiap nilai satuan pixel hanya mewakili informasi intensitas. Gambar ini biasa kita kenal sebagai gambar hitam putih, yang terbentuk hanya dari keluarga warna abu-abu, bervariasi dari hitam yang melambangkan intensitas cahaya terlemah diwakili oleh nilai float antara 0 (nol) sampai kepada warna putih yang melambangkan intensitas terkuat diwakili oleh nilai 1
11 (satu). Nilai warna pixel pada gambar greyscale akan memiliki nilai yang sama untuk ketiga warna dasarnya, di mana merah, hijau, biru akan menjadi warna dasar pixel gambar. Ada banyak koefisien yang telah diciptakan untuk membentuk nilai intensitas pada gambar greyscale. Pada penulisan skirpsi ini penulis menggunakan standarisasi format dari HDTV (High Definition Television) Rec. 709 atau BT. 709 yang ditetapkan oleh ITU (International Telecommunication Union) Perubahan gambar warna menjadi gambar greyscale yang mewakili nilai intensitas dapat dirumuskan sebagai berikut, Y x,y = 0 .2126 R+0 .7152G+ 0.0722 B
Di mana pada formula ini merepresentasikan fungsi luminasi, warna hijau memberikan kontribusi intensitas yang paling berpengaruh terhadap mata manusia dan warna biru yang memiliki kontribusi terkecil. Setelah didapatkan nilai intensitas, nilai primer warna dari pixel baru akan terbentuk seperti rumusan di bawah ini, F x,y =RGB Y x,y ,Y x,y ,Y x,y
di mana F(x,y) mereprentasikan pixel yang terbentuk dari warna merah, hijau dan biru, di mana ketiga warna dasar tersebut memiliki nilai yang sama yaitu nilai intensitas.
2.4 Convolution 2.4.1 Pengertian Convolution Convolution adalah salah satu metode matematika yang berguna untuk menggabungkan 2(dua) fungsi untuk membentuk fungsi baru. Kedua fungsi yang dimaksudkan adalah fungsi input dan fungsi kernel. Fungsi input dapat
12 berupa matriks dengan N dimensi
yang nantinya akan dikonvolusikan
dengan fungsi kernel sehingga membentuk nilai baru yang dimaksudkan. Fungsi kernel itu sendiri tersusun dari nilai-nilai koofisien yang tersimpan di dalam suatu N matriks. Pada tugas akhir ini, penulis hanya membahas konvolusi 1(satu) dimensi dan 2(dua) dimensi. 2.4.2 Convolution 1 dimensi Bentuk kontiniu dari operasi konvolusi 1(satu) dimensi dapat diwakili dengan rumusan sebagai berikut, ht
x t =ιh v x t − v dv
data spasial dari nilai input akan dikalikan dengan matriks kernel dan kemudian diintegrasikan, sehingga membentuk nilai baru yang berupa gabungan dari fungsi input dan fungsi kernel. Untuk mempermudah pemahaman kita tentang metode konvolusi, penulis akan menjelaskan metode ini dengan menggunakan gambar-gambar grafik sebagai berikut:
Gambar 2.3a Fungsi kernel
13
Gambar 2.3b Fungsi input
Gambar 2.3c Gabungan fungsi input dengan fungsi kernel dalam domain v
Gambar 2.3d Hasil perkalian fungsi x t− v
dengan h v
Gambar 2.3e Integrasi hasil perkalian fungsi x t− v
dengan h v
Pertama kita definisikan terlebih dahulu fungsi kernel (gambar 2.3a) dan fungsi input (gambar 2.3b) yang akan dikonvolusikan, kemudian kedua fungsi tersebut digabungkan ke dalam domain v sehingga dapat diperoleh
14 hasil perkalian dari nilai masing-masing fungsi. Oleh karena fungsi kernel (gambar 2.3a) dapat bergerak bebas pada domain v maka dapat diperoleh grafik integrasi dari hasil perkalian kedua fungsi (gambar 2.3e). Bentuk diskrit dari metode convolution 1(satu) dimensi adalah : M−1
f x
hx=
∑
f m h x− m
m=0
2.4.2.1 Rank filter 1 dimensi Rank filtering adalah suatu metode untuk merendahkan intensitas noise atau menghaluskan gradien pada suatu domain dengan mengambil titik tengah yang didefinisikan sebagai berikut M− 1
∑
f m = 1.0
m =0
Teknik ini dapat disebut juga sebagai median filter. Median filter sangat banyak digunakan dalam pengolahan citra digital dan dapat dipakai dalam kondisi tertentu, sebagai contoh untuk menghaluskan tepi objek dari interferensi noise. 2.4.3 Convolution 2 dimensi Untuk fungsi dengan dua dimensi, operasi convolution didefinisikan sebagai berikut : ◦ Untuk fungsi diskrit M − 1 N− 1
f x,y h x,y =
∑ ∑
m =0 n=0
f m,n h x− m,y− n
15 ◦ Untuk fungsi kontiniu ∞
f x,y
h x,y = ∫
∞
∫
f m,n h x− m,y− n dmdn
−∞ −∞
Pada skripsi ini, penulis akan mengkonvolusikan suatu citra digital terhadap fungsi kernel. Oleh karena citra digital merupakan kumpulan data diskrit dengan dimensi M xN, maka perhitungan akan menggunakan definisi diskrit, dengan f(x,y) sebagai fungsi citra digital dan h(x,y) sebagai fungsi kernel. Fungsi kernel dapat disebut juga dengan istilah convolution filter, convolution mask, template. Proses dari rumusan convolution dapat digambarkan seperti kita menggerakan cincin di atas buku dan mengambil huruf-huruf yang berada di dalam lingkaran cincin untuk diproses dan dijadikan nilai huruf yang baru. Sama halnya jika kita implementasikan pada citra digital, pixel baru pada koordinat xy akan terbentuk dari pengaruh besaran nilai intensitas pixel-pixel tetangganya yang diatur oleh matriks kernel. Dalam bentuk diskrit convolution kernel dinyatakan dalam bentuk matriks. Selanjutnya kernel yang digunakan pada pengolahan citra biasanya memiliki batasan, dalam artian pengaruh pixel-pixel tetangga yang cukup jauh sudah dapat diabaikan. Setiap elemen pada matriks kernel disebut koefisien convolution. Ilustrasi convolution ditunjukan pada Gambar 2.4
16 Gambar 2.4 Ilustrasi convolution Pada sebelah kiri adalah data citra digital yang berupa matriks, setiap pixel ditandai dengan nilainya. Pixel awal memiliki perbatasan merah. Daerah pengaruh dari matriks kernel memiliki perbatasan hijau. Di posisi tengah adalah matriks kernel dan, di sebelah kanan adalah hasil konvolusi. Untuk lebih jelasnya kita dapat melihat penggunaan metode convolution langkah demi langkah seperti contoh 4.1, dengan matriks berlatar belakang abu-abu adalah matriks kernel dan matriks berlatar belakang putih adalah matriks input. Contoh 4.1 : Langkah 1
Langkah 2
17
Langkah 3
Langkah 4
18
Langkah 5
Langkah 6
Langkah 7
19
Langkah 8
Langkah 9
20
2.4.3.1 Edge Detection Edge detection adalah metode untuk mendeteksi batas antara warna yang berbeda sehingga dapat mendeteksi tepi dari sebuah objek. Pada objek 2 dimensi, penditeksian tepi dilakukan melalui 2 cara, yaitu pendeteksian secara vertikal dan pendeteksian secara horisontal. Komposisi convolution matriks kernel untuk mendapatkan nilai intensitas tepi vertikal dan horisontal dapat dilihat pada gambar 2.5a dan 2.5b. M he=
− 1− 1− 1 0 0 0 1 1 1
Gambar 2.5a Matriks kernel tepi horisontal − 101 M ve= − 1 0 1 − 101
Gambar 2.5b Matriks kernel tepi vertikal
Nilai pixel baru yang mewakili intensitas tepi vertikal dan horisontal dapat ditentukan dengan mencari nilai resultan dari kedua 2 2 intensitas yang didapatkan M = M he +M ve .
2.5 Proyeksi horisontal dan vertikal
21 Proyeksi gambar horisontal [Px y ] merupakan besar keseluruhan nilai intensitas gambar menurut sumbu x dan proyeksi vertikal [Py x ] merupakan besaran keseluruhan nilai intensitas yang dipetakan pada sumbu y. Proyeksi horisontal dan vertikal dapat didefinisikan melalui rumusan sebagai berikut. W−1
Px y =
∑
f j,y
j= 0
H−1
Py x =
∑
f x,n
n=0
2.6 Metode heuristic Heuristik adalah kata sifat yang berasal dari bahasa Yunani yang berarti penemuan, teknik yang berlandaskan dari pengalaman dan dapat membantu dalam pemecahan masalah, pembelajaran dan penemuan. Sebuah metode heuristik digunakan untuk menemukan suatu solusi yang cepat sehingga diharapkan dapat dekat dengan jawaban terbaik, atau solusi optimal. Sebuah heuristik adalah sebuah aturan, sebuah tebakan, sebuah penilaian intuitif atau berlandaskan sifat dari suatu objek permasalahan. Hasil dari heuristik dapat diasumsikan kurang optimal, tetapi dapat dikatakan cukup baik selama fungsi heuristik yang digunakan juga tepat mewakili sifat dari suatu objek permasalahan. Keuntungan penerapan heuristik dalam pencarian solusi adalah Heuristik memiliki fleksibilitas tinggi yang memungkinkan untuk digunakan pada masalah yang kompleks dan tidak terstruktur. M etode heuristik lebih sederhana untuk dipahami oleh pengambil keputusan, secara khusus apabila didukung oleh analisis kualitatif. Suatu metode heuristik dapat digunakan sebagai bagian dari prosedur literatif yang tetap
22 menjamin ditemukannya sebuah solusi optimal.
2.7 Flowchart Flowchart adalah representasi skematik dari sebuah algoritma atau sebuah proses yang teratur, menunjukkan langkah-langkah dalam kotak-kotak yang bervariasi beserta urutannya dengan menghubungkan kotak-kotak tersebut dengan panah. Flowchart digunakan dalam mendesain atau mendokumentasikan sebuah proses atau program (Wikipedia 2010). Flowchart pertama kali diperkenalkan oleh Frank Gilbreth kepada anggota A SM E (American Sciety of Mechanical Engineers) pada tahun 1921 sebagai representasi “Process Charts – First Steps in Finding the One Best Way” dan saat ini menjadi alat yang sering digunakan untuk menunjukan aliran proses dalam suatu algoritma. Sebuah flowchart pada umumnya memiliki simbol-simbol sebagai berikut: •
Start and end symbols Direpresentasikan dalam bentuk oval, atau persegi panjang dengan ujung yang membulat, biasanya mengandung kata “Start” atau “End” atau frase lainnya yang menunjukkan awal proses atau akhir dari proses, seperti “submit enquiry” atau “receive product”.
•
Arrows M enunjukkan apa yang disebut sebagai “flow of control” dalam ilmu komputer. Sebuah arrow datang dari sebuah simbol dan berakhir pada simbol lainnya
merepresentasikan bahwa kontrol berpindah pada simbol yang
ditunjukkan oleh arrow.
23 •
Processing steps Direpresentasikan sebagai sebuah persegi panjang. Contoh: “tambahkan 1 pada X”; “ganti bagian yang diidentifikasi”; “simpan data”.
•
Input / Output Direpresentasikan sebagai sebuah jajarann genjang. Contoh: “ambil X dari user”; “tampilkan X”.
•
Conditional or decision Direpresentasikan sebagai sebuah belah ketupat / bentuk berlian. Biasanya berisi pertanyaan yang mempunyai jawaban “yes” atau “no”, ataupun “true” atau “false”. Tiap arrow harus diberi label di dalamnya. Conditional symbol ini minimal memiliki 2(dua) arrows.
2.8 Software Development Live Cycle (SDLC) Software Development Life Cycle (SDLC) adalah tahapan operasi terstruktur yang dibutuhkan untuk menyusun, membangun, dan membuat beroperasinya sebuah sistem informasi baru (Szymanski et al). SDLC dapat dipecah menjadi 4 tahap utama, yaitu analisis, disain, implementasi, dan perawatan. Contoh dari penerapan SDLC adalah model air terjun (the Waterfall model) atau siklus hidup klasik (Clasic Life Cycle). M etode RPL ini memberikan secara teknik bagaimana membangun sebuah perangkat lunak. •
Analisis dan Penentuan Kebutuhan (Requirements)
M engumpulkan
kebutuhan
secara lengkap
kemudian
dianalisis
dan
didefinisikan kebutuhan yang harus dipenuhi oleh aplikasi yang akan
24 dibangun. Fase ini harus dikerjakan secara lengkap untuk menghasilkan design yang lengkap. •
Perancangan
M endesiain sistem baru agar dapat lebih efektif, performance yang bagus, user friendly, dan sebagainya. •
Pengkodean
Berdasarkan hasil rancangan, dibuatlah program dengan menggunakan bahasa pemograman yang telah ditentukan. •
Pengujian
Pada fase ini akan dilakukan testing pada program yang telah jadi yaitu untuk mengecek kesalahan rancangan dan kesesuaiannya dengan spesifikasi sistem dalam hal pengoprasiannya dan performance-nya. •
Operasi dan pemeliharaan
Instalasi terhadap sistem yang telah selesai dikembangkan, kemudian dilakukan perawatan terhadap sistem, meliputi penanganan error, penambahan feature baru, dan upgrade terhadap sistem. Kegiatan maintenance ini lebih mengarah ke perancangan ulang sistem yang disebut sebagai daur ulang aktifitas. Daur hidup klasik memberikan tempat yang penting pada RPL. Paradigma ini menyediakan suatu tempat yang jelas bagi tahap analisis, perancangan, pengkodean, pengujian, dan perawatan. The Waterfall Model dapat dilihat pada gambar 2.6
25
Rekayas a Sistem Analisis Perancangan Pengkodean Pengujian Operasi dan Pemeliharaan
Gambar 2.6 The Waterfall Model
2.9 Rekayasa piranti lunak Piranti lunak menurut Pressman dapat didefinisikan sebagai berikut: •
Instruksi-instruksi atau program komputer yang bila dieksekusi akan memberikan fungsi dan unjuk kerja yang diinginkan.
•
Struktur data yang mampu memanipulasi suatu informasi.
•
Dokumen-dokumen
ang menjelaskan
operasi dan
pemakaian
suatu
propaganda. RPL menurut Pressman adalah suatu pembentukan dan penggunaan prinsip-prinsip rekayasa dengan tujuan menghasilkan suatu perangkat lunak yang ekonomis dan dapat diandalkan serta dapat bekerja secara efisien pada mesin yang sesungguhnya. Pada dasarnya RPL meliputi tiga elemen kunci yaitu: •
Method (metode) M engenai bagaimana membangun suatu perangkat lunak, di mana metode
26 terdiri dari beberapa tugas yaitu perencanaan proyek dan estimasi, analisis kebutuhan perangkat lunak, perancangan struktur data, arsitektur program, prosedur algoritma, pengkodean, testing dan pemeliharaan. •
Tools Tools menyediakan dukungan baik secara otomatis maupun semi otomatis untuk metode. Tools diintegrasikan dengan tujuan informasi yang dihasilkan oleh suatu tool dapat digunakan oleh yang lainnya.
•
Procedure Procedure merupakan perekat antara metode. Tools dan Procedure juga memungkinkan pembangunan perangkat lunak secara rasional dan berkala.
RPL tersusun oleh beberapa langkah yang meliputi metode, tools dan procedure di mana langkah-langkah ini dikenal dengan sebutan Software Engineering Paradigm. Terdapat beberapa model paradigma yang berbeda dan paradigma yang digunakan ditentukan berdasarkan pada sifat dari program dan aplikasi, metode, dan tools yang digunakan, juga berdasarkan kontrol dan kemampuan pengiriman yang dibutuhkan.