Perbandingan Teknik Steganografi Dengan Metode First-Of-File, End-Of-File Dan Kombinasi First-Of-File Dan End-Of-File Pada File Bitmap
PERBANDINGAN TEKNIK STEGANOGRAFI DENGAN METODE
FIRST-OF-FILE, END-OF-FILE
DAN KOMBINASI
FIRST-OF-FILE
DAN
END-OF-FILE
PADA
FILE
BITMAP
SKRIPSI
ARFIYAH
091401003
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2013
(2)
PERBANDINGAN TEKNIK STEGANOGRAFI DENGAN METODE FIRST-OF-FILE, END-OF-FILE DAN KOMBINASI FIRST-OF-FILE DAN END-OF-FILE
PADA FILE BITMAP SKRIPSI
Diajukanuntukmelengkapitugasakhirdanmemenuhisyarat memperoleh ijazah Sarjana Ilmu Komputer
ARFIYAH 091401003
PROGRAM STUDI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2013
(3)
PERSETUJUAN
Judul : PERBANDINGAN TEKNIK STEGANOGRAFI
DENGAN METODE FIRST-OF-FILE, END-OF-FILE DAN KOMBINASI FIRST-OF-FILE DAN END-OF-FILE PADA END-OF-FILE BITMAP
Kategori : SKRIPSI
Nama : ARFIYAH
Nomor Induk Mahasiswa : 091401003
Program Studi : SARJANA (S1) ILMU KOMPUTER
Departemen : ILMU KOMPUTER
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA Diluluskan di
Medan, 24 Juli 2013 Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
Dian Wirdasari, S.Si, M.Kom Prof. Dr. Muhammad Zarlis NIP.198209232010122002 NIP.195707011986031001
Diketahui/Disetujui oleh
Program Studi S1 Ilmu Komputer Ketua,
Dr. Poltak Sihombing, M.Kom NIP.196203171991031001
(4)
PERNYATAAN
PERBANDINGAN TEKNIK STEGANOGRAFI DENGAN METODE FIRST-OF-FILE, END-OF-FILE DAN KOMBINASI FIRST-OF-FILE DAN END-OF-FILE
PADA FILE BITMAP
SKRIPSI
Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, 2 Juli2013
Arfiyah 091401003
(5)
PENGHARGAAN
Puji dan syukur kehadirat Allah SWT, yang hanya dengan rahmat dan izin-Nya penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer, pada Program Studi S1 Ilmu Komputer Departemen Ilmu Komputer Universitas Sumatera Utara.
Ucapan terima kasih penulis sampaikan kepada:
1. Bapak Prof. Dr. dr. Syahril Pasaribu, DTM&H, M.Sc(CTM), Sp.A(K) selaku Rektor Universitas Sumatera Utara.
2. Bapak Prof. Dr. Muhammad Zarlis selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara dan Dosen Pembimbing I yang telah memberikan bimbingan, saran dan masukan kepada penulis dalam pengerjaan skripsi ini.
3. Ibu Dian Wirdasari, S.Si, M.Kom selaku Dosen Pembimbing II yang telah memberikan bimbingan, saran dan masukan kepada penulis dalam pengerjaan skripsi ini.
4. Bapak Prof. Dr. Iryanto, M.Si selaku Dosen Pembanding I yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.
5. Ibu Dian Rachmawati, S.Si, M.Kom selaku Dosen Pembanding II yang telah memberikan kritik dan saran dalam penyempurnaan skripsi ini.
6. Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.
7. Ibu Maya Silvi Lydia, B.Sc, M.Sc selaku Sekretaris Program Studi S1 Ilmu Komputer Universitas Sumatera Utara.
8. Pembantu Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, seluruh tenaga pengajar dan pegawai di Program Studi S1 Ilmu Komputer Fasilkom-TIUSU.
9. Ayahanda Muhammad Nasir dan ibunda Yunita, serta adik tersayang Sheren Natasya yang selalu memberikan doa, kasih sayang dan dukungannya kepada penulis.
10. Muhammad Reza Pahlevy, S.H yang telah memberikan doa, semangat, saran dan perhatiannya kepada penulis.
(6)
11. Kakak-kakak tersayang Farah diba, S.Pd, Henny Wandani, S.Kom dan Wiliyana, S.Kom yang telah memberikan saran dan perhatiannya kepada penulis.
12. Teman-teman seperjuanganS1-Ilmu Komputer stambuk 2009, khususnya Widya Karolina Sembiring, Ales sanro Sotardodo, Samuel Tarigan, Muhammad Alfian, Fauzana, Martinelly Meliala, Berry Safaat Harahap, Isman Santoso, Juni Santo Sihotang yang selalu memberikan semangat dan menjadi teman diskusi penulis selama menyelesaikan skripsi ini.
Semoga Allah SWT melimpahkan berkahkepada semua pihak yang telah memberikan bantuan, perhatian, serta dukungan kepada penulis dalam menyelesaikan skripsi ini.
Medan, 2 Juli 2013 Penulis
(7)
ABSTRAK
Dalam komunikasi data aspek keamanan dan kerahasiaan data sangat diperlukan. Untuk menjaga keamanan dan kerahasiaan data tersebut adalah menggunakan steganografi. Steganografi merupakan ilmu dan seni menyembunyikan pesan rahasia dalam suatu media sehingga keberadaan pesan rahasia tersebut tidak dapat diketahui oleh orang lain. Metode steganografi yang digunakan pada penelitian ini adalah First-of-File, End-of-File dan kombinasi First-of-File dan End-of-File.First-of-File merupakan metode steganografi yang menyisipkan atau menyembunyikan pesan rahasia di awal file citra secara vertikal. End-of-File merupakan metode steganografi yang menyisipkan atau menyembunyikan pesan rahasia di akhir file citra secara vertikal. Kombinasi First-of-File dan End-of-File merupakan metode steganografi yang menyisipkan atau menyembunyikan pesan rahasia di awal dan di akhir file citra secara vertikal. Implementasi sistem menggunakan bahasa pemrograman Matlab 7.8.0 (R2009a). Sistem diuji dengan pesan rahasia berupa data teks (*.txt) yang memiliki ukuran (kb) maksimal ((3 x tinggi gambar) – 4) yang akan disembunyikan ke dalam suatu file citra berformat bitmap berukuran maksimal 300 x 300 pixel. Hasil penelitian menunjukkan bahwa metode End-of-File memiliki waktu yang paling lama saat proses embedding dan memiliki waktu yang paling cepat saat proses extraction. Katakunci : Steganografi, End-of-File, First-of-File, Kombinasi First-of-File dan End-of-File.
(8)
ABSTRACT
In the aspect of data communications security and confidentiality of data is needed. For maintaining the security and confidentiality of the data is using steganography. Steganography is the science and art of hiding a secret message in the media so that the existence of the secret message cannot be known by others. Steganography method used in this study is a of-File, End-of-File and the combination of First-of-File and End-First-of-File. First-First-of-File is a steganography method which inserts or hide secret messages in images a wall file vertically. End-of-File is a steganography method which inserts or hide the secret message at the end of the image file vertically. Combination First-of-File and End-of-File is a steganography method which inserts or hide secret messages at the beginning and at the end of the image file vertically. System implementation using Matlab programming language 7.8.0 (R2009a). The system testedwitha secretmessagein the form oftext data(*. txt) which has a maximum size (kb) of((3 xheight of the image) –4)which will be hidden in a bitmap format image file size maximum 300 x 300 pixels. The results showedthat themethodEnd-of-File has thelongest timeduring the process ofembeddingandhasthe fastesttimeduring the process ofextraction.
Keywords: Steganography, End-of-File, First-of-File, Combination First-of-File and End-of-File.
(9)
DAFTAR ISI
Halaman
Persetujuan ii
Pernyataan iii
Penghargaan iv
Abstrak vi
Abstract vii
Daftar Isi viii
Daftar Tabel xi
Daftar Gambar xii
Daftar Lampiran xiii
Bab I Pendahuluan
1.1 Latar Belakang 1
1.2 Rumusan Masalah 2
1.3 Batasan Masalah 2
1.4Tujuan Penelitian 3
1.5 Manfaat Penelitian 3
1.6 Metode Penelitian 3
1.7 Sistematika Penulisan 4
Bab II Tinjauan Teoritis
2.1 Steganografi 6
2.1.1 Sejarah dan Perkembangan Steganografi 7
2.2 Teknik Steganografi 8
2.2.1 Tipe Steganografi 9
2.3 Metode Embedding 11
2.4 Konsep dan Terminologi Steganografi 11
2.5 Pengertian Citra 13
2.5.1 Citra Digital 13
2.5.2 Citra Analog 14
2.6 Jenis-Jenis Citra Digital 14
2.7 Format File Bitmap 15
2.8 Metode End-of-File 16
2.9 Metode First-of-File 16
2.10 Metode Kombinasi First-of-File dan End-of-File 17
2.11 Mean Squared Error (MSE) 17
2.12 Penelitian yang Relevan 18
Bab III Analisis dan Perancangan Sistem
3.1 Analisis Sistem 19
3.1.1 Analisis Masalah 19
3.1.2 Analisis Persyaratan 19
3.1.2.1Persyaratan Fungsional 20
(10)
3.1.3Analisis Proses 21 3.1.3.1 Analisis Proses Embedding pada metode End-of-File 21 3.1.3.2 Analisis Proses Embedding pada metode First-of-File 23 3.1.3.3 Analisis Proses Embedding pada metode kombinasi
First-of-File dan End-of-File 25
3.2 Perancangan Sistem 28
3.2.1 Flowchart Gambaran Umum Sistem 28
3.2.1.1 Flowchart Proses Embedding pada Metode End-of-File 29 3.2.1.2 Flowchart Proses Extraction pada Metode End-of-File 30 3.2.1.3 Flowchart Proses Embedding pada Metode First-of-File 30 3.2.1.4 Flowchart Proses Extraction pada Metode First-of-File 31 3.2.1.5 Flowchart Proses Embedding pada Metode kombinasi
First-of-File dan End-of-File. 32 3.2.1.6 Flowchart Proses Extraction pada Metode kombinasi
First-of-File dan End-of-File 33
3.2.2 Use Case Diagram 34
3.2.2.1 Use Case Embedding FOF, EOF, Kombinasi FOF-EOF 35
3.2.2.2 Use Case Input Cover Image 36
3.2.2.3 Use Case Input Pesan 37
3.2.2.4 Use Case Pilih Pesan 38
3.2.2.5 Use Case Penyisipan 38
3.2.2.6 Use Case Extraction FOF, EOF, Kombinasi FOF-EOF 39
3.2.2.7 Use Case Input Stego Image 40
3.2.2.8 Use Case Extraksi 40
3.2.2.9 Use Case Menghitung MSE 41
3.2.3Activity Diagram 42
3.2.3.1 Activity DiagramProses Embedding 43 3.2.3.2 Activity DiagramProses Extraction 44
3.2.4Pseudocode 44
3.2.4.1 Pseudocode Proses Embedding 45
3.2.4.2 Pseudocode Proses Extraction 49
3.2.5 Perancangan Antarmuka (Interface) 53
3.2.5.1 Halaman Menu Utama 53
3.2.5.2 Halaman Menu Embed 54
3.2.5.3 Halaman Menu Extract 56
3.2.5.4 Halaman Menu Help 58
3.2.5.5 Halaman Menu Statistic 59
Bab IV Implementasi dan Pengujian Sistem
4.1 Implementasi 61
4.1.1 Tampilan Halaman Home (Menu Utama) 61
4.1.2 Tampilan Halaman Menu Embed 63
4.1.3Tampilan Halaman Menu Extract 64
4.1.4 Tampilan Halaman Menu Help 65
4.1.5 Tampilan Halaman Statistic 66
4.2 Pengujian Sistem 67
4.2.1 Pengujian Proses Input Cover Image 68 4.2.2 Pengujian Proses Input Pesan 68
(11)
Kombinasi FOF-EOF 69 4.2.4Pengujian Proses Input Stego Image 70 4.2.5 Pengujian Proses Extraction FOF, EOF,
Kombinasi FOF-EOF 72 4.2.6 Pengujian Proses Statistic (Menghitung MSE) 73
4.2.7 Hasil Pengujian Menyisipkan Pesan Rahasia ke dalam
Cover Image 75
4.2.8 Hasil Pengujian Mengambil Pesan Rahasia dari dalam
Stego Image 79
Bab V Kesimpulan dan Saran
5.1 Kesimpulan 86 5.2Saran 87 Daftar Pustaka 88
(12)
DAFTAR TABEL
Nomor
Tabel Nama Tabel Halaman
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 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8
Matriks Pixel Citra RGB
Matriks Pixel Citra RGB yang Telah Disisipkan Pesan dengan metode End-of-File (EOF)
Matriks Pixel Citra RGB
Matriks Pixel Citra RGB yang Telah Disisipkan Pesan dengan Metode First-of-File
Matriks Pixel Citra RGB
Matriks Pixel Citra RGB yang Telah Disisipkan Pesan dengan Metode kombinasi First-of-File dan End-of-File
Spesifikasi Use Case Embedding FOF, EOF, Kombinasi FOF-EOF
Spesifikasi Use Case Pilih Cover Image Spesifikasi Use Case Input Pesan Spesifikasi Use Case Pilih Pesan Spesifikasi Use Case Penyisipan
Spesifikasi Use Case Extraction FOF, EOF, Kombinasi FOF-EOF
Spesifikasi Use Case Input Stego Image Spesifikasi Use Case Ekstraksi
Spesifikasi Use Case Menghitung MSE
Perbandingan Ukuran File Pesan, Ukuran pixel Gambar Asli, Waktu Proses Embedding, Ukuran File Text (kb) dan Ukuran pixel Stego Image Hasil Embedding ukuran 100 x 100
Perbandingan Ukuran File Pesan, Ukuran pixel Gambar Asli, Waktu Proses Embedding, Ukuran File Text (kb) dan Ukuran pixel Stego Image Hasil Embedding ukuran 200 x 200
Perbandingan Ukuran File Pesan, Ukuran pixel Gambar Asli, Waktu Proses Embedding, Ukuran File Text (kb) dan Ukuran pixel Stego Image Hasil Embedding ukuran 300 x 300
Perbandingan Ukuran File Pesan, Waktu Extraction Pada ukuran 100 x 100
Perbandingan Ukuran File Pesan, Waktu Extraction Pada ukuran 200 x 200
Perbandingan Ukuran File Pesan, Waktu Extraction Pada ukuran 300 x 300
Perbandingan Ukuran Pixel Cover Image, Waktu Rata-Rata Proses Embedding, Waktu Rata Proses Extraction, Rata-Rata Nilai MSE Pada Metode First-of-File (FOF), End-of-File (EOF) dan Kombinasi First-of-File dan End-of-File (EOFOF) Perbandingan Stego Image dengan Ukuran File Pesan 296 Byte yang disisipkan ke dalam Ukuran Cover Image yang berbeda.
22 23 24 25 26 27 36 37 37 38 38 39 40 40 41 76 77 78 80 81 82 83 84
(13)
DAFTAR GAMBAR
Nomor
Gambar Nama Gambar Halaman
2.1 2.2 2.3 2.4 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 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 4.10 4.11 4.12 4.13 4.14 4.15 4.16 4.17 4.18 4.19
Skema Proses Penyimpanan Data Rahasia ke dalam Media Digital dengan Teknik Steganografi
Skema Proses Steganografi Koordinat Pada Citra Citra BMP
Flowchart Gambaran Umum Sistem
Flowchart Proses Embedding Pada Metode End-of-File Flowchart Proses Extraction Pada Metode End-of-File Flowchart Proses Embedding Pada Metode First-of-File Flowchart Proses Extraction Pada Metode First-of-File
Flowchart Proses Embedding Pada Metode kombinasi First-of-File danEnd-of-First-of-File
Flowchart Proses Extraction Pada Metode kombinasi First-of-File dan End-of-First-of-File
Use Case Diagram Sistem
Activity Diagram Proses Embedding Activity Diagram Proses Extraction
Rancangan Antarmuka Halaman Menu Utama Rancangan Antarmuka Halaman Embed Rancangan Antarmuka Halaman Extract Rancangan Antarmuka Halaman Help Rancangan Antarmuka Halaman Statistic Tampilan Halaman Menu Utama
Tampilan Submenu yang Terdapat Pada Menu File Tampilan Halaman Menu Embed
Tampilan Halaman Menu Extract Tampilan Halaman Menu Help Tampilan Halaman Statistic Arfi.bmp
Pop-up Window Open Bitmap File Pop-up Window Open Text File
Penyisipan Pesan Rahasia ke dalam Cover Image Pop-up Window Open Stego Image
Hasil Pemilihan Stego Image Hasil Ekstraksi Stego Image
Message dialog Peringatan Gambar yang Dipilih Terdapat Pesan yang disembunyikan
Message dialog Peringatan Gambar yang Dipilih Tidak Terdapat Pesan yang disembunyikan
Pop-up Window Open Bitmap File Pop-up Window Open Image Proses Perhitungan nilai MSE
Proses Perhitungan nilai MSE (Ukuran Berbeda)
6 12 13 16 28 29 30 31 32 33 34 35 43 44 54 55 57 58 59 62 62 63 64 66 66 67 68 69 69 71 71 72 72 73 74 74 75 75
(14)
DAFTAR LAMPIRAN
Halaman
A. Listing Program A-1
(15)
ABSTRAK
Dalam komunikasi data aspek keamanan dan kerahasiaan data sangat diperlukan. Untuk menjaga keamanan dan kerahasiaan data tersebut adalah menggunakan steganografi. Steganografi merupakan ilmu dan seni menyembunyikan pesan rahasia dalam suatu media sehingga keberadaan pesan rahasia tersebut tidak dapat diketahui oleh orang lain. Metode steganografi yang digunakan pada penelitian ini adalah First-of-File, End-of-File dan kombinasi First-of-File dan End-of-File.First-of-File merupakan metode steganografi yang menyisipkan atau menyembunyikan pesan rahasia di awal file citra secara vertikal. End-of-File merupakan metode steganografi yang menyisipkan atau menyembunyikan pesan rahasia di akhir file citra secara vertikal. Kombinasi First-of-File dan End-of-File merupakan metode steganografi yang menyisipkan atau menyembunyikan pesan rahasia di awal dan di akhir file citra secara vertikal. Implementasi sistem menggunakan bahasa pemrograman Matlab 7.8.0 (R2009a). Sistem diuji dengan pesan rahasia berupa data teks (*.txt) yang memiliki ukuran (kb) maksimal ((3 x tinggi gambar) – 4) yang akan disembunyikan ke dalam suatu file citra berformat bitmap berukuran maksimal 300 x 300 pixel. Hasil penelitian menunjukkan bahwa metode End-of-File memiliki waktu yang paling lama saat proses embedding dan memiliki waktu yang paling cepat saat proses extraction. Katakunci : Steganografi, End-of-File, First-of-File, Kombinasi First-of-File dan End-of-File.
(16)
ABSTRACT
In the aspect of data communications security and confidentiality of data is needed. For maintaining the security and confidentiality of the data is using steganography. Steganography is the science and art of hiding a secret message in the media so that the existence of the secret message cannot be known by others. Steganography method used in this study is a of-File, End-of-File and the combination of First-of-File and End-First-of-File. First-First-of-File is a steganography method which inserts or hide secret messages in images a wall file vertically. End-of-File is a steganography method which inserts or hide the secret message at the end of the image file vertically. Combination First-of-File and End-of-File is a steganography method which inserts or hide secret messages at the beginning and at the end of the image file vertically. System implementation using Matlab programming language 7.8.0 (R2009a). The system testedwitha secretmessagein the form oftext data(*. txt) which has a maximum size (kb) of((3 xheight of the image) –4)which will be hidden in a bitmap format image file size maximum 300 x 300 pixels. The results showedthat themethodEnd-of-File has thelongest timeduring the process ofembeddingandhasthe fastesttimeduring the process ofextraction.
Keywords: Steganography, End-of-File, First-of-File, Combination First-of-File and End-of-File.
(17)
BAB 1
PENDAHULUAN
1.1Latar Belakang Masalah
Ketika ingin menyampaikan atau bertukar pesan kepada orang lain, maka tentu saja diinginkan pesan yang dikirim sampai ke pihak yang dituju dengan aman. Pengertian aman di sini sangat luas. Aman bisa berarti bahwa selama pengiriman pesan tentu diharapkan pesan tersebut tidak dibaca oleh orang yang tidak berhak. Sebab, mungkin saja pesan yang dikirim berisi sesuatu yang rahasia sehingga jika pesan rahasia dibaca oleh pihak lawan atau pihak yang tidak berkepentingan maka bocorlah kerahasiaan pesan yang dikirim.
Kehidupan saat ini dilingkupi oleh kriptografi. Begitu pentingnya kriptografi untuk keamanan informasi, sehingga jika berbicara mengenai masalah keamanan yang berkaitan dengan penggunaan komputer, maka orang tidak bisa terlepas dengan kriptografi. Teknik menjaga kerahasiaan pesan tidak hanya dengan menggunakan kriptografi. Ada teknik lain yang sudah digunakan sejak berabad-abad yang lalu, yaitu steganografi. Steganografi adalah ilmu dan seni menyembunyikan pesan rahasia di dalam pesan lain sehingga keberadaan pesan rahasia tersebut tidak dapat diketahui [5].
Least Significant Bit (LSB) merupakan salah satu metode steganografi yang bekerja dengan cara mengganti bit terakhir dari masing-masing piksel dengan pesan yang akan disisipkan. LSB mempunyai kelebihan yakni ukuran gambar tidak akan berubah. Sedangkan kekurangannya adalah pesan yang akan disisipkan terbatas, sesuai dengan ukuran citra [4].
Metode lain dalam steganografi adalah End-of-File dan First-of-File. End-of-File merupakan salah satu metode yang dapat menyisipkan data yang akan
(18)
disembunyikan pada akhir file sehingga file image akan terlihat sedikit berbeda dengan aslinya. Sedangkan First-of-File yaitu metode yang dapat menyisipkan data yang akan disembunyikan pada awal file.
Berdasarkan latar belakang yang telah penulis uraikan, maka dilakukan penelitian dengan judul “Perbandingan Teknik Steganografi dengan Metode First-of-File, End-of-File dan Kombinasi First-End-of-File dan End-End-of-File pada File Bitmap.”
1.2Rumusan Masalah
Yang menjadi rumusan masalah dalam penelitian ini adalah bagaimana membandingkan tiga metode yang ada yaitu metode First-of-File, End-of-File dan kombinasi keduanyauntuk mengetahui perbandingan kecepatan proses embedding dan extraction, ukuran file citra sebelum dan sesudah disisipkan pesan dan nilai mse (mean squared error) untuk ketiga metode tersebut.
1.3Batasan Masalah
Untuk fokusnya penelitian yang dilakukan, penulis memberi batasan sebagai berikut: 1. Bahasa pemrograman yang digunakan adalah Matlab 7.8.0 (R2009a).
2. Citra digital yang digunakan berupa file bitmap (*.bmp) dengan ukuran dimensi maksimal 300x300 pixel.
3. Pesan yang akan disisipkan ke citra digital dapat diinput oleh user ataupun dapat berupa file *.txt dengan ukuran file pesan (kb) maksimal adalah ((3 x tinggi gambar) – 4).
4. Parameter yang diuji adalah ukuran file, kecepatan proses dan nilai MSE (mean squared error) untuk ketiga metode.
5. Metode First-of-File dan End-of-File memiliki penanda awal ‘zx’ dan metode kombinasi First-of-File dan End-of-File memiliki penanda awal ‘zzxx’ serta ketiga metode memiliki penanda akhir yang sama yaitu ‘zx’.
(19)
1. Membangun aplikasi steganografi dengan metode First-of-File, End-of-Fileserta kombinasi keduanya.
2. Diperoleh hasil perbandingan metode First-of-File (FOF) dan End-of-File (EOF) serta kombinasi keduanya.
1.5Manfaat Penelitian
Manfaat dari penelitian ini adalah sebagai berikut: 1. Manfaat bagi Penulis:
Menambah pengetahuan penulis dalam melakukan proses penyisipan pesan teks pada suatu file bitmap dengan menggunakan metode First-of-File (FOF) dan End-of-File (EOF)serta kombinasi First-End-of-File (FOF) dan End-End-of-File (EOF).
2. Manfaat bagi bidang ilmu:
Menambah pengetahuan tentang kelebihan dan kekurangan First-of-File (FOF) dan End-of-File (FOF) serta kombinasi First-of-File (FOF) dan End-of-File (EOF). 3. Manfaat bagi masyarakat:
Membantu masyarakat dalam mengamankan pesan teks pada suatu file bitmap.
1.6Metode Penelitian
Dalam penelitian ini, ada beberapa tahapan yang akan dilakukan adalah sebagai berikut:
1. Studi Literatur
Pada tahap ini akan dilakukan pengumpulan bahan referensi yang terkait dengan Metode First-of-File dan End-of-File yang dapat berupa buku-buku, artikel-artikel atau e-book serta jurnal nasional daninternasionalyang didapatkan melalui internet.
2. Analisis dan Perancangan Sistem
Pada tahap ini akan dilaksanakan perancangan use case diagram, activity diagram, flowchart, interface dan perancangan sistem dengan menggunakan metode First-of-File (EOF), End-First-of-File (FOF), dan kombinasi keduanya.
(20)
Pada tahap ini akan dilakukan implementasi dari hasil perancangan desain sistem dalam bentuk perangkat lunak.
4. Pengujian Sistem
Pada tahap ini akan dilakukan pengujian sistem yang bertujuan untuk mengetahui kesalahan-kesalahan yang terjadi pada sistem, sehingga dapat dilakukan perbaikan. Kemudian membandingkan ketiga metode berdasarkan parameter yang telah ditentukan yaitu ukuran file, kecepatan proses dan nilai MSE (mean squared error) untuk ketiga metode.
5. Penyusunan Laporan
Pada tahap ini dilakukan penyusunan laporan dari hasil analisis dan perancangan sistem dalam format penulisan penelitian.
1.7Sistematika Penulisan
Untuk membuat penulisan lebih terstruktur, maka penulisan ini dibagi menjadi lima bab, yaitu:
BAB 1: PENDAHULUAN
Pada bab ini membahas latar belakang, perumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metode penelitian yang dilakukan serta sistematika penulisan.
BAB 2: TINJAUAN TEORITIS
Pada bab ini membahas tentang teori-teori yang terkait dengan penelitian ini diantaranya adalah teori steganografi, citra, metode First-of-File, metode End-of-File, Kombinasi kedua metode dan teori pendukung lainnya.
BAB 3: ANALISIS DAN PERANCANGANSISTEM
Pada bab ini membahas mengenai penjelasan tentang analisis masalah yang dibangun dalam sistem dan menganalisis tentang hal-hal yang dibutuhkan dalam membangun sistem tersebut, kemudian dilanjutkan dengan tahapan perancangan sistem yang
(21)
BAB 4: IMPLEMENTASI DAN PENGUJIAN SISTEM
Pada bab ini membahas tentang implementasi sistem yang berdasarkan tahapan perancangan dengan menggunakan bahasa pemrograman Matlab 7.8.0 (2009a). Kemudian dilanjutkan dengan tahapan pengujian sistem yaitu membandingkan ketiga metode berdasarkan parameter yang telah ditentukan yaitu ukuran file, kecepatan proses dan nilai mse untuk menguji apakah sistem sudah berjalan sesuai dengan perancangan.
BAB 5:KESIMPULAN DAN SARAN
Pada bab ini berisi merupakan kesimpulan dari semua pembahasan yang ada dengan saran-saran yang ditujukan bagi para pembaca atau pengembang.
(22)
BAB 2
TINJ AUAN TEORITIS
2.1Steganografi
Kata steganography (steganografi) berasal dari bahasa Yunani yaitu stegos yang berarti atap atau tertutup dan graphia artinya tulisan sehingga arti secara keseluruhan adalah ilmu dan seni menyembunyikan keberadaan komunikasi. Dengan menggunakan steganografi, pesan rahasia dapat disisipkan ke dalam sebuah media yang tidak mencurigakan dan mengirimnya tanpa ada seorangpun yang mengetahui keberadaan pesan tersebut.
Untuk menyisipkan data yang ingin disembunyikan membutuhkan dua buah arsip yaitu arsip pertama adalah media penampung seperti citra, suara, video dan sebagainya yang terlihat tidak mencurigakan untuk menyimpan pesan rahasia. Arsip kedua adalah pesan yang ingin disembunyikan yaitu media penampungnya berupa citra yang disebut cover-image dan citra yang telah disisipi pesan disebut stego-image [7].
+
=
Gambar2.1. Proses penyimpanan data rahasia ke dalam media digital dengan teknik steganografi
(Sumber: [9])
Beberapa contoh media penyisipan pesan rahasia yang digunakan dalam teknik Steganografi digital antara lain sebagai berikut:
Wadah Penampung (Citra BMP)
Data Rahasia (.txt)
Stego
(Citra BMP)
(23)
1. Teks
Dalam algoritma Steganografi yang menggunakan teks sebagai media penyisipannya biasanya digunakan teknik NLP sehingga teks yang telah disisipi pesan rahasia tidak akan mencurigakan untuk orang yang melihatnya. Contoh format teks: teks file, html, pdf, dll.
2. Audio
Format ini pun sering dipilih karena biasanya berkas dengan format ini berukuran relatif besar sehingga bisa menampung pesan rahasia dalam jumlah yang besar pula. Contoh format audio: wav, voc, mp3, dll.
3. Citra
Format ini juga paling sering digunakan, karena format ini merupakan salah satu format file yang sering dipertukarkan dalam dunia internet. Alasan lainnya adalah tersedianya banyak algoritma Steganografi untuk media penampung yang berupa citra. Contoh format citra: bitmap (bmp), gif, pcx, jpeg, dll.
4. Video
Format ini memang merupakan format dengan ukuran file yang relatif sangat besar, tetapi jarang digunakan karena ukurannya yang terlalu besar itu mengurangi kepraktisannya dan juga kurangnya algoritma yang mendukung format ini. Contoh format video: mpeg, avi, dll [3].
Keunggulan steganografi dari kriptografi adalah kemampuannya untuk membuat suatu pesan rahasia menjadi tidak terlihat atau tidak mengundang orang lain yang tidak mengetahui untuk peduli atau penasaran sedangkan kriptografi mengacak sebuah pesan tertulis menjadi suatu yang tidak berarti dan dapat membuat orang lain menjadi penasaran dan ingin mengetahui arti dari pesan acak tersebut sehingga akhirnya melakukan percobaan untuk menerjemahkan pesan tersebut [8].
2.1.1 Sejarah dan Perkembangan Steganografi
Steganografi sudah dikenal oleh bangsa Yunani sejak lama. Herodatus, seorang penguasa Yunani, mengirimkan pesan rahasia menggunakan kepala budak atau prajurit sebagai media. Caranya rambut budak dibotaki, lalu pesan rahasia ditulis pada
(24)
kulit kepala budak. Setelah rambut-rambut budak tumbuh cukup banyak, budak tersebut dikirim ke tempat tujuan pesan untuk membawa pesan rahasia di kepalanya. Di tempat penerima, kepala budak dibotaki kembali untuk membaca pesan yang tersembunyi di balik rambutnya. Pesan tersebut berisi peringatan tentang invasi dari Bangsa Persia.
Bangsa Romawi mengenal steganografi dengan menggunakan tinta tak tampak (invisible ink) untuk menulis pesan. Tinta tersebut dibuat dari campuran sari buah, susu dan cuka. Jika tinta digunakan untuk menulis maka tulisannya tidak tampak. Tulisan di atas kertas dapat dibaca dengan cara memanaskan kertas tersebut.
Selama Perang Dunia II, agen-agen spionase juga menggunakan steganografi untuk mengirim pesan. Caranya dengan menggunakan titik-titik yang sangat kecil sehingga keberadaannya tidak dapat dibedakan pada tulisan biasa yang diketik.
Pada saat ini steganografi sudah banyak diimplementasikan pada media digital. Steganografi digital menggunakan media digital sebagai penampung, seperti citra digital, video digital atau audio. Informasi yang disembunyikan juga berbentuk digital seperti teks, citra, data audio atau data video. Steganografi digital dapat dipakai di negara-negara yang menerapkan sensor ketat terhadap informasi atau di negara di mana enkripsi pesan terlarang. Pada negara-negara seperti itu informasi rahasia dapat disembunyikan dengan menggunakan steganografi [5].
2.2Teknik Steganografi
Dalam steganografi terdapat tujuh teknik yang digunakan dalam steganografi yaitu:
1. Injection
Teknik yang menanamkan pesan rahasia secara langsung ke suatu media. Yang merupakan suatu masalah dari teknik ini adalah ukuran media yang diinjeksi menjadi lebih besar dari ukuran normalnya sehingga mudah
(25)
2. Substitusi
Teknik yang menggantikan data normal menjadi data rahasia. Hasil teknik itu biasanya tidak terlalu mengubah ukuran data asli, tetapi tergantung pada file media dan data yang akan disembunyikan. Teknik substitusi bisa menurunkan kualitas media yang ditumpangi.
3. Transform Domain
Teknik ini menyembunyikan data pada “transform space” dan teknik ini akan sangat lebih efektif bila diterapkan pada file berekstensi Jpeg (gambar).
4. Spread Spectrum
Teknik pentransmisian menggunakan pseudo-noise code, yang independen terhadap data informasi sebagai modulator bentuk gelombang untuk menyebarkan energi sinyal dalam sebuah jalur komunikasi yang lebih besar daripada sinyal jalur komunikasi informasi.
5. Statistical Method
Teknik ini disebut juga skema steganographic 1 bit. Skema tersebut menanamkan satu bit informasi pada media tumpangan dan mengubah statistik walaupun hanya 1 bit. Perubahan statistik ditunjukkan dengan indikasi 1 dan jika tidak ada perubahan, terlihat indikasi 0. Sistem ini bekerja berdasarkan kemampuan penerima dalam membedakan antara informasi yang dimodifikasi dan yang belum.
6. Distortion
Metode ini menciptakan perubahan atas benda yang ditumpangi oleh data rahasia.
7. Cover Generation
Metode ini lebih unik daripada metode lainnya karena cover object dipilih untuk menyembunyikan pesan.
2.2.1 Tipe Steganografi
Selain berdasarkan format, berkas penampung yang digunakan steganografi dikelompokkan sebagai berikut:
(26)
1. Linguistic Steganography
Teknik ini menyembunyikan pesan dalam cara yang tidak lazim. Terdapat dua bagian dalam teknik ini yaitu Semagrams dan Open Codes.
2. Open Codes
Teknik ini menyembunyikan pesan dalam cara yang tidak umum, tetapi tetap tidak mencurigakan. Contoh penggunaan metode open code adalah:
• Masking yaitu kalimat atau kata dalam suatu teks yang dimulai dari surat-surat tertentu yang memiliki arti lain, atau juga suatu kiasan.
• Nul Cipher yaitu suatu pesan yang tidak dienkripsi. Pesan yang sebenarnya terletak pada pesan yang telah dimanipulasi. Pesan yang dikirim memiliki karakter yang sangat banyak dan memiliki arti lain.
• Cues yaitu suatu kata tertentu yang memiliki pesan
• Musik yaitu dapat membawa arti bagi orang yang mendengarkannya. Musik bisa digunakan untuk menyembunyikan pesan.
• Jargon Code yaitu teknik menggunakan bahasa yang hanya bisa dimengerti oleh sebagian orang.
• Newspaper Code yaitu metode menyembunyikan pesan dengan membuat lubang-lubang kecil pada koran yang memiliki arti tertentu.
• Covered Ciphers yaitu teknik menyembunyikan pesan dalam media pembawa sehingga pesan kemudian bisa diekstrak dari media pembawa tersebut oleh pihak yang mengetahui bagaimana pesan tersembunyi tersebut disembunyikan.
3. Text Semagrams
Teknik ini menyembunyikan informasi menggunakan simbol atau tanda. Contoh penggunaannya adalah dengan mengganti ukuran teks atau mengganti ukuran font.
4. Spacing dan Offsetting
Metode ini mengetik dengan mengatur jarak atau mengetik offsetting merupakan suatu cara menyortir teks untuk menyembunyikan pesan tambahan. Spasi bisa juga digunakan untuk mengirim pesan secara rahasia [3].
(27)
2.3Metode Embedding
Ada beberapa aspek yang dapat mempengaruhi penyembunyian pesan rahasia pada gambar atau dapat disebut embeddingyaitu:
1. Kapasitas
Jumlah informasi yang bisa disembunyikan dalam medium cover. Keamanan yang merupakan ketidakmampuan seseorang untuk mendetesi pesan yang disembunyikan, dan ketahanan yang merupakan banyaknya modifikasi medium stego yang dapat bertahan sebelum musuh merusak pesan rahasia yang tersembunyi. Dalam hal ini, steganografi mengkhususkan untuk keamanan dan kapasitas. Sebab, informasi yang disembunyikan akan lebih mudah dirusak.
2. Keamanan
Keamanan dari sistem steganografi klasik mewujudkan kerahasiaan sistem encoding nya. Supaya steganografi tetap tidak terdeteksi oleh pengamat maka medium cover yang tidak dimodifikasi harus tetap dijaga agar tetap bersifat rahasia. Karena jika dilihat lagi, perbedaan antara medium cover dan medium stego akan lebih mudah terungkap.
3. Ketahanan
Suatu sistem dikatakan sempurna aman jika tidak ada aturan keputusan yang lebih baik yang bisa membuka sistem tersebut daripada cara tebakan secara acak. Komunikasi steganografi merupakan persetujuan pengirim dan penerima pada suatu sistem steganografi dan berbagi kunci rahasia untuk menentukan bagaimana suatu pesan di encode dalam medium cover.
2.4Konsep dan Terminologi Steganografi
Terdapat beberapa istilah yang berkaitan dengan steganografi yaitu:
1. Hiddentext atau embedded message merupakan informasi atau pesan yang disembunyikan.
2. Covertext atau cover-object merupakan media penampung pesan.
(28)
4. Stegokey merupakan kunci untuk menyisipkan pesan atau membaca pesan.
Penyisipan pesan ke dalam media covertext dinamakan embedding, sedangkan pemisahan pesan dari stegotext dinamakan extraction (decoding). Kedua proses ini mungkin memerlukan kunci rahasia yang dinamakan stegokey agar hanya pihak yang berhak saja yang dapat melakukan penyisipan dan ekstraksi pesan. Gambar 2.2 memperlihatkan diagram penyisipan dan ekstraksi pesan.
Covertext Covertext
hiddentext stegotext hiddentext
key key
Gambar 2.2. Proses Steganografi (Sumber : [5])
Pesan rahasia yang disembunyikan ke dalam media penampung pasti mengubah kualitas media tersebut. Kriteria yang harus diperhatikan dalam penyembunyian pesan adalah:
1. Imperceptibility
Keberadaan pesan rahasia dalam media penampung tidak dapat dipersepsi atau dideteksi oleh inderawi.
2. Fidelity
Mutu media penampung tidak banyak berubah akibat penyisipan pesan. Oleh karena itu, orang akan sulit mendeteksi pesan yang disisip dalam media penampung.
3. Recovery
Pesan yang disembunyikan dalam media penampung harus dapat diungkapkan kembali. Karena tujuan steganografi adalah menyembunyikan data.
(29)
2.5Pengertian Citra
Citra merupakan suatu gambaran, kemiripan, atau imitasi dari suatu objek. Citra sebagai keluaran suatu sistem perekaman data yang dapat bersifat optik, analog atau digital.
2.5.1 Citra Digital
Citra digital adalah gambar dua dimensi yang dapat ditampilkan pada layar monitor komputer sebagai himpunan berhingga (diskrit) nilai digital yang disebut piksel. Setiap kotak yang terbentukdisebut piksel dan memiliki koordinat (x,y).Piksel merupakan suatu elemen citra yang memiliki nilai yang menunjukkan intensitas warna. Citra digital dapat didefenisikan sebagai fungsi dua variabel f(x,y), dimana x dan yadalah koordinat spasial dan nilai f(x,y) merupakan intensitas citra suatu titik. Piksel(0,0) terletak pada sudut kiri atas pada citra, indeks x begerak ke kanan dan indeks y bergerak ke bawah. Konvensi ini dipakai merujuk pada cara penulisan larik yang digunakan dalam pemrograman komputer.
Gambar 2.3. Koordinat pada citra
Suatu citra digital diperoleh dari penangkapankekuatan sinar yang dipantulkan oleh objek.Citra digital tersusun atas sejumlah berhingga elemen, masing-masing memiliki lokasi dan nilai intensitas tertentu. Elemen-elemen ini disebut elemengambar, elemen citra, pels, dan juga piksel yang dinyatakan dalam bilangan bulat. Tingkat ketajaman atau resolusi warna pada citra digital tergantung pada jumlah bit yang digunakan oleh komputer untuk merepresentasikan setiap pikseltersebut. Tipe yang sering digunakan untuk merepresentasikan citra digital adalah 8-bit citra (256 colors (0 untuk hitam - 255 untuk putih)), tetapi dengan kemajuanteknologi perangkat
(30)
keras grafik, kemampuan tampilan citra digital di komputer hingga32 bit (232 warna) [9].
2.5.2 Citra Analog
Citra analog merupakan citra yang berhubungan dengan hal yang kontinu dalam satu dimensi, seperti gambar pada monitor televisi, foto sinar X, foto yang tercetak di kertas foto, lukisan, dan lain sebagainya. Citra analog tidak dapat secara langsung diproses dalam komputer. Oleh karena itu, dilakukan proses konversi analog ke digital terlebih dahulu [9].
Citra yang terdiri dari sinyal – sinyal frekuensi elektromagnetis yang belum dibedakan sehingga pada umumnya tidak dapat ditentukan ukurannya. Analog contohnya adalah bunyi diwakili dalam bentuk analog, yaitu suatu getaran gelombang udara yang kontinu dimana kekuatannya diwakili sebagai jarak gelombang. Hampir semua kejadian alam boleh diwakili sebagai perwakilan analog seperti bunyi, cahaya, air, elektrik, angin dan sebagainya [6].
2.6Jenis-Jenis Citra Digital
Ada beberapa jenis citra digital yang sering digunakan yaitu:
1. Citra biner (monokrom)yaitu memiliki warna sebanyak dua, yaitu berwarna hitam (0) atau berwarna putih (1). Oleh karena itu, dibutuhkan 1bit di memori untuk menyimpan kedua warna tersebut.
2. Citra grayscale (citra keabuan) yaitu citra ini terdiri atas warna abu-abu. Setiap piksel citra grayscale merepresentasikan derajat keabuan atau intensitas warna putih. Untuk pengubahan warna image menjadi grayscale dapat dilakukan dengan memberikan bobot untuk masing-masing warna dasar red green blue atau dengan membuat nilai rata-rata dari ketiga warna dasar tersebut. Oleh karena itu, banyaknya warna tergantung pada jumlah bit yang disediakan di memori untuk menampung kebutuhan warna tersebut. Semakin besar jumlah bit warna di dalam memori maka semakin halus gradasi warna yang terbentuk.
(31)
3. Citra warna (true color) dinamakan true color karena memiliki jumlah warna yang cukup besar sehingga bias juga dikatakan hamper mencakup semua warna. Setiap piksel pada citra berwarna memiliki warna yang merupakan kombinasi dari tiga warna dasar RGB yaitu red green dan blue.Setiap komponen warna memiliki intensitas sendiridengan nilai minimum 0 dan nilai maksimum 255 (8-bit). Berarti setiap piksel memiliki kombinasi warna sebanyak 224 = lebih dari 16 juta warna. Jika setiap piksel dari citra grayscale 256 gradasi warna diwakili oleh 1 bit maka untuk 1 piksel citra warna diwakil 3 bit untuk mempresentasikan warna red, green dan blue [9].
2.7Format File Bitmap (File BMP)
Citra bitmap menyimpan data kode citra secara digital dan lengkap (cara penyimpanannya per piksel). Citra bitmap dipresentasikan dalam bentuk matriks atau dipetakan dengan menggunakan bilangan biner atau sistem bilangan lain. Citra ini memiliki kelebihan untuk memanipulsai warna, tetapi untuk mengubah objek lebih sulit [9].
Bitmap merupakan format penyimpanan standar tanpa kompresi yang umum dapat digunakan untuk menyimpan citra biner hingga citra warna. Format ini terdiri dari beberapa jenis yang setiap jenisnya ditentukan dengan jumlah bit yang digunakan untuk menyimpan sebuah nilai pixel [6].
Karena tidak mengalami proses kompresi, file format bitmap menghasilkan kualitas gambar yang baik daripada file citra dengan format lain. Pada file bitmap, nilai intensitas pixel dalam citra dipetakan ke dalam sejumlah bit tertentu yang umumnya panjang setiap pixel adalah 8 bit. Delapan bit ini merepresentasikan nilai intensitas pixel. Dengan demikian ada sebanyak 28 = 256 derajat keabuan, mulai dari 0 sampai 255. Untuk citra true color jumlah bit per pixelsebanyak 24 bit yang terdiri dari nilai Red, Green dan Blue (RGB). Untuk mendapatkan nilai RGB setiap pixel dilakukan dengan membaca nilai tiap pixel [10].
(32)
Tampilan bitmap mampu menunjukkan kehalusan gradasi bayangan dan warna dari sebuah gambar. Oleh karena itu, bitmap merupakan media elektronik yang paling tepat untuk gambar-gambar dengan perpaduan gradasi warna yang rumit, seperti foto dan lukisan digital. Citra bitmap biasanya diperoleh dengan cara Scanner, camera digital, video capture, dan lain-lain [9].
Gambar 2.4. Citra BMP
2.8Metode End-of-File
End-of-File (EOF) adalah salah satu metode atau teknik steganografi untuk menyembunyikan atau menyisipkan pesan pada akhir file secara horizontal. Teknik ini dapat digunakan untuk menyisipkan pesan yang ukurannya sesuai dengan kebutuhan. Ukuran file yang telah disisipkan pesan sama dengan ukuran file sebelum disisipkan pesan ditambah dengan ukuran pesan yang disisipkan ke dalam file tersebut. Dalam teknik ini, pesan disisipkan pada akhir file dengan diberi tanda khusus sebagai pengenal awal dari pesan tersebut dan pengenal akhir dari data tersebut [2].
Agar tidak menimbulkan kecurigaan, tetap harus dipertimbangkan agar pesan yang disisipkan tidak terlalu mengubah ukuran dan bentuk fisik citra pada saat ditampilkan [4].
2.9Metode First-of-File
(33)
yang hampir sama dengan metode End-of-File (EOF). Jika End-of-File (EOF) menyembunyikan atau menyisipkan pesan pada akhir file secara horizontal maka pada First-of-File (FOF) pesan disembunyikan atau disisip pada awal file secara horizontal.
2.10 Metode Kombinasi First-of-File dan End-of-File
Kombinasi First-of-File dan End-of-File(EOFOF) merupakan metode steganografi yang menyisipkan atau menyembunyikan pesannya di awal dan di akhir file citra secara horizontal. Metode ini merupakan metode gabungan dari metod e First-of-File dan End-of-File.
2.11 Mean Squared Error (MSE)
Mean Squared Error (MSE) merupakanalat ukur kuantitatif yang bisa digunakan untuk mengukur kinerja prosedur perbaikan citra. Perbaikan citra pada dasarya merupakan proses yang bersifat subjektif sehingga parameter keberhasilannya bersifat subjektif pula. Untuk itu perlu adanya Alat ukur ini disebut yang dinyatakan dengan persamaan sebagai berikut.
���= 1
��∑ ∑ |(�(�,�)− �(�,�))
2|
�−1
�=0
�−1
�=0 ………..(2.1)
Keterangan :
M : panjang citra N : lebar citra �(�,�) : data citra awal.
�(�,�) : data citra setelah noise dihilangkan.
Semakin kecil nilai MSE, semakin bagus prosedur perbaikan citra yang digunakan. Artinya, kualitas citra setelah mengalami perbaikan noise hampir sama dengan kualitas citra aslinya[9].
(34)
2.12 Penelitian yang Relevan
Berikut penelitian tentang steganografi yang membahas metode End-of-File, First-of-File dan kombinasi keduanya:
1. Berdasarkan penelitian oleh Krisnawati, mengimplementasikan metode Least Significant Bit (LSB) dan End of File (EOF) dengan menyisipkan pesan teks ke dalam citra grayscale. Metode LSB bekerja dengan mengganti bit terakhir kode biner citra dengan kode biner pesan sedangkan metode EOF menambahkan teks sebagai nilai derajat keabuan citra pada akhir citra. Digunakan citra grayscale karena citra ini bentuk digital yang sederhana dibandingkan dengan citra RGB [4].
2. Berdasarkan penelitian oleh Yogie Aditya, Andhika Pratama, Alfian Nurlifa, membandingkan metode Least Significant Bit (LSB) dan End of File (EOF) untuk mengetahui kekurangan dan kelebihan masing-masing metode dan menganalisis metode mana yang lebih efektif untuk penyembunyian pesan serta mengembangkan aplikasi steganografi [1].
(35)
BAB III
ANALISIS DAN PERANCANGAN SISTEM
3.1 Analisis Sistem
Analisis sistem merupakan fase-fase awal yang perlu dilakukan sebelum merancang suatu sistem. Analisis sistem terdiri dari 3 (tiga) fase yaitu analisis masalah untuk mempelajari dan memahami masalah, analisis persyaratan yang akan memenuhi kebutuhan dan permintaan pengguna (user) dan analisis proses yang akan mendeskripsikan tingkah laku sistem.
3.1.1 Analisis Masalah
Masalah yang akan diselesaikan dalam sistem ini adalah masalah penyisipan pesan rahasia ke dalam citra digital. Ada 3 (tiga) metode yang digunakan untuk proses penyisipan pesan, yaitu First-of-File, End-of-file dan Kombinasi First-of-File dan End-of-file. Dalam sistem ini, pesan akan disisip menggunakan ketiga metode tersebut. Sehingga citra digital yang disisipi pesan akan mengalami perubahan kualitas gambar dan akan dilihat metode mana yang lebih aman untuk menyembunyikan pesan.
3.1.2 Analisis Persyaratan
Dalam suatu sistem analisis persyaratan dibagi menjadi dua bagian yaitu persyaratan fungsional untuk mendeskripsikan aktivitas yang disediakan oleh suatu sistem dan persyaratan non-fungsional merupakan deskripsi mengenai fitur, karakteristik, dan batasan lainnya untuk menentukan apakah sistem memuaskan atau tidak.
(36)
3.1.2.1 Persyaratan Fungsional
Dalam sistem penyisipan pesan pada citra digital dengan menggunakan beberapa metode, yaitu First-of-File, End-of-file dan Kombinasi First-of-File dan End-of-file ini terdapat beberapa hal yang menjadi persyaratan fungsional yang harus dipenuhi, antara lain:
1. Citra digital yang akan menjadi media penyisipan pesan (cover image) yaitu citra digital berformat BMP.
2. Ukuran citra digital maksimal berukuran 300 x 300 pixel.
3. Maksimal ukuran pesan (kb) yang dikirim adalah ((3 x tinggi gambar) – 4). Rumus tersebut diperoleh dari sebuah pixel yg menampung tiga nilai yaitu RGB yang kemudian dikalikan dengan tinggi gambar (cover image) dan setelah itu dikurangkan empat yang merupakan jumlah dari penanda awal ‘zx’ dan penanda akhir ‘zx’.
4. Citra digital (stego image) yang telah disisip pesan akan disimpan dalam format BMP.
3.1.2.2 Persyaratan Nonfungsional
Persyaratan nonfungsional yang harus dipenuhi, antara lain: 1. Performa
Sistem atau perangkat lunak yang dibangun harus dapat menunjukkan hasil dari proses penyisipan pesan pada citra dan proses pengambilan pesanpada citra digital.
2. Mudah digunakan (Userfriendly)
Sistem atau perangkat lunak yang dibangun harus sederhana agar mudah digunakan oleh pengguna (user) dan responsif.
3. Hemat biaya
Sistem atau perangkat lunak yang dibangun tidak memerlukan perangkat tambahan yang dapat mengeluarkan biaya dan bebas digunakan.
4. Dokumentasi
Sistem atau perangkat lunak yang dibangun dapat menyimpan citra digital yang merupakan hasil dari proses penyisipan pesan dengan format file BMP.
(37)
Sistem atau perangkat lunak yang dibangun harus memiliki kualitas yang baik yaitu proses embedding memiliki nilai statistik dari ketiga metode.
6. Kontrol
Perangkat lunak yang dibangun akan menampilkan kotak dialog untuk mengetahui apakah citra digital mengandung pesan rahasia atau tidak.
3.1.3 Analisis Proses
Dalam sistem ini terdapat dua proses utama, yaitu proses embedding dan proses extraction. Proses embedding adalah proses penyisipan pesan rahasia ke dalam suatu media. Proses extraction adalah proses pengambilan pesan rahasia dari suatu media. Pada sistem ini, ada tiga metode steganografi yang digunakan untuk proses penyisipan pesan, yaitu metode End-of-File untuk penyisipan pesan pada akhir file citra secara vertikal, First-of-File untuk penyisipan pesan pada awal file citra secara vertikal dan kombinasi First-of-File dan End-of-File untuk penyisipan pesan pada awal dan akhir file citra secara vertikal.
3.1.3.1 Analisis Proses Embedding pada metode End-of-File (EOF)
Proses embedding (penyisipan pesan) menggunakan metode End-of-File adalah sebagai berikut:
1. Inputkan citra yang akan menjadi media penyisipan pesan (cover image). 2. Inputkan pesan yang akan disisipkan.
3. Baca nilai setiap pixel citra.
4. Tambahkan pesan sebagai nilai akhir vertikal pixel citra dengan diberi karakter penanda sebagai penanda awal dan penanda akhir pesan.
5. Petakan menjadi citra baru.
Berikut ini merupakan contoh penyisipan pesan menggunakan metode End-of-File: Terdapat suatu citra RGB 7x7 yang memiliki nilai setiap pixel seperti pada Tabel 3.1.
Tabel 3.1 Matriks Pixel Citra RGB R=77
G=82 B=43
R=65 G=65 B=89
R=167 G=168 B=70
R=171 G=147 B=153
R=160 G=130 B=141
R=60 G=30 B=41
R=60 G=70 B=141
(38)
R=92 G=55 B=35 R=76 G=76 B=90 R=64 G=57 B=158 R=181 G=70 B=179 R=204 G=203 B=199 R=24 G=93 B=109 R=204 G=95 B=99 R=76 G=90 B=82 R=69 G=73 B=83 R=163 G=63 B=171 R=186 G=190 B=189 R=177 G=184 B=162 R=17 G=101 B=56 R=77 G=84 B=162 R=95 G=102 B=112 R=86 G=98 B=114 R=157 G=172 B=182 R=167 G=182 B=184 R=174 G=186 B=187 R=74 G=86 B=18 R=174 G=186 B=187 R=74 G=84 B=99 R=121 G=14 B=152 R=173 G=87 B=194 R=184 G=96 B=21 R=202 G=14 B=71 R=22 G=46 B=73 R=100 G=214 B=227 R=74 G=84 B=99 R=21 G=134 B=100 R=173 G=96 B=94 R=184 G=196 B=107 R=22 G=46 B=79 R=104 G=77 B=99 R=202 G=89 B=99 R=74 G=94 B=93 R=121 G=134 B=92 R=173 G=90 B=194 R=84 G=96 B=79 R=92 G=100 B=81 R=52 G=76 B=91 R=202 G=214 B=227
Citra RGB tersebut akan disisipkan pesan “saya arfiyah” yang memiliki nilai desimal dalam kode ASCII yaitu “115 97 121 97 32 97 114 102 105 121 97 104”. Pesan akan ditambahkan sebagai nilai akhir secara vertikal pada pixel citra RGB. Pada awal dan akhir pesan diberi karakter penanda “zx” yang memiliki nilai desimal dalam kode ASCII yaitu “122 120”. Maka didapatlah matriks pixel seperti pada Tabel 3.2.
Tabel 3.2 Matriks Pixel Citra RGB yang Telah Disisipkan Pesan dengan metode End-of-File (EOF) R=77 G=82 B=43 R=65 G=65 B=89 R=167 G=168 B=70 R=171 G=147 B=153 R=160 G=130 B=141 R=60 G=30 B=41 R=60 G=70 B=141 R=122 G=120 B=115 R=92 R=76 R=64 R=181 R=204 R=24 R=204 R=97
(39)
G=55 B=35 G=76 B=90 G=57 B=158 G=70 B=179 G=203 B=199 G=93 B=109 G=95 B=99 G=121 B=97 R=76 G=90 B=82 R=69 G=73 B=83 R=163 G=63 B=171 R=186 G=190 B=189 R=177 G=184 B=162 R=17 G=101 B=56 R=77 G=84 B=162 R=32 G=97 B=114 R=95 G=102 B=112 R=86 G=98 B=114 R=157 G=172 B=182 R=167 G=182 B=184 R=174 G=186 B=187 R=74 G=86 B=18 R=174 G=186 B=187 R=102 G=105 B=121 R=74 G=84 B=99 R=121 G=14 B=152 R=173 G=87 B=194 R=184 G=96 B=21 R=202 G=14 B=71 R=22 G=46 B=73 R=100 G=214 B=227 R=97 G=104 B=122 R=74 G=84 B=99 R=21 G=134 B=100 R=173 G=96 B=94 R=184 G=196 B=107 R=22 G=46 B=79 R=104 G=77 B=99 R=202 G=89 B=99 R=120 G=0 B=0 R=74 G=94 B=93 R=121 G=134 B=92 R=173 G=90 B=194 R=84 G=96 B=79 R=92 G=100 B=81 R=52 G=76 B=91 R=202 G=214 B=227 R=0 G=0 B=0
Matriks tersebut yang akan dipetakan kembali dalam bentuk citra RGB yang disebut stego image.
3.1.3.2 Analisis Proses Embedding pada metode First-of-File (FOF)
Proses embedding (penyisipan pesan) menggunakan metode First-of-File adalah sebagai berikut:
1. Inputkan citra yang akan menjadi media penyisipan pesan (cover image). 2. Inputkan pesan yang akan disisipkan.
3. Baca nilai setiap pixel citra.
4. Tambahkan pesan sebagai nilai awal vertikal pixel citra dengan diberi karakter penanda sebagai penanda awal dan penanda akhir pesan.
5. Petakan menjadi citra baru.
(40)
Terdapat suatu citra RGB 7x7 yang memiliki nilai setiap pixel seperti pada Tabel 3.3.
Tabel 3.3 Matriks Pixel Citra RGB
R=77 G=82 B=43 R=65 G=65 B=89 R=167 G=168 B=70 R=171 G=147 B=153 R=160 G=130 B=141 R=60 G=30 B=41 R=60 G=70 B=141 R=92 G=55 B=35 R=76 G=76 B=90 R=64 G=57 B=158 R=181 G=70 B=179 R=204 G=203 B=199 R=24 G=93 B=109 R=204 G=95 B=99 R=76 G=90 B=82 R=69 G=73 B=83 R=163 G=63 B=171 R=186 G=190 B=189 R=177 G=184 B=162 R=17 G=101 B=56 R=77 G=84 B=162 R=95 G=102 B=112 R=86 G=98 B=114 R=157 G=172 B=182 R=167 G=182 B=184 R=174 G=186 B=187 R=74 G=86 B=18 R=174 G=186 B=187 R=74 G=84 B=99 R=121 G=14 B=152 R=173 G=87 B=194 R=184 G=96 B=21 R=202 G=14 B=71 R=22 G=46 B=73 R=100 G=214 B=227 R=74 G=84 B=99 R=21 G=134 B=100 R=173 G=96 B=94 R=184 G=196 B=107 R=22 G=46 B=79 R=104 G=77 B=99 R=202 G=89 B=99 R=74 G=94 B=93 R=121 G=134 B=92 R=173 G=90 B=194 R=84 G=96 B=79 R=92 G=100 B=81 R=52 G=76 B=91 R=202 G=214 B=227
Citra RGB tersebut akan disisipkan pesan “saya arfiyah” yang memiliki nilai desimal dalam kode ASCII yaitu “115 97 121 97 32 97 114 102 105 121 97 104”. Pesan akan ditambahkan sebagai nilai awal secara vertikal pada pixel citra RGB. Pada awal dan akhir pesan diberi karakter penanda “zx” yang memiliki nilai desimal dalam kode ASCII yaitu “122 120”. Maka didapatlah matriks pixel seperti pada Tabel 3.4.
Tabel 3.4 MatriksPixel Citra RGB yang Telah Disisipkan Pesan dengan metode First-of-File (FOF)
(41)
G=120 B=115 G=82 B=43 G=65 B=89 G=168 B=70 G=147 B=153 G=130 B=141 G=30 B=41 G=70 B=141 R=97 G=121 B=97 R=92 G=55 B=35 R=76 G=76 B=90 R=64 G=57 B=158 R=181 G=70 B=179 R=204 G=203 B=199 R=24 G=93 B=109 R=204 G=95 B=99 R=32 G=97 B=114 R=76 G=90 B=82 R=69 G=73 B=83 R=163 G=63 B=171 R=186 G=190 B=189 R=177 G=184 B=162 R=17 G=101 B=56 R=77 G=84 B=162 R=102 G=105 B=121 R=95 G=102 B=112 R=86 G=98 B=114 R=157 G=172 B=182 R=167 G=182 B=184 R=174 G=186 B=187 R=74 G=86 B=18 R=174 G=186 B=187 R=97 G=104 B=122 R=74 G=84 B=99 R=121 G=14 B=152 R=173 G=87 B=194 R=184 G=96 B=21 R=202 G=14 B=71 R=22 G=46 B=73 R=100 G=214 B=227 R=120 G=0 B=0 R=74 G=84 B=99 R=21 G=134 B=100 R=173 G=96 B=94 R=184 G=196 B=107 R=22 G=46 B=79 R=104 G=77 B=99 R=202 G=89 B=99 R=0 G=0 B=0 R=74 G=94 B=93 R=121 G=134 B=92 R=173 G=90 B=194 R=84 G=96 B=79 R=92 G=100 B=81 R=52 G=76 B=91 R=202 G=214 B=227
Matriks tersebut yang akan dipetakan kembali dalam bentuk citra RGB yang disebut stego image.
3.1.3.3 Analisis Proses Embedding Pada Metode Kombinasi First-of-File dan End-of-File (EOFOF)
Proses embedding (penyisipan pesan) menggunakan metode First-of-File adalah sebagai berikut:
1. Inputkan citra yang akan menjadi media penyisipan pesan (cover image). 2. Inputkan pesan yang akan disisipkan.
(42)
4. Tambahkan pesan sebagai nilai awal dan akhir vertikal pixel citra dengan diberi karakter penanda sebagai penanda awal dan penanda akhir pesan.
5. Petakan menjadi citra baru.
Berikut ini merupakan contoh penyisipan pesan menggunakan metode kombinasi First-of-File dan End-of-File:
Terdapat suatu citra RGB 7x7 yang memiliki nilai setiap pixel seperti pada Tabel 3.5.
Tabel 3.5 Matriks Pixel Citra RGB R=77 G=82 B=43 R=65 G=65 B=89 R=167 G=168 B=70 R=171 G=147 B=153 R=160 G=130 B=141 R=60 G=30 B=41 R=60 G=70 B=141 R=92 G=55 B=35 R=76 G=76 B=90 R=64 G=57 B=158 R=181 G=70 B=179 R=204 G=203 B=199 R=24 G=93 B=109 R=204 G=95 B=99 R=76 G=90 B=82 R=69 G=73 B=83 R=163 G=63 B=171 R=186 G=190 B=189 R=177 G=184 B=162 R=17 G=101 B=56 R=77 G=84 B=162 R=95 G=102 B=112 R=86 G=98 B=114 R=157 G=172 B=182 R=167 G=182 B=184 R=174 G=186 B=187 R=74 G=86 B=18 R=174 G=186 B=187 R=74 G=84 B=99 R=121 G=14 B=152 R=173 G=87 B=194 R=184 G=96 B=21 R=202 G=14 B=71 R=22 G=46 B=73 R=100 G=214 B=227 R=74 G=84 B=99 R=21 G=134 B=100 R=173 G=96 B=94 R=184 G=196 B=107 R=22 G=46 B=79 R=104 G=77 B=99 R=202 G=89 B=99 R=74 G=94 B=93 R=121 G=134 B=92 R=173 G=90 B=194 R=84 G=96 B=79 R=92 G=100 B=81 R=52 G=76 B=91 R=202 G=214 B=227
Citra RGB tersebut akan disisipkan pesan “saya arfiyah” yang memiliki nilai desimal dalam kode ASCII yaitu “115 97 121 97 32 97 114 102 105 121 97 104”. Pesan akan ditambahkan sebagai nilai awaldan akhir secara vertikal pada pixel citra RGB. Pada
(43)
awal dan akhir pesan diberi karakter penanda “zx” yang memiliki nilai desimal dalam kode ASCII yaitu “122 120”. Maka didapatlah matriks pixel seperti pada Tabel 3.6.
Tabel 3.6 MatriksPixel Citra RGB yang Telah Disisipkan Pesan dengan Metode Kombinasi First-of-File dan End-of-File (EOFOF)
R=122 G=120 B=115 R=77 G=82 B=43 R=65 G=65 B=89 R=167 G=168 B=70 R=171 G=147 B=153 R=160 G=130 B=141 R=60 G=30 B=41 R=60 G=70 B=141 R=122 G=120 B=97 R=121 G=32 B=114 R=92 G=55 B=35 R=76 G=76 B=90 R=64 G=57 B=158 R=181 G=70 B=179 R=204 G=203 B=199 R=24 G=93 B=109 R=204 G=95 B=99 R=97 G=97 B=102 R=105 G=97 B=122 R=76 G=90 B=82 R=69 G=73 B=83 R=163 G=63 B=171 R=186 G=190 B=189 R=177 G=184 B=162 R=17 G=101 B=56 R=77 G=84 B=162 R=121 G=104 B=120 R=0 G=0 B=0 R=95 G=102 B=112 R=86 G=98 B=114 R=157 G=172 B=182 R=167 G=182 B=184 R=174 G=186 B=187 R=74 G=86 B=18 R=174 G=186 B=187 R=0 G=0 B=0 R=0 G=0 B=0 R=74 G=84 B=99 R=121 G=14 B=152 R=173 G=87 B=194 R=184 G=96 B=21 R=202 G=14 B=71 R=22 G=46 B=73 R=100 G=214 B=227 R=0 G=0 B=0 R=0 G=0 B=0 R=74 G=84 B=99 R=21 G=134 B=100 R=173 G=96 B=94 R=184 G=196 B=107 R=22 G=46 B=79 R=104 G=77 B=99 R=202 G=89 B=99 R=0 G=0 B=0 R=0 G=0 B=0 R=74 G=94 B=93 R=121 G=134 B=92 R=173 G=90 B=194 R=84 G=96 B=79 R=92 G=100 B=81 R=52 G=76 B=91 R=202 G=214 B=227 R=0 G=0 B=0
Matriks tersebut yang akan dipetakan kembali dalam bentuk citra RGB yang disebut stego image.
3.2 Perancangan Sistem
(44)
Terdapat dua proses utama dalam sistem ini, yaitu proses penyisipan pesan (embedding) dan proses ekstraksi pesan (extraction). Keseluruhan proses tersebut dapat dilihat pada flowchart gambaran umum sistem pada Gambar 3.1.
Mulai
Exit? Embed Extract? Help?
Halaman Embed
Pilih cover image
Masukkan pesan
Embedding
Selesai
Halaman Extract
Pilih stego image
Extraction
Pesan
Halaman Help Ya
Ya Ya
Ya
Tidak Tidak Tidak
Input cover image
Tidak
Ya Stego
Image
MSE
Hitung nilai MSE
Tampilkan nilai MSE
Gambar 3.1Flowchart Gambaran Umum Sistem 3.2.1.1 Flowchart Proses Embedding pada Metode End-of-File (EOF)
(45)
Flowchart proses penyisipan pesan ke dalam media file citra dengan menggunakan metode End-of-File dapat dilihat pada Gambar 3.2.
Mulai
Pilih File citra yang akan menjadi media
penyisipan pesan
Masukkan Pesan yang akan disisip
Baca nilai setiap pxel ke citra
ProsesEnd-of-File (EOF)
Petakan sebagai File citra baru
Stego image
Simpan Stego image
Stego image.bmp
Selesai
Gambar 3.2Flowchart Proses Embedding pada Metode End-of-File (EOF)
(46)
Flowchart proses pengambilan pesan dari dalam media file citra dengan menggunakan metode End-of-File dapat dilihat pada Gambar 3.3.
Mulai
Masukkan stego image
Baca nilai pixel stego image yang terdapat pada baris terakhir
vertikal matriks pixel citra
Ambil pesan yang terdapat pada stego image yaitu nilai pixel awal yang terdapat pada baris terakhir vertikal matriks pixel citra sampai nilai desimal karakter penanda
Pesan
Selesai
Gambar 3.3Flowchart Proses Extractionpada Metode End-of-File (EOF)
3.2.1.3Flowchart Proses Embedding pada Metode First-of-File (FOF)
Flowchart proses penyisipan pesan ke dalam media file citra dengan menggunakan metode First-of-File dapat dilihat pada Gambar 3.4.
(47)
Mulai
Pilih File citra yang akan menjadi media
penyisipan pesan
Masukkan pesan yang akan disisip
Baca nilai setiap pxel ke citra
Proses First-of-File (FOF)
Petakan sebagai File citra baru
Stego image
Simpan Stego image
Stego image.bmp
Selesai
Gambar 3.4Flowchart ProsesEmbeddingpada Metode First-of-File (FOF)
3.2.1.4Flowchart Proses Extraction pada Metode First-of-File (FOF)
Flowchart proses pengambilan pesan dari dalam media file citra dengan menggunakan metode First-of-File dapat dilihat pada Gambar 3.5.
(48)
Mulai
Masukkan stego image
Baca nilai pixel stego image yang terdapat pada baris pertama
vertikal matriks pixel citra
Ambil pesan yang terdapat pada stego image yaitu nilai pixel awal yang terdapat pada baris pertama vertikal matriks pixel citra sampai nilai desimal karakter penanda
Pesan
Selesai
Gambar 3.5Flowchart Proses Extractionpada Metode First-of-File (FOF)
3.2.1.5Flowchart Proses Embeddingpada Metode Kombinasi First-of-File dan End-of-File (EOFOF)
Flowchart proses penyisipan pesan ke dalam media file citra dengan menggunakan metode kombinasi End-of-File dan First-of-File dapat dilihat pada Gambar 3.6.
(49)
Mulai
Pilih File citra yang akan menjadi media
penyisipan pesan
Masukkan pesan yang akan disisip
Baca nilai setiap pxel ke citra
Proses kombinasi First-of-File dan End-of-File (EOFOF)
Petakan sebagai File citra baru
Stego image
Simpan Stego image
Stego image.bmp
Selesai
Gambar 3.6Flowchart Proses Embeddingpada Metode Kombinasi End-of-File danFirst-of-File(EOFOF)
3.2.1.6Flowchart Proses Extractionpada Metode Kombinasi First-of-File dan End-of-File (EOFOF)
Flowchart proses pengambilan pesan dari dalam media file citra dengan menggunakan metode kombinasi End-of-File dan First-of-File dapat dilihat pada Gambar 3.7.
(50)
Mulai
Masukkan stego image
Baca nilai pixel stego image yang terdapat pada baris pertama dan terakhir vertikal matriks pixel citra
Ambil pesan yang terdapat pada stego image yaitu nilai pixel awal yang terdapat
pada baris pertama dan baris terakhir vertikal matriks pixel citra sampai nilai
desimal karakter penanda
Pesan
Selesai
Gambar 3.7Flowchart Proses Extractionpada Metode Kombinasi End-of-File danFirst-of-File(EOFOF)
3.2.2 Use Case Diagram
Use case diagram merupakan suatu diagram untuk memodelkan interaksi atau dialog antara sistem dengan user (pengguna) termasuk pertukaran pesan atau tindakan yang dilakukan oleh sistem. Use case diagram diprakarsai oleh aktor yang dapat berupa manusia. Perangkat keras, atau sistem lain yang berinteraksi dengan sistem . Use case diagram sistem ini dapat dilihat pada Gambar 3.8.
(51)
Penyisipan Input Cover
Image
Input Stego Image
Ekstraksi
Menghitung MSE Embedding FOF, EOF,
Kombinasi FOF-EOF
Extraction FOF, EOF, Kombinasi FOF-EOF
User
Input Pesan System
<<uses>>
<<uses>> <<uses>>
<<extends>> <<extends>>
Gambar 3.8Use Case Diagram Sistem
3.2.2.1 Use Case Embedding FOF, EOF, Kombinasi FOF-EOF
Spesifikasi use case embedding FOF, EOF, Kombinasi FOF-EOFdapat dilihat pada Tabel 3.7.
(52)
Tabel 3.7 Spesifikasi Use Case Embedding FOF, EOF, Kombinasi FOF-EOF
Name Embedding FOF, EOF, Kombinasi FOF-EOF
Actors Pengguna
Trigger Pengguna memilih submenu Embed.
Preconditions Pengguna menggunakan aplikasi sistem keamanan data (Steganografi).
Post Conditions Pengguna dapat melihat hasil penyisipan pesan ke dalam gambar.
Success Scenario 1. Pengguna mengeksekusi menu File.
2. Pengguna memilih submenu Embed.
3. Sistem menampilkan halaman Embed.
4. Pengguna mengeksekusi tombol Open Image kemudian memilih gambar yang akan dijadikan cover image.
5. Pengguna menginputkan pesan yang akan disisip secara manual atau dapat juga mengeksekusi tombol Open *txt
kemudian memilih pesan yang akan disisipkan ke dalam
cover imagekemudian mengeksekusi tombol Embed.
6. Sistem melakukan proses penyisipan pesan dan menampilkan hasilnya.
7. Pengguna dapat melihat hasil penyisipan pesan ke dalam gambar.
Alternative Flows -
3.2.2.2 Use Case InputCover Image
Spesifikasi use case input cover image dapat dilihat pada Tabel 3.8.
Tabel 3.8 Spesifikasi Use caseInput cover image
(53)
Trigger Pengguna memilih submenu Embed. Preconditions Pengguna mengakses submenu Embed.
Post Conditions Sistem menampilkan gambar yang telah dipilih menjadi cover image.
Success Scenario 1. Pengguna mengeksekusi tombol Open image.
2. Sistem menampilkan pop-up window Open BitmapFile untuk menampilkan lokasi penyimpanan gambar.
3. Pengguna memilih gambar yang akan dijadikan cover image.
4. Sistem menampilkan gambar yang telah dipilih menjadi
cover image oleh pengguna.
5. Pengguna dapat melihat gambar yang telah dipilih menjadi
cover image. Alternative Flows -
3.2.2.3Use case input pesan
Spesifikasi use case input pesandapat dilihat pada Tabel 3.9.
Tabel 3.9 Spesifikasi Use case input Pesan
Name Input pesan
Actors Pengguna
Trigger Pengguna telah memilih gambar yang menjadi cover image. Preconditions Pengguna mengakses submenu Embed.
Post Conditions Pengguna dapat melihat pesan yang akan disisip.
Success Scenario Pengguna menginputkan pesan yang akan disisip ke dalam text box message.
Alternative Flows -
3.2.2.4Use Case Pilih pesan
Spesifikasi use case pilih pesandapat dilihat pada Tabel 3.10.
Tabel 3.10 Spesifikasi Use casePilih pesan
(54)
Actors Pengguna
Trigger Pengguna telah memilih gambar yang menjadi cover image. Preconditions Pengguna mengakses submenu Embed.
Post Conditions Pengguna dapat melihat pesan yang akan disisip.
Success Scenario 1. Pengguna mengeksekusi tombol Open *txt.
2. Sistem menampilkan pop-up window Open Text File untuk menampilkan lokasi penyimpanan pesan.
3. Pengguna memilih pesan yang akan disisip ke dalamcover image.
4. Sistem menampilkan pesan yang telah dipilih ke dalam text box message.
Alternative Flows -
3.2.2.5Use Case Penyisipan
Spesifikasi use case penyisipandapat dilihat pada Tabel 3.11.
Tabel 3.11 Spesifikasi Use case Penyisipan
Name Penyisipan
Actors Pengguna
Trigger Pengguna telah menginputkan pesan yang akan disisip.
Preconditions Pengguna mengakses submenu Embed.
Post Conditions Sistem menampilkan hasil penyisipan pesan ke dalam gambar.
Success Scenario 1. Pengguna telah memilih gambar yang akan dijadikan cover image.
2. Pengguna menginputkan pesan yang akan disisip kemudian mengeksekusi tombol Embed.
3. Sistem melakukan proses penyisipan pesan ke dalam cover image dan menampilkan hasilnya.
4. Pengguna dapat melihat hasil penyisipn pesan ke dalamcover imageyang berupa stego image.
(55)
Spesifikasi use case extraction FOF, EOF, Kombinasi FOF-EOF dapat dilihat pada Tabel 3.12.
Tabel 3.12 Spesifikasi Use case Extraction FOF, EOF, Kombinasi FOF-EOF Name Extraction FOF, EOF, Kombinasi FOF-EOF
Actors Pengguna
Trigger Pengguna telah memilih submenu Extract.
Preconditions Pengguna menggunakan aplikasi sistem keamanan data (Steganografi).
Post Conditions Pengguna dapat melihat hasil ekstraksi yang berupa pesan.
Success Scenario 1. Pengguna mengeksekusi menu File.
2. Pengguna memilih submenu Extract.
3. Sistem menampilkan halaman Extract.
4. Pengguna mengeksekusi tombol Open untuk memilih stego image.
5. Sistem menampilkan stego image yang dipilih oleh pengguna.
6. Pengguna mengeksekusi tombol Extract.
7. Sistem melakukan proses ekstraksi dan menampilkan hasilnya.
8. Pengguna dapat melihat hasil ekstraksi berupa pesan.
Alternative Flows -
3.2.2.7Use Case Input Stego Image
Spesifikasi use case input stego image dapat dilihat pada Tabel 3.13.
Tabel 3.13 Spesifikasi Use case Input Stego Image
Name Inputstego image
Actors Pengguna
Trigger Pengguna memilih submenu Extract. Preconditions Pengguna mengakses submenu Extract.
Post Conditions Sistem menampilkan stego image yang dipilih oleh pengguna. Success Scenario 1. Pengguna mengeksekusi tombol Open untuk memilih stego
(56)
image.
2. Sistem menampilkan pop-up window Open Stego Imageuntuk menampilkan lokasi penyimpanan gambar.
3. Pengguna memilih stego image yang akan diekstraksi.
4. Sistem menampilkan stego image yang telah dipiliholeh pengguna.
5. Pengguna dapat melihat stego image yang telah dipilih.
Alternative Flows -
3.2.2.8Use Case Ekstraksi
Spesifikasi use case ekstraksidapat dilihat pada Tabel 3.14.
Tabel 3.14 Spesifikasi Use case Ekstraksi
Name Ekstraksi
Actors Pengguna
Trigger Pengguna telah memilih stego image yang akan diekstraksi.
Preconditions Pengguna mengeksekusi submenu Extract.
Post Conditions Sistem menampilkan hasil ekstraksi yang berupa pesan.
Success Scenario 1. Pengguna telah memilih stego image kemudian mengeksekusi tombol Extract.
2. Sistem melakukan proses ekstraksi dan menampilkan hasilnya yang berupa pesan.
3. Pengguna dapat melihat hasil ekstraksi yang berupa pesan. Alternative Flows -
3.2.2.9Use Case Menghitung MSE
Spesifikasi use case menghitung msedapat dilihat pada Tabel 3.15.
Tabel 3.15 Spesifikasi Use case Menghitung MSE
Name Menghitung MSE
(57)
MSE-nya.
Preconditions Pengguna mengeksekusi tombol Statistic. Post Conditions Sistem menampilkan nilai MSE.
Success Scenario 1. Pengguna mengeksekusi tombol Open.
2. Sistem menampilkan pop-up window Open BitmapFile
untuk menampilkan lokasi penyimpanan gambar.
3. Pengguna telah memilih gambar asli (cover image).
4. Pengguna mengeksekusi tombol Open selanjutnya. 5. Sistem menampilkan pop-up window Open Stego
Imageuntuk menampilkan lokasi penyimpanan gambar.
6. Pengguna telah memilih stego image yang akan dihitung nilai MSE-nya kemudian mengeksekusi tombol MSE. 7. Sistem melakukan proses perhitungan nilai MSE dan
menampilkan hasilnya.
8. Pengguna dapat melihat hasil perhitungan nilai MSE.
Alternative Flows -
3.2.3 Activity Diagram
Activity diagram adalah diagram aktivitas yang mendeskripsikan proses kerja dalam sebuah sistem yang sedang berjalan. Dalam diagram aktivitas ini maka akan dijelaskan proses kerja dari sistem embedding dan extraction yang dilakukan oleh pengguna (user)embedding dan extraction pada file citra.
(58)
3.2.3.1 Activity Diagram Proses Embedding
Input cover image (*.bmp)
Embedding FOF, EOF, Kombinasi FOF-EOF
User System
Tampikan cover image yang dipilih
Input pesan rahasia (*.txt)
Menampilkan Stego Image (*.bmp)
(59)
3.2.3.2 Activity Diagram Proses Extraction
Input stego image (*.bmp)
Extraction FOF, EOF, Kombinasi FOF-EOF
User System
Tampikan stego image yang dipilih
Menampilkan Pesan rahasia
Menghitung nilai MSE
Input cover image (*.bmp)
Input stego image
(*.bmp) Hitung nilai MSE
Menampilkan nilai MSE
Ya Tidak
Gambar 3.10Activity DiagramProses Extraction
(60)
Pseudocode adalah deskripsi atau penjelasan dari algoritma pemrograman komputer yang menggunakan struktur sederhana dari beberapa bahasa pemrograman. Pseudocode biasanya dapat ditulis berupa variable dan fungsi. Tujuan utama digunakan pseudocode adalah untuk memudahkan dalam memahami prinsip-prinsip dari suatu algoritma.
3.2.4.1Pseudocode Proses Embedding
Langkah-langkah proses embedding atau penyisipan pesan pada media file citra menggunakan 3 (tiga) metode steganografi End-of-File, First-of-File dan kombinasi First-of-File dan End-of-File. Untuk proses embedding dengan metode End-of-File dapat dilihat dilihat pada pseudocode berikut:
penanda1 'zx’
m [penanda1 m penanda1] [d e] size(m)
cover handles.image cover double(cover) [b k c] size(cover) x k
status 1 status2 false while (~status2) x x + 1
for i = 1:1:k
cover(i,x,1) m(status) status status + 1 if (status > e)
status2 true break
endif
cover(i,x,2) m(status) status status + 1 if (status > e)
status2 true break
(61)
cover(i,x,3) m(status) status status + 1 if (status > e)
status2 true break
endif endfor
if status2 == true break
end
end
stego1 uint8(cover)
Pada pseudocode diatas diinisialisasikan terlebih dahulu penanda awal dan penanda akhir yang digunakan yaitu ‘zx’ kemudian menginisialisasikan baris dan kolom pada pixel citra. Proses penyisipan pesan rahasia ke dalam citra digital akan dilakukan secara vertikal pada nilai akhir matriks citra. Proses penyisipan secara vertikal yang dimaksud adalah terjadinya penambahan kolom pada akhir matriks citra dan jika tidak terjadi penambahan baris maka akan diberi nilai nol secara otomatis. Pesan rahasia yang disisipkan akan dipetakan menjadi citra baru rgb.
Proses embedding pada metode First-of-File juga dapat dilihat pada pseudocode berikut ini:
fof(:,:,:) 0 for i = 1:1:b
fof(i,1,1) 0 endfor
x 0 status 1 status2 false while (true)
x x + 1 for i = 1:1:k
fof(i,x,1) m(status) status status + 1 if (status > e) status2 true break
(62)
endif
fof(i,x,2) m(status) status status + 1 if (status > e) status2 true break
endif
fof(i,x,3) m(status) status status + 1 if (status > e) status2 <- true break
endif endfor
if status2 == true break
endif endfor
fof [fof awal] stego2 uint8(fof)
Pada pseudocode diatas memiliki proses yang sama dalam penyisipan pesan rahasia dengan metode End-of-File. Akan tetapi pada metode First-of-File proses penyisipan pesan rahasia ke dalam citra digital akan dilakukan secara vertikal pada nilai awal matriks citra. Proses penyisipan secara vertikal yang dimaksud adalah terjadinya penambahan kolom pada awal matriks citra dan jika tidak terjadi penambahan baris maka akan diberi nilai nol secara otomatis. Pesan rahasia yang disisipkan akan dipetakan menjadi citra baru rgb.
Proses embedding pada metode kombinasi First-of-File dan End-of-File dapat dilihat pada pseudocode berikut ini:
penanda1 'zzxx' m [penanda1 m 'zx'] [d e] size(m)
x 0 status 1 status2 false
(1)
if ~isequal(fileName,0)
handles.image=imread(fullfile(pathName, fileName)); guidata(hObject,handles);
axes(handles.Stego3); imshow(handles.image); else
return; end;
function btnOpen4_Callback(hObject, eventdata, handles)
[fileName, pathName] = uigetfile({'*.bmp','File bmp (*.bmp)'},'Open Image');
if ~isequal(fileName,0)
handles.image=imread(fullfile(pathName, fileName)); guidata(hObject,handles);
axes(handles.Stego4); imshow(handles.image); else
return; end;
function Mse3_Callback(hObject, eventdata, handles) function Mse3_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white'); end
function Mse2_Callback(hObject, eventdata, handles) function Mse2_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white'); end
function Mse1_Callback(hObject, eventdata, handles) function Mse1_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white'); end
% ---
function Menu_Callback(hObject, eventdata, handles) Menu
% ---
function File_Callback(hObject, eventdata, handles)
% ---
function Embedd_Callback(hObject, eventdata, handles) EOFOF
(2)
% ---
function Extract_Callback(hObject, eventdata, handles) Extract1
% ---
function MSE_Callback(hObject, eventdata, handles) Statistic
% ---
function Help_Callback(hObject, eventdata, handles) Help
% ---
function Exit_Callback(hObject, eventdata, handles) choice= questdlg ('Do you want to exit?','confirm',... 'Yes','No','No');
switch choice case 'Yes' close all; end
function btnMse_Callback(hObject, eventdata, handles) Stego1 = getimage(handles.Stego1);
StegoA = double(Stego1); [b1 k1 c]= size (StegoA);
Stego2 = getimage(handles.Stego2); StegoB = double(Stego2);
[b2 k2 c]= size (StegoB);
Stego3 = getimage(handles.Stego3); StegoC = double(Stego3);
[b3 k3 c]= size (StegoC);
Stego4 = getimage(handles.Stego4); StegoD = double(Stego4);
[b4 k4 c]= size (StegoD); C1= StegoA;
C1(1,1,1)
if(b1==b2 && k1==k2) C2= StegoB;
dC= double(C1) - double(C2); mse= (dC(:).^2);
p= length(mse);
mse1= (sum(mse(1:p))/p);
set(handles.Mse1,'String',mse1); else
msgbox({'Image 1 ~= Image 2'}','Message','modal'); end
if(b1==b3 && k1==k3) C3= StegoC;
dC= double(C1) - double(C3); mse= (dC(:).^2);
(3)
p= length(mse);
mse2= (sum(mse(1:p))/p);
set(handles.Mse2,'String',mse2); else
msgbox({'Image 1 ~= Image 3'}','Message','modal'); end
if(b1==b4 && k1==k4) C4= StegoD;
dC= double(C1) - double(C4); mse= (dC(:).^2);
p= length(mse);
mse3= (sum(mse(1:p))/p);
set(handles.Mse3,'String',mse3); else
msgbox({'Image 1 ~= Image 4'}','Message','modal'); end
% ---
function Close_Callback(hObject, eventdata, handles) close
% --- Executes on button press in reset.
function reset_Callback(hObject, eventdata, handles) set(handles.Mse1, 'string', '');
set(handles.Mse2, 'string', ''); set(handles.Mse3, 'string', '');
Kode Program Figure Help:
function varargout = Help(varargin) gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @Help_OpeningFcn, ... 'gui_OutputFcn', @Help_OutputFcn, ... 'gui_LayoutFcn', [] , ...
'gui_Callback', []); if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1}); end
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else
gui_mainfcn(gui_State, varargin{:}); end
function Help_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;
guidata(hObject, handles);
function varargout = Help_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;
(4)
function edit1_Callback(hObject, eventdata, handles) function edit1_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white'); end
function edit2_Callback(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white'); end
function edit3_Callback(hObject, eventdata, handles) function edit3_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white'); end
function edit4_Callback(hObject, eventdata, handles) function edit4_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white'); end
%
-function home_Callback(hObject, eventdata, handles) Menu
%
-function file_Callback(hObject, eventdata, handles)
%
-function Embedd_Callback(hObject, eventdata, handles) EOFOF
%
-function extract_Callback(hObject, eventdata, handles) Extract1
%
-function close_Callback(hObject, eventdata, handles) close
%
(5)
-function help_Callback(hObject, eventdata, handles) Help
%
-function exit_Callback(hObject, eventdata, handles) choice= questdlg ('Do you want to exit?','confirm',... 'Yes','No','No');
switch choice case 'Yes' close all; end
(6)