Pengembangan Teknik Pengolahan Citra dengan Sistem Linear ...

9
JURNAL ILMIAH CORE IT Vol. 6 No. 1 e-ISSN: 2548-3528 p-ISSN: 2339-1766 Pengembangan Teknik Pengolahan Citra dengan Sistem Linear Congruential Generator (LCG) Edi Sudharmono 1) , Sukiman 2) STMIK IBBI Jalan Sei Deli No. 18 Medan e-mail: [email protected] Abstrak Perkembangan dunia teknologi telah membuat penyimpanan dan pengiriman citra digital menjadi lebih mudah dan efisien. Masalah yang timbul adalah permasalahan keamanan informasi seperti privasi dan kerahasiaan. Citra yang disimpan atau didistribusikan dalam bentuk asli sangat rentan terhadap penyadapan, pencurian, dan pengaksesan oleh pihak-pihak yang tidak berhak (unauthorized party). Pengamanan terhadap citra dilakukan dengan menggunakan algoritma Linear Congruential Generator (LCG). Pengacakan dilakukan pada posisi baris, posisi kolom, dan warna piksel di dalam citra. Untuk merekonstruksi citra teracak kembali ke citra awal, maka lakukan rekonstruksi warna piksel, posisi kolom dan posisi baris piksel dengan menggunakan kunci yang sama pada saat pengacakan. Hasil pengacakan menunjukkan bahwa algoritma LCG bekerja dengan baik, karena hasil pengacakan tidak mengandung informasi yang bermakna. Algoritma LCG dapat digunakan untuk mengamankan citra digital dengan melakukan pengacakan terhadap citra dengan baik dan cepat. Kata kunci: Citra, Pengamanan, Pengacakan, LCG Abstract The development of the world of technology has made the storage and delivery of digital images easier and more efficient. Problems arising are information security issues such as privacy and confidentiality. Images that are stored or distributed in their original form are particularly vulnerable to tapping, theft, and accessing by unauthorized parties. Image security is done by using Linear Congruential Generator (LCG) algorithm. Randomization is done in row position, column position, and pixel color inside image. To reconstruct random images back to the original image, then do a pixel color reconstruction, column position and pixel row position using the same key during randomization. The results of randomization indicate that the LCG algorithm works well, because the random results do not contain any meaningful information. LCG algorithm can be used to secure digital image by doing randomization of image with good and fast. Keywords: Image, Security, Scrambling, LCG 1. Pendahuluan Citra (image) atau gambar merupakan salah satu komponen multimedia yang memegang peranan penting untuk menyimpan informasi dalam bentuk visual. Saat ini peran citra analog telah diambil alih oleh citra digital, dan perkembangan dunia teknologi saat ini telah membuat penyimpanan dan pengiriman citra digital menjadi lebih mudah dan efisien. Kriptografi adalah suatu ilmu yang mempelajari bagaimana cara menjaga agar data atau pesan tetap aman saat dikirimkan, dari pengirim ke penerima tanpa mengalami gangguan dari pihak ketiga degan mengacak urut pesan atau gambar. Menurut Bruce Scheiner dalam bukunya "Applied Cryptography", kriptografi adalah ilmu pengetahuan dan seni menjaga message-message agar tetap aman (secure). Maka Citra kriptografi adalah gambar yang dikirim sebagai pesan tetapi sudah diacak sebelumnya baru dikirim ke pihak kedua agar pihak ketiga tidak dapat membaca isi pesan pada gambar tersebut dengan mudah, sehingga kerahasiaan pesan yang terdapat pada gambar tersebut terjaga kerahasiaannya. Beberapa teknik pengamanan citra digital dapat dilakukan dengan menggunakan metode kriptografi, seperti: metode Data Encryption Standard (DES), Word Auto Key Encryption (WAKE) dan masih banyak metode yang lainnya yang bisa diterapkan. Masalah yang timbul dari kemudahan ini adalah permasalahan keamanan informasi seperti privasi dan kerahasiaan. Citra yang disimpan atau didistribusikan dalam bentuk asli sangat rentan

Transcript of Pengembangan Teknik Pengolahan Citra dengan Sistem Linear ...

Page 1: Pengembangan Teknik Pengolahan Citra dengan Sistem Linear ...

JURNAL ILMIAH CORE IT Vol. 6 No. 1 e-ISSN: 2548-3528 p-ISSN: 2339-1766

Pengembangan Teknik Pengolahan Citra dengan Sistem Linear Congruential Generator (LCG)

Edi Sudharmono1), Sukiman2)

STMIK IBBI

Jalan Sei Deli No. 18 Medan e-mail: [email protected]

Abstrak

Perkembangan dunia teknologi telah membuat penyimpanan dan pengiriman citra digital menjadi lebih mudah dan efisien. Masalah yang timbul adalah permasalahan keamanan informasi seperti privasi dan kerahasiaan. Citra yang disimpan atau didistribusikan dalam bentuk asli sangat rentan terhadap penyadapan, pencurian, dan pengaksesan oleh pihak-pihak yang tidak berhak (unauthorized party). Pengamanan terhadap citra dilakukan dengan menggunakan algoritma Linear Congruential Generator (LCG). Pengacakan dilakukan pada posisi baris, posisi kolom, dan warna piksel di dalam citra. Untuk merekonstruksi citra teracak kembali ke citra awal, maka lakukan rekonstruksi warna piksel, posisi kolom dan posisi baris piksel dengan menggunakan kunci yang sama pada saat pengacakan. Hasil pengacakan menunjukkan bahwa algoritma LCG bekerja dengan baik, karena hasil pengacakan tidak mengandung informasi yang bermakna. Algoritma LCG dapat digunakan untuk mengamankan citra digital dengan melakukan pengacakan terhadap citra dengan baik dan cepat.

Kata kunci: Citra, Pengamanan, Pengacakan, LCG

Abstract The development of the world of technology has made the storage and delivery of digital images

easier and more efficient. Problems arising are information security issues such as privacy and confidentiality. Images that are stored or distributed in their original form are particularly vulnerable to tapping, theft, and accessing by unauthorized parties. Image security is done by using Linear Congruential Generator (LCG) algorithm. Randomization is done in row position, column position, and pixel color inside image. To reconstruct random images back to the original image, then do a pixel color reconstruction, column position and pixel row position using the same key during randomization. The results of randomization indicate that the LCG algorithm works well, because the random results do not contain any meaningful information. LCG algorithm can be used to secure digital image by doing randomization of image with good and fast. Keywords: Image, Security, Scrambling, LCG 1. Pendahuluan

Citra (image) atau gambar merupakan salah satu komponen multimedia yang memegang peranan penting untuk menyimpan informasi dalam bentuk visual. Saat ini peran citra analog telah diambil alih oleh citra digital, dan perkembangan dunia teknologi saat ini telah membuat penyimpanan dan pengiriman citra digital menjadi lebih mudah dan efisien.

Kriptografi adalah suatu ilmu yang mempelajari bagaimana cara menjaga agar data atau pesan tetap aman saat dikirimkan, dari pengirim ke penerima tanpa mengalami gangguan dari pihak ketiga degan mengacak urut pesan atau gambar. Menurut Bruce Scheiner dalam bukunya "Applied Cryptography", kriptografi adalah ilmu pengetahuan dan seni menjaga message-message agar tetap aman (secure).

Maka Citra kriptografi adalah gambar yang dikirim sebagai pesan tetapi sudah diacak sebelumnya baru dikirim ke pihak kedua agar pihak ketiga tidak dapat membaca isi pesan pada gambar tersebut dengan mudah, sehingga kerahasiaan pesan yang terdapat pada gambar tersebut terjaga kerahasiaannya.

Beberapa teknik pengamanan citra digital dapat dilakukan dengan menggunakan metode kriptografi, seperti: metode Data Encryption Standard (DES), Word Auto Key Encryption (WAKE) dan masih banyak metode yang lainnya yang bisa diterapkan.

Masalah yang timbul dari kemudahan ini adalah permasalahan keamanan informasi seperti privasi dan kerahasiaan. Citra yang disimpan atau didistribusikan dalam bentuk asli sangat rentan

Page 2: Pengembangan Teknik Pengolahan Citra dengan Sistem Linear ...

n

46

terhadap penyadapan, pencurian, dan pengaksesan oleh pihak-pihak yang tidak berhak (unauthorized party).

Solusi dari permasalahan ini adalah melakukan pengamanan terhadap citra dengan cara mengacak posisi piksel dan nilai piksel di dalam citra, sehingga citra terlihat menjadi tidak bermakna. Walaupun citra tersebut berhasil dicuri oleh pihak ketiga, citra sudah tidak memiliki informasi yang bisa diambil karena telah mengalami pengacakan informasi pada posisi piksel dan nilai piksel di dalam citra sebelumnya.

Namun, penggunaan metode kriptografi melibatkan operasi matematika yang relatif rumit dengan iterasi/putaran yang relatif banyak, sehingga implementasinya dalam mengenkripsi citra yang berukuran besar membutuhkan waktu yang relatif lama. 2. Landasan Teori

Landasan teori berisi teori-teori dasar mengenai citra dan pengolahan citra dengan sistem LCG menggunakan Visual Studio. 2.1. Citra

Citra atau gambar dapat didefinisikan sebagai sebuah fungsi dua dimensi, f (x, y), dimana x dan y adalah koordinat bidang datar, dan harga fungsi f di setiap pasangan koordinat (x, y) disebut intensitas atau level keabuan (gray level) dari gambar di titik itu.

Citra digital merupakan representatif dari citra yang diambil oleh mesin (citra analog) dengan bentuk pendekatan berdasarkan sampling dan kuantisasi. Sampling menyatakan besarnya kotak-kotak yang disusun dalam baris dan kolom. Dengan kata lain, sampling pada citra menyatakan besar kecilnya ukuran piksel (titik) pada citra, dan kuantisasi menyatakan besarnya nilai tingkat kecerahan yang dinyatakan dalam nilai tingkat keabuan (grayscale) sesuai dengan jumlah bit biner yang digunakan oleh mesin. Dengan kata lain, kuantisasi pada citra menyatakan jumlah warna yang ada pada citra.

Yang dimaksud pixel adalah suatu gambar yang ada di dalam komputer sesungguhnya adalah kumpulan dari ribuan titik yang sangat kecil dan tiap-tiap titik tersebut memiliki warna tertentu. Titik-titik itulah yang disebut pixel. Setiap pixel mempunyai satu warna dan bergabung dengan pixel–pixel lainnya sehingga membentuk suatu pola dan menghasilkan gambar.

Resolusi adalah jumlah pixel per daerahnya. Resolusi itulah yang menentukan kualitas dari gambar. Jika suatu gambar diperbesar, maka resolusi gambar akan menjadi kecil dan gambar menjadi tidak tajam. Semakin tinggi resolusi gambar, maka akan semakin tinggi kemampuan perbesarannya.

Intensitas adalah pixel yang membentuk suatu gambar memiliki warna-warna tertentu. Jumlah warna yang dimiliki suatu gambar disebut intensitas. Intensitas gambar mempunyai beberapa jenis istilah yaitu 256 warna, high color, 16 juta warna (true color), gradasi abu-abu (grayscale), dan hitam-pitih (black & white). Semakin banyak jumlah warna dalam suatu gambar maka akan semakin bagus. Jumlah warna maksimum dari gambar dapat dilihat dari jenis (ekstensi) filenya. File gambar berekstensi .jpg memiliki jumlah warna maksimum 16 juta warna, file gambar berekstensi .gif memiliki jumlah warna maksimum 265 warna.

2.2. Pembangkit Bilangan Acak Semu

Bilangan acak (random) banyak digunakan di dalam program komputer, misalnya untuk program simulasi, seperti mensimulasikan waktu kedatangan nasabah di bank, pompa bensin, dan sebaliknya), program kriptografi, aplikasi statistik dan sebagainya.

Tidak ada komputasi yang benar-benar menghasilkan deretan bilangan acak secara sempurna. Bilangan acak yang dihasilkan dengan rumus-rumus matematika adalah bilangan acak semu (pseudo), karena pembangkitan bilangannya dapat diulang kembali. Pembangkitan deretan bilangan acak ini disebut pembangkit bilangan acak semu (pseudo-random number generator atau PRNG). (Munir, 2012, hal 217) 2.3.1. Linear Congruential Generator

Metode yang paling umum digunakan untuk membangkitkan bilangan acak adalah dengan pembangkit bilangan acak kongruen-lanjar (linear congruential generator atau LCG). Metode LCG diimplementasikan dalam bentuk rumus umum:

xn = (a.xn-1 + b) mod m yang dalam hal ini,

xn = bilangan acak ke-n dari deretan.

Page 3: Pengembangan Teknik Pengolahan Citra dengan Sistem Linear ...

n

Pengembangan Teknik Pengolahan Citra dengan Sistem Linear Congruential Generator (Edi

Sudharmono, Sukiman)

47

xn-1 = bilangan acak sebelumnya. a = faktor pengali b = faktor penambah (increment) m = modulus

Keuntungan dari LCG adalah operasinya dapat berjalan dengan sangat cepat (Kurniawan, 2004, hal 85). Kunci pembangkit adalah x0 yang disebut sebagai umpan (seed). LCG mempunyai periode tidak lebih besar dari m. Jika a, b dan m dipilih secara tepat (misalnya b relatif prima terhadap m dan a-1 habis dibagi oleh semua faktor prima dari m), maka LCG akan mempunyai periode maksimal, yaitu sebesar m-1. Sebagai contoh, misalkan a = 2791, b = 7879, m = 15 dan x0 = 0, maka perhitungan untuk x1 = (2791 . 0 + 7879) mod 15, sehingga x1 = 4. (Munir, 2012, hal 217)

2.3.2. Pengacakan Citra dengan Menggunakan LCG Citra digital dapat diacak dengan menggunakan nilai-nilai acak yang dibangkitkan oleh LCG.

Caranya adalah menggunakan barisan acak pertama untuk mengacak posisi baris, lalu gunakan barisan acak berikutnya untuk mengacak posisi kolom, dan pada akhirnya gunakan barisan acak untuk mengacak nilai dari setiap piksel, dengan menggunakan fungsi operasi XOR antara warna piksel dan bilangan acak. (Kaur & Gupta, 2014, hal 4)

Secara keseluruhan, proses ini dapat dituliskan pada persamaan berikut: Cimg = Epixel(Ecolumn(Erow(Pimg)))

dimana, Cimg = citra hasil enkripsi Erow = pengacakan posisi baris Ecolumn = pengacakan posisi kolom Epixel = pengacakan nilai piksel Pimg = citra asli 3. Metode Penelitian

Penelitian pada skripsi ini adalah penelitian perancangan atau disebut juga penelitian pengembangan, dan metodologi pengembangan sistem yang digunakan adalah Siklus Hidup Pengembangan Sistem (SHPS). Penelitian berlangsung selama 6 bulan. Penelitian ditujukan untuk mengumpulkan data yang diperlukan dalam proses perancangan dan pembuatan sistem. Dalam melakukan penelitian penulis membuat rencana jadwal agar pelaksanaan kegiatan penelitian dapat berjalan dengan baik.

Adapun tahapan dan langkah-langkah pengembangan perangkat lunak ini dapat digambarkan dalam bentuk diagram alir seperti diperlihatkan pada gambar 1.

Gambar 1. Metode Perancangan

Page 4: Pengembangan Teknik Pengolahan Citra dengan Sistem Linear ...

n

48

3.1. Perencanaan Sistem

Pada tahap pertama, akan dikumpulkan bahan-bahan yang diperlukan pembuatan program kriptografi. Bahan tersebut dikumpulkan dari buku dengan judul Matematika Diskrit, Kriptografi, Pengolahan Citra Digital, Algoritma dan Pemrograman berjudul “A Review of Image Encryption Schemes Based on the Chaotic Map”, bahan kuliah meliputi mata kuliah matematika diskrit, kriptografi, pengolahan citra dan algoritma, serta sumber-sumber lainnya yang berasal dari internet dengan keyword “image encryption”, “linear congruential generator”. 3.2. Analisa Sistem

Tahap berikutnya adalah melakukan analisis terhadap sistem yang akan dibangun. Proses analisa mencakup proses pemilihan nilai kunci dan proses pengacakan nilai dengan menggunakan algoritma LCG.

Dalam analisa sistem juga dibahas kebutuhan sistem, termasuk ukuran citra dan kunci yang digunakan, serta proses rekonstruksi citra, sehingga citra yang telah teracak dapat dikembalikan lagi ke keadaan semula dengan menggunakan nilai kunci yang sesuai.

Pada implementasinya, algoritma LCG akan digunakan untuk mengacak posisi baris dari citra. Setelah itu, posisi kolom dan nilai piksel diacak. Hasil pengacakan baris akan membuat posisi piksel pada citra menjadi teracak secara horizontal, hasil pengacakan kolom membuat posisi piksel citra menjadi teracak secara vertikal, dan pengacakan nilai piksel akan membuat nilai warna piksel (RGB) berubah. 3.3. Desain (Perancangan) Sistem Secara Umum

Dalam tahap desain dari siklus hidup pengembangan sistem, penganalisis sistem menggunakan informasi-informasi yang terkumpul sebelumnya untuk mencapai desain sistem informasi yang logic. Penganalisis merancang prosedur data-entry sedemikian rupa sehingga data yang dimasukkan ke dalam sistem informasi benar-benar akurat.

Pada tahap ini, dilakukan perancangan terhadap tampilan perangkat lunak yang akan dibangun. Bentuk tampilan form dalam perangkat lunak dirancang dalam bentuk sederhana. Lalu, dilakukan juga perancangan terhadap algoritma pemilihan kunci dan pengacakan dengan algoritma LCG. 3.4. Evaluasi dan Seleksi Sistem

Sebelum perangkat lunak dapat digunakan, maka harus dilakukan Evaluasi dan Seleksi Sistem terlebih dahulu. Evaluasi dan Seleksi dilakukan untuk memperbaiki kesalahan-kesalahan yang mungkin terjadi pada saat proses pembangunan sistem. Dengan melakukan pengujian, maka error atau bugs dari perangkat lunak dapat dikurangi semaksimal mungkin. 3.5. Uji Coba Sistem

Perangkat lunak ini dirancang dengan menggunakan bahasa pemrograman Microsoft Visual Basic.Net 2008. Komponen yang digunakan dalam pembuatan perangkat lunak ini adalah komponen standard dari VB.Net, tanpa komponen tambahan dari luar.

Dalam tahapan pembangunan sistem dimulai dengan merancang interface perangkat lunak berupa form-form yang dapat digunakan untuk mengacak dan mengembalikan citra ke keadaan semula. 3.6. Implementasi

Aplikasi pengamanan citra digital ini hanya baru diimplementasikan pada komputer peneliti, diharapkan nantinya dapat diimplementasikan bagi pengguna lain yang ingin menggunakan aplikasi yang dirancang oleh penulis untuk mengamankan citra rahasia dan mengirimkannya kepada pihak lain yang berkepentingan.

Implementasi akan mencakup software yang digunakan untuk dapat menjalankan perangkat lunak dengan baik, serta cara menjalankan perangkat lunak. 4. Hasil dan Pembahasan

Implementasi sistem akan mencakup kebutuhan software yang dibutuhkan oleh perangkat lunak dan cara menjalankan perangkat lunak. 4.1. Spesifikasi Perangkat Lunak Untuk aplikasi dapat berjalan dengan baik, maka komputer membutuhkan membutuhkan sistem operasi Microsoft Windows XP/7/8 dan komponen standard dari software Microsoft Visual Basic.Net

Page 5: Pengembangan Teknik Pengolahan Citra dengan Sistem Linear ...

n

Pengembangan Teknik Pengolahan Citra dengan Sistem Linear Congruential Generator (Edi

Sudharmono, Sukiman)

49

2008. Untuk mendapatkan komponen standard VB.Net 2008, pengguna dapat meng-install Microsoft.Net Framework 3.5 atau 4. 4.2. Cara Menjalankan Aplikasi Jalankan aplikasi dengan mengeksekusi file “LCG.exe”, maka akan muncul tampilan form utama seperti terlihat pada gambar 2. Form ini merupakan form utama di dalam aplikasi. Fungsinya adalah untuk membuka citra, melakukan pengacakan citra atau melakukan rekonstruksi citra serta menyimpan hasil pengacakan atau rekonstruksi citra. Semua aktivitas tersebut dapat dilakukan dengan mengklik tombol-tombol yang terdapat pada toolbar di bagian atas form utama. Pada form ini juga terdapat progress bar dan timer untuk menampilkan proses yang sedang terjadi dan waktu eksekusi real-time yang dibutuhkan oleh proses pengacakan atau proses rekonstruksi.

Gambar 2. Tampilan Form Utama

Klik tombol “Buka” pada toolbar, dan kotak dialog Open File akan muncul seperti terlihat pada Gambar 3.

Gambar 3. Kotak Dialog Open File

Untuk contoh, dipilih file “red_flower.jpg” maka citra akan tampil pada form utama seperti terlihat pada Gambar 4.

Page 6: Pengembangan Teknik Pengolahan Citra dengan Sistem Linear ...

n

50

Gambar 4. Citra “red_flower.jpg” pada Form Utama

Untuk melakukan proses pengacakan terhadap citra, tekan tombol “Acak Citra” pada toolbar di bagian atas form Utama, dan form Input Kunci akan muncul, seperti terlihat pada Gambar 5.

Gambar 5. Form Input Kunci

Klik tombol “OK” pada form Input Kunci, dan proses pengacakan terhadap citra akan terjadi pada form utama. Hasil pengacakan dapat dilihat pada Gambar 6.

Gambar 6. Hasil Pengacakan Citra

Untuk mengembalikan hasil pengacakan ke citra awal, klik tombol “Rekonstruksi Citra”. Form input kunci akan kembali muncul, seperti terlihat pada Gambar 4. Untuk proses rekonstruksi ke citra awal

Page 7: Pengembangan Teknik Pengolahan Citra dengan Sistem Linear ...

n

Pengembangan Teknik Pengolahan Citra dengan Sistem Linear Congruential Generator (Edi

Sudharmono, Sukiman)

51

berhasil, maka pengguna harus memasukkan kunci yang benar atau sama dengan kunci pengacakan. Hasil rekonstruksi dengan nilai kunci yang benar dapat dilihat pada Gambar 7.

Gambar 7. Hasil Rekonstruksi Citra dengan Kunci yang Benar

Bila menggunakan kunci yang salah, maka hasil rekonstruksi tidak akan berhasil mengembalikan citra ke bentuk awal, seperti terlihat pada Gambar 8.

Gambar 8. Hasil Rekonstruksi Citra dengan Kunci yang Salah

Untuk melihat langkah-langkah perhitungan, klik tombol ‘Langkah Perhitungan’, maka form Langkah akan muncul seperti terlihat pada Gambar 9.

Gambar 9. Form Langkah Perhitungan

Page 8: Pengembangan Teknik Pengolahan Citra dengan Sistem Linear ...

n

52

Untuk melihat informasi singkat mengenai aplikasi dan identitas penyusun skripsi, maka klik pada tombol “Tentang” pada toolbar, dan form About akan muncul seperti terlihat pada Gambar 10.

Gambar 10. Tampilan Form About

4.3. Pembahasan

Algoritma yang digunakan untuk membangun aplikasi pengamanan citra digital dengan algoritma LCG ini adalah algoritma pengacakan citra dan algoritma rekonstruksi citra. 4.3.1. Algoritma Pengacakan Citra

Algoritma ini berfungsi untuk mengacak citra mulai dari posisi baris, posisi kolom dan warna piksel. Berikut adalah algoritma pengacakan citra: 1. Lakukan pengacakan posisi baris.

Untuk I=0 sampai (tinggi gambar – 1), nLCG = (KunciA(0) * I + KunciB(0)) mod KunciM(0) Untuk J=0 sampai (lebar gambar – 1) Tempatkan posisi piksel (J, I) ke (J, nLCG) Next J Next I

2. Lakukan pengacakan posisi kolom. Untuk I=0 sampai (lebar gambar – 1), nLCG = (KunciA(1) * I + KunciB(1)) mod KunciM(1) Untuk J=0 sampai (tinggi gambar – 1) Tempatkan posisi piksel (I, J) ke (nLCG, J) Next J Next I

3. Lakukan pengacakan warna piksel. NoUrut = 0 Untuk J=0 sampai (tinggi gambar – 1), Untuk I=0 sampai (lebar gambar – 1)

NoUrut = NoUrut + 1 nLCG = (KunciA(2) * NoUrut + KunciB(2)) mod KunciM(2) Tempatkan warna piksel (I,J) XOR nLCG ke piksel (I,J)

Next J Next I

4.3.2. Algoritma Rekonstruksi Citra

Algoritma ini berfungsi untuk menyusun kembali citra dimulai dari rekonstruksi warna piksel, rekonstruksi posisi kolom dan rekonstruksi posisi baris. Berikut adalah algoritma rekonstruksi citra: 1. Lakukan rekonstruksi warna piksel.

NoUrut = 0 Untuk J=0 sampai (tinggi gambar – 1), Untuk I=0 sampai (lebar gambar – 1)

NoUrut = NoUrut + 1 nLCG = (KunciA(2) * NoUrut + KunciB(2)) mod KunciM(2)

Page 9: Pengembangan Teknik Pengolahan Citra dengan Sistem Linear ...

n

Pengembangan Teknik Pengolahan Citra dengan Sistem Linear Congruential Generator (Edi

Sudharmono, Sukiman)

53

Tempatkan warna piksel (I,J) XOR nLCG ke piksel (I,J) Next J Next I

2. Lakukan rekonstruksi posisi kolom. Untuk I=0 sampai (lebar gambar – 1), nLCG = (KunciA(1) * I + KunciB(1)) mod KunciM(1) Untuk J=0 sampai (tinggi gambar – 1) Tempatkan posisi piksel (nLCG, J) ke (I, J) Next J Next I

3. Lakukan rekonstruksi posisi baris. Untuk I=0 sampai (tinggi gambar – 1), nLCG = (KunciA(0) * I + KunciB(0)) mod KunciM(0) Untuk J=0 sampai (lebar gambar – 1) Tempatkan posisi piksel (J, nLCG) ke (J, I) Next J Next I

5. Kesimpulan Setelah menyelesaikan pengembangan aplikasi pengamanan citra digital dengan menggunakan

algoritma LCG, maka dapat disimpulkan sebagai berikut: 1. Hasil pengacakan dengan algoritma LCG berbeda jauh dengan citra asli, sehingga hasil pengacakan

tidak mengandung informasi apapun, sedangkan proses rekonstruksi dapat digunakan untuk mengembalikan citra teracak ke citra awal. Dengan demikian, aplikasi dapat digunakan untuk mengamankan citra digital dengan menggunakan algoritma LCG.

2. Proses rekonstruksi citra dengan menggunakan nilai kunci yang salah atau kunci yang berbeda dengan kunci pengacakan, akan menyebabkan citra tidak kembali ke keadaan semula.

Daftar Pustaka [1] Ariyus, D., 2008, Pengantar Ilmu Kriptografi (Teori, Analisis dan Implementasi), Andi, Yogyakarta. [2] Kaur, S., & Gupta, D., 2014, A Review of Image Encryption Schemes Based on the Chaotic Map, Int.J.

Computer Technology & Applications, Jan-Feb 2014, link: http://www.ijcta.com/documents/volumes/vol5issue1/ijcta2014050120.pdf

[3] Kurniawan, Y, 2004, Kriptografi (Keamanan Internet dan Jaringan Komunikasi), Penerbit Informatika, Bandung.

[4] Munir, R. 2012, Matematika Diskrit, Revisi Kelima, Penerbit Informatika, Bandung. [5] Putra, D., 2010, Pengolahan Citra Digital, Penerbit Andi, Yogyakarta. [6] Sadikin, R., 2012, Kriptografi untuk Keamanan Jaringan, Penerbit Andi, Yogyakarta. [7] Wahid, 2004, Dasar-Dasar Algoritma & Pemrograman, Penerbit Andi, Yogyakarta [9] Harri Hidayat, Hartono, Sukiman. “Pengembangan Learning Management System (LMS) untuk Bahasa

Pemrograman PHP” Jurnal Ilmiah CORE IT, Vol. 5 No. 1, pp. 20-29