LSB, LSB+2 DAN MLSB
SKRIPSI
ILHAM AZHARI 111401048
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2018
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Sarjana Ilmu Komputer
ILHAM AZHARI 111401048
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2018
PERNYATAAN
IMPLEMENTASI TEKNIK STEGANOGRAFI PADA CITRA DIGITAL MENGGUNAKAN ALGORITMA LSB, LSB+2 DAN MLSB
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, Juli 2018
ILHAM AZHARI NIM. 111401048
PENGHARGAAN
Puji dan syukur penulis ucapkan kepada Tuhan Yang Maha Kuasa atas segala berkat dan kasih karunia-Nya sehingga penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer, pada Program Studi S1 Ilmu Komputer Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Sumatera Utara.
Ucapan terima kasih penulis sampaikan kepada :
1. Bapak Prof. Dr. Opim Salim Sitompul, M.Sc., selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara.
2. Bapak Dr. Poltak Sihombing, M.Kom, selaku Ketua Departemen Ilmu Komputer Universitas Sumatera Utara.
3. Bapak Herriyance, S.T., M.Kom., selaku Sekretaris Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.
4. Ibu Dian Rachmawati, S.Si, M.Kom dan Ibu Dr. Maya Silvi Lydia, M.Sc., selaku Dosen Pembimbing.
5. Bapak Dr. Poltak Sihombing, M.Kom dan Ibu Sri Melvani Hardi S.Kom., M.Kom., selaku Dosen Pembanding.
6. Semua dosen pada Departemen Ilmu Komputer Fasilkom-TI USU, dan pegawai di Ilmu Komputer Fasilkom-TI USU.
7. Ayah saya Ngadelik, ibu saya Nila Wati serta adik saya Maya Lestiani AMKL, Indah Sari dan Nazril Afriza yang memberikan motivasi dan dorongan kepada penulis selama menyelesaikan skripsi ini.
8. Rekan-rekan kuliah Ilmu Komputer Stambuk 2011, khususnya Rony, Agung, Angga, Anhar, Prastia, Tio yang telah memberikan semangat dan dorongan kepada penulis.
Semoga Tuhan Yang Maha Kuasa memberikan berkat yang berlimpah kepada semua pihak yang telah memberikan bantuan, perhatian, serta dukungan kepada penulis dalam menyelesaikan skripsi ini.
Medan, Juli 2018
Penulis
ABSTRAK
Pada saat ini penggunaan teknologi informasi sudah berkembang dan menjadi salah satu media yang populer. Keamanan data pada suatu informasi merupakan hal yang sangat penting seperti kecepatan proses pengiriman, kemudahan dalam berkomunikasi dan efisiensi.Kadang kala ada pihak yang ingin mecoba untuk mengambil atau mengakses suatu informasi dengan berbagai teknik secara ilegal yang bukan haknya dan berbagai macam teknik juga digunakan oleh pemilik suatu informasi untuk melindungi informasi tersebut salah satunya menggunakan teknik steganografi.
Steganografi merupakan salah satu metode atau cara dalam memberikan keamanan dalam proses pengiriman informasi dengan cara menyamarkan atau menyembunyikan suatu pesan atau data rahasia ke dalam pesan atau data lain yang tidak tampak oleh indera penglihatan kecuali orang yang mengerti kuncinya.
Pada penelitian tugas akhir ini, akan dirancang sebuah aplikasi steganografi yang bertujuan untuk menyisipkan (menyembunyikan) sebuah informasi berupa teks dokumen kedalam suatu citra digital dengan format JPEGsebanyak 10 citra sebagai sampel dengan menggunakan algoritma LSB (Least Significant Bit), LSB+2 (Least Significant Bit+2) dan MLSB (Modified Least Significant Bit) serta dapat mengekstraksi kembali pesan tersembunyi tersebut dari dalam citra digital yang telah dilakukan penyisipan (Stego Image) dengan memperhatikan parameter berupa MSE (Mean Squared Error). Dari Penelitian didapatkan hasil perbandingan ketiga algoritma berdasarkan MSE yaitu LSB sebesar 0.0215 , LSB+2 sebesar 0.0876 dan MLSB sebesar 0.0037 dan ukuran rata-rata file hasil penyisipan yaitu 4186.22 byte.
Kata Kunci : Steganografi, Citra Digital, LSB (Least Significant Bit), LSB+2 (Least Significant Bit +2), MLSB(Modified Least Significant Bit), stego image
IMPLEMENTATION THE TECHNIQUES OF STEGANOGRAPHY INTO A DIGITAL IMAGE USING LSB (LEAST SIGNIFICANT BIT), LSB+2 (LEAST SIGNIFICANT BIT+2) AND MLSB (MODIFIED LEAST SIGNIFICANT BIT)
ALGORITHMS
ABSTRACT
At present the use of information technology has evolved and became one of the popular media. The security of data on information is very important such as the swiftness of dispatch processing, the ease of communicating and efficiency.
Sometimes there‟s a lot of peoples want to taking and accessing an information with the unauthorized ways which that is not their rights and various ways used by the owner of an information to protecting its from the others using the techniques of steganography. Steganography is one of the to provide security in the dispatch processing by dissembling or hiding the message into the others that invisible things by the sense of sight except the person who knowing the keys.
In this final project researching, the app;ication of steganography will be designed which aims to dissembling or hiding like the plain text document into a digital image such as JPEG with as much as 10 images to be a sample using LSB (Least Significant Bit), LSB + 2 (Least Significant Bit + 2) and MLSB (Modified Least Significant Bit) algorithms and then can be extracting the hidden message from the embedded digital image (Stego Image) by observing the parameter in the form of MSE (Mean Squared Error). In this researching, the results of the comparison the three algorithms based on MSE are 0.0215 of LSB, 0.0876 of LSB+2 and 0.0037 of MLSB and the average size of the insertion file is 4186.22 bytes.
Keyword : Steganography, Digital Image, LSB (Least Significant Bit), LSB+2 (Least Significant Bit+2), MLSB (Modified Least Significant Bit), Stego Image
DAFTAR ISI
Halaman
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak v
Abstract vi
Daftar Isi vii
Daftar Tabel ix
Daftar Gambar x
Daftar Lampiran xi
Bab I Pendahuluan
1.1 Latar Belakang 1
1.2 Rumusan Masalah 2
1.3 Batasan Masalah 3
1.4 Tujuan Penelitian 3
1.5 Manfaat Penelitian 3
1.6 Metodologi Penelitian 4
1.7 Sistematika Penulisan 5
BabII Landasan Teori
2.1 Steganografi 6
2.1.1 Sejarah Steganografi 6
2.1.2 Pengertian Steganografi 7
2.1.3 Proses Steganografi 8
2.2 Citra Digital 11
2.2.1 Pengertian Citra Digital 11
2.2.2 Jenis Citra Digital 12
2.2.3 Format Citra Digital 13
2.3 Algoritma Least Significant Bit (LSB) 14
2.4 Algoritma Least Significant Bit+2 (LSB+2) 15 2.5 Algoritma Modofied Least Significant Bit (MLSB) 17 2.6 Pseudo Random Number Generator ( PRNG ) 21
2.7 Mean Squared Error (MSE) 21
2.8 Peak Signal to Noise Reduction (PSNR) 22
2.9 Penelitian yang relevan 22
Bab III Analisis dan Perancangan Sistem
3.1 Analisis 24
3.1.1 Analisis Masalah 24
3.1.2 Analisis Kebutuhan Sistem 25
3.1.2.1 Analisis Kebutuhan Fungsional 26 3.1.2.2 Analisis Kebutuhan Non-Fungsional 26
3.2 Pemodelan 27 3.2.1 Pemodelan dengan Menggunakan Use Case Diagram 27
3.2.1.1 Use Case Penyisipan Citra 28
3.2.1.2 Use Case Ekstraksi Citra 29
3.2.2 Pemodelan dengan Menggunakan Activity Diagram 30 3.2.2.1 Activity Diagram Penyisipan Citra 30 3.2.2.2 Activity Diagram Ekstraksi Citra 31 3.2.3 Pemodelan dengan MenggunakanSequence Diagram 32 3.2.3.1 Sequence DiagramPenyisipan Citra 32 3.2.3.2 Sequence Diagram Ekstraksi Citra 33
3.3 Perancangan Sistem 34
3.3.1 Flowchart Penyisipan Algoritma LSB 34 3.3.2 Flowchart Ekstraksi Algoritma LSB 35 3.3.3 Flowchart Penyisipan Algoritma LSB+2 36 3.3.4 Flowchart Ekstraksi Algoritma LSB+2 37 3.3.5 Flowchart Penyisipan Algoritma MLSB 38 3.3.6 Flowchart Ekstraksi Algoritma MLSB 39
3.4 Menghitung Nilai RGB Citra 41
3.4.1 Menghitung Nilai RGB Citra dengan Algoritma LSB 43 3.4.2 Menghitung Nilai RGB Citra dengan Algoritma LSB+2 45 3.4.3 Menghitung Nilai RGB Citra dengan Algoritma MLSB 48
3.5 Perancangan Antarmuka 51
3.5.1 Rancangan Menu Utama 52
3.5.2 Rancangan Form Algoritma LSB dan LSB+2 53
3.5.3 Rancangan Form Algoritma MLSB 55
3.5.4 Rancangan Form About 57
3.5.5 Rancangan Pengujian Sistem 57
Bab IV Implementasi dan Pengujian
4.1 Implementasi 58
4.1.1 Tampilan Menu Utama 58
4.1.2 Tampilan Penyisipan Algoritma LSB 59
4.1.3 Tampilan Ekstraksi Algoritma LSB 60
4.1.4 Tampilan Penyisipan Algoritma LSB+2 61
4.1.5 Tampilan Ekstraksi Algoritma LSB+2 62
4.1.6 Tampilan Penyisipan Algoritma MLSB 63
4.1.7 Tampilan Ekstraksi Algoritma MLSB 64
4.1.8 Tampilan About 65
4.2 Pengujian Sistem 66
4.2.1 Pengujiandengan Algoritma LSB 66
4.2.2 Pengujian dengan Algoritma LSB+2 67
4.2.3 Pengujian dengan Algoritma MLSB 68
Bab V Kesimpulan dan Saran
5.1 Kesimpulan 69
5.2 Saran 69
Daftar Pustaka 70
DAFTAR TABEL
Nomor
Tabel Nama Tabel Halaman
2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 2.10 2.11 2.12 2.13 2.14 2.15 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 4.1 4.2 4.3
Matriks 3x3 Piksel Cover Image Penyisipan LSB Matriks 3x3
Ekstraksi LSB Matriks 3x3 Stego Image Matriks 3x3 Piksel Cover Image
Penyisipan LSB+2 Matriks 3x3
Ekstraksi LSB+2 Matriks 3x3 Stego Image Control Symbol
Nilai Piksel Citra Nilai BinerPiksel Citra
Nilai Biner Piksel CitraHasil Penyisipan Nilai Piksel Citra Tersisip
Nilai Piksel Citra Stego Image Piksel Stego Image
Blok Pesan 5 Bit
Penelitian Yang Relevan
Dokumen Naratif Use Case Penyisipan Dokumen Naratif Use Case Ekstraksi Matriks Nilai RGB Citra Warna Matriks Citra Yang Akan disisip
Matriks Citra Hasil Penyisipan (Stego Image) Matriks Citra Yang Akan disisip
Matriks Citra Hasil Penyisipan (Stego Image) Control Symbol
Nilai Piksel Citra Asli
Matriks Citra Yang Akan Disisip
Matriks Citra Hasil Penyisipan (Stego Image)
Rancangan Hasil Pengujian Algoritma LSB, LSB+2 dan MLSB Hasil Pengujian Algoritma LSB
Hasil Pengujian Algoritma LSB+2 Hasil Pengujian Algoritma MLSB
15 15 15 16 16 16 17 19 19 19 20 20 20 20 23 28 29 43 44 44 46 47 48 49
49 50 57 60 67 68
DAFTAR GAMBAR
Nomor
Gambar Nama Gambar Halaman
2.1 2.2 2.3 2.4 2.5 2.6 2.7 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17 3.18 3.19 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9
Fokus Disiplin Ilmu Penyisipan Informasi
Proses Encoding dan Decoding Pada Steganografi Taksonomi Steganografi
Proses Sampling dan Kuantisasi Citra Biner
CitraGrayscale Citra RGB
Identifikasi Masalah Menggunakan Diagram Ishikawa Use Case Diagram Sistem yang akan dikembangkan Activity Diagram untuk Proses Penyisipan Citra Activity Diagram untuk Proses Ekstraksi Citra Sequence Diagram Proses Penyisipan Citra Sequence Diagram Proses Ekstraksi Citra Flowchart Penyisipan Algoritma LSB Flowchart Ekstraksi Algoritma LSB Flowchart Penyisipan Algoritma LSB+2 Flowchart Ekstraksi Algoritma LSB+2 Flowchart Penyisipan Algoritma MLSB Flowchart Ekstraksi Algoritma MLSB
Flowchart Ekstraksi Algoritma MLSB (lanjutan) Citra Warna
Contoh Nilai Piksel Citra Warna Rancangan Menu Utama
Rancangan Form Algoritma LSB dan LSB+2 Rancangan Form Algoritma MLSB
Rancangan Form About Tampilan Menu Utama
Tampilan Penyisipan algoritma LSB Tampilan Ekstraksi algoritma LSB Tampilan Penyisipan algoritma LSB+2 Tampilan Ekstraksi algoritma LSB+2 Tampilan Penyisipan algoritma MLSB Tampilan Ekstraksi algoritma MLSB Tampilan About
Nilai MSE Rata-rata
8 8 9 11 12 12 13 25 27 30 31 32 33 34 35 36 37 38 39 40 41 42 52 53 55 57 58 59 60 61 62 63 64 65 68
DAFTAR LAMPIRAN
Halaman
A. Listing Program A-1
B.Curiculum Vitae B-1
PENDAHULUAN
1.1 Latar Belakang
Pada saat era informasi dan teknologi saat ini, sebuah data atau informasi bisa disajikan dalam format digital seperti teks, citra, audia maupun video. Produk-produk digital tersebut mempunyai beberapa karakteristik antara lain: Mudah digandakan, mudah didistribusikan dimana perubahan produk tersebut tidak dapat dipersepsi oleh indera penglihatan. Namun beberapa masalah muncul ketika produk-produk digital ini merupakan hasil karya yang harus dilindungi datanya seperti tulisan, citra hasil seni fotografi, citra hasil seni musik dan video peristiwa penting seseorang (Munir, 2006).
Keamanan suatu data atau informasi menjadi sebuah keharusan bagi para pengguna maupun pemilik agar kerahasiaan data mereka bisa tetap terjaga dari pihak yang tidak bertanggung jawab. Salah satu teknik yang dapat dilakukan untuk pengamanan data adalah teknik steganografi. Steganografi merupakan sebuah teknik menyamarkan atau menyembunyikan suatu pesan ke dalam sebuah media pembawa (carrier). Kelebihan teknik steganografi terletak pada siftanya yang tidak menimbulkan kecurigaan orang lain (Darwis, 2015).Proses penyisipan bit-bit dilakukan sedemikian rupa tanpa merusak data digital yang dilindungi tersebut. Data yang akan dilakukan proes penyisipan tidak dapat dipersepsi oleh indera penglihatan manusia namun (Munir, 2006).
Proses penyisipan bit-bit data ke dalam sebuah citra digital pada umumnya menggunakan algoritma Least Significant Bit (LSB). Prinsip dasar algoritma ini yaitu dengan mengganti bit terakhir dari setiap data dengan bit-bit data yang akan disisipkan. Dengan kata lain akan membutuhkan satu byte data cover media setiap satu bit data yang akan disisipkan ke dalam media digital yang terdiri dari 8 bit data
Untuk memperkuat teknik penyamaran atau penyembunyian suatu data pada citra digital dapat dilakukan dengan melakukan penyisipan bit-bit ke-enam pada data terebut. Metode ini disebut dengan metode Least Significant Bit+2 (LSB+2) dimana proses penyisipan bit-bit data juga dapat dilakukan secara acak.Proses penyisipan bit-
bit data tersebut dapat dibangkitkan dengan menggunakan Pseudo Random Number Generator (PRNG) (Saefullah, 2012).Dengan Menerapkan metode ini maka keberadaan bit-bit data penyisip akan lumayan sulit ditemukan karena diletakkan pada bit LSB ke-enam untuk setiap byte cover serta letaknya diacak.
Algoritma Modified Least Significant Bit (MLSB) merupakan sebuah metode modifikasi dari metode Least Significant Bit (LSB) dimana pada algoritma ini telah di tambahkan sebuah teknik enkripsi pesan yang bekerja dengan ara mengkonversikan bit-bit data penyisip menggunakan nilai ASCII. Setelah megkonversikan bit-bit data tersebut, data akan digabung dengan kontrol simbol (Control Symbols) dan dilakukan pengurangan semua bit-bit data penyisip dengan nilai terendah agar dihasilkan sebuah bit-bit yang telah di modifikasi menjadi 5 bit setiap nilai pesan (Zaher, 2011). Karena jumlah bit karakter penyisip dimodifikasi menjadi 5 bit, maka untuk satu karakter penyisip hanya membutuhkan 5 byte cover media saja sehingga cara kerjanya menjadi lebih efisien.
Melihat perbedaan ketiga algoritma diatas, maka penulis berniat untuk melakukan suatu perbandingan untuk menentukan algoritma yang terbaik dalam peroses penyisipan bit-bit data dengan mempertimbangkan beberapa parameter penguji dengan judul penelitian Implementasi Teknik Steganografi Pada Citra Digital Menggunakan Algoritma Least Significant Bit (LSB), Least Significant Bit+2 (LSB+2) dan Modified Least Significant Bit (MLSB).
1.2 Perumusan Masalah
Berdasarkan uraian diatas, maka yang menjadi rumusan masalah pada penelitian ini adalah bagaimana mengimplementasikan teknik steganografi pada citra digital menggunakan Algoritma Least Significant Bit (LSB), Least Significant Bit+2 (LSB+2) dan Modified Least Significant Bit (MLSB) serta bagaimana perbandingan hasil ketiga algoritma tersebut dari segi nilai MSE, waktu proses serta besar ukuran file hasil yang diperoleh.
1.3 Batasan Masalah
Adapun yang akan menjadi batasan masalah dalam penelitian ini adalah:
1. Format file citra digital yang akan digunakan berekstensi *.JPEG dan data yang digunakan sebagai data penyisip berekstensi*.DOCX.
2. Format file citra digital yang dihasilkan (Stego Image) yang dihasilkan berekstensi *.BMP.
3. Algoritma yang digunakan adalah algoritma LSB, LSB+2 dan MLSB yang telah dienkripsi bit-bit penyisipnya menjadi 5 bit.
4. Untuk mengetahui perfoma ketiga algoritma ini akan dilakukan parameter ukur yaitu dengan perbandingan nilai MSE, waktu proses dan besar ukuran file hasil.
5. Menggunakan bahasa pemrograman Visual Basic. Net 2010.
1.4 Tujuan Penelitian
Tujuan penelitian ini adalah untuk menunjukkan hasil perbandingan proses steganografi algoritma Least Significant Bit (LSB), Least Significant Bit+2 (LSB+2) dan Modified Least Significant Bit (MLSB) pada citra digital dari segi nilai MSE, waktu proses serta besar ukuran file hasil yang diperoleh.
1.5 Manfaat Penelitian
penelitian ini diharapkan dapat memberikan informasi tentang proses steganografi menggunakan algoritma Least Significant Bit (LSB), Least Significant Bit+2 (LSB+2) dan Modified Least Significant Bit (MLSB) sebagai pertimbangan untuk mengetahui algoritma yang terbaik dalam melakukan penyisipan citra digital serta menghasilkan aplikasi perangkat lunak untuk membantu melakukan penyisipan data kedalam sebuah file citra digital.
1.6. Metodologi Penelitian
Dalam Penelitian ini akan ada beberapa tahapan yang dilakukan, yaitu:
1. Studi Literatur
Tahapan ini dlakukan dengan mempelajari beberapa refrensi yang terdiri dari buku-buku dan sumber-sumber yang berkaitan dengan steganografi sehingga mendapatkan data-data dan informasi untuk penelitian.
2. Analisis dan Perancangan Sistem
Dengan adanya rumusan dan batasan masalah, maka permasalahan dan kebutuhan dalam penelitian dianalisis dengan disertai pembuatan flowchart dan Diagram UML dari sistem.
3. Implementasi Sistem
Pada tahap ini hasil analisa dan perancangan sistem diimplementasikan menjadi aplikasi steganografi citra yang dibangun dengan menggunakan bahasa pemrograman VB.NET 2010.
4. Pengujian
Pada tahapan ini dilakukan pengujian data untuk mengetahui apakah sistem yang di buat sesuai dengan kebutuhan dan tujuan yang diinginkan.
5. Dokumentasi
Data yang telah diperoleh dengan aplikasi tersebut disimpan dalam bentuk dokumen atau laporan sebagai bahan referensi tugas akhir.
1.7 Sistematika Penulisan
Agar pembahasan lebih sistematis, maka tulisan penelitian ini dibuat dalam lima bab, yaitu:
BAB I PENDAHULUAN
Pada bab ini akan dibahas mengenai latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian serta sistematika penulisan.
BAB II LANDASAN TEORI
Bab ini membahas uraian atau teori-teori yang berhubungan dengan implementasi teknik steganografi pada citra digital menggunakan algoritma Least Significant Bit (LSB), Least Significant Bit+2 (LSB+2) dan Modified Least Significant Bit (MLSB) serta penelitian terdahulu.
BAB III ANALISIS DAN PERANCANGAN
Bab ini berisi tentang analisis dan proses kerja steganografi pada citra digital menggunakan algoritma Least Significant Bit (LSB), Least Significant Bit+2 (LSB+2) dan Modified Least Significant Bit (MLSB), flowchart sistem serta perancangan antarmuka aplikasi.
BAB IV IMPLEMENTASI DN PENGUJIAN SISTEM
Bab ini berisi tentang hasil koding penyisipan citra menggunakan algoritma Least Significant Bit (LSB), Least Significant Bit+2 (LSB+2) dan Modified Least Significant Bit (MLSB) serta hasil pengujian terhadap parameter yang digunakan dalam penelitian.
BAB V KESIMPULAN DAN SARAN
Bab ini berisi tentang kesimpulan-kesimpulandan hasil dari rancangan aplikasi dan disertai dengan saran-saran yang dapat diberikan apabila aplikasi ini ingin dikembangkan untuk penelitian selanjutnya .
TINJAUAN PUSTAKA
2.1 Steganografi
2.1.1 Sejarah Stegnografi
Berabad-abad yang lalu bahkan sebelum istilah steganografi itu muncul, penggunaan steganografi sudah digunakan pada masa penguasa bangsa Yunani yaitu Herodotus, Steganografi sudah dikenal dengan cara mengirimkan pesan rahasia oleh prajurit sebagai media yang ditulis pada kulit kepala melalui rambut prajurit yang telah dibotaki dan prajurit tersebut diutus untuk membawa pesan ketika rambut mereka sudah tumbuh kembali (Munir, 2006).
Pada masa bangsa Romawi istilah steganografi dikenal dengan cara menggunakan tinta tak-tampak (invisble ink) yang terbuat dari campuran beberapa sari buah, susu dan cuka untuk menuliskan pesan pada sebuah kertas. Pesan yang telah ditulis dapat dibaca dengan cara memanaskan kertas tersebut karena tinta yang digunakan ditanam kedalam sebuah kertas yang di jadikan media.
Saat ini teknik steganografi sudah banyak diimplementasikan pada media penampung seperti teks, citra digital, audio maupun video dengan media informasi yang disembunyikan juga dengan format teks, citra digital, audio dan video.
Steganografi dapat diterapkan di negara-negara yang telah memiliki sensor ketat terhadap perlidungan sebuah informasi dimana proses enkripsi pesan dilarang.
2.1.2 Pengertian Steganografi
Kata steganografi berasal dari bahasa Yunani, yaitu dari kata stegos (tersembunyi) dan Graphos (tulisan). Steganografi akan membahas tentang bagaimana menyembunyikan sebuah informasi atau suatu arsip ke dalam sebuah citra digital.
Dalam arti lain dapat dikatakan sebagai suatu cara berkomunikasi menggunakan pesan rahasia yang telah disembunyikan datanya ke media yang lain. Bentuk data yang dikirim dengan cara disembunyikan ke dalam media yang lain tidak akan berubah, hanya saja yang terlihat hanya media yang digunakan untuk mengirim data tersebut (Krisnawati, 2008).
Teknik steganografi umum yang digunakan bersamaan dengan dua media berbeda, dimana salah satunya berfungsi sebagai media yang berisikan informasi dan yang lain berfungsi sebagai pembawa (Erdiansyah, 2010). Pada proses penyisipan bit- bit data pesan ke dalam media penampung (cover), akan melalui dua proses utama yaitu dengan penyisipan (embedding) dan ekstraksi (extraction).dua proses utama yaitu penyisipan (embedding) dan penguraian atau ekstraksi (extraction). Penyisipan merupakan sebuah proses menyisipkan pesan atau informasi ke dalam media lain dan menghasilkan suatu citra stego (citra hasil penyisipan pesan), sedangkan pada proses ekstraksi proses penguraian atau mengambil kembali pesan rahasia dari citra stego tersebut.
Ada beberapa teknik yang berkaitan dengan steganografi antara lain watermarking dan fingerprinting. Kedua teknik ini berfokus pada perlindungan hak cipta dengan menyisipkan informasi atau pesan ke dalam media lain serta memberikan ijin kepada pihak ketiga untuk mengetahui keberadaan informasi yang telah disisipkan tersebut. Namun hal ini akan berbeda dengan steganografi yang tetap menjaga informasi yang telah disisipkan ke dalam media yang lain agar tidak terlihat oleh pihak ketiga. Pada proses watermarking dan fingerprinting informasi disembunyikan dan dihilangkan , sedangkan pada steganografi informasi yang tersembunyi akan dideteksi keberadaannya (Morkel, 2005). Saat ini perkembangan proses penyisipan sebuah informasi dapat ditunjukkan pada Gambar 2.1
Gambar 2.1 Fokus disiplin ilmu penyisipan informasi (Chedadet al, 2010)
2.1.3 Proses Steganografi
Di dalam proses steganografi citra asli maupun stego image yang berupa teks, citra, audio dan video dapat disembunyikan ke dalam sebuah teks, citra, audio dan video lainnya. Encoding merupakan proses peyisipan bit-bit data pesan ke dalam media digital, sedangkan ekstraksi pesan dari stego image dinamakan decoding.
Kedua proses tersebut memerlukan kunci rahasia (stegokey) agar pihak yang berhak saja yang dapat melakukan penyisipan data dan ekstraksi pesan (Munir, 2006).
Adapun proses steganografi selengkapnya ditunjukkan pada Gambar 2.2 berikut ini
Gambar 2.2 Proses Encoding dan Decoding pada Steganografi (munir, 2006)
Pada proses steganografi ada beberapa pihak yang terkait antara lainembeddor, extractor dan stegoanalyst. Embeddor merupakan pihak yang melakukan proses embeddingatau penyisipan data menggunakan aplikasi steganografi, extractor merupakan pihak yang melakukan proses ekstraksi file stego image sedangkan stegoanalyst merupakan pihak yang mendeteksi sebuah pesan yang tersembunyi dalam steganografi.
Gambar 2.3 Taksonomi Steganografi 1. Teknik Steganografi (Techincal Steganography)
Teknik ini akan menyembunyikan pesan menggunakan metode sains. Contohnya adalah penyembunyian sebuah pesan ke dalam chip mikro.
2. Linguistik Steganografi (Linguistic Steganography)
Teknik ini menyembunyikan pesan dengan cara yang mencurigakan. Teknik ini terbagi menjadi dua bagian yaitu semagrams dan Open Codes.
3. Open Codes
Teknik ini menyembunyikan sebuah pesan dengan cara yang umum tetapi tidak mencurigakan. Teknik ini terbagi menjadi dua bagian yaitu Jargon Codes dan Covered Ciphers.
4. Semagrams
Teknik ini menyembunyikan sebuah pesan ke dalam media penampung sehingga pesan dapat diesktraksi kembali dari media penampung pesan tersebut oleh pihak yang mengetahui bagaimana pesan tersebut disembunyikan.
Steganografi
Teknik Steganografi
Linguistik Steganografi
Open Codes
Jargon Codes Coverd Ciphers Semagrams
Virtual Semagrams Text Semagrams
Kriteria yang harus diperhatikan dalam melakukan penyembunyian sebuah data dengan menggunakan teknik steganografi adalah sebagai berikut :
1. Imperceptibility : Keberadaan pesan dalam media penampung pesan tidak dapat di deteksi dengan mudah.
2. Fidelity : Kualitas media penampung setelah penyisipan pesan rahasia tidak jauh berbeda dengan kualitas media sebelum penyisipan.
3. Recovery: Pesan rahasia harus dapat di ungkap kembali setelah proses penyembunyian pesan.
4. Robustness: Media penampung pesan harus tahan terhadap manipulasi data setelah dilakukannya penyembunyian data.
Karakteristik steganografi yang baik menurut keempat kriteria diatas adalah impercepbility tinggi, fidelity tinggi, recoverytinggi dan robustness tinggi (Anriyus, 2008).
2.2 Citra Digital
2.2.1 Pengertian Citra Digital
Citra terbentuk dari sebuah kumpulan intensitas cahaya yang tersusun dalam bidang dua dimensi yang dinyatakan dalam suatu fungsi kontinu f(x,y)dimana x dan y menyatakan koordinat ruang dan nilai intesnitas cahaya tersebut yang memberikan informasi dari warna dan kecerahan citra (Putra, 2010). Citra digital merupakan citra yang dihasilkan dari gambar analog dua dimensi N baris dan M kolom sehingga menjadi gambar yang diskrit.Persilangan antara N baris dan M kolom tertentu tersebut dinamakan piksel.
Gambar2.4Proses Sampling dan Kuantisasi (Sutoyo, 2009)
Sampling menyatakan banyaknya piksel dalam mendefenisikan suatu gambar, sedangkan kuatisasi untuk menunjukkan banyaknya derajat nilai pada setiap piksel bit pada citra digital.
Sampling
Kuantisasi
2.2.2 Jenis Citra Digital
Nilai suatu piksel memiliki nilai dalam rentang tertentu yang berbeda-beda tergantung dari jenis warnanya. Secara umum jangkauannya adalah 0-255 dari nilai minimum dampai nilai maksimum. Berikut ini beberapa jenis citra berdasarkan nilai pikselnya.
Citra Biner merupakan citra digital yang hanya memiliki nilai piksel hitam dan putih dimana citra ini hanya membutuhkan satu bit saja untuk mewakili nilai piksel setiap citra. Citra biner merupakan tingkat abu-abu terendah yang dicapai dalam pembentukan sebuah citra. Karena proses lebih cepat maka citra biner menjadi alasan masih digunakannya dalam prose pengolahan citra digital. Berikut contoh citra biner pada gambar 2.5
Gambar 2.5 Citra Biner
Citra Grayscale merupakan citra digital yang hanya terdiri dari satu layer saja yang mempunyai kedalaman 8 bit dengan rentang nilai dari 0 sampai 255. Berikut contoh citra grayscale pada gambar 2.6
Gambar2.6 Citra grayscale (Putra, 2010)
Citra Truecolor (RGB) merupakan citra digital untuk mempresentasikan warna merah, hijau dan biru yang terdiridari 3 layer untuk setiap pikselnya. Ketiga layer digabungkan dan membentuk suatu kombinasi warna baru yang memiliki intensitas kecerahan warna tergantung besarnya tingkat kecerahan yang disumbangkan pada tiap layer. Tiap layer yang berukuran 8 bit, berarti memiliki tingkat kecerahan warna dari rentang 0 sampai 255 level dimana 0 untuk mempresentasikan warna hitam dan 255 untuk mempresentasikan warna putih (Santoso, 2013). Berikut contoh citra RGB pada gambar 2.7 di bawah ini
Gambar 2.7Citra RGB (Putra, 2010)
2.2.3 Format Citra Digital
Citra digital memiliki beberapa format yang memiliki karakteristik tersendiri berdasarkan tipe dan cara kompresi yang digunakan pada citra digital tersebut.
Menurut Awcock (2006 : 18) : “ Ada empat format citra digital yang sering dijumpai, antara lan :
1. Bitmap (BMP).
Merupaka format gambar yang paling umum dan merupakan format standard windows yang memiliki ukuran file sangat besar karena bisa mencapai ukuran megabytes. File ini merupakan campuran sistem warna RGB (Red, Green, Blue) yang terdiri dari 3 komponen masing-masing pikselnya dan belum ada proses kompresi dari file.
2. Joint Photographic Expert Group (JPEG/JPG).
Format JPEG merupakan format yang paling terkenal sampai saat sekarang ini karena sifatnya yang portable. Format file ini sering digunakan pada bidang fotografi untuk menyimpan file foto hasil perekaman analog to digital converter (ADC). Karena ukuran file nya yang termasuk kecil maka file ini banyak digunakan pada web (internet).
3. Graphic Interchange Format (GIF).
Format file GIF dapat digunakan untuk membuat animasi sederhana dengan memungkinkan penambahan warna transparan yang hanya maksimal 256 warna saja.
File ini menggunakan kompresi yang tidak menghiangkan data akan tetapi penurunan jumlah warna menjadi 256 sering membuat gambar menjadi pemandangan yang tidak realistis.
4. Portable Network Graphics (PNG).
Format file PNG merupakan format citra yang mendukung tranparansi di dalam sebuah browser sehingga sangat baik untuk grafis internet serta memiliki keindahan warna tersendiri yang tidak ada pada citra lainnya. Format PNG mendukung kedalaman warna 48 bit menggunakan teknik kompresi loseless dengan ketelitian sampling : 1, 2, 4, 8 dan 16 bit. Format ini memiliki alpha channel untuk mengkontrol transparency (Sutoyo, 2009).
2.3 Algoritma LSB (Least Significant Bit)
Teknik steganografi yang paling sederhana untuk menyisipkan informasi ke dalam suatu citra digital dapat menggunakan metode Least Significant Bit (LSB).Untuk menyisipkan atau menyembunyikan suatu gambar dalam LSB pada setiap byte dari gambar 24 bit, dapat dilakukan dengan menyimpan 3 byte dalam setiap piksel. Sekilas tidak terlihat dengan pandangan mata dalam arti lain hasil stego image akan terlihat sama persis dengan gambar cover asli citra.
Metode penyisipan dengan LSB adalah penyisipan bit-bit data pada setiap byte cover image pada bit yang letaknya paling akhir (Jajoo, 2011). Misalnya pada byte 00011001, maka bit LSB-nya adalah 1. Berikut sebagai contoh urutan bit yang menggambarkan 3 piksel pada cover image 24 bit.
Tabel 2.1 Matriks 3x3 piksel Cover Image 00100111 11101001 11001000
00100111 11001000 11101001 11001000 00100111 11101001
Pesan yang akan disisipkan kedalam matriks adalah karakter ‟I‟, yang memiliki nilai biner 01001001, maka akan dihasilkan citra stego image dengan urutan bit sebagai berikut :
Tabel 2.2 Penyisipan LSB Matriks 3x3 00100110 11101001 11001000 00100110 11001001 11101000 11001000 00100111 11101001
Metode ekstraksi LSB adalah dengan pengambilan nilai bit-bit data pada penyisip dari setiap byte stego image pada bit LSB (Jajoo, 2011). Misalkan pada byte 01001001, maka bit LSB-nya adalah 1.
Tabel 2.3 Ekstraksi LSB Matriks 3x3 piksel Stego Image 00100110 11101001 11001000
00100110 11001001 11101000 11001000 00100111 11101001
Hasil pengambilan bit LSB di atas adalah 01001001, dan selanjutnya setiap 8 bit (1byte) di konversikan kedalam ASCII menjadi karakter „I‟. Demikian selanjutnya hingga seluruh byte citra habis diproses.
2.4 Algoritma LSB +2 (Least Significant Bit +2)
Algoritma ini menukar bit pixel medium penampung yang dengan setiap bit pesan yang akan disembunyikan. Apabila pada LSB menukarkan bit akhir (bit ke-8) maka pada LSB+2 akan menukarkan bit ke-8 dikurangi dengan 2 (nilai LSB + 2) atau sama dengan bit ke-6 (Atee et al, 2015). Misalnya Pada byte 00011001, maka bit LSB+2-nya adalah 0. Sebagai contoh berikut ini menggambarkan 3 piksel pada cover image 24 bit.
Tabel 2.4 Matriks 3x3 piksel Cover Image 00100111 11101001 11001000
00100111 11001000 11101001 11001000 00100111 11101001
Pesan yang akan disisipkan kedalam matriks adalah karakter ‟I‟, yang memiliki nilai biner 01001001, maka akan dihasilkan citra stego image dengan urutan bit sebagai berikut :
Tabel 2.5 Penyisipan LSB+2 Matriks 3x3 00100011 11101101 11001000
00100011 11001100 11101001 11001000 00100111 11101001
Metode ekstraksi LSB+2 adalah dengan pengambilan data penyisip dari setiap byte stego image pada bit LSB+2. Misalkan pada byte 01001001, maka bit LSB+2-nya adalah 0.
Tabel 2.6 Ekstraksi LSB+2 Matriks 3x3 piksel Stego Image 00100001 11101101 11001000
00100011 11001100 11101001 11001000 00100111 11101001
Hasil pengambilan bit LSB+2 di atas adalah 01001001, dan selanjutnya setiap 8 bit (1byte) dikonversikan ke dalam ASCII menjadi karakter „I‟. Demikian selanjutnya sampai seluruh byte citra habis diproses.
2.5 Algoritma MLSB (Modified Least Significant Bit)
Algoritma Modified Least Significant Bit (MLSB) digunakan untuk meng- encodesebuah pesan kedalam citra asli. Algoritma ini digunakan dengan memanipulasi beberapa bit-bit data penyisip sebelum dilakukan encode pada pesan.
Modifikasi pada bit-bit data penyisip yang seharusnya 1 karakter memiliki nilai 8 bit, tetapi akan dimodifikasi menjadi 5 bit dan kemudian akan dilakukan proses penyisipan bit-bit data tersebut menggunakan teknik LSB (Zaher, 2011). Adapun penyisipan dilakukan dengan proses-proses :
1. Proses mengubah data penyisip dengan konversi bilangan dengan kode ASCII.
Misalnya pesan “ STEGO with 05 bits”, yang jika diubah ke dalam bilangan biner membutuhkan memori sebesar 18 x 8 bit = 144 bit. Pada algoritma MLSB pesan diatas akan di ubah ke dalam ASCII (hex) menjadi : 53h, 54h, 45h, 47h, 4fh, 20h, 77h, 69h, 74h, 68h, 20h, 30h, 35h, 20h, 62h, 69h, 74h, 73h.
Kemudian dilakukan normalisasi dengan menggunakan tabel control symbols seperti tabel 2.7
Tabel 2.7Control symbols Hex Representation Operation
1 Bh Define Small Letter
1 Ch Define Capital Letter
1 Dh Define Space
1 Eh Define Number
1 Fh Define End of Text
2. Proses baca data penyisip karakter “STEGO” dan konversi kedalam bilangan ASCII (hex) sampai tanda spasi (20h) yaitu 53h, 54h, 45h, 47h, 4fh. Karena merupakan barisan karakter huruf kapital, maka semua nilai di-xor-kan dengan nilai puluhan ASCII dari nilai hex pada karakter terkecil dalam huruf kapital.
Nilai karakter „A‟ dengan nilai 41 (hex). Jadi semua nilai dikurangi dengan nilai terendah yaitu 40 menjadi 53⨁40=13, 54⨁40=14, 45⨁40=05, 47⨁40=07, 4f⨁40=0f.
3. Data penyisip kelmpok pertama adalah 1ch, 13h, 14h, 05h, 07h, 0fh, 1dh, dimana 1ch merupakan control symbols untuk huruf kapital dan 1dh untuk spasi.
4. Data penyisip ke dua adalah karakter “with”dalam ASCII (hex) adalah 77h, 69h, 74h, 68h dikurangi dengan nilai puluhan terendah karakter terkecil “a”
adalah 61 menjadi menjadi 77⨁60=17, 69⨁60=09, 74⨁60=14, 68⨁60=08.
5. Data penyisip kelompok kedua adalah 1bh, 17h, 09h, 14h, 08h dimana 1bh adalah Control Symbol untuk huruf kecil (small).
6. Data kelompok kedua di atas digabung dengan data kelompok kedua menjadi 1ch, 13h, 14h, 05h, 07h, 0fh, 1dh, 1bh, 17h, 09h, 14h, 08h.
7. Data penyisip ketiga adalah karakter “05” dalam ASCII (hex) adalah 30h, 35h dikurangi dengan nilai puluhan kelompok angka terkecil yaitu „0‟ dengan nilai 30 menjadi dikurangi dengan nilai puluhan kelompok angka terkecil “0”
adalah 30 menjadi 30⨁30=0, 35⨁30=05.
8. Data kelompok ketiga digabung dengan data kelompok sebelumnya ditambah dengan control symbols 1dh menunjukkan spasi dan 1eh menunjukkan angka menjadi 1ch, 13h, 14h, 05h, 07h, 0fh, 1dh, 1bh, 17h, 09h, 14h, 08h, 1dh, 1eh, 00h, 05h.
9. Data kelompok keempat dengan karakter “bits” adalah 62h, 69h, 74h, 73h dikurangi dengan nilai puluhan karakter terendah „a‟ =61, menjadi : 62⨁60=02, 69⨁60=09, 74⨁60=14, 73⨁60=13.
10. Data keempat digabung dengan kelompok sebelumnya ditambah dengan control symbols 1bh (huruf kecil) dan 1fh (akhir teks) menjadi 1ch, 13h, 14h, 05h, 07h, 0fh, 1dh, 1bh, 17h, 09h, 14h, 08h, 1dh, 1eh, 00h, 05h, 1dh, 1bh, 02h, 09h, 14h, 13h, dan 1fh.
Karakter “STEGO with 05 bits” dimodifikasi ke dalam ASCII (hex) menjadi:
1ch, 13h, 14h, 05h, 07h, 0fh, 1dh, 1bh, 17h, 09h, 14h, 08h, 1dh, 1eh, 00h, 05h, 1dh, 1bh, 02h, 09h, 14h, 13h, dan 1fh.
Pesan diatas diubah ke dalam bilangan biner 5 bit menjadi:
11100, 10011, 10100, 00101, 00111, 01111, 11101, 11011, 10111, 01001, 10100, 01000, 11101, 11110, 00000, 00101, 11011, 00010, 01001, 10100, 10011, 11111.
Setelah bit-bit data penyisip dimodifikasi menjadi nilai maksimal 5 bit, bit-bit pesan tersebut akan disisipkan ke dalam media penampung menggunakan teknik Least Significant Bit (LSB) seperti Tabel 2.8
Tabel 2.8 Nilai Piksel Citra
08 00 00 57 41
56 45 44 15 2F
01 7C 01 12 45
68 00 01 11 05
52 49 46 46 28
3D 1D 2A 00 4D
Kemudian nilai piksel citra di atas dikonversikan ke dalam biner sehingga menjadi : Tabel 2.9 Nilai Biner Piksel Citra
00001000 00000000 00000000 01010111 01000001 01010110 01000101 01000100 00010101 00101111 00000001 01111100 00000001 00010010 01000101 01101000 00000000 00000001 00010001 00000101 01010010 01001001 01000110 01000110 00101000 00111101 00011101 00101010 00000000 01001101
Penyisipan dilakukan dengan metode LSB pada setiap byteseperti pada Tabel 2.10 Tabel 2.10 Nilai Biner Citra Hasil Penyisipan
00001001 00000001 00000001 01010110 01000000 01010111 01000100 01000100 00010101 00101111 00000001 01111100 00000001 00010010 01000100 01101000 00000000 00000001 00010000 00000101 01010010 01001000 01000111 01000111 00101001 00111100 00011100 00101011 00000001 01001101
Setelah penyisipan bit-bit data, representasi nilai piksel citra hasil penyisipan menjadi:
Tabel 2.11 Nilai Piksel Citra Tersisip
09 01 01 56 40
57 44 44 15 2f
01 7C 01 12 44
68 00 01 10 05
52 48 47 47 29
3C 1C 2B 01 4D
Pada proses ekstraksi dengan algoritma MLSB dapat dilakukan dengan cara : 1. Input citra hasil ekstraksi.
Berikut contoh dari proses extraction pada citra tersisip pada Tabel 2.12 Tabel 2.12 Nilai Piksel Citra Stego Image
09 01 01 56 40
57 44 44 15 2f
01 7C 01 12 44
68 00 01 10 05
52 48 47 47 29
3C 1C 2B 01 4D
2. Setiap byte piksel pada citra diubah ke dalam bentuk bilangan biner seperti pada Tabel 2.13
Tabel 2.13 Piksel Stego Image
00001001 00000001 00000001 01010110 01000000 01010111 01000100 01000100 00010101 00101111 00000001 01111100 00000001 00010010 01000100 01101000 00000000 00000001 00010000 00000101 01010010 01001000 01000111 01000111 00101001 00111100 00011100 00101011 00000001 01001101
3. Pisahkan 1 bit terakhir dari setiap byte piksel pada citra kemudian dikelompokkan menjadi 5 bit per blok.
Tabel 2.14 Blok Pesan 5 bit
11100 10011 10100 00101 00111 00111
4. Konversikan setiap blok ke dalam ASCII (hex).
5. Blok pertama dibandingkan dengan Control Symbols untuk mendefenisikan jenis karakter berikutnya dengan cara :
- Jika Control Symbols 1Bh maka setiap blok berikutnya yang bukan Control Symbols ditambah nilai +60.
- Jika Control Symbols1Ch maka setiap blok berikutnya yang bukan Control Symbols ditambah nilai +40.
- Jika Control Symbols 1Eh maka setiap blok berikutnya yang bukan Control Symbolsditambah nilai +30.
- Jika Control Symbols 1Dh maka menyatakan spasi.
6. Langkah ke-3 sampai langkah ke-5 diulangi sampai ditemukannya Control Symbols 1Fh untuk menyatakan akhir dari teks.
7. Rekonstruksikan setiap blok data dengan pesan rahasia.
2.6 Pseudo Random Number Generator( PRNG )
Bilangan acak (random) merupakan bilangan yang tidak dapat diprediksi karena proses pembangkitan bilangan tersebut dapat diulangi kembali. Bilangan acak yang dihasilkan dengan menggunakan rumus matematika disebut bilangan acak semu (pseudo). Proses pembangkitan bilangan acak ini disebut dengan Pseudo Random Number Generator yang dapat menghasilkan suatu urutan nilai dimana seiap hasil nilainya bergantung pada nilai-nilai yang dihasilkan sebelumnya. Namun untuk output dari pembangkitan bilangan ini tidak betul-betul acak secara sempurna karena ada perulangan tertentu dapat ditemukan nilai yang sama.
2.7 Mean Squared Error (MSE)Mean Squared Error (MSE)
Mean Squared Error (MSE) digunakan sebagai parameter untuk mengukur kinerja dari sebuah algoritma steganografi pada citra digital dimana citra asli dibandingkan dengan citra hasil penyisipan (stego image) dengan memeriksa selisih nilai keduanya. Perhitungan nilai MSE pada citra digital dapat dilakukan dengan rumus persamaan (1).
MSE = ∑ ∑ ( ) ( ) ………..…….…….. (2.1) I(x,y) : menyatakan nilai piksel citra asli.
I‟(x,y) : merupakan nilai piksel hasil penyisipan.
N.M : dimensi citra dalam piksel.
Apabila nilai MSE yang besar dalam arti lain nilai error semakin tinggi, menyatakan bahwa penyimpanganatau selisih antara citra hasil penyisipan dengan citra aslinya cukup besar. Sebaliknya apabila nilai MSE semakin kecil maka kualitas citra aslinya hampir sama dengan citra hasil penyisipan (Sutoyo, 2009).
2.8 Peak Signal to Noise Ratio(PSNR)
Peak Signal to Noise Ratio (PSNR) merupakan tingkat toleransi suatu noisetertentuterhadap banyaknya noise pada suatu sinyal citra digital. Noise merupakan kerusakan pada sinyal bagian tertentu dalam sebuah citra digital sehingga akan mengurangi kualitas dari citra tersebut (Putra, 2010). Untuk menentukan nilai PSNR dapat dihitung dengan persamaan (2) :
PSNR = 10 log ……….……… (2.2)
Dimana:
M = nilai piksel maksimum MSE = Mean Square Error
Semakin besar ukuran berkas citra yang digunakan maka akan semakin baik nilai PSNR dalam decibel (dB) dimana nilai tersebut diperoleh dengan membandingkan citra berukuran lebih kecil dengan jumlah sisipan karakter yang sama. Hal ini menunjukkan bahwa untuk memperoleh nilai dari suatu citra yang bagus setelah dilakukan proses penyisipan bit-bit data, citra tidak mengalami perubahan yang cukup berarti. (Alatas, 2009).
2.9 Penelitian Yang Relevan
Berikut ini beberapa contoh penelitian-penelitian sebelumnya yang berhubungan dengan peneletian Implementasi Teknik Steganografi Pada Citra Digital Menggunakan Algoritma Least Significant Bit (LSB), Least Significant Bit+2 (LSB+2) dan Modified Least Significant Bit (MLSB).
Tabel 2.15 Penelitian Yang Relevan
TAHUN JUDUL PENELITI HASIL PENELITIAN
2009 Implementasi Teknik Steganografi Pada
File Audio Tidak Terkompresi
Alatas, P 1. Ukuran file audio yang sudah disisipkan informasi tidak mengalami perubahan dengan kemungkinan besar orang lain tidak akan mengetahui bahwa ada pesan rahasia pada informasi tersebut.
2. File stego image tidak dapat dideteksi secara kasat telinga karena penurunan kualitas suara yang terjadi sangat kecil.
3. Output dari program tidak dapat tereteksi oleh software yang dapat mendeteksi file stego.
2011 A Challenge In Hiding Encrypted Message in LSB and LSB+1 Bit Positions in Various cover Files
Nath, J., Das, S., Agarwal, S.
& Nath, A
Penelitian ini mengusulkan metode- metode untuk menyembunyikan data rahasia ke dalam file gambar, audio dan video. Penelitian ini mengenkripsi pesan rahasia menggunakan MSA yang terenkripsi di dalam file cover dengan mengubah bit (LSB) dan LSB + 1. Mereka memodifikasi bit LSB dan LSB+1 untuk memastikan penyembunyian lebih banyak pesan rahasia ke dalam file cover.
2011 Modified Least Significant Bit MLSB).
Zaher, M.A.
Penelitian ini memperkenalkan modifikasi algoritma steganografi yang ada yang dikenal sebagai LSB
"Least Significant Bit". Gagasan utama dari penelitian ini adalah untuk meningkatkan jumlah data yang dapat disembunyikan menggunakan LSB. Selain itu, algoritma tersebut mengenkripsi
data sebelum
menyembunyikannyadan dapat memberikan tingkat perlindungan lain terhadap teknik LSB.
2012 Aplikasi
Steganografi Untuk Menyembunyikan Teks Dalam Media Image Dengan Menggunakan Metode LSB
Asep Saefullah, Himawan, Nazori Agani Y
Aplikasi steganografi ini sangat bermanfaat terutama dalam perlindungan hak cipta. Kualitas citra asli dengan format *JPEG akan mengalami kenaikan nilai setalah dilakukan penyembunyian data dengan format *PNG. Hasil esktraksi stegoimagebaik berupa teks, gambar, audio maupun audio akan terbuka begitu saja.
2013 Image
Steganography using Secret Key & Gray Codes
Dagar, S., Kumar, V.
&
Bagoriya
Dalam tulisan ini, sebuah algoritma steganografi diusulkan menggunakan kunci rahasia dan
kode abu-abu untuk
menyembunyikan file rahasia di dalam gambar cover. Algoritma ini mengambil gambar dari format apa pun seperti .jpeg, .gif, .bmp, dll.
Sebagai pembawa dan
mengonversinya menjadi format .bmp. Karena menggunakan teknik kompresi lossless sehingga kompresi tidak kehilangan informasi apa pun. Meskipun tulisan ini tidak akan menekankan pada kompresi gambar. Kemudian bit data rahasia dienkripsi menggunakan kode abu-abu dan kemudian file yang dienkripsi ini disembunyikan dalam LSB dari citra operator.
2015 Crypthography and Image
Steganography Using Dynamic Encryption on LSB and Color Image Based Data Hiding.
Atee, H. A.
& Ahmad, R., & Noor, N. M.
Tulisan ini bertujuan untuk meningkatkan skema baru menyembunyikan pesan rahasia dalam gambar, dengan memanfaatkan kombinasi antara kriptografi dan steganografi.
Metode enkripsi baru yang diusulkan digabung dan diuji dengan dua metode steganografi secara terpisah untuk menunjukkan dan membuktikan kinerja dan keefektifannya. Dua metode steganografi adalah LSB dan penyembunyian data berbasis warna gambar (CIBDH). Hasil eksperimen kemudian dievaluasi dalam hal imperceptibility, kapasitas dan kekokohan. Hasil yang dicapai menunjukkan bahwa dua metode DELSB dan DECIBDH yang diusulkan mendorong dalam hal keamanan dan kapasitas.
ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis
Sebelum memasuki tahap perancangan sistem, tahap yang harus dilakukan adalah sebuah analisis sistem.Analisis sistem merupakan tahapan yang harus dilakukan untuk menghasilkan pemahaman yang menyeluruh terhadap kebutuhan sistem untuk memperoleh hal-hal yang dapat dilakukan oleh sistem yang bertujuan untuk menyelesaikan masalah yang dipelajari dan dipahami dengan menggunakan sistem ini.Kemudian dilanjutkan dengan fase berikutnya yaitu fase analisis kebutuhan untuk memenuhi kebutuhan dan permintaan pengguna (user). Setelah analisis kebutuhan, dilanjutkan dengan analisis yang terakhir yaiutu analisis proses yang akan dikerjakan oleh sistem.
3.1.1 Analisis Masalah
Masalah utama dalam penelitian ini adalah untuk mengetahuiperbandingan algoritma Least Significant Bit (LSB), Least Significant Bit+2 (LSB+2) dan Modified Least Significant Bit (MLSB) pada sebuah citra digital dengan membandingkan nilai MSE, waktu proses serta besar file stego imageagar ditemukan sebuah algoritma terbaik diantara ketiga algoritma yang digunakan pada penelitian ini.
Salah satu cara untuk mengidentifikasi permasalahan adalah dengan penggunaan diagram Ishikawa (fishbone diagram). Diagram Ishikawa merupakan sebuah alat grafis yang digunakan untuk mengidentifikasi, mengeksplorasi dan menggambarkan suatu masalah serta sebab akibat masalah tersebut. Diagram ini juga sering disebut sebagai diagram sebab akibat atau diagram tulang ikan untuk mengidentifikasi permasalahan yang akan membantu analisis sistem yang nantinya akan dikembangkan.
Diagram Ishikawayang digunakan untuk mengidentifikasi masalah dapat dilihat pada gambar 3.1
Gambar 3.1 Identifikasi Masalah menggunakan Diagram Ishikawa
Pada gambar 3.1 diatas masalah utama dalam penelitian ditunjukkan oleh segi empat yang terletak pada paling kanan (kepala ikan), sedangkan kategori yang dihubungkan oleh sebuah garis ke tulang utama (garis horizontal) dan garis panah yang mengarah ke tulang-tulang kategori merupakan kategori sebagai sebab akibat dari permasalahan.
3.1.2 Analisis Kebutuhan Sistem
Dalam pembangunan sebuah sistem, tahap analisis kebutuhan sistem perlu dilakukan dengan tujuan untuk mempermudah analisis sistem dalam menentukan kebutuhan keseluruhan secara lengkap.Analisis kebutuhan sistem dapat dikelompokkan menjadi 2 bagian yaitu kebutuhan fungsional dan kebutuhan non- fungsional.
Mesin Manusia
Belum ada aplikasi yang membandingkan beberapa teknik steganografi Banyak pihak yang
ingin mencuri file
Implementasi Teknik Steganografi
Pada Citra Digital Menggunakan Algoritma LSB,
LSB+2 dan MLSB Banyak pihak yang
ingin mengubah isi file
Kerawanan data rahasia pada metode LSB yang
mudah ditebak Sulitnya
menyembunyikan dokumen rahasia Jaringan yang tidak memungkinkan pembobol dokumen
Metode
Material
3.1.2.1 Analisis Kebutuhan Fungsional
Dalam perancangan sebuah sistem diperlukan rekayasa kebutuhan yang merupakan sebuah proses untuk menemukan, menganalisis, mengdokumentasikan, dan memeriksa layanan serta batasan sistem. Berikut ini adalah kebutuhan-kebutuhan yang harus dapat dikerjakan oleh sistem.
1. Sistem dapat menerima input file citra berekstensi .jpeg.
2. Sistem menyediakan kebutuhan untuk melakukan penyisipan dan ekstraksi dengan menerapkan algoritma LSB, LSB+2 dan MLSB, dimana untuk keamanannya ekstraksi digunakan kunci (stego-key).
3. Sistem dapat menyimpan file hasil (stego image).
3.1.2.2 Analisis Kebutuhan Non-Fungsional Sistem
Kebutuhan non-fungsional yang harus dapat dipenuhi oleh sistem yaitu:
1. Perfoma
Sistem yang akan dibangun dapat menunjukkan citra asli dan citra hasil (stego image).
2. Mudah digunakan dan dipelajari
Sistem yang dibangun harus sederhana agar pengguna dapat menggunakannya dengan mudah dan mudah dipelajari (user friendly).
3. Dokumentasi
Sistem yang akan dibangun terdapat fitur help untuk membantu pengguna dalam menggunakan sistem.
4. Hemat biaya.
Sistem yang dibangun akan mempermudah penbggguna untuk efisiensi waktu sehingga hemat biaya.
3.2 Pemodelan
Gambaran yang lebih jelas tentang objek apa saja yang akan berinteraksi dengan sistem serta hal-hal apa saja yang harus dilakukan oleh sistem dapat diperoleh dengan pemodelan dari sistem sehingga sistem dapat berfungsi dengan baik sesuai dengan fungsionalitasnya.
Pada penelitian ini digunakan diagram UML sebagai bahasa pemodelan untuk mendesain dan merancang sistem Implementasi Teknik Steganografi Pada CitraDigitalMenggunakan Algoritma LSB, LSB+2 dan MLSB.Model UML yang digunakan adalah use case diagram, activity diagram dan sequence diagram.
3.2.1 Pemodelan dengan Menggunakan Use Case diagram
Sebuah use case diagram merupakan sebuah diagram yang menunjukkan hubungan antara aktor dan kasus penggunaan dalam sistem. Perancangan fungsionalitas perangkat lunak stego image yang nantinya akan dikembangkan dimodelkan dengan use case diagram. Aktor yang nantinya akan berinteraksi dengan sistem adalah pengguna. Pengguna dikategori sebagai dua entitas yang saling bertukar informasi yaitu, pengirim dan penerima.
Berdasarkan hasil analisis kebutuhan sistem, secara garis besar sistem melakukan Implementasi Teknik Steganografi Pada Citra Digital Menggunakan Algoritma LSB, LSB+2 dan MLSB.Use case diagram dapat dilihat pada gambar 3.2.
Gambar 3.2 Use Case Diagram Sistem yang Akan dikembangkan
Pada diagram tersebut tampak bahwa seorang user (pengguna) hanya bekerja dengan mengakses use case Sistem Steganografi. Pengguna tidak perlu mengetahui secara persis proses apa saja yang terjadi pada setiap tahap. Dengan demikian untuk memutuskan proses apa yang nantinya dilakukan pada setiap tahap menjadi tanggung jawab sistem. Berikut ini merupakan dokumentasi naratif untuk use case Proses Penyisipan.
3.2.1.1 Use Case Penyisipan Citra
Use case penyisipan citra ini akan menjelaskan secara sederhana fungsi sistem pada saat melakukan proses penyisipan kedalam sebuah citra. Dapat dilihat pada Tabel 3.1 yang merupakan dokumentasi naratif dari use case penyisipan citra.
Tabel 3.1 Dokumentasi Naratif Use Case Penyisipan Nama use case Sistem Penyisipan Citra
Aktor User
Deskripsi Use case yang mendeskripsikan fungsi pesan dokumen dengan menyisipkan ke dalam file citra.
Pre-condition Citra yang disisipi pesan ber format JPEG.
Typical course of event
Aksi actor Respon system
Langkah 1: User memilih menuSteganografi dari menu utama.
Langkah 3 User input filecitra dengan memilih tombol Load.
Langkah 5: User memasukkan file penyisip.
Langkah 2: Sistem merespon dengan menampilkan program.
Langkah 4:Sistem menampilkan nama-nama file citra
Langkah 6: Sistem melakukan penyisipan file citra dan menghitung nilai MSE.
Alternate course Aksi aktor Respon system
- -
Post condition Pesan teks telah disisipkan ke file citra menghasilkan stego image berformat BMP
3.2.1.2 Use Case Ekstraksi Citra
Use Case ekstraksicitra ini akan menjelaskan secara sederhana fungsi sistem pada saat ekstraksi citra. Pada dokumentasi naratif use case dan activity diagram terlihat bahwa kontrol proses dilakukan dengan menjaga tahapan penyisipan berlangsung sesuai dengan mekanisme yang seharusnya dan kemudian sistem memutuskan apa saja yang harus dilakukan oleh sistem pada setiap tahapan dengan memanggil modul program yang sesuai untuk memproses pesan. Dokumentasi naratif untuk use case Proses Ekstraksi dapat dilihat pada Tabel 3.2
Tabel 3.2Dokumentasi Naratif Use Case Ekstraksi Nama Use Case Sistem Ekstraksi Citra
Aktor Use
Deskripsi Use Case yang mendeskripsikan fungsi ekstraksi pesan dari file stego image.
Pre-condition Citrayang diproses ber format BMP.
Typical course of event
Aksi actor Respon system
Langkah 1: User memilih tombol ekstraksi dari menu utama.
Langkah 3 User memasukkan file citra stego image dengan memilih tombol Load
Langkah 5: User memilih tombol ekstraksi
Langkah 2 :Sistem merespon dengan memanggil program ekstraksi.
Langkah 4: Sistem menampilkan nama-nama file citra
Langkah 6: Sistem melakukan proses ekstraksi dari file stego image dan menghitung perolehan karakter dari penyisip.
Alternate course Aksi actor Respon system
- -
Post condition Pesan teks serta jumlah perolehan karakter dari pesan
3.2.2 Pemodelan dengan Menggunakan Activity Diagram
Diagram aktifitas atau activity diagram menggambarkan alur kerja (workflow) aktifitas dari sebuah sistem.
3.2.2.1 Activity Diagram Penyisipan Citra
Activity diagram penyisipan citra akan menggambarkan bagaimana hubungan aliran kerja yang telah dijelaskan pada use case penyisipan citra. Activity diagram penyisipan citra dapat dilihat pada Gambar 3.3.
User Sistem
Memilih tombol Penyisipan
Memilih tombol Load
Memasukkan file citra dan pesan
Tidak Lengkap?
Ya
Memilih tombol Proses
Mengkonfirmasi keberhasilan proses Menghitung nilai MSE dan PSNR
Penyisipan Pesan Tampilkan kesalahan
3.2.2.2 Activity Diagram Ekstraksi Citra
Activity diagram ekstraksi citra akan mengambarkan hubungan aliran kerja yang telah dijelaskan pada use case ekstraksi citra sebelumnya. Activity diagram ekstraksi citra dapat dilihat pada Gambar 3.4.
User Sistem
Gambar 3.4 Activity Diagram Proses Ekstraksi Citra
Memilih tombol Load
Memasukkan file stego image
Tidak Lengkap?
Ya
Memilih tombol Proses
Mengkonfirmasi keberhasilan proses Menghitung Jumlah karakter
EkstraksiPesan Tampilkan kesalahan Memilih tombol Ekstraksi
3.2.3 Pemodelan dengan Menggunakan Sequence Diagram 3.2.3.1 Sequence Diagram Penyisipan Citra
Pada Gambar 3.5 Pada dapat dilihat sequence diagram untuk proses penyisipan citra.
Gambar 3.5 Sequence Diagram Proses Penyispan Citra
Sistem penyisipan memerlukan file citra dan penyisip berupa file docx yang akan dimasukkan sebagai embedded. Tahap awal dilakukan proses binerisasi citra dan pesan penyisip lalu dilakukan penyisipan biner pesan ke dalam bit LSB dari citra.
:Penyisipan
Load File Citra
:Load citra & Pesan
Citra dan File Pesan
:LSB,LSB+2,MLSB
Stego Image
Stego Image MSE dan PSNR
:Hitung MSE dan PSNR
3.2.3.2 Sequence Diagram Ekstraksi Citra
Pada Gambar 3.6 dapat dilihat sequence diagram untuk proses ekstraksi citra.
Gambar 3.6 Sequence Diagram Proses Ekstraksi Citra
Sistem ekstraksi memerlukan file stego image dan kunci sebagai kode ekstraksi yang akandigunakan untuk mendapatkan teks penyisip pada citra stego. Tahap awal dilakukan pembacaan bit LSB stego image untuk mendapatkan bit 0 dan 1. Lalu dilakukan pembentukan biner dikonversikan ke ASCII.
:Ekstraksi
Load File stego image File stego image
Bit 0 dan 1 :Ekstraksi bit LSB
Pesan dan jumlah karakter
:HitungJumlah Karakter :PembentukanTeks
ASCII
3.3 Perancangan Sistem
3.3.1 Flowchart Penyisipan Algoritma LSB
Gambar 3.7FlowchartPenyisipanAlgoritmaLSB Keterangan gambar 3.7:
Pada cover image dilakukan perhitungan jumlah piksel dan nilai biner cover image.
Selanjutnya dilakukan pembangkitan bilangan acak sebanyak jumlah piksel cover image. Lakukan pergantian bit LSB cover image dengan bit embed pada posisi piksel sesuai dengan bilangan acak.Simpan bilangan acak dalam format teks. Tampilkan stego image.
Ya
Hitung Nilai Biner Piksel Cover Image
Sisip bit-bit pesan pada bit LSB ke 8 cover pada
piksel sesuai bilangan acak Start
Input Cover Image, Docx
Masih Ada Bit Pesan ?
Stop Tidak
Tampilkan Stego Image Hitung Nilai Biner Pesan
Bangkitkan Bilangan Acak
Simpan Bilangan Acak
3.3.2 Flowchart Ekstraksi Algoritma LSB
Gambar 3.8.Flowchart Ekstraksi Algoritma LSB .Keterangan gambar:
Pada proses ekstraksi dilakukan penghitungan nilai piksel dalam nilai warna grayscale dan dikonversikan ke nilai biner. Selanjutnya dilakukan pembangkitan bilangan acak sesuai dengan jumlah byte stego image yang dimasukkan. Untuk mengetahui posisi piksel letak bit penyisip, baca bit LSB piksel pada posisi bilangan acak
Start
Input Stego Image
Baca piksel pada posisi bilangan acak Baca bilangan acak
Y
Masih Ada Piksel Acak?
Stop N
Hitung Nilai Biner Piksel
Tampilkan Pesan
Konversi 8 bit  ASCII  Embed Hitung Jumlah Piksel Stego image
Ambil bit LSB bit embed
3.3.3 Flowchart Penyisipan Algoritma LSB+2
Gambar 3.9 Flowchart Penyisipan Algoritma LSB +2 Keterangan Gambar 3.9:
Pada cover image dilakukan perhitungan jumlah piksel dan nilai biner cover image.
Pada embed dilakukan perhitungan nilai biner. Selanjutnya dilakukan pembangkitan bilangan acak sebanyak jumlah piksel cover image. Lakukan pergantian bit LSB cover image dengan bit embed pada posisi piksel sesuai dengan bilangan acak. Simpan bilangan acak dalam format teks.
Ya
Hitung Nilai Biner Piksel Cover Image
Sisip bit-bit pesan pada bit LSB ke 3 cover pada
piksel sesuai bilangan acak Start
Input Cover Image, Docx
Masih Ada Bit Pesan ?
Stop
Tidak
Tampilkan Stego Image Hitung Nilai Biner Pesan
Bangkitkan Bilangan Acak
Simpan Bilangan Acak