Anda di halaman 1dari 18

TUGAS KELOMPOK

PENGOLAHAN CITRA DIGITAL

ALGORITMA KOMPRESI DAN PROSES WATERMARKING

Disusun untuk Memenuhi Tugas Diskusi Kelompok pada


Mata Kuliah Pengolahan Citra Digital Semester Lima yang
Diampu oleh Dr. Retno Kusumaningrum, M.Kom
Disusun oleh:
Rizki Syafwan Asykari

24010313120003

Sanggam Andreas H

24010313120018

Mariza Putri Sari Dewi N

24010313120022

Muhammad Luqman Fikri

24010313120043

JURUSAN ILMU KOMPUTER/ INFORMATIKA


FAKULTAS SAINS DAN MATEMATIKA
UNIVERSITAS DIPONEGORO
2016
TUGAS
SOAL 1
Jelaskan berbagai algoritma kompresi citra berikut ini, yaitu :

Algoritma Pemampatan Kuantisasi (Quantizing Compression)

Algoritma RLE (Run Length Encoding)

Algoritma LZW (Lempel-Ziv-Welch)

Kemudian terapkan kedua algoritma tersebut untuk citra grayscale 3 bit berukuran 10 10 piksel
Aturan

Dikumpulkan pada saat UAS Mata Kuliah Pengolahan Citra Digital dalam format Hard Copy

Dikerjakan secara berkelompok

1 Kelompok terdiri atas 5 orang (maksimal)

Dijilid dan diberi cover dengan mencantumkan nama dan nim anggota kelompok

Citra yang digunakan sebagai sampel perhitungan secara manual bebas dengan
ketentuan 3 bit grayscale dan berukuran 10 10 piksel

SOAL 2

Buatlah resume untuk proses watermarking!

PEMBAHASAN
Jawaban
1. Algoritma Pemempatan Kuantisasi
a. Algoritma
Metode ini mengurangi jumlah derajat keabuan, misalnya dari 256 menjadi 16,
yang tentu saja mengurangi jumlah bit yang dibutuhkan untuk merepresentasikan
citra.
Algoritma metode kuantisasi:
Buat histogram citra semula (citra yang akan dimampatkan).
Identifikasi n buah kelompok di dalam histogram sedemikian sehingga setiap
kelompok mempunyai kira-kira P/n buah pixel.
Nyatakan setiap kelompok dengan derajat keabuan 0 sampai n 1. Setiap pixel
di dalam kelompok dikodekan kembali dengan nilai derajat keabuan yang baru.
Teknik kompresi Quantizing Compression bersifat lossy dan digunakan untuk
mereduksi data dengan asumsi bahwa perubahan data tidak akan berpengaruh
banyak pada informasi. Kompresi ini dilakukan dengan menggunakan matrik
kuantisasi, matrik kuantisasi adalah konversi nilai matrik tersebut.
b. Contoh Penerapan
Diberikan citra asli sebagai berikut :

3
1
0
1
5
1
2
0
6
2

4
2
3
1
1
1
3
0
6
2

1
2
3
3
0
1
3
4
6
1

2
5
3
3
0
3
4
4
3
5

2
5
1
4
2
4
5
1
3
5

4
5
2
4
2
5
6
1
2
1

5
6
7
6
4
6
6
3
2
3

6
6
7
6
4
6
7
3
1
2

7
1
2
5
6
7
7
5
0
1

7
0
4
7
6
1
1
5
6
1

Selanjutnya hitung banyaknya jumlah piksel dengan derajat keabuan n


Derajat Keabuan

Banyaknya Derajat keabuan dalam citra

7 Buah

19 Buah

14 Buah

14 Buah

11 Buah

12 Buah

15 Buah

8 Buah

Total

100 Buah

Terdapat 100 piksel, dikelompokkan menjadi 4 kelompok derajat keabuan, tiap


kelompok ada sebanyak 100:4 = 25 piksel per kelompok. Hasilnya adalah :
Banyaknya Jumlah

Derajat Kebuan

Piksel (buah)

19

14

14

11

12

15

Jumlah total Piksel

Derajat Keabuan

26

28

23

23

Citra Setelah Pemampatan


1
0
0
0
2
0
1
0
3
1

2
1
1
0
0
0
1
0
3
1

0
1
1
1
0
0
1
2
3
0

1
2
1
1
0
1
2
2
1
2

1
2
0
2
1
2
2
0
1
2

2
2
1
2
1
2
3
0
1
0

2
3
3
3
2
3
3
2
1
1

3
3
3
3
2
3
3
1
0
1

3
0
1
2
3
3
3
2
0
0

3
0
2
3
3
0
0
2
3
0

2. Algortima RLE
a. Algoritma
Metode RLE cocok digunakan untuk memampatkan citra yang memiliki
kelompok-kelompok pixel berderajat keabuan sama. Pemampatan citra dengan
metode RLE dilakukan dengan membuat rangkaian pasangan nilai (p, q) untuk
setiap baris pixel, nilai pertama (p) menyatakan derajat keabuan, sedangkan nilai
kedua (q) menyatakan jumlah pixel berurutan yang memiliki derajat keabuan
tersebut (dinamakan run length).
b. Contoh Penerapan 1
Tinjau citra 10 10 pixel dengan 8 derajat keabuan yang dinyatakan sebagai
matriks derajat keabuan sebagai berikut
0 0 0 0 0 2 2 2 2 2
0 0 0 1 1 1 1 2 2 2
1 1 1 1 1 1 1 1 1 1
4 4 4 4 3 3 3 3 2 2
3 3 3 5 5 7 7 7 7 6
2 2 6 0 0 0 0 1 1 0
3 3 4 4 3 2 2 2 1 1
0 0 0 0 0 0 0 0 1 1
1 1 1 1 0 0 0 2 2 2
3 3 3 2 2 2 1 1 1 1
semuanya ada 100 buah nilai.
Pasangan nilai untuk setiap baris run yang dihasilkan dengan metode pemampatan
RLE:
(0, 5), (2, 5)
(0, 3), (1, 4), (2, 3)
(1, 10)
(4, 4), (3, 4), (2 2)
(3, 3), (5, 2), (7, 4), (6, 1)
(2, 2), (6, 1), (0, 4), (1, 2), (0, 1)
(3, 2), (4, 2), (3, 1), (2, 2), (1, 2)
(0, 8), (1, 2)

(1, 4), (0, 3), (2, 3)


(3, 3), (2, 3), (1, 4)
semuanya ada 31 pasangan nilai atau 31 2 = 62 nilai
Ukuran citra sebelum pemampatan (1 derajat keabuan = 3 bit) adalah 100 3 bit =
300 bit, sedangkan ukuran citra setelah pemampatan (derajatk keabuan = 3 bit, run
length = = 4 bit):
(31 3) + (31 4) bit = 217 bit

c. Contoh Penerpan 2
Versi lain dari metode RLE adalah dengan menyatakan seluruh baris citra menjadi
sebuah baris run, lalu menghitung run-length untuk setiap derajat keabuan yang
berurutan. Sebagai contoh, tinjau sebuah citra sebagai berikut:
0

Nyatakan sebagai barisan nilai derajat keabuan:


00000222220001111222111111111144443333223335
57777622600001103344322211000000001111110002
223332221111
semuanya ada 100 nilai.
Pasangan nilai dari run yang dihasilkan dengan metode pemampatan RLE:
(0, 5) (2, 5) (0, 3) (1, 4) (2, 3) (1, 10) (4, 4) (3, 4) (2 2) (3, 3) (5, 2) (7, 4) (6, 1)
(2, 2) (6, 1) (0, 4) (1, 2) (0, 1) (3, 2) (4, 2) (3, 1) (2, 2) (1, 2) (0, 8) (1, 2) (1, 4)
(0, 3) (2, 3)

(3, 3) (2, 3) (1, 4)


semuanya ada 31 pasangan nilai atau 31 2 = 62 nilai
Hasil pengkodean:
0 5 2 5 0 3 1 4 2 3 1 10 4 4 3 4 2 2 3 3 5 2 7 4 6 1 2 2 6 1 0 4 1 2 0 1 3 2 4 2 3 1 2
2120812140323332314

3. Algoritma LZW
a. Algoritma
Algoritma LZW merupakan algoritma kompresi yang bersifat lossless dan
menggunakan metode dictionary. LZW akan membentuk dictionary selama proses
kompresinya belangsung kemudian setelah selesai maka dictionary tersebut tidak ikut
disimpan dalam file yang telah terkompresi. Prisinp kompresi akan terjadi ketika besar
bit untuk dictionary yang telah ditentukan menggantikan deretan karakter
atau string yang terbentuk sedangkan dalam proses dekompresinya untuk memperoleh
hasil

yang sama

dengan

file

sebelum dikompresi

LZW akan

membuat

kembali dictionary selama proses dekompresinya berlangsung.


Sehingga dapat dijelaskan bahwa Prinsip umum kerja algoritma LZW adalah
mengecek setiap karakter yang muncul kemudian menggabungkan dengan karakter
selanjutnya menjadi sebuah string jika string baru tersebut tidak berada
dalam dictionary atau belum diindekkan maka string baru tersebut akan diindekkan ke
dalam dictionary.
Dari algoritma LZW dapat dijelaskan bahwa :
i.

Inisialisasi input stream yang mengandung karakter-karekter dasar [A.. Z,


a..z,0.9].

ii.

iii.

Membaca karakter dari input stream

P Karakter pertama dalam tream karakter

C Karakter berikutnya dalam stream karakter

Jika EOF maka menuju langkah 5.

Gabungkan karater awal dengan karakter yang dibaca [P+C] selanjutnya


menjadi sebuah string.

iv.

Lihat Kondisi Dictionary


Jika string yang terbentuk telah mempunyai indek di dalam dictionary
maka gabungkan karakter sebelumnya dengan karakter yang dibaca atau string
yang telah terbentuk (P=P+C gabungan P dan C) menjadi sebuah string
baru.
Jika string baru ini tidak ada dalam dictionary maka
o Output sebuah kode untuk menggantikan string P.
o Tambahkan string (P+ C) ke dalam dictionary dan berikan nomor/kode
berikutnya yang belum digunakan dalam dictionary untuk string tersebut.
o P <- C.

v. Lakukan pengecekan apakah masih ada karakter berikutnya dalam stream


karakter.
Jika ya, maka kembali ke langkah 2.
Jika tidak, maka output kode yang menggantikan string W, lalu terminasi
proses (stop).
b. Contoh Penerapan 1
String ABBABABAC akan dikompresi dengan LZW. Isi pada dictionary diset dengan tiga
karakter dasar yang ada yaitu: A, B, dan C.

Kolom posisi menyatakan posisi sekarang dari stream karakter dan kolom
karakter menyatakan karakter yang terdapat pada posisi tersebut.
Kolom dictionary menyatakan string baru yang sudah ditambahkan ke dalam
dictionary dan nomor indeks untuk string tersebut ditulis dalam kurung siku.
Kolom output menyatakan kode output yang dihasilkan oleh langkah kompresi.
Hasil Proses Kompresi

c. Contoh Penerapan 2
String ABACCDA akan dikompresi dengan LZW. Isi dictionary pada awal
proses diset dengan tiga karakter dasar yang ada: A, B, C, D.

Stream Karakter -> Kode Output


A = [1]
B = [2]
A = [1]
C = [3]
C = [3]
D = [4]
A = [1]
Frasa baru yang di tambahkan ke dalam kamus
5 = AB
6 = BA
7 = AC
8 = CC
9 = CD

A. SOAL 2
Soal
Buatlah resume untuk proses watermarking!
Jawaban
1. Pengertian
Masalah penyalahgunaan hak cipta pada bidang multimedia tidak hanya
mengenai penggandaan dan pendistribusiannya saja, tetapi juga mengenai label
kepemilikan. Salah satu cara untuk melindungi hak cipta multimedia adalah dengan
menyisipkan informasi ke dalam data multimedia tersebut dengan teknik
watermarking
Watermark adalah penyisipan informasi kedalam data multimedia dapat berupa
teks, logo, suara, atau video. Pada dasarnya, teknik watermarking melakukan
proses penambahkan kode identifikasi secara permanen ke dalam data digital. Kode
yang disisipkan seharusnya memiliki ketahanan (robustness) dari berbagai
pemrosesan lanjutan seperti pengubahan, transformasi geometri, kompresi,
enkripsi, dan sebagainya.
Pemberian signature dengan teknik watermarking ini disisipkan tanpa merusak
data digital yang dilindungi. Sehingga, pihak lain yang membuka produk
multimedia yang sudah disisipi watermark tidak menyadari kalau di dalam data
multimedia tersebut terkandung label kepemilikan pembuatnya.
2. Tujuan Watermarking
a. perlindungan copyright/kepemilikan
b. fingerprinting
c. otentikasi (integritas content)
d. Tamper-proofing. Watermarking digunakan sebagai alat untuk mengidentifikasi
atau menunjukkan bahwa data digital telah mengalami perubahan dari aslinya.
e. Feature location. Watermarking digunakan untuk mengidentifikasi isi dari data
digital pada lokai-lokasi tertentu.
f. Annotation/caption. Watermarking digunakan hanya sebagai keterangan tentang
data digital itu sendiri.

3. Syarat Watermarking
a. imperceptible: watermark tidak dapat dipersepsi secara visual/auditori karena
watermark tidak boleh merusak kualitas media host.

b. robustness: kokoh terhadap manipulasi yang ditujukan untuk merusak atau


menghapus watermark.
c. secure: hanya pihak yang punya otoritas dapat mengakses watermark.

4. Perbedaan Steganografi dan Watermarking


Watermark merupakan aplikasi dari steganografi.
Steganografi

Watermarking

Tujuan: mengirim pesan rahasia Tujuan:


apapun

tanpa

menimbulkan

perlindungan

pembuktian

kepemilikan

(ownership), fingerprinting

kecurigaan

Persyaratan: aman, sulit dideteksi, Persyaratan:


sebanyak

copyright,

mungkin

menampung

pesan (large capacity)


Komunikasi: point-to-point
Informasi rahasia disembunyikan di

robustness,

sulit

dihapus (remove)
Komunikasi: one-to-many
Media penampung justru yang diberi
proteksi, watermark tidak rahasia,

dalam media digital dan media

tidak

mementingkan

penampung tidak punya arti apa-apa

watermark

kapasitas

(meaningless)
5. Jenis Jenis Watermarking
Bergantung media yang di-watermark, watermarking ada beberapa jenis:
a.

Text Watermarking
Watermark berupa teks mengandung kelemahan karena kesalahan satu
bit akan menghasilkan hasil teks yang berbeda pada waktu verifikasi
(ektraksi).

b.

Audio Watermarking
Watermark berupa suara atau citra lebih disukai karena kesalahan pada
beberapa bit watermark tidak menghasilkan perubahan yang berarti pada
waktu verifikasi.

c.

Image Watermarking

d. Video Watermarking
6. Metode Watermarking
a. Metode LSB
Mengganti bit LSB dengan bit data.
11010010
MSB

LSB

LSB = Least Significant Bit


MSB = Most Siginificant Bit
Mengubah bit LSB hanya mengubah nilai byte satu lebih tinggi atau satu
lebih rendah dari nilai sebelumnya.
Contoh Pengaplikasian Metode
LSB Misalkan sebagian pixel adalah
citra
00110011

10100010

11100010

01101111

(sekelompok pixel berwarna merah)


Misalkan watermark: 0111
Encoding:
00110010

10100011

11100011

01101111

(pixel berwarna merah berubah sedikit)


Kelemahan:
1. Tidak kokoh terhadap perubahan
2. Mmudah dihapus dengan mengganti semua bit LSB dari media berwatermark.
b. Metode spread spectrum
Spread spectrum dapat dilakukan dalam 2 ranah:
1. Ranah spasial
Menyisipkan watermark langsung pada nilai byte dari pixel citra.
2. Ranah transform
Menyisipkan watermark pada koefisien transformasi dari citra.

Penyisipan Watermark

Pendeteksian Watermark

Kelemahan: perlu citra asli untuk deteksi watermark (non-blind watermarking).


Kelebihan: kokoh terhadap
okonversi analog-ke-digital
oKonversi digital-ke-analog
oCropping
oKompresi, rotasi, translasi, dan penskalaan
c. Metode Adaptif, dsb.

7. Penyisipan Watermark
Proses penyisipan watermark ke dalam citra disebut encoding. Encoding dapat
disertai dengan pemasukan kunci atau tidak memerlukan kunci. Kunci diperlukan
agar watermark hanya dapat diekstraksi oleh pihak yang sah. Kunci juga
dimaksudkan untuk mencegah watermark dihapus oleh pihak yang tidak berhak.
Ek (I , w) I
Watermark (w)

Watermark
Encodi
Embedding
ng

Citra (I)

Citra
ber-watermark
(I)

Kunci
(k)

8. Contoh Pengaplikasian

Citra semula

Watermark
Citra ber-watermark
Gambar diatas merupakan sebuah gambar (image) paprika yang disisipi

dengan watermark berupa gambar hitam putih yang menyatakan identifikasi


pemiliknya (Shanty). Perhatikanlah bahwa setelah disisipi watermark, gambar
paprika tetap kelihatan mulus, seolah-olah tidak pernah disisipi watermark
sebelumnya. Sebenarnya tidaklah demikian, gambar paprika tersebut mengalami
sedikit perubahan akibat watermarking, namun mata manusia mempunyai sifat
kurang peka

terhadap perubahan kecil ini, sehingga manusia sulit untuk membedakan mana
gambar yang asli dan mana gambar yang sudah disisipi watermark.
9. Verifikasi Watermark
Verifikasi watermark terdiri atas dua sub-proses, yaitu:
a. Ekstraksi watermark
Sub-proses

ekstraksi

watermark

disebut

juga

decoding,

bertujuan

mengungkap watermark dari dalam citra. Decoding dapat mengikutsertakan


citra asal (yang belum diberi watermark) atau tidak sama sekali, karena
beberapa skema watermarking memang menggunakan citra asal dalam proses
decoding untuk meningkatkan unjuk kerja yang lebih baik.
b. Pembanding
Sub-proses pembandingan bertujuan membandingkan watermark yang
diungkap dengan watermark asli dan memberi keputusan tentang watermark
tersebut.

DAFTAR PUSTAKA
Munir,

Rinaldi.2004.Pengolahan

Citra

Digital

Algoritmik.Bandung:Penerbit Informatika Bandung

dengan

Pendekatan

Anda mungkin juga menyukai