• Tidak ada hasil yang ditemukan

BAB 3 ANALISIS DAN PERANCANGAN

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 3 ANALISIS DAN PERANCANGAN"

Copied!
46
0
0

Teks penuh

(1)

BAB 3

ANALISIS DAN PERANCANGAN

3.1 Analisis

3.1.1 Analisis Permasalahan

Seiring dengan pesatnya perkembangan teknologi informasi, kebutuhan akan keamanan data juga semakin meningkat. Saat ini kejahatan di dunia komputer (cyber crime) sudah sangat banyak ditemui. Salah satunya adalah pencurian terhadap data rahasia.

3.1.2 Usulan Pemecahan Masalah

Untuk mengatasi masalah tersebut, dapat dilakukan penyembunyian terhadap data yang bersifat rahasia. Data rahasia tersebut disimpan ke dalam data lain (file) secara sedemikian rupa sehingga orang yang melihat tidak dapat mengetahui bahwa di dalam file tersebut terdapat data rahasia. Cara ini dikenal dengan istilah steganografi.

3.2 Perancangan

Algoritma pada steganografi bersifat spesifik, yang berarti bahwa algoritma yang menyisipkan data pada file audio tidak dapat digunakan untuk menyisipkan data pada file image, terlebih lagi algoritma yang digunakan pada image terkompresi pun berbeda dengan algoritma pada image tidak terkompresi kelemahannya sendiri. F5 adalah algoritma yang dapat menjaga sifat – sifat histogram DCT dengan cukup baik dan unggul dari segi kapasitas, selain itu F5 adalah algoritma terkini yang dipublikasikan

(2)

Seperti telah dijelaskan sebelumnya bahwa algoritma steganografi pada JPEG pun berbeda – beda, yang masing – masing memiliki keunggulan dan Aplikasi yang dibuat dinamakan “Chimera”. Aplikasi ini menggunakan algoritma F5 sebagai dasarnya. Aplikasi ini menampung seluruh koefisen DCT dalam satu variabel, kemudian dilakukan operasi permutativestraddling dan matrix encoding terhadap seluruh koefisien tersebut. Setelah seluruh operasi penyisipan selesai maka koefisien DCT akan dikirim ke tahap selanjutnya (tahap Huffman).

3.2.1 Metode Pembacaan FileText

Aplikasi pada dasarnya mampu menyisipkan semua jenis tipe data selain filetext karena komputer melihat data pada file sebagai binary (1 bit hanya berisi angka 0 atau 1), namun file berbasiskan text seperti file

berekstensi txt atau html dapat diperlakukan berbeda karena mereka hanya memuat karakter yang memiliki kode ASCII tidak lebih dari 126, sehingga dapat disimpan dalam format yang hanya menggunakan 7 bit saja (1111111 bin = 127 dec).

Oleh karena itu ketika user menyisipkan file .txt atau .html aplikasi hanya akan membaca 7 bit terakhir dari setiap karakter dan mengasumsikan

(3)

53 0 sebagai bit pertama sehingga secara teori kapasitas penyimpanan akan meningkat sampai 14,28 %. Pada saat ekstraksi aplikasi akan membaca data sisipan setiap 7 bit dan menambahkan bit 0 di awalnya.

3.2.2 Langkah - Langkah Penyisipan Data Pada F5

Seperti dijelaskan diatas bahwa F5 melakukan perubahan terhadap koefisien DCT, oleh karena itu tahap pertama yang harus dilakukan adalah menjalankan kompresi JPEG seperti biasa dan menghentikannya tepat setelah proses kuantisasi selesai. Seluruh koefisien DCT yang sudah melalui tahap kuantisasi kemudian akan diproses oleh F5.

Tahap kedua adalah melakukan permutative straddling, yaitu mendapatkan bilangan – bilangan acak yang dihasilkan oleh random

generator yang memiliki sifat kriptografi yang cukup kuat berdasarkan password user, bilangan – bilangan acak ini kemudian digunakan sebagai permutasi untuk mengacak urutan koefisien DCT yang akan diproses oleh F5.

Tahap ketiga adalah menghitung jumlah koefisien DCT yang tidak bernilai nol karena koefisien DCT bernilai nol tidak bisa digunakan dalam steganografi. Jumlah ini kemudian dibagi dengan ukuran data yang akan disisipkan untuk mendapatkan embedding rate, embedding rate digunakan oleh F5 untuk menentukan nilai k, semakin sedikit data yang akan disisipkan maka nilai k akan semakin besar. Dari nilai k kemudian didapatkan nilai n melalui rumus n = 2k – 1, nilai n dan k ini akan menjadi

(4)

akan disisipkan yang terdiri dari 3 byte data sehingga memungkinkan penyimpanan data dengan ukuran sampai + 16.777.215 byte.

Gambar 3.1. Penyisipan filetext berukuran 408 bytes ( 00 0C C0 Hex )

Tahap kelima adalah melakukan matrix encoding. Matrix encoding

dimulai pada pada bit ke-5 dari data host karena 4 bit pertama digunakan untuk menyimpan nilai k yang memiliki nilai maksimal 9 (1001). Pada

(5)

55 tahap ini matrix encoding membuat 2 buah buffer, yaitu buffer yang berukuran n (n = 2k – 1) yang diisi oleh koefisien DCT yang tidak bernilai 0, dan buffer yang berukuran k yang diisi oleh data yang akan disisipkan. Kemudian dilakukan operasi xor pada kedua buffer untuk menentukan posisi bit yang akan diubah pada buffer pertama, jika posisi bit bernilai 0 maka tidak akan dilakukan perubahan pada buffer pertama. Setelah buffer pertama diubah maka dilakukan pengujian terhadap koefisien DCT yang diubah, jika koefisien DCT yang telah diubah bernilai 0 maka matrix encoding akan diulang dengan menggunakan koefisien DCT dari indeks yang sama, namun koefisien DCT yang telah diubah menjadi 0 tidak akan dihitung dan tetap dibiarkan bernilai 0. Jika koefisien DCT yang telah diubah tidak bernilai 0 maka matrixencoding mengosongkan kedua buffer tersebut dan memulai kembali dengan indeks yang baru, begitu seterusnya hingga data yang disisipkan habis.

Gambar 3.2. Pengulangan proses penyisipan

Tahap keenam adalah mengembalikan urutan koefisien DCT yang telah mengalami permutasi kepada urutan aslinya. Seluruh koefisien DCT

(6)

kompresi JPEG, sehingga apapun proses yang dilalui sesudahnya dapat dikembalikan kepada bentuk semula.

Tahap pertama dalam ekstraksi data adalah membalikkan proses Huffman (dekompresi) sehingga didapatkan kembali koefisien DCT yang sama persis dengan bentuknya semula. Tahap ini melibatkan pula operasi de-Zigzag yaitu mengembalikan urutan koefisien DCT yang telah di urutkan secara zigzag ketika memasuki tahap RLC (run length coding) pada kompresi Huffman.

Tahap kedua adalah melakukan permutative straddling sama seperti pada proses penyisipan. Ini dimaksudkan agar aplikasi mendapatkan urutan yang benar ketika melakukan ekstraksi data, yaitu urutan yang dipermutasi berdasarkan password yang sama pada waktu penyisipan data. Tanpa password yang benar ekstraksi data tidak mungkin dilakukan karena aplikasi akan mendapat urutan penyisipan yang salah.

Tahap ketiga adalah melakukan matrix decoding yang merupakan kebalikan dari proses penyisipan data. Pada tahap ini tidak dilakukan penentuan posisi bit yang akan diubah, tetapi melakukan operasi xor agar didapat k bit dari n bit yang dibaca. Aplikasi akan membaca 4 bit pertama

(7)

57 untuk menentukan nilai k, kemudian akan dibuat 1 buah buffer, yaitu buffer yang berukuran n (n = 2k – 1) yang diisi oleh koefisien DCT yang tidak bernilai 0, aplikasi akan membaca seluruh koefisien DCT dalam buffer tersebut dan melakukan operasi xor sehingga didapat k bit data yang akan dituliskan ke dalam file temporary. Setelah itu aplikasi akan mengosongkan buffer tersebut dan memulai lagi dengan indeks yang baru, begitu seterusnya hingga seluruh koefisien DCT habis terbaca.

Tahap keenam adalah membaca header dari file temporary tersebut, yaitu 3 byte pertama yang berisi informasi tentang ukuran file yang disisipkan, kemudian menuliskan kembali file temporary tersebut kedalam

file yang dispesifikasikan oleh user sesuai dengan ukuran aslinya.

3.2.4 Penggunaan Encoder dan Decoder JPEG

Aplikasi ini akan menggunakan encoder dan decoder untuk file JPEG dari pihak ketiga, yaitu encoder yang dibuat oleh James R. Weeks dari BioElectroMech (www.obrador.com - James@obrador.com.) dan decoder yang dibuat oleh Dr. Ortega dari University of Southern California (ortega@sipi.usc.edu - sipi@sipi.usc.edu).

3.2.5 Perancangan Struktur Menu

Struktur menu utama pada Chimera F5 ini adalah inject data, extract

data dan exit. Inject data mempunyai sub menu select input file, select output file, select embedded file,set password, set quality, enter dan back.

(8)

Gambar 3.3.Perancangan Struktur Menu

3.2.6 Perancangan Layar dan Form 3.2.6.1 Perancangan Layar Awal

Pada perancangan tampilan awal (gambar 3.1) terdapat tiga tombol utama, yaitu btn inject, btn extract, dan btn exit.

(9)

59

3.2.6.2 Perancangan Layar Inject Data

Pada perancangan layar inject data (gambar 3.2) terdapat beberapa tombol, diantaranya btn input, btn output, btn password,

btn embed, btn quality, btn enter, dan btn back. Selain itu terdapat dua textbox, yaitu embed path dan quality val. Di bawah btn password terdapat animasi dan di bagian bawah layar terdapat sedikit catatan penting mengenai path yang digunakan dalam proses inject data.

(10)

Gambar 3.6. Perancangan FormInput Image

3.2.6.4 Perancangan FormOutput Image

Pada perancangan Form output image (gambar 3.4)

terdapat sebuah textbox, yaitu output image path. Selain itu terdapat sebuah btn enter, dan di bagian bawah form terdapat sedikit catatan kecil mengenai pathimage yang digunakan.

(11)

61

Gambar 3.7. Perancangan FormOutput Image

3.2.6.5 Perancangan FormEmbedded File

Pada perancangan Form embedded file (gambar 3.5) terdapat sebuah textbox, yaitu embedded path. Selain itu terdapat sebuah btn enter, dan di bagian bawah form terdapat sedikit catatan kecil mengenai embedded file path yang digunakan.

(12)

Gambar 3.8. Perancangan FormEmbedded File

3.2.6.6 Perancangan FormInput Password

Pada perancangan Form input password (gambar 3.6) terdapat sebuah textbox, yaitu user password. Selain itu terdapat sebuah btn enter, dan di bagian bawah form terdapat sedikit catatan kecil mengenai password yang digunakan.

(13)

63

Gambar 3.9. Perancangan FormInputPassword

3.2.6.7 Perancangan Form Compression Quality

Pada perancangan Form Compression Quality (gambar 3.7) terdapat sebuah textbox, yaitu quality value. Selain itu terdapat sebuah btn enter, dan di bagian bawah form terdapat sedikit catatan kecil mengenai nilai quality yang digunakan.

(14)

Gambar 3.10. Perancangan FormCompression Quality

3.2.6.8 Perancangan Layar Extract

Pada perancangan layar extract (gambar 3.8) terdapat beberapa tombol, diantaranya btn input, btn output, btn password,

btn enter, dan btn back. Selain itu terdapat btn password terdapat animasi dan bawahnya terdapat animasi. Di bagian bawah layar terdapat sedikit catatan penting mengenai path yang digunakan dalam proses ekstraksidata.

(15)

65

Gambar 3.11. Perancangan Layar Extract Data

3.2.6.9 Perancangan Form Input Stego File

Pada perancangan Form Input Stego File (gambar 3.9) terdapat sebuah textbox, yaitu stego file path. Selain itu terdapat sebuah btn enter, dan di bagian bawah form terdapat sedikit catatan kecil mengenai file stego yang digunakan.

(16)

Gambar 3.12. Perancangan FormInput Stego File

3.2.6.10 Perancangan Form Output Stego File

Pada perancangan Form Output Stego File (gambar 3.10) terdapat sebuah textbox, yaitu extracted file path. Selain itu terdapat sebuah btn enter, dan di bagian bawah form terdapat sedikit catatan kecil mengenai file hasil ekstraksi.

(17)

67

Gambar 3.13. Perancangan FormOutput Stego File

3.2.6.11 Perancangan Form Extraction Password

Pada perancangan Form Extraction Password (gambar 3.11) terdapat sebuah textbox, yaitu user password. Selain itu terdapat sebuah btn enter, dan di bagian bawah form terdapat sedikit catatan kecil mengenai password yang digunakan untuk proses ekstraksi data.

(18)

Gambar 3.14. Perancangan FormExtraction Password

3.2.6.12 Perancangan Layar Result

Pada perancangan layar result (gambar 3.12) terdapat 2 buah animasi yang menunjukkan proses yang sedang berjalan.

(19)

69

3.2.6.13 Perancangan Layar ErrorMessage

Pada perancangan layar error message (gambar 3.13) terdapat sebuah tombol, yaitu btn back. Selain itu juga terdapat

sebuah animasi, yaitu message, yang menunjukkan pesan

kesalahan.

Gambar 3.16. Perancangan Layar ErrorMessage

3.2.6.14 Perancangan Layar Success Message

Pada perancangan layar success message (gambar 3.14) terdapat sebuah animasi yang menunjukkan pesan sukses.

(20)

Gambar 3.17. Perancangan Layar SuccessMessage

3.2.7 Perancangan Flowchart

3.2.7.1 Perancangan Flowchart Modul Main Menu

Modul ini merupakan perancangan tampilan utama program. Pada saat program dijalankan pertama kali, akan dijalankan “kosong.exe” untuk mengosongkan seluruh input box. Kemudian user akan diberikan pilihan yaitu penyisipan, ekstraksi, atau keluar dari program. Jika user memilih inject (penyisipan), maka akan dijalankan modul inject data. Jika user memilih extract

(ekstraksi), maka akan dijalankan modul extract data. Jika user

(21)

71 Start Yes Animation Selection = Inject GotoAndPla y "Inject Data" No Selection = Extract Yes GotoAndPla y "Extract Data" No Selection = Exit Yes No End Call kosong.exe Wait For Selection Quit

Gambar 3.18.Flowchart Modul Main Menu

3.2.7.2 Perancangan Flowchart Modul Inject Data

Modul ini merupakan perancangan tampilan penyisipan data. Jika user memilih “Insert Input File”, maka akan dijalankan “inputImage.exe”. Jika user memilih “Insert Output File”, maka akan dijalankan “output.exe”. Jika user memilih “Insert Embed File”, maka akan dijalankan “embed.exe”. Jika user memilih “Enter Password”, maka akan dijalankan “password.exe”. Jika

(22)

menu. Jika user memilih “Enter”, maka akan dilakukan validasi untuk memastikan bahwa seluruh parameter telah diisi. Jika kelima parameter sudah diisi, maka akan dijalankan modul result frame 1.

(23)

73 Inject Data Yes Animation Selection = Insert Input File No Selection = Insert Output File Yes

No Selection = Insert Embedded File

Yes No Wait For Selection Selection = Enter Password Yes No Selection = Enter Quality Yes Selection = Back Yes GotoAndPla y"Main Menu" Selection = Enter Yes GotoAndPla y "Result" Frame 1 No Validasi Yes No No Call

"InputImage.Exe" Call "Output.exe" Call "Embed.exe"

Call "Password.exe"

Call "Quality.exe"

Return

No

(24)

Ketiga parameter di atas bertujuan untuk mengisi seluruh

input box yang diperlukan untuk proses ekstraksi data. User bebas menentukan urutan pengisian ketiga parameter tersebut. Jika user memilih “Back”, maka akan dijalankan modul main menu. Jika

user memilih “Enter”, maka akan dilakukan validasi untuk memastikan bahwa seluruh parameter telah diisi oleh user. Jika ketiga parameter sudah diisi, maka akan dijalankan modul result frame 38.

(25)

75 Extract Data Yes Animation Selection = Insert Stego File No Selection = Insert Output File Yes No Wait For Selection Selection = Enter Password Yes No Selection = Back Yes GotoAndPla y"Main Menu" Selection = Enter Yes GotoAndPla y "Result" Frame 38 No Validasi Yes

No Call "Stegox.Exe" "Outputx.exe"Call "Passwordx.exe"Call

Return

No

Gambar 3.20.Flowchart Modul Extract Data

3.2.7.4 Perancangan Flowchart Modul Result Frame 1

Modul ini merupakan perancangan tampilan proses penyisipan data yang sedang berlangsung dan hasil yang

(26)

Result Frame 1

Yes

Call "Stego.exe"

Process = Fail No Process = Success

Yes

No Animation

Error Message Success Message

Return GotoAndPla y "Main Menu" Selection = Back Yes GotoAndPla y "Inject Data" No

(27)

77

3.2.7.5 Perancangan Flowchart Modul Result Frame 38

Modul ini merupakan perancangan tampilan proses ekstraksi data yang sedang berlangsung dan hasil yang diperoleh. Ketika modul dijalankan, akan dijalankan “extract.exe”. Jika hasil yang diperoleh adalah fail (gagal), maka akan ditampilkan pesan sesuai dengan kesalahan. Jika hasil yang diperoleh adalah success

(sukses), maka akan ditampilkan pesan dan akan dijalankan modul main menu.

(28)

Yes

Process = Fail No Process = Success

Yes

Error Message Success Message

Return GotoAndPla y "Main Menu" Selection = Back Yes GotoAndPla y "Extract Data" No

Gambar 3.22.Flowchart Modul Result Frame 38

3.2.7.6 Flowchart Modul Injeksi

Modul ini adalah modul utama dalam aplikasi, modul ini akan melakukan proses embedding ke dalam file JPEG ditengah – tengah proses kompresi. Oleh karena itu langkah pertama yang

(29)

79 harus dilakukan adalah menjalankan proses kompresi dan berhenti tepat setelah proses kuantisasi selesai. Seluruh koefisien DCT yang dihasilkan, baik yang bernilai nol atau tidak, kemudian dikumpulkan untuk diproses dengan algoritma F5. Aplikasi kemudian melakukan permutasi terhadap urutan koefisien tersebut berdasarkan password yang dimasukkan user.

Aplikasi kemudian akan menghitung embedding rate, yaitu presentase data yang akan disisipkan dan kapasitas yang mampu ditampung oleh koefisien – koefisien DCT, dan menentukan nilai k yang akan digunakan dalam matrix encoding. Apabila file yang disisipkan melebihi kapasitas yang mampu ditampung maka k akan bernilai 0 dan modul ini akan mengirimkan pesan kepada GUI bahwa file tidak dapat disisipkan. Apabila k tidak bernilai 0 maka aplikasi akan memulai proses penyisipan.

Aplikasi akan membaca file yang akan disisipkan bit demi bit, menambahkan Stego Header yang berisi informasi yang berupa nilai k (4 bit pertama) dan size dari file yang akan disisipkan (4 byte pertama), dan kemudian menuliskan ulang ke

file sementara. File sementara itu akan dibaca pada saat matrix encoding sebagai input, setelah selesai aplikasi akan mengirimkan pesan kepada GUI bahwa file telah disisipkan. Aplikasi kemudian akan mengembalikan urutan seluruh koefisien yang telah

(30)
(31)

81 Injeksi Calculate the Embedding Rate, k and n Value k > 0 Do Permutative Straddling Get all DCT coefficients Stop JPEG Compression After Quantization Start JPEG Compression Read Embedded File and write to Temporary File Send Error Message to GUI Add Stego Header to Temporary File Do Matrix Encoding Send Success Message to GUI Continue JPEG Compression Return Yes No

(32)

menjadikannya 1 nilai integer, apabila nilai ini lebih kecil atau lebih besar dari indeks maka akan dilakukan operasi matematik sehingga nilai menjadi terjangkau oleh batas indeks. Kemudian aplikasi akan menukar nilai pada indeks acak ini dengan nilai pada batas indeks, untuk mempercepat proses permutasi aplikasi akan memperkecil batas indeks dengan cara melakukan pengurangan, apabila batas indeks telah menjadi lebih kecil dari 2 aplikasi akan menghentikan permutasi.

(33)

83 Permutative Straddling Create Array of index Random 4 bytes as an Integer Fit Random Integer to Index Range Cntr = 0 Switch Array Value Decrement Cntr Cntr >= 2 Return Yes No

Gambar 3.24.Flowchart Modul Permutative Stradling

3.2.7.8 Flowchart Modul Matrix Encoding

Modul ini akan menyisipkan data ke dalam koefisien DCT dengan operasi xor, langkah pertama adalah mengubah nilai indeks menjadi 0 di awal proses, kemudian aplikasi akan membaca k bit dari file yang akan disisipkan dan membaca n

(34)

akan dikurangi, jika posisi bit bernilai 0 maka tidak akan bit yang diubah. Aplikasi akan memeriksa nilai bit yang diubah, jika bit yang diubah bernilai 0 maka proses diatas akan diulang dengan tidak mengikut-sertakan bit yang telah menjadi nol, namun jika bit yang diubah tidak bernilai 0 maka proses diatas akan diulang dengan koefisien – koefisien yang baru.

(35)

85 Matrix Encoding Read k bit of Embedded File Use Permuted Sequence Read n Non-Zero DCT Coefficients XOR Embedded bit with DCT Coefficients Calculate changeBit Index Decrement DCT Coefficient at changeBit Read All Coefficients ? Index = 0 Produce 0 ? Return No Index + n Yes No Yes

(36)

DCT yang didapat akan melalui proses de-ZigZag untuk mengembalikan urutannya yang diubah ketika memasuki tahap RLC pada saat kompresi, koefisien – koefisien tersebut kemudian akan dikumpulkan dan diproses untuk ekstraksi data.

Aplikasi akan melakukan Permutative Straddling dengan cara yang sama seperti pada saat kompresi untuk mendapatkan urutan pembacaan yang benar. Berbeda dengan proses kompresi, aplikasi tidak akan menghitung embedding rate untuk mendapatkan nilai k, tetapi membacanya langsung dari Stego Header yang ikut disisipkan dalam file JPEG dan kemudian menggunakannya untuk menghitung nilai n, selain nilai k aplikasi juga membaca size dari embedded file pada Stego Header. Selanjutnya aplikasi akan melakukan matrix decoding pada seluruh koefisien DCT dan menuliskan hasilnya sebagai file hasil dari proses ekstraksi sesuai dengan size-nya.

(37)

87

Ekstraksi

Read k Value from the Stego

Header Do Permutative Straddling Get all DCT coefficients Start JPEG Decompression Calculate n value Read Embedded size from the Stego Header Write to Extracted File using Embedded Size Do Matrix Decoding Return

Gambar 3.26.Flowchart Modul Ekstraksi

3.2.7.10 Flowchart Modul Matrix Decoding

Modul ini akan mengekstrak data dari koefisien DCT dengan operasi xor, langkah pertama adalah membaca n koefisien DCT yang tidak bernilai 0 menurut urutan permutasi. Apabila

(38)

Matrix Decoding Use Permuted Sequence Read n Non-Zero DCT Coefficients XOR DCT Coefficients Write Extracted bit to Temporary File Read All Coefficients ? Return No Yes

(39)

89

3.2.8 Perancangan Spesifikasi

3.2.8.1 Perancangan Spesifikasi Main Menu

Main Menu Module

View Main Screen

Call “kosong.exe”

Animation

Wait for Selection

If Selection is “Inject” Then

gotoAndPlay “Inject Data”

Else

If Selection is “Extract” Then

gotoAndPlay “Extract Data”

Else

If Selection is “Exit” Then

Quit from Application

End If

End Module

3.2.8.2 Perancangan Spesifikasi Inject Data

Inject Data Module

View Main Screen

Animation

(40)

Else

If Selection is “Specify Path” Then

Call “embed.exe”

Else

If Selection is “Insert Password” Then

Call “password.exe”

Else

If Selection is “SpecifyQuality” Then

Call “quality.exe”

Else

If Selection is “Back” Then

gotoAndPlay “Main Menu”

Else

If Selection is “Enter” Then

If “Insert Input File” And “Insert Output

File” And “Specify Path” And “Insert Password” And “Specify Quality” Are not empty

(41)

91 End If

End If

End Module

3.2.8.3 Perancangan Spesifikasi Extract Data

Extract Data Module

View Main Screen

Animation

Load Variables from File

Wait for Selection

If Selection is “Insert Stego File” Then

Call “stegox.exe”

Else

If Selection is “Insert Output File” Then

Call “outputx.exe”

Else

If Selection is “Insert Password” Then

Call “passwordx.exe”

Else

If Selection is “Back” Then

gotoAndPlay “Main Menu”

Else

(42)

3.2.8.4 Perancangan Spesifikasi Result Frame 1

Result Frame 1 Module

View Main Screen

Call “stego.exe”

Load Variable from File

Animation

If Process is Fail Then

View Message

If Selection is “Back” Then

gotoAndPlay ”Inject Data”

End If

Else

If Process is Done Then

View Message

gotoAndPlay “Main Menu”

End If

(43)

93

3.2.8.5 Perancangan Spesifikasi Result Frame 38

Result Frame 38 Module

View Main Screen

Call “extract.exe”

Load Variable from File

Animation

If Process is Fail Then

View Message

If Selection is “Back” Then

gotoAndPlay ”Extract Data”

End If

Else

If Process is Done Then

View Message

gotoAndPlay “Main Menu”

End If

End Module

3.2.8.6 Perancangan Spesifikasi Modul Injeksi

Injeksi Module

Start JPEG compression

Stop JPEG compression after quantization Get all DCT coefficient

(44)

Read Embedded file and write to temporary

file

Add stego header to temporary file

Call “Matrix Encoding” Module

Send success message to GUI

Goto continue JPEG compression

End if

Continue JPEG compression

End module

3.2.8.6 Perancangan Spesifikasi Modul Ekstraksi

Ekstraksi Module

Start JPEG decompression

Get all DCT coefficients

Call “Permutative Straddling” Module Read k value from the Stego Header

Calculate n value

(45)

95

Call “Matrix Decoding” Module

Write to extracted file using embedded size

End Module

3.2.8.7 Perancangan Spesifikasi Modul Matrix Encoding

Matrix Encoding Module

Set Index = 0

If Index != 0 and Module !produce 0 then

Index + n

Read k bit of embedded file

Use permuted sequence

Read n non-zero DCT coefficients If all coefficients read then

Goto End Module

Else then

Xor embedded bit with DCT coefficients

Calculate changBit index

Decrement DCT coefficient at changeBit

End if

Check if Module produce 0

Goto If Index != 0 and Module !produce 0

(46)

Else then

Xor DCT coefficients

Write extracted bit to temporary file

End if

Goto read n non-zero coefficients

End Module

3.2.8.9 Perancangan Spesifikasi Modul Permutative Straddling

Permutative Straddling Module

Create array of index

Set cntr = 0

Do

Random 4 bytes as an integer Fit random integer to index range Switch array value

Decrement cntr While cntr >= 2

Gambar

Gambar 3.1. Penyisipan file text berukuran 408 bytes ( 00 0C C0 Hex )
Gambar 3.2. Pengulangan proses penyisipan
Gambar 3.4. Perancangan Layar
Gambar 3.5. Perancangan Layar Inject Data
+7

Referensi

Dokumen terkait

Sport development index adalah indeks ga- bungan yang mencerminkan keberhasilan pem- bangunan olahraga berdasarkan empat dimensi dasar, yaitu: ruang terbuka yang tersedia untuk

Mengacu pada pemikiran dan realita yang ada, penulis menjadi tertarik untuk melakukan penelitin dengan judul, “ Strategi Ustadz-ustadzah dalam melatih kemampuan

melakukan penelitian dengan sampel perusahaan yang tergabung dalam indeks LQ 45 menyatakan bahwa EVA secara parsial tidak mempunyai pengaruh terhadap return saham..

Penggunaan faktor produksi lahan, urea, pupuk kandang, dan tenaga kerja belum efisien sehingga perlu ditambah, sedangkan penggunaan faktor produksi bibit dan pupuk

Merupakan suatu parameter yang menggambarkan suatu kondisi yang menunjukkan jumlah total paket yang hilang, dapat terjadi karena collision dan congestion pada

Dengan hasil tersebut maka dapat dinyatakan bahwa secara bersama-sama (simultan) variabel bebas mempunyai pengaruh yang signifikan terhadap variabel tidak bebasnya, maka

Berdasarkan hasil wawancara yang dilakukan dengan guru dan siswa terdapat beberapa permasalahan dalam menulis teks pidato.Diantaranya siswa sulit mengembangkan ide

volume.Setempel EDM terdiri dari elektroda dan benda kerja yang terendam dalam cairan isolasi seperti, minyak atau, lebih jarang, cairan dielektrik lainnya.Elektroda dan benda