SKRIPSI
PEMBANGUNAN PERANGKAT LUNAK ENKRIPSI DATA UNTUK PENAMBANGAN DATA
Himawan Saputra Utama NPM: 2015730009
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INFORMASI DAN SAINS
UNIVERSITAS KATOLIK PARAHYANGAN
2019
UNDERGRADUATE THESIS
DATA ENCRYPTION SOFTWARE DEVELOPMENT FOR DATA MINING
Himawan Saputra Utama NPM: 2015730009
DEPARTMENT OF INFORMATICS
FACULTY OF INFORMATION TECHNOLOGY AND SCIENCES PARAHYANGAN CATHOLIC UNIVERSITY
2019
LEMBAR PENGESAHAN
PEMBANGUNAN PERANGKAT LUNAK ENKRIPSI DATA UNTUK PENAMBANGAN DATA
Himawan Saputra Utama NPM: 2015730009
Bandung, 16 Mei 2019 Menyetujui, Pembimbing
Mariskha Tri Adithia, P.D.Eng
Ketua Tim Penguji
Pascal Alfadian, M.Comp.
Anggota Tim Penguji
Husnul Hakim, M.T.
Mengetahui, Ketua Program Studi
Mariskha Tri Adithia, P.D.Eng
PERNYATAAN
Dengan ini saya yang bertandatangan di bawah ini menyatakan bahwa skripsi dengan judul:
PEMBANGUNAN PERANGKAT LUNAK ENKRIPSI DATA UNTUK PENAMBANGAN DATA
adalah benar-benar karya saya sendiri, dan saya tidak melakukan penjiplakan atau pengutipan dengan cara-cara yang tidak sesuai dengan etika keilmuan yang berlaku dalam masyarakat keilmuan.
Atas pernyataan ini, saya siap menanggung segala risiko dan sanksi yang dijatuhkan kepada saya, apabila di kemudian hari ditemukan adanya pelanggaran terhadap etika keilmuan dalam karya saya, atau jika ada tuntutan formal atau non-formal dari pihak lain berkaitan dengan keaslian karya saya ini.
Dinyatakan di Bandung, Tanggal 16 Mei 2019
Meterai Rp. 6000 Himawan Saputra Utama
NPM: 2015730009
ABSTRAK
Pada era dijital ini, semakin banyak data dijital yang beredar dalam dunia teknologi. Data tersebut terdiri dari berbagai macam informasi terbuka ataupun rahasia. Salah satu cara untuk menjaga privasi data rahasia adalah dengan melakukan enkripsi. Enkripsi adalah suatu proses perubahan bentuk data sedemikian rupa sehingga hanya dapat dikembalikan ke bentuk asalnya oleh orang-orang tertentu saja.
Namun, teknik enkripsi tersebut menimbulkan masalah baru. Data dijital yang beredar dalam dunia teknologi, bukanlah data yang memiliki fungsi untuk dibaca saja. Data tersebut adalah data mentah yang masih dapat diproses atau masih dapat dilakukan penambangan data.
Dengan menggunakan teknik enkripsi umum, setiap kali data akan diproses, seluruh data harus didekripsi terlebih dahulu. Proses dekripsi ini, adalah proses yang tidak sebentar terutama bila data berukuran sangat besar dan pemrosesan sering dilakukan. Oleh karena itu, timbullah pemikiran teknik enkripsi yang dapat melakukan perhitungan tanpa perlu didekripsi terlebih dahulu.
Penelitian ini bertujuan untuk menganalisis teknik-teknik enkripsi yang ada untuk menyele- saikan masalah tersebut. Terdapat 3 skema enkripsi yang dianalisis pada penelitian ini, yaitu skema Simple XOR,ElGamal homomorphic danOrder Preserving Encryption. Setiap skema ini diimplementasikan dan diuji coba dilakukannya operasi fungsi-fungsi perhitungan dasar dalam penambangan data yaitu, penjumlahan (sum), perkalian (multiply), modus, median, mean, pencarian sebuah nilai dan nilai-nilai dalam interval, serta fungsik-means. Uji coba dilakukan dengan cara mengkeksekusi fungsi-fungsi tersebut pada data asli dan data terenkripsi setiap skema. Hasil pada data terenkripsi kemudian didekripsi menggunakan skema yang bersangkutan dan hasilnya dibandingkan dengan hasil pada data asli.
Dengan skenario pengujian tersebut, berikut adalah hasil pengujian masing-masing skema.
Pada skema Simple XOR, fungsi yang dapat dilakukan dan menghasilkan hasil yang valid adalah fungsi pencarian modus dan pencarian sebuah nilai. Sedangkank-meansmemiliki tingkat kesamaan dengan hasil pada data asli di atas 50%. Pada skemaElGamal, fungsisum,multiply, modus, dan pencarian sebuah nilai dapat dilakukan. Tetapi, fungsi-fungsi tersebut sepenuhnya bergantung pada jenis homomorfik dan faktor acak. Sedangkan untuk fungsik-meansdihasilkan tingkat kesamaan dengan hasil pada data asli hanya sekitar 20% saja.
Terakhir, pada skemaOrder Preserving Encryption, fungsi yang dapat dilakukan adalah fungsi modus, median, pencarian sebuah nilai ataupun nilai-nilai dalam interval. Sedangkan untuk fungsisum dan mean tidak dapat ditentukan, tetapi fungsi penjumlahan beberapa data sebenarnya dapat dilakukan. Untuk fungsik-means dihasilkan tingkat kesamaan antara 50%
hingga 90%.
Berdasarkan hasil tersebut, dapat disimpulkan bahwa operasi fungsi pemrosesan data terenkripsi dapat dilakukan bergantung pada teknik enkripsi yang digunakan. Masing-masing skema dari ketiga skema yang telah diuji coba memiliki kemampuan dan keterbatasannya sendiri.
Namun, skemaOrder Preserving Encryption adalah teknik enkripsi terbaik untuk dilakukannya penambangan data tanpa memerlukan dekripsi terlebih dahulu.
Kata-kata kunci: Enkripsi, Penambangan Data,Simple XOR,ElGamal,Homomorphic Encr- yption,Order Preserving Encryption
ABSTRACT
In the era where everything is digitized, there is a great and still increasing amount of digital data traversing the net. Those data consist of many public and secret informations. One of many techniques in information security which is used to maintain private data secrecy is called encryption. Encryption is the process to encode data in such a way that could only be returned to its original form by specific people.
But, there is a new problem arise from encrypting data. The data from before, are not a read only data. These data are raw data and can be processed further or used for data mining. Using data encryption, every time data are going to be processed, all of the data must be decrypted first. This decryption process is not a quick process. It’s a long process, especially if the amount of data is huge. Because of that problem, arise new ideas on how to do data processing without the need to decrypt all the encrypted data first.
This research is aiming to find such encryption techniques that is able to solve the problem.
There are three encryption scheme found and analyzed, which is Simple XOR encryption scheme, homomorphic attribute in ElGamal scheme, and Order Preserving Encryption. Those three schemes are implemented and a few basic functions in data mining are tested using encrypted data of each scheme.
Sum, multiply, modes, median, mean, search and interval search, and k-means clustering are the test functions. Each of these functions are executed on plain data and encrypted data of each scheme. Results on encrypted data are then decrypted and the results are compared to the results on plain data.
Based on the previously explained testing scenario, here are the test results of each encryption scheme. Using Simple XOR scheme, functions with valid results are modes and searching a value. While k-means resulting in similarity rate with results on plain data above 50%. Using ElGamal scheme, sum, multiply, modes and searching a value resulting a valid results. But those results are dependent to the homomorphic type and random factor of the scheme. While k-means resulting in 20% similarity rate.
Finally, for Order Preseving Encryption scheme, modes, median, searching a or many values in interval have a valid results. For sum and mean functions, can not be determined, but addition of a few data can surely be done and resulting in valid results. While k-means resulting in 50 to 90% similarity rate.
According to the experiment results, it is possible to execute data mining functions over encrypted data without the need to decrypt it first, dependent to the encryption scheme. Each scheme of the 3 tested schemes, has its own ability and limitations. But, among the 3, Order Preserving Encryption is the best scheme for encrypted data processing.
Keywords: Encryption, Data Mining, Simple XOR, ElGamal, Homomorphic Encryption, Order Preserving Encryption
Dipersembahkan untuk Tuhan Yesus Kristus, keluarga tercinta, dosen-dosen, teman-teman seperjuangan, segala pihak yang terlibat
dalam penulisan skripsi ini, serta diri sendiri
KATA PENGANTAR
Puji syukur penulis panjatkan kepada Tuhan Yesus Kristus, karena karunia-Nya sehingga skripsi berjudul "Pembangunan Perangkat Lunak Enkripsi Data untuk Penambangan Data" ini dapat selesai dengan baik. Selama penulisan skripsi ini, penulis banyak menghadapi kendala dan berbagai masalah, namun dengan berbagai dorongan dari lingkungan sekitar penulis, akhirnya skripsi ini dapat diselesaikan penulis. Oleh karena itu, penulis ingin mengungkapkan rasa terima kasih kepada orang-orang disekitar penulis, yaitu:
• Keluarga yang selalu memberikan doa dan dukungan mental serta materiil.
• Ibu Mariskha Tri Adithia selaku pembimbing skripsi yang telah memberikan dukungan, bimbingan serta kesabaran dalam menghadapi penulis selama penulisan skripsi ini.
• Bapak Pascal Alfadian dan Bapak Husnul Hakim selaku penguji yang telah memberikan kritik dan saran yang membuat skripsi ini lebih baik lagi.
• Segenap dosen, staf Tata Usaha, dan Pekarya yang terlibat dalam kegiatan pembelajaran selama penulisan skripsi ini.
• Seluruh teman-teman mahasiswa yang telah memberikan dorongan, masukan dan bantuan dalam penulisan skripsi ini.
• Segenap pihak lain yang ikut terlibat dalam penulisan skripsi ini.
Bandung, Mei 2019
Penulis
xv
DAFTAR ISI
Kata Pengantar xv
Daftar Isi xvii
Daftar Gambar xxi
Daftar Tabel xxiii
1 Pendahuluan 1
1.1 Latar Belakang . . . 1
1.2 Rumusan Masalah . . . 2
1.3 Tujuan . . . 2
1.4 Batasan Masalah . . . 2
1.5 Metodologi . . . 3
1.6 Sistematika Pembahasan . . . 3
2 Landasan Teori 5 2.1 Dasar-dasar Kriptografi [1] . . . 5
2.1.1 Definisi Kriptografi . . . 5
2.1.2 Notasi Umum dalam Kriptografi . . . 5
2.1.3 Jenis-jenis Kriptosistem . . . 6
2.2 Penambangan Data [2] . . . 7
2.2.1 Clustering . . . 7
2.2.2 Aplikasi MATLAB [3] . . . 9
2.3 Simple XOR. . . 9
2.3.1 Skema . . . 9
2.4 Homomorphic Encryption [4] . . . 10
2.5 ElGamal . . . 10
2.5.1 Skema ElGamal. . . 11
2.5.2 Primitive Element . . . 11
2.5.3 Enkripsi . . . 12
2.5.4 Dekripsi . . . 12
2.5.5 Multiplicatively Homomorphic ElGamal . . . 12
2.5.6 Additively Homomorphic ElGamal . . . 13
2.6 Order Preserving Encryption [5]. . . 13
2.6.1 Skema Order Preserving Encryption . . . 13
2.6.2 Persiapan Awal . . . 14
2.6.3 Pemodelan Data . . . 14
2.6.4 Flatten . . . 17
2.6.5 Transform . . . 20
3 Analisis 23 3.1 Identifikasi Masalah . . . 23
xvii
3.2 Dasar-Dasar Kriptografi dan Penambangan Data . . . 23
3.2.1 Kebutuhan Perangkat Lunak Analisis Hasil K-Means. . . 24
3.3 Kebutuhan Basis Data . . . 25
3.4 Analisis Skema Simple XOR. . . 26
3.4.1 Kebutuhan Perangkat Lunak . . . 26
3.4.2 Contoh dan Analisis . . . 27
3.5 Analisis Skema ElGamal . . . 27
3.5.1 Kebutuhan Perangkat Lunak . . . 29
3.5.2 Contoh dan Analisis . . . 30
3.6 Analisis Skema Order Preserving Encryption . . . 32
3.6.1 Kebutuhan Perangkat Lunak . . . 34
3.6.2 Contoh dan Analisis . . . 37
4 Perancangan Perangkat Lunak 41 4.1 Perancangan Basis Data . . . 41
4.2 Perancangan Antarmuka . . . 43
4.3 Perancangan Kelas . . . 47
4.3.1 Package data_mining_dan_enkripsi . . . 48
4.3.2 Package databases . . . 49
4.3.3 Package misc . . . 54
4.3.4 Package simple_xor . . . 58
4.3.5 Package elgamal . . . 62
4.3.6 Package ope . . . 68
4.3.7 Kelas Pembanding Cluster K-Means . . . 82
5 Implementasi dan Pengujian 85 5.1 Implementasi Antarmuka . . . 85
5.2 Rancangan Eksperimen . . . 89
5.2.1 Skenario Pengujian Skema Simple XOR . . . 89
5.2.2 Skenario Pengujian Skema ElGamal . . . 92
5.2.3 Skenario Pengujian Skema Order Preserving Encryption . . . 95
5.3 Pengujian Eksperimen . . . 98
5.3.1 Pengujian Skema Simple XOR . . . 98
5.3.2 Pengujian Skema ElGamal. . . 103
5.3.3 Pengujian Skema Order Preserving Encryption . . . 108
5.3.4 Kesimpulan Pengujian . . . 119
6 Kesimpulan dan Saran 125 6.1 Kesimpulan . . . 125
6.2 Saran . . . 125
Daftar Referensi 127 A Kode Program 129 A.1 Package Data Mining Dan Enkripsi. . . 129
A.2 Package Simple XOR. . . 131
A.3 Package ElGamal . . . 138
A.4 Package OPE . . . 153
A.5 Package Databases . . . 176
A.6 Package Misc . . . 194
A.7 Pembanding K-Means Cluster . . . 199
B Dataset 1 203
xviii
C Dataset 2 205
D Hasil Enkripsi Nilai Simple XOR 209
E Hasil Enkripsi Nilai ElGamal 211
F Hasil Enkripsi Nilai OPE 213
G Hasil Enkripsi Singkatan OPE 215
H Kode MatLab Pengujian K-Means 217
I Hasil Fungsi K-Means Skema Simple XOR 219
J Hasil Fungsi K-Means Skema ElGamal 223
K Hasil Fungsi K-Means Skema Order Preserving Encryption 227
xix
DAFTAR GAMBAR
2.1 Skema Symmetric Key Cryptosystem . . . 6
2.2 Skema Asymmetric Key Cryptosystem . . . 6
2.3 ProsesKnowledge Discovery In Database . . . 7
2.4 Contoh dari fungsicubic spline yang melewati 8 titik . . . 15
2.5 Contoh dari fungsilinear spline terdiri dari 4 persamaan linear . . . 16
2.6 ProsesFlatten danTransform . . . 20
2.7 Skema akhir OPE . . . 21
3.1 Diagram kelas analisis hasil k-means . . . 24
3.2 Diagram aktivitas simple XOR . . . 26
3.3 Diagram kelassimple XOR . . . 27
3.4 Diagram aktivitas ElGamal . . . 28
3.5 Diagram kelasElGamal . . . 29
3.6 Diagram aktivitas order preserving encryption. . . 33
3.7 Diagram kelasorder preserving encryption . . . 34
4.1 Diagram relasional basis data . . . 41
4.2 Rancangan halaman dataset data nilai . . . 44
4.3 Rancangan halaman dataset data singkatan kota . . . 44
4.4 Rancangan halaman utamasimple XOR . . . 45
4.5 Rancangan halaman utamaElGamal . . . 46
4.6 Rancangan halaman utamaorder preserving encryption . . . 47
4.7 Package diagram perangkat lunak . . . 48
4.8 Diagrampackage data_mining_dan_enkripsi . . . 48
4.9 Diagram kelasFXMLDocumentController . . . 49
4.10 Diagrampackage databases . . . 49
4.11 Diagram kelasDBDataNilai . . . 50
4.12 Diagram kelasDBDataNilaiEncryptedSimpleXOR . . . 51
4.13 Diagram kelasDBDataNilaiEncryptedElgamal . . . 51
4.14 Diagram kelasDBdataNilaiEncryptedOPE . . . 52
4.15 Diagram kelasDBDataSingkatanKota . . . 53
4.16 Diagram kelasDBDataSingkatanKotaEncryptedOPE . . . 54
4.17 Diagram kelasRekordDataNilai . . . 55
4.18 Diagram kelasRekordDataNilaiEncryptedXOR . . . 55
4.19 Diagram kelasRekordDataNilaiEncryptedElGamal . . . 56
4.20 Diagram kelasRekordDataNilaiEncryptedOPE . . . 56
4.21 Diagram kelasRekordDataSingkatanKota . . . 57
4.22 Diagram kelasRekordDataSingkatanKotaEncryptedOPE . . . 57
4.23 Diagram kelasGeneralExceptionHandler . . . 57
4.24 Diagram kelasOPEKunciSebuahBucket . . . 58
4.25 Diagram kelasPointInt . . . 58
4.26 Diagrampackage simple_xor . . . 59
4.27 Diagram kelasSimpleXORGUIController . . . 59 xxi
4.28 Diagram kelas SimpleXOR . . . 62
4.29 Diagram package elgamal . . . 62
4.30 Diagram kelas ElGamalGUIController . . . 63
4.31 Diagram kelas ElGamal . . . 67
4.32 Diagram package ope . . . 69
4.33 Diagram kelas OPEGUIController . . . 71
4.34 Diagram kelas OrderPreservingEncryption . . . 72
4.35 Diagram kelas Key . . . 79
4.36 Diagram kelas LinearSplineInterpolation . . . 81
4.37 Diagram kelas Cost . . . 81
4.38 Diagram kelas pembanding cluster k-means . . . 82
5.1 Tampilan halaman utama dataset 1. . . 85
5.2 Tampilan halaman utama dataset 2. . . 86
5.3 Tampilan halaman skema Simple XORyang masih kosong . . . 86
5.4 Tampilan halaman skema Simple XORyang telah terisi . . . 87
5.6 Tampilan halaman skema OPE . . . 88
5.8 Tampilan kesalahan masukan bukan berupa bilangan bulat . . . 88
5.9 Tampilan kesalahan masukan dengan format yang tidak sesuai . . . 88
5.10 Tampilan enkripsi seluruh data selesai . . . 89
5.11 Pengujian enkripsi/dekripsi skema Simple XOR . . . 99
5.12 Pengujian fungsi sum skema Simple XOR . . . 99
5.13 Pengujian fungsi multiply skemaSimple XOR . . . 100
5.14 Pengujian fungsi modus skema Simple XOR . . . 100
5.15 Pengujian fungsi median skema Simple XOR . . . 101
5.16 Pengujian fungsi mean skema Simple XOR . . . 101
5.18 Pengujian fungsi pencarian interval skema Simple XOR . . . 102
5.19 Pengujian enkripsi/dekripsi skema ElGamal . . . 104
5.20 Pengujian fungsi sum skema ElGamal . . . 104
5.21 Pengujian fungsi multiply skemaElGamal . . . 105
5.22 Pengujian fungsi modus skema ElGamal . . . 105
5.23 Pengujian fungsi median skema ElGamal. . . 106
5.24 Pengujian fungsi mean skema ElGamal . . . 106
5.26 Pengujian fungsi range skemaElGamal . . . 107
5.27 Pengujian enkripsi/dekripsi skema OPE . . . 109
5.28 Pengujian enkripsi/dekripsi di luar batas skema OPE . . . 109
5.29 Pengujiansum skemaOPE . . . 110
5.30 Pengujianmultiply skemaOPE . . . 111
5.31 Pengujian modus skema OPE . . . 112
5.32 Pengujian median skema OPE . . . 113
5.33 Pengujian mean skema OPE . . . 114
5.34 Pengujian pencarian data nilai skema OPE . . . 115
5.35 Pengujian pencarian data singkatan skema OPE . . . 116
5.36 Pengujian pencarian data interval skema OPE . . . 117
5.5 Halaman skema ElGamal . . . 121
5.7 Halaman skema OPE yang telah terisi . . . 122
5.17 Pengujian pencarian skema Simple XOR . . . 123
5.25 Pengujian pencarian skema ElGamal . . . 124
xxii
DAFTAR TABEL
2.1 Operasi XOR . . . 10
2.2 VariabelElGamal . . . 11
3.1 Pembuktian salah satuprimitive element untuk 11 adalah 2 . . . 30
3.2 Tabel contoh hasil kuncigrowth phase . . . 37
3.3 Tabel contoh hasil perhitunganscale factor . . . 37
3.4 Kunciflatten akhir . . . 39
4.1 Tabel Data Nilai . . . 42
4.2 Tabel Data Nilai TerenkripsiSimple XOR . . . 42
4.3 Tabel Data Nilai TerenkripsiElGamal . . . 42
4.4 Tabel Data Nilai Terenkripsi OPE . . . 42
4.5 Tabel Data Singkatan Kota . . . 43
4.6 Tabel Data Singkatan Kota TerenkripsiOPE . . . 43
5.1 20 data uji data nilai untuk skemaSimple XOR . . . 90
5.2 20 data uji data nilai untuk skemaElGamal . . . 92
5.3 20 data uji skemaOPE . . . 95
5.4 20 hasil pertamaclustering k-means skemaSimple XOR . . . 102
5.5 20 hasil pertamaclustering k-means skemaElGamal . . . 107
5.6 20 hasil pertamaclustering k-means data nilai skema OPE . . . 117
5.7 20 hasil pertamaclustering k-means data singkatan skemaOPE . . . 118
5.8 Hasil pengujian akhir. . . 120
B.1 Data Nilai Seorang Mahasiswa . . . 203
C.1 Data Singkatan Kota Indonesia . . . 205
D.1 Cipherteks nilai skemaSimple XOR . . . 209
E.1 Cipherteks nilai skemaElGamal . . . 211
F.1 Cipherteks kunci enrkipsi data nilai skemaOPE . . . 213
F.2 Cipherteks nilai skemaOPE . . . 213
G.1 Cipherteks kunci enrkipsi data singkatan skemaOPE . . . 215
G.2 Cipherteks singkatan skemaOPE . . . 216
I.1 Hasil clustering k-means skemaSimple XOR. . . 219
J.1 Hasil clustering k-means skemaElGamal . . . 223
K.1 Hasil clustering k-means data nilai skema OPE . . . 227
K.2 Hasil clustering k-means data singkatan skema OPE . . . 229
xxiii
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Saat ini, kehidupan manusia semakin hari semakin berorientasi kepada teknologi. Dalam kehi- dupan berteknologi terdapat begitu banyak data dijital yang dapat bersifat publik ataupun rahasia.
Maka dari itu, keamanan informasi di era dijital ini seringkali menjadi fokus utama. Keaman- an informasi merupakan sebuah bidang pembelajaran yang secara khusus membahas mengenai kerahasiaan data dan cara untuk menjamin kerahasiaan data. Salah satu cara yang digunakan dalam keamanan informasi adalah dengan melakukan enkripsi terhadap data yang bersifat rahasia.
Teknik pengamanan data dengan cara melakukan enkripsi secara khusus terdapat dalam bidang kriptografi dari keamanan informasi. Enkripsi merupakan proses perubahan bentuk data menjadi bentuk sedemikian rupa sehingga hanya orang-orang tertentu saja yang dapat mengembalikannya ke bentuk aslinya [1]. Proses perubahan bentuk data kembali menjadi data aslinya disebut juga dengan dekripsi.
Data dijital merupakan sekumpulan data yang masih dapat diproses untuk mendapatkan suatu informasi penting. Salah satu bidang yang mempelajari teknik-teknik untuk melakukan ekstraksi informasi penting dari suatu kumpulan data adalah bidang penambangan data. Penambangan data biasanya dilakukan terhadap data yang disimpan dalam suatu mesin yang dimiliki pemilik data.
Tetapi, dengan semakin berkembangnya cloud storage, banyak orang yang menyimpan datanya dalam cloud storageyang dimiliki oleh pihak lain yang dipercaya sang pemilik data. Tujuan utama daricloud storageadalah demi kemudahan akses. Walaupun pihak pemilikcloud storagemerupakan pihak yang dipercaya, tetap saja data yang disimpan dalam cloud storage biasanya berupa data yang tidak dienkripsi. Maka dari itu, keamanan informasi juga menjadi fokus banyak orang dalam menyimpan data dalam cloud storage.
Permasalahan tersebut dapat diselesaikan dengan cara melakukan enkripsi terhadap data terlebih dahulu sebelum disimpan dalam cloud storage. Tetapi, solusi tersebut menimbulkan permasalahan baru, yaitu, setiap kali seseorang akan mengolah data miliknya dalam cloud storage, ia harus pertama-tama mengambil seluruh data miliknya, melakukan dekripsi, lalu akhirnya mengolah data hasil dekripsi tersebut. Proses tersebut merupakan proses yang lama, terutama jika perhitungan sering dilakukan. Maka dari itu, timbullah pemikiran untuk menghilangkan proses tersebut. Salah satu cara yang telah dicetuskan adalah dengan melakukan perhitungan atau penambangan data terhadap data yang masih terenkripsi tanpa perlu dilakukan dekripsi terlebih dahulu.
Terdapat beberapa teknik enkripsi yang dapat diterapkan untuk menyelesaikan permasalahan tersebut. Salah satunya adalah teknik order preserving encryption. Order preserving encryption merupakan suatu teknik enkripsi yang mampu menghasilkan data terenkripsi yang terurut berda- sarkan data aslinya [5]. Keterurutan data ini memungkinkan dilakukannya fungsi-fungsi basis data, seperti fungsi pencarian, sum,indexing, dsb.
Teknik lain yang dapat digunakan adalah teknik homomorphic encryption. Homomorphic encryption adalah teknik enkripsi yang memungkinkan dilakukannya komputasi terhadap data yang terenkripsi [4]. Komputasi tersebut berbentuk suatu fungsi terhadap data terenkripsi. Teknik ini akan menghasilkan hasil komputasi dalam bentuk yang terenkripsi. Hasil komputasi tersebut, jika
1
2 Bab 1. Pendahuluan
didekripsi akan menghasilkan hasil yang sama sebagaimana jika komputasi dilakukan pada data yang tidak terenkripsi.
Selain itu juga, akan diuji coba suatu skema enkripsi sederhana yaitusimple XOR. Skema ini ada- lah skema yang mengenkripsi data menggunakan suatu kunci konstan. Proses dekripsinya pun sama dengan proses enkripsi. Skema sederhana ini juga akan diuji coba dan dianalisis kemungkinannya untuk dilakukan operasi fungsi terhadap hasil enkripsi skema ini.
Pada skripsi ini, akan dibuat sebuah perangkat lunak yang dapat melakukan enkripsi terhadap suatu kumpulan data dan melakukan penambangan data terhadap data terenkripsi tersebut tanpa perlu melakukan dekripsi terlebih dahulu. Teknik order preserving encryption, homomorphic encryption, dan simple XOR encryption adalah teknik yang akan digunakan untuk membangun perangkat lunak. Perangkat lunak yang dibangun berfokus utama untuk melakukan enkripsi data dalam sebuah basis data menggunakan teknik enkripsi yang dipilih dan melakukan operasi penambangan data terhadap data terenkripsi tersebut.
1.2 Rumusan Masalah
Rumusan-rumusan masalah dari skripsi ini adalah sebagai berikut:
1. Bagaimana cara penyiapan data terenkripsi yang siap untuk ditambang?
2. Bagaimana cara melakukan penambangan data terhadap data yang terenkripsi?
3. Bagaimana cara mengimplementasikan teknik order preserving encryption, homomorphic encryption atau simple XOR beserta teknik penambangan data untuk membangun perangkat lunak?
1.3 Tujuan
Berdasarkan pada rumusan masalah, maka berikut adalah tujuan yang ingin dicapai dari skripsi ini, yaitu:
1. Mempelajari teknikorder preserving encryption,homomorphic encryption, dan simple XOR untuk melakukan enkripsi data.
2. Mempelajari penambangan data terhadap data yang terenkripsi.
3. Membangun perangkat lunak yang mengimplementasikan teknik order preserving encryption, homomorphic encryption atau simple XOR beserta teknik penambangan data yang akan digunakan.
1.4 Batasan Masalah
Seperti yang telah disebutkan pada Subbab 1.1, berikut adalah batasan-batasan masalah dari penelitian ini:
• Struktur basis data yang digunakan dalam skripsi ini adalah basis data yang tersimpan secara lokal.
• Seluruh data yang diproses dalam skripsi ini adalah data yang bersifat numerik bilangan bulat atau data yang dapat direpresentasikan sebagai bilangan bulat.
• Penelitian ini berpusat pada apakah operasi fungsi dapat dilakukan terhadap hasil enkripsi, oleh karena itu, kekuatan masing-masing skema tidak akan dianalisis dan bukan merupakan titik berat penelitian ini.
1.5. Metodologi 3
1.5 Metodologi
Metodologi penelitian yang digunakan dalam skripsi ini adalah metodologi eksperimental. Dalam skripsi ini, akan digunakan dan diuji coba teori-teori yang mungkin dapat menyelesaikan masalah dari skripsi ini. Berikut adalah langkah-langkah metodologi penelitian yang dilakukan:
1. Melakukan studi literatur terkait teori-teori yang diperlukan.
2. Mengimplementasikan skema enkripsisimple XOR,ElGamal, danorder preserving encryption.
3. Melakukan eksperimen operasi fungsi penambangan data terhadap data terenkripsi masing- masing skema yang telah diimplementasikan.
1.6 Sistematika Pembahasan
Penelitian ini ditulis dalam beberapa topik pembahasan yang disusun dengan sistematika sebagai berikut:
Bab 1 Pendahuluan
Bab ini menguraikan tentang latar belakang, rumusan masalah, tujuan, batasan masalah, metodologi penelitian, dan sistematika pembahasan.
Bab 2 Landasan Teori
Bab ini menguraikan tentang teori-teori yang digunakan dalam penelitian ini. Bagian ini terdiri dari beberapa bagian, bagian pertama menguraikan tentang dasar-dasar dalam kriptografi. Bagian selanjutnya menjelaskan mengenai dasar dalam penambangan data dan beberapa operasi yang umum dilakukan. Bagian terakhir menguraikan tentang beberapa kriptosistem yang dirasa dapat digunakan dalam penelitian ini, seperti order preserving encryption,homomorphic encryption, dan simple XOR.
Bab 3 Analisis Masalah
Penguraian masalah yang dihadapi, serta menganalisis teori-teori yang dapat digunakan. Menggu- nakan analisis untuk menentukan kebutuhan dasar yang digunakan dalam pembangunan perangkat lunak.
Bab 4 Perancangan Perangkat Lunak
Menguraikan rancangan perangkat lunak untuk mengimplementasikan teori-teori yang digunakan.
Bab 5 Implementasi dan Pengujian
Bab ini akan berisi proses implementasi perangkat lunak berdasarkan analisa dan desain dalam perancangan menggunakan bahasa pemrograman Java ver. 8 dan menggunakan JavaFX untuk tampilan, MySQL ver. 15.1 untuk basis data, serta aplikasi MATLAB R2017b yang digunakan untuk melakukan clustering k-means. Selain itu juga akan dijabarkan mengenai pengujian dari perangkat lunak yang telah dibangun.
Bab 6 Kesimpulan dan Saran
Berisi kesimpulan dan saran dari hasil penelitian ini.