• Tidak ada hasil yang ditemukan

Implementasi Algoritma Elias Delta dan Algoritma ElGamal Dalam Kompresi dan Pengamanan Citra

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi Algoritma Elias Delta dan Algoritma ElGamal Dalam Kompresi dan Pengamanan Citra"

Copied!
24
0
0

Teks penuh

(1)

BAB 2

LANDASAN TEORI

Bab ini akan membahas tinjauan teoritis yang berkaitan dengan algoritma kompresi

Elias Delta Code dan algoritma kriptografi ElGamal.

2.1Kompresi

2.1.1. Definisi Kompresi

Kompresi data adalah ilmu atau seni yang merepresentasikan informasi dalam bentuk yang lebih compact. Istilah kompresi tersebut diterjemahkan dari kata bahasa Inggris “compression” yang berarti pemampatan. Dalam bidang teknik, kompresi berarti proses

memampatkan sesuatu yang berukuran besar sehingga menjadi kecil. Dengan demikian, kompresi data berarti proses untuk memampatkan data agar ukurannya menjadi lebih kecil (Komputer, 2003).

Kompresi terdiri dari dua komponen, algoritma encoding yaitu proses pengkodean menggunakan bit yang lebih sedikit dibandingkan dengan kode yang sebelumnya. Kemudian algoritma decoding yang merekonstruksi pesan asli atau perkiraan dari representasi kompresi. Kedua komponen ini biasanya saling terikat karena keduanya harus memahami representasi kompresi bersama-sama (Blelloch, 2013).

(2)

2.1.2. Penggolongan Algoritma Kompresi

Secara garis besar terdapat 2 buah penggolongan algoritma kompresi data yaitu kompresi lossless dan kompresi lossy (Merdiyan, 2005).

1. Kompresi Lossless merupakan metode kompresi data yang memungkinkan data asli dapat disusun kembali secara utuh, tanpa menghilangkan informasi apapun (Kavitha, 2016). Kompresi lossless memiliki derajat kompresi yang lebih rendah tetapi dengan akurasi data yang terjaga antara sebelum dan sesudah proses kompresi. Contoh metode ini adalah Elias Delta Code, Elias Gamma Code,

Levenstein Code, Shannon-Fano Coding, Run Length Encoding, dan lain-lain. Konsep dasar kompresi lossless dapat dilihat pada Gambar 2.1.

Gambar 2.1 Ilustrasi Kompresi Lossless

2. Kompresi Lossy merupakan metoda kompresi data yang tidak menghasilkan data asli secara utuh, sehingga ada informasi yang hilang saat proses kompresi. Kompresi Loosy menghapus informasi-informasi yang tidak ditangkap oleh mata manusia. (Mamta, 2012)Teknik ini digunakan untuk mengurangi ukuran data dalam penyimpanan dan pengiriman data. (Kavitha, 2016). Contoh metode ini adalah Transform Coding, Wavelet, dan lain-lain. Konsep dasar kompresi lossy

dapat dilihat pada Gambar 2.2.

Gambar 2.2. Ilustrasi Kompresi Lossy

LOSSLESS

Original Restored

Compressed

Compressed

Restored Original

(3)

2.1.3 Konsep Kompresi Data

Di dalam komputer, satu karakter direpresentasikan dalam bilangan ASCII (American Standard Code For Information Interchange) yaitu sebanyak delapan bit dalam bilangan biner. Jika ternyata jumlah bit-bit data tersebut bukan merupakan kelipatan delapan, maka dibentuk variabel baru sebagai penambahan ke bit data itu agar bit-bit data tersebut habis dibagi delapan. Variabel ini adalah padding dan flag.

1. Padding

Padding adalah penambahan bit 0 pada hasil proses kompresi sehingga jumlah keseluruhan bit-bit data tersebut merupakan kelipatan delapan (habis dibagi delapan). Misalkan dihasilkan bit-bit data hasil kompresi yaitu 1001011. Terdapat 7 bit data dalam bilangan biner. Maka dilakukan penambahan bit 0 sebanyak 1 kali agar jumlah bit-bit data tersebut habis dibagi delapan. Sehingga setelah diberikan

padding, bit bit data itu menjadi 10010110. 2. Flag

Flag adalah tanda bagi banyaknya pad dalam angka biner 8-bit. Penambahan flag

ini dimaksudkan untuk mempermudah dalam membaca bit-bit data hasil kompresi pada saat proses dekompresi. Misalkan bit-bit data yang telah diberikan padding

adalah 10010110. Karena terdapat 1 bit penambahan padding maka flag-nya adalah bilangan biner dari 1 dengan panjang 8 bit yaitu 00000001. Sehingga setelah diberikan flag, bit-bit datanya menjadi 1001011000000001 (Crowly, 2015).

2.1.4. Pengukuran kinerja kompresi data

Pada suatu teknik yang digunakan dalam proses kompresi data terdapat beberapa faktor atau variabel yang biasa digunakan untuk mengukur kualitas dari suatu teknik kompresi data tersebut, yaitu :

1. Ratio of Compression (Rc)

Ratio of Compression (Rc) adalah perbandingan antara ukuran data sebelum dikompresi dengan ukuran data setelah dikompresi.

(4)

Misalkan didapat sebuah nilai Ratio of Compression sebesar 2.75. Artinya besar data sebelum kompresi adalah 2.75 kali lipat dari besar data setelah dikompresi. 2. Compression Ratio (CR)

Compression Ratio (CR) adalah persentasi besar data yang telah dikompresi yang didapat dari hasil perbandingan antara ukuran data setelah dikompresi (output stream) dengan ukuran data sebelum dikompresi (input stream).

CR = ukuran data setelah dikompresi

ukuran data sebelumdikompresi 100%

Misalkan didapat sebuah nilai Compression Ratio sebesar 35%. Itu berarti setelah dikompresi ukuran data adalah 35% dari data sebelum dikompresi.

3. Space Savings (SS)

Space Savings (SS) adalah besarnya penghematan storage akibat kompresi.Space Savings data yaitu persentasi dari hasil selisih antara ukuran data sebelum dikompresi dengan data setelah dikompresi.

SS = - ukuran data sebelumdikompresi ukuran data setelah dikompresi 100%

Misalkan didapat sebuah nilai Space Savings sebesar 14%. Itu berarti besarnya

storage yang dihemat adalah 14%.

2.1.5. Elias Delta Code

Elias Delta Code adalah salah satu kode prefix yang paling banyak digunakan. Elias Delta Code merupakan satu dari tiga Elias Code yang dipelopori oleh Peter Elias. Di dalam kode ini, setiap karakter direpresentasikan dengan pemetaan kode sumber ke sejumlah variabel bit. (Walder et al, 2011).

Aturan untuk mengkodekan sebuah bilangan dengan menggunakan Elias Delta Code

adalah sebagai berikut :

1. Tuliskan n dalam bilangan biner (binary). Bit yang paling kiri akan menjadi 1. 2. Hitung jumlah bit-nya, hapus bit paling kiri dari.

(Salomon & Motta, 2010)

(5)

3. Tambahkan perhitungan dalam bilangan biner pada bagian kiri dari n, setelah bit paling kiri dari n dihapus.

4. Kurangi 1 dari perhitungan pada langkah ke-2 dan tambahkan jumlah nol ke kode.

Sehingga mengkodekan sebuah bilangan dengan menggunakan Elias Delta Code juga dapat dinyatakan dalam rumus:

Misal untuk mengetahui kode elias delta dari n=3, maka dapat ditentukan dengan: b = “11”

Maka dapat diperoleh tabel kode elias delta seperti pada Tabel 2.1. Tabel 2.1 Tabel Kode Elias Delta (Salomon, 2007)

(6)

Untuk proses dekompresi dapat dilakukan dengan Brute Force Decode, dalam langkah-langkah berikut:

1. Baca flag bit (8-bit dari kanan) untuk mengetahui berapa jumlah padding bit. 2. Hasil decode dilakukan dengan langkah berikut:

Periksa dimulai dari bit pertama (paling kiri), n=1

a. Bila bit ke-n terdapat dalam tabel Elias Delta Code, ubah ke string yang sesuai. b. Bila bit ke-n tidak terdapat dalam tabel, baca string di depannya, bit n+1 sampai

kumpulan bit tersebut terdapat dalam tabel.

Lakukan perulangan langkah a dan b sampai batas bit sebelum padding.

Contoh :

Berikut ini adalah contoh proses kompresi berkasteks dengan metode Elias Delta Code. Terdapat berkasteks yang berisikan string “SAFFIERA”. Untuk ukuran String dapat dilihat pada Tabel 2.2.

Tabel 2.2. String yang Belum Dikompresi

char ASCII Code ASCII Code (Binary) Bit Frek Bit x Frek

S 83 01010011 8 1 8

A 65 01000001 8 2 16

F 70 01000110 8 2 16

I 73 01001001 8 1 8

E 69 01000101 8 1 8

R 82 01010010 8 1 8

Total 64

(7)

Tabel 2.3 String yang Sudah Dikompresi Dengan Elias Delta Code

Char Frek Elias Delta Code Bit Bit x Frek

A 2 1 1 2

F 2 0100 4 8

S 1 0101 4 4

I 1 01100 5 5

E 1 01101 5 5

R 1 01110 5 5

Total 29

Maka String “SAFFIERA” setelah dikompresi menjadi: String bit = “01011010001000110001101011101”

Jumlah String bit adalah 29, tidak habis dibagi delapan dan sisanya 5. Sehingga dibutuhkan penambahan bit 0 sebanyak 3 kali, padding “000” dan flag-nya adalah bilangan biner dari 3 yaitu “00000011”.

Diperoleh:

String bit hasil kompresi = “0101101000100011000110101110100000000011”.

Total bit seluruhnya setelah penambahan padding dan flag adalah 40.

Ukuran data sebelum dikompresi = 64 bit Ukuran data setelah dikompresi = 40 bit

Ratio of Compression (Rc) =ukuran data sebelum dikompresiukuran data setelah dikompresi

= 6440

= 1.6

Compression Ratio (Cr) =ukuran data sebelum dikompresiukuran data setelah dikompresi � 100%

=4064 � 100%

=62. %

(8)

= − 4064 � 100%

=37,5%

2.2Kriptografi

2.2.1. Definisi Kriptografi

Kriptografi ( cryptography ) berasal dari Bahasa Yunani yaitu “cryptos” yang artinya

secret” (rahasia) dan “graphein” yang artinya “writing” (menulis). Jadi kriptografi

berarti “secret writing” (tulisan rahasia). Kriptografi juga diartikan ilmu menggunakan perhitungan matematika untuk mengubah informasi menjadi aman dan memberikan kekebalan terhadap penyerang informasi tersebut (Thakkar, 2015).

Kriptografi pada awalnya dijabarkan sebagai ilmu yang mempelajari bagaimana menyembunyikan pesan. Namun pada pengertian modern kriptografi adalah ilmu yang bersandarkan pada teknik matematika untuk menjaga keamanan informasi seperti kerahasiaan, keutuhan data dan otentikasi entitas. Jadi pengertian kriptografi modern adalah tidak hanya berurusan dengan penyembunyian pesan, namun lebih pada sekumpulan teknik yang menyediakan keamanan informasi.

2.2.2. Tujuan Kriptografi

Tujuan utama kriptografi (Garg et al, 2014) adalah : 1. Kerahasiaan (confidentiality)

Kerahasiaan adalah layanan yang ditujukan untuk menjaga agar pesan tidak dapat dibaca oleh pihak-pihak yang tidak berhak. Di dalam kriptografi, layanan ini direalisasikan dengan menyandikan pesan menjadi cipherteks.

2. Integritas (integrity)

Integritas adalah layanan yang menjamin bahwa pesan masih asli/utuh atau belum pernah dimanipulasi selama pengiriman. Untuk menjaga integritas data, sistem harus memiliki kemampuan untuk mendeteksi manipulasi pesan oleh pihak-pihak yang tidak berhak, antara lain penyisipan, pengahapusan, dan pensubtitusian data lain kedalam pesan yang sebenarnya.

3. Otentikasi (authentication)

(9)

mengidentifikasi kebenaran sumber pesan. Dua pihak yang saling berkomunikasi harus dapat mengotentikasi satu sama lain sehingga ia dapat memastikan sumber pesan.

4. Nirpenyangkalan (Non-repudiation)

Nirpenyangkalan adalah layanan untuk mencegah entitas yang berkomunikasi melakukan penyangkalan, yaitu pengirim pesan menyangkal melakukan pengiriman atau penerima pesan memberi otoritas kepada penerima pesan untuk melakukan pembelian, namun kemudian ia menyangkal telah melakukan pembeli.

2.2.3. Terminologi Kriptografi

Di dalam kriptografi, akan sering ditemukan berbagai istilah atau terminologi. Berikut adalah beberapa istilah yang penting untuk diketahui.

1. Plaintext dan Ciphertext.

Plainteks (plaintext) atau teks-jelas (cleartext) adalah data atau informasi yang dapat dibaca dan dimengerti maknanya (Othman et al, 2004). Agar pesan tidak dapat dimengerti maknanya oleh pihak lain, maka pesan perlu disandikan ke bentuk lain yang tidak dapat dipahami. Bentuk pesan yang tersandi disebut cipherteks (ciphertext) atau kriptogram (cryptogram). Cipherteks harus dapat ditransformasikan kembali menjadi plainteks semula agar pesan yang diterima bisa dibaca. Gambar 2.3 memperlihatkan contoh dari plainteks serta cipherteks yang berkoresponden.

(a) Plainteks (b) Cipherteks Gambar 2.3 Plainteks berupa Teks dan Cipherteksnya

(10)

2. Pengirim dan Penerima

Pengirim (sender) adalah entitas yang mengirim pesan kepada entitas lainnya. Penerima (receiver) adalah entitas yang menerima pesan. Entitas di sini dapat berupa orang, mesin (komputer), kartu kredit, dan sebagainya.

3. Enkripsi dan Dekripsi

Proses menyandikan plainteks menjadi cipherteks disebut enkripsi (encryption) atau

enciphering. Sedangkan, proses mengembalikan cipherteks menjadi plainteks semula dinamakan dekripsi (decryption) atau deciphering (Anusha et al, 2016). 4. Kriptanalis dan Kriptologi

Kriptanalis (cryptanalysis) adalah ilmu dan seni untuk memecahkan cipherteks menjadi plainteks, tanpa memerlukan kunci yang digunakan. Pelakunya disebut dengan cryptanalyst. Kriptanalis berusaha memecahkan cipherteks tersebut untuk menemukan plainteks atau kunci. Kriptologi (cryptology) adalah studi mengenai kriptografi dan kriptanalis.

2.2.4. Jenis-jenis Algoritma Kriptografi

Secara umum ada dua jenis kriptografi berdasarkan kuncinya, yaitu Algoritma Simetris dan Algoritma Asimetris.

1. Algoritma Simetris

(11)

Gambar 2.4 Skema Kriptografi Simetri Keterangan:

P= Plainteks C=Cipherteks

2. Algoritma Asimetris

Algoritma asimetris adalah algoritma yang memiliki dua buah kunci yaitu kunci publik untuk melakukan enkripsi sedangkan kunci pribadi untuk melakukan dekripsi. Dengan kata lain, kunci untuk enkripsi pada kriptografi asimetri ini tidak rahasia (diketahui oleh publik), sedangkan kunci untuk dekripsi bersifat rahasia (kunci privat). Algoritma ini mengurangi jumlah kunci yang dibutuhkan untuk pengiriman, namun tetap menghasilkan pesan yang aman (Meng et al, 2009). Contoh algoritma asimetris adalah ElGamal, RSA (Riverst Shamir Adleman) dan ECC (Elliptic Curve Cryptography). Skema kriptografi asimetri dapat dilihat pada gambar 2.5.

Gambar 2.5 Skema Kriptografi Asimetri

P enkripsi dekripsi P

P enkripsi C dekripsi P

kunci publik

kunci privat Pembangkit

kunci

Saluran aman Kunci privat

(12)

2.2.5 Algoritma ElGamal

Algoritma ElGamal yang termasuk algoritma asimetris ini diusulkan oleh Taher ElGamal pada tahun 1985. Keamanan dari algoritma ini didasarkan pada kesulitan memecahkan masalah logaritma diskrit yang terdapat dalam grup (Taher, 1985). Logaritma ini sendiri disebut logaritma diskrit karena nilainya berhingga dan bergantung pada bilangan prima yang digunakan.

Persoalan logaritma diskrit pada grup perkalian terbatas dapat diformulasikan pada Tabel 2.4.

Tabel 2.4 Formulasi Persoalan Logaritma Diskrit

Persoalan Logaritma Diskrit Diberikan Grup(Zp,x), akar primitif α, y

ϵ

Zp

Temukan X sehingga αx = y mod p

Untuk menyelesaikan persoalan logaritma diskrit akar primitif α dapat dipangkatkan dengan nilai eksponensial dari 1 sampai p-1, x adalah eksponiensial yang memenuhi αx≡ y mod p.

Penyelesaian persoalan logaritma diskrit menjadi sulit ketika order grup perkalian besar. Bila order grup besar, percobaan nilai eksponensial dari 1 sampai p-1. Maka algoritma ElGamal menggunakan konsep ini, dengan menggunakan bilangan prima yang besar, maka sangat sulit atau bahkan tidak mungkin menurunkan kunci privat dari kunci publik walaupun diserang dengan menggunakan sumber daya komputer yang besar.

Algoritma ElGamal mempunyai kunci publik berupa tiga bilangan dan kunci rahasia berupa satu bilangan. Algoritma ElGamal terdiri dari tiga proses, yaitu proses pembentukan kunci, proses enkripsi dan proses dekripsi. Algoritma ini merupakan

cipher blok, yaitu melakukan proses enkripsi pada blok-blok plainteks dan menghasilkan blok-blok cipherteks yang kemudian dilakukan proses dekripsi dan hasilnya digabungkan.

Besaran-besaran yang digunakan dalam pembangkitan kunci publik algoritma ElGamal (Taufiq, 2010) :

1. Bilangan prima, p (tidak rahasia)

(13)

4. Blok plainteks P (plainteks) (rahasia) 5. C1dan C2 (cipherteks) (tidak rahasia)

2.2.6. Landasan Matematika Algoritma ElGamal

1. Modulo Exponensial

Modulo eksponensial sering digunakan dalam bidang kriptografi untuk menghitung hasil enkripsi maupun hasil dekripsi. Permasalahan pada operasi modulo adalah bagaimana menghitung xy (mod n) dengan n yang sangat besar. Terdapat beberapa cara untuk menghitung modulo eksponensial, antara lain adalah dengan cara iteratif.

Contoh : Tentukan hasil dari 26 mod 30 dengan cara iterasi! Diketahui nilai x = 2, y = 6 dan n = 30.

Penyelesaiannya dapat dilihat pada Tabel 2.5.

Tabel 2.5 Penyelesaian contoh soal modulo eksponensial

(14)

2. Bilangan Prima

Sebuah bilangan bulat p > 1 disebut bilangan prima, jika bilangan tersebut hanya memiliki pembagi positif 1 dan p. Bilangan bulat yang lebih dari 1 yang bukan bilangan prima disebut bilangan komposit (Putra, E. 2013). Karena bilangan prima harus lebih besar dari satu, maka barisan bilangan prima dimulai dari 2, yaitu 2, 3, 5 , 7, 11, 13, .... Seluruh bilangan prima adalah bilangan ganjil, kecuali dua yang merupakan bilangan genap.

3. Pembangkit Bilangan Prima dengan Teorema Agrawal Biswas

Algoritma pembangkit bilangan prima dalam kriptografi kunci publik dapat membesarkan nilai bilangan prima yang dibangkitkan, sehingga meningkatkan tingkat kerumitan terhadap pemecahan kode rahasia (Surahman, 2013). Algoritma

Agrawal Biswas merupakan salah satu algoritma pembangkit bilangan prima.

Teorema algoritma Agrawal Biswas dapat dilihat sebagai berikut (Agrawal, 2005) 1. Pilih bilangan n yang akan diuji keprimaannya, dengan syarat n > 100.

2. Bangkitkan bilangan acak Z, yang merupakan bilangan acak antara 3 dan n . 3. Jika (1 + Z)n mod n = (1 + Zn mod n) mod n, maka n adalah bilangan prima 4. Jika tidak, maka bilangan n adalah bukan bilangan prima.

Contoh : Tentukan apakah bilangan 2711 merupakan bilangan prima dengan algoritma Agrawal Biswas.

Penyelesaian :

1. Bangkit nilai acak Z = 200 2. Lakukan perhitungan pertama,

(1 + Z)n mod n = (1 + 200)2711 mod 2711 = 201

3. Lakukan perhitungan kedua,

(1 + Zn mod n) mod n = (1 + 2002711 mod 2711) mod 2711 = ( 1 + 200) mod 2711

= 201

(15)

4. Elemen Primitif

Selain bilangan prima, dalam kriptografi ElGamal juga digunakan elemen primitif yang merupakan elemen pembangun dari grup Zp. Untuk mencari elemen ini digunakan p=2q+1, dimana q merupakan bilangan prima. Jika elemen α memenuhi α2mod p ≠ 1 dan αqmod p ≠ 1, maka α merupakan elemen primitif (Jeffrey et al, 2008 ).

Untuk mengetahui suatu bilangan merupakan elemen primitif atau tidak dapat dilakukan langkah-langkah sebagai berikut :

1. Input bilangan prima aman p ≥ 5.

2. Hitung = �−

3. Hitung α2 mod p dan αq mod p.

4. Jika α2 mod p = 1, maka α bukan elemen primitif. 5. Jika αq mod p = 1, maka α bukan elemen primitif.

6. Jika tidak terpenuhi dua persyaratan di atas maka q merupakan elemen primitif.

Misalkan p = 271 yang merupakan bilangan prima aman. Oleh karena itu, dapat ditentukan bilangan prima = 7 − = 135. Untuk menunjukkan bahwa suatu bilangan bulat a merupakan elemen primitif Z271*, harus ditunjukkan bahwa α2

271 ≠1 dan α135 271 ≠1. Perhitungan untuk beberapa nilai a yang diberikan ditunjukkan pada Tabel 8.10.

Tabel 2.6 Perhitungan α2 271 dan α135 271

A 2 3 4 5 6 7 8

α2 271 4 9 16 25 36 49 64

α135 271 1 1 1 1 270 1 1

(16)

2.2.7. Prinsip Kerja Algoritma ElGamal

Algoritma ElGamal merupakan salah satu penerapan algoritma asimetris, sehingga memiliki 2 buah kunci, yaitu kunci publik dan kunci privat. Skema sistem kriptografi dengan algoritma ElGamal ditunjukkan pada Gambar 2.6.

Gambar 2.6 Sistem Kriptografi dengan Algoritma ElGamal

2.2.7.1 Proses Pembangkitan Kunci

Langkah-langkah dalam pembangkitan kunci

1. Pilih bilangan prima p besar sebagai basis grup perkalian (Z*p,x) 2. Pilih α sebagai akar primitif pada grup

3. Pilih d yang memenuhi 1 ≤ d ≤ p - 2

(17)

2.2.7.2 Proses Enkripsi

Langkah-langkah dalam mengenkripsi pesan: 1. Terima kunci publik (p,α, β) = (271, 107, 39)

2. Plainteks m disusun menjadi blok-blok m1, m2, …, mp-1 sedemikian sehingga setiap blok merepresentasikan nilai di dalam rentang 0 sampai p – 1.

3. Ubah nilai blok pesan ke dalam nilai ASCII. Ekspresikan pesan P1 = C = 67 semua blok pesan untuk menghasilkan cipherteks.

6. Kirim c1 = 238 dan c2 = 212.

2.2.7.3 Proses Dekripsi

Dalam mendeskripsi pesan digunakan perhitungan P = c2 x (c1d)-1 mod p. Perhitungan tersebut dapat disederhanakan dengan teorema Fermat:

� = �− −�

Untuk memepermudah perhitungan pada tiap-tiap blok pesan, maka dapat dirumuskan dengan :

� = �− −�

� = �

Langkah-langkah dalam mendekripsi pesan: 1. Terima (c1, c2) dari sender = ( 238, 212) 2. Hitung Z = �− −�

(18)

Hitung P = �

= 212 178 mod 271 = 67.

Maka diperoleh P = 67, dalam karakter dalam ASCII adalah C, sesuai dengan plainteks yang dikirim sender.

3. Kemudian menggabungkan blok m1, m2, ... menjadi plainteks yang utuh

2.3. Citra

Citra adalah suatu representasi (gambaran), kemiripan, atau imitasi dari suatu objek. Citra analog adalah citra yang bersifat kontinu, seperti pada gambar pada monitor televisi, foto sinar-X, foto yang tercetak di kertas foto, lukisan, pemandangan alam, hasil CT-Scan, gambar-gambar yang terekam pada pita kaset, dan lain sebagainya. Citra analog tidak dapat dipresentasikan dalam komputer sehingga tidak bisa diproses di komputer secara langsung. Oleh sebab itu, agar citra ini dapat diproses di komputer, proses konversi analog ke digital harus dilakukan terlebih dahulu. Citra digital adalah citra yang dapat diolah oleh komputer. Monitor akan menampilkan kotak-kotak kecil. Namun yang disimpan dalam memori hanyalah angka-angka yang menunjukkan besar intensitas pada masing-masing pixel tersebut.

Sebuah citra digital dapat mewakili oleh sebuah matriks yang terdiri dari M

Gambar 2.7 Matriks Citra Digital Keterangan:

(19)

Berdasarkan rumus tersebut, secara matematis citra digital dapat dituliskan sebagai fungsi intensitas f (x,y), dimana harga x (baris) dan y (kolom) merupakan koordinat posisi dan f(x,y) adalah nilai fungsi pada setiap titik (x,y) yang menyatakan besar intensitas citra atau tingkat keabuan atau warna dari piksel di titik tersebut. Semakin besar ukuran piksel pada suatu citra maka semakin halus citra digital tersebut bila ditampilkan pada monitor dalam ukuran yang sama, seperti terlihat pada Gambar 2.8.

Gambar 2.8 Perbandingan gambar dengan ukuran piksel berbeda

2.3.1. Jenis-Jenis Citra Digital

2.3.1.1 Citra Biner

Pada citra biner hanya terdapat 2 warna, yaitu hitam dan putih. Dalam penyimpanannya dibutuhkan 1 bit pada di memori. Contoh citra biner dapat dilihat pada Gambar 2.9.

Gambar 2.9 Contoh Citra Biner

c. 50 x 51 piksel

(20)

2.3.1.2 Citra Grayscale

Pada citra grayscale banyaknya warna tergantung pada jumlah bit yang disediakan memori untuk menampung kebutuhan warna. Semakin besar jumlah bit, maka semakin halus gradasi warna yang dihasilkan. (Sutoyo et all, 2009). Perbandingan gradasi warna untuk jumlah bit tertentu ditunjukkan pada Gambar 2.9.Contoh citra grayscale dapat dilihat pada Gambar 2.10 dan Ccontoh citra grayscale (keabuan) ditunjukkan pada Gambar 2.11.

Gambar 2.10 Perbandingan gradasi warna berdasarkan ukuran bit

Gambar 2.11 Contoh Citra Grayscale

2.3.1.3 Citra Warna (True Color)

(21)

bit yang berarti setiap warna mempunyai gradasi sebanyak 255 warna. Satu piksel citra warna diwakili oleh 3 byte, masing-masing byte mempresentasikan warna merah (Red), hijau (Green), dan bitu (Blue). Gambar 2.12 adalah contoh penyimpanan citra warna dalam memori.

Citra Warna Penyimpanan dalam memori

R = 50

Gambar 2.12 Contoh penyimpanan citra warna dalam memori

Berikut contoh citra warna yang ditunjukkan pada Gambar 2.12.

Gambar 2.13 Contoh Citra Warna

(22)

2.3.2. Citra Bitmap

Citra bitmap menyimpan data kode citra secara digital dan lengkap, yaitu cara penyimpanannya adalah per piksel. Citra bitmap dipresentasikan dalam bentuk matriks atau dipetakan dengan menggunakan bilangan biner atau sistem bilangan lain. Bitmap

merupakan media elektronik yang paling tepat untuk gambar-gambar dengan perpaduan gradiasi warna yang rumit, seperti foto dan lukisan digital. Citra bitmap biasanya diperoleh dengan cara scanner, camera digital, video capture, dan lain-lain. BMP merupakan format umum untuk menyimpan citra bitmap dikembangkan oleh microsoft. Pada format bitmap, citra disimpan sebagai suatu matriks di mana masing– masing elemennya digunakan untuk menyimpan informasi warna untuk setiap pixel. Jumlah warna yang dapat disimpan ditentukan dengan satuan bit-per-pixel. Semakin besar ukuran bit-per-pixel dari suatu bitmap, semakin banyak pula jumlah warna yang dapat disimpan. Dalam Windows dikenal bitmap dengan 1, 4, 8, 16, dan 24 bit per piksel. Jumlah warna maksimum yang dapat disimpan dalam suatu bitmap adalah sebanyak 2n, dimana n adalah banyaknya bit yang digunakan untuk menyimpan satu titik dari bitmap. (Sutoyo,2009).

2.3.3. Perhitungan Hasil Rekontruksi Citra

Perbaikan citra pada dasarnya merupakan proses yang bersifat subjektif sehingga parameter keberhasilannya bersifat subjektif pula. Untuk itu perlu adanya alat ukur kuantitatif yang bisa digunakan untuk mengukur kinerja prosedur perbaikan citra. Perhitungan yang dapat dilakukan adalah dengan menentukan Mean Squared Error

(MSE) dan Peak Signal to Noise Ratio (PSNR).

2.3.3.1 Mean Squared Error

(23)

( , ) : intensitas citra di titik (i,j) citra asli ’( , ) : intensitas citra di titik (i,j) citra hasil

Berikut diberikan contoh dari perhitungan untuk Mean Square Error

(MSE),yaitu: Dengan contoh potongan matriks 2x3 dari citra asli dan citra rekonstruksi:

Citra asli: Citra rekonsruksi:

Semakin kecil/rendah nilai yang dihasilkan dari perhitungan Mean Square Error, maka kualitas citra yang dihasilkan akan semakin baik. (Sutoyo,2009).

2.3.3.2Peak Signal to Noise Ratio

Peak Signal to Noise Ratio (PSNR) adalah ukuran matematis dari kualitas citra berdasarkan perbedaan pixel antara kedua gambar. Ukuran SNR adalah perkiraan kualitas gambar yang direkonstruksi dibandingkan dengan gambar asli. Nilai PSNR yang lebih tinggi menyiratkan kemiripan yang lebih erat antara hasil rekonstruksi dan gambar asli. PSNR sering dinyatakan dalam skala logaritmik dalam decibel (dB). Nilai PSNR dibawah 30 dB mengindikasikan kualitas yang relatif rendah, dimana distorsi yang dikarenakan penyisipan terlihat jelas. Akan tetapi kualitas yang tinggi berada pada nilai 40dB dan diatasnya (Cheddad, 2010). PSNR didefinisikan dengan persamaan berikut.

PSNR = 10 logMSEs2

Dimana s adalah nilai maksimum dari pixel citra yang digunakan. Misalkan s = 255 untuk gambar 8-bit. (Al-Najjar & Soong, 2012)

2 7 3

(24)

Berdasarkan contoh pada perhitungan Mean Squared Error sebelumnya, yaitu 0,167. Maka nilai PSNR dapat diselesaikan dengan perhitungan berikut.

PSNR=10 log MSEs2

Gambar

Gambar 2.2. Ilustrasi Kompresi Lossy
Tabel 2.2. String yang Belum Dikompresi
Tabel 2.3 String yang Sudah Dikompresi Dengan Elias Delta Code
Gambar 2.3 Plainteks berupa Teks dan Cipherteksnya
+7

Referensi

Dokumen terkait

PENDIDIKAN ANAK USIA DINI DAN PENDIDIKAN MASYARAKAT DIREKTORAT PEMBINAAN PENDIDIKAN ANAK USIA DINI.

2009 Novel: Tegar Bengawan Pemenang I Sayembara Penulisan Buku Pengayaan PUSBUK KEMENDIKBUD 2009 2009 Prophetic Learning Pro-U Media (Cetakan ke-2 pd 2010) 2008 Novel:

[r]

Alasan peneliti menggunakan metode studi korelasi karena penelitian ini dilaksanakan dengan tujuan menentukan ada tidak hubungan, kearah mana hubungan tersebut,

Dari diagram diatas, maka dapat disimpulkan bahwa alternatif jawaban yang paling banyak dipilih oleh responden adalah alternatif jawaban C (kadang- kadang) sebanyak 35%

Dari diagram aktivitas belajar siklus I dan siklus II dapat dijelaskan mengenai peningkatan aktivitas belajar peserta didik, perolehan data pada siklus I indikator pertama

Pola Komunikasi Orang Tua dalam Mengatasi Kesulitan Berkomunikasi Anak Autis (Studi pada Orang Tua Anak Autis di Sekolah Dasar Swasta Khusus Autis Anak Mandiri Jalan Kutilang No.

Untuk melakukan pengujian pada implementasi failover ini apakah berjalan dengan baik atau tidak adalah menghentikan cluster service, dengan cara menghentikan cluster