SlideShare a Scribd company logo
Digital Watermarking Pada Citra Menggunakan Metode Modified Least
Significant Bit (MLSB) Dengan Penyebaran Pesan Secara Acak Menggunakan
Metode Linear Congruential Generator (LCG):Studi Laboratorium ICT
Terpadu Universitas BUDI LUHUR
Agung Sulistyanto
Teknik Informatika, Fakultas Teknologi Informasi, Universitas Budi Luhur
Jl. Raya Ciledug, Petukangan Utara, Kebayoran Lama, Jakarta Selatan 12260
Telp. (021) 5853753, Fax. (021) 5866369
E-mail : agung.sulistyan@gmail.com
ABSTRAK
Dengan perkembangan perangkat komputer dan internet yang semakin pesat menjadikan pertukaran data dan
informasi secara digital semakin banyak digunakan. Namun sebagian dari data tersebut seharusnya tidak dapat
didistribusi atau dimodifikasi secara bebas (tanpa izin), karena mengandung hak kekayaan intelektual penciptanya.
Pelanggaran ini yang sering terjadi di media internet namun tidak semua pengguna internet menyadarinya. Maka,
sebuah konten digital yang akan dipublikasikan haruslah memiliki aturan dalam pemanfaatan dan perlindungan
yang diakui secara luas, agar supaya hak kekayaan intelektual penciptanya tetap terjaga. Cara untuk melindungi
hak kekayaan intelektual atas suatu karya digital adalah dengan memberikan lisensi pada konten tersebut. Pada
tugas akhir ini digunakan Lisensi Creative Commons. Digital watermarking adalah teknik yang digunakan untuk
menyisipkan informasi yang menunjukan kepemilikan atas sebuah data dan informasi digital. Pada tugas akhir ini
tanda watermark akan menempel pada citra digital sebagai pendamping konten digital yang umum digunakan.
Pesan lisensi disisipkan menggunakan metode Modified Least Significant Bit (MLSB) sebagai teknik penyisipan dan
kompresi bit pesan sehingga pesan yang disisipkan lebih sedikit dan metode pembangkitan bilangan acak Pseudo
Random Number Generator (PRNG) dengan Linear Congruential Generator (LCG) untuk menyisipkan pesan secara
acak. Sehingga diharapkan aplikasi ini dapat membantu pengguna dalam mencari informasi mengenai sumber
utama suatu konten digital.
Kata kunci : Copyright, Digital Watermarking, Least Significant Bit (LSB), Modified Least Significant Bit
(MLSB), Linear Congruential Generator (LCG).
1. PENDAHULUAN
Dengan perkembangan perangkat komputer yang
semakin pesat menjadikan pertukaran data dan
informasi secara digital semakin banyak digunakan
Karena sifatnya yang mudah disimpan, dimodifikasi
dan didistribusikan secara luas. Dapat digaris bawahi
bahwa internet memfasilitasi pertukaran data tersebut
secara luas dan terbuka. Namun di sisi lain sebagian
dari data tersebut seharusnya tidak dapat didistribusi
atau dimodifikasi secara bebas (tanpa izin), karena
mengandung hak kekayaan intelektual penciptanya.
Pelanggaran ini yang sering terjadi di media internet
namun tidak semua pengguna internet menyadarinya.
Maka, sebuah data digital yang akan
dipublikasikan haruslah memiliki aturan dalam
pemanfaatan dan perlindungan yang diakui secara
luas, agar supaya hak kekayaan intelektual
penciptanya tetap terjaga. Cara untuk melindungi hak
kekayaan intelektual atas suatu karya digital adalah
dengan memberikan lisensi pada konten tersebut.
Informasi lisensi perlu disisipkan pada media lain
supaya tahan terhadap berbagai aktifitas dalam upaya
menghilangkannya. Salah satu media digital yang
dapat dijadikan sebagai penampung pesan adalah
citra digital. Citra digital dipilih karena banyak
digunakan sebagai pelengkap konten berbasis teks.
Sehingga dengan penggunaan citra digital, informasi
lisensi yang disisipkan dapat tahan terhadap berbagai
serangan dalam upaya-upaya untuk
menghilangkannya.
Penelitian ini terbatas pada citra digital yang akan
digunakan adalah citra dengan format BITMAP dan
PNG (tidak transparan background). Serta pesan yang
disisipkan terbatas pada karakter A s/d Z, a s/d z dan
1 s/d 0.
2. LANDASAN TEORI
2.1. Digital Watermarking
Watermarking merupakan cara untuk menyisipkan
watermark atau proses penambahan kode secara
permanen ke dalam citra digital yang ingin dilindungi
hak ciptanya dengan tidak merusak citra aslinya dan
tahan terhadap serangan (Munir, 2006).
2.2. Metode Least Significant Bit (LSB)
Least Significant Bit (LSB) adalah bagian dari barisan
data biner yang mempunyai nilai paling tidak berarti
atau paling kecil. Bit LSB letaknya di paling kanan
pada barisan biner, karena nilai 1 bit LSB pada
barisan biner hanya merepresentasikan nilai 1
desimal, maka bit ini dianggap tidak berarti. Sehingga
jika terjadi perubahan pada nilai bit LSB maka tidak
akan terjadi perubahan secara signifikan.
Gambar 1 : Bananas.jpg
Dimisalkan data berupa teks “secret” akan disisipkan
kedalam gambar tersebut. Jika direpresentasikan ke
dalam binary kata “secret” menjadi,
Tabel 1 : Konfersi ASCII teks “secret”
Character
ASCII value
(decimal)
Hexadecimal Binary
s 115 73 01110011
e 101 65 01100101
c 99 63 01100011
r 114 72 01110010
e 99 63 01100011
t 116 74 01110100
Dimisalkan nilai binary dari gambar bananas.jpg
seperti berikut.
Tabel 2 : Nilai biner bananas.jpg
00000000 00000000 00000001 00000001 00000001 00000001 00000001 00000001
00000000 00000000 00000001 00000001 00000001 00000001 00000001 00000001
00000000 00000000 00000001 00000001 00000001 00000001 00000001 00000001
00000001 00000001 00000010 00000010 00000010 00000011 00000011 00000011
00000001 00000001 00000010 00000010 00000010 00000011 00000011 00000011
00000001 00000001 00000010 00000010 00000010 00000011 00000011 00000011
Maka dalam penerapannya nilai bit pada kata “secret”
akan disisipkan atau mengganti nilai bit ke-8 pada
binary bananas.jpg.
Tabel 3 : Nilai biner teks “secret”
0 1 1 1 0 0 1 1
0 1 1 0 0 1 0 1
0 1 1 0 0 0 1 1
0 1 1 1 0 0 1 0
0 1 1 0 0 0 1 1
0 1 1 1 0 1 0 0
Hasil akhir (citra-stego):
Tabel 4 : Nilai biner bananas.jpg setelah disisipkan pesan
00000000 00000001 00000001 00000001 00000000 00000000 00000001 00000001
00000000 00000001 00000001 00000000 00000000 00000001 00000000 00000001
00000000 00000001 00000001 00000000 00000000 00000000 00000001 00000001
00000000 00000001 00000011 00000011 00000010 00000010 00000011 00000010
00000000 00000001 00000011 00000010 00000010 00000010 00000011 00000011
00000000 00000001 00000011 00000011 00000010 00000011 00000010 00000010
2.3 Metode Modified Least Significant Bit (MLSB)
Modified Least Significant Bit (MLSB) atau
modifikasi dari Algoritma LSB digunakan untuk
meng-encode sebuah identitas ke dalam citra asli.
MLSB menggunakan manipulasi beberapa bit-bit
penyisip sebelum meng-encode pesan tersebut
(Zaher, 2011).
Modifikasi pesan dengan algoritma MLSB
dimana bit pesan yang seharusnya 1 karakter
memiliki nilai 8 bit ASCII akan dimodifikasi menjadi
5 bit (31 desimal). Pada algoritma ini karakter dan
angka direpresentasikan dalam 5 bit sebelum
disisipkan ke dalam citra asli dengan teknik LSB.
Perubahan nilai ASCII menjadi 5 bit dilakukan
dengan proses-proses berikut:
a. Proses mengubah data penyisip dengan kode
ASCII. Misalkan pesan yang akan disisipkan
kalimat “STEGO with 05 bits” yang jika diubah
ke dalam biner ASCII membutuhkan memori
sebesar 18 x 8 bit = 144 bit. Pada algoritma
MLSB pesan di atas diubah menjadi ASCII (hex) :
53(16), 54(16), 45(16), 47(16), 4F(16), 20(16), 77(16),
69(16), 74(16), 68(16), 20(16), 30(16), 35(16), 20(16),
62(16), 69(16), 74(16), 73(16). Kemudian dilakukan
proses normalisasi dengan tabel Control Symbol
seperti pada tabel.
Tabel 5 : Control symbol
Hex
Representation
Operation
1B Define Small Letter
1C Define Capital Letter
1D Define Space
1E Define Number
1F Define End Of Text
b. Baca tanda penyisip (ASCII) sampai tanda spasi
20(16) yaitu 53(16), 54(16), 45(16), 47(16), 4F(16).
c. Karena merupakan barisan karakter huruf kapital,
semua nilai di-XOR-kan dengan nilai puluhan
ASCII dari nilai hex pada karakter terkecil dalam
huruf kapital. Nilai karakter terkecil adalah ‘A’
yaitu 41(16) sehingga 53(16) ⨁ 40(16) = 13(16),
54(16) ⨁ 40(16) = 14(16), 45(16) ⨁ 40(16) =
05(16), 47(16) ⨁ 40(16) = 07(16), 4F(16) ⨁ 40(16)
= 0F(16).
d. Sehingga didapatkan data penyisip kelompok
pertama adalah IC(16), 13(16), 14(16), 05(16),
07(16), 0F(16), 1D(16) dimana IC(16) adalah
Control Symbol untuk huruf besar (capital) dan
ID(16) adalah nilai Control Symbol yang
digunakan untuk menggantikan nilai spasi 20(16).
e. Data penyisip kelompok kedua adalah 77(16),
69(16), 74(16), 68(16) dikurangi dengan nilai
puluhan karakter terkecil ‘a’ 61(16), menjadi
77(16) ⨁ 60(16) = 17(16), 69(16) ⨁ 60(16) =
09(16), 74(16) ⨁ 60(16) = 14(16), 68(16) ⨁ 60(16)
= 08(16).
f. Data kelompok kedua akan digabungkan dengan
data kelompok pertama menjadi IC(16), 13(16),
14(16), 05(16), 07(16), 0F(16), ID(16), IB(16),
17(16), 09(16), 14(16), 08(16).
g. Data kelompok ketiga adalah 30(16), 35(16)
dikurangi dengan nilai puluhan kelompok angka
terkecil ‘0’ yaitu 30(16) menjadi 30(16) ⨁ 30(16) =
00(16), 35(16) ⨁ 30(16) = 05(16).
h. Data kelompok ketiga akan digabung dengan data
kelompok sebelumnya dan ditambah dengan
Control Symbol ID(16) untuk spasi dan IE(16)
untuk nomor menjadi ID(16), IE(16), 00(16),
05(16).
i. Data kelompok keempat adalah 62(16), 69(16),
74(16), 73(16) dikurangi dengan nilai puluhan
karakter terendah ‘a’ 61(16) menjadi 62(16) ⨁
60(16) = 02(16), 69(16) ⨁ 60(16) = 09(16), 74(16)
⨁ 60(16) = 14(16), 73(16) ⨁ 60(16) = 13(16).
j. Data kelompok keempat akan digabungkan
dengan data kelompok sebelumnya dan ditambah
dengan Control Symbol ID(16) untuk spasi dan
IB(16) untuk huruf kecil dan IF(16) untuk akhir
data menjadi ID(16), IB(16), 02(16), 09(16),
14(16), 13(16), IF(16).
Sehingga pesan yang akan disisipkan menjadi
IC(16), 13(16), 14(16), 05(16), 07(16), 0F(16), ID(16),
IB(16), 17(16), 09(16), 14(16), 08(16), ID(16), IE(16),
00(16), 05(16), ID(16), IB(16), 02(16), 09(16), 14(16),
13(16), IF(16). Pesan ini hanya membutuhkan 23 x 5
bit = 115 bit yang jika diubah menjadi data biner
menjadi 11100, 10011, 10100, 00101, 00111, 01111,
11101, 11011, 10111, 01001, 10100, 01000, 11101,
11110, 00000, 00101, 11101, 11011, 00010, 01001,
10100, 10011, 11111. Setelah diubah menjadi nilai
maksimal 5 bit, bit-bit pesan akan disisipkan
menggunakan teknik Least Significant Bit (LSB).
Untuk mendapatkan pesan asli (decode) dilakukan
dengan meng-XOR-kan kembali byte pesan dengan
nilai puluhan terendah sesuai pada kelompok
bilangan dan menghilangkan nilai Control Symbol.
2.4 Pembangkitan Bilangan Acak
Bilangan acak (random) adalah bilangan yang
tidak dapat diprediksi. Bilangan acak yang dihasilkan
dengan rumus matematika adalah bilangan acak semu
(pseudo), karena pembangkitan bilangannya dapat
diulangi kembali. Pembangkitan bilangan acak
semacam ini disebut Pseudo Random Number
Generator (PRNG). PRNG menghasilkan suatu
urutan nilai yang setiap hasil nilainya bergantung
pada nilai yang dihasilkan sebelumnya. Namun,
output dari PRNG tidak betul-betul acak secara
sempurna karena pada perulangan tertuntu dapat
ditemui nilai yang sama. Linear Congruential
Generator (LCG) adalah salah satu algoritma pseudo
random number tertua dan paling populer. Algoritma
ini diciptakan oleh D. H. Lehmer pada tahun 1951.
Angka random pada LCG diperoleh melalui
persamaan baerulang berikut:
Gambar 2 : Linear Congruential Generator (LCG)
Penentuan nilai awal dan konstanta (a, b dan m)
akan menentukan kualitas bilangan acak yang
dihasilkan. Periode LCG paling besar adalah modulus
m, bahkan pada kebanyakan kasus periodenya kurang
dari modulonya. Karena sifatnya yang random dan
dapat dibangkitkan kembali nilainya maka dapat
dijadikan sebagai alamat dalam menyisipkan pesan
secara acak dan sebagai kunci dalam mengekstrak
kembali pesan yang telah disisipkan pada teknik
steganografi.
2.5 Lisensi Creative Commons
Prinsip Konten Terbuka didasarkan pada ide dari
gerakan Free and Open Source Software (FOSS) atau
Perangkat Lunak Bebas dan Sumber Terbuka.
Pendekatan Sumber Terbuka dimulai di dalam pasar
perangkat lunak pada tahun 1990-an. Pada dasarnya
bersumber pada kesuksesan besar dari GNU-Linux
dan lisensinya, yaitu GNU General Public License
(GPL). Pencetus utama dari gerakan Konten Terbuka
adalah Lawrence Lessig, pada tahun 2001, beliau
bergabung dengan Hal Abelson dan Eric Eldred dan
mendirikan inisiatif Creative Commons (CC) untuk
mempromosikan kepemilikan digital (musik, film,
gambar) bersama.
CC adalah model lisensi konten terbuka yang
paling luas. Popularitas dan luasnya penggunaan
lisensi ini berarti CC di anggap sebagai standar untuk
lisensi konten terbuka. CC menyediakan satu set yang
terdiri dari enam lisensi seperti pada Gambar 2.12.
Setiap lisensi mengandung satu atau beberapa unsur
dari total empat unsur dasar (“fitur lisensi”) yang
diilustrasikan dengan piktogram seperti berikut.
Gambar 3 : Piktogram fitur-fitur lisensi CC
1) CC BY (Atribusi)
BY adalah singkatan untuk atribusi adalah
kewajiban untuk mencantumkan nama pencipta
dan pihak lain yang harus dicantumkan namanya.
2) CC NC (NonKomersial)
NC adalah penggunaan untuk tujuan komersial
tidak diizinkan oleh lisensi.
3) CC ND (Tanpa Turunan)
ND adalah hanya salinan verbatim dari ciptaan
yang boleh dibagikan.
4) CC SA (Berbagi Serupa)
SA adalah berbagi serupa dimana ciptaan turunan
hanya dapat disebarluaska dengan lisensi yang
sama dengan lisensi ciptaan.
3. RANCANGAN SISTEM DAN
APLIKASI
Pada perancangan aplikasi ini terdapat dua fungsi
utama yaitu proses penyisipan pesan (embed) dan
proses ekstraksi pesan (extract). Pada Gambar 3.1
dijelaskan alur proses penyisipan pesan (embed) dan
pada Gambar 3.2 dijelaskan alur proses ekstraksi
pesan (extract).
3.1 Penyisipan Pesan
Gambar 4 : Alur proses penyisipan
Pada proses penyisipan pesan (embedding) terdapat
tahapan-tahapan yang secara berurutan dijelaskan
sebagai berikut:
1) Membaca File Masukan
Pada tahapan ini memiliki tiga buah masukan,
yaitu citra penampung pesan, pesan yang akan
disisipkan, dan password yang akan digunakan
sebagai kunci dalam pembuatan bilangan acak.
Untuk memilih citra yang akan dijadikan sebagai
penampung pesan, pada bagian embed terdapat
button “Pilih” yang akan menampilkan File
Chooser untuk memilih citra yang diinginkan
sebagai penampung. Citra yang sudah dipilih
sebagai penampung akan diduplikat. File hasil
duplikat akan diambil byte samplenya berdasarkan
nilai RGB setiap pikselnya, data byte inilah yang
nantinya akan diproses untuk disisipkan pesan.
Pada pesan dan password didapatkan data byte
dengan mengkonversi karakter yang dimasukan
dengan nilai ASCIInya.
2) Encode Pesan
Pada tahapan ini byte pesan yang sudah
didapatkan akan di encode dengan metode
Modified Least Significant Bit (MLSB). Pada
metode MLSB nilai byte ASCII pada sebuah
karakter yang mulanya memiliki nilai maksimal 8
bit (255 desimal) dikodekan sehingga hanya
memiliki nilai maksimal 5 bit (31 desimal).
Pengkodean ini dihasilkan berdasarkan tabel
Control Symbol yang sudah dijelaskan pada Bab
II. Setelah di encode, byte inilah yang nantinya
akan disisipkan ke dalam byte citra penampung.
3) Membuat Bilangan Acak
Pada tahapan ini byte password yang sudah
didapatkan akan digunakan untuk menghasilkan
sejumlah bilangan acak menggunakan metode
Pseudo Random Number Generator (PRNG)
Linear Congruential Generator (LCG) yang
sudah dijelaskan pada Bab II. Nilai ASCII setiap
karakter akan di looping dan menjadi salah satu
parameter dalam membentuk nilai random. Nilai
random inilah yang akan dijadikan sebagai alamat
penyisipan byte pesan kedalam byte citra.
4) Menyisipkan Pesan
Tahapan ini adalah merupakan inti dari
proses embed yaitu menyisipkan pesan. Setelah
meng-encode bit pesan menjadi 5 bit dan
membentuk bilangan acak tahapan selanjutnya
adalah menyisipkan byte pesan tersebut kedalam
byte citra secara acak berdasarkan bilangan acak
yang terbentuk menggunakan metode Least
Significant Bit (LSB) yang sudah dijelaskan pada
Bab II. Dalam proses penyisipannya 1 byte pesan
akan direpresentasikan menjadi 8 bit. Karena nilai
pesan sudah di encode sebelumnya menjadi 5 bit
(31 desimal), maka bit ke-6, ke-7 dan ke-8 tidak
perlu disisipkan karena nilai bitnya sudah pasti 0.
5) Mengkonstruksi Gambar
Setelah disisipkan, pada tahapan ini byte
sample citra dikonstruksi kembali menjadi sebuah
citra digital yang sudah terdapat pesan rahasia di
dalamnya (stego-image).
3.2Ekstraksi Pesan
Gambar 5 : Alur proses ekstraksi
1) Membaca File Masukan
Pada tahapan ini memiliki dua buah masukan,
yaitu citra yang sudah berisi pesan, dan password
yang akan digunakan sebagai kunci dalam
menentukan lokasi dimana bit-bit pesan disisipkan.
Untuk memilih citra yang akan diekstraksi, pada
bagian extract terdapat button “Pilih” yang akan
menampilkan File Chooser untuk memilih citra yang
akan diekstraksi pesan didalamnya. Citra yang sudah
dipilih akan diambil byte samplenya berdasarkan nilai
RGB setiap pikselnya, data byte inilah yang nantinya
akan diproses untuk ekstraksi pesan. Pada password
di dapatkan data byte dengan mengkonversi karakter
yang dimasukan dengan nilai ASCIInya.
2) Membuat Bilangan Acak
Pada tahapan ini byte password yang sudah
didapatkan akan digunakan untuk menghasilkan
sejumlah bilangan acak menggunakan metode Pseudo
Random Number Generator (PRNG) Linear
Congruential Generator (LCG) yang sudah
dijelaskan pada Bab II. Nilai ASCII setiap karakter
akan di looping dan menjadi salah satu parameter
dalam membentuk nilai random. Password yang
digunakan pada saat proses embed dan extract harus
sama untuk mendapatkan nilai random yang sama.
Nilai random inilah yang akan dijadikan sebagai
alamat untuk mendapatkan nilai bit-bit pesan pada
citra.
3) Memisahkan Data Pesan Pada Citra
Pada tahapan ini bit-bit pesan pada citra
didapatkan dengan mengambil 1 bit Least Significant
Bit (LSB) dari byte citra secara berurutan berdasarkan
lokasi yang ditentukan nilai random. Setiap 5 bit citra
yang didapatkan, dikontruksi kembali menjadi nilai
byte 8 bit. Proses ini dilakukan berulang-ulang
sampai semua pesan di dapatkan.
4) Decode Pesan
Pada tahapan ini nilai byte pesan setiap karakter
sudah didapatkan, namun masih ter-encode sepanjang
maksimal 5 bit (31 desimal). Seperti penjelasan pada
Bab II, pada tahapan ini byte pesan di-decode untuk
mengembalikan nilai ASCII pada setiap karakter
menggunakan metode Modified Least Significant Bit
(MLSB).
5) Mengkonstruksi Pesan
Setelah nilai byte ASCII pesan didapatkan,
karakter pesan dituliskan pada file berekstensi .txt
dan disimpan sesuai dengan nama file yang diberikan.
4. HASIL DAN PEMBAHASAN
tampilan halaman utama yang sekaligus tampilan
form sisipkan. Button “Pilih” difungsikan untuk
memilih citra yang akan dijadikan penampung pesan
lisensi. Pada bagian Pilih Fitur difungsikan untuk
memilih fitur lesensi yang digunakan terdapat juga
penjelasan pada tiap-tiap kombinasi lisensi yang
dipilih. Pada bagian Detil Atribusi difungsikan untuk
mengisi detil informasi dari lisensi yang digunakan.
Pada bagian Penyisipan digunakan untuk melengkapi
lokasi output dan nama output citra dan password
sebagai kunci penyisipan. Untuk memulai proses
penyisipan pesan dapat menggunakan button
“Sisipkan”, untuk membersihkan inputan dengan
button “Bersih” dan untuk keluar dari aplikasi dapat
menggunakan button “Keluar”.
Gambar 6 : Tampilan form embed
Pada form ekstraksi berfungsi untuk
mengeluarkan pesan lisensi yang sebelumnya telah
disisipkan pada citra penampung. Button “pilih”
difungsikan untuk memilih citra yang akan di
ekstraksi pesan didalamnya. Pada bagian ekstraksi
terdapat lokasi dan nama file untuk menyimpan hasil
keluaran serta password yang digunakan sebagai
kunci dalam proses ekstraksi. Setelah itu untuk
memulai proses ekstraksi pesan dapat menggunakan
button “Ekstrak”, untuk membersihkan inputan
dengan button “Bersih” dan untuk keluar aplikasi
dapat menggunakan button “Keluar”.
Gambar 7 : Tampilan form ekstraksi
4.1 Kelebihan dan Kekurangan
A) Kelebihan Program
Kelebihan yang dimiliki aplikasi digital
watermarking ini adalah sebagai berikut:
1) Menggunakan algoritma pengacakan sehingga
pesan yang disisipkan lebih sulit untuk
dideteksi.
2) Menggunakan algoritma pengacakan sehingga
citra stego lebih mirip dengan citra asli.
3) Proses penyisipan dan ekstraksi relatif cepat
karena aplikasi berbasis desktop sehingga
sumber citra lebih cepat diakses aplikasi.
4) Mudah digunakan karena desain aplikasi yang
sederhana.
B) Kekurangan Program
Kekurangan yang dimiliki aplikasi digital
watermarking ini adalah sebagai berikut:
1) Aplikasi berbasis desktop, sehingga untuk
menggunakannya pengguna perlu menginstall
aplikasi terlebih dahulu.
2) Belum mampu untuk menyisipkan watermark
pada banyak citra secara langsung.
3) Citra yang mengalami perubahan (cropping,
resize, dll) dapat merusak pesan yang
disisipkan.
5. KESIMPULAN
Sesuai dengan pembahasan mengenai digital
watermarking ini, maka kesimpulan yang dapat
diambil oleh penulis adalah sebagai berikut:
a. Dengan menggunaan password untuk menentukan
posisi acak penyisipan, maka keamanan pesan
yang disisipkan pada citra terjaga dengan aman.
b. Metode Modified Least Significant Bit (MLSB)
yang digunakan sudah berjalan dengan baik, dapat
diperhatikan pada tabel pengujian pada Bab 4
bahwa ukuran bit pesan yang disisipkan menjadi
lebih kecil dari semestinya.
c. Dapat diperhatikan pada penyisipan
crocodile.bmp, semakin bervariasi karakter yang
disisipkan maka semakin banyak karakter control
symbol yang digunakan menjadikan ukuran pesan
yang disisipkan semakin besar seperti ukuran
aslinya.
d. Telah dilakukan percobaan (tidak terlampir) untuk
menyisipkan citra berisi pesan lisensi (citra-stego)
kedalam media dokumen lain (PDF). Dalam hasil
percobaan tersebut pesan berhasil di ekstraksi,
namun perlu diperhatikan dalam memisahkan
citra-stego dengan dokumen (PDF) tersebut, agar
supaya tidak merubah format, ukuran, nilai warna
citra-stego yang disisipkan sebelumnya.
e. Belum terjadi kegagalan penyisipan dan ekstraksi
pesan dalam pengujian aplikasi, hal ini terjadi
dikarenakan pesan yang disisipkan hanya berupa
teks dan validasi yang digunakan dalam mencegah
kegagalan tersebut.
f. Pada penyisipan citra PNG dengan format warna
ARGB dapat menurunkan ukuran citra karena
citra dikonfersi menjadi format warna RGB
sebelum disisipkan pesan.
g. Pada penyisipan citra PNG dengan background
tranparan terjadi perubahan background menjadi
hitam setelah proses penyisipan.
5.1 Saran
Tentunya tugas akhir ini masih jauh dari sempurna
dan masih perlu banyak perbaikan dan
pengembangan supaya menjadi lebih baik lagi.
Berikut ini saran untuk pengembang tugas akhir ini:
a. Pengembangan lebih lanjut dapat difokuskan pada
penggunaan metode pengacakan yang lebih baik.
b. Diimplementasikan berbasis web sehingga lebih
mudah digunakan secara luas.
c. Metode MLSB mempunyai sifat yang mudah
rusak apabila mengalami rotasi, perbesaran,
pemotongan, dan gangguan sehingga untuk
pengembangan dapat diguakan penyisipan yang
lebih baik pada domain frekuensi citra.
DAFTAR PUSTAKA
[1] Hidayat, Erwin Yudi, & Hastuti, Khafiizh 2013,
Analisa Steganografi Metode Least Significant
Bit (LSB) Dengan Penyisipan Sekuensial Dan
Acak Secara Kuantitatif Dan Visual, Semarang,
Jurnal Techno.com Vol.12, No. 3.
[2] Imam, Khairul 2013, Penyembunyian Pesan
Rahasia Pada Citra Digital Dengan Teknik
Steganografi Menggunakan Metode Least
Significant Bit (LSB), Jakarta, Universitas BUDI
LUHUR.
[3] Kadir, Abdul, & Susanto, Adhi 2013, Teori Dan
Aplikasi Pengolahan Citra, Yogyakarta, Andi
Publisher.
[4] Keutzer, Till 2014, Konten Terbuka – Pedoman
Praktis Penggunaan Lisensi Creative Commons,
ISBN: 978-602-72890-1-7, Jakarta, Wikimedia
Indonesia.
[5] Lubis, Rifki Respati Ashari 2015, Analisis
Kombinasi Algoritma Watermarking Modified
Least Significant Bit (MLSB) Dengan Least
Significant Bit+1, Sumatera, Universitas
Sumatera Utara.
[6] Munir, Rinaldi 2004, Diktat Kuliah IF5054
Kriptografi : Steganografi dan Watermarking,
Bandung, Institut Teknologi Bandung.
[7] Sakti, Dolly Virgian Shaka Yudha, Agani,
Nazori, Hardjianto, Mardi 2015, Pengaman
Sistem Menggunakan One Time Password
Dengan Pembangkitan Password Hash SHA-
256 Dan Pseudo Random Number Generator
(PRNG) Linear Congruential Generator (LCG)
Di Perangkat Berbasis Android, Jakarta,
Universitas BUDI LUHUR.
[8] Sulistyanto, Agung 2015, Materi Pelatihan :
Aplikasi Steganografi Dengan Metode LSB dan
Enkripsi Pesan Dengan Pembangkitan Bilangan
Acak, Jakarta, Laboratorium ICT Terpadu
Universitas BUDI LUHUR.
[9] Vebrina, Yus Gias 2014, Makalah : Spread
Spectrum Steganography, Bandung, Institut
Teknologi Bandung.
[10] Zaher, Mazen Abu 2011, Modified Least
Significant Bit (MLSB), Kanada, Jurnal
CCSENET Vol. 4, No. 1.

More Related Content

Similar to Jurnal

Citra digital
Citra digitalCitra digital
Citra digital
calderaboys
 
Sniper 2009-penyembunyian-dan-pengacakan-data
Sniper 2009-penyembunyian-dan-pengacakan-dataSniper 2009-penyembunyian-dan-pengacakan-data
Sniper 2009-penyembunyian-dan-pengacakan-dataStmik Adhi Guna
 
Stegano 2 (LSB(
Stegano 2 (LSB(Stegano 2 (LSB(
Stegano 2 (LSB(
dedidarwis
 
Bab i
Bab iBab i
Materi Pelatihan_Steganografi Metode LSB
Materi Pelatihan_Steganografi Metode LSBMateri Pelatihan_Steganografi Metode LSB
Materi Pelatihan_Steganografi Metode LSB
Agung Sulistyanto
 
Penelitian ic digital
Penelitian ic digitalPenelitian ic digital
Penelitian ic digital
AnggaSudianta
 
(paper) Cryptographic and Software Based E-Money Security Holes
(paper) Cryptographic and Software Based E-Money Security Holes(paper) Cryptographic and Software Based E-Money Security Holes
(paper) Cryptographic and Software Based E-Money Security Holes
idsecconf
 
Msb
MsbMsb
BAB 5 Subnetting.pptx
BAB 5 Subnetting.pptxBAB 5 Subnetting.pptx
BAB 5 Subnetting.pptx
SamletSitepu
 
Part 3 dasar sistem komputer
Part 3 dasar sistem komputerPart 3 dasar sistem komputer
Part 3 dasar sistem komputer
Dermawan12
 
Part 3 Dasar Sistem Komputer
Part 3 Dasar Sistem KomputerPart 3 Dasar Sistem Komputer
Part 3 Dasar Sistem Komputer
eka pandu cynthia
 
Modul teknik digital dan logika
Modul teknik digital dan logikaModul teknik digital dan logika
Modul teknik digital dan logikaBambang Apriyanto
 
Makalah sistem digital_universitas_sains
Makalah sistem digital_universitas_sainsMakalah sistem digital_universitas_sains
Makalah sistem digital_universitas_sains
syahrulramadhan128
 

Similar to Jurnal (16)

Proposol conto
Proposol contoProposol conto
Proposol conto
 
Proposol conto
Proposol contoProposol conto
Proposol conto
 
Citra digital
Citra digitalCitra digital
Citra digital
 
Sniper 2009-penyembunyian-dan-pengacakan-data
Sniper 2009-penyembunyian-dan-pengacakan-dataSniper 2009-penyembunyian-dan-pengacakan-data
Sniper 2009-penyembunyian-dan-pengacakan-data
 
Stegano 2 (LSB(
Stegano 2 (LSB(Stegano 2 (LSB(
Stegano 2 (LSB(
 
Laporan pcd 01
Laporan pcd 01Laporan pcd 01
Laporan pcd 01
 
Bab i
Bab iBab i
Bab i
 
Materi Pelatihan_Steganografi Metode LSB
Materi Pelatihan_Steganografi Metode LSBMateri Pelatihan_Steganografi Metode LSB
Materi Pelatihan_Steganografi Metode LSB
 
Penelitian ic digital
Penelitian ic digitalPenelitian ic digital
Penelitian ic digital
 
(paper) Cryptographic and Software Based E-Money Security Holes
(paper) Cryptographic and Software Based E-Money Security Holes(paper) Cryptographic and Software Based E-Money Security Holes
(paper) Cryptographic and Software Based E-Money Security Holes
 
Msb
MsbMsb
Msb
 
BAB 5 Subnetting.pptx
BAB 5 Subnetting.pptxBAB 5 Subnetting.pptx
BAB 5 Subnetting.pptx
 
Part 3 dasar sistem komputer
Part 3 dasar sistem komputerPart 3 dasar sistem komputer
Part 3 dasar sistem komputer
 
Part 3 Dasar Sistem Komputer
Part 3 Dasar Sistem KomputerPart 3 Dasar Sistem Komputer
Part 3 Dasar Sistem Komputer
 
Modul teknik digital dan logika
Modul teknik digital dan logikaModul teknik digital dan logika
Modul teknik digital dan logika
 
Makalah sistem digital_universitas_sains
Makalah sistem digital_universitas_sainsMakalah sistem digital_universitas_sains
Makalah sistem digital_universitas_sains
 

More from Agung Sulistyanto

Metodologi dan pengujian pada image steganografi
Metodologi dan pengujian pada image steganografiMetodologi dan pengujian pada image steganografi
Metodologi dan pengujian pada image steganografi
Agung Sulistyanto
 
Perkembangan Metodologi Steganografi
Perkembangan Metodologi SteganografiPerkembangan Metodologi Steganografi
Perkembangan Metodologi Steganografi
Agung Sulistyanto
 
Peningkatan Kompresi Teks Shannon-Fano
Peningkatan Kompresi Teks Shannon-FanoPeningkatan Kompresi Teks Shannon-Fano
Peningkatan Kompresi Teks Shannon-Fano
Agung Sulistyanto
 
Paper Review - Metodologi Testing
Paper Review - Metodologi TestingPaper Review - Metodologi Testing
Paper Review - Metodologi Testing
Agung Sulistyanto
 
KKP_SISTEM PENUNJANG KEPUTUSAN UNTUK MENENTUKAN ASISTEN TERBAIK DENGAN METODE...
KKP_SISTEM PENUNJANG KEPUTUSAN UNTUK MENENTUKAN ASISTEN TERBAIK DENGAN METODE...KKP_SISTEM PENUNJANG KEPUTUSAN UNTUK MENENTUKAN ASISTEN TERBAIK DENGAN METODE...
KKP_SISTEM PENUNJANG KEPUTUSAN UNTUK MENENTUKAN ASISTEN TERBAIK DENGAN METODE...
Agung Sulistyanto
 
TA_Digital Watermarking Metode Modified Least Significant Bit
TA_Digital Watermarking Metode Modified Least Significant BitTA_Digital Watermarking Metode Modified Least Significant Bit
TA_Digital Watermarking Metode Modified Least Significant Bit
Agung Sulistyanto
 
Panduan moodle
Panduan moodlePanduan moodle
Panduan moodle
Agung Sulistyanto
 
Membuat grafik sederhana pada java dengan JFreeChart
Membuat grafik sederhana pada java dengan JFreeChartMembuat grafik sederhana pada java dengan JFreeChart
Membuat grafik sederhana pada java dengan JFreeChart
Agung Sulistyanto
 
Mempercantik tampilan frame dengan JTattoo
Mempercantik tampilan frame dengan JTattooMempercantik tampilan frame dengan JTattoo
Mempercantik tampilan frame dengan JTattoo
Agung Sulistyanto
 
Menjaga Validasi tanggal dengan Jcalendar pada java
Menjaga Validasi tanggal dengan Jcalendar pada javaMenjaga Validasi tanggal dengan Jcalendar pada java
Menjaga Validasi tanggal dengan Jcalendar pada java
Agung Sulistyanto
 
Aplikasi sms sederhana dengan gammu dan java
Aplikasi sms sederhana dengan gammu dan javaAplikasi sms sederhana dengan gammu dan java
Aplikasi sms sederhana dengan gammu dan java
Agung Sulistyanto
 
Desain laporan pada java dengan ireport & jcreator
Desain laporan pada java dengan ireport & jcreatorDesain laporan pada java dengan ireport & jcreator
Desain laporan pada java dengan ireport & jcreatorAgung Sulistyanto
 

More from Agung Sulistyanto (12)

Metodologi dan pengujian pada image steganografi
Metodologi dan pengujian pada image steganografiMetodologi dan pengujian pada image steganografi
Metodologi dan pengujian pada image steganografi
 
Perkembangan Metodologi Steganografi
Perkembangan Metodologi SteganografiPerkembangan Metodologi Steganografi
Perkembangan Metodologi Steganografi
 
Peningkatan Kompresi Teks Shannon-Fano
Peningkatan Kompresi Teks Shannon-FanoPeningkatan Kompresi Teks Shannon-Fano
Peningkatan Kompresi Teks Shannon-Fano
 
Paper Review - Metodologi Testing
Paper Review - Metodologi TestingPaper Review - Metodologi Testing
Paper Review - Metodologi Testing
 
KKP_SISTEM PENUNJANG KEPUTUSAN UNTUK MENENTUKAN ASISTEN TERBAIK DENGAN METODE...
KKP_SISTEM PENUNJANG KEPUTUSAN UNTUK MENENTUKAN ASISTEN TERBAIK DENGAN METODE...KKP_SISTEM PENUNJANG KEPUTUSAN UNTUK MENENTUKAN ASISTEN TERBAIK DENGAN METODE...
KKP_SISTEM PENUNJANG KEPUTUSAN UNTUK MENENTUKAN ASISTEN TERBAIK DENGAN METODE...
 
TA_Digital Watermarking Metode Modified Least Significant Bit
TA_Digital Watermarking Metode Modified Least Significant BitTA_Digital Watermarking Metode Modified Least Significant Bit
TA_Digital Watermarking Metode Modified Least Significant Bit
 
Panduan moodle
Panduan moodlePanduan moodle
Panduan moodle
 
Membuat grafik sederhana pada java dengan JFreeChart
Membuat grafik sederhana pada java dengan JFreeChartMembuat grafik sederhana pada java dengan JFreeChart
Membuat grafik sederhana pada java dengan JFreeChart
 
Mempercantik tampilan frame dengan JTattoo
Mempercantik tampilan frame dengan JTattooMempercantik tampilan frame dengan JTattoo
Mempercantik tampilan frame dengan JTattoo
 
Menjaga Validasi tanggal dengan Jcalendar pada java
Menjaga Validasi tanggal dengan Jcalendar pada javaMenjaga Validasi tanggal dengan Jcalendar pada java
Menjaga Validasi tanggal dengan Jcalendar pada java
 
Aplikasi sms sederhana dengan gammu dan java
Aplikasi sms sederhana dengan gammu dan javaAplikasi sms sederhana dengan gammu dan java
Aplikasi sms sederhana dengan gammu dan java
 
Desain laporan pada java dengan ireport & jcreator
Desain laporan pada java dengan ireport & jcreatorDesain laporan pada java dengan ireport & jcreator
Desain laporan pada java dengan ireport & jcreator
 

Jurnal

  • 1. Digital Watermarking Pada Citra Menggunakan Metode Modified Least Significant Bit (MLSB) Dengan Penyebaran Pesan Secara Acak Menggunakan Metode Linear Congruential Generator (LCG):Studi Laboratorium ICT Terpadu Universitas BUDI LUHUR Agung Sulistyanto Teknik Informatika, Fakultas Teknologi Informasi, Universitas Budi Luhur Jl. Raya Ciledug, Petukangan Utara, Kebayoran Lama, Jakarta Selatan 12260 Telp. (021) 5853753, Fax. (021) 5866369 E-mail : agung.sulistyan@gmail.com ABSTRAK Dengan perkembangan perangkat komputer dan internet yang semakin pesat menjadikan pertukaran data dan informasi secara digital semakin banyak digunakan. Namun sebagian dari data tersebut seharusnya tidak dapat didistribusi atau dimodifikasi secara bebas (tanpa izin), karena mengandung hak kekayaan intelektual penciptanya. Pelanggaran ini yang sering terjadi di media internet namun tidak semua pengguna internet menyadarinya. Maka, sebuah konten digital yang akan dipublikasikan haruslah memiliki aturan dalam pemanfaatan dan perlindungan yang diakui secara luas, agar supaya hak kekayaan intelektual penciptanya tetap terjaga. Cara untuk melindungi hak kekayaan intelektual atas suatu karya digital adalah dengan memberikan lisensi pada konten tersebut. Pada tugas akhir ini digunakan Lisensi Creative Commons. Digital watermarking adalah teknik yang digunakan untuk menyisipkan informasi yang menunjukan kepemilikan atas sebuah data dan informasi digital. Pada tugas akhir ini tanda watermark akan menempel pada citra digital sebagai pendamping konten digital yang umum digunakan. Pesan lisensi disisipkan menggunakan metode Modified Least Significant Bit (MLSB) sebagai teknik penyisipan dan kompresi bit pesan sehingga pesan yang disisipkan lebih sedikit dan metode pembangkitan bilangan acak Pseudo Random Number Generator (PRNG) dengan Linear Congruential Generator (LCG) untuk menyisipkan pesan secara acak. Sehingga diharapkan aplikasi ini dapat membantu pengguna dalam mencari informasi mengenai sumber utama suatu konten digital. Kata kunci : Copyright, Digital Watermarking, Least Significant Bit (LSB), Modified Least Significant Bit (MLSB), Linear Congruential Generator (LCG). 1. PENDAHULUAN Dengan perkembangan perangkat komputer yang semakin pesat menjadikan pertukaran data dan informasi secara digital semakin banyak digunakan Karena sifatnya yang mudah disimpan, dimodifikasi dan didistribusikan secara luas. Dapat digaris bawahi bahwa internet memfasilitasi pertukaran data tersebut secara luas dan terbuka. Namun di sisi lain sebagian dari data tersebut seharusnya tidak dapat didistribusi atau dimodifikasi secara bebas (tanpa izin), karena mengandung hak kekayaan intelektual penciptanya. Pelanggaran ini yang sering terjadi di media internet namun tidak semua pengguna internet menyadarinya. Maka, sebuah data digital yang akan dipublikasikan haruslah memiliki aturan dalam pemanfaatan dan perlindungan yang diakui secara luas, agar supaya hak kekayaan intelektual penciptanya tetap terjaga. Cara untuk melindungi hak kekayaan intelektual atas suatu karya digital adalah dengan memberikan lisensi pada konten tersebut. Informasi lisensi perlu disisipkan pada media lain supaya tahan terhadap berbagai aktifitas dalam upaya menghilangkannya. Salah satu media digital yang dapat dijadikan sebagai penampung pesan adalah citra digital. Citra digital dipilih karena banyak digunakan sebagai pelengkap konten berbasis teks. Sehingga dengan penggunaan citra digital, informasi lisensi yang disisipkan dapat tahan terhadap berbagai serangan dalam upaya-upaya untuk menghilangkannya. Penelitian ini terbatas pada citra digital yang akan digunakan adalah citra dengan format BITMAP dan PNG (tidak transparan background). Serta pesan yang
  • 2. disisipkan terbatas pada karakter A s/d Z, a s/d z dan 1 s/d 0. 2. LANDASAN TEORI 2.1. Digital Watermarking Watermarking merupakan cara untuk menyisipkan watermark atau proses penambahan kode secara permanen ke dalam citra digital yang ingin dilindungi hak ciptanya dengan tidak merusak citra aslinya dan tahan terhadap serangan (Munir, 2006). 2.2. Metode Least Significant Bit (LSB) Least Significant Bit (LSB) adalah bagian dari barisan data biner yang mempunyai nilai paling tidak berarti atau paling kecil. Bit LSB letaknya di paling kanan pada barisan biner, karena nilai 1 bit LSB pada barisan biner hanya merepresentasikan nilai 1 desimal, maka bit ini dianggap tidak berarti. Sehingga jika terjadi perubahan pada nilai bit LSB maka tidak akan terjadi perubahan secara signifikan. Gambar 1 : Bananas.jpg Dimisalkan data berupa teks “secret” akan disisipkan kedalam gambar tersebut. Jika direpresentasikan ke dalam binary kata “secret” menjadi, Tabel 1 : Konfersi ASCII teks “secret” Character ASCII value (decimal) Hexadecimal Binary s 115 73 01110011 e 101 65 01100101 c 99 63 01100011 r 114 72 01110010 e 99 63 01100011 t 116 74 01110100 Dimisalkan nilai binary dari gambar bananas.jpg seperti berikut. Tabel 2 : Nilai biner bananas.jpg 00000000 00000000 00000001 00000001 00000001 00000001 00000001 00000001 00000000 00000000 00000001 00000001 00000001 00000001 00000001 00000001 00000000 00000000 00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000001 00000010 00000010 00000010 00000011 00000011 00000011 00000001 00000001 00000010 00000010 00000010 00000011 00000011 00000011 00000001 00000001 00000010 00000010 00000010 00000011 00000011 00000011 Maka dalam penerapannya nilai bit pada kata “secret” akan disisipkan atau mengganti nilai bit ke-8 pada binary bananas.jpg. Tabel 3 : Nilai biner teks “secret” 0 1 1 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 1 0 0 0 1 1 0 1 1 1 0 0 1 0 0 1 1 0 0 0 1 1 0 1 1 1 0 1 0 0 Hasil akhir (citra-stego): Tabel 4 : Nilai biner bananas.jpg setelah disisipkan pesan 00000000 00000001 00000001 00000001 00000000 00000000 00000001 00000001 00000000 00000001 00000001 00000000 00000000 00000001 00000000 00000001 00000000 00000001 00000001 00000000 00000000 00000000 00000001 00000001 00000000 00000001 00000011 00000011 00000010 00000010 00000011 00000010 00000000 00000001 00000011 00000010 00000010 00000010 00000011 00000011 00000000 00000001 00000011 00000011 00000010 00000011 00000010 00000010 2.3 Metode Modified Least Significant Bit (MLSB) Modified Least Significant Bit (MLSB) atau modifikasi dari Algoritma LSB digunakan untuk meng-encode sebuah identitas ke dalam citra asli. MLSB menggunakan manipulasi beberapa bit-bit penyisip sebelum meng-encode pesan tersebut (Zaher, 2011). Modifikasi pesan dengan algoritma MLSB dimana bit pesan yang seharusnya 1 karakter memiliki nilai 8 bit ASCII akan dimodifikasi menjadi 5 bit (31 desimal). Pada algoritma ini karakter dan angka direpresentasikan dalam 5 bit sebelum disisipkan ke dalam citra asli dengan teknik LSB. Perubahan nilai ASCII menjadi 5 bit dilakukan dengan proses-proses berikut: a. Proses mengubah data penyisip dengan kode ASCII. Misalkan pesan yang akan disisipkan kalimat “STEGO with 05 bits” yang jika diubah ke dalam biner ASCII membutuhkan memori sebesar 18 x 8 bit = 144 bit. Pada algoritma MLSB pesan di atas diubah menjadi ASCII (hex) :
  • 3. 53(16), 54(16), 45(16), 47(16), 4F(16), 20(16), 77(16), 69(16), 74(16), 68(16), 20(16), 30(16), 35(16), 20(16), 62(16), 69(16), 74(16), 73(16). Kemudian dilakukan proses normalisasi dengan tabel Control Symbol seperti pada tabel. Tabel 5 : Control symbol Hex Representation Operation 1B Define Small Letter 1C Define Capital Letter 1D Define Space 1E Define Number 1F Define End Of Text b. Baca tanda penyisip (ASCII) sampai tanda spasi 20(16) yaitu 53(16), 54(16), 45(16), 47(16), 4F(16). c. Karena merupakan barisan karakter huruf kapital, semua nilai di-XOR-kan dengan nilai puluhan ASCII dari nilai hex pada karakter terkecil dalam huruf kapital. Nilai karakter terkecil adalah ‘A’ yaitu 41(16) sehingga 53(16) ⨁ 40(16) = 13(16), 54(16) ⨁ 40(16) = 14(16), 45(16) ⨁ 40(16) = 05(16), 47(16) ⨁ 40(16) = 07(16), 4F(16) ⨁ 40(16) = 0F(16). d. Sehingga didapatkan data penyisip kelompok pertama adalah IC(16), 13(16), 14(16), 05(16), 07(16), 0F(16), 1D(16) dimana IC(16) adalah Control Symbol untuk huruf besar (capital) dan ID(16) adalah nilai Control Symbol yang digunakan untuk menggantikan nilai spasi 20(16). e. Data penyisip kelompok kedua adalah 77(16), 69(16), 74(16), 68(16) dikurangi dengan nilai puluhan karakter terkecil ‘a’ 61(16), menjadi 77(16) ⨁ 60(16) = 17(16), 69(16) ⨁ 60(16) = 09(16), 74(16) ⨁ 60(16) = 14(16), 68(16) ⨁ 60(16) = 08(16). f. Data kelompok kedua akan digabungkan dengan data kelompok pertama menjadi IC(16), 13(16), 14(16), 05(16), 07(16), 0F(16), ID(16), IB(16), 17(16), 09(16), 14(16), 08(16). g. Data kelompok ketiga adalah 30(16), 35(16) dikurangi dengan nilai puluhan kelompok angka terkecil ‘0’ yaitu 30(16) menjadi 30(16) ⨁ 30(16) = 00(16), 35(16) ⨁ 30(16) = 05(16). h. Data kelompok ketiga akan digabung dengan data kelompok sebelumnya dan ditambah dengan Control Symbol ID(16) untuk spasi dan IE(16) untuk nomor menjadi ID(16), IE(16), 00(16), 05(16). i. Data kelompok keempat adalah 62(16), 69(16), 74(16), 73(16) dikurangi dengan nilai puluhan karakter terendah ‘a’ 61(16) menjadi 62(16) ⨁ 60(16) = 02(16), 69(16) ⨁ 60(16) = 09(16), 74(16) ⨁ 60(16) = 14(16), 73(16) ⨁ 60(16) = 13(16). j. Data kelompok keempat akan digabungkan dengan data kelompok sebelumnya dan ditambah dengan Control Symbol ID(16) untuk spasi dan IB(16) untuk huruf kecil dan IF(16) untuk akhir data menjadi ID(16), IB(16), 02(16), 09(16), 14(16), 13(16), IF(16). Sehingga pesan yang akan disisipkan menjadi IC(16), 13(16), 14(16), 05(16), 07(16), 0F(16), ID(16), IB(16), 17(16), 09(16), 14(16), 08(16), ID(16), IE(16), 00(16), 05(16), ID(16), IB(16), 02(16), 09(16), 14(16), 13(16), IF(16). Pesan ini hanya membutuhkan 23 x 5 bit = 115 bit yang jika diubah menjadi data biner menjadi 11100, 10011, 10100, 00101, 00111, 01111, 11101, 11011, 10111, 01001, 10100, 01000, 11101, 11110, 00000, 00101, 11101, 11011, 00010, 01001, 10100, 10011, 11111. Setelah diubah menjadi nilai maksimal 5 bit, bit-bit pesan akan disisipkan menggunakan teknik Least Significant Bit (LSB). Untuk mendapatkan pesan asli (decode) dilakukan dengan meng-XOR-kan kembali byte pesan dengan nilai puluhan terendah sesuai pada kelompok bilangan dan menghilangkan nilai Control Symbol. 2.4 Pembangkitan Bilangan Acak Bilangan acak (random) adalah bilangan yang tidak dapat diprediksi. Bilangan acak yang dihasilkan dengan rumus matematika adalah bilangan acak semu (pseudo), karena pembangkitan bilangannya dapat diulangi kembali. Pembangkitan bilangan acak semacam ini disebut Pseudo Random Number Generator (PRNG). PRNG menghasilkan suatu urutan nilai yang setiap hasil nilainya bergantung pada nilai yang dihasilkan sebelumnya. Namun, output dari PRNG tidak betul-betul acak secara sempurna karena pada perulangan tertuntu dapat ditemui nilai yang sama. Linear Congruential Generator (LCG) adalah salah satu algoritma pseudo random number tertua dan paling populer. Algoritma ini diciptakan oleh D. H. Lehmer pada tahun 1951. Angka random pada LCG diperoleh melalui persamaan baerulang berikut:
  • 4. Gambar 2 : Linear Congruential Generator (LCG) Penentuan nilai awal dan konstanta (a, b dan m) akan menentukan kualitas bilangan acak yang dihasilkan. Periode LCG paling besar adalah modulus m, bahkan pada kebanyakan kasus periodenya kurang dari modulonya. Karena sifatnya yang random dan dapat dibangkitkan kembali nilainya maka dapat dijadikan sebagai alamat dalam menyisipkan pesan secara acak dan sebagai kunci dalam mengekstrak kembali pesan yang telah disisipkan pada teknik steganografi. 2.5 Lisensi Creative Commons Prinsip Konten Terbuka didasarkan pada ide dari gerakan Free and Open Source Software (FOSS) atau Perangkat Lunak Bebas dan Sumber Terbuka. Pendekatan Sumber Terbuka dimulai di dalam pasar perangkat lunak pada tahun 1990-an. Pada dasarnya bersumber pada kesuksesan besar dari GNU-Linux dan lisensinya, yaitu GNU General Public License (GPL). Pencetus utama dari gerakan Konten Terbuka adalah Lawrence Lessig, pada tahun 2001, beliau bergabung dengan Hal Abelson dan Eric Eldred dan mendirikan inisiatif Creative Commons (CC) untuk mempromosikan kepemilikan digital (musik, film, gambar) bersama. CC adalah model lisensi konten terbuka yang paling luas. Popularitas dan luasnya penggunaan lisensi ini berarti CC di anggap sebagai standar untuk lisensi konten terbuka. CC menyediakan satu set yang terdiri dari enam lisensi seperti pada Gambar 2.12. Setiap lisensi mengandung satu atau beberapa unsur dari total empat unsur dasar (“fitur lisensi”) yang diilustrasikan dengan piktogram seperti berikut. Gambar 3 : Piktogram fitur-fitur lisensi CC 1) CC BY (Atribusi) BY adalah singkatan untuk atribusi adalah kewajiban untuk mencantumkan nama pencipta dan pihak lain yang harus dicantumkan namanya. 2) CC NC (NonKomersial) NC adalah penggunaan untuk tujuan komersial tidak diizinkan oleh lisensi. 3) CC ND (Tanpa Turunan) ND adalah hanya salinan verbatim dari ciptaan yang boleh dibagikan. 4) CC SA (Berbagi Serupa) SA adalah berbagi serupa dimana ciptaan turunan hanya dapat disebarluaska dengan lisensi yang sama dengan lisensi ciptaan. 3. RANCANGAN SISTEM DAN APLIKASI Pada perancangan aplikasi ini terdapat dua fungsi utama yaitu proses penyisipan pesan (embed) dan proses ekstraksi pesan (extract). Pada Gambar 3.1 dijelaskan alur proses penyisipan pesan (embed) dan pada Gambar 3.2 dijelaskan alur proses ekstraksi pesan (extract). 3.1 Penyisipan Pesan Gambar 4 : Alur proses penyisipan Pada proses penyisipan pesan (embedding) terdapat tahapan-tahapan yang secara berurutan dijelaskan sebagai berikut: 1) Membaca File Masukan Pada tahapan ini memiliki tiga buah masukan, yaitu citra penampung pesan, pesan yang akan disisipkan, dan password yang akan digunakan sebagai kunci dalam pembuatan bilangan acak. Untuk memilih citra yang akan dijadikan sebagai penampung pesan, pada bagian embed terdapat button “Pilih” yang akan menampilkan File
  • 5. Chooser untuk memilih citra yang diinginkan sebagai penampung. Citra yang sudah dipilih sebagai penampung akan diduplikat. File hasil duplikat akan diambil byte samplenya berdasarkan nilai RGB setiap pikselnya, data byte inilah yang nantinya akan diproses untuk disisipkan pesan. Pada pesan dan password didapatkan data byte dengan mengkonversi karakter yang dimasukan dengan nilai ASCIInya. 2) Encode Pesan Pada tahapan ini byte pesan yang sudah didapatkan akan di encode dengan metode Modified Least Significant Bit (MLSB). Pada metode MLSB nilai byte ASCII pada sebuah karakter yang mulanya memiliki nilai maksimal 8 bit (255 desimal) dikodekan sehingga hanya memiliki nilai maksimal 5 bit (31 desimal). Pengkodean ini dihasilkan berdasarkan tabel Control Symbol yang sudah dijelaskan pada Bab II. Setelah di encode, byte inilah yang nantinya akan disisipkan ke dalam byte citra penampung. 3) Membuat Bilangan Acak Pada tahapan ini byte password yang sudah didapatkan akan digunakan untuk menghasilkan sejumlah bilangan acak menggunakan metode Pseudo Random Number Generator (PRNG) Linear Congruential Generator (LCG) yang sudah dijelaskan pada Bab II. Nilai ASCII setiap karakter akan di looping dan menjadi salah satu parameter dalam membentuk nilai random. Nilai random inilah yang akan dijadikan sebagai alamat penyisipan byte pesan kedalam byte citra. 4) Menyisipkan Pesan Tahapan ini adalah merupakan inti dari proses embed yaitu menyisipkan pesan. Setelah meng-encode bit pesan menjadi 5 bit dan membentuk bilangan acak tahapan selanjutnya adalah menyisipkan byte pesan tersebut kedalam byte citra secara acak berdasarkan bilangan acak yang terbentuk menggunakan metode Least Significant Bit (LSB) yang sudah dijelaskan pada Bab II. Dalam proses penyisipannya 1 byte pesan akan direpresentasikan menjadi 8 bit. Karena nilai pesan sudah di encode sebelumnya menjadi 5 bit (31 desimal), maka bit ke-6, ke-7 dan ke-8 tidak perlu disisipkan karena nilai bitnya sudah pasti 0. 5) Mengkonstruksi Gambar Setelah disisipkan, pada tahapan ini byte sample citra dikonstruksi kembali menjadi sebuah citra digital yang sudah terdapat pesan rahasia di dalamnya (stego-image). 3.2Ekstraksi Pesan Gambar 5 : Alur proses ekstraksi 1) Membaca File Masukan Pada tahapan ini memiliki dua buah masukan, yaitu citra yang sudah berisi pesan, dan password yang akan digunakan sebagai kunci dalam menentukan lokasi dimana bit-bit pesan disisipkan. Untuk memilih citra yang akan diekstraksi, pada bagian extract terdapat button “Pilih” yang akan menampilkan File Chooser untuk memilih citra yang akan diekstraksi pesan didalamnya. Citra yang sudah dipilih akan diambil byte samplenya berdasarkan nilai RGB setiap pikselnya, data byte inilah yang nantinya akan diproses untuk ekstraksi pesan. Pada password di dapatkan data byte dengan mengkonversi karakter yang dimasukan dengan nilai ASCIInya. 2) Membuat Bilangan Acak Pada tahapan ini byte password yang sudah didapatkan akan digunakan untuk menghasilkan sejumlah bilangan acak menggunakan metode Pseudo Random Number Generator (PRNG) Linear Congruential Generator (LCG) yang sudah dijelaskan pada Bab II. Nilai ASCII setiap karakter akan di looping dan menjadi salah satu parameter dalam membentuk nilai random. Password yang digunakan pada saat proses embed dan extract harus sama untuk mendapatkan nilai random yang sama. Nilai random inilah yang akan dijadikan sebagai alamat untuk mendapatkan nilai bit-bit pesan pada citra. 3) Memisahkan Data Pesan Pada Citra Pada tahapan ini bit-bit pesan pada citra didapatkan dengan mengambil 1 bit Least Significant Bit (LSB) dari byte citra secara berurutan berdasarkan lokasi yang ditentukan nilai random. Setiap 5 bit citra yang didapatkan, dikontruksi kembali menjadi nilai byte 8 bit. Proses ini dilakukan berulang-ulang sampai semua pesan di dapatkan. 4) Decode Pesan
  • 6. Pada tahapan ini nilai byte pesan setiap karakter sudah didapatkan, namun masih ter-encode sepanjang maksimal 5 bit (31 desimal). Seperti penjelasan pada Bab II, pada tahapan ini byte pesan di-decode untuk mengembalikan nilai ASCII pada setiap karakter menggunakan metode Modified Least Significant Bit (MLSB). 5) Mengkonstruksi Pesan Setelah nilai byte ASCII pesan didapatkan, karakter pesan dituliskan pada file berekstensi .txt dan disimpan sesuai dengan nama file yang diberikan. 4. HASIL DAN PEMBAHASAN tampilan halaman utama yang sekaligus tampilan form sisipkan. Button “Pilih” difungsikan untuk memilih citra yang akan dijadikan penampung pesan lisensi. Pada bagian Pilih Fitur difungsikan untuk memilih fitur lesensi yang digunakan terdapat juga penjelasan pada tiap-tiap kombinasi lisensi yang dipilih. Pada bagian Detil Atribusi difungsikan untuk mengisi detil informasi dari lisensi yang digunakan. Pada bagian Penyisipan digunakan untuk melengkapi lokasi output dan nama output citra dan password sebagai kunci penyisipan. Untuk memulai proses penyisipan pesan dapat menggunakan button “Sisipkan”, untuk membersihkan inputan dengan button “Bersih” dan untuk keluar dari aplikasi dapat menggunakan button “Keluar”. Gambar 6 : Tampilan form embed Pada form ekstraksi berfungsi untuk mengeluarkan pesan lisensi yang sebelumnya telah disisipkan pada citra penampung. Button “pilih” difungsikan untuk memilih citra yang akan di ekstraksi pesan didalamnya. Pada bagian ekstraksi terdapat lokasi dan nama file untuk menyimpan hasil keluaran serta password yang digunakan sebagai kunci dalam proses ekstraksi. Setelah itu untuk memulai proses ekstraksi pesan dapat menggunakan button “Ekstrak”, untuk membersihkan inputan dengan button “Bersih” dan untuk keluar aplikasi dapat menggunakan button “Keluar”. Gambar 7 : Tampilan form ekstraksi 4.1 Kelebihan dan Kekurangan A) Kelebihan Program Kelebihan yang dimiliki aplikasi digital watermarking ini adalah sebagai berikut: 1) Menggunakan algoritma pengacakan sehingga pesan yang disisipkan lebih sulit untuk dideteksi. 2) Menggunakan algoritma pengacakan sehingga citra stego lebih mirip dengan citra asli. 3) Proses penyisipan dan ekstraksi relatif cepat karena aplikasi berbasis desktop sehingga sumber citra lebih cepat diakses aplikasi. 4) Mudah digunakan karena desain aplikasi yang sederhana. B) Kekurangan Program Kekurangan yang dimiliki aplikasi digital watermarking ini adalah sebagai berikut: 1) Aplikasi berbasis desktop, sehingga untuk menggunakannya pengguna perlu menginstall aplikasi terlebih dahulu. 2) Belum mampu untuk menyisipkan watermark pada banyak citra secara langsung. 3) Citra yang mengalami perubahan (cropping, resize, dll) dapat merusak pesan yang disisipkan. 5. KESIMPULAN
  • 7. Sesuai dengan pembahasan mengenai digital watermarking ini, maka kesimpulan yang dapat diambil oleh penulis adalah sebagai berikut: a. Dengan menggunaan password untuk menentukan posisi acak penyisipan, maka keamanan pesan yang disisipkan pada citra terjaga dengan aman. b. Metode Modified Least Significant Bit (MLSB) yang digunakan sudah berjalan dengan baik, dapat diperhatikan pada tabel pengujian pada Bab 4 bahwa ukuran bit pesan yang disisipkan menjadi lebih kecil dari semestinya. c. Dapat diperhatikan pada penyisipan crocodile.bmp, semakin bervariasi karakter yang disisipkan maka semakin banyak karakter control symbol yang digunakan menjadikan ukuran pesan yang disisipkan semakin besar seperti ukuran aslinya. d. Telah dilakukan percobaan (tidak terlampir) untuk menyisipkan citra berisi pesan lisensi (citra-stego) kedalam media dokumen lain (PDF). Dalam hasil percobaan tersebut pesan berhasil di ekstraksi, namun perlu diperhatikan dalam memisahkan citra-stego dengan dokumen (PDF) tersebut, agar supaya tidak merubah format, ukuran, nilai warna citra-stego yang disisipkan sebelumnya. e. Belum terjadi kegagalan penyisipan dan ekstraksi pesan dalam pengujian aplikasi, hal ini terjadi dikarenakan pesan yang disisipkan hanya berupa teks dan validasi yang digunakan dalam mencegah kegagalan tersebut. f. Pada penyisipan citra PNG dengan format warna ARGB dapat menurunkan ukuran citra karena citra dikonfersi menjadi format warna RGB sebelum disisipkan pesan. g. Pada penyisipan citra PNG dengan background tranparan terjadi perubahan background menjadi hitam setelah proses penyisipan. 5.1 Saran Tentunya tugas akhir ini masih jauh dari sempurna dan masih perlu banyak perbaikan dan pengembangan supaya menjadi lebih baik lagi. Berikut ini saran untuk pengembang tugas akhir ini: a. Pengembangan lebih lanjut dapat difokuskan pada penggunaan metode pengacakan yang lebih baik. b. Diimplementasikan berbasis web sehingga lebih mudah digunakan secara luas. c. Metode MLSB mempunyai sifat yang mudah rusak apabila mengalami rotasi, perbesaran, pemotongan, dan gangguan sehingga untuk pengembangan dapat diguakan penyisipan yang lebih baik pada domain frekuensi citra. DAFTAR PUSTAKA [1] Hidayat, Erwin Yudi, & Hastuti, Khafiizh 2013, Analisa Steganografi Metode Least Significant Bit (LSB) Dengan Penyisipan Sekuensial Dan Acak Secara Kuantitatif Dan Visual, Semarang, Jurnal Techno.com Vol.12, No. 3. [2] Imam, Khairul 2013, Penyembunyian Pesan Rahasia Pada Citra Digital Dengan Teknik Steganografi Menggunakan Metode Least Significant Bit (LSB), Jakarta, Universitas BUDI LUHUR. [3] Kadir, Abdul, & Susanto, Adhi 2013, Teori Dan Aplikasi Pengolahan Citra, Yogyakarta, Andi Publisher. [4] Keutzer, Till 2014, Konten Terbuka – Pedoman Praktis Penggunaan Lisensi Creative Commons, ISBN: 978-602-72890-1-7, Jakarta, Wikimedia Indonesia. [5] Lubis, Rifki Respati Ashari 2015, Analisis Kombinasi Algoritma Watermarking Modified Least Significant Bit (MLSB) Dengan Least Significant Bit+1, Sumatera, Universitas Sumatera Utara. [6] Munir, Rinaldi 2004, Diktat Kuliah IF5054 Kriptografi : Steganografi dan Watermarking, Bandung, Institut Teknologi Bandung. [7] Sakti, Dolly Virgian Shaka Yudha, Agani, Nazori, Hardjianto, Mardi 2015, Pengaman Sistem Menggunakan One Time Password Dengan Pembangkitan Password Hash SHA- 256 Dan Pseudo Random Number Generator (PRNG) Linear Congruential Generator (LCG) Di Perangkat Berbasis Android, Jakarta, Universitas BUDI LUHUR. [8] Sulistyanto, Agung 2015, Materi Pelatihan : Aplikasi Steganografi Dengan Metode LSB dan Enkripsi Pesan Dengan Pembangkitan Bilangan Acak, Jakarta, Laboratorium ICT Terpadu Universitas BUDI LUHUR. [9] Vebrina, Yus Gias 2014, Makalah : Spread Spectrum Steganography, Bandung, Institut Teknologi Bandung. [10] Zaher, Mazen Abu 2011, Modified Least Significant Bit (MLSB), Kanada, Jurnal CCSENET Vol. 4, No. 1.