Analisis Dan Ekstraksi Stego-Objek Dengan Menggunakan Metode Steganalisis Enhanced LSB

(1)

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


(2)

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


(3)

PERSETUJUAN

Judul : ANALISIS DAN EKSTRAKSI STEGO-OBJEK

DENGAN MENGGUNAKAN METODE STEGANALISIS ENHANCED LSB

Kategori : SKRIPSI

Nama : ANGGARANI NOVITASARI

Nomor Induk Mahasiswa : 061401051

Program Studi : SARJANA (S1) ILMU KOMPUTER Departemen : ILMU KOMPUTER

Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN

ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA

Diluluskan di

Medan, 18 Desember 2010 Komisi Pembimbing :

Pembimbing II

M. Andri B., ST., MCompSc., MEM NIP 197510082008011011

Pembimbing I

Prof. Dr. Muhammad Zarlis NIP 195707011986011003

Diketahui/Disetujui oleh

Departemen Ilmu Komputer FMIPA USU Ketua,

Prof. Dr. Muhammad Zarlis NIP 195707011986011003


(4)

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


(5)

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.


(6)

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.


(7)

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.


(8)

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak v

Abstract vi

Daftar Isi vii

Daftar Tabel x

Daftar Gambar xi

Bab 1 Pendahuluan 1

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

Bab 2 Tinjauan Teoretis 6

2.1 Citra Digital 6

2.1.1 Konsep dasar citra digital 6 2.1.1.1 Format citra digital 7 2.1.1.2 Elemen dasar citra digital 12 2.1.1.3 Struktur data citra digital 13

2.1.2 Citra bitmap 13

2.2 Steganografi 17

2.2.1 Konsep dan terminologi 17

2.2.2 Teknik penyembunyian data 19

2.2.3 Least significant bit 19

2.3 Steganalisis 23

2.3.1 Enhanced LSB 23

Bab 3 Analisis dan Perancangan Sistem 25

3.1 Analisis Sistem 25

3.1.1 Citra digital bitmap 25

3.1.2 Metode steganalisis 26

3.1.3 Tindak lanjut terhadap pesan rahasia 27 3.1.4 Analisis cara kerja sistem 27

3.1.5 Pemodelan sistem 28


(9)

3.2 Perancangan Sistem 30

3.2.1 Gambaran umum sistem 30

3.2.2 Use case diagram 31

3.2.2.1 Use case Steganografi 33 3.2.2.2 Use case Pilih Gambar (menu Steganografi) 33

3.2.2.3 Use case Tulis Pesan 34

3.2.2.4 Use case Sisip 35

3.2.2.5 Use case Steganalisis 35 3.2.2.6 Use case Pilih Gambar (menu Steganalisis) 36

3.2.2.7 Use case Analisis 37

3.2.2.8 Use case Ekstraksi Pesan 37

3.2.2.9 Use case Pilih Gambar (menu Ekstraksi Pesan) 38

3.2.2.10 Use case Ekstraksi 39

3.2.3 Activity diagram 39

3.2.3.1 Activity diagram untuk use case Steganografi 39 3.2.3.2 Activity diagram untuk use case Pilih Gambar (menu

Steganografi) 40

3.2.3.3 Activity diagram untuk use case Tulis Pesan 41 3.2.3.4 Activity diagram untuk use case Sisip 42 3.2.3.5 Activity diagram untuk use case Steganalisis 42 3.2.3.6 Activity diagram untuk use case Pilih Gambar (menu

Steganalisis) 43

3.2.3.7 Activity diagram untuk use case Analisis 44 3.2.3.8 Activity diagram untuk use case Ekstraksi Pesan 45 3.2.3.9 Activity diagram untuk use case Pilih Gambar (menu

Ekstraksi Pesan) 45

3.2.3.10 Activity diagram untuk use case Ekstraksi 46

3.2.4 Class diagram 47

3.2.5 Sequence diagram 48

3.2.5.1 Sequence diagram untuk proses penyisipan pesan

dengan metode LSB 49

3.2.5.2 Sequence diagram untuk metode Enhanced LSB 51 3.2.5.3 Sequence diagram untuk proses ekstraksi pesan 52 3.2.6 Perancangan antarmuka sistem 52 3.2.6.1 Halaman utama aplikasi 53

3.2.6.2 Halaman steganografi 53

3.2.6.3 Halaman steganalisis 54

3.2.6.4 Halaman ekstraksi pesan 55 Bab 4 Implementasi dan Pengujian Sistem 57

4.1 Implementasi 57

4.1.1 Konfigurasi perangkat keras 57 4.1.2 Konfigurasi perangkat lunak 58 4.1.3 Tampilan penggunaan aplikasi 58 4.1.3.1 Halaman utama aplikasi 58

4.1.3.2 Halaman steganografi 59

4.1.3.3 Halaman steganalisis 60

4.1.3.4 Halaman ekstraksi pesan 60


(10)

4.3 Pengujian Sistem 62

4.3.1 Proses steganografi 63

4.3.1.1 Halaman steganografi 63

4.3.1.2 Pilih gambar 63

4.3.1.3 Tulis pesan 65

4.3.1.4 Sisip 66

4.3.1.5 Hasil steganografi 67

4.3.1.5.1 Gambar hasil steganografi 67 4.3.1.5.2 Bit-bit hasil steganografi 68

4.3.2 Proses steganalisis 69

4.3.2.1 Halaman steganalisis 70

4.3.2.2 Pilih gambar 70

4.3.2.3 Analisis 71

4.3.2.4 Hasil steganalisis 73

4.3.2.4.1 Gambar hasil steganalisis 73 4.3.2.4.1 Bit-bit hasil steganalisis 74

4.3.3 Proses ekstraksi pesan 75

4.3.3.1 Halaman ekstraksi pesan 76

4.3.3.2 Pilih gambar 76

4.3.3.3 Esktraksi 77

4.3.3.4 Pesan hasil ekstraksi 78

Bab 5 Kesimpulan dan Saran 79

5.1 Kesimpulan 79

5.2 Saran 79

Daftar Pustaka 81

Lampiran A: Source Code Program Class Metode 83 Lampiran B: Source Code Program Class Bitmap 86


(11)

DAFTAR TABEL

Halaman Tabel 3.1 Spesifikasi Use Case Steganografi 33 Tabel 3.2 Spesifikasi Use Case Pilih Gambar (menu Steganografi) 33 Tabel 3.3 Spesifikasi Use Case Tulis Pesan 34

Tabel 3.4 Spesifikasi Use Case Sisip 35

Tabel 3.5 Spesifikasi Use Case Steganalisis 35 Tabel 3.6 Spesifikasi Use Case Pilih Gambar (menu Steganalisis) 36

Tabel 3.7 Spesifikasi Use Case Analisis 37

Tabel 3.8 Spesifikasi Use Case Ekstraksi Pesan 37 Tabel 3.9 Spesifikasi Use Case Pilih Gambar (menu Ekstraksi Pesan) 38 Tabel 3.10 Spesifikasi Use Case Ekstraksi 39 Tabel 3.311 Kegunaan Class-Class pada Class Diagram Aplikasi


(12)

DAFTAR GAMBAR

Halaman Gambar 2.1 Contoh Citra Biner Berukuran 9x7 Pixel dan Representasinya

dalam Data Digital 7

Gambar 2.2 Contoh Citra Biner 8

Gambar 2.3 Contoh Citra Skala Keabuan 4-Bit dan Representasinya dalam

Data Digital 8

Gambar 2.4 Contoh Citra Skala Keabuan 8-Bit 9 Gambar 2.5 Format Penyimpanan Warna RGB 9 Gambar 2.6 Contoh Kombinasi Warna RGB sehingga Menghasilkan Warna

Kuning 9

Gambar 2.7 Contoh Citra Warna dan Representasinya dalam Data Digital 10

Gambar 2.8 Contoh Citra RGB 10

Gambar 2.9 Contoh Palet Warna Citra Berindeks 4-Bit 10 Gambar 2.10 Aras Warna Citra Digital 1-Bit 11 Gambar 2.11 Aras Abu-Abu dan Aras Warna pada Citra Digital 4-Bit 11 Gambar 2.12 Aras Abu-Abu dan Aras Warna pada Citra Digital 8-Bit 11 Gambar 2.13 Aras Abu-Abu dan Aras Warna pada Citra Digital 24-Bit

(RGB) 12

Gambar 2.14 Contoh Struktur Data Citra Digital 13

Gambar 2.15 Format Data File Bitmap 14

Gambar 2.16 Berkas Header Bitmap 14

Gambar 2.17 Berkas Image Bitmap berupa Information Header 15 Gambar 2.18 Berkas Image Bitmap berupa Core Header 15

Gambar 2.19 Berkas Palet Warna Bitmap 16

Gambar 2.20 Contoh Berkas Data Bitmap 2x2 Pixel, 24-Bit 16 Gambar 2.21 Contoh Covertext, Hiddentext, dan Stegotext 18 Gambar 2.22 Diagram Penyisipan dan Ekstraksi Pesan 18 Gambar 2.23 Diagram Penyisipan dan Ekstraksi Pesan 19 Gambar 2.24 Kata “secret” Direpresentasikan dalam Bentuk Biner 21 Gambar 2.25 Contoh Data Media Penampung Sebelum Disisipi Pesan 21 Gambar 2.26 Contoh Data yang Akan Disisipkan 22 Gambar 2.27 Contoh Data Media Penampung yang Telah Disisipi Pesan 22 Gambar 2.28 Struktur Proses Penyaringan 23

Gambar 2.29 Contoh Hasil Enhanced LSB 24

Gambar 2.30 Contoh Media Penampung dan Hasil Enhanced LSB Gambar

Tersebut 24

Gambar 3.1 Flowchart Gambaran Umum Sistem 31 Gambar 3.2 Use Case Aplikasi Steganalisis 32 Gambar 3.3 Activity Diagram untuk Use Case Steganografi 40 Gambar 3.4 Activity Diagram untuk Use Case Pilih Gambar (Menu

Steganografi) 41

Gambar 3.5 Activity Diagram untuk Use Case Tulis Pesan 41 Gambar 3.6 Activity Diagram untuk Use Case Sisip 42


(13)

Gambar 3.7 Activity Diagram untuk Use Case Steganalisis 43 Gambar 3.8 Activity Diagram untuk Use Case Pilih Gambar (Menu

Steganalisis) 44

Gambar 3.9 Activity Diagram untuk Use Case Analisis 44 Gambar 3.10 Activity Diagram untuk Use Case Ekstraksi Pesan 45 Gambar 3.11 Activity Diagram untuk Use Case Pilih Gambar (Menu

Ekstraksi Pesan) 46

Gambar 3.12 Activity Diagram untuk Use Case Ekstraksi 46 Gambar 3.13 Class Diagram Aplikasi Steganalisis 47 Gambar 3.14 Sequence Diagram Proses Penyisipan Pesan 50 Gambar 3.15 Sequence Diagram Steganalisis 51 Gambar 3.16 Sequence Diagram Proses Ekstraksi Pesan 52 Gambar 3.17 Perancangan Antarmuka Halaman Utama Aplikasi 53 Gambar 3.18 Perancangan Antarmuka Halaman Steganografi 54 Gambar 3.19 Perancangan Antarmuka Halaman Steganalisis 55 Gambar 3.20 Perancangan Antarmuka Halaman Ekstraksi Pesan 56 Gambar 4.1 Tampilan Halaman Utama Aplikasi 58 Gambar 4.2 Tampilan Halaman Steganografi 59 Gambar 4.3 Tampilan Halaman Steganalisis 60 Gambar 4.4 Tampilan Halaman Ekstraksi Pesan 61 Gambar 4.5 Pop-up Window Pilih Gambar pada Halaman Steganografi 64 Gambar 4.6 Gambar yang Telah Dipilih Ditampilkan 64

Gambar 4.7 Color.bmp 65

Gambar 4.8 Pesan yang Akan Disisipkan 65

Gambar 4.9 Gambar yang Telah Disisipi Pesan 66

Gambar 4.10 Color-embed.bmp 66

Gambar 4.11 Dialogue Box Peringatan untuk Memilih Gambar Bitmap 67 Gambar 4.12 Dialogue Box Peringatan untuk Menuliskan Pesan Rahasia 67 Gambar 4.13 Color.bmp (Atas) dan Color-embed.bmp (Bawah) 68 Gambar 4.14 Abc.bmp (Kiri) dan abc-embed.bmp (Kanan) 68 Gambar 4.15 Byte-Byte File Gambar abc.bmp dalam Heksadesimal 69 Gambar 4.16 Byte-Byte File Gambar abc-embed.bmp dalam Heksadesimal 69 Gambar 4.17 Perubahan Byte-Byte Pixel Data Akibat Penyisipan Pesan 69 Gambar 4.18 Pop-up Window Pilih Gambar pada Halaman Steganalisis 70 Gambar 4.19 Gambar yang Telah Dipilih Ditampilkan 71 Gambar 4.20 Gambar Hasil Steganalisis Ditampilkan 72 Gambar 4.21 Color-embed.bmp-analysis.bmp 72 Gambar 4.22 Dialogue Box Peringatan untuk Memilih Gambar Bitmap 72 Gambar 4.23 Color.bmp (Atas) dan Color.bmp-analysis.bmp (Bawah) 73 Gambar 4.24 Color-embed.bmp (Atas) dan Color-embed.bmp-analysis.bmp

(Bawah) 73

Gambar 4.25 Color-embed.bmp-analysis.bmp yang Diperbesar 74 Gambar 4.26 Abc.bmp (Kiri) dan abc.bmp-analysis.bmp (Kanan) 74 Gambar 4.27 Byte-Byte File Gambar abc.bmp-analysis.bmp dalam

Heksadesimal 75

Gambar 4.28 Abc-embed.bmp (Kiri) dan abc-embed.bmp-analysis.bmp

(Kanan) 75

Gambar 4.29 Byte-Byte File Gambar abc-embed.bmp-analysis.bmp dalam


(14)

Gambar 4.30 Pop-up Window Pilih Gambar pada Halaman Ekstraksi Pesan 76 Gambar 4.31 Gambar yang Telah Dipilih Ditampilkan 77 Gambar 4.32 Pesan Hasil Ekstraksi Ditampilkan 78 Gambar 4.34 Dialogue Box Peringatan untuk Memilih Gambar Bitmap 78


(15)

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.


(16)

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.


(17)

BAB 1

PENDAHULUAN

1.1Latar Belakang

Kemajuan teknologi yang begitu pesat saat ini memudahkan setiap orang menyampaikan informasi kepada orang lain. Namun, kemudahan yang diperoleh dalam menyampaikan informasi (pesan) tidak berarti menjamin keamanan pesan tersebut sampai ke tujuan. Kemungkinan pihak-pihak tertentu ingin mengetahui isi pesan yang dikirimkan. Oleh karena itu, salah satu cara agar pesan yang disampaikan tidak diketahui atau menarik perhatian orang lain adalah dengan menggunakan teknik penyembunyian pesan (steganografi).

Steganografi adalah ilmu dan seni menyembunyikan pesan rahasia di dalam pesan lain sehingga keberadaan pesan tersebut tidak dapat diketahui. Dengan steganografi, pesan yang dikirim tidak menarik perhatian dan media penampung tidak menimbulkan kecurigaan. Steganografi membutuhkan dua properti, yaitu media penampung dan pesan rahasia. Media penampung yang umum digunakan adalah gambar, suara, video, atau teks. Pesan yang disembunyikan dapat berupa sebuah artikel, gambar, daftar barang, kode program, atau pesan lain (Munir, 2006).

Metode steganografi yang paling sederhana dan paling mudah diimplementasikan adalah metode LSB (Least Significant Bit). Dan media penampung yang umumnya digunakan adalah citra digital. Karena keterbatasan kemampuan manusia, maka citra digital yang telah disisipi pesan dengan metode LSB tidak dapat diketahui oleh mata manusia.


(18)

Teknik untuk mengetahui apakah ada suatu pesan tersembunyi dalam suatu media disebut steganalisis. Dengan melakukan steganalisis, kemudian dapat dilakukan tindak lanjut terhadap media penampungnya, apakah akan dihancurkan agar pesan tidak dapat diketahui oleh siapapun, ataukah akan dilakukan ekstraksi sehingga isi pesan yang dikirimkan dapat diketahui.

Jika seseorang mengirimkan pesan kepada kerabatnya, maka tidak dapat dipastikan apakah terdapat pesan tersembunyi di dalamnya. Ada kalanya, mengetahui apakah terdapat pesan tersembunyi di dalam pesan yang dikirimkan oleh seseorang menjadi begitu penting. Dengan mengetahui isi pesan yang disembunyikan, diharapkan dapat mencegah hal-hal yang tidak diinginkan.

Hal ini yang memotivasi untuk dapat mengetahui cara mendeteksi pesan yang disisispkan dengan metode steganografi LSB dalam suatu citra digital, karena media penampung yang umum digunakan untuk menyembunyikan pesan rahasia dan tidak menimbulkan kecurigaan adalah citra digital. Sementara, metode steganografi LSB adalah metode steganografi yang sederhana dan mudah diimplementasikan oleh banyak orang. Pada citra digital hasil penyisipan pesan dengan metode LSB, metode pendeteksian pesan secara visual yang umum digunakan adalah Enhanced LSB. Sebagai tindak lanjut, akan dilakukan ekstraksi pesan terhadap citra digital yang dideteksi memiliki pesan tersembunyi, sehingga isi pesan dapat diketahui.

1.2Rumusan Masalah

Permasalahan yang akan dibahas pada penelitian ini adalah sebagai berikut:

1. Bagaimana mendeteksi pesan tersembunyi pada citra digital hasil teknik penyisipan LSB.

2. Metode steganalisis apakah yang umumnya digunakan untuk melakukan steganalisis pada citra digital dengan teknik penyisipan LSB.

3. Bagaimana keberhasilan metode steganalisis tersebut dalam mendeteksi apakah terdapat pesan tersembunyi pada citra digital.


(19)

1.3Batasan Masalah

Batasan masalah dari penelitian ini adalah sebagai berikut:

1. Steganalisis dilakukan pada citra digital dengan format bitmap (.bmp) 24 bit dan tidak terkompresi.

2. Steganalisis dilakukan pada citra digital dengan teknik penyisipan LSB.

3. Pesan yang disembunyikan diasumsikan tidak dienkripsi dan tidak dikompresi terlebih dahulu.

4. Pesan yang disembunyikan diasumsikan dalam bentuk plainteks.

5. Untuk memperoleh citra digital yang disisipi pesan, maka dibuatlah aplikasi penyisipan pesan (steganografi).

6. Aplikasi yang dibangun tidak mencakup proses pengembalian gambar dari gambar hasil steganografi dan/ steganalisis ke gambar awal.

1.4Tujuan Penelitian

Tujuan penelitian ini adalah untuk menganalisis metode steganalisis Enhanced LSB, bagaimana keberhasilan teknik steganalisis yang digunakan dalam mendeteksi adanya pesan rahasia dalam suatu citra digital, dan kemudian mengekstraksi pesan rahasia tersebut sehingga isi pesan rahasia dapat diketahui.

1.5Manfaat Penelitian

Manfaat penelitian ini adalah untuk memahami algoritma steganalisis yang digunakan dalam mendeteksi adanya pesan rahasia dan kemudian melakukan ekstraksi terhadap citra digital tersebut sehingga isi pesan rahasia dapat diketahui.


(20)

1.6Metodologi Penelitian

Tahapan-tahapan yang akan dilalui dalam pengerjaan laporan penelitian ini adalah sebagai berikut:

1. Studi Literatur

Pengerjaan penelitian ini dimulai dengan mengumpulkan bahan-bahan sebagai referensi baik dari buku, paper, jurnal, makalah, forum, milis, dan sumber-sumber lain yang berkaitan dan beberapa referensi lainnya untuk menunjang pencapaian tujuan penelitian.

2. Observasi

Metode ini dilakukan dengan melakukan pengamatan dan perbandingan terhadap beberapa metode steganalisis untuk mendeteksi adanya pesan rahasia pada citra digital hasil teknik penyisispan LSB dengan melakukan penelusuran di internet. Dengan pengamatan secara langsung tersebut akan diperoleh pengetahuan mengenai metode steganalisis yang ada dan telah diimplementasikan.

3. Analisis

Pada tahap ini, dilakukan analisis permasalahan yang ada, batasan yang dimiliki dan kebutuhan yang diperlukan.

4. Perancangan dan Implementasi Algoritma

Pada tahap ini akan dilakukan perancangan aplikasi dan implementasi metode steganalisis yang digunakan.

5. Pengujian

Metode steganalisis yang digunakan akan diuji pada tahap ini, untuk mengetahui keberhasilan metode steganalisis yang digunakan dalam mendeteksi adanya pesan rahasia dalam citra digital dan kemudian akan dilakukan ekstraksi terhadap citra digital yang memiliki pesan rahasia sehingga isi pesan rahasia dapat diketahui.


(21)

6. Penyusunan Laporan dan Kesimpulan Akhir

Metode ini akan dilaksanakan dengan melakukan pendokumentasian hasil analisa dan pengujian secara tertulis dalam bentuk laporan penelitian (skripsi).

1.7Sistematika Penulisan

Sistematika penulisan laporan penelitian ini dibagi menjadi 5 bab, yaitu sebagai berikut:

BAB 1 PENDAHULUAN

Berisikan penjelasan tentang Latar Belakang, Rumusan Masalah, Batasan Masalah, Tujuan Penulisan, Manfaat Penulisan, dan Metodologi Penelitian.

BAB 2 TINAJAUAN TEORETIS

Bab ini akan membahas teori-teori yang berkaitan dengan citra digital, steganografi, LSB, dan metode steganalisis yang akan digunakan.

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

Bab ini akan membahas analisis dan perancangan sistem dengan menggunakan metode steganalisis Enhanced LSB untuk mendeteksi ada tidaknya pesan rahasia pada suatu citra digital beserta tindak lanjut terhadap pesan rahasia yang ditemukan.

BAB 4 IMPLEMENTASI DAN PENGUJIAN

Bab ini akan menjelaskan implementasi metode steganalisis yang digunakan, serta pengujian terhadap sistem yang telah dibangun.

BAB 5 KESIMPULAN DAN SARAN


(22)

BAB 2

TINJAUAN TEORETIS

2.1Citra Digital

Menurut kamus Webster, citra adalah suatu representasi, kemiripan, atau imitasi dari suatu objek atau benda. Citra digital adalah representasi dari citra dua dimensi menggunakan ‘0’ dan ‘1’ (biner). Citra digital dapat dibedakan menjadi dua, yaitu raster dan vektor. Pada umumnya, yang disebut dengan citra digital adalah citra digital dalam bentuk raster atau yang biasa disebut dengan citra bitmap.

2.1.1 Konsep dasar citra digital

Citra digital tersusun dalam bentuk raster (grid atau kisi). Setiap kotak yang terbentuk disebut pixel (picture element) dan memiliki koordinat (x,y). Koordinat ini biasanya dinyatakan dalam bilangan bulat positif. Dan setiap pixel memiliki nilai berupa angka digital yang merepresentasikan informasi yang diwakili oleh pixel tersebut.

Representasi citra digital dalam sebuah file dapat dianalogikan seperti halnya ketika kita ingin melukis, maka kita harus mempunyai palet dan kanvas. Di mana palet adalah kumpulan warna yang dapat membentuk citra, seperti palet warna yang berisi berbagai warna cat. Lalu setiap warna yang berbeda di dalam palet tersebut diberi nomor. Kemudian kita dapat melukiskan warna-warna tersebut di atas sebuah kanvas. Kanvas tersebut berupa matriks yang setiap elemen matriksnya dapat diisi dengan sebuah warna yang berasal dari palet warna. Kumpulan angka (mewakili warna) dalam bentuk matriks inilah yang disebut dengan citra. Sementara informasi


(23)

mengenai palet (korespondensi antara warna dengan angka) disimpan di dalam komputer melalui aplikasi untuk membuka citra seperti, Photoshop, dan Paint.

2.1.1.1 Format citra digital

Format data citra digital berhubungan erat dengan warna. Nilai data digital merepresentasikan warna dari citra. Format citra digital yang banyak digunakan adalah citra biner (monochrome), citra skala keabuan (gray scale), citra warna (true color), dan citra warna berindeks. Berikut ini penjelasan untuk masing-masing format citra digital.

1. Citra biner (monochrome)

Citra biner (monochrome) atau disebut juga binary image, merupakan citra digital yang setiap pixel-nya hanya memiliki 2 kemungkinan derajat keabuan, yaitu 0 dan 1. Nilai 0 mewakili warna hitam, dan nilai 1 mewakili warna putih, di mana setiap pixel-nya membutuhkan media penyimpanan sebesar 1 bit.

1 1 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Gambar 2.1 Contoh Citra Biner Berukuran 9x7 Pixel dan Representasinya dalam Data Digital


(24)

Gambar 2.2 Contoh Citra Biner

2. Citra skala keabuan (gray scale)

Citra skala keabuan atau disebut juga dengan citra aras keabuan memberikan kemungkinan warna yang lebih banyak. Format citra ini disebut dengan aras keabuan karena ada warna abu-abu diantara warna minimum (hitam) dan warna maksimum (putih).

Jumlah maksimum warna sesuai dengan bit penyimpanan yang digunakan, apakah 4 bit atau 8 bit. Citra dengan skala keabuan 4-bit memiliki 24 = 16 kemungkinan warna, yaitu 0 (minimal) hingga 15 (maksimal). Sementara citra digital dengan skala keabuan 8-bit memliki 28 = 256 kemungkinan warna, yaitu 0 (minimal) hingga 255 (maksimal).

Gambar 2.3 Contoh Citra Skala Keabuan 4-Bit dan Representasinya dalam Data Digital


(25)

Gambar 2.4 Contoh Citra Skala Keabuan 8-Bit

3. Citra warna (true color)

Pada citra warna (true color) setiap pixel-nya merupakan kombinasi dari tiga warna dasar merah, hijau, dan biru, sehingga citra warna ini disebut juga citra RGB (Red Green Blue). Setiap komponen warna memiliki intensitas sendiri dengan nilai minimum 0 dan nilai maksimum 255 (8-bit). Hal ini menyebabkan setiap pixel pada citra RGB membutuhkan media penyimpanan 3 byte. Jumlah kemungkinan kombinasi warna citra RGB adalah 224 = lebih dari 16 juta warna.

1 byte 1 byte 1 byte

Blue Green Red

Gambar 2.5 Format Penyimpanan Warna RGB

Gambar 2.6 Contoh Kombinasi Warna RGB sehingga Menghasilkan Warna Kuning


(26)

Gambar 2.7 Contoh Citra Warna dan Representasinya dalam Data Digital

Gambar 2.8 Contoh Citra RGB

4. Citra warna berindeks

Setiap pixel pada citra warna berindeks memiliki indeks dari suatu tabel warna yang tersedia (biasanya disebut palet warna). Keuntungan yang diperoleh dengan menggunakan palet warna ini adalah kita dapat dengan cepat memenipulasi warna tanpa harus mengubah informasi dari setiap pixel pada citra.

Indeks R G B

0 255 255 255

1 0 255 0

2 255 255 0

3 100 0 255

4 255 0 255

15 0 255 255


(27)

Berikut ini adalah gambar derajat keabuan yang mempresentasikan aras abu-abu dan aras warna pada citra digital dengan media penyimpanan 1-bit, 4-bit, 8-bit,dan 24-bit.

Gambar 2.10 Aras Warna Citra Digital 1-Bit

Gambar 2.11 Aras Abu-Abu dan Aras Warna pada Citra Digital 4-Bit


(28)

Gambar 2.13 Aras Abu-Abu dan Aras Warna pada Citra Digital 24-Bit (RGB)

2.1.1.2 Elemen dasar citra digital

Terdapat 6 elemen dasar citra digital sebagai berikut.

1. Kecerahan (Brightness), yaitu intensitas cahaya rata-rata dari suatu area yang

melingkupinya.

2. Kontras (Contrast), yaitu sebaran terang dan gelap pada sebuah citra. Sebuah

citra disebut kontras rendah jika komposisi citra tersebut sebagian besar terang atau sebagian besar gelap. Citra dengan kontras yang baik jika sebaran bagian terang dan gelap merata.

3. Kontur (Contour), yaitu keadaan yang ditimbulkan oleh perubahan intensitas

pixel-pixel yang berdekatan, sehingga kita dapat mendeteksi tepi objek pada suatu citra.

4. Warna (Color), yaitu persepsi yang dirasakan oleh sistem visual manusia

terhadap panjang gelombang cahaya yang dipantulkan oleh objek.

5. Bentuk (Shape), yaitu informasi yang ditangkap oleh sistem visual manusia

mengenai citra suatu objek.

6. Tekstur (Texture), yaitu distribusi spasial dari derajat keabuan di dalam


(29)

2.1.1.3 Struktur data citra digital

Suatu citra digital berbentuk matriks, di mana elemen-elemen matriks dapat diakses melalui indeksnya, yaitu baris dan kolom. Sebuah citra digital berukuran N x M, dengan keterangan sebagai berikut.

1. N = jumlah baris (panjang/tinggi matriks) 2. M = jumlah kolom (lebar matriks)

3. L = intensitas warna maksimal (derajat keabuan)

Gambar 2.14 Contoh Struktur Data Citra Digital

2.1.2 Citra bitmap

Bitmap atau .bmp adalah format citra digital yang paling umum dan merupakan format citra digital standar Windows. Ukuran file bitmap ini bisa sangat besar hingga Megabytes. File bitmap merupakan format citra digital yang belum terkompresi dan menggunakan warna RGB (Red, Green, Blue), sehingga setiap elemen pixel-nya merupakan hasil komposisi 3 komponen warna (merah, hijau, dan biru). Format data file bitmap dapat dilihat pada gambar berikut.


(30)

Gambar 2.15 Format Data File Bitmap

(Sumber

Gambar 2.16 Berkas Header Bitmap


(31)

Gambar 2.17 Berkas Image Bitmap berupa Information Header

(Sumber: http://lecturer.ukdw.ac.id/anton/download/multimedia2.pdf)

Gambar 2.18 Berkas Image Bitmap berupa Core Header


(32)

Gambar 2.19 Berkas Palet Warna Bitmap

(Sumber: http://lecturer.ukdw.ac.id/anton/download/multimedia2.pdf)

Gambar 2.20 Contoh Berkas Data Bitmap 2x2 Pixel, 24-Bit


(33)

2.2Steganografi

Steganografi berasal dari Bahasa Yunani, yaitu steganos (rahasia atau tersembunyi) dan graphy (tulisan atau gambar), sehingga steganografi memiliki arti tulisan tersembunyi. Steganografi adalah ilmu dan seni menyembunyikan pesan rahasia di dalam pesan lain sehingga keberadaan pesan rahasia tersebut tidak dapat diketahui. Steganografi dapat dipandang sebagai kelanjutan kriptografi dan dalam prakteknya pesan rahasia dienkripsi terlebih dahulu kemudian cipherteks disembunyikan di dalam media lain sehingga pihak ketiga tidak menyadari keberadaannya (Munir, 2006).

2.2.1 Konsep dan terminologi

Terdapat beberapa istilah yang berkaitan dengan steganografi:

1. Hiddentext atau embedded message, yaitu pesan yang disembunyikan.

2. Covertext atau cover-object, yaitu pesan yang digunakan untuk menyembunyikan embedded message.

3. Stegotext atau stego-object, yaitu pesan yang sudah berisi embedded message.

Di dalam steganografi digital, baik hiddentext maupun covertext dapat berupa teks, citra, audio maupun video.


(34)

Gambar 2.21 Contoh Covertext, Hiddentext, dan Stegotext

(Sumber: Sinaga, 2008)

Sebenarnya citra stegotext dan covertext tidak sama, citra tersebut mengalami sedikit perubahan akibat steganografi, namun mata manusia mempunyai sifat kurang peka terhadap perubahan kecil ini, sehingga manusia sukar membedakan mana gambar yang asli dan mana gambar yang sudah disisipkan (Munir, 2006).

Gambar 2.22 Diagram Penyisipan dan Ekstraksi Pesan Encoding

(embeddin)

covertext

hiddentext

key

Decoding (extraction)

stegotext

key

hiddentext covertext


(35)

Gambar 2.23 Diagram Penyisipan dan Ekstraksi Pesan

2.2.2 Teknik penyembunyian data

Teknik penyembunyian data ke dalam covertext dapat dilakukan dalam dua macam ranah:

1. Ranah spasial (waktu) (spatial time domain)

Teknik ini memodifikasi langsung nilai byte dari covertext (nilai byte dapat merepresentasikan intensitas/warna pixel atau amplitudo). Contoh metode yang termasuk ke dalam ranah spasial adalah metode LSB.

2. Ranah transform (transform domain)

Teknik ini memodifikasi langsung hasil transformasi frekuensi sinyal. Contoh metode yang tergolong ke dalam ranah frekuensi adalah spread spectrum (Munir, 2006).

2.2.3 Least significant bit

Metode LSB (Least Significant Bit) merupakan metode steganografi yang paling sederhana dan paling mudah diimplementasikan. Untuk menjelaskan metode ini, maka


(36)

digunakan citra digital sebagai covertext. Setiap pixel di dalam citra berukuran 1 sampai 3 byte. Pada susunan bit di dalam sebuah byte (1 byte = 8 bit), ada bit paling berarti (most significant bit atau MSB) dan bit yang paling kurang berarti (least significant bit atau LSB). Misalnya pada byte 11010010, bit 1 yang pertama (digarisbawahi) adalah bit MSB dan bit 0 yang terakhir (digarisbawahi) adalah bit LSB. Bit yang cocok diganti dengan bit pesan adalah bit LSB, sebab modifikasi hanya mengubah nilai byte tersebut satu lebih tinggi atau satu lebih rendah dari nilai sebelumnya. Misalkan byte tersebut di dalam gambar memberikan persepsi warna merah, maka perubahan satu bit LSB hanya mengubah persepsi warna merah tidak terlalu berarti. Mata manusia tidak dapat membedakan perubahan yang kecil ini.

Untuk membuat hidden text tidak dapat dilacak, bit-bit pesan tidak mengganti byte-byte yang berurutan, namun dipilih susunan byte secara acak. Misalnya jika terdapat 50 byte dan 6 bit data yang akan disembunyikan, maka byte yang akan diganti LSB-nya dipilih secara acak, misalnya byte nomor 36, 5, 21, 10, 18, 49.

Pada citra 8-bit yang berukuran 256 x 256 pixel terdapat 65536 pixel, setiap pixel berukuran 1 byte sehingga kita hanya dapat menyisipkan 1 bit pada setiap pixel. Pada citra 24-bit berukuran 256 x 256 pixel, satu pixel berukuran 3 byte (atau 1 byte untuk setiap komponen R, G, dan B), sehingga kita bisa menyisipkan sebanyak 65536 x 3 bit = 196608 bit atau 24576 byte (Munir, 2006).

Contoh penyembunyian pesan dengan menggunakan metode LSB ini adalah sebagai berikut. Misalkan data yang ingin disisipkan (disembunyikan) adalah teks berupa kata “secret”. Kata “secret” ini kemudian akan direpresentasikan dalam bentuk biner sebagai berikut.


(37)

Gambar 2.24 Kata “secret” Direpresentasikan dalam Bentuk Biner

Kemudian, setiap bit dari karakter penyusun kata “secret” akan disisipkan pada bit terakhir dari setiap byte media penampungnya. Berikut ini gambar contoh data media penampung sebelum disisipi pesan, contoh data (pesan) yang akan disisipkan, dan contoh data media penampung setelah disisipi pesan.


(38)

Gambar 2.26 Contoh Data yang Akan Disisipkan

Gambar 2.27 Contoh Data Media Penampung yang Telah Disisipi Pesan

Pada Gambar 2.27, angka yang dicetak tebal (bold) pada akhir setiap byte merupakan pesan yang disisipkan.


(39)

2.3Steganalisis

Steganalisis adalah teknik untuk mengetahui apakah ada pesan tersembunyi dalam suatu media. Teknik steganalisis yang akan digunakan adalah metode Enhanced LSB.

2.3.1 Enhanced LSB

Algoritma Enhanced LSB dikemukakan oleh Andreas Westfeld dan Andreas Pfitzmann. Ide dasar dari algoritma ini adalah bahwa nilai pencahayaan (luminance values) LSB pada suatu gambar tidaklah benar-benar acak, namun tetap menggambarkan bentuk gambar tersebut.

Untuk membedakan keacakan gambar dan isi dari suatu gambar, ataupun membedakan bit LSB dan bit acak pada gambar, merupakan hal yang sulit. Namun, pada gambar tersebut akan dilakukan substitusi, dengan maksud agar orang yang melihat dapat menyadari isi gambar tersebut. Walaupun gambar menjadi sedikit kabur, kemampuan manusia berimajinasi akan dapat mengenali gambar tersebut. Kemampuan manusia untuk membedakan apakah terdapat sebuah pesan ataukah hanya isi gambar inilah yang dimanfaatkan untuk melakukan steganalisis dengan pendekatan secara visual (visual attack).

Gambar 2.28 Struktur Proses Penyaringan

Prosesnya adalah dengan menggantikan nilai seluruh bit menjadi 1 jika nilai LSB pada suatu byte adalah 1, dan menggantikan seluruh bit menjadi 0 jika nilai LSB pada byte tersebut adalah 0. Gambar berikut adalah hasil enhanced LSB dari Gambar 2.27.


(40)

00000000 11111111 11111111 11111111 00000000 00000000 11111111 11111111 00000000 11111111 11111111 00000000 00000000 11111111 00000000 11111111 00000000 11111111 11111111 00000000 00000000 00000000 11111111 11111111 00000000 11111111 11111111 11111111 00000000 00000000 11111111 00000000 00000000 11111111 11111111 00000000 00000000 00000000 11111111 11111111 00000000 11111111 11111111 11111111 00000000 11111111 00000000 00000000

Gambar 2.29 Contoh Hasil Enhanced LSB

Gambar 2.30 Contoh Media Penampung dan Hasil Enhanced LSB Gambar Tersebut

Gambar hasil penyaringan atau telah di proses dengan metode Enhanced LSB dapat dibandingkan dengan gambar sebelumnya (gambar asal atau gambar stego-image). Jika pada gambar hasil enhanced LSB objek gambar terlihat menyerupai gambar asal, maka tidak terdapat pesan tersembunyi pada gambar tersebut. Namun, jika objek gambar hasil enhanced LSB tidak terlihat dengan jelas ataupun banyak terdapat kerusakan (noisy), maka pada gambar tersebut tersembunyi pesan rahasia.


(41)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1 Analisis Sistem

Analisis sistem dilakukan untuk mengetahui dan menentukan berbagai kriteria yang dibutuhkan untuk membangun sistem. Berikut ini dilakukan analisis terhadap hal-hal yang berhubungan dengan sistem.

3.1.1 Citra digital bitmap

Citra digital bitmap merupakan format citra digital yang umum digunakan. Citra bitmap tidak terkompresi dan umumnya memiliki ukuran yang besar. Hal inilah yang menyebabkan citra bitmap banyak digunakan sebagai media penyimpanan pesan. Dengan jenis file yang tidak terkompresi, maka pesan rahasia tidak akan rusak akibat proses kompresi dan dekompresi. Begitu juga ukuran file yang besar, tidak menyebabkan kecurigaan akan adanya pesan rahasia.

Format data file bitmap terdiri dari file header, image header, color table, dan pixel data, dapat dilihat pada Gambar 2.15. Berikut ini penjelasan format data file bitmap.

1. File header

File header bitmap mengidentifikasikan file bitmap tersebut, berisi informasi mengenai jenis, ukuran dan tata letak berkas bitmap data.


(42)

2. Image header

Image header (information header) bitmap menentukan ukuran, tipe kompresi, dan format warna untuk bitmap tersebut.

3. Color table

Color table (color pallete) bitmap merupakan array terstruktur yang menentukan setiap warna dalam gambar. Setiap pixel data bitmap menyimpan sebuah nilai tunggal yang digunakan sebagai indeks pada palet warna. Informasi warna yang disimpan di dalam elemen pada suatu indeks mendefinisikan warna pixel tersebut.

Palet warna digunakan pada gambar bitmap 1-bit, 4-bit, dan 8-bit. Pada gambar bitmap 16-bit, 24-bit, dan 32-bit, tidak terdapat palet warna karena setiap pixel direpresentasikan oleh nilai data warna yang sebenarnya di area bitmap data.

4. Pixel data

Pixel data merupakan bagian dari file bitmap yang menyimpan informasi representasi kumpulan bit-bit warna yang membentuk gambar. Pixel data bitmap dimulai dari data offset hingga akhir file bitmap.

Pesan rahasia disisipkan pada bagian pixel data bitmap. Di mana bit terakhir dari suatu byte pixel data akan diganti dengan bit pesan. Pesan rahasia tidak disisipkan pada bagian lain selain pixel data bitmap, karena pengubahan bit terkahir pada byte lain selain byte data bitmap dapat merusak file gambar tersebut. Dengan demikian, proses mendeteksi kemungkinan adanya pesan akan dilakukan pada bagian pixel data bitmap yang dimulai dari data offset hingga akhir file bitmap.

3.1.2 Metode steganalisis

Metode steganalisis yang digunakan merupakan metode steganalisis Enhanced LSB. Seperti telah dijelaskan pada bab sebelumnya, metode ini memanfaatkan kemampuan manusia dalam mengenali objek gambar hasil enhanced LSB.


(43)

Metode ini akan mengubah nilai seluruh bit pada suatu byte pixel sesuai dengan nilai bit terkahir byte pixel tersebut. Berikut ini algoritma metode steganalisis Enhanced LSB.

1. Periksa bit terakhir dari setiap byte data.

2. Jika bit terakhir bernilai 0, ubah semua bit pada byte tersebut menjadi 0. Dan jika bit terakhir bernilai 1, ubah semua bit pada byte tersebut menjadi 1.

3. Perhatikan gambar setelah terjadi proses perubahan bit untuk menentukan apakah pada gambar tersebut terdapat pesan rahasia atau tidak.

3.1.3 Tindak lanjut terhadap pesan rahasia

Proses steganalisis akan memperlihatkan kemungkinan ada tidaknya pesan rahasia pada gambar. Jika pada gambar terdapat pesan rahasia, maka tindak lanjut yang akan dilakukan adalah melakukan ekstraksi terhadap pesan rahasia tersebut, sehingga isi pesan rahasia dapat diketahui.

3.1.4 Analisis cara kerja sistem

Sistem dibangun dengan tujuan dapat menganalisis suatu gambar bitmap sehingga dapat diketahui apakah pada gambar tersebut terdapat pesan rahasia atau tidak. Jika terdapat pesan rahasia, maka akan dilakukan ekstraksi pesan untuk mengetahui isi pesan rahasia tersebut.

Sistem akan menerima masukan berupa gambar dalam format bitmap. Kemudian gambar akan dianalisis dengan metode steganalisis Enhanced LSB. Lalu sistem akan memberikan keluaran berupa gambar hasil enhanced LSB. Jika pada gambar terdeteksi pesan rahasia, maka dapat diambil tindak lanjut dengan melakukan ekstraksi pesan rahasia.


(44)

3.1.5 Pemodelan Sistem

Alur kerja sistem akan digambarkan dengan menggunakan Unified Modeling Language (UML). UML merupakan salah satu standar pemodelan sistem untuk memvisualisasikan, merancang, dan mendokumentasikan perangkat lunak. Diagram-diagram UML yang akan digunakan untuk membangun sistem steganalisis ini adalah use case diagram, activity diagram, class diagram, dan sequence diagram.

Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem dengan menekankan kepada apa yang diperbuat sistem. Sebuah use case merepresentasikan interaksi antara actor dengan sistem. Use case merupakan sebuah pekerjaan tertentu, sementara actor merupakan entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjann tertentu.

Activity diagram menggambarkan alur aktivitas dalam sistem. Activity diagram juga dapat menggambarkan aktivitas paralel yang mungkin terjadi pada beberapa eksekusi pada sistem. Activity diagram merupakan state diagram secara khusus, di mana sebagian besar state berupa action.

Class diagram mendeskripsikan struktur dari kelas-kelas yang terdapat pada sebuah sistem. Class diagram dirancang untuk menentukan objek-objek yang dibutuhkan untuk perancangan sistem. Class diagram menggambarkan keadaan suatu sistem melalui atribut yang dimilikinya dan juga memiliki layanan untuk memanipulasi keadaan tersebut melalui metode/fungsi.

Sequence diagram menggambarkan interaksi antarobjek di dalam dan di sekitar objek berupa message yang digambarkan terhadap waktu. Pada sequence diagram, waktu merupakan dimensi vertikal, sementara objek merupakan dimensi horizontal. Pada umumnya, sequence diagram digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respon dari sebuah event untuk menghasilkan output tertentu.


(45)

Actor pada use case dan use case itu sendiri dapat diidentifikasi dengan menjawab beberapa pertanyaan sebagai berikut.

1. Siapa yang menggunakan sistem? Jawaban:

Pengguna.

2. Siapa yang diperlukan untuk melaksanakan fungsi pada sistem? Jawaban:

Pengguna.

3. Bagaimana aktor menggunakan sistem? Jawaban:

Pengguna mengakses halaman steganalisis untuk melakukan steganalisis untuk mendeteksi ada tidaknya pesan rahasia pada suatu gambar. Kemudian pengguna akan memilih gambar yang diinginkan dan melakukan proses steganalisis. Pengguna juga dapat mengekstraksi pesan pada gambar dengan mengakses halaman ekstraksi dan memilih gambar yang diinginkan untuk kemudian melakukan proses ekstraksi sehingga pesan tersembunyi dapat diketahui.

Dari pertanyaan-pertanyaan tersebut, maka dapat ditentukan bahwa actor adalah pengguna. Use case dapat ditentukan dari hal-hal yang dilakukan oleh pengguna. Hal-hal yang dilkukan oleh pengguna adalah sebagai berikut:

1. Mengakses halaman steganalisis untuk kemudian mendeteksi ada tidaknya pesan rahasia pada suatu gambar.

2. Menentukan gambar yang akan dianalisis. 3. Melakukan proses analisis.

4. Mengakses halaman ekstraksi untuk kemudian mengekstraksi pesan tersembunyi pada gambar.

5. Menentukan gambar yang akan diekstraksi. 6. Melakukan proses ekstraksi.


(46)

3.1.6 Bahasa pemrograman

Sistem ini akan dibangun dengan menggunakan bahasa pemrograman Java, melalui platform NetBeans IDE 6.8. NetBeans adalah sebuah Integrated Development Environment (IDE) yang open source.

3.2 Perancangan Sistem

Berikut ini dijelaskan perancangan sistem dengan menggunakan flowchart dan UML, serta perancangan antarmuka sistem.

3.2.1 Gambaran umum sistem

Gambaran umum alur kerja sistem akan digambarkan dalam bentuk flowchart, sebagai berikut.


(47)

Mulai Halaman utama Steganografi? Lakukan steganalisis terhadap gambar Lakukan ekstraksi pesan terhadap gambar Selesai Pilih Gambar yang akan dianalisis Halaman steganalisis Halaman ekstraksi pesan Pilih Gambar yang akan diekstraksi Hasil steganalisis Hasil ekstraksi Tuliskan pesan yang akan disisipkan Halaman steganografi Pilih gambar yang akan disisipi pesan Hasil steganografi Lakukan penyisipan pesan terhadap gambar Ekstraksi Pesan? Steganalisis? Ingin mengulangi? Ingin mengulangi? Ingin mengulangi? Ya Tidak Ya Tidak Ya Tidak Tidak Tidak Tidak Ya Ya Ya

Gambar 3.1 Flowchart Gambaran Umum Sistem

3.2.2 Use case diagram

Fungsionalitas sistem digambarkan dalam bentuk use case diagram. Sementara activity diagram menggambarkan alur aktivitas sistem. Berikut ini use case diagram dari aplikasi steganalisis.


(48)

Gambar 3.2 Use Case Aplikasi Steganalisis


(49)

3.2.2.1 Use case Steganografi

Spesifikasi use case Steganografi dapat dilihat pada tabel berikut.

Tabel 3.1 Spesifikasi Use Case Steganografi

Name Steganografi

Actors Pengguna

Trigger Pengguna memilih menu Steganografi.

Preconditions Pengguna menggunakan aplikasi steganalisis. Post Conditions Pengguna dapat melihat hasil steganografi. Success Scenario 1. Pengguna memilih menu Steganografi.

2. Sistem menampilkan halaman Steganografi.

3. Pengguna memilih gambar yang diinginkan, menuliskan pesan yang akan disisipkan, dan mengeksekusi tombol Sisip.

4. Sistem melakukan proses steganografi terhadap gambar dan menampilkan hasil steganografi.

5. Pengguna dapat melihat hasil steganografi. Alternative Flows -

3.2.2.2 Use case Pilih Gambar (menu Steganografi)

Spesifikasi use case Pilih Gambar (menu Steganografi) dapat dilihat pada tabel berikut.

Tabel 3.2 Spesifikasi Use Case Pilih Gambar (menu Steganografi)

Name Pilih Gambar

Actors Pengguna

Trigger Pengguna memilih menu Steganografi.

Preconditions Pengguna mengakses menu Steganografi.


(50)

pengguna.

Success Scenario 1. Pengguna memilih menu Steganografi. 2. Sistem menampilkan halaman Steganografi. 3. Pengguna mengeksekusi tombol Pilih Gambar. 4. Sistem menampilkan pop-up window untuk

dapat mengakses lokasi penyimpanan gambar. 5. Pengguna memilih gambar yang diinginkan. 6. Sistem menampilkan gambar yang dipilih oleh

pengguna.

7. Pengguna dapat melihat gambar yang telah dipilih.

Alternative Flows -

3.2.2.3 Use case Tulis Pesan

Spesifikasi use case Tulis Pesan dapat dilihat pada tabel berikut.

Tabel 3.3 Spesifikasi Use Case Tulis Pesan

Name Tulis Pesan

Actors Pengguna

Trigger Pengguna telah menentukan gambar yang akan

dianalisis.

Preconditions Pengguna mengakses menu Steganografi.

Post Conditions Pengguna dapat melihat pesan yang akan disisipkan.

Success Scenario Pengguna telah menentukan gambar yang akan

disisipi pesan dan kemudian menuliskan pesan yang akan disisipkan ke dalam gambar.


(51)

3.2.2.4 Use case Sisip

Spesifikasi use case Sisip dapat dilihat pada tabel berikut.

Tabel 3.4 Spesifikasi Use Case Sisip

Name Sisip

Actors Pengguna

Trigger Pengguna telah menuliskan pesan yang akan

disisipkan.

Preconditions Pengguna mengakses menu Steganografi. Post Conditions Sistem menampilkan gambar hasil steganografi.

Success Scenario 1. Pengguna telah menuliskan pesan yang akan

disisipkan dan kemudian menekan tombol Sisip. 2. Sistem melakukan proses penyisipan pesan ke

dalam gambar dan menampilkan hasil steganografi.

3. Pengguna dapat melihat hasil steganografi. Alternative Flows -

3.2.2.5 Use case Steganalisis

Spesifikasi use case Steganalisis dapat dilihat pada tabel berikut.

Tabel 3.5 Spesifikasi Use Case Steganalisis

Name Steganalisis

Actors Pengguna

Trigger Pengguna memilih menu Steganalisis.

Preconditions Pengguna menggunakan aplikasi steganalisis. Post Conditions Pengguna dapat melihat hasil steganalisis. Success Scenario 1. Pengguna memilih menu Steganalisis.


(52)

3. Pengguna memilih gambar yang diinginkan dan mengeksekusi tombol Analisis.

4. Sistem melakukan proses steganalisis terhadap gambar dan menampilkan hasil steganalisis.

5. Pengguna dapat melihat hasil steganalisis. Alternative Flows -

3.2.2.6 Use case Pilih Gambar (menu Steganalisis)

Spesifikasi use case Pilih Gambar (menu Steganalisis) dapat dilihat pada tabel berikut.

Tabel 3.6 Spesifikasi Use Case Pilih Gambar (menu Steganalisis)

Name Pilih Gambar

Actors Pengguna

Trigger Pengguna memilih menu Steganalisis.

Preconditions Pengguna mengakses menu Steganalisis.

Post Conditions Sistem menampilkan gambar yang dipilih oleh

pengguna.

Success Scenario 1. Pengguna memilih menu Steganalisis. 2. Sistem menampilkan halaman Steganalisis. 3. Pengguna mengeksekusi tombol Pilih Gambar. 4. Sistem menampilkan pop-up window untuk

dapat mengakses lokasi penyimpanan gambar. 5. Pengguna memilih gambar yang diinginkan. 6. Sistem menampilkan gambar yang dipilih oleh

pengguna.

7. Pengguna dapat melihat gambar yang telah dipilih.


(53)

3.2.2.7 Use case Analisis

Spesifikasi use case Analisis dapat dilihat pada tabel berikut.

Tabel 3.7 Spesifikasi Use Case Analisis

Name Analisis

Actors Pengguna

Trigger Pengguna telah menentukan gambar yang akan

dianalisis.

Preconditions Pengguna mengakses menu Steganalisis. Post Conditions Sistem menampilkan gambar hasil steganalisis. Success Scenario 1. Pengguna telah menentukan gambar yang akan

dianalisis dan kemudian menekan tombol Analisis.

2. Sistem melakukan proses steganalisis dan menampilkan hasil steganalisis.

3. Pengguna dapat melihat hasil steganalisis. Alternative Flows -

3.2.2.8 Use case Ekstraksi Pesan

Spesifikasi use case Ekstraksi Pesan dapat dilihat pada tabel berikut.

Tabel 3.8 Spesifikasi Use Case Ekstraksi Pesan

Name Ekstraksi Pesan

Actors Pengguna

Trigger Pengguna memilih menu Ekstraksi Pesan.

Preconditions Pengguna menggunakan aplikasi steganalisis. Post Conditions Pengguna dapat melihat hasil ekstraksi. Success Scenario 1. Pengguna memilih menu Ekstraksi Pesan.


(54)

3. Pengguna memilih gambar yang diinginkan dan mengeksekusi tombol Ekstraksi.

4. Sistem melakukan proses ekstraksi terhadap gambar dan menampilkan hasil ekstraksi.

5. Pengguna dapat melihat pesan tersembunyi hasil ekstraksi.

Alternative Flows -

3.2.2.9 Use case Pilih Gambar (menu Ekstraksi Pesan)

Spesifikasi use Pilih Gambar (menu Ekstraksi Pesan) dapat dilihat pada tabel berikut.

Tabel 3.9 Spesifikasi Use Case Pilih Gambar (menu Ekstraksi Pesan)

Name Pilih Gambar

Actors Pengguna

Trigger Pengguna memilih menu Ekstraksi Pesan.

Preconditions Pengguna mengakses menu Ekstraksi Pesan.

Post Conditions Sistem menampilkan gambar yang dipilih oleh

pengguna.

Success Scenario 1. Pengguna memilih menu Ekstraksi Pesan. 2. Sistem menampilkan halaman Ekstraksi Pesan. 3. Pengguna mengeksekusi tombol Pilih Gambar. 4. Sistem menampilkan pop-up window untuk

dapat mengakses lokasi penyimpanan gambar. 5. Pengguna memilih gambar yang diinginkan. 6. Sistem menampilkan gambar yang dipilih oleh

pengguna.

7. Pengguna dapat melihat gambar yang telah dipilih.


(55)

3.2.2.10 Use case Ekstraksi

Spesifikasi use case Ekstraksi dapat dilihat pada tabel berikut.

Tabel 3.10 Spesifikasi Use Case Ekstraksi

Name Ekstraksi

Actors Pengguna

Trigger Pengguna telah menentukan gambar yang akan

diekstraksi.

Preconditions Pengguna mengakses menu Ekstraksi Pesan. Post Conditions Sistem menampilkan pesan tersembunyi.

Success Scenario 1. Pengguna telah menentukan gambar yang akan diekstraksi dan kemudian menekan tombol Ekstraksi.

2. Sistem melakukan proses ekstraksi pesan dan menampilkan hasil ekstraksi.

3. Pengguna dapat melihat pesan tersembunyi. Alternative Flows -

3.2.3 Activity diagram

Alur kerja pada use case digambarkan dalam bentuk activity diagram. Berikut ini activity diagram untuk masing-masing use case yang terdapat pada aplikasi steganalisis.

3.2.3.1 Activity diagram untuk use case Steganografi


(56)

Gambar 3.3 Activity Diagram untuk Use Case Steganografi

3.2.3.2 Activity diagram untuk use case Pilih Gambar (menu Steganografi)

Activity diagram untuk use case Pilih Gambar (menu Steganografi) dapat dilihat pada gambar berikut.


(57)

Gambar 3.4 Activity Diagram untuk Use Case Pilih Gambar (Menu Steganografi)

3.2.3.3 Activity diagram untuk use case Tulis Pesan

Activity diagram untuk use case Tulis Pesan dapat dilihat pada gambar berikut.


(58)

3.2.3.4 Activity diagram untuk use case Sisip

Activity diagram untuk use case Sisip dapat dilihat pada gambar berikut.

Gambar 3.6 Activity Diagram untuk Use Case Sisip

3.2.3.5 Activity diagram untuk use case Steganalisis


(59)

Gambar 3.7 Activity Diagram untuk Use Case Steganalisis

3.2.3.6 Activity diagram untuk use case Pilih Gambar (menu Steganalisis)

Activity diagram untuk use case Pilih Gambar (menu Steganalisis) dapat dilihat pada gambar berikut.


(60)

Gambar 3.8 Activity Diagram untuk Use Case Pilih Gambar (Menu Steganalisis)

3.2.3.7 Activity diagram untuk use case Analisis

Activity diagram untuk use case Analisis dapat dilihat pada gambar berikut.


(61)

3.2.3.8 Activity diagram untuk use case Ekstraksi Pesan

Activity diagram untuk use case Ekstraksi Pesan dapat dilihat pada gambar berikut.

Gambar 3.10 Activity Diagram untuk Use Case Ekstraksi Pesan

3.2.3.9 Activity diagram untuk use case Pilih Gambar (menu Ekstraksi Pesan)

Activity diagram untuk use case Pilih Gambar (menu Ekstraksi Pesan) dapat dilihat pada gambar berikut.


(62)

Gambar 3.11 Activity Diagram untuk Use Case Pilih Gambar (Menu Ekstraksi Pesan)

3.2.3.10 Activity diagram untuk use case Ekstraksi

Activity diagram untuk use case Ekstraksi dapat dilihat pada gambar berikut.


(63)

3.2.4 Class diagram

Class diagram menggambarkan hubungan antarkelas dalam sistem yang sedang dibangun. Setiap kelas memiliki attributes dan methods sesuai dengan yang dibutuhkan. Berikut ini class diagram dari Aplikasi Steganalisis.

Gambar 3.13 Class Diagram Aplikasi Steganalisis

Berikut ini akan dijelaskan kegunaan dari masing-masing class pada class diagram aplikasi steganalisis.


(64)

Tabel 3.11 Kegunaan Class-Class pada Class Diagram Aplikasi Steganalisis

Class Kegunaan

javax.swing Merepresentasikan tampilan visual (GUI) pada aplikasi java.

java.awt.AWTEvent Menjembatani interaksi pengguna secara langsung dengan komponen yang terdapat pada sistem.

AppFrame Halaman utama aplikasi.

Steganografi Proses penyisipan pesan dilakukan melaui halaman ini.

Steganalisis Proses steganalisis dilakukan melalui halaman ini.

EkstraksiPesan Proses ekstraksi pesan dilakukan melalui halaman ini.

FileFilter Melakukan penyaringan terhadap file gambar yang akan dipilih.

Metode Memproses penyisipan pesan, steganalisis dan ekstraksi pesan.

Bitmap Mengidentifikasi gambar bitmap.

3.2.5 Sequence diagram

Sequence diagram menjelaskan urutan proses yang dilakukan dalam sistem untuk mencapai tujuan dari use case. Langkah-langkah proses penyisipan pesan ke dalam gambar, analisis dengan menggunakan metode Enhanced LSB, dan ekstraksi pesan digambarkan dalam sequence diagram berikut ini.


(65)

3.2.5.1 Sequence diagram untuk proses penyisipan pesan dengan metode LSB

Penyisipan pesan dengan metode LSB dilakukan dengan cara meyisipkan setiap bit pesan ke dalam bit LSB pada setiap byte pixel data. Sequence diagram untuk proses penyisipan pesan dengan metode LSB dapat dilihat pada gambar berikut ini.


(66)

(67)

3.2.5.2 Sequence diagram untuk metode Enhanced LSB

Metode steganalisis Enhanced LSB akan memeriksa LSB dari setiap byte pixel data dan kemudian mengubah nilai byte tersebut sesuai dengan nilai LSB byte tersebut seperti yang telah dijelaskan sebelumnya. Sequence diagram untuk metode Enhanced LSB dapat dilihat pada gambar berikut ini.


(68)

3.2.5.3 Sequence diagram untuk proses ekstraksi pesan

Proses ekstraksi pesan dilakukan dengan cara mengambil nilai LSB dari setiap byte pixel data kemudian merangkainya menjadi susunan karakater membentuk kata atau kalimat sesuai dengan pesan yang disisipkan. Sequence diagram untuk proses ekstraksi pesan dapat dilihat pada gambar berikut ini.

Gambar 3.16 Sequence Diagram Proses Ekstraksi Pesan

3.2.6 Perancangan antarmuka sistem

Perancangan antarmuka sistem merepresentasikan antarmuka sistem terhadap pengguna. Berikut ini adalah rancangan antarmuka aplikasi steganalisis yang akan dibangun.


(69)

3.2.6.1 Halaman utama aplikasi

Halaman utama aplikasi menampilkan tampilan awal aplikasi. Terdapat 3 buah menu, yaitu menu Steganografi, Steganalisis, dan Ekstraksi Pesan. Perancangan antarmuka halaman utama aplikasi dapat dilihat pada gambar berikut.

Steganalisis Ekstraksi Pesan Aplikasi Steganalisis

APLIKASI STEGANALISIS

Anggarani Novitasari 061401051

Oleh:

Aplikasi sederhana untuk mendeteksi ada tidaknya pesan rahasia pada gambar bitmap 24 bit.

Steganografi

Gambar 3.17 Perancangan Antarmuka Halaman Utama Aplikasi

3.2.6.2 Halaman steganografi

Halaman Steganografi dapat diakses oleh pengguna dengan memilih menu Steganografi pada menubar. Perancangan antarmuka halaman Steganografi dapat dilihat pada gambar berikut.


(70)

Aplikasi Steganalisis

Pilih Gambar Sisip

Gambar yang akan disisipi pesan

Pesan yang akan disisispkan ke dalam gambar

Gambar Awal Pesan yang akan disisipkan

Steganografi

Lokasi Gambar Awal

Steganalisis Ekstraksi Pesan

Steganografi

Gambar yang telah disisipi pesan

Informasi mengenai penyisipan pesan ke dalam gambar

Gambar dengan Pesan Tersembunyi Informasi penyisipan pesan

Lokasi Gambar Hasil Steganalisis

Gambar 3.18 Perancangan Antarmuka Halaman Steganografi

Pada halaman Steganografi terdapat tombol Pilih Gambar, textarea untuk menuliskan pesan rahasia, dan tombol Sisip. Pengguna akan memilih gambar terlebih dahulu melalui tombol Pilih Gambar. Gambar yang telah dipilih oleh pengguna akan ditampilkan pada scrollpane di bawah tombol Pilih Gambar. Di bawah gambar, terdapat informasi mengenai lokasi penyimpanan gambar. Kemudian, pengguna menuliskan pesan rahasia yang ingin disisipkan pada textarea yang tersedia dan melalui tombol Sisip, gambar yang telah dipilih akan disisipkan pesan rahasia yang telah ditentukan. Gambar yang telah disisipi pesan sebagai hasil steganografi akan ditampilkan pada scrollpane di bawah scrollpane Gambar Awal. Di bawah gambar ini juga terdapat informasi mengenai lokasi penyimpanan gambar.

3.2.6.3 Halaman steganalisis

Halaman Steganalisis dapat diakses oleh pengguna dengan memilih menu Steganalisis pada menubar. Perancangan antarmuka halaman Steganalisis dapat dilihat pada gambar berikut.


(71)

Aplikasi Steganalisis

Pilih Gambar Analisis

Gambar yang akan dianalisis

Hasil Steganalisis

Gambar Awal Hasil Steganalisis

Steganalisis

Lokasi Gambar Awal

Ukuran Gambar: Nama Gambar: Informasi Gambar

Steganalisis Ekstraksi Pesan Steganografi

Gambar 3.19 Perancangan Antarmuka Halaman Steganalisis

Pada halaman Steganalisis terdapat tombol Pilih Gambar dan Analisis. Pengguna akan memilih gambar terlebih dahulu melalui tombol Pilih Gambar. Gambar yang telah dipilih oleh pengguna akan ditampilkan pada scrollpane di bawah tombol Pilih Gambar. Di bawah gambar, terdapat informasi mengenai lokasi gambar pada komputer, nama gambar, dan ukuran gambar. Kemudian, melalui tombol Analisis, gambar yang telah dipilih akan mengalami proses steganalisis, dan hasil steganalisis akan ditampilkan pada scrollpane di bawah tombol Analisis. Hasil steganalisis secara otomatis akan tersimpan pada lokasi yang sama dengan gambar yang dipilih.

3.2.6.4 Halaman ekstraksi pesan

Halaman Steganalisis dapat diakses oleh pengguna dengan memilih menu Ekstraksi Pesan pada menubar. Perancangan antarmuka halaman Ekstraksi Pesan dapat dilihat pada gambar berikut.


(72)

Aplikasi Steganalisis

Pilih Gambar Ekstraksi

Gambar yang akan diekstraksi

Pesan tersembunyi hasil

ekstraksi

Gambar Awal Pesan Hasil Ekstraksi

Ekstraksi Pesan

Lokasi Gambar Awal

Ukuran Gambar: Nama Gambar: Informasi Gambar

Steganalisis Ekstraksi Pesan

Steganografi

Gambar 3.20 Perancangan Antarmuka Halaman Ekstraksi Pesan

Pada halaman Ekstraksi Pesan terdapat tombol Pilih Gambar dan Ekstraksi. Pengguna akan memilih gambar terlebih dahulu melalui tombol Pilih Gambar. Gambar yang telah dipilih oleh pengguna akan ditampilkan pada scrollpane di bawah tombol Pilih Gambar. Di bawah gambar, terdapat informasi mengenai lokasi gambar pada komputer, nama gambar, dan ukuran gambar. Kemudian, melalui tombol Ekstraksi, gambar yang telah dipilih akan mengalami proses ekstraksi, dan pesan tersembunyi hasil ekstraksi akan ditampilkan pada textarea di bawah tombol Ekstraksi.


(73)

BAB 4

IMPLEMENTASI DAN PENGUJIAN SISTEM

4.1 Implementasi

Penentuan berbagai kriteria yang dibutukan untuk membangun sistem telah dilakukan pada tahap analisis dan perancangan sistem. Selanjutnya, berdasarkan hasil analisis dan perancangan sistem tersebut, dilakukan implementasi pembangunan sistem. Implementasi sistem dibangun dengan menggunakan Integrated Development Environment (IDE) NetBeans 6.8.

Berikut ini adalah konfigurasi dalam mengimplementasikan hasil analisis dan perancangan sistem serta tampilan aplikasi hasil implementasi.

4.1.1 Konfigurasi perangkat keras

Dalam proses pengimplementasian sistem, spesifikasi perangkat keras komputer yang digunakan adalah sebagai berikut:

1. Prosesor Intel Core 2 Duo T6400. 2. Memori RAM 3 GB.

3. Hard disk 240 GB.

4. VGA NVIDIA GeForce G 103 M.


(74)

4.1.2 Konfigurasi perangkat lunak

Pada saat melakukan proses implementasi sistem, sistem operasi yang digunakan adalah Windows Vista Ultimate. Perangkat lunak yang digunakan dalam pengimplementasian sistem adalah sebagai berikut:

1. Java Standard Edition Development Kit (JDK) 6.0 Update 17. 2. NetBeans IDE 6.8.

4.1.3 Tampilan penggunaan aplikasi

Hasil analisis dan perancangan sistem yang telah diimplementasikan dapat dilihat dalam gambar-gambar tampilan penggunaan aplikasi berikut.

4.1.3.1 Halaman utama aplikasi

Halaman utama aplikasi merupakan halaman awal yang ditampilkan saat aplikasi steganalisis dijalankan. Pada halaman ini terdapat informasi mengenai aplikasi dan pembuat aplikasi. Berikut ini adalah tampilan halaman utama aplikasi steganalisis.


(75)

4.1.3.2 Halaman steganografi

Untuk dapat mengakses halaman steganografi, pengguna hanya perlu memilih menu Steganografi pada menubar aplikasi. Pada halaman steganografi, terdapat dua buah tombol, yaitu tombol Pilih Gambar untuk memilih gambar yang diinginkan, dan tombol Analisis untuk mengeksekusi proses penyisipan pesan ke dalam gambar. Juga terdapat dua buah textarea yang digunakan untuk menuliskan pesan yang ingin disisipkan dan yang berisikan informasi penyisipan pesan. Gambar yang dipilih oleh pengguna melalui tombol Pilih Gambar akan ditampilkan pada scrollpane Gambar Awal. Sementara gambar hasil steganografi akan ditampilkan pada scrollpane Gambar dengan Pesan Tersembunyi. Berikut ini adalah gambar tampilan halaman steganografi.


(76)

4.1.3.3 Halaman steganalisis

Untuk dapat mengakses halaman steganalisis, pengguna hanya perlu memilih menu Steganalisis pada menubar aplikasi. Pada halaman steganalisis, terdapat dua buah tombol, yaitu tombol Pilih Gambar untuk memilih gambar yang diinginkan, dan tombol Analisis untuk mengeksekusi proses steganalisis terhadap gambar. Gambar yang dipilih oleh pengguna melalui tombol Pilih Gambar akan ditampilkan pada scrollpane Gambar Awal. Begitu juga dengan gambar hasil steganalisis akan ditampilkan pada scrollpane Gambar Hasil Steganalisis. Terdapat beberapa informasi mengenai gambar awal yang ditampilkan, seperti lokasi gambar pada komputer, nama gambar, dan ukuran gambar. Berikut ini adalah gambar tampilan halaman steganalisis.

Gambar 4.3 Tampilan Halaman Steganalisis

4.1.3.4 Halaman ekstraksi pesan

Untuk dapat mengakses halaman ekstraksi pesan, pengguna hanya perlu memilih menu Ekstraksi Pesan pada menubar aplikasi. Pada halaman ekstraksi pesan, terdapat


(77)

dua buah tombol, yaitu tombol Pilih Gambar untuk memilih gambar yang diinginkan, dan tombol Ekstraksi untuk mengeksekusi proses ekstraksi pesan terhadap gambar. Gambar yang dipilih oleh pengguna melalui tombol Pilih Gambar akan ditampilkan pada scrollpane Gambar Awal. Begitu juga dengan pesan hasil ekstraksi akan ditampilkan pada scrollpane Pesan Hasil Ekstraksi. Terdapat beberapa informasi mengenai gambar awal yang ditampilkan, seperti lokasi gambar pada komput er, nama gambar, dan ukuran gambar. Berikut ini adalah gambar tampilan halaman pesan hasil ekstraksi.

Gambar 4.4 Tampilan Halaman Ekstraksi Pesan

4.2 Metode Enhanced LSB

Metode steganalisis Enhanced LSB yang digunakan dalam aplikasi ini akan diperlihatkan dalam potongan program berikut.

public void EnhancedLSB() throws IOException { Bitmap bmpimg = new Bitmap();

bmpimg.readBitmapFile(this.bitmapInputName); int[] data = bmpimg.getPixelData();


(78)

for(int i = 0, n = data.length; i < n; i++) {

int curData = bmpimg.getCurrentByte(i); int newCurData = this.cekLSB(curData); bmpimg.setCurrentByte(i, newCurData); }

bmpimg.saveBitmapFile(this.bitmapInputName + "- analysis.bmp");

}

private int cekLSB(int aData) { if (aData % 2 == 0) { return 0; } else { return 255; } }

Pada potongan program di atas, terdapat 2 buah fungsi utama yang digunakan pada metode steganalisis Enhanced LSB, yaitu metode EnhancedLSB() dan cekLSB(int). Metode EnhancedLSB() membuat sebuah objek dari kelas Bitmap untuk mendapatkan informasi bit-bit pixel data bitmap dari gambar yang telah dipilih oleh pengguna. Kemudian, setiap byte pixel data bitmap akan dicek apakah LSB-nya bernilai 1 atau 0 dengan menggunakan metode cekLSB(int). Metode cekLSB(int) menerima masukan berupa int dan mengembalikan nilai int 0 atau 255 sebagai nilai byte baru untuk mengubah byte pixel masukan.

4.3 Pengujian Sistem

Pengujian sistem dilakukan untuk membuktikan bahwa aplikasi steganalisis telah bekerja sesuai dengan rancangan aplikasi sistem. Pengujian sistem dilakukan dengan melakukan uji coba terhadap fungsi sistem yang telah dibangun. Berikut ini pengujian sistem berdasarkan proses penyisipan pesan, proses steganalisis dan proses ekstraksi pesan.


(1)

Panduan Tata Cara Penulisan Tugas Akhir. 2009. Dokumen Nomor: Akad/05/2005.

Medan: Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas

Sumatera Utara.

Paryono, P., Kurniawan, E., dan Wibowo, E. 29 Maret 2010. Citra Digital.

Pengolahan Citra (Image Processing). 29 Maret 2010.

Pengolahan Citra: Konsep Dasar. 21 Mei 2010.

http://rosni-gj.staff.gunadarma.ac.id/Downloads/files/15421/Konsep%2BDasar%2BCitra.p

df.

Purnomo, W. dan Zulkaryanto, E. 2 Agustus 2010. Java Library dan Java Swing.

Rachmat, A. dan Roswanto, A. 21 April 2010. Teks, Gambar, dan Grafik.

Raggo, M. T. 29 Maret 2010. Steganography, Steganalysis, & Cryptanalysis.

Sinaga, Y. A. 2008. Program Steganalisis Metode LSB pada Citra dengan Enhanced

LSB, Uji Chi-Square, dan RS-Analysis. Bandung, Indonesia: Institut Teknologi

Bandung.

Steganografi.

16 Juni 2010.

Sumirat, L. B. 24 November 2010. Membuat Class Diagram.

netbeans.pdf.

Tjong, A. 20 Juni 2010. Steganografi: 2. (LSB) Least Signifiant Bit.

significant-bit/.

Westfeld, A. dan Pfitzmann, A. Attacks on Steganographic Systems. Dresden,

Germany: Dresden University of Technology.


(2)

LAMPIRAN A: SOURCE CODE PROGRAM CLASS METODE

package steganalisis;

import java.io.IOException;

public class Metode {

public String bitmapInputName; public String bitmapOutputName; public int[] buffer;

public int panjangPesan; public String pesan; public int bitmapMsgSize; public String bitmapMsg; private int c, j, p; private int hasil; private int posisi;

public void EnhancedLSB() throws IOException { Bitmap bmpimg = new Bitmap();

bmpimg.readBitmapFile(this.bitmapInputName); int[] data = bmpimg.getPixelData();

for(int i = 0, n = data.length; i < n; i++) { int curData = bmpimg.getCurrentByte(i); int newCurData = this.cekLSB(curData); bmpimg.setCurrentByte(i, newCurData); }

bmpimg.saveBitmapFile(this.bitmapInputName + "-analysis.bmp");

}

private int cekLSB(int aData) { if (aData % 2 == 0) {

return 0; }

else {

return 255; }

}

public String Ekstraksi() throws IOException { Bitmap bmpimg = new Bitmap();

bmpimg.readBitmapFile(this.bitmapInputName);

buffer = bmpimg.getPixelData(); posisi = 0;

panjangPesan = 0; // ambil panjang pesan for (j = 0; j < 8; j++) { this.ambilPanjangPesan(); }

pesan = "";

for (int i = 0; i < panjangPesan && posisi < buffer.length; i++) {


(3)

this.bacaPesan(); }

return pesan; }

private void ambilPanjangPesan() {

int t = buffer[posisi]; // data bitmap di posisi yg sesuai

int bit = ((t & 1) == 1 ? 1 : 0); // apakah bit ke-j bernilai 1 atau 0

panjangPesan += bit << j;

++posisi; // ke posisi berikutnya }

private void bacaPesan() { char karakter = 0;

for (j = 0; j < 8 && posisi < buffer.length; j++) { int t = buffer[posisi]; // data bitmap di posisi yg sesuai

int bit = ((t & 1) == 1 ? 1 : 0); // apakah bit ke-j bernilai 1 atau 0

karakter += bit << j;

++posisi; // ke posisi berikutnya }

pesan += karakter; }

public boolean apakahBitmap24BitNoCompress() throws IOException { Bitmap bmpimg = new Bitmap();

bmpimg.readBitmapFile(this.bitmapInputName); int[] buf = bmpimg.buffer;

//bitmap BM

if (buf[0x0] == 0x42 && buf[0x1] == 0x4D) { // bitmap 24bit

int bitPerPiksel = buf[0x1C] + (buf[0x1D] << 8); if (bitPerPiksel == 24) {

//bitmap tidak terkompresi

if ((buf[0x1E] + (buf[0x1F] << 8) + (buf[0x20] << 16) + (buf[0x21] << 24)) == 0) {

//bitmap tdk terkompresi return true;

} else {

//bitmap terkompresi return false;

} } else {

// bitmap bukan 24 bit return false;

} } else {

// bukan bitmap return false; }

}

public boolean SisipLSB() throws IOException { Bitmap bmpImg = new Bitmap();


(4)

bmpImg.readBitmapFile(this.bitmapInputName); buffer = bmpImg.getPixelData();

int imgSize = bmpImg.bfSize; int curP = 0;

if((bitmapMsgSize*8+8) <= imgSize) { //simpan panjang pesan

for (j = 0, p = 0; j < 8 && p < buffer.length; j++, p++){ this.sisipPanjangPesan();

int aData = hasil;

bmpImg.setCurrentByte(p, aData); ++curP; //ke posisi berikutnya }

for (int i = 0; i < bitmapMsgSize; i++) {

// 1 karakter pada pesan, terdiri dari 8 bit c = bitmapMsg.charAt(i);

// 8 bit pada 1 karakter pesan tersebut ditempatkan ke dalam 8 byte data bitmap

for (j = 0, p = curP; j < 8 && p < buffer.length; j++, p++) {

this.sisipPesan(); int aData = hasil; // tulis ke BMP output

bmpImg.setCurrentByte(p, aData); ++curP;

// ke posisi berikutnya }

}

bmpImg.saveBitmapFile(this.bitmapOutputName); return true;

} else {

// tempat tidak cukup return false;

} }

private int sisipPanjangPesan() {

int t = buffer[p]; // data bitmap di posisi yg sesuai

int bit = ((bitmapMsgSize & (1 << j)) == (1 << j) ? 1 : 0); // apakah bit ke-j bernilai 1 atau 0

hasil = (bit == 1 ? (t | 0x1) : (t & (0xFF << 1))); // sisipkan ke LSB

return hasil; }

private int sisipPesan() {

int t = buffer[p]; // data bitmap di posisi yg sesuai

int bit = ((c & (1 << j)) == (1 << j) ? 1 : 0); // apakah bit ke-j pada pesan bernilai 1 atau 0

hasil = (bit == 1 ? (t | 0x1) : (t & (0xFF << 1))); // sisipkan ke LSB

return hasil; }


(5)

LAMPIRAN B: SOURCE CODE PROGRAM CLASS BITMAP

package steganalisis;

import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException;

public class Bitmap {

FileInputStream fin; FileOutputStream fout;

int[] buffer;

int[] biHeader; int[] bfHeader; int[] bufData;

// Bitmap file header int bfSize;

public void getFileHeader() {

bfSize = buffer[0x2] + (buffer[0x3] << 8) + (buffer[0x4] << 16) + (buffer[0x5] << 24);

bfHeader = new int[14];

for(int a = 0, b = 14; a < b; a++) { bfHeader[a] = buffer[a];

} }

public void getInfoHeader() { biHeader = new int[40];

for(int a = 14, b = 54, c = 0; a < b; a++, c++) { biHeader[c] = buffer[a];

} }

public int[] getPixelData() {

bufData = new int[buffer.length - 54];

for(int a = 54, b = buffer.length, c = 0; a < b; a++, c++) { bufData[c] = buffer[a];

}

return bufData; }

public void setFileHeader() throws IOException { for(int a = 0, b = bfHeader.length; a < b; a++) { fout.write(bfHeader[a]);

} }

public void setInfoHeader() throws IOException { for(int a = 0, b = biHeader.length; a < b; a++) { fout.write(biHeader[a]);


(6)

}

public void setPixelData() throws IOException { for(int a = 0, b = bufData.length; a < b; a++) { fout.write(bufData[a]);

} }

public int getCurrentByte(int ke) { int hasil = bufData[ke];

return hasil; }

public void setCurrentByte(int ke, int newData) { bufData[ke] = newData;

}

public void readBitmapFile(String inputName) throws IOException { fin = new FileInputStream(inputName);

buffer = new int[fin.available()];

for (int a = 0, b = buffer.length; a < b; a++) { buffer[a] = fin.read();

}

getFileHeader(); getInfoHeader(); getPixelData();

if (fin != null) { fin.close(); }

fin = null; }

public void saveBitmapFile(String outputName) throws IOException {

fout = new FileOutputStream(outputName);

setFileHeader(); setInfoHeader(); setPixelData();

if (fout != null) { fout.close(); }

fout = null; }