• Tidak ada hasil yang ditemukan

Studi Dan Implementasi Watermarking Pada Citra Digital Menggunakan Perangkat Lunak Matlab

N/A
N/A
Protected

Academic year: 2016

Membagikan "Studi Dan Implementasi Watermarking Pada Citra Digital Menggunakan Perangkat Lunak Matlab"

Copied!
104
0
0

Teks penuh

(1)

STUDI DAN IMPLEMENTASI WATERMARKING PADA CITRA

DIGITAL MENGGUNAKAN PERANGKAT LUNAK MATLAB

SKRIPSI

MEGARIANI

041401057

PROGRAM STUDI S1 ILMU KOMPUTER

DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA

(2)

STUDI DAN IMPLEMENTASI WATERMARKING PADA CITRA DIGITAL MENGGUNAKAN PERANGKAT LUNAK MATLAB

SKRIPSI

Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer

MEGARIANI 041401057

PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA

(3)

PERSETUJUAN

Judul : STUDI DAN IMPLEMENTASI WATERMARKING

PADA CITRA DIGITAL MENGGUNAKAN PERANGKAT LUNAK MATLAB

Kategori : SKRIPSI

Nama : MEGARIANI

Nomor Induk Mahasiswa : 041401057

Program Studi : S-1 ILMU KOMPUTER

Departemen : ILMU KOMPUTER

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN

ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Diusulkan di

Medan, 21 November 2008 Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

Drs. Bisman Perangin – angin, M.Eng Syahriol Sitorus,S.Si,MIT

NIP. 131 459 465 NIP. 132 174 687

Diketahui/Disetujui oleh

Departemen S-1 Ilmu Komputer FMIPA USU Ketua,

(4)

PERNYATAAN

STUDI DAN IMPLEMENTASI WATERMARKING PADA CITRA DIGITAL MENGGUNAKAN PERANGKAT LUNAK MATLAB

SKRIPSI

Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing – masing disebutkan sumbernya.

Medan, 21 November 2008

(5)

PENGHARGAAN

Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Pemurah dan Maha Penyayang, dengan limpah kurnia-Nya kertas kajian ini berhasil diselesaikan dalam waktu yang telah ditetapkan.

(6)

ABSTRAK

Kemudahan penyebaran citra digital melalui internet memiliki sisi positif dan negatif terutama bagi pemilik asli citra digital tersebut. Sisi positif dari kemudahan penyebaran adalah dengan cepatnya pemilik citra tersebut menyebarkan file citra digital ke berbagai alamat situs di dunia. Sedangkan sisi negatifnya adalah jika tidak ada hak cipta yang berfungsi sebagai pelindung citra maka akan sangat mudah diakui kepemelikannya oleh pihak lain. Watermarking merupakan salah satu solusi untuk melindungi hak cipta dan mengetahui hasil dari foto digital. Dengan Digital Image Watermarking, hak cipta foto digital yang dihasilkan akan terlindungi melalui penyisipan informasi tambahan seperti informasi pemilik dan keaslian pada foto digital. Discrete Wavelet Transform (DWT) merupakan salah satu algoritma yang banyak digunakan pada teknik watermarking dalam domain transform. Penyisipan watermarking ke citra digital dengan DWT dijalankan melalui aplikasi desktop. Aplikasi ini dibuat dengan bahasa program Matlab 7. Serangan pada citra hasil penyisipan watermark mengubah watermark yang telah disisipkan seperti bluring, sharpening, dan penambahan noise.

(7)

STUDY AND IMPLEMENTATION OF WATERMARKING IN DIGITAL IMAGE BY MATLAB SOFTWARE

ABSTRACT

The simplicity of using digital image by internet has positive and negative sides for digital image owners. The positive side of using digital image to all website in the world is easier. Mean while, the negative side is egocentricity of other people if it has not copyrighted. Watermarking is a solution to copyright protection and knowing of digital image result With Digital Image Watermarking, the copyright of digital image result will be protected by dopping of addition information such as information owner and originality in the image digital. Discrete Wavelet Transform (DWT) is one of algorithms used in watermarking technique at transform domain. Dopping of watermarking to image digital with DWT is operated on desktop computer. It is made by Matlab program. Attacking in image of watermarking dopping result changes watermark which is dopped such as bluring, sharpening and noise addition.

(8)

DAFTAR ISI

Halaman

Persetujuan ... ii

Pernyataan ... iii

Penghargaan ... iv

Abstrak ... v

Abstract ... vi

Daftar Isi ... vii

Daftar Tabel ... ix

Daftar Gambar ... x

BAB I PENDAUHULUAN ... 1

1.1. Latar Belakang ... 1

1.2. Perumusan Masalah ... 3

1.3. Batasan Masalah ... 3

1.4. Tujuan Penulisan ... 3

BAB II LANDASAN TEORI ... 4

2.1. Citra ... 4

2.1.1. Digitalisasi Citra ... 5

2.1.2. Elemen Citra Digital ... 6

2.2. Format Berkas Bitmap ... 8

2.3. Transformasi Wavelet ... 15

2.3.1. Perbandingan Transformasi Wavelet dengan Transformasi Fourier ... 16

2.3.2. Continue Wavelet Transform (CWT) ... 17

2.3.3. Discrete Wavelete Transform (DWT) ... 19

2.4. Penerapan DWT dalam Kompersi Citra ... 29

2.5. Watermarking pada Citra Digital ... 32

2.5.1. Defenisi ... 33

2.5.2. Tipe ... 36

2.6. Serangan terhadap Citra ber-Watermark ... 38

2.6.1. Serangan Standar (Standard Attack) ... 38

2.6.2. Malicious Attack ... 40

2.7. Pengolahan Citra dengan Matlab ... 42

2.7.1. Pembacaan Citra ... 43

2.7.2. Penyimpanan Citra ... 43

2.7.3. Informasi Sebuah File Citra ... 44

2.7.4. Pengubahan Tipe Citra ... 44

2.7.5. Menampilkan Citra ... 46

2.8. Pengujian Perangkat Lunak ... 46

BAB III ALGORITMA WATERMARKING MENGGUNAKAN DWT ... 49

3.1. Watermarking menggunakan DWT ... 49

3.2. Human Visual System (HVS) ... 50

3.3. Korelasi ... 51

(9)

3.5. Proses Penyisipan Watermark ... 52

3.6. Pendeteksian dan Ekstraksi Watermark ... 53

3.7. Flowchart Penyisipan dan Ekstraksi Watermaking ... 55

BAB IV IMPLEMENTASI DAN PEMBAHASAN UJI COBA ... 56

4.1. Deskripsi umum Sistem untuk Watermarking ... 56

4.2. Sarana Implementasi ... 56

4.2.1. Perangkat Keras... 56

4.2.2 Perangkat Lunak ... 57

4.3. Hasil Pengujian ... 57

4.3.1. Hasil Pengujian Sistem ... 59

4.3.2. Hasil Ekstraksi ... 63

4.3.3. Pengujian menggunakan Pengubahan Brightness dan Contrast ... 64

4.3.4. Pengujian menggunakan Penambahan Objek ... 65

4.3.5. Pengujian menggunakan Rotasi ... 66

4.3.6. Pengujian menggunakan Croping ... 67

4.3.7. Pengujian menggunakan Blur ... 68

4.3.8. Pengujian menggunakan ... 69

4.3.9. Pengujian menggunakan Pengubahan Format Citra .. 70

BAB V KESIMPULAN DAN SARAN ... 72

5.1. Kesimpulan ... 72

5.2 Saran ... 72

DAFTAR PUSTAKA ... 74

Lampiran 1 ... 76

(10)

DAFTAR TABEL

Halaman

Tabel 2.1. Format Berkas Bitmap 11

Tabel 2.2 Header berkas bitmap (panjang = 14 byte) 11 Tabel 2.3 Header bitmap versi lama dari Microsoft Windows (12 byte) 11 Tabel 2.4 Header bitmap versi baru dari Microsoft Windows (40 byte) 12 Tabel 2.5 Header bitmap versi baru dari IBM OS/2 (64 byte) 12 Tabel 2.6 Panjang informasi palet untuk setiap versi berkas bitmap 14

Tabel 2.7 Tipe Citra pada Matlab 43

Tabel 2.8 Fungsi Penampilan Citra 46

Tabel 4.1 Spesifikasi Perangkat Keras 57

Tabel 4.2 Citra Asli 58

Tabel 4.3 Citra Watermark 59

Tabel 4.4 Tujuan yang hendak dicapai dalam pengujian 60 Tabel 4.5 Pelaksanaan Pengujian serta hasil pengujian 61

Tabel 4.6 Hasil Ekstraksi 63

Tabel 4.7 Pengubahan Brightness dan Contrast pada Citra ter-Watermark 65 Tabel 4.8 Penambahan Objek pada Citra ter-Watermark 66

Tabel 4.9 Rotasi pada Citra ter-Watermark 67

Tabel 4.10 Croping pada Citra ter-Watermark 68

Tabel 4.11 Blur pada Citra ter-Watermark 69

(11)

DAFTAR GAMBAR

Halaman

Gambar 2.1 Format citra 8-bit (256 warna) 14

Gambar 2.2 Format Citra 24-bit (16,7 juta warna) 14 Gambar 2.3 Keluarga Wavelet(a)Haar,(b)Daubechies,(c)Coiflet, (d)Symlet,

(e)Meyer, (f)Morlet, (g)Mexican Hat. Dengan sumbu x

merupakan waktu, t dan sumbu y merupakan ψ(t) . 15

Gambar 2.4 Dekomposisi wavelet tiga tingkat 21

Gambar 2.5 Dekomposisi wavelet dengan frekuensi sinyal asal f=0~π 22

Gambar 2.6 Rekonstruksi wavelet tiga tingkat 23

Gambar 2.7 Dekomposisi wavelet satu tingkat terhadap citra 31 Gambar 2.8 (a) Citra Lena asli, (b) Struktur piramid dua tingkat, (c)

Dekomposisi Lena menggunakan Daubechies Wavelet satu tingkat, (d) Dekomposisi Lena menggunakan Haar Wavelet dua

tingkat. 32

Gambar 2.9 Penyisipan watermark 34

Gambar 3.1 Penyisipan dan Ekstraksi watermark menggunakan

Discrete Wavelet Transform (DWT) 49

Gambar 3.2 Dekomposisi citra host 52

(12)

ABSTRAK

Kemudahan penyebaran citra digital melalui internet memiliki sisi positif dan negatif terutama bagi pemilik asli citra digital tersebut. Sisi positif dari kemudahan penyebaran adalah dengan cepatnya pemilik citra tersebut menyebarkan file citra digital ke berbagai alamat situs di dunia. Sedangkan sisi negatifnya adalah jika tidak ada hak cipta yang berfungsi sebagai pelindung citra maka akan sangat mudah diakui kepemelikannya oleh pihak lain. Watermarking merupakan salah satu solusi untuk melindungi hak cipta dan mengetahui hasil dari foto digital. Dengan Digital Image Watermarking, hak cipta foto digital yang dihasilkan akan terlindungi melalui penyisipan informasi tambahan seperti informasi pemilik dan keaslian pada foto digital. Discrete Wavelet Transform (DWT) merupakan salah satu algoritma yang banyak digunakan pada teknik watermarking dalam domain transform. Penyisipan watermarking ke citra digital dengan DWT dijalankan melalui aplikasi desktop. Aplikasi ini dibuat dengan bahasa program Matlab 7. Serangan pada citra hasil penyisipan watermark mengubah watermark yang telah disisipkan seperti bluring, sharpening, dan penambahan noise.

(13)

STUDY AND IMPLEMENTATION OF WATERMARKING IN DIGITAL IMAGE BY MATLAB SOFTWARE

ABSTRACT

The simplicity of using digital image by internet has positive and negative sides for digital image owners. The positive side of using digital image to all website in the world is easier. Mean while, the negative side is egocentricity of other people if it has not copyrighted. Watermarking is a solution to copyright protection and knowing of digital image result With Digital Image Watermarking, the copyright of digital image result will be protected by dopping of addition information such as information owner and originality in the image digital. Discrete Wavelet Transform (DWT) is one of algorithms used in watermarking technique at transform domain. Dopping of watermarking to image digital with DWT is operated on desktop computer. It is made by Matlab program. Attacking in image of watermarking dopping result changes watermark which is dopped such as bluring, sharpening and noise addition.

(14)

BAB I

PENDAHULUAN

1.1. Latar Belakang

Salah satu karya intelektual yang dilindungi adalah barang dalam bentuk digital, seperti software dan produk multimedia seperti teks, musik (dalam format MP3 atau WAV ), gambar / citra ( image ), dan video digital (VCD). Selama ini penggandaan atas produk digital tersebut dilakukan secara bebas dan leluasa. Hasil penggandaan persis sama dengan aslinya. Pemegang hak cipta atas produk digital tersebut tentu dirugikan karena ia tidak mendapat royaliti dari usaha penggandaan tersebut.

Sebenarnya masalah penyalahgunaan hak cipta pada bidang multimedia tidak hanya mengenai penggandaan dan pendistribusiannya saja, tetapi juga mengenai label kepemilikan. Kebanyakan produk digital tersebut tidak mencantumkan siapa pemegang hak ciptanya. Kalaupun bukti kepemilikan itu ada, biasanya informasi kepemilikan disertakan pada sampul pembungkus yang menerangkan bahwa produk multimedia tersebut adalah milik pembuatnya. Masalahnya, distribusi produk multimedia saat ini tidak hanya secara offline, tetapi juga dapat dilakukan lewat internet. Pada situs – situs web di internet, dapat ditemukan informasi berupa teks, gambar, suara, video. Semua produk digital tersebut dapat didownload dengan mudah. Serta dapat dipertukarkan dengan layanan seperti e-mail.

Hampir semua data digital yang bertebaran di dunia internet tidak mencantumkan informasi pemiliknya. Pengguna yang telah mendapatkan produk digital dapat mengklaim bahwa produk yang dia dapatkan adalah hasil karyanya. Karena tidak ada bukti kepemilikan sebelumnya, maka klaim tersebut mungkin saja dipercaya.

(15)

watermarking. Informasi yang disisipkan kedalam data multimedia tersebut disebut watermark, dan watermark dapat dianggap sebagai sidik digital ( digital signature ) dari pemilik sah atas produk multimedia tersebut. Dengan demikian, watermark yang disisipkan menjadi hak cipta dari pemiliknya. Pemberian signature dengan teknik watermarking ini dilakukan sedemikian sehingga informasi yang disisipkan tidak merusak data digital yang dilindungi. Sehingga, orang yang membuka produk multimedia yang sudah disisipkan watermark tidak menyadari kalau di dalam data multimedia tersebut terkandung label kepemilikan pembuatnya.

Jika ada yang mengklaim bahwa produk multimedia yang didapatkannya adalah miliknya, maka pemegang hak cipta atas karya multimedia tersebut dapat membantahnya dengan mengekstraksi watermark dari dalam data multimedia yang disengketakan. Watermark yang diekstraksi dibandingkan dengan watermark pemegang hak cipta. Jika sama, berarti memang dialah pemegang hak cipta produk multimedia tersebut.

Dewasa ini pun banyak aplikasi yang memungkinkan dengan mudah menyisipkan watermark pada citra digital. Namun kali ini penulis akan membuat program berbasis Matlab yang dapat menyisipkan watermark ke dalam citra digital.

Program Matlab adalah sebuah sistem interaktf yang menggunakan elemen data dasarnya adalah array yang tidak membutuhkan dimensi. Hal ini mempermudah untuk menyelesaikan masalah komputasi, terutama yang menyangkut matriks dan vektor. Matlab juga menyediakan fungsi – fungsi dasar untuk pengolahan citra, seperti menampilkan citra, rotasi, wavelet dan sebagainya. Pada program Matlab, sebuah aplikasi progaram dapat divisualisasikan dengan menggunakan GUI Matlab, sehingga tampilan dari suatu progaram menjadi lebih menarik.

(16)

Pemetaan citra dari domain koordinat menjadi domain frekuensi merupakan tahap awal yang diperlukan untuk membuat sebuah watermarking. Discrete Wavelet Transform (DWT) merupakan salah satu algoritma yang dapat digunakan untuk memetakan citra dalam bentuk koordinat menjadi bentuk frekuensi.

1.2. Perumusan Masalah

Dalam pelaksanaan tugas akhir penelitian ini terdapat beberapa permasalahan yang menjadi titik utama pembahasan, diantaranya adalah sebagai berikut :

1. Bagaimana membuktikan bahwa sebuah citra digital masih asli atau sudah dimodifikasi dengan teknik watermarking.

2. Bagaimana melindungi hak cipta dari sebuah citra digital dengan menggunakan watermarking.

1.3. Batasan Masalah

Agar tidak terjadi kesalahan persepsi dan tidak meluasnya pokok bahasan, maka penulis memberikan batasan-batasan masalah sebagai berikut:

1. Watermarking dibuat menggunakan algoritma wavelet. 2. Citra yang digunakan adalah citra grayscale.

3. Format citra yang digunakan adalah JPG, BMP, TIFF, dan PNG, GIF. Karena beberapa citra ini yang paling sering digunakan pada citra digital. 4. Watermarking tidak menggunakan kunci.

1.4. Tujuan Penulisan

(17)

4. Warna (color)

Warna adalah persepsi yang dirasakan oleh sistem visual manusia terhadap panjang gelombang cahaya yang dipantulkan oleh objek. Setiap warna mempunyai panjang gelombang (λ) yang berbeda. Warna merah mempunyai panjang gelombang paling tinggi, sedangkan warna ungu (violet) mempunyai panjang gelombang paling rendah.

Warna – warna yang diterima oleh mata (sistem visual manusia) merupakan hasil kombinasi cahaya dengan panjang gelombang berbeda. Penelitian memperlihatkan bahwa kombinasi warna yang memberikan rentang warna yang paling lebar adalah red (R), green (G), dan blue (B).

Persepsi sistem visual manusia terhadap warna sangat relatif sebab dipengaruhi oleh banyak kriteria, salah satunya disebabkan oleh adaptasi yang menimbulkan distorsi. Misalnya bercak abu – abu di sekitar warna hijau akan tampak keungu – unguan (distorsi terhadap ruang), atau jika mata melihat warna hijau lalu langsung dengan cepat melihat warna abu – abu, maka mata menangkap kesan warna abu – abu tersebut sebagai warna ungu (distorsi terhadap waktu).

5. Bentuk (shape)

(18)

6. Tekstur (textur)

Textur dicirikan sebagai distribusi spasial dari derajat keabuan di dalam sekumpulan pixel – pixel yang bertetangga. Jadi, tekstur tidak dapat didefinisikan untuk pixel. Sistem visual manusia pada hakikatnya tidak menerima informasi citra secara independen pada setiap pixel, melainkan suatu citra dianggap sebagai suatu kesatuan. Resolusi citra yang diamati ditentukan oleh skala pada mana tekstur tersebut dipresepsi. Sebagai contoh, jika kita mengamati citra lantai bertubin dari jarak jauh, maka kita mengamati bahwa tekstur terbentuk oleh penempatan ubin – ubin secara keseluruhan, bukan dari presepsi pola di dalam ubin itu sendiri. Tetapi, jika kita mengamati citra yang sama dari jarak yang dekan, maka hanya beberapa ubin yang tampak dalam bidang pengamatan sehingga kita mempresepsikan bahwa tekstur terbentuk oleh penempatan pola – pola rinci yang menyusun tiap ubin.

2.2 Format Berkas Bitmap

Citra disimpan dalam berkas (file) dengan format tertentu. Format citra yang baku dilingkungan sistem operasi Windows dan IMB OS/2 adalah berkas bitmap (BMP). Saat ini format BMP memang “kalah” populer dibandingkan format JPG atau GIF. Hal ini karena berkas BMP pada umumnya tidak dimampatkan, sehingga ukuran berkasnya relatif lebih besar daripada berkas JPG maupun GIF. Hal ini juga yang menyebabkan format BMP sudah jarang digunakan. ( Munir, Rinaldi. 2004)

(19)

Citra dalam format BMP ada tiga macam citra biner, citra berwarna, dan citra hitam – putih (grayscale).

1. Format Pixel 1 Bit (Citra Biner/Monokrom)

Pada citra biner, setiap titik bernilai 0 dan 1, masing-masing merepresentasikan warna tertentu. Contoh yang paling lazim: warna hitam bernilai 0 dan warna putih bernilai 1. Pada standar citra untuk ditampilkan di layar komputer, nilai biner ini berhubungan dengan ada tidaknya cahaya yang ditembakkan oleh electron gun yang terdapat di dalam monitor komputer. Angka 0 menyatakan tidak ada cahaya, dengan demikian warna yang direpresentasikan adalah hitam. Untuk angka 1 terdapat cahaya, sehingga warna yang direpresentasikan adalah putih. Standar tersebut disebut sebagai standar citra cahaya, sedangkan standar citra tinta/cat adalah berkebalikan, karena biner tersebut menyatakan ada tidaknya tinta. Setiap titik pada citra hanya membutuhkan 1 bit, sehingga setiap byte dapat menampung informasi 8 titik.( Bono, Rodo.18 September 2008)

2. Format Pixel 8 Bit (Citra Skala Keabuan/Grayscale)

(20)

maka semakin besar nilainya semakin besar pula intensitas warna merahnya. Beberapa buku menyebut format citra ini sebagai citra intensitas.

3. Format Pixel 24 Bit (Citra Warna/True Color)

Pada citra warna, setiap titik mempuyai warna yang paling spesifik yang merupakan kombinasi dari 3 warna dasar, yaitu: merah, hijau, dan biru. Ada perbedaan warna dasar untuk cahaya (misalnya display di monitor komputer) dan untuk cat (misalnya cetakan di atas kertas). Untuk cahaya, warna dasarnya adalah merah-hijau-biru (red-green-blue,RGB), sedangkan untuk untuk cat, warna dasarnya adalah sian-magenta-kuning (cyan-magenta-yellow, CMY). Keduanya saling berkomplemen. Format citra ini sering disebut sebagai citra RGB (red-green-blue). Setiap warna dasar mempunyai intensitas sendiri dengan nilai maksimum 255 (8 bit), misalnya warna kuning merupakan kombinasi warna merah dan hijau sehingga nilai RGB-nya adalah 255 255 0; sedangkan warna ungu muda nilai RGB-nya adalah 150 0 150, dengan demikian setiap titik pada citra warna membutuhkan data 3 byte. Jumlah kombinasi warna yang mungkin untuk format citra ini adalah 224 atau lebih dari 16 juta warna, dengan demikian bisa dianggap mencakup semua warna yang ada, inilah sebabnya format ini dinamakan true color. ( Bono, Rodo.18 September 2008)

Citra yang lebih kaya warna adalah citra 24-bit. Setiap pixel panjangnya 24 bit, karena setiap pixel langsung menyatakan komponen warna merah, komponen warna hijau, komonen warna biru. Masing – masing komponen panjangnya 8 bit. Citra 24-bit disebut juga citra 16 juta warna, karena ia mampu menghasilkan 224 = 16.777.216 kombinasi warna

(21)

Setiap berkas bitmap terdiri atas header berkas, header bitmap, informasi palet, dan data bitmap.

Tabel 2.1 Format Berkas Bitmap

Header berkas Header bitmap Informasi palet Data bitmap 14 byte 12 s/d 64 byte 0 s/d 1024 byte N byte

Ukuran header berkas sama untuk semua versi, yaitu 14 byte. Tabel 2.2 memperlihatkan field – field penyusun header berkas. Ukuran header bitmap berbeda – beda untuk setiap versi. Untuk berkas bitmap versi lama, header bitmap berukuran 12 byte (Tabel 2.3), untuk berkas bitmap versai baru dari Microsoft Windows, header bitmap berukuran 40 (Tabel 2.4),dan untuk berkas bitmap versi baru dari IBM OS/2, header bitmap berukuran 64 byte (Tabel 2.5).

Tabel 2.2 Header berkas bitmap (panjang = 14 byte)

Byte ke- Panjang (byte)

Nama Keterangan

1 – 2 2 Bmp Type Tipe berkas bitmap :

BA = bitmap array, CI = icon BM = bitmap, CP = color pointer PT = Pointer

3 – 6 4 BmpSize Ukuran berkas bitmap

7 – 8 2 XotSpot X hotspot untuk kursor

9 – 10 2 YhotSpot Y hotspot untuk kursor

11 – 14 4 OffBits Ofset ke awal data bitmap (dalam byte)

Tabel 2.3 Header bitmap versi lama dari Microsoft Windows (12 byte)

Byte ke- Panjang (byte)

Nama Keterangan

1 – 4 4 HdrSize Ukuran header dalam satuan byte

5 – 6 2 Width Lebar bitmap dalam satuan pixel

7 – 8 2 Height Tinggi bitmap dalam satuan pixel

9 – 10 2 Planes Jumlah plane (umum-nya selalu satu)

(22)

Tabel 2.4 Header bitmap versi baru dari Microsoft Windows (40 byte)

Byte ke-

Panjang (byte)

Nama Keterangan

1 – 4 4 HdrSize Ukuran header dalam satuan byte

5 – 8 4 Width Lebar bitmap dalam satuan pixel

9 – 12 4 Height Tinggi bitmap dalam satuan pixel

13 – 14 2 Planes Jumlah plane (umum-nya selalu satu)

15 – 16 2 BitCount Jumlah bit per pixel

17 – 20 4 Compression 0 = tak dimampatkan, 1= dimampatkan

21 – 24 4 ImgSize Ukuran bitmap dalam byte

25 – 28 4 HorzRes Resolusi horizontal

29 – 32 4 VertRes Relolusi vertikal

33 – 36 4 ClrUsed Jumlah warna yang digunakan

37 – 40 4 ClrImportant Jumlah warna yang penting

Tabel 2.5 Header bitmap versi baru dari IBM OS/2 (64 byte)

Byte ke-

Panjang (byte)

Nama Keterangan

1 – 4 4 HdrSize Ukuran header dalam satuan byte

5 – 8 4 Width Lebar bitmap dalam satuan pixel

9 – 12 4 Height Tinggi bitmap dalam satuan pixel

13 – 14 2 Planes Jumlah plane (umum-nya selalu satu)

15 – 16 2 BitCount Jumlah bit per pixel

17 – 20 4 Compression 0 = tak dimampatkan, 1= dimampatkan

21 – 24 4 ImgSize Ukuran bitmap dalam byte

25 – 28 4 HorzRes Resolusi horizontal

29 – 32 4 VertRes Relolusi vertikal

33 – 36 4 ClrUsed Jumlah warna yang digunakan

37 – 40 4 ClrImportant Jumlah warna yang penting

41 – 42 2 Units Satuan pengukuran yang dipakai

43 – 44 2 Reserved Field Cadangan

45 – 46 2 Recording Algoritma Perekaman

47 – 48 2 Rendering Algoritma halftoning

(23)

53 – 56 4 Size 2 Nilai ukuran 2

57 – 60 4 ClrEncoding Pengkodean warna

61 - 64 4 Identifier Kode yang digunakan aplikasi

Informasi palet warna terletak sesudah header bitmap. Informasi palet warna dinyatkan dalam suatu tabel RGB. Setiap entry pada tabel terdiri atas tiga buah field, yaitu R (red), G (green), dan B (blue).

Data bitmap diletakkan sesudah informasi palet. Penyimpanan data bitmap di dalam berkas disusun terbalik dari bawah ke atas dalam bentuk matriks yang berukuran Height X Width. Baris ke-0 pada matriks data bitmap menyatakan data pixel di citra baris terbawah, sedangkan baris terakhir pada matriks menyatakan data pixel di citra baris teratas. ( Munir, Rinaldi. 2004)

(24)

Gambar 2.1 Format citra 8-bit (256 warna)

Berkas citra 24-bit (16,7 juta warna) tidak mempunyai palet RGB, karena nilai RGB langsung diuraikan dalam data bitmap. Setiap elemen data bitmap panjangnya 3 byte, masing – masing byte menyatakan komponen R, G, dan B. Contoh format citra 24-bit (16 juta warna) kira – kira seperti pada Gambar 2.2. Pada contoh format citra 24-bit tersebut pixel pertama mempunyai R = 20, G = 19, B = 21, pixel kedua mempunyaiR = 24, G = 24, B = 23. Demikian seterusnya.

Gambar 2.2 Format Citra 24-bit (16,7 juta warna)

Tabel 2.6 memperlihatkan panjang informasi palet untuk setiap vesi bitmap masing –masing untuk citra 16 warna, 256 warna, dan 16,7 juta warna.

Tabel 2.6 Panjang informasi palet untuk setiap versi berkas bitmap

Citra m warna Versi Lama (Windows)

Versi baru (Windows)

Versi baru (OS/2)

Citra 16 warna 48 byte 64 byte 64 byte

Citra 256 warna 768 byte 1024 byte 1024 byte

Citra 16,7 juta warna

0 byte 0 byte 0 byte

<headr berkas> <header berkas> <data bitmap>

20 19 21 24 24 23 24 … <headr berkas>

<header berkas> <palet warna RGB>

R G B

1 20 45 24

2 14 13 16

3 12 17 15

(25)

2.3 Transformasi Wavelet

Transformasi wavelet merupakan bentuk lain dari penggambaran sinyal yang tidak mengubah isi infomasi dalam sinyal tersebut. Transformasi wavelet (wavelet transform) menyediakan penggambaran frekuensi waktu dari sinyal. Pada awalnya, transformasi wavelet digunakan untuk menganalisis sinyal bergerak (non-stationary signals). Sinyal bergerak ini dianalisis dalam transformasi wavelet dengan menggunakan teknik multi-resolution analysis. Secara umum teknik multi-resolution analysis adalah teknik yang digunakan untuk menganalisis frekuensi dengan cara frekuensi yang berbeda dianalisis menggunakan resolusi yang berbeda. Resolusi dari sinyal merupakan ukuran jumlah informasi di dalam sinyal yang dapat berubah melalui operasi filterisasi. Transformasi wavelet memiliki dua seri dalam pengembangannya yaitu Continous Wavelet Transform (CWT) dan Discrete Wavelet Transform (DWT). Semua fungsi yang digunakan dalam transformasi CWT dan DWT diturunkan dari mother wavelet melalui translasi/pergeseran dan penskalaan/kompresi.

(26)

Gambar 2.3. Keluarga Wavelet(a)Haar,(b)Daubechies,(c)Coiflet, (d)Symlet,

(e)Meyer, (f)Morlet, (g)Mexican Hat. Dengan sumbu x

merupakan waktu, t dan sumbu y merupakan ψ(t) .

Seri pengembangan Continous Wavelet Transform (CWT) dipaparkan pada persamaan1.

(1)

(27)

2.3.1

Sampai sekaran

Perbandingan Transformasi Wavelet dengan Transformasi Fourier

yang paling populer di area memberitahu kita informas (kita tidak dapat tahu di mana frekuensi itu terjadi).

Karena itulah transformasi Fourier hanya cocok untuk sinyal yang informasi frekuensinya tidak berubah menurut waktu). Untuk menganalisa sinyal yang frekuensinya bervariasi di dalam waktu, diperlukan suatu transformasi yang dapat memberikan resolusi frekuensi dan waktu disaat yang bersamaan, biasa disebut waktu yang baik dan resolusi frekuensi yang buruk pada frekuensi tinggi suatu sinyal, serta resolusi frekuensi yang baik dan resolusi waktu yang buruk pada frekuensi rendah suatu sinyal. Pendekatan ini sangat berguna untuk menganalisa sinyal dalam aplikasi-aplikasi praktis yang memang memiliki lebih banyak frekuensi rendah.

Transformasi wavelet adalah suatu AMR yang dapat merepresentasikan informasi waktu dan frekuensi suatu sinyal dengan baik. Transformasi wavelet menggunakan sebuah jendela modulasi yang fleksibel, ini yang paling membedakannya dengan pengembangan dari transformasi Fourier. STFT menggunakan jendela besarnya tetap, ini menyebabkan dilema karena jendela yang sempit akan memberikan resolusi frekuensi yang buruk dan sebaliknya jendela yang lebar akan menyebabkan resolusi waktu yang buruk.(Wikipedia. Agustus 2008)

2.3.2Continue Wavelet Transform (CWT)

(28)

Dalam transformasi wavelet digunakan istilah istilah waktu dan frekuensi sudah digunakan oleh transformasi Fourier. Translasi adalah lokasi jendela modulasi saat digeser sepanjang sinyal, berhubungan dengan informasi waktu. Skala behubungan dengan frekuensi, skala tinggi (frekuensi rendah) berhubungan dengan informasi global dari sebuah sinyal, sedangkan skala rendah (frekuensi tinggi) berhubungan dengan informasi detil.

CWT secara matematika dapat didefinisikan sebagai berikut:

(2)

Keterangan: γ(s,τ) adalah fungsi sinyal setelah transformasi, dengan variabel s (skala) dan τ (translasi) sebagai dimensi baru. f(t) sinyal asli sebelum transformasi. Fungsi dasar di sebut sebagai wavelet, dengan * menunjukkan konjugasi kompleks.

Dan inversi dari CWT secara matematika dapat didefinisikan sebagai berikut:

(3)

Seperti telah dibicarakan sebelumnya, fungsi dasar wavelet ψs,τ(t) dapat

didesain sesuai kebutuhan untuk mendapatkan hasil transformasi yang terbaik, ini perbedaan mendasar dengan transformasi Fourier yang hanya menggunakan fungs

Fungsi dasar wavelet secara matematika dapat didefinisikan sebagi berikut:

(4)

Faktor digunakan unt

(29)

(5)

Contoh lain adalah fungsi dasar

(6)

dengan dan

2.3.3

Dibandingkan dengan CWT, Discrete Wavelet Transform (CWT) dianggap relatif lebih mudah pengimplementasiannya. Prinsip dasar dari DWT adalah bagaimana cara mendapatkan representasi waktu dan skala dari sebuah sinyal menggunakan teknik pemfilteran digital dan operas

Discrete Wavelet Transform (DWT)

Dasar dari DWT dimulai pada tahun 1976 dimana teknik untuk mendekomposisi sinyal waktu diskrit ditemukan. Di dalam CWT, sinyal dianalisis menggunakan seperangkat fungsi dasar yang saling berhubungan dengan penskalaan dan transisi sederhana. Sedangkan di dalam DWT, penggambaran sebuah skala waktu sinyal digital didapatkan dengan menggunakan teknik filterisasi digital. Secara garis besar proses dalam teknik ini adalah dengan melewatkan sinyal yang akan dianalisis pada filter dengan frekuensi dan skala yang berbeda.

(30)

Sebuah sinyal harus dilewatkan dalam dua filterisasi DWT yaitu highpass filter dan lowpass filter agar frekuensi dari sinyal tersebut dapat dianalisis. Analisis sinyal dilakukan terhadap hasil filterisasi highpass filter dan lowpass filter di mana highpass filter digunakan untuk menganalisis frekuensi tinggi dan lowpass filter digunakan untuk menganalisis frekuensi rendah. Analisis terhadap frekuensi dilakukan dengan cara menggunakan resolusi yang dihasilkan setelah sinyal melewati filterisasi. Analisis frekuensi yang berbeda dengan menggunakan resolusi yang berbeda inilah yang disebut dengan multi-resolution analysis, seperti yang telah disinggung pada bagian Transformasi Wavelet. ( Alfatwa, Dean Fathony)

Pembagian sinyal menjadi frekuensi tinggi dan frekuensi rendah dalam proses filterisasi highpass filter dan lowpass filter disebut sebagai dekomposisi. Proses dekomposisi dimulai dengan melewatkan sinyal asal melewati highpass filter dan lowpass filter. Misalkan sinyal asal ini memiliki rentang frekuensi dari 0 sampai dengan π rad/s. Dalam melewati highpass filter dan lowpass filter ini, rentang frekuensi di-subsample menjadi dua, sehingga rentang frekuensi tertinggi pada masing-masing subsample menjadi π/2 rad/s. Setelah filterisasi, setengah dari sample atau salah satu subsample dapat dieliminasi berdasarkan aturan Nyquist. Sehingga sinyal dapat selalu di-subsample oleh 2 (↓ 2) dengan cara mengabaikan setiap sample yang kedua. Proses dekomposisi ini dapat melalui satu atau lebih tingkatan. Dekomposisi satu tingkat ditulis dengan ekspresi matematika pada persamaan 7 dan 8.

(7)

(8)

(31)
[image:31.595.120.500.104.343.2]

Gambar 2.4 Dekomposisi wavelet tiga tingkat

Pada Gambar 2.4, y [k] tinggi dan y [k] rendah yang merupakan hasil dari highpass filter dan lowpass filter, y [k] tinggi disebut sebagai koefisien DWT. y [k] tinggi merupakan detil dari informasi sinyal, sedangkan y [k] rendah merupakan taksiran kasar dari fungsi pensakalaan. Dengan menggunakan koefisien DWT ini maka dapat dilakukan proses Inverse Discrete Wavelet Transform (IDWT) untuk merekonstruksi menjadi sinyal asal.

DWT menganalisis sinyal pada frekuensi berbeda dengan resolusi yang berbeda melalui dekomposisi sinyal sehingga menjadi detil informasi dan taksiran kasar. DWT bekerja pada dua kumpulan fungsi yang disebut fungsi penskalaan dan fungsi wavelet yang masing – masing berhubungan dengan lowpass filter dan highpass filte. Seperti yang telah dijelaskan sebelumnya dekomposisi ini didasarkan pada aturan Nyquist yang salah satunya mengatakan bahwa frekuensi komponen sample harus kurang atau sama dengan setengah dari frekuensi sampling. Jadi diambil frekuensi sample π/2 dari frekuensi sampling π dalam subsample oleh 2 pada dekomposisi wavelet. Sebagai penggambaran dekomposisi wavelet dengan sinyal asal x[n] yang memilki frekuensi maksimum f = π dipaparkan pada Gambar 2.5.

h[n] ↓2

g[n] ↓2

h[n]

↓2 ↓2

g[n]

h[n] ↓2

↓2

g[n] X[n]

Ytinggi[k]

Ytinggi[k]

Ytinggi[k]

(32)
[image:32.595.134.483.78.415.2]

Gambar 2.5. Dekomposisi wavelet dengan frekuensi sinyal asal f=0~π

Proses rekonstruksi diawali dengan menggabungkan koefisien DWT dari yang berada pada akhir dekomposisi dengan sebelumnya meng – upsample oleh 2 (↑ 2) melalui highpass filter dan lowpass filter. Proses rekonstruksi ini sepenuhnya merupakan kebalikan dari proses dekomposisi sesuai dengan tingkatan pada proses dekomposisi. Sehingga persamaan rekonstruksi pada masing-masing tingkatan dapat ditulis sbb:

(9)

Proses rekonstruksi wavelet untuk mendapatkan sinyal asal dengan tiga tingkat digambarkan pada Gambar 2.6.

x[n] f=0~x

h[n] g[n]

g[n] h[n]

g[n] h[n]

↓2

↓2 ↓2

↓2 ↓2

↓2

f=π/2~x

f=π/2~π/2

f=0~π/8 f=π/8~π/4

Level 1 DWT coefficients

Level 2 DWT coefficients

Level 3 DWT coefficients

f=0~π/4 f=0~π/2

(33)
[image:33.595.161.500.86.229.2]

Gambar 2.6 Rekonstruksi wavelet tiga tingkat

Scaling function yang dapat membentuk wavelet bermacam-macam jenisnya. Berdasarkan scaling function inilah basis wavelet memiliki nama yang berbeda-beda.

1. Wavelet Haar memiliki scaling function dengan koefisien c0 = c1

2. Wavelet Daubechies dengan 4 koefisien (DB4) memiliki scaling function dengan koefisien c

= 1.

0 = (1+√3)/4, c1 = (3+√3)/4, c2 = (3-√3)/4, c3 3. Wavelet B-Spline kubik memiliki scalilng function dengan koefisien c

= (1-√3)/4 0 = 1/8, c1 = 4/8, c2 = 6/8, c3 = 4/8, c4

Untuk memperjelas teori dari wavelet, berikut merupakan penjabaran dari Wavelet Haar. Wavelet Haar dapat dijelaskan dalam ruang vektor 4 dimensi. Basis paling sederhana yang sudah sering kita gunakan adalah basis orthonormal sebagai berikut :

= 1/8. (Chahyati,Dina. Januari 2003)

            =             =             =             = 1 0 0 0 , 0 1 0 0 , 0 0 1 0 , 0 0 0 1 3 2 1

0 v v v

v

(10)

Wavelet Haar juga merentang ruang vektor 4 dimensi dengan vektor-vektor basis sebagai berikut ↑2 h[n] ↑2 g[n] ↑2 g[n] h[n] ↑2 ↑2 h[n] g[n] ↑2 X[n] Ytinggi[k]

Ytinggi[k]

Ytinggi[k]

(34)

            − =             − =             − − =             = 1 1 0 0 , 0 0 1 1 , 1 1 1 1 , 1 1 1 1 3 2 1

0 h h h

h

(11)

yang bila digambarkan dalam bentuk sinyal akan berbentuk sebagai berikut :

h0 h1 h2 h3

Jika kita menggunakan basis orthonormal v0, v1, v2, dan v3, mudah untuk merepresentasikan suatu vektor sebagai kombinasi linier dari v0, v1, v2, dan v3

(35)

Jika kita ingin merepresentasikan vektor x tersebut dalam bentuk

x = a v0 + b v1 + c v2 + d v3

            − +             − +             − − +             =             1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 3 2 1 0 d c b a x x x x (12)

maka dengan mudah dapat ditemukan bahwa a = 6, b = 4, c = -7, d = 5.

Sekarang bagaimana caranya merepresentasikan suatu vektor sebagai kombinasi linier dari vektor-vektor dalam wavelet Haar. Atau dengan kata lain, bagaimana kita menentukan nilai a,b,c dan d dalam persamaan berikut ini :

(13)

dengan sedikit pengetahuan matematis, persamaan diatas dapat dijabarkan menjadi : x0 = a + b + c

x1 = a + b – c x2 = a – b + d x3 = a – b – d sehingga kemudian kita dapatkan :

x2 – x3 = 2d x0 – x1 = 2c

(x0 + x1) – (x2 + x3) = 4b (x0 + x1) + (x2 + x3) = 4a

Dengan demikian dapat diambil kesimpulan bahwa d = ½ (x2 – x3)

(36)

b = ½ ( ½ (x0 + x1) – ½ (x2 + x3)) a = ½ ( ½ (x0 + x1) + ½ (x2 + x3))

Terlihat bahwa sebenarnya koefisien-koefisian a,b,c,d dapat diperoleh dari operasi averaging dan differencing terhadap nilai x0, x1, x2 dan x3

0 2 1 0 2 1 ... d d d a a a a j j H H H L j L j L j − − − − → → → 

dengan aturan tertentu.

Stephane Mallat kemudian memperkenalkan cara mudah menghitung koefisien a, b, c dan d dengan cara yang dikenal dengan algoritma piramida Mallat. Algoritma tersebut dapat ditunjukkan dengan gambar berikut. (Chahyati,Dina. Januari 2003)

dimana aj adalah vektor awal dengan ukuran 2j, dan koefisien a, b, c, d dapat diperoleh dari aproksimasi a0 detail-detail d0, d1

                            − − − − − − − − = = 2 2 2 2 3 . 0 1 . 0 1 3 . . . . ... 0 1 3 ... 0 1 3 2 1 1 0 . 3 2 . 3 2 1 0 . . . . ... 3 2 1 0 ... 3 2 1 0 2 1 c c c c c c c c c c c c c c c c H c c c c c c c c c c c c c c c c L

dan seterusnya. Matriks L dan H masing masing adalah matriks lowpass (averaging) dan highpass (differencing) dengan bentuk:

Matriks L dan H untuk basis Haar dimana c0 = c1

    − − =     = 2 1 2 1 2 1 2 1 2 1 2 1 2 1 2 1 0 0 0 0 0 0 0 0 H L

= 1 adalah sebagai berikut :

(37)

[

]

[ ]

[

]

[ ]

3 6 1 2 1 5 5 7 4 6 0 1 2 1 2 1 2 1 2 1 0 0 0 0 2 1 2 1 0 2 1 2 1 1 2 1 2 1 0 0 0 0 2 1 2 1 2 =     − = − =     =    →  − =      →              − = − − = =                   = d d a a a H H L L

Nilai a,b, c dan d pada persamaan 2.4 kemudian dapat kita peroleh dengan melihat nilai aproksimasi terakhir a0 dan semua nilai-nilai detail d0,d1 dan d1 dimana

a = ½ ( ½ (x0 + x1) + ½ (x2 + x3)) = a0 = 2 b = ½ ( ½ (x0 + x1) – ½ (x2 + x3)) = d0 = 3 c = ½ (x0 – x1) = d1(0) = 1

d = ½ (x2 – x3) = d1

Setelah mengetahui bagaimana mendekomposisi suatu sinyal menjadi koefisien-koefisien kombinasi liniernya, maka perlu diketahui bagaimana caranya memperoleh vektor asal jika hanya diketahui koefisien-koefisien dekomposisinya (a,b,c,d). Proses kebalikan dari dekomposisi ini disebut proses rekonstruksi, dan algoritma piramida Mallat untuk rekonstruksi adalah:

(1) = -6.

(38)

1 1 0 * * * * 2 * 1 * 0 ... − →  →  →  n H H H n L L L d d d a a a a

dimana matriks pengali L* dan H* memiliki hubungan dengan matriks L dan H pada proses dekomposisi yaitu LL* = HH* = I (L merupakan invers dari L*). Isi dari L* dan H* untuk basis Haar adalah sebagai berikut:

            − − =             = 1 0 1 0 0 1 0 1 * 1 0 1 0 0 1 0 1 * H L

Proses rekonstruksi untuk contoh di atas dapat digambarkan sebagai berikut:

[ ] [ ]

[ ]





=

=

=





+





=

 →





=





+





=

 →

=

− − = − =               =      =

6

1

]

3

[

5

7

4

6

6

1

1

0

1

0

0

1

0

1

1

5

1

0

1

0

0

1

0

1

1

5

3

1

1

2

1

1

]

2

[

1 0 1 0 1 0 0 1 0 1 ` * 1 1 * 2 1 0 1 0 0 1 0 1 * 1 1 1 *

d

d

a

a

a

H H l L
(39)

di-filter pada arah tegak yang diutilisasi dengan menggunakan filter tapis rendah dan filter tapis tinggi (Bab II Teori Dasar.), seperti pada gambar di bawah ini

Lowpass terhadap baris Lowpass terhadap kolom

Citra Highpass terhadap kolom

Highpass terhadap baris Lowpass terhadap kolom Highpass terhadap kolom LL LH LL: hasil lowpass terhadap baris dan kolom

LH: hasil lowpass terhadap baris diteruskan dengan highpass terhadap kolom

HL HH HL: hasil highpass terhadap baris diteruskan dengan lowpass terhadap kolom

HH: hasil highpass terhadap baris dan kolom .

2.4 Penerapan DWT dalam Kompresi Citra

Kompresi dalam citra menggunakan DWT berhubungan dengan dekomposisi terhadap citra tersebut. Citra yang merupakan sinyal bergerak ini didekomposisi sama seperti cara dekomposisi sinyal yang telah dipaparkan pada bagian sebelumnya.

(40)

seterusnya hingga mendapatkan gelombang yang sangat sederhana. Proses ini merupakan dekomposisi pada citra.

Transformasi wavelet dapat menghasilkan versi resolusi citra yang sangat sederhana, oleh karena itu diperlukan perkiraan bentuk umum serta warna (informasi) dari citra untuk dapat merekonstruksi sebuah citra.

Transformasi wavelet dapat mengidentifikasi variasi yang signifikan dalam sebuah citra. Variasi ini berhubungan dengan tempat di mana proses penyederhanaan terjadi. Pada saat dekomposisi citra menggunakan koefisien yang dirata-rata, selisih dari koefisien tersebut dicatat. Semakin kecil selisih dari koefisien maka variasi di dalam citra tersebut sedikit, dan ini merupakan kandidat yang bagus untuk proses penyederhanaan. Semakin besar selisih koefisien maka ini menandakan detil dari citra tersebut sangat signifikan dan perlu untuk dipertahankan, biasanya yang memilki detil ini adalah garis atau tepi dari citra.

Contoh dari proses dekomposisi dan rekonstruksi citra adalah, misalkan ada sebuah citra satu dimensi yang memiliki empat nilai saja (empat piksel dalam sebuah baris, memiliki tingkat abu -abu yang berbeda), yaitu:

Selanjutnya diambil rata – rata dari pasangan pertama dan kedua hingga menghasilkan tingkat abu – abu sbb:

(41)

tersebut. Selisih dari koefisien rata – rata ini disebut dengan koefisien detil, dalam kasus ini koefisien detilnya adalah 1 dan -1. Dengan bukti sebagai berikut:

2 + -1 = 1

2 – (-1) = 3

7 + 1 = 8

7 – 1 = 6

Jika dekomposisi dilanjutkan ke tingkat selanjutnya maka akan diperoleh koefisien rata - rata 4,5 dan koefisien detil 2,5. Dengan mencatat koefisien detil pada masing – masing tingkatan dekomposisi ini, maka rekonstruksi citra untuk menjadi citra asal dapat dilakukan.

[image:41.595.145.485.504.666.2]

Secara teknis, dekomposisi citra yang merupakan sinyal bergerak dapat digambarkan seperti dekomposisi sinyal menggunakan transformasi wavelet. Citra dengan dua dimensi (baris dan kolom) dapat didekomposisi seperti Gambar 2.7 Dengan I adalah citra, H(ω) adalah highpass filter, dan G(ω) adalah lowpass filter.

Gambar 2.7 Dekomposisi wavelet satu tingkat

terhadap citra

H(ω)

G(ω)

I

↓2 ↓2

H(ω)

G(ω)

H(ω)

G(ω)

kolom

kolom

kolom baris

baris

kolom

↓2

↓2

↓2

↓2

HH

HL

LH

(42)

Dekomposisi pada citra seperti pada Gambar 2.7 menghasilkan informasi rentang frekuensi yang berbeda yaitu LL, frekuensi rendah-rendah (lowlow frequency), LH, frekuensi rendah-tinggi (low-high frequency), HL, frekuensi tinggi - rendah (high-low frquency), dan HH, frekuensi tingi – tinggi (high-high frequency). Kesemuanya ini membentuk struktur piramid (Gambar 2.8) dari sebuah citra. Rentang frekuensi LL merupakan rentang taksiran penskalaan, sedangkan rentang frekuensi LH, HL, dan HH merupakan rentang frekuensi detil informasi.

Gambar 2.8 (a) Citra Lena asli, (b) Struktur piramid dua tingkat, (c)

Dekomposisi Lena menggunakan Daubechies Wavelet satu

tingkat, (d) Dekomposisi Lena menggunakan Haar Wavelet dua

tingkat.

2.5 Watermarking pada Citra Digital

[image:42.595.205.429.243.456.2]
(43)

Sejarah watermarking sudah dimulai sejak 700 tahun yang lalu. Pada akhir abad 13, pabrik kertas di Fabriano, Italia, membuat kertas yang diberi watermark atau tanda-air dengan cara menekan bentuk cetakan gambar atau tulisan pada kertas yang baru setengah jadi. Ketika kertas dikeringkan, terbentuklah suatu kertas yang ber-watermark. Kertas ini biasanya digunakan oleh seniman dan sastrawan untuk menulis karya mereka. Kertas yang sudah dibubuhi watermark tersebut sekaligus dijadikan identifikasi bahwa karya seni di atasnya adalah milik mereka. Perkembangan watermarking selanjutnya adalah watermarking pada media digital. Watermarking pada media digital ini mulai dikembangkan pada tahun 1990 di Jepang dan tahun 1993di Swiss .

Digital watermarking masih merupakan salah satu teknik baru di bidang proteksi data-data digital, hingga saat ini teknologi watermarking masih dalam tahap pengembangan jarena masih belum ditemukan teknik yang ideal untuk implementasinya. Hal - hal yang terkait dengan robustness dan ekstraksi masih menjadi permasalahan utama dalam pengimplementasian watermarking.

Teknik watermarking dapat diklasifikasi menjadi dua kategori yaitu, metode Domain Spasial dan metode Domain Transformasi. Metode Domain Spasial lebih mudah pemakaiannya karena tidak menggunkan transformasi, tetapi tidak tahan terhadap serangan. Teknik watermarking menggunakan Domain Transformasi lebih tahan terhadap serangan dibandingkan dengan metode Domain Spasial (Hameed, November 2008).

2.5.1 Defenisi

(44)

watermarking. Digital watermarking dapat dijalankan pada berbagai media digital seperti citra digital, file suara, dan video.

[image:44.595.183.496.228.353.2]

Secara umum proses watermarking pada citra digital dipaparkan pada Gambar 2.9 dimana citra digital disisipi dengan watermark menggunakan kunci sebagai sarana kepemilikan untuk dapat membuka watermark yang disisipkan melalui encoder yang berisi algoritma penyisipan watermark ke dalam citra digital.

Gambar 2.9 Penyisipan watermark

Lebih jauh lagi watermark bisa juga berupa kode yang membawa informasi mengenai pemilik hak cipta, pencipta, pembeli yang sah dan segala sesuatu yang diperlukan untuk menangani hak kepemilikan media digital. Watermark sengaja ditanamkan secara permanen pada data digital sedemikian hingga pengguna yang berwenang dapat dengan mudah membacanya, disisi lain watermark tersebut haruslah tidak mengubah isi media kecuali sedikit atau perubahan tersebut tidaklah tampak atau kurang begitu tampak bagi indera manusia.(Lestari, Desi Alex. 20 April 2008.) Hal ini disebabkan karena pengubahan dari citra digital asal ke citra ber-watermark hanya berpengaruh sedikit terhadap perubahan warna dari citra digital, sehingga sistem penglihatan manusia (Human Visual System) tidak dapat mempersepsi perubahan tersebut.

Mutu dari teknik watermarking meliputi beberapa parameterparameter utama yang berikut ini [2]:

a. Fidelity : Perubahan yang disebabkan oleh tanda (mark) semestinya tidak mempengaruhi nilai isi, idealnya tanda harusnya tidak dapat dilihat, sehingga tidak dapat dibedakan antara data yang ter-watermark dan data yang asli. Salah

Original Watermark Original Image I

Embedding

(E

mb

)

(45)

satu trade-off antara karakteristik watermarking yang sangat kelihatan adalah antara robustness dengan fidelity. Dalam beberapa literatur fidelity kadang disebut dengan invisibility untuk jenis data citra dan video. Yang dimaksud dengan fidelity disini adalah derajat degradasi host data sesudah diberi watermark dibandingkan dengan sebelum diberi watermark. Biasanya bila robustness dari watermark tinggi maka memiliki fidelity yang rendah, sebaliknya robustness yang rendah dapat membuat fidelity yang tinggi. Jadi sebaiknya dipilih trade-off yang sesuai, sehingga keduanya dapat tercapai sesuai dengan tujuan aplikasi. Untuk host data yang berkualitas tinggi maka fidelity dituntut setinggi mungkin sehingga tidak merusak data aslinya, sedangkan host data yang memiliki noise (kualitas kurang) maka fidelitynya bisa rendah.

b. Robustness : watermark di dalam host data harus tahan terhadap beberapa operasi pemrosesan digital yang umum seperti pengko nve rsian dari digital ke analog dan dari analog ke digital, dan manipulasi data. Pada robust watermark, data disisipkan dengan sangat kuat, sehingga jika ada yang berusaha menghapusnya maka gambar atau suara yang disisipi akan ikut rusak dan tidak punya nilai komersial lagi.

c. Security : Watermarking harus tahan terhadap usaha segaja

memindahkan/mencopy watermark dari satu multimedia data ke multimedia data lainnya.

Pada ketiga kriteria diatas, fidelity merupakan kriteria paling tinggi.( Sirait, Rummi , ST . ) Proses watermarking perlu didukung dengan proses ekstrasi watermark dari citra berwatermark. Proses ekstraksi ini bertujuan untk mendapatkan kembali citra digital asal dan watermark yang disisipkan dalam citra digital tersebut. Umumnya proses ekstraksi melibatkan proses pembandingan citra digital asal dengan citra ber-watermark untuk mendapatkan watermark yang disisipkan.

Berikut ini merupakan fungsi utama dari watermarking :

1. Proteksi Hak Cipta

(46)

diproduksinya. Watermarking sangat ideal untuk pembuatan label hak cipta, karena bukan hanya tak terlihat tetapi juga tidak dapat dipisahkan dari data yang disisipi. Hal ini merupakan alasan utama sehingga proteksi menggunakan label hak cipta menjadi aplikasi yang sangat terkemuka saat ini.(Lu, Chun-Shien. 2005.)

2. Fingerprinting

Fungsi watermarking pada fingerprinting mirip dengan serial number S/N. tujuan watermarking adalah mengidentifikasi setiap penggunaan dan distribusi suatu content.

3. Proteksi terhadap penggandaan (copy protection)

Watermarking berfungsi melindungi content dari duplikasi dan pembajakan.

4. Autentikasi citra

Watermarking berfungsi dalam proses autentikasi, sehingga modifikasi dari suatu citra dapat terdeteksi

2.5.2 Tipe

Watermarking dapat digolongkan menjadi beberapa tipe berdasarkan tingkat visibilitas dari data yang disembunyikan (watermarking), lokasi suatu watermarking di domain ukuran data tersembunyi yang ditanamkan, tingkat ketahanan watermarking terhadap suatu serangan dan distorsi serta proses ekstraksi (Pensiska, Finny. 25 Agustus 2008).

1. Visibilitas

(47)

1. Perceptible : watermarking dapat terlihat oleh mata manusia secara langsung

2. Imperceptible : watermarking tidak dapat terlihat oleh mata manusia secara langsung

2. Domain

Lokasi peletakan data watermarking terdiri dari dua jenis yaitu :

1. Domain Pixel : watermarking ditanamkan dengan melakukan modifikasi pada pixel – pixel dari suatu media

2. Domain Frekuensi (transformasi) : Watermarking ditanamkan pada koefisien hasil transformasi. Domain frekuensi diperoleh dengan melakukan transformasi citra.

3. Robustness

Berdasarkan tingkat ketahanan suatu watermarking terhadap serangan dan distorsi maka watermarking dapat digolongkan menjadi 3 jenis yaitu :

1. Fragile : watermarking tidak tahan terhadap serangan dan distorsi. Tipe ini dapat digunakan dalam autentikasi. Jika suatu watermarking tidak terdeteksi atau salah maka media telah mengalami perubahan atau tidak asli lagi.

2. Semi-fragile : watermarking tahan terhadap beberapa serangan dan distorsi yang telah didefinisikan sebelumnya

3. Robust : watermarking tahan terhadap usaha-usaha untuk menghilangkan watermarking dan tahan terhadap distorsi

4. Ekstraksi

(48)

1. Blind : pada proses ekstraksi data sistem blind watermarking tidak membutuhkan citra atau media aslinya, yang dibutuhkan hanyalah suatu kunci atau parameter-parameter untuk melakukan ekstraksi.

2. Semi-blind : proses ekstraksi dilakukan dengan menggunakan suatu kunci dan juga data watermarking.

3. Non-blind : proses ekstraksi dilakukan dengan menggunakan citra asli dan parameter-parameter yang telah ditentukan (key).

2.6. Serangan terhadap Citra Ber -Watermark

Serangan terhadap citra ber –watermark umumnya bertujuan untuk menghilangkan watermark yang disisipkan di dalam citra digital tersebut. Serangan ini disebut sebagai serangan yang disengaja. Serangan yang tidak disengaja biasanya berhubungan dengan pengubahan citra digital, pengubahan ini dapat berupa cropping, rotation, kompresi, dll.

Secara umum jenis serangan terhadap citra ber-watermark dibagi menjadi dua, yaitu serangan standar (standard attack) dan malicious attack. Malicious attack merupakan serangan yang memilki tujuan untuk menghilangkan watermark. Pengujian terhadap citra ber-watermark menggunakan serangan hanya dapat dilakukan dengan menggunakan standard attack saja. Hal ini disebabkan karena dalam malicious attack umumnya pihak penyerang mencari algoritma penyisipan dan kunci yang digunakan saat penyisipan watermark. Serangan jenis malicious attack ini tetntunya tidak dapat diujikan karena algoritma dan kunci yang digunakan tentunya sudah diketahui oleh penyisip watermark.

2.6.1. Serangan Standar (Standard Attack)

(49)

1. Cropping

Cropping merupakan serangan yang umum karena banyak orang sering menginginkan bagian tertentu dari sebuah citra saja. Cropping dapat merusak citra karena pada proses cropping matriks dari sebuah citra akan di ubah dengan memotong matriks citra tersebut, sehingga ukuran panjang dan lebar citra awal tidak sama dengan ukuran panjang dan lebar citra setelah dilakukan cropping.

2. Serangan geometris (geometrical attack)

Serangan geometris sering tidak secara sengaja bertujuan untuk menghilangkan watermark pada citra yang sudah ber-watermark. Serangan geometris ini menyebabkan pendeteksi watermark kehilangan sinkronisasinya dengan citra ber - watermark. Beberapa yang termasuk dalam serangan geometris adalah rotasi citra, penskalaan ulang citra, pengubahan aspect ratio, translasi, dsb.

3. Kompresi

Serangan ini juga merupakan serangan yang sering dilakukan secara tidak sengaja. Kompresi sering dilakukan pada file multimedia seperti audio, video, dan citra. Watermark yang disisipkan biasanya lebih tahan terhadap kompresi yang memliki domain sama dengan domain yang dipakai pada saat watermarking. Misalnya citra yang disisipi watermark menggunakan DCT (Discrete Cosine Transform) lebih tahan terhadap kompresi JPEG daripada citra yang disisipi watermark dalam domain spasial. Atau citra yang disispi watermark menggunakan DWT (Discrete Wavelet Transform) lebih kuat terhadap kompresi JPEG2000.

4. Penambahan noise

(50)

mekanisme dalam mendapatkan data digital tersebut juga dapat menyebabkan adanya noise. Penyebaran data citra secara elektronik bisa juga menghasilkan noise.

5. Filterisasi

Filterisasi umum digunakan pada citra. Beberapa filter yang sering digunakan yaitu gaussian filter, sharpening filter, dsb. Untuk menanggani jenis serangan ini watermark dapat disisipkan pada frekuensi yang paling sedikit berubah jika terjadi kompresi, dengan memperkirakan filterisasi apa saja yang umum digunakan.

6. Pelembut an Citra (Image Smoothing)

Pelembutan citra (image smoothing) bertujuan untuk menekan gangguan (noise) pada citra. Gangguan tersebut biasanya muncul sebagai akibat dari hasil penerokan yang tidak bagus (sensor noise, photographic grain noise) atau akibat saluran transmisi (pada pengiriman data).

7. Perataan Histogram

Salah satu teknik yang biasa digunakan dalam proses pengingkatan kualitas citra (image enhancement) adalah teknik perataan histogram (histogram equalization). Histogram dari suatu citra sebenarnya menyediakan deskripsi umum akan penampakannya. Untuk histogram sebuah citra berwarna, ketiga histogram komponen warnanya dapat diperlakukan secara terpisah sebagaimana histogram sebuah citra gray-level. (Lestari, Desi Alex. 20 April 2008.). Tujuan dari perataan histogram adalah untuk memperoleh penyebaran histogram yang merata, sedemikian sehingga setiap derajat keabuan memiliki jumlah pixel yang relatif sama.

2.6.2. Malicious Attack

(51)

(watermark writing) . Penjelasan beserta contoh masing -masing jenis serangan dipaparkan sbb:

1. Penghilangan watermark

Dalam penghilangan watermark seorang penyerang tidak perlu berhubungan langsung dengan semantik dari watermark yang disisipkan. Artinya seorang penyerang tidak perlu mengambil watermark yang disisipkan tapi hanya perlu menghilangkan pesan yang dimaksud di dalam watermark tersebut dengan cara memodifikasi sinyal watermark sehingga pendeteksi tidak berhasil mendeteksi adanya watermark yang disisipkan. Contoh jenis serangan ini adalah serangan kolusi (collusion attack). Serangan kolusi ini biasanya terjadi pada citra ber - watermark yang memiliki banyak salinan dengan watermark berbeda. Serangan kolusi dijalankan dengan cara meratakan setiap salinan dan menurunkan energi watermark dibandingkan dengan citra asalnya.

2. Deteksi atau perkiraan watermark

Serangan ini menitik beratkan pada pencarian modifikasi yang telah dilakukan terhadap citra asal sehingga dapat merepresentasikan watermark yang disisipkan. Serangan biasanya dilakukan dengan memperkirakan citra asal dan mengambil perbedaan antara citra asal hasil perkiraan tersebut dengan watermark. Sebenarnya serangan ini lebih tepat dikatakan sebagai perantara untuk melakukan serangan sesungguhnya terhadap citra ber-watermark.

3. Penulisan watermark

(52)

2.7. Pengolahan Citra dengan Matlab

Matlab merupakan salah satu bahasa pemerograman yang dikembangkan oleh MathWorks. Matlab tidak hanya berfungsi sebagai alat visualisasi, yang berhubungan langsung dengan ilmu Matematika. Oleh karena itu Matlab semakin banyak digunakan oleh para programmer yang menghedaki kepraktisan dalam membuat program.( Paulus,2007)

Matlab adalah sebuah bahasa (pemerograman dengan unjuk kerja tinggi (hight-performance) untuk komutasi teknis, yang mengintegrasikan komputasi, visualisasi, dan pemerograman di dalam lingkungan yang mudah penggunaanya dalam memecahkan persoalan dengan solusinya yang dinyatakan dengan notasi matematika.( Wijaya, Marvin Ch,2007). Penggunaan Matlab, yaitu :

1. Matematika dann komputasi 2. Pengembangan algoritma

3. Pemodelan, simulasi, dan pembuatan ‘protoipe’ 4. Analisis data, eksporasi dan vvisualisasi

5. Grafik untuk sains dan teknik

6. Pengembangan aplikasi, termasuk pembuatan antarmuka gradis untuk pengguna (Graphical User Interface).

(53)
[image:53.595.154.479.187.310.2]

Matlab menyediakan perintah untuk membaca, menulis dan menampikan beberapa tipe dari citra. Matlab menyediakan fasilitas tersebut untuk beberapa tipe citra dibawah ini :

Tabel 2.7 Tipe citra pada Matlab

No. Tipe Keterangan

1 BMP Microsoft Windows Bitmap

2 HDF Hierarchial Data Format

3 JPEG Joint Photograpic Experts Group

4 PCX Paintbrush

5 PNG Portable Network Graphics

6 TIFF Tagged Image File Format

7 XWD X Windows Dump

2.7.1 Pembacaan Citra

Fungsi imread membaca sebubah citra dari file citra yang bertipe di atas dengan berbagai tipe kedalaman warna. Kebanyakan citra yang dibaca mempunyai kedalaman warna 8 bit. Ketika citra seperti itu dibaca, maka Matlab akan menyimpannya dalam tipe data uint8. Jika yang dibaca adalah data 16 bit untuk citra bertipe PNG dan TIFF, maka akan disimpan dalam tipe uint16. Untuk Citra berindeks, fungsi imread selalu menyimpan colomap kedalam tipe double, meskipun array citranya mempunyai tipe uint8 atu uint16. Seperti contoh dibawah ini :

RGB = imread(“coba.jpg”)

Kita dapat menyimpan (save) data citra menggunakan fungsi imwrite, seperti contoh di bwah ini :

load citra

imwrite(X,map,”test.bmp”);

2.7.2 Penyimpanan Citra

(54)

dalam Matlab adalah 8 bit, dan kebanyakan tipe citra tidak memerlukan data bertipe double precision. Pengecualian pada aturan Matlab yang menyimpan citra data sebagai uint8 adalah citra bertipe PNG dan TIFF yang disimpan bertipe uint16. Karena kedua tipe citra tersebut mendukung 16 bit, kita dapat menyimpan citra dengan tipe uint16 dengan menggunakan fungsi imwrite, seperti contoh dibawah ini :

imwrite(I,’citra.png’,BitDepth’,16);

2.7.3 Informasi sebuah File Citra

Fungsi imfinfo memungkinkan kita untuk mengambil informasi tentang file citra, dengan tipe citra yang didukung oleh Matlab. Informasi yang kita dapatkan tergantung dari tipe file citranya, tetapi biasanya mencakup :

1. Nama file dan folder-nya 2. Tipe file

3. Versi dari tipe file 4. Tanggal modifikasi 5. Ukuran file

6. Lebar citra (pixel) 7. Tinggi citra (pixel) 8. Ukuran bit ber pixel

9. Tipe citra (RGB/true color, intensitas/Grayscale atau indeks).

2.7.4. Pengubahan Tipe Citra

(55)

1. bither

Membuat sebuah citra biner dari citra berintensitas grayscale dengan melakukan dithering, dan membuat sebuah citra berindeks dari citra RGB dengan dithering.

2. gray2ind

Membuat sebuah citra ber-indeks dari citra berintensitas grayscale

3. grayslice

Membuat sebuah citra ber-indeks dari citra berintensitas grayscale dengan menggunakan thesholding

4. im2bw

Membuat sebuah citra biner dari citra berintensitas, citra berindeks atau citra RGB berdasarkan threshold luminance.

5. ind2gray

Membuat sebuah citra berintensitas grayscale dari citra beindeks.

6. ind2rgb

Membuat sebuah citra RGB dari citra berindeks

7. mat2gray

Membuat sebuah citra berintensitas grayscale dari data dalam sebuah matriks dengan melakukan scaling data.

8. rgb2gray

Membuat sebuah citra berintensitas grayscale dari citra RGB.

9. rgb2ind

Membuat sebuah citra ber-indeks dari citra RGB.

Kita juga dapat melakukan konversi dengan menggunakan sintaks dari Matlab, sebagai contoh, untuk mengkonversikan sebuah citra berintensitas menjadi citra RGB dengan menghubungkan 3 duplikat matriks asli sepanjang dimensi ketiga.

RGB = cat(3,I,I,I);

(56)

2.7.5. Menampilkan Citra

Pada Matlab, cara untuk menampilkan citra yaitu menggunakan fungsi image. Fungsi ini akan menghasilkan Handle Graphics, dan juga termasuk pengaturan untuk berbagai properties dari objek. Matlab juga memiliki fungsi imagesc, yang mirip dengan fungsi image tetapi fungsi ini akan mengatur skala dari data masukan secara otomatis.

[image:56.595.145.480.368.457.2]

Kakas pengolahan citra Matlab menyedikan rutin tambahan untuk penampilan citra, yaitu imshow. Seperti image dan imagesc, fungsi ini akan menghasilkan sebuah objek Handle Graphics. Tetapi imshow juga secara otomatis mengatur berbagai properties citra dan atribut dari citra untuk mengoptimalkan penampilan.

Tabel 2.8 Fungsi penampilan citra

Fungsi Keterangan

image Menampilkan sebuah objek citra

imagecs Menampilkan citra sekaligus juga mengatur skala citra imshow Menampilkan dan mengatur properties dan atribut citra

2.8. Pengujian Perangkat Lunak

Pengujian Perangkat Lunak adalah elemen kritis dari jaminan kualitas perangkat lunak dan merepresentasikan kajian pokok dari spesifikasi, desain, dan pengkodean.

(57)

Meningkatnya visibilitas (kemampuan) perangkat lunak sebagai suatu elemen sistem dan “biaya” yang muncul akibat kegagalan perangkat lunak, memotivasi dilakukannya perencanaan yang baik melalui pengujian yang teliti. Pada dasarnya, pengujian merupakan satu langkah dalam proses rekayasa perangkat lunak yang dapat dianggap sebagai hal yang merusak daripada membangun.

Sejumlah aturan yang berfungsi sebagai sasaran pengujian pada perangkat lunak adalah:

1. Pengujian adalah proses eksekusi suatu program dengan maksud menemukan kesalahan

2. Test case yang baik adalah test case yang memiliki probabilitas tinggi untuk menemukan kesalahan yang belum pernah ditemukan sebelumnya

3. Pengujian yang sukses adalah pengujian yang mengungkap semua kesalahan yang belum pernah ditemukan sebelumnya

Sasaran utama desain test case adalah untuk mendapatkan serangkaian pengujian yang memiliki kemungkinan tertinggi di dalam pengungkapan kesalahan pada perangkat lunak. Untuk mencapai sasaran tersebut, digunakan 4 kategori yang berbeda dari tehnik desain test case: Pengujian white-box, pengujian black-box, Integrasi Bottom-Up dan Integrasi Top-Down.

1. Pengujian white-box

Pengujian white-box berfokus pada struktur control program. Test case dilakukan untuk memastikan bahwa semua statemen pada program telah dieksekusi paling tidak satu kali selama pengujian dan bahwa semua kondisi logis telah diuji. Pengujian basic path, tehnik pengujian white-box, menggunakan grafik (matriks grafiks) untuk melakukan serangkaian pengujian yang independent secara linear yang akan memastikan cakupan.

Gambar

Tabel 2.3 Header bitmap versi lama dari Microsoft Windows (12 byte)
Tabel 2.4 Header bitmap versi baru dari Microsoft Windows (40 byte)
Gambar 2.1 Format citra 8-bit (256 warna)
Gambar 2.3. Keluarga Wavelet(a)Haar,(b)Daubechies,(c)Coiflet, (d)Symlet, x
+7

Referensi

Dokumen terkait

Ditinjau dari uraian tentang penggunaan media gambar maka hipotesis penelitian ini adalah dengan penggunaan media gambar dapat meningkatkan minat belajar PKn siswa

Jika hanya diandalkan pada 1 orang tuo tari dan 4 orang penari yang mampu menarikan tarian tersebut dan tidak diturunkan kepada generasi berikutnya maka adalah

Dengan mengacu pada indikator yang telah ditetapkan sebelumnya dapat disimpulkan bahwa penerapan metode pembelajaran Inkuiri Terbimbing pada pokok bahasan kalor dapat

Pengaplikasian patah kata yang mampu mendukung kepelbagaian makna dalam puisi-puisi Usman Awang, menjadikan puisi beliau bukan sahaja indah pada indera dengar pembaca tetapi

masjid tidak hanya berfungsi sebatas tempat ibadah seputar shalat saja, akan tetapi, masjid juga digunakan sebagai tempat edukasi terutama di pondok-pondok pesantren. Pada zaman

Pendapatan petani dapat dilihat dari seberapa banyak produksi cengkeh yang dihasilkan oleh petani, dimana semakin banyak produksi yang dihasilkan, maka pendapatan

Basis Data ( database) merupakan kumoulan data yang salling berkaitan an berhubungan satu dengan yang lainnya, tersimpan diperangkat keras computer dan perangkat lunak

berupa senam diabetes terhadap perubahan kadar gula darah pada pasien.