bab 2 landasan teori 2.1 transformasi linierthesis.binus.ac.id/doc/bab2/2007-2-00452-mtif...

18
6 BAB 2 LANDASAN TEORI 2.1 Transformasi Linier Ilmu matematik telah menarik perhatian para ilmuwan dan pakar sejak zaman dahulu. Bahkan pada masa Yunani Kuno, matematik sudah menjadi bahan pemikiran dan penelitian para filsuf-filsuf besar pada masa itu. Hasil pemikiran para filsuf besar di masa itu, seperti misalnya Euclides, Eratosthenes dan Pythagoras, masih terus dipakai sampai sekarang. Seiring perkembangan zaman, ilmu matematik juga semakin berkembang menjadi semakin rumit dan semakin maju. Ilmu matematika merupakan ilmu yang disebut sebagai ibu dari segala jenis ilmu (the mother of all sciences). Hal ini dikarenakan dalam setiap jenis ilmu yang ada di dunia, pasti ada terkandung unsur matematik, walau sedikit. Di dalam ilmu komputer, matematik memberikan sumbangan berupa dasar perhitungan untuk beberapa algoritma yang banyak digunakan, seperti yang ditemukan dalam beberapa algoritma kriptografi dan algoritma kompresi. Transformasi merupakan bagian dari ilmu matematik yang banyak diterapkan didunia nyata, misalnya untuk pengolahan sinyal suara, listrik dan sebagainya. Transformasi Linier dapat dijabarkan sebagai suatu fungsi f : V W dimana V dan W merupakan suatu vektor pada suatu bidang K. Untuk dua vektor sembarang x dan y terletak dalam V dan sebuah bilangan skalar a terletak dalam K, maka berlaku : f(x + y) = f(x) + f(y) dan f(ax) = a.f(x). Berdasarkan hal ini, maka dapat kita nyatakan bahwa untuk setiap vektor x 1 , …, x m dan setiap skalar a 1 , …, a m , berlaku persamaan :

Upload: phamdiep

Post on 06-Mar-2019

215 views

Category:

Documents


0 download

TRANSCRIPT

6

BAB 2

LANDASAN TEORI

2.1 Transformasi Linier

Ilmu matematik telah menarik perhatian para ilmuwan dan pakar sejak zaman

dahulu. Bahkan pada masa Yunani Kuno, matematik sudah menjadi bahan pemikiran dan

penelitian para filsuf-filsuf besar pada masa itu. Hasil pemikiran para filsuf besar di masa

itu, seperti misalnya Euclides, Eratosthenes dan Pythagoras, masih terus dipakai sampai

sekarang. Seiring perkembangan zaman, ilmu matematik juga semakin berkembang

menjadi semakin rumit dan semakin maju.

Ilmu matematika merupakan ilmu yang disebut sebagai ibu dari segala jenis ilmu

(the mother of all sciences). Hal ini dikarenakan dalam setiap jenis ilmu yang ada di

dunia, pasti ada terkandung unsur matematik, walau sedikit. Di dalam ilmu komputer,

matematik memberikan sumbangan berupa dasar perhitungan untuk beberapa algoritma

yang banyak digunakan, seperti yang ditemukan dalam beberapa algoritma kriptografi

dan algoritma kompresi. Transformasi merupakan bagian dari ilmu matematik yang

banyak diterapkan didunia nyata, misalnya untuk pengolahan sinyal suara, listrik dan

sebagainya.

Transformasi Linier dapat dijabarkan sebagai suatu fungsi f : V → W dimana V

dan W merupakan suatu vektor pada suatu bidang K. Untuk dua vektor sembarang x dan y

terletak dalam V dan sebuah bilangan skalar a terletak dalam K, maka berlaku : f(x + y) =

f(x) + f(y) dan f(ax) = a.f(x). Berdasarkan hal ini, maka dapat kita nyatakan bahwa untuk

setiap vektor x1, …, xm dan setiap skalar a1, …, am, berlaku persamaan :

7

f(a1x1 + … + amxm) = a1f(x1) + … + am f(xm).

Metode Transformasi banyak digunakan untuk membantu mempelajari jaringan

lisrik, alat pengendali dan pengubah energi, pada media komunikasi elektronik yang

berbasiskan kabel (atau serat optik) ataupun nirkabel, serta prinsip informasi yang

melibatkan proses mendapatkan, mengolah dan mempresentasikan data.

2.1.1 Transformasi Fourier

Transformasi Fourier, pertama kali dicetuskan oleh Joseph Fourier. Contoh paling

jelas dari Transformasi Fourier bisa dilihat menggunakan gelombang suara. Melalui suatu

osiloskop, kita dapat melihat rupa gelombang suara, sementara telinga kita dapat

mendengar spektrum suara. Gelombang suara merupakan Transformasi Fourier dari

spectrum suara dan sebaliknya. Transformasi Fourier dari sutu fungsi f(x) dapat

didefinisikan sebagai :

∫∞

∞−

−= dxexfsF xsi π2)()( …(1)

Maka kita dapatkan sebuah integral, yang merupakan fungsi dari s, kita sebut F(s).

Jika kita transformasikan lagi F(s) menggunakan cara yang sama akan kita peroleh

kembali :

∫∞

∞−

= dxesFxf si πϖ2)()( …(2)

Dengan demikian, dapat kita simpulkan bahwa Transformasi Fourier merupakan

transformasi dari fungsi f(x) → F(s) dan sebaliknya F(s) → f(x), atau bisa dikatakan

bahwa f(x) merupakan Transformasi Fourier dari F(s) dan sebaliknya F(s) merupakan

8

Transformasi Fourier dari f(x). Sifat ini hanya berlaku apabila fungsi f(x) merupakan

fungsi genap, yaitu apabila f(x) = f(–x) karena apabila f(x) merupakan fungsi ganjil, yaitu

apabila f(x) = – f(–x), transformasi yang diulang akan menghasilkan f(–ω) dan bukan

fungsi asalnya.

Transformasi Fourier termasuk sebagai transformasi kontinu. Dalam perhitungan

sehari-hari biasanya digunakan batasan tertentu untuk masalah perhitungan yang

dilakukan, misalnya pengukuran suatu gelombang pada suatu waktu tertentu. Pada

perhitungan secara numerik, nilai-nilai yang akan terlibat dalam perhitungan juga

biasanya memiliki batasan yang bersifat diskrit. Demikian juga pada perhitungan yang

hendak diterapkan pada aplikasi ini, sehingga untuk memudahkan digunakanlah suatu

Transformasi Fourier Diskrit.

Untuk mengubah Transformasi Fourier yang bersifat Kontinu menjadi

Transformasi Fourier Diskrit bisa dilakukan dengan mengambil sampel dari suatu fungsi

waktu diskrit. Pertama-tama kita bentuk suatu fungsi waktu kontinu berupa suatu

gelombang setengah periode kosinus dengan aturan :

25.025.0

02cos

)(<<−

⎩⎨⎧

=t

lainnyauntukt

tvπ

Grafik fungsi dari fungsi tersebut dapat dilihat sebagai berikut :

t (mili-detik) v(t) –0.250 0 –0.150 0.588 –0.50 0.951 0.50 0.951 0.150 0.588 0.250 0

Gambar 2.1 Grafik fungsi kontinu

9

Dari nilai-nilai yang dihasilkan fungsi v(t), kita ambil sampel dengan interval

0.100, seperti yang terlihat pada tabel. Dari sampel tersebut kitakita bentuk lagi suatu

fungsi waktu diskrit f(τ) dengan dengan τ merupakan sampel waktu diskrit yang mewakili

waktu t. Jika interval antar sampel adalah T, jumlah sampel adalah N dan sampel awal

diperoleh pada saat t = t0, maka fungsi f(τ) bisa kita definisikan :

f(τ) = v(t0 + τT), τ = 0, 1, 2, …, N – 1

Perubahan dari fungsi kontinu ke fungsi diskrit dapat terlihat sebagai berikut.

τ f(τ) 0 0 1 0.588 2 0.951 3 0.951 4 0.588 5 0

Gambar 2.2 Grafik fungsi diskrit

Terlihat bahwa pada fungsi diskrit, hasil fungsi f(τ) diperoleh sesuai dengan nilai τ,

sementara pada fungsi kontinu, nilai dari fungsi v(t) terdapat sepanjang grafik fungsi

kosinus yang tergambar. Dengan menggunakan persamaan Transformasi Fourier pada

nomor (1), dan mengganti s dengan frekuensi v/N kita dapatkan :

( )∫∞

∞−

−= ττ τπ defvF Nvi /2)()( …(3)

Karena f(τ) terletak antara interval τ = 0 sampai τ = N–1, maka Transformasi (3) dapat

kita ubah menjadi Transformasi Fourier Diskrit (4) dan (5) sebagai inversnya :

( ) ( )∑−

=

−=1

0

/21)(N

NviefN

vFτ

τπτ …(4)

10

( ) ( )∑−

=

=1

0

/2)(N

v

NvievFf τπτ …(5)

[Bracewell, 2000]

2.1.2 Transformasi Kosinus

Transformasi Kosinus, dari suatu fungsi f(x) untuk s positif dapat didefinisikan

sebagai :

( )∫∞

=0

2cos2)( dxsxxfsFc π …(6)

Sementara, inversnya adalah :

( )∫∞

=0

2cos2)( dssxsFxf c π …(7)

Untuk diaplikasikan pada suatu blok pixel yang sudah memiliki ukuran tertentu,

akan lebih baik jika digunakan fungsi Transformasi Kosinus yang Diskrit. Untuk

memperoleh Transformasi Kosinus Diskrit, bisa dilakukan dengan cara yang sama untuk

memperoleh Transformasi Fourier Diskrit. Berdasarkan itu kita dapat mengubah

persamaan (6) menjadi :

( )∑−

=⎥⎦⎤

⎢⎣⎡ +

=1

0 2)12(cos)()(

N

c NvfvvF

τ

τπτα …(8)

untuk nilai v = 0, 1, 2, …, N–1. Demikian pula, inversnya bisa kita ubah dari persamaan

(7) menjadi :

( )∑−

=⎥⎦⎤

⎢⎣⎡ +

=1

0 2)12(cos)()(

N

vc N

vvFvf τπατ …(9)

Nilai dari α(v) adalah :

11

⎪⎪⎩

⎪⎪⎨

==

02

01

)(vuntuk

N

vuntukNvα

Dari persamaan (8), apabila v = 0 maka ( )∑−

=

==1

0

1)0(N

c fN

vFτ

τ . Hasil dari

koefisien transformasi pertama (v = 0) ini merupakan nilai rata-rata dari seluruh sampel.

Umumnya nilai ini dikenal sebagai DC Coefficient, sementara nilai hasil transformasi

dengan nilai v lain biasanya dikenal dengan AC Coefficient. Persamaan Transformasi

Kosinus Diskrit pada persamaan (8) dan inversnya pada persamaan (10) dikenal juga

sebagai Transformasi Kosinus Diskrit Dimensi-1. Untuk diterapkan pada image yang dua

dimensi, digunakan Transformasi Kosinus Diskrit Dimensi-2. Untuk mendapatkan

Transformasi Kosinus Diskrit Dimensi-2 ini bisa dilakukan dengan melakukan

perhitungan Transformasi Kosinus Diskrit Dimensi-1 dua kali berurutan, hingga

diperoleh :

( ) ⎥⎦⎤

⎢⎣⎡ +

⋅⎥⎦⎤

⎢⎣⎡ +

⋅= ∑∑−

=

= Nvy

NuxyxfvuvuF

N

x

N

yc 2

)12(cos2

)12(cos),()()(,1

0

1

0

ππαα

Dengan menggunakan prinsip yang sama, inversnya adalah :

( ) ⎥⎦⎤

⎢⎣⎡ +

⋅⎥⎦⎤

⎢⎣⎡ +

= ∑∑−

=

= Nvy

NuxvuFvuyxf

N

u

N

vc 2

)12(cos2

)12(cos),()()(,1

0

1

0

ππαα

[Bracewell, 2000 & Khayam, 2003]

2.2 Perancangan Software

Software atau piranti lunak sangat berperan dalam masyarakat dewasa ini. Karena

perannya yang sangat banyak dan beragam, software dan ilmu pengolah software terus

12

mengalami perkembangan. Tetapi, apakah software itu? Menurut Pressman (2001),

software tidak memiliki satu pengertian yang pasti. Beberapa pengertian Software antara

lain :

1. Instruksi-instruksi atau perintah-perintah komputer yang, saat dijalankan akan

menghasilkan fungsi-fungsi yang diharapkan.

2. Struktur data yang memungkinkan program untuk memanipulasi informasi

dengan baik.

3. Dokumen yang menjelaskan cara operasi dan cara penggunaan program.

Selain ketiga definisi diatas, masih banyak lagi definisi-definisi lain yang bisa digunakan

untuk menjelaskan apa itu software, sesuai dengan bidang-bidang dimana software

diimplementasikan.

Sama seperti definisi software yang bisa berbeda-beda, sesuai dengan dimana

software tersebut diimplementasikan, Software Engineering atau rekayasa piranti lunak

juga memiliki definisi yang berbeda-beda. Beberapa definisi yang diberikan Pressman

(2001) antara lain :

1. Penggunaan dan pemanfaatan dari prinsip-prinsip teknik, dalam upaya untuk

memperoleh software yang ekonomis namun dapat diandalkan dan bekerja secara

efisien pada mesin nyata.

2. Pendekatan secara sistematik, disiplin dan bertanggung jawab atas proses

pengembangan, operasi, dan pemeliharaan dari sebuah software.

Perancangan atau rekayasa merupakan analisis, desain, pembuatan, verifikasi dan

manajemen dari kumpulan objek yang bersifat teknis. Tanpa memandang obyek yang

13

hendak direkayasa, pertanyaan-pertanyaan berikut haruslah senantiasa diperhatikan dan

dipecahkan :

• Masalah apa yang hendak dipecahkan?

• Karakteristik obyek apa yang digunakan untuk memecahkan masalah tersebut?

• Bagaimana obyek dan solusi dari masalah akan dapat direalisasikan?

• Bagaimana obyek tersebut akan dibentuk?

• Pendekatan apa yang akan digunakan untuk mendeteksi error yang mungkin

muncul dalam desain dan pembentukan obyek?

• Bagaimana dukungan terhadap obyek dalam jangka panjang, sewaktu koreksi,

adaptasi, dan pengembangan diminta oleh pengguna obyek?

Dengan memperhatikan hal-hal diatas, secara umum rekayasa software dapat

dibagi atas tiga fase :

• Fase definisi akan mendefinisikan apa-apa saja yang hendak dicapai dengan

pengembangan software ini, seperti masalah yang hendak diselesaikan, informasi

apa saja yang akan diterima atau diproses, bagaimana kinerja atau proses software

yang diharapkan, user interface apa yang diinginkan dan seterusnya.

• Fase pengembangan akan memfokuskan pada bagaimana hal-hal yang telah

didefinisikan pada fase definisi dapat dicapai, seperti bagaimana data hendak

disusun, bagaimana fungsi-fungsi akan diimplementasikan, bagaimana interface

akan dibentuk, bagaimana menyusun semuanya menjadi sebuah program,

bagaimana cara menguji program itu dan seterusnya.

• Fase pendukung akan memfokuskan pada perubahan-perubahan pada software

yang dihasilkan pada fase pengembangan, seperti koreksi error, adaptasi,

14

pengembangan dan pencegahan yang mungkin dibutuhkan sesuai dengan

lingkungan kerja dari software.

Dengan mengikuti fase-fase diatas, perancangan software memiliki beberapa

model kerja yang dapat diterapkan untuk membantu dalam proses perancangan sebuah

software. Diantaranya adalah Model Linier (Linier Sequential Model), Model Prototipe

(Prototyping Model), Model RAD (Rapid Application Development) dan lainnya. Dalam

merancang program aplikasi yang digunakan dalam penelitian ini, model perancangan

yang digunakan adalah Model Linier.

Model Linier atau yang dikenal juga dengan Model Air Terjun (Waterfall Model)

merupakan suatu tahapan-tahapan metode untuk merancang sebuah program aplikasi

software. Model ini disebut juga dengan Model Air Terjun, karena tahapan yang

dilakukan bertingkat-tingkat, sehingga mirip dengan air terjun. Perancangan dengan

model ini dilakukan dalam 6 tahapan, yaitu perencanaan, analisis, desain (fase defisini),

coding, pengujian (fase pengembangan) dan maintenance (fase pendukung). [Pressman,

2001 & Sommerville, 1996]

2.3 Grafis Komputer

Prinsip pengaman yang hendak diterapkan melalui penelitian ini adalah dengan

cara menyisipkan suatu file pesan kedalam sebuah file image komputer. Image yang

tersimpan dalam komputer memiliki dua format. Ada yang dikenal sebagai grafik vektor

(vector image), yaitu file image yang tersusun melalui gabungan antara bentuk-bentuk

vektor geometris, seperti kurva, poligon dan lain sebagainya. Kemudian ada juga yang

dikenal sebagai grafik raster (raster image), yaitu yang penyusunnya adalah berupa pixel-

15

pixel. Pada prinsipnya suatu tampilan gambar pada grafik raster merupakan gabungan

antara banyak pixel-pixel berbentuk kotak yang memiliki kecenderungan warna yang

berbeda satu sama lain, sehingga menyusun suatu image yang terlihat dilayar monitor,

seperti pada contoh dibawah ini.

Gambar 2.3 Pixel yang menyusun suatu gambar.

Tiap-tiap pixel berisi suatu nilai yang menentukan tingkat warna dari pixel

tersebut. Untuk gambar hitam-putih, satu pixel hanya akan bernilai 0 yang berarti putih

dan 1 yang berarti hitam. Sementara untuk gambar berwarna, satu pixel akan berisi suatu

nilai yang merupakan gabungan dari warna-warna Merah-Hijau-Biru. Tiap-tiap pixel

memiliki nilai yang berbeda-beda, tetapi batasan nilai dalam pixel berbeda yang

menyusun suatu image akan sama. Misalnya dalam sebuah image dengan kedalaman

warna 24-bit, berarti tiap-tiap pixel dalam image tersebut dapat memiliki warna sebanyak

24-bit. Ini berarti tiap pixel dapat memiliki 224 atau 16.777.216 warna. Tiap-tiap delapan

bit (tiap byte) dalam pixel akan mewakili intensitas dari warna merah, hijau dan biru

dalam suatu pixel. Dengan mengalami perbedaan pada salah satu bit saja, warna pixel

sudah berbeda. Walau demikian, perubahan satu bit warna pada suatu pixel tidak dapat

tertangkap oleh mata manusia.

16

Ukuran suatu file yang besar merupakan kendala yang ditemui saat file tersebut

hendak disimpan dalam suatu media penyimpanan atau saat file tersebut hendak

ditransfer atau dikirimkan melalui jaringan internet. Untuk mengatasinya, umumnya

suatu file akan terlebih dahulu dikompres, sehingga akan berukuran lebih kecil. Untuk

menangani file image, kompresi dilakukan dengan sedikit mengorbankan tampilan image

tersebut, yaitu dengan mengurangi bit-bit pada pixel image. Kompresi yang dilakukan

pada image memanfaatkan ketidakmampuan mata manusia untuk menangkap perubahan

warna sedikit pada suatu pixel dalam image.

Kompresi image menggunakan beberapa metode transformasi matematis.

Transformasi yang paling banyak digunakan adalah Transformasi Kosinus Diskrit.

Melalui Transformasi Kosinus Diskrit ini, suatu image akan terkompresi dengan cukup

baik, tanpa mengurangi tampilan luar image tersebut. Contohnya bisa kita lihat berikut

ini:

Gambar 2.4 Image macan sebelum Gambar 2.5 Image macan setelah

dikompresi (190 kByte). Dikompresi (75 kByte)

Image pada gambar 2.5 telah mengalami kompresi sebesar 75%, dari sebelumnya

190 kilobyte (Gambar 2.4) menjadi 18 kilobyte. Perubahan yang terjadi pada ukuran file

17

cukup besar, tetapi jika dilihat dengan mata telanjang tidak tampak adanya perubahan

antara image pada Gambar 2.4 dengan image pada Gambar 2.5. Kompresi yang terjadi

bisa terlihat apabila kedua image diperbesar.

Gambar 2.6 Mata harimau sebelum (kiri) dan setelah (kanan) kompresi

Melalui perbesaran, dapat terlihat bahwa kualitas image sebelah kanan yang telah

mengalami kompresi pada Gambar 2.4 sudah tidak sebaik kualitas pada image sebelah

kiri yang belum dikompresi. Transformasi Kosinus Diskrit efektif untuk digunakan pada

image yang memiliki derajat warna yang tinggi dan mendekati atau menyamai derajat

warna dari objek aslinya, misalnya seperti sebuah foto.

Image Asli

Blok-blokPixelImageAsli

FungsiTransformasi

KuantisasiEntrophyEncoding

ImageTerkompresi

TabelKuantiasasi

TabelEntropi

Gambar 2.7 Skema kerja kompresi menggunakan Transformasi Kosinus Diskrit

Kompresi ini bekerja dengan memanfaatkan kecenderungan perulangan

(redundansi) yang terjadi pada pixel-pixel penyusun suatu image. Dengan kata lain,

kompresi ini akan mengurangi entropi atau jumlah rata-rata bit yang diperlukan untuk

18

merepresentasikan suatu image, sehingga ukuran image akan menjadi lebih kecil, tanpa

terjadi perubahan yang berarti secara visual. Transformasi Kosinus Diskrit akan berperan

dalam proses dekorelasi, yaitu pengurangan redundansi antar-pixel (interpixel

redundancy). Tahapan kuantisasi memanfaatkan ketidakmampuan mata manusia dalam

menangkap sebagian informasi visual yang terdapat dalam suatu image. Informasi yang

tidak mampu ditangkap mata ini bisa dianggap redundan (psychovisual redundancy) dan

dapat dibuang begitu saja, tanpa menimbulkan efek secara visual.

Kemudian tahapan selanjutnya adalah yang disebut dengan entrophy encoding.

Pada tahapan ini, informasi-informasi yang didapatkan dari tahapan sebelumnya

(Transformasi dan Kuantisasi) akan digunakan untuk melakukan kompresi pada image,

yaitu dengan mengurangi bit-bit pada image. Kompresi ini bekerja dengan membagi tiap-

tiap pixel dalam suatu image menjadi blok-blok. Tiap blok umumnya memiliki jumlah

pixel yang sama, misalnya pada gambar 2.4 diatas, bisa kita lihat bahwa pada gambar

mata sebelah kanan telah terbagi-bagi menjadi blok-blok berukuran 8x8 pixel (untuk

image 24-bit). Nilai dari pixel-pixel dalam suatu blok kemudian akan ditransformasi

menggunakan prinsip Transformasi Kosinus Diskrit 2 Dimensi, sehingga akan didapat

8x8 atau 64 nilai.

Manfaat dari dilakukannya Transformasi Kosinus Diskrit adalah untuk

memperoleh frekuensi pixel dari image yang hendak diproses. Dengan demikian,

kompresi tidak dilakukan berdasarkan sampel blok pixel langsung dari image asli,

melainkan menggunakan frekuensinya. Frekuensi yang tinggi, berarti sangat berpengaruh

pada image, sementara frekuensi yang rendah, berarti tidak terlalu berpengaruh pada

image. Dengan memperhatikan hal ini, maka kompresi yang baik bisa dilakukan.

19

Nilai koefisien ini kemudian akan dikuantisasi menggunakan suatu tabel

kuantisasi, sesuai dengan yang telah ditentukan sebelumnya, yaitu sesuai dengan

spesifikasi image yang hendak dikompresi, sesuai dengan fungsi atau tujuan dari image

atau sesuai dengan kualitas hasil kompresi yang diharapkan. Setelah kuantisasi, 64 nilai

Koefisien yang telah terkuantisasi akan dikompresi dengan mengurangi entropi pada

image tersebut menggunakan entrophy encoding. Setelah selesai dengan satu blok pixel,

akan dikerjakan blok pixel berikutnya. Demikian seterusnya sampai seluruh pixel dalam

image selesai dikompresi. Setelah seluruh blok telah mengalami pengkodean, maka

image terkompresi sudah kita dapatkan.

2.4 Steganografi

Steganografi adalah suatu metode untuk menyamarkan pesan atau informasi

dengan cara “menyisipkan” (embedding) sebuah pesan kedalam suatu pesan lain atau

suatu benda, sehingga orang yang tidak berkepentingan tidak mengetahui bahwa ada

suatu pesan rahasia yang beredar antara pengirim dan penerima. Berasal dari bahasa

Yunani, stegos yang berarti tertutup dan graphein yang berarti tulisan, steganografi, sama

seperti kriptografi, juga telah berkembang sejak lama. Mulai dari penggunaan batu tulis

yang tertutup lilin, pada zaman Yunani kuno, sampai pada penggunaan “tinta tak terlihat”

pada zaman Perang Dunia II oleh tentara Jerman, steganografi juga banyak berperan pada

bidang militer.

Di masa modern, steganografi banyak digunakan untuk menyamarkan pesan atau

informasi yang disebarkan melalui jaringan informasi internet. Untuk steganografi

modern, dimana informasi beredar melalui internet, media yang populer dipakai untuk

20

menyamarkan pesan adalah dengan menyisipkan pesan tersebut pada sebuah image atau

file bergambar. Dengan terlebih dahulu menyisipkan pesan atau menyembunyikan pesan

didalam sebuah image, “penyadap” tidak mengetahui keberadaan pesan didalam image

tersebut. Maka dari itu, orang-orang mulai melirik peran steganografi sebagai teknik

untuk mengirimkan pesan secara aman melalui internet.

Steganografi dapat dibagi menjadi dua, berdasarkan pada tipe “penutup” pesan

yang digunakan, yaitu bisa berupa file teks, gambar atau suara. Steganografi linguistik

adalah apabila file “penutup” yang digunakan adalah teks, sementara Steganografi

teknikal adalah apabila file “penutup” yang digunakan adalah file selain teks.

Steganografi linguistik merupakan teknik steganografi yang paling awal digunakan,

sementara untuk zaman modern ini, umumnya steganografi lebih banyak berkutat dengan

upaya penyisipan bit-bit data berisi pesan kedalam suatu image atau file audio dan video.

“Penutup” yang dipilih untuk digunakan pada penelitian ini adalah image, mengingat

ukuran image yang relatif lebih kecil daripada file audio maupun video, sehingga jauh

lebih mudah dikirimkan melalui internet.

Gambar digital (digital image) umumnya tersimpan dalam bentuk file image 24-

bit atau 8-bit. Image 24-bit, seperti telah disebutkan diatas, memiliki kemungkinan

sebanyak 224 campuran warna. Pada kompresi Transformasi Kosinus Diskrit dimana kita

bisa memperoleh image yang terkompresi tanpa terlalu mengubah tampilan image

tersebut dari luar, maka teknik kompresi tersebut dapat dimanipulasi sehingga seseorang

dapat menyisipkan bit-bit data berisi pesan kedalam image tanpa bisa diketahui atau

terdeteksi oleh orang lain.

21

Pengirim menyembunyikanpesan dalam sebuah gambarsebelum dikirimkan

Suatu Metode Steganografi

Seorang penyadap tidak mengetahui bahwa terdapat pesan didalam gambar

Suatu Metode Steganografi

Penerima mengambil kembali pesan yang tersembunyidalam gambar

Gambar 2.8 Skema kerja Steganografi [Berna, 2004]

2.5 Algoritma Outguess

Algoritma Outguess merupakan salah satu algoritma steganografi yang

memanfaatkan prinsip kompresi Transformasi Kosinus Diskrit pada suatu image.

Algoritma ini pertama kali dicetuskan oleh Niels Provos. Melalui Transformasi Kosinus

Diskrit, suatu image akan dibagi-bagi menjadi kelompok-kelompok pixel, umumnya

berukuran 8x8. Pada tiap-tiap kelompok ini, akan dilakukan Transformasi Kosinus

Diskrit sesuai dengan suatu bilangan tertentu, pada seluruh blok pixel. Dengan demikian,

22

image akan terkompresi dan tidak terlihat dengan mata telanjang. Prinsip inilah yang

dipakai oleh algoritma Outguess, yaitu dengan memanfaatkan nilai yang dihasilkan

Transformasi Kosinus Diskrit pada kompresi JPEG sebagai sarana untuk menyisipkan

bit-bit file.

Cara kerja algoritma Outguess bisa dijelaskan sebagai berikut:

1. Pertama-tama kita ukur besar file pesan, serta dimensi dari file cover image,

apakah cover image. Lalu kita bandingkan antara ukuran file pesan dengan ukuran

cover image, apakah file pesan tersebut dapat kita sisipkan dalam cover image.

2. Bit-bit file pesan akan disimpan, begitu juga dengan pixel-pixel dalam cover

image yang akan disimpan dalam bentuk array dua dimensi.

3. Langkah selanjutnya adalah menghasilkan suatu bilangan bulat pseudo-random.

4. Dengan menggunakan bilangan pseudo-random tersebut sebagai dasar, akan

ditentukan lokasi pixel yang bersesuaian dengan bilangan pseudo-random yang

dihasilkan.

5. Cek posisi pixel yang pernah didapatkan. Bandingkan apakah posisi pixel yang

sekarang didapat sudah pernah diambil. Jika sudah, kembali ke langkah 3. Jika

belum, lanjutkan ke langkah 6.

6. Setelah menentukan posisi pixel yang sesuai, akan dilakukan penghitungan

terhadap DC Coefficient dari pixel tersebut.

7. Jika DC Coefficient dari pixel yang dihitung bukan 0 atau 1, maka bit-bit file

pesan akan disisipkan kedalam least significant bit dari pixel tersebut. Sementara

untuk koefisien TKD bernilai 0 dan 1, tidak akan dilakukan penyisipan.

8. Posisi yang dihasilkan oleh bilangan pseudo-random tadi akan disimpan.

23

9. Apabila bit file pesan yang hendak disisipkan masih ada, lakukan kembali

langkah 2. Jika telah habis, lanjutkan ke langkah 10.

10. Seluruh posisi penyisipan bit yang telah disimpan pada langkah 8 akan disisipkan

pada bagian awal dari bit-bit stego-image yang belum mengandung bit data.

11. Pixel-pixel stego-image yang tersimpan dalam bentuk array bit-bit akan disusun

kembali berdasarkan ukuran baris dan kolom dari cover image, sehingga kembali

membentuk image, dimana didalam bit-bit pixelnya telah tersisip suatu file pesan.

[Provos, 2001 & Berna, 2004]