BAB 2 LANDASAN TEORI 2.1 Model Waterfall Metode rekayasa peranti lunak yang digunakan peneliti adalah Metode waterfall. Menurut Pressman (2010, p.39)waterfall adalah model klasik yang bersifat sistematis, berurutan dalam membangun software. Berikut adalah tahapan dalam model waterfall : 1. Communication Langkah ini merupakan analisis terhadap kebutuhan software, dan tahap untuk mengadakan pengumpulan data dengan melakukan pertemuan dengan customer, maupun mengumpulkan data-data tambahan baik yang ada di jurnal, artikel, maupun dari internet. 2. Planning Proses planning merupakan lanjutan dari proses communication (analysis requirement), tahapan ini akan menghasilkan dokumen user requirement atau bisa dikatakan sebagai data yang berhubungan dengan keinginan user dalam pembuatan software, di dalamnya sudah termasuk rencana yang akan dilakukan. 3. Modeling Proses modeling ini akan menerjemahkan syarat kebutuhan ke sebuah perancangan software yang dapat diperkirakan sebelum dibuat coding. Proses ini berfokus pada rancangan struktur data, arsitektur software, representasi interface, dan detail (algoritma) prosedural. Tahapan ini akan menghasilkan dokumen yang disebut software requirement.
37
Embed
BAB 2 LANDASAN TEORI - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00548-mtif 2.pdf · 2.1 Model Waterfall ... jalur tersembunyi dan komunikasi spektrum lebar.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
BAB 2
LANDASAN TEORI
2.1 Model Waterfall
Metode rekayasa peranti lunak yang digunakan peneliti adalah Metode waterfall.
Menurut Pressman (2010, p.39)waterfall adalah model klasik yang bersifat
sistematis, berurutan dalam membangun software.
Berikut adalah tahapan dalam model waterfall :
1. Communication
Langkah ini merupakan analisis terhadap kebutuhan software, dan tahap untuk
mengadakan pengumpulan data dengan melakukan pertemuan dengan customer,
maupun mengumpulkan data-data tambahan baik yang ada di jurnal, artikel,
maupun dari internet.
2. Planning
Proses planning merupakan lanjutan dari proses communication (analysis
requirement), tahapan ini akan menghasilkan dokumen user requirement atau
bisa dikatakan sebagai data yang berhubungan dengan keinginan user dalam
pembuatan software, di dalamnya sudah termasuk rencana yang akan dilakukan.
3. Modeling
Proses modeling ini akan menerjemahkan syarat kebutuhan ke sebuah
perancangan software yang dapat diperkirakan sebelum dibuat coding. Proses ini
berfokus pada rancangan struktur data, arsitektur software, representasi
interface, dan detail (algoritma) prosedural. Tahapan ini akan menghasilkan
dokumen yang disebut software requirement.
9
4. Constraction
Construction merupakan proses membuat kode. Coding merupakan
penerjemahan desain
dalam bahasa yang bisa dikenali oleh komputer. Dilakukan oleh programmer
yang akan menerjemahkan transaksi yang diminta oleh user. Tahapan inilah
yang merupakan tahapan secara nyata dalam mengerjakan suatu software.
Dalam artian penggunaan komputer akan dimaksimalkan dalam tahapan ini.
Setelah pengkodean selesai maka akan dilakukan testing terhadap sistem yang
telah dibuat tadi. Tujuan testing adalah menemukan kesalahan-kesalahan
terhadap sistem tersebut dan kemudian bisa diperbaiki.
5. Deployment
Tahapan ini bisa dikatakan final dalam pembuatan sebuah software atau sistem.
Setelah melakukan analisis, desain dan pengkodean maka sistem yang sudah jadi
akan digunakan oleh user. Kemudian software yang telah dibuat harus dilakukan
pemeliharaan secara berkala.
Fase-fase dalam modelwaterfall menurut referensi Pressman:
Gambar 2.1 Waterfall Model
Kekurangan yang utama dari model ini adalah kesulitan dalam mengakomodasi
perubahan setelah proses dijalani. Fase sebelumnya harus lengkap dan selesai
10
sebelum mengerjakan fase berikutnya, sedangkan menyatakan kebuthan secara
lengkap sangat sulit dilakukan pada awal proyek, yang berakibat sulitnya melanjut
pada fase selanjutnya. Sebuah kesalahan jika tidak diketahui dari awal akan menjadi
masalah besar karena harus mengulang dari fase awal lagi.
Masalah dengan waterfall :
1. Perubahan sulit dilakukan karena sifatnya yang kaku.
2. Karena sifat kakunya, model ini cocok ketika kebutuhan dikumpulkan secara
lengkap sehingga perubahan bisa ditekan sekecil mungkin. Tapi pada
kenyataannya jarang sekali konsumen/pengguna yang bisa memberikan
kebutuhan secara lengkap, perubahan kebutuhan adalah sesuatu yang wajar
terjadi.
3. Waterfall pada umumnya digunakan untuk rekayasa sistem yang besar dimana
proyek dikerjakan di beberapa tempat berbeda, dan dibagi menjadi beberapa
bagian sub-proyek.
2.2 Steganografi
Steganografi adalah ilmu dan seni untuk menyembunyikan informasi dengan
menyisipkan pesan kedalam pesan lainnya (Cachin, 2005).
Steganografi memungkinkan kondisi sehingga selain si pengirim dan si penerima,
tidak ada seorangpun yang mengetahui atau menyadari bahwa ada suatu pesan
rahasia.Sebaliknya, kriptografi menyamarkan arti dari suatu pesan, tapi tidak
menyembunyikan bahwa ada suatu pesan.
11
Tujuan daristeganografi adalah merahasiakan atau menyembunyikan keberadaan
dari sebuah pesan tersembunyi atau sebuah informasi. Dalam prakteknya,
kebanyakan pesan disembunyikan dengan membuat perubahan tipis terhadap data
digital lain yang isinya tidak akan menarik perhatian dari penyerang potensial,
sebagai contoh sebuah gambar yang terlihat tidak berbahaya. Perubahan ini
bergantung pada kunci (sama pada kriptografi) dan pesan untuk disembunyikan.
Orang yang menerima gambar kemudian dapat menyimpulkan informasi
terselubung dengan cara mengganti kunci yang benar ke dalam algoritma yang
digunakan.
Kata "steganografi" berasal dari bahasa Yunani steganos, yang artinya
“tersembunyi atau terselubung”, dan graphein, “menulis”.Catatan tertua mengenai
penggunaansteganografi tercatat pada masa Yunani kuno.Pada saat itu, penguasa
Yunani, Histiaues,sedang ditawan oleh Raja Darius di Susa.Histiaeus ingin
mengirim pesan rahasia kepadamenantunya, Aristagoras, di Miletus.Untukitu,
Histiaeus mencukur habis rambutbudaknya dan menatokan pesan rahasia yangingin
dikirim di kepala budak tersebut. Setelahrambut budak tadi tumbuh cukup
lebat,barulah ia dikirim ke Miletus.
Catatan lain tentang steganografi juga ditemukan pada jaman Yunani kuno,
medium tulisan pada saat ituadalah papan yang dilapisi lilin dan tulisanditulisi di
papan tersebut. Demeratus, perlumemberitahu Sparta bahwa Xerxes
bermaksuduntuk menginvasi Yunani.Agar pesan yangdikirimnya tidak diketahui
12
keberadaannya,Demeratus melapisi lagi papan tulisannya dengan lilin.Papan tulisan
yang terlihat masihkosong inilah yang dikirim ke Sparta.
Bangsa Romawi menggunakan tinta yang tidak nampak sebagai salah satu
metode steganografi untuk menulis pesan di antara baris-baris pesanyang ditulis
dengan tinta biasa. Tinta yang tidak nampak ini dapat terbuat dari sari jerukatau
susu. Ketika dipanaskan, warna tinta yangtidak tampak akan menjadi gelap
dantulisannya akan menjadi dapat terbaca. Tinta yang tidak tampak ini juga
digunakan dalamPerang Dunia II.
Steganografi terus berkembang selama abadkelima belas dan keenam belas.
Pada masa itu,banyak penulis buku yang engganmencantumkan namanya karena
takut akankekuatan penguasa pada saat itu.
Pengembangan lebih jauh lagi mengenaisteganografi terjadi pada tahun 1883
dengandipublikasikannya kriptografi militer olehAuguste Kerckhoffs.Meskipun
sebagian besarberbicara mengenai kriptografi, Kerckhoffsmenjabarkan beberapa
deskripsi yang patutdicatat ketika merancang sebuah sistem steganografi.Lebih jauh
lagi, Les Filigranes, yang ditulis oleh Charle Briquet di tahun1907,merupakan
sebuah kamus sejarah dariwatermark, salah satu wujud pengaplikasiansteganografi.
Kini, istilah steganografitermasuk penyembunyian data digital dalam berkas-
berkas (file) komputer. Contohnya, si pengirim mulai dengan berkas gambar biasa,
lalu mengatur warna setiap piksel ke-100 untuk menyesuaikan suatu huruf dalam
alphabet (perubahannya begitu halus sehingga tidak ada seorangpun yang
menyadarinya jika ia tidak benar-benar memperhatikannya).
13
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.
Metode ini termasuk tinta yang tidak tampak, microdots, pengaturan kata, tanda
tangan digital, jalur tersembunyi dan komunikasi spektrum lebar.
Metode steganografisangat berguna jika digunakan pada wujud steganografi
komputer karena banyak format berkas digital yang dapat dijadikan media untuk
menyembunyikan pesan. Format yang biasa digunakan di antaranya:
codetersinkronisasi.Berdasarkan definisi, dapat dikatakan
bahwasteganografi menggunakan metode spreadspectrum
memperlakukan cover-object baiksebagai derau (noise) ataupun sebagai
usahauntuk menambahkan derau semu (pseudonoise)ke dalam cover-
object.Proses penyisipan pesan menggunakan metodeSpread Spectrum
ini terdiri dari tiga proses, yaituspreading, modulasi, dan penyisipan
pesan ke citra. Sedangkan Proses ekstraksi pesan menggunakan
metodeSpread Spectrum ini terdiri dari tiga proses, yaitupengambilan
pesan dari matriks frekuensi,demodulasi, dan de- spreading.
4. Bit-Plane Complexity Segmentation
17
Steganografi BPCS diperkenalkan oleh Eiji Kawaguchi dan
Richard O. Eason pada tahun 1997, untuk mengatasi kekurangan teknik
steganografi tradisional seperti teknik Least Significant Bit (LSB),
teknik Transform embedding, dan teknik masking perceptual. Teknik
tradisional memiliki kapasitas yang kecil dalam penyembunyian pesan,
yang dapat menyembunyikan hingga 10 - 15% dari jumlah total objek
gambar pembawanya.
BPCS memanfaatkan karakteristik penglihatan manusia.Hal ini
tidak didasarkan pada pemrograman teknik, tetapi didasarkan pada
properti dari sistem penglihatan manusia. Informasi kapasitas
persembunyiannya dapat sebagai besar sebagai 50% daridata gambar
asli (Kawaguchi dan Eason, 1998). Pada BPCS, gambar pembawa
pesan dibagi menjadi “informative region” dan “noise-like region”.
Kemudian pesan yang akan disembunyikan akan dimasukkan pada
bagian “noise-like region” tanpa mengurangi kualitas gambar
pembawanya tersebut. Dalam teknik LSB, data tersembunyi dalam
empat bit terakhir yaitu hanya dalam 4 bit LSB. Tapi dalam teknik
BPCS, data tersembunyi dalam MSB maupun LSB sehingga
penyembunyian pesan menjadi lebih kompleks.
2.3Citra Digital
18
Menurut Susanto (2011) citra digital merupakan fungsi intensitas cahaya f(x,y),
dimana harga x dan y merupakan koordinat spasial dan harga fungsi tersebut pada
setiap titik (x,y) merupakan tingkat kecemerlangan citra pada titik tersebut.Citra
digital adalah citra f(x,y) dimana dilakukan diskritisasi koordinat spasial (sampling)
dan diskritisasi tingkat kecemerlangannya/keabuan (kwantisasi).Citra digital
merupakan suatu matriks dimana indeks baris dan kolomnya menyatakan suatu titik
pada citra tersebut dan elemen matriksnya (yang disebut sebagai elemen gambar /
piksel / pixel / picture element / pels) menyatakan tingkat keabuan pada titik
tersebut. Citra berukuran N x M dinyatakan dengan matriks yang berukuran N baris
dan m kolom.
Gambar 2.3 Matriks Citra Digital
Citra digital dibentuk dari blok-blok kecil yang dinamakan piksel.Piksel
merupakan elemen penyusun warna terkecil yang menyusun suatu citra. Untuk
menunjukkan tingkat pencahayaan piksel, digunakan bilangan bulat yang besarnya 8
bit(1 byte) untuk setiap pikselnya, dengan lebar selang antara 0-255, dimana 0 untuk
warna hitam, 255 untuk warna putih, dan tingkat keabuan ditandai dengan nilai
diantara 0-255.
Citra digital dapat dikualifikasikan berdasarkan sifat dari nilai terkuantisasinya
sebagai berikut :
19
a. citra biner
Citra Biner disebut juga dengan bi-level adalah citra digital yang hanya
mempunyai dua kemungkinan nilai pada pixel-pixelnya (hitam atau putih). Citra
biner biasanya dihasilkan melalui proses segmentasi ataupun proses tresholding,
atau dihasilkan beberapa alat-alat input/output yang hanya mendukung citra
biner seperti: printer laser dan mesin fax.
Gambar 2.4Citra Biner Gambar 2.5Representasi Citra Biner
b. citra grayscale
Citra greyscale disebut juga dengan citra 8-bit karena memiliki 28 (256)
kemungkinan nilai pada masing-masing pikselnya.Nilai tersebut dimulai dari nol
untuk warna hitam dan 255 untuk warna putih.Citra ini disebut juga citra hitam
putih atau citra monoakromatik.
Gambar 2.6Matriks 2D Citra Keabuan
c. citra warna
20
Citra warna adalah citra yang nilai piksel-nya merepresentasikan warna
tertentu.Banyaknya warna yang mungkin digunakan bergantung kepada
kedalaman pixel citra yang bersangkutan. Citra berwarna direpresentasikan
dalam beberapa kanal (channel) yang menyatakan komponen-komponen warna
penyusunnya. Banyaknya kanal yang digunakan bergantung pada model warna
yang digunakan pada citra tersebut.
Intensitas suatu pada titik pada citra berwarna merupakan kombinasi dari
tiga intensitas : derajat keabuan merah (fmerah(x,y)), hijau fhijau(x,y) dan biru
(fbiru(x,y)). Persepsi visual citra berwarna umumnya lebih kaya di bandingkan
dengan citra hitam putih.Citra berwarna menampilkan objek seperti warna
aslinya (meskipun tidak selalu tepat demikian).Warna-warna yang diterima oleh
mata manusia merupakan hasil kombinasi cahaya dengan panjang gelombang
berbeda.
Gambar 2.7 Komponen Citra Warna dalam RGB
21
2.3.1 Jenis Citra Digital
Citra digital dapat dibedakan menjadi 2 jenis :
1. Raster
Raster image, atau yang juga biasa dikenal dengan bitmap,
merupakan sebuah cara untuk merepresentasikan gambar digital
(digital image). Tipe file raster pada umumnya seperti : jpg, jpeg, gif,
png, tif, tiff, bmp, psd, dan pdfs.Raster image merepresentasikan
sebuah gambar dalam serangkain bit informasi di mana diterjemahkan
ke dalam piksel pada layar. Piksel-piksel tersebut membentuk titik-titik
warna yang membuat sebuah gambar utuh.
Gambar 2.8 Contoh Gambar Raster
Ketika sebuah raster image dibuat, gambar pada layar
dikonversikan pada piksel-piksel.Setiap piksel memiliki nilai spesifik
yang menentukan warnanya.Sistem raster image menggunakan sistem
warna merah, hijau, biru alias red, green, blue (RGB). Nilai RGB dari
0,0,0 akan menjadi warna hitam, dan nilai tersebut bervariasi sampai
angka 256 untuk setiap warnanya, memungkinkan ekspresi berbagai
macam warna.
22
2. Vektor
Tidak seperti JPEG, GIF, dan BMP , citra vektor tidak terdiri dari
kotak piksel. Sebaliknya, terdiri dari path, yang didefinisikan oleh titik
awal dan akhir, bersama dengan titik lainnya, kurva-kurva, dan sudut
di sepanjang jalurnya. Path dapat menjadi garis, persegi, segitiga, atau
bentuk melengkung. Path ini dapat digunakan untuk membuat gambar
sederhana atau diagram kompleks bahkan digunakan untuk
mendefinisikan karakter tipografi tertentu.
Karena berbasis vektor, gambar tidak terdiri dari sejumlah titik
tertentu (piksel), gambar dapat diubah ke ukuran lebih besar dan tidak
kehilangan kualitas gambar. Jika membesarkan sebuah citra raster,
akan tampak seperti blok-blok warna, atau "pixelated." Ketika
membesarkan vektor grafis, tepi setiap objek dalam grafis tetap halus
dan bersih. Jenis-jenis grafik vektor termasuk Adobe Illustrator,
Macromedia Freehand, dan file EPS. Animasi Flash juga banyak
menggunakan citra vektor, karena mereka lebih baik dalam proses
pengubahan skala dan biasanya lebih irit ruang penyimpanan dari citra
raster.
23
Gambar 2.9 Perbedaan Gambar Vektor dengan Raster
2.3.2 Format-format Citra Digital
Macam-macam format gambar digital :
1. TIFF (Tagged image format File)
Format file ini mampu menyimpan gambar dengan kualitas
hingga 32 bit. Format file ini juga dapat digunakan untuk keperluan
pertukaran antar platform (PC, Machintosh, dan Silicon Graphic).
Format file ini merupakan salah satu format yang dipilih dan sangat
Representasi vektor fitur poligon danau. Perhatikan detail dipertahankan di garis pantai yang mendefinisikan batas antara air dan dataran tinggi.
Raster representasi dari danau yang sama. Dengan format data raster, sel-seldigunakan untuk mengkodekan data geografis. Seluruh area sel masing-masing ditugaskan untuk kategori tunggal dan rincian batasmenjadi hilang.
24
disukai oleh para pengguna komputer grafis terutama yang
berorientasi pada publikasi (cetak). Hampir semua program yang
mampu membaca format file bitmap juga mampu membaca format
file TIF.
2. BMP (Bitmap)
Format file ini merupakan format grafis yang fleksibel untuk
platform Windows sehingga dapat dibaca oleh program grafis
manapun. Format ini mampu menyimpan informasi dengan kualitas
tingkat 1 bit sampai 24 bit. Format file ini mampu menyimpan
gambar dalam mode warna RGB, Grayscale, Indexed Color, dan
Bitmap. Kelemahan format file ini adalah tidak mampu menyimpan
alpha channel serta ada kendala dalam pertukaran platform.
Kelebihan tipe file BMP adalah dapat dibuka oleh hampir semua
program pengolah gambar. Baik file BMP yang terkompresi maupun
tidak terkompresi, file BMP memiliki ukuran yang jauh lebih besar
daripada tipe-tipe yang lain.
File BMP cocok digunakan untuk:
- desktop background di windows.
- sebagai gambar sementara yang mau diedit ulang tanpa menurunkan
kualitasnya.
File BMP tidak cocok digunakan untuk:
- web atau blog, perlu dikonversi menjadi JPG, GIF, atau PNG.
- disimpan di harddisk/flashdisk tanpa dikompresi menjadiZIP/RAR.
25
3. JPG/JPEG (Joint Photographic Experts Group)
Joint Photograpic Experts (JPEG , dibaca jay-peg) di rancang
untuk kompresi beberapa full-color atau gray-scale dari suatu
gambar yang asli, seperti pemandangan asli di dunia ini. JPEGs
bekerja dengan baik pada continous tone images seperi photographs
tetapi tidak terlalu bagus pada ketajaman gambar dan seni pewarnaan
seperti penulisan, kartun yang sederhana atau gambar yang
mengunakan banyak garis. JPEG sudah mendukung untuk 24-bit
color depth atau sama dengan 16,7 juta warna (224 = 16.777.216
warna).
JPEG adalah algoritma kompresi secara lossy. JPEG bekerja
dengan merubah gambar spasial dan merepresentasikan kedalam
pemetaan frekueunsi. Discrete Cosine Transform (DCT) dengan
memisahkan antara informasi frekuensi yang rendah dan tinggi dari
sebuah gambar. Informasi frekuensi yang tinggi akan diseleksi untuk
dihilangkan yang terikat pada pengaturan kualitas yang digunakan.
Kompresi dengan tingkatan yang lebih baik , tingkatan yang lebih
baik dari informasi yang dihilangkan.
JPEG dirancang untuk mengeksploitasi tingkatan dari mata kita
yakni bahwa mata kita tidak akan dapat membedakan perubahan yang
lambat terang dan warna dibandingkan dengan perbedaan suatu jarak
apakah jauh atau dekat. Untuk itu JPEG sangat baik digunkan pada
fotografi dan monitor 80-bit.
26
File JPG cocok digunakan untuk:
- gambar yang memiliki banyak warna, misalnya foto wajah dan
pemandangan.
- gambar yang memiliki gradien, misalnya perubahan warna yang
perlahan-lahan dari merah ke biru.
File JPG tidak cocok digunakan untuk:
- gambar yang hanya memiliki warna sedikit seperti kartun atau
komik.
- gambar yang memerlukan ketegasan garis seperti logo.
4. GIF (Graphics Interchange Format)
Format file ini hanya mampu menyimpan dalam 8 bit (hanya
mendukung mode warna Grayscale, Bitmap dan Indexed Color).
Format file ini merupakan format standar untuk publikasi elektronik
dan internet. Format file mampu menyimpan animasi dua dimensi
yang akan dipublikasikan pada internet, desain halaman web dan
publikasi elektronik. Format file ini mampu mengkompres dengan
ukuran kecil menggunakan kompresi LZW.
Tipe file GIF memungkinkan penambahan warna transparan dan
dapat digunakan untuk membuat animasi sederhana, tetapi saat ini
standar GIF hanya maksimal 256 warna saja. File ini menggunakan
kompresi yang tidak menghilangkan data (lossles compression) tetapi
penurunan jumlah warna menjadi 256 sering membuat gambar yang
kaya warna seperti pemandangan menjadi tidak realistis.
27
Format GIF merupakan format file yang paling banyak
disarankan dan digunakan. Kelebihan Format ini antara lain adalah :
- ukuran file yang dihasilkan relatif kecil.
- mampu menggabungkan beberapa gambar menjadi satu kesatuan dan
menampilkannya secara bergantian (animasi).
- warna latar belakang dapat dibuat transparan.
- adanya teknologi interlacing yang akan membuat sebuah file di-load
secara utuh dengan kualitas yang ditampilkan secara bertahap.
File GIF cocok digunakan untuk:
- gambar dengan jumlah warna sedikit (dibawah 256).
- gambar yang memerlukan perbedaan warna yang tegas seperti logo
tanpa gradien.
- gambar animasi sederhana seperti banner-banner iklan, header, dan
sebagainya.
- print shoot (hasil dari print screen) dari program-program simple
dengan jumlah warna sedikit.
File GIF tidak cocok digunakan untuk:
- gambar yang memiliki banyak warna seperti pemandangan.
- gambar yang didalamnya terdapat warna gradien atau semburat.
5. PNG (Portable Network Graphics)
Format file ini berfungsi sebagai alternatif lain dari format file
GIF. Format file ini digunakan untuk menampilkan objek dalam
halaman web. Kelebihan dari format file ini dibandingkan denganGIF
28
adalah kemampuannya menyimpan file dalam bit depth hingga 24 bit
serta mampu menghasilkan latar belakang (background) yang
transparan dengan pinggiran yang halus. Format file ini mampu
menyimpan alpha channel. File PNG dapat diatur jumlah warnanya
64 bit (true color + alpha) sampai indexed color 1 bit. Dengan
jumlah warna yang sama, kompresi file PNG lebih baik daripada
GIF, tetapi memiliki ukuran file yang lebih besar daripada JPG.
Kekurangan tipe PNG adalah belum populer sehingga sebagian
browser tidak mendukungnya.
Adapun beberapa kelebihan dari formatPNG adalah:
- punya semua kelebihan GIF, kecuali animasi.
- fitur Interlacing 2 dimensi yang terbukti lebih baik jika dibandingkan
dengan interlacing milik GIF.
- tersedianya 2 format file yaitu PNG8 (256 warna) dan PNG24 yang
membuat desainer dapat lebih leluasa memilih kualitas gambar.
- teknik kompresi lossless yang digunakan akan menghasilkan ukuran
file yang kecil dengan tidak mengalami penurunan kualitas gambar,
bandingkan dengan JPEG yang menggunakan teknik kompresi lossy
yang dipastikan akan membuat kualitas gambar menurun.
File PNG cocok digunakan untuk:
- gambar yang memiliki warna banyak.
- gambar yang mau diedit ulang tanpa menurunkan kualitas.
29
2.4 Aplikasi Mobile
Menurut Romdoni (2010), aplikasi adalah program yang digunakan untuk
melakukan sesuatu pada sistem komputer. Mobile dapat diartikan sebagai
perpindahan yang mudah dilakukan dari suatu tempat ke tempat lain, misalnya
telepon genggam, yang dapat digunakan dengan berpindah-pindah tempat dengan
mudah dari suatu tempat ke tempat lain tanpa pemutusan atau terputusnya
komunikasi.
Sistem aplikasi mobile adalah aplikasi yang dapat digunakan pengguna dengan
berpindah-pindah tempat dengan mudah dari suatu tempat ke tempat lain tanpa
pemutusan atau terputusnya komunikasi.
Sedangkan akses informasi dari aplikasi mobile biasanya hanya berupa teks
sederhana, kalaupun berupa gambar, maka gambar dengan ukuran yang tidak
terlalu besar. Perangkat mobile yang digunakan masa kini seperti ponsel cerdas,
tablet PC, PDA, dll. Beberapa karakteristik perangkat mobile:
1.Ukuran yang kecil
Perangkat mobile memiliki ukuran yang kecil.Konsumen menginginkan
perangkat yang terkecil untuk kenyamanan dan mobilitas mereka.
2.Memory yang terbatas
Perangkat mobile juga memiliki memory yang kecil, yaitu primary (RAM) dan
secondary (disk).
3.Daya proses yang terbatas
Sistem mobile tidaklah dibandingkan desktop.
30
4.Mengkonsumsi daya yang rendah
Perangkat mobile menghabiskan sedikit daya dibandingkan dengan mesin
desktop.
5.Kuat dan dapat diandalkan
Karena perangkat mobile selalu dibawa kemana saja, mereka harus cukup kuat
untuk menghadapi benturan-benturan, gerakan, dan sesekali tetesan-tetesan air.
6.Konektivitas yang terbatas
Perangkat mobile memiliki bandwith rendah, beberapa dari mereka bahkan tidak
tersambung.
7.Masa hidup yang pendek
Perangkat-perangkat konsumen ini menyala dalam hitungan detik, bahkan
kebanyakan dari mereka selalu menyala.
2.5 Android
Android OS adalah sebuah sistem operasi mobile untuk preangkat seluler,
tablet, dan netbook.Pada awalnya, Android OS dikembangkan oleh Android Inc dan
kemudian dibeli oleh Google.Android dikembangkan oleh Google berbasiskan
kernel Linux dan software-software GNU.Saat ini, Android dipegang oleh Open
Handset Alliance dengan Google sebagai salah satu anggotanya (Skeldrak, 2011).
Menurut Priyanta (2011) beberapa keunggulan Android antara lain :
- Terbuka (open source), platform terbuka yang berdasarkan pada Linux yang
merupakan platform terbuka juga. Hal ini memungkinkan proses pembelajaran,
31
pembuatan, dan pengkostumiasian menggunakan platform Android tanpa
membayar royalti.
- Probabilitas tinggi, karena semua program ditulis dengan bahasa pemrograman
Java.
- Menyediakan kualitas suara dan grafik yang tinggi, juga didukung oleh platform
seperti OpenGL.
- Android menyediakan berbagai macam library, sehingga tidak perlu membangun
dari awal.
- Karena terbuka, sehingga menyediakan Software Development Kit (SDK) gratis,
dan didukung Integrated Development Environtment terbuka, yaitu Eclipse.
- Didukung puluhan ribu aplikasi baik gratis, trial, maupun berbayar.
2.6 PSNR (Peak Signal to Noise Ratio)
Analisis PSNR menggunakan model matematika standar untuk mengukur
perbedaan antara dua gambar yang obyektif. Hal ini umumnya digunakan dalam
pengembangan dan analisis algoritma kompresi, dan untuk membandingkan
kualitas visual antara sistem kompresi yang berbeda (Bucklin, Davidson, Newman,
Sergaves, Taylor, 2009).
PSNRpada penelitian ini digunakan untuk mengetahui perbandingan kualitas
citra sebelum (gambar penampung) dan sesudah disisipkan pesan (gambar stego).
Peak Signal to Noise Ratio (PSNR) adalah perbandingan antara nilai maksimum
dari sinyal yang diukur dengan besarnya derau yang berpengaruh pada sinyal
32
tersebut.Untuk menentukan PSNR, terlebih dahulu harus ditentukan nilai rata-rata
kuadrat dari error (MSE - Mean Square Error).
1
|| , , ||
Dimana :
MSE = Nilai Mean Square Error dari citra tersebut
m = panjang citra tersebut (dalam piksel)
n = lebar citra tersebut (dalam piksel)
(i,j) = koordinat masing-masing piksel
I = nilai bit citra pada koordinat i,j
K = nilai derajat keabuan citra pada koordinat i,j
Sementara nilai PSNR dihitung dari kuadrat nilai maksimum sinyal dibagi
dengan MSE. Apabila diinginkan PSNR dalam desibel, maka nilai PSNR akan
menjadi sebagai berikut :
10 log255
20 log255
√
Dimana :
PSNR = nilai PSNR citra (dalam dB)
255 = nilai maksimum piksel (nilai maksimum piksel warna adalah 255)
MSE = nilai MSE
Nilai PSNR yang baik untuk citra adalah lebih besar dari 30 dB. Dalam
prakteknya, menjadi sangat sulit untuk melihat perbedaan untuk PSNR yang lebih
33
besar dari 50 dB antara gambar sumber dan gambar terkompresi (Bucklin et.al,
2009).
2.7 BPCS (Bit-Plane Complexity Segmentation)
Steganografi BPCS diperkenalkan oleh Eiji Kawaguchi dan Richard O. Eason
pada tahun 1997.BPCS memanfaatkan karakteristik penglihatan manusia.Dalam
teknik BPCS, data tersembunyi dalam MSB maupun LSB sehingga penyembunyian
pesan menjadi lebih kompleks.
Eiji Kawaguchi dan R. O. Eason memperkenalkan teknik BPCS ini untuk
digunakan pada dokumen citra berwarna yang tidak terkompresi dengan format
BMP. Dokumen citra tersebut dibagi menjadi beberapa segmen dengan ukuran 8x8
piksel setiap segmennya (Kawaguchi et.al, 1998). Pada dokumen citra 8-bit, setiap
satu segmen akan memiliki 8 buah bit plane yang merepresentasikan piksel-piksel
dari setiap bit tersebut. Gambar multi-nilai (P) terdiri dari n-bit piksel dapat
didekomposisi menjadi himpunan n - gambar biner. Proses pembagian segmen 8x8
piksel menjadi 8 buah bit plane disebut proses bit slicing.
Sebagai contoh: P adalah gambar n-bit abu-abu misalkan n = 8. Oleh karena P =
[P7 P5 P6 P2 P3 P4 P0 P1] mana P7 adalah bit-plane MSB dan P0 adalah bit-plane
LSB. Pada BPCS, gambar pembawa pesan dibagi menjadi “informative region”
dan “noise-like region”. Kemudian pesan yang akan disembunyikan akan
dimasukkan pada bagian “noise-like region” tanpa mengurangi kualitas gambar
pembawanya tersebut (Khaire dan Nalbalwar, 2010). Sebuah wilayah “informatif”
terdiri dari pola sederhana, sementara wilayah “noise” terdiri dari pola yang
34
kompleks. Representasi kedelapan bit plane ini merupakan PBC system(Pure
Binary Code). Pada BPCS, proses penyisipan dilakukan pada bit plane dengan
sistem CGC (Canonical Gray Code) karena proses bit slicing pada CGC cenderung
lebih baik dibandingkan pada PBC (Kawaguchi et.al, 1998). Sehingga pada proses
penyisipan, bit plane dengan representasi PBC diubah menjadi bit plane dengan
representasi CGC.
2.7.1 CGC pada BPCS
Tujuan utama dari BPCS adalah untuk memanfaatkan sebesar-besarnya
ruang pada image pembawa tanpa banyak mengurangi kualitas tampilan
visual dari gambar aslinya. Pure Binary Coding (PBC) pada bit-plane
menyediakan wilayah yang lebih besar untuk embedding. Tapi PBC
mengalami masalah "Hamming Cliff”, dimana perubahan kecil dalam warna
mempengaruhi banyak bit dari nilai warna. Hal ini dapat lebih baik
dijelaskan dengan bantuan contoh.
Pertimbangkan dalam gambar 8–bit, ada dua piksel berturut-turut
memiliki nilai intensitas 127 dan 128 masing-masing. Pada PBC, 127
direpresentasikan sebagai 01111111 dan 128 direpresentasikan sebagai
10000000. Kedua piksel tampaknya identik dengan mata manusia tetapi
sangat berbeda dalam representasi bit. Ini disebut konsep "Hamming Cliff"
(Khaire, Shrikan et. al., 2010). Jika data rahasia tertanam, maka ada
kemungkinan bahwa bisa menjadi 11111111 01111111 dan bisa menjadi
00000000 10000000.
35
Sebelumnya, ada perbedaan satu tingkat keabuan yang diabaikan oleh
mata manusia. Sekarang, setelah embedding, perbedaan tingkat abu-abu
adalah bahwa dari 255 yaitu satu pixel muncul hitam gelap sementara piksel
lainnya tampak putih murni. Perubahan ini mudah terlihat oleh mata
manusia. Kelemahan ini dihindari oleh Cannonical Gray Coding (CGC),
pada CGC teknik pengkodean abu-abu digunakan. Dengan demikian, 127
yang direpresentasikan dalam bentuk biner sebagai 01111111 sekarang
direpresentasikan sebagai 01000000 di CGC. Demikian pula, 128
direpresentasikan dalam CGC sebagai 11000000. Sekarang, dua piksel
terlihat sama, tetapi berbeda hanya dengan satu bit. Hal ini persis
berlawanan dengan PBC. Jadi, CGC tidak mengalami masalah dari
"Hamming Cliff". Setelah embedding, 01000000 bisa menjadi 11000000
dan 11000000 bisa menjadi 01000000. Jadi, perubahan piksel terjadi dalam
tingkat intensitas yang tidak terlalu mencolok. Oleh karena itu, CGC dipakai
daripada PBC di sistem BPCS.
Gambar 2.10 PBC dan CGC pada BPCS
36
Berikut adalah rumus persamaan antara gambar biner PBC dan CGC
(dengan adalah Exclusive OR) :
g1 = b1
gi= bi-1 bi , i > 1
b1 = g1
bi = gi bi-1, i > 1
dengan gi : nilai bit ke-i pada sistem CGC
bi : nilai bit ke-i pada sistem PBC
2.7.2 Bit-plane Slicing pada BPCS
Sebuah citra multi-valued dengan kedalaman n bit dapat diuraikan
menjadi bentuk n-gambar biner (bit plane) dengan operasi bit slicing
(Kawaguchi et.al, 1998). Pemotongan bit-plane (bit-plane slicing) dapat
dipahami pada gambar berikut :
Gambar 2.11 Konsep Pemisahan Bit-plane dengan Nilai Piksel 131
37
Piksel adalah nomor digital yang terdiri dari bit. Dalam gambar 8-bit,
intensitas setiap piksel diwakili oleh 8-bit. Gambar 8-bit terdiri dari delapan
daerah 1-bit plane, dari bit plane '0 '(LSB) ke bit-plane '7' (MSB).Plane '0 '
berisi semua bit urutan terendah (LSB) dari semua piksel dalam gambar
sementara plane '7' berisi semua bit orde tinggi (MSB). Pemisahan bit plane
berguna untuk kompresi gambar. Kompleksitas dari setiap pola bit-plane
meningkat secara monotical dari MSB ke LSB.
Sebagai contoh, misalkan ada citra P dengan kedalaman n-bit, dapat
ditunjukkan
P = (P1, P2,…, Pn)
Pi merupakan bit plane ke-i, dengan i = 1, 2, …, n.
Jika citra P terdiri dari 3 warna, red, green, blue, maka dapat ditunjukkan