BAB 2 LANDASAN TEORI 2.1 Steganography -...

Click here to load reader

  • date post

    15-Mar-2019
  • Category

    Documents

  • view

    213
  • download

    0

Embed Size (px)

Transcript of BAB 2 LANDASAN TEORI 2.1 Steganography -...

BAB 2

LANDASAN TEORI

2.1 Steganography

2.1.1 Pengertian Dasar Steganography

Steganography adalah ilmu dan seni menulis atau menyembunyikan pesan ke

dalam sebuah media sedemikian rupa sehingga keberadaan pesan tidak diketahui atau

tidak disadari oleh orang selain pengirim dan penerima pesan tersebut. Kata

steganography berasal dari bahasa Yunani, yaitu "steganos" yang berarti tersembunyi

atau terselubung dan "graphein" yang berarti menulis.

Steganography membutuhkan dua aspek yaitu media penyimpan dan informasi

rahasia yang akan disembunyikan. Metode steganography sangat berguna jika

digunakan pada steganography komputer karena banyak format file digital yang dapat

dijadikan media untuk menyembunyikan pesan. Steganography digital menggunakan

media digital sebagai wadah penampung, misalnya teks, citra, suara, dan video. Data

rahasia yang disembunyikan juga dapat berupa teks, citra, suara, atau video.

Steganography memanfaatkan kekurangan-kekurangan sistem indera manusia

seperti mata (Human Visual System) dan telinga (Human Auditory System), sehingga

tidak diketahui kehadirannya oleh indera manusia (indera penglihatan atau indera

pendengaran) dan mampu menghadapi proses-proses pengolahan sinyal digital dengan

tidak merusak kualitas data yang telah disisipi sampai pada tahap tertentu.

Terdapat tiga aspek yang perlu diperhatikan dalam menyembunyikan pesan:

kapasitas, keamanan, dan ketahanan. Kapasitas merujuk kepada besarnya informasi yang

dapat disembunyikan oleh media, keamanan merujuk kepada ketidakmampuan pihak

9

lain untuk mendeteksi keberadaan informasi yang disembunyikan, dan ketahanan

merujuk kepada sejauh mana medium steganography dapat bertahan sebelum pihak lain

menghancurkan informasi yang disembunyikan.

2.1.2 Sejarah Steganography

Teknik steganography telah dikenal oleh manusia sejak jaman Romawi Kuno

dan Yunani Kuno. Seorang sejarahwan Yunani bernama Herodotus pertama kali

mencatatkan tentang steganography. Ketika Histaeus, seorang raja Yunani yang kejam

dipenjarakan oleh Raja Darius di Susa pada abad ke-5 SM, Histaeus mengirim pesan

rahasia kepada anak lelakinya, Aristagoras di Militus. Histaeus menulis pesan tersebut

dengan menggunakan media kepala seorang budak. Histaeus membotaki rambut budak

tersebut, kemudian pesan rahasia ditato pada kulit kepala budak. Ketika rambut budak

mulai tumbuh, Histaeus mengutus budak tersebut ke Militus untuk mengirimkan pesan

rahasia yang terdapat pada kepala budak tersebut ke anak lelakinya.

Selain metode tersebut, ada pula metode dengan menggunakan lilin. Caranya

pesan dituliskan di bawah kayu, kemudian kayu tersebut dilapis dengan lilin.

Bangsa Romawi mengenal teknik steganography lain yaitu dengan

menggunakan tinta yang tak-tampak (invisible ink) untuk menuliskan pesan rahasia.

Tinta tersebut dibuat dari campuran sari buah-buahan, susu, dan cuka. Ketika tinta

digunakan untuk menulis maka tulisannya tidak tampak. Untuk dapat membaca pesan

yang ditulis dengan menggunakan tinta tak-tampak tersebut, kertas berisi pesan rahasia

tersebut harus dipanaskan dan pesan rahasia akan perlahan-lahan tampak jelas.

Bangsa Jerman mengembangkan sebuah teknik yang disebut dengan microdot.

Microdot merupakan foto dengan ukuran kecil. Microdot dicetak pada sebuah surat atau

10

pada amplop dan menjadi sangat kecil sehingga seringkali tidak disadari. Catatan sejarah

juga menyebutkan bahwa steganography juga turut berperan dalam pengirim pesan saat

perang dunia kedua.

Kata steganography pertama kali digunakan pada tahun 1499 oleh Johannes

Tritemius dalam bukunya, Steganographia.

2.1.3 Steganography dan Cryptography

Steganography dan cryptography berkaitan erat, namun keduanya merupakan hal

yang berbeda. Steganography dapat dipandang sebagai kelanjutan cryptography.

Cryptography adalah ilmu dan seni untuk memproteksi keamanan pesan rahasia

yang dikirim dari suatu tempat ke tempat yang lain dengan mengacaukan atau

menyandikan pesan rahasia menjadi tidak terbaca dan tidak dapat dimengerti. Dengan

cryptography, keamanan data seperti integritas data, keaslian entitas, dan keaslian data

terjamin. Namun, pada cryptography pesan rahasia terlihat sehingga mengundang pihak

ketiga memecahkan pesan rahasia tersebut walaupun membutuhkan waktu.

Maka kelebihan steganography daripada cryptography adalah pesan rahasia

tidak terlihat sehingga tidak menarik perhatian pihak ketiga. Atau lebih jelasnya, pada

cryptography data yang telah disandikan (ciphertext) tetap tersedia; sedangkan pada

steganography, ciphertext disembunyikan sehingga pihak ketiga tidak mengetahui

keberadaannya. Pesan-pesan berkode dalam cryptography yang telah dienkripsi akan

menimbulkan kecurigaan, walaupun tidak dapat dipecahkan, sedangkan sebuah pesan

rahasia yang tidak tampak tentunya tidak akan dicurigai.

Antara cryptography dan steganography juga terdapat persamaan yaitu kualitas

cryptography bergantung pada sebuah kunci, demikian pula dengan steganography.

11

Menemukan pesan rahasia baik yang disembunyikan melalui steganography ataupun

dienkripsi menggunakan cryptography hanya mungkin terjadi jika mengetahui kunci

yang tepat.

Steganography dan cryptography digunakan secara bersamaan untuk

menghasilkan perlindungan yang lebih baik terhadap sebuah pesan, yaitu ketika

steganography gagal dan pesan dapat terlihat, pesan tersebut masih tidak dapat diartikan

karena telah dienkripsi menggunakan teknik-teknik cryptography. Caranya, sebuah

pesan steganography (plaintext), biasanya pertama-tama dienkripsikan dengan beberapa

arti tradisional, yang menghasilkan ciphertext. Kemudian, covertext dimodifikasi dalam

beberapa cara sehingga berisi ciphertext, yang menghasilkan stegotext.

Gambar 2.1 Perbandingan Steganography dan Cryptography

2.1.4 Kriteria Steganography

Penyembunyian informasi rahasia ke dalam media digital dengan steganography

akan mengubah kualitas dari media tersebut. Maka ada kriteria yang harus diperhatikan

dalam penyembunyian pesan atau data rahasia sebagai berikut.

12

Imperceptibility

Antara media yang asli dengan media yang telah disisipi pesan atau data rahasia

tidak dapat dibedakan oleh indera penglihatan dan pendengaran manusia.

Kualitas media penampung tidak jauh berubah dari kualitas asli. Setelah

disisipkan pesan atau data rahasia, media masih terlihat dengan baik dan tidak

diketahui telah disisipkan pesan atau data rahasia. Imperceptibility sebuah

steganography ditentukan oleh lokasi dan cara penyisipan pesan atau data

rahasia.

Robustness

Pesan atau data rahasia yang disembunyikan harus tahan terhadap manipulasi

(serangan) yang dilakukan kepada media penampung, seperti pengubahan

kontras, rotasi, perbesaran, pemotongan. Bila operasi pengolahan tersebut

dilakukan, maka pesan atau data yang disembunyikan tidak rusak.

Recovery

Pesan atau data rahasia yang disembunyikan harus dapat diambil kembali.

Karena tujuan steganography adalah data hiding, maka sewaktu-waktu pesan

atau data rahasia di dalam media penampung harus dapat diambil kembali untuk

digunakan lebih lanjut.

Security

Pesan atau data rahasia yang disisipkan ke suatu media haruslah terjamin

keamanannya, sehingga pihak-pihak yang tidak berkepentingan tidak dapat

mengetahui keberadaan informasi yang telah disisipkan tersebut.

2

k

a

b

d

m

d

e

(

h

t

2.1.5 Prose

Seca

kepemilikan

algoritma pe

Gam

bagian peng

dikirim sec

menggunaka

di dalamny

extracting (f

(cover) deng

hanya orang

tersebut. Pro

es Steganogr

ara umum

n untuk dapa

enyisipan ste

mbar 2.2 men

girim pesan

cara rahasia

an kunci tert

ya (stego).

fE-1) pada st

gan menggu

g yang men

oses ini dapa

raphy

proses steg

at membuka

eganography

Gambar 2Sum

nunjukkan s

(sender) di

a (emb) ke

tentu (key),

Pada bagia

tego untuk m

unakan kunc

ngetahui kun

at direpresen

ganography

a pesan yang

y ke dalam m

2.2 Sistem Smber: Henr

sebuah siste

lakukan pro

e dalam te

sehingga di

an penerim

memisahkan

ci yang sam

nci ini saja

ntasikan seca

mengguna

g disisipkan

media.

Steganograpry (2006)

em steganog

oses embedd

empat meny

ihasilkan dat

a pesan (r

pesan rahas

ma seperti p

yang dapat

ara lebih jela

akan kunci

melalui enc

phy

graphy umu

ding (fE) pe

yimpannya

ta dengan pe

recipient), d

sia (emb) dan

pada proses

t mengekstr

as pada Gamb

sebagai s

coder yang b

um di mana

san yang he

(cover) de

esan tersemb

dilakukan p

n data penyi

embedding.

ak pesan ra

bar 2.3 berik

13

sarana

berisi

pada

endak

engan

bunyi

proses

mpan

. Jadi

ahasia

kut.

2

2

p

2.1.6 Prope

Emb

Cove

Stego

Stego

meng

Stega

file.

2.1.7 Manf

Man

pada data dig

Gamba

erti Stegano

edded-messa

er-object: me

o-object: me

o-key: kunci

gekstraksi pe

analysis: pro

faat Stegano

faat penggu

gital lain ad

ar 2.3 Versi Sum

ography

age: pesan y

edia yang di

edia yang sud

i yang digun

esan dari ste

oses untuk m

ography

unaan stegan

dalah sebagai

Grafik darmber: Henr

yang disembu

igunakan unt

dah berisi pe

nakan untuk

ego-object.

mendeteksi

nography se

i berikut.

ri Sistem Stery (2006)

unyikan.

tuk menyem

esan embedd

menyisipan

keberadaan

ebagai suatu

eganography

mbunyikan pe

ded-message

pesan pada

pesan rahas

teknik peny

y

esan.

e.

cover-objec

sia dalam se

yembunyian

14

ct dan

ebuah

n data

15

1) Tamper-proofing

Steganography digunakan sebagai alat indikator untuk memeriksa integritas data

dengan menunjukkan apakah data digital yang asli telah mengalami perubahan

dari aslinya.

2) Feature location

Steganography sebagai alat identifikasi isi dari data digital pada lokasi-lokasi

tertentu, misalnya penamaan suatu objek tertentu dari beberapa objek yang ada

pada data digital.

3) Annotation/caption

Steganography berisi keterangan tentang data digital itu sendiri, misalnya pada

broadcast monitoring pada penayangan iklan di stasiun TV. Selain itu,

steganography juga dapat digunakan untuk mengirimkan informasi rahasia.

4) Copyright-labeling

Steganography digunakan sebagai metode untuk menyembunyikan label hak

cipta pada data digital atau sebagai bukti otentik kepemilikan atas data digital

tersebut, yang dikenal sebagai watermark.

2.1.8 Pembagian Steganography

A. Steganography pada Text

Steganography pada text terbagi menjadi dua penerapannya, yaitu pada soft-copy

text dan hard-copy text.

Pada soft-copy text, steganography menyandikan data dengan mengubah jumlah

spasi setelah tanda baca. Perubahan yang sembarangan pada susunan teks akan segera

terlihat jelas oleh siapapun yang membaca teks. Pengunaan White Space (tab dan spasi)

16

lebih efektif dan tidak terlihat. Penyandian data dengan meletakkan tambahan spasi pada

akhir baris. Contoh :

Pada hard-copy text, ada dua metode yaitu Line Shift Coding (menggeser setiap

baris ke atas atau ke bawah) dan Word Shift Coding (menggeser beberapa kata ke kiri

atau ke kanan).

Beberapa metode yang dapat digunakan pada soft-copy text dan hard-copy text

adalah Feature Coding, Syntactic, dan Semantic.

B. Steganography pada Image

Sebagian besar penelitian dan perancangan aplikasi steganography adalah pada

citra digital. Hal ini disebabkan sebuah image dengan informasi rahasia di dalamnya

lebih mudah disebarluaskan melalui web atau forum. Yang perlu diperhatikan adalah

ketika informasi disembunyikan ke dalam file image dan image tersebut diubah ke

format image lain, maka informasi yang disembunyikan akan hilang.

Ketika menyembunyikan informasi ke dalam file image, metode yang biasa

digunakan adalah Least Significant Bit (LSB). Metode pada domain spasial lainnya

adalah Masking and Filtering, Singular Value Decomposition, dan Minimax Eigenvalue

Decomposition. Sedangkan pada domain frekuensi adalah Discrete Cosine Transform,

Discrete Wavelet Transform, Discrete Fourier Transform, dan Mellin-Fourier

Transform.

17

C. Steganography pada Audio

Steganography juga dapat diterapkan pada suara digital. Namun, untuk

steganography pada file audio perlu kehati-hatian pada perancangan algoritma

steganography-nya, karena suara lebih sensitif daripada citra. Hal ini berarti suara

digital lebih mudah rusak bila ditambahkan steganography.

Ketika menyembunyikan informasi ke dalam file audio, metode yang biasa

digunakan adalah Low Bit Encoding (LBE). Metode ini mirip dengan metode LSB yang

digunakan pada image. Metode lainnya adalah Phase Coding, Spread Spectrum, dan

Echo Data Hiding.

D. Steganography pada Video

Steganography pada video sangat mirip dengan steganography pada image,

kecuali bahwa informasi disimpan pada setiap frame video. Steganography pada video

digital harus dirancang sedemikian rupa sehingga peralihan image dari satu frame ke

frame lainnya harus tetap baik dan tidak terlihat dimodifikasi. Karena video digital

ukurannya relatif besar daripada citra digital, maka informasi yang disisipkan dapat

lebih banyak. Ketika informasi yang disimpan hanya sedikit, maka perubahan pada

video tidak akan tampak, namun jika informasi yang disimpan banyak, perubahan pada

video akan semakin jelas terlihat.

Metode yang biasa digunakan untuk steganography pada video, karena teknik

yang digunakan mirip dengan image, maka dapat menggunakan metode yang sama

dengan steganography pada image.

18

2.2 Video

2.2.1 Pengertian Dasar Video

Video adalah teknologi elektronik yang menangkap, merekam, mengolah,

menyimpan, mentransmisi, dan merekonstruksi urutan image diam yang mewakili

adegan dalam gerak.

Video berasal dari bahasa Latin, 'videre' yang berarti 'aku lihat'. Video terbagi

menjadi dua format penyimpanan image yang bergerak, yaitu format video analog (VHS,

Betamax) dan format video digital (Blu-ray, DVD). Video dapat direkam dan

ditransmisikan ke dalam berbagai media fisik misalnya ke dalam pita magnetik ketika

direkam sebagai PAL atau NTSC dengan kamera analog, atau ke dalam MPEG-4 atau

DV dengan kamera digital.

2.2.2 Video Digital

Video digital adalah jenis sistem perekaman video yang bekerja dengan

menggunakan sinyal digital, bukan analog. File video digital terdiri dari 2 bagian utama

yaitu citra (image) dan suara (audio), lalu kedua aspek tersebut digabungkan menjadi

satu kesatuan.

Video digital terdiri dari serangkaian bitmap ortogonal image digital yang

ditampilkan dalam urutan cepat dengan laju konstan. Dalam konteks video, image ini

disebut frame. Setiap frame merupakan raster dari piksel. Jika lebar piksel adalah W dan

tinggi piksel adalah H, maka ukuran frame (frame size) adalah W x H.

19

Tabel 2.1 Rasio Frame Size Video

Semakin besar frame size suatu video, semakin tinggi kualitas video, serta semakin besar

ukuran file yang dimiliki oleh video tersebut.

Sejumlah frame video yang ditampilkan pada layar dalam satu detik disebut

frame rate. Ukuran untuk tampilan frame adalah frame per second (FPS). Semakin

tinggi frame rate, sekitar 24 fps, semakin halus gerakan yang ditampilkan.

Tabel 2.2 Frame Rate pada Beberapa Sistem Multimedia

Piksel hanya memiliki satu properti yaitu warna. Warna piksel diwakili oleh

sejumlah bit. Lebih banyak bit maka lebih banyak variasi warna yang dapat dihasilkan.

Ini disebut color depth atau kedalaman warna video. Hampir semua video berupa 24-bit

color depth.

Properti terpenting adalah bit rate dan video size. Rumus dari properti tersebut

adalah sebagai berikut.

BR = W * H * CD * FPS

VS = BR * T = W * H * CD * FPS * T

(satuan: BR = bits/sec, W dan H = pixels, CD = bits, VS = bits, T = seconds)

20

Adapun rumus sekunder adalah sebagai berikut.

pixels per frame = W * H

pixels per second = W * H * FPS

bits per frame = W * H * CD

Contoh, sebuah video dengan durasi (T) = 1 jam (3600 detik), ukuran frame =

640x480 (WxH), color depth = 24 bit, dan frame rate = 25 fps. Maka properti untuk

video tersebut adalah sebagai berikut.

pixels per frame = 640 * 480 = 307,200

bits per frame = 307,200 * 24 = 7,372,800 = 7.37 Mbits

bit rate (BR) = 7.37 * 25 = 184.25 Mbits/sec

video size (VS) = 184 Mbits/sec * 3600 sec

= 662,400 Mbits = 82,800 MB = 82.8 GB

Hitungan di atas berlaku untuk video yang tidak dikompresi. Karena bit rate

yang relatif tinggi pada video yang tidak dikompresi, kompresi video banyak digunakan.

Dalam kasus video terkompresi, setiap frame memerlukan persentase kecil dari bit asli.

Asumsi algoritma kompresi yang menyusutkan masukan data dengan faktor CF, bit rate,

dan video size adalah sebagai berikut.

BR = W * H * CD * FPS / CF

VS = BR * T / CF

Tidak perlu bahwa semua frame dikompresi oleh faktor CF. Dalam prakteknya, jika

tidak dikompresi, maka CF adalah faktor rata-rata kompresi untuk semua frame diambil

bersama-sama. Persamaan untuk bit rate, dapat ditulis dengan menggabungkan faktor

kompresi dan kedalaman warna berikut.

21

BR = W * H * ( CD / CF ) * FPS

Nilai (CD / CF) merupakan bit rata-rata per pixel (BPP). Sebagai contoh, jika kedalaman

warna 12 bits/pixel dan algoritma dikompresi 40x, maka BPP adalah 12 / 40 = 0,3. Jadi,

dalam kasus video terkompresi rumus untuk bit rate adalah sebagai berikut.

BR = W * H * BPP * FPS

Faktanya, rumus yang sama dapat digunakan untuk video yang tidak dikompresi karena

pada kasus satu dapat diasumsikan bahwa faktor kompresi adalah 1 dan rata-rata bits per

pixel sama dengan color depth.

2.2.3 Audio Video Interleave

Audio Video Interleave (AVI) merupakan format penampung multimedia yang

diperkenalkan oleh Microsoft pada November 1992 sebagai bagian dari video untuk

teknologi Windows. Format AVI merupakan salah satu format video tertua yang

diperkenalkan Microsoft sejak dirilisnya Windows 3.1. Sebagian besar camcorder, baik

analog maupun digital, menjadikan format AVI sebagai format baku saat capture video.

Dengan ukurannya yang sangat besar, file AVI sering dikatakan sebagai format video

yang belum terkompresi, namun adapula format file AVI yang terkompresi.

File AVI dapat mengandung data audio dan video dalam wadah file yang

memungkinkan sinkronasi pemutaran audio dengan video. Seperti format video DVD,

file AVI mendukung multiple streaming audio dan video, meskipun fitur ini jarang

digunakan. Sebagian besar file AVI juga menggunakan ekstensi format file yang

dikembangkan oleh Matrox kelompok OpenDML pada Februari 1996. File-file ini

didukung oleh Microsoft, dan secara tidak resmi disebut "AVI 2.0".

22

Gambar 2.4 Struktur File AVI

Tidak seperti format digital lainnya, misalnya MPEG atau MOV yang memiliki

satu metode kompresi, format AVI memiliki berbagai pilihan metode kompresi-

dekompresi (codec), antara lain: Cinepak, Indeo, Microsoft Video 1, Clear Video (IVI),

dan lainnya. Setiap file AVI dapat menggunakan codec yang berbeda-beda. Akibatnya,

jika ingin menjalankan suatu file AVI pada komputer sementara codec yang digunakan

file AVI itu belum ter-install pada komputer, maka file tersebut tidak akan dapat dibaca.

AVI merupakan turunan dari Resource Interchange File Format (RIFF), yang

membagi data file yang ke blok atau chunk. Setiap chunk diidentifikasi oleh tag FourCC.

Sebuah file AVI mengambil bentuk chunk tunggal dalam file RIFF yang diformat, yang

kemudian dibagi menjadi dua chunk wajib dan satu chunk opsional. Sub-chunk pertama

diidentifikasi dengan tag "hdrl". Sub-chunk ini adalah header file dan berisi metadata

tentang video, seperti lebar, tinggi dan frame rate. Sub-chunk kedua diidentifikasi

dengan tag "movi". Chunk ini berisi audio aktual atau data visual yang membentuk film

AVI. Sub-chunk ketiga diidentifikasi oleh tag "idx1" yang menyusun potongan-potongan

data dalam file. Sebagai turunan dari RIFF, file AVI dapat ditandai dengan metadata

dalam sepotong INFO.

Pada tiap chunk terdapat tipe data yang ditandai oleh dua huruf, yaitu dc untuk

data video, wb untuk data audio, dan tx untuk data teks.

23

Gambar 2.5 Chunk pada file AVI

Pada file AVI terdapat 3 bagian utama yang merupakan komponen penyusun

audio dan visual pada file AVI yaitu AVI Header, AVI Stream dan AVI Frame (Patel,

2004). File AVI dimulai dengan header utama. Pada AVI Header ditandai dengan 4

karakter kode. Header mengandung informasi utama yang terdapat pada file AVI, yaitu

kecepatan maksimal data per-detik dari file AVI; kode untuk metode penggunaan file

AVI (HASINDEX, MUSTUSEINDEX, COPYRIGHTED); metode kemampuan file AVI

(CAN READ, CANWRITE, ALLKEYFRAME, NOCOMPRESSION); jumlah stream pada

file, sebagai contoh pada file yang mempunyai audio dan visual akan mempunyai 2

stream; ukuran buffer yang digunakan untuk menyimpan data file AVI pada memori;

tinggi dan lebar dari sekuensial file AVI; skala waktu yang digunakan pada keseluruhan

file AVI; jumlah sampel dari file AVI; panjang/lama waktu file AVI; jumlah stream yang

ditambahkan atau dihilangkan dari file; serta deskripsi tipe file.

Sedangkan AVI Stream terdiri dari 2 jenis yaitu stream video dan stream audio,

stream audio tidak harus terdapat di dalam suatu file AVI. Pada bagian stream video,

24

berisi data yaitu tipe stream yang didefinisikan dengan 4 karakter kode, handler yang

menangani kompresi saat file disimpan, kode untuk metode penggunaan stream

(AVISTREAMINFO DISABLED, AVISTREAMINFO ENABLED), metode, prioritas,

bahasa yang digunakan oleh stream, skala waktu yang digunakan, jumlah sampel stream,

posisi frame awal, panjang/lama waktu stream, spesifikasi ukuran dari pergeseran audio

dan video data pada file AVI, ukuran buffer yang digunakan untuk menyimpan data file

AVI pada memori, kualitas data video pada stream, ukuran sebuah sampel data pada

stream, dimensi frame, jumlah dari proses peng-edit-an stream yang pernah dilakukan,

jumlah dari proses peng-edit-an format stream yang pernah dilakukan, serta deskripsi

nama stream.

AVI Frame merupakan suatu data yang berbentuk DIB (Device Independent

Bitmap) (Herd, 2004). Bentuk DIB secara umum terdiri dari 3 bagian utama, yaitu

bitmap file header yang berisi informasi tentang tipe, ukuran, dan layout dari file DIB,

bitmap info yang terdiri dari 2 struktur utama yaitu bitmap info header dan rgbquad,

serta data piksel-piksel penyusun gambar yang terdapat pada frame.

2.3 Penilaian Kualitas Video Steganography

Video yang sudah disisipi dengan data rahasia pastilah tidak sama dengan video

aslinya sehingga mengalami penurunan kualitas. Karena itu perlu diperhitungkan tingkat

perubahan yang terjadi dan seberapa besar kerusakan (error) yang ditimbulkan. Salah

satu syarat steganography adalah imperceptibility, yang artinya kualitas video antara

yang sudah disisipi dan yang asli harus tidak jauh berbeda. Untuk menentukan dan

menilai apakah objek stego itu mampu menyembunyikan pesan yang dikandungnya

25

sehingga imperceptibility atau tidak, ada beberapa kriteria yang digunakan, yaitu

kriteria objektif dan kriteria subjektif.

2.3.1 Kriteria Objektif

Penilaian kriteria objektif didasarkan pada perhitungan matematis dengan

menggunakan beberapa parameter seperti berikut.

1. Mean Square Error (MSE)

Mean Square Error adalah nilai rata-rata kuadrat error antara cover-image

dengan stego-image, dimana kedua citra tersebut memiliki ukuran yang sama untuk

menentukan tingkat kesalahan pada stego-image.

x(n) = cover-image, y(n) = stego-image

2. Peak Signal to Noise Ratio (PSNR)

Peak Signal to Noise Ratio adalah nilai perbandingan antara nilai maksimal

stego-image dengan nilai MSE yang menyatakan tingkat noise atas stego-image

dengan mencari selisih distorsi antar-frame.

3. Bit-error Rate (BER)

Bit-error Rate yaitu rasio kesalahan antara bit-bit yang diekstrak terhadap bit-bit

yang disisipkan.

26

2.3.2 Kriteria Subjektif

Penilaian kriteria subjektif ditentukan berdasarkan hasil pengamatan mata

manusia. Penilaian didasarkan atas karakteristik pengamatan manusia (Human Visual

System).

MOS (Mean Opinion Score)

Pengujian secara subjektif umumnya dilakukan dengan mengukur Mean Opinion

Score berdasarkan kriteria berikut.

Tabel 2.3 Tabel Penilaian Kriteria Subjektif Kualitas Video Nilai Level Distorsi Kualitas Video

1 Sangat menggangu

(very annoying)

Video memiliki kualitas yang sangat rendah,

sehingga tidak dapat dilihat lagi.

2 Mengganggu

(annoying)

Video memiliki kualitas yang sangat rendah, tetapi

masih dapat dilihat. Interfensi sangat mengganggu.

3 Agak mengganggu

(slightly annoying)

Video memiliki kualitas yang rendah sehingga

diinginkan dapat diperbaiki dan interferensi terasa

cukup mengganggu.

4 Perceptible but

not annoying

Video memiliki kualitas yang bagus namun masih

ada sedikit noise yang masih mengganggu.

5 Imperceptible

Video memiliki kualitas yang bagus, enak dilihat,

dan interferensi noise belum terasa mengganggu.

27

2.4 Least Significant Bit

Least Significant Bit (LSB) adalah cara paling umum untuk menyembunyikan

pesan. LSB dilakukan dengan memodifikasi bit-bit yang termasuk bit LSB pada setiap

byte warna pada sebuah piksel. Bit-bit LSB ini akan dimodifikasi dengan menggantikan

setiap LSB yang ada dengan bit-bit pesan rahasia yang ingin disembunyikan. Setelah

semua bit pesan rahasia menggantikan bit LSB file tersebut, maka pesan rahasia telah

berhasil disembunyikan.

Metode ini membutuhkan syarat, yaitu jika dilakukan kompresi pada file stego,

harus digunakan format lossless compression. Hal itu dikarenakan metode ini

menggunakan bit-bit pada setiap piksel pada image. Jika digunakan format lossy

compression, pesan rahasia yang disembunyikan dapat hilang.

Contoh penggunaan LSB, sebuah susunan bit pada sebuah byte:

(MSB = Most Significant Bit, LSB = Least Significant Bit)

Bit yang sesuai untuk ditukar adalah bit LSB karena perubahan pada daerah

tersebut hanya akan menyebabkan nilai byte menjadi lebih tinggi 1 angka atau lebih

rendah 1 angka dari nilai sebelumnya.

Untuk memperkuat teknik penyembunyian data, bitbit data rahasia tidak

digunakan mengganti byte yang berurutan namun dipilih susunan byte yang acak.

Misalnya, jika terdapat 50 byte dan 6 bit data yang akan disembunyikan maka byte yang

diganti bit LSB-nya dipilih secara acak, misalkan byte nomor 36, 5, 21, 10, 18, 49.

28

Bilangan acak dibangkitkan dengan pseudo-random-number-generator (PRNG)

cryptography. PRNG cryptography merupakan algoritma cryptography yang digunakan

untuk enkripsi dan dibangun dengan menggunakan algoritma DES (Data Encryption

Standard). Misalkan segmen dari data sebelum ditukar adalah:

00110011 10100010 11100010 01101111

Setelah data 0110 disembunyikan, segmen menjadi:

00110010 10100011 11100011 01101110

Jika digunakan image 24 bit color sebagai cover, sebuah bit dari masing-masing

komponen Red, Green, dan Blue; dapat digunakan sehingga 3 bit dapat disimpan pada

setiap piksel. Sebuah image 800 x 600 piksel dapat digunakan untuk menyembunyikan

1.440.000 bit (180.000 bytes) data rahasia. Misalnya, terdapat 3 piksel dari image 24 bit

color :

(00100111 11101001 11001000)

(00100111 11001000 11101001)

(11001000 00100111 11101001)

Jika diinginkan untuk menyembunyikan karakter A dengan nilai biner 10000001

dihasilkan :

(00100111 11101000 11001000)

(00100110 11001000 11101000)

(11001000 00100111 11101001)

Dapat dilihat bahwa hanya 3 bit saja yang perlu diubah untuk menyembunyikan karakter

A ini. Perubahan pada LSB ini akan terlalu kecil untuk terdeteksi oleh mata manusia

sehingga pesan dapat disembunyikan secara efektif.

29

Jika digunakan image 8 bit color sebagai cover, hanya 1 bit saja dari setiap piksel

warna yang dapat dimodifikasi sehingga pemilihan image harus dilakukan dengan

sangat hati-hati, karena perubahan LSB dapat menyebabkan terjadinya perubahan warna

yang ditampilkan pada image. Akan lebih baik jika berupa grayscale karena perubahan

warnanya akan lebih sulit dideteksi oleh mata manusia.

Proses ekstraksi pesan dapat dengan mudah dilakukan dengan mengekstrak LSB

dari masing-masing piksel pada stego file secara berurutan dan menuliskannya ke output

file yang akan berisi pesan tersebut.

2.5 Singular Value Decomposition

Singular Value Decomposition (SVD) adalah salah satu teknik untuk mengolah

matriks cabang ilmu aljabar linier yang diperkenalkan oleh Beltrami pada tahun 1873.

SVD merupakan salah satu alat matematis yang digunakan untuk merepresentasikan

sebuah matriks dan mampu melakukan berbagai analisis dan komputasi matriks.

Jika A adalah matriks berukuran m x n, maka nilai-nilai singular A didefinisikan

sebagai akar kuadrat dari nilai-nilai eigen ATA. Nilai-nilai singular A yaitu 1, 2, . ., n

memenuhi kondisi (untuk r rank) : 1 > 2 >. . .> r > 0 dan r+1 = ... = n = 0. Matriks

A dapat difaktorkan sebagai berikut.

A = USVT

Matriks U dan V adalah matriks orthogonal dan S adalah matriks diagonal

dengan singular value pada diagonalnya. Matiks U dan V tidak secara unik ditentukan

oleh A, tetapi matriks diagonal S harus memuat nilai-nilai singular matriks A. Kolom-

kolom V dinamakan vektor-vektor singulir kanan matriks A. Kolom-kolom U

30

dinamakan vektor-vektor singulir kiri matriks A. Dalam aljabar linier, pemfaktoran di

atas dikatakan relevan jika matriks Am x n merupakan pemetaan dari ruang-n ke ruang-m.

Faktorisasi matriks A tersebut dinamakan SVD.

Anxm = Unxn Snxm VTmxm

Pada pemrosesan citra digital, nilai singulir menyatakan luminansi dan vektor-vektor

singulir merepresentasikan geometris citra.

Sebagai contoh, misalkan matriks:

maka untuk mencari matriks VT ,

V = ATA

dicari eigenvalue-nya :

31

32

Untuk mencari matriks U, dilakukan cara yang sama dengan,

U = AAT

Akhirnya, S merupakan akar kuadrat dari AAT atau ATA dan didapatkan:

Matriks S ini merupakan singular value dari matriks asal A, dan elemen diagonal dari

matriks singular value ini terurut menurun.

Bukti:

A=USVT dan AT=VSUT

ATA = VSUTUSVT

ATA = S2

2.6 Discrete Wavelet Transform

Transformasi wavelet adalah sebuah transformasi matematika yang digunakan

untuk menganalisis sinyal bergerak. Sinyal bergerak ini dianalisis untuk didapatkan

informasi spektrum frekuensi dan waktunya secara bersamaan. Salah satu seri

pengembangan transformasi wavelet adalah Discrete Wavelet Transform (DWT).

Dasar dari DWT dimulai pada tahun 1976, dimana teknik untuk mendekomposisi

sinyal waktu diskrit ditemukan. Pada DWT, penggambaran sebuah skala waktu sinyal

digital didapatkan dengan menggunakan teknik filterisasi digital. Proses dalam teknik

ini adalah dengan melewatkan sinyal yang akan dianalisis pada filter dengan frekuensi

dan skala yang berbeda. Filterisasi merupakan sebuah fungsi yang digunakan dalam

pemrosesan sinyal. Wavelet dapat direalisasikan menggunakan iterasi filter dengan

penskalaan. Resolusi dari sinyal, yang merupakan rata-rata dari jumlah detil informasi

33

dalam sinyal, ditentukan melalui filterasi dan skalanya didapatkan dengan upsampling

dan downsampling (subsampling).

Sebuah sinyal harus dilewatkan dalam dua filterisasi DWT yaitu highpass filter

dan lowpass filter, agar frekuensi dari sinyal tersebut dapat dianalisis. Analisis sinyal

dilakukan terhadap hasil filterisasi highpass filter dan lowpass filter, di mana highpass

filter digunakan untuk menganalisis frekuensi tinggi dan lowpass filter digunakan untuk

menganalisis frekuensi rendah. Analisis terhadap frekuensi dilakukan dengan cara

menggunakan resolusi yang dihasilkan setelah sinyal melewati filterisasi. Analisis

frekuensi yang berbeda dengan menggunakan resolusi yang berbeda disebut dengan

multi-resolution analysis. Pembagian sinyal menjadi frekuensi tinggi dan frekuensi

rendah dalam proses filterisasi highpass filter dan lowpass filter disebut sebagai

dekomposisi. Proses dekomposisi dimulai dengan melewatkan sinyal asal me lewati

highpass filter dan lowpass filter.

Misalkan sinyal asal ini memiliki rentang frekuensi dari 0 sampai dengan rad/s.

Dalam melewati highpass filter dan lowpass filter, rentang frekuensi di-subsample

menjadi dua, sehingga rentang frekuensi tertinggi pada masing-masing subsample

menjadi /2 rad/s. Setelah filterisasi, setengah dari sample atau salah satu subsample

dapat dieliminasi berdasarkan aturan Nyquist. Sehingga sinyal dapat selalu di-subsample

oleh 2 ( ) dengan cara mengabaikan setiap sample yang kedua. Proses dekomposisi

dapat melalui satu atau lebih tingkatan.

34

Dekomposisi satu tingkat ditulis dengan ekspresi matematika pada persamaan:

y[k] tinggi = hasil dari highpass filter

y[k] rendah = hasil dari lowpass filter

x[n] = sinyal asal

h[n] = highpass filter

g[n] = lowpass filter

Dekomposisi citra yang merupakan sinyal bergerak dapat digambarkan seperti

dekomposisi sinyal menggunakan transformasi wavelet. Citra dengan dua dimensi (baris

dan kolom) dapat didekomposisi seperti Gambar 2.6.

Gambar 2.6 Dekomposisi Wavelet Tingkat Satu Sumber: Terzija (2006)

Dengan I adalah citra, H( ) adalah highpass filter, dan G( ) adalah lowpass filter.

Dekomposisi pada citra seperti pada Gambar 2.6 menghasilkan informasi rentang

frekuensi yang berbeda yaitu LL, frekuensi rendah-rendah (lowlow frequency); LH,

frekuensi rendah-tinggi (low-high frequency); HL, frekuensi tinggi-rendah (high-low

35

frquency); dan HH, frekuensi tinggi-tinggi (high-high frequency). Rentang frekuensi LL

merupakan rentang taksiran penskalaan, sedangkan rentang frekuensi LH, HL, dan HH

merupakan rentang frekuensi detil informasi.

Pada dekomposisi tingkat dua, menghasilkan tujuh rentang frekuensi, yaitu HH1,

LH1, HL1, HH2, LH2, HL2, dan LL2. Pada HH merekam data frekuensi tinggi di dua

arah, HL merekam data frekuensi tinggi pada arah horisontal, sedangkan LH merekam

data frekuensi tinggi pada arah vertikal.

Gambar 2.7 Dekomposisi DWT Tingkat Dua (2D-DWT) Sumber: Ganic (2005)

Contoh penggambaran dekomposisi tiga tingkat:

Gambar 2.8 Dekomposisi Wavelet Tingkat Tiga Sumber: Sripathi (2003)

36

y[k] tinggi dan y[k] rendah merupakan hasil dari highpass filter dan lowpass filter. y[k]

tinggi disebut sebagai koefisien DWT. y [k] tinggi merupakan detil dari informasi sinyal,

sedangkan y[k] rendah merupakan taksiran kasar dari fungsi penskalaan. Dengan

menggunakan koefisien DWT ini maka dapat dilakukan proses Inverse Discrete Wavelet

Transform (IDWT) untuk merekonstruksi menjadi sinyal asal.

Proses rekonstruksi dimulai dengan menggabungkan koefisien DWT dari yang

berada pada akhir dekomposisi, yang telah di-upsample oleh 2 ( ) melalui highpass

filter dan lowpass filter. Proses rekonstruksi merupakan kebalikan dari proses

dekomposisi sesuai dengan tingkatan pada proses dekomposisi. Persamaan rekonstruksi

pada masing-masing tingkatan dapat ditulis:

2.7 Data Encryption Standard

Algoritma Data Encryption Standard (DES) dikembangkan di IBM dibawah

kepemimpinan W.L. Tuchman pada tahun 1972. Algoritma ini didasarkan pada

algoritma LUCIFER yang dibuat oleh Horst Feistel. Algoritma ini telah disetujui oleh

National Bureau of Standard (NBS) setelah penilaian kekuatannya oleh National

Security Agency (NSA), Amerika Serikat.

DES termasuk ke dalam sistem cryptography simetri dan tergolong jenis cipher

blok. DES beroperasi pada ukuran blok 64 bit. DES mengenkripsikan 64 bit plainteks

menjadi 64 bit cipherteks dengan menggunakan 56 bit kunci internal (internal key) atau

sub-kunci (subkey). Kunci internal dibangkitkan dari kunci eksternal (external key) yang

panjangnya 64 bit.

37

Proses enkripsi dari algoritma enkripsi DES adalah sebagai berikut.

1. Permutasi Awal.

Blok plainteks dipermutasi dengan matriks permutasi awal (initial permutation

atau IP). Tujuan permutasi awal adalah mengacak plainteks sehingga urutan bit-

bit di dalamnya berubah.

2. Pembangkitan Kunci Internal

Karena ada 16 putaran, maka dibutuhkan 16 kunci internal, yaitu K1, K2, , K16.

Kunci-kunci internal dapat dibangkitkan sebelum proses enkripsi atau bersamaan

dengan proses enkripsi. Kunci internal dibangkitkan dari kunci eksternal yang

diberikan oleh user. Kunci eksternal panjangnya 64 bit atau 8 karakter.

3. Enciphering.

Hasil permutasi awal kemudian di-enciphering sebanyak 16 kali (16 putaran).

Setiap putaran menggunakan kunci internal yang berbeda.

4. Permutasi Terakhir

Hasil enciphering kemudian dipermutasi dengan matriks permutasi balikan

(invers initial permutation atau IP-1 ) menjadi blok cipherteks.

Gambar 2.9 Skema Global Algoritma DES

Sumber: Munir (2006)

38

Di dalam proses enciphering, blok plainteks terbagi menjadi dua bagian, kiri (L)

dan kanan (R), yang masing-masing panjangnya 32 bit. Kedua bagian ini masuk ke

dalam 16 putaran DES.

Pada setiap putaran i, blok R merupakan masukan untuk fungsi transformasi

yang disebut f. Pada fungsi f, blok R dikombinasikan dengan kunci internal Ki. Keluaran

dari fungsi f di-XOR-kan dengan blok L untuk mendapatkan blok R yang baru.

Sedangkan blok L yang baru langsung diambil dari blok sebelumnya. Ini adalah satu

putaran DES. Secara matematis, satu putaran DES dinyatakan sebagai.

Li = Ri 1

Ri = Li 1 f(Ri 1, Ki)

Satu putaran DES merupakan model jaringan Feistel.

1iRLi - 1

f

iRLi

Ki

Gambar 2.10 Jaringan Feistel untuk Satu Putaran DES Sumber: Munir (2006)

Jika (L16, R16) merupakan keluaran dari putaran ke-16, maka (R16, L16)

merupakan pra-cipherteks (pre-ciphertext) dari enciphering ini. Cipherteks yang

sebenarnya diperoleh dengan melakukan permutasi awal balikan, IP-1, terhadap blok

pra-cipherteks.

39

Plainteks

IP

L0 R0

f

),( 1001 KRfLR =L1 = R0

K1

f

),( 2112 KRfLR =L2 = R1

K2

),( 15141415 KRfLR =L15 = R14

K16

),( 16151516 KRfLR = L16 = R15

IP-1

Cipherteks

f

Gambar 2.11 Algoritma Enkripsi dengan DES Sumber: Munir (2006)

40

Proses dekripsi terhadap cipherteks merupakan kebalikan dari proses enkripsi.

DES menggunakan algoritma yang sama untuk proses enkripsi dan dekripsi. Jika pada

proses enkripsi urutan kunci internal yang digunakan adalah K1, K2, , K16; maka pada

proses dekripsi urutan kunci yang digunakan adalah K16, K15, , K1. Untuk tiap putaran

16, 15, , 1, keluaran pada setiap putaran deciphering adalah

Li = Ri 1

Ri = Li 1 f(Ri 1, Ki)

di mana (R16, L16) adalah blok masukan awal untuk deciphering. Blok (R16, L16)

diperoleh dengan mempermutasikan cipherteks dengan matriks permutasi IP-1. Pra-

keluaran dari deciphering adalah adalah (L0, R0). Dengan permutasi awal IP akan

didapatkan kembali blok plainteks semula.

Selama deciphering, K16 dihasilkan dari (C16, D16) dengan permutasi PC-2, tetapi

(C16, D16) tidak dapat diperoleh langsung pada permulaan deciphering. Namun karena

(C16, D16) = (C0, D0), maka K16 dapat dihasilkan dari (C0, D0) tanpa perlu melakukan

pergeseran bit. (C0, D0) yang merupakan bit-bit dari kunci eksternal K diberikan

pengguna pada waktu dekripsi.

Selanjutnya, K15 dihasilkan dari (C15, D15), di mana (C15, D15) diperoleh dengan

menggeser C16 (yang sama dengan C0) dan D16 (yang sama dengan C0) satu bit ke kanan.

Sisanya, K14 sampai K1 dihasilkan dari (C14, D14) sampai (C1, D1). (Ci 1, Di 1) diperoleh

dengan menggeser Ci dan Di, tetapi pergeseran kiri (left shift) diganti menjadi

pergeseran kanan (right shift).

41

Berikut adalah faktor-faktor yang menyangkut keamanan DES.

1. Panjang kunci

Panjang kunci eksternal DES adalah 64 bit atau 8 karakter, dan yang dipakai

hanya 56 bit. Pada rancangan awal, panjang kunci yang diusulkan IBM adalah

128 bit, tetapi atas permintaan NSA panjang kunci diperkecil menjadi 56 bit.

Namun dengan panjang kunci 56 bit akan terdapat 256 atau

72.057.594.037.927.936 kemungkinan kunci. Jika diasumsikan serangan

exhaustive key search dengan menggunakan prosesor paralel mencoba setengah

dari jumlah kemungkinan kunci itu, maka dalam satu detik dapat dikerjakan satu

juta serangan. Jadi, seluruhnya diperlukan 1142 tahun untuk menemukan kunci

yang benar.

2. Jumlah putaran

Delapan putaran cukup untuk membuat cipherteks sebagai fungsi acak dari setiap

bit plainteks dan setiap bit cipherteks. Namun dari hasil penelitian, DES dengan

jumlah putaran yang kurang dari 16 ternyata dapat dipecahkan dengan known-

plaintext attack. Maka dibuatlah menjadi 16 putaran.

2.8 Rekayasa Piranti Lunak

Rekayasa piranti lunak adalah penetapan dan pemakaian prinsip-prinsip rekayasa

dalam rangka mendapatkan piranti lunak yang ekonomis, yaitu terpercaya dan bekerja

efisien pada mesin (komputer). Rekayasa piranti lunak mencakup tiga elemen yang

mampu mengontrol proses pengembangan piranti lunak sebagai berikut.

42

1) Methods, berfungsi untuk menyediakan cara-cara teknis untuk membangun

piranti lunak.

2) Tools, berfungsi untuk mengadakan dukungan otomatis atau semi-otomatis untuk

metode-metode seperti Computer Aided Software Engineering (CASE) yang

memadukan software, hardware, dan software engineering database.

3) Procedures, merupakan pengembangan dari methods dan tools.

2.8.1 Software Development Life Cycle

Menurut Turban, et. al. (2001, p447-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.

Gambar 2.12 Eight Stage SDLC Sumber: Turban, et. al. (2001, p447)

43

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, mengindentifikasi penyebab,

menspesifikasikan solusi, serta mengidentifikasikan informasi-informasi yang

diperlukan.

3. System Design

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 menjelaskan 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.

44

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.8.2 Unified Modelling Language

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

memodelkan software object oriented (Lethbridge, 2002, p151). UML mengandung tipe

diagram yang bervariasi, termasuk:

Class Diagram

Sequence Diagram

Use Case Diagram

Statechart Diagram

A. Class Diagram

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.

45

Gambar 2.13 Notasi Class Sumber: Lethbridge (2002, p439)

Link adalah hubungan dasar antar obyek 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, di

mana masing-masing titik akhir dihubungkan dengan sebuah class. Association memiliki

dua atau lebih titik akhir.

Gambar 2.14 Hubungan Association pada Class Diagram

Aggregation adalah lambang dari memiliki sebuah atau hubungan association,

tetapi aggregation lebih spesifik dari association. Meskipun aggregation merupakan

perluasan association, hubungan aggregation hanya dapat melibatkan dua class.

Aggregation terjadi bila suatu class mengandung satu atau lebih obyek dari class lain,

tetapi class yang dikandung tidak memiliki life cycle dependency dengan class yang

mengandung.

Gambar 2.15 Hubungan Aggregation pada Class Diagram

46

Composition merupakan hubungan aggregation di mana class yang dikandung

telah memiliki life cycle dependency dengan class yang mengandung.

Gambar 2.16 Hubungan Composition pada Class Diagram

B. Sequence Diagram

Sequence diagram adalah diagram yang menunjukkan urutan proses dan

penukaran pesan oleh sejumlah objek (dan seorang aktor yang opsional) dalam

melakukan tugas tertentu. Sequence diagram menggambarkan skenario runtime

sederhana secara grafis.

Gambar 2.17 Notasi Object, Message, dan Activation Sumber: Lethbridge (2002, p.440)

47

C. Statechart Diagram

Statechart Diagram menggambarkan state (keadaan) yang dialami semua objek

dalam suatu class yang spesifik serta transisi (event) yang memicu terjadinya suatu state

(Mathiassen et. al., 2000, p341).

Gambar 2.18 Notasi Statechart Diagram

D. Use Case Diagram

Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah

sistem. Yang ditekankan adalah 'apa' yang diperbuat sistem, dan bukan 'bagaimana'.

Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Use

case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, menciptakan

sebuah daftar belanja, dan sebagainya. Seorang aktor adalah sebuah entitas manusia atau

mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu.

Gambar 2.19 Notasi Use Case Diagram

48

2.8.3 State Transition Diagram

State transition diagram 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.

State adalah kumpulan keadaan dan atribut yang mencirikan objek pada waktu

atau kondisi tertentu; disimbolkan dengan segi empat.

Gambar 2.20 Notasi State

Transition adalah simbol perpindahan keaktifan dari sebuah obyek menjadi objek

lain. Transition disimbolkan dengan anak panah.

Gambar 2.21 Notasi Transition

Condition adalah suatu keadaan pada lingkungan eksternal yang dapat dideteksi

oleh sistem. Condition menggambarkan syarat yang biasanya digunakan dalam

hubungan seleksi.

Action adalah yang dilakukan sistem bila terjadi perubahan state atau merupakan

reaksi terhadap kondisi. Aksi akan menghasilkan keluaran atau output.

Display adalah hasil yang merupakan state transition diagram.

49

2.8.4 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

(2000) adalah sebagai berikut.

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.