Anda di halaman 1dari 31

IMPLEMENTASI ENKRIPSI DAN DEKRIPSI BERBASIS WEB

DENGAN METODE ALGORITMA AES MENGGUNAKAN


FRAMEWORK CODEIGNITER

Oleh:
Restu Lisniarto Hanputra
201610225320

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK

UNIVERSITAS BHAYANGKARA JAKARTA RAYA

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.

Bekasi, Oktober 2019

Penulis

i
DAFTAR ISI

KATA PENGANTAR ............................................................................................. i


DAFTAR ISI ........................................................................................................... ii
BAB I PENDAHULUAN ...................................................................................... 1
1.1 Latar Belakang .............................................................................................. 1
1.2 Rumusan Masalah ......................................................................................... 1
1.3 Tujuan Penelitian .......................................................................................... 1
1.4 Batasan Masalah............................................................................................ 2
1.5 Metode Penelitian.......................................................................................... 2
1.6 Sistematika Penulisan ................................................................................... 3
BAB II LANDASAN TEORI ................................................................................. 4
2.1 Codeigniter ............................................................................................... 4
2.2 Web Server ............................................................................................... 4
2.3 Hypertext Preprocessor (PHP) ................................................................. 4
2.4 MariaDB ................................................................................................... 4
2.5 Kriptografi ................................................................................................ 4
2.5.1 Teori Kriptografi ............................................................................... 4
2.6 Algoritma Kriptografi ............................................................................... 6
2.6.1 Algoritma Kriptografi Simetris ......................................................... 6
2.6.2 Algoritma Kriptografi Simetris ......................................................... 7
2.7 Algoritma AES ......................................................................................... 8
2.8 Metode Pengembangan Sistem .............................................................. 10
3.8.1 Rapid Application Developtment (RAD) ............................................ 10
2.9 UML ....................................................................................................... 11
2.9.1 Use Case Diagram .............................................................................. 11
2.9.2 Class Diagram ..................................................................................... 12
2.9.3 Deployment Diagram .......................................................................... 12
BAB III METODOLOGI PENELITIAN.............................................................. 13
3.1 Kerangka Penelitian ............................................................................... 13
3.2 Analisis Sistem Usulan ........................................................................... 13

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.1 Latar Belakang


Pertukaran data melalui jaringan internet sangat mungkin dilakukan karena
tentunya akan mempercepat dan memudahkan proses pertukaran data terutama
dengan jarak yang jauh. Kemudahan ini tentunya berdampak pada munculnya
resiko dan ancaman keamanan data. Masalah keamanan merupakan salah satu
aspek penting dari sebuah sistem informasi. Sayang sekali masalah keamanan ini
sering kali kurang mendapat perhatian dari para pemilik dan pengelola sistem
informasi.

Seringkali masalah keamanan berada di urutan kedua, atau bahkan di urutan


terakhir dalam daftar hal-hal yang dianggap penting. Apabila mengganggu
performansi dari sistem, seringkali keamanan dikurangi atau ditiadakan. Sangat
pentingnya nilai sebuah informasi menyebabkan seringkali informasi atau file
diinginkan hanya boleh diakses oleh orang-orang tertentu. Jatuhnya informasi atau
file ke tangan pihak lain dapat menimbulkan kerugian bagi pemilik informasi.

Dalam beberapa tahun, beberapa peneliti telah banyak melakukan


implementasi algoritma kriptografi AES. Penelitian (Tulloh, Permanasari dan
Harahap 2016) enkripsi dan dekripsi untuk penyandian dokumen dengan algoritma
kriptografi AES. Dalam penelitian (Handayani 2017) mengamankan file dokumen
algoritma kriptografi AES dan menggunakan pengembangan sistem Rapid
Application Developtment (RAD). Hal ini yang memotivasi penulis untuk meneliti
masalah tersebut melalui penelitian yang berjudul: “Implementasi Ekripsi dan
Dekripsi Berbasis Web Dengan Metode AES Menggunakan Framework
CodeIgniter”.

1.2 Rumusan Masalah


Berdasarkan latar belakang masalah yang telah diuraikan di atas , maka
rumusan masalah dalam penelitian ini adalah bagaimana implementasi algoritma
AES untuk enkripsi dan dekripsi pada file ?

1.3 Tujuan Penelitian


Sesuai dengan rumusan masalah, maka tujuan dari penelitian ini adalah :

1
Membangun website yang dapat melakukan proses enkripsi, dekripsi file.

1.4 Batasan Masalah


Berdasarkan latar belakang yang telah diuraikan, maka ruang lingkup
penelitian dibatasi untuk menghindari permasalahan yang tidak relevan dengan
judul yang diangkat.
Batasan masalah tersebut terbatas pada :
1. Enkripsi dan dekripsi menggunakan algoritma AES.
2. File yang di enkripsi adalah file dokumen ( .pdf)
3. Tidak membahas serangan-serangan terhadap algoritma AES.

1.5 Metode Penelitian


Metode penelitian yang dilakukan dalam penelitian ini adalah :
1. Studi keperpustakaan yang dilakukan dengan membaca buku-buku,
artikel-artikel, internet dan sumber-sumber lain yang berhubungan
dengan masalah yang diteliti.
2. Analisis masalah yang dihadapi dan menyederhanakan permasalahan
tersebut.
3. Penulisan pemrograman (coding), menerjemahkan hasil rancangan ke
dalam bahasa sistem.
4. Metode Perancangan Sistem, dalam merancang sistem informasi ini
penulis menggunakan metode Rapid Application Development dimana
metode ini terdapat beberapa langkah-langkah dalam pengembangan
selanjutnya seperti fase pemodelan bisinis dimana pada fase ini kita
harus mengetahui informasi apa yang terkait pada proses bisnis. Kedua,
fase pemodelan data dimana kita harus mengatahui data apa saja yang
dibutuhkan. Ketiga, fase pemodelan proses dimana kita akan
mengimplementasikan fungsi bisnis yang sudah didefinisikan terkait
dengan pendefinisaian data. Keempat, fase pembuatan aplikasi dimana
kita dapat mengimplementasikan pemodelan proses dan data menjadi
program. Kelima, fase pengujian dimana kita menguji komponen-
komponen yang dibuat. Jika sudah teruji maka pengembang dapat
beranjak untuk mengembangkan komponen selanjutnya.

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.2 Web Server


Menurut (Raharjo, 2018) web server (http server) adalah bertugas melayani
permintaan -permsintaan URL yang dikirim komputer klien, memprose permintaan
tersebut (dengan bantuan software lain), dan kemudian meresponya kembali ke
komputer klien

2.3 Hypertext Preprocessor (PHP)


Menurut (Abdulloh, 2018) PHP (hypertext preprocessor) adalah pemroses
data pada sisi server sesuai yang diminta client menjadi informasi yang ditampilkan,
juga sebagai penghubung aplikasi web dengan database.

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 :

1. Memiliki banyak storage engine.


2. Mendukung galera cluster secara resmi.
3. Lebih cepat dan transparan dalam rilis keamanan.

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.

4. Non-repudiasi atau nirpenyangkalan


Non-repudiasi atau nirpenyangkalan adalah usaha untuk mencegah
terjadinya penyangkalan terhadap pengiriman/terciptanya suatu informasi
oleh yang mengirimkan/membuat.

Berbeda dengan kriptografi klasik yang menitikberatkan kekuatan pada


kerahasiaan algoritma yang digunakan (yang artinya apabila algoritma yang
digunakan telah diketahui maka pesan sudah jelas “bocor” dan dapat diketahui
isinya oleh siapa saja yang mengetahui algoritma tersebut), kriptografi modern
lebih menitikberatkan pada kerahasiaan kunci yang digunakan pada algoritma
tersebut (oleh pemakainya) sehingga algoritma tersebut dapat saja disebarkan ke
kalangan masyarakat tanpa takut kehilangan kerahasiaan bagi para pemakainya.
Berikut adalah istilah-istilah yang digunakan dalam bidang kriptografi :
a. Plaintext (M) adalah pesan yang hendak dikirimkan (berisi data asli)
b. Ciphertext (C) adalah pesan ter-enkrip (tersandi) yang merupakan hasil
enkripsi

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

Gambar 2.1. Diagram Proses Enkripsi dan Dekripsi

Peranan kunci sangatlah penting dalam proses enkripsi dan dekripsi


(disamping pula algoritma yang digunakan) sehingga kerahasiannya sangatlah
penting, apabila kerahasiaannya terbongkar, maka isi pesan dapat diketahui.

2.6 Algoritma Kriptografi


2.6.1 Algoritma Kriptografi Simetris
Algoritma simetris, sering juga disebut dengan algoritma kunci rahasia atau
sandi kunci rahasia. Algoritma asimetris (asymmetric algorithm) adalah suatu
algoritma dimana kunci enkripsi yang digunakan tidak sama dengan kunci dekripsi.
Pada algoritma ini menggunakan dua kunci yakni kunci publik (public key) dan
kunci privat (private key). Kunci publik disebarkan secara umum sedangkan kunci
privat disimpan secara rahasia oleh si pengguna. Pada gamabar 2.2 dijelaskan
diagram proses enkripsi dan dekripsi algoritma simetris.

6
Gambar 2.2. Diagram enkripsi dan dekripsi algoritma simetris

Kelebihan algoritma kriptografi simetris :

1. Algoritma kriptografi simetri dirancang sehingga proses enkripsi/dekripsi


membutuhkan waktu yang singkat.
2. Ukuran kunci simetri relatif pendek.
3. Algoritma kriptografi simetri dapat digunakan untuk membangkitkan
bilangan acak.
4. Algorima kriptografi simetri dapat disusun untuk menghasilkan cipher
yang lebih kuat.
5. Otentikasi pengirim pesan langsung diketahui dari cipherteks yang
diterima, karena kunci hanya diketahui oleh pengirim dan penerima pesan
saja.

Kelemahan algoritma kriptografi 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.

2.6.2 Algoritma Kriptografi Simetris


Kriptografi asimetris adalah algoritma yang menggunakan kunci yang
berbeda untuk proses enkripsi dan deskripsi. Dimana kunci enkripsi dapat
disebarkan kepada umum dan dinamakan sebagai kunci publik (public key),
sedangkan kunci deskripsi disimpan untuk digunakan sendiri dan dinamakan
sebagai kunci pribadi (private key). Oleh karena itu, kriptografi ini dikenal pula
dengan nama kriptografi kunci publik (public key cryptography). Pada gamabar 2.2
dijelaskan diagram proses enkripsi dan dekripsi algoritma simetris.

7
Gambar 2.3. Diagram enkripsi dan dekripsi algoritma asimetris

Kelebihan algoritma kriptografi 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.

Kelemahan algoritma kriptografi asimetris :

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.

2.7 Algoritma AES


AES merupakan sistem penyandian blok yang bersifat non-Feistel karena
AES menggunakan komponen yang selalu memiliki invers dengan panjang blok
128 bit. Kunci AES menggunakan proses yang berulang yang disebut dengan ronde.
Proses di dalam AES merupakan transformasi terhadap state. Sebuah teks asli
dalam blok (128 bit) terlebih dahulu diorganisir sebagai state. Enkripsi AES adalah
transformasi terhadap state secara berulang dalam beberapa ronde. State yang
menjadi keluara ronde k menjadi masukan untuk ronde ke-k +1 (Tulloh,
Permanasari dan Harahap 2016, 8).

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:

1. SubBytes, sebagai transformasi subtitusi.

2. ShiftRows, sebagai transformasi permutasi.

3. MixColumns, sebagai transformasi pengacakan.

4. AddRoundKey, sebagai transformasi penambahan kunci.

Pada ronde terakhir, yaitu ronde ke-Nr dilakukan transformsi serupa dengan
ronde lain namun tanpa transfomasi serupa dengan ronde lain namun tanpa
transformasi MixColumns.

Algotirma dekripsi AES dapat diilustrasikan seperti Gambar 1. Secara


ringkas algoritma deskripsi merupakan kebalikan algoritma enkripsi AES.
Algoritma dekripsi AES menggunakan Tansformasi invers semua transformasi
dasar yang digunakan pada algoritma enkripsi AES. Setiap tranformasi dasar dari
algoritma kriptografi AES memiliki transformasi invers, yaitu: InvSubBytes,
InvShiftRows dan InvMixColumns. AddroundKey merupakan transformasi yang
bersifat self-invers dengan syarat mengunakan kunci yang sama.

Menurut (Tulloh, Permanasari dan Harahap 2016) penyandian AES


membutuhkan kunci ronde untuk setiap ronde transformasi kunci ronde ini di
bangkitkan (di ekspansi) dari kunci AES. Pada bagian ini di bahas bagaimana kunci
ronde di bangkitkan oleh kunci AES. Kunci AES 128 bit atau 4 word menghasilkan
sebuah larik sebanyak 44 word yang menjadi kunci. Berikut adalah langkah langkah
mengekspansi kunci:

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]).

2. Untuk elemen keluaran selanjutnya W[i] dengan i ={4,…,43} dihitung sebagai


berikut:

a. Salin W [i-1] pada word t.


b. Jika i mod 4 = 0 ( I habis dibagi 4 ) maka lakukan W[i]= f (t,i) ⊕ W[i-
4] ,dengan fungsi f(t,i) adalah sebagai berikut:
f(t,i) = Subword (rotword(t)) ⊕ RC[i/4]
c. Jika I mod 4 tidak sama dengan 0, lakukan W[i]= t ⊕ W[i-4].

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.

Gambar 2.4. Tahapan RAD

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.

2.9.1 Use Case Diagram


Menurut (Munawar, 2018) use case diagram adalah deksripsi fungsi dari
sebuah sistem dari perspektif pengguna.

Gambar 2.5. Use Case

11
2.9.2 Class Diagram
Menurut (Munawar, 2018) class diagram adalah diagram statis. Ini mewakili
pandangan statis suatu aplikasi.

Gambar 2.6. Class Diagram

2.9.3 Deployment Diagram


Menurut (Munawar, 2018, h. 54) deployment diagram adalah diagram yang
menunjukkan tata letak dari sebuah sistem secara fisik, menampakkan bagian-
bagian software yang berjalan pada bagian-bagian hardware.

Gambar 2.7. Deploymment Diagram

12
BAB III

METODOLOGI PENELITIAN

3.1 Kerangka Penelitian

Untuk membantu dalam penyusunan penelitian ini, maka diperlukan suatu


susunan kerangka penelitian yang jelas untuk tahapan-tahapannya. Kerangka
penelitian ini merupakan langkah-langkah yang akan dilakukan dalam penyelesaian
yang akan dibuat. Adapun kerangka kerja penelitian yang digunakan adalaha
sebagai berikut:

Gambar 3.1. Kerangka Penelitian

3.2 Analisis Sistem Usulan

3.2.1 Analisis Sistem Enkripsi’

13
Gambar 3.2 Flowchart Sistem Enkripsi

Penjelasan :

1. User login melalu web mecrypt, lalu me-upload file yang ingin dienkripsi.

2. Sistem akan me-enkripsi file.

3. Lalu user akan diarahkan ke halaman list file terenkripsi.

4. User me-download file yang sudah terenkripsi.

3.2.2 Analisis Sistem Dekripsi

14
Gambar 3.3 Flowchart Sistem Dekripsi

Penjelasan :

1. User login melalu web mecrypt, lalu me-upload file terenkripsi yang ingin
didekripsi.

2. Sistem akan me-dekripsi file. Lalu, me-force download ke komputer user.

3. User mendapatkan file yang sudah didekripsi

3.2.3 Analisis Sistem Admin

15
Gambar 3.3 Flowchart Sistem Admin

Penjelasan :

1. Admin login melalu web mecrypt

2. Admin bisa menambah user, mengedit user atu menghapus user.

3. Admin mendapatkan laporan berupa semua data user yang terdaftar.

3.3 Metode Pengembangan Sistem

Metode pengembangan sistem yang penulis gunakan adalan metode rapid


application developtmen (RAD). Metode ini terdiri dari lima tahapan yaitu sebagai
berikut:

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.

3.4 Use case diagram

Gambar 3.4 Use Case Mecrypt

Tabel 3.1 Deksripsi Use Case

No Nama Use Case Deskripsi Aktor

17
1 Login Tampilan yang diakases oleh admin dan Admin,user.
user jika ingin masuk ke halaman admin
dan user.

2 Kelola User Tampilan untuk mengelola data admin Admin


dan user baik tambah, edit dan delete
data user dan admin.

3 Enkripsi File Tampilan untuk meenkripsi file. Admin, user

4 Dekripsi File Tampilan untuk mendeksripsi file. Admin, user

5 List File Tampilan untuk melihat list dokumen Admin, user


Terenkripsi terenkripsi.

6 User Profile Tampilan untuk mengubah data user atau Admin, user
admin.

10 Logout Keluar dari halaman admin dan user Admin, user

3.5 Class Diagram

Gambar 3.5 Class Diagram Mecrypt

Pada class diagram diatas merupakan representasi tabel - tabel yang


ada di database.

3.6 Deployment Diagram

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.

deployment Deployment Diagram

Web Serv er Database Serv er

Mecrypt MySQL
Brow ser Database

User

Gambar 3.6 Deployment Diagram Mecrypt

3.7 Rancangan Database

1. Nama File: dokumen

Gambar 3.7 File Dokumen

2. Nama File : user

19
Gambar 3.7 File User

20
BAB IV

PERANCANGAN SISTEM DAN IMPLEMENTASIi

4.1 Spesifikasi Alat Penelitian


Dalam pelaksanaan penelitian, penulis menggunakan sebuah laptop sebagai
alat bantu untuk melaksanakan penelitian. Berikut spesifikasi perangkat keras
(hardware) dan perangkat lunak (software) yang penulis gunakan selama kegiatan
kerja praktek berlangsung.

4.1.1 Spesifikasi hardware


1. Processor : Intel®Core i5 7200u
2. Ram :16 GB
3. Harddisk : 1 TB

4.1.2 Spesifikasi software


1. Operasi Sistem : Linux Manjaro 18.1.0 (64 bit)
2. Webserver : XAMPP 7.3.4 (Apache/2.4.23, MariaDB 10.1.19,
PHP 7.0.13)
3. Framework PHP : CodeIgniter 3.19
4. Browser : Google Chrome 77.0
5. Text Editor : Visual Studio Code version 1.33.1
6. Diagram Tools : yEd version 3.19

4.2 Implementasi Sistem Enkripsi dan Dekripsi Berbasis Web


4.2.1 Halaman Login

21
Gambar 4.1 Halaman Login

4.2.2 Halaman Dashboard

Gambar 4.2 Halaman Dashboard

4.2.3 Halaman Enkripsi File

22
Gambar 4.3 Halaman Enkripsi File

4.2.4 Halaman Dekripsi File

Gambar 4.4 Halaman Dekripsi File

4.2.5 Halaman File Terenkripsi

Gambar 4.5 Halaman List File Terenkripsi

4.2.6 Halaman User Profile

23
Gambar 4.6 Halaman User Profile

4.2.7 Halaman User (Role Admin)

Gambar 4.7 Halaman User (Role Admin)

4.3 Pengujian Blackbox Testing

Tabel 4.1 Blackbox testing

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.

Handayani , Fitri . 2017. “IMPLEMENTASI TEKNIK KOMPRESI FILE TEKS


DENGAN ALGORITMA HUFFMANN DAN MENGAMANKAN FILE
TEKS DENGAN ALGORITMA ADVANCED ENCRYPTION
STANDARD (AES).” Jurnal Pelita Informatika 16: 275-277 .

Kromodimoeljo, Sentot . 2009. Dalam TEORI & APLIKASI KRIPTOGRAFI, 5.


SPK IT Consulting.

Tulloh, Aditia Rahmat, Yurika Permanasari, dan Erwin Harahap . 2016.


“Kriptografi Advanced Encryption Standard (AES) Untuk Penyandian File
Dokumen.” Jurnal Matematika UNISBA 15: 7-14.

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.

Raharjo, B. (2018a). Belajar Otodidak Framework CodeIgniter Teknik


Pemrograman Web dengan PHP 7 dan Framework Code Igniter Edisi
Revisi. Bandung: INFORMATIKA Bandung.
Raharjo, B. (2018b). Modul Pemrograman Web (HTML, PHP, &
MySQL/MariaDB) (Revisi Keempat). Jakarta: Modula.
Munawar. (2018). Analisis Perancangan Sistem Berorientasi Objek dengan UML
(Unified Modeling Language). Bandung: INFORMATIKA Bandung.

27

Anda mungkin juga menyukai