ANALISIS DAN EKSTRAKSI STEGO-OBJEK DENGAN MENGGUNAKAN METODE STEGANALISIS ENHANCED LSB
SKRIPSI
ANGGARANI NOVITASARI 061401051
PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA MEDAN 2010
Universitas Sumatera Utara
ANALISIS DAN EKSTRAKSI STEGO-OBJEK DENGAN MENGGUNAKAN METODE STEGANALISIS ENHANCED LSB
SKRIPSI
Diajukan untuk melengkapi tugas dan memehuhi syarat mencapai gelar Sarjana Komputer
ANGGARANI NOVITASARI 061401051
PROGRAM STUDI S1 ILMU KOMPUTER DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA MEDAN 2010
Universitas Sumatera Utara
PERSETUJUAN
Judul :
Kategori : Nama : Nomor Induk Mahasiswa Program Studi : Departemen : Fakultas :
ANALISIS DAN EKSTRAKSI STEGO-OBJEK DENGAN MENGGUNAKAN METODE STEGANALISIS ENHANCED LSB SKRIPSI ANGGARANI NOVITASARI : 061401051 SARJANA (S1) ILMU KOMPUTER ILMU KOMPUTER MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA
Diluluskan di Medan, 18 Desember 2010 Komisi Pembimbing : Pembimbing II
Pembimbing I
M. Andri B., ST., MCompSc., MEM NIP 197510082008011011
Prof. Dr. Muhammad Zarlis NIP 195707011986011003
Diketahui/Disetujui oleh Departemen Ilmu Komputer FMIPA USU Ketua,
Prof. Dr. Muhammad Zarlis NIP 195707011986011003
Universitas Sumatera Utara
PERNYATAAN
ANALISIS DAN EKSTRAKSI STEGO-OBJEK DENGAN MENGGUNAKAN METODE STEGANALISIS ENHANCED LSB
SKRIPSI
Saya mengakui bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, 28 November 2010
ANGGARANI NOVITASARI 061401051
Universitas Sumatera Utara
PENGHARGAAN
Alhamdulillah. Puji dan syukur saya panjatkan kepada Allah SWT. yang melimpahkan rahmat dan karunia-Nya sehingga srkipsi ini berhasil diselesaikan dalam waktu yang telah ditetapkan sebagai syarat untuk mendapatkan gelar Sarjana Komputer pada Program Studi S1 Ilmu Komputer FMIPA USU. Ucapan terima kasih saya sampaikan kepada Bapak Prof. Dr. Muhammad Zarlis, selaku Ketua Departemen Ilmu Komputer FMIPA USU dan Dosen Pembimbing I, dan Bapak Mohammad Andri Budiman, ST, MCompSc, MEM, selaku Dosen Pembimbing II, pada penyelesaian skripsi ini yang telah memberikan panduan dan penuh kepercayaan kepada saya untuk menyempurnakan skripsi ini. Panduan ringkas dan padat serta profesional telah diberikan kepada saya sehingga saya dapat menyelesaikan skripsi ini dengan baik. Ucapan terima kasih juga ditujukan kepada Bapak Drs. Marihat Situmorang, M.Kom dan Bapak Amer Sharif, S.Si, M.Kom yang telah bersedia menjadi dosen pembanding. Ucapan terima kasih juga ditujukan kepada Sekretaris Departemen Ilmu Komputer FMIPA USU, Bapak Syahriol Sitorus, S.Si, MIT, Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, semua dosen dan pegawai pada Program Studi S1 Ilmu Komputer FMIPA USU. Skripsi ini terutama saya persembahkan untuk ayahanda dan ibunda tercinta, Ides Hatarino dan Endang Sutarsih, atas semua yang telah diperjuangkan dan tak ternilai harganya. Untuk adik-adik tersayang, Aprianto Samah dan Afriavinika Hanggialevi, beserta seluruh keluarga besar yang selalu memberikan dukungan dan doa kepada saya. Terima kasih saya ucapkan kepada Fadly Fauzi, Rury Handayani, Surya Wijaya, Muhammad Alvin, Rifki R. Ashari Lubis, Alfarisi, Izhari Ishak Aksa, teman-teman RCS, teman-teman di Program Studi S1 Ilmu Komputer (terutama angkatan 2006), dan seluruh teman saya lainnya yang tidak disebutkan. Sekali lagi saya mengucapkan terima kasih kepada semua pihak yang telah membantu penyelesaian skripsi ini yang tidak dapat disebutkan satu per satu. Semoga Allah SWT. membalas semua kebaikan yang telah kalian berikan.
Universitas Sumatera Utara
ABSTRAK
Penyisipan pesan ke dalam suatu media, baik gambar, video, atau pun suara, menjadi salah satu cara aman untuk menyampaikan pesan ke tujuan tanpa diketahui orang lain. Metode penyisipan pesan yang cukup sederhana dan mudah dilakukan adalah Least Significant Bit (LSB). Penelitian ini bertujuan untuk mendeteksi ada tidaknya pesan tersembunyi pada gambar bitmap. Oleh karena itu, dibangun suatu aplikasi steganalisis dengan menggunakan metode steganalisis Enhanced LSB. Enhanced LSB merupakan suatu metode steganalisis untuk mendeteksi pesan rahasia pada gambar yang telah disisipi pesan secara LSB. Perancangan aplikasi ini meggunakan notasi pemodelan Unified Modeling Language. Aplikasi ini dikembangkan dengan menggunakan bahasa pemrograman Java dalam platform IDE NetBeans 6.8. Aplikasi yang dibangun memiliki fungsi untuk menyisipkan pesan, melakukan proses steganalisis, dan mengekstraksi pesan dari gambar.
Universitas Sumatera Utara
ANALYSIS AND EXTRACTION OF STEGO-OBJECT USING STEGANALYSIS METHOD OF ENHANCED LSB
ABSTRACT
Messages insertion into a media, whether it is an image, a video, or a sound, is one way safe way to convey messages to the destination without knowing by others. A quite simple and easy messages insertion method to do is Least Significant Bit (LSB). This study is aimed to detect the existence of hidden messages in a bitmap image. Therefore, a steganalysis application is built using Enhanced LSB steganalysis method. Enhanced LSB is a steganalysis method to detect hidden messages in a LSB inserted image. The design of the application use modeling notation of Unified Modeling Language. This application was is developed using Java programming language in NetBeans IDE 6.8 platform. The application is built with functions to insert a message into an image, to do steganalysis process, and to extract the message from an image.
Universitas Sumatera Utara
DAFTAR ISI
Halaman Persetujuan Pernyataan Penghargaan Abstrak Abstract Daftar Isi Daftar Tabel Daftar Gambar Bab 1 Pendahuluan 1.1 Latar Belakang 1.2 Rumusan Masalah 1.3 Batasan Masalah 1.4 Tujuan Penelitian 1.5 Manfaat Penelitian 1.6 Metodologi Penelitian 1.7 Sistematika Penulisan
ii iii iv v vi vii x xi 1 1 2 3 3 3 4 5
Bab 2 Tinjauan Teoretis 2.1 Citra Digital 2.1.1 Konsep dasar citra digital 2.1.1.1 Format citra digital 2.1.1.2 Elemen dasar citra digital 2.1.1.3 Struktur data citra digital 2.1.2 Citra bitmap 2.2 Steganografi 2.2.1 Konsep dan terminologi 2.2.2 Teknik penyembunyian data 2.2.3 Least significant bit 2.3 Steganalisis 2.3.1 Enhanced LSB
6 6 6 7 12 13 13 17 17 19 19 23 23
Bab 3 Analisis dan Perancangan Sistem 3.1 Analisis Sistem 3.1.1 Citra digital bitmap 3.1.2 Metode steganalisis 3.1.3 Tindak lanjut terhadap pesan rahasia 3.1.4 Analisis cara kerja sistem 3.1.5 Pemodelan sistem 3.1.6 Bahasa pemrograman
25 25 25 26 27 27 28 30
Universitas Sumatera Utara
3.2 Perancangan Sistem 30 3.2.1 Gambaran umum sistem 3.2.2 Use case diagram 3.2.2.1 Use case Steganografi 3.2.2.2 Use case Pilih Gambar (menu Steganografi) 3.2.2.3 Use case Tulis Pesan 3.2.2.4 Use case Sisip 3.2.2.5 Use case Steganalisis 3.2.2.6 Use case Pilih Gambar (menu Steganalisis) 3.2.2.7 Use case Analisis 3.2.2.8 Use case Ekstraksi Pesan 3.2.2.9 Use case Pilih Gambar (menu Ekstraksi Pesan) 3.2.2.10 Use case Ekstraksi 3.2.3 Activity diagram 3.2.3.1 Activity diagram untuk use case Steganografi 3.2.3.2 Activity diagram untuk use case Pilih Gambar (menu Steganografi) 3.2.3.3 Activity diagram untuk use case Tulis Pesan 3.2.3.4 Activity diagram untuk use case Sisip 3.2.3.5 Activity diagram untuk use case Steganalisis 3.2.3.6 Activity diagram untuk use case Pilih Gambar (menu Steganalisis) 3.2.3.7 Activity diagram untuk use case Analisis 3.2.3.8 Activity diagram untuk use case Ekstraksi Pesan 3.2.3.9 Activity diagram untuk use case Pilih Gambar (menu Ekstraksi Pesan) 3.2.3.10 Activity diagram untuk use case Ekstraksi 3.2.4 Class diagram 3.2.5 Sequence diagram 3.2.5.1 Sequence diagram untuk proses penyisipan pesan dengan metode LSB 3.2.5.2 Sequence diagram untuk metode Enhanced LSB 3.2.5.3 Sequence diagram untuk proses ekstraksi pesan 3.2.6 Perancangan antarmuka sistem 3.2.6.1 Halaman utama aplikasi 3.2.6.2 Halaman steganografi 3.2.6.3 Halaman steganalisis 3.2.6.4 Halaman ekstraksi pesan Bab 4 Implementasi dan Pengujian Sistem 4.1 Implementasi 4.1.1 Konfigurasi perangkat keras 4.1.2 Konfigurasi perangkat lunak 4.1.3 Tampilan penggunaan aplikasi 4.1.3.1 Halaman utama aplikasi 4.1.3.2 Halaman steganografi 4.1.3.3 Halaman steganalisis 4.1.3.4 Halaman ekstraksi pesan 4.2 Metode Enhanced LSB
30 31 33 33 34 35 35 36 37 37 38 39 39 39 40 41 42 42 43 44 45 45 46 47 48 49 51 52 52 53 53 54 55 57 57 57 58 58 58 59 60 60 61
Universitas Sumatera Utara
4.3 Pengujian Sistem 4.3.1 Proses steganografi 4.3.1.1 Halaman steganografi 4.3.1.2 Pilih gambar 4.3.1.3 Tulis pesan 4.3.1.4 Sisip 4.3.1.5 Hasil steganografi 4.3.1.5.1 Gambar hasil steganografi 4.3.1.5.2 Bit-bit hasil steganografi 4.3.2 Proses steganalisis 4.3.2.1 Halaman steganalisis 4.3.2.2 Pilih gambar 4.3.2.3 Analisis 4.3.2.4 Hasil steganalisis 4.3.2.4.1 Gambar hasil steganalisis 4.3.2.4.1 Bit-bit hasil steganalisis 4.3.3 Proses ekstraksi pesan 4.3.3.1 Halaman ekstraksi pesan 4.3.3.2 Pilih gambar 4.3.3.3 Esktraksi 4.3.3.4 Pesan hasil ekstraksi
62 63 63 63 65 66 67 67 68 69 70 70 71 73 73 74 75 76 76 77 78
Bab 5 Kesimpulan dan Saran 5.1 Kesimpulan 5.2 Saran
79 79 79
Daftar Pustaka
81
Lampiran A: Source Code Program Class Metode Lampiran B: Source Code Program Class Bitmap
83 86
Universitas Sumatera Utara
DAFTAR TABEL
Halaman Tabel 3.1 Spesifikasi Use Case Steganografi Tabel 3.2 Spesifikasi Use Case Pilih Gambar (menu Steganografi) Tabel 3.3 Spesifikasi Use Case Tulis Pesan Tabel 3.4 Spesifikasi Use Case Sisip Tabel 3.5 Spesifikasi Use Case Steganalisis Tabel 3.6 Spesifikasi Use Case Pilih Gambar (menu Steganalisis) Tabel 3.7 Spesifikasi Use Case Analisis Tabel 3.8 Spesifikasi Use Case Ekstraksi Pesan Tabel 3.9 Spesifikasi Use Case Pilih Gambar (menu Ekstraksi Pesan) Tabel 3.10 Spesifikasi Use Case Ekstraksi Tabel 3.311 Kegunaan Class-Class pada Class Diagram Aplikasi Steganalisis
33 33 34 35 35 36 37 37 38 39 48
Universitas Sumatera Utara
DAFTAR GAMBAR
Halaman Gambar 2.1 Contoh Citra Biner Berukuran 9x7 Pixel dan Representasinya dalam Data Digital Gambar 2.2 Contoh Citra Biner Gambar 2.3 Contoh Citra Skala Keabuan 4-Bit dan Representasinya dalam Data Digital Gambar 2.4 Contoh Citra Skala Keabuan 8-Bit Gambar 2.5 Format Penyimpanan Warna RGB Gambar 2.6 Contoh Kombinasi Warna RGB sehingga Menghasilkan Warna Kuning Gambar 2.7 Contoh Citra Warna dan Representasinya dalam Data Digital Gambar 2.8 Contoh Citra RGB Gambar 2.9 Contoh Palet Warna Citra Berindeks 4-Bit Gambar 2.10 Aras Warna Citra Digital 1-Bit Gambar 2.11 Aras Abu-Abu dan Aras Warna pada Citra Digital 4-Bit Gambar 2.12 Aras Abu-Abu dan Aras Warna pada Citra Digital 8-Bit Gambar 2.13 Aras Abu-Abu dan Aras Warna pada Citra Digital 24-Bit (RGB) Gambar 2.14 Contoh Struktur Data Citra Digital Gambar 2.15 Format Data File Bitmap Gambar 2.16 Berkas Header Bitmap Gambar 2.17 Berkas Image Bitmap berupa Information Header Gambar 2.18 Berkas Image Bitmap berupa Core Header Gambar 2.19 Berkas Palet Warna Bitmap Gambar 2.20 Contoh Berkas Data Bitmap 2x2 Pixel, 24-Bit Gambar 2.21 Contoh Covertext, Hiddentext, dan Stegotext Gambar 2.22 Diagram Penyisipan dan Ekstraksi Pesan Gambar 2.23 Diagram Penyisipan dan Ekstraksi Pesan Gambar 2.24 Kata “secret” Direpresentasikan dalam Bentuk Biner Gambar 2.25 Contoh Data Media Penampung Sebelum Disisipi Pesan Gambar 2.26 Contoh Data yang Akan Disisipkan Gambar 2.27 Contoh Data Media Penampung yang Telah Disisipi Pesan Gambar 2.28 Struktur Proses Penyaringan Gambar 2.29 Contoh Hasil Enhanced LSB Gambar 2.30 Contoh Media Penampung dan Hasil Enhanced LSB Gambar Tersebut Gambar 3.1 Flowchart Gambaran Umum Sistem Gambar 3.2 Use Case Aplikasi Steganalisis Gambar 3.3 Activity Diagram untuk Use Case Steganografi Gambar 3.4 Activity Diagram untuk Use Case Pilih Gambar (Menu Steganografi) Gambar 3.5 Activity Diagram untuk Use Case Tulis Pesan Gambar 3.6 Activity Diagram untuk Use Case Sisip
7 8 8 9 9 9 10 10 10 11 11 11 12 13 14 14 15 15 16 16 18 18 19 21 21 22 22 23 24 24 31 32 40 41 41 42
Universitas Sumatera Utara
Gambar 3.7 Activity Diagram untuk Use Case Steganalisis Gambar 3.8 Activity Diagram untuk Use Case Pilih Gambar (Menu Steganalisis) Gambar 3.9 Activity Diagram untuk Use Case Analisis Gambar 3.10 Activity Diagram untuk Use Case Ekstraksi Pesan Gambar 3.11 Activity Diagram untuk Use Case Pilih Gambar (Menu Ekstraksi Pesan) Gambar 3.12 Activity Diagram untuk Use Case Ekstraksi Gambar 3.13 Class Diagram Aplikasi Steganalisis Gambar 3.14 Sequence Diagram Proses Penyisipan Pesan Gambar 3.15 Sequence Diagram Steganalisis Gambar 3.16 Sequence Diagram Proses Ekstraksi Pesan Gambar 3.17 Perancangan Antarmuka Halaman Utama Aplikasi Gambar 3.18 Perancangan Antarmuka Halaman Steganografi Gambar 3.19 Perancangan Antarmuka Halaman Steganalisis Gambar 3.20 Perancangan Antarmuka Halaman Ekstraksi Pesan Gambar 4.1 Tampilan Halaman Utama Aplikasi Gambar 4.2 Tampilan Halaman Steganografi Gambar 4.3 Tampilan Halaman Steganalisis Gambar 4.4 Tampilan Halaman Ekstraksi Pesan Gambar 4.5 Pop-up Window Pilih Gambar pada Halaman Steganografi Gambar 4.6 Gambar yang Telah Dipilih Ditampilkan Gambar 4.7 Color.bmp Gambar 4.8 Pesan yang Akan Disisipkan Gambar 4.9 Gambar yang Telah Disisipi Pesan Gambar 4.10 Color-embed.bmp Gambar 4.11 Dialogue Box Peringatan untuk Memilih Gambar Bitmap Gambar 4.12 Dialogue Box Peringatan untuk Menuliskan Pesan Rahasia Gambar 4.13 Color.bmp (Atas) dan Color-embed.bmp (Bawah) Gambar 4.14 Abc.bmp (Kiri) dan abc-embed.bmp (Kanan) Gambar 4.15 Byte-Byte File Gambar abc.bmp dalam Heksadesimal Gambar 4.16 Byte-Byte File Gambar abc-embed.bmp dalam Heksadesimal Gambar 4.17 Perubahan Byte-Byte Pixel Data Akibat Penyisipan Pesan Gambar 4.18 Pop-up Window Pilih Gambar pada Halaman Steganalisis Gambar 4.19 Gambar yang Telah Dipilih Ditampilkan Gambar 4.20 Gambar Hasil Steganalisis Ditampilkan Gambar 4.21 Color-embed.bmp-analysis.bmp Gambar 4.22 Dialogue Box Peringatan untuk Memilih Gambar Bitmap Gambar 4.23 Color.bmp (Atas) dan Color.bmp-analysis.bmp (Bawah) Gambar 4.24 Color-embed.bmp (Atas) dan Color-embed.bmp-analysis.bmp (Bawah) Gambar 4.25 Color-embed.bmp-analysis.bmp yang Diperbesar Gambar 4.26 Abc.bmp (Kiri) dan abc.bmp-analysis.bmp (Kanan) Gambar 4.27 Byte-Byte File Gambar abc.bmp-analysis.bmp dalam Heksadesimal Gambar 4.28 Abc-embed.bmp (Kiri) dan abc-embed.bmp-analysis.bmp (Kanan) Gambar 4.29 Byte-Byte File Gambar abc-embed.bmp-analysis.bmp dalam Heksadesimal
43 44 44 45 46 46 47 50 51 52 53 54 55 56 58 59 60 61 64 64 65 65 66 66 67 67 68 68 69 69 69 70 71 72 72 72 73 73 74 74 75 75 75
Universitas Sumatera Utara
Gambar 4.30 Pop-up Window Pilih Gambar pada Halaman Ekstraksi Pesan Gambar 4.31 Gambar yang Telah Dipilih Ditampilkan Gambar 4.32 Pesan Hasil Ekstraksi Ditampilkan Gambar 4.34 Dialogue Box Peringatan untuk Memilih Gambar Bitmap
76 77 78 78
Universitas Sumatera Utara