Metode Information Dispersal Algorithm

2.4. Metode Information Dispersal Algorithm

(IDA)

Information Dispersal Algorithm (IDA) adalah sebuah algoritma yang baik untuk menyimpan dan transmisi sebuah file (Li, 2013). Gambar 2.1 menunjukkan skema dari algoritma ini. Pada dasarnya, Information Dispersal Algorithm (IDA) menyebar informasi dalam sebuah file F ke dalam potongan atau lokasi n. File akan direkonstruksi dari beberapa potongan m. Masing-masing potongan ukurannya adalah |F| � dimana |F| adalah ukuran

(jumlah karakter) dari F.

ISBN: 979-458-766-4 KeTIK 2014 Konferensi Nasional Pengembangan Teknologi Informasi dan Komunikasi

Total jumlah karakter adalah n . |F|. Jumlah n

harus dipilih sehingga m ~ 1 dalam urutan untuk

A= a 3

memperoleh kedua ruang dan efisiensi komputasi (3) selama penyebaran dan rekonstruksi.

... m a

Mengandaikan i – th baris dari A -1 adalah (α i1 ,..., α im ), maka untuk 1 ≤ k ≤ N/m,

(4) dimana 1 ≤ k ≤ N/m dan i = j mod m Sehingga, diperoleh

j =α b i1 C 1k +...+α im C mk

F=(b 1 ,...,b m ),(b m+1 ,...,b 2m ),...,(b ((N/m)-1)m+1 ,...,b N ) (5)

2.4.2. Implementasi Penyebaran dan Gambar 2.1. Penyimpanan dan transmisi file

Rekonstruksi

Misalkan sebuah file F akan disimpan atau menggunakan Information ditransmisikan menggunakan Information Dispersal Dispersal Algorithm (IDA). Algorithm (IDA). IDA akan menandai dengan

Sumber : Li (2013)

mengikuti parameter:

a) Sebuah bidang Z p , untuk memilih nomor utama Sehubungan dengan masalah penyimpanan,

p.

sebuah file F akan dibagi ke dalam n potongan Semua elemen data dari F adalah elemen dari

F 1 ,...,F n dan masing-masing F i akan disimpan dalam bidang Z p dan semua perhitungan algoritma sebuah node yang berbeda (Li, 2013). Untuk

akan selesai dalam bidang ini. perbaikan, pengguna dapat menggunakan potongan m

b) Sebuah integer m.

untuk merekonstruksi F, dengan asumsi bahwa tidak m adalah jumlah elemen data dari F yang akan lebih dari (n – m) node yang rusak. Demikian juga,

di representasi oleh masing-masing pasangan masalah transmisi sebuah file F akan dibagi ke dalam

(α,β). m juga adalah jumlah dari pasangan

potongan n dan masing-masing potongan ditransmisi sangat perlu untuk merekonstruksi data elemen

melalui n jalur yang berbeda π 1 ,...,π n . Sebagai tempat

ini.

tujuan, F dapat di rekonstruksi menggunakan

c) Sebuah integer n.

potongan m mana saja dari F i , dengan asumsi tidak n adalah jumlah dari pasangan (α,β) dihitung lebih dari (n – m) jalur yang dipecah.

untuk masing-masing elemen data. n harus setidaknya sama besar dengan m, karena jika m

> n maka data tidak dapat direkonstruksi, seperti m adalah jumlah dari elemen data.

2.4.1 Pemisahan dan Rekonstruksi File

Ada dua komponen dasar dari teknik ini yaitu

pemecahan dan rekonstruksi (Li, 2013). Misalkan Implementasi dari Information Dispersal sebuah file F adalah sebuah elemen string dalam

Algorithm (IDA) dapat dicapai dengan mengikuti ruang terbatas Z p , untuk memilih angka utama p. Pilih

langkah berikut (Li, 2013). Misal F = f 0 ,f 1 ,...,f m-1 sebuah integer m sehingga n = m + k dengan m ≤1+ menjadi file yang akan kita sebarkan, dimana masing-

� , 1 masing f i ∈Z p . Proses penyebaran adalah dilakukan ≤ i ≤ n, sehingga setiap bagian dari m vektor yang

e , dimana e > 0. Pilih n vektor a i = (a i1 ,...,a im )

melalui mengikuti langkah-langkah berikut: berbeda adalah bebas linear.

1) Dipilih α = α 1 ,α 2 ,..., α n , sehingga α i ∈Z p dan α i = Dalam fase pemisahan, panjang sebuah N file F

α j jika dan hanya jika i = j.

2) Dihitung β = β 1 ,β 2 ,..., β n dengan rumus:

akan tersegmentasi ke dalam urutan panjang m.

Sehingga, β � = � � =0 f � .( � � ) � (6) F=(b 1 ,...b m ),(b m+1 ,...b 2m ),...,(b ((N/m)-1)m+1 ,...,b n ) (1)

Perhitungan dilakukan dalam Z p , maka masing-

Urutan ini akan dinamai masing-masing dengan S 1 ,

masing β ∈Z p .

S 2 ,...,S n/m. Untuk i = 1,...,n.

3) Disebarkan masing- masing (α i ,β i ).

F i =c i1 ,c i2 ,...,c iN/m =a i S 1 ,a i S 2 ,..., a i S n/m

Memberikan n potongan dari file F masing-masing Dalam merekonstruksi dari algoritma dapat dengan panjang N/m.

diimplementasikan dengan mengikuti langkah Dalam fase rekonstruksi, setiap potongan m dari

berikut. Diambil nilai m mana saja yang berbeda dari

F dipilih, misalnya F 1 ,...,F m . Setiap vektor a i dipilih pasangan (α i ,β i ) dari proses penyebaran untuk dan digunakan untuk membangun matriks A mxm.

merekonstruksi F asli. Sebagai catatan yang perlu digarisbawahi dari pasangan alpha atau beta

digunakan sebagai input dalam algoritma rekonstruksi. Diambil α = α 1 ,..., α m menjadi sebuah

KeTIK 2014 ISBN: 979-458-766-4 Konferensi Nasional Pengembangan Teknologi Informasi dan Komunikasi

3) Dihitung F = A daftar dari semua alpha yang dipilih dan ambil β= -1 .b β 1 ,..., β m menjadi sebuah daftar dari semua beta yang dipilih.

1 0 0 3 -1 A = 1 1 5 x 3

a) Bentuk sebuah matriks A

1 � � ... � � Urutan F diperoleh dengan cara:

b) Dihitung � −1 a) 3 diperoleh dengan melakukan lompatan

c) Dihitung F = � −1 b (8)

sebanyak 3 kali pada urutan nilai α = 0,1,2,3,4,5,6 yang dimulai dari angka 0 dan

Untuk lebih jelasnya, berikut akan dibuat dalam akan berhenti pada angka 3.

b) 4 diperoleh dengan melakukan lompatan sebuah contoh. sebanyak 11 kali pada urutan nilai α = Misalkan diambil F = 3,4,5. Untuk memisahkan dan

0,1,2,3,4,5,6 yang dimulai dari angka 0 dan

menggabung file ini, kita menggunakan bidang Z 7 .

apabila lompatan sudah jatuh di angka 6, maka

Maka semua perhitungan dapat dilakukan dalam Z 7 .

lompatan ini akan diulangi lagi dari angka 0. Dan jika proses ini terus dilakukan, maka

Proses penyebaran:

lompatan terakhir akan berhenti pada angka 4.

1) Dipilih α = 0,1,2,3,4,5,6 maka n = 7 dan m = 3.

c) 5 diperoleh dengan melakukan lompatan Dimana nilai m diperoleh dari banyaknya anggota

sebanyak 19 kali pada urutan nilai α = angka-angka F.

0,1,2,3,4,5,6 yang dimulai dari angka 0 dan 2)

i menggunakan rumus: Dihitung β apabila lompatan sudah jatuh di angka 6, maka

lompatan ini akan diulangi lagi dari angka 0. β � f � .( � � ) � � = � =0 =3+4

Dan jika proses ini terus dilakukan, maka Maka diperoleh:

lompatan terakhir akan berhenti pada angka 5. β 2

1 = 3 + 4.0 + 5.0 =3 Sehingga diperoleh urutan F = 3, 4, 5 β 2

= 3 + 4.2 + 5.2 2 2.5. β Metode Algoritma Huffman 3 =3

2 Penjelasan dari langkah-langkah algoritma β 4 = 3 + 4.3 + 5.3 =4

2 Huffman akan diuraikan seperti pada penjelasan β 5 = 3 + 4.4 + 5.4 =1

berikut ini.

2.5.1. Pembuatan Pohon Huffman

3) Sehingga, F disebarkan ke dalam 7 pasangan Pohon Huffman ini dibentuk berdasarkan kode (α i ,β i ):

prefiks (Sutoyo, 2009). Kode biner dibentuk secara (0,3),(1,5),(2,3),(3,4),(4,1),(5,1),(6,4)

prefiks dan kode biner ini tidak mungkin terbentuk sama satu sama lainnya. Karakter-karakter yang akan

direpresentasikan dalam biner, dipisahkan ke dalam Dipilih 3 pasangan secara bebas dari (α cabang pohon biner dan diberi frekuensinya. Cabang

Proses rekonstruksi:

i ,β i ), misalkan:

sebelah kiri diberi bit 0 sebagai identitas, dan bit (0,3),(2,3),(4,1)

kanan diberi angka 1. Dan pada akhirnya bit ini akan

dibaca dari akar hingga simpul dari suatu karakter itu dan b = 3,3,1

Sehingga α 1 = 0, β 1 = 3, α 2 = 2, β 2 = 3, α 3 = 4, β 3 =1

sehingga terbentuk angka biner identitas untuk

1) Bentuk sebuah matriks A 3x3 : meringkas memori sehingga menjadi efisien. Langkah dalam membentuk pohon Huffman ini dapat

diringkas menjadi sebagai berikut (Sutoyo, 2009) : A=

1) Dihitung semua frekuensi kemunculan tiap

karakternya. Hal ini dapat dilakukan hanya dengan menghitung (memproses) semua karakter

2) Dicari A -1 :

dari awal hingga akhir.

2) Kemudian pada pembentukan pohon di sini yaitu

dengan membagi dua pohon menjadi frekuensi

A = 1 1 5 yang lebih kecil, kemudian hubungkan pada

sebuah akar. Akar tersebut kemudian dipisah kembali dan digabung dengan akar yang berada di

atasnya (akar baru).

ISBN: 979-458-766-4 KeTIK 2014 Konferensi Nasional Pengembangan Teknologi Informasi dan Komunikasi

3) Proses berikutnya yaitu proses rekursif dari proses kedua sehingga akar utama pohon memiliki

SQRP (10/10)

frekuensi bernilai 1.

4) Kemudian pada setiap sisi pohon di sebelah kiri

S (4/10)

diberi label “0” dan sisi di sebelah kanan diberi

QRP (6/10)

label “1”. 0 1

Q (3/10) RP (3/10) Proses-proses ini akan lebih jelas apabila dijelaskan dalam bentuk gambar.

Misalkan terdapat karakternya adalah Gambar 2.4. Pembentukan pohon dari empat simpul PPQQQRSSSS. Yang pertama dilakukan dalam menbentuk pohon

2.5.2. Proses Encoding

Huffman yaitu hitung frekuensi dari tiap-tiap Setelah melihat hasil dari pohon, dapat dibuat sebuah karakter.

tabel yang berisi identitas dari tiap-tiap karakter berdasarkan biner (Sutoyo, 2009). Dalam proses

Tabel 2.1. Jenis karakter dan frekuensinya

encoding ini, prosesnya adalah dibaca urutan biner Karakter

tiap karakter hingga sampai edge dari pohon yang P

Frekuensi

berisi karakter yang dicari. Misalkan, apabila akan Q

dicari huruf R, maka dibaca R(1/10) urutan karakter R

dari akar hingga huruf R yaitu 110. Demikian juga S

untuk seluruh karakter-karakter lainnya.

Kemudian lakukan proses kedua dari proses-

2.5.3. Proses Decoding

proses di atas yaitu dibuat simpul dan akar dari Proses decoding ialah kebalikan dari proses encoding. frekuensi yang terkecil. Pembentukan pohon Dalam sistem kerjanya tidak ada perbedaan yang Huffman tersebut dapat dijelaskan seperti pada signifikan dengan sistem kerja encoding. Hanya kalau

gambar berikut ini. Proses pembentukan pohon encoding membaca pohon dari bawah (edge) hingga Huffman tersebut ditunjukkan pada gambar 2.2,

akar, kalau decoding dari akar hingga ketemu edge gambar 2.3 dan gambar 2.4.

atau dalam hal ini karakter (Sutoyo, 2009). Analoginya adalah seperti ini, decoding adalah jalur yang dilewati untuk menemukan sebuah benda. Misalkan diberikan jalur 110, maka diurutkan jalur

RP (3/10) tersebut pada pohon sehingga menemukan isi dalam

1 0 simpul (dalam hal ini karakter).

R (1/10)

P (2/10)

3. Metodologi Penelitian

Dalam bab ini penulis akan menganalisis tentang watermarking citra digital dengan Information Dispersal Algorithm (IDA) dan Algoritma Huffman. Gambar 2.2. Pembentukan pohon dari dua simpul Skema watermarking dalam penelitian ini terdiri dari proses pembangkitan watermark, penyisipan

QRP (6/10) watermark , pendeteksian watermark dan ekstraksi watermark .