RANCANG BANGUN REPOSITORY GURU
MENGGUNAKAN METODE ENKRIPSI ADVANCE
ENCRYPTION STANDARD DAN KOMPRESI HUFFMAN
(STUDI KASUS: SMP MUHAMMADIYAH 22 TANGERANG
SELATAN)
Oleh
ABDUL DZULJALALI WAL IKROM
NIM: 11140910000143
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH
JAKARTA
2019
ii
UIN Syarif Hidayatullah Jakarta
ii
UIN Syarif Hidayatullah Jakarta
PERNYATAAN ORISINALITAS
Dengan ini saya menyatakan bahwa:
1. Skripsi/tesis/disertasi ini merupakan hasil karya asli saya yang diajukan untuk
memenuhi salah satu persyaratan memperoleh gelar strata 1/strata 2/strata 3 di
UIN Syarif Hidayatullah Jakarta.
2. Semua sumber yang saya gunakan dalam penulisan ini telah saya cantumkan
sesuai dengan ketentuan yang berlaku di UIN Syarif Hidayatullah Jakarta.
3. Jika di kemudian hari terbukti bahwa karya ini bukan hasil karya asli saya atau
merupakan hasil jiplakan dari karya orang lain, maka saya bersedia menerima
sanksi yang berlaku di UIN Syarif Hidayatullah Jakarta.
Jakarta, 17 Juli 2019
Abdul Dzuljalali Wal Ikrom
iii
UIN Syarif Hidayatullah Jakarta
iv
UIN Syarif Hidayatullah Jakarta
KATA PENGANTAR
Assalamualaikum Warahmatullahi Wabarakatuh. Bismillahirrohmanirrohim …
Puji syukur penulis panjatkan kehadirat Allah SWT yang telah
melimpahkan rahmat, taufik serta hidayah-Nya sehingga penulis dapat
melaksanakan dan menyelesaikan tugas akhir skripsi ini dengan baik yang
merupakan salah satu syarat untuk memperoleh gelar kesarjanaan Strata Satu (S1)
bagi mahasiswa UIN Syarif Hidayatullah Jakarta, Program Studi Teknik
Informatika, Fakultas Sains dan Teknologi.
Penulis ingin mengucapkan banyak terima kasih kepada pihak-pihak terkait
lainnya yang telah banyak membimbing penulis dalam melakukan penulisan skripsi
ini, karena tanpa bimbingan dan dorongan dari semua pihak, maka penulisan
laporan ini tidak akan berjalan dengan lancar. Selanjutnya penulis menyampaikan
ucapan terima kasih kepada:
1. Allah subhanahu wa ta’ala
2. Orang tua dan keluarga tercinta yang telah memberi dorongan dan dukungan
baik moril maupun materil kepada penulis.
3. Prof. Dr. Lily Surraya Eka Putri, M.Env.Stud selaku Dekan Fakultas Sains dan
Teknologi.
4. Bapak Imam Marzuki Shofi, MT selaku Ketua Program Studi Teknik
Informatika.
5. Bapak Andrew Fiade, M.Kom selaku Sekretaris Program Studi Teknik
Informatika.
6. Ibu Siti Ummi Masruroh, M.Sc selaku dosen pembimbing pertama dan Hendra
Bayu Suseno, M.kom selaku pembimbing kedua, yang telah memberikan
bantuan berupa bimbingan, arahan dan motivasi kepada penulis dalam
menyelesaikan skripsi.
7. Kepada seluruh teman-teman mahasiswa CCIT-FTUI angkatan 2012 yang telah
membantu maupun mendoakan penulis untuk dapat menyelesaikan skripsi ini
dengan baik.
v
UIN Syarif Hidayatullah Jakarta
Serta semua pihak tidak dapat disebutkan satu persatu sehingga terwujudnya
penulisan ini. Penulis menyadari bahwa penulisan skripsi ini masih jauh dari
sempurna, untuk itu penulis mohon saran yang bersifat membangun untuk penulis.
Akhir kata semoga laporan skripsi ini dapat berguna bagi penulis khususnya
dan bagi para pembaca yang berniat pada umumnya. Semoga pihak - pihak yang
membantu dalam penulisan skripsi ini mendapat balasan dari ALLAH SWT.
Aamiin ya rabal’alamin.
Wassalamu’alaikum Warahmatullahi Wabarakatuh
Jakarta, 17 Juli 2019
Penulis
Abdul Dzuljalali W. I
11140910000143
vi
UIN Syarif Hidayatullah Jakarta
PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI UNTUK
KEPENTINGAN AKADEMIS
Sebagai civitas akademik UIN Syarif Hidayatullah Jakarta, saya yang bertanda
tangan di bawah ini:
Nama : Abdul Dzuljalali Wal Ikrom
NIM : 11140910000143
Program Studi : Teknik Informatika
Fakultas : Sains dan Teknologi
Jenis karya : Skripsi
demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada
Universitas Islam Negeri Syarif Hidayatullah Jakarta Hak Bebas Royalti
Noneksklusif atas karya ilmiah saya yang berjudul:
RANCANG BANGUN REPOSITORY GURU MENGGUNAKAN METODE
ENKRIPSI ADVANCE ENCRYPTION STANDARD DAN KOMPRESI
HUFFMAN (STUDI KASUS: SMP MUHAMMADIYAH 22 TANGERANG
SELATAN)
beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti
Noneksklusif ini Universitas Islam Negeri Syarif Hidayatullah Jakarta berhak
menyimpan, mengalih media/formatkan, mengelola dalam bentuk pangkalan data
(database), merawat, dan memublikasikan tugas akhir saya selama tetap
mencantumkan nama saya sebagai penulis/pencipta dan sebagai pemilik Hak Cipta.
Demikian pernyataan ini saya buat dengan sebenarnya.
Dibuat di: Tangerang
Pada tanggal: 17 Juli 2019
Yang menyatakan
(Abdul Dzuljalali Wal Ikrom)
vii
UIN Syarif Hidayatullah Jakarta
Penulis : Abdul Dzuljalali Wal Ikom
Program Studi : Teknik Informatika
Judul : Rancang Bangun Rrepository Guru Menggunakan
Meotde Enkripsi Advance Encryption Standart Dan Kompresi Huffman (Studi
Kasus: SMP Muhammadiyah 22 Tangerang Selatan)
ABSTRAK
Aplikasi Repository Guru ini dirancang karena adanya dokumen atau arsip
(penyimpanan) data yang masih manual, dan data-data tersebut mempunyai
informasi penting. Sehingga diterapkanlah metode enkripsi AES dan Kompresi
Huffman, dikarenakan adanya informasi penting pada document sekolah yang
rentan bocor karena alur penyimpanan yang masih manual. Menurut hasil
wawancara membuktikan bahwa proses yang berjalan sangatlah tidak efisien dan
efektik serta rawan akan bocornya informasi penting dari dokumen tersebut ke
pihak yang tidak bertanggung jawab. sistem ini dibangun berbasis web, dengan
bahasa PHP + framework CodeIgniter serta MySQL sebagai database. Metode
pengembangan system yang digunakan adalah Waterfall, serta pengumpulan data
dengan menggunakan studi pustaka dan wawancara
Kata Kunci : Enkripsi AES, Kompresi Huffman, Aplikasi Repository Guru,
PHP, MySql, Waterfall, CodeIgniter
viii
UIN Syarif Hidayatullah Jakarta
DAFTAR ISI
PERNYATAAN ORISINALITAS ......................................................................... ii
KATA PENGANTAR ........................................................................................... iii
PERNYATAAN PERSETUJUAN PUBLIKASI SKRIPSI UNTUK
KEPENTINGAN AKADEMIS ............................................................................. vi
ABSTRAK ............................................................................................................ vii
DAFTAR ISI ........................................................................................................ viii
DAFTAR TABEL .................................................................................................. xi
DAFTAR GAMBAR ............................................................................................ xii
BAB I ...................................................................................................................... 1
PENDAHULUAN................................................................................................... 1
1.1 Latar Belakang.......................................................................................... 1
1.2 Perumusan Penelitian ............................................................................... 5
1.3 Batasan Masalah ....................................................................................... 5
1.3.1 Metodologi ........................................................................................ 5
1.3.2 Proses ................................................................................................ 6
1.3.3 Tools .................................................................................................. 6
1.4 Tujuan Penelitan ....................................................................................... 7
1.5 Manfaat Penelitian .................................................................................... 7
1.6 Metode Penelitian ..................................................................................... 7
1.6.1 Studi Pustaka ..................................................................................... 7
1.6.2 Wawancara ........................................................................................ 8
1.7 Metode Pengembangan Sistem................................................................. 8
1.8 Sistematika Penulisan ............................................................................... 8
BAB II ................................................................................................................... 10
LANDASAN TEORI ............................................................................................ 10
2.1 Konsep Dasar Rancang Bangun ............................................................ 10
2.1.3 Pengertian Rancang ......................................................................... 10
2.1.4 Pengertian Bangun .......................................................................... 10
2.2 Repository............................................................................................... 10
ix
UIN Syarif Hidayatullah Jakarta
2.2.1 Kearsipan......................................................................................... 11
2.2.2 Perpustakaan Digital ....................................................................... 11
2.2.3 Institutional Digital Repository ....................................................... 12
2.3 Kriptogafi ............................................................................................... 13
2.4 Enkripsi AES .......................................................................................... 17
2.4.1 Enkripsi AES Counter Mode .......................................................... 19
2.4.2 Dekripsi AES Counter Mode .......................................................... 20
2.5 Kompresi ................................................................................................ 21
2.5.1 Kompresi Huffman.......................................................................... 22
2.6 PHP ......................................................................................................... 22
2.6.1 Framework PHP .............................................................................. 23
2.6.2 CodeIgniter ...................................................................................... 23
2.6.3 Karakteristik CodeIgniter ................................................................ 23
2.7 Unified Modelling Language (UML) ..................................................... 24
2.8 Metode Pengembangan Sistem Waterfall .............................................. 30
2.8.1 Kelebihan model Linear Sequential / Waterfall : ............................ 32
2.8.2 Kekurangan model Linear Sequential / Waterfall :......................... 32
2.8.3 Alasan menggunakan metode waterfall .......................................... 32
2.9 Systematic Literature Review................................................................. 34
BAB III.................................................................................................................. 36
METODE PENGEMBANGAN SISTEM ............................................................ 36
3.1 Metode Pengumpulan Data .................................................................... 36
3.1.1 Wawancara ...................................................................................... 36
3.1.2 Studi Pustaka ................................................................................... 36
3.2 Metode Pengembangan Sistem............................................................... 36
3.2.1 Analysis ........................................................................................... 36
3.2.2 Design ............................................................................................. 37
3.2.3 Fase Implementasi ........................................................................... 37
3.2.4 Testing ............................................................................................. 38
3.3 Alur Kerangka Berfikir........................................................................... 38
BAB IV ................................................................................................................. 40
TAHAP PENGEMBANGAN ............................................................................... 40
x
UIN Syarif Hidayatullah Jakarta
4.1 Fase Analysis .......................................................................................... 40
4.1.1 Identifikasi Masalah ........................................................................ 40
4.1.2 Kebutuhan Sistem ........................................................................... 40
4.1.3 Planning........................................................................................... 42
4.1.4 Design Proses Enkripsi AES ........................................................... 43
4.1.5 Design Proses Dekripsi AES ........................................................... 43
4.2 Fase Design ............................................................................................ 44
4.2.1 Arsitektur Design ............................................................................ 44
4.4.2 Database Design ............................................................................. 74
4.4.3 Interfce Design ................................................................................ 76
4.3 Fase Implementasi .................................................................................. 80
4.3.1 Penerapan Enkripsi AES ................................................................. 80
4.3.2 Penerapan Kompresi Huffman ........................................................ 91
4.3.3 Penginputan Data ............................................................................ 94
4.4 Pengujian Sistem .................................................................................... 95
4.4.1 Tahap pengujian admin ................................................................... 95
4.4.2 User Acceptance Testing (UAT) ..................................................... 96
BAB V ................................................................................................................... 97
HASIL DAN PEMBAHASAN ............................................................................. 97
5.1 Hasil Enkripsi Document ........................................................................ 97
5.2 Hasil Kompresi Document ..................................................................... 98
5.3 Hasil Tampilan User Interface ............................................................... 99
BAB VI ............................................................................................................... 103
PENUTUP ........................................................................................................... 103
6.1 Kesimpulan ........................................................................................... 103
6.2 Saran ..................................................................................................... 103
DAFTAR PUSTAKA ......................................................................................... 104
LAMPIRAN ........................................................................................................ 106
xi
UIN Syarif Hidayatullah Jakarta
DAFTAR TABEL
Tabel 2 1 Jumlah proses berdasarkan block bit dan kunci .................................... 17
Tabel 2 2 Notasi Sequence Diagram ..................................................................... 27
Tabel 2 3 Tabel perbandingan hasil SLR .............................................................. 34
Tabel 4 1 Usecase Scenario Input Data Guru ....................................................... 46
Tabel 4 2 Usecase Scenario Update Data Guru.................................................... 47
Tabel 4 3 Usecase Scenario View Data Guru ....................................................... 48
Tabel 4 4 Usecase Scenario Input Kategori File .................................................. 48
Tabel 4 5 Usecase Scenario Update Kategori File ............................................... 49
Tabel 4 6 Usecase Scenario View Kategori File ................................................... 49
Tabel 4 7 Usecase Scenario Input Kategori Jabatan ............................................. 50
Tabel 4 8 Usecase Scenario Update Kategori Jabatan ......................................... 50
Tabel 4 9 Usecase Scenario View Kategori Jabatan ............................................. 51
Tabel 4 10 Usecase Scenario Upload File ............................................................ 52
Tabel 4 11 Usecase Scenario Update File ............................................................ 52
Tabel 4 12 Usecase Scenario View Data File ....................................................... 53
Tabel 4 13 Usecase Scenario Update Profile ....................................................... 53
Tabel 4 14 Usecase Scenario Update Password................................................... 54
Tabel 4 15 Data Guru ............................................................................................ 74
Tabel 4 16 Kategori File ....................................................................................... 75
Tabel 4 17 Kategori Jabatan .................................................................................. 75
Tabel 4 18 Files ..................................................................................................... 76
Tabel 4 19 Pseudocode AES Chiper block ............................................................ 81
Tabel 4 20 Pseudocode AES Key Expansion ........................................................ 83
Tabel 4 21 Pseudocode Enkripsi AES .................................................................. 84
Tabel 4 22 Pseudocode dekripsi AES ................................................................... 90
Tabel 4 23 Pengujian Akun/User Guru ................................................................. 95
Tabel 4 24 Pengujian Akun/User guru .................................................................. 96
xii
UIN Syarif Hidayatullah Jakarta
DAFTAR GAMBAR
Gambar 2 1 Flowchart enkripsi AES CTR ........................................................... 20
Gambar 2 2 Flowchart dekripsi AES CTR ........................................................... 21
Gambar 2 3 Contoh Use Case Diagram ................................................................ 25
Gambar 2 4 Contoh Sequence Diagram ................................................................ 27
Gambar 2 5 Contoh Class Diagram ...................................................................... 29
Gambar 2 6 Contoh Activity Diagram .................................................................. 30
Gambar 3 1 Alur Kerangka Berfikir ..................................................................... 39
Gambar 4 1 Gambaran Sistem Berjalan ................................................................ 40
Gambar 4 2 Gambaran Sistem Usulan .................................................................. 41
Gambar 4 3 Planning pengembangan dengan metode waterfall ........................... 42
Gambar 4 4 Proses Enkripsi Document ................................................................ 43
Gambar 4 5 Proses Dekripsi Document ................................................................ 43
Gambar 4 6 Class Diagram Repository Guru ....................................................... 45
Gambar 4 7 Usecase Diagram Repository Guru ................................................... 46
Gambar 4 8 Sequence Diagram Add guru ............................................................ 55
Gambar 4 9 Sequence Diagram Update guru ........................................................ 56
Gambar 4 10 Sequence Diagram View Data guru ................................................ 56
Gambar 4 11 Sequence Diagram Input Kategori Jabatan ..................................... 57
Gambar 4 12 Sequence Diagram Update Kategori Jabatan .................................. 57
Gambar 4 13 Sequence Diagram View Kategori Jabatan ..................................... 58
Gambar 4 14 Sequence Diagram Input Kategori File ........................................... 58
Gambar 4 15 Sequence Diagram Update Kategori File ........................................ 59
Gambar 4 16 Sequence Diagram View Kategori File ........................................... 59
Gambar 4 17 Sequence Diagram Upload File....................................................... 60
Gambar 4 18 Sequence Diagram Update File ....................................................... 60
Gambar 4 19 Sequence Diagram View File .......................................................... 61
xiii
UIN Syarif Hidayatullah Jakarta
Gambar 4 20 Sequence Diagram Update Profile .................................................. 61
Gambar 4 21 Sequence Diagram Update Password .............................................. 62
Gambar 4 22 Activity Diagram Add Guru ............................................................ 63
Gambar 4 23 Activity Update Data Guru ............................................................. 64
Gambar 4 24 Activity Add Jabatan ....................................................................... 65
Gambar 4 25 Activity Update Jabatan .................................................................. 66
Gambar 4 26 Activity Add Kategori File .............................................................. 67
Gambar 4 27 Update Kategori File ....................................................................... 68
Gambar 4 28 Activity Upload File ........................................................................ 69
Gambar 4 29 Activity Update File ........................................................................ 70
Gambar 4 30 Activity Hapus File ......................................................................... 71
Gambar 4 31 Activity Update File ....................................................................... 72
Gambar 4 32 Activity Update Password ............................................................... 73
Gambar 4 33 Halaman Login ................................................................................ 77
Gambar 4 34 Input Data Guru ............................................................................... 77
Gambar 4 35 Halaman Input Kategori File ........................................................... 78
Gambar 4 36 Halaman Input Kategori Jabatan ..................................................... 78
Gambar 4 37 Halaman Upload File ...................................................................... 79
Gambar 4 38 Halaman Update Profile .................................................................. 79
Gambar 4 39 Alur Enkripsi ................................................................................... 80
Gambar 4 40 Proses Chiper Block ........................................................................ 82
Gambar 4 41 Implementasi Enkripsi..................................................................... 84
Gambar 4 42 Pembagian block plaintext .............................................................. 85
Gambar 4 43 Pembuatan counter block ................................................................ 85
Gambar 4 44 Proses membangkitkan round key................................................... 86
Gambar 4 45 Proses addRoundKey fase awal ...................................................... 86
Gambar 4 46 Proses subBytes tahap 1 .................................................................. 87
Gambar 4 47 Proses shiftRows tahap 1................................................................. 87
Gambar 4 48 Proses mixColumns tahap 1 ............................................................ 88
Gambar 4 49 Proses addRoundKey tahap 1 .......................................................... 88
Gambar 4 50 addRoundKey tahap akhir ............................................................... 89
xiv
UIN Syarif Hidayatullah Jakarta
Gambar 4 51 Proses XOR counter cipher dengan block plaintext........................ 89
Gambar 4 52 Hasil XOR counter cipher dengan block plaintext.......................... 89
Gambar 4 53 Hitung Kemunculan Karakter ......................................................... 91
Gambar 4 54 Urutkan Nilai Berdasarkan Kemunculan Karakter Terbesar ......... 91
Gambar 4 55 Gabungkan 2 Pohon Kemunculan Terkecil Dan Urutkan Kembali 92
Gambar 4 56 Mengulang Langkah ke-3 Sampai Membentuk Pohon Biner ......... 92
Gambar 4 57 Memberi label sisi kiri pohon diberi label 0 dan sisi kanan 1 ......... 93
Gambar 4 58 Proses Decoding dengan Menggunakan Pohon Huffman ............... 94
Gambar 5 1 File sebelum enkripsi ........................................................................ 97
Gambar 5 2 File dibuka sebelum enkripsi ............................................................ 97
Gambar 5 3 File sesudah enkripsi ......................................................................... 98
Gambar 5 4 File dibuka setelah enkripsi............................................................... 98
Gambar 5 5 File sebelum di-kompres ................................................................... 98
Gambar 5 6 File sesudah di-kompres.................................................................... 98
Gambar 5 7 Design Interface Login ...................................................................... 99
Gambar 5 8 Design Interface Data Guru ............................................................ 100
Gambar 5 9 Design Interface Kategori File ........................................................ 100
Gambar 5 10 Design Interface Kategori Jabatan ................................................ 101
Gambar 5 11 Design Interface Upload File ........................................................ 101
Gambar 5 12 Design Interface Update Profile Dan Password.......................... 102
1
UIN Syarif Hidayatullah Jakarta
BAB I
PENDAHULUAN
1.1 Latar Belakang
Teknologi informasi merupakan teknologi yang memegang peranan yang
penting pada era globalisasi ini, karena berbagai macam aplikasi pertukaran
informasi dan pusat data melalui sarana internet dan komputer, dapat dibangun
dengan teknologi informasi tersebut. Informasi yang tersimpan dalam bentuk
arsip dan dokumen menjadi bahan bagi pimpinan organisasi/lembaga untuk
pengambilan keputusan. Hal ini menyebabkan pertukaran informasi dan
persebaran dokumen seperti arsip atau rekaman dapat dilakukan secara cepat
dan efisien, tidak terbatas oleh waktu dan tempat. Arsip atau rekaman kegiatan
dalam suatu kegiatan sangat penting untuk dipelihara dan dikelola. Pengelolaan
arsip yang kurang baik dalam suatu organisasi/lembaga akan berdampak buruk
terhadap kinerja Lembaga tersebut.
Sekolah sebagai Lembaga yang mengelola sumber daya manusia dalam
bidang akademik sangat erat kepentingannya dengan administrasi kearsipan.
Semakin banyak siswa dan guru disuatu sekolah, maka semakin banyak arsip
yang harus dikelola. Demikian pula informasi-informasi penting yang jika
datanya digunakan atau hilang dapat berakibat fatal untuk siswa dan terutama
guru disekolah. Permasalahan yang sering muncul di sekolah antara lain
sulitnya menemukan kembali arsip dan dokumen yang diperlukan (Bash, 2015).
Berdasarkan hasil wawancara dengan Ibu Ida selaku Kepala Kurikulum dan
Guru di SMP Muhammadiyah 22 Tangerang Selatan mengutarakan, bahwa
pada sistem repository/pengarsipan dokumen guru di SMP Muhammadiyah 22
Tangerang Selatan masih kurang, dikarenakan sistem pengelolaan berkas
sertifikasi guru, nilai siswa, berkas administrasi, materi pembelajaran guru pada
saat ini masih berjalan secara manual, yaitu dengan menyimpan dokumen
secara masing - masing sehingga mengakibatkan dokumen menjadi tidak rapih
dan rentan keamanannya, seperti rusak, hilang ataupun nilai siswa yang rentan
2
UIN Syarif Hidayatullah Jakarta
terjadi perubahan. Untuk itu dibutuhkan sebuah Repository Guru yang dapat
mengamankan data dari kerusakan, hilang dan perubahan nilai yang tidak
diinginkan dari pihak lain, mengingat bahwa data - data sekolah merupakan data
penting yang tidak sembarang orang boleh tahu. Maka dari itu dibutuhkan
sebuah sistem keamanan data pada sekolah ini adalah menggunakan teknik
kriptografi. Namun dibutuhkan pula penyimpanan yang besar, dimana di
sekolah pada umunya tidak mempunyai penyimpanan yang sangat besar, maka
dibutuhkan teknik kompresi agar memaksimalkan penyimpanan yang tidak
terlalu besar.
Kriptografi merupakan sebuah ilmu yang digunakan untuk menjaga
kerahasiaan dari sebuah data, dengan menggunakan metode-metode tertentu
sehingga data hanya dapat dibaca oleh orang yang berhak terhadap data
tersebut (Handoko dan Aripin, 2015 : 2). Dalam bidang kriptografi, terdapat
dua konsep yang sangat penting atau utama, yaitu enkripsi dan dekripsi.
Enkripsi adalah proses dimana informasi atau data yang hendak dikirim diubah
menjadi bentuk yang hampir tidak dikenali sebagai informasi awalnya dengan
menggunakan algoritma tertentu. Dekripsi adalah kebalikan dari enkripsi yaitu
mengubah kembali bentuk tersamar tersebut menjadi informasi awal. Sebuah
pesan atau data yang masih asli dan belum mengalami penyandian dikenal
dengan istilah plaintext. Kemudian setelah disamarkan dengan suatu cara
penyandian, maka plaintext ini disebut sebagai chipertext. Proses penyamaran
dari plaintext Key ciphertext disebut enkripsi (encryption), dan proses
pengembalian dari ciphertext menjadi plaintext kembali disebut dekripsi
(decryption) (Pabokory, dkk, 2015 : 20).
Kriptografi merupakan suatu ilmu yang mempelajari teknik-teknik
matematika yang berhubungan dengan aspek keamamanan informasi,
integritas data, serta otentikasi data. Secara umum, Kriptografi merupakan ilmu
dan seni untuk menjaga keamanan pesan yang bertujuan menjaga kerahasiaan
informasi yang terkandung dalam data sehingga informasi tersebut tidak dapat
diketahui oleh pihak yang tidak berkepentingan.
3
UIN Syarif Hidayatullah Jakarta
Untuk menjamin keamanan dan keutuhan dari suatu data, dibutuhkan
suatu proses penyandian, proses ini akan merubah suatu data asal menjadi data
rahasia yang tidak dapat dibaca, sementara itu proses dekripsi dilakukan oleh
penerima data yang dikirim tersebut. Denga cara penyandian tadi, maka data
asli tidak akan terbaca oleh pihak yang tidak berkepentingan (Agustan Latif,
2015).
Menurut Gurpreet Singh (2013), AES merupakan salah satu kriptografi
yang memiliki proses paling cepat karena arsitektur algoritmanya hanya
memiliki maksimal perputaran sebanyak 14 putaran, tingkat keamanan tinggi
karena memiliki kunci terpanjang dibandingkan dengan algoritma enkrispi
lainnya, seperti tabel 1.1.
Gambar 1 1Perbandingan Algoritma Enkripsi
(Sumber : jurnal internasional (Comparative Analysis on Different parameters of
Encryption Algorithms for Information Security))
Gambar 1.1 menunjukkan perbandingan algoritma enkripsi berdasarkan
beberapa parameter`, yaitu arsitektur algoritma, skalabilitas, keamanan, dan
fleksibilitas. Yang hasilnya dapat dilihat dari gambar 1.1 bahwa AES memiliki
tingkat performa yang paling baik sebanding dengan algoritma blowfish,
namun dari segi penggunaan memori AES jauh lebih unggul.
4
UIN Syarif Hidayatullah Jakarta
Kompresi Huffman merupakan algoritma yang paling terkenal untuk
mengompres data. Terdapat tiga fase dalam menggunakan algoritma Huffman
untuk mengompres sebuah data, pertama adalah fase pembentukan pohon
Huffman, kedua adalah fase encoding dan ketiga fase decoding. Prinsip yang
digunakan oleh algoritma Huffman adalah karakter yang sering muncul di-
encoding dengan rangkaian bit yang pendek dan karakter yang jarang muncul
di-encoding dengan rangkaian bit yang lebih panjang. Teknik kompresi
algoritma Huffman mampu memberikan penghematan pemakaian memori
sampai 30% (Putra, 2010).
Gambar 1 2 Perbandingan Algoritma Kompresi
(Sumber : informatika.stei.itb.ac.id)
Gambar 1.2 menunjukkan perbandingan algoritma kompresi, yaitu
kompresi Huffman, kompresi LZW, DMC. Yang hasilnya dapat dilihat dari
gambar 1.2 bahwa kompresi Huffman memiliki tingkat performa yang paling
baik sebanding dengan algoritma LZW, namun dari segi aplikasi, object,
sourcode, UNIX, Teks, dan executable algoritma Huffman lebih unggul. Maka
5
UIN Syarif Hidayatullah Jakarta
dari itu penulis memilih Algoritman Huffman sebagai algoritma kompres pada
penelitian ini.
Pada penelitian yang berjudul Sistem Informasi Pengolahan Document
Persuratan Pada Badan Lingkungan Hidup Provinsi Sumsel (Zulpriansyah dan
Dafid 2014) memiliki kelemahan tidak digunakannya enkripsi data dan
kompresi. Sementara itu, penelitian yang berjudul Penglolaan Institutional
Repository di Perpustakaan UT SMAN Bin AFFAN Universitas Muslim
Indonesia (Nurhasanah, 2017) memiliki kelemahan yaitu tidak digunakannya
enkripsi data dan kompresi. Dan penelitian dengan judul Sistem Informasi
Pengarsipan Menggunakan Algoritma Levensthein String pada Kecamatan
Seberang Ulu II memiliki kelemahan tidak adanya enkripsi, dekripsi dan
kompresi pada berkas filenya.
Berdasarkan uraian di atas, maka peneliti tertarik untuk melakukan
penelitian dengan judul “Rancang Bangun Repository Guru menggunakan
Metode Enkripsi AES dan Kompresi Huffman (Studi Kasus: SMP
Muhammadiyah 22, Tangerang Selatan)” yang akan menjawab kelemehan-
kelemahan dari penelitian yang di lakukan sebelumnya.
1.2 Perumusan Penelitian
Rumusan masalah dalam penelitian ini adalah pembuatan web
repository/pengarsipan menggunakan metode enkripsi AES dan kompresi
huffman pada SMP Muhammadiyah 22 Pamulang, Tangerang Selatan.
1.3 Batasan Masalah
Pembuatan Sistem Repository Guru menggunakan Enkripsi AES dan
Kompresi Huffman dirancang untuk terus dikembangkan, maka pada
pembahasan masalah akan dibatasi dalam beberapa poin berikut.
1.3.1 Metodologi
Metode pengumpulan data yang digunakan untuk penelitian ini
adalah studi pustaka, wawancara, dan observasi. Sementara untuk metode
pengembangan sistem penulis menggunakan metode waterfall.
6
UIN Syarif Hidayatullah Jakarta
1.3.2 Proses
Berikut ini adalah proses yang terdapat pada makalah, yaitu :
1. Pembuatan Sistem Repository Guru ini menggunakan bahasa
pemrograman PHP dengan framework CodeIgniter HMVC dan
MySQL sebagai database server.
2. Desain sistem yang digunakan dalam perancangan adalah UML
(Unified Modelling Language), yaitu Class Diagram, UseCase
Diagram, Usecase Scenario, Sequence Diagram, dan Activity
Diagram.
3. Metode Enkripsi yang di gunakan dalam sistem ini adalah
Enkripsi AES 256 Counter mode.
4. Input program berupa file text penting berupa sertifikasi, dan
laporan – laporan, dll.
5. Studi kasus penelitian di Sekolah SMP Muhammadiyah 22
Pamulang, Tangerang Selatan.
6. Proses Enkripsi hanya digunakan pada file dan text yang akan di
simpan pada aplikasi dan tidak lebih dari 1MB.
7. Penelitian ini hanya menjelaskan penjelasan proses dari enkripsi
AES dan Kompresi secara umum.
8. Pengujian sistem yang digunakan adalah unit testing, system
testing, user acceptance testing dengan metode blackbox
1.3.3 Tools
Berikut ini adalah tools yang digunakan oleh penulis :
1. Sublime text 3
2. Xampp
3. Astah Professional
4. Balsamiq Mockups 3.4.5
5. dbForge Studio for MySQL
6. Google Chrome
7
UIN Syarif Hidayatullah Jakarta
1.4 Tujuan Penelitan
Tujuan dari penelitian skripsi ini adalah, rancang bangun repository
menggunaka metode enkripsi AES dan Kompresi Huffman pada SMP
Muhammadiyah 22 Pamulang, Tangerang Selatan.
1.5 Manfaat Penelitian
1. Bagi pihak penulis, diharapkan dapat memberikan kontribusi positif
bagi pengembangan ilmu pengetahuan dan teknologi mengenai
penerapan enkripsi AES pada sistem informasi. Selain itu, hasil
penelitian ini juga diharapkan dapat dijadikan sebagai referensi maupun
telaah literature bagi peneliti lain yang hendak melakukan penelitian
sejenis.
2. Bagi pihak sekolah SMP 22 Pamulang, diharapkan media penyimpanan
(Repository) guru menjadi lebih terstruktur, sehingga dengan mudah
dapat mencari data – data yang sudah disimpan.
1.6 Metode Penelitian
Pada penulisan skripsi ini, penulis menggunakan beberapa metode
penelitian pada saat mengumpulkan data dan informasi yang diperlukan sebagai
bahan penyusunan skripsi. Penulis menggunakan beberapa metode
pengumpulan data, yaitu dijelaskan pada halaman berikutnya.
1.6.1 Studi Pustaka
Merupakan teknik pengumpulan data dengan cara mempelajari
referensi berupa dokumen/berkas dan mengumpulkan data, peraturan
perundang – undangan, buku, terhadap peraturan - peraturan perundangan,
buku dan jurnal penelitian (Fatmawati, dkk, 2016). Studi tentang literatur
sejenis juga dilakukan peneliti untuk menganalisa Sistem
repository/pengarsipan yang pernah dibuat. Bahan-bahan untuk
pembahasan dan perbandingan diperoleh dengan cara mengumpulkan
literatur yang berkaitan dengan penulisan skripsi, sistem repository, dan
enkripsi AES.
8
UIN Syarif Hidayatullah Jakarta
1.6.2 Wawancara
Melakukan pencarian informasi dengan cara bertanya pada pihak
terkait untuk mendapatkan informasi yang dibutuhkan.
1.7 Metode Pengembangan Sistem
Berikut ini adalah metode pgengembangan sistem yang digunakan dalam
penelitian ini:
1. Analysis
Pada tahap ini, penulis mulai mengumpulkan data – data yang
dibutuhkan dalam pembuatan sistem Repository Guru. Serta
mengidentifikasi masalah berdasarkan data dari metode pemgumpulan
data yang dilakukan.
2. Design
Fase ini adalah fase bertujuan untuk memberikan gambaran apa yang
seharusnya dikerjakan dan bagaimana tampilannya. Tahap ini
membantu dalam menspesifikasikan kebutuhan hardware dan sistem
serta mendefinisikan arsitektur sistem secara keseluruhan (Thya dan
Didi ,2015).
3. Implementasi
Dalam fase ini dilakukan pemrograman. Pembuatan software dipecah
menjadi modul-modul kecil yang nantinya akan digabungkan dalam
tahap berikutnya. Selain itu dalam tahap ini juga dilakukan
pemeriksaaan terhadap modul yang dibuat, apakah sudah memenuhi
fungsi yang diinginkan atau belum (Thya dan Didi ,2015).
4. Testing
Dalam fase ini dilakukan pengujian sistem dengan menggunakan teknik
pengujian blackbox. Pada pengujian blackbox ada beberapa tahap, yaitu:
pengujian yang dilakukan oleh admin, dan pengujian yang dilakukan
oleh user/pengguna (UAT).
1.8 Sistematika Penulisan
Sistematika dalam penelitian ini diuraikan sebagai berikut :
9
UIN Syarif Hidayatullah Jakarta
BAB I PENDAHULUAN
Pada bab ini akan dijelaskan mengenai latar belakang, rumusan
masalah, tujuan penelitian, manfaat penelitian, metode penelitian dan
sistematika penulisan.
BAB II LANDASAN TEORI
Pada bab ini akan dijelaskan mengenai landasan teori yang akurat
dan relevan dengan penelitan yang diangkat oleh peneliti.
BAB III METODE PENGEMBANGAN SISTEM
Pada bab ini akan dijelaskan mengenai metode pengembangan
sistem yang akan digunakan dalam penelitian ini.
BAB IV ANALISIS DAN PERANCANGAN SISTEM,
IMPLEMENTASI DAN PENGUJIAN SISTEM
Pada bab ini akan dijelaskan mengenai analisis sistem yang akan
dibuat, perancangan sistem, serta implementasi dan pengujian sistem yang
akan dibuat.
BAB V HASIL DAN PEMBAHASAN
Pada bab ini akan dijelaskan mengenai hasil dan pembahasan
terhadap implementasi dan pengujian sistem yang telah dilaksanakan.
BAB VI PENUTUP
Pada bab ini akan dijelaskan mengenai kesimpulan yang merupakan
pernyataan dan dijabarkan dari hasil penelitian dan pembahasan, serta saran
yang merupakan masukan yang ditujukan kepada penulis dalam bidang
sejenis yang ingin melanjutkan atau mengembangkan penelitian yang sudah
diselesaiakan.
10
UIN Syarif Hidayatullah Jakarta
BAB II
LANDASAN TEORI
2.1 Konsep Dasar Rancang Bangun
2.1.3 Pengertian Rancang
Menurut (Pressman, 2010) perancangan atau rancang merupakan
serangkaian prosedur untuk menerjemahkan hasil analisis dan sebuah
sistem ke dalam bahasa pemrograman untuk mendeskripsikan dengan detail
bagaimana komponen-komponen sistem diimplementasikan.
2.1.4 Pengertian Bangun
Menrut (Pressman, 2010) pengertian pembangunan atau bangun
sistem adalah kegiatan menciptakan sistem baru maupun mengganti atau
memperbaiki sistem yang telah ada baik secara keseluruhan maupun
sebagian.
2.2 Repository
Repository adalah suatu wadah atau tempat penyimpanan dari berbagai arsip
software yang hendak diinstal dalam perangkat yang tersedia. Pengoperasiannya
saat user hendak menginstal suatu aplikasi, dengan otomatis Ubuntu akan mencari
software tersebut dalam repository, jika telah ditemukan maka Ubuntu akan
menginstalnya dan untuk menginstal software tersebut diperlukan koneksi internet.
Proses repositori adalah mulai dari penciptaan, penerimaan, pengumpulan,
pengaturan, pemeliharaan dan penyimpanan berkas menurut system tertentu. Saat
dibutuhkan dapat digunakan dengan cepat dan tepat ditemukan. Peranan penting
arsip dalam adminustrasi adalah sebagai ingatan dan sumber informasi dalam
rangka melakukan kegiatan perencanaan, perumusan, pengambilan keputusan dan
pengendalian dengan setepat-tepatnya (Lestanti, 2016). Pada umumnya, repositori
mengacu ke lokasi untuk penyimpanan, sering untuk keselamatan atau pelestarian.
Dalam penelitian lain, repositori dapat diperguanakan sebagai sebuah
infrastruktur komunikasi ilmiah (scholarly communication) yang harus memenuhi
ketentuan antara lain:
11
UIN Syarif Hidayatullah Jakarta
1. Infrastruktur repositori itu merupakan sebuah database atau repositori
berbasis Web (online) untuk mengumpulkan, menyimpan dan
menyebarluaskan berbagai jenis karya ilmiah (scholarly material) yang
dihasilkan oleh suatu institusi (perguruan tinggi),
2. Dapat menyimpan data secara cumulative ( dalam jumlah yang terus
meningkat), dapat berfungsi sebagai tempat penyimpanan jangka panjang
( Long-term preservation) dan prepetual atau dapat di akses secara terus
menerus secara open ( terbuka),
3. Menggunakan OAI-compliant software sehingga mempunyai tingkat
interoperability yang dapat dihandalkan. (Ware, 2004; dalam bailey 2005).
2.2.1 Kearsipan
Kearsipan adalah suatu proses mulai dari penciptaan, penerimaan,
pengumpulan, pengaturan, pengendalian, pemeliharaan dan perawatan serta
penyimpanan berkas menurut sistem tertentu. Saat dibutuhkan dapat dengan
cepat dan tepat ditemukan. Bila arsip-arsip tersebut tidak bernilai guna lagi,
maka harus dimusnahkan.
Arsip berperan sangat penting dalam administrasi. Peranan penting
arsip dalam administrasi adalah sebagai ingatan dan sumber informasi
dalam rangka melakukan kegiatan perencanaan, penganalisaan, perumusan
kebijaksanaan, pengambilan keputusan, pembuatan laporan, penilaian,
pengendalian dan pertanggungjawaban dengan setepat-tepatnya (Sri
Lestanti, dkk, 2016).
2.2.2 Perpustakaan Digital
Merupakan konsep menggunakan internet dan teknologi informasi
dalam manajemen perpustakaan. Sedangkan Fahmi mengatakan bahwa
perpustakaan digital adalah sebuah sistem yang terdiri dari perangkat
hardware, software, koleksi elektronik, staf pengelola, pengguna,
organisasi, mekanisme kerja, serta layanan dengan memanfaatkan berbagai
jenis teknologi informasi.
12
UIN Syarif Hidayatullah Jakarta
Perkembangan perpustakaan digital bagi pengelola perpustakaan
dapat membantu pekerjaan di perpustakaan melalui fungsi otomasi
perpustakaan, sehingga proses pengelolaan perpustakaan lebih efektif dan
efisien. Fungsi otomasi perpustakaan menitikberatkan pada bagaimana
mengontrol sistem administrasi layanan secara otomatis atau
terkomputerisasi. Sedangkan bagi pengguna dapat membantu mencari
sumber informasi yang diinginkan dengan menggunakan catalog on-line
yang dapat diakses melalui intranet maupun internet. merespon fenomena
ini dengan menyediakan system pengelolaan dan pelayanan digital dalam
organisasinya (Adhie & Bagus,2015).
2.2.3 Institutional Digital Repository
Reizt menyatakan bahwa repository is the physical space (building,
room, area) reserved for permanent or intermediate storage of archival
materials (manuscripts, rare books, government documents, papers,
photographs etc). Perpustakaan sebenarnya adalah sebuah repositori akan
tetapi dalam ruang lingkup yang lebih luas. Dari definisi yang dikemukakan
di atas, terlihat bahwa dokumen yang dikelola dalam repositori lebih khusus
dari pada yang dikelola di perpustakaan. Dari sisi teknis, repository is an
online locus for collecting, preserving, and disseminating – in digital form
– the intellectual output of an institution, particularly a research institution.
For a university, this would include materials such as research journal
articles, before (pre-prints) and after (post-prints) undergoing peer review,
and digital versions of theses and dissertations, but it might also include
other digital assets generated by normal academic life, such as
administrative documents, course notes, or learning objects”. Berdasarkan
pendapat ini, bahwa tempat penyimpanan bukan lagi dalam bentuk
bangunan atau ruangan melainkan dalam sebuah server komputer, karena
bahan yang disimpan, diorganisasikan dan dilayankan adalah bahan-bahan
digital. Berbagai sumberdaya informasi berbasis kertas (paper-based), yang
selama ini merupakan primadona perpustakaan tradisional, sekarang telah
banyak tersedia dalam format digital. Beranekaragam sumberdaya
13
UIN Syarif Hidayatullah Jakarta
informasi digital yang dikembangkan oleh para pustakawan, perpustakaan
dan penerbit, terutama di negara maju.
Pertumbuhan teknologi informasi yang sangat pesat, khususnya
dalam format digital yang menyebabkan sejumlah perpustakaan, termasuk
perpustakaan perguruan tinggi harus menyediakan layanan digital yaitu
dengan cara memberi akses kepada pengguna terhadap berbagai
sumberdaya informasi digital baik yang tersedia di dalam perpustakaan
(yang dimiliki) maupun yang berada di luar perpustakaan. Akses informasi
digital menjadi suatu paradigma baru pelayanan perpustakaan. Aplikasi
TIK memunculkan sistem akses dan temu-balik terhadap informasi menjadi
semakin cepat. Situasi ini menjadikan akses informasi digital semakin
penting dalam pemenuhan kebutuhan masyarakat akan informasi, tanpa
mengabaikan akses informasi yang telah berlangsung selama ini secara
konvensional. Akses terhadap sumberdaya informasi digital semakin mudah
karena dapat diakses secara terbuka, multi user, unlimited access, dan dapat
diakses dari jarak jauh (remote access) (Adhie & Bagus,2015).
2.3 Kriptogafi
Kriptografi (cryptography) berasal dari bahasa Yunani yaitu dari kata Crypto
(tersembunyi) dan Graphia (tulisan). Kriptografi merupakan sebuah ilmu yang
digunakan untuk menjaga kerahasiaan dari sebuah data, dengan menggunakan
metode-metode tertentu sehingga data hanya dapat dibaca oleh orang yang berhak
terhadap data tersebut (Handoko dan Aripin, 2015 : 2). Kriptografi adalah ilmu dan
seni untuk menjaga kerahasiaan pesan dengan cara menyandikannya Key dalam
bentuk yang tidak dapat dimengerti lagi maknanya. Dalam ilmu kriptografi,
terdapat dua buah proses yaitu melakukan enkripsi dan dekripsi. Pesan yang akan
dienkripsi disebut sebagai plaintext (teks biasa). Disebut demikian karena informasi
ini dengan mudah dapat dibaca dan dipahami oleh siapa saja. Algoritma yang
dipakai untuk mengenkripsi dan mendekripsi sebuah plaintext melibatkan
penggunaan suatu bentuk kunci. Pesan plaintext yang telah dienkripsi (atau
dikodekan) dikenal sebagai ciphertext (teks sandi) (Pabokory, dkk, 2015 : 22).
14
UIN Syarif Hidayatullah Jakarta
Auguste Kerckhoffs didalam bukunya “La Cryptographie militare”
memformulasikan enam atribut yang harus dimiliki oleh sebuah sistem kriptografi:
1. Sistem seharusnya, jika tidak unbreakable secara teoritis, haruslah
unbreakable secara praktek.
2. Keamanan sistem tidak boleh mengganggu kenyamanan dalam
berkomunikasi.
3. Metode yang digunakan sistem dalam memilih kunci harus mudah untuk
di ingat dan di ubah.
4. Ciphertext haruslah dikirim melalui telegram. Telegram adalah teknologi
komunikasi yang yang dominan pada abad kesembilan belas. Pada zaman
sekarang persyaratan ini di artikan bahwa teks tersebut dapat dikodekan
dan dikirim dalam bentuk digital sehingga memudahkan dalam
pengiriman dan penyimpanan.
5. Peralatan yang digunakan haruslah mudah untuk dibawa. Peralatan yang
relatif besar seperti yang digunakan pada perang dunia II telah digantikan
oleh mikoprosesor yang memenuhi persyaratan Kerckhoffs.
6. Penggunaan sistem seharusnya tidak membutuhkan peraturan yang
panjang atau regangan mental. Kemudahan dalam pemakaian, biaya, dan
dampak kecepatan dalam penyandian menjadi isu yang dominan saat ini.
Beberapa istilah yang berhubungan dengan kriptografi Interface lain :
1. Plaintext (Plaintext atau cleartext) adalah data asli atau informasi
bersifat terbuka yang isinya dapat dibaca dan dipahami secara langsung.
2. Ciphertext (Ciphertext) adalah data sandi hasil proses enkripsi.
3. Cipher adalah algoritma untuk mengubah plaintext menjadi ciphertext.
4. Kunci atau Key adalah data nilai yang sangat spesifik, kunci diketahui
oleh pengirim dan penerima yang berhak. Digunakan bersama dengan
algoritma kriptografi untuk melakukan proses enkripsi dan dekripsi.
5. Enkripsi atau encryption adalah proses untuk mengubah plaintext
menjadi ciphertext, yaitu proses menyandikan atau menyembunyikan
plaintext.
15
UIN Syarif Hidayatullah Jakarta
6. Dekripsi atau decryption adalah proses untuk mengembalikan
ciphertext menjadi plaintext, proses kebalikan dari enkripsi (Lusiana
dan Hartono, 2014 : 2).
Kriptografi mempunya empat tujuan umum, yaitu :
1. Kerahasiaan
Menjaga isi dari suatu pesan dari siapapun kecuali kepada orang yang
memiliki otoritas terhadap data yang disandikan dalam bentuk kunci
dekripsi.
2. Integritas Data
Dalam kriptografi akan dilakukan proses pengecekan apakah data yang
sampai di penerima merupakan benar data yang pertama kali dikirim
oleh pengirim.
3. Autentikasi
Pada proses autentikasi ini data akan dicek apakah mengalami
manipulasi dalam isinya seperti penyisipan, penghapusan dan
penggantian data.
4. Non-Repudiasi
Jika seseorang sudah mengirimkan pesan, maka orang tersebut tidak dapat
membantah/ menyangkal pengiriman pesan tersebut (Handoko dan Aripin, 2015
: 2-3).
Jenis-jenis kriptografi diantaranya yaitu :
1. Algoritma Simetris
Algoritma simetris adalah algoritma dimana kunci untuk enkripsi bisa
dihitung dari kunci dekripsi, dan sebaliknya. Algoritma simetris kadang disebut
juga algoritma konvensional. Sebagian besar algoritma simetris menggunakan
kunci enkripsi dan kunci dekripsi yang sama. Algoritma simetris sering juga
disebut sebagai algoritma kunci rahasia, algoritma kunci tunggal atau algoritma
satu kunci. Pengirim dan penerima harus menyetujui suatu kunci tertentu
16
UIN Syarif Hidayatullah Jakarta
sebelum mereka dapat berkomunikasi dengan aman. Keamanan algoritma
simetris tergantung pada kunci, membocorkan kunci berarti bahwa orang lain
dapat mengenkripsi dan mendekripsi pesan. Agar komunikasi tetap aman, kunci
harus tetap dirahasiakan. Yang termasuk algoritma kunci simetris adalah OTP,
DES, RC2, RC4, RC5, IDEA, Twofish, Magenta, FILE, SAFER, LOKI, CAST,
Rijndael (AES), Blowfish, GOST, A5, Kasumi dan lain-lainnya. Kelebihan
kriptografi simetri dari kriptografi asimetri adalah lebih cepat. Dan keamanan
algoritma simetri tergantung pada kunci, dimana membocorkan kunci berarti
bahwa orang lain dapat melakukan enkripsi dan dekripsi pesan.
2. Algoritma Kunci Publik
Algoritma kunci publik sering juga disebut sebagai algoritma asimetris.
Merupakan algoritma dimana kunci untuk mengenkripsi pesan berbeda dengan
kunci yang digunakan untuk mendekripsi. Bahkan kunci untuk mendekripsi
tidak bisa dihitung dari kunci untuk mengekripsi. Dinamakan kunci publik,
sebab kunci untuk enkripsi tidak rahasia dan dapat diketahui oleh siapapun
(diumumkan Key publik), sementara kunci untuk dekripsi hanya diketahui oleh
penerima pesan. Pada kriptografi jenis ini, setiap orang yang berkomunikasi
mempunyai sepasang kunci, yaitu kunci privat dan kunci publik. Pengirim
mengenkripsi pesan dengan menggunakan kunci publik si penerima pesan.
Hanya penerima pesan yang dapat mendekripsikan pesan karena hanya dia yang
mengetahui kunci privatnya sendiri. Keamanan sistem kriptografi kunci publik
terletak pada dua hal, yaitu :
a. Sulitnya menurunkan kunci rahasia dari kunci publik
Pada sistem kriptografi kunci publik, kunci rahasia dan kunci publik
merupakan dua kunci yang dapat diturunkan melalui formula tertentu
satu dengan yang lainnya. Tentunya formula tersebut memiliki tingkat
kesukaran yang tinggi dengan menggunakan operasi perpangkatan dan
aritmatika bilangan besar sehingga sangat sulit bagi seorang kriptanalis
untuk memecahkan kunci rahasia dari kunci-publik. Hal inilah yang
membuat sistem kriptografi kunci-publik memiliki keamanan yang
17
UIN Syarif Hidayatullah Jakarta
terjamin dan banyak digunakan dalam pengiriman pesan rahasia dan
penting.
b. Sulitnya menurunkan plaintext dari chiperteks
Ini merupakan pengaruh dari faktor pertama yang telah disebutkan yaitu
kesukaran dalam menemukan kunci rahasia. Bila kunci rahasia suatu
kriptografi kunci publik sukar ditemukan, maka sukar pula untuk
menurunkan plaintext dari chiperteks yang diterima.
2.4 Enkripsi AES
AES atau Advanced Encryption Standard merupakan standar enkripsi kunci
simetri yang pada awalnya diterbitkan dengan algoritma Rijndael. Algoritma ini
dikembangkan oleh dua kriptografer Belgia, Joan Daemen dan Vincent Rijmen.
Advanced Encryption Standard (AES) dipublikasikan oleh NIST (National Institute
of Standard and Technology) pada tahun 2001. AES merupakan block kode simetris
untuk menggantikan DES (Data Encryption Standard). Algoritma AES merupakan
algoritma simetris yaitu menggunakan kunci yang sama untuk proses enkripsi dan
dekripsi. Algoritma AES memiliki tiga pilihan kunci yaitu tipe : AES-128, AES-
192, dan AES-256. Masing-masing tipe menggunakan kunci Interface yang
berbeda yaitu round Key untuk setiap putaran (Arif dan Mandarani, 2016 : 86).
Tabel 2 1 Jumlah proses berdasarkan block bit dan kunci
Panjang
Kunci
Dalam bit
Panjang
Kunci (Nk)
Dalam
words
Ukuran
Block Data
(Nb)
Dalam
words
Jumlah
Proses (Nr)
128 4 4 10
192 6 4 12
256 8 4 14
18
UIN Syarif Hidayatullah Jakarta
Block-block data masukan dan kunci dioperasikan dalam bentuk array. Setiap
anggota array sebelum menghasilkan keluaran ciphertext dinamakan dengan
state. Setiap state akan mengalami proses yang secara garis besar terdiri dari
empat tahap yaitu, AddRoundKey, SubBytes, ShiftRows, dan MixColumns.
Kecuali tahap MixColumns, ketiga tahap lainnya akan diulang pada setiap
proses sedangkan tahap MixColumns tidak akan dilakukan pada tahap terakhir.
Proses dekripsi adalah kebalikkan dari dekripsi (Pabokory, dkk, 2015 : 23).
Karena terjadi beberapa tahap dalam proses enkripsi, maka diperlukan
subkeysubkey yang akan dipakai pada tiap tahap. Pengembangan jumlah kunci
yang akan dipakai diperlukan karena kebutuhan subkey-subkey yang akan
dipakai dapat mencapai ribuan bit, sedangkan kunci yang disediakan secara
default hanya 128-256 bit. Jumlah total kunci yang diperlukan sebagai subkey
adalah sebanyak Nb(Nr+1), dimana Nb adalah besarnya block data dalam
satuan word. Sedangkan Nr adalah jumlah tahapan yang harus dilalui dalam
satuan word. Sebagai contoh, bilamana digunakan 128 bit (4 word) block data
dan 128 bit (4 word) kunci maka akan dilakukan 10 kali proses. Dengan
demikian dari rumus didapatkan 4(10+1)=44 word=1408 bit kunci. Untuk
melakukan pengembangan jumlah kunci yang akan dipakai dari kunci utama
maka dilakukan Key schedule (Pabokory, dkk, 2015 : 23).
Algoritma AES mengambil kunci cipher, KEY, dan melakukan rutin
ekspansi kunci (Key expansion) untuk membentuk Key schedule. Ekspansi
kunci menghasilkan total Nb(Nr+1) word. Algoritma ini membutuhkan set awal
Key yang terdiri dari Nb word, dan setiap round Nr membutuhkan data kunci
sebanyak Nb word.
Hasil Key schedule terdiri dari array 4 byte word linear yang dinotasikan dengan
[wi]. SubWord adalah fungsi yang mengambil 4 byte word input dan
mengaplikasikan S-Box Key tiap-tiap data 4 byte untuk menghasilkan word
output. Fungsi RotWord mengambil word [a0, a1, a2, a3] sebagai input,
melakukan permutasi siklik, dan mengembalikan word [a1, a2, a3, a0]. Rcon[i]
terdiri dari nilai-nilai yang diberikan oleh [xi-1, {00}, {00}, {00}], dengan xi-1
19
UIN Syarif Hidayatullah Jakarta
sebagai pangkat dari x (x dinotasikan sebagai {02} dalam field GF(28). Word
Key Nk pertama pada ekspansi kunci berisi kunci cipher10.
Setiap word berikutnya, w[i], sama dengan XOR dari word sebelumnya,
w[i-1] dan word Nk yang ada pada posisi sebelumnya, w[i-Nk]. Untuk word
pada posisi yang merupakan kelipatan Nk, sebuah transformasi diaplikasikan
pada w[i-1] sebelum XOR, lalu dilanjutkan oleh XOR dengan konstanta round,
Rcon[i]. Transformasi ini terdiri dari pergeseran siklik dari byte data dalam
suatu word RotWord, lalu diikuti aplikasi dari lookup Tabel untuk semua 4 byte
data dari word SubWord.
Mode operasi AES yang digunakan dalam penelitian ini adalah Counter
Mode. AES Counter Mode (CTR) distadardisasi pada 2001 oleh NIST pada SP
800-38A [9]. CTR menggunakan counter daripada IV pada mode AES yang
lain. Counter memiliki atribut tambahan berupa nonce dan counter block. Mode
ini tidak memerlukan padding untuk plain text ke ukuran block cipher.
2.4.1 Enkripsi AES Counter Mode
Pada enkripsi CTR, fungsi cipher dipanggil pada setiap blok counter
dengan masukan berupa counter block dan key. dan hasil keluaran tiap blok
di XOR kan dengan blok plaintext yang sesuai untuk menghasilkan blok
ciphertext. (Armirara Refa Aziz, 2017).
Plaintext akan dibagi menjadi menjadi block. Setiap block terdiri
dari 16 byte dan akan dikonversikan menjadi array 2 dimensi berukuran 4
x 4. Kemudian dilakukan proses iterasi sesuai dengan panjang kunci. Untuk
AES-256 menggunakan kunci sepanjang 32 byte dan jumlah round
sebanyak 14. Diagram alir fungsi AES Cipher Block ditunjukkan pada
Gambar 2.1
20
UIN Syarif Hidayatullah Jakarta
Gambar 2 1 Flowchart enkripsi AES CTR
Pada mode counter tidak memerlukan IV seperti pada mode lainnya
melainkan counter block yang terdiri dari 8 byte nonce dan 8 byte counter.
Nonce akan dibuat berbeda setiap kali nekripsi. Pembuatan nonce
berdasarkan waktu saaat proses enkripsi dimulai. Nonce akan terdiri dari
gabungan 2 byte milidetik, 2 byte angka random, dan 4 byte detik. Counter
adalah iterasi jumlah counter block yang dimulai dari 0.
Key yang dibangkitkan secara acak akan dilakukan proses key
expansion terlebih dahulu. Hasi dari key expansion adalah key schedule yang
akan digunakan pada fungsi AES cipher block. Hasil dari proses iterasi
cipher block akan di decode menggunakan decoder base64 untuk
menghasilkan karakter yang bisa ditampilkan oleh computer.
2.4.2 Dekripsi AES Counter Mode
Dekripsi AES CTR memerlukan masukan ciphertext dan key. Key
akan dilakukan proses key expansion terlebih dahulu untuk menghasilkan
key schedule. Ciphertext akan dibagi menjadi block berukuran 16 byte.
Setiap blok akan didekripsi dengan fungsi AES cipher block dengan key
schedule. Setiap karakter dari hasil AES cipher block akan di-XOR-kan
21
UIN Syarif Hidayatullah Jakarta
dengan ciphertext yang bersesuaian. Hasil dari operasi XOR tersebut akan
dikonversikan menjadi karakter ASCII. Diagram alir proses dekripsi AES
CTR dapat dilihat pada Gambar 3.9 (armirara refa aziz, 2017).
Gambar 2 2 Flowchart dekripsi AES CTR
2.5 Kompresi
Kompresi data di dalam konteks ilmu komputer adalah merupakan ilmu atau
seni dalam merepresentasikan informasi yang terdapat pada data ke dalam suatu
bentuk yang lebih padat (kecil). Perkembangan komputer dan multimedia
mengakibatkan kompresi data menjadi hal yang sangat penting dan berguna dalam
teknologi pada saat sekarang ini. Solomon mengemukakan definisi kompresi data
adalah proses yang mengkonversi sebuah masukan berupa aliran data (the source
atau data asli mentah) menjadi suatu aliran data lain (the Output, aliran bit, atau
aliran sudah dikompres) yang memiliki ukuran lebih kecil. Aliran data (stream)
dapat berupa sebuah file atau buffer pada memori. Data dalam konteks kompresi
data melingkupi segala bentuk digital dari informasi, yang dapat diproses oleh
22
UIN Syarif Hidayatullah Jakarta
sebuah program komputer. Bentuk dari informasi tersebut secara luas dapat
diklasifikasikan sebagai teks, suara, gambar dan video (Dedek, 2015).
2.5.1 Kompresi Huffman
Kompresi Huffman menggunakan cara pengkodean dengan
pendekatan stastitik. Metode tersebut mempertimbangkan penyebaran
secara keseluruhan frekuensi kemunculan simbol-simbol tersebut. Metode
ini mengumpulkan bit yang paling kecil untuk mengkodekan setiap simbol
berdasarkan frekuensi kemunculan simbol. Misalnya huruf “e” dalam teks
Bahasa Inggris paling sering muncul jika dibandingkan dengan huruf lain.
Maka huruf “e” tersebut harus diwakilkan dengan beberapa bits yang
jumlahnya sekecil mungkin. Metode Huffman memanfaatkan frekuensi
distribusi dari simbol-simbol dalam sebuah sumber yang dapat
menyesuaikan Metode Huffman untuk membangun sendiri tabel frekuensi
yang lebih baik.
Algoritma Huffman dikembangkan oleh David Huffman, seorang
mahasiswa MIT. Jika ditinjau dari segi teknik pengkodean karakter yang
digunakan, algoritma Huffman ini termasuk dalam algoritma yang
menggunakan metode symbolwise. Yang dimaksud dengan metode
symbolwise adalah suatu metode yang menghitung probabilitas
kemunculan suatu karakter dalam suatu waktu (Muhammad I, D, dkk,
2014).
2.6 PHP
PHP merupakan bahasa pemrograman yang digunakan untuk mengolah data
dari sisi server-side processing untuk ditampilkan di website. Ekstensi dokumen
PHP secara default adalah “.php”. Lalu disaat server web mendeteksi file
dengan ekstensi tersebut, secara otomatis dikirim untuk diproses oleh prosesor
PHP (Agung Gregorius, 2015:1).
23
UIN Syarif Hidayatullah Jakarta
Untuk memulai perintah PHP, diwajibkan untuk menggukanan tag “<?php”
sebagai awalan untuk membuka command PHP. Selanjutnya setelah koding
script php selesai diakhiri oleh tag “?>”.
2.6.1 Framework PHP
Menurut Raharjo Budi pada bukunya yang berjudul “Teknik
Pemrograman Web dengan PHP dan Framework CodeIgniter”, suatu
framework PHP merupakan kumpulan kode berupa library dan tools yang
dipadukan menjadi suatu kerangka kerja yang memiliki tujuan untuk
memudahkan pengembangan sistem PHP. Beberapa contoh dari framework
web untuk PHP yaitu CodeIgniter, Laravel, Yii, CakePHP, Zend, Kohana,
Phalcon, dan lain lain. Sebagian besar dari framework yang tersebut telah
mengimplementasikan pola arsitektur Model-View-Control, yang membagi
kode berdasarkan tujuan pemprosesan (Raharjo Budi, 2015:2).
2.6.2 CodeIgniter
Merupakan framework web khususnya bahasa pemrograman PHP,
yang diciptakan oleh Rick Ellis tahun 2006. Hak kepemilikan CodeIgniter
sejak 2014 dimiliki oleh British Columbia Institute of Technology untuk
pengembangan lebih lanjut (Raharjo Budi, 2015:3).
Hingga sampai saat ini perkembangan CodeIgniter yang
dikembangkan secara simultan sampai pada versi 3.1.4. Sedangkan dalam
perancangan sistem yang digunakan pada penelitian ini menggunakan
Framework PHP CodeIgniter 3.0.
2.6.3 Karakteristik CodeIgniter
Beberapa karakteristik yang dimiliki oleh Framework CodeIgniter
adalah sebagai berikut (Raharjo Budi, 2015:4):
1. Framework yang open-source dan bersifat free.
2. Menggunakan pola desain Model-View-Control (MVC).
Bertujuan agar script kode lebih mudah dibaca, dipahami, dan
dikembangkan oleh sekumpulan tim.
24
UIN Syarif Hidayatullah Jakarta
3. Memiliki ukuran directory file yang kecil disbanding dengan
framework lain. Total size dokumen default yang dimiliki
CodeIgniter sekitar 2 MB.
4. Mengizinkan pihak pengembang untuk menggunakan
framework secara parsial. Dengan kata lain bahwa CodeIgniter
memberi kebebasan untuk menulis bagian kode tertentu
menggunakan cara konvensional.
5. Seluruh dokumen pustaka kelas dan fungsi yang terdapat pada
CodeIgniter dapat diperoleh pada paket distribusinya.
2.7 Unified Modelling Language (UML)
Unified Modeling Language (UML) adalah “bahasa standar untuk menulis
denah perangkat lunak. UML dapat digunakan untuk memvisualisasikan,
menentukan, membangun, dan mendokumentasikan artefak dari sistem perangkat
lunak-intensif”. Dengan kata lain, seperti arsitek bangunan membuat denah yang
akan digunakan oleh sebuah perusahaan konstruksi, arsitek software membuat
diagram UML untuk membantu pengembang perangkat lunak membangun
perangkat lunak. Jika Anda memahami kosakata UML (diagram elemen piktorial
dan artinya), Anda dapat lebih mudah memahami dan menentukan sistem dan
menjelaskan desain system yang kepada orang lain (Pressman, 2010 : 841).
Sedangkan menurut Whitten & Bentley (2007 : 371), Unified Modeling
Language (UML) adalah sekumpulan konversi pemodelan yang digunakan untuk
menentukan atau menggambarkan sebuah sistem software yang terkait dengan
objek.
Berikut ini empat macam diagram yang paling sering digunakan dalam
pembangunan aplikasi berorientasi objek, yaitu :
1. Use Case Diagram
Use Case Diagram merupakan diagram yang menggambarkan Interface
Interface sebuah sistem Interface, eksternal, dan user. Dengan kata lain,
menggambarkan siapa saja yang akan menggunakan sistem dan dengan cara
25
UIN Syarif Hidayatullah Jakarta
seperti apa user dapat berinteraksi dengan sistem (Whitten & Bentley, 2007
: 246).
Gambar 2 3 Contoh Use Case Diagram
Pada gambar di atas, terlihat bahwa ada tiga komponen penting dalam
Use Case Diagram, yaitu :
i. Use Case
Use Case mendeskripsikan fungsi dari sistem dari perspektif user dalam
kondisi yang dapat dimengerti user. Digambarkan dalam bentuk elips
dengan nama Use Case di dalamnya.
ii. Actor
Actor merupakan user yang akan berinteraksi dengan sistem untuk saling
bertukar informasi. Digambarkan berupa stick figure dengan nama Actor di
bawahnya.
iii. Relationship
Relationship merupakan hubungan Interface Use Case dan Actor yang
digambarkan dalam bentuk garis. Relationship dibagi menjadi lima, yaitu :
1. Asosiasi (Associations)
26
UIN Syarif Hidayatullah Jakarta
Hubungan Interface Actor dan Use Case terjadi ketika Use Case
menggambarkan sebuah garis penghubung Interface Use Case dengan
Actor.
2. Perluasan (Extends)
Use Case berisikan fungsi rumit yang terdiri dari beberapa tahap pembuatan
sebuah logika Use Case yang sulit untuk dimengerti.
3. Includes
Use Case dapat menurunkan redudancy terhadap dua Use Case atau lebih
melalui langkah kombinasi umum dalam kasus itu sendiri.
4. Ketergantungan (Depends On)
Hubungan yang terjadi Interface Use Case menunjukkan bahwa satu Use
Case tidak dapat berjalan jika Use Case yang lain tidak dijalankan.
5. Pewarisan (Inheritance)
Hubungan Interface Actor menciptakan gambaran yang sederhana ketika
pelaku abstrak mewarisi tugas dari multiple real actors.
2. Sequence Diagram
Sequence Diagram adalah diagram UML yang memodelkan logika dari
sebuah use case dengan cara menggambarkan bagaimana Interface
Interface objek satu sama lain dalam suatu urutan waktu. Diagram ini
mengilustrasikan bagaimana pesan dikirim dan diterima Interface objek
pada suatu waktu (Whitten & Bentley, 2007 : 659).
27
UIN Syarif Hidayatullah Jakarta
Gambar 2 4 Contoh Sequence Diagram
Berikut merupakan tabel notasi yang digunakan pada Sequence
Diagram yang dijelaskan pada tabel 2.2 berikut ini.
Tabel 2 2 Notasi Sequence Diagram
Notasi Keterangan Simbol
Actor
Menggambarkan
user yang
berinteraksi dengan
sistem
System
Menggambarkan
instance dari sebuah
class pada class
diagram
Lifelines
Menggambarkan
keberadaan sebuah
objek dalam suatu
waktu atau waktu
dari sequence
:System
28
UIN Syarif Hidayatullah Jakarta
Activity
Bars
Menggambarkan
waktu di mana user
sedang activity
berinteraksi dengan
sistem
Input
Messages
Menggambarkan
pesan masuk yang
dikirimkan berupa
behavior
Message1
Output
Messages
Menggambarkan
balasan dari pesan
masuk yang berupa
attribute
Message2
Receiver
Actor
Aktor lainnya atau
sistem eksternal
yang menerima
pesan dari sistem
Form
Menggambarkan
area pada sistem
yang mengalami
perulangan (loop),
seleksi (alternate
fragments), atau
kondisi opsional
(optional)
3. Class Diagram
Untuk merancang kelas, termasuk atribut mereka, operasi, dan hubungan
mereka dan asosiasi dengan kelas lainnya, UML menyediakan diagram
kelas. Sebuah diagram kelas memberikan pandangan statis atau struktural
dari sistem. Ini tidak menunjukkan sifat dinamis dari komunikasi Interface
Loop
29
UIN Syarif Hidayatullah Jakarta
objek kelas dalam diagram. Unsur-unsur utama dari diagram kelas adalah
kotak, yang merupakan ikon yang digunakan untuk mewakili kelas dan
Interface. Setiap kotak dibagi menjadi bagian-bagian horisontal. Bagian atas
berisi nama kelas. Bagian tengah daftar atribut dari kelas. Atribut mengacu
pada sesuatu yang merupakan obyek yang dikenali oleh class. Atribut
biasanya diimplementasikan sebagai bidang kelas, tetapi mereka tidak perlu.
Mereka dapat menjadi nilai-nilai yang dapat dihitung oleh kelas dari
variabel atau nilai-nilai yang bisa didapatkan kelas dari objek – objek lain
(Pressman, 2010 : 842).
Gambar 2 5 Contoh Class Diagram
4. Activity Diagram
Sebuah diagram activity UML menggambarkan perilaku dinamis dari suatu
sistem atau bagian dari sistem melalui aliran kontrol Interface aksi yang
dilakukan sistem. Sebuah diagram activity UML menggambarkan perilaku
dinamis dari suatu sistem atau bagian dari sistem melalui aliran kontrol
Interface aksi bahwa system melakukan. Hal ini mirip dengan flowchart
kecuali bahwa suatu diagram activity dapat menunjukkan aliran bersamaan.
Komponen utama dari suatu diagram activity adalah Node aksi, diwakili
oleh persegi panjang bulat, yang sesuai dengan tugas yang dilakukan oleh
sistem perangkat lunak. Panah dari satu node aksi lainnya menunjukkan
aliran kontrol. Artinya, panah Interface dua node aksi berarti bahwa setelah
aksi pertama selesai aksi kedua dimulai. Sebuah titik hitam pekat
membentuk node awal yang menunjukkan titik awal kegiatan. Sebuah titik
30
UIN Syarif Hidayatullah Jakarta
hitam yang dikelilingi oleh lingkaran hitam adalah node akhir yang
menunjukkan akhir kegiatan. Fork merupakan pemisahan kegiatan menjadi
dua atau lebih kegiatan bersamaan. Hal ini digambarkan sebagai bar hitam
horizontal dengan satu panah menunjuk kepadanya dan dua atau lebih anak
panah menunjuk darinya. Setiap panah keluar mewakili aliran kontrol yang
dapat dijalankan bersamaan dengan arus yang sesuai dengan panah keluar
lainnya. Kegiatan bersamaan ini dapat dilakukan pada komputer dengan
menggunakan benang yang berbeda atau bahkan menggunakan komputer
yang berbeda.
Gambar 2 6 Contoh Activity Diagram
2.8 Metode Pengembangan Sistem Waterfall
Waterfall merupakan salah satu metode pengembangan sistem informasi
yang bersifat sistematis dan sekuensial, artinya setiap tahapan dalam metode ini
dilakukan secara berurutan dan berkelanjutan, Nasution (2012:118). Berikut
adalah tahap – tahap dari metode pengembangan waterfall:
1. Analisis Kebutuhan Piranti Lunak (Software Requirement Analysis)
Merupakan proses pengumpulan kebutuhan piranti lunak. Untuk memahami
dasar dari program yang akan dibuat, seorang analisis harus mengetahui ruang
31
UIN Syarif Hidayatullah Jakarta
lingkup informasi, fungsi-fungsi yang dibutuhkan, kemampuan kinerja yang
ingin dihasilkan dan perancangan antarmuka pemakai piranti lunak tersebut.
2. Desain
a. Perancangan Sistem (Sistem Enginering)
Perancangan sistem sangat diperlukan, karena piranti lunak biasanya
merupakan bagian dari suatu sistem yang lebih besar. Pembuatan sebuah
piranti lunak dapat dimulai dengan melihat dan mencari apa yang
dibutuhkan oleh sistem. Dari kebutuhan sistem tersebut akan diterapkan
kedalam piranti lunak yang dibuat.
b. Perancangan (Design)
Perancangan piranti lunak merupakan proses bertahap yang memfokuskan
pada empat bagian penting, yaitu: struktur data, arsitektur piranti lunak, detil
prosedur, dan karakteristik antarmuka pemakai.
3. Implementasi
a. Penerapan Enkripsi AES
Penerapan enkripsi aes merupakan proses yang bertujuan untuk
pengamanan data, supaya data tersebut tidak bisa di akses orang pilhak yang
tidak berkepentingan.
b. Penerapan Kompresi Huffman
Penerapan kompresi bertujuan untuk mengecilkan ukuran flesize, bila
data yang disimpan banyak, maka perlu space penyimpanan yang besar,
maka dari itu kompresi ini diterapkan.
4. Pengujian (Testing)
Proses ini akan menguji kode program yang telah dibuat dengan
memfokuskan pada bagian dalam piranti lunak. Tujuannya untuk memastikan
bahwa semua pernyataan telah diuji dan memastikan juga bahwa input yang
digunakan akan menghasilkan output yang sesuai. Pada tahap ini pengujian
dibagi menjadi dua bagian, pengujian internal dan pengujian eksternal.
Pengujian internal bertujuan menggambarkan bahwa semua statement sudah
dilakukan pengujian, sedangkan pengujian eksternal bertujuan untuk
32
UIN Syarif Hidayatullah Jakarta
menemukan kesalahan serta memastikan output yang dihasilkan sesuai dengan
yang diharapkan.
2.8.1 Kelebihan model Linear Sequential / Waterfall :
1. Mudah diaplikasikan.
2. Memberikan template tentang metode analisis, desain,
pengkodean, pengujian dan pemeliharaan.
3. Cocok digunakan untuk produk software yang sudah jelas
kebutuhannya di awal, sehingga minim kesalahannya.
2.8.2 Kekurangan model Linear Sequential / Waterfall :
1. Terjadinya pembagian proyek menjadi tahap - tahap yang tidak
fleksibel, karena komitmen harus dilakukan pada tahap awal
proses.
2. Sulit untuk mengalami perubahan kebutuhan yang diinginkan
pengguna.
3. Pengguna harus sabar untuk menanti produk selesai, karena
dikerjakan tahap per tahap, menyelesaikan tahap awal baru bisa
ke tahap selanjutnya.
4. Perubahan ditengah - tengah pengerjaan produk akan membuat
bingung team work yang sedang membuat produk.
5. Adanya waktu menganggur bagi pengembang, karena harus
menunggu anggota tim proyek lainnya menuntaskan
pekerjaannya.
2.8.3 Alasan menggunakan metode waterfall
Alasan penulis menggunakan metode waterfall adalah metode ini
sangat terstruktur dan terkonsep. Semua kebutuhan sistem dapat
didefisinikan secara utuh, eksplisit dan benar ditahap awal, makadari itu
sistem yang dihasilkan akan baik karena proses pengembangan model
fase satu per satu dan harus terselesaikan dengan lengkap sebelum
melangkah ke fase berikutnya, sehingga tidak terfokus pada tahapan
tertentu, hal ini dapat meminimalis kesalahan-kesalahan yang mungkin
33
UIN Syarif Hidayatullah Jakarta
akan terjadi dan akan memudahkan saat ke fase berikutnya dengan
didukungnya dokumen pengembangan sistem sangat terorganisir.
Dengan demikian penulis dapat memperkirakan waktu pengerjaannya
pada setiap fasenya.
34
UIN Syarif Hidayatullah Jakarta
2.9 Systematic Literature Review
Tabel 2 3 Tabel perbandingan hasil SLR
No Peneliti Judul Kekurangan Kelebihan
1 Veronica Lusiana
dan Budi Hartono
(2014)
Implementasi Kriptografi
Kunci Privat Untuk Keamanan
Lampiran Surat Elektronik
Proses Enkripsi Lampiran Surat
dilakukan secara terpisah dan tidak
langsung pada saat menginput data
surat elektronik
Sudah menggunakan enkripsi AES yang
terkenal cepat dan aman
2 Pratiwi
Vidyarsih, Leon
Interface
Abdillah, dan Ari
Muzakir (2016)
Sistem Informasi Pengarsipan
Menggunakan Algoritma
Levensthein String pada
Kecamatan Seberang Ulu II
Belum adanya enkripsi dan
deskripsi data pada aplikasi dengan
algoritma ini.
Membantu mempermudah dalam pengolahan
document pengarsipan yang ada di kecamatan
sebrang ulu II dengan menggunakan
Algoritma Levensthein String serta dapat
melakukan pencarian string khusus dengan
pendekatan perkiraan.
3 Chandra Sina
Putra dan Banni
Satria Andoko
(2016)
Sistem Informasi Manajemen
Pengarsipan Dengan
Menggunakan Algoritma
Blowfish
Algoritma blowfish memang sudah
cukup aman, namun memakan
banyak memori komputer dalam
pemrosesannya. Selain itu, tidak
adanya fitur pencarian data arsip
yang telah di masukkan akan
menyulitkan pengguna sistem. Dan
hanya mengamankan file yang
berupa gambar
Menggunakan algoritma enkripsi blowfish
yang cukup aman
35
UIN Syarif Hidayatullah Jakarta
4 Sri Lestanti,
Ardina Desi
Susana (Jurnal
Antivirus, Vol.
10 No. 2
November 2016)
Sistem Pengarsipan Dokumen
Guru Dan Pegawai
Menggunakan Metode Mixture
Modelling Berbasis Web
Belum Menggunakan Enkripsi dan
kompresi pada pengamanan
dokumen.
Menggunakan metode Mixture untuk
mengelompokan data didalam suatu dataset.
5 Raditya Pratama
(2017)
Penerapan Enkripsi AES pada
Sistem Persuratan dan Disposisi
Elektronik (studi kasus: PT.
Jalan Tol Lingkar Luar Jakarta)
Belum menggunakan alrgoritma
kompresi, pada pengamanan file.
Menggunakan enkripsi AES yang dikenal
cepat dan aman. Proses enkripsi yang langsung
dilakukan pada saat pemrosesan input data
document elektronik. Enkripsi yang dilakukan
diterapkan tidak hanya pada gambar,
melainkan pada text dan document
6 Muhammad
Iqbal Dzulhaq,
Aan Ahmad
Andayani (2014)
Aplikasi Kompresi File Dengan
Metode Lempel-Ziv-Welchof
Belum Menggunaka algoritma
enkripsi pada pengamanan dokumen
atau file, dan tidak bisa
mengkompress file dengan tipe
docx dan xlsx.
Sudah menggunakan kompresi untuk
pengamanan file
7 Agustan Latif
(2015)
Implementasi Kriptografi
Menggunakan Metode AES
Untuk pengamanan Data teks
Sudah menggunakan algoritma
enkripsi tetapi belum menggunakan
algoritma kompres.
Menggunakan enrkripsi AES. Proses enkripsi
hanya dapat enkripsi teks saja, tidak dapat
enkrip file.
8 Abdul Dzuljalali
Wal Ikrom
(2018)
Rancang Bangun Repository
Guru Menggunakan Metode
Enkripsi Advance Encryption
Standard (AES) dan Kompresi
di SMP Muhammadiyah 22
Tangerang Selatan
Sudah menggunakan algoritma AES dan
kompresi pada pengamanan file.
36
UIN Syarif Hidayatullah Jakarta
BAB III
METODE PENGEMBANGAN SISTEM
3.1 Metode Pengumpulan Data
3.1.1 Wawancara
Wawancara dilakukan pada :
Hari/Tanggal : Senin, 14 Mei 2018
Tempat : Sekolah SMP 22 Muhammadiyah Tangerang
Selatan, Pamulang.
Narasumber : Ibu Ida.
Dimana hasil wawancara dapat dilihat pada lampiran.
3.1.2 Studi Pustaka
Studi pustaka yang dilakukan pada penelitian ini menggunakan
metode Systematic Literature Review (SLR) yang telat ditulis pada Bab II.
3.2 Metode Pengembangan Sistem
Dalam penerapan metode untuk pengembangan sistem Waterfall pada
aplikasi Repository Guru meggunakan metode Enkripsi AES dan Kompresi
Huffman terdapat beberapa tahap, yaitu :
3.2.1 Analysis
Pada fase ini penulis melakukan pemahaman serta analisis terhadap
data yang telah didapatkan pada saat wawancara sebelumnya. Komponen
fase inimeliputi:
1. Identifikasi masalah, permasalahan bisa teridentifikasikan
setelah peneliti melakukan wawancara dengan pihak Sekolah
SMP 22 Muhammadiyah Pamulang dengan narasumber Ibu Ida.
2. Kebutuhan Sistem, pada fase ini menganalisa dari hasil
wawancara, maka ditentukanlah spesifikasi untuk menerapkan
37
UIN Syarif Hidayatullah Jakarta
aplikasi Repository Guru ini. Yang terdiri atas sistem berjalan
dan sistem usulan.
3. Planning, pada fase ini peneliti menentukan estimasi waktu
pengembangan sistem dan menentukan urutan langkah
pengembangannya.
3.2.2 Design
Pada fase ini penulis menerjemahkan semua hasil dari fase analisis
menjadi representase dari perangkat lunak untuk fase berikutnya, berikut
komponen design:
1. Arsitekrut design, merancang diagram-diagram UML (Unified
Modeling Language), yang menggambarkan struktur dasar yang
berkaitan dengan Repository Guru ini. Diagram-diagram UML
yang dimaksud adalah Class Diagram, Use Case Diagram,
Sequence Diagram, dan Activiy Diagram.
2. Database design, merancang struktur database yang terdiri dari
kumpulan table yang memiliki kolom yang saling berelasi antara
masing-masing table. Dilakukan dengan cara menerjemahkan
UML Class Diagram ke dalam database.
Interface design, membuat mockup yang merepresentasikan GUI
(Graphical User Interface) dari setiap user yang terdapat pada
aplikasi Repository Guru ini, yang disesuaikan dengan hak akses
pada masing-masing user, terdapat beberapa level hak akses pada
sistem ini, yaitu: Admin, dan Guru.
3.2.3 Fase Implementasi
Pada tahap ini penulis melakukan beberapa fase implementasi,
diantaranya:
38
UIN Syarif Hidayatullah Jakarta
1. Mengimplementasikan Enkripsi AES
Pada tahap ini penulis menggunakan enkripsi AES pada setiap
file yang akan di-upload pengguna pada saat memasukkan file
ke dalam Repository.
2. Mengimplementasikan Kompresi Huffman
Pada tahap ini penulis menggunakan kompresi huffman pada
setiap file yang akan di-upload pada saat memasukan file ke
dalam aplikasi Repository.
3.2.4 Testing
Pada tahap ini penulis melakukan fase testing menggunkan
blackbox, diantaranya:
1. Pada tahap ini penulis melakukan pengujian terhadap aplikasi
supaya dapat digunakan tanpa ada kendala-kendala apapun.
Metode yang digunakan untuk uji coba adalah metode
BlackBox.
3.3 Alur Kerangka Berfikir
Berdasarkan metode pengumpulan data dan metode pengembangan sistem
dalam penelitian skripsi ini, secara garis besar akan dirangkum dalam alur
kerangka berfikir penelitian, sebagai berikut:
39
UIN Syarif Hidayatullah Jakarta
Gambar 3 1 Alur Kerangka Berfikir
40
UIN Syarif Hidayatullah Jakarta
BAB IV
TAHAP PENGEMBANGAN
4.1 Fase Analysis
Pada fase analysis ini ada tiga tahapan yaitu, identifikasi masalah,
kebutuhan sistem, serta planning.
4.1.1 Identifikasi Masalah
Berdasarkan hasil wawancara dengan pihak SMP 22
Muhammadiyah Pamulang, maka dapat diidentifikasikan bahwa tempat
penyimpanan di sekolah SMP Muhammadiyah pamulang tersebut masih
tergolong manual.
4.1.2 Kebutuhan Sistem
Ada 2 tahapan pada tahap kebutuhan sistem ini, yaitu Sistem
Berjalan dan usulan Sistem.
4.1.2.1 Sistem Berjalan
Berdasarkan hasil dari identifikasi masalah yang telah
dijelaskan diatas, dapat digambarkan sistem yang berjalan di SMP
22 Muhammadiyah Pamulang adalah sebagai berikut:
Gambar 4 1 Gambaran Sistem Berjalan
41
UIN Syarif Hidayatullah Jakarta
Pada gambar 4.1 adalah gambaran sistem berjalan, yang dimana
Guru/Staff membuat laporan atau dokumen, lalu dokumen yang
telah dibuat diserahkan kepada bagian Tata Usaha. File tersebut di-
copy dan file copy disimpan di Tata Usaha, dan file asli
dikembalikan kepada guru.
4.1.2.2 Usulan Sistem
Berdasarkan gambaran dari analisis sistem berjalan diatas, maka
diperlukan suatu sistem yang menjadi alternatif yang dapat
memberikan solusi terhadap permasalahan yang ada dengan
membuat Repository Guru, sehingga menjadi terstruktur yang
dimana aplikasi ini menggunakan pengamanan data berupa Enkripsi
AES dan kompresi. Berikut adalah gambaran usulan sistem yang
akan dibuat:
Gambar 4 2 Gambaran Sistem Usulan
Pada gambar 4.2 adalah gambaran sistem usulan, yang dimana
Guru/Staff membuat dokumen lalu disimpan ke sistem aplikasi
Repository Guru lalu sistem tersebut menyimpan file tersebut di
Database.
42
UIN Syarif Hidayatullah Jakarta
4.1.3 Planning
Berikut merupakan susuan dari fase analysis dan percancangan
Repository Guru yang terdiri atas beberapa tahapan yaitu, fase analysis, fase
design, database design, implementasi. Dengan mengimplentasikan metode
pengembangan data sistem waterfall.
Untuk metode pengembangan metode waterfall pada penelitian
skripsi ini harus sesuai dengan data wawancara dengan pihak SMP 22
Muhammadiyah Pamulang terkait dengan Repository Guru ini, dan
diharapkan dapat memberikan solusi permasalahan yang ada di sekolah
tersebut. Pada tahap ini pengembangan sistem dilakukan selama empat
bulan. Lebih jelasnya dapat dilihat pada gambar berikut:
Gambar 4 3 Planning pengembangan dengan metode waterfall
43
UIN Syarif Hidayatullah Jakarta
Untuk pengembangan dengan metode waterfall yaitu, untuk
perancangan fitur fitur pendukung. Yang telah dirumuskan setelah tahap
akhir testing blackbox, berupa perancangan fitur yang mendukung sistem
Repository Guru ini.
4.1.4 Design Proses Enkripsi AES
Gambar 4 4 Proses Enkripsi Document
Proses enkripsi menggunakan library AES Algorithm yang ada
pada PHP. Proses enkripsi terjadi pada document saat aktor melakukan
upload document melalui sistem. Isi document akan dibaca oleh kode php,
lalu dilakukan enkripsi menggunakan library AES Algorithm
menggunakan kunci yang sudah ditentukan penulis, terakhir isi document
yang sudah di enkripsi di tulis kembali Key dalam file dengan ekstensi
.encrypted.
4.1.5 Design Proses Dekripsi AES
Gambar 4 5 Proses Dekripsi Document
Proses dekripsi menggunakan library AES Algorithm yang ada
pada PHP. Proses dekripsi terjadi pada document yang telah dienkripsi di
sistem. Isi document yang terenkripsi akan dibaca oleh kode php, lalu
dilakukan dekripsi menggunakan library AES Algorithm menggunakan
44
UIN Syarif Hidayatullah Jakarta
kunci yang sama seperti saat melakukan enkripsi, terakhir isi document yang
sudah di enkripsi di tulis kembali.
4.2 Fase Design
Pada fase ini ada tiga tahapan proses, yaitu Arsitektur Design, Database
Design, dan Interface Design.
4.2.1 Arsitektur Design
Pada tahap Arsitektur Design ini, penulis membuat rancangan
aplikasi dengan menggunakan UML (Unified Modeling Language). Jenis
diagram yang termasuk dalam perancangan ini yaitu, Class Diagram,
Usecase Diagram, Usecase Scenario, Sequence Diagram, dan Activity
Diagram.
4.2.1.1 Class Diagram
Pada Class Diagram ini menampilkan hubungan antar kelas pada
aplikasi Repository Guru.
45
UIN Syarif Hidayatullah Jakarta
Gambar 4 6 Class Diagram Repository Guru
4.2.1.2 UseCase Diagram
UseCase Diagram menjelaskan interaksi dari actor dalam sistem
ini. Actor di Usecase ini digambarkan sebagai user/pengguna. Berikut
adalah gambar Usecase Diagram:
46
UIN Syarif Hidayatullah Jakarta
Gambar 4 7 Usecase Diagram Repository Guru
4.2.1.3 Usecase Scenario
Usecase Scenario berfungsi sebagai penjabaran dari Usecase pada
sistem ini. Berikut adalah Usecase Scenario:
Tabel 4 1 Usecase Scenario Input Data Guru
UseCase name Input Data Guru
Actor Admin
47
UIN Syarif Hidayatullah Jakarta
Description Proses untuk menginput data guru
Precondition Login terlebih dahulu sebelum memasukan
data guru
Action
Actor Action System Response
1. Validasi login
2. Memasukan data
guru
3. Proses input
4. Menampilkan
data yang telah
di input.
Post Condition Sistem akan menampilkan pesan bahwa
data telah berhasil diinput.
Tabel 4 2 Usecase Scenario Update Data Guru
UseCase name Update Data Guru
Actor Admin
Description Proses untuk meng-update data guru
Precondition Data guru harus sudah tersimpan di sistem
Action
Actor Action System Response
1. Validasi login
2. Menampilkan
data guru yang
telah di input
3. Update data guru 4. Proses meng-
update.
5. Menampilkan
data yang telah
di-update
Post Condition Sistem akan menampilkan pesan bahwa
data telah berhasil di-update.
48
UIN Syarif Hidayatullah Jakarta
Tabel 4 3 Usecase Scenario View Data Guru
UseCase name View Data Guru
Actor Admin
Description Proses untuk melihat data guru yang telah
tersimpan
Precondition Data guru harus sudah tersimpan di sistem
Action
Actor Action System Response
1. Validasi login
2. Menampilkan
data guru yang
telah di input
Post Condition Sistem akan menampilkan data guru yang
telah disimpan disistem.
Tabel 4 4 Usecase Scenario Input Kategori File
UseCase name Input Kategori File
Actor Admin
Description Proses untuk meng-input kategori File
Precondition Login terlebih dahulu sebelom memasukan
kategori file
Action Actor Action System Response
1. Validasi login
2. Meng-input
kategori file
3. Proses Input
4. Menampilkan
kategori file
yang telah di
input
49
UIN Syarif Hidayatullah Jakarta
Post Condition Sistem akan menampilkan pesan bahwa
data telah berhasil di-input.
Tabel 4 5 Usecase Scenario Update Kategori File
UseCase name Update Kategori File
Actor Admin
Description Proses untuk meng-update kategori file
Precondition Data kategori file harus sudah tersimpan di
sistem
Action
Actor Action System Response
1. Validasi login
2. Meng-update
kategori file
3. Proses update
4. Menampilkan
data kategori
file yang telah
di input
Post Condition Sistem akan menampilkan pesan bahwa
data telah berhasil di-update.
Tabel 4 6 Usecase Scenario View Kategori File
UseCase name View Kategori File
Actor Admin
Description Proses untuk melihat kategori file yang telah
tersimpan.
Precondition Data kategori file harus sudah tersimpan di
sistem
Action Actor Action System Response
1. Validasi login
50
UIN Syarif Hidayatullah Jakarta
2. Menampilkan
data kategori
file yang telah
di input
Post Condition Sistem akan menampilkan data kategori file
yang telah disimpan disistem.
Tabel 4 7 Usecase Scenario Input Kategori Jabatan
UseCase name Input Kategori Jabatan
Actor Admin
Description Proses untuk meng-input kategori jabatan.
Precondition Login terlebih dahulu sebelum memasukan
kategori jabatan.
Action
Actor Action System Response
1. Validasi login
2. Meng-input
kategori jabatan
3. Menampilkan
data kategori
jabatan yang
telah di-input
Post Condition Sistem akan menampilkan pesan bahwa
data telah berhasil di-input.
Tabel 4 8 Usecase Scenario Update Kategori Jabatan
UseCase name Update Kategori Jabatan
Actor Admin
Description Proses untuk meng-update data kategori
jabatan yang telah tersimpan.
51
UIN Syarif Hidayatullah Jakarta
Precondition Data kategori jabatan sudah tersimpan di
sistem.
Action
Actor Action System Response
1. Validasi login
2. Menampilkan
data kategori
jabatan yang
telah di input
3. Meng-update
kategori jabatan
Post Condition Sistem akan menampilkan pesan bahwa
data telah berhasil di-update.
Tabel 4 9 Usecase Scenario View Kategori Jabatan
UseCase name View Kategori Jabatan
Actor Admin
Description Proses untuk melihat data kategori jabatan
yang telah tersimpan.
Precondition Data kategori jabatan sudah tersimpan di
sistem.
Action
Actor Action System Response
1. Validasi login
2. Menampilkan
data kategori
jabatan yang
telah di input
Post Condition Sistem akan menampilkan data kategori
jabatan yang telah disimpan disistem.
52
UIN Syarif Hidayatullah Jakarta
Tabel 4 10 Usecase Scenario Upload File
UseCase name Input/Upload File
Actor Admin, Guru
Description Proses untuk meng-upload
Precondition Login telebih dahulu sebelum meng-upload
file
Action
Actor Action System Response
1. Validasi login
2. Meng-upload
file
3. Menampilkan
data guru yang
telah di input
Post Condition Sistem akan menampilkan pesan bahwa
data telah berhasil di-input/upload.
Tabel 4 11 Usecase Scenario Update File
UseCase name Update File
Actor Admin, Guru
Description Proses untuk meng-update file yang telah
tersimpan
Precondition File harus sudah tersimpan di sistem
Action
Actor Action System Response
1. Validasi login
2. Menampilkan
file yang telah
di-input/upload
3. Update file
53
UIN Syarif Hidayatullah Jakarta
4. Menampilkan
file yang telah
di-update
Post Condition Sistem akan menampilkan pesan bahwa file
telah berhasil di-update.
Tabel 4 12 Usecase Scenario View Data File
UseCase name View Data File
Actor Admin, Guru
Description Proses untuk melihat file yang telah
tersimpan disistem.
Precondition File harus sudah tersimpan di sistem.
Action
Actor Action System Response
1. Validasi login
2. Menampilkan
file yang telah
di-input/upload
Post Condition Sistem akan menampilkan file yang telah
tersimpan disistem.
Tabel 4 13 Usecase Scenario Update Profile
UseCase name Update Profile
Actor Admin, Guru
Description Proses untuk meng-update profile.
Precondition Sudah terdaftar disistem dan login terlebih
dahulu sebelum melakukan proses ini.
Action Actor Action System Response
1. Validasi login
54
UIN Syarif Hidayatullah Jakarta
2. Menampilkan
data diri/profile
3. Update profile
4. Proses update
profile
Post Condition Sistem akan menampilkan pesan bahwa
profile telah berhasil di-update.
Tabel 4 14 Usecase Scenario Update Password
UseCase name Update Passowrd
Actor Admin, Guru
Description Proses untuk meng-update password.
Precondition Sudah terdaftar disistem dan login terlebih
dahulu sebelum melakukan proses ini.
Action
Actor Action System Response
1. Validasi login
2. Menampilkan
form update
password
3. Update
Password
4. Proses update
password
Post Condition Sistem akan menampilkan pesan bahwa
password telah berhasil di-update.
4.4.1.4 Sequence Diagram
Sequence diagram menjelaskan secara detail urutan proses yang
dilakukan dalam sistem untuk mencapai tujuan dari Usecase Diagram.
55
UIN Syarif Hidayatullah Jakarta
Berikut ini adalah gambaran tentang Sequence Diagram pada Sistem
Repository Guru :
1. Sequence Diagram Add Guru
Gambar 4 8 Sequence Diagram Add guru
56
UIN Syarif Hidayatullah Jakarta
2. Sequence Diagram Update Guru
Gambar 4 9 Sequence Diagram Update guru
3. Sequence Diagram View Data Guru
Gambar 4 10 Sequence Diagram View Data guru
57
UIN Syarif Hidayatullah Jakarta
4. Sequence Diagram Input Kategori Jabatan
Gambar 4 11 Sequence Diagram Input Kategori Jabatan
5. Sequence Diagram Update Kategori Jabatan
Gambar 4 12 Sequence Diagram Update Kategori Jabatan
58
UIN Syarif Hidayatullah Jakarta
6. Sequence Diagram View Data Kategori Jabatan
Gambar 4 13 Sequence Diagram View Kategori Jabatan
7. Sequence Diagram Input Kategori File
Gambar 4 14 Sequence Diagram Input Kategori File
59
UIN Syarif Hidayatullah Jakarta
8. Sequence Diagram Update Kategori File
Gambar 4 15 Sequence Diagram Update Kategori File
9. Sequence Diagram View Kategori File
Gambar 4 16 Sequence Diagram View Kategori File
60
UIN Syarif Hidayatullah Jakarta
10. Sequence Diagram Upload File
Gambar 4 17 Sequence Diagram Upload File
11. Sequence Diagram Update File
Gambar 4 18 Sequence Diagram Update File
61
UIN Syarif Hidayatullah Jakarta
12. Sequence Diagram View File
Gambar 4 19 Sequence Diagram View File
13. Sequence Diagram Update Profile
Gambar 4 20 Sequence Diagram Update Profile
62
UIN Syarif Hidayatullah Jakarta
14. Sequence Diagram Update Password
Gambar 4 21 Sequence Diagram Update Password
4.4.1.5 Activity Diagram
Activity Diagram menggambarkan aktifitas - aktifitas yang terjadi
didalam sistem. Berikut ini akan digambarkan aktifitas yang terjadi
didalam sistem Repository Guru.
63
UIN Syarif Hidayatullah Jakarta
1. Activity Add Guru
Gambar 4 22 Activity Diagram Add Guru
Pada gambar 4.22 merupakan diagram activity untuk menambah data guru.
Acvity dimulai dari user yang bertindak sebagai admin untuk menambah data guru
aktifitas ini hanya admin yang bisa menambah data guru.
64
UIN Syarif Hidayatullah Jakarta
2. Update Data Guru
Gambar 4 23 Activity Update Data Guru
Pada gambar 4.23 merupakan diagram activity untuk mengupdate data guru
yang sudah tersimpan. Activity dimulai dari user yang bertindak admin yang meng-
update data guru.
65
UIN Syarif Hidayatullah Jakarta
3. Activity Add Jabatan
Gambar 4 24 Activity Add Jabatan
Pada gambar 4.24 merupakan diagram activity untuk menambah jabatan
apa saja yang dibutuhkan. Activity diatas hanya user yang bertindak sebagai
admin yang bisa menambah data jabatan.
66
UIN Syarif Hidayatullah Jakarta
4. Update Jabatan
Gambar 4 25 Activity Update Jabatan
Pada gambar 4.25 merupakan diagram activity untuk meng-update jabatan
yang tersedia. Activity diatas hanya user yang bertindak sebagai admin yang bisa
meng-update data jabatan.
67
UIN Syarif Hidayatullah Jakarta
5. Activity Add Kategori File
Gambar 4 26 Activity Add Kategori File
Pada gambar 4.26 merupakan diagram activity untuk menambah kategori
file. Activity diatas hanya user yang bertindak sebagai admin yang bisa menambah
kategori file.
68
UIN Syarif Hidayatullah Jakarta
6. Update Kategori File
Gambar 4 27 Update Kategori File
Pada gambar 4.27 merupakan diagram activity untuk meng-update kategori
file. Activity diatas hanya user yang bertindak sebagai admin yang bisa meng-
update kategori file.
69
UIN Syarif Hidayatullah Jakarta
7. Upload File
Gambar 4 28 Activity Upload File
Pada gambar 4.28 merupakan activity untuk upload file. Activity diatas
hanya user yang bertindak selain admin yang bisa meng-upload file.
70
UIN Syarif Hidayatullah Jakarta
8. Update File
Gambar 4 29 Activity Update File
Pada gambar 4.29 merupakan diagram activity untuk meng-update file.
Activity diatas hanya user yang bertindak selain admin yang bisa meng-upload
file.
71
UIN Syarif Hidayatullah Jakarta
9. Hapus File
Gambar 4 30 Activity Hapus File
Pada gambar 4.30 merupakan diagram activiy hapus file. Activity diatas
hanya user yang bertindak selain admin yang bisa meng-upload file.
72
UIN Syarif Hidayatullah Jakarta
10. Update Profile
Gambar 4 31 Activity Update File
Pada gambar 4.31 merupakan diagram activiy Update file. Activity aktor
dapat mengubah profile.
73
UIN Syarif Hidayatullah Jakarta
11. Update Password
Gambar 4 32 Activity Update Password
Pada gambar 4.32 merupakan diagram activity ubah password. Activity
diatas untuk mengubah password bagi user yang sudah terdaftar disistem.
74
UIN Syarif Hidayatullah Jakarta
4.4.2 Database Design
Database Design pada aplikasi Repository Guru ini terdiri dari 4
tabel, yaitu:
4.4.2.1 Tabel Guru
Deskripsi: Untuk data Guru dan admin.
Primary Key: id_guru Foreign Key: -
Tabel 4 15 Data Guru
Nama
Kolom
Tipe Panjang Keterangan
Id_guru Int 50 Kode unik tabel guru
(digunakan untuk login
sitem)
Password Text 50 Password digunakan
untuk login sistem
Nama Varchar 50 Nama guru, admin, atau
staff
Jabatan Varchar 20 Jabatan yang terdaftar
disistem
Email Varchar 500 Email user
Status Enum - Status user
Username Varchar 50 Username user
Image Text - Foto profile user
Alamat Varchar 500 Alamat user
75
UIN Syarif Hidayatullah Jakarta
4.4.2.2 Tabel Kategori Files
Deskripsi: Untuk data Guru dan admin.
Primary Key: id_kategori Foreign Key: -
Tabel 4 16 Kategori File
Nama Kolom Tipe Panjang Keterangan
Id_kategori Int 50 Kode unik tabel
kategori file
Jenis_kategori Varchar 50 Kategori file
(sertifikasi, biodata,
dll)
4.4.2.3 Tabel Kategori Jabatan
Deskripsi: Untuk data Guru dan admin.
Primary Key: id_kateg_jb Foreign Key: -
Tabel 4 17 Kategori Jabatan
Nama
Kolom
Tipe Panjang Keterangan
Id_kateg_jab Int 255 Kode unik tabel
kategori guru
Kateg_jab Varchar 500 Kategori jabatan (guru,
admin, dll)
76
UIN Syarif Hidayatullah Jakarta
4.4.2.4 Tabel Files
Deskripsi: Untuk data Guru dan admin.
Primary Key: id_files Foreign Key: id_kategori
Tabel 4 18 Files
Nama
Kolom
Tipe Panjang Keterangan
Id_files Int 50 Kode unik tabel files
Id_guru Int 50 Id_guru di ambil dari
session login
Id_kategori Int 50 Id_kategori diambil dari
tabel kategori file
Nama_files Varchar 50 Keterangan file name
Last_update Datetime - Waktu update
Status Enum - Status user
Files Text - Files yang di-upload
4.4.3 Interfce Design
Interface Design (tampilan) adalah salah satu hal yang sangat
penting dalam merancang atau membangun sebuah aplikasi. Perancangan
tampilan ini diperlukan untuk memberikan gambaran mengenai aplikasi
yang akan dibuat. Aplikasi yang User Friendly sangat dibutuhkan. Sistem
Repository Guru ini terdiri dari 2 pengguna, yaitu Guru, dan Administrator.
Berikut ini akan dijelaskan mengenai perancangan aplikasi Repository
Guru:
77
UIN Syarif Hidayatullah Jakarta
1. Halaman Login
Gambar 4 33 Halaman Login
Gambar 4.33 adalah rancangan tampilan login, dimana user yang akan
menggunakan aplikasi ini di haruskan login terlebih dahulu, dan memasukan
username dan password.
2. Halaman Data Guru
Gambar 4 34 Input Data Guru
Gambar 4.34 diatas adalah rancangan tampilan input data guru baru, update
dan view guru yang sudah dimasukkan kedalam sistem.
78
UIN Syarif Hidayatullah Jakarta
3. Halaman Kategori File
Gambar 4 35 Halaman Input Kategori File
Gambar 4.35 diatas adalah rancangan tampilan input jenis kategori file,
update dan view kategori file yang sudah dimasukkan kedalam sistem.
4. Halaman Kategori Jabatan
Gambar 4 36 Halaman Input Kategori Jabatan
Gambar 4.36 diatas adalah rancangan tampilan input jenis kategori Guru,
update dan view kategori Guru yang sudah dimasukkan kedalam sistem.
79
UIN Syarif Hidayatullah Jakarta
5. Halaman Upload File
Gambar 4 37 Halaman Upload File
Gambar 4.37 diatas adalah rancangan tampilan upload file, update dan view
file yang sudah di-upload kedalam sistem.
6. Update Profile
Gambar 4 38 Halaman Update Profile
Gambar 4.38 diatas adalah rancangan tampilan update profile dan password user
(pengguna).
80
UIN Syarif Hidayatullah Jakarta
4.3 Fase Implementasi
4.3.1 Penerapan Enkripsi AES
Penerapan Enkripsi AES ini dilakukan secara otomatis bersamaan
dengan proses meng-upload data, dengan menggunakan Key yang terdiri
dari string kode jabatan. Di mana, setiap dokumen yang di upload akan di
ambil isi dari document tersebut untuk kemudian di ubah menjadi kode ascii
dan hexadecimal lalu dilanjutkan dengan tahap-tahap pemrosesan enkripsi
AES di bawah ini.
Gambar 4 39 Alur Enkripsi
4.3.1.1 Aes Chiper Block
Fungsi AES Cipher Block digunakan untuk enkripsi tiap block. input
akan dikonversikan menjadi array 2 dimensi dan disimpan dalam
variable state. State akan dilakukan iterasi sebanyak jumlah round - 1.
Sebelum memasuki iterasi pertama, State akan dilakukan fungsi
addRoundKey.
81
UIN Syarif Hidayatullah Jakarta
Pada iterasi permata akan dilakukan fungsi subBytes, shiftRows,
mixColumns dan addRoundKey secara berurutan. Pada iterasi terakhir
akan dilakukan subBytes, shiftRows, dan addRoundKey secara
berurutan. Setalah semua iterasi selesai dilakukan, state akan
dikembalikan menjadi array 1 dimensi. Ouput dari fungsi ini adalah state
dalam bentuk array 1 dimensi. Implementasi fungsi AES Cipher Block
ditunjukkan pada tabel 4.19.
Tabel 4 19 Pseudocode AES Chiper block
Fungsi AES Cipher Block Masukan: input, Key
1 Nblock <- 4 2 Nround <- Key.lenght/Nblock - 1
3 for (i=0; i<4*Nblock; i++)
4 state[i%4][Math.floor(i/4)] <- input[i]
5
state <- Aes.addRoundKey(state, Key, 0,
Nblock)
6 for (round = 1; round<Nround; round++)
7 state <- Aes.subBytes(state, Nblock) 8 state <- Aes.shiftRows(state, Nblock)
9 state <- Aes.mixColumns(state, Nblock)
10
state <- Aes.addRoundKey(state, Key, round, Nblock)
11 state <- Aes.subBytes(state, Nblock)
82
UIN Syarif Hidayatullah Jakarta
Gambar 4 40 Proses Chiper Block
4.3.1.2 Key Expansion
Key expansion dilakukan pada Key sebelum digunakan pada fungsi
AES Cipher Block. Key expansion akan menggunakan AES sBox dan
AES rCon. Key yang digunakan pada enkripsi AES adalah karakter acak
sepanjang 32 byte yang selalu berbeda setiap kali fungsi enkripsi akan
dilakukan. Key awal akan dikembangkan menjadi array 2 dimensi
berukuran 60x4. Untuk 7 index pertama, akan di-set sesuai rumus yang
bidasarkan nomor index.
Setiap index kellipatan 8, akan dilakukan transformasi khusus. Key
pada index tersebut akan dilakukan fungsi rotWord yaitu rotasi 4 byte
word Key kiri sebanyak 1 byte. Kemudian dilakukan fungsi subWord
yaitu penerapan Sbox. Fungsi subWord juga akan dilakukan setiap index
Key 4. Kemudian dilakukan operasi xor dengan index sebelumnya.
Keluaran dari fungsi ini adalah keySchedule. Implementasi fungsi AES
Key expansion ditunjukkan pada tabel 4.20
83
UIN Syarif Hidayatullah Jakarta
Tabel 4 20 Pseudocode AES Key Expansion
Fungsi Aes Key expansion
Masukan: Key 1 Nblock <- 4
2 keyLenght <- Key.length/4
3 Nround <- keyLenght + 6
4 for (i=0; i<keyLenght; i++)
5 newKey[i] <-
[Key[4*i],Key[4*i+1],Key[4*2],Key[4*i+3]]
6 for (i = keyLenght; i<(Nblock*(Nround+1)); i++)
7 for (j=0; j<4; j++)
8 temp[j] <- newKey[i-1][j]
9 if (i% keyLenght == 0) 10 temp <- Aes.subWord(Aes.rotWord(temp))
11 for (j=0; j<4; j++) 12 temp[j] ^= Aes.rCon[i/keyLenght][j]
13 if (keyLenght>6 && i%keyLenght == 4)
14 temp <- Aes.subWord(temp) 15 for (j=0; j<4; j++)
16
newKey[i][j] <- newKey[i-keyLenght][j] ̂ temp[j]
17 return newKey Keluaran: newKey
4.3.1.3 Proses Enkripsi
Pada awal fungsi enkripsi akan diinnisialisasi ukuran block
(blockSize) dan (jumlah bit) nBits. Untuk AES ukuran blockSize adalah
tetap yaitu 16 dan nBits yang digunakan adalah 256. Kunci yang
digunakan sebagai masukan akan dikonversikan menjadi code ASCII
terlebih dahulu. Berikutnya adalah pembuatan nonce sepanjang 8 byte
yang dibuat berdasarkan waktu saat fungsi ini dipanggil. 2 byte pertama
adalah milidetik, 2 byte berikutnya adalah angka acak, dan 4 byte
terakhir adalah detik. Nonce ini akan digunakan sebagai 8 index pertama
counterBlock. 8 index pertama ciphertext dibuat dari 8 counterBlock
pertama yang telah dikonversikan mejadi karakter.
Sebelum iterasi counter dilakukan, Key akan dikembangkan
menggunakan fungsi Key expansion. Kemudian plaintext dibagi
84
UIN Syarif Hidayatullah Jakarta
sepanjang 16 byte setiap bagian untuk dilakukan fungsi AES cipher
block degan keySchedule. Implementasinya dapat dilihat pada tabel 4.21
Tabel 4 21 Pseudocode Enkripsi AES
Fungsi Enkripsi AES Counter mode
Masukan: Plaintext, Key 1 blockSize <- 16 2 nBits <- 256 3 pwBytes <- password.charCodeAt(Key) 4 nonce <- (new Date()).getTime() 5 nonceMs <- nonce mod 1000 6 nonceSec <- Math.floor(nonce/1000) 7 nonceRnd <- Math.floor(Math.random()*0xffff) 8 for (i=0; i<2; i++)
9
counterBlock[i] <- (nonceMs >>> i*8) & 0xff
10 for (i=0; i<2; i++) 11
counterBlock[i+2] <- (nonceRnd >>> i*8) & 0xff
12 for (i=0; i<4; i++) 13
counterBlock[i+4] <- (nonceSec >>> i*8) & 0xff
14 for (var i=0; i<8; i++) 15
ctrTxt +=
String.fromCharCode(counterBlock[i]) 16 keySchedule <- Aes.keyExpansion(pwBytes)
17
blockCount <-
Math.ceil(plaintext.length/blockSize) 18 for (b=0; b<blockCount; b++) 19 for (var Key=0; Key<4; Key++)
20
counterBlock[15-Key] <- (b >>> Key*8) & 0xff
21 for (var Key=0; Key<4; Key++) 22
counterBlock[15-Key-4]<- (b/0x100000000 >>> Key*8)
Adapun pengimplementasian secara real sebagai berikut:
Gambar 4 41 Implementasi Enkripsi
85
UIN Syarif Hidayatullah Jakarta
Gambar 4 42 Pembagian block plaintext
Gambar 4 43 Pembuatan counter block
86
UIN Syarif Hidayatullah Jakarta
Gambar 4 44 Proses membangkitkan round key
Gambar 4 45 Proses addRoundKey fase awal
87
UIN Syarif Hidayatullah Jakarta
Gambar 4 46 Proses subBytes tahap 1
Gambar 4 47 Proses shiftRows tahap 1
88
UIN Syarif Hidayatullah Jakarta
Gambar 4 48 Proses mixColumns tahap 1
Gambar 4 49 Proses addRoundKey tahap 1
89
UIN Syarif Hidayatullah Jakarta
Gambar 4 50 addRoundKey tahap akhir
Gambar 4 51 Proses XOR counter cipher dengan block plaintext
Gambar 4 52 Hasil XOR counter cipher dengan block plaintext
90
UIN Syarif Hidayatullah Jakarta
Maka akan di dapat hasil akhir dari plaintext “hallo apa kabar”
adalah sebuah string yang berisi
n4bQgYhMfWWaL+qgxVrQFaO/TxsrC4Is0V1sFbDwCgg=mwN
UD6ONfVsiLImi3++io66UUhLZuKg=
4.3.1.4 Proses Dekripsi
Masukan untuk proses dekripsi adalah ciphertext dan Key. Kunci
yang digunakan sebagai masukan akan dikonversikan menjadi code
ASCII terlebih dahulu. Implementasi fungsi dekripsi ditunjukkan pada
tabel 4.22.
Tabel 4 22 pseudocode dekripsi AES
Dekripsi AES Masukan: ciphertext, Key
1 blockSize = 16 2 nBits = 256
3 nBytes = nBits/8 4 pwBytes <- Key.charCodeAt()
5 ctrTxt = ciphertext.slice(0, 8)
6 for (i=0; i<8; i++) 7 counterBlock[i] = ctrTxt.charCodeAt(i) 8 keySchedule = Aes.keyExpansion(Key)
9
nBlocks = Math.ceil((ciphertext.length-8) / blockSize)
10 for (b=0; b<nBlocks; b++) 11
ct[b] = ciphertext.slice(8+b*blockSize, 8+b*blockSize+blockSize)
12 ciphertext = ct
13 for (b=0; b<nBlocks; b++) 14 for (Key=0; Key<4; Key++)
15
counterBlock[15-Key] = ((b) >>> Key*8) & 0xff
16 for (Key=0; Key<4; Key++) 17
counterBlock[15-Key-4] =
(((b+1)/0x100000000-1) >>> Key*8) & 0xff 18
cipherCntr = Aes.cipher(counterBlock,
keySchedule) 19 for (i=0; i<ciphertext[b].length; i++)
20
plaintext[i] = cipherCntr[i] ̂ ciphertext[b].charCodeAt(i)
21
plaintext[i] =
String.fromCharCode(plaintext[i]) 22 plaintext += plaintext.join('')
91
UIN Syarif Hidayatullah Jakarta
23
if (typeof WorkerGlobalScope !=
'undefined' && self instanceof WorkerGlobalScope)
24
if (b%1000 == 0) self.postMessage({ progress: b/nBlocks })
25 plaintext = Ctr.utf8Decode(plaintext)
26 return plaintext Keluaran: plaintext
4.3.2 Penerapan Kompresi Huffman
Penerapan Kompresi ini dilakukan secara otomatis bersamaan
dengan proses meng-upload data, dengan menggunakan Key yang
terdiri dari string kode jabatan. Di mana, setiap dokumen yang di upload
akan dikompres.
4.3.2.1 Proses Kompres
Metode Huffman merupakan salah satu teknik kompresi
dengan cara melakukan pengkodean dalam bentuk bit untuk
mewakili data karakter. Cara kerja metode Huffman ini adalah
sebagai berikut, Contoh: “ABBABABACAACDDD”.
1. Hitung jumlah kemunculan karakter
Gambar 4 53 Hitung Kemunculan Karakter
2. Urutkan nilai - nilai berdasarkan frekuensi terbesar
kemunculan karakter
Gambar 4 54 Urutkan Nilai – Nilai Berdasarkan Frekuensi Terbesar
Kemunculan Karakter
92
UIN Syarif Hidayatullah Jakarta
3. Gabungkan 2 pohon yang mempunyai fekuensi
kemunculan terkecil dan urutkan kembali
Gambar 4 55 Gabungkan 2 Pohon Yang Mempunyai Kemunculan
Terkecil Dan Urutkan Kembali
4. Ulangi langkah ke-3 sampai membentuk sebuah pohon
biner
Gambar 4 56 Mengulang Langkah ke-3 Sampai Membentuk Sebuah
Pohon Biner
5. Berikan label pada pohon biner tersebut dengan cara sisi
kiri pohon diberi label 0 dan sisi kanan diberi label 1
93
UIN Syarif Hidayatullah Jakarta
Gambar 4 57 Memberi label pada pohon biner dengan cara sisi kiri pohon diberi
label 0 dan sisi kanan diberi label 1
6. Telusuri pohon biner dari akar ke daun.
A = 1 (1 bit)
B = 01 (2 bit)
C = 001 (3 bit)
D = 000 (3 bit)
Jadi untuk Kode ASCII string
“ABBABABACAACDDD”menjadi 101011011011001110
01000000000.
Rasio sebelum pemampatan = 15 x 8 bit = 120 bit Rasio
setelah pemampatan = (6 x 1 bit) + (4 x 2 bit) + (2 x 3 bit) +
(3 x 3 bit) = 29 bit Jadi persentase rasionya adalah 100% -
(29/120 x 100%) = 75,8%
4.3.2.2 Proses Dekompres
Decoding merupakan kebalikan dari encoding. Decoding
berarti menyusun kembali data dari string biner menjadi sebuah
karakter kembali. Decoding dapat dilakukan dengan dua cara, yang
pertama dengan menggunakan pohon Huffman dan yang kedua
dengan menggunakan tabel kode Huffman. Langkah-langkah men -
94
UIN Syarif Hidayatullah Jakarta
decoding suatu string biner dengan menggunakan pohon Huffman
adalah sebagai berikut :
4.3.2.2.1.1.1 Baca sebuah bit dari string biner.
4.3.2.2.1.1.2 Mulai dari akar
4.3.2.2.1.1.3 Untuk setiap bit pada langkah 1, lakukan
traversal pada cabang yang bersesuaian.
4.3.2.2.1.1.4 Ulangi langkah 1, 2 dan 3 sampai bertemu
daun. Kodekan rangkaian bit yang telah dibaca dengan
karakter di daun.
4.3.2.2.1.1.5 Ulangi dari langkah 1 sampai semua bit di
dalam string habis. Sebagai contoh kita akan men-
decoding string biner yang bernilai ”111”.
Gambar 4 58 Proses Decoding dengan Menggunakan Pohon Huffman
setelah kita telusuri dari akar, maka kita akan menemukan
bahwa string yang mempunyai kode Huffman “111” adalah karakter
C.
4.3.3 Penginputan Data
Dalam tahap ini, penulis melakukan input data Key kedalam database.
Untuk data sementara penulis menggunakan data contoh (dummy).
95
UIN Syarif Hidayatullah Jakarta
4.4 Pengujian Sistem
Penulis melakukan pengujian sistem oleh admin dan User Accepance
Test (UAT) dengan menggunakan metode blackbox. Metode pengujian
blackbox, pengujian difokuskan pada fungsionalitas sistem Repository Guru
yang telah ditentukan dan dibuat, kemudian memperlihatkan apakah fungsi-
fungsi yang diterapkan beroperasi sepenuhnya atau tidak.
4.4.1 Tahap pengujian admin
Pada tahap testing penulis melakukan testing dengan metode blackbox
dengan mengujikan seluruh fitur yang sudah dirancang dengan
implementasi aplikasi yang sudah dibuat apakah sesuai dengan analisis dan
rancangan yang dibuat. Hasil pengujian disajikan dalam beberapa level
berikut ini:
1. Pengujian level user/guru
Pada akun user/guru, pengujian ini didapat hasil sebagai berikut:
Tabel 4 23 Pengujian Akun/User Guru
No Perancangan proses Hasil yang diharapkan Hasil Keterangan
1 Menambah data
file/upload file
1. Data berhasil
tersimpan di
database
2. Data yang baru
diinput
OK Data telah berhasil di-
input
2 Update
file/mengubah file
Data berhasil di-
update di database
OK Data telah berhasil di-
update
3 Update profile Data profile berhasil
di-update
OK Profile berhasil di-
update
96
UIN Syarif Hidayatullah Jakarta
2. Pengujian level admin
Pada akun user/guru, pengujian ini didapat hasil sebagai berikut:
Tabel 4 24 Pengujian Akun/User guru
No Perancangan proses Hasil yang diharapkan Hasil Keterangan
1 Menambah data
guru/user
Data berhasil
tersimpan di database
OK Data telah berhasil di-
input
2 Update data guru Data berhasil di-
update di database
OK Data telah berhasil di-
update
3 Menambah data
kategori jabatan
Data berhasil
tersimpan di database
OK Data telah berhasil di-
input
4 Update data kategori
jabatan
Data berhasil di-
update di database
OK Data telah berhasil di-
update
5 Menambah data
kategori file
Data berhasil di-
update di database
OK Data telah berhasil di-
update
6 Update data kategori
file
Data berhasil di-
update di database
OK Data telah berhasil di-
update
7 Update profile Data profile berhasil
di-update
OK Profile berhasil di-
update
4.4.2 User Acceptance Testing (UAT)
Setelah pengujian oleh admin dilakukan, penulis memberikan aplikasi
kepada pihak Sekolah SMP 22 Muhammadiyah Tangerang Selatan untuk
melakukan pengujian user acceptance testing. Document hasil user
acceptance testing terlampir pada lampiran.
97
UIN Syarif Hidayatullah Jakarta
BAB V
HASIL DAN PEMBAHASAN
5.1 Hasil Enkripsi Document
Berikut ini adalah dokumen sebelum di-enkripsi dan sesudah enkripsi
dengan menggunakan enkripsi AES pada aplikasi Repository Guru.
5.1.1 File sebelum enkripsi
Gambar 5 1 File sebelum enkripsi
Gambar 5 2 File dibuka sebelum enkripsi
98
UIN Syarif Hidayatullah Jakarta
5.1.2 File Sesudah Enkripsi
Gambar 5 3 File sesudah enkripsi
Gambar 5 4 File dibuka setelah enkripsi
5.2 Hasil Kompresi Document
Gambar 5 5 File sebelum di-kompres
Gambar 5.5 File sebelum di-kompres yang diambil contoh menggunaka
file pdf, yang ukuran file tersebut adalah 6KB.
Gambar 5 6 File sesudah di-kompres
Gambar 5.6 File sebelum di-kompres yang sebelumnya file tersebut
berukuran 6KB menjadi 4KB.
99
UIN Syarif Hidayatullah Jakarta
5.3 Hasil Tampilan User Interface
5.3.1 Design Interface Login
Gambar 5 7 Design Interface Login
Gambar 5.7 merupakan tampilan login. Pada form login user dapat
memasukan username dan password untuk masuk kedalam aplikasi
Repository Guru.
100
UIN Syarif Hidayatullah Jakarta
5.3.2 Design Interface Data Guru
Gambar 5 8 Design Interface Data Guru
Gambar 5.8 merupakan tampilan data guru. Pada form tersebut admin
dapat input, update, dan view data guru.
5.3.3 Design Interface Kategori File
Gambar 5 9 Design Interface Kategori File
Gambar 5.9 merupakan tampilan kategori file. Pada form tersebut admin
dapat input, update, dan view kategori file.
101
UIN Syarif Hidayatullah Jakarta
5.3.4 Design Interface Kategori Jabatan
Gambar 5 10 Design Interface Kategori Jabatan
Gambar 5.10 merupakan tampilan kategori jabatan. Pada form tersebut
admin dapat input, update, dan view kategori file.
5.3.5 Design Interface Upload File
Gambar 5 11 Design Interface Upload File
Gambar 5.11 merupakan tampilan file yang sudah di-upload. Pada form
tersebut guru atau staff dapat input, update, dan view file.
102
UIN Syarif Hidayatullah Jakarta
5.3.6 Design Interface Update Profile dan Password
Gambar 5 12 Design Interface Update Profile Dan Password
Gambar 5.12 merupakan tampilan update profile dan password.
Pada form tersebut user yang telah terdaftar di sistem dapat mengubah
profile dan password.
103
UIN Syarif Hidayatullah Jakarta
BAB VI
PENUTUP
6.1 Kesimpulan
Berdasarkan hasil penelitian dan penulisan dapat disimpulkan pembuatan
sistem Repository Guru menggunakan enkripsi AES dan kompresi sebagai cara
untuk mengamankan isi dokumen. Pembuatan aplikasi ini dimulai dari
pengumpulan data dan informasi, analisis, perancangan, serta implementasi
mampu diselesaikan sesuai dengan harapan dari SMP 22 Muhammadiyah
Pamulang.
6.2 Saran
Penulis menyadari masih memeliki kekurangan dari penelitian ini, oleh
karena itu penulis menyarankan perlunya pengembangan sistem berbasis
mobile, agar pengguna tidak perlu repot-repot membuka browser ketika sedang
menggunakan di smartphone masing-masing.
104
UIN Syarif Hidayatullah Jakarta
DAFTAR PUSTAKA
Adhie, T. W., & Bagus, I. A. W. (2015). Menuju USB Digital Repository: Integrasi
Digital Library Management System Dan Aplikasi PDF Viewing Dengan
Javascript Dan HTML 5: Jurnal Teknologi Informasi dan Ilmu Komputer.
Agung, Gregorius. 2015. Mengenal PHP Menggunakan Framework. Yogyakarta:
Jubilee Enterprise.
Aziz, A. R. (2017). Implementasi Enkripsi Text Menggunakan Algoritma Advance
Encryption Standart Dan Elliptic Aziz Curve Cryptography. Surabaya:
Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut
Teknologi Sepuluh November (ITS).
Dedek, A. Y. (2015). Perbandingan Metode Puncture Elias Code Dan Huffman
Pada Kompresi File Tex. Medan: Jurnal Riset Komputer.
Dzulhaq, I, M. (2014). Aplikasi Kompresi File Dengan Metode Lempel-Ziv
Welchof: Jurnal Sisfotek Global, ISSN: 2088 – 1762 Vol. 4 No. 1 / Maret
2014
Fatmawati, dkk. 2016. Tata Kelola Teknologi Informasi Sebagai Implementasi E-
Goverment pada Kabupaten Pemekaran untuk Meningkatkan Potensi
Daerah. Bali: Prosiding Seminar Pendidikan Teknik Informatika.
Hidayat, R. (2010). Cara Praktis Membangun Website Gratis : Pengertian Website.
Jakarta: PT Elex Media Komputindo Kompas, Granedia.
Iwan, B. (2014). Analisa Metode Classic Life Cycle (Waterfall) Untuk
Pengembangan Perangkat Lunak Multimedia. Yogyakarta.
Latif, A. (2015). Implementasi Kriptografi Menggunakan Metode AES Untuk
pengamanan Data teks. Merauke: Jurnal Ilmiah Mustek Anim Ha Vol. 4
No. 2, Agustus, 2015 ISSN 2089-6697
105
UIN Syarif Hidayatullah Jakarta
Mansur, S. (2014). Pengelolaan Repositori Perguruan Tinggi dan Pengembangan
Repositori Karya Seni. Yogyakarta: Pustakawan Institur Teknologi Sepuluh
November (ITS).
Pandi, B. S. (2013). Sistem Analisa Perbandingan Ukuran Hasil Kompresi Winzip
Dengan 7-Zip Menggunakan Metode Template Matching. Medan: Pelita
Informatika Budi Darma, Volume III.
Pressman, R.S. (2010), Software Engineering : a practitioner’s approach,
McGraw- Hill, New York, 68
Raharjo, Budi. 2011. Belajar Otodidak Membuat Database Menggunakan MySQL.
Bandung: Informatika.
Rizky, S. (2016). Kompresi File Video MP4 Dengan Menggunakan Metode
Discrete Consine Transform. Medan: Jurnal Riset Komputer, Vol. 3, No. 1.
Safitri, T., & Supriyadi, D. (2015). Rancang Bangun Sistem Informasi Praktek
Kerja Lapangan Berbasis Web dengan Metode Waterfall. Purwokerto:
Jurnal Infotel.
Sri, L., & Ardina, D. S. (2016). Sistem Pengarsipan Dokumen Guru Dan Pegawai
Menggunakan Metode Mixture Modelleing Berbasis Web. Blitar: Jurnal
Antivirus, Vol. 10 No. 2.
106
UIN Syarif Hidayatullah Jakarta
LAMPIRAN
107
UIN Syarif Hidayatullah Jakarta
Lampiran 1: Wawancara
Hari/Tanggal: Senin, 14 Mei 2018
Narasumber: Ibu Ida.
Jabatan: Ketua Kurikulum SMP 22 Muhammadiyah Tangerang Selatan,
Pamulang.
1. Bagaimanakah alur pemrosesan penyimpanan atau pengarsipan di Sekolah
SMP 22 Muhammadiyah Tangerang saat ini?
Jawab:
- Guru menyimpan masing – masing data, dan memfoto-copy
(hardcopy) atau dalam berbentuk file (softcopy) di copy di komputer
tempat penyimpanan.
2. Masalah apa saja yang dihadapi dari proses penyimpanan tersebut?
Jawab:
- Ketika mencari berkas file (hardcopy) tersebut, berkas tersebut tidak
tertata tapih, jadi mencarinya sedikit memakan waktu.
- Dan apabila file (softcopy) tersebut, mencarinya membutuhkan waktu
pula, dikarenakan guru terkadang lupa menyimpan file tersebut, atau
nama file tersebut.
3. Pihak pihak mana saja yang terlibat dalam penyimpanan berkas tersebut?
Jawab:
- semua guru ataupun staff.
4. Dari pihak kami ingin menawarkan solusi, yaitu pembuatan aplikasi
peyimpanan berkas (arsip), yang dimana data – data disimpan lebih
terstruktur, sehingga dalam pencarian data terseburt tidak memakan waktu
yang lama.
- Tentu saja boleh, karena alangkah lebih baik kalau ada sistem yang
bisa mencari data lebih cepat dan tidak memakan waktu.
108
UIN Syarif Hidayatullah Jakarta
Lampiran II : Uuser Acceptance Test
Penguji: Ibu Ida (Ketua Kurikulum SMP 22 Muhammadiyah).
Tanggal: 10 Juli 2018
No Kondisi Menu Hasil yang diharapkan
Hasil
yang
terjadi
Keterangan
1 Login
LOGIN
• Login berhasil
• Masuk ke menu utama ✓
2
Login dengan
username dan atau
password salah
• Muncul pesan error
• Tetap di halaman login ✓
3 Tambah data
User(Guru)
ADMIN
• Data berhasil tersimpan ke
dalam database
• User(Guru) yang baru di
input berhasil login ke
dalam sistem
✓
4 Edit data User
• Semua field data user terisi
semua sesuai dengan data
yang dipilih
• Perubahan data di update di
database
✓
6 Edit profile atau
password
USER
• Perubahan data di update di
database
• Perubahan pada data diri
(Biodata)
• Password lama tidak bisa di
gunakan untuk login
kembali
• Password baru dapat di
gunakan untuk login
✓
7 Tambah berkas yang
akan di simpan • Data berhasil tersimpan ke
dalam database ✓
8 Edit berkas
• Semua field data surat terisi
sesuai dengan data surat
yang terpilih
• Perubahan data di update ke
database
✓
9 Lihat berkas yang
telah di simpan
• Semua data berkas tampil
sesuai dengan data berkas
yang dipilih
✓
Keterangan :
✓ OK FAIL
109
UIN Syarif Hidayatullah Jakarta
13 Enkripsi File File • Data berhasil terenkripsi
dan tersimpan di server ✓
14 Dekripsi File File
• Data berhasil didekripsi
dengan baik dan
menampilkan file asli
sebelum terenkripsi
✓
Tangerang Selatan, 02 Maret 2019
Ida
(Ketua Kurikulum)
110
UIN Syarif Hidayatullah Jakarta
Lampiran III : Surat Permohonan Riset
111
UIN Syarif Hidayatullah Jakarta
Lampiran IV: Surat Balasan Riset
112
UIN Syarif Hidayatullah Jakarta
Lampiran V: Surat Bimbingan Skripsi