SlideShare a Scribd company logo
BAB PVD
Algoritma Pixel
Value
Differencing
(PVD)
Setelah bab ini berakhir, diharapkan pembaca
mendapatkan berbagai pengetahuan berikut dan mampu
mempraktikkannya.
 Konsep Dasar Steganografi
 Konsep Pixel Value Differencing (PVD)
 Praktik membuat program sederhana Steganografi
menggunakan PVD
Pengertian Steganografi
Steganografi merupakan seni untuk menyembunyikan pesan di dalam media digital
sedemikian rupa sehingga orang lain tidak menyadari ada sesuatu pesan di dalam media
tersebut. Kata steganografi (steganography) berasal dari bahasa Yunani steganos yang berarti
“tersembunyi/terselubung” dan grephien “menulis” sehingga kurang lebih artinya “menulis
(tulisan) terselubung” (Sutoyo,dkk, 2009;244).
Pixel Value Differencing (PVD)
Menurut Andono (2016) menyatakan bahwa Dasar dari algoritma PVD adalah mencari
selisih dua pixel berdekatan yang digunakan untuk menghitung kapasitas pesan. Berikut
konsep dari metode PVD :
1) Metode ini bekerja pada sepasang nilai piksel yang bertetanggaan (adjacent pixel).
2) Proses penyisipan informasi dilakukan dengan memodifikasi selisih nilai piksel (Pixel
Value Differencing) sesuai dengan nilai bit pesan dan tabel kuantisasi selisih nilai
keabuan
3) Kuantisasi nilai keabuan digunakan untuk menentukan jumlah bit yang akan disisipkan
pada selisih nilai tertentu
Praktikum membuat program PVD menggunakan Matlab :
1. Siapkan program matlab di PC/Laptop anda masing-masing
2. Siapkan image : ‘absam.png’
3. Ketikkan skrip program di bawah ini :
clc;
clear all;
close all;
%masukkan pesan rahasia
Pesan = input('Masukkan Pesan [Maksimal 20 Karakter] : ', 's');
%jika panjang pesan > 20 maka yang diambil hanya 20 karakter saja
if length(Pesan) > 20, Pesan = Pesan(1:20), end;
%pesan teks dijadikan angka
Pesan=uint8(Pesan);
%hitung panjang pesan
panjang_Pesan = length(Pesan);
%baca citra penampung
citra=imread('absam.png');
%jika citra penampung RGB maka ubah dulu menjadi grayscale
if size(citra,3)==3
citra=rgb2gray(citra);
end
%ambil nilai baris dan kolom
[baris,kolom]=size(citra);
%matriks citra dijadikan 1 baris simpan ke dalam stego
stego=citra(:);
%ukur panjang nilai citra pada stego image
panjang_stego=length(stego);
%convert pesan menjadi biner
bit_pesan=[];
for i=1:panjang_Pesan
biner=dec2bin(Pesan(i),8);
bit_pesan = [bit_pesan biner];
end
%ambil nilai panjang bit pesan
panjang_bit_pesan = length(bit_pesan);
ambil_bit_pesan=[];
%proses penyisipan pesan
%nilai awal n
n=0;
for i=1:2:panjang_stego
%hitung nilai d (selisih piksel bertetanggan)
d=stego(i+1)-stego(i);
%untuk tabel kuantisasi
if 0 <= d <= 7; LK=0; n=3;end
if 8 <= d <= 15; LK=8; n=3;end
if 16 <= d <= 31; LK=16; n=4;end
if 32 <= d <= 63; LK=32; n=5;end
if 64 <= d <= 127; LK=64; n=7;end
if 128 <= d <= 255; LK=128; n=7;end
if n > length(bit_pesan);
break
end
ambil_bit_pesan=bit_pesan(1:n);
bit_pesan=bit_pesan(n+1:end);
%proses menghitung nilai b (pesan)
b=bin2dec(ambil_bit_pesan);
if d >= 0; d1 = LK +b; else d1 = -(LK+b); end
%hitung nilai m
m = d1-d; bawah=floor(m/2); atas=ceil(m/2);
%jika m nilainya ganjil
if mod(m,2)==1, stego(i)=stego(i) - atas;
stego(i+1)=stego(i+1)+bawah;
end
%jika m nilainya genap
if mod(m,2)==0, stego(i)=stego(i) - bawah;
stego(i+1)=stego(i+1)+atas;
end
end
%membentuk stego image berdasarkan proses pada variabel 'stego'
stego=reshape(stego, [baris kolom]);
%Tampilkan Cover Image dan Stego Image
figure(1); imshow(citra),title('Cover Image');
figure(2); imshow(stego), title('Stego Image');
bit_pesan = [bit_pesan ubah_b];
end
4. Eksekusi/Run Program anda maka menampilkan hasil sebagai berikut :
5. Ketikkan karakter pesan yang anda inginkan, tetapi dalam program ini baru dibatasi
maksimal 20 karakter, lalu tekan enter dan akan muncul tampilan Cover Image (Figure
1) dan Stego Image (Figure 2)
%proses ekstraksi pesan
bit_pesan=[];
ambil_bit_pesan=[];
for i=1:2:panjang_stego
if length(bit_pesan)==panjang_bit_pesan, break, end
%hitung nilai d
d=stego(i+1)-stego(i);
%untuk tabel kuantisasi
if 0 <= d <= 7; LK=0; n=3;end
if 8 <= d <= 15; LK=8; n=3;end
if 16 <= d <= 31; LK=16; n=4;end
if 32 <= d <= 63; LK=32; n=5;end
if 64 <= d <= 127; LK=64; n=7;end
if 128 <= d <= 255; LK=128; n=7;end
%hitung nilai b(pesan)
b = abs(d)-LK;
ubah_b = dec2bin(b);
bit_pesan = [bit_pesan ubah_b];
end
Pesan2=[];
%ubah pesan biner menjadi desimal
for i=1:8:panjang_bit_pesan
a=char(bin2dec(bit_pesan(1:8)));
Pesan2=[Pesan a];
end
%tampilkan hasil ekstraksi pesan
disp(['Hasil Ekstraksi Pesan = ', Pesan2(1:end-1)]);
6. Perhatikan kedua gambar tesebut, nyaris tidak ada perbedaan antara Cover Image dan
Stego Image.
7. Kualitas algoritma steganografi, salah satunya adalah tidak adanya perbedaan secara
signifikan antara cover image dan stego image

More Related Content

PDF
Praktiktum lsb matlab
PDF
PPTX
Steganografi
PDF
Kriptografi - Steganografi
PDF
Materi Pelatihan_Steganografi Metode LSB
PPT
PDF
steganografi gambar dan teks
PDF
10.kompresi citra
Praktiktum lsb matlab
Steganografi
Kriptografi - Steganografi
Materi Pelatihan_Steganografi Metode LSB
steganografi gambar dan teks
10.kompresi citra

Similar to Praktiktum pvd matlab (20)

PDF
Jurnal Journal - Kombinasi Steganografi Berbasis Bit Matching dan Kriptograf...
PDF
Sniper 2009-penyembunyian-dan-pengacakan-data
PDF
MAKALAH - IMPLEMENTASI ALGORITMA BLOWFISH DAN METODE LEAST SIGNIFICANT BIT IN...
PPTX
Keamanan__Multimedia [Autosaved].pptx
PDF
Jurnal cathrine0806083206
PDF
02.26. Menggambar Lingkaran Dan Menampilkan Luas Menggunakan Bahasa Pemrogram...
PDF
Makalah seminar nasional matematika 2012 pgri
PPTX
Materi Pengolahan Citra Digital Fitur Biner.pptx
PDF
Number Systems in Computer Systems
DOCX
Tugasss 2
PPT
PRESENTASI KRIPTOGRAFI KUNCI PUBLIK..ppt
PDF
02 publikasi-ilmiah-basuki-rakhmat-06111231-isi
PDF
Danang Jaya, Query Adika Rezylana - “Steganografi DCT dengan Memanfaatkan Apl...
DOCX
Makalah Sinyal digital dan analog
DOCX
Tugass 1
DOCX
PDF
Metodologi dan pengujian pada image steganografi
PDF
03.01. Luas Segilima Menggunakan Bahasa Pemrograman Python
DOCX
Tugas penulisan karya ilmiah
PPTX
Kriptografi pertemuan ke-15-steganografi dan watermarking
Jurnal Journal - Kombinasi Steganografi Berbasis Bit Matching dan Kriptograf...
Sniper 2009-penyembunyian-dan-pengacakan-data
MAKALAH - IMPLEMENTASI ALGORITMA BLOWFISH DAN METODE LEAST SIGNIFICANT BIT IN...
Keamanan__Multimedia [Autosaved].pptx
Jurnal cathrine0806083206
02.26. Menggambar Lingkaran Dan Menampilkan Luas Menggunakan Bahasa Pemrogram...
Makalah seminar nasional matematika 2012 pgri
Materi Pengolahan Citra Digital Fitur Biner.pptx
Number Systems in Computer Systems
Tugasss 2
PRESENTASI KRIPTOGRAFI KUNCI PUBLIK..ppt
02 publikasi-ilmiah-basuki-rakhmat-06111231-isi
Danang Jaya, Query Adika Rezylana - “Steganografi DCT dengan Memanfaatkan Apl...
Makalah Sinyal digital dan analog
Tugass 1
Metodologi dan pengujian pada image steganografi
03.01. Luas Segilima Menggunakan Bahasa Pemrograman Python
Tugas penulisan karya ilmiah
Kriptografi pertemuan ke-15-steganografi dan watermarking
Ad

More from dedidarwis (20)

PDF
Cv dedi darwis
PDF
Manajemen pengetahuan
PDF
Metadata pada Data Warehouse
PDF
Siklus Pendapatan
PDF
Pengendalian SIA Berbasis Komputer
PDF
Sistem Pengendalian Internal
PDF
Model data dan desain database
PDF
Pengantar e-business
PDF
Siklus sistem informasi akuntansi
PDF
Konsep Dasar Sistem Informasi Akuntansi
PDF
Pert 14 publikasi hasil penelitian
PDF
Pert 13 pengujian hasil penelitian
PDF
Pert 13 pengujian hasil penelitian
PDF
Pert 12 metode eksperimen
PDF
Pert 11 kesalahan penelitian
PDF
Slide trik skripsi ftik s1
PDF
Pert 9 proposal penelitian
PDF
Pert 6 literatur review
PDF
Pert 5 pengolahan data
PDF
Pert 5 pengumpulan-data
Cv dedi darwis
Manajemen pengetahuan
Metadata pada Data Warehouse
Siklus Pendapatan
Pengendalian SIA Berbasis Komputer
Sistem Pengendalian Internal
Model data dan desain database
Pengantar e-business
Siklus sistem informasi akuntansi
Konsep Dasar Sistem Informasi Akuntansi
Pert 14 publikasi hasil penelitian
Pert 13 pengujian hasil penelitian
Pert 13 pengujian hasil penelitian
Pert 12 metode eksperimen
Pert 11 kesalahan penelitian
Slide trik skripsi ftik s1
Pert 9 proposal penelitian
Pert 6 literatur review
Pert 5 pengolahan data
Pert 5 pengumpulan-data
Ad

Recently uploaded (20)

PPTX
1 Peraturan Perundangan terkait Keselamatan Konstruksi 18.10 - Copy.pptx
PPTX
PEMBUATAN PANEL TRAINER DAN PROTOTYPE UNTUK PENINGKATAN KOMPETENSI TENTANG S...
PDF
MAINKAN GAME KESUKAN KALIAN DI TANGKI 4D DI JAMIN WD DAN CLIAM BONUSNYA
PPTX
presentasi pekerjaan pembangunan jaringan irigasi
PDF
07. Mekanisme Penyusunan RKM_Sanimas 2024 (Tahap 2).pptx.pdf
PPTX
20240805-ppt-pendahuluan-temef-dan-manikin.pptx
PPT
Penanganan motor starter pada dunia otomotif
PPT
08_Sistem-Penilaian-Kesesuaian_BW_1708071.ppt
PPTX
SAFETY INDUCTION untuk perusahaan konstruksi
PPTX
TOPOLOGI JARINGAN STAR TEKNIK INFORMATIKA
PPTX
2013materistudiumgeneralkabsndiunsri-130318044328-phpapp01.pptx
PPT
electronic fuel injection for automotive sectors
PPTX
7-presentasi-pk-metrologi-141030010022-conversion-gate01.pptx
PPTX
PPT - Materi Paparan Lapdal RP3KP Paser.pptx
PDF
12. Mekanisme Pelaporan Kegiatan Sanimas_rev08082024.pptx.pdf
PPT
variabel valve timing intelligence untuk xenia
PDF
chapter 1 Smith and Van ness thermodynamics
PPT
hand-tools-service-special-tools-alat-ukur.ppt
PPTX
Pengenalan SPALDT_SPALDS_Karanganyar.pptx
PPTX
SISTEM_INFORMASI_GEOGRAFIS_unlocked.pptx
1 Peraturan Perundangan terkait Keselamatan Konstruksi 18.10 - Copy.pptx
PEMBUATAN PANEL TRAINER DAN PROTOTYPE UNTUK PENINGKATAN KOMPETENSI TENTANG S...
MAINKAN GAME KESUKAN KALIAN DI TANGKI 4D DI JAMIN WD DAN CLIAM BONUSNYA
presentasi pekerjaan pembangunan jaringan irigasi
07. Mekanisme Penyusunan RKM_Sanimas 2024 (Tahap 2).pptx.pdf
20240805-ppt-pendahuluan-temef-dan-manikin.pptx
Penanganan motor starter pada dunia otomotif
08_Sistem-Penilaian-Kesesuaian_BW_1708071.ppt
SAFETY INDUCTION untuk perusahaan konstruksi
TOPOLOGI JARINGAN STAR TEKNIK INFORMATIKA
2013materistudiumgeneralkabsndiunsri-130318044328-phpapp01.pptx
electronic fuel injection for automotive sectors
7-presentasi-pk-metrologi-141030010022-conversion-gate01.pptx
PPT - Materi Paparan Lapdal RP3KP Paser.pptx
12. Mekanisme Pelaporan Kegiatan Sanimas_rev08082024.pptx.pdf
variabel valve timing intelligence untuk xenia
chapter 1 Smith and Van ness thermodynamics
hand-tools-service-special-tools-alat-ukur.ppt
Pengenalan SPALDT_SPALDS_Karanganyar.pptx
SISTEM_INFORMASI_GEOGRAFIS_unlocked.pptx

Praktiktum pvd matlab

  • 1. BAB PVD Algoritma Pixel Value Differencing (PVD) Setelah bab ini berakhir, diharapkan pembaca mendapatkan berbagai pengetahuan berikut dan mampu mempraktikkannya.  Konsep Dasar Steganografi  Konsep Pixel Value Differencing (PVD)  Praktik membuat program sederhana Steganografi menggunakan PVD
  • 2. Pengertian Steganografi Steganografi merupakan seni untuk menyembunyikan pesan di dalam media digital sedemikian rupa sehingga orang lain tidak menyadari ada sesuatu pesan di dalam media tersebut. Kata steganografi (steganography) berasal dari bahasa Yunani steganos yang berarti “tersembunyi/terselubung” dan grephien “menulis” sehingga kurang lebih artinya “menulis (tulisan) terselubung” (Sutoyo,dkk, 2009;244). Pixel Value Differencing (PVD) Menurut Andono (2016) menyatakan bahwa Dasar dari algoritma PVD adalah mencari selisih dua pixel berdekatan yang digunakan untuk menghitung kapasitas pesan. Berikut konsep dari metode PVD : 1) Metode ini bekerja pada sepasang nilai piksel yang bertetanggaan (adjacent pixel). 2) Proses penyisipan informasi dilakukan dengan memodifikasi selisih nilai piksel (Pixel Value Differencing) sesuai dengan nilai bit pesan dan tabel kuantisasi selisih nilai keabuan 3) Kuantisasi nilai keabuan digunakan untuk menentukan jumlah bit yang akan disisipkan pada selisih nilai tertentu Praktikum membuat program PVD menggunakan Matlab : 1. Siapkan program matlab di PC/Laptop anda masing-masing 2. Siapkan image : ‘absam.png’ 3. Ketikkan skrip program di bawah ini : clc; clear all; close all; %masukkan pesan rahasia Pesan = input('Masukkan Pesan [Maksimal 20 Karakter] : ', 's'); %jika panjang pesan > 20 maka yang diambil hanya 20 karakter saja if length(Pesan) > 20, Pesan = Pesan(1:20), end; %pesan teks dijadikan angka Pesan=uint8(Pesan); %hitung panjang pesan panjang_Pesan = length(Pesan); %baca citra penampung citra=imread('absam.png'); %jika citra penampung RGB maka ubah dulu menjadi grayscale if size(citra,3)==3 citra=rgb2gray(citra); end %ambil nilai baris dan kolom [baris,kolom]=size(citra); %matriks citra dijadikan 1 baris simpan ke dalam stego stego=citra(:); %ukur panjang nilai citra pada stego image panjang_stego=length(stego);
  • 3. %convert pesan menjadi biner bit_pesan=[]; for i=1:panjang_Pesan biner=dec2bin(Pesan(i),8); bit_pesan = [bit_pesan biner]; end %ambil nilai panjang bit pesan panjang_bit_pesan = length(bit_pesan); ambil_bit_pesan=[]; %proses penyisipan pesan %nilai awal n n=0; for i=1:2:panjang_stego %hitung nilai d (selisih piksel bertetanggan) d=stego(i+1)-stego(i); %untuk tabel kuantisasi if 0 <= d <= 7; LK=0; n=3;end if 8 <= d <= 15; LK=8; n=3;end if 16 <= d <= 31; LK=16; n=4;end if 32 <= d <= 63; LK=32; n=5;end if 64 <= d <= 127; LK=64; n=7;end if 128 <= d <= 255; LK=128; n=7;end if n > length(bit_pesan); break end ambil_bit_pesan=bit_pesan(1:n); bit_pesan=bit_pesan(n+1:end); %proses menghitung nilai b (pesan) b=bin2dec(ambil_bit_pesan); if d >= 0; d1 = LK +b; else d1 = -(LK+b); end %hitung nilai m m = d1-d; bawah=floor(m/2); atas=ceil(m/2); %jika m nilainya ganjil if mod(m,2)==1, stego(i)=stego(i) - atas; stego(i+1)=stego(i+1)+bawah; end %jika m nilainya genap if mod(m,2)==0, stego(i)=stego(i) - bawah; stego(i+1)=stego(i+1)+atas; end end %membentuk stego image berdasarkan proses pada variabel 'stego' stego=reshape(stego, [baris kolom]); %Tampilkan Cover Image dan Stego Image figure(1); imshow(citra),title('Cover Image'); figure(2); imshow(stego), title('Stego Image'); bit_pesan = [bit_pesan ubah_b]; end
  • 4. 4. Eksekusi/Run Program anda maka menampilkan hasil sebagai berikut : 5. Ketikkan karakter pesan yang anda inginkan, tetapi dalam program ini baru dibatasi maksimal 20 karakter, lalu tekan enter dan akan muncul tampilan Cover Image (Figure 1) dan Stego Image (Figure 2) %proses ekstraksi pesan bit_pesan=[]; ambil_bit_pesan=[]; for i=1:2:panjang_stego if length(bit_pesan)==panjang_bit_pesan, break, end %hitung nilai d d=stego(i+1)-stego(i); %untuk tabel kuantisasi if 0 <= d <= 7; LK=0; n=3;end if 8 <= d <= 15; LK=8; n=3;end if 16 <= d <= 31; LK=16; n=4;end if 32 <= d <= 63; LK=32; n=5;end if 64 <= d <= 127; LK=64; n=7;end if 128 <= d <= 255; LK=128; n=7;end %hitung nilai b(pesan) b = abs(d)-LK; ubah_b = dec2bin(b); bit_pesan = [bit_pesan ubah_b]; end Pesan2=[]; %ubah pesan biner menjadi desimal for i=1:8:panjang_bit_pesan a=char(bin2dec(bit_pesan(1:8))); Pesan2=[Pesan a]; end %tampilkan hasil ekstraksi pesan disp(['Hasil Ekstraksi Pesan = ', Pesan2(1:end-1)]);
  • 5. 6. Perhatikan kedua gambar tesebut, nyaris tidak ada perbedaan antara Cover Image dan Stego Image. 7. Kualitas algoritma steganografi, salah satunya adalah tidak adanya perbedaan secara signifikan antara cover image dan stego image