fix bab i-ii.docx
TRANSCRIPT
BAB I
PENDAHULIAN
1.1 Latar Belakang
Kemajuan cara berpikir manusia membuat masyarakat menyadari
bahwa teknologi informasi merupakan salah satu tool penting dalam
peradaban manusia untuk mengatasi (sebagian) masalah derasnya arus
informasi. Teknologi informasi (dan komunikasi) saat ini adalah bagian
penting dalam manajemen informasi. Selain memiliki potensi dalam
memfilter data dan mengolah menjadi informasi, teknologi informasi
mampu menyimpannya dengan jumlah kapasitas jauh lebih banyak dari
cara-cara manual. Salah satu pekerjaan manusia yang akan sangat terbantu
dengan hadirnya teknologi informasi, dengan keuntungan yang ditawarkan,
yaitu pekerjaan manusia dalam menyembunyikan pesan.
Manusia telah menyembunyikan pesan rahasia dengan berbagai
metode dan variasi. Salah satunya adalah Steganografi. Steganografi
merupakan ilmu yang mempelajari, meneliti, dan mengembangkan seni
menyembunyikan sesuatu informasi. Steganografi berasal dari bahasa
Yunani yang berarti “tulisan tersembunyi”. Zaman dahulu kegiatan ini
sudah sering dilakukan untuk menyampaikan pesan-pesan rahasia. Misalnya
dengan cara mentatoo pesan rahasia di kulit kepala para pembawa pesan.
Sebelumnya kepala si pembawa pesan digunduli dahulu, kemudian di tatoo.
Setelah rambutnya tumbuh maka pesan tadi tertutup oleh rambut, kemudian
si pembawa pesan dilengkapi dengan pesan palsu di tangannya sebagai
umpan.
Selain itu, banyak teknik lainnya seperti penulisan dengan tinta yang
tidak tampak (invisible ink), titik-titik mikro (microdot), penyusunan
karakter, dan banyak lagi kejadian-kejadian besar masa lalu seperti
peperangan juga terukir salah satunya dengan peran serta steganografi di
dalamnya. Seiring dengan perkembangan jaman, metode steganografi
semakin lama semakin berkembang.
Teknologi komputer memberikan kontribusi baru dalam revolusi
menyembunyikan pesan. Steganografi pada era informasi digital merupakan
teknik dan seni menyembunyikan informasi dan data digital dibalik
informasi digital lain. File media merupakan komponen penting pada proses
penyembunyian informasi ini. Dengan file yang terlihat sama sekali tidak
mencurigakan, data anda yang sebenarnya akan tetap tidak terdeteksi
dengan mata telanjang. Secara teori, semua file umum yang ada di dalam
komputer dapat digunakan sebagai media, seperti file gambar berformat
PNG (Portable Network Graphics), JPEG (Joint Photographic Experts
Group), GIF (Graphics Interchange Format), BMP (Bitmap), atau di dalam
musik MP3 (Media Player), atau bahkan di dalam sebuah film dengan
format WAV (Waveform Audio Format) atau AVI (Audio Video Interleave)
semua bisa dijadikan tempat bersembunyi, selama file media tersebut jika
dimodifikasi, maka kualitas dan tampilan file yang sesungguhnya tidak akan
terganggu banyak. Kemudian pada data digital, teknik-teknik yang sering
digunakan dalam steganografi modern antara lain : Discrete Cosine
Transform, Modifikasi Least Significant Bit (LSB), Mask and Filtering,
Algoritma kompresi dan transformasi, dan Teknik Pixel Mapping yang
dikenal dengan Metode Modifikasi Red Green Blue (RGB) Level.
Didorong oleh hal-hal tersebut, maka penulis tertarik untuk
membahas tentang pembuatan sebuah aplikasi program Steganografi.
Program aplikasi ini akan menyediakan kemudahan penyisipan pesan, yaitu
berupa teks, ke dalam sebuah file digital.
Berikut ini adalah rujukan beberapa penelitian yang telah dilakukan
sebelumnya yang terkait dengan penelitian yang penulis lakukan :
a. Analisa PSNR Pada Teknik Steganografi Menggunakan Spread Spectrum,
Aries Pratiarso, Mike Yuliana, M. Zen Samsono Hadi, Fatchul Bari H.,
Brahim W, Departemen Teknik Elektro Politeknik Elektronika Negeri
Surabaya.
Penelitian ini bertujuan untuk menganalisa pengaruh derau (noise)
pada gambar yang terstego pada proses steganografi. Algoritma yang
digunakan adalah spread spectrum dan parity coding, algoritma ini akan
diterapkan pada proses steganografi untuk aplikasi e-commerce. Pesan
rahasia yang distegokan meliputi nomor dan password kartu kredit. Data
terstego berupa berkas gambar baru yang telah tersisipi data penting
tersebut
yang kemudian dikirim kembali ke server untuk proses pengembalian.
Hasil akhir yang diperoleh dari penelitian ini adalah analisa ketahanan
gambar jika terkena derau (noise) pada proses steganografi.Pengujian
PSNR dilakukan 2 tahap, tahap pertama pada proses pembentukan gambar
stego dari gambar asli, dimana kedua metode memberikan PSNR diatas 50
dB. Tahap kedua yaitu disimulasikan pada proses pengiriman gambar
stego terdapat serangan MITM (man in the middle attack) dengan
memberikan titik-titik hitam pada gambar, maka hasil PSNR langsung
turun dibawah 30 dB. Pada pemberian titik hitam ini dilakukan pengujian
sebanyak 10 titik hitam, pada metode parity coding, tidak bisa
mengembalikan data yang disisipkan sedangkan pada metode spread
spectrum masih bisa.
b. Implementasi Steganografi Teknik End Of File Dengan Enkripsi, Warsino,
Fakultas Teknologi Informasi, Universitas Tarumanegara.
Keamanan file merupakan suatu tindakan yang bertujuan untuk
mengamankan data yang penting dalam suatu file dari gangguan pihak lain
yang tidak bertanggung jawab terhadap kerahasiaan data. Keamanan file
menjadi suatu kewajiban yang harus dilakukan demi terjaminnya
kerahasiaan data dalam suatu file. Teknik EOF atau End Of File
merupakan salah satu teknik yang digunakan dalam steganografi. Teknik
ini digunakan dengan cara menambahkan data atau pesan rahasia pada
akhir file. Teknik ini dapat digunakan untuk menambahkan data yang
ukurannya sesuai dengan kebutuhan. Perhitungan kasar ukuran file yang
telah disisipkan data samadengan ukuran file sebelum disisipkan data
ditambah ukuran data rahasia yang telah diubah menjadi encoding file.
Teknik steganografi meliputi banyak sekali metode komunikasi untuk
menyembunyikan pesan rahasia (teks atau gambar) di dalam berkas-berkas
lain yang mengandung teks, image, bahkan audio tanpa menunjukkan
ciri-ciri perubahan yang nyata atau terlihat dalam kualitas dan struktur dari
berkas semula. Rijndael merupakan algoritma yang paling aman dari 5
kandidat terakhir, tetapi karena memiliki keseimbangan antara keamanan
dan fleksibilitas dalam berbagai platform software dan hardware.
1.2 Perumusan Masalah
Dari uraian latar belakang diatas maka dapat dirumuskan
permasalahan yang muncul, diantaranya adalah :
1) Bagaimana terwujudnya sebuah aplikasi untuk penyembunyian pesan
dalam file gambar menggunakan bahasa pemrograman matlab,
2) Bagaimana mengimplementasikan metode DCT (Discrete Cosine
Transform) untuk melakukan penyembunyian pesan dalam digital
image menggunakan Matlab,
1.3 Batasan Masalah
Adapun batasan masalah yang dibahas dalam penelitian ini adalah
sebagai berikut :
1) Citra Digital yang digunakan berekstensi jpeg, bmp dan tiff.
2) File yang disisipkan harus lebih kecil dari gambar penyisip.
3) File gambar yang akan disisipkan berupa file text berisi pesan.
4) Image digital yang dihasilkan setelah disisipi pesan teks yaitu *.jpeg,
*.bmp atau *.tiff. Sesuai dengan ekstensi file yang digunakan dalam
penyisipan gambar.
1.4 Tujuan Penelitian
Adapun tujuan yang ingin dicapai dalam penelitian ini adalah untuk:
1) Mewujudkan sebuah aplikasi yang dapat melakukan steganografi.
2) Menghasilkan file dalam bentuk gambar digital yang telah disisipi
pesan teks.
3) Mengetahui tingkat kualitas citra yang telah disisipkan pesan teks dari
jenis ekstensi .jpeg, .bmp dan .tiff.
.
1.5 Manfaat Penelitian
Manfaat yang didapatkan dalam penelitian ini adalah :
1) Memperoleh sebuah file gambar digital yang telah disisipi pesan
sehingga tidak diketahui isi pesan oleh orang lain yang melihat file
gambar tersebut.
2) Menentukan tingkat kualitas gambar yang telah disisipkan pesan teks
dari jenis ekstensi .jpeg, .bmp dan tiff.
3) Memberi kemudahan bagi pengguna untuk melakukan steganografi.
4) Menerapkan metode yang digunakan untuk teknik steganografi.
1.6 Sistematika Penulisan
Dalam penyusunan penelitian ini, penulis membuat sistematika yang
terdiri dari 6 bab pokok bahasan yaitu:
BAB I PENDAHULUAN
BAB I berisi pembahasan masalah umum yang meliputi latar belakang
masalah, rumusan masalah, batasan masalah, tujuan dan manfaat penelitian
dan sistematika penulisan.
BAB II LANDASAN TEORI
BAB II ini mengenai tinjauan pustaka yang berisikan teori-teori secara garis
besar yang berhubungan dengan penelitian.
BAB III METODE PENELITIAN
BAB II berisikan mengenai metode-metode yang digunakan dalam
penelitian, seperti teknik pengumpulan data, metode pengembangan sistem,
metode pengujian dan jadwal penelitian.
BAB IV ANALISIS DAN DESAIN PERANGKAT LUNAK
BAB IV menjelaskan setiap tahapan analisis dan perancangan sistem
aplikasi yang akan dibangun dalam penelitian meliputi perencanaan sistem,
analisis sistem, desain sistem dan implementasi sistem.
BAB V HASIL DAN PEMBAHASAN
BAB V merupakan bab yang berisi hasil dan pembahasan yang
menguraikan hasil perancangan sistem dan implementasinya.
BAB VI KESIMPULAN DAN SARAN
Pada BAB VI berisi kesimpulan dan saran.
BAB II
LANDASAN TEORI
2.1 Pengertian Aplikasi
Menurut Jogiyanto (2004:4) aplikasi merupakan program yang
berisikan perintah-perintah untuk melakukan pengolahan data. Jadi aplikasi
secara umum adalah suatu proses dari cara manual yang ditransformasikan
ke komputer dengan membuat sistem atau program agar data diolah lebih
berdaya guna secara optimal.
Sedangkan menurut Daryanto (2004:347), aplikasi adalah software
atau perangkat lunak yang dibuat untuk mengerjakan menyelesaikan
masalah-masalah khusus.
Dari uraian diatas maka dapat disimpulkan bahwa aplikasi adalah
sebuah perangkat lunak yang berisi perintah untuk menyelesaikan masalah
dan pengolahan data.
2.2 Pengertian Citra Digital
Menurut Putra (2010:19) citra digital merupakan sebuah larik
(array) yang berisi nilai-nilai real maupun komplek yang direpresentasikan
dengan deretan bit tertentu.
Suatu citra dapat didefinisikan sebagai fungsi f(x,y) berukuran M
baris dan N kolom, dengan x dan y adalah koordinat spasial, dan amplitudo
f di titik koordinat (x,y) dinamakan intensitas atau tingkat keabuan dari citra
pada titik tersebut. Apabila nilai x, y, dan nilai amplitudo f secara
keseluruhan berhingga (finite) dan bernilai diskrit maka dapat dikatakan
bahwa citra tersebut adalah citra digital (Putra, 2010:19).
Gambar 2.1. Koordinat Citra Digital
1) Pembentukan Citra Digital
Pembentukan citra digital (diskrit) melalui beberapa
tahapan, yaitu:
a. Akuisisi citra. Proses akuisisi citra adalah pemetaan suatu
pandangan (scene) menjadi citra kontinu.
b. Sampling. Proses sampling adalah proses digitasi pada
koordinat x, y. Hasil akusisi citra masih berupa citra kontinu
yang merupakan fungsi kontinu f(x,y). Fungsi tersebut
merupakan sinyal kontinu pada nilai x, y dan juga
amplitudonya (intensitas). Nilai x dan y yang kontinu akan
diubah menjadi bentuk diskrit.
c. Kuantisasi. Proses kuantisasi adalah proses perubahan nilai
amplitudo kontinu menjadi nilai baru yang berupa nilai distrit.
Nilai amplitudo yang dikuantisasi adalah nilai-nilai pada
koordinat distrit hasil proses sampling.
2) Resolusi Citra
Resolusi citra merupakan tingkat detail suatu citra. Semakin
tinggi resolusi citra maka akan semakin tinggi pula tingkat detail
dari citra tersebut. Satuan dalam pengukuran resolusi citra dapat
berupa ukuran fisik (jumlah garis per mm/jumlah garis per inchi)
ataupun dapat juga berupa ukuran citra menyeluruh (jumlah garis
per tinggi citra).
3) Jenis Citra
Nilai suatu pixel memiliki nilai dalam rentang tertentu, dari
nilai minimum sampai nilai maksimum. Jangkauan yang digunakan
berbeda-beda tergantung dari jenis warnanya. Namun secara umum
jangkauannya adalah 0-255. Citra dengan penggambaran seperti ini
digolongkan ke dalam citra integer. Berikut adalah jenis-jenis citra
berdasarkan nilai pixel-nya.
a. Citra Biner
Citra biner adalah citra digital yang hanya memiliki
dua kemungkinan nilai pixel yaitu hitam dan putih. Citra biner
juga disebut sebagai citra B&W (black and white) atau citra
monokrom. Hanya dibutuhkan 1 bit untuk mewakili nilai
setiap pixel dari citra biner.
b. Citra Grayscale
Citra grayscale merupakan citra digital yang hanya
memiliki satu nilai kanal pada setiap pixel-nya, dengan kata
lain nilai bagian RED = GREEN = BLUE. Nilai tersebut
digunakan untuk menunjukkan tingkat intensitas. Wama yang
dimiliki adalah wama dari hitam, keabuan, dan putih.
Tingkatan keabuan di sini merupakan warna abu dengan
berbagai tingkatan dari hitam hingga mendekati putih. Citra
grayscale berikut memiliki kedalaman wama 8 bit (256
kombinasi warna keabuan).
c. Citra Warna 8 bit
Setiap pixel dari citra warna (8 bit) hanya diwakili oleh
8 bit dengan jumlah warna maksimum yang dapat digunakan
adalah 256 warna. Ada dua jenis citra warna 8 bit. Pertama,
citra warna 8 bit dengan menggunakan palet warna 256 dengan
setiap paletnya memiliki pemetaan nilai (colormap) RGB
tertentu.
d. Citra Warna 16 bit
Citra wama 16 bit dengan setiap pixelnya diwakili
dengan 2 byte memory (16 bit). Warna 16 bit memiliki 65.536
warna. Dalam formasi bitnya, nilai merah dan biru mengambil
tempat di 5 bit di kanan dan kiri.
e. Citra Warna 24 bit
Setiap pixel dari citra warna 24 bit diwakili dengan 24
bit sehingga total 16.777.216 variasi warna. Variasi ini sudah
lebih dari cukup untuk memvisualisasikan seluruh warna yang
dapat dilihat penglihatan manusia. Penglihatan manusia
dipercaya hanya dapat membedakan hingga 10 juta warna saja.
2.4 Tinjauan Metode DCT (Discrete Cosine Transform)
Discrete Cosine Transform (DCT) biasa digunakan untuk mengubah
sebuah sinyal menjadi komponen frekuensi dasarnya. DCT adalah sebuah
transformasi yag mengubah sebuah kawasan spasial menjadi kawasan
fekuensi dan sebaliknya kawasan frekuensi dapat dikembalikan ke kawasan
spasial dengan menggunakan invers DCT. DCT pertama kali diperkenalkan
oleh Ahmed, Natarajan dan Rao pada tahun 1974 dalam makalahnya yang
berjudul "On image processing and a discrete cosine transform" (Watson,
1994.
Metode yang digunakan untuk menyembunyikan pesan pada media
digital tersebut berbeda-beda. Contohnya pada file image pesan dapat
disembunyikan dengan mentransformasi blok-blok gambar 8x8 pixel
kedalam 64 masing-masing koefisien (DCT) pada data pixel yang menyusun
file tersebut. Seperti kita ketahui untuk file bitmap 24 bit maka setiap pixel
(titik) pada gambar tersebut terdiri dari susunan tiga warna yaitu merah,
hijau, dan biru (RGB) yang masing-masing disusun oleh bilangan 8 bit
(byte) dari 0 sampai 255 atau dengan format biner 00000000 sampai
11111111.
Transformasi ini dikenal luas untuk pemrosesan citra digital. Pada
dasarnya DCT merupakan suatu transformasi one to one mapping dari suatu
array yang terdiri dari nilai pixel menjadi komponen komponen yang
terbagi menjadi frekuensi. Mengabaikan efek pembulatan angka pada proses
transformasi dapat dibalik kembali sehingga transformasi pembalikan ini
dikenal dengan inverse discrete cosinus transform (IDCT). Untuk sebuah
matriks M x N dapat dihitung dengan menggunakan DCT dua dimensi.
Transformasi citra dilakukan dengan menggunakan DCT (Discrete
Cosine Transform), sehingga dapat dikatakan bahwa penyisipan dilakukan
pada ranah DCT. Penyisipan dilakukan terhadap citra bitmap dengan
kedalaman warna 24 bit. DCT digunakan untuk metransformasikan nilai
intensitas blok 8x8 pikselnya yang berurutan dari image menjadi 64
koefisien DCT ke dalam frekuensi dasarnya, diubah koefisien-koefisiennya
dan kemudian ditransformasikan kembali dengan IDCT (Inverse Discrete
Cosine Transform). Setiap basis matriks dikarakterisasikan oleh frekuensi
spasial horizontal dan vertikal. Frekuensi horizontal meningkat dari kiri ke
kanan, dan dari atas ke bawah secara vertikal. Dalam konteks citra, hal ini
menunjukkan tingkat signifikansi secara perseptual, artinya basis fungsi
dengan frekuensi rendah memiliki sumbangan yang lebih besar bagi
perubahan penampakan citra dibandingkan basis fungsi yang memiliki
frekuensi tinggi. Nilai konstanta basis fungsi yang terletak di bagian kiri
atas sering disebut sebagai basis fungsi DC, dan DCT koefisien yang
bersesuaian dengannya disebut sebagai koefisien DC (DC coefficient).
Masukan proses DCT berupa matrik N x N. Persamaan DCT untuk
blok matrik berukuran N x N dapat dituliskan sebagai berikut :
Dengan u = 0,1,2,3…,n-1,v = 0,1,2,3…,m-1
Dimana :
u dan x = Citra yang akan disisipkan pesan
v dan y = Pesan yang akan disisipkan kedalam citra
S(u,v) = Data pada domain frekuensi
S(x,y) = Data pada domain ruang
Rumusan invers DCT sebagai berikut :
Dengan x = 0,1,2,3….,n – 1, y = 0,1,2,3 …., m – 1
Dimana:
u dan x = Citra yang akan disisipkan pesan
v dan y = Pesan yang akan disisipkan kedalam citra
S(u,v) = Data pada domain frekuensi
S(x,y) = Data pada domain ruang
Output dari fungsi DCT adalah nilai komponen frekuensi tertentu
dan output dari fungsi ini ditentukan oleh dua parameter, yaitu u dan v. Cara
menentukan mana yang frekuensi rendah dan mana yang frekuensi tinggi
adalah dengan menjumlahkan nilai u dan v. Jadi jika u+v makin tinggi
berarti S(u,v) menyatakan komponen frekuensi yang makin tinggi. Input dan
output dari fungsi DCT juga merupakan suatu matrix dengan ukuran NxN.
P(x,y) adalah nilai pixel pada koordinat (x,y), index dimulai dari 0.
Fungsi C(f) adalah suatu fungsi yang mengembalikan nilai satu per
akar dua bila f=0 dan mengembalikan nilai satu bila f tidak sama dengan
nol. Untuk perhitungan cosinus dilakukan dalam modus radian (bukan
derajat). Sedangkan variable N adalah variable yang menyatakan ukuran
matrix, misalnya ukuran matrix adalah 4 x 4 berarti N=4. Untuk rumus
inverse DCT berlaku hal yang sama. Pada rumus inverse DCT, S(u,v) yang
digunakan adalah S(u,v) hasil dari rumus DCT. Output dari fungsi invers
DCT adalah P(x,y), nilai pixel pada koordinat (x,y). Untuk memperjelas
penggunaan rumus diberi satu contoh, misalkan ada suatu citra yang
berukuran 4x4 pixel, gray scale 8-bit, dengan nilai komponen seperti :
Contoh 1 :
nilai pada baris 1 kolom 1 adalah nilai untuk P(0,0), sedangkan nilai
pada baris 4 kolom 4 adalah nilai untuk P(3,3). Jika nilai tersebut
dimasukkan ke rumus DCT dengan N=4, maka hasilnya adalah seperti
contoh 2 berikut :
Contoh 2 :
nilai baris 1 kolom 1 adalah nilai untuk frekuensi rendah,
sedangkan makin ke
arah kanan bawah menyatakan frekuensi yang makin tinggi.
Jika hasil dari DCT ini dimasukkan kembali ke rumus IDCT
maka akan dihasilkan seperti data aslinya, contoh 3 :
Contoh 3 :
2.5 Tinjauan Matlab
Menurut Teguh Widiarsono (2005:1) Matlab merupakan suatu
bahasa pemograman yang bisa membantu memecahkan berbagai masalah
matematis yang kerap kita temui dalam bidang teknis.
Sedang menurut Muhammad Iqbal (2009:2) Matlab adalah sebuah
bahasa dengan (high-performance) kinerja tinggi untuk komputasi masalah
teknik. Matlab mengintegrasikan komputasi, visualisasi, dan pemrograman
dalam suatu model yang sangat mudah untuk pakai dimana masalah-
masalah dan penyelesaiannya diekspresikan dalam notasi matematika yang
familiar.
Matlab merupakan akronim dari kata Matrix Laboratory. Versi
pertama Matlab ditulis pada tahun 1970. Saat itu, Matlab digunakan untuk
pelatihan dalam teori matrik, aljabar linier dan analisis numerik. Fungsi-
fungsi Matlab ini digunakan untuk menyelesaikan masalah bagian khusus,
yang disebut toolboxes. Toolboxes dapat digunakan untuk bidang
pengolahan sinyal, sistem pengaturan, fuzzy logic, numeral network,
optimasi, pengolahan citra, dan simulasi yang lain.
Matlab adalah bahasa pemrograman level tinggi yang dikhususkan
untuk komputasi teknis. Bahasa ini mengintegrasikan kemampuan
komputasi, visualisasi, dan pemrograman dalam sebuah lingkungan yang
tunggal dan mudah digunakan. Matlab memberikan sistem interaktif yang
menggunakan konsep array sebagai standar variabel elemennya tanpa
membutuhkan pendeklarasian array seperti pada bahasa pemrograman lain.
1) Jendela Utama
Gambar 2.2. Jendela Utama Matlab
Beberapa bagian dari Window Matlab adalah sebagai berikut:
a. Current Directory
Window ini menampilkan isi dari direktori kerja saat
menggunakan matlab. Kita dapat mengganti direktori ini
sesuai dengan tempat direktori kerja yang diinginkan. Default
dari alamat direktori berada dalam folder works tempat
program files Matlab berada.
b. Command History
Window ini berfungsi untuk menyimpan perintah-
perintah apa saja yang sebelumnya dilakukan oleh pengguna
terhadap matlab.
c. Workspace
Workspace berfungsi untuk menampilkan seluruh
variable-variable yang sedang aktif pada saat pemakaian matlab.
Apabila variable berupa data matriks berukuran besar, maka
user dapat melihat isi dari seluruh data dengan melakukan
double klik pada variable tersebut. Matlab secara otomatis akan
menampilkan window “array editor” yang berisikan data pada
setiap variable yang dipilih user.
d. Command Window
Window ini adalah window utama dari matlab. Disini
adalah tempat untuk menjalankan fungsi, mendeklarasikan
variable, menjalankan proses-proses, serta melihat isi variable.
2.5 Metode Pengembangan Sistem
Model sekuensial linier merupakan salah satu dari metode yang
digunakan untuk pengembangan sistem. Sekuensial linier sering disebut juga
dengan “siklus kehidupan klasik” atau “model air terjun”. Model sekuensial
linier mengusulkan sebuah pendekatan kepada perkembangan perangkat
lunak sistematik dan sekuensial yang mulai pada tingkat dan kemajuan
sistem pada seluruh analisis, desain, kode, pengujian dan pemeliharaan
(Pressman, 2002):
Gambar 2.3 Model Sekuensial Linier (Pressman, 2002)
Pada Gambar 2.3 menggambarkan model pengembangan model
sekuensial linier. Model sekuensial linier melingkupi aktivitas-aktivitas
sebagai berikut (Pressman, 2002)
1. Rekayasa dan pemodelan sistem
Karena sistem merupakan bagian dari sebuah sistem yang lebih besar,
kerja dimulai dengan membangun syarat dari semua elemen sistem dan
mengalokasikan beberapa subset dari kebutuhan ke software tersebut.
Pandangan sistem ini penting ketika software harus berhubungan
dengan elemen-elemen yang lain seperti software, manusia, dan
database. Rekayasa dan analisis sistem menyangkut pengumpulan
kebutuhan pada tingkat sistem dengan sejumlah kecil analisis serta
desain tingkat puncak. Rekayasa informasi mencakup juga
pengumpulan kebutuhan pada tingkat bisnis strategis dan tingkat area
bisnis.
2. Analisis kebutuhan software
Proses pengumpulan kebutuhan diintensifkan dan difokuskan,
khususnya pada software. Untuk memahami sifat program yang
dibangun, analisis harus memahami domain informasi, tingkah laku,
unjuk kerja, dan interface yang diperlukan. Kebutuhan baik untuk
sistem maupun software didokumentasikan dan dilihat lagi dengan
pelanggan.
3. Desain
Desain software sebenarnya adalah proses multi langkah yang berfokus
pada empat atribut sebuah program yang berbeda, struktur data,
arsitektur software, representasi interface, dan detail (algoritma)
prosedural. Proses desain menterjemahkan syarat/kebutuhan ke dalam
sebuah representasi software yang dapat diperkirakan demi kualitas
sebelum dimulai pemunculan kode. Sebagaimana persyaratan, desain
didokumentasikan dan menjadi bagian dari konfigurasi software.
4. Generasi kode
Desain harus diterjemahkan kedalam bentuk mesin yang bisa dibaca.
Langkah pembuatan kode melakukan tugas ini. Jika desain dilakukan
dengan cara yang lengkap, pembuatan kode dapat diselesaikan secara
mekanis.
5. Pengujian
Sekali program dibuat, pengujian program dimulai. Proses pengujian
berfokus pada logika internal software, memastikan bahwa semua
pernyataan sudah diuji, dan pada eksternal fungsional, yaitu
mengarahkan pengujian untuk menemukan kesalahan-kesalahan dan
memastikan bahwa input yang dibatasi akan memberikan hasil aktual
yang sesuai dengan hasil yang dibutuhkan.
6. Pemeliharaan
Software akan mengalami perubahan setelah disampaikan kepada
pelanggan (pengecualian yang mungkin adalah software yang
dilekatkan). Perubahan akan terjadi karena kesalahan-kesalahan
ditentukan, karena software harus disesuaikan untuk mengakomodasi
perubahan-perubahan di dalam lingkungan eksternalnya (contohnya
perubahan yang dibutuhkan sebagai akibat dari perangkat peripheral
atau sistem operasi yang baru), atau karena pelanggan membutuhkan
perkembangan fungsional atau unjuk kerja. Pemeliharaan software
mengaplikasikan lagi setiap fase program sebelumnya dan tidak
membuat yang baru lagi.
2.7 Pengujian Sistem
2.7.1 Teknik Pengujian Sistem
Konsep kualitas sangat penting demi kepuasan pengguna (juga
pengembang). Untuk mencapai kualitas yang diharapkan dari sistem yang
kita kembangkan pada umumnya ada beberapa strategi pengujian yang
dapat dilakukan. Strategi-strategi itu adalah (Nugroho, 2005) :
1. Black-Box Testing. Pada pengujian ini kita tidak perlu tahu apa
sesungguhnya terjadi pada sistem/perangkat lunak. Yang kita uji adalah
masukkan serta keluarannya. Artinya, dengan berbagai masukkan yang
kita berikan, apakah sistem memberikan keluaran seperti yang kita
harapkan.
2. White-Box Testing. Pengujian jenis ini mengasumsikan bahwa
spesifikasi logika adalah penting dan perlu dilakukan pengujian untuk
menjamin apakah sistem berfungsi dengan baik. Tujuan utama dari
strategi pengujian ini adalah pengujian berbasis kesalahan.
3. Top-Down Testing. Pengujian ini berasumsi bahwa logika utama atau
interaksi antar objek perlu diuji lebih lanjut. Strategi ini seringkali dapat
mendeteksi cacat/kesalahan/kekurangan yang serius. Pendekatan ini
sesuai dengan strategi pengujian berbasis scenario.
4. Bottom-Up Testing. Strategi ini mulai dengan rincian sistem kemudian
beranjak ke peringkat yang lebih tinggi. Dalam metodologi berorientasi
objek, kita mulai dengan menguji metoda-metoda dalam kelas, menguji
kelas-kelas serta interaksi antarkelas, dan selanjutnya hingga pada
peringkat yang paling tinggi.
2.7.2 Pengukuran Tingkat Kepuasan Pengguna
Mengenai kepuasan pengguna masih harus meninjau seberapa jauh
sistem yang telah kembangkan memuaskan pengguna. Beberapa cara yang
dapat ditempuh untuk mengetahui kepuasan pengguna adalah :
1. Kuestioner.
Kuestioner merupakan daftar pertanyaan yang diajukan pada seorang
responden untuk mencari jawaban dari permasalahan yang diteliti
(Hasibuan, 2007).
2. Pengamatan Langsung.
Pengamatan langsung bisa juga dilakukan untuk mengetahui apakah
sistem yang kita kembangkan sesuai dengan kebutuhan serta harapan
pengguna.
2.8 Penelitian terkait
Hasil penelitian yang relevan dengan penelitian yang peneliti lakukan
adalah :
a. Aries Pratiarso, dkk. Departemen Teknik Elektro Politeknik Elektronika
Negeri Surabaya, dalam penelitiannya berjudul Analisa PSNR Pada
Teknik Steganografi Menggunakan Spread Spectrum.
Penelitian ini bertujuan untuk menganalisa pengaruh derau (noise) pada
gambar yang terstego pada proses steganografi. Algoritma yang
digunakan adalah spread spectrum dan parity coding, algoritma ini
akan diterapkan pada proses steganografi untuk aplikasi e-commerce.
Pesan rahasia yang distegokan meliputi nomor dan password kartu
kredit. Data terstego berupa berkas gambar baru yang telah tersisipi
data penting tersebut yang kemudian dikirim kembali ke server untuk
proses pengembalian. Hasil akhir yang diperoleh dari penelitian ini
adalah analisa ketahanan gambar jika terkena derau (noise) pada proses
steganografi.Pengujian PSNR dilakukan 2 tahap, tahap pertama pada
proses pembentukan gambar stego dari gambar asli, dimana kedua
metode memberikan PSNR diatas 50 dB. Tahap kedua yaitu
disimulasikan pada proses pengiriman gambar stegano terdapat
serangan MITM (man in the middle attack) dengan memberikan titik-
titik hitam pada gambar, maka hasil PSNR langsung turun dibawah 30
dB. Pada pemberian titik hitam ini dilakukan pengujian sebanyak 10
titik hitam, pada metode parity coding, tidak bisa
mengembalikan data yang disisipkan sedangkan pada metode spread
spectrum masih bisa.
b. Warsino, Fakultas Teknologi Informasi, Universitas Tarumanegara, dalam
penelitiannya berjudul Implementasi Steganografi Teknik End Of File
Dengan Enkripsi
Keamanan file merupakan suatu tindakan yang bertujuan untuk
mengamankan data yang penting dalam suatu file dari gangguan pihak
lain yang tidak bertanggung jawab terhadap kerahasiaan data.
Keamanan file menjadi suatu kewajiban yang harus dilakukan demi
terjaminnya kerahasiaan data dalam suatu file. Teknik EOF atau End Of
File merupakan salah satu teknik yang digunakan dalam steganografi.
Teknik ini digunakan dengan cara menambahkan data atau pesan
rahasia pada akhir file. Teknik ini dapat digunakan untuk menambahkan
data yang ukurannya sesuai dengan kebutuhan. Perhitungan kasar
ukuran file yang telah disisipkan data samadengan ukuran file sebelum
disisipkan data ditambah ukuran data rahasia yang telah diubah menjadi
encoding file. Teknik steganografi meliputi banyak sekali metode
komunikasi untuk menyembunyikan pesan rahasia (teks atau gambar)
di dalam berkas-berkas lain yang mengandung teks, image, bahkan
audio tanpa menunjukkan ciri-ciri perubahan yang nyata atau terlihat
dalam kualitas dan struktur dari berkas semula. Rijndael merupakan
algoritma yang paling aman dari 5 kandidat terakhir, tetapi karena
memiliki keseimbangan antara keamanan dan fleksibilitas dalam
berbagai platform software dan hardware.