Oleh:
Restu Lisniarto Hanputra
201610225320
FAKULTAS TEKNIK
2019
KATA PENGANTAR
Puji syukur kita panjatkan kepada kehadirat Allah SWT karena atas limpahan
rahmat dan hidayahnya penulis mampu menyelesaikan makalah ini dengan tepat
waktu. Proposal dengan judul “IMPLEMENTASI ENKRIPSI DAN DEKRIPSI
BERBASIS WEB DENGAN METODE ALGORITMA AES MENGGUNAKAN
FRAMEWORK CODEIGNITER” disusun dengan maksud untuk memenuhi tugas
mata kuliah Rekayasa Perangkat Lunak serta memberikan pengetahuan baru bagi
penulis dan pembaca mengenai enkripsi dan dekripsi. Pada kesempatan ini penulis
juga mengucapkan terima kasih kepada teman yang telah membantu pada
pembuatan makalah ini.
Semoga makalah ini dapat membawa manfaat khususnya bagi penulis dan
orang lain yang telah membaca makalah penulis. Penulis menyadari bahwa makalah
ini penulis susun masih jauh dari sempurna, oleh karena itu kritik dan saran yang
bersifat membangun sangat penulis harapkan dengan tujuan agar makalah ini
selanjutnya akan lebih baik. Semoga bermanfaat.
Penulis
i
DAFTAR ISI
ii
3.2.1 Analisis Sistem Enkripsi’ ................................................................ 13
3.2.2 Analisis Sistem Dekripsi ................................................................. 14
3.2.3 Analisis Sistem Admin.................................................................... 15
3.3 Metode Pengembangan Sistem .............................................................. 16
3.4 Use case diagram .................................................................................... 17
3.5 Class Diagram ........................................................................................ 18
3.6 Deployment Diagram ............................................................................. 18
BAB IV PERANCANGAN SISTEM DAN IMPLEMENTASI .......................... 21
4.1 Spesifikasi Alat Penelitian...................................................................... 21
4.1.1 Spesifikasi hardware....................................................................... 21
4.1.2 Spesifikasi software ........................................................................ 21
4.2 Implementasi Sistem Enkripsi dan Dekripsi Berbasis Web ................... 21
4.2.1 Halaman Login ................................................................................ 21
4.2.2 Halaman Dashboard ........................................................................ 22
4.2.3 Halaman Enkripsi File..................................................................... 22
4.2.4 Halaman Dekripsi File .................................................................... 23
4.2.5 Halaman File Terenkripsi................................................................ 23
4.2.6 Halaman User Profile ...................................................................... 23
4.2.7 Halaman User (Role Admin) .......................................................... 24
4.3 Pengujian Blackbox Testing ............................................................... 24
BAB V PENUTUP ................................................................................................ 26
5.1 Kesimpulan ............................................................................................. 26
5.2 Saran ....................................................................................................... 26
DAFTAR PUSTAKA ........................................................................................... 27
iii
BAB I
PENDAHULUAN
1
Membangun website yang dapat melakukan proses enkripsi, dekripsi file.
2
1.6 Sistematika Penulisan
Sistem penulisan proposal ini, dibagi menjadi 5 (lima) yaitu sebagai
berikut :
BAB I Pendahuluan
Bab ini berisi tentang latar belakang, rumusan masalah, tujuan penelitian, batasan
masalah, metode penelitian, sistematika penulisan.
BAB II Landasan Teori
Bab ini penulis akan menjelaskan konsep dan teori dasar yang mendukung
penelitian ini, seperti cara kerja Codeigniter, Enkripsi, Dekripsi dan algoritma AES.
BAB III Analisis dan Perancangan Aplikasi
Dalam bab ini menjelaskan mengenai analisis dan perancangan enkripsi dan
dekripsi dengan menggunakan framework Codeigniter serta implementasi
algoritma AES.
BAB IV Hasil dan Pengujian
Pada bab ini dijelaskan mengenai pengujian dan pembahasan Enkripsi dan Dekripsi
Dengan Metode Algoritma AES Berbasis Web, spesifikasi perangkat keras yang
digunakan, penjelasan aplikasi.
BAB V Kesimpulan dan Saran
Pada bab ini dijelaskan tentang kesimpulan dari keseluruhan uraian dari Bab-bab
sebelumnya, serta memberikan saran terkait dengan kekurangan yang diperoleh
dalam penelitian untuk pengembangan ilmu pengetahuan di kemudian hari.
3
BAB II
LANDASAN TEORI
2.1 Codeigniter
Menurut (Raharjo, 2018a) codeigniter adalah framework web untuk bahasa
pemrograman PHP, yang dibuat oleh Rick Ellis pada tahun 2006, penemu dan
pendiri EllisLab (www.elislab.com).
2.4 MariaDB
Menurut (Raharjo, 2018b) mariadb adalah sistem database yang banyak
digunakan untuk pengembangan aplikasi web, sebagai pengganti MySQL.
Alasannya karena penglolaan datanya sederhana, memiliki keamanan yang bagus
dan mudah diperoleh. Berikut ini adalah keunggulan dari mariadb sebagai berikut :
2.5 Kriptografi
2.5.1 Teori Kriptografi
Kriptografi adalah ilmu mengenai teknik enkripsi dimana data diacak
menggunakan suatu kunci enkripsi menjadi sesuatu yang sulit dibaca oleh
4
seseorang yang tidak memiliki kunci dekripsi. Dekripsi menggunakan kunci
dekripsi mendapatkan kembali data asli. Proses enkripsi dilakukan menggunakan
suatu algoritma dengan beberapa parameter (Kromodimoeljo 2009, 5).
Menurut (Apdillah, Sirega dan Swanda 2018 ) ada empat tujuan mendasar dari ilmu
kriptografi ini yang juga merupakan aspek keamanan informasi yaitu :
1. Kerahasiaan (confidentiality)
Kerahasiaan adalah layanan yang digunakan untuk menjaga isi dari
informasi dari siapapun kecuali yang memiliki otoritas atau kunci rahasia
untuk membuka/mengupas informasi yang telah disandi.
2. Integritas data
Integritas adalah berhubungan dengan penjagaan dari perubahan data
secara tidak sah. Untuk menjaga integritas data, sistem harus memiliki
kemampuan untuk mendeteksi manipulasi data oleh pihakpihak yang
tidak berhak, antara lain penyisipan, penghapusan, dan pensubsitusian
data lain kedalam data yang sebenarnya.
3. Autentikasi
Autentikasi adalah berhubungan dengan identifikasi/pengenalan, baik
secara kesatuan sistem maupun informasi itu sendiri. Dua pihak yang
saling berkomunikasi harus saling memperkenalkan diri. Informasi yang
dikirimkan melalui kanal harus diautentikasi keaslian, isi datanya, waktu
pengiriman, dan lain-lain.
5
c. Enkripsi (fungsi E) adalah proses pengubahan plaintext menjadi
chipertext
d. Dekripsi (fungsi D) adalah kebalikan dari enkripsi yakni mengubah
chipertext menjadi plaintext, sehingga berupa data awal/asli.
e. Kunci adalah suatu bilangan yang dirahasiakan yang digunakan dalam
proses enkripsi dan dekripsi.
Kriptografi itu sendiri terdiri dari dua proses utama yakni proses enkripsi dan
proses dekripsi. Menurut (Tulloh, Permanasari dan Harahap 2016) Enkripsi adalah
suatu fasilitas untuk mengkonversikan pesan jelas (plainteks) ke pesan yang telah
disandikan (cipherteks). sedangkan Dekripsi adalah menerjemahkan cipherteks
menjadi plainteks disebut dengan dekripsi (decryption). Pada gambar 2.1.
dijelaskan diagram proses enkripsi dan dekripsi.untuk proses dekripsi yaitu yang
sifatnya rahasia
6
Gambar 2.2. Diagram enkripsi dan dekripsi algoritma simetris
1. Kunci simetri harus dikirim melalui saluran yang aman. Kedua entitas
yang berkomunikasi harus menjaga kerahasisan kunci ini.
2. Kunci harus sering diubah, mungkin pada setiap sesi komunikasi.
3.
7
Gambar 2.3. Diagram enkripsi dan dekripsi algoritma asimetris
1. Hanya kunci privat yang perlu dijaga kerahasiaannya oleh setiap entitas yang
berkomuniaksi (tetapi, otentikasi kunci publik tetap harus terjamin). Tidak
ada kebutuhan mengirim kunci kunci privat sebagaimana pada sistem simetri.
2. Pasangan kunci publik/kunci privat tidak perlu diubah, bahkan dalam periode
waktu yang panjang.
3. Dapat digunakan untuk mengamankan pengiriman kunci simetri.
4. Beberapa algoritma kunci-publik dapat digunakan untuk memberi tanda
tangan digital pada pesan.
1. Enkripsi dan dekripsi data umumnya lebih lambat daripada sistem simetri,
karena enkripsi dan dekripsi menggunakan bilangan yang besar dan
melibatkan operasi perpangkatan yang besar.
2. Ukuran cipherteks lebih besar daripada plainteks (bisa dua sampai empat kali
ukuran plainteks).
3. Ukuran kunci relatif lebih besar daripada ukuran kunci simetri.
4. Karena kunci publik diketahui secara luas dan dapat digunakan setiap orang,
maka cipherteks tidak memberikan informasi mengenai otentikasi pengirim.
5. Tidak ada algoritma kunci-publik yang terbukti aman (sama seperti block
cipher). Kebanyakan aalgoriam mendasakan keamanannya pada sulitnya
memecahkan persoalan-persoalan aritmetik (pemfaktoran, logaritmik, dsb)
yang menjadi dasar pembangkitan kunci.
Pada proses enkripsi awalnya teks asli dibentuk sebagai sebuah state.
Kemudian sebelum ronde 1 dimulai blok teks asli dicampur dengan kunci ronde ke-
0 (transformasi ini disebut AddRoundKey). Setelah itu, ronde ke-1 sampai dengan
8
ronde ke-(Nr-1) dengan Nr adalah jumlah ronde. AES menggunakan 4 jenis
transformasi yaitu:
Pada ronde terakhir, yaitu ronde ke-Nr dilakukan transformsi serupa dengan
ronde lain namun tanpa transfomasi serupa dengan ronde lain namun tanpa
transformasi MixColumns.
1. Pertama kunci AES 128 bit di organisir menjadi 4 word dan disalin ke word
keluaran (W) pada 4 elemen pertama (W[0], W[1], W[2], W[3]).
9
2.8 Metode Pengembangan Sistem
3.8.1 Rapid Application Developtment (RAD)
Menurut (S, Rosa A; Shalahudin, 2018) model RAD (Rapid Application
Development) adalah model proses pengembangan perangkat lunak yang bersifat
inkremental terutama untuk pengerjaan wsaktu yang pendek. Sedangkan menurut
(Azhar, 2017) metode model RAD (Rapid Application Development) adalah
penggabungan beberapa metode atau teknik terstruktur (khususnya dalam
pengolahan data untuk menghasilkan informasi), misalnya dengan
mengintegrasikan metode prototyping, metode SDLC dan teknik joint application
development untuk mempercepat pengembangan sistem informasi.
Menurut (S, Rosa A; Shalahudin, 2018, h. 35–36) model RAD terbagi menjadi
beberapa komponen yaitu:
1. Pemodelan bisnis
Dilakukan untuk memodelkan fungsi bisnis dan untuk mengetahui
informasi apa saja yang terkait proses bisnis, informasi yang harus
dibuat, siapa yang harus membuat informasi tersebut, bagaimana alur
informasinya dan apa saja yang terkait informasi tersebut
2. Pemodelan data
10
Memodelkan data yang dibutuhkan bedasarkan pemodelan bisnis dan
mendefinisikan atribut-atributnya beserta relasinya dengan data-data
yang lain.
3. Pemodelan proses
Mengimplementasikan fungsi bisnis yang sudah didefinisikan terkait
dengan pendefinisian data.
4. Pembuatan aplikasi
Mengimplementasikan pemodelan proses dan data menjadi program.
Model RAD sangat menganjurkan pemakaian yang sudah ada jika
memungkinkan.
5. Pengujian dan pergantian
Mengikuti komponen-komponen yang dibuat. Jika sudah teruji maka tim
pengembang komponen dapat beranjak untuk mengembangkan
komponen berikutnya.
2.9 UML
Menurut (Munawar, 2018) UML (Unified Modeling Language) adalah salah
satu alat bantu yang handal di dunia pengembangan sistem yang berorientasi
obyek. Hal ini disebabkan karena UML menyediakan bahasa pemodelan visual
yang memungkinkan pengembang sistem membuat cetak biru atas visi mereeka
dalam bentuk yang baku, mudah dimengerti serta dilengkapi mekanisme yang
efektif untuk berbagi (sharing) dan mengkomunikasikan rancangan mereka dengan
yang lain.
11
2.9.2 Class Diagram
Menurut (Munawar, 2018) class diagram adalah diagram statis. Ini mewakili
pandangan statis suatu aplikasi.
12
BAB III
METODOLOGI PENELITIAN
13
Gambar 3.2 Flowchart Sistem Enkripsi
Penjelasan :
1. User login melalu web mecrypt, lalu me-upload file yang ingin dienkripsi.
14
Gambar 3.3 Flowchart Sistem Dekripsi
Penjelasan :
1. User login melalu web mecrypt, lalu me-upload file terenkripsi yang ingin
didekripsi.
15
Gambar 3.3 Flowchart Sistem Admin
Penjelasan :
1. Pemodelan bisnis
User bisa me-enkripsi atau me-dekripsi file melalui web mecrypt.
2. Pemodelan data
16
Data yang dibutuhkan adalah file dengan format .pptx dan .pdf
3. Pemodelan proses
Mengimplementasikan dengan tools use case diagram, class diagram,
deployment untuk representasi sistem, xampp sebagai web server, visual
studio code sebagai text editor.
4. Pembuatan aplikasi
Membuat database, membuat web mecrypt.
5. Pengujian dan pergantian
Testing web mecrypt dengan metode blackbox.
17
1 Login Tampilan yang diakases oleh admin dan Admin,user.
user jika ingin masuk ke halaman admin
dan user.
6 User Profile Tampilan untuk mengubah data user atau Admin, user
admin.
18
Pada gambar 3.6 merupakan deployment diagram dari sistem mecrypt untuk
enkripsi dan dekripsi text dan file berbasis web, yang menggambarkan tentang
model sistem perangkat keras dan lunak yang digunakan pada tahap implementasi.
Pada deployment diagram ini user membutuhkan browser untuk mengakses
website, kemudian data disimpan di dalam database server yang telah dibuat
menggunakan MariaDB. Data dalam database server dikirim ke web server untuk
diolah oleh web Mecrypt.
Mecrypt MySQL
Brow ser Database
User
19
Gambar 3.7 File User
20
BAB IV
21
Gambar 4.1 Halaman Login
22
Gambar 4.3 Halaman Enkripsi File
23
Gambar 4.6 Halaman User Profile
Hasil yang
No Fungsi Masukan Hasil Keterangan
Diharapkan
User memasukan
Muncul
username dan Muncul
tampilan
2 Login tes password yang tampilan Sukses
dashboard
telah terdaftar dashboard user
user
dengan benar
Muncul
Muncul
User memasukan keterangan
keterangan Sukses
username dan bahwa
Login tes bahwa
3 password yang username dan
username dan
salah password
password salah
Salah
User mengupload Muncul Muncul
Menu
file dan informasi file informasi file
Enkripsi
5 memasukkan dienkripsi dan dienkripsi dan Sukses
File
password menekan masuk list file masuk list file
tes
tombol Enkrip File terenkripsi terenkripsi
24
User mengupload
Menu
file dan Muncul Muncul
Dekripsi
7 memasukkan informasi file informasi file Sukses
File
password menekan didekripsi didekripsi
tes
tombol Dekrip File
User memasukkan
Data user Data user
Fullname dan
8 User profile berhasil berhasil Sukses
password menekan
diupdate diupdate
tombol update
Admin menekan Data user
Data user
tombol add / delete berhasil
berhasil
memasukkan ditamabah,
ditamabah,
Fullname, Data user
Data user
9 Users password, dan role berhasil Sukses
berhasil
menekan tombol diupdate,
diupdate,
update, Data user
Data user
Admin menekan berhasil
berhasil didelete
tombol delete didelete
User mengklik Keluar ke Keluar ke Sukses
10 Logout tes
tombol Signout halaman login halaman login
25
BAB V
PENUTUP
5.1 Kesimpulan
Berdasarkan hasil analisa dan pembahasan pada bab sebelumnya
disimpulkan bahwa
1. Sistem enkripsi dan dekripsi berbasis web memudahkan mengamankan file.
2. Fleksible bisa diakses baik melalui PC, Laptop ataupun smartphone
5.2 Saran
Dengan adanya beberapa kekurangan didalam sistem berbasis web. Untuk
itu, adanya saran antara lain adalah penambahan detail spesifik untuk penghitungan
enkripsi dan dekripsi. Hal tersebut dapat dijadikan acuan pengembangan dan
penyempurnaan dari website aplikasi ini agar lebih baik lagi.
26
DAFTAR PUSTAKA
Apdillah, Dicky , Helmi Fauzi Sirega, dan Heru Swanda. 2018 . “Penerapan
Kriptografi RSA Dalam Mengamankan File Teks Berbasis PHP .” Jurnal
Teknologi Informasi 2: 45-52.
Musliyana, Zuhar , Teuku Yuliar Arif , dan Rizal Munadi. 2016. “Peningkatan
Sistem Keamanan Otentikasi Single Sign On (SSO) Menggunakan
Algoritma AES dan One-Time Password Studi Kasus: SSO Universitas
Ubudiyah Indonesia.” Jurnal Rekayasa Elektrika 12: 21-29.
27