• Tidak ada hasil yang ditemukan

T1 672009235 Full text

N/A
N/A
Protected

Academic year: 2017

Membagikan "T1 672009235 Full text"

Copied!
16
0
0

Teks penuh

(1)

1. Pendahuluan

Perkembangan teknologi yang semakin maju berdampak juga terhadap teknologi yang digunakan oleh masyarakat, dimana pada era modern ini kebutuhan masyarakat akan informasi meningkat, dengan adanya teknologi seperti sekarang ini sangat membantu masyarakat dalam berkomunikasi dan bertukar informasi. Namun teknologi yang berkembang tidak selalu menghasilkan dampak positif. Salah satu dampak negatif dari teknologi adalah maraknya pencurian data pribadi seperti file gambar yang dilakukan oleh pihak–pihak yang tidak bertanggung jawab, sehingga jika data pribadi diberitakan ke publik oleh orang yang tidak bertanggung jawab tersebut, akan menimbulkan dampak yang kurang etis bahkan dapat menjadi bahan pornografi. Hal ini terjadi karena belum banyak aplikasi yang mudah digunakan publik untuk mengamankan data pribadi khususnyafilegambar.

Penelitian ini difokuskan pada perancangan sistem untuk mengamankan

file gambar pada web server dengan menggunakan algoritma AES (Advanced Encryption Standart) untuk mengenkripsi dan mendekirpsi file gambar. Sistem dibangun berbasis web yang bertujuan untuk membantu pengguna agar mudah mengakses aplikasi yang dibuat karena bersifat online dan multiuser. Dengan demikian, hasil penelitian ini dapat memberikan kontribusi kepada publik dalam hal sarana pengamanan file gambar, yaitu untuk melindungi file gambar yang bersifat pribadi dan tidak seharusnya menjadi konsumsi masyarakat luas serta kemudahan akses aplikasi.

Berdasarkan latar belakang tersebut, maka dirumuskan masalah penelitian antara lain adalah bagaimana merancang sistem keamanan file gambar pada web server menggunakan algoritma AES (Advanced Encryption Standart) dan bagaimana mengimplementasikan sistem keamanan file gambar pada web server

menggunakan bahasa pemograman PHP (Hypertext Proprocessor). Sedangkan manfaat dari hasil penelitian ini antara lain adalah bagi pengguna, dapat menggunakan algoritma AES (Advanced Encryption Standart) untuk proses enkripsi - dekripsi, guna melindungi data berupa file gambar dengan mudah dan dapat diakses secara online dan bagi akademik, dapat menambah referensi pembelajaran tentang pemanfaatan algoritma AES (Advanced Encryption Standart) pada sistem keamananfilegambar pada sebuahweb server.

Agar pembahasan pada penelitian ini tidak terlalu luas, maka dilakukan pembatasan masalah antara lain yaitu panjang kunci yang digunakan pada algoritma Advanced Encryption Standart adalah 192 bit, tidak untuk gambar berformat .Gif dan .Tiff dan batas ukuranfilemaksimal 2Megabyte(MB).

2. Tinjauan Pustaka

(2)

kriptografi Rijnendeal untuk menjaga keamanan dan kerahasiaan citra digital dengan format file citra bitmap [1]. Penelitian kedua dengan judul “Rancang Bangun Aplikasi Enkripsi dan Dekripsi Citra Digital Berbasis Desktop

Menggunakan Algoritma Rijndeal Berbasis Java SE” telah mambahas tentang membangun sebuah aplikasi enkripsi dan dekripsi menggunakan algoritma

Rijndeal atau yang disebut juga AES (Advanced Encryption Standart) untuk

pengamanan data citra berbasis Java SE dan diuji dengan 2 skenario yaitu pengujian berbagai macam ukuran dan berbagai macam warna yaitu black white, citra grayscale, dan citra RGB. Hasil dari penelitian ini adalah membangun aplikasi yang mampu mengenkripsi dan mendekripsi file citra tanpa mengubah integritas data darifilecitra tersebut [2].

Perbedaan penelitian ini dengan kedua penelitian sebelumnya adalah penelitian ini membahas tentang Penerapan Algoritma AES untuk keamanan file

gambar pada web server. Penelitian ini bertujuan untuk membangun dan mengimplementasikan sistem keamanan file gambar pada web server

menggunakan bahasa pemograman PHP. Hasil dari penelitian ini adalah membangun suatu aplikasi untuk melindungi file gambar dengan menggunakan algoritma AES secaraonline.

Algoritma kriptografi disebut juga cipheryaitu aturan untuk encipheringdan

deciphering, atau fungsi matematika yang digunakan untuk enkripsi dan dekripsi. Beberapa cipher memerlukan algoritma yang berbeda untuk enciphering dan

deciphering. Keamanan algoritma kriptografi sering diukur dari banyaknya kerja yang dibutuhkan untuk memecahkan ciphertext menjadi plaintext tanpa mengetahui kunci yang digunakan. Apabila semakin banyak proses yang diperlukan berarti juga semakin lama waktu yang dibutuhkan, maka semakin kuat algoritma tersebut dan semakin aman digunakan untuk menyandikan pesan. Algoritma kriptografi terdiri dari 3 fungsi dasar yaitu; 1) Enkripsi, merupakan hal yang sangat penting dalam kriptografi yang merupakan pengamanan data yang dikirimkan terjaga rahasianya, pesan asli disebut plaintext yang dirubah menjadi kode - kode yang tidak dimengerti; 2) Dekripsi, merupakan kebalikan dari enkripsi, pesan yang telah dienkripsi dikembalikan ke bentuk asalnya (plaintext)

disebut dengan dekripsi pesan; 3) Kunci, yang dimaksud di sini adalah kunci yang dipakai untuk melakukan enkripsi dan dekripsi[3].

Algoritma AES (Advanced Encryption Standart) merupakan algoritma kriptografi yang menggunakan kriptografi simetris atau block cipher simetris untuk proses enkripsi dan dekripsi. Proses enkripsi dan dekripsi algoritma AES (Advanced Encryption Standart) memproses data masukan berukuran 128 bit menggunakan cipher keyberukuran 128, 192 dan 256 bit, berikut jumlah putaran yang digunakan algoritma ini ada tiga macam seperti pada Tabel 1.

Tabel 1Jumlah Putaran Pengoperasian (AES)[4]

Tipe Panjang Kunci Panjang Blok Input Jumlah Putaran

AES-128

(3)

-nya berukuran 32 bit, sehingga total kunci-nya 192 bit. Untuk proses transformasinya sebanyak 12 putaran. Garis besar algoritma AES yang beroperasi pada blok 128 bit dengan kunci 128 bit adalah sebagai berikut: 1) Transformasi

AddRoundKey, melakukan XOR antara state awal (plaintext) dengan cipher key. Tahap ini disebut juga initial round. 2) Putaran sebanyakNr–1 kali. Proses yang dilakukan pada setiap putaran adalah: a ) Transformasi SubBytesadalah substitusi

byte dengan menggunakan Tabel substitusi (S-Box). b) Transformasi ShiftRows

adalah pergeseran baris-baris array state secara wrapping. c) Transformasi

MixColumns adalah mengalikan setiap kolom array state dengan polinomial. d)

TransformasiAddRoundKey adalah melakukanXORantara statesekarang dengan

round key. 3) Final round, proses untuk putaran terakhir: a) TransformasiSubByte. b)TransformasiShiftRows. c)TransformasiAddRoundKey.[4]

Sebuah format file citra harus dapat menyatukan kualitas citra, ukuran

file dan kompabilitas dengan berbagai aplikasi. Format file citra standar yang digunakan saat ini terdiri dari beberapa jenis. Format-format ini digunakan untuk menyimpan citra dalam sebuah file. Setiap format memiliki karakteristik masing-masing. Contoh format umum, yaitu : Bitmap (.bmp), tagged image format

(.tif, .tiff), Portable Network Graphics (.png), JPEG (.jpg), dan lain-lain [5].

Bahasa pemrograman yang digunakan yaitu Hypertext Proprocessor (PHP), manfaat dari bahasa pemrograman ini memudahkan dalam membuat aplikasi web dengan cepat, dapat digunakan untuk membuat dynamic website,

baik yang memerlukan penggunaan database atau tidak. Dymnamic Website atau halamanweb dinamis merupakan halamanwebyang dapat menampilkan halaman berbeda, tergantung inputyang dilakukan pengunjung atau kondisi lain yang telah ditentukan dalam program [6].

web server adalah sebuah perangkat lunak server yang berfungsi menerima permintaan HTTP atau HTTPS dari client yang dikenal dengan web browser dan mengirimkan kembali hasilnya dalam bentuk halaman-halaman web

yang umumnya berbentuk dokumen HTML. Web server yang terkenal diantaranya adalahApachedanMicrosoft Internet Information Service(IIS) [7]. 3. Metode Perancangan Sistem

(4)

Gambar 11Tahapan Penelitian

Tahapan penelitian pada Gambar 11 dapat dijelaskan sebagai berikut:

Tahap pertama: analisis kebutuhan, telah dilakukan pendataan melalui kuisioner kepada mahasiswa yang memiliki file gambar pribadi mengenai seberapa pentingnya dilakukan pengamanan terhadap file gambar seperti apakah file

gambar pribadi perlu diamankan, apakah data gambar pribadi pernah diakses orang lain, bagaimana cara pangamanan gambar pribadi selama ini, apakah cara mengamankan gambar selama ini sudah cukup untuk melindungi file gambar, serta apakah melindungi data gambar secara online perlu dilakukan sehingga diperoleh hasil dari kuisioner bahwa responden membutuhkan pengamanan data gambar, selama ini banyak yang masih mengamankan data pribadi dengan cara

Hidden Folder, rename folder, ada juga yang menjawab memasukkan data gambar responden pada harddisk external dan membuat folder di dalam folder, namun dengan cara ini data pribadi responden masih banyak yang dapat diakses orang lain. Sehingga membutuhkan tempat dengan sistem pengamanan yang baik serta dapat diakses secara online sehingga tidak dapat diakses oleh orang lain dengan mudah. Tahap kedua: pengumpulan data, yaitu melakukan pengumpulan data yang berkaitan dengan penelitian yang akan dilakukan terhadap permasalahan yang ada misalnya mendapatkan data dan literatur yang terkait dengan proses enkripsi dan dekripsi pada file gambar menggunakan algoritma AES dan web server melalui dokumen dan referensi yang ada serta web server. Tahap ketiga: perancangan sistem dan implementasi kriptografi AES, yaitu merancang dan membangun sistem dengan menggunakan metode prototype.

Aplikasi yang dibangun pada penelitian ini menggunakan bahasa pemograman PHP yang akan diimplementasikan dalam proses enkripsi dan dekripsifilegambar. Tahap keempat: pengujian sistem, yaitu melakukan pengujian serta analisis terhadap sistem yang dibuat serta mengukur kepuasan user terhadap sistem yang telah dibangun menggunakan metodeblack boxdan pengujianBeta testing.Tahap kelima: laporan penelitian, yaitu mendokumentasikan proses penelitian yang sudah dilakukan dari tahap awal hingga akhir ke dalam tulisan yang nantinya akan menjadi laporan hasil penelitian.

Metode pengembangan sistem yang digunakan pada pembuatan aplikasi ini adalah model prototype. Model prototype merupakan suatu teknik untuk mengumpulkan informasi tertentu mengenai kebutuhan-kebutuhan informasi pengguna secara cepat. Secara lengkap, alur model prototype akan digambarkan seperti pada Gambar 12.

Analisis Kebutuhan Pengumpulan Data

Perancangan Sistem dan implementasi Pengujian Sistem

(5)

Gambar 12ModelPrototype[8]

Proses-proses pada Gambar 12 dapat dijelaskan sebagai berikut, yaitu : 1) Mendengarkan pelanggan : Pada tahap ini dilakukan proses menganalisa kasus dengan cara memberikan pertanyaan-pertanyaan kepada pengguna yang telah dinyatakan dewasa yaitu telah memiliki KTP (kartu Tanda Penduduk), pengambilan sampel dilakukan pada 30 mahasiswa FTI UKSW yang memiliki gambar pribadi, pertanyaan terkait dengan kepemilikan file gambar pribadi, apakah file pribadi pernah dicuri, proses pengamanan file gambar serta seberapa perlunya sebuah sistem enkripsi dan dekripsi data gambar dibangun, dan sistem enkripsi–dekripsi seperti apa yang pengguna butuhkan. 2) Membangun dan Memperbaiki prototipe: Pada tahap ini proses perancangan dilakukan, kemudian membangun software berdasarkan hasil analisis dari tahap pertama (mendengarkan pelanggan). Pada tahap ini dilakukan perbaikan prototipe, perbaikan prototipe pertama meliputi tampilan atau interface belum lengkap atau selesai, dilakukan pengecekancrypto keypada saat membukafolderpengguna dan menambah gambar, melakukan pembuktian crypto AES berfungsi dengan baik. Berikut dilakukan perbaikan dan pengecekan prototipe kedua yaitu interface dari sistem sudah lengkap, melakukan pengecekan crypto AES, file gambar sudah dapat diinput, melakukan penambahan menu login password dan crypto key

berdasarkan tiapgambaryang diinput, namun belum ada layanan untuk pengguna pada saat pengguna lupa password agar masuk ke sistem, melakukan proses

preview image file gambar,membarikan crypto key berdasarkanfolder pengguna. 3) Pelanggan menguji coba prototipe: pengguna menguji coba prototipe yang dibuat, jika pengguna merasa software belum sesuai maka dilakukan perbaikan

softwaredan proses kembali ke tahap pertama.

Sistem keamanan file gambar pada web server menggunakan algoritma AES dirancang menggunakan Unified Modelling Language (UML) sebagai pemodelan sistem. UML menyediakan beberapa diagram dalam proses perancangan sistem. Dalam sistem yang dibuat digunakan beberapa diagram, yaitu:

use case diagram, activity diagram, sequence diagramdanclass diagram.

Use case diagram adalah diagram yang memperlihatkan hubungan antara

use case (dekripsi dari sekumpulan aksi) dengan aktor-aktor (himpunan pengguna

(6)

Upload Gamabr lihat Gambar

hapus folder Folder Gambar

Tambah Gambar

Ganti Password User Kelola Data

<<include>>

Gambar 13Use Case Diagram General User

Gambar 13 menunjukkan sistem yang dibangun memiliki dua aktor yaitu

User dan Guest.Guest hanya dapat melakukan registrasi agar mendapatkan akun untuk login, sedangkan user dapat melakukan ganti password dan kelola data. Padacasekelola data terdapat fungsi untuk menambah gambar dan melihatfolder

gambar. Pada tambah gambar user dapat mengupload gambar yang ingin dienkripsi. Pada folder gambar user dapat melihat gambar yang telah di dekripsi dan tersimpan di dalam sistem, download gambar, menghapus gambar maupun

folder.

Activity diagram adalah diagram yang memperlihatkan aliran dari suatu aktivitas ke aktivitas lainnya dalam suatu sistem. Activity diagram yaitu upload

gambar dan lihat gambar 14.

Mulai

Login

Masukan Username Password

Memasukan kunci enkripsi,nama folder dan nama file hasil enkripsi dan akan gambar yang ingin dienkripsi

Menekan yang akan dienkripsi

Menampilkan folder yang ada di server

Mengenkrip data gambar

Menerima data dan membuat folder dan mengupload file server

Server Side JavaScript AES

Client View User

Gambar 14Activity Diagram UploadGambar

Gambar 14 menunjukan proses yang dilakukkan oleh user ketika malakukkan aktivitas upload gambar miliknya, dimulai dengan melakukkan aktivitas login agar dapat menampilkan dashboard. Untuk melakukkan pengamanan berkas gambar langkah awal adalahusermemasukkan kunci enkripsi,

(7)

tombol upload, setelah tombol dipilih maka sistem akan melakukan proses enkripsi yang akan menghasilkan ciphertext berupa berkas file berekstensi *.txt. sistem akan menampilkan folder yang telah dibuat jika proses enkripsi telah sukses dilakukan.

Mulai

Login

Masukan Username Password

Memilih Folder Yang gambarnya akan dilihat

Gambar Download Gambar

Mendekrip

Gambar 15activity diagram melihat gambar

Gambar 15 menunjukkan proses yang dilakukan oleh user ketika user

melihat gambar miliknya, dimulai dengan melakukkan aktivitas login agar dapat menampilkan dashboard. Kemudian user memilih folder yang akan dilihat sehingga sistem akan menampilkan kolom yang digunakan untuk memasukkan

kunci Dekripsi, jika kunci dekripsi salah maka sistem akan menampilkan pesan

error namun jika kunci dekripsi benar benar maka sistem akan melakuna proses dekripsi yang akan menghasilkanplaintextsehingga gambar yang telah dienkripsi kembali ke dalam bentuk asli sehingga gambar yang tampil pada client view

adalah gambar yang telah didekripsi. User juga dapat melakukan hapus dan

downloadgambar yang telah didekripsi.

(8)

: user

Dashboard Memory Stream

Javascript Javascript AES DashboardServer Server Folder

Input Key,Nama Folder, Nama File dan gambar

Mengubah File Gambar ke dalam memory stream

Menampilkan Gambar

Mengenkrip image ke dalam file text

Mengembalikan nilai enkrip

Mengirim data

Membuat Folder dan mengupload file

Mengembalikan data

Mengembalikan hasil proses

Menampilkan nama folder

Gambar 16SequenceUntukUploadGambar

Gambar 16 menjelaskan proses dimulai oleh user dengan memasukkan kunci enkripsi, nama folder, nama file hasil enkripsi, dan gambar yang ingin dienkripsi pada halaman dashboard. Kemudian sistem akan mengubah file

gambar ke dalam memory stream pada objek memory stream javascript nantinya akan menampilkan gambar pada halaman dashboard. kemudian sistem akan mengenkripsi berkas gambar menjadi bentuk *.txt menggunakan objek javascrip

AES. Setelah file berhasil terenkripsi maka file tersebut akan disimpan dalam

folderyang berada padaserver.

Javascript AES

: user

Dashboard Memory Stream

Javascript DashboardServer Server Folder

memilih Folder

Memunculkan kunci dekripsi

memasukan kunci dekripsi

Mendekrip kunci dekripsi

Mengembalikan nilai

Mengirim Data kunci dekripsi

mencocokan kunci dekripsi

Jika kunci tidak sama menampilkan error

Jika benar mengembalikan nilai

mendekrip nilai

membuat gambar berdasarkan file stream

mengembalikan nilai

menampilkan gambar

Gambar 17SequenceUntuk Melihat Gambar

Gambar 17 proses dimulai dengan memilih folder yang dilakukkan oleh

(9)

dan jika sesuai maka sistem akan memulai proses dekripsi agar folder yang diinginkan dapat diakses.

Class diagramdigunakan untuk menampilkan class-classdan paket-paket di dalam sistem.Class diagrammemberikan gambaran sistem secara statis beserta relasinya.

Gambar 18Class DiagramSistem

Gambar 18 menunjukkan class yang digunakan pada sistem yang dibangun dalam penelitian ini yang terdiri dari class crypto-sha1-hmac-pbkdf2-ofb-aes, rawdeflate dan Dashboard. Pada class crypto-sha1-hmac-pbkdf2-ofb-aes berisi atribut yang terdiri dari X, W, Z, A dan Words serta operasi yang terdiri dari _decrypt block(), _encryptblock(), encrypt(), decrypt(), _keyexpansion(), sha1(), base64ToBytes(), bytesToBase64() dan bytesToWords(). Pada class

rawdeflate berisi atribut yang terdiri dari AES dan sha1 serta operasi yang terdiri dari decrypt AES(), encryptAES() dan encryptSha1(). PadaclassDashboard berisi atribut yang terdiri dari username,password,file name, folder serta operasi yang terdiri dari index(), change_Password(), delete(), getImg(), key_check(), key_check_folder(). Padaclass diagramtersebut terdapat relasi many to onepada

class crypto-sha1-hmac-pbkdf2-ofb-aes ke class rawdeflate serta relasi many to onepada dashboard ke rawdeflate.

4. Hasil dan Pembahasan

Tahap implementasi sistem menghasilkan aplikasi berbasis web untuk melakukan proses enkripsi dan dekripsifilegambar menggunakan algoritma AES. Panjangblockkunci yang digunakan pada algortima AES pada penelitian ini yaitu 192 bit. Bahasa pemrograman PHP dengan framework codeIgniter digunakan untuk mengimplementasikan sistem pengamanan file gambar menggunakan algoritma AES berbasis web. Hasil enkripsi file gambar berupa file cipher

(10)

Gambar 19Halaman AwalWebsite

Saat userakan mengunakan fasilitas enkripsi dan dekripsi terdahulu harus melakukkan pendaftaran dengan cara memasukkan user name, alamat e-mail dan

password. Ketika registrasi sukses maka aplikasi akan menyediakan spaceberupa

folder di web server dengan nama folder sama dengan nama user pada saat registrasi dengan demikian setiap pengguna akan memiliki space masing-masing sehingga data satu pengguna dengan yang lain tidak tercampur. Untuk dapat mengamankan gambar maka pengguna harus melakukanlogin, jika berhasil maka pengguna dapat melakukan proses enkripsi file gambar yang diinginkan. Form

untuk enkripsi dapat dilihat seperti pada Gambar 20.

Gambar 20Halaman EnkripsiFileGambar

Untuk melakukan proses enkripsi pada gambar yang diinginkan, hal pertama yang dilakukkan pengguna adalah memasukan kunci dengan panjang minimal 6 digit dimana kunci dapat berupa perpaduan angka, simbol atau huruf kecuali spasi, setelah memasukkan kunci, user harus memasukkan nama folder

yang nantinya sistem akan membuat folder sebagai tempat penyimpanan untuk kelompok gambar, kemudian pilih tombolchoose fileuntuk memilih gambar yang ingin diamankan, setelah selesai memilih makauser harus memasukkan namafile

(11)

program untuk menampilkan gambar ke dalam kanvas dapat dilihat pada Kode Program 1.

Kode Program 1Proses Mengambil Gambar

1 <script src="<?php echo base_url(); ?>assets/js/crypto-sha1-hmac-pbkdf2-ofb-aes.js"></script>

2 <script src="<?php echo base_url(); ?>assets/js/rawdeflate.js"></script> 3 <script src="<?php echo base_url(); ?>assets/js/rawinflate.js"></script> 4 …

5 clear_canvas(currentIndex);

6 cvs = '<canvas id="cpreview' + currentIndex + '" width="400" height="300"></canvas>';

7 $('.canvas-area').eq(currentIndex - 1).html(cvs); 8 ctx = $('#cpreview' + currentIndex)[0].getContext('2d'); 9 ctx.drawImage(img, 0, 0,$('.preview').eq(currentIndex

-1).width(),$('.preview').eq(currentIndex - 1).height()); 10 imgd = ctx.getImageData(0,0,$('.preview').eq(currentIndex

-1).width(),$('.preview').eq(currentIndex - 1).height()); 11 console.log(imgd);

12 pix = imgd.data;

Perintah pada baris 1 sampai baris 3 berfungsi untuk memanggil

Javascript yang dibutuhkan, pada baris ke 5 berfungsi untuk menghapus canvas

pada html 5 yang digunakan, baris 6 untuk menentukan ukuran canvaspada html 5 yang akan digunakan dan pada baris 7 sampai baris 12 berfungsi untuk menampilkan gambar yang telah dipilih ke dalam canvas. Setelah gambar berada padacanvasmaka dilakukan proses enkripsi, perintah untuk proses enkripsi dapat dilihat pada kode program 2.

Kode Program 2Fungsi Enkripsi

1. function encryptAES(idx) {

2. var password = $('#crypto_key').val();

3. var s=RawDeflate.deflate(canvasArrToString(pix)); 4. var encrypted = Krypto.AES.encrypt(s, password); 5. $('.encrypted').eq(idx - 1).val(encrypted); 6. }

Perintah pada baris 1 berfungsi untuk mengambil kunci enkripsi yang diinput user dan dimasukkan ke dalam variable password, perintah pada baris 2 berfungsi untuk mengubah file gambar menjadi data string ke dalam variable s, dan perintah pada baris ke 3 berfungsi untuk melakukan proses enkripsi. Setelah

file gambar dienkripsi menjadi file cipher gambar maka untuk selanjutnya disimpan ke dalam web server, kode program proses upload dan menyimpan file

gambar hasil enkripsi ke dalamweb serverdapat dilihat pada kode program 3.

Kode Program 3.ProsesUploaddan Menyimpan Gambar keWeb Server

1. $folderdata = fopen($folder . '/folderdata.txt', 'w');

2. $folderdata_value = "key:" . sha1($this->input->post('crypto_key')); 3. fwrite($folderdata, $folderdata_value);

4. fclose($folderdata);

5. foreach ($this->input->post('filename') as $k => $v) { 6. $file = fopen($folder. '/' . $v . '.txt', 'w');

7. $file_value = "filename:" . $v . "\n". "key:" . sha1(>post('crypto_key')) . "\n". "encrypted:" .

$this->input->post('encrypted')[$k]; 8. fwrite($file, $file_value); 9. fclose($file);

(12)

perintah pada baris 5 berfungsi untuk melakukan looping setiap input, perintah pada baris ke 6 untuk membuka file di dalam folder yang dipilih, perintah pada baris 7 untuk mengisi variable dengan filename yang diinputkan, perintah pada baris 8 untuk membuat file berdasarkan baris 7, dan perintah pada baris 9 berfungsi untuk menutup perintah baris 8. Pada saat pengguna ingin melihat file

gambar yang telah tersimpan di web server, terlebih dahulu melakukan login, setelah sukses aplikasi akan memberikan fasilitas kepada pengguna berdasarkan

folder, jika pengguna telah memilih folder maka pengguna akan memasukkan kunci yang sama dengan kunci enkripsi yang digunakan. Tampilanform pada saat pengguna ingin mendekripsi file gambar yang diinginkan dapat dilihat pada Gambar 21.

Gambar 21Halaman DekripsiFileGambar

Perintah untuk mengambilfile ciphergambar dapat dilihat pada Kode Program 4.

Kode Program 4Proses AmbilFile CipherGambar

1. $('#imgs').html('');

2. for(i = 0; i<data.imgs.length; i++) {

3. cvsinsert = '<canvas width="400" height="300" id="img' + i + '"></canvas>'; 4. $(cvsinsert).appendTo('#imgs');

5. decryptAES2($('#img' + i)[0], data.imgs[i].encrypted);} 6. …

7. alert(data.error);}}) 8. .fail(function() { 9. alert('error');}

(13)

Kode Program 5Fungsi Dekripsi

1. function decryptAES2(mycvs, encrypted) { 2. password = imgpass;

3. var

arr=canvasStringToArr(RawDeflate.inflate(Krypto.AES.decrypt(encrypted, password)));

4. for (var i=0; i<arr.length; i++) { arr[i]-=0; } 5. pix=arr;

6. cont = mycvs.getContext('2d');

7. imgd2 = cont.createImageData(400, 300); 8. for(var i = 0; i < pix.length; i++){ 9. imgd2.data[i] = pix[i];

10. }

cont.putImageData(imgd2,0,0);

Perintah pada baris 1 merupakan nama fungsi, perintah pada baris 2 berfungsi mengambil kunci dekripsi, perintah pada baris 3 merupakan proses merubah data string chipper gambar menjadi array gambar dan perintah pada baris 4 sampai baris 10 adalah proses menampilkan gambar. Aplikasi juga melakukan pengecekan sebelum gambar diambil berguna untuk mengecek apakah didalam folder tersebut terdapat file cipher gambar. Untuk mengecek keberadaan berkasciphergambar padafolder, dapat dilihat pada Kode Program 6.

Kode program 6Proses PengecekanFile CipherGambar PadaFolder Web Server

1. if($point_dir != '') {

2. $dir_handle2 = scandir('users/' . $sess_data . '/' . $point_dir); 3. $imgs = array();

4. foreach ($dir_handle2 as $k => $v) {

5. if(is_file('users/' . $sess_data . '/' . $point_dir . '/' .$v)) { 6. $file_data = file('users/' . $sess_data . '/' . $point_dir . '/' .$v,

FILE_IGNORE_NEW_LINES); 7. $lines = array();

8. foreach ($file_data as $k => $v) {

9. $lines[substr($v, 0, strpos($v, ':'))] = substr($v, strpos($v, ':') + 1, strlen($v) - strpos($v, ':'));

10. }$imgs[] = $lines;}}

Perintah pada baris 1 berfungsi untuk mengecek apakah folder kosong, perintah pada baris 2 untuk mengecek directory, perintah pada baris 3 menyiapkan variable bertipe array, perintah pada baris 4 berfungsi untuk melakukanloopingsetiapfileyang ada didirectorytersebut, perintah pada baris 5 untuk proses mengecek apakah ada file yang terdapat di directory tersebut, perintah pada baris 6 berfungsi untuk membuka file yang terdapat di directory, perintah pada baris 7 berfungsi untuk menyiapkan variable bertipe array, pada baris 8 sampai baris 9 berfungsi untuk mengisi baris 7 dengan isifilepada baris 6 dan perintah pada baris 10 mengisi baris 2 dengan baris 7.

(14)

Tabel 4Hasil PengujianBlackbox Testing

No. Poin Pengujian Data Input / Kondisi Hasil Uji Status

1

ProsesLogin Member

Username: benar Berhasillogin valid Password: benar

Username: benar Logingagal valid Password: salah

Username: salah Logingagal valid Password: salah

Proses Enkripsi keysudah dimasukkan kolomdibukafolder valid keybelum dimasukan kolom diblock

4

PilihFile

keydan namafoldersudah

diisi proses memilihgambar berhasil Valid keydan namafolder

kosong proses memilihgagal 5

More Image

keydan namafoldersudah diisi dan sudah ada gambar yang dipilih

sebelumnya proses tambahgambar berhasil Valid keydan namafolder

kosong dan belum ada gambar yang dipilih

sebelumnya proses tambahgambar gagal 6

Upload

key, NamaFolderdan NamaFilesudah diisi dan sudah ada gambar yang dipilih

ProsesUpload Berhasil

Valid Key, NamaFolder, dan

NamaFilekosong dan belum ada gambar yang dipilih

ProsesUpload gagal

7 Proses Dekripsi KeyBenar Berhasil Valid

KeySalah Gagal

(15)

Tabel 5Hasil PengujianPengujian Tingkat Kepuasan Pengguna

Tampilan mudah dimengerti 23 5 2 0 111 120 30 93,05

%

Websitemudah digunakan 22 6 2 0 110 120 30

Perintah atau petunjuk jelas 26 2 2 0 114 120 30

Proses Enkripsi Aplikasi Dapat dan Mudah Mengambil Gambar dari dengan Kunci enkripsi yang

telah diinputkan sebelumnya 30 0 0 0 120 120 30 100%

Dapat mendekripsi gambar 30 0 0 0 120 120 30

Gambar yang sudah

didekripi bisa didownload 30 0 0 0 120 120 30

Performa

Aplikasi sudah aman dalam melakukan enkripsi dan

dekripsi 30 0 0 0 120 120 30

Aplikasi dapat menyediakan

folder 30 0 0 0 120 120 30

Berdasarkan hasil pengujian Beta yang dilakukan pada Tabel 5 maka dapat disimpulkan yaitu: 1) 93.05% responden menyatakaninterfacepada aplikasi yang dibangun mudah digunakan, mudah dimengerti serta perintah atau petunjuk sudah jelas; 2). 100% responden menyatakan Proses Enkripsi pada aplikasi yang dibangun dapat mengambil gambar dari Komputer, dapat mengenkripsi file

(16)

5. Simpulan

Berdasarkan hasil pengujian yang telah dilakukan dapat ditarik kesimpulan bahwa penerapan algoritma AES (Advanced Encryption Standart) untuk melindungi file gambar pada web server menggunakan bahasa pemograman php, dapat berjalan dengan baik. Aplikasi mampu dan dapat membantu user dalam mengenkripsi dan mendekripsi file gambar yang dimiliki user dengan baik serta mudah digunakan.

6. Pustaka

[1] JB, R.Kristoforus & BP, Stefanus Aditya. 2012.Implementasi Algoritma Rijndael untuk Enkripsi dan Dekripsi Citra Digital, Seminar Nasinal Aplikasi Teknologi Informasi (SNATI 2012) .

[2] Aprianto, Y., & Kurniawan, R. (2014). Rancang Bangun Aplikasi Enkripsi

Dan Dekripsi Citra Ddigital Menggunakan Algoritma Rijndeal Berbasis Java SE.

[3] Kurniawan, Yusuf. 2004. Kriptografi Keamanan Internet dan Jaringan Telekomunikasi.Bandung : Informatika.

[4] Munir, Rinaldi. 2004. Advanced Encryption Standart (AES).

www.informatika.org/~rinaldi/.../MakalahIF505430708089.pdf. (diakses tanggal 23 febuari 2014).

[5] D. Putra, 2011,Pengolahan Citra Digital, Yogyakarta: Andi Offset.

[6] Nufan. 2013. Pengenalan PHP: Hypertext Processor. http://staff.unipdu.ac.id/nufan/2013/04/20/pengenalan-php-hypertext-processor/. Diakses tanggal 4 April 2014.

[7] Kurniawan, R. 2008.Membangun Situs dengan PHP untuk Orang Awam, Maxikom, Palembang.

Gambar

Gambar 11 Tahapan Penelitian
Gambar 12 Model Prototype [8]
Gambar 14 Activity Diagram Upload Gambar
Gambar 17 Sequence Untuk Melihat Gambar
+7

Referensi

Dokumen terkait

Ketertarikan penulis terhadap Sandiwara Amal dalam penelitian ini, pertama; bahwa bentuk pementasan Sandiwara Amal bisa disebutkan sebagai seni pementasan yang khas milik

Berdasarkan uraian di atas tentang empat indikator yang meliputi memahami petunjuk penggunaan, pengaturan perlengkapan, pemeliharaan perlengkapan dan tanggungjawab

Untuk sistem persediaan di PT.Pupuk Iskandar Muda, persediaan pupuk disimpan pada gudang produksi milik perusahaan, selanjutnya digudang regional, dimana gudang regional ini

Kondisi perubahan penggunaan lahan dan aliran di atas menunjukkan bahwa kondisi DAS Bekasi Hulu tidak sehat sehingga diperlukan suatu analisis hidrologi untuk

Dibandingkan dengan perlakuan donor PGC- sirkulasi segar, donor PGC-sirkulasi beku mendapatkan hasil yang kurang memuaskan karena Sampai dengan pengamatan

Majlis Ulama Indonesia sebagai otoritas lembaga hukum Islam yang sah di Indonesia telah memfatwakan bahwa alat kontrasepsi dengan menggunakan metode Vasektomi dan Tubektomi

1) Kredit pertanian, merupakan kredit yang dibiayai untuk sector perkebunan atau pertanian rakyat. Sector usaha pertanian dapat berupa jangka pendek atau jangka panjang.

Pengetahuan guru/calon guru peserta workshop tentang pembelajaran inkuiri terbimbing sebelum mengikuti workhop, guru/ calon guru yang sudah mengenal inkuiri terbimbing