perancangan dan implementasi translucent database ......perancangan dan implementasi translucent...

23
Perancangan dan Implementasi Translucent Database Menggunakan Algoritma Kriptografi Rivest Code 6 (RC6) pada Data Personal Pegawai Sekolah (Studi Kasus: SMA Kristen Payeti Waingapu) Artikel Ilmiah Peneliti: Reinhart Yohanis Sitaniapessy (672008249) Magdalena A. Ineke Pakereng, M.Kom. Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga November 2014

Upload: others

Post on 11-Dec-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Perancangan dan Implementasi Translucent Database ......Perancangan dan Implementasi Translucent Database Menggunakan Algoritma Kriptografi Rivest Code 6 (RC6) pada Data Personal Pegawai

Perancangan dan Implementasi Translucent DatabaseMenggunakan Algoritma Kriptografi Rivest Code 6 (RC6)

pada Data Personal Pegawai Sekolah(Studi Kasus: SMA Kristen Payeti Waingapu)

Artikel Ilmiah

Peneliti:Reinhart Yohanis Sitaniapessy (672008249)

Magdalena A. Ineke Pakereng, M.Kom.

Program Studi Teknik InformatikaFakultas Teknologi Informasi

Universitas Kristen Satya WacanaSalatiga

November 2014

Page 2: Perancangan dan Implementasi Translucent Database ......Perancangan dan Implementasi Translucent Database Menggunakan Algoritma Kriptografi Rivest Code 6 (RC6) pada Data Personal Pegawai

i

Perancangan dan Implementasi Translucent DatabaseMenggunakan Algoritma Kriptografi Rivest Code 6 (RC6)

pada Data Personal Pegawai Sekolah(Studi Kasus: SMA Kristen Payeti Waingapu)

Artikel Ilmiah

Diajukan kepadaFakultas Teknologi Informasi

untuk memperoleh Gelar Sarjana Komputer

Peneliti:Reinhart Yohanis Sitaniapessy (672008249)

Magdalena A. Ineke Pakereng, M.Kom.

Program Studi Teknik InformatikaFakultas Teknologi Informasi

Universitas Kristen Satya WacanaSalatiga

November 2014

Page 3: Perancangan dan Implementasi Translucent Database ......Perancangan dan Implementasi Translucent Database Menggunakan Algoritma Kriptografi Rivest Code 6 (RC6) pada Data Personal Pegawai

ii

Lembar Persetujuan

Page 4: Perancangan dan Implementasi Translucent Database ......Perancangan dan Implementasi Translucent Database Menggunakan Algoritma Kriptografi Rivest Code 6 (RC6) pada Data Personal Pegawai

iii

Page 5: Perancangan dan Implementasi Translucent Database ......Perancangan dan Implementasi Translucent Database Menggunakan Algoritma Kriptografi Rivest Code 6 (RC6) pada Data Personal Pegawai

iv

Page 6: Perancangan dan Implementasi Translucent Database ......Perancangan dan Implementasi Translucent Database Menggunakan Algoritma Kriptografi Rivest Code 6 (RC6) pada Data Personal Pegawai

v

Page 7: Perancangan dan Implementasi Translucent Database ......Perancangan dan Implementasi Translucent Database Menggunakan Algoritma Kriptografi Rivest Code 6 (RC6) pada Data Personal Pegawai

vi

Page 8: Perancangan dan Implementasi Translucent Database ......Perancangan dan Implementasi Translucent Database Menggunakan Algoritma Kriptografi Rivest Code 6 (RC6) pada Data Personal Pegawai

vii

Page 9: Perancangan dan Implementasi Translucent Database ......Perancangan dan Implementasi Translucent Database Menggunakan Algoritma Kriptografi Rivest Code 6 (RC6) pada Data Personal Pegawai

viii

Database Menggunakan Algoritma Kriptografi Rivest Code6 (RC6) pada Data Personal Pegawai SekolahStudi Kasus : SMA Kristen Payeti Waingapu

Reinhart Yohanis Sitaniapessy 1, Magdalena A. Ineke Pakereng 2

Fakultas Teknologi InformasiUniversitas Kristen Satya Wacana

Jl. Diponegoro 52-60, Salatiga 50711, IndonesiaE-mail: [email protected], [email protected]

Abstract

Data security is an integral part of any system that uses the validity and privacy ofdata, especially if it involves a lot of interested parties. The form of data storage in adatabase format is also one of the many forms of data handling is applied. High levels ofefficiency, better data management, extensive support, and of course, a high level of security,are the criteria that need to be owned by a good database program. Translucent databasescan be used as a solution of the problem. Translucent databases is a method for securingpersonal data is to encrypt the original data of employees, thus those who illegally enter thesystem can not determine the original data. This method has several features that can beused, among others, the RC6 encryption algorithm, ignorance, and data stunt. The results ofthis study are an application for data processing school employee, which encode a schoolemployee personal data, so it can provide security in an employee database.

Keywords: Translucent database, RC6, Cryptography

Abstrak

Keamanan data merupakan bagian integral dari setiap sistem yang menggunakanvaliditas dan privacy data, khususnya apabila melibatkan banyak pihak yang berkepentingan.Bentuk penyimpanan data dalam format database juga merupakan salah satu bentukpenanganan data yang banyak diterapkan. Tingkat efisiensi yang tinggi, manajemen datayang baik, dukungan yang luas, dan tentunya, tingkat keamanan yang tinggi, merupakankriteria yang perlu dimiliki oleh program database yang baik. Solusi masalah tersebut adalahmetode translucent database. Metode translucent database adalah metode khusus untukmengamankan data personal. Translucent database dapat menyandikan data asli pegawai,dan pihak yang masuk sistem secara ilegal tidak dapat mengetahui data aslinya. Metode inimemiliki beberapa fitur yang dapat digunakan antara lain yaitu enkripsi menggunakanalgoritma RC6, ignorance, dan stunt data. Hasil dari penelitian ini adalah sebuah aplikasiuntuk mengolah data pegawai sekolah, yang menyandikan data pribadi pegawai sekolah,sehingga dapat memberikan pengamanan dalam database pegawai.

Kata Kunci: Translucent database, RC6, Kriptografi

1 Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas KristenSatya Wacana Salatiga

2 Staf Pengajar Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga

Page 10: Perancangan dan Implementasi Translucent Database ......Perancangan dan Implementasi Translucent Database Menggunakan Algoritma Kriptografi Rivest Code 6 (RC6) pada Data Personal Pegawai

1

1. Pendahuluan

Keamanan data merupakan bagian integral dari setiap sistem yangmengutamakan validitas dan privacy data, khususnya apabila melibatkan banyakpihak yang berkepentingan. Dalam suatu jaringan komputer, umumnya data pentingyang digunakan bersama-sama diletakkan pada suatu komputer pusat yang disebutserver. Server inilah yang kemudian memperoleh perhatian ekstra guna menjaga agardata yang tersimpan di dalamnya tidak rusak, hilang, atau dapat diakses oleh pihakyang tidak berwenang.

Bentuk penyimpanan data dalam format database juga merupakan salah satubentuk penanganan data yang banyak diterapkan. Tingkat efisiensi yang tinggi,manajemen data yang baik, dukungan yang luas, dan tentunya, tingkat keamananyang tinggi, merupakan kriteria yang perlu dimiliki oleh program database yang baik[1].

SMA Kristen Payeti Waingapu menyimpan data sekolah dalam bentuk filespreadsheet (Microsoft Excel). Salah satu data sekolah yang disimpan adalah datapersonal guru dan pegawai sekolah. File tersebut tersimpan pada satu komputer yangdifungsikan sebagai server, dengan tujuan dapat diakses dan digunakan bersama-sama. File pada komputer server tersebut dapat diakses oleh pihak yang memilikihak akses (username dan password) yang terdaftar pada komputer server. Namunketika file tersebut tersalin pada komputer lain, tidak ada jaminan keamanan untukfile tersebut. SMA Kristen Payeti Waingapu dapat memanfaatkan keuntungan yangditawarkan oleh sistem informasi, yaitu sentralisasi data. Server yang dimiliki olehsekolah dapat dimanfaatkan menjadi database server untuk menyimpan data, salahsatunya data pribadi guru dan pegawai sekolah. Tingkat keamanan akan menjadilebih baik, yaitu selain hak akses pada komputer server, juga hak akses pada aplikasidatabase server yang ada pada komputer server tersebut. Namun hal ini juga belumcukup aman, karena ketika harddisk komputer server tersebut dicuri, maka data yangdi dalamnya akan kehilangan perlindungan yang ditawarkan oleh sistem operasiserver [1]. SMA Kristen Payeti Waingapu memiliki masalah keamanan data pada filepersonal guru dan pegawai sekolah, dimana data tersebut dimanipulasi oleh pihakyang tidak memiliki hak akses sehingga data tersebut perlu diamankan.

Solusi masalah tersebut adalah metode translucent database. Metodetranslucent database adalah metode khusus untuk mengamankan data personal[1][2]. Translucent database dapat menyandikan data asli pegawai, dan pihak yangmasuk sistem secara ilegal tidak dapat mengetahui data aslinya. Data asli hanyaterlihat jika administrator sistem yang membuka kunci pengaman data pegawai.

Berkaitan dengan masalah yang ada maka dilakukan penelitian berjudul“Perancangan dan Implementasi Translucent Database Menggunakan AlgoritmaKriptografi Rivest Code 6 (RC6) pada Data Personal Pegawai Sekolah (Studi Kasus:SMA Kristen Payeti Waingapu)”.

2. Tinjauan Pustaka

Pada penelitian berjudul “Translucent databases: A Precursor to PrivacySensitive Databases”, dibahas tentang penerapan translucent database untukmengamankan data personal pada beberapa kasus. Contoh kasus yang pertamaadalah translucent database pada data personal objek penelitian kanker. Konsepmetode translucent database yang diterapkan adalah menggunakan fitur enkripsi satu

Page 11: Perancangan dan Implementasi Translucent Database ......Perancangan dan Implementasi Translucent Database Menggunakan Algoritma Kriptografi Rivest Code 6 (RC6) pada Data Personal Pegawai

2

arah untuk mengamankan data personal. Enkripsi menggunakan algoritma kriptografiMD 5. Peneliti terdahulu memberikan pengaman pada saat data akan disimpan dalamdatabase data personal objek penelitian, sehingga ketika data sudah berada dalamdatabase, maka kondisi data sudah dalam keadaan terenkripsi [3].

Penelitian tentang translucent database yang lain adalah “Perancangan danImplementasi Translucent database Menggunakan Algoritma Kriptografi AES danVigenere pada Data Personal Pegawai Sekolah (Studi Kasus: SMA Sedes SapientiaeSemarang)”. Tujuan penelitian tersebut adalah untuk mengamankan data personalyang tersimpan di database, sehingga terhindar dari penyalahgunaan/pencurianinformasi. Pada penelitian tersebut diterapkan dua algoritma kriptografi untukpengamanan data personal pegawai sekolah. Algoritma tersebut adalah AES danVigenere. Algoritma AES digunakan untuk menyandikan data otentikasi guru danpegawai. Algoritma Vigenere digunakan untuk menyandikan data personal pegawaidan guru. Hasil dari penelitian tersebut adalah sebuah aplikasi translucent databaseuntuk data pegawai SMA Sedes Sapientiae, yang dapat digunakan untukmeningkatkan keamanan penyimpanan data pegawai sekolah [4].

Pada penelitian "Implementation of RC5 and RC6 Block Ciphers on DigitalImages", Mohamed menggunakan RC5 dan RC6 untuk menyandikan citra digital.Penelitian tersebut dipelajari efisiensi dari algoritma RC5 dan RC6, yangdiaplikasikan pada citra digital. Hasil analisis keamanan menunjukkan bahwa RC6lebih aman dari pada RC5 [5].

Berdasarkan penelitian–penelitian terkait translucent database dan algoritmaRC6 maka dilakukan penelitian yang membahas tentang metode translucentdatabase untuk menyimpan data personal menggunakan algoritma kriptografi RC6pada data personal pegawai sekolah, dengan mengambil studi kasus pada SMAKristen Payeti Waingapu. Ketika data akan disimpan, data tersebut dienkripsiterlebih dahulu sehingga data yang masuk ke dalam database merupakan data yangtelah dienkripsi. Hal ini bertujuan untuk memberikan kerangka ide bagi penelitiantranslucent database selanjutnya dan memberikan software bagi SMA Kristen PayetiWaingapu yang dapat membantu menyelesaikan masalah keamanan dalam halpenyimpanan database pegawai.

Penelitian yang dilakukan membahas tentang penerapan translucentdatabase. Translucent database adalah sebuah metode pengamanan database.Pengamanan database sering dilakukan untuk database yang berkaitan dengan datapersonal seseorang, atau sekelompok orang [2]. Peter Wayner dalam bukunya yangberjudul Translucent databases Lite: Confusion, Misdirection, Randomness, Sharing,Authentication And Steganography To Defend Privacy, menjelaskan bahwa istilahtranslucent database memiliki arti bahwa sebagian "cahaya" atau informasidibiarkan untuk dapat dilihat namun tetap menyediakan lapisan keamanan.Translucent database tidak mendefinisikan sebuah cara tertentu, namun merupakanvisi dan tujuan, yang masing-masing bagian di dalamnya dapat berdiri sendiri ataugabungan beberapa di antaranya [6]. Beberapa hal yang merupakan bagian dari visitersebut adalah [6]: (1) Encryption. Translucent database mengamankan data denganone-way functions dan enkripsi, (2) Ignorance. Dalam banyak kasus, data disandikanoleh komputer user, sebelum akhirnya dilewatkan pada jaringan, menuju serverdatabase. Sehingga translucent database tidak pernah melihat informasi sebenarnyayang disembunyikan, (3) Minimization. Translucent database menyamarkaninformasi dengan cara menyimpan seminimal mungkin data yang diperlukan.Sebagai contoh jika kodepos sudah cukup memenuhi kebutuhan, maka tidak perlu

Page 12: Perancangan dan Implementasi Translucent Database ......Perancangan dan Implementasi Translucent Database Menggunakan Algoritma Kriptografi Rivest Code 6 (RC6) pada Data Personal Pegawai

3

menyimpan keseluruhan alamat, (4) Misdirection. Translucent databasemenambahkan data palsu dan mencampurnya dengan data asli. Hanya penggunayang sah yang dapat membedakan data asli dari data palsu, (5) Stunt data.Translucent database dapat mengganti data dengan cipher data hasil enkripsi, (6)Equivalence. Translucent database dapat menyamarkan informasi yang sensitifdengan menggantikannya dengan nilai yang mirip secara fungsional. Sebagai contoh,data tinggi badan seseorang yang berupa angka, dapat diganti dengan nilai seperti"tinggi", "rata-rata", atau "pendek", dan (7) Quantization. Fitur kuantisasi inidigunakan untuk data angka. Penggunaan fitur ini ditunjukkan dengan adanyapenyamaran nilai atau pembulatan nilai, misalnya untuk data titik koordinat. Ketujuhfitur tersebut bukan merupakan definisi yang secara keseluruhan harus dipenuhi olehtranslucent database, dengan kata lain, penggunaan salah satu fitur ataupenggabungan fitur tersebut sudah dapat dikategorikan sebagai translucent database[6].

Translucent database ketika diterapkan dalam sebuah database memilikibeberapa keuntungan. Keuntungan translucent database antara lain [2]: (1) Lebihaman. Translucent database dapat membuat sistem menjadi lebih aman. Bahkan jikapenyusup dapat lolos dalam lapisan keamanan password, data personal tetap tidakbisa dicuri, karena pengamanan langsung diberikan pada data sasaran. Bentukpengamanannya antara lain dapat mengacak data, mengganti data asli dengan datayang disandikan, atau bisa juga menampilkan data dalam sesuatu yang khusus,seperti pengkategorian kelompok data, (2) Lebih privasi. Translucent databasebanyak berguna bagi organisasi, karena anggota organisasi data personalnya jadilebih privasi. Hal ini karena hanya si pemilik data saja yang dapat mengakses data.Translucent database dapat mengurangi adanya penyalahgunaan privasi seseorangatau sekelompok orang, (3) Bebas. Translucent database dapat mengurangi jumlahdata yang terlihat dalam sebuah informasi. Penyamaran data personal dapatmengurangi rasa ingin tahu orang lain, misalnya dalam sistem informasi pelayananpos hanya menampilkan data nama pelanggan, dan kode pos yang berkaitan,sedangkan untuk data yang lain diberi pengamanan khusus. Jika ada sebuahpenyajian informasi yang memakai translucent database, dapat membebaskan datatersebut dari rasa ingin tahu orang lain, (4) Cepat. Translucent database yangdiimplementasikan dalam sebuah sistem tidak mengurangi kecepatan kinerjanya.Penerapan translucent database dapat memperingan dan mempercepat upayapengamanan data dalam sistem. Fitur-fitur yang dimiliki oleh translucent databasedapat digabungkan satu sama lain, untuk dapat meminimalkan terjadinya hambatankarena adanya sebuah pengamanan pada system, dan (5) Fleksibel. Translucentdatabase dapat memberikan fleksibilitas pada sistem. Pengamanan data yangdirancang dapat disesuaikan kebutuhan pemilik dan pengguna sistem. Pengamanandapat diberikan pada saat data akan disimpan dalam database. Pengamanan jugadapat diberikan pada saat data sudah banyak tersimpan, sehingga menggunakansebuah sistem tambahan yang berfungsi sebagai pengaman data.

Pada penelitian ini digunakan algoritma RC6 sebagai algoritma untuk prosesenkripsi dan dekripsi data. Algoritma RC6 [7] adalah versi yang dilengkapi denganbeberapa parameter, sehingga dituliskan sebagai RC6-w/r/b, dimana parameter wmerupakan ukuran kata dalam satuan bit, r adalah bilangan bulat bukan negatif yangmenunjukkan banyaknya iterasi selama proses enkripsi, dan b menunjukkan ukurankunci enkripsi dalam byte. Ketika algoritma ini masuk sebagai kandidat AES, makaditetapkan nilai parameter w = 32, r = 20 dan b bervariasi antara 16, 24, dan 32 byte.

Page 13: Perancangan dan Implementasi Translucent Database ......Perancangan dan Implementasi Translucent Database Menggunakan Algoritma Kriptografi Rivest Code 6 (RC6) pada Data Personal Pegawai

4

RC6-w/r/b memecah block 128 bit menjadi 4 buah block 32 bit, dan mengikuti enamaturan operasi dasar sebagai berikut :

A + B Operasi penjumlahan bilangan integer.A – B Operasi pengurangan bilangan integer.A B Operasi exclusive-OR (XOR).A x B Operasi perkalian bilangan integer.A<<<B A dirotasikan ke kiri sebanyak variabel kedua (B)A>>>B A dirotasikan ke kanan sebanyak variabel kedua (B)

RC6 memecah block 128 bit menjadi 4 buah block 32 bit, maka algoritma inibekerja dengan 4 buah register 32-bit A, B, C, dan D. Byte yang pertama dariplaintext atau ciphertext ditempatkan pada byte A, sedangkan byte yang terakhirnyaditempatkan pada byte D. Dalam prosesnya akan didapatkan (A, B, C, D) = (B, C, D,A) yang diartikan bahwa nilai yang terletak pada sisi kanan berasal dari register disisi kiri.

Gambar 1 Diagram Proses Enkripsi RC6 [7]Proses dekripsi ciphertext pada algoritma RC6 merupakan pembalikan dari

proses enkripsi. Pada proses whitening, bila proses enkripsi menggunakan operasipenjumlahan, maka pada proses dekripsi menggunakan operasi pengurangan. Subkunci yang digunakan pada proses whitening, setelah iterasi terakhir diterapkansebelum iterasi pertama, begitu juga sebaliknya sub kunci yang diterapkan padaproses whitening, sebelum iterasi pertama digunakan pada whitening setelah iterasiterakhir. Pada proses dekripsi, hal yang harus dilakukan adalah menerapkanalgoritma yang sama dengan proses enkripsi, dengan tiap iterasi menggunakan subkunci yang sama dengan yang digunakan pada saat enkripsi, hanya saja urutan subkunci yang digunakan terbalik.

Page 14: Perancangan dan Implementasi Translucent Database ......Perancangan dan Implementasi Translucent Database Menggunakan Algoritma Kriptografi Rivest Code 6 (RC6) pada Data Personal Pegawai

5

Gambar 2 Diagram Proses Dekripsi RC6 [7]

RC6 jika dibandingkan dengan Rijndael dalam hal keceptan enkripsi sedikitlebih lambat tetapi dalam hal ini tidak menggangu hasil penelitian yang dibangun.

3. Metode dan Perancangan Sistem

Penelitian yang dilakukan, diselesaikan melalui tahapan penelitian yangterbagi dalam empat tahapan, yaitu: (1) Identifikasi masalah dan studi literatur, (2)Perancangan sistem, (3) Implementasi sistem, dan (4) Pengujian sistem dan analisishasil pengujian.

Gambar 3 Tahapan Penelitian

Tahapan penelitian pada Gambar 3, dapat dijelaskan sebagai berikut. Tahappertama: identifikasi masalah, yaitu mengidentifikasi masalah-masalah yang akandibahas, serta mendapatkan data dan literatur yang terkait dengan metode translucentdatabase dan kriptografi RC6 untuk proses pengamanan data personal pegawai danguru, dan memberikan pengamanan dalam lapisan aplikasi, sehingga hanya guru danpegawai yang mengetahui password saja yang dapat mengakses data personalpegawai; Tahap kedua: perancangan sistem yang meliputi perekayasaan perangkatlunak menggunakan sebuah bahasa pemodelan sistem, yaitu UML (Unified ModelingLanguage), perancangan basis data yang meliputi tabel data autentikasi dan tabeldata pegawai dan perancangan antarmuka sistem, dalam sistem yang akan dibangun;Tahap ketiga: implementasi sistem, yaitu membuat aplikasi sesuai perancanganproses pada tahap kedua; dan Tahap keempat: pengujian sistem dan analisis hasil

Identifikasi Masalah dan Studi Literatur

Perancangan Sistem meliputi Perekayasaan PerangkatLunak, Perancangan Basis data dan Perancangan

Antarmuka Sistem

Implementasi Sistem

Pengujian Sistem dan Analisis Hasil Pengujian

Page 15: Perancangan dan Implementasi Translucent Database ......Perancangan dan Implementasi Translucent Database Menggunakan Algoritma Kriptografi Rivest Code 6 (RC6) pada Data Personal Pegawai

6

pengujian, yaitu dilakukan pengujian terhadap aplikasi penyimpan data yangdigunakan untuk tempat pegawai menyimpan data personal, dan aplikasi pengamandata, serta melihat hasil yang diberikan apakah sudah sesuai dengan konseptranslucent database menggunakan kriptografi RC6.

Berdasarkan analisis kebutuhan sistem yang didapat, maka dalam penelitianini dilakukan implementasi translucent database pada sistem database pegawaisekolah. Fitur dari metode translucent database yang digunakan adalah fiturencryption, ignorence dan stunt data.

Proses utama dalam sistem yaitu pada saat pegawai melakukan registrasiuntuk mendaftarkan data personalnya ke dalam database. Proses ini digambarkandalam bentuk flowchart pada Gambar 4.

Gambar 4 Skema Proses Penyimpanan Data Personal Pegawai

Gambar 4 menunjukkan proses penyimpanan data personal pegawai yangdimulai dengan pegawai melakukan registrasi dengan memasukkan NIK danpassword untuk pengamanan data pada saat login pegawai. NIK dan password secaraotomatis akan masuk ke dalam database. Password yang masuk ke dalam databaseberupa data enkripsi karena telah dienkripsi tanpa sepengetahuan admin dan pemilikpassword tersebut. Setelah selesai mengisi NIK dan password, pegawai mengisi datadirinya kemudian disimpan tetapi sebelum disimpan pengguna harus terlebih dahulu

Page 16: Perancangan dan Implementasi Translucent Database ......Perancangan dan Implementasi Translucent Database Menggunakan Algoritma Kriptografi Rivest Code 6 (RC6) pada Data Personal Pegawai

7

mengenkripsi data tersebut agar data yang disimpan di dalam database terenkripsi.Enkripsi tersebut menggunakan algoritma RC6. Kemudian keluar untukmengakhirinya.

Perancangan proses pada sistem yang dibangun menggunakan diagram UML,yaitu Use-Case Diagram, Activity Diagram dan Class Diagram. Use case diagramdigunakan untuk menjelaskan fungsi-fungsi yang bersentuhan langsung denganpengguna.

fungsi pegawai

fungsi kepala sekolah

fungsi admin

admin

manage database registrasi

pegawai

edit data personal

kepala sekolah

melihat semua data personalpegawai

user

login

Gambar 5 Use Case Diagram Sistem

Gambar 5 menunjukkan use case diagram sistem, dijelaskan sebagai berikut.Terdapat tiga aktor yang menggunakan sistem. Aktor pertama yaitu pegawai yangmemiliki hak akses melakukan registrasi dan mengedit data personal miliknya. Aktorkedua yaitu admin yang bertugas untuk memanage database. Aktor ketiga yaitukepala sekolah yang bertanggung jawab atas semua data personal pegawai sekolahdan memiliki hak akses untuk melihat semua data personal pegawai sekolah tersebut.

Page 17: Perancangan dan Implementasi Translucent Database ......Perancangan dan Implementasi Translucent Database Menggunakan Algoritma Kriptografi Rivest Code 6 (RC6) pada Data Personal Pegawai

8

Gambar 6 Activity Diagram Pencatatan Data Pribadi Guru dan PegawaiGambar 6 menunjukkan activity diagram sistem untuk proses pencatatan data

pribadi guru dan pegawai. Proses dimulai oleh administrasi, dengan melakukanpendataan data login tiap-tiap guru dan pegawai sekolah. Kemudian denganmenggunakan data login, masing-masing guru dan pegawai memasukkan datapribadinya. Tiap guru dan pegawai dapat melakukan perubahan terhadap data yangdimilikinya. Administrator dapat melakukan proses cetak data guru dan pegawai.

Gambar 7 Class Diagram Sistem

Gambar 7 merupakan rancangan class diagram, yang menjadi dasar daridesain database pada sistem. Class Pribadi merupakan representasi dari data pribadi

Page 18: Perancangan dan Implementasi Translucent Database ......Perancangan dan Implementasi Translucent Database Menggunakan Algoritma Kriptografi Rivest Code 6 (RC6) pada Data Personal Pegawai

9

guru dan pegawai. Class ini sekaligus representasi dari tabel pribadi. Tabel tersebutmerupakan satu dari dua tabel yang terenkripsi. Tabel terenkripsi yang kedua adalahtabel PegawaiLogin, yang diwakili oleh class PegawaiLogin pada desain classdiagram. User menggunakan informasi dari tabel Pegawai melalui antarmukaPribadiUI, kemudian dijembatani oleh PegawaiController. Demikian pula antaraantarmuka PegawaiLoginUI dijembatani oleh PegawaiLoginController untukberkomunikasi dengan class PegawaiLogin.

4. Hasil dan Pembahasan

Hasil implementasi sistem berdasarkan rancangan sistem dijelaskan sebagaiberikut. Fitur dari metode translucent database yang digunakan adalah fiturencryption, ignorence dan stunt data. Penggunaan fitur dijelaskan sebagai berikut:(1) Fitur Encryption. Sistem menggunakan algoritma kriptografi RC6 untukmenyandikan informasi yang tersimpan pada tabel di database. Terdapat dua prosesenkripsi untuk dua tabel. Tabel login pegawai berisi informasi NIK dan passwordtiap pegawai. Isi pada tabel tersebut dienkripsi dengan menggunakan kunci utama(master key). Kunci tersebut tersimpan di dalam aplikasi. Tabel kedua adalah tabelpribadi pegawai yang berisi informasi data pribadi masing-masing pegawai. Isi daritabel tersebut dienkripsi dengan menggunakan password pegawai, yang tersimpan didalam tabel login pegawai; (2) Fitur Ignorance. Fitur ignorance yang memiliki artibahwa sistem database tidak peduli apakah data yang disimpan berupa data plainatau data cipher. Hal ini dicapai dengan cara melakukan proses enkripsi dan dekripsipada bagian aplikasi, dan bukan pada bagian database, dengan kata lain, datadienkripsi oleh aplikasi sebelum dikirimkan ke sistem database. Demikian pulaketika akan digunakan, data diperoleh dari sistem database, kemudian didekripsi olehaplikasi. Sistem database tidak perlu mengetahui (ignore) cara ataupun format daridata yang disimpannya; dan (3) Fitur Stunt Data. Fitur ini merupakan implikasi darifitur encryption. Fitur stunt data berarti mengganti informasi dalam tabel, dengandata cipher hasil enkripsi. Fitur minimization tidak dapat digunakan, karena datayang disimpan harus detail, contohnya adalah alamat. Fitur misdirection tidak dapatdigunakan karena selain pengguna yang sah, administrator juga berhak dan perluuntuk melihat data asli. Fitur equivalence dan quantization tidak digunakan karenadata yang disimpan bukan merupakan data angka dengan rentang nilai, seperticontohnya adalah data tinggi badan, berat badan, dan koordinat

Gambar 8 Form Login

Page 19: Perancangan dan Implementasi Translucent Database ......Perancangan dan Implementasi Translucent Database Menggunakan Algoritma Kriptografi Rivest Code 6 (RC6) pada Data Personal Pegawai

10

Gambar 8 merupakan antarmuka form login dimana pegawai harus terlebihdulu melakukan registrasi untuk mengisi data personal pribadinya dengan caramemasukkan NIK / KTP dan password.

Gambar 9 Form Data Pribadi Pegawai Sebelum Enkripsi

Gambar 9 merupakan antarmuka form data pribadi pegawai sebelum danGambar 10 sesudah proses enkripsi. Setelah berhasil melakukan registrasi maka akanmuncul form data pribadi pegawai yang kemudian pegawai tersebut mengisi datapribadi dirinya. Sebelum disimpan ke dalam database pegawai harus mengenkripsidata pribadi dirinya dengan cara mencentang tanda encrypt data, jika tanda tersebuttidak dicentang maka data tidak dapat disimpan.

Gambar 10 Form Data Pribadi Pegawai Sesudah Proses Enkripsi

Fitur Encryption ditunjukkan pada Kode Program 1. Enkripsi dan dekripsidilakukan dengan menggunakan algoritma RC6.

Page 20: Perancangan dan Implementasi Translucent Database ......Perancangan dan Implementasi Translucent Database Menggunakan Algoritma Kriptografi Rivest Code 6 (RC6) pada Data Personal Pegawai

11

Kode Program 1 Perintah Untuk Proses Enkripsi dan Dekripsi Menggunakan RC61. public static byte[] Encrypt(byte[] v, byte[] k)2. {3. byte[] kfull = new byte[16];4. Array.Copy(k, 0, kfull, 0, k.Length5. < kfull.Length ? k.Length : kfull.Length);6. byte[] plain = AddPadding(v);7.8. RC6 e = new RC6(kfull, true);9. byte[] buffer = new byte[plain.Length];10. for (int i = 0; i < plain.Length; i += BlockSize)11. {12. e.Transform(plain, i, buffer, i);13. }14. return buffer;15. }16.17. public static byte[] Decrypt(byte[] v, byte[] k)18. {19. byte[] kfull = new byte[16];20. Array.Copy(k, 0, kfull, 0, k.Length21. < kfull.Length ? k.Length : kfull.Length);22. RC6 d = new RC6(kfull, false);23. byte[] buffer = new byte[v.Length];24. for (int i = 0; i < v.Length; i += BlockSize)25. {26. d.Transform(v, i, buffer, i);27. }28. return RemovePadding(buffer);29. }

Kode Program 1 menunjukkan perintah untuk dua fungsi kriptografi, yaituproses enkripsi dan dekripsi. Algoritma RC6 merupakan block cipher, sehingga dataperlu dikelompokkan ke dalam blok-blok dengan ukuran 16 byte (baris 3). Data yangberjumlah kurang dari 16 byte, dilakukan proses padding (baris 6) untuk tiap blok,baru kemudian dilakukan proses enkripsi (baris 10-13) ataupun dekripsi (baris 24-27).

Fitur Ignorance pada sistem ditunjukkan pada Kode Program 2. FiturIgnorance pada aplikasi ini berada pada bagian aplikasi, yang berarti aplikasibertugas menyandikan data sebelum diteruskan ke sistem database untuk disimpan.Kode Program 2 Perintah untuk Proses Enkripsi Data Sebelum Disimpan ke Database

1. internal static void Insert(PegawaiLogin p)2. {3. PegawaiLogin cipher = p.Encrypt();4. using (MySqlConnection conn = new MySqlConnection(Connection.Koneksi))5. {6. conn.Open();7. var command = conn.CreateCommand();8. command.Connection = conn;9. command.CommandText =10. "INSERT INTO pegawai_login VALUES (@nik, @pwd, @level)";11. command.Parameters.Add(12. "@nik", MySqlDbType.VarChar).Value = cipher.NIK;13. command.Parameters.Add(14. "@pwd", MySqlDbType.VarChar).Value = cipher.Password;15. command.Parameters.Add(16. "@level", MySqlDbType.VarChar).Value = cipher.Level;17. command.ExecuteNonQuery();18. }19. }20.21. internal PegawaiLogin Encrypt()22. {23. PegawaiLogin p = new PegawaiLogin();24. p.NIK = this.NIK;25. p.Password = RC6Wrapper.EncryptString(26. this.Password, MasterKey.KEY);27. p.Level = RC6Wrapper.EncryptString(28. this.Level, MasterKey.KEY);29. return p;30. }

Page 21: Perancangan dan Implementasi Translucent Database ......Perancangan dan Implementasi Translucent Database Menggunakan Algoritma Kriptografi Rivest Code 6 (RC6) pada Data Personal Pegawai

12

Kode Program 2 menunjukkan perintah untuk enkripsi data sebelum disimpanke database, yaitu perintah enkripsi untuk tabel PegawaiLogin. Sebelum disimpan,data dienkripsi dengan menggunakan master key (perintah pada baris 21-29).Kemudian hasil enkripsi disimpan ke dalam tabel pegawai_login (perintah pada baris4-17).

Fitur Stunt Data dapat ditunjukkan pada tabel di database, yaitu berupaciphertext yang tersimpan pada tabel pribadi maupun pegawai_login. Pada Gambar11 ditunjukkan stunt data pada tabel pribadi dengan pengecualian yaitu nomor indukkaryawan (NIK) karena merupakan primary key untuk tabel pribadi.

Gambar 11 Hasil Penggunaan Fitur Stunt Data

Pengujian sistem dilakukan untuk menguji fungsi-fungsi aplikasi hasilimplementasi. Pengujian ini dilakukan untuk mengkaji fitur translucent databaseyang digunakan. Ada tiga fitur yang digunakan dari tujuh fitur translucent databaseyang ada. Fitur yang digunakan yaitu fitur encryption, ignorance, dan stunt datamerupakan translucent database. Pengujian fitur dilakukan oleh pengembangaplikasi. Selain pengujian fitur translucent database, juga dilakukan pengujianresponden yang dilakukan oleh user.

Tabel 1 Hasil Pengujian Pengembang AplikasiNo Fitur Translucent

DatabaseHasil Pengujian Kesimpulan

1 Encryption Fitur encryption ditunjukkandengan adanya algoritma RC6,yang menyandikan data pribadipegawai dan data login pegawai.(Kode Program 1)

Berhasil

2 Ignorance Proses enkripsi dan dekripsidilakukan pada sisi aplikasi. Datayang dilewatkan di antara aplikasidan sistem database merupakandata cipher.(Kode Program 2)

Berhasil

3 Stunt Data Data yang disimpan di dalamtabel pribadi pegawai dan datalogin pegawai merupakan datacipher.(Gambar 11

Berhasil

Pengujian pada user, yang dilakukan oleh pegawai, untuk mengetahui respondari pengguna terhadap sistem yang telah dikembangkan. Hasil pengujianditunjukkan pada Tabel 2. Responden berjumlah 3 orang terdiri dari seorang gurukomputer, pegawai sekolah yang merupakan seorang admin, dan kepala sekolah.

Page 22: Perancangan dan Implementasi Translucent Database ......Perancangan dan Implementasi Translucent Database Menggunakan Algoritma Kriptografi Rivest Code 6 (RC6) pada Data Personal Pegawai

13

Tabel 2 Hasil Pengujian RespondenNo Materi Pengujian Hasil Pengujian

1 Kemudahan penggunaan aplikasi. 3 Responden menyatakan bahwa aplikasiSANGAT MUDAH digunakan karenasusunannya mirip dengan FORMULIR DATAGURU DAN PENGAWAS JENJANGPENDIDIKAN MENENGAH.

2 Kejelasan informasi yangditampilkan dalam aplikasi

3 Responden menyatakan bahwa informasi yangditampilkan SANGAT JELAS. Istilah yangdigunakan familiar.

3 Keamanan data pribadi 3 Responden menyatakan bahwa merasaSANGAT PERCAYA dengan tingkat keamananyang disediakan oleh aplikasi.

Berdasarkan hasil pengujian 3 responden, disimpulkan bahwa aplikasi mudahdigunakan, menampilkan informasi yang jelas, dan memberikan dukungan keamananterhadap data yang disimpan.

5. Simpulan

Berdasarkan perancangan dan implementasi translucent database pada datapegawai SMA Kristen Payeti Waingapu, diperoleh kesimpulan bahwa metodetranslucent database dapat digunakan untuk membuat data pegawai sekolahtersimpan dengan lebih aman. Penggunaan fitur translucent database pada datapegawai sekolah adalah fitur encryption, ignorance, dan stunt data. Penggunaan fiturtersebut sudah dapat dikategorikan translucent database. Hasil pengujian usermenunjukkan bahwa aplikasi mudah digunakan, menampilkan informasi yang jelas,dan memberikan dukungan keamanan terhadap data yang disimpan. Saran yangdapat diberikan untuk penelitian dan pengembangan lebih lanjut adalah: (1) FiturMisdirection dapat diimplementasikan sebagai tambahan keamanan. Fitur ini akanmemberikan kendali keamanan kepada pemilik data secara penuh. Keuntungan yangjuga merupakan kelemahaan yaitu hanya pemilik data yang mengetahui datasebenarnya. Kelemahan yang lain adalah tabel akan menjadi lebih besar daripadaseharusnya, karena menyimpan data-data palsu yang digunakan untuk mengecoh(misdirect) pihak yang tidak memiliki hak akses.

6. Daftar Pustaka

[1]. Wayner, P. 2009. Disappearing cryptography: Information hiding:Steganography & watermarking. 3rd edn. Burlington: Morgan Kaufmann.

[2]. Wayner, P. 2009. Translucent databases 2nd Edition: Confusion,misdirection, randomness, sharing, authentication and steganography todefend privacy. CreateSpace.

[3]. Bhattacharya, P. & Karyar, M. 2004. Translucent databases: A Precursor toPrivacy Sensitive Databases. CSCI E170- Security, Privacy, and Usability,Fall

[4]. Simanungkalit, A. V. H., Pakereng, M. A. I. & Beeh, Y. R. 2010.Perancangan dan Implementasi Translucent database menggunakanAlgoritma Kriptografi AES dan Vigenere pada Data Personal Pegawai

Page 23: Perancangan dan Implementasi Translucent Database ......Perancangan dan Implementasi Translucent Database Menggunakan Algoritma Kriptografi Rivest Code 6 (RC6) pada Data Personal Pegawai

14

Sekolah (Studi Kasus : SMA Sedes Sapientiae Semarang). Skripsi. FakultasTeknologi Informasi Universitas Kristen Satya Wacana

[5]. Mohamed, A. B., Zaibi, G. & Kachouri, A. 2011. Implementation of RC5 andRC6 block ciphers on digital images. In Systems, Signals and Devices (SSD),2011 8th International Multi-Conference on, pp. 1–6.

[6]. Wayner, P. 2009. Translucent databases Lite: Confusion, misdirection,randomness, sharing, authentication and steganography to defend privacy.CreateSpace.

[7]. Rivest, R., Robshaw, M. J. B., Sidney, R. & Yin, Y. L. 1998. The RC6 BlockCipher. in First Advanced Encryption.