Perancangan Perangkat Lunak Steganografi Audio Mp3 Pada Pengamanan Pesan Dengan Algoritma Least Significant Bit (LSB) Dengan Modifikasi Jarak Sisip

(1)

PERANCANGAN PERANGKAT LUNAK STEGANOGRAFI

AUDIO MP3 PADA PENGAMANAN PESAN DENGAN

ALGORITMA LEAST SIGNIFICANT BIT (LSB)

DENGAN MODIFIKASI JARAK SISIP

SKRIPSI

INDAH WIKE DIANTY

061401010

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER & TEKNOLOGI INFORMASI

UNIVERSITAS SUMATERA UTARA

MEDAN

2013


(2)

PERANCANGAN PERANGKAT LUNAK STEGANOGRAFI AUDIO MP3 PADA PENGAMANAN PESAN DENGAN ALGORITMA LEAST SIGNIFICANT BIT

(LSB) DENGAN MODIFIKASI JARAK SISIP

SKRIPSI

Diajukan untuk melengkapi tugas guna memenuhi syarat mencapai gelar Sarjana Komputer

INDAH WIKE DIANTY 061401010

PROGRAM STUDI S1 ILMU KOMPUTER

FAKULTAS ILMU KOMPUTER & TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

MEDAN 2013


(3)

PERSETUJUAN

Judul : PERANCANGAN PERANGKAT LUNAK

STEGANOGRAFI AUDIO MP3 PADA PENGAMANAN PESAN DENGAN ALGORITMA LEAST SIGNIFICANT BIT (LSB) DENGAN MODIFIKASI JARAK SISIP

Kategori : SKRIPSI

Nama : INDAH WIKE DIANTY

Nomor Induk Mahasiswa : 061401010

Program Studi : SARJANA (S1) ILMU KOMPUTER

Fakultas : ILMU KOMPUTER & TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA

Diluluskan di

Medan, 21 Agustus 2013 Komisi Pembimbing :

Pembimbing 2 Pembimbing 1

M. Andri B, ST, McompSc, MEM Syahril Efendi, S.Si, MIT NIP. 197510082008011001 NIP. 196711101996021001

Disetujui oleh

Program Studi S1 Ilmu Komputer Ketua,

Dr. Poltak Sihombing, M.Kom. NIP. 196203171991031001


(4)

PERNYATAAN

PERANCANGAN PERANGKAT LUNAK STEGANOGRAFI AUDIO MP3 PADA PENGAMANAN PESAN DENGAN ALGORITMA LEAST SIGNIFICANT BIT

(LSB) DENGAN MODIFIKASI JARAK SISIP

SKRIPSI

Saya menyatakan bahwa skripsi ini adalah hasil kerja saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.

Medan, 21 Agustus 2013

Indah Wike Dianty 061401010


(5)

PENGHARGAAN

Alhamdulillahirobbil’alamin penulis ucapkan kepada Sang Khaliq Allah SWT yang telah melimpahkan rahmat dan karunia-Nya sehingga skripsi ini berhasil diselesaikan dalam waktu yang telah ditetapkan.

Skripsi ini merupakan salah satu syarat yang wajib diselesaikan guna meraih gelar Sarjana Komputer pada program studi S1 Ilmu Komputer Universitas Sumatera Utara. Adapun judul yang diangkat penulis dalam skripsi ini adalah Perancangan Perangkat Lunak Steganografi Audio MP3 Pada Pengamanan Pesan Dengan Algoritma Least Significant Bit (LSB) Dengan Modifikasi Jarak Sisip. Tidak dapat dipungkiri bahwa dalam penyelesaian skripsi ini tidak luput dari campur tangan banyak pihak yang telah memberikan bantuan dan motivasi bagi penulis. Maka, dalam kesempatan ini, penulis mengucapkan terima kasih kepada:

1. Rektor Universitas Sumatera Utara, Bapak Prof. Dr. dr. Syahril Pasaribu, D.T.M.&H, M.Sc. (C.T.M), Sp.A.(K.)

2. Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara, Bapak Prof. Dr. Muhammad Zarlis.

3. Ketua Program Studi S1 Ilmu Komputer, Bapak Dr. Poltak Sihombing, M.Kom dan juga selaku Dosen Penguji I yang telah memberikan kritikan, saran, dan masukan kepada saya untuk menyelesaikan skripsi ini.

4. Sekretaris Program Studi S1 Ilmu Komputer, Ibu Maya Silvi Lydia, B.Sc, M.Sc. 5. Bapak Syahril Efendi, S.Si, MIT dan Bapak Mohammad Andri Budiman, ST,

MCompSc, MEM selaku Dosen Pembimbing I dan Dosen Pembimbing II yang telah memberikan bimbingan, saran dan penuh kepercayaan kepada penulis untuk menyelesaikan skripsi ini.

6. Ibu Dian Rachmawati, S.Si, M.Kom selaku Dosen Penguji II yang telah memberikan kritikan, saran dan masukan kepada saya untuk menyempurnakan skripsi ini.

7. Keluarga tercinta, Ayahanda Suyadi dan Ibunda Darma Wati beserta kedua adikku Imam Andrio dan Intan Nabila yang selalu memberikan doa, dukungan, perhatian, kasih sayang yang tulus, pengorbanan yang tidak ternilai harganya serta dukungan moril maupun materil.

8. Penulis juga mengucapkan terima kasih kepada sahabat-sahabatku terkhusus Ismail Berutu, S.Pd dan Edwin Prawiro Hakim, S.Kom yang selalu memberikan bantuan, doa, perhatian, motivasi dan semangat yang luar biasa bagi penulis.


(6)

9. Teman-teman seperjuangan, mahasiswa S1 Ilmu Komputer stambuk 2006 yang telah banyak berbagi ilmu, memberikan bantuan, saran, kritikan, semangat, inspirasi, dukungan serta mewarnai kenangan selama masa kuliah yang tak akan terlupakan bagi penulis.

10.Semua pihak yang terlibat langsung ataupun tidak langsung yang tidak dapat penulis ucapkan satu per satu yang telah membantu penyelesaian skripsi ini. Semoga Allah SWT memberikan limpahan karunia kepada semua pihak yang telah memberikan bantuan, perhatian serta kerja samanya kepada penulis dalam menyelesaikan tugas akhir ini.

Penulis menyadari bahwa dalam penyelesaian skripsi ini masih jauh dari sempurna. Untuk itu penulis sangat mengharapkan kritik dan saran yang membangun guna penyempurnaan di masa mendatang.

Akhirnya penulis berharap semoga skripsi ini dapat bermanfaat bagi pribadi penulis, keluarga, masyarakat, organisasi dan negara.

Medan, 21 Agustus 2013


(7)

ABSTRAK

Pengamanan data rahasia pada media digital membutuhkan dua properti yaitu wadah penampung dan data rahasia yang akan disembunyikan. Pada penelitian ini steganografi digital menggunakan wadah penampung berupa suara (audio) sedangkan data rahasia yang disembunyikan berupa teks. Algoritma yang digunakan dalam merancang perangkat lunak ini adalah algoritma Least Significant Bit (LSB) dengan modifikasi jarak sisip. Algoritma LSB dengan modifikasi jarak sisip berfungsi untuk memperkuat teknik penyembunyian data dimana bit-bit data rahasia akan mengganti byte-byte tertentu pada media digital dalam jarak yang sudah ditentukan. Data rahasia yang akan disembunyikan akan menggantikan bit terakhir dari data media digital, maka byte yang digantikan dari data audio dipilih setiap jarak tertentu. Hasil dari penelitian ini menunjukkan bahwa waktu rata-rata yang diperlukan untuk proses penyisipan adalah sebesar 1,03 detik, sedangkan waktu rata-rata yang diperlukan untuk proses ekstraksi adalah sebesar 0,01 detik.


(8)

DESIGN SOFTWARE OF STEGANOGRAPHY WITH SECURED MESSAGE ON AUDIO MP3 USING LEAST SIGNIFICANT BIT ALGORITHM (LSB)

WITH MODIFICATION OF DISTANCE INSERTION

ABSTRACT

Securing confidential data on digital media requires two properties that are container vessel and the confidential data to be hidden. In this research, digital steganography uses the container vessel in the form of sound (audio) and the confidential data in the form of text. The algorithm used in designing this software is Least Significant Bit (LSB) with modification of distance insertion. Least Significant Bit algorithm with modification of distance insertion serves to strengthen the hiding data technique where the confidential data bits will replace certain bytes of digital media within a specified distance. The confidential data which will be hidden will replace the last data bit of digital media, the byte that will be replaced from audio data is chose within certain leap. The result from this experiment shows that the average time for insertion process is about 1,03 seconds, while the average time for extraction process is about 0,01 seconds.

Keyword: Audio, Steganography, Least Significant Bit, Modification of Distance Insertion.


(9)

DAFTAR ISI

Halaman

Persetujuan ii

Pernyataan iii

Penghargaan iv

Abstrak vi

Abstract vii

Daftar Isi viii

Daftar Tabel x

Daftar Gambar xi

Bab 1 Pendahuluan 1

1.1 Latar Belakang 1

1.2 Perumusan Masalah 2

1.3 Batasan Masalah 2

1.4 Tujuan Penelitian 3

1.5 Manfaat Penelitian 3

1.6 Metode Penelitian 3

1.7 Sistematika Penulisan 4

Bab 2 Tinjauan Teori 6

2.1. Steganografi 6

2.1.1 Proses Steganografi 7

2.1.2 Taksonomi Steganografi 11

2.2 Media Penampung Pesan 12

2.3 File MP3 13

2.3.1 Struktur Data pada File MP3 15

2.4 Algoritma Steganografi pada Media Audio 17 2.4.1 Metode Steganografi pada Media Audio 17 2.4.2 Algoritma Least Significant Bit (LSB) 19 2.4.3 Algoritma Least Significant Bit dengan Modifikasi Jarak Sisip 20

Bab 3 Analisis dan Perancangan 23

3.1 Analisis 23

3.1.1 Pembacaan File Audio 24

3.1.2 Penyisipan File MP3 25

3.1.3 Ekstraksi Pesan Tersisip 28

3.2 Perancangan Sistem 28

3.2.1 Flowchart Penyisipan LSB 29

3.2.2 Flowchart Ekstraksi LSB 30

3.2.3 Flowchart Daftar Hasil Pengujian 31

3.2.4 Use Case Diagram 31

3.2.4.1 Use Case Penyisipan LSB 33


(10)

3.2.4.3 Use Case Input Jumlah Lompatan dan Teks Pesan 34 3.2.4.4 Use Case Proses Penyisipan 35

3.2.4.5 Use Case Ekstraksi 36

3.2.4.6 Use Case Load Stego Audio 36

3.2.4.7 Use Case Input Jumlah Lompatan (Kata Kunci) 37

3.2.4.8 Use Case Proses Ekstraksi 38

3.2.4.9 Use Case Proses Melihat Daftar Hasil Pengujian 38 3.2.4.10 Use Case Proses Menghapus Daftar Hasil Pengujian 39

3.2.5 Activity Diagram 40

3.2.5.1 Activity Diagram Proses Penyisipan Pesan Teks

ke dalam Cover Audio 40

3.2.5.2 Activity Diagram Proses Ekstraksi Pesan Teks

dari Stego Audio 42

3.2.5.3 Activity Diagram Proses Melihat Daftar Hasil

Pengujian 43

3.2.5.4 Activity Diagram Proses Menghapus Daftar Hasil

Pengujian 43

3.2.6 Perancangan Antarmuka (Interface) 44

3.2.6.1 Rancangan Menu Utama 44

3.2.6.2 Rancangan Steganografi 45

3.2.6.3 Rancangan Laporan Hasil Pengujian 47

Bab 4 Implementasi dan Pengujian Sistem 48

4.1 Halaman Menu Utama 48

4.2 Halaman Steganografi LSB 49

4.3 Halaman Ekstraksi 53

4.4 Halaman Laporan Hasil Pengujian 55

4.4.1 Halaman Daftar Hasil Pengujian Program 56 4.4.2 Halaman Penghapusan Hasil Pengujian 57

Bab 5 Kesimpulan dan Saran 58

5.1. Kesimpulan 58

5.2. Saran 58

Daftar Pustaka 60

Lampiran A-1


(11)

DAFTAR TABEL

Tabel Keterangan Halaman

3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10

Spesifikasi Use Case Penyisipan LSB Spesifikasi Use Case Load Audio

Spesifikasi Use Case Input Jumlah Lompatan dan Teks Pesan Spesifikasi Use Case Proses Penyisipan

Spesifikasi Use Case Ekstraksi

Spesifikasi Use Case Load Stego Audio

Spesifikasi Use Case Input Jumlah Lompatan (Kata Kunci) Spesifikasi Use Case Proses Ekstraksi

Spesifikasi Use Case Proses Melihat Daftar Hasil Pengujian Spesifikasi Use Case Proses Menghapus Daftar Hasil Pengujian

33 34 34 35 36 36 37 38 38 39


(12)

DAFTAR GAMBAR

Gambar Keterangan Halaman

2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 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 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 Proses Steganografi Taksonomi Steganografi Struktur di dalam File MP3 Frame MP3

MP3 Header

Data File MP3 dalam Hexa Data Penyisip Bit-Bit Teks ”BU” Data Penyisip Bit-Bit Teks ”BU” Data File Audio MP3

Data Penyisip berupa Bit-Bit Teks “BU” Hasil Penyisipan LSB

Flowchart Penyisipan dengan LSB Flowchart Ekstraksi LSB

Flowchart Daftar Hasil Pengujian Flowchart Daftar Hasil Pengujian

Activity Diagram Proses Penyisipan Pesan Teks ke dalam Cover Audio

Activity Diagram Proses Ekstrasi Pesan Teks dari Stego Audio Activity Diagram Proses Melihat Daftar Hasil Pengujian Activity Diagram Proses Menghapus Daftar Hasil Pengujian Rancangan Menu Utama

Perancangan Steganografi LSB Rancangan Laporan Hasil Pengujian Halaman Menu Utama

Halaman Menu File

Halaman Steganografi LSB

Tampilan Kotak Dialog Pembukaan File MP3 Hasil Pembukaan File MP3

Tampilan Pengisian Pesan Teks Halaman Pesan Hasil Penyisipan Tampilan Hasil Penyisipan Tampilan Proses Penyisipan

Tampilan Hasil Pembukaan File Stego Audio

Tampilan Pengisian Jumlah Lompatan sebagai Kata Kunci Halaman Pesan Proses Ekstraksi

Tampilan Hasil Ekstraksi Tampilan Proses Ekstraksi

Tampilan Pesan Kesalahan pada Pengisian Jumlah Lompatan Halaman Menu Laporan Hasil Pengujian

Tampilan Hasil Pengujian Program Tampilan Hapus Hasil Pengujian

8 11 15 16 16 17 20 21 25 27 28 29 30 31 32 41 42 43 43 44 46 47 48 49 49 50 50 51 51 52 52 53 53 54 54 55 55 55 56 57


(13)

ABSTRAK

Pengamanan data rahasia pada media digital membutuhkan dua properti yaitu wadah penampung dan data rahasia yang akan disembunyikan. Pada penelitian ini steganografi digital menggunakan wadah penampung berupa suara (audio) sedangkan data rahasia yang disembunyikan berupa teks. Algoritma yang digunakan dalam merancang perangkat lunak ini adalah algoritma Least Significant Bit (LSB) dengan modifikasi jarak sisip. Algoritma LSB dengan modifikasi jarak sisip berfungsi untuk memperkuat teknik penyembunyian data dimana bit-bit data rahasia akan mengganti byte-byte tertentu pada media digital dalam jarak yang sudah ditentukan. Data rahasia yang akan disembunyikan akan menggantikan bit terakhir dari data media digital, maka byte yang digantikan dari data audio dipilih setiap jarak tertentu. Hasil dari penelitian ini menunjukkan bahwa waktu rata-rata yang diperlukan untuk proses penyisipan adalah sebesar 1,03 detik, sedangkan waktu rata-rata yang diperlukan untuk proses ekstraksi adalah sebesar 0,01 detik.


(14)

DESIGN SOFTWARE OF STEGANOGRAPHY WITH SECURED MESSAGE ON AUDIO MP3 USING LEAST SIGNIFICANT BIT ALGORITHM (LSB)

WITH MODIFICATION OF DISTANCE INSERTION

ABSTRACT

Securing confidential data on digital media requires two properties that are container vessel and the confidential data to be hidden. In this research, digital steganography uses the container vessel in the form of sound (audio) and the confidential data in the form of text. The algorithm used in designing this software is Least Significant Bit (LSB) with modification of distance insertion. Least Significant Bit algorithm with modification of distance insertion serves to strengthen the hiding data technique where the confidential data bits will replace certain bytes of digital media within a specified distance. The confidential data which will be hidden will replace the last data bit of digital media, the byte that will be replaced from audio data is chose within certain leap. The result from this experiment shows that the average time for insertion process is about 1,03 seconds, while the average time for extraction process is about 0,01 seconds.

Keyword: Audio, Steganography, Least Significant Bit, Modification of Distance Insertion.


(15)

BAB 1

PENDAHULUAN

1.1Latar Belakang

Jaringan komputer dan internet telah mengalami perkembangan pesat. Teknologi ini mampu menghubungkan hampir semua komputer yang ada di dunia, sehingga kita bisa saling berkomunikasi dan saling bertukar informasi kepada pihak lain. Bentuk informasi yang dapat ditukar bermacam-macam jenis yaitu berupa teks, gambar, video dan audio. Perkembangan tersebut turut mempengaruhi cara berkomunikasi. Dengan berkembangnya jaringan tersebut maka semakin berkembang pula kejahatan sistem informasi. Dengan berbagai teknik, banyak yang mencoba untuk mengakses informasi yang bukan haknya.

Berbagai macam teknik telah digunakan untuk melindungi informasi yang dirahasiakan dari orang yang tidak berhak, salah satunya adalah teknik steganografi. Steganografi adalah ilmu dan seni menyembunyikan pesan rahasia (hiding message) sedemikian sehingga keberadaan (eksistensi) pesan tidak terdeteksi oleh indera manusia. Kata steganografi berasal dari bahasa Yunani yang berarti “tulisan tersembunyi” (covered writing). Steganografi membutuhkan dua properti wadah penampung dan data rahasia yang akan disembunyikan. Steganografi digital menggunakan media digital sebagai wadah penampung, misalnya citra, suara (audio), teks, dan video. Data rahasia yang disembunyikan juga dapat berupa citra, suara, teks, atau video. Jika pada kriptografi, data yang telah disandikan (ciphertext) tetap tersedia, maka dengan steganografi ciphertext dapat disembunyikan sehingga pihak ketiga tidak mengetahui keberadaannya.

Dalam perancangan ini algoritma yang akan digunakan dalam merancang perangkat lunak adalah algoritma Least Significant Bit (LSB) dengan modifikasi jarak sisip. Dimana cara kerja dari algoritma ini hampir sama dengan algoritma least significant bit (LSB) seperti biasa yaitu dengan cara mengganti bit terakhir dari sample audio dengan pesan yang akan disisipkan. Pada saat melakukan penyisipan


(16)

pesan ke dalam audio, maka audio dan pesan penyisip harus diubah dahulu menjadi biner. Pengubahan audio menjadi biner dimaksudkan untuk mendapatkan satu nilai pada satu bit data, dimana satu bit akan digantikan dengan satu bit dari delapan bit satu karakter pesan penyisip. Penyisipan pada algoritma Least Significant Bit ini dimodifikasi dengan cara bit-bit pesan yang merupakan data rahasia akan mengganti byte-byte tertentu dengan memasukkan jarak sisip yang sudah ditentukan.

Atas dasar uraian diatas, maka pada penulisan skripsi ini akan dilakukan pembahasan mengenai perancangan perangkat lunak steganografi audio MP3 pada pengamanan pesan dengan algoritma Least Significant Bit (LSB) dengan modifikasi jarak sisip.

1.2 Perumusan Masalah

Adapun perumusan masalah dalam melakukan penelitian ini diuraikan seperti berikut:

1. Bagaimana melakukan encoding file audio menjadi sample audio.

2. Bagaimana melakukan konversi sample audio dan teks penyisip kedalam bentuk biner.

3. Bagaimana melakukan penyisipan pesan ke dalam file audio berformat MP3 dengan algoritma Least Significant Bit berdasarkan jarak sisip.

4. Bagaimana menghitung ukuran file audio sebelum dan sesudah penyisipan. 5. Bagaimana mengekstraksi kembali data penyisip.

1.3 Batasan Masalah

Agar pembahasan masalah tidak menyimpang dari tujuan penelitian tersebut, maka penulis membuat suatu pembatasan masalah sebagai berikut:

1. File audio penampung (host) berformat MP3 dan pesan penyisip berformat teks (txt).

2. File audio hasil penyisipan berformat MP3.


(17)

4. Pada batasan jarak lompatan dibatasi hanya sampai 3 digit.

5. Database manajemen sistem yang digunakan yaitu Microsoft Office Access Database 2007 dan bahasa pemrograman yang akan digunakan adalah Microsoft Visual Basic 6.0.

1.4 Tujuan Penelitian

Penelitian ini bertujuan untuk mengamankan pesan ke dalam file audio dengan cara menyisipkan pesan teks ke dalam file audio yang berformat MP3.

1.5 Manfaat Penelitian

Manfaat penelitian ini antara lain:

1. Menambah pemahaman tentang pengamanan data bagi penulis dengan teknik Steganografi Least Significant Bit dengan modifikasi jarak sisip.

2. Manfaat bagi bidang ilmu yaitu penulis melakukan modifikasi terhadap algoritma LSB sehingga lebih sulit diserang oleh kriptanalis (hacker).

3. Manfaat bagi masyarakat adalah dapat menggunakan perangkat lunak yang dibangun untuk melakukan pengamanan pesan ke dalam file audio MP3.

1.6Metode Penelitian

Dalam penelitian ini, tahapan-tahapan yang akan dilakukan adalah sebagai berikut: 1. Studi Kepustakaan

Pada tahap ini dengan melakukan studi kepustakaan penulis mempelajari teori dari berbagai sumber yang relevan baik itu dari buku-buku maupun artikel-artikel serta journal international yang didapatkan melalui internet.

2. Analisis

Pada tahap ini dilakukan untuk pengolahan data yang ada dan kemudian melakukan analisis terhadap hasil studi kepustakaan tersebut sehingga dapat dikembangkan menjadi suatu informasi.


(18)

3. Perancangan Perangkat Lunak

Pada tahap ini, digunakan seluruh hasil analisa terhadap studi kepustakaan untuk merancang perangkat lunak yang akan dihasilkan. Dalam tahapan ini juga dilakukan perancangan algoritma program serta model antarmuka sistem untuk memudahkan dalam proses implementasi.

4. Implementasi dan Pengujian Sistem

Pada tahap ini pengujian dilakukan apakah sistem ini dapat berjalan sesuai dengan yang diharapkan. Jika ditemukan kesalahan maka akan dilakukan perbaikan sistem.

1.7Sistematika Penulisan

Dalam sistematika penulisan skripsi ini penulis membuat beberapa bagian utama yaitu sebagai berikut:

BAB 1 PENDAHULUAN

Pada bab ini akan membahas mengenai Latar Belakang, Perumusan Masalah, Batasan Masalah, Manfaat penelitian, Tujuan Penelitian, Metode Penelitian serta Sistematika penulisan.

BAB 2 LANDASAN TEORI

Pada bab ini akan membahas tentang teori steganografi, landasan teori audio MP3, pengolahan sample audio, algoritma Least Significant Bit (LSB), serta bahasa pemrograman yang digunakan.

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

Pada bab ini akan membahas mengenai pembacaan data audio, penyisipan pesan dengan menggunakan algoritma Least Significant Bit dengan modifikasi jarak sisip, flowchart, usecase diagram, activity diagram serta perancangan antarmuka pengguna (interface).


(19)

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM

Pada bab ini akan membahas tentang implementasi dari hasil analisis dan perancangan sistem, menguji sistem secara langsung dan menyimpulkan data yang didapatkan dari hasil pengujian tersebut.

BAB 5 PENUTUP

Pada bab ini merupakan kesimpulan dari semua pembahasan yang ada dengan saran-saran yang ditujukan bagi para pembaca agar diharapkan dapat bermanfaat dalam pengembangan selanjutnya.


(20)

BAB 2

LANDASAN TEORI

2.1Steganografi

Steganografi, berasal dari bahasa Yunani yaitu stegos yang berarti atap atau tertutup dan graphia yang berarti tulisan, adalah ilmu dan seni menyembunyikan keberadaan komunikasi [7]. Steganografi merupakan teknik menyembunyikan atau menyamarkan keberadaan pesan rahasia ke dalam sebuah media yang tidak terlihat mencurigakan, sehingga orang lain tidak mengetahui keberadaan pesan tersebut. Dua bagian yang paling penting dibutuhkan dalam steganografi adalah media penampung dan pesan rahasia yang akan disisipkan.

Teknik steganografi konvensional berusaha merahasiakan komunikasi dengan cara menyembunyikan pesan ataupun mengkamuflase pesan. Maka sesungguhnya prinsip dasar dalam steganografi lebih dikonsentrasikan pada kerahasiaan dalam hal komunikasinya bukan pada datanya [11]. Steganografi berbeda dengan kriptografi. Kriptografi menyimpan makna sebenarnya dari suatu pesan rahasia, tetapi keberadaan pesan tersebut diketahui. Sedangkan, steganografi menutupi keberadaan pesan rahasia tanpa diketahui oleh orang lain.

Steganografi sudah dikenal sejak dahulu untuk memenuhi berbagai kebutuhan. Kebutuhan ini senantiasa berevolusi dan disempurnakan terus menerus. Pada awalnya orang hanya berkeinginan untuk menyembunyikan suatu teks dengan dituliskan dalam kertas dan menyimpannya dengan hati-hati. Penyembunyian pesan ini kemudian berkembang menjadi pengiriman pesan rahasia. Hal ini terjadi karena adanya kebutuhan bahwa harus ada pihak lain yang dapat menerima pesan rahasia tersebut dengan tetap menjaga kerahasiaan pesan dan pesan tersebut dapat disampaikan dengan selamat sampai ke pihak yang bersangkutan. Hal-hal tersebut kemudian mengarah pada teknik-teknik steganografi [2].

Dalam catatan yang berkaitan dengan steganografi yang dituliskan oleh seorang sejarawan Yunani, Herodotus, bahwa ketika Histaeus seorang raja kejam


(21)

Yunani dipenjarakan oleh Raja Darius di Susa pada abad 5 sebelum masehi. Histaeus harus mengirim pesan rahasia kepada anak laki-lakinya, Aristagoras, di Militus. Histaeus menulis pesan dengan cara menggunakan tato pada kulit kepala seorang budak dan menunggu sampai rambut budak tersebut tumbuh untuk menutupi pesan rahasia. Histaeus kemudian mengirimkan budak tersebut kepada Aristagoras.

Penggunaan steganografi menjadi daya tarik banyak orang pada peristiwa penyerangan gedung WTC, 11 September 2001. Pada peristiwa tersebut disebutkan oleh “pejabat pemerintah dan para ahli dari pemerintahan AS” yang tidak disebutkan namanya bahwa “para teroris menyembunyikan peta-peta dan foto-foto target demikian juga dengan perintah untuk aktivitas teroris di ruang chat sport, bulletin boards, dan web site lainnya” [6].

2.1.1 Proses Steganografi

Seiring dengan perkembangan teknologi terutama dalam teknologi komputasi, steganografi juga merambah pada media digital. Terdapat dua proses utama dalam steganografi digital yaitu penyisipan (embedding/encoding) pesan dan penguraian (extraction/decoding) pesan. Gambaran proses steganografi menurut Mohanty (1999) dapat dilihat pada gambar 2.1.

Pesan yang dimaksud dapat berupa plaintext, chipertext, citra, atau apapun yang dapat ditempelkan ke dalam bit-stream. Embedding merupakan proses menyisipkan pesan rahasia ke dalam suatu media penampung yang disebut dengan media cover (cover object). Kemudian media cover dan pesan rahasia yang ditempelkan pada media cover tersebut memberikan hasil berupa media stego (stego object). Extraction adalah proses menguraikan pesan yang tersembunyi yang terdapat dalam media stego.

Suatu kata kunci atau password (stego key) juga dapat digunakan secara tersembunyi pada saat penyisipan maupun penguraian terhadap suatu pesan rahasia dalam media penampung. Proses steganografi merupakan proses yang dimulai dari menanamkan/menyimpan embedded message pada suatu cover object, dimana hasil


(22)

penyimpanan pada cover object tersebut selanjutnya dinamakan sebagai stego object dan untuk mendapatkan kembali embedded message dilakukan ekstraksi pada stego object yang bersangkutan.

Gambar 2.1 Proses Steganografi [5].

Pihak-pihak yang terkait dalam steganografi adalah embeddor, extractor, dan stegoanalyst. Embeddor adalah orang yang melakukan embedding dengan menggunakan aplikasi steganografi, extractor adalah orang yang melakukan extract stego image dengan menggunakan aplikasi steganografi. Sedangkan stegoanalyst adalah orang yang melakukan steganalisis. Steganalisis merupakan ilmu dan seni untuk mendeteksi pesan yang tersembunyi dalam steganografi.

Steganografi merupakan suatu seni / pengetahuan / pembelajaran / cara kerja berkomunikasi dengan menyembunyikan sebuah pesan rahasia dalam suatu informasi utama [8]. Berikut beberapa hal yang berhubungan dengan steganografi menurut Mohanty (1999) sesuai dengan gambar 2.1 adalah sebagai berikut:

Embedded-<datatype>


(23)

Stego-<datatype>

Merupakan hasil keluaran dari proses penyisipan (embedding). Hasil keluaran ini mengandung pesan rahasia yang tersembunyi didalamnya.

Cover-<datatype>

Merupakan sebuah inputan dari proses penyisipan yang mana dijadikan sebagai media tempat penampungan pesan rahasia yang akan disisipkan didalamnya.

Stegokey

Kata kunci tambahan yang dapat digunakan dalam proses penyisipan dan ekstraksi. Penggunaan kata kunci dimaksudkan untuk dapat melakukan proses verifikasi dalam menguji keaslian dari suatu stego-<datatype>.

Embedding

Merupakan proses penyisipan embedded-<datatype> ke dalam cover-<datatype> dan menghasilkan stego-<datatype>. Dalam proses embedding, dimasukkan stegokey agar pada saat proses extracting dapat dilakukan verifikasi dalam menentukan keaslian sebuah stego-<datatype>.

Extracting

Merupakan proses ekstraksi embedded-<datatype> dari stego-<datatype> dengan memasukkan stegokey untuk melakukan proses verifikasi dari stego-<datatype> tersebut.

Stegoanalyst

Merupakan pihak yang ahli dalam melakukan proses steganografi. Seorang stegoanalyst mampu mendeteksi adanya pesan tersembunyi dengan mempelajari teknik-teknik / memahami seni dari proses steganografi.

Embeddor/Extractor

Merupakan sebuah entitas atau seseorang yang dapat menyisipkan (embeddor) ataupun mengekstraksi (extractor) sebuah pesan rahasia dalam suatu media penampung.


(24)

Berikut ini terdapat beberapa faktor yang harus diperhatikan dalam steganografi yaitu [9] :

1. Imperceptibility

Penambahan pesan rahasia ke dalam media penampung tidak dapat dideteksi. Jika media penampung yang digunakan adalah media audio, maka telinga manusia tidak dapat mendeteksi perubahan yang terjadi pada media penampung tersebut setelah disisipi pesan rahasia.

2. Fidelity

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

3. Recovery

Pesan rahasia yang telah disisipkan dalam media penampung harus dapat diekstrak kembali. Hal ini merupakan syarat mutlak dalam sebuah algoritma steganografi, karena ada banyak cara penyisipan pesan yang tidak terdeteksi namun sulit dalam pembacaan kembali pesan yant telah disisip tersebut.

4. Robustness

Pesan yang disembunyikan harus tahan terhadap berbagai operasi manipulasi yang dilakukan pada media penampung. Bila pada media penampung dilakukan operasi-operasi manipulasi, maka pesan yang disembunyikan seharusnya tidak mengalami kerusakan (tetap valid jika diekstraks kembali).

Karakteristik steganografi dikatakan baik jika memiliki imperceptibility tinggi, fidelity tinggi, recovery maksimum serta robustness tinggi [9].


(25)

2.1.2 Taksonomi Steganografi

Taksonomi dari steganografi dapat dilihat pada gambar 2.2 sebagai berikut:

Gambar 2.2 Taksonomi Steganografi [8].

Penjelasan dari taksonomi steganografi yang ada pada gambar 2.2 adalah sebagai berikut:

1. Technical Steganography

Teknik ini menggunakan metode sains untuk menyembunyikan pesan. Contohnya adalah penyembunyian pesan dalam chip mikro.

2. Linguistic Steganography

Teknik ini menyembunyikan pesan dengan cara yang tidak lazim. Teknik ini terbagi menjadi dua bagian yaitu Semagrams dan Open Codes.

3. Semagrams

Teknik ini menyembunyikan pesan dengan menggunakan simbol atau tanda-tanda. Contoh penggunaannya adalah dengan mengganti ukuran teks ataupun mengganti ukuran font. Pergantian dari ukuran atau tipe tersebut digunakan sebagai media penyisipan pesan.

Steganografy

Linguistic Steganografy Technical

Steganografy

Open Codes Semagrams

Jargon Code Text

Semagrams

Cover Ciphers Visual

Semagrams

Grille Cipher Null


(26)

Teknik semagrams terbagi menjadi dua bagian yaitu Visual Semagrams dan Text Semagrams. Visual semagrams menggunakan suatu benda dalam kehidupan sehari-hari yang tidak mencolok untuk menyampaikan pesan. Sebagai contoh penempatan posisi dari dari suatu benda. Sedangkan pada text semagrams menyembunyikan pesan dengan memodifikasi tampilan dari suatu teks (carrier), sebagai contoh melalui perubahan kecil pada ukuran teks, font atau penambahan spasi.

4. Open Codes

Teknik ini menyembunyikan pesan dengan cara yang tidak umum namun tetap tidak terlihat mencurigakan. Teknik ini terbagi menjadi dua bagian yaitu Jargon Code dan Covered Ciphers.

5. Covered Ciphers

Teknik ini menyembunyikan pesan dalam media penampung sehingga pesan kemudian dapat diekstrak dari media penampung tersebut oleh pihak yang mengetahui bagaimana pesan tersembunyi tersebut disembunyikan.

2.2 Media Penampung Pesan

Media penampung pesan pada steganografi merupakan suatu wadah untuk menyembunyikan pesan rahasia. Beberapa contoh media penampung pesan rahasia yang digunakan dalam teknik steganografi adalah sebagai berikut:

1. Teks

Dalam algoritma steganografi yang menggunakan teks sebagai media penampung, teks yang telah disisipi pesan rahasia tidak boleh terlihat mencurigakan oleh orang lain yang melihat teks tersebut.

2. Audio

Format ini sering digunakan dikarenakan berkas dengan format tersebut berukuran relatif besar. Sehingga berkas tersebut dapat menampung pesan rahasia dalam jumlah yang besar.


(27)

3. Citra

Format ini juga sering digunakan dikarenakan format tersebut merupakan salah satu format berkas yang banyak dipertukarkan dalam dunia internet. Alasan lainnya adalah banyak tersedia algoritma-algoritma steganografi untuk media penampung yang berupa citra.

4. Video

Format ini merupakan format dengan ukuran berkas yang relatif sangat besar namun jarang digunakan dikarenakan ukurannya yang terlalu besar sehingga terkesan kurang praktis dan juga tidak banyak tersedia algoritma yang mendukung format ini sebagai media penampung.

2.3 File MP3

MPEG (Moving Picture Expert Group)-1 audio layer III atau yang lebih dikenal dengan MP3, adalah salah satu dari pengkodean dalam digital audio dan juga merupakan format kompresi audio yang memiliki sifat “menghilangkan”. Istilah menghilangkan yang dimaksud adalah kompresi audio ke dalam format MP3 menghilangkan aspek-aspek yang tidak signifikan pada pendengaran manusia untuk mengurangi besarnya file audio.

Sebagai hasil dari kompresi audio, MP3 dibentuk dengan mengikuti model psycho-acoustic yang mana menyadari bahwa telinga manusia tidak dapat mendengar semua frekuensi-frekuensi audio. Jarak pendengaran manusia adalah antara 20 Hz sampai 20 kHz. Ketika suara dikompresi ke dalam format MP3, sebuah usaha dilakukan dengan membuang frekuensi-frekuensi yang tidak dapat didengar oleh telinga manusia. Oleh karena itu, kompresi audio ke dalam format MP3 bersifat destruktif (menghancurkan/menghilangkan).

Terdapat beberapa variasi dalam melakukan kompresi audio ke dalam format MP3. Berikut spesifikasi dari layer 1 sampai layer 3 berdasarkan tingkat kerumitan dalam melakukan proses kompresi, yaitu:


(28)

1. Layer 1

Layer ini mempunyai tingkat kerumitan terendah dari ke-3 layer. MP3 pada jenis layer 1 paling baik dibentuk pada kompresi 384 kbit/s.

2. Layer 2

Layer ini mempunyai tingkat kerumitan lebih kompleks dibandingkan dengan layer 1. MP3 pada jenis layer 2 paling baik dibentuk pada kompresi 256-384 kbit/s, sangat baik pada 224-256 kbit/s, dan baik pada 192-224 kbit /s.

3. Layer 3

Layer ini mempunyai tingkat kerumitan lebih kompleks dibandingkan dengan layer 2. MP3 pada jenis layer 3 paling baik dibentuk pada 224-320 kbit/s, sangat baik pada 192-224 kbit/s, dan baik pada 128-192 kbit/s.

Kompresi MP3 yang dilakukan seperti yang telah disebutkan diatas, tidak mempertahankan bentuk asli dari sinyal input. Yang dilakukan dalam proses kompresi tersebut adalah menghilangkan suara-suara yang keberadaannya kurang/tidak signifikan bagi sistem pendengaran manusia. Proses yang dilakukan adalah menggunakan model dari sistem pendengaran manusia dan menentukan bagian yang terdengar bagi sistem pendengaran manusia. Setelah itu sinyal input yang memiliki domain waktu dibagi menjadi blok-blok dan ditransformasi menjadi domain frekuensi. Kemudian model dari sistem pendengaran manusia dibandingkan dengan sinyal input dan dilakukan proses penyaringan yang menghasilkan sinyal dengan range frekuensi yang signifikan bagi sistem pendengaran manusia. Proses diatas adalah proses konvolusi dua sinyal yaitu sinyal input dan sinyal model sistem pendengaran manusia. Langkah terakhir adalah kuantisasi data, dimana data yang terkumpul setelah penyaringan akan dikumpulkan menjadi satu keluaran dan dilakukan pengkodean dengan hasil akhir file dengan format MP3.

Proses pengkompresian audio ke dalam format MP3 dapat menghasilkan keluaran yang hampir setara dengan audio aslinya disebabkan oleh kelemahan dari sistem pendengaran manusia yang dapat dieksploitasi. Berikut adalah beberapa kelemahan dari sistem pendengaran manusia yang digunakan dalam pemodelan:

1. Terdapat beberapa suara yang tidak dapat didengar oleh manusia (diluar jangkauan frekuensi <20 Hz dan gelombang supersonik >20.000 Hz.


(29)

2. Terdapat beberapa suara yang dapat terdengar lebih baik bagi pendengaran manusia dibandingkan suara lainnya.

3. Bila terdapat dua suara yang dikeluarkan secara simultan, maka pendengaran manusia akan mendengar yang lebih keras sedangkan yang lebih pelan akan tidak terdengar.

Pada perbandingan kualitas suara dari beberapa format kompresi audio hasil yang dihasilkan bervariasi berdasarkan bitrate yang berbeda-beda dan perbandingan berdasarkan codec yang digunakan. Pada 128 kbit/s, LAME MP3 unggul sedikit dibandingkan dengan Ogg Vorbis, AAC, MPC and WMA Pro. Kemudian pada 64 kbit/s, AAC-HE dan mp3pro menjadi yang teratas diantara codec lainnya. Sedangkan, untuk yang diatas 128 kbit/s tidak terdengar perbedaan yang signifikan. Pada umumnya format MP3 sekarang menggunakan 128 kbit/s dan 192 kbit/s sehingga hasil yang dihasilkan cukup baik [1].

2.3.1 Struktur Data pada File MP3

Struktur di dalam sebuah file MP3 memiliki struktur seperti pada Gambar 2.3.

Gambar 2.3 Struktur di dalam file MP3

Sebuah file MP3 merupakan kumpulan frame MP3. Masing-masing frame terdiri dari MP3 header dan MP3 data seperti yang terlihat pada gambar 2.4. Urutan dari masing-masing frame tersebut dinamakan dengan elementary stream.


(30)

Dalam MP3 header terdapat sebuah sync word yang mana digunakan untuk mengidentifikasi permulaan dari sebuah frame yang sah. MP3 Header berukuran 4 bytes di mana 2 byte awal selalu diawali dengan: FF FB dan 2 bytes lainnya berisi nilai sesuai dengan informasi bit rate, frequency, dan lain-lain. Dua bytes pertama (FF dan FB) menunjukkan bahwa file tersebut merupakan file MPEG dengan Audio Layer 3 yang sering disebut dengan MP3. MP3 Header selalu diikuti dengan 32 bytes yang biasanya disebut sebagai side info.

Gambar 2.4 Frame MP3

Detil dari MP3 Header dapat dilihat pada gambar 2.5 berikut ini.

Gambar 2.5 MP3 Header

Data file audio MP3 hasil pembacaan terdiri dari pasangan bilangan hexadecimal seperti pada Gambar 2.6.


(31)

FF FB A0 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 c0 1a 0d 00 7f 11 00 22 07 3d 3d 0 3d 0 2 9a 2a 4f 3e 3d 00 10 10 10 03 3d 10 10 2 f 10 10 12 00 12 10 25 23 13 00 04 11 23 00 00 12 11 32 2a 2a 9f 25 10 -10 02 12 10 53 13 00 a6 11 12 23 00 0f 10 10 10 12 10 5d 23 13 70 11 26 23 00 01 13 9a 2a 2f 10 10 10 12 10 53 90 56 11 23 00 01 13 0e 22 52 9a 2a 10 3d 10 02 2f 10 10 10 12 -10 11 33 13 00 07 3d 10 02 3f 10 10 12 12 53 13

Gambar 2.6 Data File MP3 Dalam Hexa.

Side information mempunyai total panjang tidak lebih dari 32 bytes dalam setiap frame. Adapun informasi yang terdapat pada side information antara lain adalah mengenai main data end, private bits, scale factor selection, panjang main data, big values, global gain, scale factor compress, blocksplit flag, block type, switch point, table select, subblock gain, region address, preflag, dan scalefactor scale.

2.4 Algoritma Steganografi pada Media Audio

2.4.1 Metode Steganografi pada Media Audio

Terdapat beberapa metode dalam menerapkan proses steganografi pada media audio. Metode-metode tersebut memanfaatkan kelemahan pada sistem pendengaran manusia. Berikut metode-metode yang sering digunakan dalam steganografi pada media audio, yaitu:

1. Low bit encoding

Metode ini menggantikan bit-bit data yang mempunyai pengaruh paling kecil terhadap sinyal audio dengan bit-bit data yang akan disembunyikan. Ketika bit tersebut diubah, nilai perubahannya hanya berkisar 1 bit dan tidak memberikan perubahan yang berarti terhadap keseluruhan data.

2. Echo data hiding

Metode ini menggunakan echo (gema) pada data audio untuk menyembunyikan data karena pendengaran manusia sampai batas tertentu tidak dapat merasakan


(32)

echo pada sinyal audio yang didengarkan. Terdapat 3 parameter yang digunakan dalam metode ini yaitu amplitudo, decay rate, dan offset.

Pada sinyal audio, gema biasanya muncul beberapa saat setelah bunyi asli keluar. Jika delay waktu antara bunyi asli dengan gema diperkecil, maka suara gema tersebut akan lebih sulit dipersepsikan oleh telinga manusia. Selain itu, gema juga dapat dibuat menjadi inaudible (tak terdengar) dengan memanfaatkan variasi dari parameter-parameter dalam metode tersebut. Pengaturan dari parameter-parameter dalam metode ini sehingga gema menjadi tidak terdengar dapat dilakukan dengan beberapa cara sebagai berikut:

1. Mengatur offset atau delay dengan nilai yang relatif pendek sehingga gema yang terdengar tidak dapat dipersepsi oleh telinga manusia.

2. Mengatur delay paling tinggi sebesar 1 ms.

3. Mengatur nilai inisialisasi amplitudo dan decay rate dengan nilai di bawah threshold dari pendengaran manusia, sehingga manusia tidak dapat mendengar gema yang dihasilkan tersebut.

3. Phase coding

Metode ini mensubtitusikan fase dari tiap segmen audio awal dengan fase referensi yang mempresentasikan pesan yang disembunyikan. Metode ini juga memanfaatkan kelemahan sistem pendengaran manusia untuk merasakan fase absolut. Fase dari tiap awal segmen dibuat sedemikian rupa sehingga tiap segmen masih terdapat hubungan yang berujung pada kualitas suara yang tetap terjaga. Teknik tersebut tergolong rumit dalam hal realisasi dan implementasi, tetapi dapat menghasilkan keluaran yang baik.

4. Direct sequence and frequency hopped spread spectrum

Metode ini merupakan metode spread spectrum yang digunakan dalam telekomunikasi dalam lingkungan ber-noise. Teknik ini bekerja dengan menyembunyikan sekumpulan data dalam suatu sinyal lain yang area sebarnya lebih besar. Sebelum suatu file pesan disembunyikan, file tersebut terlebih dahulu dibagi ke dalam beberapa blok dengan ukuran tertentu. Setiap blok tersebut akan ditempatkan secara acak pada sinyal lain yang area sebarnya lebih luas. Langkah


(33)

kerjanya adalah membuat noise dari suatu sinyal dengan menggunakan bantuan noise generator. Setelah itu, file pesan tersebut disembunyikan pada noise yang telah dibuat dan disebarkan ke berbagai spectrum dengan frekuensi sinyal yang berbeda-beda.

5. Frequency masking

Metode ini menggunakan kelemahan telinga manusia yang tidak dapat mendengarkan frekuensi-frekuensi tertentu pada kondisi tertentu.

2.4.2 Algoritma Least Significant Bit (LSB)

Dasar dari algoritma least significant bit (LSB) ini yaitu dengan cara mengganti bit terakhir dari sample audio dengan pesan yang akan disisipkan. Algoritma LSB menggunakan metode low bit encoding. Pada saat melakukan penyisipan pesan ke dalam sample audio, maka sample audio dan pesan penyisip harus diubah menjadi biner terlebih dahulu. Pengubahan sample audio menjadi biner dimaksud untuk mendapatkan satu bit pada satu sample audio, dimana bit terakhir dari sample biner tersebut akan digantikan dengan satu bit dari bit penyisip.

Sebagai contoh diberikan nilai sample audio 50, 10, 40, 60, 40, 30, 70, 32, 26, 50, 10, 40, 60, 40, 30, 70, 32, 26, 50, 10, 40, 60, 40, 30, 70, 32, 26, 50, 12, 7D, 1E, 52, 1D, 2A, 0D, 12, 00, 11, 2B, 9A, 11, 4C, 2F, 45, 07, 02, 9A, 2A. Pada sample audio diatas dilakukan konversi ke biner menjadi larik sample audio biner seperti berikut: 00110010, 00001010, 00101000, 00111100, 00101000, 00011110, 01000111, 00100000, 00011010, 00110010, 00001010, 00101000, 00111100, 00101000, 00011110, 01000110, 00100000, 00011010, 00110010, 00001010, 00101000, 00111100, 00101000, 00011110, 01000110, 00100000, 00011010, 00110010, 00010010, 01111101, 00011110, 01010010, 00011101, 00101010, 00001101, 00010010, 00000000, 00010001, 00101011, 10011010, 00010001, 01001100, 00101111, 01000101, 00000111, 00000010, 10011010, 00101010.

Pesan penyisip berupa teks “BU” dalam biner adalah 01000010, 01010101. Penyisipan LSB dilakukan dengan mengganti 1 bit dari sample audio dengan 1 bit


(34)

dari bit teks “BU”. Dalam bentuk matriks sample audio dapat dilihat seperti pada Gambar 2.7

B = 01000010

U = 01010101 0 1 0 0 0 0 1 0

00110010

00001011 00101000 00111100

00101000 00011110 01000111 00100000

00011010 00110011 00001010 00101001

00111100 00101001 00011110 01000111

Gambar 2.7 Data dari penyisip bit-bit teks “BU”

Pada gambar diatas nilai sample audio yang berubah dapat dilihat dimana yang berubah adalah nilai bit yang terakhir.

2.4.3 Algoritma Least Significant Bit dengan Modifikasi Jarak Sisip

Algoritma steganografi pada audio sama saja dengan algoritma steganografi pada image (citra). Algoritma LSB dengan modifikasi jarak sisip berfungsi untuk memodifikasikan teknik penyembunyian data dimana bit-bit data rahasia akan mengganti byte-byte tertentu pada media digital dalam jarak yang sudah ditentukan. Dimana data rahasia yang akan disembunyikan akan menggantikan bit terakhir dari data media digital, maka byte yang digantikan dari media digital dipilih setiap lompatan tertentu, dimana nilai lompatan sudah disepakati antara si pengirim dengan si penerima (receiver).


(35)

Contohnya penyisipan pesan “BU” dalam biner ke dalam sample audio adalah sebagai berikut dengan nilai lompatan 2 :

B = 01000010

U = 01010101 0 0 1 1 0 0 0 0

00110010 00001010 00101000 00111101 00101000 00011110 01000110 00100000 00011010 00110010 00001010 00101000 00111100 00101000 00011110 01000110 00100000 00011010 00110011 00001010 00101000 00111100 00101000 00011110

01000110 00100000 00011010 00110011

00010010 01111101 00011110 01010010

00011101 00101011 00001101 00010010

00000000 00010001 00101011 10011011

00010001 01001100 00101110 01000101

00000111 00000011 10011010 00101010

Gambar 2.8. Data penyisip berupa bit-bit teks “BU”

Setelah penyisipan, bit-bit dari teks “BU” ada terletak di byte ke 1, 4, 7, 10, 13, 16, 19, 22, 25, 28, 31, 34, 37, 40, 43, 46 dari sample audio.

Penggunaan algoritma LSB pada file audio adalah perubahan nilai bit terakhir dari byte data dengan bit penyisip dimana byte sample yang disisipi adalah berselang seling dengan lompatan byte tertentu tergantung user yang melakukan penyisipan. Agar proses ekstraksi dapat berhasil, maka nilai lompatan dimasukkan ke dalam kunci yang digunakan.

Suatu file audio dapat memiliki satu channel (mono) atau dua channel (stereo). Secara umum, kapasitas satu channel adalah sebesar 1 kbps per kilohertz. Karena ukuran channel dapat mencapai 44000 byte, maka kapasitas maksimal yang dapat


(36)

ditampung oleh satu channel adalah 44 kbps per kilohertz. Implementasi low-bit encoding dilakukan dengan cara yang relatif sama dengan yang dilakukan pada pengerjaan kriptografi. Pertama-tama, file pesan, kunci, dan file audio yang akan disisipkan pesan diubah ke dalam representasi bit array. Setelah itu, setiap bit di file pesan dioperasikan dengan bit di file audio dengan memanfaatkan kunci.

Penggunaan kunci dimaksudkan untuk memudahkan penyisipan serta ekstraksi pesan serta untuk memudahkan komunikasi antar pemberi dan penerima pesan. Bagian header dari file audio tidak ikut dimodifikasi, sehingga file audio masih tetap dapat dikenali dan dapat dibuka kembali. Hasil penyisipan pesan menyebabkan perubahan pada atribut file audio. File audio yang telah disisipi pesan ternyata memiliki ukuran yang lebih besar daripada ukuran file audio sebelum disisipi pesan. Hal ini sebenarnya tidak sesuai harapan, karena secara teori, seharusnya ukuran file sebelum dan sesudah disisipi pesan tetap sama karena isi pesan dapat dikatakan hanya menggantikan posisi bit-bit yang ada pada file audio.

Namun demikian, berdasarkan fakta yang terjadi di lapangan, berubahnya ukuran file audio mungkin disebabkan karena banyak bit bernilai 0 yang tergantikan oleh bit bernilai 1, sehingga perubahan yang terjadi cukup mempengaruhi ukuran file, yaitu menambah ukuran file sehingga menjadi lebih besar dari sebelumnya. File pesan yang disisipi ke dalam file audio merupakan file teks yang berukuran 128 byte.


(37)

BAB 3

ANALISIS DAN PERANCANGAN SISTEM

3.1Analisis

Analisis sistem adalah sebuah teknik pemecahan masalah yang menguraikan sebuah sistem menjadi bagian komponen-komponen dengan tujuan mempelajari kinerja dan interaksi bagian komponen-komponen sistem tersebut.

Pada bab ini perancangan perangkat lunak steganografi audio MP3 menggunakan algoritma Least Significant Bit (LSB) dengan modifikasi jarak sisip merupakan aplikasi yang dapat melakukan penyisipan dan mengekstraksi pesan teks ke dan dari dalam file audio MP3 (cover audio). Dalam merancang perangkat lunak ini kita memerlukan beberapa proses tahapan agar perangkat lunak ini dapat bekerja dengan baik. Berikut ini adalah beberapa tahap-tahap yang akan dilakukan untuk penyisipan pesan ke dalam file audio adalah sebagai berikut:

1. Input file audio MP3 (cover audio). 2. Input lompatan

3. Input pesan teks

4. Pembacaan header file MP3. 5. Baca sample audio.

6. Hitung nilai biner untuk setiap sample audio. 7. Konversikan pesan teks ke nilai biner.

8. Sisipkan nilai biner pesan ke dalam bit terakhir setiap sample audio sesuai lompatan.

9. Simpan file audio tersisip (stego audio).

Selanjutnya tahap-tahap yang akan dilakukan untuk ekstraksi pesan dari file audio adalah sebagai berikut:

1. Input file audio MP3 tersisip (stego audio). 2. Input lompatan


(38)

4. Baca sample audio setiap lompatan.

5. Hitung nilai biner untuk setiap sample audio. 6. Baca bit LSB sample audio.

7. Konversikan setiap 8 bit menjadi ASCII sebagai pesan penyisip.

3.1.1 Pembacaan File Audio

Sebelum file audio ini disisipi pesan, terlebih dahulu akan dilakukan pembacaan file audio untuk mendapatkan data berupa header dalam ukuran 4 bytes (32 bit) dalam bentuk pasangan bilangan heksadesimal. File MP3 ini merupakan file stream yang terdiri atas objek-objek kecil yang disebut frame. Setiap frame memiliki frame header masing-masing, di mana header tersebut merupakan bagian terkecil dari file MP3 yang dapat diinterprestasikan tanpa informasi tambahan lagi. Frame MP3 mengandung layer khusus dengan header yang disempurnakan yang disebut dengan side info, sampel kode dan faktor skala yang terkait. Faktor skala digunakan untuk merekonstruksi multiplier untuk kuantisasi terbalik (inverted quantization) dari sample yang telah terkodekan. Setiap faktor skala disimpan dalam 0-4 bit yang berurutan

File MP3 terdiri dari MP3 header berukuran 4 bytes di mana 2 byte awal selalu diawali dengan: FF FB dan 2 bytes lainnya berisi nilai sesuai dengan informasi bit rate, frequency, dan lain-lain. Dua bytes pertama (FF dan FB) menunjukkan bahwa file tersebut merupakan file MPEG dengan Audio Layer 3 yang sering disebut dengan MP3. MP3 Header selalu diikuti dengan 32 bytes yang biasanya disebut sebagai side info. Dengan kata lain sebelum melakukan penyisipan, terlebih dahulu dilakukan pembacaan 36 bytes untuk menghindari bit pesan penyisipan tersisip di dalam 36 bytes tersebut.


(39)

FF FB A0 40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 c0 1a 0d 00 7f 11 00 22 07 3d 3d 0 3d 02 9a 2a 4f 3e 3d 00 10 10 10 03 3d 10 10 2 f 10 10 12 00 12 10 25 23 13 00 04 11 23 00 00 12 11 32 2a 2a 9f 25 10 -10 02 12 10 53 13 00 a6 11 12 23 00 0f 10 10 10 12 10 5d 23 13 70 11 26 23 00 01 13 9a 2a 2f 10 10 10 12 10 53 90 56 11 23 00 01 13 0e 22 52 9a 2a 10 3d 10 02 2f 10 10 10 12 -10 11 33 13 00 07 3d 10 02 3f 10 10 12 12 53 13

Gambar 3.1 Data File Audio MP3

3.1.2 Penyisipan File MP3

Penyisipan File MP3 Algoritma Least Significant Bit (LSB) dengan modifikasi jarak sisip dilakukan dengan cara bit-bit pesan yang merupakan data rahasia akan mengganti byte-byte tertentu sample audio dengan lompatan yang sudah ditentukan. Pergantian byte-byte tertentu dari sample audio yang dimaksud adalah dengan mengganti bit terakhir dari byte tertentu sample audio. Byte yang digantikan dari media digital adalah byte yang dihitung dari setiap lompatan.

Sebagai contoh penyisipan pesan “BU” dalam biner ke dalam sample audio pada Gambar 3.1 adalah:

11 0C 1A 0D 00 7F 11 00 22 07 3D 3D 02 9A 2A 5C 3E 2F 9C 45 87 27 E3 8F 1E 2F 00 4B 12 7D 1E 52 1D 2A 0D 12 00 11 2B 9A 11 4C 2F 45 07 02 9A 2A

Data sample audio di atas dikonversikan ke dalam biner menjadi: 11 = 00010001

0C = 00001100 1A = 00011010 0D = 00001101 00 = 00000000 7F = 01111111 11 = 00010001 00 = 00000000 22 = 00100010 07 = 00000111


(40)

3D = 00111101 3D = 00111101 02 = 00000010 9A = 10011010 2A = 00101010 5C = 01011100

3E = 00111110 2F = 00101111 9C = 10011100 45 = 01000101 87 = 10000111 27 = 00100111 3E = 00111110 8F = 10001111

1E = 00011110 2F = 00101111 00 = 00000000 4B = 01001011 12 = 00010010 7D = 01111101 1E = 00011110 52 = 01010010 1D = 00011101 2A = 00101010 0D = 00001101 12 = 00010010 00 = 00000000 11 = 00010001 2B = 00101011 9A = 10011010


(41)

11 = 00010001 4C = 01001100 2F = 00101111 45 = 01000101 07 = 00000111 02 = 00000010 9A = 10011010 2A = 00101010

Data pesan penyisip “BU” dalam biner adalah sebagai berikut:

B = 01000010

U = 01010101

Penyisipan LSB dilakukan dengan nilai lompatan = 2 seperti pada Gambar 3.2.

B = 01000010

U = 01010101 0 0 1 1 0 0 0 0

00010000 00001100 00011010 00001101 00000000 01111111 00010000 00000000 00100010 00000110 00111101 00111101 00000010 10011010 00101010 01011100 00111110 00101111 10011101 01000101 10000111 00100110 00111110 10001111

00011110 00101111 00000000 01001011

00010010 01111101 00011110 01010010

00011101 00101011 00001101 00010010

00000000 00010001 00101011 10011011

00010001 01001100 00101110 01000101

00000111 00000011 10011010 00101010

Gambar 3.2 Data penyisip berupa bit-bit teks “BU”

Setelah penyisipan, bit-bit dari teks “BU” ada terletak di byte ke 1, 4, 7, 10, 13,16,19, 22, 25, 28, 31,34, 37, 40, 43 dan 46. dan selanjutnya dari sample audio.


(42)

3.1.3 Ekstraksi Pesan Tersisip

Untuk ekstraksi pesan pada file audio stego dilakukan algoritma LSB dengan modifikasi jarak sisip, yaitu membaca setiap bit LSB pada data sample audio yang terdiri dari 8 bit. Pertama yang perlu dilakukan adalah dengan memasukkan nilai lompatan yang juga berfungsi sebagai kunci penyisipan. Baca setiap sample audio dengan memasukkan lompatan. Konversikan sample audio menjadi biner. Ambil bit LSB setiap sample audio. Konversikan setiap 8 bit menjadi ASCII sebagai pesan penyisip. Dari file hasil penyisipan seperti pada Gambar 3.3 dibawah ini adalah:

00010000 00001100 00011010 00001101 00000000 01111111 00010000 00000000 00100010 00000110 00111101 00111101 00000010 10011010 00101010 01011100 00111110 00101111 10011101 01000101 10000111 00100110 00111110 10001111

00011110 00101111 00000000 01001011

00010010 01111101 00011110 01010010

00011101 00101011 00001101 00010010

00000000 00010001 00101011 10011011

00010001 01001100 00101110 01000101

00000111 00000011 10011010 00101010

Gambar 3.3 Hasil Penyisipan LSB

Hasil ekstraksi adalah bit LSB pada lompatan 2 byte adalah 01000010 dengan kode ASCII = B dan 01010101 dengan kode ASCII = U

3.2Perancangan Sistem

Pada perancangan sistem dapat dibagi menjadi beberapa bagian yaitu berupa flowchart, use case diagram, activity diagram dan perancangan interface.


(43)

3.2.1 Flow Chart Penyisipan LSB

Flow chart penyisipan teks dengan algoritma LSB dengan modifikasi jarak sisip dapat dilihat seperti pada Gambar 3.4.

Gambar 3.4 Flow Chart Penyisipan dengan LSB

Pembacaan sample audio

Konversi nilai sample

 Biner

Ya Konversi pesan  Biner

Start

Input file audio

Input pesan dan lompatan

Baca bit terakhir sample sesuai lompatan

Ganti bit sample audio dengan bit penyisip

Pembacaan header file audio

Data sampel = jumlah bit penyisip

Stop Tidak


(44)

3.2.2 Flow Chart Ekstraksi LSB

Flow Chart Ekstraksi LSB adalah proses pengeluaran pesan penyisip dari file audio MP3 dengan menggunakan algoritma LSB dapat dilihat seperti pada Gambar 3.5.

Gambar 3.5 Flow Chart Ekstraksi LSB Tampilkan Pesan

Start

Input Stego Audio

Pembacaan header file stego audio

Baca Bit LSB Pada Sample Stego

Rekonstruksi bit  byte

Ya

Data sampel = jumlah bit penyisip

Stop

Tidak

Pembacaan Sample Audio

Konversi Nilai Sample

 Biner

Konversikan 8 bit  ASCII Input Lompatan


(45)

3.2.3 Flow Chart Daftar Hasil Pengujian

Flow Chart Daftar Hasil Pengujian adalah proses yang memperlihatkan ataupun menghapus daftar hasil pengujian dari semua hasil penyisipan dan ekstraksi yang pernah dilakukan oleh sistem dapat dilihat seperti pada Gambar 3.6.

Gambar 3.6 Flow Chart Daftar Hasil Pengujian

3.2.4 Use Case Diagram

Use Case Diagram adalah gambaran dari beberapa atau semua actor, use case dan interaksi diantara komponen-komponen tersebut yang memperkenalkan suatu sistem yang akan dibangun dan direpresentasikan dengan urutan langkah-langkah yang sederhana. Use case menjelaskan interaksi yang terjadi antara actor – inisiator dari interaksi sistem itu sendiri. Actor yang dirancang pada sistem ini hanya bertindak sebagai pengguna (user) yang memiliki beberapa aktivitas yang terlihat pada Gambar 3.7.

Stop Tidak

Start

Melihat daftar hasil pengujian?

Ya

Menampilkan daftar hasil pengujian Menghapus daftar


(46)

Gambar 3.7 Use Case Diagram Sistem

Pada Gambar 3.7 diatas dijelaskan bahwa use case diagram tersebutmemiliki satu aktor yaitu user. Dimana pertama kali, user akan melakukan penyisipan file audio dengan memasukkan pesan teks ke dalam file audio sesuai dengan jumlah lompatan yang dimasukkan oleh user di mana jumlah lompatan tersebut bertindak juga sebagai kata kunci untuk melakukan proses ekstraksi terhadap file audio tersebut. Kedua, user dapat melakukan ekstraksi penyisip dari file audio yang telah disisipi pesan (stego audio) dengan terlebih dahulu memasukkan kata kunci yang sesuai dari stego audio tersebut. Selanjutnya user dapat melihat daftar hasil penyisipan dan ekstraksi dari semua pengujian yang dilakukan oleh sistem. Selain itu, user juga dapat menghapus daftar hasil pengujian tersebut.

<< include >>

<< uses >>

<< create >>

<< include >>

<< uses >> << create >>

User

Penyisipan LSB

Ekstraksi

Load Audio

Input jumlah lompatan dan teks

Proses Penyisipan

Load Stego Audio

Proses Ekstraksi Input jumlah

lompatan (k k i)

Melihat daftar hasil pengujian Menghapus daftar


(47)

3.2.4.1Use Case Penyisipan LSB

Spesifikasi Use Case Penyisipan dapat dilihat pada Tabel 3.1.

Tabel 3.1 Spesifikasi Use Case Penyisipan LSB

Name Penyisipan LSB

Actors User

Description Use case ini mendeskripsikan proses penyisipan LSB Preconditions User memilih menu Steganografi LSB

Post Conditions User dapat melihat hasil Penyisipan LSB

Kegiatan User Respon sistem

Success Scenario

1. User memilih menu Steganografi LSB.

2. User memilih tombol Load Audio

3. User memilih file audio

4. User memasukkan jumlah lompatan, pesan teks dan mengeksekusi tombol Sisip.

5. User dapat melihat hasil proses berupa:

a. Ukuran file audio setelah penyisipan b. Lama proses

c. Nilai biner penyisip d. Nilai biner sampel

audio.

e. Nilai biner sampel audio yang telah disisipi bit dari biner penyisip

Sistem menampilkan

halaman Steganografi LSB. Sistem menampilkan kotak dialog pemilihan file audio. Sistem menampilkan nama file audio serta ukurannya.

Sistem melakukan proses penyisipan dan menampilkan hasil penyisipan (Stego Audio).

Sistem menyimpan data hasil penyisipan.


(48)

3.2.4.2Use Case Load Audio

Spesifikasi Use Case Load Audio dapat dilihat pada Tabel 3.2.

Tabel 3.2 Spesifikasi Use Case Load Audio

3.2.4.3Use Case Input Jumlah Lompatan dan Teks Pesan

Spesifikasi Use Case Input Jumlah Lompatan dan Teks Pesan dapat dilihat pada Tabel 3.3.

Tabel 3.3 Spesifikasi Use Case Input Jumlah Lompatan dan Teks Pesan

Name Load Audio

Actors User

Description Use case ini mendeskripsikan proses pemanggilan cover Audio

Preconditions User mengakses menu Steganografi LSB

Post Conditions Sistem menampilkan cover audio yang telah dipilih Kegiatan User Respon sistem

Success Scenario

1. User memilih menu Steganografi LSB. 2. User mengeksekusi

tombol Load Audio

3. User memilih audio yang akan dijadikan cover audio pada kotak dialog 4. User dapat melihat nama

file audio yang telah dipilih sebagai cover audio

Sistem menampilkan halaman Steganografi LSB. Sistem menampilkan kotak dialog lokasi penyimpanan audio

Sistem menampilkan audio yang dipilih User

Name Input Jumlah Lompatan dan Teks Pesan


(49)

3.2.4.4Use Case Proses Penyisipan

Spesifikasi Use Case Proses Penyisipan dapat dilihat pada Tabel 3.4.

Tabel 3.4 Spesifikasi Use Case Proses Penyisipan

Description Use case ini mendeskripsikan proses pemasukan jumlah lompatan dan teks pesan sebagai penyisip file audio Preconditions User telah mendapatkan file audio yang akan disisipkan

pesan

Post Conditions Sistem mengaktifkan tombol Sisip

Kegiatan User Respon sistem Success Scenario

1. User memasukkan

jumlah lompatan dan pesan teks.

Sistem mengaktifkan tombol Sisip.

Name Proses Penyisipan

Actors User

Description Use case ini mendeskripsikan proses penyisipan pesan teks ke dalam file audio

Preconditions User telah memasukkan jumlah lompatan dan input teks Post Conditions Sistem menampilkan stego audio hasil penyisipan

Kegiatan User Respon sistem

Success Scenario

1. User memilih tombol

sisip.

2. User dapat melihat hasil proses berupa:

a. Ukuran file audio setelah penyisipan. b. Lama proses.

c. Nilai biner penyisip. d. Nilai biner sampel

audio.

e. Nilai biner sampel audio yang telah disisipi bit dari biner penyisip.

Sistem menyisipkan biner pesan ke dalam cover audio. Sistem menyimpan data hasil penyisipan.


(50)

3.2.4.5Use Case Ekstraksi

Spesifikasi Use Case Ekstraksi dapat dilihat pada Tabel 3.5.

Tabel 3.5 Spesifikasi Use Case Ekstraksi

Name Ekstraksi

Actors User

Description Use case ini mendeskripsikan proses ekstraksi teks pesan dari dalam file stego audio

Preconditions User memilih menu Steganografi LSB

Post Conditions Sistem menampilkan pesan teks hasil ekstraksi Kegiatan User Respon sistem

Success Scenario

1. User memilih menu

Steganografi LSB.

2. User mengeksekusi tombol Load Audio. 3. User memilih file stego

audio.

4. User memasukkan jumlah lompatan. 5. User dapat melihat:

a. Lama proses b. Pesan penyisip.

Sistem menampilkan halaman Steganografi LSB. Sistem menampilkan kotak dialog pemilihan file audio. Sistem menampilkan nama file audio serta ukurannya.

Sistem melakukan proses ekstraksi.

Sistem menyimpan data hasil ekstraksi.


(51)

3.2.4.6Use Case Load Stego Audio

Spesifikasi Use Case Load Stego Audio dapat dilihat pada Tabel 3.6.

Tabel 3.6 Spesifikasi Use Case Load Stego Audio

3.2.4.7Use Case Input Jumlah Lompatan (Kata Kunci)

Spesifikasi Use Case Input Jumlah Lompatan (Kata Kunci) dapat dilihat pada Tabel 3.3.

Tabel 3.7 Spesifikasi Use Case Input Jumlah Lompatan (Kata Kunci)

Name Load Stego Audio

Actors User

Description Use case ini mendeskripsikan proses pemanggilan stego audio

Preconditions User mengakses menu Steganografi LSB

Post Conditions Sistem menampilkan stego audio yang telah dipilih Kegiatan User Respon sistem

Success Scenario

1. User memilih menu Steganografi LSB. 2. User mengeksekusi

tombol Load Audio.

3. User memilih audio yang akan dijadikan stego audio pada kotak dialog 4. User dapat melihat nama

file audio yang telah dipilih sebagai stego audio

Sistem menampilkan halaman steganografi LSB.

Sistem menampilkan kotak dialog lokasi penyimpanan audio

Sistem menampilkan audio yang dipilih User

Name Input Jumlah Lompatan (Kata Kunci)

Actors User


(52)

3.2.4.8Use Case Proses Ekstraksi

Spesifikasi Use Case Proses Ekstraksi dapat dilihat pada Tabel 3.8.

Tabel 3.8 Spesifikasi Use Case Proses Ekstraksi

3.2.4.9Use Case Proses Melihat Daftar Hasil Pengujian

Spesifikasi Use Case Proses Melihat Daftar Hasil Pengujian dapat dilihat pada Tabel 3.9.

lompatan sebagai kata kunci untuk dapat mengekstraksi pesan dari sebuah stego audio

Preconditions User telah mendapatkan file stego audio yang akan diekstraksi pesan teks

Post Conditions Sistem mengaktifkan tombol Ekstrak

Kegiatan User Respon sistem Success Scenario

1. User memasukkan

jumlah lompatan.

Sistem mengaktifkan tombol Ekstrak.

Name Proses Ekstraksi

Actors User

Description Use case ini mendeskripsikan proses Ekstraksi pesan teks dari file stego audio

Preconditions User telah memasukkan jumlah lompatan Post Conditions Sistem menampilkan pesan teks dari stego audio

Kegiatan User Respon sistem

Success Scenario

1. User memilih tombol

Ekstraksi.

2. User dapat melihat hasil proses berupa:

a. Lama proses b. Pesan penyisip

Sistem melakukan proses ekstraksi.

Sistem menyimpan data hasil ekstraksi.


(53)

Tabel 3.9 Spesifikasi Use Case Proses Melihat Daftar Hasil Pegujian

3.2.4.10 Use Case Proses Menghapus Daftar Hasil Pengujian

Spesifikasi Use Case Proses Menghapus Daftar Hasil Pengujian dapat dilihat pada Tabel 3.10.

Tabel 3.10 Spesifikasi Use Case Proses Menghapus Daftar Hasil Pegujian Name Proses Melihat Daftar Hasil Pengujian

Actors User

Description Use case ini mendeskripsikan proses Melihat Daftar Hasil Pengujian

Preconditions User memilih sub menu Daftar Hasil Pengujian dari menu Laporan Hasil Pengujian

Post Conditions Sistem menampilkan laporan yang berisi daftar hasil pengujian dari semua hasil penyisipan dan ekstrasi.

Kegiatan User Respon sistem Success Scenario 1. User memilih menu

Laporan Hasil Pengujian

2. User memilih sub menu Daftar Hasil Pengujian

Sistem menampilkan 2 pilihan dalam bentuk sub menu yaitu Daftar Hasil Pengujian dan Hapus Hasil Pengujian

Sistem menampilkan laporan yang berisi daftar hasil pengujian dari semua hasil penyisipan dan ekstraksi.

Name Proses Menghapus Daftar Hasil Pengujian

Actors User

Description Use case ini mendeskripsikan proses Menghpaus Daftar Hasil Pengujian


(54)

3.2.5 Activity Diagram

Activity diagram merupakan teknik yang menggambarkan logika prosedural, proses bisnis, dan jalur kerja. Diagram ini memodelkan sebuah alur kerja dari satu aktivitas ke aktivitas lainnya. Berikut ditampilkan activity diagram untuk proses penyisipan dan ekstraksi.

3.2.5.1 Activity Diagram Proses Penyisipan Pesan Teks ke dalam Cover Audio

Activity diagram proses penyisipan pesan teks ke dalam cover audio dapat dilihat seperti pada Gambar 3.8.

Laporan Hasil Pengujian

Post Conditions Sistem mengahapus laporan yang berisi daftar hasil pengujian dari semua hasil penyisipan dan ekstrasi.

Kegiatan User Respon sistem Success Scenario 1. User memilih menu

Laporan Hasil Pengujian

2. User memilih sub menu Hapus Hasil Pengujian

Sistem menampilkan 2 pilihan dalam bentuk sub menu yaitu Daftar Hasil Pengujian dan Hapus Hasil Pengujian

Sistem menghapus laporan hasil pengujian


(55)

User System

Gambar 3.8 Activity Diagram Proses Penyisipan Pesan Teks ke dalam Cover Audio Memilih menu Steganografi LSB Menampilkan halaman Steganografi

LSB

Mengeksekusi tombol “Load Audio

Menampilkan kotak dialog lokasi keberadaan audio Memilih file audio yang akan

disisipi pesan teks

Menampilkan nama audio beserta ukurannya

Memasukkan jumlah lompatan dan pesan teks

Mengeksekusi tombol “Sisip”

Melakukan proses penyisipan dan menampilkan hasil penyisipan

berupa ukuran audio setelah penyisipan, lama penyisipan, nilai

biner sampel audio, pesan, dan sampel audio yang disisipi bit

pesan

Menyimpan hasil penyisipan dan menampilkan pesan bahwa penyimpanan stego audio telah

berhasil disimpan

Pilih tombol “Keluar”

Menutup halaman Steganografi LSB


(56)

3.2.5.2 Activity Diagram Proses Ekstraksi Pesan Teks dari Stego Audio

Activity diagram proses ekstraksi pesan teks dari stego audio dapat dilihat seperti pada Gambar 3.9.

User System

Gambar 3.9 Activity Diagram Proses Ekstrasi Pesan Teks dari Stego Audio Memilih menu Steganografi LSB Menampilkan halaman Steganografi

LSB

Mengeksekusi tombol “Load Audio

Melakukan proses ekstraksi dan menampilkan hasil ekstraksi

berupa pesan teks dan lama ekstraksi

Mengeksekusi tombol “Ekstrak”

Menyimpan hasil ekstraksi dan menampilkan pesan bahwa hasil ekstraksi telah berhasil disimpan Pilih tombol “keluar”

Menutup halaman Steganografi LSB

Menampilkan kotak dialog lokasi keberadaan stego audio Memilih stego audio yang akan

diekstraksi pesan teks

Menampilkan nama audio beserta ukurannya

Memasukkan jumlah lompatan sebagai kata kunci untuk mengekstraksi pesan teks


(57)

3.2.5.3 Activity Diagram Proses Melihat Daftar Hasil Pengujian

Activity diagram proses melihat daftar hasil pengujian dapat dilihat seperti pada Gambar 3.10.

User System

Gambar 3.10 Activity Diagram Proses Melihat Daftar Hasil Pengujian

3.2.5.4 Activity Diagram Proses Menghapus Daftar Hasil Pengujian

Activity diagram proses menghapus daftar hasil pengujian dapat dilihat seperti pada Gambar 3.11.

User System

Gambar 3.11 Activity Diagram Proses Menghapus Daftar Hasil Pengujian Memilih menu Laporan Hasil

Pengujian

Menampilkan 2 sub menu berupa Daftar Hasil Pengujian dan Hapus

Hasil pengujian

Memilih menu Daftar Hasil Pengujian

Menampilkan laporan hasil pengujian

Memilih menu Laporan Hasil Pengujian

Menampilkan 2 sub menu berupa Daftar Hasil Pengujian dan Hapus

Hasil pengujian

Memilih menu Hapus Hasil Pengujian

menghapus daftar hasil pengujian sistem


(58)

3.2.6 Perancangan Antarmuka (Interface)

Perancangan antarmuka (interface) merupakan salah satu aktivitas yang dilakukan selama tahap proses desain. Untuk melakukan proses perancangan antarmuka (interface) yang diinginkan, biasanya dinilai dari bentuk tampilannya yang menarik dan mudah untuk dioperasikan.

3.2.6.1 Perancangan Menu Utama

Pada saat program dijalankan tampilan yang pertama kali muncul adalah halaman menu utama. Halaman menu utama ini berisikan fungsi-fungsi dari sistem dalam proses saat program akan dijalankan hingga selesai dan mendapatkan hasil akhir dari hasil pengujian tersebut. Dimana pada rancangan menu utama, rancangan ini memiliki beberapa pilihan yaitu berupa menu Steganografi LSB, Laporan Hasil Pengujian, dan Quit. Pada rancangan halaman menu utama memiliki fungsinya masing-masing yaitu pada menu Steganografi LSB berfungsi untuk menjalankan program penyisipan file audio dan untuk pengekstraksian pesan penyisip, Laporan Hasil Pengujian berfungsi untuk menampilkan program daftar hasil pengujian dan hapus pengujian, dan terakhir Quit yang berfungsi untuk membantu keluar dari sistem. Dan rancangan menu utama terlihat seperti pada Gambar 3.12 dibawah ini.

Gambar 3.12 Perancangan Menu Utama

Judul Skripsi Gambar Pembukaan

Quit

1 5

6

7

Steganografi LSB Laporan Hasil Pengujian Daftar Hasil

Pengujian Hapus Pengujian

2 3


(59)

Keterangan Gambar :

1. Menu Steganografi LSB : berfungsi untuk menampilkan halaman steganografi untuk proses penyisipan dan ekstraksi

2. Menu Laporan Hasil Pengujian : berfungsi untuk menampilkan halaman hasil pengujian

3. Menu Bar : berfungsi untuk pemanggilan program daftar hasil pengujian 4. Menu Bar : berfungsi untuk pemanggilan program hapus pengujian 5. Menu Bar : berfungsi untuk kembali menutup halaman

6. Label : berfungsi untuk menampilkan judul skripsi steganografi 7. Picture box : berfungsi untuk menampilkan gambar latar belakang

3.2.6.2 Perancangan Steganografi LSB

Perancangan Steganografi LSB berfungsi sebagai penyisipan dan ekstraksi pesan teks ke dalam dan dari file audio yang berformat MP3. Fungsi tombol yang terdapat pada rancangan ini adalah tombol Load Audio yang berfungsi untuk melakukan pemanggilan file audio MP3 dari dalam komputer dan menampilkan nama file serta alamat, tombol Sisip berfungsi untuk melakukan proses penyisipan pesan kedalam file audio, Ekstrak berfungsi untuk mengeluarkan penyisip pesan dari dalam file audio, dan tombol Keluar berfungsi untuk menutup tampilan. Perancangan Steganografi LSB dapat dilihat seperti pada Gambar 3.13 disebelah ini.


(60)

Gambar 3.13 Perancangan Steganografi LSB Keterangan Gambar :

1. Label : berfungsi untuk menampilkan nama file audio.

2. Label : berfungsi untuk menampilkan ukuran file audio sebelum penyisipan 3. Label : berfungsi untuk menampilkan lompatan penyisipan

4. Text1 : berfungsi untuk pemasukan pesan penyisip

5. Label : berfungsi untuk menampilkan lama waktu penyisipan

6. Label : berfungsi untuk menampilkan ukuran file audio setelah penyisipan 7. List Box : berfungsi untuk menampilkan nilai biner pesan penyisip.

8. List Box : berfungsi untuk menampilkan nilai biner sample audio.

9. List Box : berfungsi untuk menampilkan 7 bit sample audio dan 1 bit biner penyisip

10. Command Button : berfungsi untuk tombol pemanggilan file MP3. 11. Command Button : berfungsi untuk tombol proses ekstraksi. 12. Command Button : berfungsi untuk tombol proses penyisipan.

13. Command Button : berfungsi untuk tombol menampilkan halaman proses penyisipan maupun ekstraksi.

14. Command Button : berfungsi untuk tombol menutup halaman steganografi.

Nama File xxxxxxxxxxxxxxxxx

List Tampilan Biner Penyisip Sisip Keluar Load Audio Lama Ekstrak xxxxxxxxxxxxxxxx Ukuran Awal xxx 1 3 4 xxxxxx 5

7 8

10 11 12 6 Ukuran Akhir Pesan Teks xxx xxxx Jumlah 14 List Tampilan Biner Sample Audio 2 9 List Tampilan Biner 7 bit Sample Audio + 1 bit

Biner Penyisip

Tampil 13


(61)

3.2.6.3 Perancangan Laporan Hasil Pengujian

Media ini berfungsi untuk menampilkan output dari suatu proses yang telah diolah oleh program, atau merupakan proses akhir dengan menampilkan sejumlah informasi sesuai dengan apa yang telah di inputkan dan telah diproses. Dan dari pengujian hasil program tersebut dapat dilihat seperti pada Gambar 3.14 berikut ini.

HASIL PENGUJIAN

NO File Audio

MP3

Ukuran (kb)

Pesan Tersembunyi

Lompatan Lama

(detik) Penyisipan

xx xxxxxxxxxxx xxx xxx xxx xxx

xx xxxxxxxxxxx xxx xxx xxx xxx

Rata-rata xxx xxx xxx

Ekstraksi

xx xxxxxxxxxxx xxx xxx xxx xxx

xx xxxxxxxxxxx xxx xxx xxx xxx

xx xxxxxxxxxxx xxx xxx xxx xxx

Rata-rata xxx xxx xxx


(1)

5. clsAAC.cls Option Explicit

Dim SampleAudio() As String Event Progress(Procent As Integer)

Private Function FileExist(Filename As String) As Boolean On Error GoTo FileDoesNotExist

Call FileLen(Filename) FileExist = True Exit Function

FileDoesNotExist: FileExist = False

End Function

Public Sub GetAudioData(SrcFile As String, NamaFile As String, pesan As String, numKelang As String)

Dim FileNum As Integer Dim FileNew As Integer Dim FileBinary() As Byte Dim FileSize As Long

Dim i&, a&, x&, j&, k&, syncSmple& Dim status As Boolean

Dim n&, n_bit&

Dim BinerPesan As String

'Pengecekan file tersebut ada atau tidak ada If (Not FileExist(SrcFile)) Then

Err.Raise vbObjectError, "clsAAC.GetAudioData", "File tidak ada ...." End If

time.StartTimer

'Ambil semua data yang ada pada file FileNum = FreeFile

Open SrcFile For Binary As #FileNum ReDim FileBinary(0 To LOF(FileNum) - 1) ReDim SampleAudio(0 To LOF(FileNum) - 1) Get #FileNum, , FileBinary()

FileSize = LOF(FileNum) Close #FileNum

k = 0

For j = 0 To FileSize - 2

If (FileBinary(j) = &HFF) And (FileBinary(j + 1) = &HFB) Then j = j + 36

k = k + 36 End If


(2)

Next

syncSmple = k

Main.List1.Clear Main.List2.Clear Main.List3.Clear

If (numKelang = "") Then

MsgBox "Jumlah Lompatan sebagai kata kunci belum Anda isi", vbInformation, "Info" Else

BinerPesan = HiddenTextToBinary(pesan) n_bit = Len(BinerPesan)

If ((FileSize - syncSmple) < Len(Pesan)) Then

MsgBox "Pesan Teks lebih besar daripada ukuran file audio yang bisa dimasukkan", vbInformation, "Info"

Else

status = False n = numKelang a = 0

x = 1

For i = 0 To FileSize - 1

ReCheck: If (FileBinary(i) = &HFF) And (FileBinary(i + 1) = &HFB) Then status = True

i = i + 36

GoTo GetSmplAud End If

GetSmplAud: If status = True Then Do While i <> FileSize - 1

If Not ((FileBinary(i) = &HFF) And (FileBinary(i + 1) = &HFB)) Then SampleAudio(a) = DecimalToBinary(Val(FileBinary(i)))

Main.List2.AddItem (SampleAudio(a)) n = n + 1

'proses LLSB

If (n = numKelang + 1) And (x <= Len(BinerPesan)) Then

SampleAudio(a) = Left(SampleAudio(a), 7) & Mid(BinerPesan, x, 1) x = x + 1

n = 0

FileBinary(i) = BinaryToDecimal(SampleAudio(a)) Main.List3.AddItem (SampleAudio(a))

If (x > Len(BinerPesan)) Then ' dibuat supaya program tidak terlalu lama Exit For

End If End If a = a + 1 i = i + 1 Else


(3)

n = numKelang GoTo ReCheck End If

Loop End If Next

‘save new one FileNew = FreeFile

Open App.Path & "\BackUpMP3\" & NamaFile For Binary As #FileNew Put #FileNew, , FileBinary()

Seek #FileNew, LOF(FileNew) + 1

'Put #FileNew, , Right(" " & numKelang, 2) & Right(" " & n_bit, 3) Main.lblUkuran2.Caption = LOF(FileNew) / 1024

Close #FileNew

time.StopTimer

Main.lblLama.Caption = Format(time.Elasped, "0.000000") Lama1 = Format(time.Elasped, "0.000000")

Call Main.Simpan 'End If

End If End Sub

Public Function BinaryToDecimal(Binary As String) As Long Dim n As Long

Dim s As Integer

For s = 1 To Len(Binary)

n = n + (Mid(Binary, Len(Binary) - s + 1, 1) * (2 ^ (s - 1))) Next s

BinaryToDecimal = n End Function

Public Function DecimalToBinary(DecimalNum As Long) As String Dim tmp As String

Dim n As Long n = DecimalNum

tmp = Trim(Str(n Mod 2)) n = n \ 2

Do While n <> 0

tmp = Trim(Str(n Mod 2)) & tmp n = n \ 2

Loop

DecimalToBinary = Right("00000000" & tmp, 8) End Function


(4)

Public Function HiddenTextToBinary(HiddenTeks As String) As String Dim x, a As Long

Dim b As String

For x = 1 To Len(HiddenTeks) a = Asc(Mid(HiddenTeks, x, 1)) b = b & DecimalToBinary(a)

Main.List1.AddItem (Right("00000000" & DecimalToBinary(a), 8)) Next

HiddenTextToBinary = b End Function

Public Function HiddenTextToChar(HiddenBinary As String) As String Dim x, a, b, c As Long

Dim HideArr() As String Dim Teks As String

ReDim HideArr(0 To Len(HiddenBinary) / 8) a = 0

x = 1

Do While x <= Len(HiddenBinary) HideArr(a) = Mid(HiddenBinary, x, 8) a = a + 1

x = x + 8 Loop

For b = 1 To a

c = BinaryToDecimal(HideArr(b - 1)) Teks = Teks & Chr(c)

Next

HiddenTextToChar = Teks End Function

Public Sub ExtractPesan(SrcFile As String, num_Kelang As String) Dim FileNum As Integer

Dim FileNew As Integer Dim FileBinary() As Byte Dim FileSize As Long Dim i&, a&

Dim status As Boolean Dim n&, x&

Dim BinerPesan As String Dim PesanChar As String Dim BitPesan As String Dim GetKelang As String Dim GetNBiner As String Dim numKelang As Integer


(5)

If (Not FileExist(SrcFile)) Then

Err.Raise vbObjectError, "clsAAC.ExtractPesan", "File tidak ada ...." End If

'Ambil semua data yang ada pada file FileNum = FreeFile

Open SrcFile For Binary As #FileNum ReDim FileBinary(0 To LOF(FileNum) - 1) ReDim SampleAudio(0 To LOF(FileNum) - 1) Get #FileNum, , FileBinary()

FileSize = LOF(FileNum) Close #FileNum

'GetKelang = Chr(FileBinary(FileSize - 2)) & Chr(FileBinary(FileSize - 1)) 'GetKelang = Chr(FileBinary(FileSize - 5)) & Chr(FileBinary(FileSize - 4)) 'GetNBiner = Chr(FileBinary(FileSize - 3)) & Chr(FileBinary(FileSize - 2)) & Chr(FileBinary(FileSize - 1))

If (num_Kelang = "") Then

MsgBox "Jumlah Lompatan sebagai kata kunci belum Anda isi", vbInformation, "Info" ElseIf Not (Trim(GetKelang) = num_Kelang) Then

MsgBox "Kata kunci Anda salah!", vbInformation, "Info" Else

time.StartTimer

numKelang = num_Kelang 'jarak = numKelang ' PesanChar = "" BinerPesan = "" status = False n = numKelang a = 0

x = 1

For i = 0 To FileSize - 1

ReCheck: If (FileBinary(i) = &HFF) And (FileBinary(i + 1) = &HFB) Then status = True

i = i + 36

GoTo GetSmplAud End If

GetSmplAud: If status = True Then Do While i <> FileSize - 1

If Not ((FileBinary(i) = &HFF) And (FileBinary(i + 1) = &HFB)) Then SampleAudio(a) = DecimalToBinary(Val(FileBinary(i)))

n = n + 1

'proses extract LLSB

If (n = numKelang + 1) Then

BitPesan = Right(SampleAudio(a), 1) BinerPesan = BinerPesan & BitPesan x = x + 1

n = 0


(6)

If Not (GetNBiner + 1 < x) Then

PesanChar = PesanChar & BinerPesan BinerPesan = ""

Else

PesanChar = HiddenTextToChar(PesanChar) Main.Text2.Text = PesanChar

Exit For End If End If End If a = a + 1 i = i + 1 Else

status = False n = numKelang GoTo ReCheck End If

Loop End If Next

time.StopTimer

Main.lblLama.Caption = Format(time.Elasped, "0.000000") Lama2 = Format(time.Elasped, "0.000000")

Pesan1 = Trim(Main.Text2.Text) Call Main.Simpan

End If End Sub