BAB II LANDASAN TEORI

advertisement
BAB II
LANDASAN TEORI
2.1 Steganografi
Steganografi adalah seni dan ilmu menulis pesan tersembunyi atau
menyembunyikan pesan dengan suatu cara sehingga selain si pengirim dan si
penerima, tidak ada seorangpun yang mengetahui atau menyadari bahwa ada suatu
pesan rahasia. Sebaliknya, kriptografi menyamarkan arti dari suatu pesan, tapi
tidak menyembunyikan bahwa ada suatu pesan. Kata "steganografi" berasal dari
bahasa Yunani steganos, yang artinya “tersembunyi atau terselubung”, dan
graphein, “menulis”. Kini, istilah steganografi termasuk penyembunyian data
digital dalam berkas-berkas (file) komputer. Contohnya, si pengirim mulai dengan
berkas gambar biasa, lalu mengatur warna setiap pixel ke-100 untuk
menyesuaikan suatu huruf dalam alphabet (perubahannya begitu halus sehingga
tidak
ada
seorangpun
yang
menyadarinya
jika
ia
tidak
benar-benar
memperhatikannya).
Pada umumnya, pesan steganografi muncul dengan rupa lain seperti gambar,
artikel, daftar belanjaan, atau pesan-pesan lainnya. Pesan yang tertulis ini
merupakan tulisan yang menyelubungi atau menutupi. Contohnya, suatu pesan
bisa disembunyikan dengan menggunakan tinta yang tidak terlihat di antara garisgaris yang kelihatan. Teknik steganografi meliputi banyak sekali metode
komunikasi untuk menyembunyikan pesan rahasia (teks atau gambar) di dalam
berkas-berkas lain yang mengandung teks, image, bahkan audio tanpa
7
8
menunjukkan ciri-ciri perubahan yang nyata atau terlihat dalam kualitas dan
struktur dari berkas semula. Metode ini termasuk tinta yang tidak tampak,
microdots, pengaturan kata, tanda tangan digital, jalur tersembunyi dan
komunikasi spektrum lebar.
Tujuan dari steganografi adalah merahasiakan atau menyembunyikan
keberadaan dari sebuah pesan tersembunyi atau sebuah informasi. Dalam
prakteknya, kebanyakan pesan disembunyikan dengan membuat perubahan tipis
terhadap data digital lain yang isinya tidak akan menarik perhatian dari penyerang
potensial, sebagai contoh sebuah gambar yang terlihat tidak berbahaya. Perubahan
ini bergantung pada kunci (sama pada kriptografi) dan pesan untuk
disembunyikan. Orang yang menerima gambar kemudian dapat menyimpulkan
informasi terselubung dengan cara mengganti kunci yang benar ke dalam
algoritma yang digunakan. Pada metode steganografi cara ini sangat berguna jika
digunakan pada cara steganografi komputer karena banyak format berkas digital
yang dapat dijadikan media untuk menyembunyikan pesan. Format yang biasa
digunakan di antaranya:
Format image : bitmap (bmp), gif, pcx, jpeg, dll.
Format audio : wav, voc, mp3, dll.
Format lain : teks file, html, pdf, dll.
Kelebihan steganografi jika dibandingkan dengan kriptografi adalah pesanpesannya tidak menarik perhatian orang lain. Pesan-pesan berkode dalam
kriptografi yang tidak disembunyikan, walaupun tidak dapat dipecahkan, akan
menimbulkan kecurigaan. Seringkali, steganografi dan kriptografi digunakan
secara bersamaan untuk menjamin keamanan pesan rahasianya.
9
Adapun proses yang biasa terjadi dalam proses steganografi sebagai berikut :
covertext
Encoding
(embeddin)
hiddentext
covertext
stegotext
Decoding
(extraction)
key
hiddentext
key
Gambar 2.1 Diagram Proses Steganografi
Terdapat beberapa istilah yang berkaitan dengan steganografi.

Hiddentext atau embedded message : pesan atau informasi yang
disembunyikan.

Covertext
atau
cover-object
:
pesan
yang
digunakan untuk
menyembunyikan embedded message.

Stegotext atau stego-object : pesan yang sudah berisi embedded
message. Dalam steganografi digital, baik hiddentex atau covertext
dapat berupa teks, audio, gambar, maupun video.
Sebuah pesan steganografi (plaintext), biasanya pertama-tama dienkripsikan
dengan beberapa arti tradisional, yang menghasilkan ciphertext. Kemudian,
covertext dimodifikasi dalam beberapa cara sehingga berisi ciphertext, yang
menghasilkan stegotext. Contohnya, ukuran huruf, ukuran spasi, jenis huruf, atau
karakteristik covertext lainnya dapat dimanipulasi untuk membawa pesan
tersembunyi; hanya penerima (yang harus mengetahui teknik yang digunakan)
dapat membuka pesan dan mendekripsikannya.
Penyembunyian data rahasia ke dalam citra digital akan mengubah kualitas citra
tersebut. Kriteria yang harus diperhatikan dalam penyembunyian data adalah:
10
1. Fidelity. Mutu citra penampung tidak jauh berubah. Setelah penambahan
data rahasia, citra hasil steganografi masih terlihat dengan baik. Pengamat
tidak mengetahui kalau di dalam citra tersebut terdapat data rahasia.
2. Robustness. Data yang disembunyikan harus tahan terhadap manipulasi
yang dilakukan pada citra penampung (seperti pengubahan kontras,
penajaman,
pemampatan,
penambahan
noise,
perbesaran
gambar,
pemotongan (cropping), enkripsi, dan sebagainya). Bila pada citra
dilakukan operasi pengolahan citra, maka data yang disembunyikan tidak
rusak.
3. Recovery. Data yang disembunyikan harus dapat diungkapkan kembali
(recovery). Karena tujuan steganografi adalah data hiding, maka sewaktuwaktu data rahasia di dalam citra penampung harus dapat diambil kembali
untuk digunakan lebih lanjut.
Dalam data digital, teknik-teknik yang sering digunakan dalam steganografi
modern ada empat jenis metode, yaitu :
1. Least Significant Bit Insertion (LSB)
2. Teknik Pixel Mapping (Metode RGB Level)
3. Mask and Filtering
4. Algorithms Compression and Transformation
2.2 Teknik LSB
Salah satu metode steganografi yang banyak digunakan adalah metode
modifikasi LSB (Least significant pixel modification). Metode modifikasi LSB
11
tergolong metode yang menggunakan teknik substitusi. Metode LSB terutama
digunakan untuk steganografi berbasis media (media-based steganography).
Metode LSB menyembunyikan data rahasia dalam pixel – pixel tak signifikan
(least significant pixel) dari berkas wadah (cover). Pengubahan nilai pixel – pixel
tak signifikan pada dasarnya memberikan pengaruh terhadap berkas wadah, tetapi
karena perubahan yang terjadi sangat kecil, sehingga tidak tertangkap oleh indra
manusia.
Kenyataan
inilah
yang
akhirnya
dimanfaatkan
sebagai
teknik penyembunyian data atau pesan (steganografi).
Pada susunan bit di dalam sebuah byte (1 byte = 8 bit), ada bit yang paling
berarti dan berpengaruh terhadap informasi yang dikandungnya yaitu angka 1
yang terletak di paling depan. Bit ini sering disebut dengan istilah Most
Significant Bit (MSB). Semakin ke kanan, bit-bit tersebut semakin kecil
pengaruhnya terhadap keutuhan data yang dikandung dan bit yang paling kurang
berarti dinamakan Least Significant Bit (LSB).
“Bit yang cocok untuk diganti adalah bit LSB, sebab perubahan tersebut
hanya mengubah nilai byte satu lebih tinggi atau satu lebih rendah dari
nilai sebelumnya.”
Misalkan penyisipan pada citra 24-bit. Setiap pixel panjangnya 24 bit (3 x
3 byte, masing-masing komponen R (1 byte), G (1 byte), dan B (1 byte) )
Misal pixel berwarna merah :
00110011 10100010 11100010
Misalkan embedded message: 010
Encoding:
00110010 10100011 11100010
12
(pixel berwarna “merah berubah sedikit”, tidak dapat dibedakan secara visual
dengan citra aslinya)
Pada Steganografi dengan teknik LSB memiliki keuntungan dan
kerugiannya tersendiri.
Keuntungan : Mudah diimplementasikan dan proses encoding cepat
Kelemahan : Tidak tahan terhadap pengubahan (modifikasi) terhadapcover object
dan mudah dihapus karena lokasi penyisipan diketahui (bit LSB).
2.3 Format Gambar
Terdapat beberapa jenis format gambar, dan dalam tugas akhir ini digunakan
beberapa format seperti Bitmap, JPEG, dan PNG.
2.3.1
Bitmap (.bmp)
Bitmap adalah representasi dari citra grafis yang terdiri dari
susunan titik yang tersimpan di memori komputer. Dikembangkan oleh
Microsoft dan nilai setiap titik diawali oleh satu bit data untuk gambar
hitam putih, atau lebih bagi gambar berwarna. Kerapatan titik-titik tersebut
dinamakan resolusi, yang menunjukkan seberapa tajam gambar ini
ditampilkan, ditunjukkan dengan jumlah baris dan kolom, contohnya
1024x768.
Untuk menampilkan citra bitmap pada monitor atau mencetaknya
pada printer, komputer menterjemahkan bitmap ini menjadi pixel (pada
layar) atau titik tinta (pada printer). Beberapa format file bitmap yang
populer adalah BMP, PCX dan TIFF.
13
Monochrome bitmap
Monochrome bitmap merupakan suatu file bitmap hitam
dan putih. Monochrome bitmap merupakan susunan dari pixelpixel, akan tetapi setiap pixel hanya diisi oleh single atau satu bit.
Monochrome bitmap biasanya digunakan untuk text bitmap atau
gambar dengan satu warna.
2.3.2
JPEG (.jpg , .jpeg)
Joint Photographic Experts Group (JPEG) merupakan skema
kompresi file bitmap. Awalnya, file yang menyimpan hasil foto digital
memiliki ukuran yang besar sehingga tidak praktis. Dengan format baru
ini, hasil foto yang semula berukuran besar berhasil dikompresi
(dimampatkan) sehingga ukurannya kecil. JPEG adalah salah satu dari dua
standar format file gambar yang digunakan dalam halaman-halaman web,
dan memang tepat digunakan untuk gambar-gambar yang melibatkan
representasi gambar berkualitas fotografi. JPEG dapat disimpan dalam
varian progresif yang memungkinkan untuk melakukan proses dekompresi
secara perlahan dari suatu tampilan kasar sampai ke detil tampilan yang
tertinggi. Keuntungan lain format JPEG adalah dapat diterima pada hampir
semua program-program komputer, baik yang berbasis Windows maupun
Apple Macintosh. Format JPEG tentu saja dapat diterima pada perangkat
lunak Powerpoint, Word, Excel, dan sebagainya.
14
2.3.3
PNG (.png)
PNG (Portable Network Graphics) adalah salah satu format
penyimpanan citra yang menggunakan metode pemadatan yang tidak
menghilangkan bagian dari citra tersebut (lossless compression).
Format PNG ini diperkenalkan untuk menggantikan format
penyimpanan citra GIF. Secara umum PNG dipakai untuk Citra Web
(World Wide Web).
Secara garis besar, format PNG mempunyai fitur sebagai berikut :
 Sebagai pengganti format GIF dan TIFF.
 Format terbuka atau open, efisien, gratis, dan kompresi jenis lossless.
 Tiga mode warna], yaiut : paletted (8 bit), greyscale (16 bit), truecolour
(hinga 48 bit)
 Dukungan terhadap profile colour, gamma, dan metadata.
 Mempunyai fitur transparansi serta dukungan penuh terhadap alpha
channel.
 Dukungan luas bagi software menipulasi grafis dan web browser.
2.4 Gambar RGB
RGB adalah suatu model warna yang terdiri dari merah, hijau, dan biru,
digabungkan dalam membentuk suatu susunan warna yang luas. Setiap warna
dasar, misalnya merah, dapat diberi rentang-nilai. Untuk monitor komputer, nilai
rentangnya paling kecil = 0 dan paling besar = 255. Pilihan skala 256 ini
didasarkan pada cara mengungkap 8 digit bilangan biner yang digunakan oleh
15
mesin komputer. Dengan cara ini, akan diperoleh warna campuran sebanyak 256
x 256 x 256 = 1677726 jenis warna. Sebuah jenis warna, dapat dibayangkan
sebagai sebuah vektor di ruang 3 dimensi yang biasanya dipakai dalam
matematika, koordinatnya dinyatakan dalam bentuk tiga bilangan, yaitu
komponen-x, komponen-y dan komponen-z. Misalkan sebuah vektor dituliskan
sebagai r = (x,y,z). Untuk warna, komponen-komponen tersebut digantikan oleh
komponen red, green dan blue. Jadi, sebuah jenis warna dapat dituliskan sebagai
berikut: warna = RGB(30, 75, 255). Putih = RGB (255,255,255), sedangkan
untuk hitam= RGB(0,0,0).
2.5 Matlab
MATLAB adalah sebuah lingkungan komputasi numerikal dan bahasa
pemrograman komputer generasi keempat. Dikembangkan oleh The MathWorks,
MATLAB memungkinkan manipulasi matriks, pem-plot-an fungsi dan data,
implementasi algoritma, pembuatan antarmuka pengguna, dan peng-antarmuka-an
dengan program dalam bahasa lainnya. Meskipun hanya bernuansa numerik,
sebuah kotak kakas (toolbox) yang menggunakan mesin simbolik MuPAD,
memungkinkan akses terhadap kemampuan aljabar komputer. Sebuah paket
tambahan, Simulink, menambahkan simulasi grafis multiranah dan Desain
Berdasar-Model untuk sistem terlekat dan dinamik.
16
Berikut Tampilan dalam Matlab :
Gambar 2.2 Tampilan Pada Matlab
Dalam Pembuatan Sistem steganografi ini menggunakan GUI yang terdapat
dalam matlab sebagai bantuan untuk membuat tampilan pada sistem steganografi
tersebut.
GUI atau graphical user interface merupakan suatu interface antara user
atau pengguna untuk dapat berinteraksi dengan peralatan elektroniks melalui
gambar daripada perintah teks. GUI dapat digunakan pada komputer dan beberapa
peralatan elektronika seperti mp3 player, peralatan rumah tangga dan peralatan
kantor.
Sebuah GUI menggambarkan informasi dan langkah yang tersedia
melalui gambar seperti icon.
GUIDE atau GUI builder merupakan sebuah graphical user interface
(GUI) yang dibangun dengan obyek grafik seperti tombol (button), kotak teks,
slider, menu dan lain-lain. Aplikasi yang menggunakan GUI umumnya lebih
mudah dipelajari dan digunakan karena orang yang menjalankannya tidak perlu
mengetahui perintah yang ada dan bagaimana kerjanya.
17
GUIDE Matlab mempunyai kelebihan tersendiri dibandingkan dengan
bahasa pemrogram lainnya, diantaranya:
1. GUIDE Matlab banyak digunakan dan cocok untuk aplikasi-aplikasi
berorientasi sains, sehingga banyak peneliti dan mahasiswa menggunakan
GUIDE Matlab untuk menyelesaikan riset atau tugas akhirnya.
2. GUIDE Matlab mempunyai fungsi built-in yang siap digunakan dan
pemakai tidak perlu repot membuatnya sendiri.
3. Ukuran file, baik FIG-file maupun M-file, yang dihasilkan relatif kecil.
4. Kemampuan grafisnya cukup andal dan tidak kalah dibandingkan dengan
bahasa pemrograman lainnya.
Berikut beberapa step dalam pembuatan GUI pada matlab.
1. Klik File pada menu toolbar  New  GUI , seperti pada tampilan
berikut :
Gambar 2.3 Tampilan pada untuk membuat GUI
2. Kemudian akan muncul windows baru lagi, GUIDE Quick Start
Pilih Blank GUI (Default) untuk membuat tampilan GUI baru, seperti
gambar berikut :
18
Gambar 2.4 Tampilan GUIDE Quick Start
3. Kemudian akan ditampilkan layar baru untuk membuat tampilan GUI,
seperti gambar berikut :
Gambar 2.5 Tampilan untuk membuat GUI
19
Atau bisa dengan mengetik guide pada tampilan command windows kemudian
klik enter untuk membuat tampilan GUI.
Gambar 2.6 Tampilan guide pada Command Window
Dan akan memunculkan GUIDE Quick start dan tampilan GUI seperti pada
gambar 2.4 dan 2.5 .
Tampilan pada layar GUI :
Toolbar
Layar GUI
Tool Box
Gambar 2.7 Tampilan layar untuk membuat GUI
20
Komponen palet pada GUIDE Matlab terdiri dari beberapa uicontrol
(kontrol user interface), seperti pada bahasa pemrograman visual lainnya, yaitu:
pushbutton, togglebutton, radiobutton, chexkboxes, edit text, static text, slider,
frames, listboxes, popup menu, dan axes. Kita dapat meletakkan semua kontrol
pada layout editor dan selanjutnya hanya tinggal mengaturnya melalui property
inspector. Semua kontrol pada GUIDE dapat dimunculkan pada layout/figure
dengan cara mendrag kiri kontrol yang diinginkan ke figure. Adapun penjelasan
fungsi masing-masing kontrol adalah sebagai berikut:
1. Pushbutton
Pushbutton merupakan jenis kontrol berupa tombol tekan yang
akan menghasilkan tindakan jika diklik, misanya tombol OK, Cancel,
Hitung, Hapus, dan sebagainya. Untuk menampilkan tulisan pada
pushbutton kita dapat mengaturnya melalui property inspector dengan
mengklik obeyek pushbutton pada figure, lalu mengklik toolbar property
inspector atau menggunakan klik kanan lalu pilih property inspector.
Selanjutnya isilaha tab string dengan label yang diinginkan, misalnya
Hitung.
2. Toggle Button
Toggle button memiliki fungsi yang sama dengan pushbutton.
Perbedaanya adalah saat pushbutton ditekan, maka tombol akan kembali
pada posisi semula jika tombol mouse dilepas, sedangkan pada toggle
button, tombol tidak akan kembali ke posisi semula, kecuali kita
menekannya kembali.
21
3. Radio Button
Radio button digunakan untuk memilih atau menandai satu pilihan
dari beberapa pilihan yang ada. Misalnya, sewaktu kita membuat aplikasi
operasi
Matematika
(penjumlahan,
pengurangan,
perkalian,
dan
pembagian)..
4. Edit Text dan Static Text
Edit text digunakan untuk memasukkan atau memodifikasi suatu
text yang diinputkan dari keyboard, sedangkan static text hanya berguna
untuk
menampilkan
text/tulisan,
sehingga
kita
tidak
bisa
memodifikasi/mengedit text tersebut kecuali memalui property inspector.
5. Frames
Frames merupakan kotak tertutup yang dapat digunakan untuk
mengelompokkan kontrol-kontrol yang berhubungan. Tidak seperti kontrol
lainnya, frames tidak memiliki rutin callback.
6. Checkboxes
Kontrol checkboxes berguna jika kita menyediakan beberapa pilihan
mandiri atau tidak bergantung dengan pilihan-pilihan lainnya. Contoh aplikasi
penggunaan checkboxes adalah ketika kita diminta untuk memilih hobi.
Karena hobi bisa lebih dari satu, maka kita dapat mengklik checkboxes lebih
dari satu kali.
7. Slider
Slider
berguna
jika
kita
menginginkan
inputan
nilai
tidak
menggunakan keyboarad, tetapi hanya dengan cara menggeser slider secara
vertical maupun horizontal ke nilai yang kita inginkan. Dengan menggunakan
22
slider, kita lebih fleksibel dalam melakukan pemasukan nilai data karena kita
dapat mengatur sendiri nilai max, nilai min, serta sliderstep.
8. Popup Menu
Popop menu berguna menampilkan daftar pilihan yang didefinisikan
pada String Propoerty ketika mengklik tanda panah pada aplikasi dan
memiliki fungsi yang sama seperti radio button. Ketika tida dibukak, popup
menu hanya menampilkan satu item yang menjadi pilihan pertama pada String
Property. Popupmenu sangat bermanfaat ketika kita ingin memberi sebuah
pilihan tanpa jarak, tidak seperti radiobutton.
9. Axes
Axes berguna untuk menampilkan sebuah grafik atau gambar (image).
Axes sebenarnya tidak masuk dalam UIControl, tetapi axes dapat deprogram
agar pemakai dapat berinteraksi dengan axes dan obyek grafik yang
ditampilkan melalui axes.
MATLAB mengimplementasikan GUI sebagai sebuah figure yang berisi
barbagai style obyek UIControl. Selanjutnya kita harus memprogram masingmasing obyek agar dapat bekerja ketika diaktifkan oleh pemakai GUI.
Langkah dasar yang harus dikerjakan dalam membuat GUI adalah :
1. Mengatur layout komponen GUI
Setelah kita membuka GUIDE Matlab dan telah menentukan
template GUI, langkah selanjutnya adalah adalah mendesai figure dengan
menggunakan komponen palet sesuai dengan kebutuhan, seperti p
ushbutton, radiobutton, chexkboxes, edit text, static text, slider, frames,
popup menu, axes, dan sebagainya. Selanjutnya kita dapat mengatur layout
23
masing-masing komponen, baik string(caption), font, color, size, dan
sebagainya menggunakan property inspector. Jika kita telah selesai
mendesain, jangan lupa untuk menyimpan file figure yang secara default
akan memiliki ekstensi *.fig. Dari sini, matlab secara otomatis akan
membuatkan sebuah m-file dengan nama yang sama, yaitu file berekstensi
*.m.
2. Memprogram Komponen GUI
M-file yang telah dibuat pada langkah sebelumnya, akan otomatis
terbuka dan kita harus menulis programnya agar komponen kontrol dapat
bekerja secara simultan. Untuk membuat program dalam m-file kita cukup
memperhatikan fungsi-fungsi matlab bertanda callback dimana perintah
disispkan.
Dari langah-langkah dasar diatas, secara sederhana sebenarnya GUI
Matlab dibentuk oleh dua buah file, yaitu fig-file dan m-file
MATLAB memiliki sistem “help” yang ekstensif, memuat dokumentasi
detil dan informasi “help” meliputi semua command dan fungsi di MATLAB.
Sistem ini akan sangat membantu kita, baik yang pemula maupun ahli, untuk
memahami fungsionalitas MATLAB yang belum pernah kita gunakan
sebelumnya. Untuk mendapatkan help, terdapat 2 cara: melalui command window,
dan melalui help browser. Untuk mendapatkan menu help ini kita dapat menekan
tombol
atau mengetik helpbrowser pada command windows dan akan
menampilkan layar help.
24
Gambar 2.8 Tampilan menu Help
Dengan adanya menu Help ini, user akan terbantukan dalam menggunakan
program matlab untuk membuat beberapa aplikasi.
Download