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, bit–bit 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.
1−iRLi - 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.
Top Related