22
Perancangan Keamanan Data menggunakan Rijndael 256 pada Sistem Pusat Data Klasis Gunung Kidul Berbasis Client Server Artikel Ilmiah Peneliti : Setevi Liana Setiadi (672015120) Suprihadi, S.Si., M.Kom. Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Kristen Satya Wacana Salatiga 2019

Perancangan Keamanan Data menggunakan Rijndael 256 pada … · 2019. 11. 28. · Client/Server Two Tiers, (2) Client/Server Multi Tiers, (3) Web Based Client/Server [9]. 3. Tahapan

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

  • Perancangan Keamanan Data menggunakan Rijndael 256 pada

    Sistem Pusat Data Klasis Gunung Kidul Berbasis Client Server

    Artikel Ilmiah

    Peneliti :

    Setevi Liana Setiadi (672015120)

    Suprihadi, S.Si., M.Kom.

    Program Studi Teknik Informatika

    Fakultas Teknologi Informasi

    Universitas Kristen Satya Wacana

    Salatiga

    2019

  • i

  • ii

  • iii

  • iv

  • v

  • 1

    1. Latar Belakang Masalah

    Klasis Gunung Kidul adalah ikatan beberapa GKJ (Gereja Kristen Jawa) di

    wilayah tertentu yang didasarkan pada pengakuan keesaan gereja sebagaimana

    dinyatakan dalam alkitab, pokok-pokok ajaran GKJ serta tata gereja dan tata

    laksana GKJ. Klasis Gunung Kidul merupakan klasis yang terdiri dari 13 GKJ

    dengan jumlah KK (Kartu Keluarga) dalam klasis adalah 1.013 dengan 10.581

    anggota jemaat yang terbagi atas warga dewasa 2.292 dan warga anak 2.559 [1].

    Website GKJ Gunung Kidul menyediakan informasi dari gereja-gereja yang

    berada di Gunung Kidul. Informasi tersebut dapat diakses melalui beberapa menu

    antara lain menu beranda, berita, info, kontak, fasilitas, laporan dan master data.

    Namun terdapat menu yang tidak dapat diakses oleh sembarang orang yang tidak

    memiliki hak akses. Menu itu antara lain menu fasilitas, laporan dan master data.

    Hanya admin saja yang dapat mengakses menu tersebut seperti super admin (menu

    fasilitas, menu laporan dan menu master data) dan admin gereja (menu fasilitas dan

    menu laporan), karena pada menu-menu tersebut terdapat informasi berupa data

    yang sangat penting. Data penting itu mengenai data jemaat dan data persembahan

    dari 13 GKJ yang berada di Gunung Kidul. Oleh karena itu, agar data tersebut tidak

    disalahgunakan oleh pihak yang tidak bertanggung jawab, maka dibutuhkan suatu

    aspek keamanan dalam suatu jaringan untuk melindungi data-data gereja agar tidak

    disalahgunakan ataupun dicuri oleh orang lain.

    Berdasarkan latar belakang masalah, maka dilakukan penelitian yang

    bertujuan untuk merancang keamanan pada sistem pusat data khususnya pada data

    jemaat dan data persembahan. Untuk mengatasi masalah keamanan data tersebut,

    maka dalam penulisan tugas akhir ini akan dilakukan perancangan implementasi

    kriptografi pada data jemaat dan persembahan. Penerapan kriptografi ini dilakukan

    dengan mengamankan pada sisi client server. Kriptografi adalah salah satu teknik

    yang digunakan untuk meningkatkan aspek keamanan suatu informasi. Algoritma

    yang digunakan untuk mengamankan data yaitu Rijndael. Rijndael dipilih karena

    algoritma ini merupakan algoritma yang memiliki kecepatan operasi yang sangat

    baik. AES merupakan algoritma kriptografi simetrik dengan menggunakan

    algoritma Rijndael yang dapat mengenkripsi dan yang beroperasi dalam mode

    penyandi blok(block cipher) yang memproses blok data 128-bit dengan panjang

    kunci 128-bit (AES- 128), 192-bit (AES-192), atau 256-bit (AES-256) [2].

    2. Kajian Pustaka

    Penelitian yang dilakukan oleh (Pramuditya 2016) yang berjudul

    “Penerapan Rijndael 256 dan Algoritma Based64 untuk Keamanan Data pada

    Sistem Pengelolaan Dokumemn Berbasiskan Web (Studi Kasus SMK Negeri 1

    Salatiga)” [3]. Penelitian ini bertujuan untuk merancang sistem pengelolaan

    dokumen dan mengimplementasikan algoritma rijndael 256 dan algoritma base64

    untuk keamanan data pada sistem pengelolaan dokumen. Pengimplementasian

    sistem pengelolaan dokumen berbasis web pada SMK Negeri 1 Salatiga

    menghasilkan dokumen yang dapat diamankan dengan cara disimpan dalam bentuk

  • 2

    ciphertext jika memiliki status “Tidak” sharing. Algoritma base64 yang

    dipergunakan pada bahasa pemrograman PHP tersimpan dalam class mcrypt.

    Penelitian terdahulu yang berjudul “Enkripsi Dan Dekripsi Dengan

    Algoritma AES 256 Untuk Semua Jenis File” [4]. Penelitian ini membuktikan

    bahwa isi file yang telah dienkripsi merupakan isi file dari file sumber, sehingga

    apabila akan dilakukan proses dekripsi, maka akan kembali seperti file awal. File

    dekripsi dapat kembali seperti ekstensi file sumber karena saat system melakukan

    proses enkripsi ditambahkan header untuk menyimpan informasi ekstensi file

    sumber. Oleh karena itu, ukuran file enkripsi akan bertambah 11 byte dari ukuran

    file asli. Sedangkan ukuran file dekripsi akan kembali ke ukuran file asli.

    Pada penelitian selanjutnya yang dilakukan oleh (Siregar, Syahfitri, and

    Tommy 2010) yang berjudul “Aplikasi Pengamanan File dengan Algoritma AES

    256 dan SHA1” [5]. Penelitian ini bertujuan untuk meningkatkan keamanan pesan

    yang akan dikirim melalui saluran komunikasi agar isinya tidak diketahui oleh

    pihak lain yang tidak berhak mengetahui isi pesan tersebut. Maka dari itu dapat

    diterapkan algoritma kriptografi yang digunakan untuk proses enkripsi dan

    dekripsi. Metode kriptografi yang digunakan untuk melakukan pengaman data

    mencakup metode AES 256 dan SHA1. Perangkat lunak yang dibuat dapat

    digunakan untuk mengamankan file dengan menerapkan metode AES256 dan

    SHA1. Perangkat lunak juga akan menampilkan nilai hash dari kunci yang

    dimasukkan. Hasil kombinasi dari metode AES256 dan SHA1 akan meningkatkan

    keamanan karena kunci yang digunakan telah teracak dengan menggunakan metode

    SHA1.

    Berdasarkan dari ketiga penelitian di atas yang membahas tentang

    keamanan data dengan metode AES, maka pada penelitian ini akan dilakukan

    penelitian yang bertujuan untuk merancang dan mengimplementasikan aplikasi

    kriptografi khusus untuk system pusat data klasis Gunung Kidul yang

    menggunakan metode kriptografi Rijndael 256. Dalam penelitian ini pengguna

    dapat menginputkan dan menampilkan data yang akan dilakukan enkripsi dan

    dekripsi. Penelitian yang dilakukan akan melihat data yang diinputkan pengguna

    dienkripsi didalam database server dan ditampilkan kembali dalam bentuk

    plainteks. System yang dibangun diharapkan dapat membantu dan memudahkan

    pengguna untuk menjaga kerahasiaan pada data jemaat dan data persembahan

    dengan algoritma Rijndael yang akan diimplementasikan pada sistem ini.

    Algoritma Rijndael ditemukan oleh Vincent Rijmen dan Joan Daeman dari

    Belgia. Rijndael termasuk dalam algortima kriptografi yang sifat simetris dan block

    cipher. Dengan demikian algoritma ini mempergunakan kunci yang sama saat

    enkripsi dan dekripsi serta masukan dan keluarannya berupa blok dengan jumlah

    bit tertentu. Algoritma Rijndael merupakan urutan blok data sebesar 128 bit, 192

    bit dan 256 bit terbagi alam 4 blok yang disebut plaintext yang nantinya diproses

    dengan cipher key menjadi chipertext. Blok-blok data masukan dan kunci

    dioperasikan dalam bentuk array. Setiap anggota array sebelum menghasilkan

    keluaran ciphertext dinamakan dengan state. Setiap state akan mengalami proses

  • 3

    yang secara garis besar terdiri dari empat tahap yaitu, AddRoundKey, SubBytes,

    ShiftRows, dan MixColumns [6].

    Secara umum proses enkripsi dengan algoritma AES terdiri dari [7]:

    1. AddRoundKey, adalah proses XOR antara state awal (plainteks) dengan cipherkey. Tahap ini disebut juga dengan istilah initial round. Pada saat proses

    AddRoundKey, subkey digabungkan dengan state. Proses penggabungan ini

    menggunakan operasi XOR untuk setiap byte dari subkey dengan byte yang

    bersangkutan dari state. Setiap subkey berukuran sama dengan state yang

    bersangkutan.

    2. Proses putaran sebanyak Nr–1 kali, dalam putaran tersebut terjadi proses :

    SubBytes adalah proses substitusi byte dengan menggunakan tabel substitusi (S-Box). Sebuah tabel S-Box terdiri dari 16x16 baris dan kolom dengan

    masing-masing berukuran 1 byte.

    ShiftRows adalah proses pergeseran baris-baris array state secara wrapping. Proses ini bekerja dengan cara memutar byte-byte pada 3 baris terakhir

    (baris 1, 2, dan 3) dengan jumlah putaran yang berbeda. Baris 1 akan diputar

    sebanyak 1 kali, baris 2 akan diputar sebanyak 2 kali, dan baris 3 akan

    diputar sebanyak 3 kali. Sedangkan baris 0 tidak akan diputar.

    MixColumns adalah proses pengacakan data pada masing-masing kolom array state. Operasi ini menggabungkan 4 bytes dari setiap kolom tabel state

    dan menggunakan transformasi linier.

    AddRoundKey adalah proses operasi XOR antara state terbaru dengan roundkey.

    3. Final round, merupakan sebuah proses untuk putaran terakhir yang terdiri dari: SubBytes, ShiftRows, AddRoundKey

    Proses yang dilakukan pada setiap putaran adalah [7] :

    1. InverseShiftRows, adalah proses kebalikan dari shiftrows, pada proses ini dilakukan pergeseran bit ke kanan.

    2. InverseSubBytes, adalah proses kebalikan dari SubBytes. 3. AddRoundKey, adalah operasi XOR antara state terbaru dengan round key. 4. InverseMixColumn, adalah proses mengacak data pada masing-masing kolom

    array state.

    5. Final round, yang merupakan proses untuk putaran terakhir terdiri dari : InverseShiftRows, InverseSubBytes, AddRoundKey

    Arsitektur jaringan client server merupakan pengembangan dari arsitektur

    file server. Arsitektur ini adalah model konektivitas pada jaringan yang mengenal

    adanya server dan client, dimana masing-masing memiliki fungsi yang berbeda satu

    sama lain [8]. Sistem client/server menawarkan sistem yang lebih ramping dalam

    pembagian proses pengolahan informasi dimana secara garis besar dibagi menjadi

    dua bagian yaitu bagian client yang berhubungan langsung dengan user dan bagian

    server yang mengurus bagian pengolahan database secara multitask dan multiuser.

    Secara umum sistem client/server bisa dikategorikan menjadi tiga jenis sebagai

  • 4

    berikut: (1) Client/Server Two Tiers, (2) Client/Server Multi Tiers, (3) Web Based

    Client/Server [9].

    3. Tahapan Penelitian

    Metode pengumpulan data pada penelitian ini diselesaikan melalui tahapan

    yang terbagi dalam empat tahapan, yaitu : (1) analisis kebutuhan, (2) perancangan

    sistem, (3) implementasi sistem dan (4) pengujian system dan analisis hasil

    pengujian.

    Gambar 1. Tahapan Penelitian

    Tahapan penelitian pada Gambar 1, dapat dijelaskan sebagai berikut. Tahap

    pertama, analisis masalah yaitu suatu kegiatan yang dilakukan untuk mengetahui

    permasalahan pada proses pengelolaan data pada suatu objek penelitian, serta

    mengumpulkan data dan literature yang terkait dengan algoritma Rijndae 256 untuk

    proses enkripsi dan dekripsi. Tahap kedua, yaitu perancangan sistem yang

    merupakan tahapan merancang sistem yang memperbolehkan pengguna untuk

    menginputkan plainteks. Sistem dapat mengekripsi plainteks (data jemaat dan data

    persembahan) inputan dari pengguna dan mendekripsi cipherteks inputan pengguna

    sesuai algoritma Rijndael 256. Tahap ketiga, implementasi sistem, yaitu membuat

    aplikasi sesuai perancangan pada tahap kedua, yaitu bagaimana aplikasi berjalan

    saat data dienkripsi dan didekripsi kembali. Dan Tahap keempat, pengujian sistem

    dan analisis hasil pengujian, yaitu dilakukan pengujian terhadap proses kerja

    algoritma Rijndael 256.

    Metode yang digunakan dalam pengembangan sistem ini menggunakan

    model prototype, sehingga dapat dilakukan teknik pengumpulan data atau informasi

    tertentu mengenai kebutuhan-kebutuhan informasi pengguna yang dapat dilakukan

    secara cepat. Dengan metode prototype ini, pengembang dan pihak GKJ Klasis

    Gunung Kidul dapat saling berinteraksi selama proses pembuatan sistem

    pengelolaan data berbasis web.

    Analisis Kebutuhan dan Pengumpulan Data

    Perancangan Sistem meliputi Enkripsi dan Dekripsi

    Implemetasi Sistem

    Pengujian Sistem dan Analisis Hasil Pengujian

  • 5

    Gambar 2. Metode Prototype

    Gambar 2. merupakan tahap-tahap pada metode prototype yaitu

    pengumpulan kebutuhan, perancangan dan evaluasi prototype. Yang dilakukan

    dalam pengumpulan kebutuhan yaitu meneliti kebutuhan apa saja yang dibutuhkan

    di GKJ Klasis Gunung Kidul. Pengumpulan data ini dilakukan dengan melakukan

    wawancara dengan narasumber di GKJ Klasis Gunung Kidul dan menganalisa

    rancangan kebutuhan apa yang nantinya diperlukan. Dari wawancara yang sudah

    dilakukan dapat diketahui bahwa GKJ Klasis Gunung Kidul belum mempunyai

    sistem untuk mengamankan data khususnya data jemaat dan persembahan.

    Kemudian dengan merancang aplikasi sistem ini nantinya akan membantu dalam

    mengamankan data jemaat dan data persembahan. Tahapan selanjutnya yaitu

    perancangan sistem. Perancangan sistem nantinya meliputi alur program dan

    perancangan menggunakan UML. Proses perancangan UML diagram meliputi use

    case dan activity diagram. UML yang telah dibuat nantinya akan dilanjutkan

    dengan pengimplementasian sistem. Tahapan yang terakhir yaitu evaluasi

    prototype. Pada evaluasi prototype akan dilakukan pengujian sistem dan melakukan

    analisis terhadap hasil pengujian tesebut. Pengujian menggunakan cara uji

    fungsionalitas sistem, yaitu menggunakan metode blackbox. Pengujian blackbox

    testing dilakukan untuk mengetahui bahwa semua fungsi dan fitur pada sistem

    keamanan bekerja dengan tepat.

    Tahap awal pada penelitian ini yaitu melakukan analisis kebutuhan dengan

    mengidentifikasi masalah, mengumpulkan studi literatur mengenai metode-metode

    tentang kriptografi khususnya metode algoritma Rijndael. Metode studi literatur

    digunakan dengan melihat penelitian yang sudah ada dan merujuk pada penelitian

    yang telah dilakukan. Pada tahap ini dilakukan analisis mengenai masalah yang ada

    di GKJ Gunung Kidul yaitu permasalahan pada manajemen data jemaat dan

    manajemen data persembahan yang belum memiliki fitur untuk melindungi atau

    mengamankan data. Dalam analisis ini proses enkripsi dan dekripsi terjadi pada

    jaringan yang menghubungkan dua titik yaitu client dan server. Pada jaringan client

    server akan terjadi proses pertukaran data yang sudah ada proteksi keamanan

    enkripsi dan dekripsi. Dalam hal pengelolaan sistem, ada dua user yang berperan

    untuk mengelola sistem yaitu super admin yang dapat mengakses semua data gereja

    dan admin gereja yang hanya dapat mengakses data gereja sendiri.

    1. Analisis Kebutuhan Admin

  • 6

    - Super admin dan admin gereja harus melakukan login dahulu. - Super admin dan admin gereja dapat mengelola data (tambah, ubah dan

    hapus).

    - Super admin dapat mengelola semua data gereja sedangkan admin gereja hanya dapat mengelola data gerejanya saja.

    - Admin dapat memberikan pengamanan pada menu data jemaat dan data persembahan.

    2. Analisis Kebutuhan Server - Menyediakan database untuk penyimpanan data. - Mengirimkan data yang dibutuhkan oleh admin.

    3. Analisis Kebutuhan Software - Sistem operasi Windows 7 - Web Server : XAMPP 5.6.40-0 - Web browser : Mozilla Firefox - PHP version 5.6.40 - UML designer : StarUML - Framework CodeIgniter - Perangkat Keras : Intel core i3 2.40 GHz dan 2 GB RAM.

    Pada tahap selanjutnya dari penelitian ini yaitu perancangan sistem.

    Perancangan sistem ini menggunakan Unified Modelling Language (UML). UML

    bersifat scalability, yaitu objek lebih mudah dipakai untuk menggambarkan sistem

    yang bersifat komplek. UML juga bersifat dynamic modelling, yaitu model dapat

    digunakan untuk pemodelan sistem dinamis dan real time. Pada tahap awal

    perancangan UML yaitu membangun use case diagram yang mempresentasikan

    keseluruhan kerja sistem secara garis besar dan juga mempresentasikan interaksi

    antara actor dengan sistem yang dibangun, serta menggambarkan fungsionalitas

    yang dapat diberikan sistem kepada user atau actor.

  • 7

    Gambar 5. Use Case GKJ Klasis Gunung Kidul

    Gambar 5. Menunjukkan use case diagram yang akan digunakan pada

    aplikasi system pusat data Gunung Kidul. Pada aplikasi tersebut terdapat tiga actor

    yaitu admin klasis, admin gereja dan publik. Actor admin klasis dalam penelitian

    ini adalah actor yang telah ditentukan dan diberi kewenangan untuk dapat melihat

    seluruh data gereja yang terdapat di GKJ Klasis Gunung Kidul dan dapat mengakses

    semua menu. Menu-menu tersebut antara lain menu kontak, menu info, menu

    berita, menu beranda, menu laporan, menu fasilitas dan menu master data.

    Selanjutnya actor admin gereja dapat melakukan akses (edit, delete, add, search,

    print) data gerejanya sendiri. Sedangkan untuk actor publik hanya dapat melihat

    menu beranda, berita, info dan kontak. Saat actor admin klasis dan admin gereja

    mengakses data jemaat dan data persembahan pada menu fasilitas, data-data yang

    sudah di input dan di edit akan di enkripsi dan data-data yang sudah terenkripsi

    akan tersimpan di server.

  • 8

    Gambar 6. Activity Diagram GKJ Klasis Gunung Kidul

    Gambar 6. Menunjukkan activity diagram pengguna yaitu admin, dalam

    aktivitasnya saat mengakses menu web GKJ Klasis Gunung Kidul. Admin klasis

    harus melakukan login terlebih dahulu sebelum melakukan aktivitasnya pada

    aplikasi. Setelah login berhasil, admin bisa memilih menu beranda, berita, info,

    kontak, fasilitas, laporan dan master data. Selanjutnya sistem akan menampilkan

    data dari menu yang sudah di pilih. Untuk admin klasis hanya bisa melihat, mencari

    dan mencetak data. Sedangkan admin gereja dapat menambah, mengubah,

    menghapus, mencetak dan mencari data.

    Gambar 7. Activity Diagram submenu data jemaat

  • 9

    Gambar 7. Menunjukkan activity diagram pada menu fasilitas, sub menu

    manajemen data jemaat. Alur proses pada sub menu ini, admin harus login terlebih

    dahulu, setelah itu pilih sub menu manajemen data jemaat pada menu fasilitas.

    Kemudian sistem akan menampilkan data jemaat dan pada sub menu ini disediakan

    tiga aksi, antara lain tambah, cetak, cari. Saat admin memilih salah satu aksi tersebut

    maka data akan di enkripsi dan disimpan di server. Dan pada saat data akan

    ditampilkan, data akan di dekripsi menjadi plaintext.

    Gambar 8. Activity Diagram submenu data persembahan

    Gambar 8. Menunjukkan activity diagram pada menu fasilitas, sub menu

    manajemen data persembahan. Alur proses pada sub menu ini, admin harus login

    terlebih dahulu, setelah itu pilih sub menu manajemen data persembahan pada menu

    fasilitas. Kemudian sistem akan menampilkan data persembahan dan pada sub

    menu ini disediakan tiga aksi, antara lain tambah, cetak, cari. Saat admin memilih

    salah satu aksi tersebut maka data akan di enkripsi dan disimpan di server. Ketika

    proses menampilkan data, data dari server ditarik dalam bentuk pesan terenkripsi,

    kemudian didekripsi dan ditampilkan dalam bentuk plaintext.

    Alur proses sistem yang akan dibangun yaitu proses enkripsi dan dekripsi

    pada data jemaat dan data persembahan. Adapun prosesnya ditunjukkan sebagai

    berikut :

  • 10

    Gambar 3. Alur Enkripsi Rijndael

    Gambar 4. Alur Dekripsi Rijndael

    Gambar 3 dan Gambar 4 Merupakan alur proses enkripsi dan dekripsi

    algoritma Rijndael. Proses awal yaitu inisialisasi kunci yang sudah di deklarasikan

    pada library di CodeIgniter. Proses enkripsi dan dekripsi menggunakan kunci yang

    sama. Setelah itu pengguna menginputkan plainteks yang akan dienkripsi pada

    textfield yang sudah disediakan. Kemudian data yang telah dimasukkan akan

    mengalami proses penyandian, kemudian dari proses enkripsi akan menghasilkan

    cipherteks yang kemudian data yang terkenkripsi akan dikirim dan simpan di

    database server. Sedangkan untuk proses dekripsi, pada saat pengguna ingin

    melihat atau menampilkan data yang dipilih, pengguna tidak perlu memasukkan

    kunci karena kunci yang digunakan sama dengan kunci yang digunakan saat

    melakukan proses enkripsi. Data tersebut kemudian mengalami proses dekripsi

    dengan menjalankan algoritma Rijndale 256 yang kemudian menghasilkan

    plainteks.

    4. Hasil dan Pembahasan

    Hasi dari pembahasan ini berisi tentang uraian hasil implementasi

    berdasarkan yang tertulis dalam metode dan perancangan. Sedangkan analisis hasil

    dilakukan terhadap hasil yang telah diuji dari aplikasi. Pada sistem aplikasi ini

    hanya fokus pada 2 user, yaitu admin klasis dan admin gereja yang memiliki peran

    masing-masing dalam mengakses data. Admin klasis memiliki hak untuk

    mengakses (melihat) seluruh data gereja yang terdapat di GKJ Klasis Gunung

    Kidul. Sedangkan admin gereja hanya dapat mengakses (tambah, ubah, hapus, cari,

    cetak) data gerejanya sendiri. Sebelum masuk ke aplikasi, admin klasis dan admin

    gereja harus melakukan login terlebih dahulu.

    Kode Program 1. Konfigurasi Key enkripsi

    1. $config[‘encyption_key’] = ‘qWVMEdAg2trMZ2mHICbq9BRpIYKZwawn’;

    Kode program 1. Merupakan bagian untuk melakukan inisialisasi

    encryption key. Kunci enkripsi selalu mempengaruhi hasil enkripsi, oleh karena itu

    pada bagian ini encryption key dideklarasikan didalam File Config. Encryption key

    yang digunakan pada perancangan ini berjumlah 32 karakter.

    Kode Program 2. Fungsi Library encryption pada Codeigniter

    1. public function __construct(){ 2. parent::__construct(); 3. if($this->session->userdata('group_id') !='1'){

  • 11

    4. redirect(base_url("login")); 5. }else { 6. $this->load->model('M_Jemaat_Gereja'); 7. $this->load->library('encrypt'); 8. } 9. }

    Kode program 2. Menjelaskan bahwa pada framework CodeIginiter, fungsi

    keamanan data sudah disediakan didalam library CodeIgniter yang dapat langsung

    diimplementasikan pada aplikasi. Source code diatas merupakan pemanggilan

    untuk fungsi library encryption yang sudah disediakan CodeIgniter.

    Gambar 9. Tampilan halaman manajemen data jemaat

    Pada Gambar 9. Merupakan tampilan halaman manajemen data jemaat.

    Halaman ini berisi data-data jemaat setiap gereja yang berada di klasis GKJ Gunung

    Kidul. Halaman ini hanya dapat diakses oleh admin. Perbedaan tampilan untuk

    admin klasis dengan admin gereja yaitu hak aksesnya. Admin klasis hanya dapat

    melihat data jemaat dari 13 gereja, sedangkan admin gereja dapat akses tambah,

    hapus dan ubah dari data gerejanya sendiri. Kemudian pada menu ini disediakan

    beberapa aksi antara lain, detail, edit dan hapus. Jika admin memilih aksi detail

    maka aksi ini akan menampilkan identitas data jemaat secara lengkap. Selanjutnya

    jika admin memilih aksi edit maka aksi ini akan menampilkan form untuk

    mengubah data jemaat yang akan di edit. Pada sistem ini, pada saat admin sudah

    selesai mengubah data maka data yang baru dirubah secara otomatis akan dienkripsi

    dan disimpan di server.

    Kode Program 3 Pseudocode enkripsi algortima Rijndael

    Cipher (byte in [4*Nb], byte out[4*Nb], word w[Nb*(Nr+1)])

    Begin

    Byte state

    State = in

    AddRoundKey (state, w[0, Nb-1])

  • 12

    For round = 1 step 1 to Nr-1

    SubBytes (state)

    ShiftRows (state)

    MixColumns (state)

    AddRoundKey (state, w[round*Nb, (round+1)*Nb-1)

    End for

    SubBytes (state)

    ShiftRows (state)

    AddRoundKey (state, w[Nr*Nb, (Nr+1)*Nb-1])

    Out = state

    end

    Kode program 3. Merupakan pseudo code enkripsi yang digunakan untuk

    mengenkripsi data jemaat dan data persembahan. Langkah awal untuk melakukan

    kriptografi yaitu melakukan kalkulasi pada plainteks menjadi cipherteks dari data

    yang akan disimpan dalam array. Tiap elemen dari array state harus diisi dengan 8

    bit teks dalam notasi heksadesimal. Setelah pengisian array state selesai,

    berikutnya lakukan transformasi SubBytes yang dimana transformasi byte pada

    setiap elemen state akan dipetakan dengan menggunakan sebuah table substitusi

    (S-Box). Setelah slesai tahap transformasi SubBytes, lakukan transformasi

    ShiftRows yang berfungsi sebagai proses pergeseran bit dimana bit paling kiri akan

    dipindahkan menjadi bit paling kanan (rotasi bit). Setelah melakukan rotasi bit,

    lakukan pengacakan array state dengan melakukan perkalian matriks

    menggunakan galois field. setelah itu lakukan penambahan pada state dengan

    operasi XOR. Setelah semua proses sudah selesai maka output yang dihasilkan

    adalah file teks yang sudah menjadi cipherteks.

    Gambar 10. Tampilan form tambah jemaat

    Gambar 10. Merupakan tampilan halaman tambah pada menu data jemaat.

    Tampilan ini berisi data untuk identitas jemaat gereja. Pada form tambah terdapat

    field-field yang harus diisi. Setelah selesai mengisi data jemaat, pada button

    Tambah data jemaat akan dikirim dan disimpan didalam server, untuk No.KTP dan

    nama ibu, kedua data tersebut akan terenkripsi pada saat proses menambah data ke

  • 14

    dalam server. Begitu pula untuk form edit jemaat. Saat akan mengubah data jemaat

    maka data dari server yang masih terenkripsi akan ditampilkan dengan proses

    dekripsi dan data akan ditampilkan pada form edit. Untuk proses mengubah data,

    proses yang terjadi sama seperti pada tambah data jemaat. Gambar 11. Merupakan

    tampilan untuk form edit.

    Gambar 11. Tampilan form edit data jemaat

    Kode Program 4. Pseudocode proses dekripsi algortima Rijndael

    InvCipher (byte in [4*Nb], byte out[4*Nb], word w[Nb*(Nr+1)])

    Begin

    Byte state [4,Nb]

    State = in

    AddRoundKey (state, w[Nr*Nb, (Nr+1)*Nb-1])

    For round = Nr-1 step -1 downto 1

    InvShiftRows(state)

    InvSubBytes(state)

    AddRoundKey (state, w[round*Nb, (round+1)*Nb-1)

    InvMixColumns(state)

    End for

    InvShiftRows(state)

    InvSubBytes (state)

    AddRoundKey (state, w[0, Nb-1])

    Out = state

    End Kode program 4. Merupakan pseudocode dekripsi algoritma Rijndael. Pada

    proses dekripsi proses Key Schedule sama, mengambil kunci cipher dan melakukan

    rutin ekspansi kunci untuk membentuk key schedule. Ekspansi kunci menghasilkan

    total Nb(Nr+1) word. Pada proses AddRoundKey, sebuah round key ditambahkan

    pada state dengan operasi XOR. Setiap round key terdiri dari Nb word dimana

    setiap word akan dijumlahkan dengan kolom yang bersesuaian. Setelah melakukan

    proses AddRoundKey, pada setiap kolom dalam state dikalikan dengan matriks

    perkalian dalam AES. Setelah melakukan perhitungan pada perkalian matriks di

    InvMixColumns dilanjutkan transformasi byte yang berkebalikan dengan

    transformasi ShiftRows, karena pada transformasi InvShiftRows dilakukan

    pergeseran bit ke kanan. Dilanjutkan proses transformasi InvSubBytes dimana

  • 15

    transformasi bytes yang berkebalikan dengan transformasi SubBytes, karena pada InvSubBytes tiap elemen pada state dipetakan dengan menggunakan tabel Inverse S-Box. Setelah transformasi InvSubBytes sudah dilakukan, maka hasil array

    state yang awal enkripsi akan muncul kembali untuk dijadikan status awal dan dikalkulasikan cipherteks menjadi plainteks kembali. Setelah selesai melakukan

    semua langkah diatas maka simpan file tersebut sebagai plainteks.

    Gambar 12. Tampilan data yang sudah terenkripsi pada server database

    Gambar 12. Merupakan tampilan database dari data jemaat yang sudah

    terenkripsi. Jadi, pada pengembangan sistem keamanan yang dibuat ini data jemaat

    sebelumnya seperti data No.KTP dan Nama Ibu belum memiliki fungsi keamanan

    enkripsi. Saat admin melakukan aksi edit data baru maka data tersebut akan

    dienkripsi. Tetapi saat akan menampilkan data sebelumnya yang pernah

    ditambahkan, data tersebut belum dienkripsi. Namun saat data yang lama di update

    menjadi data yang baru, secara otomatis data akan dienkripsi dan untuk dikirim dan

    disimpan pada field baru pada server database.

    Tahap terakhir pada perancangan sistem yaitu tahap pengujian sistem.

    Pengujian pada tahap ini menggunakan metode blackbox yang merupakan

    pengujian fungsionalitas tanpa memperhatikan alur eksekusi program melainkan

    apakah setiap fungsi di aplikasi berjalan dengan semestinya. Pengujian aplikasi

    dapat ditunjukkan pada tabel dibawah ini.

    Tabel 1. Hasil pengujian Blackbox

    Fungsi yang

    diuji Kondisi

    Output yang

    diharapkan

    Output yang

    dihasilkan

    sistem

    Status

    pengujian

    Login

    Username,

    password dan

    capcha benar

    Sukses login Sukses login Berhasil

    Username,

    password dan

    captcha salah

    Gagal login Gagal login Berhasil

    Tambah jemaat Form diisi

    dengan benar

    Sukses tambah

    dan mengenkrip

    data

    Sukses tambah

    dan mengenkrip

    data

    Berhasil

    Edit jemaat Form diisi

    dengan benar

    Sukses ubah dan

    mengenkrip data

    Sukses ubah dan

    mengenkrip data Berhasil

    Hapus jemaat Konfirmasi

    dengan benar

    Sukses hapus

    data

    Sukses hapus

    data Berhasil

  • 16

    Cetak jemaat Form dicetak

    dengan benar Sukses cetak data Sukses cetak data Berhasil

    Detail jemaat

    Form

    ditampilkan

    secara lengkap

    dan benar

    Sukses

    menampilkan

    data

    Sukses

    menampilkan

    data

    Berhasil

    Tambah

    persembahan

    Form diisi

    dengan benar

    Sukses tambah

    dan mengenkrip

    data

    Sukses tambah

    dan mengenkrip

    data

    Berhasil

    Edit

    persembahan

    Form diisi

    dengan benar

    Sukses ubah dan

    mengenkrip data

    Sukses ubah dan

    mengenkrip data Berhasil

    Hapus

    persembahan

    Konfirmasi

    dengan benar

    Sukses hapus

    data

    Sukses hapus

    data Berhasil

    Cetak persebahan Form dicetak

    dengan benar Sukses cetak data Sukses cetak data Berhasil

    Tabel 1. merupakan tabel hasil pengujian blackbox pada aplikasi sistem

    manajemen data jemaat dan manajemen data persembahan GKJ Klasis Gunung

    Kidul. Pada tabel ditampilkan beberapa fungsi yang terdapat pada sistem. Dalam

    pengujian semua fungsi berjalan dengan baik dan status pengujian menunjukkan

    bahwa semuanya berhasil. Maka dapat disimpulkan bahwa kerja aplikasi sistem

    keamanan pada data jemaat dan data persembahan GKJ Klasis Gunung Kidul

    berjalan dengan baik.

    5. Kesimpulan

    Berdasarkan penelitian, analisis dan pengujian yang sudah dilakukan, maka

    dapat disimpulkan bahwa aplikasi sistem keamanan yang dibangun dengan

    menggunakan algoritma Rijndael 256 yang diterapkan untuk mengamankan data

    jemaat dan data persembahan GKJ Klasis Gunung Kidul sangat membantu dalam

    mengamankan data yang sangat penting, sehingga hanya orang tertentu saja yang

    dapat mengakses data tersebut. Selain itu dengan menggunakan fungsi enkripsi

    yang sudah disediakan Codeigniter berupa library MYCRPYT_RIJNDAEL_256

    sangat memudahkan dalam menerapkan fungsi tersebut kedalam program enkripsi

    dan dekripsinya. Serta data jemaat dan data persembahan yang diamankan dapat

    disimpan pada database server dalam bentuk ciphertext dan dapat ditampilkan

    kembali melalui proses dekripsi dalam bentuk plaintext (teks asli).

    6. Daftar Pustaka

    [1] http://si.klasisgk.or.id diakses pada 11 desember 2018.

    [2] Pramuditya, Aryangga. 2016. “Penerapan Rijndael 256 Dan Algoritma Base64

    Untuk Keamanan Data Pada Sistem Pengelolaan Dokumen Berbasis Web (

    Studi Kasus SMK Negeri 1 Salatiga ) Artikel Ilmiah Penerapan Rijndael 256

    Dan Algoritma Base64 Untuk Keamanan Data Pada Sistem Pengelolaan

    Dokum.” (April).

    http://si.klasisgk.or.id/

  • 17

    [3] Yuniati, Voni, Gani Indriyanta, & Antonius Rachmat C. April 2009. Enkripsi

    Dan Dekripsi Dengan Menggunakan Algoritma AES 256 Untuk Semua Jenis

    File. Jurnal Informatika, Vol. 5, No 1 : 22-31.

    [4] SIREGAR, IHSAN FATHANAH AKBAR, HABIBI RAMDANI

    SYAHFITRI, and TOMMY. 2010. “Aplikasi Pengamanan File Dengan

    Algoritma Aes256 Dan Sha1.” (70):1–8.

    [5] Kusumaningsih, Dewi, Ahmad Pudoli, and Iqbal Rahmadan. 2017.

    “Steganografi Metode End of File Untuk Keamanan Data.” 9(1):47–55.

    [6] Primasetiya, Oxy Riza. 2013. “Implementasi Algoritma AES Rijndael Pada

    Proses Enkripsi Hemat Energi Untuk Video Streaming Dalam Jaringan Sensor

    Nirkabel.” Seminar Nasional Aplikasi Teknologi Informasi (SNATI) 14–20.

    [7] Munir, Rinaldi. 2006. Kriptografi. Bandung: Penerbit Informatika

    [8] Fallis, A. .. 2013. “Client Server.” Journal of Chemical Information and

    Modeling 53(9):1689–99.

    [9] Hadiana, Ana. 2010. “Pengembangan Aplikasi Sistem Client / Server

    Menggunakan Teknologi Java.” 9(3):94–100.