waterfall menurut pressman

Upload: billy-d-kasiwi

Post on 19-Oct-2015

126 views

Category:

Documents


0 download

TRANSCRIPT

  • BAB 2

    LANDASAN TEORI

    2.1 Model Waterfall

    Menurut Pressman (2010, p39) model waterfall adalah model klasik yang

    bersifat sistematis, berurutan dalam membangun software. Berikut ini ada dua

    gambaran dari waterfall model.

    Fase-fase dalam model waterfall menurut referensi Pressman:

    Gambar 2.1 Waterfall Pressman

    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, termasuk rencana yang akan dilakukan.

  • 8

    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.

    4. Construction

    Construction merupakan proses membuat kode. Coding atau pengkodean

    merupakan penerjemahan desain dalam bahasa yang bisa dikenali oleh

    komputer. Programmer akan menerjemahkan transaksi yang diminta oleh user.

    Tahapan inilah yang merupakan tahapan secara nyata dalam mengerjakan suatu

    software, artinya 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 untuk 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.

  • 9

    Sedangkan fase-fase model waterfall menurut referensi Sommerfille:

    Gambar 2.2 Waterfall Sommerfille

    1. Requirements Analysis and Definition

    Mengumpulkan kebutuhan secara lengkap kemudian dianalisis dan didefinisikan

    kebutuhan yang harus dipenuhi oleh software yang akan dibangun. Hal ini

    sangat penting, mengingat software harus dapat berinteraksi dengan elemen-

    elemen yang lain seperti hardware, database, dsb. Tahap ini sering disebut

    dengan Project Definition.

    2. System and Software Design

    Proses pencarian kebutuhan diintensifkan dan difokuskan pada software. Untuk

    mengetahui sifat dari program yang akan dibuat, maka para software engineer

  • 10

    harus mengerti tentang domain informasi dari software, misalnya fungsi yang

    dibutuhkan, user interface, dsb. Dari dua aktivitas tersebut (pencarian kebutuhan

    sistem dan software) harus didokumentasikan dan ditunjukkan kepada user.

    Proses software design untuk mengubah kebutuhan-kebutuhan di atas menjadi

    representasi ke dalam bentuk blueprint software sebelum coding dimulai.

    Desain harus dapat mengimplementasikan kebutuhan yang telah disebutkan pada

    tahap sebelumnya. Seperti dua aktivitas sebelumnya, maka proses ini juga harus

    didokumentasikan sebagai konfigurasi dari software.

    3. Implementation and Unit Testing

    Desain program diterjemahkan ke dalam kode-kode dengan menggunakan

    bahasa pemrograman yang sudah ditentukan. Program yang dibangun langsung

    diuji baik secara unit.

    4. Integration and System Testing

    Untuk dapat dimengerti oleh mesin, dalam hal ini adalah komputer, maka desain

    tadi harus diubah bentuknya menjadi bentuk yang dapat dimengerti oleh mesin,

    yaitu ke dalam bahasa pemrograman melalui proses coding. Tahap ini

    merupakan implementasi dari tahap design yang secara teknis nantinya

    dikerjakan oleh programmer. Penyatuan unit-unit program kemudian diuji

    secara keseluruhan (system testing).

    5. Operation and Maintenance

    Sesuatu yang dibuat haruslah diujicobakan. Demikian juga dengan software.

    Semua fungsi-fungsi software harus diujicobakan, agar software bebas dari

  • 11

    error, dan hasilnya harus benar-benar sesuai dengan kebutuhan yang sudah

    didefinisikan sebelumnya.

    Pemeliharaan suatu software diperlukan, termasuk di dalamnya adalah

    pengembangan, karena software yang dibuat tidak selamanya hanya seperti itu.

    Ketika dijalankan mungkin saja masih ada error kecil yang tidak ditemukan

    sebelumnya, atau ada penambahan fitur-fitur yang belum ada pada software

    tersebut. Pengembangan diperlukan ketika adanya perubahan dari eksternal

    perusahaan seperti ketika ada pergantian sistem operasi, atau perangkat lainnya.

    Kelebihan dari model ini adalah selain karena pengaplikasian menggunakan

    model ini mudah, kelebihan dari model ini adalah ketika semua kebutuhan sistem

    dapat didefinisikan secara utuh, eksplisit, dan benar di awal proyek, maka Software

    Engineering (SE) dapat berjalan dengan baik dan tanpa masalah. Meskipun

    seringkali kebutuhan sistem tidak dapat didefinisikan se-eksplisit yang diinginkan,

    tetapi paling tidak, problem pada kebutuhan sistem di awal proyek lebih ekonomis

    dalam hal uang (lebih murah), usaha, dan waktu yang terbuang lebih sedikit jika

    dibandingkan problem yang muncul pada tahap-tahap selanjutnya.

    Kekurangan yang utama dari model ini adalah kesulitan dalam mengakomodasi

    perubahan setelah proses dijalani. Fase sebelumnya harus lengkap dan selesai

    sebelum mengerjakan fase berikutnya.

    Masalah dengan waterfall :

    1. Perubahan sulit dilakukan karena sifatnya yang kaku.

  • 12

    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 yaitu

    dengan proyek yang dikerjakan di beberapa tempat berbeda, dan dibagi menjadi

    beberapa bagian sub-proyek.

    2.2 Steganografi

    Ilmu dan seni menyembunyikan informasi dengan cara menyisipkan pesan di

    dalam pesan lain yang bertujuan menghindari kecurigaan pihak ketiga yang tidak

    berkepentigan terhadap informasi tertentu (Baskara, 2007). Steganografi

    membutuhkan dua properti utama: wadah penampung dan informasi rahasia yang

    akan disembunyikan.

    Steganografi digital menggunakan media digital sebagai wadah penampung,

    misalnya citra, suara, teks, dan video. Informasi rahasia yang disembunyikan juga

    dapat berupa citra, suara, teks, atau video.

  • 13

    Gambar 2.3 Contoh Gambar yang Disisipi Pesan

    Adapun empat komponen utama steganografi:

    1. Embedded message (hiddentext): pesan yang disembunyikan.

    2. Cover-object (covertext): pesan yang digunakan untuk menyembunyikan

    embedded message.

    3. Stego-object (stegotext): pesan yang sudah berisi pesan embedded message.

    4. Stego-key: kunci yang digunakan untuk menyisipan pesan dan mengekstraksi

    pesan dari stegotext.

    Gambar 2.4 Diagram Penyisipan dan Ekstraksi Pesan

    Encoding(embeddin)

    covertext

    hiddentext

    key

    Decoding(extraction)

    stegotext

    key

    hiddentext

    covertext

  • 14

    Berikut adalah kriteria steganografi yang baik (Munir, 2004):

    1. Imperceptible

    Keberadaan pesan tidak dapat dipersepsi oleh indra manusia. Jika pesan

    disisipkan ke dalam sebuah citra, citra yang telah disisipi pesan harus tidak dapat

    dibedakan dengan citra asli oleh mata. Begitu pula dengan suara, telinga

    haruslah mendapati perbedaan antara suara asli dan suara yang telah disisipi

    pesan.

    2. Fidelity

    Mutu media penampung tidak berubah banyak akibat penyisipan. Perubahan

    yang terjadi harus tidak dapat dipersepsi oleh indra manusia.

    3. Recovery

    Pesan yang disembunyikan harus dapat diungkap kembali. Tujuan steganografi

    adalah menyembunyikan informasi, maka sewaktu-waktu informasi yang

    disembunyikan ini harus dapat diambil kembali untuk dapat digunakan lebih

    lanjut sesuai keperluan.

    2.2.1 Sejarah Steganografi

    Steganografi berasal dari bahasa Yunani, Steganos yang berarti tulisan

    tersembunyi (covered writing). Catatan tertua mengenai penggunaan

    steganografi tercatat pada masa Yunani kuno. Pada saat itu, penguasa Yunani,

    Histiaues, sedang ditawan oleh Raja Darius di Susa. Histiaeus ingin mengirim

    pesan rahasia kepada menantunya, Aristagoras, di Miletus. Untuk itu,

  • 15

    Histiaeus mencukur habis rambut budaknya dan menatokan pesan rahasia

    yang ingin dikirim di kepala budak tersebut. Setelah rambut budak tadi

    tumbuh cukup lebat, barulah ia dikirim ke Miletus.

    Cerita lain masih juga berasal dari zaman Yunani kuno. Medium tulisan

    pada saat itu adalah papan yang dilapisi lilin dan tulisan ditulisi di papan

    tersebut. Demeratus, perlu memberitahu Sparta bahwa Xerxes bermaksud

    untuk menginvasi Yunani. Agar pesan yang dikirimnya tidak diketahui

    keberadaannya, Demeratus melapisi lagi papan tulisannya dengan lilin. Papan

    tulisan yang terlihat masih kosong inilah yang dikirim ke Sparta.

    Tinta yang tidak nampak merupakan salah satu metode yang populer

    dalam bidang steganografi. Bangsa Romawi telah menggunakan tinta yang

    tidak nampak ini untuk menulis pesan di antara baris-baris pesan yang ditulis

    dengan tinta biasa. Tinta yang tidak nampak ini dapat terbuat dari sari jeruk

    atau susu. Ketika dipanaskan, warna tinta yang tidak tampak akan menjadi

    gelap dan tulisannya akan menjadi dapat terbaca. Tinta yang tidak tampak ini

    juga digunakan dalam Perang Dunia II.

    Steganografi terus berkembang selama abad kelima belas dan keenam

    belas. Pada masa itu, banyak penulis buku yang enggan mencantumkan

    namanya karena takut akan kekuatan penguasa pada saat itu.

    Pengembangan lebih jauh lagi mengenai steganografi terjadi pada tahun

    1883 dengan dipublikasikannya kriptografi militer oleh Auguste Kerckhoffs.

    Meskipun sebagian besar berbicara mengenai kriptografi, Kerckhoffs

  • 16

    menjabarkan beberapa deskripsi yang patut dicatat ketika merancang sebuah

    sistem steganografi. Lebih jauh lagi, Les Filigranes, yang ditulis oleh Charle

    Briquet di tahun 1907, merupakan sebuah kamus sejarah dari watermark,

    salah satu wujud pengaplikasian steganografi.

    2.2.2 Metode Metode Steganografi

    1. Least Significant Bit (LSB)

    Bit atau digit biner adalah unit dasar penyimpanan data di dalam

    komputer, nilai bit suatu data adalah 0 atau 1. Semua data yang ada pada

    komputer disimpan ke dalam satuan bit ini, termasuk citra, suara, ataupun

    video. Format pewarnaan di dalam media gambar, seperti grayscale,

    RGB, dan CMYK, juga menggunakan satuan bit ini dalam

    penyimpanannya. Sebagai contoh pewarnaan monochrome bitmap

    (menggunakan 1 bit untuk tiap pikselnya), RGB 24 bit (8 bit untuk Red,

    8 bit untuk Green, dan 8 bit untuk Blue), Grayscale-8 bit (menentukan

    tingkat kehitaman suatu piksel berdasarkan nilai bitnya).

    2. Low Bit Coding

    Cara ini mirip dengan LSB yaitu mengganti Least-Significant Bit

    namun file yang disisipi berupa audio file. Bedanya, jika pada gambar

    yang diganti adalah bit yang merepresentasikan warna, maka pada suara

    yang diganti adalah bit sampling dari file audio tersebut. Dengan metode

    ini keuntungan yang didapatkan adalah ukuran pesan yang disisipkan

  • 17

    relatif besar, namun berdampak pada hasil audio yang berkualitas kurang

    dengan banyaknya noise.

    3. Phase Coding

    Metode lain dalam steganografi audio adalah merekayasa fase

    dari sinyal masukan. Teori yang digunakan adalah dengan mensubstitusi

    awal fase dari tiap awal segmen dengan fase yang telah dibuat

    sedemikian rupa dan merepresentasikan pesan yang disembunyikan. Fase

    dari tiap awal segmen ini dibuat sedemikian rupa sehingga setiap segmen

    masih memiliki hubungan yang berujung pada kualitas suara yang tetap

    terjaga. Teknik ini menghasilkan keluaran yang jauh lebih baik daripada

    metode pertama namun dikompensasikan dengan kerumitan dalam

    realisasinya.

    4. Echo Hiding

    Metode lain yang sering digunakan adalah menyembunyikan

    pesan melalui teknik echo. Teknik menyamarkan pesan ke dalam sinyal

    yang membentuk echo. Kemudian pesan disembunyikan dengan

    memvariasikan tiga parameter dalam echo yaitu besar amplitudo awal,

    tingkat penurunan atenuasi, dan offset. Dengan adanya offset dari echo

    dan sinyal asli maka echo akan tercampur dengan sinyal aslinya, karena

    sistem pendengaran manusia yang tidak memisahkan antara echo dan

    sinyal asli.

  • 18

    5. Spread Spectrum

    Metode terakhir adalah Metode Spread Spectrum, adalah metode

    yang akan dibahas dalam penelitian ini, yaitu sebuah teknik

    pentransmisian dengan menggunakan pseudonoise code, yang

    independen terhadap data informasi, sebagai modulator bentuk

    gelombang untuk menyebarkan energi sinyal dalam sebuah jalur

    komunikasi (bandwidth) yang lebih besar daripada sinyal jalur

    komunikasi informasi. Oleh penerima, sinyal dikumpulkan kembali

    menggunakan replika pseudonoise code tersinkronisasi. Berdasarkan

    definisi, dapat dikatakan bahwa steganografi menggunakan Metode

    Spread Spectrum memperlakukan cover-object baik sebagai derau (noise)

    ataupun sebagai usaha untuk menambahkan derau semu (pseudonoise) ke

    dalam cover-object. Proses penyisipan pesan menggunakan Metode

    Spread Spectrum ini terdiri dari tiga proses, yaitu spreading, modulasi,

    dan penyisipan pesan ke citra JPEG. Sedangkan Proses ekstraksi pesan

    menggunakan Metode Spread Spectrum ini terdiri dari tiga proses, yaitu

    pengambilan pesan dari matriks frekuensi, demodulasi, dan de-

    spreading.

  • 19

    2.2.2.1 Implementasi Perhitungan Metode Spread Spectrum pada

    Gambar

    Berikut gambaran mengenai perhitungan yang terjadi di

    dalam Metode Spread Spectrum. Pada proses encode dapat

    digambarkan sebagai berikut. Dengan sebuah gambar dengan

    format JPEG, isi pesan test, kata kunci "sonny". Fungsi akan

    membaca pesan yang dimasukkan dan mengecek ukuran pesan

    yang dimasukkan apakah lebih kecil dari ukuran gambar pada

    yaitu memasukkan ke dalam rumus:

    Panjang Pesan = ((ukuran Pesan) + 28) * 4 * 8

    Angka 28 adalah untuk tag pemberian tanda pada gambar yang

    sudah disisipkan, angka 4 adalah besar faktor pengali yang

    berguna untuk penyebaran bit serta angka 8 adalah bit

    gambar. Setelah mengecek ukuran file selesai kemudian

    dilakukan pengecekan ukuran gambar, metode steganografi yang

    digunakan dan kata kunci, jika syarat semua sudah terpenuhi

    dilanjutkan ke dalam proses penyisipan. Sebelum penyisipan

    dilakukan, fungsi akan membaca gambar dan mengambil header

    dari gambar JPEG yang sudah disiapkan sebelumnya, kemudian

    gambar dari body ini nanti yang akan disisipi pesan. Sebelum

    proses penyebaran, yang dilakukan adalah mengubah pesan ke

    bentuk biner. Hasil pengkonversian biner dari pesan "test" adalah

  • 20

    01110100 01100101 01110011 01110100. Kemudian biner

    pesan disebar dengan besaran skalar pengalinya empat, sehingga

    akan menghasilkan segmen baru, yaitu:

    00001111111111110000111100000000 00001111111100000000111100001111 00001111111111110000000011111111 00001111111111110000111100000000

    Kemudian langkah selanjutnya adalah pembangkitan pseudonoise

    dengan bibit pembangkitan yang ditentukan berdasarkan kata

    kunci sonny.

    Setelah mendapatkan nilai dari kata kunci (101), kemudian nilai

    tersebut digunakan sebagai bibit awal pembangkitan bilangan

    acak. Perhitungan pembangkitan bilangan acak sesuai dengan

    rumus pembangkitan bilangan acak LCG adalah sebagai berikut:

    Xn+1 = (aXn + c) mod

    a = 17 c = 7 m =84 Xn = bilangan bulat ke-n

  • 21

    Perhitungannya adalah sebagai berikut.

    X1 = (17 * 101 + 7) mod 84 hasilnya X1 = 44 X2 = (17 * 44 + 7) mod 84 hasilnya X2 = 83 X3 = (17 * 83 + 7) mod 84 hasilnya X3 = 74 X4 = (17 * 74 + 7) mod 84 hasilnya X4 = 5 X5 = (17 * 5 + 7) mod 84 hasilnya X5 = 8

    Demikian seterusnya untuk X6, X7, X8...Xn

    Sebagai contoh dilakukan lima kali penyebaran dan hasilnya

    hasilnya adalah 44 83 74 5 8 jika diubah dalam bentuk biner

    menjadi 00101100 01010011 01001010 00000101 00001000.

    Untuk mendapatkan hasil modulasi, segmen pesan akan

    dimodulasi dengan pseudonoise signal menggunkan fungsi XOR

    (Exlusive OR).

    Segmen pesan:

    00001111111111110000111100000000 00001111111100000000111100001111 00001111111111110000000011111111 00001111111111110000111100000000

    Pseudonoise signal:

    0010110001010011010010100000010100001000

    Maka hasil proses modulasi antara segmen pesan dengan

    pseudonoise signal menggunakan fungsi XOR adalah

    00100011101011000100010100000101 00000111111100000000111100001111 00001111111111110000000011111111 00001111111111110000111100000000

  • 22

    Hasil dari proses modulasi inilah yang akan disisipkan ke bit-bit

    gambar. Sebagai contoh, misalkan mengambil sepuluh piksel dari

    gambar dan mengambil tiga puluh bit pertama dari modulasi

    antara segmen pesan dan pseudonoise signal.

    Red = 180 181 185 182 181 183 186 184 184 187 Green = 166 172 174 171 170 173 176 174 176 179 Blue = 163 169 172 169 168 171 175 173 174 177

    Kemudian diubah menjadi biner dan disisipkan hasil proses

    modulasi antara segmen pesan dengan pseudonoise signal

    menjadi sebagai berikut.

    Langkah tersebut berlanjut sampai modulasi antara segmen pesan

    dan pseudonoise signal disisipkan semua. Proses terakhir setelah

    proses terakhir penyisipan adalah mengembalikan header supaya

    gambar tidak mengalami kerusakan.

    Pada proses ekstraksi prosesnya adalah kebalikan dari

    proses encode. Pilih gambar yang akan diekstrak, gunakan kata

  • 23

    kunci yang sama seperti saat encode yaitu sonny. Langkah awal

    adalah membaca gambar apakah gambar tersebut sudah pernah

    disisipi gambar atau belum. Apabila belum kemudian suatu

    fungsi akan mengambil header gambar terlebih dahulu,

    selanjutnya pada body gambar dilakukan proses penyaringan agar

    mendapatkan bit-bit hasil modulasi. Hasil dari proses

    penyaringan yang dilakukan akan mendapatkan bit-bit sebagai

    berikut:

    00100011101011000100010100000101 00000111111100000000111100001111 00001111111111110000000011111111 00001111111111110000111100000000

    Setelah semua bit-bit hasil modulasi diperoleh, kemudian

    dilakukan proses demodulasi dengan pseudonoise signal dari kata

    kunci yang sama pada proses modulasi agar memperoleh bit-bit

    yang berkorelasi. Hasil penyaringan:

    00100011101011000100010100000101 00000111111100000000111100001111 00001111111111110000000011111111 00001111111111110000111100000000

    Pseudonoise signal:

    0010110001010011010010100000010100001000

    Hasil demodulasi:

    00001111111111110000111100000000 00001111111100000000111100001111 00001111111111110000000011111111 00001111111111110000111100000000

  • 24

    Proses berikutnya membagi empat hasi demodulasi, yang

    berguna untuk menyusutkan hasil demodulasi menjadi isi pesan

    yang sebenarnya. Proses penyusutan (de-spreading) segmen

    tersebut menjadi:

    01110100 01100101 01110011 01110100

    Hasil akhir 01110100 01100101 01110011 01110100

    merupakan segmen pesan yang sama ketika disembunyikan pada

    proses encode. Hasil tersebut kemudian diubah ke bentuk

    karakter akan menjadi test.

    2.2.2.2 Kelebihan dan Kelemahan Metode Spread Spectrum

    Kelebihan Spread Spectrum (M.A. Ineke Pakereng, 2011) adalah

    1. Metode ini cukup sederhana untuk proses steganografi.

    2. Proses embedding dan ekstraksi relatif cepat.

    3. Cukup tangguh dalam menghadapi berbagai serangan analisis

    statistik, karena informasi yang disembunyikan disebarkan

    dalam seluruh gambar tanpa mengganti properti statistik dari

    gambar yang disisipi informasi rahasia (Vembrina, 2006).

    Sedangkan kekurangannya adalah kompleksitas dalam proses

    perhitungan.

    Menurut Morkel, Eloff & Olivier (2005) terdapat perbandingan

    antara metode metode steganografi.

  • 25

    Tabel 2.1 Perbandingan antara Metode-metode Steganografi

    dalam Medium Gambar

    Metode steganografi yang ideal hendaknya mendapatkan

    predikat high di setiap spesifikasi. Sayangnya, dari metode-

    metode yang dievaluasi, tidak ada metode yang dapat memenuhi

    setiap spesifikasi yang ada. Akan ada spesifikasi yang perlu

    dikorbankan untuk dapat memenuhi spesifikasi yang lain.

    Spesifikasi yang diutamakan dapat dipilih sesuai keperluan.

    Catatan mengenai Spread Spectrum adalah sebagai berikut.

    Metode Spread Spectrum memenuhi sebagian besar spesifikasi

    terutama kokoh terhadap serangan analisis statistik, karena

    informasi yang disembunyikan disebarkan dalam seluruh gambar

    tanpa mengganti properti statistik dari gambar yang disisipi

    informasi rahasia (Vembrina, 2006).

  • 26

    2.3 Citra Digital

    Menurut Yusron (2011), citra digital merupakan fungsi intensitas cahaya f(x,y)

    pada bidang 2D, dimana harga x dan y merupakan koordinat spasial dan nilai fungsi

    tersebut pada setiap titik (x,y) merupakan tingkat kecemerlangan citra pada titik

    tersebut. Ada dua macam citra:

    1. Citra Kontinu

    - Dihasilkan dari sistem optik yang menerima sinyal analog

    - Contoh : mata manusia, kamera analog

    2. Citra Diskrit / Digital

    - Dihasilkan melalui proses digitalisasi terhadap citra kontinu

    - Contoh : kamera digital, scanner

    Gambar 2.5 Citra Kontinu & Diskrit

  • 27

    Berikut ilustrasi citra digital.

    Gambar 2.6 Citra Digital

    Suatu citra berukuran N x M piksel dengan intensitas beragam pada tiap pikselnya,

    direpresentasikan secara numerik dengan matriks terdiri dari N baris dan M kolom.

    Gambar 2.7 Matriks Piksel Pada Citra

  • 28

    Berikut adalah ilustrasi piksel.

    Gambar 2.8 Ilustrasi Piksel

    2.3.1 Format-format Citra Digital

    Macam-macam format gambar digital.

    1) BMP (Bitmap)

    Tipe file BMP umum digunakan pada sistem operasi Windows. 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:

  • 29

    1. Desktop background di windows.

    2. Sebagai gambar sementara yang mau diedit ulang tanpa menurunkan

    kualitasnya.

    File BMP tidak cocok digunakan untuk:

    1. Web atau blog, perlu dikonversi menjadi JPG, GIF, atau PNG.

    2. Disimpan di harddisk/flashdisk tanpa di ZIP/RAR,

    2) JPG/JPEG (Joint Photographic Experts Group)

    Tipe file JPEG sangat sering digunakan untuk web atau blog. File JPEG

    menggunakan teknik kompresi yang menyebabkan kualitas gambar turun (lossy

    compression). Setiap kali menyimpan ke tipe JPEG dari tipe lain, ukuran

    gambar biasanya mengecil, tetapi kualitasnya turun dan tidak dapat

    dikembalikan lagi. Ukuran file JPEG dapat turun menjadi sepersepuluhnya

    setelah dikonversi menjadi JPEG. Meskipun dengan penurunan kualitas gambar,

    pada gambar-gambar tertentu (misalnya pemandangan), penurunan kualitas

    gambar hampir tidak terlihat mata.

    File JPEG cocok digunakan untuk:

    1. Gambar yang memiliki banyak warna, misalnya foto wajah dan

    pemandangan.

    2. Gambar yang memiliki gradien, misalnya perubahan warna yang perlahan-

    lahan dari merah ke biru.

    File JPEG tidak cocok digunakan untuk:

  • 30

    1. Gambar yang hanya memiliki warna sedikit seperti kartun atau komik.

    2. Gambar yang memerlukan ketegasan garis seperti logo.

    3) GIF (Graphics Interchange Format)

    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. Pada program Microsoft Paint, tidak ada fasilitas

    penyesuaian warna yang digunakan (color table) sehingga menyimpan file GIF

    di Microsoft Paint seringkali menghasilkan gambar yang terlihat rusak atau

    berubah warna. Pada program pengolah gambar yang lebih baik, seperti Adobe

    Photoshop, color table bisa diatur otomatis atau manual sehingga gambar tidak

    berubah warna atau rusak.

    File GIF cocok digunakan untuk:

    1. Gambar dengan jumlah warna sedikit (di bawah 256).

    2. Gambar yang memerlukan perbedaan warna yang tegas seperti logo tanpa

    gradien.

    3. Gambar animasi sederhana seperti spanduk-spanduk iklan, header, dan

    sebagainya.

  • 31

    4. Print shoot (hasil dari print screen) dari program-program simpel dengan

    jumlah warna sedikit.

    File GIF tidak cocok digunakan untuk:

    1. Gambar yang memiliki banyak warna seperti pemandangan.

    2. Gambar yang di dalamnya terdapat warna gradien atau semburat.

    4) PNG (Portable Network Graphics)

    Tipe file PNG merupakan solusi kompresi yang powerfull dengan warna yang

    lebih banyak (24 bit RGB + alfa). Berbeda dengan JPEG yang menggunakan

    teknik kompresi yang menghilangkan data, file PNG menggunakan kompresi

    yang tidak menghilangkan data (lossles compression). Kelebihan file PNG

    adalah adanya warna transparan dan alfa. Warna alfa memungkinkan sebuah

    gambar transparan, tetapi gambar tersebut masih dapat dilihat mata seperti

    samar-samar atau bening. File PNG dapat diatur jumlah warnanya 64 bit (true

    color + alfa) sampai index 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.

    File PNG cocok digunakan untuk:

    1. Gambar yang memiliki warna banyak.

    2. Gambar yang mau diedit ulang tanpa menurunkan kualitas.

  • 32

    2.4 Peak Signal to Noise Ratio

    Peak Signal to Noise Ratio (PSNR) adalah perbandingan antara nilai maksimum

    yang diukur dengan besarnya error yang berpengaruh pada sinyal tersebut. PSNR

    biasanya diukur dalam satuan desibel. PSNR digunakan untuk mengetahui kualitas

    citra hasil kompresi.

    o Mean Square Error (MSE), yaitu sigma dari jumlah error antara citra hasil

    kompresi dan citra asli.

    Di mana:

    MSE = nilai Mean Square Error citra M = panjang citra (piksel) N = lebar citra (piksel) (x,y) = koordinat masing masing piksel I = nilai bit dari citra pada koordinat (x,y) I = nilai bit dari citra terkompresi pada koordinat (x,y)

    o Peak Signal to Noise Ratio (PSNR)

    Nilai MSE yang rendah akan lebih baik, sedangkan nilai PSNR yang tinggi akan

    lebih baik.

  • 33

    2.5 Aplikasi Mobile

    Mobile dalam bahasa Indonesia berarti berpindah. Jadi aplikasi mobile, aplikasi

    yang tetap dapat berjalan atau dijalankan meskipun pengguna berpindah, karena

    perangkat mobile nirkabel sehingga memiliki keunggulan dalam perpindahan.

    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. Menurut Romdoni (2010), 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 setangguh rekan mereka yaitu desktop.

    4. Mengkonsumsi daya yang rendah

    Perangkat mobile menghabiskan sedikit daya dibandingkan dengan mesin

    desktop.

    5. Kuat dan dapat diandalkan

  • 34

    Karena perangkat mobile selalu dibawa ke mana 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 kebanyakan

    dari mereka selalu menyala.

    2.6 Android

    Beberapa tahun belakangan ini, Android sedang naik daun, dan dapat dikatakan

    merupakan sistem operasi yang sedang berkembang pesat di dunia. Perkembangan

    Android tidak terlepas dari berkembangnya pasar mobile phone dan tablet yang

    sedang booming belakangan ini. Hal tersebutlah yang mengangkat pamor sistem

    operasi Android yang terkenal juga karena sifatnya open source, yang berarti

    berbagai developer perangkat mobile phone dan tablet dapat mengembangkan

    sistem operasi tersebut secara bebas.

    2.6.1 Sejarah Android

    Pada tahun 2003, Andy Rubin, Rich Miner, Nick Sears, dan Chris White

    bekerja sama membuat sistem operasi untuk perangkat mobile. Walaupun dimulai

    dengan tidak begitu menjanjikan , segalanya berubah dengan cepat ketika Andy

  • 35

    Rubin yang sudah terlebih dahulu memiliki sistem operasi yang dijalankan pada

    sebuah mobile phone yang dikenal dengan Sidekick membawakan kuliah yang

    dihadiri oleh Larry Page dan Sergei Brin, pendiri Google. Kedua orang ini sangat

    tertarik dengan materi yang dibawakan oleh Rubin. Meskipun saat itu Google

    sama sekali tidak membuat ponsel saat itu.

    Pada Juli 2005, dengan kemampuan dana yang besar, tidak sulit bagi Google

    untuk mendapatkan perusahaan kecil myang didirikan Rubin. Di bawah kendali

    Google, perjalanan Android dimulai pada tahun 2007, Google mulai mendaftar

    paten di bidang telepon seluler.

    Langkah Google ini tentu mengundang banyak perhatian dan segera beredar

    kabar bahwa Google akan segera membuat ponsel untuk bersaing dengan ponsel-

    ponsel yang ada. Rumor tersebut ternyata keliru besar karena Google sama sekali

    tidak membuat ponsel waktu itu, tetapi mengembangkan sistem operasi yang akan

    digunakan untuk ponsel.

    Ponsel pertama yang menggunakan sistem operasi dari Google justru datang

    dari HTC dengan seri HTC Dream atau T-Mobile G1 yang diluncurkan pada 2008.

    Google sendiri baru mengeluarkan ponselnya sendiri yang dinamakan Nexus One

    pada tahun 2010. Ponsel tersebut tidak dibuat sendiri oleh Google, melainkan

    merupakan hasil kerja sama dengan HTC.

    Berbeda dengan sistem operasi lain, Android berkembang sangat cepat dan

    secara konsisten mengeluarkan versi-versi yang terus diperbarui dalam waktu

    yang cukup singkat. Nama nama yang digunakan untuk versi Android-pun

  • 36

    cukup unik karena menggunakan nama makanan dan huruf awalnya disusun

    berdasarkan abjad sehinggamudah untuk mengetahui versi mana yang lebih baru.

    (Cupcake, Donut, Eclair, Froyo, Gingerbread, Honeycomb, Ice Cream Sandwich,

    dan seterusnya).

    2.6.2 Lisensi pada Android

    Sistem operasi Android adalah sistem operasi yang open source, tetapi pada

    kenyataannya Google juga menerapkan lisensi terhadap pembuat hardware yang

    menggunakan Android, yang tentunya sedikit banyak akan mempengaruhi

    terhadap layanan yang akan didapatkan oleh user.

    Google menerapkan dua jenis lisensi, yaitu GMS (Google Mobile Services) dan

    OHD (Open Handset Develpment). GMS didukung secapa penuh oleh Google di

    mana user akan mendapat sistem operasi Android yang terhubung dengan layanan

    Google Account. Terhubung dengan Google Account, akan membuat perangkat

    yang digunakan oleh user mendapatkan berbagai layanan seperti Android Market,

    Gmail, Google Contact, Google Calendar, dan Google Maps. Layanan layanan

    Google tersebut adalah daya tarik utama sistem operasi Android. Lisensi GMS,

    membutuhkan biaya yang harus dibayarkan oleh vendor hardware kepada

    Google.

    Berbeda dengan lisensi GMS, lisensi OHD, vendor bisa menggunakan sistem

    operasi Android secara gratis tanpa harus membayar kepada Google. Karena

    alasan inilah, banyak vendor hardware menggunakan lisensi ini. Kekurangan

  • 37

    utama dari jenis lisensi OHD adalah tidak adanya dukungan yang diberikan oleh

    Google, sehingga user tidak dapat menikmati layanan seperti Android Market,

    Google Maps, dll. Walaupun tidak mendapat dukungan dari Google, mobile

    phone atau perangkat yang mengunakan lisensi OHD tetap bisa menggunakan

    aplikasi-aplikasi yang dibangun untuk Android. Hal tersebut dapat terjadi karena

    sistem Android sangat bebas, di mana user bisa mendapatkan aplikasi dari tempat

    lain secara sah, tanpa melalui Android Market.