21
PENYISIPAN DATA PADA DOMAIN FREKUENSI DARI VIDEO DAN AUDIO STREAMING PADA FILE AUDIO VIDEO INTERLEAVE TIDAK TERKOMPRES Yonathan Dri Handarkho Dosen Tetap Program Studi Teknik Informatika, Politeknik Cilacap ABSTRACT The aplication of steganography on an uncompressed AVI file, have a purpose to hide an information in the file streaming of the video. Generally AVI file has four streamings that informations can be attached in: Video, Audio, Midi, and Text. From these four streaming files, video and audio stream is a media that most often informations can be attached on. Video stream on uncompressed AVI file is chain of frames in the form of image with bitmap type piled up in the streaming file. So that the process of attachments of datas or informations can be apply in the bitmap format. There are several algorithm of datas attachment that can be apply to a file. One of them is using Fast Fourier Transform (FFT) algorithm. FFT algorithm is the simplified form from Discrete Fourier Transform (DET) algorithm that transforming a value data from spacial space to frequency space. On this observation, datas that need to be transform is blue color value data (B) from RGB value found in the piled up of every pixels bitmap on video streaming. Value of the Blue pixels will be transform using FFT algorithm. Result of transforming the pixel value will be attached with a new data, by using a appropriate method. Audio streaming format on uncompressed AVI is uncompressed WAV (Waveform Audio File Format) file. Hiding a message in Wave file is similar to hiding it in the pixels of a bitmap because WAV file consists of a series or chain of audio data. So we can grab one carrier unit from audio data steaming, attach a new data, and write the changed unit to the destination stream. Keywords: Steganography, Audio Video Interleave, Video Streaming, Audio Streaming, Fast Fourier Transform, RGB, Blue Pixel, Bitmap, Audio data 1. Pendahuluan 1.1 Latar Belakang Penerapan konsep steganografi pada sebuah file video AVI pada umumnya diarahkan kepada proses penyisipan data atau informasi pada sebuah streaming file dari sebuah file video. Streaming file adalah file penyusun file video yang secara umum terdiri dari empat jenis streaming file yaitu file video, audio, midi, dan teks. Dari keempat buah file streaming tersebut, video dan audio stream adalah jenis streaming yang paling sering dipergunakan di dalam proses penyisipan sebuah informasi atau data. Video stream adalah sebuah rangkaian frame atau image yang menyusun sebuah file video. Pada file AVI tidak terkompres, video stream terbentuk dari sejumlah rangkaian file image bertipe bitmap yang tersusun dalam sebuah file streaming. Proses penyisipan data atau informasi diterapkan dengan mengekstrak frame dari sebuah video dalam format bitmap, kemudian dilakukan penyisipan data atau informasi kedalam file bitmap tersebut. Audio stream pada file AVI tidak terkompres sendiri adalah sebuah file WAV (Waveform Audio File Format) yang memiliki sifat Lossless compression. Proses penyisipan pada file WAV dilakukan

62873734 Jurnal Dua Steganografi New

Embed Size (px)

DESCRIPTION

just share

Citation preview

Page 1: 62873734 Jurnal Dua Steganografi New

PENYISIPAN DATA PADA DOMAIN FREKUENSI DARI VIDEO DAN AUDIO STREAMING PADA

FILE AUDIO VIDEO INTERLEAVE TIDAK TERKOMPRES

Yonathan Dri HandarkhoDosen Tetap Program Studi Teknik Informatika, Politeknik Cilacap

ABSTRACT

The aplication of steganography on an uncompressed AVI file, have a purpose to hide an information in the file streaming of the video. Generally AVI file has four streamings that informations can be attached in: Video, Audio, Midi, and Text. From these four streaming files, video and audio stream is a media that most often informations can be attached on.

Video stream on uncompressed AVI file is chain of frames in the form of image with bitmap type piled up in the streaming file. So that the process of attachments of datas or informations can be apply in the bitmap format. There are several algorithm of datas attachment that can be apply to a file. One of them is using Fast Fourier Transform (FFT) algorithm. FFT algorithm is the simplified form from Discrete Fourier Transform (DET) algorithm that transforming a value data from spacial space to frequency space. On this observation, datas that need to be transform is blue color value data (B) from RGB value found in the piled up of every pixels bitmap on video streaming. Value of the Blue pixels will be transform using FFT algorithm. Result of transforming the pixel value will be attached with a new data, by using a appropriate method.

Audio streaming format on uncompressed AVI is uncompressed WAV (Waveform Audio File Format) file. Hiding a message in Wave file is similar to hiding it in the pixels of a bitmap because WAV file consists of a series or chain of audio data. So we can grab one carrier unit from audio data steaming, attach a new data, and write the changed unit to the destination stream.

Keywords: Steganography, Audio Video Interleave, Video Streaming, Audio Streaming, Fast Fourier Transform, RGB, Blue Pixel, Bitmap, Audio data

1. Pendahuluan1.1 Latar Belakang

Penerapan konsep steganografi pada sebuah file video AVI pada umumnya diarahkan kepada proses penyisipan data atau informasi pada sebuah streaming file dari sebuah file video. Streaming file adalah file penyusun file video yang secara umum terdiri dari empat jenis streaming file yaitu file video, audio, midi, dan teks. Dari keempat buah file streaming tersebut, video dan audio stream adalah jenis streaming yang paling sering dipergunakan di dalam proses penyisipan sebuah informasi atau data.

Video stream adalah sebuah rangkaian frame atau image yang menyusun sebuah file video. Pada file AVI tidak terkompres, video stream terbentuk dari sejumlah rangkaian file image bertipe bitmap yang tersusun dalam sebuah file streaming. Proses penyisipan data atau informasi diterapkan dengan mengekstrak frame dari sebuah video dalam format bitmap, kemudian dilakukan penyisipan data atau informasi kedalam file bitmap tersebut. Audio stream pada file AVI tidak terkompres sendiri adalah sebuah file WAV (Waveform Audio File Format) yang memiliki sifat Lossless compression. Proses penyisipan pada file WAV dilakukan pada data audio dari file WAV yang memiliki format standart RIFF (Resource Interchange File Format).

Terdapat beberapa algoritma penyisipan data yang dapat diterapkan pada suatu file image maupun audio. Salah satunya dengan menggunakan algoritma Fast Fourier Transform (FFT). Algoritma FFT adalah bentuk penyederhanaan dari algoritma Discrete Fourier Transform (DFT) yang mentransformasikan suatu nilai data dari ruang spasial ke ruang frekuensi. Pada penelitian kali ini, data yang akan ditransformasikan adalah data nilai warna biru (B) dari nilai RGB yang terdapat di setiap pixel bitmap penyusun video streaming dan data RIFF dari rangkaian data file audio streaming. Nilai dari pixel Blue dan data dari audio stream akan ditransformasikan menggunakan algoritma FFT. Hasil transformasi nilai tersebut selanjutnya akan disisipkan sebuah nilai baru menggunakan metode penyisipan yang dianggap paling sesuai dengan sifat dari transformasi fourier.

Tidak semua metode penyisipan data bisa diterapkan begitu saja pada data streaming yang telah tertransformasi tersebut. Hal tersebut dikarenakan nilai data balikan (invert) dari domain frekuensi haruslah berupa bilangan bulat, menyesuaikan dengan format nilai data piksel dan audio. Apabila nilai balikan dari data fourier menghasilkan nilai desimal, maka nilai akan dibulatkan agar sesuai dengan format data dari audio dan video stream. Hal tersebut akan menyebabkan data yang disisipkan menjadi rusak karena nilai sudah tidak sesuai dengan kondisi semula.

Page 2: 62873734 Jurnal Dua Steganografi New

1.2 Perumusan Masalah Berdasarkan latar belakang masalah diatas, maka dapat dirumuskan permasalahan sebagai berikut : “Bagaimanakah bentuk implementasi dari proses penyisipan data pada domain frekuensi dari data video dan audio streaming dari file Audio-Video Interleaved ?”

1.3 Tujuan PenelitianPenelitian ini bertujuan untuk mencari metode yang tepat pada proses penyisipan data di domain frekuensi

dari file audio dan video streaming pada file AVI. Berdasarkan pada tujuan tersebut, penulis juga akan menunjukkan bagaimana proses dan hasil pengujian terhadap metode penyisipan data sederhana seperti LSB, jika diterapkan pada domain frekuensi dan pengaruhnya terhadap data yang telah disisipkan.

2. Tinjauan Pustaka dan Landasan Teori

2.1 Tinjauan PustakaTerdapat beberapa penelitian yang memiliki keterkaitan dengan penelitian ini. Stanescu dkk (2007) dalam

jurnalnya yang berjudul Embedding Data in Video Stream using Steganography, mencoba menyisipkan data kedalam video stream pada file video MPEG-2, menggunakan algoritma Discrete Cosine Transform (DCT). Dalam penelitian tersebut, Stanescu dkk (2007) menyisipkan data karakter pada blok blok pixel menggunakan algoritma DCT pada frame penyusun video stream tersebut.

Raja dkk (2005) dalam jurnalnya yang berjudul A Secure Image Steganography using LSB, DCT and Compression Techniques on Raw Images mencoba memadukan tiga buah algoritma untuk menghasilkan proses penyisipan data yang aman pada sebuah file gambar mentah (raw images). Ketiga algoritma tersebut adalah Least significants Bits (LSB) yang dipergunakan untuk menyisipkan (embed) data, algoritma Discrete Cosine Transform (DCT) yang dipergunakan untuk mentransformasikan data yang telah disisipi dari domain spasial ke domain frekuensi, dan yang terakhir adalah penggunaan algoritma quantization and runlength untuk mengkompres file gambar yang telah disisipkan informasi (stego image) untuk meningkatkan keamanan dari data yang disisipkan.

Gumantyo (2007) dalam penelitiannya yang berjudul “Steganografi Audio dengan metode Spread Spektrum Dan Data Swap” menerapkan steganografi pada file WAV menggunakan pengembangan algoritma FFT dan LSB yang diterapkan pada data spektrum frekuensi dari file WAV. Dalam penelitian tersebut, data pada biner dari rangkaian file audio diubah ke dalam bentuk frekuensi menggunakan algoritma FFT, untuk selanjutnya dilakukan penyisipan data menggunakan metode swap data yang merupakan pengembangan dari metode LSB agar proses penyisipan data tidak merubah format nilai dari data audio.

Pada penelitian kali ini, penulis mencoba memanfaatkan ruang yang cukup luas yang tersedia didalam format file video yang tersusun atas beberapa file streaming. File streaming yang dipergunakan dalam penyisipan data kali ini adalah video dan audio streaming. Penggunaan dua buah file streaming tersebut menyebabkan kapasitas data yang akan disisipkan menjadi jauh lebih banyak. Proses penyisipan data pada kedua file streaming tersebut dilakukan pada domain frekuensi dari data yang diperoleh melalui proses transformasi fourier menggunakan algoritma FFT. Penyisipan data pada domain frekuensi sendiri ditujukan agar data menjadi lebih aman dari proses ekstraksi yang bersifat ilegal. Akan tetapi proses penyisipan data pada domain frekuensi juga memiliki konsekuensi terhadap format data yang dihasilkan. Hal tersebut dikarenakan jika kita menyisipkan data secara sembarangan akan merubah nilai frekuensi dari data, yang mengakibatkan saat kita mengembalikan data kedomain semula akan menghasilkan nilai data yang tidak bulat (desimal). Hal tersebut tentu saja tidak diperkenankan karena nilai dari data audio dan video streaming bernilai bulat. Oleh karena itu, penelitian kali ini juga akan membahas dan menguji mengenai metode apakah yang tepat untuk digunakan pada proses penyisipan data pada domain frekuensi dari data audio dan video streaming.

2.2 Landasaan Teori2.2.1 Konsep Steganografi

Steganografi merupakan seni untuk menyembunyikan pesan di dalam pesan lainnya sehingga orang lain tidak menyadari bahwa ada sesuatu di dalam pesan tersebut. Terdapat berbagai bentuk dan metode penerapan dari konsep ini. Metode Steganografi sering kali disamakan dengan metode kriptografi. Padahal kedua metode ini tidaklah sama. Prinsip dasar dari metode Kriptografi adalah mengacak pesan sehingga tidak dapat dimengerti oleh pihak lain. Sedangkan prinsip dasar dari steganografi adalah menyembunyikan pesan atau data di dalam suatu media menggunakan metode atau algoritma tertentu sehingga menjadi tidak terdeteksi.2.2.2 Algoritma Fast Fourier Transform

Metode transformasi fourier pada dasarnya adalah suatu metode transformasi untuk mengubah suatu data menjadi jumlahan dari komponen eksponensial bilangan kompleks yang saling berbeda magnitude, frekuensi dan fase. Setiap fungsi periodik (sinyal) dapat dibentuk dari penjumlahan gelombang-gelombang sinus atau cosinus.

Page 3: 62873734 Jurnal Dua Steganografi New

07 45 98 75 32114 05 134 02 1908 91 106 45 5631 90 34 22 1729 00 48 28 91

Contoh Blok data matrik 5 x 5 dari nilai pixel Blue dari frame bitmap video stream

Secara lebih sederhana transformasi fourier didefinisikan sebagai transformasi data dari domain ruang (spasial) ke domain frekuensi. Melalui proses transformasi fourier, metode penyisipan data menjadi lebih aman dikarenakan data disisipkan pada domain frekuensi.

Implementasi transformasi domain menggunakan algoritma FFT pada data dari audio stream dan video stream memiliki perbedaan dari bentuk dimensi datanya, menyesuaikan dengan dimensi dari kedua data streaming tersebut. Dimensi data dari audio stream yang dipergunakan adalah satu dimensi. Sedangkan dimensi data dari video stream (bitmap frame) adalah dua dimensi. Sehingga untuk data dari audio stream, digunakan algoritma FFT satu dimensi dan untuk data video stream digunakan algoritma FFT dua dimensi.

Persamaan Fast Fourier Transform satu dimensiFFT untuk satu dimensi dirumuskan sebagai berikut:

X ( q )=∑n=0

N −1

x (n )e− j2 π qn /N

Digunakan persamaan Euler:

e− jx=cos x− j sin x

e jx=cos x+ jsin x

Berdasarkan persamaan Euler, persamaan FFT dapat berubah menjadi:

X ( q )=∑n=0

N −1

x (n )(cos2 π qn /N− j sin 2π qn /N )

Dari persamaan di atas akan diperoleh nilai hasil berupa bilangan Real dan Imaginer.

Nilai Real diperoleh dari:

Re( q)=∑n=0

N −1

x (n)cos2 π qn/ N

Nilai Imaginer diperoleh dari:

Im (q )=− j ∑n=0

N−1

x (n )sin 2 π qn/ N

Nilai frekuensi diperoleh dari penggabungan Nilai Real dan Imaginer menggunakan persamaan:

F (q )=√Re(q )2+ Im(q )2

Persamaan Fast Fourier Transform dua dimensiUntuk FFT dua dimensi dirumuskan sebagai berikut :

64 61 74 61 00 40 01 00

Contoh Bentuk data satu di dimensi dari audio stream

X ( p ,q )= ∑m=0

M−1

∑n=0

N−1

x( m, n )e− j ( 2 π /M ) pm e− j (2 π / N ) qn

Page 4: 62873734 Jurnal Dua Steganografi New

Digunakan persamaan Euler:

e− jx=cos x− j sin x

e jx=cos x+ jsin x Berdasarkan persamaan Euler, persamaan FFT dua dimensi dapat berubah menjadi:

X ( p ,q )= ∑m=0

M−1

∑n=0

N−1

x (m , n)(cos2 π pm / M− jsin 2 π pm / M )(cos2 π qn/ N− jsin 2 π qn/ N )

Dari persamaan FFT dua dimensi akan diperoleh nilai hasil berupa bilangan Real dan Imaginer.

Nilai Real diperoleh dari:

Re( p ,q )=∑m=0

M−1

∑n=0

N−1

x (m ,n )(cos2 π pm / M )(cos2 π qn/ N )

Nilai Imaginer diperoleh dari:

Im ( p , q )=− j ∑m=0

M−1

∑n=0

N−1

x (m ,n)(sin 2 π pm / M )(sin 2 π qn /N )

Nilai frekuensi diperoleh dari penggabungan Nilai Real dan Imaginer menggunakan persamaan:

F ( p , q )=√Re( p , q )2+ Im( p ,q )2

2.2.3 Algoritma Invert Fast Fourier TransformSetelah dilakukan penyisipan bit-bit data pada data frekuensi dari data audio dan video stream, data akan

dikembalikan kedalam domain semula dengan menggunakan metode Invert FFT (IFFT). Untuk mendapatkan nilai invert Fourier Transform, harus ditentukan terlebih dahulu nilai sudut teta (θ). Nilai sudut teta (θ) digunakan untuk menentukan sudut yang terbentuk dari nilai Real dan Imaginer awal. Tujuannya agar nilai real dan imaginer baru nantinya berada pada sudut dan kuadran yang sama dengan nilai awal, sehingga nilai balikan ( invert FFT) sesuai dengan nilai awalnya. Perhitungan sudut dapat ditemukan dengan persamaan:

θ( q)=arctgIm (q )Re (q ) (IFFT satu dimensi)

θ( p , q )=arctgIm( p , q )Re( p , q ) (IFFT dua dimensi)

Setelah didapat nilai θ, nilai tersebut harus dikonversi berdasarkan kuadrannya. Kuadran-kuadran yang ada, yaitu:1. Kuadran I :

Kondisi ini terpenuhi jika nilai real dan imaginer positif.

Nilainya : θ=0−90o

2. Kuadran II :Kondisi ini terpenuhi jika nilai real negatif dan nilai imaginer positif.

Nilainya : θ=180o−θ3. Kuadran III :

Kondisi ini terpenuhi jika nilai real dan nilai imaginer negatif.

Nilainya : θ=180o+θ4. Kuadran IV :

Kondisi ini terpenuhi jika nilai real positif dan nilai imaginer negatif.

Page 5: 62873734 Jurnal Dua Steganografi New

Nilainya : θ=−θ

Pada IFFT dibutuhkan nilai real dan imaginer baru yang didapat dari persamaan:

Re( q)=F( q)cosθ (q ) ( IFFT satu dimensi)

Im (q )=F (q )sin θ( q )

Re( p , q )=F ( p ,q )cosθ ( p ,q ) ( IFFT dua dimensi)

Im ( p , q )=F ( p ,q )sin θ ( p , q )

Setelah didapat nilai real dan imaginer baru, kemudian kedua nilai tersebut dimasukkan kedalam persamaan IFFT untuk mendapatkan nilai data dalam domain spasial.

Persamaan Invert Fast Fourier Transform satu dimensiIFFT dihitung dengan menggunakan persamaan:

X ( q )= 1N

∑n=0

N −1

x (n)e j 2 π qn /N

Secara umum nilai dari x(n) adalah:

x (n )=re(q )+ j . Im(q )

Dalam penjabarannya, Persamaan Euler serta persamaan dari x(n) dapat dimasukkan kedalam persamaan IFFT di atas sehingga diperoleh persamaan IFFT yang baru :

X ( q )= 1N

∑n=0

N −1

(re (q )+ j .Im (q )) .(cos(2 π qn/ N )+ j .(sin (2 π qn/ N )))

Dari persamaan IFFT di atas akan diperoleh nilai hasil berupa bilangan Real dan Imaginer sebagai berikut:

Untuk nilai Real:

Re( q)=(re( q )*cos (2π qn/ N ))− j .(Im (q )*sin (2π qn/ N ))

Untuk nilai Imaginer:

Im (q )=(re (q )∗ j . sin(2 π qn /N ))+( j .Im (q )*cos (2 π qn /N ))

Hasil dari proses IFFT sendiri diperoleh dari rumus:

X ( q )=(√Re(q )2+ Im(q )2 )/ N

Persamaan Invert Fast Fourier Transform dua dimensi

IFFT dua dimensi dihitung dengan menggunakan persamaan:

Page 6: 62873734 Jurnal Dua Steganografi New

X ( p ,q )= 1M

1N

∑m=0

M−1

∑n=0

N −1

x (m,n )e j 2 π pm /M e j 2π qn/ N

Secara umum nilai dari x(n) adalah:

x (m ,n )=re ( p , q )+ j . Im( p , q )Dalam penjabarannya, Persamaan Euler serta persamaan dari x(m,n) dapat dimasukkan kedalam persamaan IFFT di atas sehingga diperoleh persamaan IFFT dua dimensi yang baru :

X ( p ,q )= 1M

1N

∑m=0

M−1

∑n=0

N −1

(re( p ,q )+ j . Im( p ,q )) .(cos2 π pm /M − j sin 2 π pm / M )(cos 2 π qn/ N− j sin 2 π qn/ N )))

Dari persamaan IFFT di atas akan diperoleh nilai hasil berupa bilangan Real dan Imaginer sebagai berikut:Untuk nilai Real:

Re( p , q )=(re( p , q )*cos (2 π pm/ M )*cos (2 π qn/ N ))− j .(Im ( p ,q )*sin(2 π pm / M *sin(2 π qn/ N ))

Untuk nilai Imaginer:

Im ( p ,q )=(re( p , q )∗ j . sin(2π pm / M )∗ j . sin(2 π qn/ N ))+( j . Im( p ,q )*cos (2π pm /M )*cos (2π qn/ N ))

Hasil dari proses IFFT sendiri diperoleh dari rumus:

X ( p ,q )=(√Re( p , q)2+Im( p , q )2 )/MN

2.2.4 Algoritma Least Significants BitsAlgortma LSB adalah salah satu metode penyisipan data yang cukup populer dan sederhana. Untuk memahami

konsep LSB, perlu juga dipahami konsep dari binary digit. Binary digit merupakan unit informasi terkecil yang ditangani oleh sebuah komputer. Satu bit diwujudkan sebagai 1 atau 0 dalam mode numeral, atau perwujudan dari true atau false sebagai kondisi logika. Sebuah grup dengan delapan bit akan disebut dengan satu byte. Dalam bentuk byte akan memberikan banyak tipe informasi, sebagai contoh surat yang ditulis dengan alphabet, digit decimal atau karakter lain. Binary digit sering disingkat dengan bit.

Metode Least significant bit menggunakan sifat data dari binary digit. Binary digit tersusun dari barisan data biner yang selalu memiliki nilai paling tidak berarti atau tidak terlalu berdampak besar pada perubahan suatu data. Letak dari nilai tersebut adalah pada sisi paling kanan dari barisan bit tersebut. Bit tersebut disebut sebagai least significant bit. Sedangkan most significant bit adalah kebalikan dari least significant bit yaitu angka yang memiliki impact (pengaruh) paling berarti yang terletak pada sisi paling kiri dari baris binary digit.Sebagai contoh bilangan biner dari 115 adalah 01110011 yang diperoleh dari perhitungan dibawah ini :

115 = 0∗27+1∗26+1∗25+1∗24+¿ 0∗23+0∗22+1∗21+1∗20

= 0 + 64 + 32 + 16 + 0 + 0 + 2 + 1= 115

Angka 0 dan 1 yang di cetak tebal menunjukkan bilangan biner yang merupakan presentasi dari nilai 115 dalam bilangan biner. Apabila kita merubah data pada bit LSB, maka perubahan nilai yang terjadi tidak akan berdampat terlalu jauh atau besar bila dibandingkan dengan nilai asli. Sebagai contoh kita akan merubah nilai LSB dari bilangan biner 115 yaitu 01110011 menjadi 01110010. Jika kita ubah nilai biner tersebut menjadi bilangan desimal maka nilai nya tidak akan jauh dari nilai semula seperti ditunjukkan pada perhitungan dibawah ini:

01110010 = 0∗27+1∗26+1∗25+1∗24+¿ 0∗23+0∗22+1∗21+0∗20

= 0 + 64 + 32 + 16 + 0 + 0 + 2 + 0 = 114

Page 7: 62873734 Jurnal Dua Steganografi New

video stream

join streamextract stream

Bitmap

AVI file

BitmapBitmap

New AVI file

audio stream : WAV

Embed data : 0100101 10100100

Dari perhitungan di atas, perubahan yang terjadi dari penyisipan nilai bit baru pada bit LSB dari bilangan biner 115, memberikan nilai yang tidak terlalu jauh sebesar 114.

3. Metode penelitian3.1 Bahan dan Alat penelitian

Bahan dan alat yang digunakan didalam penelitian ini adalah :1. Microsoft Visual C# 2008 dari Microsoft Visual Studio 2008 sebagai tools untuk menguji kevalidan metode

penyisipan data pada domain frekuensi.

3.2 Metode Penyisipan DataProses penyisipan data pada file AVI dibagi menjadi tiga tahapan utama yaitu: mengekstrak video stream dan

audio stream dari video file. Proses pengekstrakan menghasilkan rangkaian frame video dalam bentuk bitmap dan file audio dalam bentuk WAV. Tahapan kedua adalah menyisipkan (embed) data kedalam file bitmap dan file WAV. Tahapan terakhir adalah menyusun kembali frame-frame tersebut sehingga menjadi video stream yang baru dan menggabungkannya dengan file audio stream sehingga menjadi sebuah file video.

Gambar 3.1 Proses penyisipan data ( embeding data)3.2.1 Pengekstrakan data video stream dan audio stream

Proses pengekstrakan data streaming diawali dengan mengambil audio stream dari file AVI kemudian dilanjutkan dengan pengekstrakan video stream. Setelah mendapatkan video stream, maka langkah selanjutnya adalah membaca informasi dari stream tersebut yang meliputi posisi mula-mula (start position frame) dari stream tersebut, jumlah frame penyusun video stream, header information yang meliputi panjang dan lebar dari frame, dan frame rate dari video stream.

Setelah informasi dari video stream diperoleh, dilanjutkan dengan mengekstrak masing masing frame dari video stream dengan menentukan pointer dari object frame yang diinginkan dan pointer untuk DIB (Device Independent Bitmaps) dari frame yang di inginkan. DIB adalah format yang digunakan untuk menyimpan bitmap dalam format file bmp. Berdasarkan header information yang telah didapatkan maka langkah selanjutnya adalah melakukan decompress terhadap frame untuk menyimpannya sebagai file bitmap.

Proses pembentukan bitmap diawali dengan menyusun header information dari bitmap yang diperoleh sebelumnya dari video stream, dilanjutkan dengan melakukan decompress frame yang diambil dari video stream yang disimpan sementara di dalam DIB. Setelah semua informasi yang dibutuhkan (bitmap info header) didapatkan dan telah tersusun secara terstruktur, maka image dan header info yang didapat akan disimpan di dalam format data bitmap. Sampai langkah ini, frame yang terekstrak berformat bitmap.

3.2.2 Penyisipan data (data embeding)Terdapat dua buah proses penyisipan data yaitu penyisipan data pada frame dari video stream dan penyisipan

data pada file audio stream. Pada file audio stream berupa data WAV, penyisipan data dilakukan pada data digital audio dari file WAV. Perlu diketahui bahwa file WAV menggunakan struktur standar RIFF (Resource Intercahange File Format) yang mengelompokkan isi file kedalam beberapa bagian. Setiap bagian dari data audio memiliki header-nya sendiri-sendiri beserta dengan ukurannya. Struktur RIFF mengatur file data audio kedalam bagian bagian yang masing-masing memiliki header dan ukurannya sendiri dan disebut sebagai chunk. Format file WAV sendiri memiliki tiga buah chunk, yaitu: RIFF header, FORMAT header, dan DATA audio (DATA chunk). Telah

Page 8: 62873734 Jurnal Dua Steganografi New

disebutkan sebelumnya, proses penyisipan data dilakukan pada bagian data audio (data chunk). Apabila file WAV diamati menggunakan HEX Editor, akan memberikan hasil berupa rangkaian nilai sebagai berikut :

Untaian nilai nilai diatas merupakan rangkaian dari data chunk yang terdiri dari header, FORMAT header, dan DATA audio (DATA chunk). Nilai dari DATA audio ditunjukkan pada cuplikan baris data di bawah ini:

Proses penyisipan data akan dilakukan pada bagian data dengan mengubah nilai tersebut kedalam domain frekuensi menggunakan algoritma Fast Fourier Transfrom satu dimensi. Hasil dari proses transformasi data tersebut selanjutnya akan di sisipkan data menggunakan metode penyisipan yang dianggap sesuai dengan sifat dari transformasi fourier menggunakan algoritma FFT.

Penyisipan data pada file bitmap dari rangkaian frame pada video streaming sendiri tidak terlalu berbeda jauh dengan proses penyisipan data pada file audio WAV. Perlu diketahui bahwa citra bitmap adalah citra dengan ukuran 24 bit di mana untuk setiap piksel dari citra bitmap memiliki komponen warna yang spesifik yang merupakan kombinasi dari tiga warna dasar yaitu Red (R), Green (G),Blue (B) sehingga sering disebut sebagai citra RGB. Setiap komponen warna tersebut masing masing mempunyai nilai intensitas tersendiri dengan nilai 0 sampai dengan 255.

Proses penyisipan data pada file bitmap dilakukan dengan memanipulasi nilai RGB dari piksel bitmap tersebut. Penyisipan data dilakukan dengan mengambil blok matrik dari nilai pixel warna biru (Blue) dengan ukuran tertentu, untuk selanjutnya di transformasikan kedalam domain frekuensi menggunakan algortima Fast Fourier Transform dua dimensi. Seperti halnya pada file audio, hasil transformasi dari nilai piksel tersebut akan diubah kedalam bilangan biner dan akan disisipkan data dalam format biner menggunakan algoritma Least Significants Bits sebelum nantinya akan dikembalikan kedalam domain spasial menggunakan algoritma inverse FFT. Pemilihan piksel berwarna biru dikarenakan warna biru adalah warna yang sulit di deteksi oleh mata manusia normal, walaupun terjadi perubahan atau manipulasi nilai didalamnya.

Gambar 3.2 Contoh blok matrik nilai piksel biru dari bitmap frame yang di ubah kedalam domain frekuensi

Proses penyisipan data sendiri dilakukan secara bertahap dimana frame awal yang terekstrak akan tersimpan di dalam folder sementara, untuk kemudian dibuka dan disisipkan data kedalamnya. Hal tersebut berlaku juga untuk rangkaian file frame selanjutnya. Setelah data berhasil disisipkan, frame akan disusun kembali untuk membentuk sebuah video stream baru. Jadi pada intinya penyisipan data dilakukan satu persatu, dan untuk beralih ke frame selanjutnya, frame (bitmap) yang tersimpan di folder sementara akan dihapus terlebih dahulu. Pada proses akhir, data audio streaming dan video streaming akan digabungkan (merge) sehingga menjadi sebuah file AVI yang telah disisipkan sebuah data atau informasi di dalamnya.

3.3 Metode Pengekstrakan DataProses pengekstrak data dari stego video (file video yang telah disisipi hidden data) hampir serupa dengan

proses penyisipan data di awal. Proses di awali dengan pengekstrakan data audio stream dan video stream dari file AVI. Pada file video stream data audio stream akan di transformasikan ke domain frekuensi menggunakan algoritma FFT. Setelah nilai dalam domain frekuensi didapatkan, langkah selanjutnya adalah mengubah nilai data sesuai dengan metode invert dari metode yang digunakan pada proses penyisipan data di awal, sehingga di dapatkan data yang disisipkan.

52 49 46 46 24 40 01 00 57 41 56 45 66 6D 74 2010 00 00 00 01 00 02 00 11 2B 00 00 44 AC 00 0004 00 10 00 64 61 74 61 00 40 01 00 00 00 00 00

[email protected].........+..D.......data.@......

64 61 74 61 00 40 01 00 data length of the chunk

23 13 95 112 56 28 91 02 56 12 33 113 71 01 09 68 96 4565 83 04 75 92 06 52 77 2197 83 31 05 31 53 49 67 2952 12 33 113 71 01 09 68 9656 48 83 11 171 99 27 88 3695 82 74 07 24 06 11 47 7304 77 12 86 32 47 33 02 0112 66 27 240 34 56 63 73 33

92 06 52 31 53 49 71 01 09

blok matrik 3 x 3

FFT 2D Proses

Page 9: 62873734 Jurnal Dua Steganografi New

Gambar 3.3 Proses pengekstrakan data

4. Pembahasan4.1Penyisipan data

Pada bagian ini akan dijabarkan implementasi proses penyisipan data baik pada audio stream maupun video stream secara mendetail. Proses penyisipan data pada kedua data streaming tersebut di awali dengan melakukan proses transformasi nilai data pada data streaming dari domain spasial ke domain frekuensi. Telah dijabarkan pada bagian sebelumnya bahwa data dari audio streaming memiliki format satu dimensi. Sedangkan data nilai piksel dari bitmap penyusun video stream.

02 06 15 11 13 09

8 5 23 7 07 01 19

format satu dimensi format dua dimensi

Untuk mengubah data audio dan bitmap ke dalam domain frekuensi, data data tersebut bisa kita perlakukan sebagai elemen dari sebuah larik berdimensi satu untuk data audio dan berdimensi dua untuk data nilai piksel (RGB) frame seperti digambarkan pada gambar dibawah ini:

Gambar 4.1 Array D satu dimensi berisi data audio dan Array E dua dimensi berisi data piksel

Dengan memperlakukan data sebagai bagian dari array, maka proses perhitungan nilai real dan imaginer dari data frekuensi dapat dijabarkan dalam pseudo code sebagai berikut:

FFT satu dimensi

For i 0 To n – 1 Do For j 0 To n – 1 Do Real Real + (D[j] * (Math.Cos(((2 * phi * i * n) / n)))) Imagi Imagi - (D(j) * (Math.Sin(((2 * phi * i * n) / n))))

Endcase

FFT, extrect method

FFT , extrect method

video stream

extract dataextract stream

BitmapBitmapBitmap

Stego AVI file

audio stream : WAV

data

1 2 30

8 5 23 7element

indeks

02 06 15

11 13 09

07 01 19

0

1

2

0 1 2

elementindeks

Page 10: 62873734 Jurnal Dua Steganografi New

ArrayReal[i] Real ArrayImag[i] Imagi Real 0 Imagi 0 Endcase

Dengan keterangan sebagai berikut :

D = array satu dimensi yang menampung data audio i = indeks dari array satu dimensi n = banyaknya data Real = variabel penampung hasil perhitungan nilai real Imagi = variabel penampung hasil perhitungan nilai imaginer ArrayReal = array satu dimensi menampung nilai real dari setiap data ArrayImag = array satu dimensi menampung nilai imagi dari setiap data Phi = 3.14

FFT dua dimensi

For i 0 To n-1 Do For j 0 To m-1 Do

For k 0 To n – 1 Do For l 0 To m – 1 Do Real Real + ( E[k,l] *(Math.Cos((((2*phi*i*k)/n) + ((2*phi*j*l)/m)))) ) Imagi Imagi - ( E[k,l] *(Math.Sin((((2*phi*i*k)/n) + ((2*phi*j*l)/m)))) )Endcase

Endcase

ArrayReal[i,j] Real ArrayImag[i,j] Imagi Real 0 Imagi 0

EndcaseEndcase

Dengan keterangan sebagai berikut :

E = array satu dimensi yang menampung data audio i,j = indeks dari array dua dimensi n = banyaknya baris data m = banyaknya kolom data Real = variabel penampung hasil perhitungan nilai real Imagi = variabel penampung hasil perhitungan nilai imaginer ArrayReal = array satu dimensi menampung nilai real dari setiap data ArrayImag = array satu dimensi menampung nilai imagi dari setiap data

Setelah nilai real dan imaginer didapatkan, selanjutnya kedua nilai tersebut diubah kedalam nilai frekuensi dengan perhitungan sebagai berikut : FFT satu dimensi

For i 0 To n - 1 Do Frekuensi[i] Math.Sqrt((Math.Abs(Real[i])^2) + (Math.Abs(Imagi[i])^2)) Endcase

FFT dua dimensi

For i 0 To n-1 Do For j 0 To m-1 Do

Frekuensi[i,j] Math.Sqrt((Math.Abs(Real[i,j])^2) + (Math.Abs(Imagi[i,j])^2))

EndcaseEndcase

Page 11: 62873734 Jurnal Dua Steganografi New

83 22 24

08 23 11

08 11 23

43 16 19 16

Hasil transformasi fourier untuk FFT satu dan dua dimensi dengan pembulatan kebawah untuk nilai 0.5 kebawah berdasarkan contoh larik pada Gambar 4.1 adalah sebagai berikut :

data audio domain frekuensi data piksel domain frekuensi

Setelah proses transformasi fourier selesai dilakukan, langkah selanjutnya adalah menyisipkan data baru menggunakan metode penyisipan data yang dianggap tepat dan sesuai. Pada penelitian kali ini kita akan mencoba menyisipkan data kedalam nilai frekuensi dari data audio dan piksel menggunakan algoritma penyisipan paling sederhana yaitu LSB. Proses diawali dengan mengubah nilai frekuensi kedalam bilangan biner sebagai berikut :

43 : 0010 1011 83: 0101 0011 22: 0001 0110 24: 0001 1000 16 : 0001 0000 08: 0000 1000 23: 0001 0111 11: 0000 1011 19 : 0001 0011 08: 0000 1000 11: 0000 1011 23: 0001 0111 16 : 0001 0000

data biner audio data biner RGB piksel

Proses penyisipan data pada data data biner di atas dilakukan pada bit data paling tidak berarti ( least significat bit ). Sebagai contoh, pada data audio, kita bisa menyisipkan empat buah data bit kedalam data biner sebagai berikut :

0 1 1 0

Proses penyisipan keempat data, dapat dilakukan secara langsung seperti dijabarkan pada bagian berikut :

43 : 0010 101116 : 0001 000019 : 0001 001116 : 0001 0000

Akan tetapi proses penyisipan data pada least bit di atas akan menemui kendala karena saat dilakukan pembalikan (invert) nilai kedomain semula (spasial), nilai yang didapatkan menjadi tidak bulat. Hal tersebut menjadi kendala dikarenakan nilai dalam domian spasial tersebut merupakan nilai dari data audio streaming dan nilai dari data piksel biru dari file bitmap penyusun video stream yang memiliki tipe data integer positif (bilangan bulat). Di bawah ini ditunjukkan nilai balikan dari data frekuensi ke domain spasial dari data yang telah disisipi informasi baru.

42 17 19 16 --- IFFT --- > 7.07 4.67 23.43 6.84

Keempat nilai baru yang terbentuk di atas harus dibulatkan sesuai dengan format data dari audio dan video streaming. Hasil pembulatannya adalah sebagai berikut :

7 5 23 7

Nilai di atas jika kita kembalikan kedomain frekuensi akan menghasilkan nilai frekuensi baru sebagai berikut :

43 : 0010 101117 : 0001 000118 : 0001 001017 : 0001 0001

Dari perhitungan di atas terlihat metode penyisipan data menggunakan algoritma LSB biasa, kurang tepat dipergunakan dalam proses penyisipan sebuah data baru dalam sebuah domain frekuensi. Dari hasil perhitungan di atas, hasil pemerolehan data baru yang disisipkan tidak sesuai dengan nilai yang disisipkan. Data awal yang disisipkan bernilai 0 1 1 0. Sedangkan setelah melalui proses IFFT dan FFT, data yang disimpan berubah menjadi 1 1 0 1 . Hal tersebut dikarenakan penyisipan data di nilai frekuensi menyebabkan hasil pembalikan data ke domain semula (IFFT) akan menghasilkan bilangan desimal, sehingga harus dilakukan pembulatan sesuai dengan karakter dari data audio dan video streaming. Hal tersebut juga berlaku untuk proses perhitungan FFT dan IFFT dua dimensi.

0110 disisipkan di bit LSB

0010 1010 : 420001 0001 : 170001 0011 : 190001 0000 : 16

data yang disisipkan berubah

Page 12: 62873734 Jurnal Dua Steganografi New

Untuk mengatasi masalah tersebut, harus dicari sebuah metode penyisipan yang tepat agar nilai data balikan tetap bertipe bulat. Terdapat beberapa cara untuk mengatasi hal tersebut seperti memodifikasi metode LSB. Akan tetapi pada penelitian ini akan digunakan pendekatan yang jauh lebih sederhana. Salah satu pendekatan yang cukup sederhana tersebut adalah dengan mempersempit jumlah area data yang di transformasikan yaitu dua data untuk transformasi satu dimensi dan 2x2 data untuk transformasi dua dimensi. Selanjutnya penyisipan data baru dapat memanfaatkan salah satu dari sifat perhitungan dari FFT satu dan dua dimensi sebagai berikut :

- Untuk perhitungan FFT satu dimensi, diandaikan n adalah sebuah bilangan integer, maka hasil perhitungan dari array satu dimensi berukuran dua memiliki ciri khas sebagai berikut :

n n ----- FFT ---- > 2*n 1 ----- IFFT ----- > n n

Contoh penerapan dari sifat perhitungan di atas ditunjukkan pada perhitungan nilai frekuensi di bawah ini menggunakan bahasa pemrograman C# :

Gambar 4.2 Contoh perhitungan FFT satu dimensi menggunakan C#

- Untuk perhitungan FFT dua dimensi, diandaikan n adalah sebuah bilangan integer, maka hasil perhitungan dari array dua dimensi berukuran 2 x 2 memiliki sebuah ciri khas sebagai berikut :

----- FFT ---- > ----- IFFT ----- >

Contoh penerapan dari sifat perhitungan di atas ditunjukkan pada perhitungan nilai frekuensi di bawah ini menggunakan bahasa pemrograman C# :

Gambar 4.3 Contoh perhitungan FFT dua dimensi menggunakan C#

Dari sifat perhitungan transformasi fourier di atas baik untuk satu dan dua dimensi, maka dapat di buat sebuah kondisi dalam proses penyisipan data dalam sebuah domain frekuensi sebagai berikut :

- Untuk data fourier satu dimensi ( data audio streaming), apa bila data baru yang hendak disisipkan bernilai satu (1) maka di kondisikan nilai fourier dari dua buah data audio streaming diubah menjadi sesuai dengan sifat pada Gambar 4.2 yaitu pada nilai kedua selalu bernilai satu. Sebaliknya jika data yang disisipkan bernilai nol (0), maka nilai dari data audio streaming tidak perlu dimanipulasi asalkan data kedua tidak bernilai satu. Jika data kedua bernilai satu maka nilai harus diganti dengan sembarang nilai selain satu. Untuk lebih jelasnya dapat dilihat pada penggambaran di bawah ini :

disisipkan

n nn n

4* n 00 0

n nn n

Page 13: 62873734 Jurnal Dua Steganografi New

Data --FFT--> data fourier fourier baru --IFFT--> Data baru –-FFT--> data fourier

8 5 13 3 1 13 1 7 6 13 1

Penggambaran di atas menunjukkan bahwa data yang telah di sisipi oleh data baru, setelah di ubah ke domain spasial (IFFT), untuk selanjutnya di transformasikan ulang menggunakan metode FFT, tidak merubah kondisi data yang telah disisipkan data baru.

- Untuk data fourier dua dimensi (data frame bitmap dari video streaming), berdasarkan sifat perhitungan matrik fourier di atas, apabila data yang hendak disisipkan bernilai nol (0), maka nilai untuk masing masing komponen matrik fourier 2 x 2 tidak boleh dalam kondisi yaitu nilai selain matrik (0,0) sama dengan 0. Jika kondisi tersebut tidak terpenuhi maka nilai frekuensi matrik harus diacak agar tidak membentuk pola tersebut. Hasil balikan (IFFT) dari matrik ini akan menghasilkan nilai berbeda untuk masing masing komponen. Sebaliknya apabila inputan bernilai satu (1), maka nilai untuk masing masing komponen matrik fourier 2 x 2 harus dalam sebuah kondisi yaitu selain nilai pada koordinat (0,0), nilai lainnya harus ber nilai nol ( 0). Jika tidak terpenuhi maka nilai fourier matrik harus diubah menjadi sama dengan 0 untuk koordinat (0,1), (1,0) dan (1,1). Hasil balikan (IFFT) dari matrik ini akan menghasilkan nilai sama untuk masing masing komponen matrik. Untuk lebih jelasnya dapat dilihat pada penggambaran di bawah ini :

disisipkan

--FFT--> -- 1 --> --IFFT--> --FFT-->

Penggambaran di atas menunjukkan bahwa data yang telah di sisipi oleh data baru, setelah di ubah ke domain spasial (IFFT), untuk selanjutnya di transformasikan ulang menggunakan metode FFT, tidak merubah kondisi data yang telah disisipkan data baru.

Setelah proses penyisipan data selesai, maka langkah selanjutnya mengembalikan nilai data dari domain frekuensi kembali ke domain spasial menggunakan metode invert fourier. Untuk mendapatkan nilai invert Fourier Transform, harus ditentukan terlebih dahulu nilai sudut teta (θ). Nilai sudut teta (θ) digunakan untuk menentukan sudut yang terbentuk dari nilai Real dan Imaginer awal. Tujuannya agar nilai real dan imaginer baru nantinya berada pada sudut dan kuadran yang sama dengan nilai awal, sehingga nilai balikan ( invert FFT) sesuai dengan nilai awalnya. Perhitungan sudut dapat ditemukan dengan persamaan:

θ( q)=arctgIm (q )Re (q )

Implementasi dari perhitungan sudut di atas (teta) dalam pseudo code adalah sebagai berikut :

phi As Double Math.PIteta As Double 0

If real <> 0 Then teta = Math.Abs(Math.Atan(imagi/real)) If real >= 0 and imagi >= 0 Then teta teta ElseIf real < 0 and imagi >= 0 Then teta phi - teta ElseIf real < 0 and imagi < 0 Then teta (phi + teta) ElseIf real >= 0 and imagi < 0 Then teta -teta

End If

9 1723 41

90 2638 10

90 0000 00

23 2323 23

92 0000 00

Page 14: 62873734 Jurnal Dua Steganografi New

Nilai teta yang didapatkan akan dipergunakan untuk mendapatkan nilai real dan imaginer yang baru berdasarkan sudut teta yang didapatkan. Implementasi dari proses di atas untuk FFT satu dimensi dan dua dimenis, ditunjukkan pada dua buah pseudo code di bawah ini :

For i 0 To n - 1 Real[i] = NilaiFrekuensi[i] * Math.Cos(teta) Imagi[i] = NilaiFrekuensi[i] * Math.Sin(teta)

Endcase

For i 0 To n - 1 For j 0 To m - 1 Real[i, j] = NilaiFrekuensi [i, j] * Math.Cos(teta); imagi[i, j] = NilaiFrekuensi [i, j] * Math.Sin(teta); Endcase

Endcase

Setelah nilai real dan imaginer yang baru didapatkan untuk masing masing nilai, maka proses invert FFT dapat dilakukan untuk mengembalikan nilai ke domain spasialnya. Implementasi dari invert FFT satu dan dua dimensi di dalam pseudo code adalah sebagai berikut :

For i 0 To n - 1 For j 0 To n - 1 RealI RealI + (RealB[i]*(Math.Cos(2*phi*i*j/n)))-(imagiB[i]*

(Math.Sin(2*phi*i*j/n))) ImagiI ImagiI + (RealB[i]*(Math.Sin(2*phi*i*j/n)))+(imagiB[i]*

(Math.Cos(2*phi*i*j/n))) Endcase arrayHasil[i] Math.Sqrt((RealI ^ 2) + (ImagiI ^ 2)) / n

RealI 0 ImagiI 0 Endcase

Dengan keterangan sebagai berikut :

i = indeks dari array satu dimensin = banyaknya dataRealI = variabel penampung hasil perhitungan nilai invert real ImagiI = variabel penampung hasil perhitungan nilai invert imaginerRealB = Nilai Real setelah dihitung dengan sudut baru (teta) ImagiB = Nilai Imaginer setelah dihitung dengan sudut baru (teta)ArrayHasil = array satu dimensi menampung nilai dari invert FFT

For i 0 To n - 1 For j 0 To m - 1

For k 0 To n -1 For l 0 To m - 1

RealI RealI + ((reB[k,l])*(Math.Cos((((2*phi*i*k)/2) + ((2* phi*j*l)/2)))))

- (imgB[k,l]*(Math.Sin((((2*phi*i*k)/2) + ((2*phi*j * l)/ 2)))));

ImagiI ImagiI + (reB[k,l]*((Math.Sin((((2*phi*i*k)/2) + ((2*phi*j*l)/ 2)))))) + (imgB[k,l]*(Math.Cos((((2*phi*i*k)/2) + ((2*phi*j*l)/ 2)))));

Endcase Endcase

Page 15: 62873734 Jurnal Dua Steganografi New

arrayHasil[i,j] Math.Sqrt((RealI^ 2) + (ImgI ^ 2))/ (n*m); Endcase

Endcase

Setelah data di transformasikan ke domain semula maka data yang baru akan menggantikan data yang lama dari data streaming berupa data audio dan data video streaming (bitmap frame).

5. Kesimpulan

Dari uraian yang telah dipaparkan pada bab sebelumnya, maka dapat diambil kesimpulan mengenai proses penyisipan data pada file video dalam domain frekuensi sebagai berikut:

1. Proses penyisipan data pada sebuah file video dapat disisipkan pada bagian data audio streaming dan video streaming. Pada data audio streaming, penyisipan data dilakukan pada nilai nilai dari data audio yang terdapat di dalam audio streaming. Sedangkan pada data video streaming, proses penyisipan data dilakukan pada data penyusun video streaming, berupa data frame image bertipe bitmap.

2. Dalam menyisipkan data kedomain frekuensi yang diperoleh dari proses transformasi fourier (FFT), harus menggunakan algoritma penyisipan yang sesuai, agar nilai balikan dalam domain spasial menggunakan proses invert fourier ( IFFT), tidak menghasilkan nilai tidak bulat yang akan menyebabkan perubahan data yang disisipkan dikarenakan tipe data spasial dari data audio-video streaming bertipe bulat.

6. Daftar Pustaka

“Chapter 12. Fast Fourier Transform”.Sample page from NUMERICAL RECIPES IN C: THE ART OF SCIENTIFIC COMPUTING (ISBN 0-521-43108-5), Copyright (C) 1988-1992 by Cambridge University Press.

Dri Handarkho, Yonathan. 2007.”Pembangunan Aplikasi Steganografi Pada File Video Audio Video Interleave Menggunakan Algoritma Fast Fourier Transform”. Skripsi, Program Studi Teknik Informatika Universitas Atma Jaya Yogyakarta.

Gumantyo, Raymondus Rhisang Galih. 2007. “Pembangunan Aplikasi Audio Steganografi Pada File Wav Dengan Menggunakan Metode Spread Spectrum Dan Data Swap”. Skripsi, Program Studi Teknik Informatika Universitas Atma Jaya Yogyakarta.

Hoffman, Forrest M.1997. “An Introduction to Fourier Theory”. University of California San Diego.

John, Corrina. 2004. “Steganography VIII - Hiding Data in Wave Audio Files” URL: http://www.codeproject.com/KB/security/steganodotnet8.aspx

John, Corinna. 2004. “A Simple C# Wrapper for the AviFile Library”. URL:http://www.codeproject.com/cs/media/avifilewrapper.asp.

Raja, K.B, dkk. 2005.” A Secure Image Steganography using LSB, DCT and Compression Techniques on Raw Images”. IEEE International.

Stanescu, Daniela, dkk.2007.”Embedding Data in Video Stream using Steganography”. SACI 2007 - 4th International Symposium on Applied Computational Intelligence and Informatics.IEEE International.