• Tidak ada hasil yang ditemukan

T1 672007118 Full text

N/A
N/A
Protected

Academic year: 2017

Membagikan "T1 672007118 Full text"

Copied!
27
0
0

Teks penuh

(1)

Implementasi Algoritma

Blowfish

pada Basis Data Honorarium Mengajar

Dosen Tidak Tetap FTI UKSW

Artikel Ilmiah

Peneliti :

Wilnic Izaac Maraunuela (672007118)

M. A. Ineke Pakereng, M.Kom.

Program Studi Teknik Informatika

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

(2)

Implementasi Algoritma

Blowfish

pada Basis Data Honorarium Mengajar

Dosen Tidak Tetap FTI UKSW

Artikel Ilmiah

Diajukan kepada

Fakultas Teknologi Informasi

untuk memperoleh Gelar Sarjana Komputer

Peneliti :

Wilnic Izaac Maraunuela (672007118)

M. A. Ineke Pakereng, M.Kom.

Program Studi Teknik Informatika

Fakultas Teknologi Informasi

Universitas Kristen Satya Wacana

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

Implementasi Algoritma

Blowfish

pada Basis Data Honorarium Mengajar

Dosen Tidak Tetap FTI UKSW

Wilnic Izaac Maraunuela 1, M. A. Ineke Pakereng 2

Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Jl. Diponegoro 52-60, Salatiga 50711, Indonesia E-mail: wilnic.agape@gmail.com1, inekep200472@yahoo.com2

Abstract

Information systems cannot be separated from the use of the database as information storage media. A database system in general has been equipped with the authentication process to gain access to the stored information. But not necessarily those who have the right to access the database also have the right to read the information in it, as for example is the data honorarium. In this study designed a cryptosystem to encrypt records stored in an honorarium database. Encryption process is done by using the blowfish cipher. The results showed that the cryptosystem capable of storing the data into the database in the form of cipher text, and able to return to the form of plain text in the reading process.

Keywords: Cryptography, Blowfish, Database

Abstrak

Sistem informasi tidak dapat dipisahkan dengan penggunaan database sebagai media penyimpanan informasi. Suatu sistem database pada umumnya telah dilengkapi dengan proses otentikasi untuk dapat mengakses informasi yang tersimpan. Namun belum tentu pihak yang memiliki hak untuk mengakses database, juga memiliki hak untuk membaca informasi di dalamnya, sebagai contohnya adalah data honorarium. Pada penelitian ini dirancang suatu kriptosistem, untuk menyandikan record yang tersimpan pada database honorarium mengajar dosen tidak tetap FTI UKSW. Proses enkripsi dilakukan dengan menggunakan blowfish cipher. Hasil penelitian menunjukkan bahwa aplikasi kriptosistem yang dirancang dapat menyimpan data ke dalam database dalam bentuk cipher text, dan dapat mengembalikan ke dalam bentuk plaintext pada proses pembacaan.

Kata Kunci : Kriptografi, Blowfish, Basis Data

1

Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana Salatiga

2

(10)

1. Pendahuluan

Database merupakan bagian penting dari suatu sistem informasi. Data yang diolah dan disajikan oleh sistem informasi, disimpan dan diorganisasi oleh sistem database. Pada umumnya sistem database telah dilengkapi dengan proses otentikasi untuk membatasi akses ke dalamnya. Hal ini berarti hanya pihak-pihak tertentu yang mengetahui account database, yang dapat login ke dalam sistem database.

Masalah yang muncul adalah ketika database diakses oleh pihak yang memiliki otorisasi untuk mengakses, namun tidak memiliki hak untuk membaca informasi di dalamnya. Sebagai contoh adalah administrator database, yang memiliki hak akses ke dalam sistem database. Namun informasi rahasia yang tersimpan di dalamnya belum tentu berhak dilihat oleh administrator database tersebut.

Untuk mengamankan informasi yang tersimpan, dapat dilakukan dengan cara menyandikan informasi tersebut, sebelum kemudian disimpan di database. Proses penyandian berlangsung pada level sistem informasi, yaitu aplikasi yang menggunakan database. Sebelum data disimpan, oleh aplikasi data tersebut disandikan terlebih dahulu. Ketika akan digunakan, data dibaca dari database, kemudian dilakukan proses dekripsi untuk dapat menjadi informasi yang dimengerti.

Proses penyandian data dapat dilakukan dengan algortima enkripsi. Salah satu algoritma enkripsi yang terkenal cepat adalah Blowfish [1]. Algoritma Blowfish memiliki performa yang baik. Block yang digunakan memiliki ukuran 64-bit (8 byte), hal ini memberi keuntungan yaitu proses padding yang dilakukan berkisar antara satu byte sampai dengan tujuh byte.

Berdasarkan latar belakang masalah tersebut, maka pada penelitian ini diimplementasikan suatu kriptosistem yang berfungsi untuk menyandikan record pada database. Database yang digunakan adalah database honorarium mengajar dosen tidak tetap Fakultas Teknologi Informasi Universitas Kristen Satya Wacana.

2. Tinjauan Pustaka

Pada penelitian yang berjudul “Enkripsi Field Tabel Database dengan PGP”, dibahas mengenai bagaimana mengamankan isi dari tabel database. Hal ini dilakukan untuk menghindari pencurian data ketika akses ilegal dilakukan ke dalam database. Informasi disandikan dengan metode PGP. Hasil enkripsi/dekripsi ditampung sementara ke dalam file, untuk kemudian disimpan ke dalam tabel atau ditampilkan lewat aplikasi. Kesimpulan yang diperoleh adalah hasil enkripsi yang besar sehingga membutuhkan media penyimpanan lebih besar dan waktu proses yang lebih lama karena adanya proses penyimpanan ke file sementara [2].

(11)

Blowfish. Pada penelitian tersebut disimpulkan bahwa Blowfish memiliki performa yang sedikit lebih baik dari dua algoritma yang lain [3].

Berdasarkan beberapa penelitian yang pernah dilakukan tersebut, maka dilakukan penelitian yang menghasilkan sebuah aplikasi kriptosistem, yang bekerja untuk menyandikan informasi yang tersimpan di database. Proses enkripsi tidak dilakukan melalui file perantara, namun dilakukan di memory, sehingga lebih cepat. Algoritma yang dipilih untuk proses penyandian adalah Blowfish, karena memiliki performa yang baik, dan memiliki block cipher yang kecil yaitu 64-bit. Pada penelitian ini, penerapan kriptosistem dilakukan pada database honorarium mengajar dosen tidak tetap FTI UKSW. Pengujian dilakukan untuk melihat kecepatan proses menyimpan dan membaca, dan juga proses pencarian record di database.

Penelitian yang dilakukan membahas tentang penerapan teknik kriptografi pada database dalam sistem informasi penggajian, dalam hal ini honorarium. Sistem informasi merupakan kumpulan komponen yang saling berhubungan untuk mengolah input (data) menjadi output (informasi) sehingga dapat memenuhi kebutuhan pemakai. Komponen-komponen utama dalam suatu sistem informasi berbasiskan komputer terdiri dari: 1) Database, 2) Database software, 3) Aplikasi software, 4) Hardware komputer termasuk media penyimpanan, dan 5) Personal yang menggunakan dan mengembangkan sistem [4]. Pada sistem informasi penggajian, yang menjadi komponen input adalah data karyawan dan data jam kerja, sedangkan komponen output adalah laporan kehadiran karyawan dan slip gaji. Komponen input dan output tersebut dapat berkembang sesuai dengan kebutuhan pengguna sistem.

Pada sistem informasi penggajian/honorarium terdapat database yang saling berelasi, yang menampung data-data yang diolah menjadi informasi, dikenal sebagai relational database management system (RDBMS). RDBMS adalah kumpulan dari relasi yang telah mengalami proses normalisasi dan memiliki nama relasi yang berbeda [5].

Sistem Informasi penggajian/honorarium berisi data-data tentang honorarium yang diterima oleh seorang karyawan atau pekerja, dimana tidak semua orang mempunyai hak untuk mengetahui informasi dalam sistem tersebut. Oleh karena itu dilakukan penyandian data menggunakan Algoritma Blowfish. Blowfish dirancang pada tahun 1993 oleh Bruce Schneier sebagai algoritma yang cepat, dan alternatif yang dapat diakses secara umum, untuk algoritma enkripsi yang telah ada saat itu. Blowfish tidak dipatenkan dan bebas lisensi, dan tersedia untuk semua penggunaan. Meskipun rawan dengan masalah weak keys, tidak ada serangan diketahui berhasil membobol algoritma ini [1] [6].

(12)

dan exclusive-OR pada variabel 32-bit. Operasi tambahan lainnya hanyalah empat penelusuran tabel (table lookup) array berindeks untuk setiap putaran.

Gambar 1 Proses Enkripsi Algoritma Blowfish [7]

Proses enkripsi algoritma Blowfish pada Gambar 1, dijelaskan sebagai berikut : [7]

1. Bentuk inisial P-array sebanyak 18 buah (P1, P2, ... P18) masing-masing bernilai 32-bit.

Array P terdiri dari delapan belas kunci 32-bit subkunci : P1,P2,...,P18

2. Bentuk S-box sebanyak 4 buah masing-masing bernilai 32-bit yang memiliki masukan 256.

Empat 32-bit S-box masing-masing mempunyai 256 entri : S1,0,S1,1,...,S1,255

S2,0,S2,1,...,S2,255 S3,0,S3,1,...,S3,255 S4,0,S4,1,...,S4,255

(13)

4. Hasil pengambilan pada langkah 3 dibagi 2, 32-bit pertama disebut XL, 32-bit yang kedua disebut XR.

5. Selanjutnya lakukan operasi XL = XL xor Pi dan XR = F(XL) xor XR

6. Hasil dari operasi pada langkah 4 ditukar, XL menjadi XR, dan XR menjadi XL.

7. Lakukan sebanyak 16 kali, perulangan yang ke-16 lakukan lagi proses penukaran XL dan XR.

8. Pada proses ke-17 lakukan operasi untuk XR = XR xor P17, dan XL = XL xor P18.

9. Proses terakhir satukan kembali XL dan XR sehingga menjadi 64-bit

Salah satu operator logika utama yang digunakan pada proses enkripsi algoritma Blowfish adalah operator Exclusive-OR (XOR). Exclusive-OR (XOR) adalah operasi logika pada dua nilai. Hasil operasi akan bernilai BENAR jika tepat salah satu dari kedua variabel bernilai BENAR. Jika tidak, akan memberikan hasil SALAH. Hal ini juga berarti bahwa hasil dari operasi 'XOR' akan bernilai BENAR hanya jika kedua variabel masukan memiliki nilai yang berbeda. Nilai yang sama akan menghasilkan nilai SALAH [8]. Tabel 1 merupakan tabel kebenaran operasi XOR.

Tabel 1 Tabel Kebenaran XOR [8]

p q

F F F F T T T F T T T F

Pada proses enkripsi yang terdapat pada sistem yang dikembangkan ini, semua karakter pesan diubah ke dalam nilai ASCII sebelum dilakukan proses enkripsi. ASCII merupakan singkatan dari American Standard Code for Information Interchange. Komputer hanya dapat memahami nomor, sehingga kode ASCII digunakan sebagai representasi numerik dari karakter seperti 'a' atau '@' atau suatu perintah tertentu [9]. Pada Gambar 2 ditampilkan daftar karakter ASCII termasuk penjelasan dari 32 karakter pertama yang merupakan karakter non-cetak.

(14)

Gambar 2 ASCII Table [9]

3. Metode dan Perancangan Sistem

Penelitian yang dilakukan, diselesaikan melalui tahapan penelitian yang terbagi dalam empat tahapan, yaitu: (1) Identifikasi Masalah, (2) Perancangan sistem, (3) Implementasi sistem, dan (4) Pengujian sistem dan analisis hasil pengujian.

Gambar 3 Tahapan Penelitian [10]

Tahapan penelitian pada Gambar 3, dapat dijelaskan sebagai berikut. Tahap pertama: identifikasi masalah, yaitu mengidentifikasi masalah-masalah yang akan dibahas terkait database honorarium dosen tidak tetap FTI UKSW. Masalah yang ditemukan berupa data honorarium, data yang didapat peneliti bersumber dari salah satu dosen tetap FTI UKSW yaitu ibu M. A. Ineke Pakereng, M.Kom. Data honorarium merupakan data yang bersifat rahasia, karena hanya yang memiliki hak akses yang dapat mengetahuinya, sehingga untuk menyimpannya diperlukan pengamanan data. Solusi yang dikemukakan pada penelitian ini adalah dengan

Identifikasi Masalah, dan Pengumpulan Data

Perancangan Sistem meliputi Perancangan Proses Enkripsi, dan Proses Dekripsi pada Database

Implementasi Sistem

(15)

menyandikan isi dari database honorarium. Detil latar belakang masalah telah dijabarkan pada bagian Pendahuluan. Kemudian mendapatkan data dan literatur yang terkait dengan proses penyandian data yaitu dengan menggunakan teknik kriptografi, yaitu algoritma blowfish. Algoritma blowfish dipilih karena berdasarkan penelitian terdahulu, blowfish memiliki performa yang lebih baik dari algoritma enkripsi yang lain; Tahap kedua: perancangan sistem yang meliputi perancangan database, proses enkripsi pada tabel, dan proses dekripsi pada tabel menggunakan teknik kriptografi blowfish, pada database dalam sistem yang dibangun. Perancangan database termasuk di dalamnya perancangan relasi antar tabel; Tahap ketiga: implementasi sistem, yaitu membuat aplikasi sesuai perancangan proses pada tahap kedua, yaitu misalnya bagaimana aplikasi/program berjalan saat database dienkripsi dan didekripsi kembali; dan Tahap keempat: pengujian sistem dan analisis hasil pengujian, yaitu dilakukan pengujian terhadap kriptosistem yang dibangun, dengan tujuan untuk mengetahui pengaruh enkripsi pada proses yang berjalan di sistem, yaitu waktu yang diperlukan untuk menyimpan dan membaca data, dan juga proses pencarian record di database. Selain itu pengujian juga dilakukan untuk mengetahui pengaruh enkripsi terhadap database, yaitu ukuran field, yang juga berarti ukuran database dan pengaruh terhadap relasi antar tabel.

Perancangan kriptosistem yang dibangun dijelaskan sebagai berikut. Use case diagram digunakan untuk menjelaskan fungsi-fungsi yang bersentuhan langsung dengan pengguna, sedangkan flowchart digunakan untuk menjelaskan proses-proses yang berlangsung dibaliknya.

(16)

Gambar 4 menunjukkan use case diagram sistem, dijelaskan sebagai berikut. Aktor yang menggunakan sistem adalah Operator. Operator berperan untuk mengatur data pada sistem, yaitu data Dosen, data Matakuliah, data Mengajar, dan data Kehadiran Dosen. Keempat use case ini merupakan input untuk sistem. Pada use case pengaturan data Dosen, terdapat extended use case Cetak Laporan Honorarium. Use case ini merupakan output dari sistem.

Rancangan Database dalam sistem informasi honorarium yang dibangun, yang digunakan untuk menyimpan data honorarium memiliki relasi seperti ditampilkan pada Gambar 5. Database honorarium memiliki empat tabel, yaitu tabel dosen menyimpan data dosen tidak tetap, tabel mk menyimpan data matakuliah, tabel mengajar menyimpan data informasi pengajaran tiap dosen, seorang dosen mengampu matakuliah apa saja. Kemudian yang terakhir adalah tabel kehadiran, berfungsi untuk menyimpan informasi kehadiran dosen untuk tiap matakuliah yang diampu oleh dosen. Tabel kehadiran menjadi dasar perhitungan honorarium untuk tiap dosen tidak tetap.

Gambar 5 Relasi Antar Tabel

Rumus perhitungan honor dosen tidak tetap untuk tiap matakuliah, didefinisikan sebagai berikut:

Honor Bruto = (beban tugas x jumlah hadir x Rp. 1,4850,000)/ (12*4) + biaya transport

Honor Netto = Honor Bruto – pph

= Honor Bruto – (Honor Bruto*5%)

Beberapa proses yang terdapat dalam perancangan kriptosistem dijelaskan lebih lanjut sebagai berikut.

(17)

dengan kunci yang tersimpan di aplikasi, 3) Menyimpan cipher data dalam bentuk varbinary ke dalam database. Proses menyimpan data (proses enkripsi database) dalam bentuk flowchart, dapat dilihat pada Gambar 6.

Start

Gambar 6 Proses Enkripsi Database Gambar 7 Proses Dekripsi Database

Proses Menampilkan Data (proses dekripsi database), dijelaskan sebagai berikut.Langkah untuk menampilkan data dari database adalah: 1) Menggunakan perintah SELECT untuk membaca data dari database; 2) Melakukan proses dekripsi dengan kunci yang tersimpan di aplikasi; 3) Hasil dekripsi yang berupa byte array diubah ke dalam bentuk teks. Proses menampilkan data (proses dekripsi database), dalam bentuk flowchart, dapat dilihat pada Gambar 7.

(18)

blok 1 f a k u l t a s blok 2 t e k n o l o blok 3 g i i n f o r blok 4 m a s i \0 \0 \0 \0

padding 4 byte

Gambar 8 Contoh Padding Data

Pada Gambar 8, plain textyang digunakan sebagai contoh adalah “fakultas

teknologi informasi”. Plain text tersebut dipecah ke dalam 4 blok. Pada blok terakhir ditambahkan padding 4 byte. Proses enkripsi data dan proses menyimpan data, dijelaskan pada Contoh 1.

Contoh 1: Proses Enkripsi dan Proses Menyimpan Data

Pada Contoh 1 ini dibahas bagaimana data dari bentuk plain text dienkripsi menjadi cipher text, kemudian disimpan ke dalam database. Pembahasan tidak meliputi proses di balik algoritma blowfish.

Plain text (9 byte):

Proses Penambahan Informasi data Padding, dijelaskan sebagai berikut.

Informasi data padding adalah angka yang menunjukkan banyaknya padding yang ditambahkan pada block terakhir enkripsi. Angka ini berkisar antara 0 sampai dengan 7. 0 berarti tidak ada padding, blok terakhir tepat 8 byte. 7 berarti 7 padding ditambahkan pada blok terakhir, karena blok terakhir hanya berjumlah 1 byte.

Pada Contoh 1, blok terakhir hanya berisi 1 byte yaitu byte bernilai 97 (karakter „a‟). Sehingga jumlah padding yang ditambahkan adalah 7 byte, bernilai 0.

(19)

Kode Program 1: Pseudocode untuk Proses Menyimpan Data

1. Inisialisi KONEKSI

2. Set CIPHER = hasil enkripsi

3. Set SQL = “INSERT INTO dosen (nama) VALUE (cipher)” 4. Eksekusi SQL menggunakan KONEKSI

Disimpan dalam database dengan nilai:

076D7B12D082CE78969C3E635C3682AECE  17 byte

Selisih dengan plain data adalah : 17 – 9 = 8 byte.

Proses dekripsi data dan proses membaca data, dijelaskan pada Contoh 2.

Contoh 2: Proses Membaca dan Proses Dekripsi Data

Untuk menampilkan data, maka langkah yang dilakukan adalah membaca data dari tabel, membaca satu byte pertama sebagai nilai banyaknya padding, melakukan dekripsi byte-byte sisanya, dan terakhir menghilangkan padding.

Proses Membaca Data Dari Database :

Perintah untuk membaca isi tabel dilakukan melalui pseudocode pada Kode Program 2.

Kode Program 2: Pseudocode untuk Proses Membaca Data

1. Inisialisi KONEKSI 2. Set CIPHER = “”

3. Set SQL = “SELECT nama FROM dosen”

4. Set RESULT = hasil eksekusi SQL menggunakan KONEKSI 5. Set CIPHER = baca RESULT kolom “nama”

Proses Membaca byte pertama:

Byte pertama merupakan infomasi banyaknya padding yang ditambahkan. Hasil proses membaca data dari database, diperoleh cipher data sebagai berikut:

07 6D 7B 12 D0 82 CE 78 96 9C 3E 63 5C 36 82 AE CE

Dari plain data, dihapus 7 byte paling belakang, sehingga dihasilkan: 109 97 103 100 97 108 101 110 97

Dari kode ASCII ini diterjemahkan ke dalam karakter ASCII

ASCII byte

value 109 97 103 100 97 108 101 110 97

(20)

4. Hasil dan Pembahasan

Hasil implementasi sistem berdasarkan rancangan sistem, dijelaskan sebagai berikut.

Gambar 9 FormInput Data Dosen

Data dosen dimasukkan dengan menggunakan form seperti ditunjukkan pada Gambar 9. Pada bagian kanan form, terdapat informasi data dosen dalam bentuk cipher text. Data terenkripsi inilah yang akan disimpan dalam database. Hasil penyimpanan dapat dilihat pada Gambar 10. Kotak berwarna merah menunjukkan cipher data, lingkaran berwarna merah menunjukkan panjangnya cipher data. Cipherdata diawali dengan “0x” yang oleh MySQL digunakan untuk menunjukkan data dengan format heksadesimal.

Gambar 10 Data Cipher yang Tersimpan pada Database

Kode Program 3 Perintah Untuk Menyimpan Data Dosen Terenkripsi ke Database

1. byte[] key = Encoding.Default.GetBytes(Koneksi.Kunci); 2. conn.Open();

3. MySqlCommand command = new MySqlCommand(); 4. command.Connection = conn;

5. command.CommandText =

6. "INSERT INTO dosen VALUES (@k, @n, @a);"; 7. command.Parameters.Add("@n",

8. MySqlDbType.VarBinary, 128).Value 9. = BlowfishCipher.Encrypt(

10.Encoding.Default.GetBytes(p.Nama), key); 11....

12.command.ExecuteNonQuery();

(21)

terlebih dahulu (perintah pada baris 9). Kemudian perintah pada baris ke 12, perintah INSERT dieksekusi oleh aplikasi, sehingga data tersimpan ke database. Data kehadiran merupakan inti dari sistem honorarium yang dibuat pada penelitian ini. Pada Gambar 11, ditunjukkan tampilan dari form input data kehadiran dosen. Pada form ini pengguna aplikasi dapat memilih dosen dan matakuliah, kemudian menentukan tanggal-tanggal kehadiran dosen untuk matakuliah yang dipilih. Tampilan Laporan Kehadiran Dosen dan Perhitungan Honorarium, ditunjukkan pada Gambar 12.

Gambar 11 FormInput Data Kehadiran

Gambar 12 Form Laporan Kehadiran Dosen dan Perhitungan Honorarium

(22)

Kode Program 4 Perintah Untuk Membaca Data dari Database

1. byte[] key = Encoding.Default.GetBytes(Koneksi.Kunci); 2. conn.Open();

3. MySqlCommand command = new MySqlCommand(); 4. command.Connection = conn;

5. command.CommandText = "SELECT * FROM dosen;"; 6. MySqlDataReader reader = command.ExecuteReader();

17. Kode = Encoding.Default.GetString(k), 18. Nama = Encoding.Default.GetString(n), 19. Alamat = Encoding.Default.GetString(a) 20.});

21.}

Pengujian yang dilakukan terdiri dari pengujian kecepatan proses simpan, pengujian kecepatan proses membaca data, pengujian kecepatan pencarian data, dan pengujian ukuran data. Pengujian dilakukan pada komputer dengan spesifikasi sebagai berikut:

Sistem Operasi : Windows 8

Prosesor : Intel® Core ™ i5-2410M CPU

@2.30GHz 230GHz

RAM : 8 GB

Kecepatan harddisk : 7200rpm

Pengujian dan analisis hasil pengujian terhadap sistem yang dibangun, dijelaskan sebagai berikut. Pengujian Kecepatan Proses Simpan dilakukan dengan tujuan untuk mengetahui pengaruh enkripsi terhadap kecepatan proses penyimpanan data ke database. Pengujian dilakukan dengan cara mencatat selisih waktu dari proses membaca input, enkripsi, kemudian menyimpan ke database. Hasil pengujian kecepatan proses simpandapat dilihat pada Tabel 2. Selisih dari waktu Tanpa Enkripsi dan waktu Dengan Enkripsi dicatat pada kolom

Perbedaan Waktu Proses. Perbedaan Waktu Proses dengan kata lain merupakan waktu proses enkripsi.

(23)

Analisis hasil pengujian kecepatan proses simpan, dijelaskan sebagai berikut. Seperti dijelaskan pada proses enkripsi database (Gambar 6), pada proses penyimpanan record terjadi proses enkripsi terlebih dahulu dan kemudian proses INSERT. Sehingga waktu total = waktu enkripsi+waktu INSERT. Pada Tabel 2, perbedaan waktu proses diperoleh dari selisih antara waktu proses penyimpanan “tanpa enkripsi” dan “dengan enkripsi”. Rata-rata selisih waktu tiap record adalah 0,0249 detik. Angka ini merupakan waktu yang diperlukan untuk proses enkripsi satu data record.

Banyaknya record yang dapat disimpan untuk database tanpa enkripsi adalah 30 / 1,196 = 25,08 record per detik, dan untuk data terenkripsi adalah 30 / 1,95 = 15,38 record per detik. Kesimpulan yang diperoleh adalah adanya enkripsi, menambah waktu proses sebesar 0,0249 detik untuk tiap record. Hasil pengujian kecepatan proses simpan terkait perbedaan waktu simpan untuk record tanpa enkripsi dan record terenkripsi dalam bentuk grafik ditunjukkan pada Gambar 13.

Gambar 13 Grafik Perbedaan Waktu Simpan

Pengujian Kecepatan Proses Membaca dilakukan dengan tujuan untuk mengetahui pengaruh enkripsi terhadap kecepatan proses membaca data dari database. Pengujian dilakukan dengan cara mencatat selisih waktu dari proses query, dekripsi, kemudian menampilkan pada aplikasi. Hasil pengujian kecepatan proses membaca dapat dilihat pada Tabel 3. Kesimpulan dari hasil pengujian adalah proses enkripsi memberikan tambahan waktu proses. Dimana tambahan waktu proses ini berbanding lurus dengan jumlah record, yang artinya semakin banyak record yang diproses, semakin lama waktu proses dekripsi.

Tabel 3 Hasil Pengujian Kecepatan Proses Membaca Record dari Database

No Jumlah

(24)

rumus perhitungan total waktu = waktu SELECT + waktu dekripsi. Pada Tabel 3, perbedaan waktu proses diperoleh dari selisih antara waktu proses pembacaan data “tanpa dekripsi” dan “dengan enkripsi”. Rata-rata selisih waktu tiap record adalah 0,023 detik. Angka ini merupakan waktu yang diperlukan untuk proses dekripsi satu data record.

Banyaknya record yang dapat dibaca untuk database tanpa enkripsi adalah 30 / 0,902 = 33,25 record per detik, dan untuk database terenkripsi adalah 30 / 1,598 = 18,77 record per detik. Kesimpulan yang diperoleh adalah adanya enkripsi, menambah waktu proses sebesar 0,023 detik untuk menampilkan (membaca) tiap record. Hasil pengujian kecepatan proses membaca terkait perbedaan waktu baca untuk record tanpa enkripsi dan record terenkripsi dalam bentuk grafik ditunjukkan pada Gambar 14.

Gambar 14 Grafik Perbedaan Waktu Baca

Pengujian Ukuran Data dilakukan dengan tujuan untuk mengetahui pengaruh enkripsi terhadap ukuran data. Pengujian dilakukan dengan cara mencatat selisih ukuran plain text dengan cipher text. Hasil pengujian terhadap ukuran data dapat dilihat pada Tabel 4.

Tabel 4 Hasil Pengujian Ukuran Data

(25)

17 7 1 3 25 7

18 6 1 3 25 6

19 5 1 3 25 6

20 4 2 3 26 0

Analisis pengujian terhadap ukuran data, dijelaskan sebagai berikut. Panjang padding dihitung dengan rumus Padding=8-(panjang_plain

MOD 8). Khusus untuk panjang data dengan kelipatan 8 (sebagai contoh 16),

maka tidak ditambahkan padding, karena angka tersebut habis dibagi 8, dan blok paling akhir tepat berukuran 8 byte. Variabel InfoPadding digunakan untuk menyimpan angka yang menunjukkan banyaknya padding (bukan menyimpan padding). Variabel InfoPadding ini memiliki ukuran satu byte. Kesimpulan dari pengujian terhadap ukuran data adalah ukuran cipher text lebih besar dari plain text dengan perbedaan antara satu byte sampai dengan tujuh byte. Hubungan antara ukuran plain text dengan jumlah padding ditunjukkan dalam bentuk grafik pada Gambar 15.

Gambar 15 Grafik Hubungan Panjang Plain data dengan Jumlah Padding

(26)

Gambar 16 Relasi Antar Tabel Database Terenkripsi

Selain analisis relasi antar tabel, juga dilakukan analisis proses pencarian data.Analisis ini dilakukan untuk mengetahui pengaruh enkripsi terhadap perintah pencarian SQL. Secara garis besar perintah pencarian SQL adalah sebagai berikut SELECT [nama field 1, nama field 2, dst]

FROM [nama tabel]

WHERE [kriteria pencarian]

Contoh 3:

SELECT kode, nama, asal FROM dosen WHERE asal=’Salatiga’

Karena isi dari semua field adalah cipher data, maka perintah pada Contoh 3, tidak dapat dilakukan terhadap database terenkripsi.

5.

Simpulan

(27)

dari tabel merupakan data cipher. Saran pengembangan yang dapat diberikan untuk penelitian lebih lanjut adalah sebagai berikut: (1) Pada penelitian ini, proses enkripsi dilakukan pada level aplikasi, artinya proses enkripsi dilakukan oleh sistem yang menggunakan database, bukan oleh database itu sendiri. Saran yang dapat diberikan adalah, proses enkripsi dilakukan pada level database, karena pada sistem database sudah ada beberapa fungsi enkripsi seperti AES dan DES [11]; (2) Untuk memperkecil ukuran data, dapat ditambahkan proses kompresi pada data yang akan disimpan pada database.

6.

Daftar Pustaka

[1] Schneier, B., Kelsey, J., Whiting, D., Wagner, D., Hall C. and Ferguson N. 1999. Performance Comparison of the AES Submissions. NIST: 15-34. [2] Didik, M., Wahyudi, R., 2009. Enkripsi Field Tabel Database dengan

PGP, Yogyakarta: AKPRIND.

[3] Thakur, J., Kumar, N., , 2011. DES, AES and Blowfish: Symetric Key Cryptography Algorithms Simulation Based Performance Analysis. International Journal of Emerging Technology and Advanced Engineering 1(2): 6-12.

[4] Abdillah, L., 2006. Perancangan Basisdata Sistem Informasi Penggajian

(Studi Kasus pada Universitas ‟XYZ‟).Jurnal Ilmiah MATRIK 8 (2):

135-152.

[5] Begg, Carolyn, 2005. Database Systems: A Practical Approach to Design, Implementation, and Management, 4th Edition, Essex: Pearson Education Limited.

[6] Nadeem, Aamer; "A Performance Comparison of Data Encryption Algorithms", IEEE 2005.

[7] Schneier, B. 1994. Description of a New Variable-Length Key, 64-Bit Block Cipher (Blowfish).Springer-Verlag:191-204.

[8] Davies, Robert. 2002. Exclusive OR And Hardware Random Number Generator, www.robertnz.net/pdf/xor2.pdf. Diakses Tanggal 26 Mei 2013. [9] www.lookuptables.com. Diakses Tanggal 26 Mei 2013

[10] Hasibuan, Zainal, A., 2007, Metodologi Penelitian Pada Bidang Ilmu Komputer Dan Teknologi Informasi : Konsep, Teknik, dan Aplikasi, Jakarta: Ilmu Komputer Universitas Indonesia.

[11] MySQL, 2012. MySQL 5.5 Reference Manual: 12.13. Encryption and Compression Functions.

Gambar

Gambar 1  Proses Enkripsi Algoritma Blowfish [7]
Tabel 1 Tabel Kebenaran XOR [8]
Gambar 2 ASCII Table [9]
Gambar 4 Use Case Diagram Sistem
+7

Referensi

Dokumen terkait

Hasil penelitian ini membuktikan bahwa hanya variabel press visibility yang mempunyai pengaruh signifikan terhadap terhadap tingkat pengungkapan informasi akuntansi

Bentuk-bentuk dari ke-7 desain elemen estetis interior berornamen kearifan lokal yang dikembangkan pada Masjid Imaduddin Tancung mengusung konsep dan filosofi

Pembicaraan ini terjadi setahun pra-relokasi atau sebelum penggusuran pedagang kaki lima buku di jalan Semarang dilakukan dengan berbagai gagasan opini yang

Lama pengoperasian mesin thermal fogger yang diizinkan berdasarkan tingkat getaran mekanis didapat setelah mempltokan total percepatan getaran pada nomogram hand

ditan angan gani i ses sesua uai i den dengan gan kea keada daan annya nya sep sepert erti i   ag agres resi!, i!, ta takut, kut, keb keben en"ia "ian,

addition, the theory of justice is also a fundamental theme in the philosophy of Islamic law, particularly in the discussion of maqâs}id al- sharî„ah which

Buah naga merah (Hylocereus polyrhizus) adalah salah satu buah tropis dari keluarga kaktus, Cactaceae. Buah naga merah telah terbukti melindungi aorta dari kerusakan oksidatif

Keuntungan dari menggunakan efek fotovoltaik ( Photovoltaic/PV) untuk menghasilkan energi listrik adalah bersih, tidak menimbulkan suara/hening, usia pakai lama dan