Abstract:
Pada zaman big data dihasilkan data yang berukuran sangat besar dengan sangat cepat. Hal
ini menyebabkan beberapa masalah yaitu privasi data dan kebutuhan untuk menganalisis data
yang dihasilkan. Privasi data merupakan hal yang harus diperhatikan agar pihak yang tidak
berwenang tidak dapat mengakses data. Selain itu terdapat kepentingan untuk dapat mengolah
data yang berukuran sangat besar agar dapat dicari pengetahuan dari data tersebut.
Oleh sebab itu diperlukan sebuah metode untuk melindungi privasi data tersebut dari pihak
yang tidak berwenang. Salah satu metode untuk melindungi data adalah dengan menggunakan
enkripsi. Namun penggunaan algoritma enkripsi pada umumnya tidak terlalu tepat untuk
dilakukan untuk data yang berukuran sangat besar. Hal ini disebabkan oleh kebutuhan untuk
mendapatkan pengetahuan dari hasil enkripsi tanpa perlu didekripsi. Salah satu algoritma
yang dapat digunakan adalah Order Preserving Encryption. Algoritma ini menjaga keterurutan
ciphertext sesuai dengan plaintext.
Pada zaman big data, sudah tidak tepat untuk dilakukan penambangan data dengan menggunakan
cara tradisional. Volume data yang besar dan pertumbuhan data yang cepat tidak dapat
diproses menggunakan framework pada umumnya. Untuk menghadapi masalah tersebut maka
diperlukan framework Spark yang memungkinan proses komputasi paralel dalam melakukan
penambangan data.
Oleh sebab itu penelitian ini dilakukan untuk mengimplementasikan algoritma Order Preserving
Encryption pada Spark dan juga menguji hasil penambangan data dengan mencari nilai
mean, median, modus, dan clustering dengan menggunakan Spark.
Berdasarkan pengujian yang dilakukan didapatkan bahwa algoritma Order Preserving Encryption
dapat melakukan enkripsi dengan menggunakan kunci yang sudah pernah dibuat
sebelumnya. Artinya proses enkripsi dapat dilakukan dengan benar walaupun terjadi penambahan
ukuran data. Namun proses enkripsi bisa menjadi salah bila data baru terdapat nilai yang
berada di luar dari jangkauan kunci.
Kemudian dari penambangan data sederhana yang menggunakan mean, median, dan modus
didapatkan bahwa hasil ciphertext yang memanfaatkan keterurutan dan kemunculan elemen
dapat langsung dicari hasilnya tanpa perlu dilakukan dekripsi. Namun pada saat menghitung
nilai mean, ciphertext tidak dapat menghasilkan nilai yang benar. Oleh sebab itu perhitungan
nilai mean tidak dapat langsung dilakukan penambangan data, karena nilai perhitungannya
dilakukan antar bucket sehingga nilai perhitungannya tidak konsisten.
Pada pengujian hasil clustering dengan K-means didapatkan bahwa proses pemberian label
tidak dapat dilakukan untuk menghasilkan label yang sama antara plaintext dengan ciphertext
karena terjadi pembentukan model yang berbeda. Untuk percobaan terakhir dilakukan untuk
mencari konfigurasi penambangan data yang optimal untuk K-means yang dilakukan. Dari
percobaan didapatkan bahwa nilai K yang semakin tinggi akan berpengaruh untuk mendapatkan
nilai error yang lebih kecil. Untuk peningkatan jumlah iterasi yang dilakukan juga akan
menyebabkan nilai error yang dihasilkan semakin kecil.