Analisis dan Implementasi Anti Watermarking untuk Memperbaiki Kualitas Citra Digital Dengan Menggunakan Metode Image Averaging

(1)

LISTING PROGRAM 1. Form Home

using System;

using System.Collections.Generic;

using System.Drawing;

using System.Windows.Forms;

namespace KhalidaZia121401018 {

/// <summary>

/// Description of MainForm. /// </summary>

public partial class MainForm : Form {

public MainForm() {

//

// The InitializeComponent() call is required for Windows Forms designer support.

//

InitializeComponent();

//

// TODO: Add constructor code after the InitializeComponent() call.

// }

void ImplementationToolStripMenuItemClick(object sender, EventAr gs e)

{

FormImplementation fi = new FormImplementation(); fi.ShowDialog();

}

void HelpToolStripMenuItemClick(object sender, EventArgs e) {

FormHelp fh = new FormHelp(); fh.ShowDialog();

}

void AboutToolStripMenuItemClick(object sender, EventArgs e) {

FormAbout fa = new FormAbout(); fa.ShowDialog();


(2)

} }

2. Form Implementation

using System;

using System.Drawing;

using System.Windows.Forms;

using System.Drawing.Imaging;

using System.Diagnostics;

using System.Runtime.InteropServices;

namespace KhalidaZia121401018 {

/// <summary>

/// Description of FormImplementation. /// </summary>

public partial class FormImplementation : Form {

public FormImplementation() {

//

// The InitializeComponent() call is required for Windows Forms designer support.

//

InitializeComponent();

//

// TODO: Add constructor code after the InitializeComponent() call.

// }

void GroupBox2Enter(object sender, EventArgs e) {

}

void Button1Click(object sender, EventArgs e) {

try

{

OpenFileDialog open = new OpenFileDialog(); open.Filter = "Image Files( *.bmp) | *.bmp"; if (open.ShowDialog() == DialogResult.OK)


(3)

{

Bitmap bit = new Bitmap(open.FileName);

if (bit.Height <= 500 && bit.Width <= 500 && bit.Hei ght >= 350 && bit.Width >= 350 )

{

pictureBox1.Image = bit;

textBox1.Text = open.SafeFileName.ToString(); textBox2.Text = bit.Width.ToString();

textBox3.Text = bit.Height.ToString();

} else

MessageBox.Show("Image Pixel must be least 350 x 350 px and max 500 x 500 px", "Warning");

} }

catch (Exception) {

throw new ApplicationException("Failed loading image");

} }

void Button2Click(object sender, EventArgs e) {

pictureBox1.Image = null; pictureBox3.Image = null; pictureBox4.Image = null; pictureBox5.Image = null; pictureBox6.Image = null; textBox1.Text=""; textBox2.Text=""; textBox3.Text=""; textBox7.Text=""; textBox8.Text=""; textBox9.Text=""; textBox10.Text=""; textBox11.Text=""; textBox12.Text=""; }

Bitmap average5x5(Bitmap image) {


(4)

int iw = image.Width; int ih = image.Height;

double red, green, blue, hasilred =0, hasilgreen =0, hasilblue=0;

double redfix, greenfix, bluefix;

Bitmap imagehasil = new Bitmap(iw, ih);

for(int i = 0; i<ih-4; i++) {

for(int j = 0; j<iw-4; j++) {

for(int k = i; k<=i+4; k++) {

for(int l = j; l<=j+4; l++) {

red = image.GetPixel(l,k).R; if(red == 0)

red = 255;

green = image.GetPixel(l,k).G; if(green == 0)

green = 255;

blue = image.GetPixel(l,k).B; if(blue == 0)

blue = 255; hasilred += red; hasilgreen += green; hasilblue += blue;

} }

redfix = hasilred/25;

double RED = Math.Round(redfix,0); // math round untuk membulatkan nilai terdekat

greenfix = hasilgreen/25;

double GREEN = Math.Round(greenfix,0); bluefix = hasilblue/25;

double BLUE =Math.Round(bluefix,0);

imagehasil.SetPixel(j+1, i+1, Color.FromArgb(255, (i nt)RED, (int)GREEN, (int)BLUE));

hasilred=0; hasilgreen=0; hasilblue=0; } } return imagehasil; }


(5)

{

double tambah = 0;

double pikselAsli, pikselHasil, mse; for (int i = 0; i<imageAsli.Height; i++) {

for(int j=0; j<imageHasil.Width; j++) {

pikselAsli = imageAsli.GetPixel(j,i).R; pikselHasil = imageHasil.GetPixel(j,i).R;

tambah += Math.Pow(pikselAsli - pikselHasil, 2); }

}

mse = tambah / (imageAsli.Height * imageAsli.Width); return mse;

}

double nilaiPSNR (double mse) {

double PSNR =Math.Log10(Math.Pow(255, 2)/mse); return PSNR;

}

public Bitmap CropBitmap(Bitmap bitmap) {

Rectangle rect

= new Rectangle(bitmap.Width / 4, bitmap.Height / 4, 200, 100); Bitmap cropped = bitmap.Clone(rect, bitmap.PixelFormat); return cropped;

}

public Bitmap CropBitmap2(Bitmap bitmap) {

Rectangle rect

= new Rectangle(bitmap.Width / 4, bitmap.Height / 4, 250, 150);

Bitmap cropped = bitmap.Clone(rect, bitmap.PixelFormat); // clone = mengklonikan sebagian objek bitmap

return cropped; }

private Bitmap Gabung(Bitmap citra1, Bitmap citra2) {

Bitmap Hasil; Graphics GH;

Hasil = new Bitmap(citra1.Width, citra1.Height); GH = Graphics.FromImage(Hasil); // objek grafis

GH.DrawImage(citra1, new Rectangle(0, 0, citra1.Width, citra 1.Height));


(6)

GH.DrawImage(citra2, citra1.Width / 4, citra1.Height / 4); GH.Dispose();

GH = null;

return Hasil; }

void Button7Click(object sender, EventArgs e) {

Stopwatch watch = new Stopwatch();// running time watch.Start();

if(pictureBox1.Image != null) {

pictureBox3.Image

= CropBitmap( new Bitmap(pictureBox1.Image)); pictureBox3.Image

= average5x5 ((Bitmap)pictureBox3.Image); }

else

MessageBox.Show("please browse an image", "Warning"); watch.Stop();

}

void Button6Click(object sender, EventArgs e) {

if (pictureBox3.Image != null) {

Stopwatch watch = new Stopwatch();// running time watch.Start();

Bitmap PB2, PB8;

PB2 = new Bitmap(pictureBox1.Image); PB8 = new Bitmap(pictureBox3.Image); pictureBox4.Image = Gabung(PB2, PB8); watch.Stop();

textBox7.Text =

Math.Round(Convert.ToDecimal(watch.ElapsedMilliseconds)/1000,4).ToString

();

textBox9.Text=nilaiMSE((Bitmap)pictureBox1.Image,(Bitmap )pictureBox4.Image).ToString();

textBox8.Text=nilaiPSNR(Convert.ToDouble(textBox9.Text)) .ToString();

} else

MessageBox.Show("press generate please", "Warning"); }


(7)

void Button5Click(object sender, EventArgs e) {

if(pictureBox4.Image != null) {

SaveFileDialog save = new SaveFileDialog(); save.Filter = "image Files| *.bmp";

save.FileName = "*.bmp";

if (save.ShowDialog() == DialogResult.OK) {

pictureBox4.Image.Save(save.FileName, System.Draw ing.Imaging.ImageFormat.Bmp);

MessageBox.Show("Image has

saved", "save", MessageBoxButtons.OK, MessageBoxIcon.Information); }

else

{

MessageBox.Show("Image doesn't save "); }

} }

void Button8Click(object sender, EventArgs e) {

Stopwatch watch = new Stopwatch(); // running time watch.Start();

if(pictureBox1.Image != null) {

pictureBox6.Image

= CropBitmap2( new Bitmap(pictureBox1.Image)); pictureBox6.Image

= average5x5 ((Bitmap)pictureBox6.Image); }

else

MessageBox.Show("please browse an image", "Warning"); watch.Stop();

}

void Button10Click(object sender, EventArgs e) {

if (pictureBox6.Image != null) {

Stopwatch watch = new Stopwatch(); // running time watch.Start();

Bitmap PB2, PB8;

PB2 = new Bitmap(pictureBox1.Image); PB8 = new Bitmap(pictureBox6.Image);


(8)

pictureBox5.Image = Gabung(PB2, PB8); watch.Stop();

textBox10.Text =

Math.Round(Convert.ToDecimal(watch.ElapsedMilliseconds)/1000,4).ToString

();

textBox12.Text=nilaiMSE((Bitmap)pictureBox1.Image,(Bitma p)pictureBox5.Image).ToString();

textBox11.Text=nilaiPSNR(Convert.ToDouble(textBox12.Text )).ToString();

} else

MessageBox.Show("press generate please", "Warning"); }

void Button4Click(object sender, EventArgs e) {

try

{

OpenFileDialog open = new OpenFileDialog(); open.Filter = "Image Files( *.bmp) | *.bmp"; if (open.ShowDialog() == DialogResult.OK) {

Bitmap bit = new Bitmap(open.FileName);

if (bit.Height <= 500 && bit.Width <= 500 && bit.Hei ght >= 350 && bit.Width >= 350 )

{

pictureBox2.Image = bit;

textBox6.Text = open.SafeFileName.ToString(); textBox4.Text = bit.Height.ToString();

textBox5.Text = bit.Width.ToString();

} else

MessageBox.Show("Image Pixel must be least 350 x 350 px and max 500 x 500 px", "Warning");

} }

catch (Exception) {

throw new ApplicationException("Failed loading image");

} }


(9)

void Button3Click(object sender, EventArgs e) {

pictureBox2.Image = null; pictureBox7.Image = null; textBox4.Text=""; textBox5.Text=""; textBox6.Text=""; textBox13.Text=""; textBox14.Text=""; textBox15.Text=""; }

void Button12Click(object sender, EventArgs e) {

if(pictureBox1.Image != null && pictureBox2.Image != null) {

Stopwatch watch = new Stopwatch(); // running time watch.Start();

pictureBox7.Image = pictureBox2.Image; textBox13.Text =

Math.Round(Convert.ToDecimal(watch.ElapsedMilliseconds)/1000,4).ToString

();

textBox15.Text=nilaiMSE((Bitmap)pictureBox1.Image,(Bitma p)pictureBox7.Image).ToString();

textBox14.Text=nilaiPSNR(Convert.ToDouble(textBox15.Text )).ToString();

watch.Stop(); }

else

MessageBox.Show("please select image to analyze!", "Warning");

}

void GroupBox1Enter(object sender, EventArgs e) {

}

void Panel1Paint(object sender, PaintEventArgs e) {

}

void Button11Click(object sender, EventArgs e) {


(10)

{

SaveFileDialog save = new SaveFileDialog(); save.Filter = "image Files| *.bmp";

save.FileName = "*.bmp";

if (save.ShowDialog() == DialogResult.OK) {

pictureBox7.Image.Save(save.FileName, System.Draw ing.Imaging.ImageFormat.Bmp);

MessageBox.Show("Image has

saved", "save", MessageBoxButtons.OK, MessageBoxIcon.Information); }

else

{

MessageBox.Show("Image doesn't save "); }

} }

void Button9Click(object sender, EventArgs e) {

if(pictureBox5.Image != null) {

SaveFileDialog save = new SaveFileDialog(); save.Filter = "image Files| *.bmp";

save.FileName = "*.bmp";

if (save.ShowDialog() == DialogResult.OK) {

pictureBox5.Image.Save(save.FileName, System.Draw ing.Imaging.ImageFormat.Bmp);

MessageBox.Show("Image has

saved", "save", MessageBoxButtons.OK, MessageBoxIcon.Information); }

else

{

MessageBox.Show("Image doesn't save "); }

} }

} }

3. Form Help

using System;

using System.Drawing;


(11)

namespace KhalidaZia121401018 {

/// <summary>

/// Description of FormHelp. /// </summary>

public partial class FormHelp : Form {

public FormHelp() {

//

// The InitializeComponent() call is required for Windows Forms designer support.

//

InitializeComponent();

//

// TODO: Add constructor code after the InitializeComponent() call.

// }

void FormHelpLoad(object sender, EventArgs e) {

richTextBox1.Enabled = false; }

} }

4. Form About

using System;

using System.Drawing;

using System.Windows.Forms;

namespace KhalidaZia121401018 {

/// <summary>

/// Description of FormAbout. /// </summary>

public partial class FormAbout : Form {

public FormAbout() {

//


(12)

Forms designer support. //

InitializeComponent();

//

// TODO: Add constructor code after the InitializeComponent() call.

// } } }


(13)

CURRICULUM VITAE

Data Diri

Nama : Khalida Zia

Tempat/Tanggal Lahir : Medan / 26 April 1994

Alamat Sekarang : Jl. Denai Gg. Galon No. 6 Medan Alamat Orang Tua : Jl. Denai Gg. Galon No. 6 Medan Agama : Islam

Jenis Kelamin : Perempuan Nomor Hp : 087869164102

Email : khalidazia26@gmail.com

Riwayat Pendidikan

2000 – 2006 : SD Negeri 068084 Medan 2006 – 2009 : SMP Negeri 13 Medan 2009 – 2012 : SMA Negeri 6 Medan

2012 – : S1 Ilmu Komputer Universitas Sumatera Utara, Medan

Seminar/Kursus/Workshop

2015 : Kursus Bahasa Pemorgraman Java di Binus Center 2014 : Seminar Nasional Literasi Informasi

2013 : Workshop Pemrograman Object Oriented

Keahlian

Bahasa : Indonesia, Inggris Bahasa Pemrograman : C++ dan C#

DBMS : MySQL


(14)

Pengalaman Organisasi

2013-2014 : Ikatan Mahasiswa S1 Ilmu Komputer (IMILKOM) USU 2014-2015 : Ikatan Mahasiswa S1 Ilmu Komputer (IMILKOM) USU 2015-2016 : Ikatan Mahasiswa S1 Ilmu Komputer (IMILKOM) USU


(15)

DAFTAR PUSTAKA

Ahmad, U. 2005. Pengolahan Citra Digital dan Teknik Pemrogramannya. Yogyakarta: Graha Ilmu.

Astuti, F & Hermawati. 2013. Pengolahan Citra Digital Konsep dan Teori. Yogyakarta: Andi. Huang, C.-H & Wu, J.-L. 2004. Attacking visible watermarking schemes. Journal of IEEE

Transactions on Multimedia Vol.6.

Kadir, A dan Susanto, A. 2013. Teori dan Aplikasi Pengolahan Citra. Yogyakarta: ANDI.

Nasir, G. 2014. Implementasi Harmonic Mean Filter untuk Mereduksi Noise pada Citra BMP dan PNG. Skripsi. Universitas Sumatera Utara.

Prasetyo, E. 2011. Pengolahan Citra Digital dan Aplikasinya Menggunakan Matlab. Yogyakarta: ANDI.

Putra, D. 2010. Pengolahan Citra Digital. Yogyakarta: ANDI.

Putra, P.S. 2008. Watermarking pada Citra Digital dengan Menggunakan Discrete Cosine

Transform. Skripsi. Universitas Sumatera Utara.

Sutoyo, T. dan Mulyanto, E. 2009. Teori Pengolahan Citra Digital. Yogyakarta: ANDI.

Wang, Houng-Jyh Mike, Su, Po-Chyi and C. Jay Kuo. 1998. Wavelet-based digital image watermarking. Journal Optics Express Vol. 3, No 12.

Yang, Y., Sun, X. & Yang, H. 2008. Removable visible image watermarking algorithm in the discrete cosine transform domain. Journal of Electronic Imaging Vol. 17(3).


(16)

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Analisis sistem merupakan suatu teknik penyelesaian masalah yang pada dasarnya dilakukan untuk mengembangkan sebuah sistem juga suatu tahapan awal yang harus dilakukan untuk membantu memahami suatu masalah yang dibutuhkan oleh sistem. Tujuan dari analisis sistem adalah membangun model dari sebuah sistem dengan beberapa tahapan fase yang harus dilalui sehingga menghasilkan informasi yang dapat digunakan dalam membangun model sistem tersebut. Pada tahap ini akan diuraikan hal-hal yang dibutuhkan oleh sistem dengan memberikan gambaran yang jelas terhadap komponen-komponen yang ada di dalamnya sehingga sistem yang dibangun dan nantinya akan diimplementasikan dapat sesuai dengan yang diinginkan. Analisis sistem yang digunakan terdiri atas analisis masalah, analisis kebutuhan dan analisis proses.

3.1.1 Analisis Masalah

Analisis masalah merupakan sebuah tahapan menganalisis kelayakan berbagai masalah sehingga diperlukannya suatu penelitian untuk menyelesaikan masalah tersebut. Pada penelitian ini masalah yang paling utama adalah perbaikan kualitas citra pada citra yang telah ditanamkan visible watermark sehingga citra tersebut mengalami gangguan pada piksel-piksel tetangganya pada piksel daerah watermark.

Untuk menganalisis masalah tersebut dapat digambarkan menggunakan sebuah diagram yaitu diagram Ishikawa, yang lebih dikenal dengan nama Cause and Effect Diagram atau Fishbone Diagram.

Diagram fishbone merupakan suatu alat visual untuk mengidentifikasi, mengeksplorasi, dan secara grafik menggambarkan secara detail semua penyebab yang


(17)

berhubungan dengan suatu permasalahan. Diagram Fishbone ini bentuknya menyerupai kerangka tulang ikan yang bagian-bagiannya meliputi kepala, sirip, dan duri dimana digambarkan seperti susunan tulang ikan yang terbagi atas dua bagian yaitu bagian kepala ikan yang merupakan masalah, bagian utama tulang belakang merupakan kemungkinan-kemungkinan penyebab masalah. Diagram Ishikawa sistem ini dapat dilihat pada Gambar 3.1 sebagai berikut.

Gambar 3.1 Diagram Ishikawa Sistem

3.1.2 Analisis Kebutuhan

Analisis kebutuhan merupakan proses analisis yang digunakan untuk mengidentifikasi hal-hal yang dibutuhkan suatu sistem. Analisis kebutuhan dibagi atas kebutuhan fungsional (Functional Requirement) dan non-fungsional (Non-functional Requirement).


(18)

3.1.2.1Kebutuhan Fungsional (Functional Requirement)

Kebutuhan fungsional merupakan segala deskripsi mengenai aktivitas dan layanan yang dapat dan harus dimiliki oleh sistem. Dalam proses perbaikan citra hasil dari citra yang telah ditanamkan visible watermark menggunakan metode Image Averaging terdapat beberapa hal yang menjadi persyaratan fungsional yang harus dipenuhi, yaitu :

1. Sistem hanya menerima citra berwarna dengan format (.bmp) dengan ukuran maksimal 500 x 500 piksel.

2. Sistem akan mengeksekusi citra daerah visible watermark dengan ukuran 200 x 100 piksel dan 250 x 150 piksel.

3. Sistem menggunakan matriks kernel 5x5 pada proses Image Averaging dengan cara perata-rataan piksel.

4. Sistem akan menghitung nilai MSE (Mean Square Error) dan PSNR (Peak Signal

to Noise Ratio) dan running time sebagai parameter untuk membandingkan hasil

citra Anti Watermarking dan citra asli.

5. Citra hasil perbaikan akan disimpan dengan format (.bmp).

3.1.2.2Kebutuhan Non-fungsional

Kebutuhan non-fungsional merupakan segala deskripsi dari berbagai fitur, karakteristik, dan batasan lain yang harus dimiliki oleh sistem sehingga dapat menentukan non-fungsional sistem terdiri beberapa aspek yaitu :

1. Tampilan (Performance)

Sistem yang akan dibangun menggunakan tampilan yang sederhana, mudah digunakan dan mudah dimengerti (user friendly).

2. Penyimpanan Data (Dokumentasi)

Sistem yang akan dibangun dapat menyimpan citra hasil dengan format (.bmp). 3. Kontrol

Sistem yang akan dibangun harus dapat memunculkan pesan error apabila tidak sesuai syarat yang ditetapkan sistem.


(19)

4. Segi Ekonomi

Sistem yang akan dibangun berbasis desktop yang dapat digunakan secara bebas, tidak memerlukan perangkat tambahan dalam proses eksekusinya sehingga tidak mengeluarkan biaya tambahan.

5. Pelayanan sistem (service)

Sistem dapat melakukan proses Image Averaging dan menghitung nilai MSE, PSNR, dan Running Time sehingga menghasilkan citra yang berkualitas.

3.1.3 Analisis Proses

Analisis proses bertujuan untuk mengetahui cara kerja suatu sistem secara detail dengan melakukan pemodelan terhadap sistem. Pemodelan sistem dapat dilakukan menggunakan

Unified Modelling Language (UML). Unified Modelling Language (UML) merupakan

sebuah bahasa spesifikasi yang telah menjadi standar suatu model yang berfungsi untuk membantu menggambar, merancang dan mendokumentasikan perancangan model sebuah sistem.

3.2 Pemodelan

Pada bagian ini Unified Modelling Language (UML) akan diterapkan secara langsung. Model UML yang digunakan dalam penelitian ini yaitu use case diagram, sequence

diagram dan activity diagram.

3.2.1 Use case diagram

Use case diagram adalah rangkaian / uraian sekelompok yang saling terkait dan

membentuk sistem secara teratur yang dilakukan oleh actor. Diagram use case ini yang menggambarkan funsionalitas yang diharapkan dari sebuah sistem. Sebuah use case mendeskripsikan interaksi-interaksi antara actor dengan sistem. Berikut use case diagram pada sistem dapat dilihat pada Gambar 3.2 sebagai berikut.


(20)

Gambar 3.2 Diagram use case

Pada use case ini terdapat actor yang memiliki pilihan untuk :

a. Home adalah menu tampilan awal sistem.

b. Implementation adalah menu yang terdapat bagian menjalankan proses

pengolahan citra dimana proses input citra, crop citra, perataan piksel oleh sistem, menampilkan hasil citra kemudian menyimpan hasil citra.

c. Help adalah menu yang berisi petunjuk penggunaan sistem.

d. About adalah menu yang berisi tentang profile pembuat sistem.

Kemudian dibawah ini merupakan tabel dokumen naratif dari use case Home yang dapat dilihat pada tabel 3.1 sebagai berikut :

Tabel 3.1 Dokumentasi Naratif Use Case Diagram pada Home Nama Use case Home


(21)

Description Use case ini menjalankan tampilan awal digunakan dari sistem ini

Pre-Condition Aplikasi siap untuk menerima inputan.

Typical course of

event

Kegiatan pengguna Respon sistem 1. Menekan tombol

Home

2. Menampilkan tampilan awal dari pilihan home.

Alternatecourse Aksi Aktor Respon sistem

Post condition Sistem telah melakukan proses pemilihan menu home.

Berikut ini merupakan tabel dokumen naratif dari use case Implementation yang dapat dilihat pada Tabel 3.2 sebagai berikut :

Tabel 3.2 Dokumentasi Naratif Use Case Diagram pada Implementation Nama Use case Implementasi

Actor Pengguna

Description Use case ini menjalankan proses perbaikan citra yang akan digunakan dari sistem ini

Pre-Condition Aplikasi siap untuk menerima inputan.

Typical course of

event

Kegiatan pengguna Respon sistem

1. Menekan tombol

implementasi

3. Memilih gambar yang ingin diolah (*.bmp) dengan menekan tombol Browse .

2. Menampilkan isi dari pilihan implementasi

4. Sistem akan merespon dengan masuk ke direktori penyimpanan citra

5. Menampilkan citra yang telah dipilih oleh pengguna

6. Selanjutnya user memilih daerah piksel citra visible watermark untuk dieksekusi.

8. Selanjutnya user menekan tombol generate untuk melakukan proses image averaging.

7. Sistem akan melakukan proses cropping kemudian menampilkan hasil citra eksekusi.

9. Sistem akan melakukan proses image averaging dengan kernel 5x5 kemudian menampilkan hasil citra.


(22)

10. Selanjutnya user menekan tombol result untuk mengetahui nilai MSE, PSNR dan running time dari proses.

12.Selanjutnya user menekan tombol save.

11. Sistem akan menghitung nilai MSE, PSNR, dan running time kemudian menampilkannya pada tampilan.

13. Sistem akan masuk ke directory penyimpanan foto.

Alternatecourse Aksi Aktor Respon sistem

Post condition Sistem telah melakukan proses perbaikan citra yang menghasilkan citra.

Berikut ini merupakan tabel dokumen naratif dari use case Help yang dapat dilihat pada tabel 3.3 sebagai berikut :

Tabel 3.3 Dokumentasi Naratif Use Case pada Help Nama Use case Help

Actor Pengguna

Description Use case ini menjelaskan cara penggunaan dari system ini. Pre-Condition Aplikasi siap untuk menerima inputan.

Typical course of

event

Kegiatan pengguna Respon system

1. Menekan menu Help

2. Menampilkan isi dari Help tersebut.

Alternatecourse Aksi Aktor Respon system

Post condition Sistem telah melakukan proses pemilihan menu Help

Berikut ini merupakan tabel dokumen naratif dari use case About dapat dilihat pada Tabel 3.4 sebagai berikut :

Tabel 3.4 Dokumentasi Naratif Use Case Diagram pada About Nama Use case About

Actor Pengguna


(23)

Pre-Condition Aplikasi siap untuk menerima inputan.

Typical course of

event

Kegiatan pengguna Respon system

1. Menekan menu About

2. Menampilkan isi dari About tersebut.

Alternatecourse Aksi Aktor Respon system

Post condition Sistem telah melakukan proses pemilihan menu About

3.2.2 Sequence Diagram

Squence Diagram (diagram urutan) adalah sutau diagram yang memperlihatkan atau

menampilkan interaksi-interaksi antar objek di dalam sistem yang disusun pada sebuah urutan atau rangkaian waktu. Sequence diagram digunakan untuk menggambarkan

scenario atau rangkaian langkah-langkah yang dilakukan sebagai sebuah respon dari

suatu kejadian / event untuk menghasilkan output apa yang dhasilkan. Dibawah ini dapat dilihat pada Gambar 3.3 merupakan sequence diagram sebagai berikut :


(24)

3.2.3 Activity diagram

Activity Diagram menggambarkan berbagai proses aktivitas dalam system yang sedang

dirancang, bagaimana masing-masing proses berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Berikut ini merupakan activity diagram pada sistem yang akan dirancang dapat dilihat pada Gambar 3.4 sebagai berikut :


(25)

3.3 Pseudecode Program

Pseudecode adalah deskripsi dari algoritma pemrograman komputer yang menggunakan

struktur sederhana dari beberapa bahasa pemograman tetapi bahasa tersebut hanya ditujukan agar dapat dibaca manusia.Tujuan penggunaan utama dari pseudocode adalah untuk memudahkan manusia dalam memahami prinsip-prinsip dari suatu algoritma pada bahasa pemrograman.

3.3.1 Pseudecode Image Averaging

Dibawah ini dapat dilihat Tabel 3.5 pseudecode dari metode Image Averaging sebagai berikut :

Tabel 3.5 Pseudecode Image Averaging kernel 5x5

1. for any row y 2. for any column x 3. { for any y = 0 to y = 4 4. for any x = 0 to x = 4 5. sum += imageIn[y, x] 6. imageOut[y,x] = sum / 25 } Keterangan :

1. Baris y 2. Kolom x

3. Perulangan baris dari 0 sampai 4 4. Perulangan kolom dari 0 sampai 4

5. Penjumlahan setiap elemen dari indeks baris dan kolom 6. Hasil penjumlahan / 25.


(26)

3.3.2 Pseudecode Menghitung nilai MSE dan PSNR

Dibawah ini dapat dilihat Tabel 3.6 pseudecode untuk menghitung nilai Mean Square

Error (MSE) dan Peak Signal to Noise Ratio (PSNR) sebagai berikut :

Tabel 3.6 Pseudecode nilai MSE dan PSNR

1. [M N] <- size (citra)

2. Error <- citra_awal – citra_noise

3. MSE <- sum(sum(error .* error)) / (M * N) 4. PSNR <- 10 * log(255*255/MSE) / log10 Keterangan :

1. Deklarasi ukuran matriks citra kolom adalah M dan baris adalah N 2. Deklarasi nilai error

3. Hitung nilai MSE 4. Hitung nilai PSNR

3.4 Perancangan Sistem

Perancangan sistem merupakan perancangan proses, alur dan gambaran sistem. Ketiga hal tersebut digambarkan dengan perancangan flowchart dan interface.

3.4.1 Flowchart Sistem

Flowchart adalah suatu bagan dengan simbol-simbol tertentu yang menggambarkan

urutan proses secara menditail dan hubungan antara suatu proses (intruksi) dengan proses lainnya dalam suatu program. Flowchart memiliki fungsi untuk memudahkan proses pengecekan terhadap sistem yang ingin dibuat apabila ada yang terlupakan dalam analisis masalah. Berikut merupakan flowchart awal dari sistem secara umum yang nantinya akan dibangun yang dapat dilihat pada gambar 3.5 sebagai berikut :


(27)

Gambar 3.5 Flowchart Sistem

Keterangan : 1. Mulai

2. User melakukan input citra yang sudah disisipkan watermark visible berformat

(.bmp).

Mulai

Masukkan citra ber- watermark visible (.bmp)

Ukuran citra <= 500 x 500 piksel

Proses image averaging (perataan) piksel citra daerah watermark berukuran 200x100 piksel, 250x150 piksel menggunakan matriks kernel 5x5

Tampilkan hasil citra

Hitung MSE, PSNR, dan Running Time

Tampilkan nilai MSE, PSNR dan Running Time

Yes

No


(28)

3. Jika ukuran citra kurang dari atau sama dengan 500 x 500 piksel maka proses akan dilanjutkan, jika tidak proses akan kembali kepada user melakukan input citra. 4. Piksel citra daerah watermark akan dieksekusi berukuran 200 x 100 piksel atau

250 x 150 piksel menggunakan matriks kernel 5x5 proses Image Averaging piksel akan dilakukan oleh sistem.

5. Tampilkan hasil citra yang telah diproses.

6. Hitung nilai MSE, PSNR dan Running Time pada citra yang telah diproses. 7. Tampilkan hasil nilai MSE, PSNR dan Running Time.

8. Selesai.

Sub Flowchart Image Averaging dapat dilihat pada Gambar 3.6 sebagai berikut :

Gambar 3.6 Flowchart Image Averaging Mulai

sum += int[baris,kolom]

sum= sum / 25

Selesai sum for baris <- 0 to 4

for kolom <- 0 to 4

Y N

Y


(29)

Sub Flowchart MSE dan PSNR dapat dilihat pada Gambar 3.7 sebagai berikut :

Gambar 3.7 Flowchart MSE dan PSNR

Proses menghitung nilai MSE dan PSNR diperoleh dengan pertama sekali menentukan matriks m,n dari citra awal dan citra yang telah diperbaiki. Selanjutnya mencari nilai error dengan melakukan pengurangan nilai matriks citra awal dengan citra hasil. Kemudian nilai error tersebut diolah dalam rumus MSE dan PSNR yang tertera pada flowchart diatas untuk mencari seberapa baik kualitas citra hasil perbaikan tersebut.

3.4.2 Perancangan Antarmuka (Interface) Sistem

Perancangan sebuah sistem dapat dimulai dengan melakukan perancangan antarmuka atau interface sistem berdasarkan flowchart sistem pada Gambar 3.5. Antarmuka /

interface ini dirancangan dengan memperhatikan faktor pengguna yang akan berinteraksi

dengan sistem tersebut, sehingga sistem dapat digunakan dengan mudah dan nyaman. Tampilan antarmuka yang akan dimiliki sistem terdiri atas form menu Home, form menu

Implementation, form menu Help dan form menu About.

Mulai

MSE = jumlah(jumlah(error. * error)) / (m,n)

PSNR=

10*log(255*255/MSE)/log10

Selesai MSE, PSNR Nilai matriks

(m,n) citra

error = nilai citra awal-nilai citra hasil


(30)

3.4.2.1Form Home

Form Home adalah tampilan utama dalam sistem yang akan muncul pertama kalinya

ketika program dieksekusi. Berikut ini merupakan tampilan form home dapat dilihat pada Gambar 3.8 dibawah ini :

Gambar 3.8 Form Home

Keterangan :

1. Menu bar yang memiliki 4 menu yaitu menu Home, menu Implementation, menu

Help dan menu About.

2. Judul penelitian.

3. Logo fakultas yaitu Fakultas Ilmu Komputer dan Teknologi Informasi. 4. Nama dan Nim penulis.

5. Program Studi.

3.4.2.2Form Implementation

Form Implementation merupakan tampilan yang berisi segala proses yang terjadi pada

sistem yaitu proses metode dan segala perhitungan dari metode yang digunakan pada 1

2

3

4 5


(31)

penelitian yaitu metode Image Averaging dan parameter MSE, PSNR dan running time. Tampilan dari form implementasi ini dapat dilihat pada Gambar 3.9 dibawah ini :

Gambar 3.9 Form Implementation

Keterangan :

1. Picturebox untuk menampilkan citra inputan / citra awal yaitu citra yang telah

ditanamkan visible watermark.

2. Text Box untuk menampilkan nama file dari citra inputan dari picture box 1.

3. Text Box untuk menampilkan ukuran panjang piksel dari citra inputan picture box

1.

4. Text box untuk menampilkan ukuran lebar piksel dari citra inputan picture box 1.

5. Button browse untuk mencari file citra yang akan di input dalam format .bmp.

6. Button clear image untuk menghapus semua citra .bmp yang masih terdapat pada

semua picture box dan identitas citra pada semua text box pada sistem apabila tidak sesuai dengan yang diinginkan user.

7. Picture box untuk menampilkan citra yang telah di input. Pada picture box ini

daerah citra yang ber-watermark akan dieksekusi.

2

1

3 4

5 6

7

8

9 10

11

12 13

14 34

33 32 31 30 29 28 27 26 25 24 23 16 15 20 17 19 18 22 21


(32)

8. Button generate untuk memulai memproses citra agar masuk ke picture box 7.

9. Picture box untuk menampilkan citra yang telah dieksekusi daerah piksel citra

yang ber-watermark dan seluruh piksel citra.

10.Button result untuk memulai memproses citra agar masuk ke picture box 9

kemudian akan menghitung nilai MSE, PSNR dan running time.

11.Button save untuk menyimpan citra yang telah diproses pada picture box 9.

Deksripsi komponen sistem dari nomor 7 hingga 14 merupakan deksripsi untuk citra yang piksel nya akan di eksekusi berukuran 200 x 100 piksel.

12.Text box untuk menampilkan nilai dari MSE yang telah diproses.

13.Text box untuk menampilkan nilai dari PSNR yang telah diproses.

14.Text box untuk menampilkan nilai dari running time yang telah diproses.

15.Picture box untuk menampilkan citra yang telah di input. Pada picture box ini

daerah citra yang ber-watermark akan dieksekusi.

16.Button generate untuk memulai memproses citra agar masuk ke picture box 15.

17.Picture box untuk menampilkan citra yang telah dieksekusi daerah piksel citra

yang ber-watermark dan seluruh piksel citra.

18.Button result untuk memulai memproses citra agar masuk ke picture box 17

kemudian akan menghitung nilai MSE, PSNR dan running time.

19.Button save untuk menyimpan citra yang telah diproses pada picture box 17.

Deksripsi komponen sistem dari nomor 15 hingga 22 merupakan deksripsi untuk citra yang piksel nya akan di eksekusi berukuran 250 x 150 piksel.

20.Text box untuk menampilkan nilai dari MSE yang telah diproses.

21.Text box untuk menampilkan nilai dari PSNR yang telah diproses.

22.Text box untuk menampilkan nilai dari running time yang telah diproses.

23.Picturebox untuk menampilkan citra inputan / citra awal yaitu citra asli tanpa

watermark.

24.Text Box untuk menampilkan nama file dari citra inputan dari picture box 23.

25.Text Box untuk menampilkan ukuran panjang piksel dari citra inputan picture box

23.

26.Text box untuk menampilkan ukuran lebar piksel dari citra inputan picture box 23.


(33)

28.Button clear image untuk menghapus semua citra .bmp yang masih terdapat pada

semua picture box citra asli dan identitas citra pada semua text box pada sistem apabila tidak sesuai dengan yang diinginkan user.

29.Picture box untuk menampilkan citra asli yang akan dianalisis nilai MSE, PSNR

dan running time nya.

30.Button result akan memproses agar citra masuk ke picture box 29 kemudian akan

menghitung nilai MSE, PSNR dan running time nya. 31.Button save untuk menyimpan citra asli.

32.Text box untuk menampilkan nilai MSE yang telah diproses.

33.Text box untuk menampilkan nilai PSNR yang telah diproses.

34.Text box untuk menampilkan nilai dari running time yang telah diproses.

3.4.2.3Form Help

Form Help merupakan tampilan untuk memberitahukan petunjuk cara penggunaan

sistem. Berikut ini merupakan tampilan form Help dapat dilihat pada Gambar 3.10 sebagai berikut :

Gambar 3.10 Form Help

Keterangan :

1. Rich text box untuk menampilkan petunjuk penggunaan sistem.


(34)

3.4.2.4Form About

Form About adalah menu untuk menampilkan tentang foto dan data programmer /

pembuat sistem. Berikut ini merupakan tampilan dari form about dapat dilihat pada Gambar 3.11 sebagai berikut :

Gambar 3.11 Form About

Keterangan :

1. Picture box untuk menampilkan foto dari pembuat sistem.

2. Rich text box untuk menampilkan biodata dari pembuat sistem.


(35)

4.1 Implementasi Sistem

Setelah melakukan proses analisis dan perancangan sistem, proses selanjutnya dalam penerapan pembuatan sistem adalah proses implementasi dan pengujian sistem. Implementasi sistem merupakan hasil dari penerapan proses analisis dan perancangan sehingga mendapatkan sebuah sistem yang utuh. Sistem pada penelitian ini dirancang dengan menggunakan bahasa pemrograman C# dan menggunakan software SharpDevelop 4.2. Sistem ini memiliki 4 menu yaitu menu Home, menu Implementation, menu Help, menu About.

4.1.1 Menu Home

Menu home merupakan form yang ditampilkan pertama kali pada saat sistem dijalankan.

Form ini berisi menu bar dan tentang informasi mengenai judul penelitian, logo fakultas,

nama dan nim penulis, dan program studi. Berikut ini tampilan menu home dapat dilihat pada Gambar 4.1 sebagai berikut :


(36)

Gambar 4.1 Menu Home

4.1.2 Menu Implementation

Menu implementation merupakan tampilan yang berisi segala proses pengolahan citra yang terjadi pada sistem yaitu proses metode dan segala perhitungan dari metode yang digunakan pada penelitian yaitu metode Image Averaging dan parameter Mean Square

Error (MSE), Peak Signal to Noise Ratio (PSNR) dan running time. Tampilan dari form

implementasi ini dapat dilihat pada Gambar 4.2 dan simulasinya pada Gambar 4.3 dibawah ini :


(37)

Gambar 4.2 Menu Implementation


(38)

4.1.3 Menu Help

Menu help merupakan form yang berisi tentang penjelasan dari cara penggunaan sistem. Berikut ini tampilan dari menu help dapat dilihat pada Gambar 4.4 sebagai berikut :

Gambar 4.4 Menu Help

4.1.4 Menu About

Menu about merupakan form yang berisi foto dan biodata pembuat sistem. Tampilan menu about dapat dilihat pada Gambar 4.5 sebagai berikut :


(39)

Gambar 4.5 Menu About

4.2 Pengujian Sistem

Pengujian sistem dilakukan untuk mengetahui apakah sistem yang dibangun telah berjalan dengan baik untuk memperbaiki kualitas citra digital yang telah ditanamkan

visible watermark dengan menggunakan photo editor seperti Adobe Photoshop.

Pengujian akan dilakukan dengan menggunakan citra digital yang berformat *.bmp citra digital tersebut merupakan citra warna / citra RGB dan berukuran maksimal 500 x 500 piksel. Kemudian akan dilakukan proses eksekusi piksel daerah citra yang ber-watermark dengan cropping terlebih dahulu kemudian proses metode Image Averaging akan dieksekusi pada piksel citra daerah watermark.


(40)

4.2.1 Pengujian Image Averaging

Pengujian sistem pada metode Image Averaging ini menggunakan matrik kernel 5 x 5 kemudian dibagi menjadi 2 pengujian yaitu pada piksel-piksel citra daerah visible

watermark dengan ukuran 200 x 100 piksel dan 250 x 150 piksel.

4.2.1.1Image Averaging 200 x 100 piksel

Pada pengujian Image Averaging ini bertujuan untuk mengimplementasikan kinerja dari metode Image Averaging pada piksel citra daerah visible watermark dengan ukuran 200 x 100 piksel. Hal pertama yang dilakukan ketika sistem dijalankan yaitu memilih menu

Implementation pada form Home. Selanjutnya pilih citra dengan format *.bmp yang akan

diproses dengan menekan tombol Browse. Adapun proses tersebut dapat dilihat pada Gambar 4.6 dan Gambar 4.7 sebagai berikut :


(41)

Gambar 4.7 Browse citra *.bmp pada file direktori

Selanjutnya sistem akan menampilkan citra yang telah dipilih oleh user, dimana citra akan langsung masuk ke dalam picture box citra visible watermark sehingga nama

file dan ukuran citra akan tampil pada text box nama file dan ukuran file. Pada proses ini

akan ditampilkan dengan memilih citra dengan nama file “burung watermark.bmp” yang memiliki ukuran file “500 x 500 piksel”. Proses menampilkan citra yang telah di-input dapat dilihat pada Gambar 4.8 sebagai berikut :


(42)

Gambar 4.8 Hasil input citra visible watermark

Setelah proses input citra berhasil, maka dilakukan proses eksekusi piksel citra daerah visible watermark pada picture box dengan cara menekan tombol generate sehingga citra yang memiliki daerah piksel visible watermark akan melakukan proses

cropping dengan ukuran 200 x 100 piksel kemudian citra ini akan memproses metode Image Averaging yang hasilnya akan ditampilkan pada picture box. Proses ini dapat


(43)

Gambar 4.9 Hasil citra daerah visible watermark 200 x 100 piksel

Setelah proses cropping citra piksel daerah visible watermark dan proses Image

Averaging diatas berhasil kemudian citra akan memulai untuk proses perbaikan citra

keseluruhan yang akan ditampilkan pada picture box dengan menekan tombol result, kemudian sistem akan menghitung nilai Mean Square Error (MSE), Peak Signal to Noise

Ratio (PSNR) dan running time selama proses berlangsung. Proses ini dapat dilihat pada


(44)

Gambar 4.10 Hasil perbaikan citra 200 x 100 piksel

Setelah hasil perbaikan citra telah didapatkan dan telah mengetahui nilai dari MSE, PSNR, dan running time pada citra selama proses berlangsung citra dapat langsung disimpan pada direktori dengan menekan tombol save.

4.2.1.2Image Averaging 250 x 150 piksel

Pada pengujian Image Averaging bagian ini yang akan diproses yaitu piksel citra daerah

visible watermark dengan ukuran 250 x 150 piksel. Hal ini dapat dilakukan berlanjut dari

proses-proses yang telah dilakukan sebelumnya. Hal pertama yang dilakukan adalah dengan menekan tombol generate untuk menampilkan citra proses cropping piksel 250 x 150 piksel citra daerah visible watermark yang kemudian citra ini akan diproses menggunakan metode Image Averaging. Citra yang telah diproses akan tampil pada


(45)

Gambar 4.11 Hasil citra daerah visible watermark 250 x 150 piksel

Setelah proses cropping citra piksel daerah visible watermark dan proses Image

Averaging diatas berhasil kemudian citra akan memulai untuk proses perbaikan citra

keseluruhan yang akan ditampilkan pada picture box dengan menekan tombol result, kemudian sistem akan menghitung nilai Mean Square Error (MSE), Peak Signal to Noise

Ratio (PSNR) dan running time selama proses berlangsung. Proses ini dapat dilihat pada


(46)

Gambar 4.12 Hasil perbaikan citra 250 x 150 piksel

Setelah hasil perbaikan citra telah didapatkan dan telah mengetahui nilai dari MSE, PSNR, dan running time pada citra selama proses berlangsung citra dapat langsung disimpan pada direktori dengan menekan tombol save.

4.2.2 Pengujian Analisis Citra

Pengujian analisis citra ini bertujuan untuk menganalisis citra asli / citra tanpa visible

watermark dan citra yang telah diperbaiki kualitas citranya. Pengujian ini dilakukan

dengan membandingkan citra menggunakan parameter Mean Square Error (MSE), Peak

Signal to Noise Ratio dan juga running time yang akan menghitung waktu selama proses

berlangsung.

Hal pertama yang dilakukan adalah memilih citra asli tanpa visible watermark dengan format *.bmp dengan cara menekan tombol browse sehingga citra akan tampil pada picture box dan identitas citra akan tampil berupa nama file dan ukuran citra tersebut pada text box, dimana pada pengujian ini dipilih citra dengan nama file “burung asli.bmp” dengan ukuran “500 x 500 piksel”. Citra ini merupakan citra asli tanpa visible watermark


(47)

dari citra yang telah ditanam visible watermark yang telah diproses sebelumnya. Proses ini dapat dilihat pada Gambar 4.13 sebagai berikut :

Gambar 4.13 Hasil input citra asli

Setelah input citra asli berhasil, citra ini akan dibandingkan dengan citra yang telah di-input sebelumnya yaitu citra yang telah ditanam visible watermark dengan cara menekan tombol result, maka hasil dari citra akan tampil pada picture box dan hasil nilai MSE, PSNR, running time akan tampil pada text box. Proses ini dapat dilihat pada Gambar 4.14 sebagai berikut :


(48)

Gambar 4.14 Hasil analisis citra asli dan citra visible watermark

Pada gambar 4.14 dapat dilihat bahwa nilai Mean Square Error (MSE) yang didapat lebih besar dari nilai Mean Square Error pada citra yang telah diperbaiki. Maka dari yang telah diketahui bahwa besarnya terjadi nilai error pada citra yang telah ditanamkan visible watermark. Dan kecilnya nilai dari Peak Signal to Noise Ratio nya.

4.3 Hasil Pengujian

Pengujian sistem dilakukan untuk mengetahui bagaimana hasil dari perbaikan citra dengan cara mengimplementasikan metode Image Averaging untuk memperbaiki kualitas citra digital yang telah rusak karena telah ditanamkan visible watermark pada citra digital. Pengujian akan dilakukan dengan menggunakan citra digital yang berformat *.bmp. Citra digital tersebut merupakan citra RGB. Sistem akan mengeksekusi citra daerah piksel

visible watermark kemudian memprosesnya menggunakan metode Image Averaging

sehingga menghasilkan citra hasil yang telah diperbaiki kualitas citranya dengan mengetahui nilai MSE, PSNR dan running time. Kemudian setelah proses pengolahan


(49)

citra dilakukan, hasil dari citra yang telah diproses tersebut dapat disimpan ke dalam format *.bmp.

Berikut ini daftar citra yang digunakan untuk melakukan pengujian Image

Averaging pada citra asli tanpa visible watermark dapat dilihat pada Tabel 4.1 dan citra

yang telah ditanamkan visible watermark dapat dilihat pada Tabel 4.2 sebagai berikut :

Tabel 4.1 Daftar citra asli tanpa visible watermark

No Nama citra Ukuran citra Citra

1 Apel asli.bmp 500 x 500 piksel

2 Burung asli.bmp 500 x 500 piksel

3 Orang asli.bmp 500 x 400 piksel

4 Kucing asli.bmp 400 x 500 piksel


(50)

Tabel 4.2 Daftar citra visible watermark

No Nama citra Ukuran citra Citra

1 Apel watermark.bmp 500 x 500 piksel

2 Burung watermark.bmp 500 x 500 piksel

3 Orang watermark.bmp 500 x 400 piksel

4 Kucing watermark.bmp 400 x 500 piksel

5 Langit watermark.bmp 500 x 420 piksel

4.3.1 Hasil Pengujian Image Averaging

Pada pengujian ini penulis melakukan pengujian secara langsung menggunakan sistem pada citra-citra yang telah terdaftar pada Tabel 4.1 dan Tabel 4.2 diatas, hasil citra dapat dilihat pada Tabel 4.3 dibawah ini sebagai berikut :


(51)

Tabel 4.3 Hasil pengujian citra No. Ukuran

citra

Citra visible watermark Citra perbaikan 200x100 piksel Citra perbaikan 250 x 150 piksel

Citra asli tanpa visible

watermark

1 500 x 500 piksel MSE: 1.9050 PSNR: 4.5331 Running time: 0.008 MSE: 2.9459 PSNR: 4.3438 Running time: 0.013 MSE : 163.6089 PSNR : 2.5992 Running time: 0

2 500 x 500 piksel MSE: 2.1888 PSNR: 4.4728 Running time: 0.025 MSE: 3.1241 PSNR: 4.3183 Running time: 0.028 MSE: 69.2440 PSNR: 2.9726 Running time: 0

3 500 x 400 piksel


(52)

MSE: 6.0452 PSNR: 4.0316 Running time: 0.011 MSE: 8.7957 PSNR: 3.8688 Running time: 0.015 MSE: 312.8193 PSNR: 2.3177 Running time: 0

4 400 x 500 piksel MSE: 4.0317 PSNR: 4.2075 Running time: 0.008 MSE: 5.7040 PSNR: 4.0568 Running time: 0.017 MSE: 84.8547 PSNR: 2.8844 Running time: 0

5 500 x 420 piksel MSE: 10.9613 PSNR: 3.7732 Running time: 0.008 MSE: 19.8640 PSNR: 3.5150 Running time: 0.010 MSE: 159.57344 PSNR: 2.6101 Running time: 0

Pada tabel 4.1 dapat dilihat hasil dari pengujian beberapa sampel citra dengan ukuran citra yang berbeda-beda. Citra visble watermark yang merupakan citra masukan yang


(53)

pertama sekali di-input. Pada citra pertama yaitu citra “apel watermark.bmp” memiliki ukuran citra 500 x 500 piksel telah mendapatkan hasil perbaikan citra pada daerah piksel 200 x 100 piksel memiliki nilai MSE sebesar 1.9050 dan PSNR sebesar 4.5331 dB dengan running time 0.008s sedangkan hasil perbaikan citra pada daerah piksel 250 x 150 piksel memiliki nilai MSE sebesar 2.9459 dan PSNR sebesar 4.3438 dB dengan

running time 0.013s, citra asli tanpa visible watermark yaitu “apel asli.bmp” memiliki

nilai MSE sebesar 163.6089 dan PSNR sebesar 2.5992 dB terhadap citra visible

watermark-nya.

Citra kedua yaitu citra “burung watermark.bmp” memiliki ukuran citra 500 x 500 piksel telah mendapatkan hasil perbaikan citra pada daerah piksel 200 x 100 piksel memiliki nilai MSE sebesar 2.1888 dan PSNR sebesar 4.4728 dB dengan running time 0.025s sedangkan hasil perbaikan citra pada daerah piksel 250 x 150 piksel memiliki nilai MSE sebesar 3.1241 dan PSNR sebesar 4.3183 dB dengan running time 0.028s, citra asli tanpa visible watermark yaitu “burung asli.bmp” memiliki nilai MSE sebesar 69.2440 dan PSNR sebesar 2.9726 dB terhadap citra visible watermark-nya.

Citra ketiga yaitu citra “orang watermark.bmp” memiliki ukuran citra 500 x 400 piksel telah mendapatkan hasil perbaikan citra pada daerah piksel 200 x 100 piksel memiliki nilai MSE sebesar 6.0452 dan PSNR sebesar 4.0316 dB dengan running time 0.011s sedangkan hasil perbaikan citra pada daerah piksel 250 x 150 piksel memiliki nilai MSE sebesar 8.7957 dan PSNR sebesar 3.8688 dB dengan running time 0.015s, citra asli tanpa visible watermark yaitu “orang asli.bmp” memiliki nilai MSE sebesar 312.8193 dan PSNR sebesar 2.3177 dB terhadap citra visible watermark-nya.

Citra keempat yaitu citra “kucing watermark.bmp” memiliki ukuran citra 400 x 500 piksel telah mendapatkan hasil perbaikan citra pada daerah piksel 200 x 100 piksel memiliki nilai MSE sebesar 4.0317 dan PSNR sebesar 4.2075 dB dengan running time 0.008s sedangkan hasil perbaikan citra pada daerah piksel 250 x 150 piksel memiliki nilai MSE sebesar 5.7040 dan PSNR sebesar 4.0568 dB dengan running time 0.017s, citra asli tanpa visible watermark yaitu “kucing asli.bmp” memiliki nilai MSE sebesar 84.8547 dan PSNR sebesar 2.8844 dB terhadap citra visible watermark-nya.


(54)

Citra kelima yaitu citra “langit watermark.bmp” memiliki ukuran citra 500 x 420 piksel telah mendapatkan hasil perbaikan citra pada daerah piksel 200 x 100 piksel memiliki nilai MSE sebesar 10.9613 dan PSNR sebesar 3.7732 dB dengan running time 0.008s sedangkan hasil perbaikan citra pada daerah piksel 250 x 150 piksel memiliki nilai MSE sebesar 19.8640 dan PSNR sebesar 3.5150 dB dengan running time 0.010s, citra asli tanpa visible watermark yaitu “langit asli.bmp” memiliki nilai MSE sebesar 159.5734 dan PSNR sebesar 2.6101 dB terhadap citra visible watermark-nya.


(55)

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Setelah melakukan tahap analisis, perancangan implementasi dan pengujian terhadap sistem Analisis dan Implementasi Anti Watermarking untuk Memperbaiki Kualitas Citra Digital Menggunakan Metode Image Averaging, maka diperoleh kesimpulan sebagai berikut :

1. Citra yang telah ditanamkan visible watermark akan mengalami gangguan berupa variasi intensitas piksel yang tidak berkolerasi dengan piksel-piksel tetangganya dapat diperbaiki menggunakan metode Image Averaging.

2. Berdasarkan hasil pengujian yang telah dilakukan, didapatkan beberapa poin, antara lain :

a. Kinerja metode Image Averaging lebih baik pada perbaikan daerah piksel citra dengan ukuran 200 x 100 piksel daripada perbaikan daerah piksel citra dengan ukuran 250 x 150 piksel. Hal ini dibuktikan dengan diperolehnya nilai MSE terkecil yaitu 1.9050 dan nilai PSNR terbesar yaitu 4.5331 dB.

b. Waktu yang dibutuhkan untuk memproses kinerja metode Image Averaging pada perbaikan daerah piksel citra dengan ukuran 200 x 100 piksel lebih cepat daripada waktu perbaikan daerah piksel citra dengan ukuran 250 x 150 piksel. Hal ini dibuktikan dengan diperolehnya nilai running time terkecil yang didapat yaitu 0.008s saat proses berlangsung.

c. Didapatkan besarnya nilai MSE dan kecilnya nilai PSNR pada analisis citra asli tanpa visible watermark terhadap citra yang telah ditanamkan visible

watermark. Kemudian didapatkan nilai MSE yang semakin mengecil dan nilai

PSNR yang semakin membesar setelah proses perbaikan menggunakan metode Image Averaging dilakukan.


(56)

5.2 Saran

Berikut saran-saran yang dapat dipertimbangkan untuk mengembangkan penelitian yang berhubungan dengan topik ini :

1. Sistem ini dapat dikembangkan dengan menambah pengujian jenis format citra digital lain seperti *.png, *.jpg dan *.jpeg.

2. Sistem ini menggunakan metode Image Averaging untuk perbaikan kualitas citra, selanjutnya dapat menambahkan teknik serangan visible watermark seperti teknik inpainting dan teknik lainnya.

3. Mengembangkan sistem agar dapat menyimpan seluruh data seperti MSE, PSNR dan running time ke dalam format dokumen.


(57)

LANDASAN TEORI

2.1 Pengenalan Citra

Citra adalah suatu representasi (gambaran), kemiripan atau imitasi dari suatu objek. Citra sebagai keluaran suatu sistem perekaman data dapat bersifat optik berupa foto, bersifat analog berupa sinyal-sinyal video seperti gambar pada monitor televisi, atau bersifat digital yang dapat langsung disimpan pada suatu media penyimpanan (Astuti & Hermawati, 2013). Citra secara umum terbagi menjadi dua bagian, yaitu citra analog dan citra digital.

2.1.1 Citra Analog

Citra analog adalah citra yang bersifat kontinu, seperti gambar pada monitor televise, foto sinar-X, foto yang tercetak di kertas foto, lukisan, pemandangan alam, hasil CT scan, gambar-gambar yang terekam pada pita kaset, dan lain sebagainya (Sutoyo & Mulyanto, 2009).

Citra analog tidak dapat direpresentasikan dalam komputer sehingga tidak bisa diproses di komputer secara langsung. Oleh sebab itu, agar citra ini dapat diproses di komputer, proses konversi analog ke digital harus dilakukan terlebih dahulu. Citra analog dihasilkan dari alat-alat analog diantaranya adalah video kamera analog, kamera foto analog dan CT scan. Salah satu contoh citra analog yang telah didapatkan dari proses


(58)

Gambar 2.1 Citra Analog

2.1.2 Citra Digital

Citra digital adalah suatu matriks dimana indeks baris dan kolomnya menyatakan suatu titik pada citra tersebut dan elemen matriksnya (yang disebut sebagai elemen gambar /

pixel) menyatakan tingkat keabuan pada titik tersebut (Sutoyo & Mulyanto, 2009). Citra

digital merupakan citra yang dapat diproses oleh perangkat komputer (Ahmad, 2005). Citra digital adalah citra yang dinyatakan secara diskrit (tidak kontinu), baik untuk posisi koordinatnya maupun warnanya. Dengan demikian, citra digital dapat digambarkan sebagai suatu matriks, dimana indeks baris dan indeks kolom dari matriks menyatakan posisi suatu titik di dalam citra dan harga dari elemen matriks menyatakan warna citra pada titik tersebut. Dalam citra digital yang dinyatakan sebagai susunan matriks seperti ini, elemen-elemen matriks tadi disebut juga dengan istilah piksel yang berasal dari kata

picture element. Citra juga dapat didefinisikan fungsi dua variabel, ƒ(x,y), di mana x dan y

adalah koordinat spasial sedangkan nilai ƒ(x,y) adalah intensitas citra pada koordinat tersebut (Kadir & Susanto 2013, 2013).

Suatu citra dapat didefinisikan sebagai fungsi ƒ(x,y) berukuran M baris dan N kolom, dengan x dan y adalah koordinat spasial, dan amplitudo f di titik koordinat (x,y) dinamakan intensitas atau tingkat keabuan dari citra pada titik tersebut. Apabila (x,y) dan


(59)

nilai amplitude f secara keseluruhan berhingga (finite) dan bernilai diskrit maka dapat dikatakan bahwa citra tersebut adalah citra digital (Putra, 2010).

Warna citra sendiri dibentuk oleh kombinasi citra 2-D individual . Misalnya dalam sistem warna Red Green Blue ( RGB) , warna citra terdiri dari tiga komponen individu warna (merah, hijau, biru). Asumsikan bahwa citra dicoba sehingga menghasilkan citra yang mempunyai baris M dan kolom N, sehingga disebut citra berukuran M x N. Nilai dari koordinat (x,y) adalah kuantitas diskrit. Untuk kejelasan notasi dan kemudahan maka digunakan nilai integer untuk koordinat ini. Titik awal citra didefenisikan pada (x,y) = (0,0). Nilai koordinat berikutnya sepanjang baris pertama citra adalah (x,y) = (0,1) (Prasetyo, 2011). Pada Gambar 2.2 menunjukkan posisi koordinat citra digital. (Putra, 2010).

Koordinat asal

1 2 3 . . . . N 1 y

1 . . . . .

2 . . . .

3 . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

. . . . .

M - 1 . . . .

ƒ(x,y)

x Sebuah Pixel

Gambar 2.2 Koordinat Citra Digital


(60)

Sistem koordinat citra digital pada Gambar 2.2 tersebut dapat ditulis dalam bentuk matriks pada persamaan (1) sebagai berikut:

( , ) =

(0,0) (0,1) … (0, −1)

(1,0) (1,1) … (1, −1)

. . . .

. . . .

( −1,0) −1,1 . … ( −1, −1)

...(1)

Nilai pada suatu irisan antara baris dan kolom (pada posisi x,y) disebut dengan picture

elements, image elements, pels, atau pixels. Namun istilah yang sering digunakan dalam

citra digital adalah pixels (Sutoyo & Mulyanto, 2009).

2.2 Jenis Citra Digital

Nilai suatu piksel memiliki nilai dalan rentang tertentu, dari nilai minimum sampai nilai maksimum. Jangkauan yang digunakan berbeda-beda tergantung dari jenis warnanya, namun secara umum jangkauannya adalah 0-255. Citra dengan penggambaran seperti ini digolongkan ke dalam citra integer (Putra, 2010). Berikut ada jenis-jenis citra berdasarkan nilai pikselnya sebagai berikut :

1. Citra Biner

Citra biner adalah citra digital yang hanya memiliki dua kemungkinan nilai piksel yaitu hitam dan putih. Citra biner juga disebut sebagai citra B&W (black and

white) atau citra monokrom. Hanya dibutuhkan 1 bit untuk mewakili nilai setiap

pixel dari citra biner.

Citra biner seringkali muncul sebagai hasil dari proses pengolahan seperti segmentasi, pengambangan, morfologi, ataupun dithering (Putra, 2010).

Gradasi Warna :

0 1


(61)

Gambar 2.3 Citra Biner

2. Citra abu-abu (Grayscale)

Citra grayscale merupakan citra digital yang hanya memiliki satu nilai kanal pada setiap pikselnya, dengan kata lain nilai bagian RED = GREEN = BLUE. Nilai tersebut digunakan untuk menunjukkan tingkat intensitas. Warna yang dimiliki adalah warna dari hitam, keabuan, dan putih. Tingkatan keabuan di sini merupakan warna abu dengan berbagai tingkatan dari hitam hingga mendekati putih. Citra grayscale berikut memiliki kedalaman warna 8 bit (256 kombinasi warna keabuan) (Putra, 2010). Berikut citra grayscale 2 bit mewakili 4 warna dengan gradasi warna sebagai berikut :

0 1 2 3

Contoh citra abu-abu (grayscale) dapat dilihat pada Gambar 2.4.


(62)

3. Citra warna (RGB)

Citra RGB merupakan jenis citra yang menyajikan warna dalam bentuk komponen R (merah), G (hijau), B (biru). Setiap komponen warna menggunakan delapan bit (nilainya berkisar antara 0 sampai dengan 255). Dengan demikian, kemungkinan warna yang dapat disajikan mencapai 255 x 255 x 255 atau 16.581.375 warna (Kadir & Susanto, 2013). Nilai intensitas warna atau penyusun warna dapat dilihat pada Tabel 2.1 sebagai berikut :

Tabel 2.1 Warna dan nilai penyusunan warna

Warna R G B

Merah 255 0 0

Hijau 0 255 0

Biru 0 0 255

Hitam 0 0 0

Putih 255 255 255

Kuning 0 255 255

Contoh citra warna atau citra RGB dapat dilihat pada gambar 2.5.


(63)

2.3 Format File Citra

Format File citra standar yang digunakan saat ini terdiri dari beberapa jenis. Format ini sering digunakan dalam menyimpan citra pada sebuah file. Setiap format file citra memiliki karakteristik masing-masing (Putra, 2010).

2.3.1 Format bitmap (.bmp)

Format bitmap (.bmp) adalah format penyimpanan standar tanpa kompresi yang umum dapat digunakan untuk menyimpan citra biner hingga citra warna. Format ini terdiri dari beberapa jenis yang setiap jenisnya ditentukan dengan jumlah bit yang digunakan untuk menyimpan sebuah nilai piksel (Putra, 2010). Format ini juga memiliki ukuran yang jauh lebih besar dibandingkan dengan format yang lain. Salah satu contoh citra berwarna dengan format bitmap dapat dilihat pada Gambar 2.6 sebagai berikut.

Gambar 2.6 Citra RGB dengan format bitmap

2.4 Pengolahan Citra Digital

Pengolahan citra digital adalah sebuah disiplin ilmu yang mempelajari hal-hal yang berkaitan dengan perbaikan kualitas gambar (peningkatan kontras, transformasi warna, restorasi citra), transformasi gambar (rotasi, translasi, skala, transformasi geometri), melakukan pemilihan ciri citra (feature images) yang optimal untuk tujuan analisis, melakukan proses penarikan informasi atau dekripsi objek atau pengenalan objek yang terkandung dalam citra, melakukan kompresi atau reduksi data untuk tujuan penyimpanan data, transmisi data, dan waktu proses data. Input dari pengolahan citra adalah citra, dan


(64)

Dalam mempelajari pengolahan citra digital sering kita jumpai empat istilah sebagai berikut (Putra, 2010) :

1. Image Processing memiliki input dan output-nya berupa citra. Sebagai contoh,

suatu citra ditransformasi ke bentuk citra yang lainnya.

2. Image Analysis memiliki input berupa citra dengan output bukan citra akan

tetapi berupa hasil pengukuran terhadap citra tersebut. Sebagai contoh, suatu citra wajah dianalisis untuk mendapatkan fitur wajah seperti jarak kedua mata dan jarak mata dengan hidung.

3. Image Understanding memiliki input berupa citra dengan output-nya adalah

deskripsi tingkat tinggi dari citra tersebut (output bukan berupa citra). Sebagai contoh, diberikan suatu input citra seseorang, keluarannya deskripsi dari orang tersebut dapat berupa seperti : orang tersebut sedang menangis, sedih, senyum, atau tertawa lebar.

4. Computer vision bertujuan untuk mengkomputerisasi penglihatan manusia

atau dengan kata lain membuat citra digital dari citra sebenarnya (sesuai dengan penglihatan manusia). Hal tersebut dapat disimpulkan input dari

computer vision adalah berupa citra penglihatan manusia sedangkan

output-nya berupa citra digital.

2.5 Watermark

Watermark adalah sebuah tulisan atau logo yang biasa ditemukan pada sebuah karya

digital atau manual, watermark ini menunjukkan identitas dari seseorang yang menciptakan karya tersebut. Bentuk dari watermark ini bermacam-macam ada yang berupa tulisan singkat atau ada juga berupa logo yang berisi rincian lengkap dari identitas si pencipta karya. Dengan adanya watermark ini maka pencipta karya sekaligus bisa berpromosi. Data digital tertanam dengan watermark terlihat akan dapat dikenali tapi pola mengganggu hak cipta, dan rincian data host harus tetap ada (Huang & Wu, 2004).


(65)

2.5.1 Jenis-jenis watermark

Citra watermark dapat dibedakan berdasarkan persepsi manusia menjadi beberapa kategori berikut. (Sutoyo & Mulyanto, 2009).

a. Visible watermark

Visible watermark adalah sebuah watermark terlihat persis bahwa itu merupakan

sebuah teks atau logo yang jelas mengidentifikasi pemilik gambar dan itu hak cipta yang biasanya berisi nama fotografer atau situs. Visible watermark adalah cara termudah untuk mengidentifikasikan keaslian dari konten digital sejak tidak adanya perangkat khusus yang diperlukan untuk mengekstrak informasi hak cipta dari konten watermark (Yang, et al. 2008). Salah satu contoh citra berwarna yang telah disisipkan visible watermark dapat dilihat pada Gambar 2.7 sebagai berikut.

Gambar 2.7 Citra visible watermark

b. Invisible watermark

Invisible watermark adalah sebuah watermark tak terlihat oleh mata manusia. Watermark ini agak berbeda dengan watermark pada uang kertas. Watermark

pada uang kertas masih dapat kelihatan oleh mata telanjang manusia (mungkin dalam posisi kertas yang tertentu), tetapi watermarking pada media digital disini dimaksudkan tak akan dirasakan kehadirannya oleh manusia tanpa alat bantu mesin pengolahan digital seperti komputer, dan sejenisnya (Putra, 2008).


(66)

2.6 Perbaikan Kualitas Citra

Perbaikan kualitas citra (image enhancement) adalah suatu proses untuk mengubah sebuah citra menjadi citra baru sesuai dengan kebutuhan melalui berbagai cara. Cara-cara yang bisa dilakukan misalnya dengan fungsi transformasi, operasi matematis, pemfilteran, dan lain-lain. Tujuan utama dari peningkatan kualitas citra adalah untuk memproses citra sehingga citra yang dihasilkan lebih baik daripada citra aslinya untuk aplikasi tertentu. (Sutoyo & Mulyanto, 2009).

Peningkatan kualitas citra dibagi dalam dua kategori, yaitu metode domain spasial (ruang atau waktu) dan metode domain frekuensi. Teknik pemrosesan metode domain spasial adalah berdasarkan manipulasi langsung dari piksel di dalam citra. Sedangkan teknik pemrosesan metode domain frekuensi adalah berdasarkan perubahan transformasi fourier pada citra (Sutoyo & Mulyanto, 2009).

2.6.1 Kernel (mask)

Kernel adalah matrik yang pada umumnya berukuran kecil dengan elemen-elemennya adalah berupa bilangan. Kernel digunakan pada proses konvolusi. Oleh karena itu kernel juga disebut dengan convolution window (jendela konvolusi ). Ukuran kernel dapat berbeda-beda seperti 2x2, 3x3, 5x5, dan sebagainya. Elemen-elemen kernel juga disebut sebagai bobot (weight) merupakan bilangan-bilangan yang membentuk pola tertentu. Kernel juga biasa disebut dengan tapis (filter), template, mask, serta sliding window (Putra, 2010). Gambar 2.8 menyajikan contoh kernel 2x2 dan 3x3. Warna abu-abu pada gambar tersebut menunjukkan pusat koordinat {0,0}, yang pada proses konvolusi menunjukkan koordinat piksel dari citra yang diproses (Putra, 2010).


(67)

1 0

0 1

(a)

(b)

Gambar 2.8 (a) Kernel 2x2 (b) Kernel 3x3

2.6.2 Metode Image Averaging

Metode Image Averaging adalah suatu metode untuk perbaikan kualitas citra (image

enhancement) yang mengambil nilai rata-rata dari nilai piksel pada jendela ketetanggaan.

Metode Image Averaging ini merupakan salah satu metode yang melakukan pencarian nilai rata-rata piksel dari beberapa frame citra pada posisi piksel yang bersesuaian. Pencarian nilai rata-rata piksel dilakukan dengan menjumlahkan nilai piksel yang bersesuaian pada beberapa frame citra yang mengalami transformasi geometris, kemudian membaginya dengan banyaknya frame citra.

Mekanisme metode Image Averaging dengan citra ƒ(x,y) berukuran M x N ini punya nilai 1 di semua piksel, kemudian dikalikan dengan 1/mn. Contoh pemrosesan dengan metode ini dapat kita lihat pada Gambar 2.9 sebagai berikut (Sutoyo & Mulyono, 2009).

ƒ , =

(a)

1 -1 1

-1 4 -1

1 -1 1

(x-1, y-1) (x-1, y) (x-1, y+1) (x, y-1) (x, y) (x, y+1) (x+1, y-1) (x+1, y) (x+1, y+1) M


(68)

1

( , )=

(b)

Gambar 2.9 (a) Citra ƒ(x,y) berukuran M x N dan (b) g(x, y) berukuran 3x3

Maka hasil mekanisme proses metode ini pada titik (x,y) dapat ditulis dalam persamaan (2) :

( , ) = w0. ( , ) + w1. ( −1, −1) + w2. ( −1, ) +

w3. ( −1, + 1) + w4. ( , + 1) + w5. ( + 1, + 1) + ...(2) w6. ( + 1, ) + w7. ( + 1, −1) + w8. ( , −1)

Pada metode ini, nilai intensitas setiap piksel diganti dengan rata-rata dari nilai intensitas piksel tersebut dengan tetangganya. Jumlah tetangga yang dilibatkan tergantung pada matriks kernel yang digunakan.

Metode Image Averaging dengan matriks kernel berukuran 5x5 dan memiliki nilai M = 5, N = 5 dapat dilihat pada persamaan (3) sebagai berikut :

1 1 1 1 1 1 1 1 1 1 , = 1

25 1 1 1 1 1 …...(3) 1 1 1 1 1

1 1 1 1 1

Contoh perhitungan menggunakan metode Image Averaging, misalnya nilai ƒ(x,y) diambil dari sebuah citra dan g(x, y) berukuran 5x5 sebagai berikut :

W1 W2 W3

W8 W0 W4


(69)

Citra RGB 300 x 300 piksel

Intensitas piksel pada matriks 10 x 10 piksel

103 81 73 88 97 78 74 84 80 107 ƒ , = 56 52 56 62 100

52 44 40 67 92

55 55 70 95 109

x

1 1 1 1 1 1 1 1 1 1 , = 1

25 1 1 1 1 1 1 1 1 1 1


(1)

vi

ABSTRAK

Perbaikan kualitas citra merupakan suatu proses pengolahan citra yang sangat diperlukan untuk memperbaiki kualitas citra yang telah rusak dan mengalami penurunan kualitas yang disebabkan oleh beberapa gangguan, salah satunya adalah

watermark. Watermark merupakan suatu hak cipta dapat berupa watermark tampak

(visible watermark). Proses penanaman watermark ini akan mengalami gangguan pada citra pada umumnya berupa variasi intensitas suatu piksel yang tidak berkolerasi dengan piksel-piksel tetangganya, diterapkan secara langsung terhadap piksel citra sehingga secara visual gangguan mudah dilihat oleh mata karena tampak berbeda dengan piksel tetangganya, dan proses penanaman watermark ini memiliki kelemahan terjadinya penurunan kualitas citra. Maka dari itu dilakukan penelitian untuk memperbaiki kualitas citra dari citra yang telah ditanamkan visible watermark dengan menggunakan metode Image Averaging. Dimana pada penelitian ini akan melakukan proses Image Averaging pada daerah piksel yang memiliki visible watermark dengan ukuran 200 x 100 piksel dan ukuran 250 x 150 piksel. Kemudian melakukan proses perhitungan nilai Mean Square Error (MSE) dan Peak Signal to Noise Ratio (PSNR) dengan running time yang menghitung waktu saat proses berlangsung sebagai parameter pembanding pada citra hasil. Penurunan kualitas citra saat ditanamkan

visible watermark dibuktikan dengan besarnya nilai MSE dan kecilnya nilai PSNR

terhadap citra tanpa visible watermark. Kemudian didapatkan nilai MSE yang semakin mengecil dan nilai PSNR yang semakin membesar setelah proses perbaikan menggunakan metode Image Averaging dilakukan. Kinerja metode Image Averaging lebih baik pada perbaikan daerah piksel citra dengan ukuran 200 x 100 piksel dengan memperoleh nilai MSE terkecil yaitu 1.9050 dan nilai PSNR terbesar yaitu 4.5331 dB.

Kata kunci : Kualitas Citra, Image Averaging, Anti Watermarking, Visible

Watermark, Mean Square Error (MSE), Peak Signal to Noise Ratio


(2)

vii

ANALYSIS AND IMPLEMENTATION OF ANTI WATERMARKING FOR IMAGE QUALITY IMPROVEMENT BY USING

THE IMAGE AVERAGING METHOD

ABSTRACT

Image quality improvement is a process of image processing, which is needed to improve the quality of image that has been damaged and deteriorated due to some disturbances, the one of which is watermark. Watermark is a copyright, it can be a visible watermark. The process of embedding this watermark will get disruption in the image, generally the intensity variation of pixels those are not correlated with the pixels neighbor, applied directly to the image pixels so visually interference is easily seen by the eyes because those are looked different from the pixel neighbors, and the process of embedding watermark has the disadvantage like decreasing quality of the image. Therefore this has a goal to improve the image quality that has been embedded visible watermark by using the Image Averaging. Where in this study will make the process Image Averaging the pixel area which has a visible watermark with a size of 200 x 100 pixels and a size of 250 x 150 pixels. Then the process of calculating the value of Mean Square Error (MSE) and Peak Signal to Noise Ratio (PSNR) with a running time that counts the time during the process as a comparison parameter in the image results. A decrease in image quality when embedded visible watermark evidenced by the large value of MSE and the small value of PSNR to the image without visible watermark. Then obtained shrinking MSE value and growing PSNR value after the process improvement by using Image Averaging has been done. Image Averaging method perform is better on improve area pixel image with a size of 200 x 100 pixels with the smallest MSE value obtained is 1.9050 and the largest PSNR value is 4.5331 dB.

Keywords : Image Quality, Image Averaging, Anti Watermarking, Visible Watermark, Mean Square Error (MSE), Peak Signal to Noise Ratio (PSNR)


(3)

viii

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak vi

Abstract vii

Daftar isi viii

Daftar Gambar x

Daftar Tabel xi

Bab 1 Pendahuluan

1.1Latar Belakang 1

1.2Rumusan Masalah 2

1.3Batasan Masalah 2

1.4Tujuan Penelitian 3

1.5Manfaat Penelitian 3

1.6Metodologi Penelitian 3

1.7Sistematika Penulisan 4

Bab 2 Landasan Teori

2.1 Pengenalan Citra 6

2.1.1 Citra Analog 6

2.1.2 Citra Digital 7

2.2 Jenis Citra Digital 9

2.3 Format File Citra 12

2.3.1 Format bitmap (.bmp) 12

2.4 Perngolahan Citra Digital 12

2.5 Watermark 13

2.5.1 Jenis-jenis Watermark 14

2.6 Perbaikan Kualitas Citra 15


(4)

ix

3.1.3 Analisis Proses 25

3.2Pemodelan 25

3.2.1 Use Case Diagram 25

3.2.2 Sequence Diagram 29

3.2.3 Activity Diagram 30

3.3Pseudocode Program 31

3.3.1 Pseudocode Image Averaging 31 3.3.2 Pseudocode Menghitung nilai MSE dan PSNR 32

3.4Perancangan sistem 32

3.4.1 Flowchart Sistem 32

3.4.2 Perancangan Antarmuka (Interface) Sistem 35

3.4.2.1Form Home 36

3.4.2.2Form Implementation 36

3.4.2.3Form Help 39

3.4.2.4Form About 40

Bab 4 Implementasi dan Pengujian Sistem

4.1Implementasi Sistem 41

4.1.1 Menu Home 41

4.1.2 Menu Implementation 42

4.1.3 Menu Help 44

4.1.4 Menu About 44

4.2Pengujian 45

4.2.1 Pengujian Image Averaging 46 4.2.1.1 Image Averaging 200 x 100 piksel 46 4.2.1.2 Image Averaging 250 x 150 piksel 50

4.2.2 Pengujian Analisis Citra 52

4.3 Hasil Pengujian 54

4.3.1 Hasil Pengujian Image Averaging 56 Bab 5 Kesimpulan dan Saran

5.1Kesimpulan 61

5.2Saran 62

Daftar Pustaka 63

Listing Program A-1


(5)

x DAFTAR GAMBAR

Nomor gambar Keterangan Halaman

2.1 Citra Analog 7

2.2 Koordinat Citra Digital 8

2.3 Citra Biner 10

2.4 Citra abu-abu (grayscale) 10

2.5 Citra warna (RGB) 11

2.6 Citra RGB dengan format bitmap 12

2.7 Citra visible watermark 14

2.8 (a) Kernel 2x2 (b) Kernel 3x3 16

2.9 (a) Citra f(x,y) berukuran M x N (b) g(x,y) berukuran 3x3 17

3.1 Diagram Ishikawa Sistem 23

3.2 Diagram Use Case 26

3.3 Sequence Diagram 29

3.4 Activity Diagram 30

3.5 Flowchart sistem 33

3.6 Flowchart Image Averaging 34

3.7 Flowchart MSE dan PSNR 35

3.8 Form Home 36

3.9 Form Implementation 37

3.10 Form Help 39

3.11 Form About 40

4.1 Menu Home 42

4.2 Menu Implementation 43

4.3 Simulasi Menu Implementation 43

4.4 Menu Help 44

4.5 Menu About 45

4.6 Pilih Menu Implementation 46

4.7 Browse citra *.bmp pada file direktori 47

4.8 Hasil input citra visible watermark 48 4.9 Hasil citra daerah visible watermark 200 x 100 piksel 49


(6)

xi DAFTAR TABEL

Nomor tabel

Keterangan Halaman

2.1 Warna dan nilai penyusun warna 11 3.1 Dokumentasi Naratif Use Case Diagram pada Home 26 3.2 Dokumentasi Naratif Use Case Diagram pada Implementation 27 3.3 Dokumentasi Naratif Use Case pada Help 28 3.4 Dokumentasi Naratif Use Case About 28

3.5 Pseudecode Image Averaging kernel 5x5 31

3.6 Pseudocode nilai MSE dan PSNR 32

4.1 Daftar citra asli tanpa visible watermark 55

4.2 Daftar citra visible watermark 56