• Tidak ada hasil yang ditemukan

T1 672010147 Full text

N/A
N/A
Protected

Academic year: 2017

Membagikan "T1 672010147 Full text"

Copied!
24
0
0

Teks penuh

(1)

Perancangan dan Implementasi Aplikasi Deteksi

Kemiripan Citra Digital Menggunakan Algoritma

Shingling

dan

Redundant

Pixel Removal

Artikel Ilmiah

Peneliti:

Andry Vegard Sariwating (672010147) Magdalena A. Ineke Pakereng, M.Kom.

Program Studi Teknik Informatika

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

(2)

Perancangan dan Implementasi Aplikasi Deteksi

Kemiripan Citra Digital Menggunakan Algoritma

Shingling

dan

Redundant Pixel Removal

Artikel Ilmiah

Diajukan kepada

Fakultas Teknologi Informasi

untuk memperoleh gelar Sarjana Komputer

Peneliti:

Andry Vegard Sariwating (672010147) Magdalena A. Ineke Pakereng, M.Kom.

Program Studi Teknik Informatika

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

(3)
(4)
(5)
(6)
(7)
(8)

Perancangan dan Implementasi Aplikasi Deteksi Kemiripan Citra

Digital Menggunakan Algoritma

Shingling

dan

Redundant Pixel

Removal

1)

Andry Vegard Sariwating, 2) M. A. Ineke Pakereng

Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Jl. Diponegoro 52-60, Salatiga 50711, Indonesia

Email: 1)672010147@student.uksw.edu, 2) inekep200472@yahoo.com

Abstract

Detection of digital image similarity is required to avoid the accumulation of information in a database or file system, to detect plagiarism, for grouping pictures, and a variety of other purposes. Shingling algorithm is used for the process of finding near-duplicate document. Redundant pixel removal is a technique to ignore / delete pixels that have the same value, which adjacent, in a digital image, so that the detection process can be minimized. In this study, shingling algorithm is implemented to detect similarities digital image. The test results indicate that the application can detect the similarity image that has been through various manipulations such as scaling (enlarge / reduce), rotation, cropping (cut part), and pixel manipulation.

Keywords: Shingling, Near Duplicate Detection, Redundant Pixel Removal

Abstrak

Deteksi kemiripan citra digital diperlukan untuk menghindari penumpukan informasi pada suatu database atau file sistem, untuk mendeteksi plagiasi, untuk pengelompokan gambar, dan berbagai keperluan yang lain. Algoritma Shingling merupakan algoritma yang digunakan untuk proses pencarian near-duplicate document. Redundant pixel removal adalah teknik untuk mengabaikan/menghapus piksel-piksel yang memiliki nilai sama, yang terletak bersebelahan, pada suatu citra digital, sehingga proses deteksi dapat diminimalisasi. Pada penelitian ini, algoritma shingling diimplementasikan untuk mendeteksi kemiripan citra digital. Hasil pengujian menunjukkan bahwa aplikasi yang dibuat, dapat mendeteksi kemiripan gambar yang telah melalui berbagai manipulasi yaitu scaling (perbesar/perkecil), rotasi, cropping (potong sebagian), dan manipulasi piksel.

Kata Kunci: Shingling, Deteksi Kemiripan, Redundant Pixel Removal

1)Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Kristen Satya

Wacana

2)

(9)

1 1. Pendahuluan

Kemudahan dalam menyalin informasi dari satu informasi ke tempat yang lain merupakan salah satu efek dari kemajuan teknologi informasi. Citra digital, sebagai salah satu bentuk informasi digital, dapat disalin, diubah, diambil sebagian, menjadi satu file yang baru. Deteksi kemiripan citra digital diperlukan untuk menghindari penumpukan informasi pada suatu database atau file sistem, untuk mendeteksi plagiasi, untuk pengelompokan gambar, dan berbagai keperluan yang lain.

Algoritma Shingling merupakan algoritma yang ditemukan oleh Andrei Broder [1]. yang digunakan untuk proses pencarian near-duplicate document. Algoritma shingling bekerja dengan cara memotong-motong teks menjadi kumpulan kata, dan membangkitkan suatu nilai unik (fingerprint) untuk tiap kumpulan kata. Algoritma hash dapat digunakan untuk membangkitkan

fingerprint [2].

Redundant pixel removal adalah teknik untuk mengabaikan/menghapus piksel-piksel yang memiliki nilai sama, yang terletak bersebelahan, pada suatu citra digital. Cara ini diperlukan ketika membandingkan dua citra digital yang berasal dari satu sumber, namun memiliki ukuran dimensi berbeda, dengan kata lain citra digital yang kedua merupakan hasil scaling (diperbesar/diperkecil) dari citra digital yang pertama.

Pada penelitian ini, algoritma shingling diimplementasikan untuk mendeteksi kemiripan citra digital. Shingle yang diproses merupakan potongan dari piksel-piksel pada citra digital. Piksel-piksel yang redundant dihilangkan terlebih dahulu, sehingga dapat mempercepat proses pembandingan.

2. Tinjauan Pustaka

(10)

2

kurang lebih tiga tahun pada AltaVista. Document yang dibandingkan disederhanakan dalam bentuk set, melalui proses shingling. Pada penelitian tersebut, satu Shingle terdiri dari 4 kata, sehingga disebut 4-shingling. Setiap

Shingle dibangkitkan sebuah Fingerprint untuk kemudian dibandingkan dengan nilai Fingerprint dari Shingle pada dokumen kedua.Algoritma yang digunakan untuk membangkitkan nilai Fingerprint adalah Rabin's Fingerprint. Rabin's membangkitkan nilai Fingerprint sebesar 64 bit (8 byte). Berbeda dengan penelitian yang dilakukan ini, nilai Fingerprint diperoleh dengan cara membangkitkan nilai hash dari tiap Shingle. Algoritma yang digunakan adalah MD5. MD5 membangkitkan nilai hash sebesar 128 bit, bukan 64 bit. Nilai yang lebih panjang ini dimaksudkan untuk menghindari nilai hash yang sama dari dua

Shingle yang berbeda.

Pada penelitian yang berjudul “Implementasi Teknik Steganografi dengan Metode LSB pada Citra Digital”, disebutkan tentang perlunya pengamanan pengiriman pesan melalui jaringan Internet. Pada penelitian tersebut digunakan media gambar sebagai cover. Hasil penelitian tersebut adalah sebuah aplikasi steganografi dengan algoritma LSB Embedding, yang dapat menyembunyikan pesan, sehingga orang lain tidak menyadari keberadaan pesan di dalam media [5]. Berbeda dengan penelitian ini adalah, pada penelitian ini, proses dipilih pada lokasi yang memberikan perubahan paling minimal. Sehingga kerusakan (perubahan) pada cover menjadi tidak semakin mencurigakan, untuk mencapai salah satu tujuan steganografi.

Berdasarkan penelitian-penelitian yang telah dilakukan tentang deteksi kemiripan dokumen teks, plagiasi, algoritma pencarian string dan teknik

fingerprint, maka dilakukan penelitian yang bertujuan untuk merancang aplikasi deteksi kemiripan citra digital dengan mengimplementasikan algoritma Shingling

dan redundant pixel removal. Batasan masalah dalam penelitian ini adalah sebagai berikut: (1) Citra digital yang dibandingkan memiliki format true color image; (2) Algoritma shingling digunakan untuk membandingkan dua citra digital berdasarkan kumpulan piksel (shingle) yang terbentuk dari kedua citra digital; (3) Algoritma redundant pixel removal digunakan untuk menghapus piksel bersebelahan yang mirip pada satu citra digital.

Penelitian yang dilakukan membahas tentang near-duplicate dan

plagiarism. Plagiarism secara sederhana adalah merepresentasikan ide orang lain, sebagai ide milik sendiri, baik terjadi secara sengaja maupun secara kebetulan [6].

Near-duplicate adalah kondisi ketika dua dokumen memiliki isi yang sama, berbeda pada berberapa kata atau susunan kata [7].

Algoritma Shingling merupakan algoritma yang ditemukan oleh Andrei Broder[4]. Algoritma ini bekerja dengan cara membuat sebuah shingle yang berisi beberapa kata dengan jumlah yang tetap. Angka yang menentukan jumlah kata dalam satu shingle ini disebut gram. Pada tiap shingle dibangkitkan nilai

(11)

3

jumlah fingerprint gabungan (union). Proses perhitungan tersebut didefinisikan sebagai berikut[4]:

r A, B =| S S ||S S | (1)

Persamaan 1 Rumus Nilai Kemiripan [4]

Algoritma Shingling dilakukan melalui beberapa langkah berikut [4]: 1. Hilangkan tanda baca pada dokumen.

2. Dimulai dengan kata pertama, buat satu shingle berisi kata pertama tersebut sampai 3 kata berikutnya.

3. Pindah ke kata kedua, buat shingle berisi kata kedua dan 3 kata berikutnya.

4. Lakukan pembentukan shingle sampai dengan 4 kata terakhir dari dokumen tersebut.

5. Untuk tiap shingle, bangkitkan nilai fingerprint.

6. Lakukan langkah 1 sampai dengan 5 untuk dokumen kedua.

7. Gunakan rumus nilai kemiripan dokumen (Persamaan 1) untuk menghitung nilai kemiripan dokumen.

Nilai fingerprint pada penelitian ini dihitung dengan menggunakan algoritma MD5. MD5 (Message-Digest Algorithm 5) ialah fungsi hash kriptografi yang digunakan secara luas dengan hashvalue 128-bit [2]. MD5 telah dimanfaatkan secara bermacam-macam pada aplikasi keamanan, dan MD5 juga umum digunakan untuk melakukan pengujian integritas (fingerprint) sebuah

file.MD5 didesain oleh Ronald Rivest pada tahun 1991 untuk menggantikan

hashfunction sebelumnya, yaitu MD4. Hashvalue yang dihasilkan oleh MD5 memiliki panjang 128-bit (16 byte), sekalipun input (pesan) yang digunakan memiliki panjang yang bervariasi. Hashvalue berubah signifikan sekalipun perubahan yang terjadi pada input hanya 1 byte.

Algoritma Shingling yang ditemukan oleh Broder, menggunakan fingerprint

dengan panjang 64 bit. Panjang fingerprint 64 bit untuk tiap shingle memiliki resiko yaitu dihasilkannya fingerprint yang sama untuk shingle yang berbeda. Hal ini disebut dengan collision vulnerabilities [8]. Untuk menghindari kemungkinan

collision, maka digunakan fingerprint dengan panjang yang lebih dari 64 bit. Berdasarkan tujuan tersebut maka algoritma MD5 digunakan untuk menghasilkan

fingerprint dengan panjang 128 bit.

Pada penelitian ini, format file citra digital yang digunakan adalah PNG. PNG merupakan TrueColorimage. Suatu true colour image memiliki komponen

(12)

4

Gambar 1 Komponen RGB pada File Gambar 24 Bit Warna[9]

Microsoft .NET Framework merupakan sebuah perangkat lunak kerangka kerja yang berjalan pada sistem operasi Microsoft Windows. Saat ini .NET Framework umumnya telah terintegrasi dalam distribusi standar Windows (mulai dari Windows Server 2003 dan versi-versi Windows yang lebih baru). Kerangka kerja ini menyediakan sejumlah besar pustaka pemrograman komputer dan mendukung beberapa bahasa pemrograman serta interoperabilitas yang baik sehingga memungkinkan bahasa-bahasa tersebut berfungsi satu dengan lain dalam pengembangan sistem. Berbeda halnya dengan tipikal aplikasi konvensional umumnya, program yang ditulis dengan memanfaatkan .NET Framework berjalan pada lingkungan perangkat lunak melalui Common Language Runtime, dan bukan perangkat keras secara langsung. Hal ini memungkinkan aplikasi yang dibuat di atas .NET secara teoritis dapat berjalan pada perangkat keras apapun yang didukung oleh .NET Framework. Perangkat lunak ini adalah kunci penawaran utama dari Microsoft, dan dimaksudkan untuk digunakan oleh sebagian besar aplikasi-aplikasi baru yang dibuat untuk platform Windows [10]. Pada penelitian ini, .NET Framework digunakan untuk membangun aplikasi deteksi kemiripan. Beberapa pustaka pemrograman yang digunakan adalah pustaka untuk membuat

Graphical User Interface (GUI), dan pustaka pemrosesan gambar (Bitmap). 3. Metode dan Perancangan Sistem

(13)

5

Identifikasi Masalah dan Studi Literatur

Perancangan Sistem

Implementasi Sistem

Pengujian S istem dan Analisi s Hasil Pengujian

Gambar 2 Tahapan Penelitian

Tahapan penelitian pada Gambar 2, dapat dijelaskan sebagai berikut.

Tahap pertama: identifikasi masalah dan literatur, yaitu keamanan citra digital.

Tahap kedua: perancangan sistem yang meliputi perancangan sistem deteksi kemiripan citra digital; Tahap ketiga: implementasi sistem, yaitu membuat aplikasi sesuai perancangan sistem pada tahap kedua; dan Tahap keempat:

pengujian sistem dan analisis hasil pengujian, yaitu dilakukan pengujian terhadap proses yang telah dirancang, dan melihat kesesuaian solusi terhadap masalah yang telah teridentifikasi sebelumnya.

Gambar 3 Desain Sistem

Sistem yang dikembangkan, memiliki desain yang ditunjukkan pada Gambar 3. Sistem terdiri dari dua input yaitu file gambar A dan file gambar B. Hasil deteksi kedua file gambar tersebut adalah berupa angka prosentase kemiripan.

Gambar A

Gambar B

Hapus Piksel Redundant

Buat Shingle berisi N

Piksel

Hitung Union dan Intersection

Hitung Prosentase

Kemiripan

Hapus Piksel Redundant

Buat Shingle berisi N

(14)

6

Hapus Redundant Piksel Hapus Redundant Piksel

Mulai

Gambar 4 Perhitungan Prosentase Kemiripan File Gambar

Gambar 5 Shingle dan Fingerprint

Proses perhitungan prosentase kemiripan file gambar secara garis besar ditunjukkan pada Gambar 4. Proses pembandingan memerlukan dua input file citra digital. Pada tiap file citra digital, dilakukan proses penghapusan piksel-piksel yang berlebihan (redundant). Piksel redundant adalah piksel yang memiliki nilai yang sama dengan nilai sebelumnya. Tujuan dari proses ini adalah untuk mengurangi shingle yang terbentuk, dan mempercepat proses pembandingan. Jumlah shingle yang terbentuk bergantung pada jumlah piksel yang ada pada suatu citra digital. Semakin sedikit piksel, maka semakin sedikit pula shingle yang dihasilkan. Semakin sedikit shingle yang dihasilkan, maka semakin cepat proses pembandingan. Penghapusan piksel redundant juga bertujuan untuk membandingkan dua file citra digital yang sama, namun berbeda ukuran dimensi karena hasil scaling (citra digital diperbesar/diperkecil).

Proses pembentukan shingle dilakukan setelah proses penghapusan piksel

redundant. Langkah detail dari pembentukan shingle ditunjukkan pada Gambar 5. Jumlah piksel dalam satu shingle ditentukan oleh nilai gram. Nilai gram ditentukan oleh input user. Pada tiap shingle yang terbentuk, dihitung nilai

fingerprint.

Pembentukan nilai fingerprint bertujuan untuk memperkecil ukuran byte shingle yang akan dibandingkan. Sebagai contoh jika dalam satu shingle terdapat 20 piksel (variabel gram diberi nilai 20), maka dalam satu shingle terdapat 20 x 3

(15)

7

Membandingkan dua shingle yang berukuran 16 byte, tentu lebih cepat dari pada membandingkan dua shingle berukuran 60 byte.

Proses setelah terbentuk shingle untuk kedua gambar dan nilai fingerprint

untuk tiap-tiap shingle, yaitu menghitung jumlah shingle yang sama pada kedua gambar (intersection), dan jumlah gabungan shingle kedua gambar (union). Nilai kemiripan diperoleh dari nilai intersection dibagi dengan nilai union, dikalikan 100 persen.

Langkah-langkah pada flowchart di Gambar 4 dan Gambar 5, dapat dijelaskan dengan contoh proses deteksi kemiripan dua citra digital. Terdapat dua citra digital dengan nilai piksel ditunjukkan pada Gambar 6 dan Gambar 7.

RGB (200,100,100) RGB (100,200,120) RGB (40,40,40)

RGB (40,40,40) RGB (200,100,100) RGB (100,200,120)

RGB (40,40,40) RGB (200,100,100) RGB (100,200,120)

Gambar 6 Susunan Piksel Citra Digital A

RGB (200,100,100) RGB (200,100,100) RGB (40,40,40)

RGB (40,40,40) RGB (100,200,120) RGB (100,200,120)

RGB (50,50,50) RGB (50,50,50) RGB (100,200,120)

RGB (200,100,100) RGB (200,100,100) RGB (100,200,120)

RGB (40,40,40) RGB (40,40,40) RGB (100,200,120)

RGB (200,100,100) RGB (200,100,100) RGB (100,200,120)

Gambar 7 Susunan Piksel Citra Digital B

Piksel pada citra digital A disusun secara berurutan maka terbentuk deretan piksel yang ditunjukkan pada Gambar 8. Piksel pada citra digital B, menghasilkan deretan piksel ditunjukkan pada Gambar 9.

Citra Digital A

Gambar 8 Susunan Piksel Citra Digital A Disusun Berurutan

(16)

8

Proses redundant pixel removing kemudian dilakukan pada susunan piksel tiap citra digital tersebut. Hasil dari proses tersebut menghasilkan nilai-nilai piksel ini:

Gambar 10 Susunan Piksel Citra Digital A sebelum proses redundant pixel removing

Gambar 11 Susunan Piksel Citra Digital A Setelah Proses redundant pixel removing

Citra Digital B

Gambar 12 Susunan Piksel Citra Digital B sebelum proses redundant pixel removing

Gambar 13 Susunan Piksel Citra Digital B Setelah Proses redundant pixel

removing

(17)

9

Tabel 1 Hasil Shingle dan Fingerprint pada Contoh Citra Digital A

Shingle Isi Shingle Fingerprint (MD5)

1 RGB (200,100,100) RGB (100,200,120) 1E371AC53749600F9DCD6519031A62DE

2 RGB (100,200,120) RGB (40,40,40) 135F34EE36C547F5BB93E1BB5F4BF2A7

3 RGB (40,40,40) RGB (200,100,100) 78D4EE3D58CCEA81770A469E02E6F2BB

4 RGB (200,100,100) RGB (100,200,120) 1E371AC53749600F9DCD6519031A62DE

5 RGB (100,200,120) RGB (40,40,40) 135F34EE36C547F5BB93E1BB5F4BF2A7

6 RGB (40,40,40) RGB (200,100,100) 78D4EE3D58CCEA81770A469E02E6F2BB

7 RGB (200,100,100) RGB (100,200,120) 1E371AC53749600F9DCD6519031A62DE

8 RGB (100,200,120) RGB (200,100,100) 5166A20435CCC3DAECDFC7DE1A2E2C6C

Tabel 2 Hasil Shingle dan Fingerprint pada Contoh Citra Digital B

Shingle Isi Shingle Fingerprint (MD5)

1 RGB (200,100,100) RGB (40,40,40) 599428928438677F7BABC8A6574AF047

2 RGB (40,40,40) RGB (100,200,120) 73D2E7A4A52C1C0C74916C22F0FDBD4B

3 RGB (100,200,120) RGB (50,50,50) 714F15BFCFC1ADCD79525FD7B9FF9947

4 RGB (50,50,50) RGB (100,200,120) 39EDF78E5049C842DA8B6592D6910B54

5 RGB (100,200,120) RGB (200,100,100) 5166A20435CCC3DAECDFC7DE1A2E2C6C

6 RGB (200,100,100) RGB (100,200,120) 1E371AC53749600F9DCD6519031A62DE

7 RGB (100,200,120) RGB (40,40,40) 135F34EE36C547F5BB93E1BB5F4BF2A7

8 RGB (40,40,40) RGB (100,200,120) 73D2E7A4A52C1C0C74916C22F0FDBD4B

9 RGB (100,200,120) RGB (200,100,100) 5166A20435CCC3DAECDFC7DE1A2E2C6C

10 RGB (200,100,100) RGB (100,200,120) 1E371AC53749600F9DCD6519031A62DE

11 RGB (100,200,120) RGB (200,100,100) 5166A20435CCC3DAECDFC7DE1A2E2C6C

Perpotongan (intersection), adalah nilai fingerprint yang berada di citra

Gabungan (union) diperoleh dengan cara menggabungkan nilai fingerprint

citra digital A dan citra digital B, namun hanya nilai unik saja, sehingga tidak ada nilai fingerprint yang muncul lebih dari satu kali.

1E371AC53749600F9DCD6519031A62DE

Nilai kemiripan yaitu jumlah perpotongan dibagi jumlah gabungan dikalikan 100 %.

(3 / 8) x 100% = 37.5%.

(18)

10 4. Hasil dan Pembahasan

Pengembangan aplikasi dilakukan dengan menggunakan Visual Studio 2012 Express for Desktop. Visual Studio 2012 Express for Desktop merupakan satu dari serangkaian produk Microsoft yang dapat digunakan tanpa harus membayar lisensi. Di dalam Visual Studio sudah termasuk kerangka kerja pemrograman .Net Framework 4.5. Pustaka ini menyediakan pustaka-pustaka yang dapat digunakan untuk mengolah gambar, melakukan enkripsi/dekripsi, dan lain sebagainya.

Gambar 14 Hasil Deteksi Gambar 100% Mirip

Gambar 15 Hasil Deteksi Gambar 88.67% Mirip Hasil Proses Flip

Kode Program 1 Perintah untuk membentuk suatu shingle

1. for (int i = 0; i < jumlahShingle; i++)

2. {

3. byte[] shingle = new byte[gram];

4. Array.Copy(words, i,

5. shingle, 0, shingle.Length);

6. String hash = GetMd5Hash(md5,

7. string.Join(" ", shingle));

8. s.Add(hash);

9. }

Kode Program 1 merupakan perintah yang digunakan untuk membentuk suatu shingle. Panjang shingle ditentukan oleh variabel gram. Variabel ini bergantung dari masukan user.

Kode Program 2 Perintah untuk Menghitung Fingerprint

1. public static string GetMd5Hash(

2. MD5 md5Hash, byte[] pixels)

3. {

4. byte[] data = md5Hash.ComputeHash(pixels);

(19)

11

6. for (int i = 0; i < data.Length; i++)

7. {

8. sBuilder.Append(

9. data[i].ToString("x2"));

10. }

11. return sBuilder.ToString();

12.}

Pada Kode Program 2, untuk membangkitkan nilai fingerprint dari suatu

shingle, digunakan algoritma MD5 (baris 13). Pada .Net Framework, tersedia

class MD5, yang berfungsi untuk membangkitkan nilai hash/fingerprint dari

inputstring. Class MD5 yang tersedia mengakibatkan proses pengembangan aplikasi menjadi lebih cepat karena tidak perlu menulis kode program sendiri. Selain itu, implementasi MD5 pada .Net Framework memberikan jaminan bahwa

library tersebut berjalan optimal dalam sistem operasi Microsoft Windows. Kode Program 3 Perintah untuk Menghitung Nilai Prosentase Kemiripan

1 var fA = Fingerprints(docA);

2 var fB = Fingerprints(docB);

3 var intersect = fA.Intersect(fB);

4 var union = fA.Union(fB);

5 return

6 (float)intersect.Count()/(float)union.Count();

Untuk menghitung nilai kemiripan dua citra digital sesuai dengan Persamaan 1, digunakan fungsi Intersect (baris 3) dan Union (baris 4). Kedua fungsi tersebut dapat digunakan pada sebuah variabel bertipe array (himpunan).

Intersect merupakan fungsi untuk mencari elemen-elemen yang merupakan anggota dua himpunan. Union merupakan fungsi untuk menggabungkan dua himpunan. Menggunakan dua fungsi tersebut, maka dapat diperoleh angka kemiripan, yaitu dengan membagi angka jumlah himpunan hasil dari Intersect, dengan angka jumlah himpunan hasil Union.

Beberapa pengujian dilakukan pada aplikasi untuk mengetahui hasil deteksi kemiripan gambar. Pengujian 1 yaitu pengujian gambar yang diskalakan (diperbesar/diperkecil). Hasil pengujian 1 ditunjukkan pada Tabel 3.

Tabel 3 Hasil Pengujian 1

No Gambar A Gambar B Keterangan Hasil Deteksi Kemiripan

(20)

12

2. Skala 150% 70%

3. Skala 200% 68%

4. Skala 80% 72%

5.

Skala 50% 70%

6. Skala 25% 68%

Berdasarkan hasil pengujian 1, aplikasi dapat mendeteksi kemiripan gambar yang diperbesar/diperkecil, sampai dengan 72%.

Pengujian 2 yaitu pengujian gambar yang diputar. Pengujian dilakukan terhadap beberapa gambar, yang dilakukan rotasi beberapa kali. Hasil pengujian 2 ditunjukkan pada Tabel 4.

Tabel 4 Hasil Pengujian 2

No Gambar A Gambar B Keterangan Hasil Deteksi

Kemiripan

1. Rotasi Kanan

90 derajat

(21)

13

2. Rotasi Kiri

90 derajat

57%

3. Rotasi

180 derajat

78%

4. Flip

Horisontal

79%

5. Flip

Vertikal

88%

Berdasarkan hasil pengujian 2, aplikasi dapat mendeteksi kemiripan gambar hasil rotasi sampai dengan 88%.

Pengujian 3 yaitu pengujian gambar yang dipotong sebagian. Pengujian dilakukan terhadap beberapa gambar, yang dipotong secara bervariasi. Hasil pengujian 3 ditunjukkan pada Tabel 5.

Tabel 5 Hasil Pengujian 3

No Gambar A Gambar B Keterangan Hasil

Deteksi Kemiripan

1. Crop 50x50

piksel

96%

2. Crop 75x75

piksel

91%

3. Crop

100x100 piksel

85%

4. Crop

150x150 piksel

(22)

14

5. Crop

200x200 piksel

39%

Berdasarkan hasil pengujian 3, aplikasi dapat mendeteksi kemiripan gambar yang dipotong, sampai dengan 96%. Nilai kemiripan bergantung pada berapa besar bagian gambar yang hilang karena dipotong.

Pengujian 4 yaitu pengujian gambar yang diubah (manipulasi) sebagian. Pengujian dilakukan terhadap beberapa gambar yang dimanipulasi pada posisi yang berbeda-beda. Hasil pengujian 4 ditunjukkan pada Tabel 6.

Tabel 6 Hasil Pengujian 4

No Gambar A Gambar B Keterangan Hasil Deteksi

Kemiripan

1. Diberi tulisan 96%

2. Dimanipulasi 92%

3. Dimanipulasi 86%

4. Overlay 92%

5. Grayscale 25%

Berdasarkan hasil pengujian 4, aplikasi dapat mendeteksi kemiripan gambar yang diubah nilai pikselnya, sampai dengan 96%. Nilai kemiripan bergantung pada besarnya piksel yang dimanipulasi.

(23)

15

Berdasarkan penelitian, pengujian dan analisis terhadap sistem, maka dapat diambil kesimpulan sebagai berikut: (1) Deteksi kemiripan gambar dapat dilakukan dengan membandingkan nilai-nilai piksel gambar tersebut, dengan membentuk shingle-shingle; (2) Untuk memperkecil jumlah piksel dan shingle

yang dibandingkan, maka dilakukan penghapusan piksel-piksel yang redundan. Piksel redundan adalah piksel yang bernilai sama dengan piksel sebelumnya; (3) Aplikasi dapat mendeteksi kemiripan gambar yang telah melalui berbagai manipulasi yaitu scaling (perbesar/perkecil), rotasi, cropping (potong sebagian), dan manipulasi piksel.

Saran yang dapat diberikan untuk penelitian dan pengembangan lebih lanjut adalah proses pembentukan fingerprint dapat menggunakan algoritma hash yang lain. Tiap algoritma hash seperti CRC, MD5, SHA dan lain-lain memiliki keunggulan masing-masing. Aplikasi yang dihasilkan pada penelitian ini dapat dimanfaatkan untuk deteksi kemiripan foto, sebagai contoh pada bagian imigrasi, pencarian orang hilang, dan lain sebagainya. Proses pembandingan juga dapat mengabaikan bitplane yang rendah, semisal 4 bit paling kiri. Jadi proses pembandingan hanya dilakukan pada 4 bit terdepan, sehingga dapat mengurangi banyaknya data yang dibentuk menjadi shingle, dan juga mempercepat proses deteksi kemiripan.

6. Daftar Pustaka

[1]. Montanari, D. & Puglisi, P. L. 2012. Near duplicate document detection for large information flows. In Multidisciplinary Research and Practice for Information Systems, pp. 203–217. Springer.

[2]. Walia, A. G. N. K. 2014. Cryptography Algorithms: A Review. International Journal of Engineering Development and Research

[3]. Chen, Z., Zhang, Y. & Delis, a. 2009. A Digest and Pattern Matching-Based Intrusion Detection Engine. The Computer Journal 52, 699–723. (doi:10.1093/comjnl/bxp026)

[4]. Broder, A. 2000. Identifying and filtering near-duplicate documents. Combinatorial pattern matching , 1–10.

[5]. Alatas, P. 2009. Implementasi Teknik Steganografi dengan Metode LSB pada Citra Digital. Universitas Gunadarma

[6]. Fowler, H. R., Aaron, J. E. & others 2007. The little, brown handbook. Pearson Longman.

[7]. Stein, B., Koppel, M. & Stamatatos, E. 2007. Plagiarism analysis, authorship identification, and near-duplicate detection PAN’07. In ACM SIGIR Forum, pp. 68–71.

[8]. Wang, G. 2011. Collision attack for the hash function extended MD4. In Information and Communications Security, pp. 228–241. Springer.

[9]. Parvez, M. T. & Gutub, A. A.-A. 2008. RGB Intensity Based Variable-Bits Image Steganography. IEEE Asia-Pacific Services Computing Conference , 1322–1327.

(24)

Gambar

Gambar 1  Komponen RGB pada File Gambar 24 Bit Warna[9]
Gambar 3. Sistem terdiri dari dua Sistem yang dikembangkan, memiliki desain yang ditunjukkan pada Hasil deteksi kedua file gambar tersebut adalah berupa angka prosentase input yaitu file gambar A dan file gambar B
Gambar AGambar B
Gambar 6 Susunan Piksel Citra Digital A
+7

Referensi

Dokumen terkait

f) Guru menjelaskan kepada siswa mengenai peta pikiran dan memberikan contoh, sehingga siswa dapat membuat peta pikiran dengan kreasinya sendiri pada waktu yang telah

Pemahaman komunikasi sebagai suatu proses searah sebenarnya kurang sesuai bila diterapkan pada komunikasi tatap muka, namun mungkin tidak terlalu keliru bila

Dengan keterbatasan fiskal yang ada dalam pendanaan pembangunan infrastruktur permukiman serta program-program kegiatan pembangunan yang telah direncanakan, pemerintah

Berdasarkan temuan alat-alat batu yang ada menunJukkan bahwa penghuni Gua Macan memiliki keahlian teknologi yang baik, hal tersebut dibuktikan dengan kondisi

Dalam suatu penyalahgunaan narkoba secara tidak langsung menimbulkan korban. Untuk mengatasi korban penyalahgunaan narkoba perlu dilakukan tindakan-tindakan yang baik agar

Sikap kerja yang alamiah yaitu sikap dalam proses kerja yang sesuai dengan anatomi tubuh, sehingga tidak terjadi pergeseran atau penekanan pada bagian tubuh

Hal ini berarti besarnya kontribusi pesan dan endorser pada iklan televisi dalam mempengaruhi keputusan pembelian minuman You C 1000 Vitamin di wilayah Surabaya Selatan secara

PENGARUH MUSCLE ENERGY TECHNIQUE ISOMETRIK DAN STATIC STRETCHING TERHADAP FLEKSIBILITAS OTOT HAMSTRINGS PADA SISWA DI SEKOLAH SEPAK.. BOLA (SSB) ANGKASA SURAKARTA Dwi