pendistribusian job pada paralel image encryption
DESCRIPTION
Pendistribusian job pada paralel image encryptionPendistribusian job pada paralel image encryptionPendistribusian job pada paralel image encryptionTRANSCRIPT
Putra — Pendistribusian Job Enkripsi Citra Pada Komputer Paralel Berbasis Tingkat Kompleksitas Citra
1
PENDISTRIBUSIAN JOB ENKRIPSI CITRA PADA KOMPUTER
PARALEL BERBASIS TINGKAT KOMPLEKSITAS CITRA
Januar Adi Putra Jurusan Teknik Informatika, Fakultas Teknologi Informasi
Institut Teknologi Sepuluh Nopember,Surabaya
e-mail: [email protected]
ABSTRAK
Seiring berkembangnya pemanfaatan citra dan penggunaan teknik digital dalam transmisi dan cara penyimpanannya
masalah mendasar untuk melindungi kerahasiaan, keutuhan, dan keaslian citra sangat perlu diperhatikan. Enkripsi citra
merupakan teknik yang umum digunakan untuk melindungi citra dari pengaksesan ilegal. Obyektif dari enkripsi citra
adalah mentransformasikan citra ke dalam bentuk lain sehingga tidak dapat dipersepsi secara visual. Pengembangan
algoritma-algoritma baru di bidang enkripsi citra pada komputer paralel saat ini telah banyak diusulkan. Akan tetapi
algoritma-algoritma ini hanya berfokus pada cara pembagian citra tanpa melihat faktor pendistribusian beban kerja
terhadap komputer paralel itu sendiri.Terdapat beberapa algoritma enkripsi citra yang basis enkripsinya adalah pola dari
citra itu sendiri, kelemahan algoritma seperti ini adalah semakin kompleks pola citra maka proses enkripsinya akan lebih
lama.Permasalahan yang muncul adalah ketika algoritma enkripsi yang berbasis pada pola citra ini diterapkan pada
komputer paralel yang memiliki tingkat spesifikasi worker yang berbeda-beda. Pembagian beban kerja untuk enkripsi citra
menjadi tidak seimbang dikarenakan terdapat kemungkinan bahwa worker yang memiliki spesifikasi rendah akan
melakukan enkripsi citra yang memiliki kompleksitas tinggi hal ini mengakibatkan proses enkripsinya menjadi tidak optimal
dan bahkan akan menghasilkan waktu proses enkripsi yang lebih lama. Untuk itu diusulkan pengembangan algoritma
enkripsi pada komputer paralel yang pembagian beban kerjanya berdasarkan tingkat kompleksitas citra.
Kata Kunci:.Enkripsi citra , komputer paralel, kompleksitas citra.
ABSTRACT
As the growing use of imagery and the use of digital techniques in the transmission and storage conditions, the funda-
mental issue to protect the confidentiality, integrity, and authenticity of the image is very noteworthy. Image encryption is a
technique that is commonly used to protect the image from being accessed illegally . Objective of the encrypted image is the
image transforms into another form that can not be perceived visually. The development of new algorithms in image encryp-
tion on parallel computers today has much proposed. However, these algorithms only focused on how to devide the image
and not focus to the distribution strategy. There are several image encryption algorithms based on images pattern, the
weakness of this algorithms are increasingly complex pattern of the image will make the encryption process take longer.
The problem is appearwhen the encryption algorithm based on the image pattern applied to a parallel computer that has a
worker with differentspecification. The division of the workload for image encryption becomes unbalanced because there is
a possibility that the worker who has a lower specification will encrypt the image that has a high complexity, this case re-
sulted not optimal encryption process and will generate longer encryption processing time. writer proposed the develop-
ment of an encryption algorithm on a computer parallel that the division of the workload is based on the level of images
complexity.
Keywords: Image encryption,paralel computing, images complexity.
I. PENDAHULUAN
Itra saat ini tidak lagi hanya digunakan dalam bidang photografi namun berbagai bidang telah
memanfaatkannya mulai dari bidang medis, militer, ilmu pengetahuan, teknik, pendidikan, seni, hiburan,
dan sebagainya. Seiring berkembangnya pemanfaatan citra dan penggunaan teknik digital dalam
transmisi dan penyimpanan citra itu sendiri, masalah mendasar untuk melindungi kerahasiaan, keutuhan, dan
keaslian citra sangat perlu diperhatikan. Hal ini dikarenakan citra juga mengandung sebuah informasi penting
didalamnya.Pengamanan informasi pada prinsipnya berfungsi untukmelindungi informasi agar siapapun yang
tidak berhak tidak dapat membaca,mengubahnya, atau menghapus informasi tersebut. Begitu banyak kasus
penyadapan terhadap suatu informasi telah membuat parapeneliti berfikir keras untuk mengamankannya. Salah
satu bidang ilmu untuk menjagakeamanan informasi adalah kriptografi.Menurut Request for Comments (RFC),
kriptografi merupakan ilmu matematika yang berhubungan dengan transformasi data untuk membuat artinya
tidak dapat dipahami (untuk menyembunyikan maknanya), mencegahnya dari perubahan tanpa izin, atau
mencegahnya dari penggunaan yang tidak sah. Jika transformasinya dapat dikembalikan, kriptografi juga bisa
diartikan sebagai proses mengubah kembali data yang terenkripsi menjadi bentuk yang dapat dipahami. Artinya,
C
JUTI - Volume xx, Nomor x, Bulan YYYY: 1 – 10
2
kriptografi dapat diartikan sebagai proses untuk melindungi data dalam arti yang luas [9]. Proses penyembunyian
atau transformasi makna dalam kriptografi disebut enkripsi, sedangkan proses transformasi pengembalian
disebut dengan dekripsi.
Enkripsi citra merupakan teknik yang umum digunakan untuk melindungi citra dari pengaksesan ilegal.
Obyektif dari enkripsi citra adalah mentransformasikan citra ke dalam bentuk lain yang sehingga tidak dapat
dipersepsi secara visual. Terdapat banyak algoritma yang dapat diterapkan dalam enkripsi citra. Penelitian[10]
melakukan enkripsi citra dengan menggunakan algoritma Data Encryption Standart (DES), DES adalah
algoritma cipher blok yang populer karena dijadikan standard algoritma enkripsi kunci-simetri, meskipun saat ini
standard tersebut telah digantikan dengan algoritma yang baru, AES, karena DES sudah dianggap tidak aman
lagi. Penelitian[12] menggunakan Blowfish sebagai algoritma utama dalam enkripsi citra,Blowfish merupakan
metoda enkripsi yang mirip dengan DES (DES-like cipher) dan diciptakan oleh Bruce Schneier yang ditujukan
untuk mikroposesor besar (32 bit ke atas dengan cache data yang besar).Blowfish dioptimasikan untuk aplikasi
dimana kunci tidak sering berubah, seperti jalur komunikasi atau enkripsi file otomatis. Blowfish jauh lebih
cepat dari DES bila diimplementasikan pada 32 bit mikroprosesor dengan cache data yang besar, seperti Pentium
dan Power PC, Blowfish tidak cocok untuk aplikasi seperti packet switching, dengan perubahan kunci yang
sering, atau sebagai fungsi hash satu arah. Penelitian[1] dalam enkripsi citranya menggunakan algoritma Rivest
Shamir Adleman (RSA), RSA merupakan contoh yang powerful dan cukup aman dari Public-KeyCryptography.
Berdasarkan matematika, proses yang digunakan berdasarkanfungsi-fungsi trap-door satu arah. Sehingga
melakukan encryptiondengan menggunakan public key sangat mudah bagi semua orang, namun
prosesdecryption menjadi sangat sulit.Proses decryption sengaja dibuat sulit agar seseorang, walaupun
menggunakanCray supercomputers dan ribuan tahun, tidak dapat men-decrypt pesan tanpamempunyai private
key.
Sebenarnya, berbagai algoritma enkripsi tradisioniltersebut (DES, AES, Blowfish, RSA, dll) sudah dapat
digunakan untuk mengenkripsi citra, namun kebanyakan algoritma tersebut kurang cocok digunakan untuk
mengenkripsi citra. Alasannya adalah citra pada umumnya mengandung volume data yang relatif sangat besar
dibandingkan dengan data teks, sehingga proses enkripsi citra dengan algoritma-algoritma tradisionil tersebut
memerlukan waktu yang lebih lama [4]. Terdapat dua solusi untuk mengatasi masalah ini yang pertama adalah
dengan menggunakan konsep enkripsi selektif atau bagian dan yang kedua adalah dengan memanfaatkan
komputer paralel untuk proses enkripsinya. Dengan teknik enkripsi selektif hanya sebagian komponen citra yang
perlu dienkripsi namun sebagai efeknya citra dienkripsi secara keseluruhan. Tujuan enkripsi selektif jelas untuk
meminimalkan volume komputasi selama proses enkripsi dan dekripsi.Enkripsi selektif dapat dilakukan dalam
ranah spasial atau dalam ranah frekuensi. Klasifikasi dan ringkasan beberapa algoritma enkripsi selektif dapat
ditemukan di dalam [14], sedangkan performansi algoritmanya dapat dibaca di dalam [3]. Menurut [6],
kebanyakan algoritma enkripsi citra dapat dikelompokkan menjadi dua golongan: (a) algoritma enkripsi selektif
non-chaos, dan (b) algoritma enkripsi selektif atau non-selektif yang berbasis chaos. Chaos menjadi topik yang
atraktif di dalam kriptografi karena tiga alasan: (1) sensitivitas terhadap kondisi awal, (2) berkelakuan acak, dan
(3) tidak memiliki periode berulang. Penggunaan chaos di dalam kriptografi dapat menghasilkan efek confusion
dan diffusion seperti yang disyaratkan oleh Shanon [2].
Solusi yang kedua adalah menggunakan komputasi paralel. Komputer paralel merupakan salah satu teknik
melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer independen secara
bersamaan. Komputer paralel dapat dimanfaatkan untuk melakukan enkripsi citra yang memiliki volume data
atau resolusi tinggi. Saat ini algoritma-algoritma enkripsi citra pada komputer paralel telah banyak
dikembangkan. Akan tetapi algoritma-algoritma ini hanya berfokus pada cara pembagian citra tanpa melihat
faktor pendistribusian beban kerja terhadap komputer paralel itu sendiri. Terdapat beberapa algoritma enkripsi
citra yang basis enkripsinya adalah pola dari citra itu sendiri, kelemahan algoritma seperti ini adalah semakin
kompleks pola citra maka proses enkripsinya akan lebih lama. Permasalahan yang muncul adalah ketika
algoritma enkripsi yang berbasis pada pola citra ini diterapkan pada komputer paralel yang memiliki tingkat
spesifikasi worker yang berbeda-beda. Pembagian beban kerja untuk enkripsi citra menjadi tidak seimbang
dikarenakan terdapat kemungkinan bahwa worker yang memiliki spesifikasi rendah akan melakukan enkripsi
citra yang memiliki kompleksitas tinggi hal ini mengakibatkan proses enkripsinya menjadi tidak optimal dan
bahkan akan menghasilkan waktu proses enkripsi yang lebih lama. Untuk itu pada makalah ini diusulkan
pengembangan algoritma enkripsi pada komputer paralel yang pembagian beban kerjanya berdasarkan tingkat
kompleksitas citra.
Putra — Pendistribusian Job Enkripsi Citra Pada Komputer Paralel Berbasis Tingkat Kompleksitas Citra
3
II. FRAMEWORK USULAN
Berdasarkan permasalahan yang dijelaskan sebelumnya maka diusulkan framework enkripsi pada komputer
paralel. Framework ini berbasis pada kompleksitas citra dalam pendistribusian job pada enkripsi citra pada
komputer paralel. terdapat beberapa tahapan dalam framework usulan ini :
Step 1 : Membagi citra menjadi beberapa blok.
Step 2 : Melakukan ekstraksi fitur Structure, Noise, dan Diversity dari blok citra.
Step 3 : Menentukan kompleksitas dari blok citra(Very Simple, Simple, Medium, Complex, dan Very
Complex).
Step 4 : Mengirim blok citra untuk dienkripsi ke worker/slave berdasar spesifikasinya, slave/worker
yang memiliki spesifikasi tinggi akan mengenkripsi citra yang berlabel Very Complex.
Step 5 : Mengulangi langkah 2 sampai semua blok citra selesai terenkripsi.
III. ALUR PENELITIAN
Gambar 1.Alur penelitian Enkripsi Citra
Gambar1 merupakan alur enkripsi yang akan dilakukan, dimana tahapan pertama yang akan dikerjakan adalah
client mengirimkan citra yang akan dienkripsi ke Master. Kemudian master akan melakukan pembagian
blok,ektraksi fitur, pelabelan kompleksitas citra. Setelah diketahui label tiap blok citra maka tiap blok akan
didistribusikan kepada Slave, dimana pembagian didasarkan pada spesifikasi slave dan tingkat kompleksitas citra
itu sendiri.Setelah slave selesai melakukan enkripsi maka task akan dikembalikan ke master dan master akan
menggabungkan kembali citra. Langkah akhir adalah master mengembalikan citra hasil enkripsi.
IV. URAIAN PENELITIAN DAN STUDI LITERATUR
A.Komputasi Paralel
Penelitian yang akan dilakukan menerapkan komputasi paralel dimana sebagai pembagian job enkripsi
menggunakan load balancing yang berbasis pada tingkat kompleksitas citra. Komputasi Paralel merupakan
teknik untuk melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer yang
independen secara bersamaan. Biasanya digunakan untuk kapasitas yang pengolahan data yang sangat besar
(lingkungan industri, bioinformatika dll) atau karena tuntutan komputasi yang banyak.
Komputasi paralel berbeda dengan multitasking. Multitasking merupakan komputer dengan processor tunggal
yang dapat mengeksekusi beberapa tugas secara bersamaan. Sedangkan komputasi paralel menggunakan
beberapa processor atau komputer. Komputasi paralel adalah suatu teknik untuk mengerjakan suatu perhitungan
yang besar dan memerlukan waktu yang lama dengan memecah menjadi beberapa bagian dan mengerjakannya
secara independen di prosesor yang berbeda [13]. Terdapat 4 model komputasi paralel :
1) SISD
Merupakan singkatan dari Single Instruction, Single Data yaitu satu-satunya yang menggunakan arsitektur
Von Neumann, karena pada model ini hanya menggunakan 1 processor saja. Oleh karena itu model ini
dikatakan sebagai model untuk komputasi tunggal. Sedangkan ketiga model lainnya merupakan komputasi
paralel yang menggunakan beberapa processor.
JUTI - Volume xx, Nomor x, Bulan YYYY: 1 – 10
4
2) SIMD
Merupakan singkatan dari Single Instruction, Multiple Data. Model ini menggunakan banyak processor
dengan instruksi yang sama, namun dengan data yang berbeda.
3) MISD
Merupakan singkatan dari Multiple Instruction, Single Data. MISD menggunakan banyak processor dengan
instruksi yang berbeda namun mengolah data yang sama. Hal ini merupakan kebalikan dari model SIMD.
4) MIMD
Pada Multiple Instruction, Multiple Data biasanya menggunakan banyak processor dengan setiap processor
memiliki instruksi yang berbeda dan mengolah data yang berbeda.
Jenis komputasi paralel yang digunakan dalam penelitian ini adalah jenis komputasi paralel SIMD dengan
instruksi yang sama yaitu enkripsi citra namun sebelum di enksripsi citra akan dibagi menjadi banyak blok untuk
didistribusikan kepada banyak processor.
B.Load Balancing
Load Balancing merupakan konsep untuk membagi beban kerja pada koputer paralel kepada dua atau bahkan
lebih suatu koneksi jaringan secara seimbang agar pekerjaan dapat berjalan optimal dan tidak overload (kelebi-
han) beban pada salah satu jalur koneksi. Load balancing juga bisa di katakan sebagai penggabungan dua buah
jaringan atau lebih untuk di gabungkan ke dalam router dan di sambungkan ke server serta client itu yang di se-
but load balancing.
Adapun manfaat dari Load Balancing:
a.Menjamin Reliabilitias layanan berarti kepercayaan terhadap sebuah sistem untuk dapat terus melayani
pengguna dengan sebaik-baiknya. Jaminan realibilitas memungkinkan pengguna dapat melakukan pekerjaan
sebaik-baiknya dengan lancar melalui layanan tersebut.
b.Skalabilitas dan ketersediaan Jika dalam sebuah jaringan komputer jika hanya terdapat satu buah server
mempunyai pengertian terdapat satu titik masalah. Seandainya tiba-tiba server itu mati maka layanan terhadap
pengguna akan terganggu. Dengan melakukan penambahan server dan membentuk server farm maka skalabilitas
akan meningkat dan selain itu faktor ketersediaan juga akan meningkat.
Gambar 2.Penerapan load balancing pada enkripsi citra
Gambar 2 merupakan penerapan loadbalancing untuk enkripsi citra pada komputer paralel. Load balancing
dimanfaatkan agar pembagian beban kerja untuk worker menjadi seimbang. Sebelum didistribusikan, citra digi-
tal yang akan dienkripsi dibagi menjadi beberapa blok terlebih dahulu. Basis pembagian kerjanya adalah tingkat
kompleksitas citra per blok yang akan dienkripsi.
C.Enkripsi Citra
Enkripsi citra bertujuan melindungi konten di dalam citra dari pengaksesan ilegal. Obyektif dari enkripsi citra
adalah mentransformasikan citra ke dalam bentuk lain yang tidak bermakna sehingga konten di dalam citra tidak
dapat dipahami lagi secara visual.Mengenkripsi citra dengan algoritma enkripsi konvensional untuk data teks
seperti DES, AES, Blowfish, dan lain-lain kurang cocok untuk aplikasi komunikasi yang real-time, sebab citra
umumnya bervolume data sangat besar sehingga proses enkripsinya menjadi lambat. Oleh karena itu, pada
penelitian ini akan digunakan konsep enkripsi selektif (atau sebagian) sebagai lawan dari enkripsi total [8].
Dengan teknik enkripsi selektif hanya sebagian komponen citra yang perlu dienkripsi namun sebagai efeknya
Putra — Pendistribusian Job Enkripsi Citra Pada Komputer Paralel Berbasis Tingkat Kompleksitas Citra
5
citra dienkripsi secara keseluruhan. Tujuan enkripsi selektif jelas untuk meminimalkan volume komputasi
selama proses enkripsi dan dekripsi.
Menurut [6], kebanyakan algoritma enkripsi citra dapat dikelompokkan menjadi dua golongan: (a) algoritma
enkripsi selektif non-chaos, dan (b) algoritma enkripsi selektif atau non-selektif yang berbasis chaos. Chaos
menjadi topik yang atraktif di dalam kriptografi karena tiga alasan: (1) sensitivitas terhadap kondisi awal, (2)
berkelakuan acak, dan (3) tidak memiliki periode berulang. Penggunaan chaos di dalam kriptografi dapat
menghasilkan efek confusion dan diffusion seperti yang disyaratkan oleh Shanon [2]. Kebanyakan skema
enkripsi berbasis chaos menggunakan fungsi chaos (chaotic map) sebagai pembangkit barisan bilangan semi-
acak (pseudo-random) yang panjang, kemudian barisan bilangan acak tersebut digunakan untuk mengenkripsi
plainteks. Review beberapa algoritma enkripsi citra yang berbasis chaos dapat ditemukan di dalam [7].
D.Enkripsi Selektif pada bit-bit MSB
Nilai pixel pada koordinat (x, y) menyatakan intensitas nilai keabuan pada posisi tersebut. Pada citra grayscale
nilai keabuan itu dinyatakan dalam integer berukuran 1 byte sehingga rentang nilainya antara 0 sampai 255. Pada
citra berwarna 24-bit setiap pixel tediri atas kanal red, green, dan blue (RGB) sehingga setiap pixel berukuran 3
byte (24 bit).Di dalam setiap byte bit-bitnya tersusun dari kiri ke kanan dalam urutan yang kurang berarti (least
significant bits atau LSB) hingga bit-bit yang berarti (most significant bits atau MSB). Susunan bit pada setiap
byte adalah b7b6b5b4b3b2b1b0. Jika setiap bit ke-i dari MSB ke LSB pada setiap pixel diekstrak dan diplot ke
dalam setiap bitplane image maka diperoleh delapan buah citra biner. Misalnya bila dilakukan pada citra
‗cameraman‘ (Gambar 3(a)) maka setiap bitplane image ditunjukkan pada Gambar 3(b) hingga 3(i). Gambar 3(b)
hingga 3(f) yang diambil dari bit-bit MSB masih dapat memperlihatkan wujud objek di dalam citra sedangkan
Gambar 3(g) hingga 3(i) yang diambil dari bit-bit LSB sudah terlihat seperti citra acak.
Gambar 3. Citra digital cameraman
Berdasarkan hasil ekstraksi bit-bit tersebut dapat disimpulkan bahwa pengubahan bit-bit MSB dapat membuat
citra menjadi ―rusak‖ atau tidak dapat dikenali lagi, sedangkan pengubahan bit-bit LSB tidak mempengaruhi
citra secara keseluruhan. Oleh karena itu hanya bit-bit MSB saja yang dipilih untuk dienkripsi sebab dengan
hanya mengenkripsi bit-bit tersebut maka keseluruhan citra menjadi tidak dapat dikenali lagi.Jumlah bit MSB
yang dienkripsi mempengaruhi tingkat keamanan. Jika hanya satu bit yang dienkripsi, maka tujuh bit sisanya
(yang tidak ikut dienkripsi) masih dapat memperlihatkan wujud objek di dalam citra, sehingga tingkat
keamanannya rendah. Oleh karena itu setelah enkripsi 1-bit MSB masih diperlukan prosedur permutasi
tambahan untuk mengacak pixel agar diperoleh efek confusion [11].
E.Logistic Map
Salah satu fungsi chaos sederhana adalah persamaan logistik (logistc map) yang biasa digunakan didalam
sistem ekologi untuk mensimulasikan pertumbuhan spesies di dalam ekosistem. Persamaan logistik dinyatakan
dalam bentuk interatif sebagai :
Xi+1 = r Xi ( 1 - Xi ) ………………………….………………………...….……………………………………(1)
JUTI - Volume xx, Nomor x, Bulan YYYY: 1 – 10
6
dengan 0 ≤ 𝑥𝑖 ≤ 1, 𝑖 = 0, 1, 2, …. Nilai awal (seed) persamaan iterasi adalah 𝑥0 yang berperan sebagaikunci
rahsia. Konstanta r menyatakan laju pertumbuhan fungsi dan 0 ≤ 𝑟 ≤ 4. Persamaan ini mulai menuju sifat chaotik
karena r > 3.75, dan ketika r = 4, fungsi secara total menjadi chaos.
F.Stream Chiper
Stream cipher adalah algoritma kriptografi yang mengenkripsi plaiteks menjadi cipherteks bit perbit (atau byte
per byte). Stream cipher pertama kali diperkenalkan oleh Vernam Cipher. Jikaenkripsi dan deskripsi dilakukan
bit per bit, maka persamaan enkripsi adalah :
𝑐𝑖 = 𝑝𝑖⨁𝑘𝑖 ………………...…………………..........................................……………………………………(2)
sedangkan deskripsi adalah
𝑝𝑖 = 𝑐𝑖⨁𝑘𝑖 …...…………….............................………………………….……………………………………(3)
yang dalam hal ini 𝑝𝑖 adalah bit plaiteks ke-i, 𝑘𝑖 adlaah bit kunci, adalah operator XOR dan 𝑐𝑖adalah bit
cipherteks ke-i.Barisan bit-bit kunci dihasilkan dari sebuah pembangkit yang dinamakan pembangkit arus-
kunci(keystream generator). Arus kunci (sering dinamakan juga running key) di-XOR-kan dengancipherteks
untuk menghasilka plainteks semula dengan persamaan diatas.
G.Menentukan Kompleksitas Citra
Kompleksitas visual citra merupakan representasi dari persepsi penglihatan manusia terhadap suatu citra. Pada
penelitian ini, kompleksitas visual citra digunakan untuk mengkategorikan citra antara lain Very Simple, Simple,
Medium, Complex, dan Very Complex. Kompleksitas visual citra direpresentasikan dengan tiga fitur, diantranya
adalah fitur Structure, Noise, dan Diversity. Fitur Structure diekstraksi dengan menghitung rasio antara piksel
tepi dengan total jumlah piksel pada citra, tepi dari citra dideteksi dengan tiga deteksi tepi yaitu Sobel, Prewitt
dan Robert. Fitur Noise diekstraksi dengan menghitung Standard Deviasi dari citra yang dikonvolusi dengan
kernel Laplacian. Sedangkan fitur Diversity diekstraksi dengan membagi antara piksel sudut dengan jumlah baris
pada citra, sudut dari citra dideteksi menggunakan FAST Algorithm. Sistem Inferensi Fuzzy tipe Mamdani
digunakan untuk memberi label pada citra berdasarkan fitur yang sudah diekstraksi.
Beberapa Algoritma yang digunakan dalam menentukan kompleksitas citra adalah sebagai berikut:
1) Deteksi Tepi Sobel
Metode Sobel merupakan pengembangan metode robert dengan menggunakan filter HPF yang diberi satu
angka nol penyangga. Metode ini mengambil prinsip dari fungsi laplacian dan gaussian yang dikenal sebagai
fungsi untuk membangkitkan HPF. Kelebihan dari metode sobel ini adalah kemampuan untuk mengurangi noise
sebelum melakukan perhitungan deteksi tepi.
Peninjauan pengaturan pixel di sekitar pixelnya (x,y) adalah :
[ (𝑥 )
]…………………………………………………………………………………………...…(4)
Operator sobel adalah magnitudo dari gradien yang dihitung dengan :
M = √ 𝑥 .......…………………………………………………………………………………………(5)
Dimana dalam hal ini turunan parsial dihitung dengan :
Sx = (a2 + ca3 + a4)-(a0 + ca7 + a6) ..........................................…………………………………………………(6)
Sy = (a0 + ca1 + a22)-(a6 + ca5 + a4)..............................................………………………………………………(7)
Putra — Pendistribusian Job Enkripsi Citra Pada Komputer Paralel Berbasis Tingkat Kompleksitas Citra
7
Dengan konstanta c = 2. Dalam bentuk mask, sy dan sx dapat dinyatakan sebagai :
Sx = [
] dan Sy = [
]……………………………………..………………………………(8)
Arah tepi dihitung dengan persamaan :
a(x,y) = tan-1( 𝑥
)………………………..…………………………………………………………………(9)
Berikut adalah contoh penggunaan operator sobel . Konvolusi pertama dilakukan terhadap pixel yang bernilai 1
(titik pusat mask) :
[ ]
[
]
……...........………………………………………………………………(10)
(i)Citra Semula (ii) hasil konvolusi
Nilai 18 pada citra hasil konvolusi didapatkan dengan perhitungan :
Sx= (3)(-1) + (2)(-2) + (3)(-1) + (2)(1) + (6)(2) + (7)(1) = 11..............................…………………………….(10)
Sy= (3)(1) + (4)(2) + (2)(1) + (3)(-1) + (5)(-2) + (7)(-1) = -1............................................................................(11)
2) Metode Robert
Metode Robert adalah nama lain dari teknik differensial pada arah horisontal dan differensial pada arah
vertikal, dengan ditambahkan proses konversi biner setelah dilakukan differensial. Teknik konversi biner yang
disarankan adalah konversi biner dengan meratakan distribusi warna hitam dan putih. Metode Robert ini juga
disamakan dengan teknik DPCM (Differential Pulse Code Modulation).
Operator Robert menggunakan operator gradient berukuran2 x 2 :
…………………………………………………………………………..…………………(12)
Gradient magnitude dari operator Robert adalah sebagai berikut :
G|f(i,j)| = [f(i,j) – f(i +1, j+1)] + [f(i+1,j) – f(i,j+1)]............…………………………..…………………(13)
Karena operator Robert hanya menggunakanconvolution mask berukuran2 x 2, maka operator Robert sangat
sensitive terhadap noise.
3) Metode Prewitt
Metode Prewitt merupakan pengembangan metode robert dengan menggunakan filter HPF yang diberi satu
angka nol penyangga. Metode ini mengambil prinsip dari fungsi laplacian yang dikenal sebagai fungsi untuk
membangkitkan HPF. Operator Prewitt menggunakan delapan buah kernel operator gradient :
..........….......……………………………………………………………..…(14)
1 1
-1 -1
1 1 1
0 0 0
-1 -1 -1
0 1 1
-1 0 1
-1 -1 0
-1 0 1
-1 0 1
-1 0 1
-1 -1 0
-1 0 1
0 1 1
JUTI - Volume xx, Nomor x, Bulan YYYY: 1 – 10
8
4) Algoritma Fuzzy Mamdani
Logika fuzzy adalah cabang dari sistem kecerdasan buatan (Artificial Intelegent) yang mengemulasi
kemampuan manusia dalam berfikir ke dalam bentuk algoritma yang kemudian dijalankan oleh mesin .
Algoritma ini digunakan dalam berbagai aplikasi pemrosesan data yang tidak dapat direpresentasikan dalam
bentuk biner. Logika fuzzy menginterpretasikan statemen yang samar menjadi sebuah pengertian yang logis.
Logika fuzzy merupakan salah satu komponen pendukung soft computing. Logika fuzzy pertama kali di
perkenalkan oleh Prof. Lotfi A. Zadeh pada tahun 1965. Dasar logika fuzzy adalah teori himpunan fuzzy. Pada
teori himpunan fuzzy, peranan derajat keangotaan sebagai penentu keberadaan elemen dalam suatu himpunan
sangatlah penting.Metode Mamdani sering juga dikenal dengan nama Metode Max-Min. Metode ini
diperkenalkan oleh Ebrahim Mamdani pada tahun 1975. Untuk mendapatkan output, diperlukan 4 tahapan:
1)Pembentukan himpunan fuzzy
Fuzzyfikasi yaitu suatu proses untuk mengubah suatu masukan dari bentuk tegas (crisp) menjadi fuzzy (variabel
linguistik) yang biasanya disajikan dalam bentuk himpunan-himpunan fuzzy dengan suatu fungsi kenggotaannya
masing-masing.Pada Metode Mamdani, baik variabel input maupun variabel output dibagi menjadi satu atau
lebih himpunan fuzzy.
2)Aplikasi fungsi implikasi
Pada Metode Mamdani, fungsi implikasi yang digunakan adalah Min.
3)Komposisi Aturan
Tidak seperti penalaran monoton, apabila sistem terdiri-dari beberapa aturan, maka inferensi diperoleh dari
kumpulan dan korelasi antar aturan. Ada 3 metode yang digunakan dalam melakukan inferensi sistem fuzzy,
yaitu:
Metode Max (Maximum)
Pada metode ini, solusi himpunan fuzzy diperoleh dengan cara mengambil nilai maksimum aturan, kemudian
menggunakannya untuk memodifikasi daerah fuzzy, dan mengaplikasikannya ke output dengan menggunakan
operator OR (union). Jika semua proposisi telah dievaluasi, maka output akan berisi suatu himpunan fuzzy
yang merefleksikan konstribusi dari tiap-tiap proposisi.
Secara umum dapat dituliskan: μsf[xi] ← max(μsf[xi], μkf[xi]) .................................................(15)
dengan:
μsf[xi] = nilai keanggotaan solusi fuzzy sampai aturan ke-i;-
μkf[xi] = nilai keanggotaan konsekuen fuzzy aturan ke-i;
Metode Additive (Sum)
Pada metode ini, solusi himpunan fuzzy diperoleh dengan cara melakukan bounded-sum terhadap semua
output daerah fuzzy. Secara umum dituliskan: μsf[xi] ← min(1,μsf[xi]+ μkf[xi]) ..........................................(16)
dengan:
μsf[xi] = nilai keanggotaan solusi fuzzy sampai aturan ke-i;
μkf[xi] = nilai keanggotaan konsekuen fuzzy aturan ke-i;
Metode Probabilistik OR (probor)
Pada metode ini, solusi himpunan fuzzy diperoleh dengan cara melakukan product terhadap semua output daerah
fuzzy. Secara umum dituliskan: μsf[xi] ← (μsf[xi]+ μkf[xi]) - (μsf[xi] * μkf[xi])......................................(17)
dengan:
μsf[xi] = nilai keanggotaan solusi fuzzy sampai aturan ke-i;
μkf[xi] = nilai keanggotaan konsekuen fuzzy aturan ke-i;
4.Penegasan (defuzzy)
Input dari proses defuzzifikasi adalah suatu himpunan fuzzy yang diperoleh dari komposisi aturan-aturan fuzzy,
sedangkan output yang dihasilkan merupakan suatu bilangan pada domain himpunan fuzzy tersebut. Sehingga
jika diberikan suatu himpunan fuzzy dalam range tertentu, maka harus dapat diambil suatu nilai crsip tertentu
sebagai output.
Putra — Pendistribusian Job Enkripsi Citra Pada Komputer Paralel Berbasis Tingkat Kompleksitas Citra
9
Ada beberapa metode defuzzifikasi pada komposisi aturan MAMDANI, antara lain:
a.Metode Centroid (Composite Moment)
Pada metode ini, solusi crisp diperoleh dengan cara mengambil titik pusat (z*) daerah fuzzy. Secara umum
dirumuskan:
∫ ( )
∑ ( )
Z* = Z* = ...............……………………………………...……………………..…(18)
∫ ( )
∑ ( )
b.Metode Bisektor
Pada metode ini, solusi crisp diperoleh dengan cara mengambil nilai pada domain fuzzy yang memiliki nilai
keanggotaan separo dari jumlah total nilai keanggotaan pada daerah fuzzy. Secara umum dituliskan:
Zp sedemikian hingga ∫ ( )
dz = ∫ ( )
………...........…………………………...…………..…(19)
c.Metode Mean of Maximum (MOM)
Pada metode ini, solusi crisp diperoleh dengan cara mengambil nilai rata-rata domain yang memiliki nilai
keanggotaan maksimum.
d.Metode Largest of Maximum (LOM)
Pada metode ini, solusi crisp diperoleh dengan cara mengambil nilai terbesar dari domain yang memiliki nilai
keanggotaan maksimum.
e.Metode Smallest of Maximum (SOM)
Pada metode ini, solusi crisp diperoleh dengan cara mengambil nilai terkecil dari domain yang memiliki nilai
keanggotaan maksimum.
E.JPPF
Penelitian ini dilakukan menggunakan Java Parallel Programming Framework sebagai midleware enkripsi
citra pada komputasi paralel. Java Parallel Programming Framework (JPPF) merupakan framework untuk
pemrograman paralel yang menggunakan bahasa pemrograman Java [5]. JPPF dapat berjalan pada sistemoperasi
yang mendukung Java. JPPF sendiri tidak memerlukan proses instalasi. Untuk menjalankan JPPF master dan
slave cukup dengan menjalankan batch file yang telah disediakan oleh developer JPPF. Sedangkan beberapa
library JPPF clien tdibutuhkan untuk mengembangkan aplikasi yang memanfaatkan JPPF.
Keunggulan JPPF terhadap framework lain adalah JPPF menyediakan beberapa strategi pendistribusian job
untuk mengoptimalkan performa dengan menyesuaikan jumlah task yang dikirim ke setiap slave. Beberapa
strategi yang tersedia adalah manual, nodethreads, dan reinforcement learning. Tiap strategi distribusi job
memiliki keunggulan terhadap suatu jenis permasalahan yang akan diselesaikan secara paralel. Selain itu, JPPF
memiliki fitur mekanisme untuk menangani kegagalan komunikasi. Secara otomatis JPPF client dan slave akan
mencarimaster yang aktif apabila pada suatu saat terjadi gangguan dalam komunikasi.
V. HIPOTESA AWAL
Dengan menggunakan kompleksitas citra sebagai basis dari pendistribusian job maka pengerjaan enkripsi citra
tersebut menjadi lebih optimal hal ini dikarenakan beban kerja pada worker/slave seimbang. Load balancing
akan menyesuaikan worker yang mempunyai spesifikasi tinggi akan melakukan enkripsi pada citra yang
memiliki ringkat kompleksitas tinggi dan sebaliknya, worker/slave yang mempunyai spesifikasi rendah akan
mengerjakan enkripsi citra yang tidak kompleks.Pembagian job yang seimbang juga akan menyebabkan
kecepatan pemrosesan enkripsi citra dan juga akan menghindari terjadinya gagal enkripsi pada worker/slave.
JUTI - Volume xx, Nomor x, Bulan YYYY: 1 – 10
10
DAFTAR PUSTAKA
[1] Ali E. Taki El_Deen, El-Sayed A. El-Badawy, Sameh N. Gobran (Januari 2014). Digital Image Encryption Based on RSA Algorithm . IOSR Journal
of Electronics and Communication Engineering (IOSR-JECE) e-ISSN: 2278-2834,p- ISSN: 2278-8735.Volume 9, Issue 1, Ver. IV ,PP 69-73 [2] Bruce Schneier, Applied Cryptography 2nd Edition, Wiley & Sons, 1996.
[3] Jolly Shah, Vikas Saxena, Performance Study on Image Encryption Schemes, International Journal of Computer Science Issues, Vol 8, Issue 4, No
1, July 2011. [4] Lala Krikor, Sama Baba, Thawar Arif, Zyad Shaaban, Image Encryption Using DCT and Stream Cipher, European Journal of Scientific Research,
Vol. 32, No. 1 (2009), pp 47-57.
[5] Laurent Cohen. (2013, May) JPPF. [Online]. http://www.jppf.org [Diakses 1 Februari 2013] [6] Mohammad Ali Bani Younes, Aman Jantan, Image Encryption Using Block-based Transformation Algorithm, IAENG International Journal of
Computer Science, 35: 1, IJCS_32_1_03, 2008.
[7] Monisha Sharma, Manoj Kumar Kowar, Image Encryption Techniques Using Chaotic Schemes: A Review, International Journal of Engineering Science and Technology, Vol. 2(6), 2010
[8] Nidhi S Kulkarni, Balasubrmanian Raman, Indra Gupta, Selevtive Encryption of Multimedia Images, Proc. Of XXXII National Systems Conference,
NSC 2008, December 17-19, 2008. [9] Oppliger, Rolf. 2005.Contemporary Cryptography.USA: Artech House, Inc
[10] Rifkie Primartha (Oktober 2011). Penerapan Enkripsi Dan Dekripsi File Menggunakan Algoritma Data Encryption Standard (DES). Jurnal Sistem
Informasi (JSI), VOL. 3, NO. 2, Oktober 2011, Halaman 371-387. ISSN Print : 2085-1588 . ISSN Online : 2355-4614
[11] Rinaldi Munir, Enkripsi Selektif Citra Digital dengan Stream Cipher Berbasiskan pada Fungsi Chaotik Logistic Map, Seminar Nasional dan Expo
Teknik Elektro Univeristas Syiah Kuala, Banda Aceh, Oktober 2011.
[12] Singh, Pia.(July 2013). Image Encryption and Decryption Using Blowfish Algorithm in Matlab. International Journal of Scientific & Engineering Research, Volume 4, Issue 7. ISSN 2229-5518
[13] Vishal Pachori, Gunjan Ansari, and Neha Chaudhary, "Improved Performance of Advance Encryption Standard using Parallel Computing,"
International Journal of Engineering Research and Applications (IJERA), vol. 2, no. 1, pp. 967-971, Feb. 2012. [14] Xiliang Liu, Selective Encryption of Multimedia Contentn in Distribution Networks: Challenges and New Directions, Proc. of Conference of Com-
munications, Internet, and Information Technology, 2003.