TINJAUAN PUSTAKA

2.12 Metode Steganografi

Kebanyakan algoritma steganografi menggunakan sebuah kombinasi dari bidang jenis teknik untuk melakukan sebuah tugas dalam penyelubungan pesan rahasia dalam sebuah selubung file. Sebuah program steganografi dibutuhkan untuk melakukan hal-hal berikut (baik implisit melalui suatu perkiraan maupun eksplisit melalui sebuah perhitungan), menemukan kelebihan bits dalam selubung file yang dapat digunakan untuk menyelubungi pesan rahasia didalamnya, memilih beberapa diantaranya untuk digunakan dalam menyelubungi data dan penyelubungan data dalam bits dipilih sebelumnya.

Terdapat banyak metode yang digunakan dalam melakukan penyembunyian data kedalam data lainnya. Berikut adalah penjelasan mengenai beberapa metode yang banyak digunakan dalam steganografi.

2.12.1 Metode Steganografi pada teks

a. Metode Spasi Terbuka Terdapat beberapa cara untuk memanfaatkan spasi terbuka dalam data text guna menyembunyikan informasi. Metode ini dapat berhasil karena buku bacaan pada umumnya menambahkan satu spasi tambahan pada akhir baris atau diantara dua kata sehingga tidak terbaca aneh. Bagaimanapun, metode spasi terbuka hanya dapat

digunakan dengan memakai ASCII (AmericanStandard Character Interchange ) format. Bender et al memberikan tiga metode untuk mengungkap white space dalam proses penyembunyian. Spasi terbuka antar kalimat akan menghasilkan nilai "0" apabila hanya terdapat sebuah spasi yang ditambahkan diantara kalimat tersebut. Dengan menambahkan dua spasi akan menghasilkan nilai "1". Metode ini dapat berhasil, tetapi membutuhkan data dalam jumlah besar untuk menyembunyikan sebuah informasi kecil. Dan juga terdapat banyak software word-processing yang akan secara otomatis membetulkan spasi antara kalimat, sehingga metode ini seringkali gagal. Metode spasi end-of-line (EOL) mengutarakan white space pada akhir dari masing-masing baris. Data disembunyikan menggunakan jumlah spasi yang telah ditentukan sebelumnya dari akhir untuk masing- masing kalimat. Sebagai contoh dua spasi akan menyembunyikan satu bit, empat spasi akan menyembunyikan dua bit dan delapan spasi akan menghasilkan tiga bit dan seterusnya. Tehnik ini lebih baik dibandingkan metode spasi terbuka antar kalimat, karena dengan meningkatkan jumlah spasi akan dapat menyembunyikan lebih banyak data. Salah satu kekurangan dari tehnik ini adalah dapat hilangnya informasi tersembunyi jika hard copy data yang diberikan

Pada akhirnya, pemerataan kanan dari text dapat digunakan pula untuk menyembunyikan informasi rahasia pada data text. Penghitungan dan pengontrolan spasi diantara kata dapat menyembunyikan informasi dalam data text yang terlihat tidak penting. Sebuah spasi antara kata akan menghasilkan nilai "0" dan dua buah spasi akan menghasilkan nilai "1". Bagaimanapun, pendekatan ini akan mempersulit untuk mengeluarkan informasi penitng dari media data text tersebut karena akan semakin tidak mungkin untuk membedakan sebuah spasi biasa dengan spasi yang berfungsi untuk penyembunyian data. Untuk mewujudkan hal ini, Bender et al menggunakan Manchester coding untuk mengelompokkan bit-bit.

Sehingga "01" diinterpretasikan sebagai "1" dan "10" diinterpretasikan sebagai "0". Dimana "00" dan "11" akan dianggap sebagai null bit string.[6]

b. Metode Syntactic Metode Syntactic sebagaimana yang telah di sarankan oleh Bender et al, mengutarakan penggunaan punktuasi dan struktur text untuk menyembunyikan informasi tanpa secara signifikan mengubah arti dari pesan pembawa. Sebagai contoh terdapat dua frase "bread, butter, and milk" dan "bread, butter and milk" secara gramatikal benar tetapi berbeda dalam penggunaan koma.

Salah satu dapat digunakan secara alternatif dalam pesan text guna mengintepretasikan nilai "1" apabila salah satu metode dipakai dan nilai "0" untuk metode lain yang dipakai.

c. Metode Semantic Metode Semantic menggunakan dua sinonim sebagai nilai primer atau sekunder. Nilai tersebut akan diterjemahkan kedalam biner "1" atau "0". Bender et al menggunakan sebuah contoh dimana kata "big" berfungsi sebagai primer dan "large" berfungsi sebagai sekunder. Oleh karena itu, dalam menguraikan isi sebuah pesan akan menterjemahkan atas penggunaan primer sebagai "1" dan sekunder sebagai "0". Bender et al menyebutkan masalah yang dapat muncul dengan penggunaan metode ini adalah ketika sinonim tidak dapat digantikan karena dapat mengubah arti dari struktur kalimat. Sebagai contoh dalam memanggil seseorang dalam bahasa Inggris dengan "cool" mempunyai arti berbeda dibandingkan dengan memanggilnya "chilly".

2.12.2 Metode Steganografi pada Gambar Sudah banyak metode yang digunakan untuk menyembunyikan

pesan di dalam sebuah image tanpa mengubah tampilan image, sehingga pesan yang disembunyikan tidak akan terlihat. Berikut akan dibahas beberapa metode umum yang digunakan pada image steganography.

a. Least Significant Bit Insertion (LSB) Metoda yang digunakan untuk menyembunyikan pesan pada media digital tersebut berbeda-beda. Contohnya pada file image pesan dapat disembunyikan dengan menggunakan cara menyisipkannya pada bit rendah atau bit yang paling kanan (LSB) pada data pixel yang menyusun file tersebut. Seperti kita ketahui untuk file bitmap 24 bit maka setiap pixel (titik) pada gambar tersebut terdiri dari susunan tiga warna merah, hijau dan biru (RGB) yang masing-masing disusun oleh bilangan 8 bit (byte) dari 0 sampai 255 atau dengan format biner 00000000 sampai 11111111. Dengan demikian pada setiap pixel file bitmap 24 bit kita dapat menyisipkan 3 bit data. Kekurangan dari LSB Invertion : Dapat diambil kesimpulan dari contoh 8 bit pixel, menggunakan LSB Insertion dapat secara drastis merubah unsur pokok warna dari pixel. Ini dapat menunjukkan perbedaan yang nyata dari cover image menjadi stego image, sehingga tanda tersebut menunjukkan keadaan dari steganografi. Variasi warna kurang jelas dengan 24 bit image, bagaimanapun file tersebut sangatlah besar. Antara 8 bit dan 24 bit image mudah diserang dalam pemrosesan image, seperti cropping (kegagalan) dan compression (pemampatan). Keuntungan dari LSB Insertion : Keuntungan yang paling besar dari algoritma LSB ini adalah cepat dan mudah. Dan juga algoritma tersebut memiliki software steganografi yang mendukung dengan bekerja diantara unsur pokok warna LSB melalui manipulasi pallete (lukisan).

b. Algorithms and Transformation Algoritma compression adalah metode steganografi dengan menyembunyikan data dalam fungsi matematika. Dua fungsi tersebut adalah Discrete Cosine Transformation (DCT) dan Wavelet Transformation. Fungsi DCT dan Wavelet yaitu mentransformasi data dari satu tempat (domain) ke tempat (domain) yang lain. Fungsi DCT yaitu mentransformasi data dari tempat spatial (spatial domain) ke tempat frekuensi (frequency domain).

c. Redundant Pattern Encoding Redundant Pattern Encoding adalah menggambar pesan kecil pada kebanyakan gambar. Keuntungan dari metode ini adalah dapat bertahan dari cropping (kegagalan), kerugiannya yaitu tidak dapat menggambar pesan yang lebih besar.

d. Spread Spectrum method Spread Spectrum steganografi terpencar-pencar sebagai pesan yang diacak (encrypt) melalui gambar (tidak seperti dalam LSB). Untuk membaca suatu pesan, penerima memerlukan algoritma yaitu crypto-key dan stego-key. Metode ini juga masih mudah diserang yaitu penghancuran atau pengrusakan dari kompresi dan proses image (gambar).

2.12.3 Metode Steganografi pada suara Cara untuk mengaplikasikan steganografi pada file audio terdiri

dari beberapa cara yang lazim digunakan dan prinsip kerja atau algoritma yang digunakan sama seperti pada metode steganografi pada gambar. Berikut adalah beberapa teknik yang digunakan: dari beberapa cara yang lazim digunakan dan prinsip kerja atau algoritma yang digunakan sama seperti pada metode steganografi pada gambar. Berikut adalah beberapa teknik yang digunakan:

b. Phase coding Metode kedua yang digunakan ini adalah merekayasa fasa dari sinyal masukan. Teori yang digunakan adalah dengan mensubstitusi awal fasa dari tiap awal segment dengan fasa yang telah dibuat sedemikian rupa dan merepresentasikan pesan yang disembunyikan. Fasa dari tiap awal segment ini dibuat sedemikian rupa sehingga setiap segmen masih memiliki hubungan yang berujung pada kualitas suara yang tetap terjaga. Teknik ini menghasilkan keluaran yang jauh lebih baik daripada metode pertama namun dikompensasikan dengan kerumitan dalam realisasinya.

c. Spread Spectrum Metode yang ketiga adalah penyebaran spektrum. Dengan metode ini pesan dikodekan dan disebar ke setiap spectrum frekuensi yang memungkinkan. Maka dari itu akan sangat sulit bagi yang akan mencoba memecahkannya kecuali ia memiliki akses terhadap data tersebut atau dapat merekonstruksi sinyal random yang digunakan untuk menyebarkan pesan pada range frekuensi.

d. Echo Hiding Metode terakhir

yang sering digunakan adalah menyembunyikan pesan melalui teknik echo. Teknik menyamarkan pesan ke dalam sinyal yang membentuk echo. Kemudian pesan disembunyikan dengan menvariasikan tiga parameter dalam echo yang sering digunakan adalah menyembunyikan pesan melalui teknik echo. Teknik menyamarkan pesan ke dalam sinyal yang membentuk echo. Kemudian pesan disembunyikan dengan menvariasikan tiga parameter dalam echo

2.12.4 Metode End of File (EoF) Teknik yang digunakan pada digital watermarking beragam tetapi secara umum teknik ini menggunakan redundant bits sebagai tempat menyembunyikan pesan pada saat dilakukan kompresi data, dan kemudian menggunakan kelemahan indera manusia yang tidak sensitive sehingga pesan tersebut tidak ada perbedaan yang terlihat atau yang terdengar. Teknik EOF atau End Of File merupakan salah satu teknik yang digunakan dalam steganografi. Teknik ini menggunakan cara dengan menyisipkan data pada akhir file. Teknik ini dapat digunakan untuk menyisipkan data yang ukurannya sesuai dengan kebutuhan. Ukuran file yang telah disisipkan data sama dengan ukuran file sebelum disisipkan data ditambah dengan ukuran data yang disisipkan ke dalam file tersebut. Teknik inilah yang akan digunakan penulis dalam penelitian ini. Dalam teknik ini, data disisipkan pada akhir file dengan diberi tanda khusus sebagai pengenal start dari data tersebut dan pengenal akhir dari data tersebut.

2.13Microsoft Visual Basic 6.0 Microsoft Visual Basic 6.0 adalah sebuah bahasa pemrograman untuk Windows dan Internet. Pada dasarnya Visual Basic 6.0 sama seperti bahasa pemrograman Basic, Pascal, C, dan lain-lain, hanya saja Visual Basic 6.0 mempunyai platform Windows. Visual Basic 6.0 hampir sama 2.13Microsoft Visual Basic 6.0 Microsoft Visual Basic 6.0 adalah sebuah bahasa pemrograman untuk Windows dan Internet. Pada dasarnya Visual Basic 6.0 sama seperti bahasa pemrograman Basic, Pascal, C, dan lain-lain, hanya saja Visual Basic 6.0 mempunyai platform Windows. Visual Basic 6.0 hampir sama

Visual Basic 6.0 terdapat dalam 3 versi perangkat lunak yang diproduksi oleh Microsoft yaitu Microsoft Visual Basic 6.0 Professional, Microsoft Visual Basic 6.0 Enterprise Edition, dan Microsoft Visual Studio 6.0. Di dalam perancangan kali ini yang digunakan adalah Microsoft Visual Basic 6.0 Enterprise Edition.[8]

a. Tool Box

Dalam penggunaan software Microsoft Visual Basic, terdapat beberapa tool yang akan digunakan untuk perancangan program.Window yang berisi tombol-tombol kontrol yang akan dipergunakan dalam membuat sebuah form, komponen-komponen yang terdapat pada kontrol dapat ditambah dan dikurangi sesuai dengan kebutuhan program, penambahan dan pengurangan komponen yang dilakukan seiring dengan pemambahan atau pengurangan pada project components dan project references.

Gambar 2.5 : Tampilan Tool Box

1) Textbox

Gambar 2.6 : Tool Textbox

Tool textbox digunakan untuk menginputkan teks dari kunciboard. Dalam perancangan ini, tool textbox akan digunakan untuk memasukkan plaintext yang nantinya akan dienkripsi.

2) Combo Box

Tool combobox digunakan untuk pemilihan terhadap beberapa option yang telah ditentukan dalam perancangan ini, tool combo box digunakan untuk memilih data tertentu yang berkaitan dengan naskah ujian.

Gambar 2.7 : Tool Combobox

3) Button

Tool button digunakan sebagai trigger untuk melaksanakan suatu aksi tertentu, biasanya berbentuk perintah. Dalam perancangan ini, tool button digunakan sebagai trigger dalam melakukan proses enkripsi atau enkripsi pesan.

Gambar 2.8 : Tool Command

Setelah kontrol yang terdapat pada tool box diletakkan pada form, control tersebut dapat diberikan nilai sesuai dengan fungsi yang akan di jalankan, nilai tersebut diletakkan di windows properties.

Gambar 2.9 : Tampilan Properties

b. Code Editor

Window yang dipergunakan untuk menuliskan program, setiap kontrol dalam form dapat memiliki fungsi tertentu. Fungsi tersebut diwujudkan dalam deret perintah, perintah perintah ini yang di tuliskan kedalam window code editor. VB menyediakan auto list untuk memberikan nilai yang terdapat pada suatu kontol, sehingga mengurangi kesalahan penulisan program. Cara menggunakannya adalah dengan mengklik ganda kontrol yang ada.

Gambar 2.10 : Tampilan Window Code Editor

2.14 Unified Modelling Language (UML)

Unified Modelling Language adalah bahasa standar yang digunakan untuk menjelaskan dan memvisualisasikan artifak dari proses analisis dan dasain berorientasi objek. UML menyediakan standar pada notasi dan diagram yang bisa digunakan untuk memodelkan suatu sistem. UML dikembangkan oleh 3 orang pendekar „berorientasi objek‟, yaitu Grady Booch, Jim Rumbaugh dan Ivar Jacobson.[9]

Namun karena UML hanya merupakan bahasa untuk pemodelan maka UML bukanlah rujukan bagaimana melakukan analisis dan desain berorientasi objek. Untuk mengetahui bagaiamana melakukan analisis dan desain berorientasi secara baik, sudah terdapat beberapa metodologi yang bisa diikuti, seperti Metode Booch, Metode Coad and Yourdan, Metode Jacobson, Metode Rumbaugh, Metode Wirfs-Brock, atau mengikuti metode pengembangan sistem Rational Unified Process.

a. Actor

Gambar 2.11 : Notasi Actor

Actor adalah segala sesuatu yang berinteraksi dengan sistem aplikasi komputer. Jadi actor dapat berupa orang, perangkat keras atau mungkin juga objek lain dalam sistem yang sama. Biasanya yang dilakukan oleh actor adalah memberikan informasi pada sistem dan/atau memerintahkan sistem untuk melakukan sesuatu.

b. Class

Gambar 2.12 : Notasi Class

Class merupakan pembentuk utama dari sistem berorientasi objek karena class menunjukkan kumpulan objek yang mempunyai atribut dan operasi yang sama. Class digunakan untuk mengimplementasikan interface.

Class digunakan untuk mengabstraksikan elemen-elemen dari sistem yang sedang dibangun. Class dapat untuk merepresentasikan baik perangkat lunak maupun perangkat keras, baik konsep maupun benda nyata.

Notasi class benbentuk persegi panjang berisikan 3 bagian yaitu persegi paling atas untuk nama class, persegi di tengah untuk atribut dan persegi paling bawah untuk operasi.

Operasi menunjukkan sesuatu yang bisa dilakukan oleh objek dan menggunakan kata kerja. Atribut digunakan untuk menyimpan informasi. Nama atribut menggunakan kata benda yang bisa dengan jelas merepresentasikan informasi yang terkandung di dalamnya.

c. Use Case

Gambar 2.13 : Notasi Use Case

Use case menjelaskan urutan kegiatan yang dilakukan actor dan sistem untuk mencapai suatu tujuan tertentu. Walaupun menjelaskan kegiatan namun use case hanya menjelaskan apa yang dilakukan oleh actor dan sistem, bukan bagaimana actor dan sistem melakukan kegiatan tersebut.

Di dalam use case terdapat teks untuk menjelaskan urutan kegiatan yang disebut use case specification yang terdiri dari : - Nama Use case : mencantumkan nama dari use case yang

bersangkutan. Sebaiknya diawali dengan kata kerja untuk menunjukkan suatu aktivitas.

- Deskripsi singkat (Brief Description) : menjelaskan secara singkat

dalam 1 atau 2 kalimat tentang tujuan dari use case. - Aliran normal (Basic Flow) : adalah jantung dari use case yang menjelaskan tentang interaksi antara actor dan sistem dalam kondisi normal, yaitu segala sesuatu berjalan dengan lancar tanpa ada halangan atau hambatan dalam mencapai tujuan dari use case.

- Aliran alternatif (Alternate Flow) : merupakan pelengkap dari basic flow karena tidak ada yang sempurna dalam setiap kali use case berlangsung. Dalam hal ini dijelaskan bahwa apa yang akan terjadi bila suatu halangan atau hambatan terjadi sewaktu use case berlangsung.

- Special Requirement : berisi kebutuhan lain yang belum tercakup dalam aliran normal dan alternatif. Secara tegas dibedakan bahwa basic flow dan alternate flow menangani kebutuhan fungsional, misalnya kecepatan transaksi maksimum berapa cepat dan berapa lama, kapasitas akses yaitu jumlah user yang akan mengakses dalam waktu bersamaan.

- Pre-Condition : menjelaskan persyaratan yang harus dipenuhi sebelum use case bisa dimulai. - Post-Condition : menjelaskan kondisi yang berubah atau terjadi saat use case selesai di eksekusi.

d. Package

Gambar 2.14 : Notasi Package

Package adalah kontainer atau wadah konseptual yang digunakan untuk mengelompokkan elemen-elemen dari sistem yang sedang dibangun sehingga bisa dibuwat model yang lebih sederhana. Tujuannya adalah untuk mempermudah penglihatan dari model yang sedang dibangun.

e. Note

Gambar 2.15 : Notasi Note

Note digunakan untuk memberikan keterangan dan komentar tambahan dari suatu elemen sehingga bisa langsung terlampir dalam model. Note ini bisa ditempelkan ke semua elemen notasi yang lain.

f. Dependency

Gambar 2.16 : Notasi Dependency

Dependency merupakan relasi yang menunjukkan bahwa perubahan pada salah satu elemen memberi pengaruh pada elemen lain. Elemen yang ada di bagian tanda panah adalah elemen yang tergantung pada elemen yang ada di bagian tanpa tanda panah.

Terdapat 2 stereotype dari dependency, yaitu Include dan Extend. Include menunjukkan suatu bagian dari elemen (yang ada di Terdapat 2 stereotype dari dependency, yaitu Include dan Extend. Include menunjukkan suatu bagian dari elemen (yang ada di

g. Association

Gambar 2.17 : Notasi Associaton

Assocition menggambarkan navigasi antar kelas, berapa banyak objek lain yang bisa berhubungan dengan satu objek dan apakah suatu kelas menjadi bagian dari kelas lainnya.

h. Generalization

Gambar 2.18 : Notasi Generalization Generalization menunjukkan hubungan antara elemen yang lebih umum ke elemen yang lebih spesifik. Dengan menggunakan notasi generalization ini konsep inheritance dari prinsip hierarki dimodelkan.

i. Realization