bab 2 landasan teori 2.1 steganografi -...

55
BAB 2 LANDASAN TEORI 2.1 Steganografi Steganografi merupakan ilmu dan seni yang mempelajari cara penyembunyian informasi pada suatu media sedemikian rupa sehingga keberadaannya tidak terdeteksi oleh pihak lain yang tidak berhak atas informasi tersebut. Pengguna pertama (pengirim pesan) dapat mengirim media yang telah disisipi informasi rahasia tersebut melalui jalur komunikasi publik, hingga dapat diterima oleh pengguna kedua (penerima pesan). Penerima pesan dapat mengekstraksi informasi rahasia yang ada di dalamnya. Penyembunyian data rahasia ke dalam media digital mengubah kualitas media tersebut. Kriteria yang harus diperhatikan dalam penyembunyian data di antaranya adalah: 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. Recovery. Data yang disembunyikan harus dapat diungkapkan kembali (recovery). karena tujuan steganografi adalah data hiding, maka sewaktu- waktu data rahasia di dalam citra penampung harus dapat diambil kembali untuk digunakan lebih lanjut.

Upload: vanhanh

Post on 21-Mar-2019

221 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

BAB 2

LANDASAN TEORI

2.1 Steganografi

Steganografi merupakan ilmu dan seni yang mempelajari cara

penyembunyian informasi pada suatu media sedemikian rupa sehingga

keberadaannya tidak terdeteksi oleh pihak lain yang tidak berhak atas informasi

tersebut. Pengguna pertama (pengirim pesan) dapat mengirim media yang telah

disisipi informasi rahasia tersebut melalui jalur komunikasi publik, hingga dapat

diterima oleh pengguna kedua (penerima pesan). Penerima pesan dapat

mengekstraksi informasi rahasia yang ada di dalamnya.

Penyembunyian data rahasia ke dalam media digital mengubah kualitas

media tersebut. Kriteria yang harus diperhatikan dalam penyembunyian data di

antaranya adalah:

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. Recovery. Data yang disembunyikan harus dapat diungkapkan kembali

(recovery). karena tujuan steganografi adalah data hiding, maka sewaktu-

waktu data rahasia di dalam citra penampung harus dapat diambil kembali

untuk digunakan lebih lanjut.

Page 2: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

8  

Gambar 2.1 Diagram Sistem Steganografi

Steganografi digital menggunakan media digital sebagai wadah

penampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia yang

disembunyikan dapat berupa berkas apapun. Media yang telah disisipi data

disebut stegomessage. Proses penyembunyian data ke dalam media disebut

penyisipan (embedding), sedangkan proses sebaliknya disebut ekstraksi. Proses

tersebut dapat dilihat pada gambar 2-2. Penambahan kunci yang bersifat opsional

dimaksudkan untuk lebih meningkatkan keamanan.

Gambar 2.2 Proses Penyisipan Dan Ekstraksi Dalam Steganografi

Page 3: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

9  

2.1.1 Sejarah Steganografi

Steganografi sudah dikenal oleh bangsa Yunani. Herodatus, penguasa

Yunani, mengirim pesan rahasia dengan menggunakan kepala budak atau prajurit

sebagai media. Dalam hal ini, rambut budak dibotaki, lalu pesan rahasia ditulis

pada kulit kepala budak. Ketika rambut budak tumbuh, budak tersebut diutus

untuk membawa pesan rahasia di balik rambutnya.

Bangsa Romawi mengenal steganografi dengan menggunakan tinta tak-

tampak (invisible ink) untuk menuliskan pesan. Tinta tersebut dibuat dari

campuran sari buah, susu, dan cuka. Jika tinta digunakan untuk menulis maka

tulisannya tidak tampak. Tulisan di atas kertas dapat dibaca dengan cara

memanaskan kertas tersebut. Saat ini di negara-negara yang melakukan

penyensoran informasi, steganografi sering digunakan untuk menyembunyikan

pesan-pesan melalui gambar, video, atau audio.

2.1.2 Metode-Metode Steganografi

Metode-metode umum yang digunakan dalam penyembunyian data ke

media adalah:

1. Metode Modifikasi LSB

Sistem Steganografi akan menyembunyikan sejumlah informasi dalam

suatu berkas dan akan mengembalikan informasi tersebut kepada pengguna yang

berhak. Terdapat dua langkah dalam sistem Steganografi yaitu proses

penyembunyian dan recovery data dari berkas penampung. Penyembunyian data

dilakukan dengan mengganti bit-bit data di dalam segmen citra dengan bit-bit

Page 4: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

10  

data rahasia. Metode yang paling sederhana adalah metode modifikasi LSB

(Least Significant Bit Modification) dari setiap sample pada audio (Cvejic &

Seppanen). Pada susunan bit di dalam sebuah byte (1 byte = 8 bit), ada bit yang

paling berarti (most significant bit atau MSB) dan bit yang paling kurang berarti

(least significant bit atau LSB).

Contoh : 1 1 0 1 0 0 1 0

Bit pada digit pertama merupakan MSB, dan bit pada digit terakhir

merupakan 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. Karena perubahan satu-dua buah bit pada beberapa pixel tidak

akan terdengar dengan jelas. Metode ini memanfaatkan keterbatasan dari sistem

indera pendengaran manusia yaitu HAS (Human Auditory System). Batas

pendengaran manusia berada pada frekuensi antara 20 Hz - 20000 Hz.

Namun metode ini memiliki keterbatasan jumlah bit pesan yang dapat

disisipkan atau disubstitusikan pada setiap byte-nya.

Ukuran Data Yang Disembunyikan

Ukuran data yang akan disembunyikan bergantung pada ukuran data

penampung. Misalkan saja pada file citra 8-bit yang berukuran 256x256 pixel

terdapat 65536 pixel, setiap pixel berukuran 1 byte. Setelah diubah menjadi citra

24-bit, ukuran data bitmap menjadi 65536 x 3 = 196608 byte. Karena setiap byte

hanya bisa menyembunyikan satu bit di LSB-nya, maka ukuran data yang akan

disembunyikan di dalam citra maksimum 196608/8 = 24576 byte. Ukuran data

ini harus dikurangi dengan panjang nama berkas, karena penyembunyian data

Page 5: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

11  

rahasia tidak hanya menyembunyikan isi data tersebut, tetapi juga nama

berkasnya. Semakin besar data disembunyikan di dalam citra, semakin besar pula

kemungkinan data tersebut rusak akibat manipulasi pada citra penampung.

Hal yang sama juga berlaku, jika file audio yang menjadi media

penampungnya. Misalkan saja ada file audio sebesar 80000 byte, maka file yang

dapat ditampung oleh file audio tersebut adalah 80000/8 = 10000 byte.

Gambar 2.3 Least Significant Bit

Sumber : Website http://www.snotmonkey.com/work/school/405/methods.html

Page 6: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

12  

Flowchart LSB

Flowchart yang ditampilkan di bawah ini merupakan flowchart dari

metode LSB standar untuk menyisipkan suatu data rahasia ke dalam data lain.

Gambar 2.4: Diagram Metode LSB

Page 7: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

13  

2. Masking and Filtering

Kedua metode ini menyembunyikan informasi dengan cara mirip dengan

penanda kertas. Hal ini dapat dilakukan, contohnya dengan memodifikasi

luminance sebagian dari citra, tetapi apabila dilakukan dengan hati-hati

distorsi baru dapat terlihat.

3. Spread Spectrum Image Steganography

Pada metode ini untuk menyandikan sebuah pesan, digunakan sebuah

pseudorandom noise generator yang lebar untuk membuat sebuah barisan

yang tersebar. Kemudian, sebuah skema modulasi digunakan untuk

memperluas sebuah barisan yang tersebar. Kemudian, sebuah skema

modulasi digunakan untuk memperluas spektrum yang sempit dari sebuah

pesan dengan barisan yang tersebar, dengan demikian menyusun sinyal yang

dibawa yang masuk ke dalam interleave dan ruang penyebar. Inner leaver

juga dapat mempergunakan kunci untuk mendikte algoritma interleaving.

Sinyal ini sekarang digabungkan dengan cover dari citra untuk menghasilkan

cintra stego, yang sudah dibagi-bagi dengan layak untuk memlihara dynamic

range awal dari cover citra. Citra stego tersebut kemudian diteruskan kepada

penerima pesan.

4. Transformations

Discrete Cosine Transformation (DCT) adalah salah satu metode

transformasi untuk mentransformasi m*n blok pixel dari sebuah citra secara

berurutan ke dalam masing-masing koefisien 64 DCT. Alat steganografi

Page 8: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

14  

dapat menggunakan LSB dari koefisien DCT yang terbagi-bagi untuk

menyembunyikan informasi.

2.1.3 Steganografi Audio

Steganografi audio merupakan cara penyembunyian pesan ke dalam suara

digital. Pesan rahasia tersebut disembunyikan dengan cara penyisipan biner-biner

pada pesan tersebut ke dalam biner audio.

2.2 Suara

2.2.1 Pengertian Suara

Suara atau bunyi adalah getaran yang disalurkan melalui medium

penghantarnya, baik padat, cair atau gas / udara. Suara yang dapat didengar oleh

manusia lebih dikenal dengan sebutan audio.

Rentang frekuensi rata – rata yang dapat ditoleransi oleh telinga manusia

adalah antara 20 Hz sampai dengan 20.000 Hz atau 20kHz, dan umumnya batas

atas akan berkurang seiring bertambahnya umur manusia. Makhluk hidup selain

manusia memiliki rentang toleransi frekuensi yang berbeda. Contoh, seekor

anjing dapat menerima frekuensi bunyi di atas 20kHz. Sebagai salah satu cara

untuk memberikan signal atau tanda, suara / bunyi telah digunakan oleh beberapa

spesies untuk hal – hal dalam kehidupan antara lain: mendeteksi bahaya,

navigasi, komunikasi, dan sebagainya. Hampir seluruh komponen di dalam bumi

yang dapat bergetar akan menghasilkan bunyi. Untuk lebih jauhnya, manusia

telah meningkatkan teknologi dan budaya, seperti musik, telepon, dan radio,

untuk mendayagunakan suara.

2.2.2 Bentuk Suara

Page 9: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

15  

Getaran mekanik yang dapat diintepretasikan sebagai suara mampu untuk

menjalar dalam berbagai medium: gas, cairan, benda padat, dan plasma. Suara

tidak dapat terdengar atau menjalar apabila tidak ada medium yang

mendukungnya. Singkat kata, suara tidak dapat terdengar di ruang vakum.

Gambar 2.5 Gelombang Longitudinal dan Transversal

Gelombang Sinusoidal dengan berbagai frekuensi; gelombang paling

bawah memiliki frekuensi yang lebih tinggi dibandingkan dengan gelombang

pada bagian atasnya.

Gelombang longitudinal yang menjalar dalam medium gas, plasma, dan

cairan disebut juga gelombang kompresi. Dengan medium benda padat, suara

dapat menjalar dalam bentuk gelombang longitudinal dan transversal.

Gelombang suara longitudinal adalah gelombang dengan deviasi tekanan

yang saling bergantian dari tekanan ekuilibrium – keadaan di mana suatu sistem

seimbang dari berbagai pengaruh di luar sistem – dan menyebabkan kompresi

dan rarefaction – keadaan di mana kepadatan suatu medium berkurang

(berkebalikan dari kompresi) – local. Dengan adanya deviasi tekanan yang

saling bergantian ini, maka bentuk dari gelombang longitudinal berupa rapatan

dan regangan seperti pegas. Sementara gelombang transversal dalam medium

padat adalah gelombang stress berlebih yang bergantian.

Page 10: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

16  

Zat dalam medium secara berkala posisinya akan diambil alih oleh

gelombang suara, dan akan terombang-ambing. Energi yang dibawa oleh

gelombang suara berubah – ubah dari energi potensial dengan kompresi

tambahan (dalam bentuk gelombang longitudinal) atau menjadi perubahan

tegangan posisi lateral (dalam bentuk gelombang transversal) dalam zat dan

energi kinetik dari ketidakseimbangan mediumnya.

2.2.3 Karakteristik Gelombang

Karakteristik dari gelombang suara dapat diketahui dari beberapa hal,

antara lain: frekuensi – banyaknya getaran yang dihasilkan sumber suara dalam

satu detik, panjang gelombang, periode – waktu yang dibutuhkan untuk

menghasilkan satu getaran, amplitudo – simpangan terbesar dari getaran yang

dihasilkan oleh sumber suara, intensitas, kelajuan – cepat rambat gelombang

suara, dan arah (terkadang kecepatan dan arah dikombinasikan sebagai kecepatan

– kelajuan dengan arah menjadi besaran vektor).

Gelombang transversal, dikenal juga sebagai shear waves, memiliki

polarisasi.

Nada atau tinggi rendahnya suara disebabkan oleh beberapa perubahan,

antara lain jarak antara titik maximal gelombangnya, yang merupakan perubahan

frekuensi. Sedangkan kekerasan suara dipengaruhi oleh amplitudonya. Semakin

besar amplitudonya, semakin keras suaranya.

2.2.4 Audio Digital

Page 11: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

17  

Audio digital berbeda dari suara analog tradisional. Audio digital

merupakan sinyal diskrit dan bukan sinyal kontinu. Sinyal diskrit diciptakan dari

sampling sinyal analog yang kontinu dengan rate tertentu. Sebagai contoh,

sampling rate pada CD audio digital pada umumnya adalah 44kHz (Artinya

dalam 1 detik ada sekitar 44000 sampel yang dimainkan).

Gambar 2.6 Proses Sampling

Bagaimanapun, sampling rate biasanya dipilih pada tingkatan di mana

hasil sinyal digital secara visual tidak berbeda dari sinyal analognya. Audio

digital disimpan pada komputer sebagai barisan 0 dan 1 dalam file audio digital.

Dengan alat bantu yang tepat, maka tiap bit dalam file dapat diubah. Pengaturan

yang tepat dapat menyebabkan perubahan bit pada file tidak dapat dibedakan

oleh telinga manusia.

2.2.4.1 Format File Audio Digital

Format dari file audio merupakan bentuk data yang digunakan untuk

menyimpan audio di dalam sistem komputer.

Pendekatan umum terhadap penyimpanan digital audio akan mencoba

voltase dari audio pada saat audio tersebut diputar kembali, agar sesuai dengan

Page 12: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

18  

posisi tertentu di selaput speaker dari saluran khusus dengan resolusi tertentu. Di

mana resolusi yang dimaksud adalah jumlah bit di setiap sample. Kemudian data

dapat disimpan, baik dikompres, maupun tidak dikompres untuk mengurangi

ukuran data dalam memori komputer.

Tipe-Tipe Format File

Penting untuk membedakan antara format file dengan codec. Codec

menunjukkan proses encoding dan decoding dari data audio yang belum diproses

atau mentah, sedangkan data audio sendiri disimpan ke dalam sebuah file dengan

sebuah data audio yang spesifik. Walaupun kebanyakan format file audio hanya

memperbolehkan sebuah audio codec, namun format file memperbolehkan

beberapa codec, seperti pada AVI.

Terdapat 3 golongan besar dalam mengelompokkan audio:

• Format audio yang tidak dikompres (uncompress) , seperti WAV, AIFF dan AU

• Format audio dengan kompresi nirrugi (lossless), seperti FLAC, Monkey's Audio

(biasa disebut APE), WavPack (disingkat WV), Shorten, Tom's lossless Audio

Kompressor (TAK), TTA, ATRAC

• Format audio dengan kompresi rugi (lossy), seperti MP3, Vorbis, Musepack,

ATRAC, lossy Windows Media Audio (WMA) and AAC.

Sebelumnya perlu diketahui perbedaan antara format file dengan codec.

1. Format audio yang tidak dikompres

2. Format audio lossless

3. Format bebas dan terbuka

4. Format terbuka

Page 13: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

19  

5. Format layak

FILE WAV

Format file audio tanpa proses kompresi yang paling sering ditemui

adalah PCM (Pulse Code Modulation), yang biasanya tersimpan dalam file .wav

di dalam Windows dan sebagai .aiff di dalam Mac OS. WAV adalah bentuk

format file yang fleksibel untuk menyimpan semua kombinasi audio baik rates

maupun bitrates. Hal ini menyebabkan format file dalam bentuk .wav sangat

layak untuk menyimpan dan mengarsipkan rekaman asli. Untuk format audio

lossless, akan dibutuhkan lebih banyak proses pada saat direkam, tetapi akan

sangat efisien dalam hal penggunaan memori. WAV, seperti halnya seluruh

format file yang tidak dikompres, akan meng-enkoding-kan semua suara, baik

suara yang kompleks maupun tanpa suara, dengan jumlah bit yang sama setiap

satuan waktunya. Contohnya: sebuah file menyimpan rekaman dari orkestra

selama satu menit akan sama besar dengan file yang menyimpan satu menit

keadaan diam tanpa suara apabila keduanya disimpan dalam bentuk format

WAV. Apabila file di encoding dengan format file lossless, maka dengan contoh

yang sama, file pertama akan menempati lebih sedikit memori sedangkan file

kedua sangat sedikit menggunakan memori. Namun bagaimanapun juga, untuk

meng-encoding file ke dalam format file lossless akan membutuhkan waktu yang

jauh lebih lama dibandingkan dengan format file yang tidak dikompres sama

sekali, yakni dalam format WAV. Dewasa ini, format audio lossless telah

mengalami perkembangan, contoh: TAK, di mana dapat menyimpan file dengan

cepat dengan kompresi yang juga baik.

Page 14: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

20  

Struktur File WAV

File WAV menggunakan struktur standar RIFF dengan mengelompokan

isi file ke dalam bagian-bagian seperti format WAV dan data digital audio. Setiap

bagian memiliki headernya sendiri-sendiri beserta dengan ukurannya.

RIFF

Struktur RIFF (Resource Interchange File Format) ini merupakan struktur

yang biasa digunakan untuk data multimedia dalam Windows. Struktur ini

mengatur data dalam file ke dalam bagian-bagian yang masing-masing memiliki

header dan ukurannya sendiri dan disebut sebagai chunk. Struktur ini

memungkinkan bagi program bila tidak mengenali bagian tertentu untuk

melompati bagian tersebut dan terus memproses bagian yang dikenal. Data dari

suatu bagian bisa memiliki sub-bagian dan seluruh data dalam file berstruktur

RIFF selalu merupakan subbagian dari suatu bagian yang memiliki header

“RIFF”. Contoh file yang menggunakan struktur RIFF adalah file WAV dan

AVI.

File Wav

Sesuai dengan struktur file RIFF, file WAV diawali dengan 4 byte yang

berisi ‘RIFF’ lalu diikuti oleh 4 byte yang menyatakan ukuran dari file tersebut

dan 4 byte lagi yang berisi ‘WAVE’ yang menyatakan bahwa file tersebut adalah

file WAV. Berikutnya adalah informasi dari format sample yang menjadi sub-

bagian dari bagian RIFF lalu diikuti sub-bagian data audionya.

Page 15: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

21  

Gambar 2.7 Struktur file WAV

Sumber http://www.sonicspot.com/guide/wavefiles.html

Bagian RIFF merupakan bagian utama dari semua file yang memakai

format RIFF.

Tabel 2.1 Detail Bagian RIFF

Isi dari 4 byte pertama adalah ‘RIFF’, 4 byte berikutnya adalah ukuran

dari bagian RIFF yang nilainya sama dengan ukuran dari file dikurangi 8 seperti

yang ada pada tabel 2.1. ‘WAVE’ menempati 4 byte berikutnya adalah ukuran

Page 16: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

22  

dari bagian RIFF yang nilainya sama dengan ukuran dari file dikurangi 8 seperti

yang ada pada tabel 2.1. ‘WAVE’ menempati 4 byte berikutnya dan digunakan

sebagai penentu jenis dari file tersebut, dalam hal ini adalah file WAV. Setelah

itu barulah informasi format dan data dari file WAV disimpan. Bagian format

sample berisi informasi-informasi mengenai bagaimana data disimpan dan

memainkannya. Bagian ini dimulai dengan ID ‘fmt ‘, lalu diikuti dengan 4 byte

yang merupakan panjang dari informasi dan bernilai 16 untuk PCM. Untuk lebih

jelasnya ada di tabel 2.2.

Tabel 2.2 Detail Bagian Sample Format

2.3 Rijndael Advanced Encryption Standard

2.3.1 Algoritma

2.3.1.1 Pengertian Algoritma

Dalam ilmu Matematika dan ilmu Komputer, algoritma adalah kumpulan

instruksi yang terdeskripsi dengan jelas isi dan urutan pengerjaannya, yang

bertujuan untuk menyelesakan suatu tugas, dengan mendefenisikan kondisi awal

dan akan berakhir pada kondisi akhir yang telah ditentukan pula. Konsep dari

algoritma, secara informal dapat digambarkan sebagai sebuah resep.

Page 17: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

23  

2.3.1.2 Sejarah Algoritma

Konsep algoritma berawal dari penggabungan urutan-urutan prosedur

untuk menyelesaikan masalah matematika, seperti mencari Greater Common

Divisor (Faktor Persekutuan Terbesar) dari dua buah bilangan. Sebagian besar

algoritma dapat diimplementasikan pada bahasa pemrograman atau setidaknya

dapat disimulasikan secara teoritis oleh program komputer.

2.3.1.3 Pseudocode

Pseudocode adalah gambaran singkat dan informal dari sebuah algoritma

pemrograman komputer yang menggunakan bentuk pemrograman struktural.

Pseudocode mengabaikan detil-detil seperti subrutin, deklarasi variabel dan

sintaks yang spesifik dari suatu bahasa pemrograman. Pseudocode dapat ditulis

dalam bahasa-bahasa pemrograman dengan sintaks yang disederhanakan,

misalnya bahasa pemrograman PASCAL, C atau BASIC.

Tujuan penggunaan pseudocode adalah untuk menyederhanakan bahasa

pemrograman menjadi bahasa manusia, sehingga memudahkan manusia untuk

membaca alur dari suatu algoritma.

Berikut adalah contoh dari sebuah pseudocode untuk pengenalan angka

genap atau angka ganjil:

1 MASUKKAN bilangan pertama

2 MASUKKAN bilangan kedua

3 JIKA bilangan pertama > bilangan kedua MAKA kerjakan

langkah 4, JIKA tidak, kerjakan langkah 5.

Page 18: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

24  

4 TAMPILKAN bilangan pertama

5 TAMPILKAN bilangan kedua

2.3.2 Kriptografi

2.3.2.1 Pengertian Kriptografi

Kriptografi, secara umum adalah ilmu dan seni untuk menjaga kerahasiaan

berita. Selain pengertian tersebut terdapat pula pengertian ilmu yang mempelajari

teknik-teknik matematika yang berhubungan dengan aspek keamanan informasi

seperti kerahasian data, keabsahan data, integritas data, serta autentikasi data.

Tidak semua aspek keamanan informasi detangani oleh kriptografi.

Kriptografi mencakup ilmu matematika dari berbagai cabang seperti

Aljabar Linear, Aljabar Modern maupun Analisis Real. Kriptografi mengandung

istilah-istilah penting yang mendasar sebagai berikut:

• Plaintext (Cleartext) merupakan data yang dapat dimengerti.

• Ciphertext, merupakan data yang tidak dapat dimengerti.

• Encryption (Encoding), merupakan proses penyamaran data, dari plaintext

menjadi ciphertext.

• Decryption (Decoding), merupakan proses untuk mengembalikan ciphertext

menjadi plaintext agar dapat dimengerti.

Key, merupakan angka atau metode yang digunakan dalam proses enkripsi

dan dekripsi.

Page 19: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

25  

Ada empat tujuan mendasar dari ilmu kriptografi yang juga merupakan

aspek kemanan informasi yaitu :

• Kerahasiaan, adalah layanan yang digunakan untuk menjaga isi

dari informasi dari siapapun kecuali yang memiliki otoritas atau

kunci rahasia untuk membuka informasi yang telah disandi.

• Integritas data, adalah berhubungan dengan penjagaan dari

perubahan data secara tidak sah. Untuk menjaga integritas data,

sistem harus memiliki kemampuan untuk mendeteksi manipulasi

data oleh pihak-pihak yang tidak berhak, antara lain penyisipan,

penghapusan, dan penyubsitusian data lain ke dalam data yang

sebenarnya.

• Autentikasi, adalah berhubungan dengan identifikasi/pengenalan,

baik secara kesatuan sistem maupun informasi itu sendiri.

• Non-repudiasi, atau nirpenyangkalan adalah usaha untuk mencegah

terjadinya penyangkalan terhadap pengiriman atau terciptanya

suatu informasi oleh yang mengirimkan/membuat.

2.3.2.2 Sejarah Kriptografi

Sejarah kriptografi dimulai ribuan tahun yang lalu. Sampai beberapa

dekade terakhir ini, sejarah kriptografi merupakan sebuah cerita yang disebut

Classic Cryptography, yang merupakan metode kriptografi yang masih

menggunakan pensil dan kertas atau mungkin bantuan mekanik sederhana.

Page 20: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

26  

Pada zaman romawi kuno, Julius Caesar menggunakan kriptografi untuk

mengirim pesan rahasia yang masih menggunakan algoritma kriptografi klasik

yaitu algoritma penggeseran atau disebut juga Shift Cipher atau Caesar

Cryptography.

Pada abad ke-20, ditemukan mesin elektronik untuk kriptografi yang lebih

kompleks, seperti Enigma Rotor Machine, dilengkapi dengan metode enkripsi

yang lebih cerdas dan berarti. Kemudian menjadi awal dari enkripsi-enkripsi

baru yang memiliki kompleksitas yang lebih besar.

2.3.2.3 Algoritma Kriptografi

Algoritma kriptografi adalah metode yang digunakan dalam kriptografi

untuk mengubah data berupa plaintext menjadi ciphertext sehingga dapat

membuat data yang ingin dikirimkan menjadi rahasia dan hanya dapat diakses

oleh user-user yang mengetahui key untuk mendekripsi ciphertext tersebut.

2.3.2.4 Pembagian Algoritma Kriptografi

Algoritma kriptografi sering juga disebut sebagai kriptosistem, dapat dibagi

dalam tiga karakteristik:

• Berdasarkan jenis operasi yang digunakan

Berdasarkan jenis operasi yang digunakan untuk mengubah plaintext

menjadi ciphertext, algoritma kriptografi dibagi menjadi dua jenis umum

antara lain substitution cipher dan transposition cipher. Semua algoritma

kriptografi selalu berlandaskan pada dua prinsip umum tersebut, proses

Page 21: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

27  

substitusi dan proses transposisi. Tetapi ada juga algoritma kriptografi yang

menggabungkan kedua konsep tersebut sekaligus.

Substitution cipher adalah algoritma kriptografi yang bertujuan untuk

mengubah plaintext tertentu menjadi ciphertext tertentu. Inti dari substitution

cipher adalah mengubah isi plaintext.

Transposition cipher adalah algoritma kriptografi yang bertujuan untuk

menggeser posisi-posisi plaintext menjadi acak. Inti dari transposition cipher

adalah mengubah posisi plaintext.

• Berdasarkan jumlah key yang digunakan

Berdasarkan jumlah key yang digunakan, algoritma kriptografi dibagi

menjadi kriptografi simetri dan kriptografi asimetri.

Kriptografi simetri adalah algoritma kriptografi yang hanya

menggunakan satu jenis key, di mana untuk proses enkripsi dan dekripsi pada

algoritma kriptografi tersebut akan menggunakan key yang sama. Oleh

karena itu pada kriptografi simetri key tersebut bersifat rahasia yang hanya

boleh diketahui oleh orang yang membuat pesan dan orang yang akan

mendapatkan pesan.

Kriptografi asimetri adalah algoritma kriptografi yang menggunakan

dua jenis key, yaitu public key dan private key. Public key pada kriptografi

asimetri adalah key pribadi yang dibagikan kepada semua orang sehingga

keberadaan public key tidak bersifat rahasia. Private key pada kriptografi

asimetri adalah key pribadi yang hanya diketahui oleh pemilik key sendiri.

Page 22: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

28  

• Berdasarkan cara plaintext diproses

Berdasarkan cara plaintext diproses, algoritma kriptografi dibagi

menjadi stream cipher dan block cipher.

Stream cipher adalah algoritma kriptografi yang memproses plaintext

dari awal hingga akhir sekaligus tanpa mempedulikan panjang plaintext itu

sendiri.

Block cipher adalah algoritma kriptografi yang hanya memproses

plaintext dengan panjang tertentu.

2.3.3 Kriptografi Simetri

2.3.3.1 Pengertian Kriptografi Simetri

Kriptografi simetri atau disebut juga single key encryption merupakan asal

mula dari kriptografi asimetri. Kriptografi simetri menggunakan key yang sama

dalam proses enkripsi dan dekripsi sehingga dapat digambarkan bahwa proses

dekripsi adalah kebalikan dari proses enkripsi dengan menggunakan key yang

sama.

Page 23: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

29  

Gambar 2.8 Kriptografi Simetri

Sumber Website http://www.antilles.k12.vi.us/math/cryptotut/1vs2key.htm 

Kriptografi simetri merupakan algoritma kriptografi yang lebih sederhana

dibandingkan dengan kriptografi asimetri, sehingga ada banyak kriptografi

simetriyang digunakan saat ini.

2.3.3.2 Advanced Encryption Standard (AES)

Advanced Encryption Standard (AES) atau dikenal juga dengan sebutan

Rijndael, adalah block cipher yang dianggap sebagai standard enkripsi oleh

pemerintah Amerika Serikat.

AES tidak sepenuhnya merupakan Rijndael, karena AES hanya mendukung

ukuran block 128 bit dan ukuran key 128, 192 dan 256 bit, sedangkan Rijndael

dapat menggunakan ukuran key dan block kelipatan 32 bit, di mulai dari 128 bit

hingga 256 bit.

Secara umum AES terdiri dari 4 langkah:

1. SubBytes, merupakan langkah substitusi non-linear di mana setiap byte

diganti sesuai dengan tabel tertentu. Pada langkah SubBytes, setiap byte pada

Page 24: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

30  

array akan diubah dengan menggunakan S-Box Rijndael. S-Box yang

digunakan, diturunkan dari invers multiplikatif terhadap GF (28), yang

diketahui mempunyai sifat non-linear.

Gambar 2.9 Langkah SubBytes Pada AES

2. ShiftRows, merupakan langkah transposisi bytet di mana masing-masing

baris byte dirotasi dengan jumlah pergeseran tertentu. Jumlah pergeseran

baris adalah 0, 1, 2 dan 3 byte untuk masing-masing baris pertama, kedua

ketiga dan keempat.

Gambar 2.10 Langkah ShiftRows Pada AES

3. MixColumns, merupakan operasi pencampuran empat byte pada masing-

masing kolom untuk menghasilkan empat byte output. Masing-masing

kolom dibuat menjadi polinom GF (28) dan kemudian dikalikan dengan

modulo dengan polinomial konstan .

Page 25: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

31  

Gambar 2.11 Langkah MixColumns Pada AES

4. AddRoundKey, mengoperasikan byte-byte input dengan round key.

Round key didapat melalui algoritma key schedule. Proses kombinasi

dilakukan dengan menggunakan operasi

Gambar 2.12 Langkah AddRoundKey Pada AES

2.3.3.3 Substitution Permutation Network (SP-Network)

Pada kriptografi, SP-Network adalah sekumpulan operasi matematika yang

digunakan dalam algoritma kriptografi block cipher seperti AES. SP-Network ini

terdiri dari S-Box dan P-Box yang mengubah block input menjadi block output.

Page 26: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

32  

Operasi-operasi pada SP-Network merupakan operasi yang dapat dilakukan

secara langsung oleh hardware, seperti operasi AND dan XOR.

S-Box mengubah bit-bit input menjadi bit-bit output. Pada S-Box yang

ideal, perubahan satu bit input dapat berakibat perubahan untuk setengah dari bit-

bit output, dan masing-masing bit output bergantung pada setiap bit input.

Pada kriptografi, S-Box adalah komponen dasar dari kriptografi simetri.

Pada block cipher, S-Box digunakan untuk membuat hubungan antara plaintext

dan ciphertext menjadi tidak jelas. S-Box biasanya dibuat dengan teliti sehingga

dapat bertahan dari cryptanalysis.

Pada umumnya, S-Box menggunakan beberapa input m, kemudian

mengubahnya menjadi beberapa bit output n (S-Box ). S-Box tersebut

diimplementasikan sebagai suatu tabel. Tabel S-Box pada kriptografi biasanya

telah ditentukan, misalnya S-Box Data Encryption Standard (DES), tetapi pada

beberapa algoritma kriptografi, S-Box dibuat secara dinamis tergantung pada key,

misalnya kriptografi Blowfish atau kriptografi Twofish.

Berikut adalah contoh S-Box dari DES (S5):

Tabel 2.3 Contoh S-Box Pada DES (S5)

Bit‐bit dalam S5 

0000  0001  0010  0011 0100 0101 0110 0111 1000 1001 1010 1011  1100  1101 1110 1111

00  0010  1100  0100  0001 0111 1100 1011 0110 1000 0101 0011 1111  1101  0000 1110 1001

01  1110  1011  0010  1100 0100 0111 1101 0001 0101 0000 1111 1100  0011  1001 1000 0110

10  0100  0010  0001  1011 1100 1101 0111 1000 1111 1001 1100 0101  0110  0011 0000 1110

Bit‐bit luar 

11  1011  1000  1100  0111 0001 1110 0010 1101 0110 1111 0000 1001  1100  0100 0101 0011

Dengan diketahui 6 bit input 011011 maka akan didapat 4 bit output 1001.

Bit-bit input dibagi menjadi 2 bit luar dan 4 bit dalam (0-1101-1), sehingga

Page 27: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

33  

menghasilkan 01 dan 1101. Output didapat dari hasil kombinasi tabel antara 01

dan 1101, yaitu 1001.

2.3.3.4 Key Schedule

Pada kriptografi, key schedule disebut juga dengan product cipher,

merupakan bagian dalam kriptografi simetri yang bertujuan untuk menghasilkan

subkey-subkey dengan mengoperasikan key pada tahap-tahap kriptografi tertentu.

Tujuan utama dari pembentukan subkey-subkey adalah untuk mempersulit

kriptoanalis untuk mendapatkan key.

Gambar 2.13 Key Schedule Pada DES

Beberapa algoritma kriptografi mempunyai key schedule yang sederhana.

Misalnya key schedule pada block cipher TEA, hanya memisahkan key 128 bit

menjadi empat buah subkey berukuran 32 bit dan menggunakan masing-masing

subkey tersebut secara bergantian pada masing-masing tahap.

Page 28: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

34  

Salah satu key schedule yang banyak digunakan adalah key schedule pada

DES. Key berukuran 56 bit pada DES dipisah menjadi dua bagian berukuran 28

bit. Masing-masing bagian dioperasikan secara terpisah, yaitu dengan

merotasikan satu atau dua bit, kemudian 48 subkey dipilih dengan menggunakan

Permutation Choice 2 (PC2). 48 subkey tersebut dihasilkan oleh masing-masing

24 bit dari 28 bit bagian kiri dan kanan.

Banyak algoritma modern menggunakan key schedule yang lebih rumit,

seperti penggunaan one-way function untuk memperluas sebuah key menjadi

subkey. Algoritma kriptografi Rijndael dan Blowfish kadang-kadang mengawali

key schedule dengan random angka.

2.3.4 Kriptografi Asimetri

Kriptografi asimetri atau sering disebut sebagai public key encryption

menggunakan dua buah key yang berbeda yaitu public key dan private key.

Public key merupakan key tanda dari user yang diketahui oleh semua orang yang

kemudian akan digunakan untuk proses enkripsi, sedangkan private key bersifat

rahasia dan merupakan key yang digunakan untuk proses dekripsi.

Pada buku “Golden Bough” karangan Sir James George Frazer, terdapat

tulisan “Every Egyptians receive two names, which were known respectively as

the true name and the good name, or the great name and the little name; and

while the good name or the little name was made public, the true name or the

great name appears to have been carefully concealed”. Tulisan tersebut adalah

asal mula ilustrasi dari kriptografi asimetri.

Page 29: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

35  

Pada kriptografi asimetri, pengirim mengenkripsi plaintext dengan

menyertakan public key penerima, dan apabila penerima sudah menerima

ciphertext, proses dekripsi dilakukan dengan menginput ciphertext yang disertai

private key penerima, yang hanya diketahui oleh penerima. Dengan demikian

data tersebut aman.

Gambar 2.14 Kriptografi Asimetri

Sumber Website http://www.antilles.k12.vi.us/math/cryptotut/1vs2key.htm

RSA adalah sebuah algoritma kriptografi untuk kriptografi asimetri atau

disebut juga public key encryption. Algoritma RSA dibuat oleh 3 orang peneliti

dari MIT (Massachussets Institute of Technology) pada tahun 1976, yaitu Ron

(R)ivest, Adi (S)hamir, dan Leonard (A)dleman. RSA merupakan algoritma

kriptografi pertama yang menggunakan konsep message-signing seiringan

dengan proses enkripsi, yang merupakan salah satu dari kelebihan besar

kriptografi asimetri. RSA banyak digunakan dalam protokol e-commerce, dan

Page 30: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

36  

dipercaya bahwa aman dengan key yang panjang dan menggunakan

implementasi terbaru.

2.4 Rijndael Advanced Encryption Standard (Rijndael AES)

Input dan output dari algoritma AES terdiri dari urutan data sebesar 128 bit.

Urutan data yang sudah terbentuk dalam satu kelompok 128 bit tersebut disebut

juga sebagai blok data atau plaintext yang nantinya akan dienkripsi menjadi

ciphertext. Cipher key dari AES terdiri dari key dengan panjang 128 bit, 192 bit,

atau 256 bit.

Pengantar Matematis

Seluruh byte dalam algoritma AES diinterpretasikan sebagai elemen finite

field. Elemen finite field ini dapat dikalikan dan dijumlahkan, tetapi hasil dari

penjumlahan dan perkalian elemen finite field sangat berbeda dengan hasil dari

penjumlahan dan perkalian bilangan biasa.

1. Penjumlahan

Penjumlahan dari dua elemen dalam suatu finite field dilakukan dengan

menjumlahkan koefisien dari pangkat polinom yang bersesuaian dari dua elemen

tersebut. Penjumlahan dilakukan dengan operasi XOR dan dinotasikan dengan

⊕ . Dengan operasi ini, maka 1⊕ 1 = 0, 1⊕ 0 = 1, 0⊕ 1 = 1, dan 0⊕ 0 = 0.

Pengurangan dari polinomial identik dengan penjumlahan polinomial.

Sebagai alternatif, penjumlahan elemen-elemen pada finite field dapat

dijelaskan sebagai penjumlahan modulo 2 dari bit yang bersesuaian dalam byte.

Untuk 2 byte {a7a6a5a4a3a2a1a0} dan {b7b6b5b4b3b2b1b0}, hasil penjumlahannya

Page 31: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

37  

adalah {c7c6c5c4c3c2c1c0} di mana setiap ci = ai⊕ bi. Contoh dari operasi

penjumlahan adalah sebagai berikut :

(x6+x4+x2+x+1)⊕ (x7+x+1) = x7+x6+x4+x2 (notasi polinomial)

{01010111}⊕ {10000011} = {11010100} (notasi biner)

{57}⊕ {83} = {d4} (notasi hexadesimal)

2. Perkalian

Dalam representasi polinomial, perkalian dalam GF(28) yang dinotasikan

dengan mengacu pada perkalian modulo polinomial sebuah irreducible

polynomial yang berderajat 8. Sebuah polinom bersifat irreducible jika satu-

satunya pembagi adalah dirinya sendiri dan 1. Untuk algoritma AES, irreducible

polynomial ini adalah :

m(x) = x8 + x4 + x3 + x + 1

atau dalam notasi hexadesimal adalah {01}{1b}. Sebagai contoh,

{57}•{83} = {c1}

, karena

(x6 + x4 + x2 + x + 1) • (x7 + x + 1) = x13 + x11 + x9 + x8 + x7 +

x7 + x5 + x3 + x2 + x +

x6 + x4 + x2 + x + 1

= x13 + x11 + x9 + x8 + x6 + x5+

x4 + x3 + 1

dan

x13 + x11 + x9 + x8 + x6 + x5 + x4 + x3 + 1 modulo (x8 + x4 + x3 + x + 1)

Page 32: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

38  

= x7 + x6 + 1

Pengurangan modular oleh m(x) memastikan bahwa hasilnya akan berupa

polinomial biner dengan derajat kurang dari 8, sehingga dapat dipresentasikan

dengan 1 byte saja.Urutan bit diberi nomor urut dari 0 sampai dengan n-1 di

mana n adalah nomor urutan. Urutan data 8 bit secara berurutan disebut sebagai

byte di mana byte ini adalah unit dasar dari operasi yang akan dilakukan pada

blok data.

Dalam algoritma AES, data sepanjang 128 bit akan dibagi-bagi menjadi

array byte di mana setiap array byte ini terdiri dari 8 bit data input yang saling

berurutan. Array byte ini direpresentasikan dalam bentuk

Urutan bit input  0  

 1 

 2 

 3 

 4 

 5 

 6 

 7 

 8 

 9 

 10 

 11 

 12 

 13 

 14 

 15  ... 

Nomor Byte  0 

 1  ... 

Nomor Bit pada Byte  7 

 6 

 5 

 4 

 3 

 2 

 1 

 0 

 7  

 6  

 5 

 4  

 3 

 2  

 1 

 0  ... 

 :a0a1a2...a15

Di mana:

a0 = { input0, input1,..., input7 }

a1 = { input8, input9,..., input15 }

a15 = { input120, input121,..., input127 }

an = { input8n, input8n+1,..., input8n+7 }

Operasi algoritma AES dilakukan pada sebuah state di mana state sendiri

adalah sebuah array byte dua dimensi. Setiap state pasti mempunyai jumlah baris

yang tetap, yaitu 4 baris, sedangkan jumlah kolom tergantung dari besarnya blok

data. Baris pada state mempunyai indeks nomor row (r) di mana 0 ≤ r < 4,

Page 33: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

39  

sedangkan kolom mempunyai indeks nomor column (c) di mana 0 ≤ c < Nb. Nb

sendiri adalah besarnya blok data dibagi 32.

Pada saat permulaan, input bit pertama kali akan disusun menjadi suatu

array byte di mana panjang dari array byte yang digunakan pada AES adalah

sepanjang 8 bit data. Array byte inilah yang nantinya akan dimasukkan atau

dikopi ke dalam state dengan urutan :

s[r,c] = in[r+4c] untuk 0 ≤ r < 4 dan 0 ≤ c < Nb

Sedangkan dari state akan dikopi ke output dengan urutan :

out[r+4c] = s[r,c] untuk 0 ≤ r < 4 dan 0 ≤ c < Nb

 

 

Gambar 2.15 Byte Input, Array State, dan Byte Output

Page 34: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

40  

Penyandian Blok

Penyandian blok pada dasarnya adalah proses penyandian terhadap blok

data yang jumlahnya sudah ditentukan. Untuk sistem penyandian blok terdapat

empat jenis mode operasi, yaitu Electronic Code Book (ECB), Cipher Block

Chaining (CBC), Cipher Feedback (CFB), Output Feedback (OFB).

Electronic Code Book (ECB)

Mode ECB adalah mode yang paling umum dan paling mudah untuk

diimplementasikan. Cara yang digunakan adalah dengan membagi data ke dalam

blok-blok data terlebih dahulu yang besarnya sudah ditentukan. Blok-blok data

inilah yang disebut plaintext karena blok data ini belum disandikan. Proses

enkripsi akan langsung mengolah plaintext menjadi ciphertext tanpa melakukan

operasi tambahan. Suatu blok plaintext yang dienkripsi dengan menggunakan

kunci yang sama akan menghasilkan ciphertext yang sama.

 

Gambar 2.16 Mode Operasi ECB

Page 35: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

41  

Keuntungan dari mode OBC ini adalah kemudahan dalam implementasi

dan pengurangan resiko salahnya semua plaintext akibat kesalahan pada satu

plaintext. Namun mode ini memiliki kelemahan pada aspek keamanannya.

Dengan mengetahui pasangan plaintext dan ciphertext, seorang kriptanalis dapat

menyusun suatu code book tanpa perlu mengetahui kuncinya.

Cipher Block Chaining (CBC)

Pada CBC digunakan operasi umpan balik atau dikenal dengan operasi

berantai (chaining). Pada CBC, hasil enkripsi dari blok sebelumnya adalah

feedback untuk enkripsi dan dekripsi pada blok berikutnya. Dengan kata lain,

setiap blok ciphertext dipakai untuk memodifikasi proses enkripsi dan dekripsi

pada blok berikutnya.

 

Gambar 2.17 Mode Operasi CBC

Pada CBC diperlukan data acak sebagai blok pertama. Blok data acak ini

sering disebut initialization vector atau IV. IV digunakan hanya untuk membuat

Page 36: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

42  

suatu pesan menjadi unik dan IV tidak mempunyai arti yang penting sehingga IV

tidak perlu dirahasiakan.

Cipher Feedback (CFB)

Pada mode CBC, proses enkripsi atau dekripsi tidak dapat dilakukan

sebelum blok data yang diterima lengkap terlebih dahulu. Masalah ini diatasi

pada mode Cipher Feedback (CFB). Pada mode CFB, data dapat dienkripsi pada

unit-unit yang lebih kecil atau sama dengan ukuran satu blok. Misalkan pada

CFB 8 bit, maka data akan diproses tiap 8 bit.

Gambar 2.18 Mode Operasi CFB

Pada permulaan proses enkripsi, IV akan dimasukkan dalam suatu register

geser. IV ini akan dienkripsi dengan menggunakan kunci yang sudah ada. Dari

hasil enkripsi tersebut, akan diambil 8 bit paling kiri atau Most Significant Bit

untuk di-XOR dengan 8 bit dari plaintext. Hasil operasi XOR inilah yang akan

menjadi ciphertext di mana ciphertext ini tidak hanya dikirim untuk

ditransmisikan tetapi juga dikirim sebagai feedback ke dalam register geser

untuk dilakukan proses enkripsi untuk 8 bit berikutnya.

Page 37: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

43  

Output Feedback (OFB)

Sama pada mode CFB, mode OFB juga memerlukan sebuah register geser

dalam pengoperasiannya. Pertama kali, IV akan masuk ke dalam register geser

dan dilakukan enkripsi terhadap IV tersebut. Dari hasil proses enkripsi tersebut

akan diambil 8 bit paling kiri untuk dilakukan XOR dengan plaintext yang

nantinya akan menghasilkan ciphertext. Ciphertext tidak akan diumpan balik ke

dalam register geser, tetapi yang akan diumpan balik adalah hasil dari enkripsi

IV.

Gambar 2.19 Mode Operasi OFB

2.4.1 Algoritma Rijndael AES

Pada algoritma AES, jumlah blok input, blok output, dan state adalah 128

bit. Dengan besar data 128 bit, berarti Nb = 4 yang menunjukkan panjang data

tiap baris adalah 4 byte. Dengan panjang kunci 128-bit, maka terdapat sebanyak

3,4 × 1038 = 2128 kemungkinan kunci. Jika komputer tercepat dapat mencoba

1 juta kunci setiap detik, maka akan dibutuhkan waktu 5,4 × 1024 tahun untuk

mencoba seluruh kunci. Jika tercepat yang dapat mencoba 1 juta kunci setiap

Page 38: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

44  

milidetik, maka dibutuhkan waktu 5,4 × 1018 tahun untuk mencoba seluruh

kunci.

Dengan blok input atau blok data sebesar 128 bit, key yang digunakan

pada algoritma AES tidak harus mempunyai besar yang sama dengan blok input.

Cipher key pada algoritma AES bisa menggunakan kunci dengan panjang 128 bit,

192 bit, atau 256 bit. Perbedaan panjang kunci akan mempengaruhi jumlah round

yang akan diimplementasikan pada algoritma AES ini. Di bawah ini adalah

Tabel yang memperlihatkan jumlah round (Nr) yang harus diimplementasikan

pada masing-masing panjang kunci. Tidak seperti DES yang berorientasi bit,

Rijndael beroperasi dalam orientasi byte. Setiap putaran mengunakan kunci

internal yang berbeda (disebut round key). Enciphering melibatkan operasi

substitusi dan permutasi.

2.4.1.1 Ekspansi Kunci

Algoritma AES mengambil kunci cipher, K, dan melakukan rutin ekspansi

kunci (key expansion) untuk membentuk key schedule. Ekspansi kunci

menghasilkan total Nb(Nr+1) word. Algoritma ini membutuhkan set awal key

yang terdiri dari Nb word, dan setiap round Nr membutuhkan data kunci

sebanyak Nb word. Hasil key schedule terdiri dari array 4 byte word linear yang

dinotasikan dengan [wi]. SubWord adalah fungsi yang mengambil 4 byte word

input dan mengaplikasikan S-Box ke tiap-tiap data 4 byte untuk menghasilkan

word output. Fungsi RotWord mengambil word [a0, a1, a2, a3] sebagai input,

melakukan permutasi siklik, dan mengembalikan word [a1, a2, a3, a0]. Rcon[i]

terdiri dari nilai-nilai yang diberikan oleh [xi-1, {00}, {00}, {00}], dengan xi-1

Page 39: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

45  

sebagai pangkat dari x (x dinotasikan sebagai {02} dalam field GF(28). Word ke

Nk pertama pada ekspansi kunci berisi kunci cipher. Setiap word berikutnya,

w[i], sama dengan XOR dari word sebelumnya, w[i-1] dan word Nk yang ada

pada posisi sebelumnya, w[i-Nk]. Untuk word pada posisi yang merupakan

kelipatan Nk, sebuah transformasi diaplikasikan pada w[i-1] sebelum XOR, lalu

dilanjutkan oleh XOR dengan konstanta round, Rcon[i]. Transformasi ini terdiri

dari pergeseran siklik dari byte data dalam suatu word RotWord, lalu diikuti

aplikasi dari lookup Table untuk semua 4 byte data dari word SubWord.

2.4.1.2 Enkripsi

Proses enkripsi pada algoritma AES terdiri dari 4 jenis transformasi bytes,

yaitu SubBytes, ShiftRows, MixColumns, dan AddRoundKey. Pada awal proses

enkripsi, input yang telah dikopikan ke dalam state akan mengalami transformasi

byte AddRoundKey. Setelah itu, state akan mengalami transformasi SubBytes,

ShiftRows, MixColumns, dan AddRoundKey secara berulang-ulang sebanyak Nr.

Proses ini dalam algoritma AES disebut sebagai round function. Round yang

terakhir agak berbeda dengan round-round sebelumnya di mana pada round

terakhir, state tidak mengalami transformasi MixColumns.  

Page 40: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

46  

 

Gambar 2.20 Diagram Algoritma Rijndael AES

1 SubBytes

SubBytes merupakan transformasi byte di mana setiap elemen pada state

akan dipetakan dengan menggunakan sebuah tabel substitusi (S-Box). Hasil yang

didapat dari pemetaan dengan menggunakan tabel S-Box ini sebenarnya adalah

hasil dari dua proses transformasi bytes, yaitu :

1. Invers perkalian dalam GF(28) adalah fungsi yang memetakan 8 bit ke 8 bit

yang merupakan invers dari elemen finite field tersebut. Suatu byte a

merupakan invers perkalian dari byte b bila a•b = 1, kecuali {00} dipetakan

ke dirinya sendiri. Setiap elemen pada state akan dipetakan pada tabel invers.

Sebagai contoh, elemen “01010011” atau {53} akan dipetakan ke {CA} atau

“11001010”.

Page 41: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

47  

2. Transformasi affine pada state yang telah dipetakan. Transformasi affine ini

apabila dipetakan dalam bentuk matriks adalah sebagai berikut :

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

+

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

×

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

01100011

1111100001111100001111100001111110001111110001111110001111110001

7

6

5

4

3

2

1

0

'7

'6

'5

'4

'3

'2

'1

'0

bbbbbbbb

bbbbbbbb

b7 b6 b5 b4 b3 b2 b1 b0 adalah urutan bit dalam elemen state atau array byte

di mana b7 adalah most significant bit atau bit dengan posisi paling kiri.

Gambar 2.21 SubBytes()

Page 42: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

48  

Tabel 2.4 Substitusi (S-Box)

2 ShiftRows

Transformasi ShiftRows pada dasarnya adalah proses pergeseran bit di

mana bit paling kiri akan dipindahkan menjadi bit paling kanan (rotasi bit).

Transformasi ini diterapkan pada baris 2, baris 3, dan baris 4. Baris 2 akan

mengalami pergeseran bit sebanyak satu kali, sedangkan baris 3 dan baris 4

masing-masing mengalami pergeseran bit sebanyak dua kali dan tiga kali.

Gambar 2.22 Transformasi ShiftRows()

Page 43: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

49  

3 MixColumns

MixColumns mengoperasikan setiap elemen yang berada dalam satu kolom

pada state. Elemen pada kolom dikalikan dengan suatu polinomial tetap a(x) =

{03}x3 + {01}x2 + {01}x + {02}. Secara lebih jelas, transformasi MixColumns

dapat dilihat pada perkalian matriks berikut ini :

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

⎥⎥⎥⎥

⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

c

c

c

c

c

c

c

c

ssss

ssss

,3

,2

,1

,0

',3

',2

',1

',0

02010103030201010103020101010302

Melakukan proses penambahan pada operasi ini berarti melakukan operasi

bitwise XOR. Maka hasil dari perkalian matriks diatas dapat dianggap seperti

perkalian yang ada di bawah ini :

)}02({)}03({

)}03({)}02({

)}03({)}02({

)}03({)}02({

,3,2,1,0',3

,3,2,1,0',2

,3,2,1,0',1

,3,2,1,',0

ccccc

ccccc

ccccc

ccccoc

sssss

sssss

sssss

sssss

•⊕⊕⊕•=

•⊕•⊕⊕=

⊕•⊕•⊕=

⊕⊕•⊕•=

Gambar 2.23 MixColumns()

Page 44: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

50  

4 AddRoundKey

Pada proses AddRoundKey, sebuah round key ditambahkan pada state

dengan operasi bitwise XOR. Setiap round key terdiri dari Nb word di mana tiap

word tersebut akan dijumlahkan dengan word atau kolom yang bersesuaian dari

state sehingga :

[ ] [ ] [ ] Nbcwssssssss cNbroundcccccccc 0 untuk ≤≤⊕= +*,3,2,1,0',3

',2

',1

',0 ,,,,,,

[wi] adalah word dari key yang bersesuaian di mana i = round*Nb+c.

Transformasi AddRoundKey diimplementasikan pertama kali pada round = 0, di

mana key yang digunakan adalah initial key (key yang dimasukkan oleh

kriptografer dan belum mengalami proses key expansion).

Gambar 2.24 AddRoundKey()

2.4.1.3 Dekripsi

Transformasi cipher dapat dibalikkan dan diimplementasikan dalam arah

yang berlawanan untuk menghasilkan Inverse cipher yang mudah dipahami

Page 45: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

51  

untuk algoritma AES. Transformasi byte yang digunakan pada invers cipher

adalah InvShiftRows, InvSubBytes, InvMixColumns, dan AddRoundKey.

Algoritma dekripsi dapat dilihat pada skema berikut ini :

 

Gambar 2.25 Diagram Alir Proses Dekripsi

1 InvShiftRows

InvShiftRows adalah transformasi byte yang berkebalikan dengan

transformasi ShiftRows. Pada transformasi InvShiftRows, dilakukan pergeseran

bit ke kanan sedangkan pada ShiftRows dilakukan pergeseran bit ke kiri. Pada

baris kedua, pergeseran bit dilakukan sebanyak 3 kali, sedangkan pada baris

ketiga dan baris keempat, dilakukan pergeseran bit sebanyak dua kali dan satu

kali.

Page 46: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

52  

Gambar 2.26 Transformasi InvShiftRows()

2 InvSubBytes

InvSubBytes juga merupakan transformasi bytes yang berkebalikan dengan

transformasi SubBytes. Pada InvSubBytes, tiap elemen pada state dipetakan

dengan menggunakan Tabel Inverse S-Box. Tabel ini berbeda dengan tabel S-Box

di mana hasil yang didapat dari Tabel ini adalah hasil dari dua proses yang

berbeda urutannya (Tabel 2.5 : Inverse S-box), yaitu transformasi affine terlebih

dahulu, baru kemudian perkalian invers dalam GF(28).

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

+

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

×

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢

10100000

0010010110010010010010011010010001010010001010011001010001001010

0

1

2

3

4

5

6

7

'0

'1

'2

'3

'4

'5

'6

'7

bbbbbbbb

bbbbbbbb

Perkalian invers yang dilakukan pada transformasi InvSubBytes ini sama

dengan erkalian invers yang dilakukan pada transformasi SubBytes.

Page 47: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

53  

Tabel 2.5 Inverse S-box

3 InvMixColumns

Pada InvMixColumns, kolom-kolom pada tiap state (word) akan dipandang

sebagai polinom atas GF(28) dan mengalikan modulo x4 + 1 dengan polinom

tetap a-1(x) yang diperoleh dari :

a-1(x)= {0B}x3 + {0D}x2 + {09}x + {0E}.

Atau dalam matriks :

)()()(' xsxaxs ⊗=

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

⎥⎥⎥⎥

⎢⎢⎢⎢

=

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

c

c

c

c

c

c

c

c

ssss

EDBBEDDBE

DBE

ssss

,3

,2

,1

,0

',3

',2

',1

',0

00900000900000909000

Page 48: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

54  

Hasil dari perkalian diatas adalah :

)}0({)}09({)}0({)}0({

)}0({)}0({)}09({)}0({

)}0({)}0({)}0({)}09({

)}09({)}0({)}0({)}0({

,3,2,1,',3

,3,2,1,',2

,3,2,1,',1

,3,2,1,',0

ccccoc

ccccoc

ccccoc

ccccoc

sEssDsBs

sBsEssDs

sDsBsEss

ssDsBsEs

•⊕•⊕•⊕•=

•⊕•⊕•⊕•=

•⊕•⊕•⊕•=

•⊕•⊕•⊕•=

4 InvAddRoundKey

Transformasi InvAddRoundKey tidak mempunyai perbedaan dengan

transformasi AddRoundKey karena pada transformasi ini hanya dilakukan operasi

penambahan sederhana dengan menggunakan operasi bitwise XOR.

2.5 Software Development Life Cycle

Menurut Turban, et. al. (2001, p477-486), Software Development Life Cycle

(SDLC) adalah kerangka terstruktur yang terdiri dari beberapa proses yang berurutan

yang diperlukan untuk membangun suatu sistem informasi. Pendekatan waterfall

digunakan untuk menggambarkan SDLC.

SDLC dirancang dengan tujuan untuk membangun alur pemrograman yang

terstruktur dan untuk membantu manajemen proyek dalam perhitungan estimasi

waktu dan sumber yang dibutuhkan suatu proyek.

Page 49: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

55  

Gambar 2.27 Eight Stage SDLC

Sumber: Turban, et. al. (2001, p. 477)

Tahap-tahap SDLC adalah sebagai berikut:

1. System Investigation

System Investigation adalah tahap yang mengutamakan pembelajaran

terhadap segala kemungkinan yang dapat terjadi. Dengan pembelajaran maka

suatu sistem dapat terhindar dari kesalahan yang dapat mengakibatkan

peningkatan usaha, waktu dan jumlah pengeluaran.

2. System Analysis

System Analysis adalah tahap yang menganalisis masalah yang perlu

diselesaikan. Tahap ini mendefinisikan permasalahan, mengidentifikasikan

penyebab, menspesifikasikan solusi, serta mengidentifikasikan informasi-

informasi yang diperlukan.

3. System Design

Page 50: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

56  

System Design adalah tahap yang menjelaskan bagaimana suatu sistem

akan bekerja. Hasil dari tahap ini adalah output, input dan user interface dari

sistem serta hardware, software, database dan prosedur.

4. Programming

Programming adalah tahap yang menerjemahkan spesifikasi desain sistem

menjadi bahasa pemrograman yang dapat dimengerti oleh komputer.

5. Testing

Testing adalah tahap yang digunakan untuk memeriksa apakah

pemrograman telah menghasilkan hasil yang diinginkan dan diharapkan atas

situasi tertentu. Testing dirancang untuk mendeteksi adanya kesalahan coding.

6. Implementation

Implementation adalah proses perubahan dari penggunaan sistem lama

menjadi sistem yang baru.

7. Operation and Maintenance

Operation and Maintenance adalah tahap untuk memelihara sistem baru

yang akan dioperasikan dalam suatu periode waktu.

2.6 Unified Modelling Language

Unified Modelling Language (UML) adalah bahasa grafis yang standar untuk

memodelkan software object oriented (Lethbridge, 2002, p.151). UML mengandung

tipe diagram yang bervariasi, termasuk:

1. Class Diagram

2. Sequence Diagram

2.6.1 Class Diagram

Page 51: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

57  

Class diagram adalah salah satu diagram struktur statis yang menunjukkan

struktur dari sistem dengan menunjukkan class-class yang ada pada sistem,

attribute dan method class-class tersebut dan hubungan antar class. Hubungan

class terdiri dari link, association, aggregation dan composition.

Gambar 2.28 Notasi Class

Sumber: Lethbridge (2002, p.439)

Gambar 2.29 Hubungan Class Pada Class Diagram

Link adalah hubungan dasar antar objek yang menggambarkan garis

penghubung antara dua atau lebih class. Link merupakan bagian dari association.

Association menggambarkan kumpulan link yang saling berhubungan.

Binary Association (dengan dua titik akhir) biasanya digambarkan sebagai

sebuah garis, dimana masing-masing titik akhir dihubungkan dengan sebuah

class. Association memiliki dua atau lebih titik akhir.

Page 52: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

58  

Gambar 2.30 Hubungan Association Pada Class Diagram

Aggregation adalah lambang dari “memiliki sebuah” atau hubungan

association, tetapi aggregation lebih spesifik daripada association. Meskipun

aggregation merupakan perluasan association, hubungan aggregation hanya

dapat melibatkan dua class.

Aggregation terjadi bila suatu class mengandung satu atau lebih objek dari

class lain, tetapi class yang dikandung tidak memiliki life cycle dependency

dengan class yang mengandung.

Gambar 2.31 Hubungan Aggregation Pada Class Diagram

Composition merupakan hubungan aggregation di mana class yang

dikandung telah memiliki life cycle dependency dengan class yang mengandung.

Gambar 2.32 Hubungan Composition Pada Class Diagram

Page 53: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

59  

2.6.2 Sequence Diagram

Menurut Lethbridge (2002, p270), sequence diagram adalah diagram yang

menunjukkan urutan proses dan penukaran pesan oleh sejumlah objek (dan

seorang aktor yang optional) dalam melakukan tugas tertentu. Sequence diagram

menggambarkan skenario runtime sederhana secara grafis.

Gambar 2.33 Notasi Object, Lifetime dan Activation

Sumber: Lethbridge (2002, p.440)

Gambar 2.34 Contoh Sequence Diagram

Page 54: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

60  

2.7 State Transition Diagram

2.7.1 Pengertian STD

STD merupakan suatu modeling tool yang menggambarkan sifat

ketergantungan sistem. Pada mulanya hanya digunakan untuk menggambarkan

suatu sistem yang memiliki sifat real time seperti proses control, telephone

switching system, dan control system.

2.7.2 Simbol dan Sifat STD

State adalah kumpulan keadaan dan atribut yang mencirikan objek pada

waktu atau kondisi tertentu. Disimbolkan dengan segi empat.

Gambar 2.35 Notasi State

Transition adalah simbol perpindahan keaktifan dari sebuah objek menjadi

objek lain. Transition disimbolkan dengan anak panah.

Gambar 2.36 Notasi Transition

Condition adalah suatu keadaan pada lingkungan eksternal yang dapat

dideteksi oleh sitem. Condition menggambarkan syarat yang biasanya digunakan

dalam hubungan seleksi. Action adalah yang dilakukan sistem bila terjadi

Page 55: BAB 2 LANDASAN TEORI 2.1 Steganografi - thesis.binus.ac.idthesis.binus.ac.id/doc/Bab2/2009-1-00398-MTIF Bab 2.pdfpenampung, misalnya citra, audio, teks, dan video. Sedangkan data rahasia

61  

perubahan state atau merupakan reaksi terhadap kondisi. Aksi akan

menghasilkan keluaran atau output. Display adalah hasil yang merupakan STD.

2.8 User Interface Design

User Interface (UI) Design adalah perancangan tampilan antarmuka yang

bersifat visual dari suatu aplikasi agar aplikasi tersebut dapat berinteraksi dengan

baik dengan user dan dapat digunakan dengan maksimal.

Proses perancangan UI harus mengandung arti dari unsur-unsur visual yang

seimbang, yang dapat memodelkan inti dari operasi aplikasi yang akan dijalankan.

Selain itu perancangan UI yang baik juga harus dapat membuat aplikasi hingga

mudah digunakan dan dapat disesuaikan dengan kebutuhan masing-masing user.

Dalam perancangan UI, terdapat delapan aturan emas yang mendukung

sebuah perancangan UI yang baik. Delapan aturan emas, yang dijabarkan oleh Ben

Scneiderman, tersebut antara lain:

1. Usaha untuk konsistensi dalam tampilan.

2. Memungkinkan user yang rutin untuk menggunakan shortcut.

3. Memberikan umpan balik yang informatif.

4. Memunculkan dialog box pada penutupan.

5. Mempunyai error-handling sederhana.

6. Memungkinkan user untuk membatalkan tindakan.

7. Mendukung komponen dan control.

8. Mengurangi penggunaan memori jangka pendek.