Gambar 1. 1 Diagram Waterfall [5]
I.6 Sistematika Penulisan
Sistematika Penulisan Laporan Tugas Akhir ini adalah sebagai berikut :
BAB I PEDAHULUAN
Bab ini membahas latar belakang, rumusan masalah, maksud dan tujuan, batasan masalah, metodologi penelitian, dan sistematikas penulisan.
BAB II LANDASAN TEORI
Bab ini menjelaskan teori-teori atau dasar-dasar pengetahuan, jaringan, data
gambar, Matrik, watermarking, Algoritma SVD, Microsoft Visual Studio. BAB III ANALISIS DAN PERANCANGAN SISTEM
Bab ini mengulas tetang Algoritma watermark yang digunakan yaitu Algoritma SVD, serta perancangan sistem yang akan dibangun, serta
menentukan kebutuhan-kebutuhan sistem dan perangkat lunak sistem.
BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM
Bab ini menjelaskan tentang implementasi Algoritma SVD dalam watermarking file digital. Serta menjelaskan pengujian aplikasi yang telah
dibuat tersebut BAB V KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan dari permasalahan yang dibahas secara umum dan saran.
9
BAB II LANDASAN TEORI
II.1 Citra Digital
Citra digital sebenarnya bukanlah sebuah data digital yang normal, melainkan sebuah representasi dari citra asal yang bersifat analog [3]. Citra digital
ditampilkan pada layar komputer dengan berbagai macam susunan warna dan tingkat kecerahan. Susunan warna inilah yang menyebabkan sebuah citra bersifat
analog. Hal ini disebabkan karena susunan warna yang dimiliki dalam sebuah citra mengandung jumlah warna dan tingkat kecerahan yang tidak terbatas [3].
Citra yang ditampilkan pada layar komputer ini, yang sebenarnya merupakan sebuah representasi analog, juga tersu sun dari sebuah rentang tak terbatas dari
nilai cahaya yang dipantulkan atau cahaya yang ditransmisikan. Jadi secara umum citra memiliki sifat kontinu dalam tampilan warna dan tingkat kecerahannya.
II.2 Pembentukan Citra Digital
Komputer merupakan alat yang beroperasi dalam sistem digital yang menggunakan bit atau byte dalam pengukuran datanya, dan yang terpenting dalam
sistem digital adalah sifatnya yang diskrit, bukan kontinu. Hal ini berlawanan dengan citra digital yang sebenarnya merupakan representasi citra asal yang
bersifat kontinu. Untuk mengubah citra yang bersifat kontinu diperlukan sebuah cara untuk mengubahnya dalam bentuk data digital. Komputer menggunakan
sistem bilangan biner dalam pemecahan masalah ini [3]. Dengan penggunaan sistem bilangan biner ini, citra dapat diproses dalam komputer dengan sebelumnya
mengekstrak informasi citra analog asli dan mengirimkannya ke komputer dalam bentuk biner. Proses ini disebut dengan digitisasi [1]. Digitisasi dapat dilakukan
oleh alat seperti kamera digital atau scanner. Kedua alat ini selain dapat mengambil atau menangkap sebuah citra, juga dapat bertindak sebagai alat input
masukan bagi komputer. Alat penangkap citra digital ini dapat menyediakan aliran data biner bagi komputer yang didapatkan dari pembacaan tingkat
kecerahan pada sebuah citra asli dalam interval sumbu x dan sumbu y [1]. Citra digital merupakan citra yang tersusun dari piksel diskrit dari tingkat
kecerahan dan warna yang telah terkuantisasi [2]. Jadi, pada dasarnya adalah sebuah citra yang memiliki warna dan tingkat kecerahan yang kontinu perlu
diubah dalam bentuk informasi warna, tingkat kecerahan, dsb yang bersifat diskrit untuk dapat menjadi sebuah citra digital. Pada Gambar 2.1 diperlihatkan kurva
tingkat kecerahan yang kontinu dengan nilai hitam dan putih yang tidak terbatas a dan kurva tingkat kecerahan setelah mengalami kuantisasi dalam 16 tingkatan
diskrit b. Tingkat kecerahan pada Gambar 2.1 yang bersifat kontinu dapat diubah
menjadi tingkat kecerahan seperti Gambar 2.2 dengan pembacaan tingkat kecerahan menggunakan interval tertentu pada sumbu x dan y seperti yang telah
disebutkan di atas. Pembagian seperti pada pembagian tingkat kecerahan ini juga berlaku untuk
warna agar nilai warna dapat menjadi diskrit.
Gambar 2.1 Tingkat kecerahan yang kontinu
Gambar 2.2 tingkat kecerahan setelah mengalami kuantisasi 16 tingkatan diskrit.
II.3 Watermarking Citra Digital
Perkembangan teknologi komputer telah mengakibatkan terjadinya transformasi penyajian informasi dan data dari domain analog ke domain digital.
Pada saat ini hampir semua informasi disajikanke publik secara full digital. Jika berada dalam domain digital, informasi akan memiliki karakteristik mudah diolah
dan mudah didistribusikan. Sebuah foto yang telah dibuat dalam format digital,
misalnya dalam format bitmap atau JPEG, sangat mudah dimodifikasi dengan berbagai perangkat lunak. Contoh perangkat lunak yang amat populer digunakan
untuk modifikasi
semacam ini
adalah Adobe
Photoshop. Dalam
pendistribusiannya, jaringan internet merupakan sarana distribusi informasi tercepat dan terlengkap di dunia. Kemudahan pengolahan dan pendistribusian ini
selain memberikan banyak keuntungan juga dapat membawa kerugian. Kedua hal tersebut akan merugikan apabila informasi yang diolah dan disebarluaskan adalah
informasi yang memiliki hak cipta. Tanpa adanya pengawasan dan kontrol, maka yang terjadi adalah pelanggaran terhadap hak cipta yang serius. Diperlukan suatu
cara untuk mengatasi hal yang berkaitan dengan pelanggaran hak cipta yang memiliki sifat-sifat seperti:
1. Invisible atau inaudible
: Tidak tampak untuk data digital seperti citra, video, text atau tidak kedengaran untuk jenis audio oleh pihak lain dengan
menggunakan panca indera kita dalam hal ini terutama mata dan telinga manusia.
2. Robustness : Tidak mudah dihapusdiubah secara langsung oleh pihak yang
tidak bertanggung jawab, dan tidak mudah terhabusterubah dengan adanya proses pengolahan sinyal digital, seperti kompresi,filter,pemotongan dan
sebagainya. 3.
Trackable : Tidak menghambat proses penduplikasian tetapi penyebaran
data digital tersebut tetap dapat dikendalikan dan diketahui. Solusi yang umum yang digunakan untuk mengatasi masalah ini adalah dengan enkripsi.
Dengan menggunakan enkripsi, informasi akan diolah sedemikian rupa sehingga kita bisa menentukan siapa saja yang dapat menyusun kembali
informasi tersebut, namun tentunya harus menggunakan kode khusus. Kode tersebut dikenal dengan nama key.
Sebenarnya enkripsi tidak dapat menyelesaikan masalah pelanggaran hak cipta secara penuh. Enkripsi sangat berguna terutama dalam pendistribusiannya.
Sehingga tak sembarang pihak dapat memperoleh suatu informasi tersebut. Namun setelah informasi tersebut dideskripsi tak ada lagi perlindungan yang
diberikan. Oleh karena itu, digunakan alternatif solusi lain dengan menggunakan watermarking. Teknik Watermarking tampaknya memiliki ketiga sifat sifat diatas,
karena faktor-faktor invisibility dan robustness dapat diatur, dan data terwatermark dapat diduplikasi seperti layaknya data digital. Watermarking digital
merupakan penanaman suatu watermark digital ke data utama atau carrierhost. Digital watermark merupakan sinyal digital yang disisipkan ke dalam data seperti
teks, citra, video atau suara untuk berbagai keperluan. Sinyal tersebut disisipkan sedemikian rupa sehingga keberadaannya tidak teramati oleh indera penglihatan
atau pendengaran manusia. Tidak teramati karena pada dasarnya indera manusia sangat sulit membedakan antara data yang telah disisipi watermark dan data yang
belum. Walaupun demikian komputer dapat mendeteksi keberadaan watermark dengan mudah, tentunya dengan algoritma tertentu. Sinyal watermark tersebut
biasanya mempresentasikan informasi tertentu misalnya label pengenal, sehingga dengan watermark ini kepemilikan sebuah informasi dapat ditentukan dengan
jelas. Watermarking dapat diterapkan dalam berbagai domain,baik itu dalam
domain spasial maupun dalam domain frekuensi.Penerapan watermarking pada data digital seperti teks, citra, video dan audio, dapat dilakukan secara langsung
pada domain jenis data digital tersebut atau terlebih dahulu dilakukan transformasi ke dalam domain yang lain.Berbagai transformasi yang dikenal dalam pemrosesan
sinyal digital seperti:FFT Fast Fourier Transform, DCT Discrete Cosine Transform, Wavelet Transform, dan sebagainya.
II.3.1 Faktor-faktor penyebab dibutuhkan watermarking
Ada beberapa persyaratan yang harus dipenuhi dalam teknik watermarking untuk menjamin proteksi terhadap bukti kepemilikan dan autentifikasi.. Syarat-
syarat tersebut diantaranya adalah watermark harus sulit untuk dideteksi dan dihilangkan dan tidak merusak kualitas media yang disisipinya dan memiliki
ketahanan terhadap modifikasi yang dilakukan pada media yang disisipinya. Dengan kata lain, watermarking citra yang handal harus memiliki sifat robust
tinggi dan hidden tinggi. Watermarking citra digital adalah proses penyisipan suatu watermark digital ke dalam media citra digital. Secara visual, watermarking
dibedakan menjadi dua macam, yaitu robust watermarking dan hidden watermarking. Pada robust watermarking, watermark digital tampak pada citra
asli sedangkan pada hidden watermarking, watermark digital tidak tampak pada citra asli.
Beberapa aplikasi watermarking sering digunakan adalah untuk hal-hal Sebagai berikut :
a. Owner identification tanda pengenalan kepemilikan
Pada aplikasi ini pemilik data dapat menanamkan informasi hak cipta pada data host, sehingga usaha untuk menghilangkan informasi hak cipta akan
berdampak menurunnya kualitas data host.
b. Proof of ownership Bukti kepemilikan
Selain digunakan sebagai tanda pengenalan pemilikan, watermarking juga dapat digunakan sebagai bukti kepemilikan. Pembuktian ini diperlukan bilamana
terjadi perselisihan hak kepemilikan atas data digital. c.
Authentication Keaslian Watermarking dapat juga digunakan sebagai teknik untuk membuktikan
keaslian suatu data digital. Hal ini disebabkan, watermark akan selalu melekat pada data host. Sehingga jika data host mengalami perubahan baik di crooping
atau diubah ke dalam format lainnya maka watermarknya akan selalu bersama dengan data host.
d. Fingerprinting
Fingerprinting digunakan untuk menelusuri penggandaan ilegal terhadap data host. Pemilik data host dapat menanamkan watermark berbeda ke data host
yang akan didistribusikan ke pelanggan yang berbeda. Dengan cara ini maka penggandaan ke pihak ketiga akan dapat dideteksi, karena adanya watermark yang
berbeda untuk pelanggan yang berbeda. e.
Medical safety Pada aplikasi ini, watermark yang berupa data pasien nama, tanggal dapat
ditanamkan ke data host medical image sehingga dapat meminimalisir adanya kesalahan data.
f. Broadcast Monitoring
Pada aplikasi ini watermark ditanamkan ke dalam tiap video maupun suara sebelum ditayangkan oleh stasiun televisi atau radio. Untuk itu diperlukan stasiun
pengamat otomatis yang akan menerima tayangan tersebut sehingga akan dapat
mengekstrak informasi watermark yang dibawa dan sekaligus mencatat informasi tayangan yang muncul.
II.4 Perbedaan Antara Format File dan Kompresi
Citra digital adalah sebuah file yang tersimpan sebagai nilai numerik dalam media magnetic atau media optikal [4]. Ditinjau dari bentuknya yang merupakan
sebuah file, citra digital memiliki berbagai jenis format, antara lain JPEG, GIF, PNG, BMP, dsb. Format-format file untuk citra digital ini memiliki keunggulan,
kelemahan, dan tingkat komersialitasnya masing- masing. Format file merupakan rangkaian data yang teratur dan digunakan untuk mengkodekan informasi dalam
penyimpanan atau pertukaran data [4]. Format file dapat digambarkan sebagai sebuah bahasa tulis yang memiliki aturan-aturan sendiri dalam penulisannya. Jika
digambarkan, setiap format file citra memiliki cara pembentukan struktur yang berbeda dimana setiap struktur ini memiliki header dan body. Umumnya header
diikuti dengan body yang mengandung sebagian besar data. Kompresi merupakan cara pengkodean data file agar lebih ringkas dan efisien. Seperti yang diketahui,
kompresi terhadap sebuah file memerlukan algoritma juga. Algoritma ini berguna dalam mendefinisikan langkah –langkah yang diperlukan untuk mengurangi
ukuran file, yang dalam hal ini merupakan tujuan dari kompresi. Kesalahan yang sering muncul adalah pembedaan antara format file dengan kompresi.
Contoh yang paling sering muncul adalah pembedaan antara kompresi JPEG dengan JFIF JPEG File Interchange Fomat . JFIF yang diberi ekstensi file .jpg
sering disebut file dengan format JPEG, bukan file yang dikompresi menggunakan jenis kompresi JPEG.
II.5 Singular Value Decomposition
Metode Singular Value Decomposition SVD adalah salah satu teknik dalam analisis numerik yang digunakan untuk “mendiagonalkan” matriks. Dalam
sudut pandang pengolahan citra, singular value dari suatu citra memiliki stabilitas yang baik, dimana ketika ada sedikit gangguan diberikan pada citra tersebut,
singular value tidak berubah secara signifikan. Keuntungan lain adalah ukuran matriks dari transformasi metode SVD tidak tetap dan dapat berupa persegi atau
lingkaran. Kemudian singular value mengandung informasi properti persamaan linear citra gambar.
Misalkan A adalah sebuah matriks tidak nol berukuran m x n, maka a dapat direpresentasikan sebagai sebuah perkalian berikut:
2
U pada persamaan diatas adalah matriks orthogonal berukuran m x m, V adalah matriks orthogonal berukuran m x n dan S adalah matriks diagonal tidak bujur
sangkar berukuran n x m. Dapat dilihat pada persamaan berikut:
3
Dekomposisi diatas disebut sebagai singular value decomposition. nilai dari S disebut sebagai nilai-nilai singular dari A, kolom-kolom dari U yang
merupakan vektor ortonormal disebut sebagai vektor-vektor singular kiri dari A dan kolom-kolom dari V disebut sebagai vektor singular kanan dari A. Jika A
adalah sebuah citra maka S mempunyai nilai-nlai luminance dari lapisan-lapisan citra yang dihasilkan oleh vektor-vektor singular kiri dan kanan. Vektor-vektor
singular kanan merepresentasikan detail-detail horisontal, sedangkan vektor- vektor singular kiri merepresentasikan detail-detail vertikal dari citra. Pengubahan
sedikit pada nilai-nilai singular tidak mempengaruhi kualitas citra. Pada penelitian ini, penyisipan Watermark dilakukan pada ranah spasial.
Secara umum Watermarking dibagi menjadi dua bagian, yaitu proses penyisipan dan proses ekstraksi atau deteksi. Langkah-langkah yang dilakukan adalah sebagai
berikut:
A. Tahap Penyisipan Pada tahap penyisipan, langkah yang dilakukan adalah sebagai berikut:
1. Memilih citra gambar digital yang akan digunakan sebagai citra pembawa watermark. Citra yang dipilih adalah citra grayscale dengan
dimensi dua. 2. Memilih citra yang akan dijadikan watermark. Citra watermark dipilih
citra biner dengan ukuran yang lebih kecil dari citra pembawa. 3. Menentukan algoritma yang digunakan untuk penyisipan.
4. Membuat matriks penampung citra dan melakukan penyesuaian untuk citra watermark karena besarnya tidak sama dengan citra pembawa.
Tahap penyisipan diatas dapat dilihat pada gambar 2.15 sebagai berikut:
Gambar 2.3 Alur Tahap Penyisipan Pada Metode SVD
Algoritma yang digunakan dalam penelitian ini adalah algoritma yang di usulkan oleh Ruizhen Liu dan Tieniu Tan. Yaitu dengan menjumlahkan secara
langsung antara citra watermark pada intensitas tertentu dengan matriks diagonal hasil dekomposisi SVD dari citra pembawa. Penyesuaian harus dilakukan jika
ukuran watermark tidak sama dengan ukuran matriks S. hal ini dapat dilakukan dengan meletakkan watermark pada suatu matriks nol berukuran sama dengan S
pada posisi tertentu. Algoritma yang diusulkan bertipe non-blind, artinya hasil proses
penyisipan tidak hanya berupa citra yang mengandung watermark, tetapi juga ada informasi tambahan yang didapat dari hasil perhitungan SVD pada citra pembawa
dan citra watermark. Informasi tambahan tersebut tidak disebarluaskan bersama citra yang sudah disisipi watermark, tapi untuk disimpan sendiri guna kepentingan
ekstraksi selanjutnya. Algoritma penyisipan Liu tersebut terlihat seperti pada pseudo code berikut ini:
B. Tahap Ekstraksi Pada tahap ekstraksi, langkah yang dilakukan adalah sebagai berikut:
1. Memilih citra yang sudah disisipi watermark. 2. Menyediakan parameter-parameter yang dibutuhkan dalam ekstraksi
yaitu: citra asli, citra watermark, matriks S, V dan U serta intensitasnya. Parameter-parameter tersebut dihasilkan dalam proses penyisipan
sebelumnya. 3. Melakukan ekstraksi.
4. Mengembalikan citra watermark yang ukurannya disesuaikan dengan citra pembawa.
5. Tahap ekstraksi diatas dapat dilihat pada gambar 2.16 sebagai berikut:
Gambar 2.4Alur Tahap Ekstraksi Pada Metode SVD
Algoritma ekstraksi Liu terlihat seperti pada pseudo code berikut ini:
20
BAB III ANALISIS DAN PERANCANGAN SISTEM
III.1 Analisis Sistem
Analisis sistem merupakan tahap yang bertujuan untuk memahami sistem, mengetahui keunggulan dan kelemahan dari sistem di tinjau dari sisi pengguna.
Dengan menganalisis prosedur sistem yang sering digunakan, maka sistem yang sering dipakai dapat dievaluasi sehingga dapat dijadikan sebagai acuan untuk
membangun suatu sistem yang baru dari hasil evaluasi tersebut. Dalam penelitian ini yang akan dianalisis adalah tahapan membangun
aplikasi pengamanan hak cipta untuk data gambar digital digital image dan bahasan mengenai teknik watermarking yang akan digunakan yaitu metode SVD
Singular Value Decomposition Sistem yang akan dibangun adalah sistem yang implementasikan
menggunakan teknik watermarking metode SVD untuk pengamanan hak cipta untuk data gambar digital, sehingga dari sistem tersebut harus dibangun sesuai
dengan kebutuhan-kebutuhan sebagai berikut : 1. Membangun aplikasi yang dapat melakukan pengamanan hak cipta untuk
data gambar digital. 2. Mengimplementasikan teknik watermarking dengan menggunakan
metode SVD sesuai tahapan-tahapan didalamnya. 3. Melakukan pengujian aplikasi untuk diukur performansi kerjanya dalam
pengamanan hak cipta untuk data gambar digital.
21
III.1.1 Analisis Masalah
Langkah selanjutnya adalah identifikasi masalah dari hasil analisis terhadap sistem. Maka dapat diidentifikasi masalah, yaitu sebagai berikut :
1. Aplikasi yang akan dibangun harus dapat digunakan untuk pengamanan hak cipta untuk gambar data digital.
2. Teknik watermarking dengan metode SVD harus dapat digunakan untuk pengamanan hak cipta untuk gambar data digital.
III.1.2 Analisis Kebutuhan Non-Fungsional
Analisis dan kebutuhan non-fungsional meliputi analisis dan kebutuhan pengguna, analisis dan kebutuhan perangkat keras, serta analisis dan kebutuhan
perangkat lunak.
III.1.2.1 Analisis Kebutuhan Pengguna user
Pengguna diartikan sebagai orang yang mengakses dan menggunakan perangkat lunak aplikasi Watermarking metode SVD, dalam hal ini dibutuhkan
pengguna yang memiliki kemampuan tingkat average user dimana user dapat mengoperasikan komputer dan memiliki kapabilitas dalam menggunakan aplikasi
komputer serta pengguna yang membutuhkan aplikasi watermarking untuk melindungi hak cipta gambar digital.
III.1.2.2 Analisis Kebutuhan Perangkat Keras
Perangkat keras adalah seluruh komponen atau unsur peralatan yang digunakan untuk menunjang pembangunan suatu aplikasi, dalam kasus ini adalah
aplikasi watermarking
menggunakan metode
SVD Singular
Value
22
Decomposition dan metode DWT Discreete Wavelet Transform, untuk kebutuhan minimum perangkat keras dapat dilihat dalam tabel 3.1
Tabel 3.1 Tabel spesifikasi perangkat keras
Processor M emory RAM
Hard-disk M onitor Resolution
Int el Pent ium 4 Kapasit as
memory mulai dari 512 M B
sampai 1 GByt e Kapasit as hard-
disk mulai dari 40 GByt e
Pada umumnya menggunakan monit or
dengan resolusi 1024 x 768 32 bit 60 Hz
III.1.2.2 Analisis Kebutuhan Perangkat Lunak
Analisis kebutuhan perangkat lunak yang di perlukan adalah sebagai berikut :
1. Sistem operasi yang digunakan adalah Windows Xp Service Pack 3. 2. Perangkat lunak yang digunakan untuk membangun aplikasi ini adalah
Microsoft Visual Studio 2008 C.
III.1.3 Analisis Kebutuhan Fungsional
Actor Identification
Tahap pertama yang dilakukan dalam melakukan analisis berorientasi objek menggunakan UML adalah menentukan actor atau pengguna sistem. Kata
aktor dalam konteks UML, menampilkan peran roles yang pengguna atau sesuatu di luar sistem yang dikembangkan yang dapat berupa perangkat keras, end
user, sistem yang lain, dan sebagainya.
23
III.1.4 Analisis Metodologi SVD
Analisis ini dilakukan di setiap tahapan penelitian membangun aplikasi dengan ruang lingkup, sebagai berikut :
a. Tahap implementasi pada data gambar digital. b. Teknik watermarking
c. Metode SVD Singular Value Decomposition Ketiga ruang lingkup metodologi di atas dapat digambarkan seperti pada gambar
3.1
Gambar 3.1 Alur Proses Watermarking Pada Data Gambar Digital Menggunakan Metode SVD
24
III.1.5 Analisis Kode Warna Gambar
Dalam sebuah gambar digital kita sering melihat kode warna yang terdiri dari tanda ‘’ dan 6 angkahuruf dibelakang tanfa tersebut, kode warna tersebut
dapat diterjemahkan menjadi kode warna RGB Red, green, Blue. Misalkan kita mempunyai kode warna “0088FF”, kita akan mencari
beberapa porsi untuk warna merah red, hijau Green, dan biru blue. Dengan begini kita bisa memperkirakan warna apa yang terbentuk untuk kode tersebut.
Pertama tanda “” menunjukkan kalau itu adalah kode warna jadi tidak perlu terlalu diperhatikan, untuk 6 karakter disamping kanan tanda “” digunakan
bilangang berbasis 16 yang terdiri dari angka 0-9 dan A-F : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F semakin kekanan nilainya semakin besardan setelah F ada
angka 10 bukan berarti bernilai “Sepuluh” tetapi 1 angka lebih besar dari F 11, 12, ..., 1E, 1F, 20, 21, ..., 2E, 2F, ..., A0, A1, ..., AE, AF, ..., F9, FA, FB, FC, FD,
FE, dan terakhir FF. Yang kita dapatkan dari penjelasan diatas adalah bahwa “00” adalah angka
terkecil sedangkan “FF” adalah yang terbesar. Lihat kembali kode warna”0088FF” lihat 2 angka setelah tanda “” : “00” manunjukkan porsi untuk
warna merah red, 2 angka berikutnya “88” menunjukkan porsi untuk warna hijaugreen, dan dua huruf terakhir “FF” menunjukkan persi untuk warna biru
blue. Dari sini kita lihat bahwa porsi untuk warna merah tidak ada, untuk warna
hijau sebagian dan warna biru mendapatkan posri paling banyak, jadi kita bisa memperkirakan bahwa kode “0088FF” berwarna agak kebiru-biruan.
25
Kadang ada juga yang cuma menuliskan kode warna 3 angkahuruf. Tapi ini cuma untuk menyingkat penulisan jika terdapat banyak angkahuruf yang
sama. Contoh: 0088FF bisa disingkat jadi 08F
III.1.6 Analisis Perubahan Gambar Kedalam Matrik
Matriks adalah suatu kumpulan besaran variabel dan konstanta yang
dapat dirujuk melalui indeknya, yang menyatakan posisinya dalam representasi umum yang digunakan, yaitu sebuah tabel persegipanjang. Matriks merupakan
suatu cara visualisasi variabel yang merupakan kumpulan dari angka-angka atau variabel lain, misalnya vektor. Dengan representasi matriks, perhitungan dapat
dilakukan dengan lebih terstruktur. Pemanfaatannya misalnya dalam menjelaskan persamaan linier, transformasi koordinat, dan lainnya. Matriks seperti halnya
variabel biasa dapat dimanipulasi, seperti dikalikan, dijumlah, dikurangkan dan didekomposisikan.
Gambar yang penulis akan coba ubah adalah gambar di bawah ini :
Gambar 3.2 gambar yang akan diubah ke dalam matrik
Image di atas berukuran 107 x 105 pixel yang berarti image di atas terdiri dari 107 kolom dan 105 baris pixel. Total keseluruhan adalah 11235 pixel, dimana
tiap pixel adalah perpaduan dari 3 warna yaitu merah Red, hijau Green dan biru Blue atau yang biasa dikenal dengan RGB.
26
Untuk mempermudah merubah gambar menjadi matriks disini saya akan menggunakan aplikasi matlab untuk menerapkannya :
c=imread‘lock.png’,png’; asci=uint8c
baris pertama berfungsi untuk menampilkan gambar yang sudah disimpan pada folder work dalam matlab :
C:\Program Files\MATLAB71\work
sedangkan pada baris kedua berfungsi untuk merubah gambar menjadi matriks dimana fungsi uint8 digunakan untuk mengubah string menjadi bilangan
integer.
Gambar 3.3 Pengetikan kode didalam MATLAB
Hasilnya : asci: , : , 1 Menandakan bahwa matriks yang ditampilkan adalah
komposisi matriks dari warna pertama yaitu merah Red, Gambar 3.4
27
Gambar 3.4 Matriks Gambar untuk warna merah
asci: , : , 2 Menandakan bahwa matriks yang ditampilkan adalah komposisi matriks dari warna kedua yaitu hijau Green, Gambar 3.5.
Gambar 3.5 Matriks Gambar untuk warna hijau
asci: , : , 3 Menandakan bahwa matriks yang ditampilkan adalah komposisi matriks dari warna ketiga yaitu biru Blue, gambar 3.6.
28
Gambar 3.6 Matriks Gambar untuk warna biru
III.1.7 Metode SVD
Singular Value Decomposition SVD merupakan operator kompak T pada Hilbert Space yang didefinisikan sebagai eigenvalue dan operator akar pangkat
dari TT T merupakan adjoint dari T dan akar diambil dari operator sense Singular value merupakan bilangan nonnegative dan dinyatakan dengan
urutan menurun, sebuah matrik dapat dikomposisi dalam bentuk USV, dengan U dan V merupakan matrik ortogonal dan S merupakan matrik diagonal, dengan
singular value pada matrik diagonal nya maka hal ini disebut dengan singular value decomposition.
A =U S V
NXP NXN
NXP PXP
29
Sebagai contoh, misalkan sebuah matrik
Maka
Dicari eigenvaluenya
Dari |W- αI didapatkan 4 buah eigenvalue
α
=0,
α
=0
α
=15+ akar pangkat dari 221.5~29.883
α
=15- akar pangkat dari 221.5~0.117 kemudian didapat persamaan berikut dengan menstubtitusikan eigenvalue pertama
19.883x1 + 14x2 = 0 14x1 + 9.883x2 = 0
x3=0 x4=0
A.A
T
=
2 4
1 3
2 1
4 3
= 20
14 14
10 0 0
30
Solusi yang memenuhi persamaan diatas x1= -0.58, x2=0.82, x3 dan x4 = 0 solusi ini menjadi kolom kedua matriks U
Dari eigenvalue yang didapatkan -9.883x1 + 14x2 = 0
14x1 + 19.883x2 = 0 x3 = 0
x4 = 0 solusi yang memenuhi persamaan tersebut x1=0.82, x2= -0.58 dan x3=x4=0 solusi
ini menjadi kolom pertama matriks U
Demikian pula A
T
.A akan mengisi kolom dari matriks V maka dilakukan analisis serupa
A.A
T
=
2 1
4 3
2 4
1 3
Didapatkanlah
31
Akhirnya S merupakan akar kuadrat dari A
T
.A dan didapatkan
Matrik S ini merupakan singular value dari matriks A
III.1.8 Analisis Gambar Digital
Sebuah gambar didefinisikan sebagai fungsi dua dimensi, fx,y dimana x dan y adalah koordinat spasial. Amplitudo fungsi pada setiap pasangan titik x,y
merupakan intensitas atau kecemerlangan gambar pada titik tersebut Gonzales, 2004. Gray level digunakan untuk menyebut intensitas dari gambar monokrom
atau satu warna. Gambar berwarna dibentuk oleh kombinasi dari beberapa gambar monokrom, misalnya RGB dibentuk oleh kombinasi tiga warna yaitu, merah,
hijau dan biru. Karena itu banyak teknik pemrosesan gambar monokrom dapat digunakan untuk gambar berwarna dengan memproses tiga komponen gambar
tersebut secara terpisah.
Sebuah gambar yang direkam oleh kamera merupakan gambar analog. Untuk dapat diolah oleh komputer, gambar analog tersebut harus dikonversi ke
bentuk gambar digital. Proses konversi nilai koordinat x, y disebut sampling, dan proses konversi nilai amplitudo f disebut quantisasi. Ketika x, y dan
amplitude f semuanya bernilai diskrit, maka gambar tersebut dapat dikatakan
sebagai gambar digital.
32
Gambar digital dapat di kodekan dalam bentuk matriks dimana indeks baris dan kolomnya menyatakan suatu titik pada gambar tersebut dan elemen
matriksnya yang disebut sebagai piksel menyatakan tingkat keabuan pada titik tersebut. Pada gambar berikut ini ditampilkan contoh koordinat suatu piksel dari
gambar digital dengan x merepresentasikan baris dan y merepresentasikan kolom.
Gambar 3.7 Representasi Baris dan Kolom Pada Data Gambar Digital
Data gambar digital yang akan digunakan dalam penelitian ini adalah gambar digital sesuai pendeskripsian di atas,
III.2 Use Case Diagram
Use case diagram digunakan untuk menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Sebuah use case merepresentasikan sebuah
interaksi antara aktor dengan sistem. Use case diagram pada Gambar 3.8 yang menggambarkan bagaimana proses yang terjadi pada aplikasi watermarking
transfer data.
33
III.2.1 Use Case Diagram Watermarkingdan Ekstraksi
Use case diagram proses watermarking dan Ekstraksi dapat dilihat pada gambar 3.8
Gambar 3.8 Use case diagram proses watermarking dan Ekstraksi citra III.2.2
Skenario Use Case Watermarking dan Ekstraksi
Skenario setiap bagian pada use case menunjukkan proses apa yang terjadi pada setiap bagian didalam use case tersebut, dimana user memberikan perintah
pada setiap bagian dan respon apa yang diberikan oleh sistem kepada user setelah user memberikan perintah pada setiap bagian – bagian use case.
34
III.2.2.1 Menentukan File Citra Original
Skenario proses menentukan file citra original dapat dilihat pada tabel 3.2 Tabel 3.2 Tabel skenario proses menentukan file citra original
Identifikasi Nomor
1
Nama Menentukan File Citra Original
Tujuan Melakukan proses watermarking
Deskripsi
Pada saat aplikasi watermarking dibuka user dapat melakukan pemilihan file input file
Aktor User
Skenario Utama Kondisi awal
Aplikasi watermarking dalam keadaan terbuka
Aksi Aktor Reaksi Sistem
1. Memasukkan file yang akan di watermarking
2. Memberikan informasi status file yang akan di watermarking
3. Menekan tombol Run 4. Memberikan informasi status
watermarking pada user.
Skenario Alternatif – Autentikasi Gagal Aksi Aktor
Reaksi Sistem
1. Memasukkan file yang akan di watermarking, jika citra dasar lebih
kecil dari citra watermark 2. Memberikan informasi bahwa
watermarking gagal.
Kondisi akhir 1.
File yang watermarking akan berhasil jika citra dasar lebih besar ukurannya dari citra watermark
2. File yang watermarking akan gagal jika citra dasar lebih kecil ukurannya dari citra watermark
III.2.2.2
Menentukan File Citra watermark
Skenario proses menentukan file citra original dapat dilihat pada tabel 3.3 Tabel 3.3 Tabel skenarioproses menentukan file citra watermark
Identifikasi Nomor
2
Nama Menentukan file Citra watermark
Tujuan
User menentukan file yang akan di watermarking
Deskripsi Sistem menerima file yang dipilih user dan melakukan
35
watermarking
Aktor User
Skenario Utama Kondisi awal
Aplikasi watermarking dalam keadaan baru dibuka
Aksi Aktor Reaksi Sistem
1. Memilih dan menginputkan file yang akan di watermarking
2. Memberikan informasi status file yang akan di watermarking
Skenario Alternatif – Autentikasi Gagal Aksi Aktor
Reaksi Sistem
1. Memasukkan file yang akan di
watermarking, jika citra dasar lebih kecil dari citra watermark
2. Memberikan informasi bahwa watermarking gagal.
Kondisi akhir 1. File yang watermarking akan berhasil jika citra dasar lebih
besar ukurannya dari citra watermark 2.
File yang watermarking akan gagal jika citra dasar lebih kecil ukurannya dari citra watermark
III.2.2.3 Watermarking SVD method
Skenario proses watermarking SVD method dapat dilihat pada tabel 3.5 Tabel 3.5 Tabel skenario proses watermarking SVD method
Identifikasi Nomor
4
Nama Watermarking SVD method
Tujuan Melakukan proses watermarking dengan metode SVD
Deskripsi
Sistem telah menerima file yang dipilih user
Aktor User
Skenario Utama Kondisi awal
Aplikasi watermarking dalam keadaan dibuka Terdapat file yang akan di watermarking
Aksi Aktor Reaksi Sistem
1. Menekan Tombol Run 2. Mengkomposisi 2 buah file citra
menjadi matrix U, S, V
Skenario Alternatif – Autentikasi Gagal Aksi Aktor
Reaksi Sistem
- -
Kondisi akhir
1. 2 file citra yang akan di watermark sudah di komposisi kedalam matrik
36
III.2.2.4 Save file
Skenario proses Save File dapat dilihat pada tabel 3.6 Tabel 3.6 Tabel skenario proses Save file
Identifikasi Nomor
5
Nama save file
Tujuan menyimpan file yang telah di watermark
Deskripsi
Sistem akan Menyimpan file yang telah di watermark
Aktor User
Skenario Utama Kondisi awal
Aksi Aktor Reaksi Sistem
1. Menekan Tonbol Save 2. Sistem menyimpan file yang telah di
watermark di tempat yang telah ditentukan
Skenario Alternatif – Autentikasi Gagal Aksi Aktor
Reaksi Sistem
- -
Kondisi akhir
1. File citra asli dan file citra watermark telah melalui proses watermarking
III.2.2.5 Menentukan File Key
Skenario proses menentukan file Key dapat dilihat pada tabel 3.7 Tabel 3.7 Tabel skenario proses menentukan File Key
Identifikasi Nomor
6
Nama
Menentukan file Key
Tujuan Melakukan proses Ekstraksi
Deskripsi Pada saat aplikasi watermarking dibuka user dapat melakukan
pemilihan File Key, dan File Citra hasil watermarking
Aktor
User
Skenario Utama Kondisi awal
Aplikasi watermarking dalam keadaan terbuka
Aksi Aktor Reaksi Sistem
1. Menentukan metode untuk proses ekstraksi
2. Memberikan informasi status file yang akan di Ekstraksi
37
3. Menekan tombol Run 4. Memberikan informasi status
Ekstraksi pada user.
Skenario Alternatif – Autentikasi Gagal Aksi Aktor
Reaksi Sistem
- -
Kondisi akhir
1. File kunci telah dipilih
III.2.2.6 Menentukan File Citra Hasil Watermarking
Skenario proses menentukan file citra original dapat dilihat pada tabel 3.8 Tabel 3.8 Tabel skenario proses menentukan file citra original
Identifikasi Nomor
7
Nama Menentukan File Citra Hasil Watermarking
Tujuan Melakukan proses Ekstraksi
Deskripsi
Pada saat aplikasi watermarking dibuka user dapat melakukan pemilihan file input file
Aktor User
Skenario Utama Kondisi awal
Aplikasi watermarking dalam keadaan terbuka
Aksi Aktor Reaksi Sistem
1. Memasukkan file yang akan di Ekstraksi
2. Memberikan informasi status file yang akan di Ekstraksi
3. Menekan tombol Run 4. Memberikan informasi status
Ekstraksi pada user.
Skenario Alternatif – Autentikasi Gagal Aksi Aktor
Reaksi Sistem
- -
Kondisi akhir 1. Citra hasil watermarking sudah di input III.2.2.7
Ekstraksi
Skenario proses Ekstraksi Citra Watermark dapat dilihat pada tabel 3.9 Tabel 3.9 Tabel skenario proses Ekstraksi Citra watermark
Identifikasi Nomor
8
Nama Ekstraksi
38
Tujuan Melakukan proses Ekstraksi
Deskripsi Pada saat aplikasi watermarking dibuka user dapat melakukan
pemilihan file input file yang telah di watermarking
Aktor User
Skenario Utama Kondisi awal
Server Aktif
Aksi Aktor Reaksi Sistem
1. Memasukkan file yang akan di Ekstraksi
2. Memberikan informasi status file yang akan di Ekstraksi
3. Menekan Tombol Run 4. Memberikan informasi status
Ekstraksi pada user.
Skenario Alternatif – Autentikasi Gagal Aksi Aktor
Reaksi Sistem
- -
Kondisi akhir 1. File Citra asli dan File Citra watermark telah berhasil
dipisahkan
III.3 Activity Diagram
Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin
terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.
Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state
sebelumnya internal processing. Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem dan interaksi antar subsistem
secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum. Sebuah aktivitas dapat direalisasikan oleh satu use
case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan
39
aktivitas. Gambar 3.9 dan gambar 3.10 menunjukan activity diagram yang dilakukan aplikasi.
III.2.3 Aktivity Diagram Watermarking
Activity diagram proses watermarking dapat dilihat pada gambar 3.9
Gambar 3.9 Activity diagram proses watermarking
40
III.2.2 Activity Diagram Ekstraksi
Activity diagram proses Ekstraksi dapat dilihat pada gambar 3.10
Gambar 3.10 Activity diagram proses Ekstraksi
41
III.4 Sequence Diagram
Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem termasuk pengguna, display, dan sebagainya berupa message yang
digambarkan terhadap waktu. Sequence diagram terdiri atar dimensi vertikal waktu dan dimensi horizontal objek-objek yang terkait.
Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event
untuk menghasilkan output tertentu. Diawali dariapa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa
yang dihasilkan. Sequence Diagram yang digambarkan dalam perancangan sistem dapat
dilihat pada gambar 3.11 dan gambar 3.12.
III.4.1 Sequence Diagram Watermarking
Sequence diagram proses watermarking secara umum dapat dilihat pada gambar 3.11
42
Save User
Original Image
ChooseWatermarkImage ChooseOriginalImage
SelectRBSVDmethod ButtonRunClick
ReturnPerformwatermarkSVD Watermark Image
SVD
SaveImage SaveKey
Gambar 3.11 Sequence diagram proses watermarking
III.4.2 Sequence Diagram Ekstraksi
Sequence diagram proses Ekstraksi secara umun dapat dilihat pada gambar 3.12
43
User Watermark Image
Choose Key
ChooseImagewatermark
ChooseFileKey Extract
ButtonRunClick
ReturnPerformekstraksi
Gambar 3.12 Sequence diagram proses Ekstraksi
III.5 Class Diagram
Class Diagram menggambarkan keadaan suatu sistem atribut, dan memberikan pelayanan untuk menyelesaikan keadaan tersebut metoda. Class
diagram dapat dilihat pada gambar 3.13.
44
III.5.1 Class Diagram Watermarking dan Ekstraksi
Class Diagram Proses Watermarking dan Proses Ekstraksi dapat dilihat pada gambar 3.13
Gambar 3.13 Perancangan Class
45
III.6 Perancangan Sistem
Perancangan sistem adalah suatu proses yang menggambarkan bagaimana suatu sistem dibangun untuk memenuhi kebutuhan pada fase analisis. Adapun
tahapan yang dilakukan dalam perancangan sistem ini membahas mengenai tujuan perancangan sistem, dan perancangan antar muka.
III.6.1 Tujuan Perancangan Sistem
Perancangan sistem merupakan tindak lanjut dari tahap analisa. Perancangan sistem bertujuan untuk memberikan gambaran sistem yang akan
dibuat. Dengan kata lain perancanagn sistem didefinisikan sebagai penggambaran atau pembuatan sketsa dari beberapa elemen yang terpisah kedalam satu kesatuan
yang utuh dan berfungsi. Selain itu juga perancangan bertujuan untuk lebih mengarahkan sistem yang terinci, yaitu pembuatan perancangan yang jelas dan
lengkap yang nantinya akan digunakan untuk pembuatan simulasi. Aplikasi watermarking ini dibuat dengan sederhana, sehingga diharapkan user dapat
dengan mudah menggunakan aplikasi watermarking ini.
III.6.2 Perancangan Antar Muka
Perancangan antarmuka dibutuhkan untuk mewakili keadaan sebenarnya dari aplikasi yang akan dibangun, berikut akan disajikan perancangan antarmuka
dari aplikasi yang akan dibangun:
III.6.3 Menu Watermarking
Antar muka menu watermarking digunakan untuk melakukan proses watermarking file. Gambar 3.14 menampilkan rancangan menu watermarking.
46
Gambar 3.14 Rancangan antar muka menu Watermarking
Keterangan tentang tombol-tombol yang digunakan dalam aplikasi watermarking dapat dilihat pada Tabel 3.8
Tabel 3.8. Keterangan tampilan menu watermarking
No Objek
Jenis Objek Fungsi Objek
1 W at ermarking
Ekst raksi Unt uk masuk kehalaman
w at ermarking dew at ermarking
2 About
Unt uk menampilkan halaman t ent ang soft w are dan pembuat
3 Select original image
Unt uk memilih gambar sebagai carrier image
4 Select w at ermark image
Unt uk memilih gambar at au file yang kan disisipkan
5 Procedure
Unt uk memilih proses yang akan dilakukan
w at ermarking dew at ermarking
6 St at us bar
Unt uk mencant umkan informmasi proses yang t elah
dilakuakan
7. Run
Unt uk melakukan proses w at ermarking
file
47
8 Save
Unt uk M enyimpan File yang sudah diw at ermarking
III.6.4 Menu Ekstraksi
Antar muka menu ekstraksi digunakan untuk melakukan proses ekstraksi file. Gambar 3.15 menampilkan rancangan menu Ekstraksi .
I nformation
Image wat ermar king DWT SVD by Putr a Image w at er marking DWT SVD by Put ra
Ekstraksi Jalan
Procedure : Watermarking
Ekstraksi Watermarking Citra
Pilih Citra Hasil watermarking
About Watermarking Ekstraksi
Metode DWT
SVD
Gambar 3.15 Rancangan antar muka menu Ekstraksi
Keterangan tentang tombol-tombol yang digunakan dalam aplikasi Ekstraksi dapat dilihat pada Tabel 3.9
Tabel 3.9. Keterangan tampilan menu Ekstraksi
No Objek
Jenis Objek Fungsi Objek
1 W at ermarking
Ekst raksi Unt uk masuk kehalaman w at ermarking
dew at ermarking 2
About Unt uk menampilkan halaman t ent ang
soft w are dan pembuat
3 Select w at ermarking
image Unt uk memilih gambar hasil proses
w at ermarking 5
Procedure Unt uk memilih proses yang akan
dilakukan w at ermarking Ekst raksi
48
6 St at us bar
Unt uk mencant umkan informmasi proses yang t elah dilakuakan
7. Run
Unt uk melakukan proses Ekst raksi file
III.6.5 Menu About
Antar muka menu about digunakan untuk menampilkan informasi mengenai software dan juga pembangun software. Gambar 3.16 menampilkan
rancangan menu about.
Gambar 3.16 Rancangan antar muka menu About III.6.6
Pesan Kesalahan
Antar muka Pesan Kesalahan digunakan untuk menampilkan peringatan bahwa telah terjadi sebuah kesalahan dalam penggunaan program.Gambar 3.16
dan gambar 3.17 menampilkan Rancangan Pesan Kesalahan.
Gambar 3.16 Rancangan antar muka Pesan Kesalahan 1
49
Gambar 3.17 Rancangan antar muka Pesan Kesalahan 2
50
BAB IV IMPLEMENTASI DAN PENGUJIAN