74
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 TUGAS AKHIR Oleh: AGUNG SULISTYANTO 1211500192 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INFORMASI UNIVERSITAS BUDI LUHUR JAKARTA 2016

TA_Digital Watermarking Metode Modified Least Significant Bit

Embed Size (px)

Citation preview

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

TUGAS AKHIR

Oleh:

AGUNG SULISTYANTO

1211500192

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INFORMASI UNIVERSITAS BUDI LUHUR

JAKARTA 2016

i

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

TUGAS AKHIR

Diajukan untuk memenuhi salah satu persyaratan

memperoleh gelar Sarjana Komputer (S.Kom)

Oleh:

AGUNG SULISTYANTO

1211500192

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INFORMASI UNIVERSITAS BUDI LUHUR

JAKARTA 2016

ii

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INFORMASI UNIVERSITAS BUDI LUHUR

LEMBAR PENGESAHAN

Nama : Agung Sulistyanto Nomor Induk Mahasiswa : 1211500192 Jenjang Studi : Strata 1 Judul : 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

Jakarta, 29 Desember 2015 Tim Penguji : Tanda tangan : Ketua,

Rizky Tahara Shita, M.Kom …………………………. Anggota, Mardi Hardjianto, M.Kom

…………………………. Pembimbing, Mufti, M.Kom ………………………….

Ketua Program Studi

……………………………………………………. Muhammad Ainur Rony, S.Kom, M.T.I

iii

ABSTRAK

Nim : 1211500192 Nama : Agung Sulistyanto Judul : 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

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).

xiv+59 Hal; 7 Tabel; 54 Gambar; 1 Lampiran

iv

SURAT PERYATAAN TIDAK PLAGIAT DAN PERSETUJUAN PUBLIKASI

Saya yang bertanda tangan dibawah ini :

Nama : Nim : Program Studi : Fakultas :

Menyatakan bahwa TUGAS AKHIR yang berjudul :

....................................................................................................................................

....................................................................................................................................

....................................................................................................................................

....................................................................................................................................

....................................................................................................................................

1. Merupakan hasil karya tulis ilmiah sendiri dan bukan merupakan karya yang pernah

diajukan untuk memperoleh gelar akademik oleh pihak lain. 2. Saya ijinkan untuk dikelola oleh Universitas Budi Luhur sesuai dengan norma hukum dan

etika yang berlaku. Peryataan ini saya buat dengan penuh tanggung jawab dan saya bersedia menerima

konsekuensi apapun sesuai aturan yang berlaku apabila dikemudian hari peryataan ini tidak benar.

Jakarta, 29 Desember 2015

Agung Sulistyanto

v

KATA PENGANTAR

Alhamdulillah, Segala puji dan syukur penulis panjatkan kehadirat Allah SWT yang telah

melimpahkan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan skripsi ini dengan baik. Adapun skripsi ini disusun untuk memenuhi persyaratan dalam menyelesaikan tingkat pendidikan Strata Satu (S1) pada Program Studi Teknologi Informatika, Fakultas Teknologi Informasi Universitas Budi Luhur.

Dalam Kesempataan ini, penulis ingin mengucapkan terima kasih kepada semua pihak yang telah membimbing dan memberikan masukkan berupa kritik serta saran kepada penulis dalam penyusunan tugas akhir ini, oleh karena itu, penulis menyampaikan rasa hormat dan ungkapan terima kasih kepada :

1. Allah SWT, atas segala Petunjuk dan Kemudahan-Nya sehingga pada akhirnya penulis

dapat menyelesaikan tugas akhir ini. 2. Kedua orang tua dan saudara-saudaraku tercinta di rumah yang telah memberikan

semua cinta dan kasih sayangnya, do’a, nasehat, dan semangat yang alhamdulillah mengantarkan penulis sampai saat ini.

3. Bapak Prof. Ir. Suryo Hapsoro Tri Utomo, Ph.D selaku Rektor Universitas Budi Luhur. 4. Bapak Goenawan Brotosaputro, S.Kom, M.Sc. selaku Dekan Fakultas Teknologi

Informasi, Universitas Budi Luhur. 5. Bapak Muhammad Ainur Rony, S.Kom, M.T.I., selaku Ketua Program Studi Teknik

Informatika, Fakultas Teknologi Informasi Universitas Budi Luhur. 6. Bapak Mufti, M.Kom., selaku Dosen Pembimbing yang selalu memberi penulis arahan

dan motivasi. 7. Bapak Humisar Hasugian, M.Kom, selaku kepala Laboratorium ICT Terpadu Universitas

BUDI LUHUR yang selalu memberi penulis arahan dan pelajaran selama berada dalam organisasi Laboratorium ICT Terpadu.

8. Sahabat-sahabat Asisten angkatan 12 Angga, ‘Alim, Andrew, Irfan, Yohan, Riyan,

Nanang, Diana, Kory, Riri, Devi, Fitri, Diah, Yesih. 9. Teman-teman Asisten angkatan 13 dan 14 yang tengah berjuang untuk menjadikan

Laboratorium ICT Terpadu menjadi lebih baik lagi. 10. Semua teman-teman yang namanya tidak dapat penulis sebutkan satu persatu selama

penulis menimba ilmu di Universitas BUDI LUHUR. 11. Serta semua pihak yang telah membantu penulis dalam menyelesaikan penyusunan

skripsi ini.

Semoga Tuhan Yang Maha Esa melimpahkan karunia serta anugrah-Nya atas segala

bantuan yang telah diberikan. Amin. Penulis sadar bahwa penyusunan tugas akhir ini masih jauh dari sempurna, oleh karena

itu penulis menerima kritik dan saran demi sempurnanya Tugas Akhir ini. Akhir kata penulis memohon maaf atas segala kekurangan yang ada pada tugas akhir ini.

Semoga tulisan ini dapat bermanfaat bagi semua pihak.

Jakarta, 29 Desember 2015

Penulis

vi

DAFTAR TABEL

Halaman Tabel 2.1 : Konversi ASCII teks “secret” ................................................................. 11

Tabel 2.2 : Nilai biner bananas.jpg ........................................................................ 11

Tabel 2.3 : Nilai biner teks “secret” ........................................................................ 12

Tabel 2.4 : Nilai biner bananas.jpg setelah disisipkan pesan ..................................... 12

Tabel 2.5 : Control symbol .................................................................................... 13

Tabel 4.1 : Pengujian penyisipan pesan .................................................................. 55

Tabel 4.2 : Pengujian ekstraksi pesan .................................................................... 55

Tabel 4.2 : Lanjutan ............................................................................................. 56

vii

DAFTAR GAMBAR

Halaman Gambar 2.1 : Koordinat posisi piksel ...................................................................... 7

Gambar 2.2 : Citra monochrome ........................................................................... 7

Gambar 2.3 : Citra dalam grid 8x8 ......................................................................... 7

Gambar 2.4 : Digitalisasi citra monochrome ............................................................ 8

Gambar 2.5 : Citra monochrome dalam grid 6x6 ..................................................... 8

Gambar 2.6 : Citra grayscale ................................................................................. 9

Gambar 2.7 : Ruang warna RGB ............................................................................ 9

Gambar 2.8 : Bananas.jpg .................................................................................... 11

Gambar 2.9 : Pseudo random number generator (PRNG) ......................................... 14

Gambar 2.10 : Linear congruential generator (LCG) ................................................. 14

Gambar 2.11 : Piktogram fitur-fitur lisensi CC ......................................................... 16

Gambar 2.12 : Enam variasi lisensi CC ................................................................... 16

Gambar 3.1 : Alur proses penyisipan ...................................................................... 19

Gambar 3.2 : Alur proses ekstraksi ........................................................................ 20

Gambar 3.3 : Rancangan layar menu utama ........................................................... 22

Gambar 3.4 : Rancangan layar form sisipkan .......................................................... 22

Gambar 3.5 : Rancangan layar penjelasan .............................................................. 23

Gambar 3.6 : Rancangan status penyisipan ............................................................ 23

Gambar 3.7 : Rancangan layar form ekstraksi ......................................................... 23

Gambar 3.8 : Rancangan layar status ekstraksi ....................................................... 24

Gambar 3.9 : Flowchart form menu utama ............................................................. 24

Gambar 3.10 : Flowchart form sisipkan .................................................................. 25

Gambar 3.11 : Flowchart form ekstraksi ................................................................. 26

Gambar 3.12 : Flowchart penyisipan pesan ............................................................. 27

Gambar 3.13 : Flowchart ekstraksi pesan ............................................................... 27

Gambar 3.14 : Flowchart encode pesan 1 ............................................................... 28

Gambar 3.15 : Flowchart encode pesan 2 ............................................................... 29

Gambar 3.16 : Flowchart penyisipan panjang pesan ................................................ 30

Gambar 3.17 : Flowchart generate bilangan acak .................................................... 31

Gambar 3.18 : Flowchart sisipkan pesan................................................................. 32

Gambar 3.19 : Flowchart ekstraksi panjang pesan ................................................... 33

Gambar 3.20 : Flowchart ekstraksi pesan ............................................................... 34

Gambar 3.21 : Flowchart decode pesan 1 ............................................................... 35

viii

Gambar 3.22 : Flowchart decode pesan 2 ............................................................... 36

Gambar 3.23 : Flowchart ubah nilai ....................................................................... 37

Gambar 4.1 : Tampilan awal instalasi ..................................................................... 45

Gambar 4.2 : Tampilan pilih direktori instalasi ......................................................... 46

Gambar 4.3 : Tampilan untuk memulai proses instalasi ............................................ 46

Gambar 4.4 : Tampilan proses instalasi aplikasi ....................................................... 47

Gambar 4.5 : Tampilan pemberitahuan instalasi selesai ............................................ 47

Gambar 4.6 : Tampilan layar utama ....................................................................... 48

Gambar 4.7 : Tampilan layar form ekstraksi ............................................................ 48

Gambar 4.8 : Pilih citra asli ................................................................................... 49

Gambar 4.9 : Form sisipkan .................................................................................. 49

Gambar 4.10 : Tampilkan penjelasan lisensi............................................................ 50

Gambar 4.11 : Input detil atribusi .......................................................................... 50

Gambar 4.12 : Input detil file output ...................................................................... 51

Gambar 4.13 : Jalankan proses penyisipan ............................................................. 51

Gambar 4.14 : File citra baru ................................................................................ 52

Gambar 4.15 : Form ekstraksi ............................................................................... 52

Gambar 4.16 : Memilih citra stego ......................................................................... 53

Gambar 4.17 : Input detil file output ...................................................................... 53

Gambar 4.18 : File hasil ekstraksi .......................................................................... 54

Gambar 4.19 : Isi pesan ekstraksi .......................................................................... 54

ix

DAFTAR SIMBOL

Flowchart 1.

Terminator Digunakan untuk menggambarkan kegiatan awal atau akhir suatu proses

Input/Output Digunakan untuk menggambarkan suatu kegiatan masukkan ataupun keluaran

Decision Digunakan untuk mengambil suatu keputusan atau tindakan yang harus diambil pada kondisi tertentu

Process Digunakan untuk menggambarkan suatu kegiatan proses penghubung

Predefined Process Digunakan untuk modul yang tidak ditulis, karena sudah ada dalam sistem yang menggambarkan suatu proses

Line Connector Digunakan untuk menghubungkan satu simbol dengan simbol lainnya yang menyatakan alur proses

x

DAFTAR ISI

Halaman LEMBAR JUDUL .................................................................................................... i

LEMBAR PENGESAHAN .......................................................................................... ii

ABSTRAK ............................................................................................................. iii

SURAT PERYATAAN TIDAK PLAGIAT DAN PERSETUJUAN PUBLIKASI .......................... iv

KATA PENGANTAR ................................................................................................ v

DAFTAR TABEL ..................................................................................................... vi

DAFTAR GAMBAR ................................................................................................. vii

DAFTAR SIMBOL .................................................................................................. ix

DAFTAR ISI.......................................................................................................... x

BAB I : PENDAHULUAN ......................................................................................... 1

Latar Belakang ................................................................................... 1 1.

Perumusan Masalah ............................................................................ 1 2.

Tujuan Penulisan ................................................................................ 2 3.

Batasan Permasalahan ........................................................................ 2 4.

Metoda Pengembangan ....................................................................... 2 5.

a. Metode Penelitian .......................................................................... 2

1) Metode Kepustakaan.................................................................. 2

2) Metode Wawancara ................................................................... 2

3) Metode Observasi ...................................................................... 2

b. Metode Perancangan ...................................................................... 2

1) Analisis..................................................................................... 2

2) Desain...................................................................................... 3

3) Implementasi ............................................................................ 3

4) Perawatan ................................................................................ 3

Sistematika Penulisan.......................................................................... 3 6.

BAB II : LANDASAN TEORI .................................................................................... 5

Pendahuluan ...................................................................................... 5 1.

Steganografi ...................................................................................... 5 2.

a. Pengertian Steganografi.................................................................. 5

b. Sejarah Steganografi ...................................................................... 5

c. Faktor Penting Dalam Steganografi .................................................. 5

1) Fidelity ..................................................................................... 5

2) Robustness ............................................................................... 5

xi

3) Recovery .................................................................................. 5

4) Security .................................................................................... 5

d. Media Penampung Pesan ................................................................ 5

1) Teks ........................................................................................ 5

2) Citra ........................................................................................ 5

3) Video ....................................................................................... 5

4) Audio ....................................................................................... 6

Digital Watermarking .......................................................................... 6 3.

a. Pengertian Digital Watermarking ...................................................... 6

b. Aplikasi Watermarking .................................................................... 6

1) Tamper-proofing ....................................................................... 6

2) Feature Location ....................................................................... 6

3) Annonation/Caption ................................................................... 6

4) Copyright-Labeling..................................................................... 6

Representasi Citra Digital..................................................................... 6 4.

a. Citra Biner (monochrome) ............................................................... 8

b. Citra Skala Keabuan (Grayscale) ...................................................... 9

c. Citra Warna Berindeks (RGB)........................................................... 9

1) Bitmap (.BMP) ........................................................................... 10

2) Joint Photographic Experts Group (.JPEG) .................................... 10

3) Portable Network Graphics (.PNG) ............................................... 10

Metode Least Significant Bit (LSB) ........................................................ 10 5.

Metode Modified Least Significant Bit (MLSB) ......................................... 12 6.

Pembangkitan Bilangan Acak ............................................................... 14 7.

Konten Terbuka.................................................................................. 15 8.

a. Latar Belakang............................................................................... 15

b. Lisensi Creative Commons ............................................................... 15

1) CC BY (Atribusi) ........................................................................ 16

2) CC NC (NonKomersial) ............................................................... 16

3) CC ND (Tanpa Turunan) ............................................................. 16

4) CC SA (Berbagi Serupa) ............................................................. 16

Tinjauan Pustaka ................................................................................ 17 9.

BAB III : ANALISA MASALAH DAN PERANCANGAN PROGRAM .................................... 18

Pendahuluan ...................................................................................... 18 1.

Permasalahan Dan Strategi Pemecahan Masalah .................................... 18 2.

xii

a. Analisa Masalah ............................................................................. 18

b. Strategi Pemecahan Masalah ........................................................... 18

Perancangan Program ......................................................................... 18 3.

a. Proses Penyisipan (embed) ............................................................. 19

1) Membaca File Masukan .............................................................. 19

2) Encode Pesan ........................................................................... 19

3) Membuat Bilangan Acak ............................................................. 20

4) Menyisipkan Pesan .................................................................... 20

5) Mengkonstruksi Gambar ............................................................. 20

b. Proses Ekstraksi (extract) ................................................................ 20

1) Membaca File Masukan .............................................................. 21

2) Membuat Bilangan Acak ............................................................. 21

3) Memisahkan Data Pesan Pada Citra ............................................. 21

4) Decode Pesan ........................................................................... 21

5) Mengkonstruksi Pesan ................................................................ 21

Rancangan Layar ................................................................................ 21 4.

a. Rancangan Layar Form Menu Utama ................................................ 22

b. Rancangan Layar Form Sisipkan ...................................................... 22

c. Rancangan Layar Form Ekstraksi ..................................................... 23

Flowchart .......................................................................................... 24 5.

Flowchart Halaman Utama .............................................................. 24 a.

Flowchart Halaman Sisipkan ............................................................ 25 b.

Flowchart Halaman Ekstraksi ........................................................... 25 c.

d. Flowchart Penyisipan Pesan............................................................. 26

e. Flowchart Ekstraksi Pesan ............................................................... 27

f. Flowchart Encode Pesan 1 .............................................................. 28

g. Flowchart Encode Pesan 2 .............................................................. 29

h. Flowchart Sisipkan Panjang Pesan .................................................... 30

i. Flowchart Generate Bilangan Acak ................................................... 31

j. Flowchart Sisipkan Pesan ................................................................ 32

k. Flowchart Ekstraksi Panjang Pesan ................................................... 33

l. Flowchart Ekstraksi Pesan ............................................................... 34

m. Flowchart Decode Pesan 1 .............................................................. 35

n. Flowchart Decode Pesan 2 .............................................................. 36

o. Flowchart Ubah Nilai ...................................................................... 37

xiii

Algoritma ........................................................................................... 37 6.

a. Algoritma Halaman Utama .............................................................. 37

b. Algoritma Halaman Sisipkan ............................................................ 38

c. Algoritma Halaman Ekstraksi ........................................................... 38

d. Algoritma Penyisipan Pesan ............................................................. 39

e. Algoritma Ekstraksi Pesan ............................................................... 39

f. Algoritma Encode pesan 1 ............................................................... 39

g. Algoritma Encode pesan 2 ............................................................... 40

h. Algoritma Sisipkan Panjang Pesan .................................................... 41

i. Algoritma Generate Bilangan Acak ................................................... 41

j. Algoritma Sisipkan Pesan ................................................................ 41

k. Algoritma Ekstraksi Panjang Pesan ................................................... 42

l. Algoritma Ekstraksi Pesan ............................................................... 42

m. Algortima Decode Pesan 1 .............................................................. 42

n. Algoritma Decode Pesan 2 .............................................................. 43

o. Algoritma Ubah Nilai ....................................................................... 44

BAB IV : IMPLEMENTASI DAN UJI COBA PROGRAM .................................................. 45

1. Pendahuluan ...................................................................................... 45

Implementasi ..................................................................................... 45 2.

a. Perangkat Keras (Hardware) ........................................................... 45

b. Perangkat Lunak (Software) ............................................................ 45

Instalasi Aplikasi Digital Watermarking .................................................. 45 3.

Tampilan Layar .................................................................................. 47 4.

a. Tampilan Layar Utama .................................................................... 47

b. Tampilan Layar Form Ekstraksi ........................................................ 48

5. Uji Coba Penggunaan Aplikasi Digital Watermarking ............................... 49

Pengujian Aplikasi Digital Watermarking ................................................ 54 6.

a. Pengujian Penyisipan Pesan ............................................................ 54

b. Pengujian Ekstraksi Pesan ............................................................... 55

Kelebihan dan Kekurangan Program ..................................................... 56 7.

a. Kelebihan Program ......................................................................... 56

b. Kekurangan Program ...................................................................... 56

BAB V : PENUTUP ................................................................................................. 57

1. Kesimpulan ........................................................................................ 57

2. Saran ................................................................................................ 57

xiv

DAFTAR PUSTAKA ................................................................................................ 58

LAMPIRAN-LAMPIRAN ........................................................................................... 59

1

BAB I

PENDAHULUAN

Latar Belakang 1.Dengan perkembangan perangkat komputer yang semakin pesat menjadikan

pertukaran data dan informasi secara digital semakin banyak digunakan hampir di segala bidang. Beberapa faktor yang menyebabkan data digital semakin banyak digunakan karena mudah disimpan, dimodifikasi dan didistribusikan secara luas. Data dan informasi tersebut dapat berupa dokumen elektronik atau produk multimedia seperti citra, audio dan video digital. Dukungan era globalisasi digital bersamaan dengan teknologi internet, juga turut mendukung penyebaran dan pertukaran data digital sangat banyak dilakukan. 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.

Pada pembahasan tugas akhir ini, penulis berfokus pada data digital berupa konten pendidikan. Salah satu organisasi yang menyebarluaskan konten digital pendidikan adalah Laboratorium ICT Terpadu Universitas BUDI LUHUR (labict.budiluhur.ac.id). Sebagai contoh banyak sekali ditemui pada mesin pencari sebuah konten pendidikan dari

berbagai sumber dengan isi yang spesifik sama. Hal inilah yang menjadi permasalahan saat orang lain ingin mengakses sumber konten atau ingin melakukan atribusi, namun sumber konten sudah tidak terpercaya. 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.

Lisensi Creative Commons diusulkan karena dapat digunakan pada hasil industri kreatif, seperti musik, film atau gambar dan sifatnya yang fleksibel, artinya pencipta dapat menyesuaikan aturan pemanfaatan atas karya ciptaannya dan pengguna dapat dengan mudah memahami batasan-batasan tersebut. Serta Lisensi Creative Commons sejalan dengan perlindungan hak kekayaan intelektual di berbagai negara secara umum dan Indonesia secara khususnya. Dalam implementasinya informasi lisensi akan disisipkan ke dalam citra digital menggunakan teknik digital watermarking.

Digital watermarking adalah teknik yang digunakan untuk menyisipkan informasi yang menunjukan kepemilikan atas sebuah data dan informasi digital. Tanda watermark akan menempel pada citra digital sehingga suatu ketika dibutuhkan, informasi tersebut dapat dibaca dan digunakan sebagai bukti kepemilikan hak cipta atas suatu karya digital.

Perumusan Masalah 2.Berdasarkan ulasan latar belakang di atas, maka didapatkan beberapa permasalahan

sebagai berikut: a. Bagaimana menyisipkan informasi lisensi pada data citra digital ? b. Bagaimana membuat pesan yang disisipkan tahan terhadap ancaman untuk

menghilangkan pesan tersebut ?

2

Tujuan Penulisan 3.Adapun tujuan penulisan dari penelitian ini adalah:

a. Membuat aplikasi digital watermark yang dapat menyisipkan pesan rahasia ke dalam citra digital sebagai indentifikasi suatu konten digital.

b. Membuat aplikasi yang dapat mempertahankan pesan pada citra digital, diantaranya dengan menggunakan metode Modified Least Significant Bit (MLSB) sebagai teknik penyisipan pesan dan penyebaran pesan secara acak dengan Pseudo Random Number Generator (PRNG) Linear Congruential Generator (LCG).

Batasan Permasalahan 4.

Supaya tujuan yang akan dicapai dapat terarah dan tidak keluar dari permasalahan semula, maka dilakukan pembatasan masalah yang diantaranya adalah: a. Citra digital yang akan digunakan adalah citra dengan format BITMAP dan PNG

(tidak transparan background). b. Metode yang digunakan adalah Modified Least Significant Bit (MLSB) dan penyebaran

bit pesan secara acak dengan pembangkitan Pseudo Random Number Generator (PRNG) Linear Congruential Generator (LCG).

c. Pesan yang dapat disisipkan hanya berupa karakter huruf A – Z, a – z dan angka 0 – 9.

Metoda Pengembangan 5.

a. Metode Penelitian Dalam pengembangan aplikasi Digital Watermarking pada penelitian ini

menggunakan metode penelitian sebagai berikut:

1) Metode Kepustakaan Metode kepustakaan dilakukan untuk mengumpulkan data dengan mencari dan membaca buku, jurnal, dan penelitian terdahulu yang terkait untuk dapat

mendukung penyusunan tugas akhir ini.

2) Metode Wawancara Metode wawancara dilakukan dengan tanya jawab secara langsung dengan perwakilan dari Creative Commons Indonesia untuk mengetahui permasalahan dan mendiskusikan aplikasi yang diharapkan dapat menyelesaikan masalah tersebut.

3) Metode Observasi

Metode Observasi adalah cara melihat dan mengamati secara langsung penggunaan lisensi Creative Commons khususnya untuk konten-konten yang membahas tentang ilmu pengetahuan pada media Internet.

b. Metode Perancangan Metoda perancangan menggunakan pendekatan umum waterfall yang digunakan

dalam penulisan karya ilmiah ini dengan urutan sebagai berikut:

1) Analisis Tahapan analisis bertujuan untuk mengetahui kebutuhan pengguna dan

organisasi serta menganalisis kondisi yang terjadi saat ini.

3

2) Desain

Tahapan desain bertujuan untuk menentukan spesifikasi detil dari komponen-komponen aplikasi (manusia, perangkat keras dan perangkat lunak) dan produk informasi yang sesuai dengan hasil tahap analisis.

3) Implementasi

Tahapan ini merupakan tahapan untuk mengembangan program, melakukan pengujian program, pelatihan dan pemindahan ke sistem yang baru.

4) Perawatan

Tahapan ini dilakukan setelah aplikasi sudah dioperasikan, pada tahapan perawatan ini dilakukan proses monitoring, evaluasi dan perubahan bila diperlukan.

Sistematika Penulisan 6.

Untuk memberikan penjelasan guna mempermudah pembaca dalam memahami isi karya tulis ini secara garis besar, maka sistematika penulisan dibagi menjadi lima bab. Sistematika penulisan dapat dijelaskan sebagai berikut:

BAB I : PENDAHULUAN

Pada bab ini menjelaskan tentang latar belakang, gambaran

umum permasalah, tujuan penelitian, batasan permasalahan, metode pengembangan, dan sistematika penulisan.

BAB II : LANDASAN TEORI

Pada bab ini membahas tentang teori-teori dasar yang berkaitan dengan karya ilmiah ini, mulai dari penjelasan secara umum, khusus serta teori-teori yang mendukung dalam pembuatan

aplikasi. Teori-teori tersebut dapat bersumber dari buku, penelitian terdahulu, website ataupun ilmu yang disampaikan dosen.

BAB III : ANALISA MASALAH DAN RANCANGAN PROGRAM

Pada bab ini menjelaskan tentang analisa masalah, strategi pemecahan masalah, rancangan layar aplikasi, flowchart dan algoritma yang digunakan.

BAB IV : IMPLEMENTASI DAN ANALISA HASIL UJI COBA PROGRAM

Pada bab ini menjelaskan implementasi program berdasarkan rancangan yang telah dibuat dan memaparkan hasil uji coba program. Menjelaskan spesifikasi software dan hardware yang digunakan serta kekurangan dan kelebihan aplikasi yang dibuat.

BAB V : PENUTUP

Pada bab ini berisi uraian mengenai hasil yang dicapai dari aplikasi yang dikembangkan serta kesimpulan dan saran-saran yang berkaitan dengan aplikasi sehingga dapat lebih bermanfaat dikemudian hari.

4

BAB II

LANDASAN TEORI

Pendahuluan 1.

Pada bab II, penulis akan menjelaskan mengenai teori, teknik serta definisi dari subyek penelitian yaitu mengenai teori tentang Steganografi, Digital Watermarking, Citra Digital, serta metode-metode yang digunakan terkait penulisan tugas akhir ini.

Steganografi 2.

a. Pengertian Steganografi Kata steganografi (steganography) berasal dari bahasa Yunani yang terdiri dari

kata staganos yang artinya tersembunyi dan graphein yang artinya menulis, sehingga dapat diartikan sebagai tulisan yang tersembunyi. Dapat disimpulkan bahwa, steganografi adalah ilmu dan seni menyembunyikan pesan di dalam pesan

lain sehingga pesan yang pertama tidak diketahui (Vembrina, 2014). Sehingga orang lain tidak mengetahui bahwa terdapat pesan rahasia di dalam pesan yang mereka baca.

b. Sejarah Steganografi

Steganografi sudah dikenal oleh bangsa Yunani sejak lama. Seorang sejarawan Yunani, Herodotus menceritakan kisah perang antara kerajaan Persia dan Yunani

dalam bukunya Histories Of Herodotus. Herodotus menceritakan cara Histiaues mengirim pesan kepada Aristagoras di Miletus. Pesan rahasia dikirim menggunakan kepala budak sebagai media. Dalam hal ini, rambut budak dibotaki lalu pesan rahasia ditato pada kulit kepala budak. Ketika rambut budak tumbuh, budak dikirim ke tempat tujuan pesan untuk membawa pesan rahasia di kepalanya. Setelah berhasil diterima, kepala budak dibotaki kembali untuk membaca pesan yang tersembunyi di balik rambutnya (Vembrina, 2014). Bangsa Romawi mengenal steganografi dengan

menggunakan tinta tak tampak (invisible ink) untuk menuliskan pesan. Tinta tersebut dibuat dari campuran sari buah, susu dan cuka. Jika tinta digunakan untuk menulis maka tintanya tidak tampak. Tulisan di atas kertas dapat dibaca dengan cara memanaskan kertas tersebut.

Saat ini steganografi sudah banyak diimplementasikan pada media digital. Steganografi digital menggunakan media digital sebagai penampung, seperti citra digital, video digital atau audio digital. Informasi yang disembunyikan juga berupa data digital seperti teks, dokumen digital, citra digital, data audio maupun vidio.

c. Faktor Penting Dalam Steganografi

Dalam teknik steganografi terdapat beberapa faktor yang perlu diperhatikan sebagai parameter penentu steganografi yang baik, diantaranya:

1) Fidelity

Penambahan pesan rahasia ke dalam media penampung tidak mengalami perubahan yang signifikan. Artinya, mutu media penampung yang sudah disisipkan pesan rahasia tidak jauh berbeda dengan mutu media penampung sebelum disisipkan pesan rahasia.

5

2) Robustness Pesan rahasia yang disisipkan harus tahan (robust) terhadap berbagai operasi manipulasi yang dilakukan pada media penampung. Bila setelah disisipkan pesan rahasia, media penampung dilakukan operasi-operasi manipulasi, maka pesan rahasia yang disembunyikan seharusnya tidak mengalami kerusakan dan tetap valid jika dilakukan ekstraksi terhadap pesan rahasia tersebut.

3) Recovery Pesan rahasia yang telah disisipkan harus dapat diekstraksi kembali (reveal). Hal ini merupakan syarat mutlak dalam penerapan algoritma steganografi, karena tujuan steganografi adalah pesan yang tersembunyi, maka pesan rahasia didalam media penampung harus dapat diambil kembali dan sesuai dengan pesan awal yang disisipkan.

4) Security Pesan rahasia yang disembunyikan ke dalam media penampung tidak dapat terdeteksi. Sehingga pihak-pihak yang tidak berkepentingan tidak dapat mengetahui keberadaan informasi yang telah disisipkan tersebut.

d. Media Penampung Pesan

Media penampung pada steganografi merupakan suatu wadah yang digunakan untuk menyembunyikan pesan rahasia. Pesan rahasia yang disembunyikan dapat memiliki hubungan atau bahkan tidak memiliki hubungan sama sekali dengan media penampung yang digunakan. Pada steganografi digital media penampung yang digunakan merupakan data digital. Beberapa contoh media penampung yang dapat digunakan dalam teknik steganografi digital diantaranya:

1) Teks Dalam algoritma steganografi yang menggunakan teks sebagai media

penampung, teks yang telah disisipkan pesan rahasia tidak boleh terlihat mencurigakan oleh orang lain yang membaca teks tersebut.

2) Citra

Sebagian besar penelitian dan perancangan aplikasi steganografi dilakukan pada

citra/gambar sebagai media penampungnya. Hal ini disebabkan karena gambar merupakan salah satu berkas yang banyak dipertukarkan di media internet. Alasan lainnya adalah banyak tersedia algoritma steganografi untuk mengimplementasikan pada media gambar digital.

3) Video Media ini memiliki ukuran yang relatif sangat besar namun jarang digunakan dalam teknik steganografi karena ukurannya yang besar sehingga mengurangi kepraktisannya dan juga sedikitnya algoritma yang mendukung teknik steganografi pada media ini.

6

4) Audio

Media ini sering digunakan karena ukurannya relatif besar sehingga dapat menampung pesan rahasia yang lebih banyak. Dukungan algoritma yang cukup banyak menjadikan Audio lebih sering digunakan daripada media Video.

Digital Watermarking 3.a. Pengertian 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). Pada dasarnya, teknik watermark (tanda air) secara hirarkis berakar pada ilmu steganografi. Pada tugas akhir ini digital watermark digunakan untuk memberikan informasi identifikasi sebuah citra digital atas informasi sumber daya penciptanya. Watemarking dapat juga dikategorikan sebagai visible watermarking (watermark terlihat oleh indra manusia) dan invisible watermarking (watermark yang tidak tampak) (Munir, 2004).

b. Aplikasi Watermarking

Watermarking sebagai suatu teknik penyembunyian data digital dapat dimanfaatkan untuk berbagai tujuan diantaranya:

1) Tamper-proofing Watermarking yang digunakan sebagai alat untuk mengidentifikasikan atau alat indikator yang menunjukan data digital (host) telah mengalami perubahan dari aslinya.

2) Feature Location Watermarking sebagai alat untuk identifikasi isi dari data digital pada lokasi-

lokasi tertentu, contohnya penanaman objek tertentu dari beberapa objek yang lain pada suatu citra digital.

3) Annonation/Caption Watermarking digunakan sebagai keterangan tentang data digital itu sendiri.

4) Copyright-Labeling

Watermarkig digunakan sebagai metode untuk menyembunyikan label hak cipta pada data digital sebagai bukti otentik kepemilikan karya digital tersebut.

Representasi Citra Digital 4.

Citra digital dibentuk oleh kumpulan titik yang disebut piksel, setiap titik terkecil dalam gambar (piksel) memiliki koordinat posisi. Sistem koordinat ditunjukan pada contoh gambar 2.1 berikut.

7

Citra digital dibentuk melalui pendekatan kuantitas. Pada isyarat digital, nilai intensitas citra dibuat diskret atau terkuantisasi dalam sejumlah nilai bulat. Gambar 2.2 menunjukan contoh citra monochrome berupa 0 (hitam) dan 1 (putih). Selanjutnya gambar tersebut ditumpangkan pada grid 8 x 8 seperti terlihat pada Gambar 2.3.

Pada bagian gambar yang jatuh pada kotak, jika mayoritas warna putih maka

seluruh isi kotak dibuat putih. Sebaliknya, jika mayoritas berwarna hitam, isi kotak seluruhnya diberi warna hitam. Perubahan ke citra digital tampak pada gambar 2.4.

Gambar 2.3 : Citra dalam grid 8x8

Gambar 2.1 : Koordinat posisi piksel

Gambar 2.2 : Citra monochrome

8

Berdasarkan cara penyimpanan atau pembentukannya, citra digital dapat dibagi menjadi dua jenis. Jenis pertama adalah citra digital yang dibentuk oleh kumpulan pixel atau aray dua dimensi yang disebut sebagai citra raster (raster image). Jenis citra yang kedua adalah citra yang dibentuk oleh fungsi-fungsi geometri dan matematika yang disebut sebagai grafik vector (vector graphics).

Berdasarkan warna-warna penyusunnya, citra digital dapat dibagi menjadi tiga macam, yaitu:

a. Citra Biner (monochrome) Citra monochrome adalah citra yang hanya terdiri dari dua warna, yaitu

hitam dan putih. Oleh karena itu, setiap piksel pada citra monochrome cukup direpresentasikan dengan satu bit.

Pada citra monochrome, latar belakang berwarna putih bernilai 1 sedangkan objek berwarna hitam bernilai 0 seperti gambar 2.5. Meskipun komputer saat ini dapat memproses citra grayscale maupun citra berwarna, namun citra monochrome tetap dipertahankan keberadaannya.

Gambar 2.4 : Digitalisasi citra monochrome

Gambar 2.5 : Citra monochrome dalam grid 6x6

9

Alasan penggunaan citra monochrome adalah karena beberapa keuntungan,

diantaranya: a) Kebutuhan memori kecil karena hanya membutuhkan representasi nilai 1

bit. b) Waktu pemrosesan lebih cepat dibandingkan dengan citra grayscale

ataupun warna.

b. Citra Skala Keabuan (Grayscale) Citra grayscale adalah citra yang nilai pikselnya merepresentasikan derajat

keabuan atau intensitas warna putih. Nilai intensitas paling rendah merepresentasikan warna hitam dan nilai intesitas paling tinggi merepresentasikan warna putih. Pada umumnya citra grayscale memiliki kedalaman piksel 8 bit (256 derajat keabuan), tetapi ada juga yang memiliki kedalaman piksel lebih dari 8 bit dengan tingkat ketelitian yang lebih tinggi.

c. Citra Warna Berindeks (RGB) Warna adalah spektrum tertentu yang terdapat di dalam suatu cahaya

sempurna (berwarna putih). Penelitian memperlihatkan bahwa kombinasi warna yang memberikan rentang paling lebar adalah Red (R), Green (G), Blue (B). Ketiga warna tersebut merupakan warna pokok yang biasa disebut RGB. Warna lain dapat diperoleh dengan mancampurkan ketiga warna pokok tersebut dengan

perbandingan tertentu. Setiap warna pokok mempunyai intensitas sendiri dengan nilai maksimum 255 (8 bit). Misalnya warna kuning merupakan kombinasi warna merah dan hijau sehingga nilai RGBnya : R = 255, G = 255, B = 0.

RGB disebut juga ruang warna yang dapat divisualisasikan sebagai sebuah kubus seperti pada gambar dengan tiga sumbunya yang mewakili komponen merah (Red), hijau (Green), biru (Blue).

Gambar 2.6 : Citra grayscale

Gambar 2.7 : Ruang warna RGB

10

Citra digital dapat disimpan dalam berbagai macam format. Beberapa format citra

digital dapat memanfaatkan metode kompresi dalam penyimpanan data citra. Kompresi yang dilakukan dapat bersifat lossy maupun lossless, bergantung pada jenis format yang digunakan. Kompresi yang bersifat lossy menyebabka penurunan kualitas citra, meskipun dalam beberapa kasus penurunan kualitas tersebut tidak dapat dikenali oleh mata manusia. Beberapa format citra digital yang banyak digunakan diantaranya:

1) Bitmap (.BMP)

Format berkas bmp merupakan format standar system operasi MS Windows 3.11/9x/NT dan IBM OS/2. Format berkas ini mendukung resolusi warna dari monochrome hingga True Color (16,7 juta warna) dan menggunakan kompresi jenis lossless. Format file bmp 24 bit menggunakan model warna RGB (Red 8 bit, Green 8 bit, Blue 8 bit).

2) Joint Photographic Experts Group (.JPEG)

Format berkas JPEG/JPG awalnya dikembangkan untuk pencitraan fotografi untuk mendapatkan citra yang berukuran rasional tetapi tetap menyimpan persepsi citra yang baik. JPEG bersifat lossy compression dengan tingkat lossness yang dapat diatur. Dewasa ini JPEG banyak digunakan pada kamera digital. Berkasnya disebut JFIF.

3) Portable Network Graphics (.PNG) Format berkas png merupakan berkas citra digital yang menggunakan

lossless compression. Format png diperkenalkan untuk menggantikan format penyimpanan citra gif, secara umum png digunakan untuk citra pada jejaring world wide web (WWW). PNG mendukung format warna 24 bit RGB (Red 8 bit, Green 8 bit, Blue 8 bit) dan 32 bit ARGB (Alpha 8 bit, Red 8 bit, Green 8 bit, Blue 8 bit).

Metode Least Significant Bit (LSB) 5.

Bit atau binary digit adalah unit dasar penyimpanan data di dalam komputer, nilai bit suatu data adalah 0 (nol) atau 1 (satu). Semua data yang ada pada komputer disimpan ke dalam satuan bit ini, termasuk gambar, suara, ataupun video hanya saja penerjemahan representasi bit pada masing-masing media yang tentunya akan berbeda. Seperti penjelasan pada bagian sebelumnya bahwa format pewarnaan pada media

gambar juga menggunakan satuan bit dalam penyimpanannya. Sebagai contoh pewarnaan monochrome menggunakan 1 bit untuk merepresentasikan warna hitam atau putih, pewarnaan grayscale menggunakan 8 bit untuk merepresentasikan tingkat keabuan dan pada pewarnaan RGB menggunakan 24 bit (8 bit untuk Red, 8 bit untuk Green, 8 bit untuk Blue).

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.

Pada citra 24 bit, setiap piksel terdiri dari 3 byte yang merepresentasikan warna RGB. Sebagai contoh satu piksel berukuran 3 byte dapat disispkan pesan sebanyak 3 bit. Jika dalam 1 piksel dapat di sisipkan pesan sebanyak 3 bit maka untuk citra dengan ukuran 600 x 500 dapat disisipkan pesan sebanyak 600 x 500 x 3 = 900000 bit atau

11

900000 / 8 = 112500 byte. Gambar 2.8 di bawah ini adalah contoh gambar yang akan

disisipi informasi. Gambar ini menggunakan format pewarnaan grayscale, artinya tiap pixel dari gambar ini direpresentasikan dengan nilai sepanjang 8 bit.

Gambar 2.8 : Bananas.jpg

Dimisalkan data berupa teks “secret” akan disisipkan kedalam gambar tersebut. Jika

direpresentasikan ke dalam binary kata “secret” menjadi.

Tabel 2.1 : Konversi 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.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

12

Maka dalam penerapannya nilai bit pada kata “secret” akan disisipkan atau mengganti

nilai bit ke-8 pada binary bananas.jpg.

Tabel 2.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 2.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

Setelah dikonstruksi ulang menjadi sebuah gambar digital, gambar bananas yang telah disisipkan informasi berupa kata “secret” akan memiliki persepsi sama terhadap gambar bananas yang asli, karena perbedaan 1 bit pada warna RGB tidak dapat dideteksi oleh mata manusia.

Metode Modified Least Significant Bit (MLSB) 6.

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).

13

Kemudian dilakukan proses normalisasi dengan tabel Control Symbol seperti pada

tabel.

Tabel 2.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

14

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.

Pembangkitan Bilangan Acak 7.

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.9 : Pseudo random number generator (PRNG)

Gambar 2.10 : Linear congruential generator (LCG)

15

Algoritma LCG memiliki empat parameter angka sebagai berikut:

a. m modulus, m > 0 b. a faktor pengali, 0 < a < m c. c increment, 0 ≤ c < m d. Nilai awal (seed), 0 ≤ < m e. Bilangan acak ke-n

f. Bilangan acak setelahnya

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.

Konten Terbuka 8.a. Latar Belakang

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.

Melisensikan berarti memberikan hak kepada pihak ketiga (setiap orang kecuali pemegang hak) untuk menggunakan ciptaan berhak cipta. Hubungan hak dan kewajiban dapat dinyatakan dengan cara berikut “Anda diizinkan untuk memublikasikan kembali ciptaan ini sepanjang Anda mencantumkan nama penciptanya”. Lisensi Konten Terbuka adalah alat yang dapat digunakan untuk melayani kedua belah pihak: keinginan pribadi dari pencipta dan keinginan publik. Walau demikian, pemegang hak cipta memiliki hak untuk memutuskan lisensi Konten Terbuka yang manakah yang sesuai dengan kebutuhan pribadi mereka.

b. Lisensi Creative Commons Creative Commons Indonesia (CCID) adalah salah satu afiliasi Creative Commons

(CC) di 83 negara. Sejauh ini, 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.

Dalam rangka memenuhi berbagai kebutuhan strategi penerbitan yang berbeda, 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 pada Gambar 2.11.

16

Gambar 2.11 : Piktogram fitur-fitur lisensi CC

Berikut penjelasan mengenai empat fitur lisensi Creative Commons: 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.

Gambar 2.12 : Enam variasi lisensi CC

17

Tinjauan Pustaka 9.Penulisan tugas akhir ini mengacu pada penulisan penelitan terkait yang telah

dilakukan sebelumnya, yaitu sebagai berikut: 1. Khairul Imam melakukan penelitian yang berjudul “Penyembunyian Pesan Rahasia

Pada Citra Digital Dengan Teknik Steganografi Menggunakan Metode Least Significant Bit (LSB)” (2013). Berdasarkan hasil penelitiannya penggunaan password sebagai kunci enkripsi pada pesan sebelum disisipkan dengan teknik steganografi dapat menjaga keamanan pesan pada media citra digital. Namun, untuk meningkatkan keamanan dapat dilakukan kombinasi dari metode Least Significant Bit (LSB) sehingga keamanan pesan pada media citra digital dapat ditingkatkan.

2. Penelitian yang dilakukan oleh Zaher (2011) dalam jurnal yang berjudul “Modified

Least Significant Bit (MLSB)” menjelaskan modifikasi dari algoritma Least Significant Bit (LSB) yaitu dapat mengurangi jumlah bit pesan yang seharusnya disisipkan pada teknik Least Significant Bit (LSB). Pengurangan jumlah bit pesan dilakukan dengan meng-encode nilai ASCII sebuah karakter yang seharusnya 8-bit menjadi 5-bit.

3. Penelitian yang dilakukan oleh Dolly Virgian Shaka, Nazori Agani, Mardi Hardijanto

(2015) dalam jurnal yang berjudul “Pengamanan 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” dapat ditarik kesimpulan bahwa penggunaan Hash SHA-256 dan Linear Congruential Generator (LCG) dalam pembangkitan bilangan acak dapat menjaga kerahasiaan otentikasi sistem.

4. Penelitian yang dilakukan oleh Erwin Yudi Hidayat dan Khafiizh Hastuti (2013) yang

berjudul “Analisis Steganografi Metode Least Significant Bit (LSB) Dengan Penyisipan

Sekuensial dan Acak Secara Kuantitatif dan Visual” menyimpulkan bahwa penyisipan pesan pada metode LSB secara random (acak) memiliki nilai Peak Signal to Noise Ratio (PSNR) lebih tinggi dibandingkan dengan penyisipan secara sekuensial (berurutan), hal ini berarti gambar yang disisipkan pesan secara acak lebih mirip dengan gambar asli.

5. Penelitian yang dilakukan oleh Rifki Respati Ashari Lubis yang berjudul “Analisis

Kombinasi Algoritma Watermarking Modified Least Significant Bit Dengan Least Significant Bit+1” (2015) menyimpulkan bahwa algoritma kombinasi MLSB dan LSB+1 mewarisi keunggulan serta menutupi kekurangan yang dimiliki masing-masing algoritma. Kelebihan algoritma MLSB yang memampatkan pesan yang akan disisipi menutupi kekurangan algoritma LSB+1 yang membutuhkan jumlah piksel citra untuk menampung pesan yang besar. Kelebihan algoritma LSB+1 dalam sulitnya mengekstraksi pesan menutupi kelemahan algoritma MLSB yang mudah diekstraksi jika tabel simbolnya telah diketahui.

18

BAB III

ANALISA MASALAH DAN PERANCANGAN PROGRAM

Pendahuluan 1.Pada bab III, penulis akan membahas tentang permasalahan dan strategi

pemecahan masalah yang ada tentang pelanggaran hak kekayaan intelektual pada penggunaan media digital. Penulis juga akan menjelaskan interaksi pada setiap form dengan manampilkan rancangan layar aplikasi.

Penulis akan membahas mengenai uraian yang berkaitan dengan penjelasan tentang algoritma program dari setiap form. Penjelasan dituangkan dengan memodelkannya menggunakan Flow Chart, setelah itu ditutup dengan ringkasan mengenai hal-hal penting yang telah diuraikan penulis.

Permasalahan Dan Strategi Pemecahan Masalah 2.

a. Analisa Masalah Perkembangan komputer yang semakin pesat menjadikan pertukaran data dan

informasi menggunakan media digital semakin banyak dilakukan. Dukungan teknologi internet juga turut berpartisipasi dalam menyediakan tempat bagi para pengguna data digital dalam bertukar data dan informasi. Salah satu data digital yang paling banyak di akses adalah konten digital. Pada era konten terbuka seperti sekarang ini, sudah banyak organisasi, perusahaan, sekolah atau individu yang

seolah-olah berlomba-lomba dalam mempublikasikan konten digital yang bermanfaat secara luas. Namun, dalam prakteknya banyak dijumpai pelanggaran hak kekayaan intelektual dalam pemanfaatan konten tersebut. Sebagai contoh pada saat kita menggunakan mesin pencari menggunakan sebuah keyword maka akan banyak sekali ditemukan konten yang secara spesifik sama dengan sumber yang berbeda-beda. Permasalahan yang terjadi adalah saat orang lain ingin melakukan atribusi atau menggunakan konten tersebut dengan mencantumkan sumber konten, namun

informasi mengenai sumber asli sudah sulit ditemukan. Hal ini merupakan salah satu pelanggaran hak kekayaan intelektual pada media digital dan sangat merugikan pembuat konten karena informasi mengenai dirinya hilang.

b. Strategi Pemecahan Masalah Untuk menanggulangi masalah tersebut perlu di sisipkan suatu informasi berupa

lisensi sebagai alat identifikasi kepemilikan atas konten tersebut. Namun, jika

penyisipkan informasi dilakukan pada konten berupa teks maka akan sangat mudah untuk dihapus. Informasi tersebut 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.

Perancangan Program 3.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).

19

a. Proses Penyisipan (embed)

Gambar 3.1 : 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.

20

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).

b. Proses Ekstraksi (extract)

Untuk mendapatkan kembali pesan yang telah disisipkan dilakukan proses ekstraksi (extract) yang dijelaskan pada Gambar 3.2 yang dijelaskan sebagai berikut:

Gambar 3.2 : Alur proses ekstraksi

21

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.

Rancangan Layar 4.Agar aplikasi ini mudah digunakan, maka diperlukan user interface yang dapat

memudahkan pengguna (user experience). Kemudahan dalam penggunaan sangat diperlukan agar pengguna dapat mengerti apa yang harus dilakukan untuk menggunakan aplikasi. Berikut penjelasan dari setiap antarmuka aplikasi digital watermarking pada tugas akhir ini:

22

a. Rancangan Layar Form Menu Utama

Form menu utama merupakan form pertama yang akan di tampilkan pada user. Pada form menu utama terdapat dua Tab Panel yaitu sisipkan dan ekstraksi. Pada Panel sisipkan merupakan antarmuka untuk melakukan proses penyisipan pesan. Sedangkan Panel ekstraksi merupakan antarmuka untuk melakukan proses ekstraksi pesan. Pada Gambar 3.3 adalah bentuk rancangan dari form menu utama:

b. Rancangan Layar Form Sisipkan Gambar 3.4 adalah rancangan layar pada form sisipkan. Untuk memilih citra

yang akan diberikan lisensi user dapat memilih button pilih. Untuk menyisipkan pesan lisensi, user dapat menentukan lisensi yang diinginkan dengan memilih radio button pada bagian Fitur Lisensi. Setelah Lisensi dipilih user dapat mengisi detil informasi dari atribusi yang diinginkan, terdapat textfield yang berisi penjelasan judul ciptaan, nama pemilik atribusi, URL sumber ciptaan dan pesan singkat yang ingin disampaikan. User dapat memilih lokasi tempat penyimpanan output citra, nama file citra, dan password yang digunakan untuk ekstraksi pesan. Button sisipkan digunakan untuk memulai proses penyisipan, button bersih untuk membersihkan form sisipkan, button batal digunakan untuk keluar dari aplikasi.

Gambar 3.3 : Rancangan layar menu utama

Gambar 3.4 : Rancangan layar form sisipkan

23

Gambar 3.5 berikut adalah rancangan layar pada penjelasan fitur lisensi. Untuk

mengetahui penjelasannya user dapat klik gambar yang terdapat pada penjelasan pada bagian Fitur Lisensi.

Jika proses penyisipan berhasil dilakukan, maka akan tampil messagebox seperti pada Gambar 3.6.

c. Rancangan Layar Form Ekstraksi Gambar 3.7 berikut adalah rancangan layar pada form Ekstraksi. Untuk memilih

citra yang akan diekstraksi dapat memilih button pilih. Setelah itu menentukan lokasi penyimpanan file .txt yang akan berisi pesan hasil ekstraksi, nama file, dan password yang digunakan sebagai kunci dalam proses ekstraksi. Button ekstrak digunakan untuk memulai proses ekstraksi, button bersih digunakan untuk membersihkan form ekstraksi, button batal digunakan untuk keluar dari form menu utama.

Gambar 3.6 : Rancangan status penyisipan

Gambar 3.7 : Rancangan layar form ekstraksi

Gambar 3.5 : Rancangan layar penjelasan

24

Jika proses ekstraksi berhasil dilakukan, maka akan tampil messagebox seperti pada

Gambar 3.8.

Flowchart 5.Flowchart akan menjelaskan dan memberikan solusi untuk penyelesaian masalah

yang ada dalam prosedur dari aplikasi digital watermarking yang penulis buat.

Flowchart Form Menu Utama a.Alur proses pada form menu utama digambarkan pada flowchart Gambar 3.9.

Pada flowchart menu utama terdapat dua menu lain yaitu, Sisipkan dan Ekstraksi. Jika user memilih Tab Menu Sisipkan, maka akan ditampilkan form Sisipkan. Begitu juga jika user memilih Tab Menu Ekstraksi, maka akan ditampilkan form Ekstraksi.

Gambar 3.8 : Rancangan layar status ekstraksi

Gambar 3.9 : Flowchart form menu utama

25

Flowchart Form Sisipkan b.Pada Gambar 3.10 ini menjelaskan tentang Flowchart Form Sisipkan. Flowchart

ini merupakan alur proses penyisipan pesan lisensi kedalam citra. Sebelum proses penyisipan dijalankan, user terlebih dahulu memilih citra yang akan dijadikan penampung pesan, memilih fitur lisensi dan melengkapi detil atribusi, memilih lokasi dan nama file citra penyisipan serta mengisi password.

Flowchart Form Ekstraksi c.Pada Gambar 3.11 ini menjelaskan tentang Flowchart form Ekstraksi. Flowchart

ini merupakan alur proses pengambilan pesan lisensi yang sudah disisipkan pada citra sebelumnya. User terlebih dahulu memilih citra yang akan diambil pesannya,

Gambar 3.10 : Flowchart form sisipkan

26

mengisi password serta menentukan lokasi dan nama file output pesan yang akan di

ekstraksi.

d. Flowchart Penyisipan Pesan Pada Gambar 3.12 ini menjelaskan tentang Flowchart penyisipan pesan.

Flowchart ini merupakan alur proses penyisipan pesan lisensi ke dalam citra asli. User terlebih dahulu ditampilkan pada halaman sisipkan, proses ini terjadi apabila user menjalankan proses sisipkan.

Gambar 3.11 : Flowchart form ekstraksi

27

e. Flowchart Ekstraksi Pesan Pada Gambar 3.13 ini menjelaskan tentang Flowchart ekstraksi pesan. Flowchart

ini merupakan alur proses ekstraksi pesan lisensi kedalam file berekstensi .txt. User terlebih dahulu ditampilkan pada halaman ekstraksi, proses ini terjadi apabila user menjalankan proses ekstraksi.

Gambar 3.13 : Flowchart ekstraksi pesan

Gambar 3.12 : Flowchart penyisipan pesan

28

f. Flowchart Encode Pesan 1

Gambar 3.14 berikut merupakan bagian Flowchart dari algoritma Modified Least Significant Bit (MLSB). Proses ini berfungsi untuk memberi tanda jenis karakter (control symbol) sebelum pesan diubah nilainya menjadi maksimal 31 desimal atau 5 bit.

Gambar 3.14 : Flowchart encode pesan 1

29

g. Flowchart Encode Pesan 2

Gambar 3.15 merupakan lanjutan Flowchart dari algoritma Modified Least Significant Bit (MLSB). Proses ini berfungsi untuk menandari nilai yang akan di XOR kan dengan nilai pembagi dari tiap masing-masing jenis karakter.

Gambar 3.15 : Flowchart encode pesan 2

30

h. Flowchart Sisipkan Panjang Pesan

Gambar 3.16 berikut merupakan Flowchart untuk menyisipkan panjang pesan ke dalam data citra, sebelum disisipkan panjang pesan terlebih dahulu direpresentasikan ke dalam biner sepanjang 30 bit setelah itu disisipkan secara sekuensial ke dalam byte citra dimulai dari byte yang ke 0 dengan algoritma LSB.

Gambar 3.16 : Flowchart penyisipan panjang pesan

31

i. Flowchart Generate Bilangan Acak

Gambar 3.17 berikut merupakan Flowchart pembangkitan bilangan acak dengan metode Linear Congruential Generator (LCG). Proses ini berfungsi untuk menghasilkan bilangan acak yang pada proses selanjutnya akan dijadikan sebagai alamat penyisipan pesan.

Gambar 3.17 : Flowchart generate bilangan acak

32

j. Flowchart Sisipkan Pesan

Gambar 3.18 merupakan Flowchart dari algoritma Least Significant Bit (LSB). Proses ini berfungsi untuk menyisipkan pesan berdasarkan nilai random yang sudah dibentuk sebelumnya, pesan yang disisipkan hanya 5 bit dimulai dari bit ke 4 pesan.

Gambar 3.18 : Flowchart sisipkan pesan

33

k. Flowchart Ekstraksi Panjang Pesan

Gambar 3.19 berikut merupakan Flowchart ekstraksi panjang pesan. Proses ini berfungsi untuk mengekstraksi panjang pesan yang sebelumnya sudah disisipkan, panjang pesan diperlukan sebagai batas dalam mengambil byte pesan yang tela disisipkan.

Gambar 3.19 : Flowchart ekstraksi panjang pesan

34

l. Flowchart Ekstraksi Pesan

Gambar 3.20 berikut merupakan Flowchart ekstraksi pesan. Proses ini berfungsi untuk mengambil pesan yang sudah disisipkan berdasarkan nilai random, sebanyak panjang pesan yang sudah diekstraksi sebelumnya.

Gambar 3.20 : Flowchart ekstraksi pesan

35

m. Flowchart Decode Pesan 1

Gambar 3.21 merupakan Flowchart dari algoritma Modified Least Significant Bit (MLSB). Proses ini berfungsi untuk mengembalikan nilai pesan yang memiliki nilai maksimal 5 bit (31 desimal) menjadi 8 bit.

Gambar 3.21 : Flowchart decode pesan

36

n. Flowchart Decode Pesan 2

Gambar 3.22 merupakan lanjutan Flowchart dari algoritma Modified Least Significant Bit (MLSB). Proses ini berfungsi untuk menghilangkan byte control symbol yang masih tersisip diantara pesan.

Gambar 3.22 : Flowchart decode pesan 2

37

o. Flowchart Ubah Nilai

Gambar 3.23 merupakan Flowchart dari algoritma Modified Least Significant Bit (MLSB). Proses ini digunakan pada proses encode dan decode pesan karena algoritma ini digunakan untuk merubah nilai pesan dengan cara meng-XOR-kannya dengan nilai pembagi.

Gambar 3.23 : Flowchart ubah nilai

Algoritma 6.

Algoritma digunakan untuk mempermudah dalam pembuatan dan perancangan suatu program. Dalam aplikasi ini terdiri dari beberapa algoritma yang digunakan untuk menjalankan proses pada program berdasarkan flowchart yang dibuat sebelumnya. Algoritma ini menjelaskan langkah-langkah dari setiap proses program tersebut dijalankan.

a. Algoritma Halaman Utama

Algoritma ini menjelaskan algoritma dari proses-proses yang terjadi pada halaman utama. 1. Tampil halaman utama 2. Input pilihan 3. If pilih = Sisipkan Then 3. Tampilkan halaman sisipkan 4. Else If pilih = Ekstraksi Then 5. Tampilkan halaman ekstraksi 6. Else If pilih = Keluar 7. Tutup aplikasi 8. Else 9. Kembali ke halaman utama 8. End If

38

b. Algoritma Halaman Sisipkan

Algoritma ini menjelaskan algoritma dari proses-proses yang terjadi pada halaman penyisipan.

1. Tampil halaman penyisipan 2. Input pilihan 3. If pilih = citra asli Then 4. Tampilkan citra asli 5. Input pilihan 6. If pilih = fitur lisensi Then 7. Tampilkan citra lisensi 8. Tampilkan citra penjelasan 9. Input pilihan 10. If pilih = citra penjelasan Then 11. Tampilkan penjelasan lisensi 12. End if 13. Input detil atribusi 14. Input lokasi dan nama file output, password 15. Input pilihan 16. If pilih = sisipkan 17. Jalankan proses embed 18. Else if pilih = bersih

19. Jalankan proses besih 20. Else if pilih = keluar 21. Tutup aplikasi 22. Else 23. Kembali ke halaman sisipkan 22. End if 23. Else

24. Kembali ke halaman sisipkan 23. End if 24. Else 25. Kembali ke halaman sisipkan 24. End if

c. Algoritma Halaman Ekstraksi

Algoritma ini menjelaskan algoritma dari proses-proses yang terjadi pada halaman ekstraksi.

1. Tampil halaman ekstraksi 2. Input pilihan 3. If pilih = citra stego Then 4. Tampilkan citra stego 5. Input lokasi dan nama file output, password 6. Input pilihan 7. If pilih = ekstraksi 8. Jalankan proses extract 9. Else if pilih = bersih 10. Jalankan proses besih form 11. Else if pilih = keluar 12. Tutup aplikasi

39

13. Else 14. Kembali ke halaman ekstraksi 15. End if 16. Else 17. Kembali ke halaman ekstraksi 18. End If

d. Algoritma Penyisipan Pesan

Algoritma ini menjelaskan bagaimana proses penyisipan pesan ke dalam citra asli.

1. Jalankan proses encode pesan MLSB 2. Jalankan proses sisipkan panjang pesan 3. Jalankan proses generate bilangan acak 4. Jalankan proses sisipkan pesan

e. Algoritma Ekstraksi Pesan

Algoritma ini menjelaskan bagaimana proses ekstraksi pesan dari citra stego.

1. Jalankan proses ekstraksi panjang pesan 2. Jalankan proses generate bilangan acak 3. Jalankan proses ekstraksi pesan 4. Jalankan proses decode pesan MLSB

f. Algoritma Encode Pesan 1

Algoritma ini menjelaskan bagaimana proses menambahkan nilai control symbol sebelum pesan di encode.

1. Input byte[] pesan 2. Deklarasi inisialisasi A = 0, Kapital = 0, Kecil = 0, Angka = 0 3. If I < Panjang pesan Then 4. If pesan >= 65 dan <= 90 Then 5. If Kapital == 0 Then 6. Pesan tambahkan 28 7. Kapital = 1, Kecil = 0, Angka = 0, A++ 8. Else 9. A++ 10. Kembali ke proses no. 3 11 End If 12. Else If pesan >= 97 dan <= 122 Then 13. If Kecil == 0 Then 14. Pesan tambahkan 27 15. Kapital = 0, Kecil = 1, Angka = 0, A++ 16. Else 17. A++ 18. Kembali ke proses no. 3 19. End If 20. Else If pesan >= 48 dan <= 57 Then 21. If Angka == 0 Then 22. Pesan tambahkan 30 23. Kapital = 0, Kecil = 0, Angka = 1, A++

40

24. Else 25. A++ 26. Kembali ke proses no. 3 27. End If 28. Else If pesan == 32 29. Pesan ganti dengan 29 30. A++ 31. Else 32. A++ 33. Kembali ke proses no.3 34. End If 35. Else 36. Pesan tambahkan 31 37. Jalankan algoritma encode pesan 2 38. End If

g. Algoritma Encode Pesan 2

Algoritma ini menjelaskan bagaimana proses encode pesan yang akan disisipkan.

1. Input byte[] pesan 2. Deklarasi inisialisasi A = 0, X = A+1, NilaiPembagi = 64|96|48, Jumlah = 0 3. If pesan[A] < Panjang pesan Then 4. If pesan[A] == 27 Then 5. If pesan[X] != 28 && 29 && 30 && 31 Then 6. X++, Jumlah++ 7. Kembali ke proses no. 5 8. Else 9. Jalankan algoritma UN 10. End If 11. Else If pesan[A] == 28 Then 10. If pesan[X] != 27 && 29 && 30 && 31 Then 11. X++, Jumlah++ 12. Kembali ke proses no. 11 13. Else 14. Jalankan algoritma UN 15. End If 16. Else If pesan[A] == 30 Then 17. If pesan[X] != 27 && 29 && 27 && 31 Then 18. X++, Jumlah++ 19. Kembali ke proses no. 15 20. Else 21. Jalankan algoritma UN 22. End If 23. Else 24. A++ 25. Kembali ke proses no. 3 26. End If 27. Else 28. Proses selesai 29. End If

41

h. Algoritma Sisipkan Panjang Pesan

Algoritma ini menjelaskan bagaimana proses penyisipan panjang pesan yang akan disisipkan.

1. Input panjang pesan, byte[] citra 2. Konversi panjang pesan menjadi biner 30 bit 3. If bit yang ke-N == 1 Then 4. Sisipkan 1 pada bit LSB byte ke-N citra 5. Else 6. Sisipkan 0 pada bit LSB byte ke-N citra 7. End If 8. If panjang bit yang disisipkan < 30 Then 9. Kembali pada proses no. 3 dengan N selanjutnya 10. Else 11. Proses selesai 12. End If

i. Algoritma Generate Bilangan Acak

Algoritma ini menjelaskan bagaimana proses generate bilangan acak yang akan digunakan dalam proses penyisipan pesan.

1. Input char password 2. Deklarasi inisialisasi array penampung X = 5000 3. Deklarasi inisialisasi int I, I, TEMP = 0 4. If I < 5000 Then 5. J = (J + X[I] * (int) password[I MOD panjang password]) MOD 887 6. TEMP = X[I], X[I] = X[J], X[J] = TEMP, I = I + 1 7. Kembali pada proses no. 4 8. Else 9. Proses selesai 10. End If

j. Algoritma Sisipkan Pesan

Algoritma ini menjelaskan bagaimana proses penyisipan byte pesan ke dalam byte citra.

1. Input byte[] pesan, byte[] citra, bilangan acak[] 2. Konversi byte[N] pesan menjadi 8 bit 3. Ambil bit ke-N mulai dari posisi ke 4 4. If bit ke-N == 1 Then 5. Sisipkan 1 pada bit LSB dari byte[acak[N]] citra 6. Else 7. Sisipkan 0 pada bit LSB dari byte[acak[N]] citra 8. End If 9. If panjang bit < 8 Then 10. Kembali pada proses no. 3 11. Else If byte[] pesan < panjang byte pesan Then 12. Kembali pada proses no. 2 13. Else 14. Proses selesai 15. End If

42

k. Algoritma Ekstraksi Panjang Pesan

Algoritma ini menjelaskan bagaimana proses ekstraksi panjang pesan dari citra stego.

1. Input byte[] citra stego 2. Ambil 1 bit LSB dari byte[] citra stego 3. Tampung setiap bit tang didapat 4. If panjang bit < 30 Then 5. Kembali pada proses no. 2 6. Else 7. Konversi bit yang didapat menjadi byte 8. Proses selesai 9. End If

l. Algoritma Ekstraksi Pesan

Algoritma ini menjelaskan bagaimana proses ekstraksi pesan dari citra stego.

1. Input byte[] panjang pesan, byte[] citra, bilangan acak[] 2. Sisipkan 1 pada bit LSB dari byte[acak[N]] citra stego 3. If jumlah bit == 5 Then 4. Konversi 5 bit menjadi 1 byte pesan 5. End If 6. If byte pesan < panjang pesan 7. Kembali pada proses no. 2 8. Else 9. Proses selesai 10. End If

m. Algortima Decode Pesan 1

Algoritma ini menjelaskan proses decode pesan yang semula karakter memiliki nilai maksimal 5 bit diubah kembali ke bentuk nilai ASCII semula.

1. Input byte[] pesan 2. Deklarasi inisialisasi A = 0, X = A+1, NilaiPembagi = 64|96|48, Jumlah = 0 3. If pesan[A] < Panjang pesan Then 4. If pesan[A] == 27 Then 5. If pesan[X] != 28 && 29 && 30 && 31 Then 6. X++, Jumlah++ 7. Kembali ke proses no. 5 8. Else 9. Jalankan algoritma UN 10. End If 11. Else If pesan[A] == 28 Then 10. If pesan[X] != 27 && 29 && 30 && 31 Then 11. X++, Jumlah++ 12. Kembali ke proses no. 11 13. Else 14. Jalankan algoritma UN 15. End If 16. Else If pesan[A] == 30 Then 17. If pesan[X] != 27 && 29 && 27 && 31 Then

43

18. X++, Jumlah++ 19. Kembali ke proses no. 15 20. Else 21. Jalankan algoritma UN 22. End If 23. Else 24. A++ 25. Kembali ke proses no. 3 26. End If 27. Else 28. Jalankan algoritma decode 2 29. End If

n. Algoritma Decode Pesan 2

Algoritma ini menjelaskan bagaimana proses menghilangkan nilai control symbol yang masih terdapat pada pesan dengan cara menggeser nilai control symbol. 1. Input byte[] pesan 2. Deklarasi inisialisasi A = 0, X = 0 3. If pesan[A] < Panjang pesan Then 4. If pesan[A] == 27 Then 5. If pesan[X] < panjang pesan - 1 Then 6. Pesan[X] = Pesan[X+1] 7. X++ 8. Kembali ke proses no. 5 9. Else 10. A++ 11. Kembali ke proses no. 3 12. End If 13. Else If pesan[A] == 28 Then 14. If pesan[X] < panjang pesan - 1 Then 15. Pesan[X] = Pesan[X+1] 16. X++ 17. Kembali ke proses no. 5 18. Else 19. A++ 20. Kembali ke proses no. 3 21. End If 22. Else If pesan[A] == 30 Then 23. If pesan[X] < panjang pesan - 1 Then 24. Pesan[X] = Pesan[X+1] 25. X++ 26. Kembali ke proses no. 5 27. Else 28. A++ 29. Kembali ke proses no. 3 30. End If 31. Else If pesan[A] == 31 Then 32. Pesan[A] = 0 33. Kembali ke proses no. 3

44

34. Else 35. A++ 36. Kembali ke proses no. 3 37. End If 38. Else 39. Proses selesai 40. End If

o. Algoritma Ubah Nilai

Algoritma ini menjelaskan bagaimana proses mengubah nilai pesan dengan meng-XORkannya dengan nilai pembagi.

1. Input byte[] pesan 2. Deklarasi inisialisasi J = 0, nilaiPembagi 3. If J < Jumlah Then 4. Pesan[X] XOR nilaiPembagi 5. J++ 6. Kembali ke proses no. 3 7. Else 8. Jumlah = 0, A++ 9. Proses selesai

45

BAB IV

IMPLEMENTASI DAN UJI COBA PROGRAM

1. Pendahuluan Pada bab ini penulis akan membahas mengenai implementasi dan uji coba dari

aplikasi yang dibuat, menjelaskan tentang bagaimana instalasi aplikasi dan menjalankan aplikasi, membuat analisa hasil percobaan dan kelebihan serta kekurangan aplikasi. Pada bab ini penulis juga menampilkan kebutuhan perangkat lunak dan perangkat keras yang digunakan.

Implementasi 2.

Implementasi merupakan salah satu tahapan pembuatan sistem. Tujuan dari pengimplementasian ini adalah untuk mengukur sejauh mana program aplikasi digital watermarking ini dapat menyelesaikan masalah dan bekerja dengan semestinya. Spesifikasi yang mendukung aplikasi ini adalah, sebagai berikut:

a. Perangkat Keras (Hardware)

Perangkat keras (hardware) yang dipakai untuk implementasi aplikasi ini adalah sebagai berikut: 1) Processor Intel Core i3 1.80GHz 2) RAM/Memory 4GB

3) Keyboard dan Mouse 4) Hardisk 500GB

b. Perangkat Lunak (Software)

Perangkat lunak (software) yang diapakai untuk implementasi aplikasi ini adalah sebagai berikut: 1) Sistem Operasi Microsoft Windows 8

Instalasi Aplikasi Digital Watermarking 3.Berikut ini merupakan tahapan instalasi Aplikasi Digital Watermarking:

a. Gambar 4.1 merupakan tampilan awal proses instalasi, pilih Next untuk melanjutkan instalasi.

Gambar 4.1 : Tampilan awal instalasi

46

b. Setelah itu pilih direktori instalasi seperti pada Gambar 4.2.

c. Setelah direktori dipilih, pilih Install untuk memulai proses instalasi seperti pada Gambar 4.3.

d. Setelah itu, tampilan pada Gambar 4.4 merupakan tampilan proses instalasi Aplikasi Digital Watermarking yang sedang berjalan.

Gambar 4.2 : Tampilan pilih direktori instalasi

Gambar 4.3 : Tampilan untuk memulai proses instalasi

47

e. Gambar 4.5 merupakan pemberitahuan bahwa proses instalasi telah selesai.

Tampilan Layar 4.Pada bagian ini, diuraikan mengenai tampilan layar aplikasi digital watermarking

sekaligus proses penggunaan dari awal sampai selesai dijalankan. Berikut adalah uraian penggunaan aplikasi digital watermarking ini.

a. Tampilan Layar Utama

Gambar 4.6 adalah 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

Gambar 4.4 : Tampilan proses instalasi aplikasi

Gambar 4.5 : Tampilan pemberitahuan instalasi selesai

48

memulai proses penyisipan pesan dapat menggunakan button “Sisipkan”, untuk

membersihkan inputan dengan button “Bersih” dan untuk keluar dari aplikasi dapat menggunakan button “Keluar”.

b. Tampilan Layar Form Ekstraksi 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 4.6 : Tampilan layar utama

Gambar 4.7 : Tampilan layar form ekstraksi

49

5. Uji Coba Penggunaan Aplikasi Digital Watermarking

Berikut ini adalah contoh pengoperasian aplikasi digital watermarking untuk menyisipkan Lisensi Creative Commons.

1) Pada saat aplikasi dijalankan user akan ditampilkan pada halaman sisipkan. Langkah

pertama user akan memilih citra yang akan dijadikan sebagai media penampung pesan. Untuk memilih citra tersebut, user dapat memilih button “Pilih” yang dijelaskan seperti pada Gambar 4.8.

2) Setelah itu user akan ditampilkan form untuk memilih file citra yang akan dijadikan media penampung. Format file citra yang dapat dipilih hanya yang berekstensi *.bitmap dan *.png. Berikut tampilan form untuk memilih file citra seperti pada Gambar 4.9.

Gambar 4.8 : Pilih citra asli

Gambar 4.9 : Form sisipkan

50

3) Setelah itu, citra akan ditampilkan pada form sisipkan. User dapat memilih fitur

lisensi yang diinginkan dengan menyesuaikan jawaban pada radio button dari beberapa pertanyaan. Lisensi akan menyesuaikan dari jawaban yang dipilih. Terdapat gambar penjelasan yang jika dipilih akan menampilkan detil dari lisensi yang digunakan seperti pada Gambar 4.10.

4) Setelah memilih lisensi yang digunakan, user dapat mengisi informasi mengenai detil atribusi, sebagai contoh pada Gambar 4.11.

Gambar 4.10 : Tampilkan penjelasan lisensi

Gambar 4.11 : Input detil atribusi

51

5) Setelah itu user dapat melengkapi form detil penyimpanan dengan mengisi nama file

output citra setelah disisipkan pesan, mengisi password yang akan digunakan sebagai kunci dalam ekstraksi pesan dan lokasi penyimpanan citra yang telah disisipkan pesan sebagai contoh pada Gambar 4.12.

6) Untuk memulai proses penyisipan pesan, user dapat memilih button Sisipkan. Jika

berhasil akan di tampilkan pesan yang menyatakan bahwa penyisipan sudah berhasil dilakukan, seperti pada Gambar 4.13.

Gambar 4.12 : Input detil file output

Gambar 4.13 : Jalankan proses penyisipan

52

7) Maka akan terbentuk file citra baru sebagai citra yang sudah disisipkan pesan pada

direktori yang sudah ditentukan.

8) Untuk melihat pesan yang sudah disisipkan, terlebih dahulu dilakukan proses ekstraksi pesan. User dapat memilih tab menu ekstraksi, maka akan ditampilkan form ekstraksi seperti pada Gambar 4.15.

9) Sebelum memulai proses ekstraksi, terlebih dahulu user memilih citra stego yang akan di ekstraksi. Sebagai contoh pada proses sisipkan sebelumnya, citra stego tersimpan pada direktori E:/computerstego.bmp. Gunakan button pilih untuk memilih citra stego, setelah dipilih citra stego akan ditampilkan pada form ekstraksi seperti pada Gambar 4.16.

Gambar 4.14 : File citra baru

Gambar 4.15 : Form ekstraksi

53

Gambar 4.16 : Memilih citra stego

10) Setelah citra stego dipilih, user dapat mengisi nama file dan memilih direktori untuk file keluaran dari proses ekstraksi. File keluaran akan berformat *.txt yang

didalamnya terdapat pesan lisensi hasil ekstraksi. Terakhir mengisi sandi sebagai kunci proses ekstraksi, sandi yang digunakan pada proses ekstraksi harus sama dengan sandi yang digunakan pada proses sisipkan. Untuk memulai proses ekstraksi user dapat memilih button Ekstrak, sebagai contoh ditampilkan pada Gambar 4.17.

Gambar 4.17 : Input detil file output

54

11) Maka akan terbentuk file berformat *.txt yang berisi pesan hasil ekstraksi pada

direktori yang sudah ditentukan.

Gambar 4.18 : File hasil ekstraksi

12) Jika hasil ekstraksi berhasil, maka jika file output dibuka akan ditampilkan pesan lisensi yang sudah disisipkan sebelumnya seperti pada Gambar 4.19.

Gambar 4.19 : Isi pesan ekstraksi

Pengujian Aplikasi Digital Watermarking 6.Untuk memastikan keberhasilan aplikasi digital watermarking, perlu dilakukan

pengujian untuk memastikan metode yang digunakan berjalan dengan baik. Berikut hasil dari pengujian yang dilakukan dari beberapa sampel yang digunakan.

a. Pengujian Penyisipan Pesan

Tabel merupakan hasil pengujian dari penyisipan pesan. Karena pesan maksimal sudah ditentukan, dan pengunaan karakter spasi sebagai alat bantu untuk marapihkan pesan yang disisipkan menjadikan panjang pesan yang disisipkan memiliki jumlah yang selalu sama.

55

Tabel 4.1 : Pengujian penyisipan pesan

Citra Asli Pesan MLSB

Status Nama Size

(Kb) Isi Pesan Disisipkan Size(bit) Size(bit)

+ Control Symbol

Size(bit) disisipkan

Bananas.bmp

919 LISENSI CCBY JUDUL Tutorial Java ATRIBUSI Agung Sulistyanto URL labictdotbldoticdotid PESAN Semoga bermanfaat

1184 1336 835 Berhasil

crocodile.bmp

504 LISENSI CCBYNC JUDUL TuToR1aL NuLiS TaA ATRIBUSI KiTa As1sTeN 12 dOnK URL wWwD0Tl4b1cTd0tBlD0TiCd0t1d PESAN SeMaNg4t yAaAa TeM4n

1184 1848 1155 Berhasil

Sepeda.png

284 LISENSI CCBY JUDUL Tutorial Office ATRIBUSI Asisten 13

URL labictdotbldoticdotid PESAN Semoga bermanfaat

1184 1328 830 Berhasil

Buku.png

91 LISENSI CCBYNC JUDUL Tutorial Stegano ATRIBUSI Agung URL agungstripsulistyantodotinfo PESAN

1148 1296 810 Berhasil

b. Pengujian Ekstraksi Pesan

Tabel merupakan hasil pengujian dari ekstraksi pesan. Pada proses ekstraksi pesan yang didapatkan akan dituliskan kedalam file berformat .txt.

Tabel 4.2 : Pengujian ekstraksi pesan

Citra Stego Hasil ekstraksi

Keluaran

Status

Nama Size (KB)

Size (bit)

Nama Size (bit)

Isi Pesan

Bananas.bmp

919 835 Bananas.txt 1264 LISENSI CCBY JUDUL Tutorial Java ATRIBUSI Agung Sulistyanto URL labictdotbldoticdotid PESAN Semoga bermanfaat

Berhasil

56

Lanjutan Tabel 4.2

Citra Stego Hasil ekstraksi

Keluaran

Status Nama Size

(KB) Size (bit)

Nama Size (bit)

Isi Pesan

Crocodile.bmp

504 1155 Crocodile.txt 1264 LISENSI CCBYNC JUDUL TuToR1aL NuLiS TaA ATRIBUSI KiTa As1sTeN 12 dOnK URL wWwD0Tl4b1cTd0tBlD0TiCd0t1d PESAN SeMaNg4t yAaAa TeM4n

Berhasil

Sepeda.png

267 830 Sepeda.txt 1264 LISENSI CCBY JUDUL Tutorial Office ATRIBUSI Asisten 13 URL labictdotbldoticdotid PESAN Semoga bermanfaat

Berhasil

Buku.png

82 810 Buku.txt 1264 LISENSI CCBYNC JUDUL Tutorial Stegano ATRIBUSI Agung

URL agungstripsulistyantodotinfo PESAN

Berhasil

Kelebihan dan Kekurangan Program 7.Setelah percobaan telah selesai dilakukan, maka perlu dilakukan eveluasi terhadap

aplikasi digital watermarking yang diusulkan. Berdasarkan hasil evaluasi, disimpulkan beberapa kelebihan serta kekurangan aplikasi yang diuraikan sebagai berikut:

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.

57

BAB V

PENUTUP

1. 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 (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.

2. 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.

58

DAFTAR PUSTAKA

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.

Imam, Khairul 2013, Penyembunyian Pesan Rahasia Pada Citra Digital Dengan Teknik

Steganografi Menggunakan Metode Least Significant Bit (LSB), Jakarta, Universitas BUDI LUHUR.

Kadir, Abdul, & Susanto, Adhi 2013, Teori Dan Aplikasi Pengolahan Citra, Yogyakarta, Andi

Publisher. Keutzer, Till 2014, Konten Terbuka – Pedoman Praktis Penggunaan Lisensi Creative

Commons, ISBN: 978-602-72890-1-7, Jakarta, Wikimedia Indonesia. Lubis, Rifki Respati Ashari 2015, Analisis Kombinasi Algoritma Watermarking Modified Least

Significant Bit (MLSB) Dengan Least Significant Bit+1, Sumatera, Universitas Sumatera Utara.

Munir, Rinaldi 2004, Diktat Kuliah IF5054 Kriptografi : Steganografi dan Watermarking,

Bandung, Institut Teknologi Bandung. 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.

Sulistyanto, Agung 2015, Materi Pelatihan : Aplikasi Steganografi Dengan Metode LSB dan Enkripsi Pesan Dengan Pembangkitan Bilangan Acak, Jakarta, Laboratorium ICT Terpadu Universitas BUDI LUHUR.

Vebrina, Yus Gias 2014, Makalah : Spread Spectrum Steganography, Bandung, Institut

Teknologi Bandung.

Zaher, Mazen Abu 2011, Modified Least Significant Bit (MLSB), Kanada, Jurnal CCSENET Vol. 4, No. 1.

59

LAMPIRAN-LAMPIRAN

Lampiran Surat Riset