BAB 2 LANDASAN TEORI
2.1
Gambar Digital Gambar sebagai keluaran suatu sistem perekaman data dapat bersifat optik
berupa foto, bersifat analog berupa sinyal-sinyal video seperti gambar pada monitor televisi, atau bersifat digital yang dapat langsung disimpan dalam pita magnetik. Komputer hanya dapat bekerja dengan bilangan numerik yang berhingga, sehingga gambar harus diubah ke dalam bentuk bilangan numerik berhingga (gambar digital) sebelum diproses dalam suatu komputer. Untuk mengubah gambar yang bersifat kontinu menjadi gambar digital, diperlukan proses pembuatan kisi-kisi arah horisontal dan vertikal, sehingga diperoleh gambar dalam bentuk array dua dimensi. Proses tersebut dikenal sebagai proses digitalisasi atau sampling. Gambar dapat dipresentasikan dengan array dua dimensi, di mana setiap elemen array dikenal sebagai elemen gambar (picture element / pixel). Pembagian suatu gambar menjadi sejumlah pixel dengan ukuran tertentu ini akan menentukan resolusi spatial (derajat kehalusan) yang diperoleh. Semakin kecil ukuran pixelnya, maka akan semakin halus gambar yang diperoleh, karena informasi yang hilang akibat pengelompokan tingkat keabuan pada proses pembuatan kisi-kisi akan semakin kecil. Angka pada gambar digital menggambarkan bagaimana setiap pixel menggambarkan kecerahan (brightness) gambar tersebut pada titik yang bersangkutan. Proses lain yang dapat dilakukan dalam suatu gambar digital adalah proses kuantisasi (quantization). Dalam proses ini tingkat keabuan setiap pixel dinyatakan
6 sebagai suatu harga integer. Batas-batas harga integer atau besarnya daerah tingkat keabuan yang digunakan untuk menyatakan tingkat keabuan pixel akan menentukan resolusi kecerahan dari gambar yang diperoleh. Kalau digunakan 3 bit untuk menyimpan harga integer tersebut, maka akan diperoleh sebanyak 8 tingkat keabuan. Seluruh tahapan proses konversi di atas dikenal sebagai konversi analog ke digital, yang biasanya akan menyimpan hasil proses pada memori gambar. Sebaliknya, sebagai hasil suatu proses pengolahan gambar digital, kadang-kadang perlu mengeluarkan gambar dari memori gambar ke bentuk peragaan pada monitor televisi atau ke bentuk cetakan foto. Proses konversi balikan ini dikenal sebagai konversi digital ke analog.
2.2
RAW File gambar RAW terdiri dari data yang ditangkap sensor pada kamera digital
yang diproses seminimal mungkin, sehingga data yang disimpan merupakan data mentah (raw) yang belum mengalami pengolahan warna, tingkat kecerahan, kompresi, dan lainnya . Saat kamera digital menangkap gambar, chip pencitraan akan merekam jumlah cahaya yang diterima oleh setiap pixel pada sensor. Ini direkam sebagai tingkat voltase. Tingkat voltase ini kemudian diubah menjadi representasi digital oleh rangkaian pengubah analog ke digital. Bergantung pada jenis rangkaian pada kamera, jumlah data yang direkam dapat mencapai hingga 12 atau 14 bit data, yang artinya setiap pixel dapat memiliki 4,096 (212) dan 16,384 (214) tingkat kecerahan yang berbeda. Hal ini sangat berbeda dengan tipe data JPEG yang hanya mampu menyimpan hingga 8 bit data atau 256 tingkat kecerahan.
7 Beberapa keunggulan lain dari tipe data RAW yaitu : •
Ruang warna yang digunakan dapat diatur sesuai dengan keinginan pengguna. Sebagai contoh, ruang warna gamut Adobe RGB yang lebih luas dapat dipilih sebagai alternatif dari sRGB yang biasa dipakai pada kamera pada umumnya.
•
Karena sifatnya yang masih mentah, maka file RAW dapat digunakan di masa depan untuk pengolahan yang lebih baik sesuai dengan teknologi yang berkembang.
•
Saat penyimpanan gambar, kamera akan menciptakan file header yang berisi data pengaturan kamera seperti, kontras, tingkat kecerahan, whitebalance, temperature warna, namun data tersebut hanya dibubuhi pada file dan tidak mengubah gambar yang tersimpan.
•
Kemampuan untuk melakukan pengubahan terhadap gambar yang telah diambil, yang memberi keuntungan bila gambar tersebut ternyata memiliki kekurangan pada pengaturan awal saat gambar diambil.
Hingga saat ini format RAW merupakan format yang memberikan kualitas gambar terbaik untuk penyimpanan gambar pada kamera digital, meski ukuran file yang dihasilkan dapat mencapai enam kali lebih besar daripada kamera yang menggunakan format JPEG. Para pengembang pun terus memberi dukungan terhadap penggunaan format ini sebagai contoh, Microsoft telah meluncurkan sebuah penampil thumbnail yang direncanakan akan disertai pada versi Windows berikutnya, pada tahun 2004 Adobe System menerbitkan Digital Negative Specification (DNG), yang bertujuan untuk menjadi penyatu format RAW. Pada Oktober 2005 Apple Computer meluncurkan
8 Aperture, sebuah paket peranti lunak pengolah gambar untuk profesional yang fiturnya mendukung penuh file RAW
2.3
Kompresi Gambar Kompresi gambar merupakan proses untuk mengurangi jumlah bit-bit data yang
merepresentasikan suatu gambar. Ada dua jenis kompresi yang dapat dilakukan pada gambar yaitu kompresi yang memberikan hasil yang merupakan replika dari gambar awal (lossless compression) dan kompresi yang merupakan pendekatan terhadap gambar awal (lossy compression). Format yang umum digunakan saat ini adalah JPEG yang umumnya digunakan untuk gambar hasil fotografi dan GIF yang digunakan untuk gambar dengan bentuk geometri yang sederhana. Gambar yang merupakan hasil fotografi memiliki ukuran yang cukup besar karena memiliki gradient warna yang tinggi dan sudut-sudut kompleks dan bersifat lossy. Kompresi gambar memanfaatkan kelebihan atas persepsi manusia terhadap gambar visual. Persepsi manusia tidak terlalu sensitive terhadap gangguan frekuensi tinggi dengan intensitas rendah, namun peka terhadap perubahan warna. Hal ini menyebabkan bit-bit data yang tidak berguna dapat dihilangkan untuk mengurangi ukurannya.
2.3.1
Lossy compression Yang dimaksud dengan kompresi data lossy adalah bila hasil dekompresi
dari data yang terkompresi tidak sama dengan data asli, namun “mendekati” aslinya. Tipe kompresi ini sangat sering digunakan dalam dunia internet, khususnya dalam streaming media, metode ini secara khusus disebut codecs.
9 Ruang lingkup kompresi data lossy terbagi menjadi 2 bagian, yaitu : 1.
Lossy transform codecs, mula-mula diambil sampel dari gambar atau suara, kemudian data tersebut dipilah-pilah menjadi bagian yang kecil, kemudian dilakukan transformasi ke ruang basis yang baru, dan dikuantisasikan. Nilai-nilai yang diperoleh dari kuantisasi dilanjutkan dengan pengkodean entropy.
2.
Lossy predictive codecs, data dekode digunakan untuk memprediksi sampel suara atau gambar yang dikompresi. Kesalahan antara data yang diprediksi dan data yang sesungguhnya, secara bersama-sama dengan tambahan informasi yang dibutuhkan dilakukan kuantisasi.
Keuntungan kompresi data lossy dibandingkan dengan kompresi data lossless (metode kompresi yang hasil dekompresinya sama dengan data aslinya) adalah dalam banyak permasalahan metode kompresi lossy dapat menghasilkan file terkompresi yang jauh lebih kecil bila dibandingkan dengan menggunakan metode kompresi lossless. Oleh sebab itu metode kompresi lossy sangat cocok digunakan untuk kompresi data gambar atau suara.
2.4
Fractal Benoit Mandelbrot adalah orang yang menciptakan istilah fractal pada tahun
1975 melalui “Les objets fractals, forme, hasard et dimension” (diterjemahkan ke bahasa Inggris pada 1977, “Fractals: form, chance and dimension”), yang kemudian dimasukan ke dalam bukunya “The Fractal Geometry Of Nature” pada 1983. Sebelumnya nama yang digunakan untuk menyebut struktur geometri ini adalah “monster curve”. Fractal berasal dari bahasa latin “fractus” yang berarti dasar yang
10 tidak beraturan seperti sebuah batu yang pecah. Istilah ini digunakan Mandelbrot pertama kali untuk menjelaskan pola berulang yang ditemukan pada berbagai struktur yang berbeda dalam pengamatannya. Pola ini muncul dalam bentuk yang hampir identik dalam bentuk dan ukuran yang berbeda pada berbagai bentuk yang sulit digambarkan dengan seperti awan, gunung, garis pantai, kristal salju, bahkan galaksi kita. Selain itu Mandelbrot juga menemukan bahwa fractal dapat digambarkan dalam bentuk matematis yang sederhana. Secara umum fractal adalah pola geometris yang bersifat self-similar dalam setiap skala. Secara matematis Mandelbrot mendefinisikan fractal sebagai himpunan di mana nilai dimensi hausdorff melampaui nilai dimensi topologisnya. Pembentukan fractal dapat dilakukan dengan melakukan proses rotasi, translasi dan skala pada suatu objek untuk menemukan pola yang sama dan berulang. Karena bentuknya yang unik fractal banyak digunakan pada bidang seni, bahkan algoritma pembentukan fractal dapat digunakan untuk pembuatan musik. Berikut ini merupakan contoh bentuk fractal.
Gambar 2.1 Bentuk fractal sederhana
11
Gambar 2.2 Mandelbrot set
Gambar 2.3 Contoh instalasi fractal pada gedung
Secara umum fractal dapat dikelompokkan menjadi tiga berdasarkan cara fractal tersebut dibangkitkan, yaitu : 1. Iterated Function Systems. Memiliki aturan tentang perubahan geometris, contohnya adalah cantor set, sierpinski carpet, sierpinski gasket, koch snowflake, dragon curve, menger sponge.
12 2. Escape-time fractal. Didefinisikan oleh perulangan relasi setiap titik dalam ruang (seperti bidang kompleks), contohnya adalah Mandelbrot set. 3. Random fractal. Dihasilkan oleh proses stokastik, sebagai contoh adalah bentangan fractal.
2.5
Fractal Image Compression Fractal image compression merupakan kompresi yang bersifat lossy, jadi pola
fractal yang dihasilkan merupakan pola yang paling menyamai bentuk aslinya sesuai dengan parameter kompresinya yaitu jumlah iterasi, kualitas gambar, ukuran output. Namun tingkat kompresi dapat diatur hingga ke tingkat di mana data yang dihilangkan tidak dapat dilihat secara visual. Benoit Mandelbrot telah mengamati bahwa gambar kompleks dapat dihasilkan dari formula matematis sederhana, namun Michael Barnsley memiliki ide yang berlawanan yaitu dari gambar menjadi formula. Sebagai contoh misalkan kita ingin menggambarkan gambar hitam putih yang terdiri dari keping disket hitam dengan latar belakang putih, maka kita dapat membuat persamaan untuk disket tersebut, menetapkannya sebagai himpunan titik (x,y) yang memenuhi persamaan (x-a)2 + (y-b)2 < r2 di mana r merupakan jari-jari disket dan (a,b) merupakan pusat lingkaran. Persamaan ini cukup untuk membentuk gambar disket, lebih dari itu gambar tersebut dapat dibuat pada berbagai resolusi. Pada kenyataannya gambar pada dunia nyata tidaklah mudah untuk direpresentasikan dalam bentuk persamaan matematis sederhana, pada sebuah gambar secara umum tidaklah mungkin untuk menemukan formula sederhana yang
13 merepresentasikan gambar tersebut secara tepat. Ide dari Barnsley adalah untuk memanfaatkan adanya sifat self-similar pada gambar untuk menemukan representasi yang mendekati gambar tersebut sebagai fractal. Proses untuk merubah bitmap gambar ke kode-kode fractal disebut sebagai Fractal encoding. Sedangkan untuk mengubah kode-kode fractal tersebut menjadi ke bentuk bitmap digunakan istilah fractal decoding.
2.6
IFS (Iterated Function Systems) Iterated Function System (IFS) terdiri dari sebuah himpunan pemetaan kontraktif
{Wi} iN=1 dari Rn ke dirinya sendiri. Pemetaan sebuah himpunan ke dirinya sendiri dikatakan kontraktif jika pemetaan tersebut memenuhi teorema berikut : Terdapatlah (X,d) sebuah ruang metric lengkap dan W : X Æ X merupakan kontraksi pada X. maka W mempunyai titik tetap (fixed point) pada X. Pembuktian : Ambil sembarang titik x0 ϵ X dan iterasikan W pada titik tersebut, yang akan menghasilkan deret di mana d(f(x), f(y)) lebih kecil dari d(x,y). dan deret tersebut akan konvergen ke sebuah titik tetap pada X. Sebagai contoh, fungsi f(x) =
x adalah 2
kontraktif pada himpunan bilangan real, dari sembarang titik x = 1 dapat dihitung x dan akan didapat deret {1, ½, ¼, 1/8, ..} yang konvergen ke suatu titik tetap 2
f(x) = yaitu 0.
IFS dapat dimisalkan sebagai mesin penyalin (copy machine) yang menghasilkan N salinan yang lebih kecil dari gambar inputnya, dan menggabungkannya secara bersamaan. Sesuai dengan penjelasan di atas maka gambar yang dihasilkan pada setiap
14 tahap akan konvergen ke sebuah gambar titik tetap yang unik (unique fixed point image). Gambar yang dihasilkan adalah fractal, karena mengandung salinan yang lebih kecil dari dirinya sendiri pada setiap skala. Karena sifat self-similar inilah kompresi dengan IFS dikatakan sebagai kompresi fractal. Suatu IFS akan sangat mendekati gambar I bila titik tetap dari IFS tersebut merupakan gambar yang menyerupai I. Tujuannya adalah untuk mencari himpunan pemetaan kontraktif w1,.... wN sehingga gabungan dari pemetaan ini (W) mempunyai titik tetap yang mendekati I. W ∞ (I) = W1(W2(W3(….(WN(I)) ))) Pemetaan yang umum digunakan pada IFS adalah transformasi affine. Setelah semua transformasi affine telah ditentukan, maka IFS tersebut dapat direpresentasikan dengan melakukan encoding pada setiap transformasi. Dengan demikian IFS dapat didefinisikan sebagai : Sebuah Iterated Function System adalah kumpulan dari W = {Wi} iN=1 dari kontraksi
2.6.1
Wi : Rn Æ Rn
Transformasi Affine
Berasal dari bahasa latin affinis yang berarti “terhubung dengan”. Dalam geometri, sebuah transformasi affine atau pemetaan affine terdiri dari transformasi linear yang diikuti oleh translasi. Dalam ruang lingkup geometri fungsi ini akan memetakan garis lurus menjadi garis lurus. Pada ruang satu dimensi transformasi affine mempunyai bentuk
W ( x) = a × x + b
15 di mana a dan b merupakan konstanta bentuk transformasi affine yang umum digunakan pada IFS adalah x ai,1 Wi y = ai,3 z 0
ai,2 ai,4 0
0 x ci ,1 0 × y + ci , 2 bi z d i
di mana ai,j dan ci,j merupakan koefisien yang menunjukkan translasi, rotasi, dan skala, bi menunjukkan faktor kontras, di menunjukkan faktor penyeimbang kecerahan (brightness).
2.6.2
Self Similar
Sebuah objek dikatakan self-similar bila bagian dari objek tersebut serupa (similar) secara tepat atau mendekati dirinya sendiri. Sebagai contoh, sebuah sisi dari koch snowflake adalah self-similar; yang dapat dibagi menjadi dua bagian yang masing-masing serupa dengan keseluruhannya. Secara matematis self-similar merupakan himpunan tertutup dari bidang R2 S = S1 ∪ S2 ∪ S3 ∪ S4 ∪ …. ∪ Sk Di mana S1, S2, S3, S4,..., Sk merupakan himpunan non-overlapping yang kongruen terhadap S bila diskala dengan faktor yang sama (0 < s < 1)
2.6.3
Similtude
Pemetaan dari sebuah ruang metric (X,d) ke dirinya sendiri merupakan simiitude jika dan hanya jika terdapat bilangan positif terbatas (finite nonnegative) s sehingga,
d (w( x ), w( y )) = s d ( x, y )
16 untuk setiap x,y ϵ X Similtude tidak hanya mengubah ukuran himpunan, namun melakukan rotasi, translasi, dan refleksi. Gambar yang dihasilkan similtude disebut similarity
2.7
PIFS (Partitioned Iterated Function System)
Seperti yang telah disebutkan, sangatlah sulit untuk mencari IFS dari sebuah gambar alamiah. Untuk mengatasi hal ini sebuah metode telah dikembangkan oleh Arnaud Jacquin pada 1992 dengan Partitioned Iterated Function System (PIFS), yang memanfaatkan sifat similarity yang muncul antara bagian-bagian dari suatu gambar. Dalam PIFS, sebuah gambar dibentuk oleh salinan dari bagian lain atau bagian itu sendiri yang telah ditransformasikan. Gambar I yang akan dibagi menjadi blok range R1,R2,R3,..,Ri,..,RN, sehingga I = R1 ∪ R2 ∪ R3 ∪ .. ∪ RN dan
Ri ∩ Rj = 0 saat i ≠ j ,
dengan demikian blok range mencakup seluruh gambar dan tidak saling meliputi (nonoverlapping). Gambar I juga dibagi menjadi blok domain yang saling meliputi yaitu D1,D2,D3,..,Dj,..,DM. Selanjutnya untuk setiap blok Ri, akan dicari pemetaan kontraktif Wi dan sebuah blok domain Dj pada I, sehingga didapat Ri ≈ Wi(Dj) . Kombinasi dari W1,W2,W3,..,Wi,..,WN inilah yang disebut sebagai PIFS
17
Gambar 2.4 Blok range (kiri) yang merupakan hasil pemetaan dari blok domain (kanan)
Selama pemetaan W bersifat kontraktif, penerapan dari W secara berulang akan menghasilkan sebuah gambar tetap. Jika W(I) mendekati I, maka gambar tetap yang dihasilkan akan mendekati gambar asli I. Untuk gambaran yang lebih jelas tentang proses kompresi dekompresi dapat dilihat pada gambar berikut :
Gambar 2.5 proses kompresi dan dekompresi sederhana
Blok range pada gambar kanan diperoleh dari proses gLAB + O dari blok domain yang lebih besar (kiri). A menghitung nilai rata-rata dan memperkecil blok, L merotasi blok
18 tersebut, pengalian dengan g akan mengubah tingkat kecerahannya, dan penambahan dengan offset O akan menentukan posisi blok tersebut.
2.8
QPIFS (Quadtree Partitioned Iterated Function Systems)
Kelemahan dari PIFS adalah ukuran blok range yang berukuran tetap tanpa mempertimbangkan isi pixel dari blok gambar tersebut. Dengan quadtree partition, blok range dibagi berdasarkan metode quadtree yang mengasumsikan bahwa dalam sebuah gambar pixel yang berdekatan akan mempunyai kemiripan atau kesamaan warna, dan kemiripan tersebut lebih mudah dtemukan pada blok range yang lebih kecil. Pada tahap awal gambar dibagi menjadi empat kuadran (Quadtree merupakan sebuah tree yang mempunyai tepat empat child) berukuran sama, yang masing-masing menjadi child dari gambar asli. Masing-masing kuadran akan dibagi lagi menjadi empat kuadran baru yang akan menjadi child dari kuadran sebelumnya, proses ini akan terus berulang hingga didapat blok range yang cukup kecil yang terdiri dari pixel-pixel yang serupa, sesuai dengan batas toleransi yang telah ditentukan (gambar 2.5). Keempat kuadran dinamakan sesuai dengan letaknya pada node parent yaitu, NW (Northwest), NE (Northeast), SW (Southwest), SE (Southeast) (gambar 2.6).
Gambar 2.6 Kiri blok range parent, kanan blok range child
19
Gambar 2.7 Quadtree sederhana
2.9
Himpunan
Himpunan atau set adalah kumpulan objek yang keanggotaannya didefinisikan dengan jelas secara matematis. Himpunan bagian atau subset adalah suatu himpunan yang seluruh anggotanya merupakan anggota dari himpunan utamanya. Himpunan pada R2 disebut himpunan tertutup (bounded and closed set) bila himpunan tersebut dapat
ditutup oleh suatu lingkaran besar dan terdapat seluruh titik perbatasannya. Himpunanhimpunan dalam R2 dikatakan kongruen bila mereka dapat dipertemukan secara tepat dengan melakukan proses translasi dan rotasi. Himpunan Non-overlapping adalah kumpulan himpunan yang anggotanya tidak sama. Himpunan dikatakan terbuka (open set) memenuhi definisi sebagai berikut : (i)
Subset G dari R dikatakan terbuka dalam R jika untuk setiap x ϵ G terdapatlah lingkungan (neighborhood) V dari x sehingga V ⊆ G
(ii)
Subset F dari R dikatakan tertutup dalam R jika komplemen dari F terbuka di R.
20 sementara definisi lingkungan (neighborhood) adalah : Suatu lingkungan dari titik x ϵ R adalah semua set V yang memiliki
ε -neighborhood V ε (x) : = (x - ε , x + ε ) dari x untuk setiap ε > 0. Sebagai contoh pada himpunan real (0,1) di mana 0 < x < 1, x memiliki lingkungan yang tetap berada di antara 0 dan 1, karenanya (0,1) disebut terbuka. Namun pada himpunan (0,1] dimana 0 < x ≤ 1, jika x = 1 maka x memiliki lingkungan kearah positif yang berada diluar (0,1]. Sifat dari himpunan open set adalah :
2.10
•
Gabungan dari sembarang kumpulan open subset pada R juga terbuka.
•
Irisan dari setiap kumpulan terbatas dari open subset pada R juga terbuka.
Dimensi Topologi
Dimensi topologi merupakan suatu konsep intuitif manusia terhadap suatu dimensi. Sebagai contoh pada ruang dua dimensi R2, maka sebuah garis yang melaluinya bersifat satu dimensi. Dengan demikian dapat ditarik kesimpulan bahwa : o sebuah titik dalam R2 memiliki dimensi topologi bernilai 0. o sebuah kurva dalam R2 memiliki dimensi topologi bernilai 1. o sebuah daerah dalam R2 memiliki dimensi topologi bernilai 2.
Nilai dari dimensi topologi selalu merupakan integer antara 0 dan n. Dimensi topologi dari suatu himpunan S dilambangkan dengan simbol dT(S). Namun dimensi topologi tidak dapat memberi nilai pada himpunan yang bersifat tidak beraturan seperti fractal.
21 2.11
Dimensi Hausdorff
Diperkenalkan oleh matematikawan Felix Hausdorff pada 1918. Dimensi hausdorff memberikan definisi alternatif terhadap himpunan yang tidak beraturan pada R2 seperti fractal. Nilai dimensi hausdorff dari himpunan self-similar S (dH(S))
didefinisikan dengan dH(S) =
ln k ln 1 s
( )
fractal didefinisikan sebagai himpunan yang nilai dimensi hausdorffnya melampaui nilai dimensi topologinya dH(S) > dT(S) Sebagai contoh, sierpinski triangle (pada gambar 2.1) merupakan gabungan dari tiga salinan dari dirinya sendiri, setiap salinan menyusut (mengecil) dengan faktor 1 ; 2 dengan demikian nilai dari dimensi hausdorff sierpinski triangle adalah dH(S) =
ln 3 , ln 2
atau 1.58. sedangkan nilai dimensi topologinya adalah 1, maka dengan demikian sierpinski triangle merupakan fractal.
2.12
Ruang Metric (metric space)
Ruang metric merupakan pasangan berurut (X,d) di mana X adalah sebuah himpunan (ruang) dan d : X2 Æ R merupakan fungsi real (metric) yang memenuhi d (x, x ) = 0, ∀x ∈ X, (positivity)
d ( x, y ) > 0, ∀x, y ∈ X, x ≠ y, (definiteness) d ( x, y ) = d ( y, x ), ∀x, y ∈ X, (symmetry)
22 d ( x, z ) ≤ d ( x, y ) + d ( y, z ), ∀x, y, z ∈ X (triangle inequality)
2.13
Rekayasa Piranti Lunak
Rekayasa Piranti Lunak adalah penetapan dan pemakaian prinsip-prinsip rekayasa dalam rangka mendapatkan piranti lunak yang ekonomis yaitu terpercaya dan bekerja efisien pada mesin (komputer). Rekayasa piranti lunak mencakup 3 elemen yang mampu mengontrol proses pengembangan piranti lunak, yaitu: a.
Metode-metode (Methods) Menyediakan cara-cara teknis untuk membangun piranti lunak
b.
Alat-alat bantu (Tools) Mengadakan dukungan otomatis atau semi otomatis untuk metode-metode seperti
CASE
(Computer
Aided
Software
Engineering)
yang
mengombinasikan software, hardware dan software engineering database. c.
Prosedur-prosedur (Procedures) Merupakan pengembangan metode dan alat bantu.
Dalam perancangan software dikenal istilah Classic Life Cycle, serangkaian kegiatan yang dilakukan selama masa perancangan software, di antaranya: a.
Rekayasa Sistem. Tahap awal perancangan piranti lunak adalah rekayasa sistem yang akan dibangun dengan menetapkan kebutuhan-kebutuhan elemen sistem.
b.
Analisis kebutuhan piranti lunak. Sebelum merancang sistem harus terlebih dahulu diketahui kebutuhan, informasi, beserta spesifikasi piranti lunak.
23 c.
Perancangan. Tahap perancangan ini menitikberatkan pada tiga komponen program, yaitu struktur data, arsitektur piranti lunak, dan prosedur detail.
d.
Pengkodean. Merupakan penerjemahan hasil rancangan ke bahasa yang dimengerti oleh mesin dalam bentuk program-program.
e.
Pengujian. Sebelum diaplikasikan, suatu piranti lunak harus diuji dahulu agar keluaran yang dihasilkan oleh sistem sesuai dengan yang diharapkan.
f.
Pemeliharaan. Pemeliharaan piranti lunak dilakukan untuk mengantisipasi peningkatan kebutuhan pengguna akan fungsi-fungsi baru.
System Engineering Analysis Design Coding
Maintenance
Gambar 2.8 Diagram Classic Life Cycle
2.14
State Transition Diagram (STD)
State Transition Diagram atau Diagram Transisi merupakan suatu alat perancangan yang merepresentasikan perilaku sistem dengan menggambarkan kondisi dan kejadian yang menyebabkan kondisi sistem tersebut berubah. Keadaan di sini dapat
24 difokuskan dan dihubungkan dalam berbagai cara untuk merepresentasikan sifat yang sekuensial dan konkuren (bersamaan). Transisi di antara dua keadaan umumnya disebabkan oleh suatu kondisi. Simbol-simbol yang digunakan dalam STD: a.
Modul Berupa simbol lingkaran yang mewakili modul yang dipanggil apabila terjadi suatu tindakan.
Gambar 2.9 Notasi Modul
b.
State (tampilan kondisi) Merupakan layar yang ditampilkan menurut keadaan atau atribut, untuk memenuhi suatu tindakan pada waktu tertentu yang mewakili suatu bentuk keberadaan atau kondisi tertentu, disimbolkan dengan gambar kotak.
Gambar 2.10 Notasi Tampilan
c.
State Transition (tindakan) Menggunakan simbol anak panah disertai keterangan tindakan yang dilakukan.
Gambar 2.11 Notasi Tindakan
25
d.
Kondisi dan Aksi Kondisi bersifat mengubah state dan aksi adalah aksi yang dilakukan sistem ketika state berubah. Notasinya :
Aksi Gambar 2.12 Notasi Kondisi dan Aksi
Kondisi dan aksi digambarkan dengan anak panah yang menghubungkan dua keadaan yang berkaitan seperti pada gambar. State 1 Kondisi Aksi State 2 Gambar 2.13 Contoh penggambaran kondisi dan aksi
2.15
Flowchart (Diagram Alir)
Flowchart mengilustrasikan langkah-langkah dalam suatu proses. Dengan melihat proses-proses dalam flowchart, maka dapat dengan cepatnya membantu mengidentifikasikan bottlenecks atau tidak efisiennya suatu urutan logika, dan dapat diperbaiki dan dikembangkan dengan segera. Notasi-notasi yang digunakan dalam flowchart adalah :
26 Tabel 2.1 Notasi Flowchart
Notasi
Keterangan Start \ End Action \ Process Decision Input \ Output Flow Line Subroutine Loop Limit
2.16
Penelitian Relevan 2.16.1 Penggunaan Kompresi Fractal
Berikut adalah sejumlah penelitian yang telah dilakukan untuk mengembangkan kemampuan dari kompresi fractal. 1. Michael Barnsley dan Stephen Demko memperkenalkan Iterated Function Theory dalam "Iterated Function Systems and the Global Construction of Fractals" pada 1985. 2. Barnsley, M. F., Elton, J. H., and Hardin, D. P. menerbitkan “Recurrent iterated systems. Constructive approximation” pada 1989. 3. Arnaud Jacquin menerbitkan artikel yang menjelaskan metode pertama dari penerapan fractal image compression dengan metode PIFS pada 1992 dengan judul “Image Coding Based on a Fractal Theory of Iterated Contractive Image Transformations”.
27 4. Dr. Yuval Fisher dari Universitas California memperkenalkan metode QPIFS pada “fractal image compression with quadtrees” dalam bukunya : “Fractal Compression : Theory And Application To Digital Images” yang terbit pada tahun 1994. 5. Prof. John C. Hart dari Washington State University membuat desertasi berjudul “Iterated Function System and Recurrent Iterated Function System” pada 14 Mei 1996.
2.16.2 Penggunanan Aplikasi Kompresi Gambar
Antara tahun 1924 dan 2002, US Federal Bureau Investigation telah memiliki sekitar 30 juta set sidik jari. Pada tahun 1993, FBI’s Criminal Justice Information Service Division mengembangkan suatu standar untuk digitalisasi dan kompresi sidik jari bekerja sama dengan National Institute of Standards and Technology,
Los Alamos National Laboratory, para vendor, dan komunitas
penegak keadilan. Kompresi gambar yang dipakai adalah kompresi gambar dengan penerapan teori Wavelet. Pada saat itu kompresi gambar dibutuhkan dengan alasan masalah penyimpanan data, khususnya kapasitas penyimpanan yang terbatas. Gambar-gambar sidik jari melalui proses digitalisasi dan dihasilkan kembali dengan resolusi gambar 500 ppi (pixels per inch) dengan 256 tingkat keabuan informasi per pikselnya. Suatu gambar sidik jari disimpan sekitar 700.000 piksel dan membutuhkan penyimpanan sekitar 0,6 Mbytes (megabytes). Sedangkan untuk menyimpan seluruh sidik jari, jari-jari pada tangan kanan dan
28 kiri, dibutuhkan penyimpanan sekitar 6 Mbytes. Jadi bila untuk menyimpan kesepuluh sidik jari, misalkan untuk 30 juta individu, dibutuhkan penyimpanan data sebesar kurang lebih 200 terabytes. Mengingat akan semakin banyaknya jumlah sidik jari yang akan disimpan, maka kompresi data, dalam hal ini data berupa gambar sangatlah dibutuhkan, selain untuk menghemat ruang penyimpanan, juga untuk menghemat biaya, belum lagi dibutuhkan penyimpanan data backup. Kompresi gambar sidik jari dengan wavelet yang diterapkan oleh FBI dapat mencapai perbandingan 1:26, di mana hasil kompresinya tidak jauh berbeda dengan gambar sebelumnya. Berikut adalah contoh gambar sidik jari untuk ibu jari tangan kiri. Gambar di sebelah kiri adalah gambar aslinya, dan gambar di sebelah kanan adalah gambar hasil kompresinya.
Gambar 2.14 (kiri) Gambar sidik Jari Asli. (kanan) Gambar Sidik Jari Yang Terkompresi