• Tidak ada hasil yang ditemukan

SKRIPSI. Nama. Nim. Diajukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana Teknik Informatika. Disusun Oleh: : Yoga Religia

N/A
N/A
Protected

Academic year: 2021

Membagikan "SKRIPSI. Nama. Nim. Diajukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana Teknik Informatika. Disusun Oleh: : Yoga Religia"

Copied!
84
0
0

Teks penuh

(1)

i

VIGENERE CIPHER UNTUK KEAMANAN LOGIN SISTEM

INVENTORI TB MITA JEPARA

IMPLEMENTATION AFFINE CIPHER AND VIGENERE

CIPHER ALGORITHM FOR LOGIN SECURITY OF

INVENTORY SYSTEM AT MITA MATERIAL STORE JEPARA

Diajukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana Teknik Informatika

Disusun Oleh:

Nama

Nim

Program Studi

: Yoga Religia : A11.2011.06058

: Teknik Informatika – S1

FAKULTAS ILMU KOMPUTER

UNIVERSITAS DIAN NUSWANTORO

SEMARANG

2015

(2)

ii

NIM : A11.2011.06058

Program Studi : Teknik Informatika-S1 Fakultas : Ilmu Komputer

Judul Tugas Akhir : Implementasi Algoritma Affine Cipher Dan Vigenere Cipher untuk Keamanan Login Sistem Inventori Tb Mita Jepara

Tugas Akhir ini telah diperiksa dan disetujui, Semarang, 23 Februari 2015

Menyetujui, Pembimbing

Mengetahui,

Dekan Fakultas Ilmu Komputer

(3)

iii

PENGESAHAN DEWAN PENGUJI

Nama : Yoga Religia

NIM : A11.2011.06058

Program Studi : Teknik Informatika-S1 Fakultas : Ilmu Komputer

Judul Tugas Akhir : Implementasi Algoritma Affine Cipher Dan Vigenere Cipher untuk Keamanan Login Sistem Inventori Tb Mita Jepara

Tugas Akhir ini telah diujikan dan dipertahankan dihadapan dewan penguji pada sidang tugas akhir tanggal 23 Februari 2015. Menurut pandangan kami, tugas

akhir ini memadai dari segi kualitas maupun kuantitas untuk tujuan penganugrahan gelar Sarjana Komputer (S. Kom)

Semarang, 23 Februari 2015 Dewan Penguji,

Erna Zuni Astuti, M.Kom Anggota

Dra Yuniarsi Rahayu, M.Kom Anggota

T.Sutojo, S.Si, M.Kom Ketua Penguji

(4)

iv

PERNYATAAN

KEASLIAN SKRIPSI

Sebagai mahasiswa Universitas Dian Nuswantoro, yang bertanda tangan dibawah ini, saya :

Nama : Yoga Religia NIM : A11.2011.06058

Menyatakan bahwa karya ilmiah saya yang berjudul :

Implementasi Algoritma Affine Cipher dan Vigenere Cipher Untuk Keamanan Login Sistem Inventori TB Mita Jepara

Merupakan karya asli saya (kecuali cuplikan dan ringkasan yang masing-masing telah saya jelaskan sumbernya dan perangkat pendukung seperti laptop dll). Apabila dikemudian hari, karya saya disinyalir bukan karya asli saya, yang disertai dengan bukti-bukti yang cukup, maka saya bersedia untuk dibatalkan gelar saya beserta hak dan kewajiban yang melekat pada gelar tersebut. Demikian Surat pernyataan ini saya buat dengan sebenarnya.

Semarang, 23 Februari 2015 Yang membuat pernyataan,

(5)

v

PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH

UNTUK KEPENTINGAN AKADEMIS

Sebagai mahasiswa Universitas Dian Nuswantoro, yang bertanda tangan dibawah ini, saya :

Nama : Yoga Religia NIM : A11.2011.06058

Demi mengembangkan ilmu pengetahuan, menyetujui untuk memberikan kepada Universitas Dian Nuswantoro Hak Bebas Royalti Non-Eksklusif (Non-Exclusive Royalty-Free Right) atas karya ilmiah saya yang berjudul:

Implementasi Algoritma Affine Cipher dan Vigenere Cipher Untuk Keamanan Login Sistem Inventori TB Mita Jepara

Beserta perangkat yang diperlukan (bila ada). Dengan Hak Bebas Royalti Non-Eksklusif ini, Universitas Dian Nuswantoro berhak untuk menyimpan data, mengcopy ulang, mempergunakan dan mengelola dalam bentuk database, serta mendistribusikan dan menampilkan/mempublikasikan karya ilmiah ini di internet atau media lain untuk kepentingan akademis tanpa ijin dari saya selama tetap mencantumkan saya sebagai penulis dan pemilik hak cipta. Segala bentuk tuntutan hukum yang timbul atas pelanggaran Hak Cipta karya ilmiah ini menjadi tanggungjawab saya pribadi.

Semarang, 23 Februari 2015 Yang membuat pernyataan,

(6)

vi

UCAPAN TERIMA KASIH

Segala puji dan syukur penulis panjatkan kepada Allah SWT yang telah memberikan rahmat dan anugrahkan-Nya kepada penulis, sehingga penulis dapat menyelesaikan Laporan Tugas Akhir ini. Penulisan Laporan Tugas Akhir dengan judul “IMPLEMENTASI ALGORITMA AFFINE CIPHER DAN VIGENERE CIPHER UNTUK KEAMANAN LOGIN SISTEM INVENTORI TB MITA JEPARA” dimaksudkan untuk mencapai gelar Sarjana Komputer Strata Satu pada Fakultas Ilmu Komputer, Universitas Dian Nuswantoro Semarang.

Penulis menyadari bahwa dalam penyusunan Laporan Tugas Akhir ini bukanlah dari jerih payah sendiri, melainkan dari bimbingan berbagai pihak. Oleh sebab itu penulis mengucapkan banyak terimakasih kepada semua pihak yang turut membantu dalam proses penulisan Laporan Tugas Akhir ini, yaitu kepada:

1. Allah SWT yang telah memberikan penulis rahmat sempat dan kesehatan 2. Dr. Ir. Edi Noersasongko, M.Kom., selaku Rektor Universitas Dian

Nuswantoro

3. Dr. Drs. Abdul Syukur, MM , selaku Dekan Fakultas Ilmu Komputer

4. Dr. Heru Agus Santoso, M.Kom , selaku ketua Program Studi Teknik Informatika - S1

5. Bowo Nurhadiyono, S.Si, M.Kom , selaku Dosen Pembimbing yang telah memberikan bimbingan dan masukan kepada penulis

6. Seluruh Dosen pengajar Strata satu (S1) Teknik Informatika Universitas Dian Nuswantoro, yang telah mendidik dan memberikan pengetahuan yang tak ternilai kepada penulis selama mengikuti perkuliahan.

7. Orang tua dan keluarga tercinta yang telah memberikan dukungan moril, doa dan kasih saying

8. Teman-teman mahasiswa Strata satu (S1) Teknik Informatika Universitas Dian Nuswantoro angkatan 2011 yang selalu membantu dalam setiap kesempatan

9. Semua pihak yang namanya tidak dapat disebutkan satu per satu.

Penulis menyadari bahwa mungkin masih terdapat kekurangan dalam Laporan Tugas Akhir ini. Oleh karena itu, kritik dan saran dari pembaca sangat bermanfaat bagi penulis. Semoga laporan ini dapat bermanfaat bagi semua pihak yang membacanya.

Semarang, tgl Bulan 2014 Penulis

(7)

vii

ABSTRAK

Dalam penelitian ini dirumuskan masalah tentang bagaimana mengimplementasikan algoritma Affine cipher dan Vigenere cipher untuk keamanan login pada sistem inventori TB Mita Jepara agar dapat menjadi lebih aman dibandingkan saat menggunakan MD5. Sedangkan tujuan dari penelitian ini adalah untuk merancang keamanan login pada sistem inventori TB Mita menggunakan enkripsi Affine cipher dan Vigenere cipher, membuat enkripsi password login pada sitem inventori TB Mita menjadi lebih aman digunakan serta merancang enkripsi password login agar dapat diterapkan pada sitem inventori TB Mita menggunakan PHP. Affine cipher dan Vigenere cipher merupakan bagian dari algoritma simetris. Proses enkripsi dan proses dekripsi pada algoritma Affine cipher membutuhkan dua kunci, sedangkan proses enkripsi dan dekripsi menggunakan Vigener cipher membutuhkan satu kunci. Gabungan dari algoritma Affine cipher dan Vigenere cipher akan menghasilkan tiga kunci sehingga menjadi lebih kuat. Hasil dari keamanan password menggunakan Affine cipher dan Vigenere cipher dapat menjadi lebih kuat dibandingkan menggunakan algoritma MD5.

(8)

viii

ABSTRACT

In this research, it disscuses about the implemention of algorithm Affine cipher and Vigenere cipher login security of inventory system at Mita Material store Jepara in order to be more secure than using MD5. The purpose of this research is to design a login security of inventory system at Mita Material store using Affine cipher and Vigenere cipher encryption, to create the encryption of password login security in inventory system at Mita Material store more safety used and to design a login password encryption to be applied in the inventory system of Mita Material store using PHP. Affine cipher and Vigenere cipher are part of symmetric algorithm. Encryption and decryption processes of Affine cipher algorithm requires two keys, meanwhile the process of encryption and decryption using Vigener cipher requires one key. The combined of Affine cipher and Vigenere cipher algorithm will produce three keys, it becomes more powerful. The results of the security password using Affine cipher and Vigenere cipher can be more powerful than using the MD5 algorithm.

(9)

ix

DAFTAR ISI

PERSETUJUAN SKRIPSI ... ii

PENGESAHAN DEWAN PENGUJI ... iii

PERNYATAAN KEASLIAN SKRIPSI ... iv

PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS ... v

UCAPAN TERIMA KASIH ... vi

ABSTRAK ... vii

ABSTRACT ... viii

DAFTAR ISI ... ix

DAFTAR TABEL ... xi

DAFTAR GAMBAR ... xii

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Rumusan Masalah ... 2

1.3 Batasan Masalah... 2

1.4 Tujuan Penelitian ... 3

1.5 Manfaat Penelitian ... 3

BAB II TINJAUAN PUSTAKA DAN LANDASAN TEORI ... 5

2.1 Kajian Jurnal Pertama ... 5

2.2 Kajian Jurnal Kedua ... 6

2.3 Kajian Jurnal Ketiga ... 7

2.4 Kriptografi ... 8

2.5 Enkripsi dan Dekripsi ... 11

2.6 Algoritma MD5 ... 12

2.7 Algoritma Affine Cipher ... 13

(10)

x

2.9 Pengenalan Basisdata ... 19

2.10 Metode Waterfall ... 19

2.11 Perancangan Sistem ... 21

BAB III METODE PENELITIAN... 25

3.1 Analisis Sistem ... 25

3.2 Desain Sistem ... 32

3.3 Implementasi / Coding Sistem ... 38

3.4 Pengujian Sistem ... 40

3.5 Maintenance Sistem ... 46

BAB IV IMPLEMENTASI DAN PENGUJIAN ... 47

4.1 Implementasi ... 47

4.1.1 Alur Sistem Login ... 47

4.1.2 Pengkodean ... 50

4.1.3 Tampilan Layar ... 53

4.2 Pengujian ... 57

4.2.1 Langkah Pengujian ... 57

4.2.2 Hasil Pengujian ... 63

4.2.3 Analisis Hasil Pengujian ... 67

BAB V PENUTUP ... 69

5.1 Kesimpulan ... 69

5.2 Saran ... 69

(11)

xi

DAFTAR TABEL

Tabel 2.1. Konversi Karakter ke Nilai Desimal ... 12

Tabel 2.2. Vigenere Cipher ... 16

Tabel 2.3. Simbol Use Case ... 22

Tabel 2.4. Vigenere Cipher ... 23

Tabel 4.1. Black-box testing sistem login... 63

Tabel 4.2. Black-Box testing keamanan menggunakan MD5 dibandingkan dengan Affine dan Vigenere cipher ... 65

(12)

xii

DAFTAR GAMBAR

Gambar 2.1. Diagram Proses Enkripsi dan Dekripsi ... 11

Gambar 2.2. Proses Enkripsi Affine Cipher ... 14

Gambar 2.3. Proses Dekripsi Affine Cipher ... 15

Gambar 2.4. Proses Enkripsi Vigenere Cipher ... 17

Gambar 2.5. Proses Dekripsi Vigenere Cipher ... 18

Gambar 2.6. Diagram Model Waterfall ... 20

Gambar 3.1. Proses Enkripsi Menggunakan Affine dan Vigenere Cipher ... 28

Gambar 3.2. Proses Dekripsi Menggunakan Vigenere dan Affine Cipher ... 28

Gambar 3.3. Desain Tabel Login ... 33

Gambar 3.4. Desain Halaman Pembuatan Account ... 33

Gambar 3.5. Desain Halaman Hapus Account ... 35

Gambar 3.6. Desain Halaman Edit Account ... 36

Gambar 3.7. Desain Halaman Login ... 37

Gambar 3.8. Desain Halaman Lupa Password ... 38

Gambar 4.1. Use Case Sistem Login ... 47

Gambar 4.2. Flowchart Proses Login ... 48

Gambar 4.3. Flowchart Pengelolaan Account ... 49

Gambar 4.4. Tampilan Halaman Login ... 53

Gambar 4.5. Tampilan Halaman Lupa Password ... 54

Gambar 4.6. Tampilan Halaman Pembuatan Account ... 55

Gambar 4.7. Tampilan Halaman Hapus Account ... 56

Gambar 4.8. Tampilan Halaman Edit Account ... 57

Gambar 4.9. Tabel Admin Menggunakan MD5 ... 57

Gambar 4.10. Pencarian Dengan Kata Kunci MD5 ... 58

Gambar 4.11. Pencarian Dengan Kata Kunci MD5 decrypt tools ... 58

Gambar 4.12. Dekripsi Ciphertext Menggunakan MD5 ... 50

Gambar 4.13. Tabel Admin Menggunakan Affine dan Vigenere Cipher ... 60

(13)

xiii

Gambar 4.15. Pencarian Dengan Kunci Affine cipher and Vigenere cipher decrypt tool... 61 Gambar 4.16. Dekripsi Ciphertext Menggunakan Affine Cipher ... 62 Gambar 4.17. Dekripsi Ciphertext Menggunakan Vigenere Cipher ... 62

(14)

1 1.1 Latar Belakang Masalah

Perkembangan teknologi saat ini sangat membantu masyarakat dalam memenuhi kebutuhan informasi. Masyarakat membutuhkan suatu sarana yang mudah untuk memperoleh informasi. Sehingga perlu disediakan media yang dapat mempercepat terjadinya transaksi informasi. Penyediaan informasi ini harus didukung dengan keamanan sistem agar informasi yang ada tidak jatuh pada pihak yang tidak seharusnya.

Hal yang penting dalam komunikasi menggunakan komputer adalah untuk menjamin kerahasian data/informasi, salah satunya dengan menggunakan enkripsi. Enkripsi adalah suatu proses untuk mengamankan suatu informasi dengan membuat informasi tersebut menjadi sebuah ciphertext (pesan rahasia) dengan menggunakan algoritma tertentu [1].

TB Mita adalah toko bangunan dikota Jepara yang menjual berbagai macam barang bangunan. Pelaksanaan transaksi penjualan pada toko ini sudah memanfaatkan sistem inventori yang menggunakan bahasa pemrograman PHP. Agar dapat memasuki sistem, user harus melakukan autentikasi dengan menginputkan username dan password terlebih dahulu. PHP merupakan bahasa pemrograman yang umum digunakan pada aplikasi browser. Salah satu fungsi yang digunakan oleh pemrograman PHP adalah fungsi “session”. Session adalah sebuah variable sementara yang diletakkan dibagian server dimana PHP dapat mengambil nilai yang tersimpan diserver meskipun telah membuka halaman baru. Fungsi session inilah yang digunakan oleh PHP untuk melakukan autentikasi agar dapat mengatur hak akses dari suatu halaman web [2]. Pada proses autentikasi password pada TB Mita telah menggunakan enkripsi MD5 yang sudah disediakan oleh PHP.

Massage-Digest algorithm 5 (MD5) adalah algoritma enkripsi yang digunakan untuk membuat variable yang lebih sederhana dari data yang berukuran

(15)

besar dengan memanfaatkan fungsi hash. Penggunaan MD5 untuk enkripsi password saat ini bisa dikatakan sudah tidak aman lagi [3]. Hal itu disebabkan karena sudah mulai banyak sistem peretas enkripsi dari MD5 yang dapat ditemukan dengan mudah diinternet. Sehingga diperlukan suatu metode lain yang dapat digunakan untuk enkripsi password agar tidak mudah diretaskan oleh pihak yang tidak bertanggung jawab.

Affine cipher merupakan sebuah enkripsi yang menggunakan sandi substitusi. Sedangkan vegenere cipher merupakan sebuah enkripsi dengan melakukan beberapa pergeseran yang direpresentasikan menggunakan satu kata kunci. Proses enkripsi dan proses dekripsi pada algoritma Affine cipher membutuhkan dua kunci, sedangkan proses enkripsi dan dekripsi menggunakan Vigener cipher membutuhkan satu kunci. Gabungan dari algoritma Affine cipher dan Vigenere cipher akan menghasilkan tiga kunci. Penggunaan tiga kunci ini mejadikan penggunaan algoritma Affine cipher dan Vigenere cipher menjadi lebih kuat dibandingkan hanya menggunakan Affine cipher saja atau Vigenere cipher saja [4], sebab selain jumlah kunci yang digunakan lebih banyak juga dibutuhkan dua kali proses dekripsi untuk mendapatkan plaintext yang diinginkan.

Berdasarkan pertimbangan diatas, maka diperlukan implementasi enkripsi menggunakan algoritma Affine cipher dan Vigenere cipher untuk pengamanan password pada sistem inventori TB Mita jepara.

1.2 Rumusan Masalah

Berdasarkan latar belakang diatas maka rumusan masalah dalam tugas akhir ini adalah sebagai berikut : bagaimana mengimplementasikan algoritma Affine cipher dan Vigenere cipher untuk keamanan login pada sistem inventori TB Mita jepara agar dapat menjadi lebih aman.

1.3 Batasan Masalah

Batasan masalah ini berfungsi untuk membatasi persoalan yang dihadapi agar tidak menyimpang dari yang diinginkan. Adapun batasan masalahnya adalah sebagai berikut:

(16)

1. Enkripsi Affine cipher dan Vigenere cipher ini hanya diterapkan pada sistem inventori TB Mita Jepara.

2. Enkripsi Affine cipher dan Vigenere cipher ini hanya untuk mengenkripsi password login pada sistem inventori TB Mita Jepara.

3. Enkripsi Affine cipher dan Vigenere cipher ini menggunakan bahasa pemrograman PHP.

4. Enkripsi Affine cipher dan Vigenere cipher tidak ditambahkan modifikasi pada algoritma Affine cipher ataupun Vigenere cipher.

1.4 Tujuan Penelitian

Dari rumusan masalah yang telah disebutkan, dibuatlah tujuan penelitian sebagai berikut :

1. Merancang keamanan login sistem inventori TB Mita menggunakan enkripsi Affine cipher dan Vigenere cipher.

2. Membuat enkripsi password login pada sitem inventori TB Mita menjadi lebih aman digunakan.

3. Merancang enkripsi password login agar dapat diterapkan pada sistem inventori TB Mita menggunakan PHP.

1.5 Manfaat Penelitian

Dari penelitian ini diharapkan dapat diambil manfaatnya bagi pihak yang terkait, yaitu :

1. Bagi Pengembang kelembagaan

Penelitian ini dapat memberikan solusi peningkatan keamanan informasi TB Mita Jepara, sehingga informasi yang dimiliki oleh TB Mita Jepara tidak disalah gunakan oleh pihak yang tidak bertanggung jawab.

2. Bagi Pembaca

Dapat dijadikan sebagai acuan untuk melakukan penelitian dengan topik yang serupa maupun sebagai bahan acuan untuk melakukan penelitian lebih lanjut.

(17)

3. Bagi Penulis

Menambah pengetahuan dan pengalaman tentang penggunaan enkripsi untuk keamanan password menggunakan Affine cipher dan Vigenere cipher. Selain itu penulis juga dapat menerapkan dan mengimplementasikan enkripsi Affine cipher dan Vigenere cipher menggunakan bahasa pemrograman PHP.

4. Bagi Akademik

Mengetahui perkembangan teknologi informasi dengan implementasi Enkripsi untuk keamanan suatu sistem, sehingga menjadi acuan untuk lebih mengenali potensi mahasiswa dengan ilmu pengetahuan lebih luas lagi.

(18)

5 2.1 Kajian Jurnal Pertama

Pada bulan juni 2013 Eka Adhitya Dharmawan, Erni Yudaningtyas, dan M. Sarosa dalam jurnal EECCIS volume : 7, nomor : 1, dengan judul PERLINDUNGAN WEB PADA LOGIN SISTEM MENGGUNAKAN ALGORITMA RIJNADEL membahas tentang pemanfaatan teknik enkripsi dan dekripsi data sebagai teknik pengamanan sistem [5]. Dalam jurnal diungkapkan bahwa masalah keamanan sistem merupakan salah satu aspek penting dalam sistem informasi, akan tetapi aspek keamanan ini terkadang kurang mendapatkan perhatian dari pemilik dan pengelola sistem. Padahal apabila informasi yang terdapat dalam sistem disalah gunakan oleh pihak lain akan memberikan kerugian bagi pemilik informasi. Sehingga perlu disediakan alternatif perlidungan sistem yang mampu mencegah hal tersebut.

Keamanan login dan database menjadi bagian yang sangat penting dalam keamanan sistem. Autentikasi database pada saat pengguna melakukan login yang menggunakan password dan username menjadi sangat rentan untuk diretas. Penyerang biasanya menggunakan SQL Injection sebagai salah satu teknik serangan untuk mengekploitasi aplikasi web untuk dapat memperoleh hak akses tidak sah agar dapat memasuki sistem.

Eka Adhitya Dharmawan dkk menawarkan penggunaan algoritma Rijnadel sebagai pilihan untuk perlindungan login pada sistem web dari serangan SQL Injection. Algoritma Rijnadel merupakan algoritma simetrik dan cipher blok. Sehingga menjadikan kunci yang digunakan untuk proses enkripsi dan dekripsi adalah kunci yang sama. Pemilihan blok dan kunci akan menentukan proses yang akan dilalui ketika melakukan enkripsi atau dekripsi serta masukan dan keluarannya berupa blok dengan jumlah bit tertentu. Pemakaian algoritma Rijnadel difokuskan pada pengiriman data login agar terlindungi oleh SQL Injection.

(19)

Adapun kesimpulan yang didapat adalah algoritma Rijnadel dapat digunakan untuk memproteksi database server dari serangan SQL Injection, yang mana database server merupakan tempat penyimpanan data yang harus dijaga dari pihak yang tidak seharusnya.

2.2 Kajian Jurnal Kedua

Pada tahun 2013 Juliadi, Bayu Prihandono dan Nilamsari Kusumastuti dari FMIPA UNTAN Pontianak dalam Buletin Ilmiah Mat. Stat. dan Terapannya volume 02, nomor 02 halaman 87 – 92, dengan judul KRIPTOGRAFI KLASIK DENGAN METODE MODIFIKASI AFFINE CIPHER YANG DIPERKUAT DENGAN VIGENERE CIPHER membahas tentang meningkatkan kemanan informasi atau pesan dengan menggunakan modifikasi Affine cipher yang diperkuat dengan Vigenere cipher [4].

Affine cipher dan Vigenere cipher merupakan aturan konversi berupa alfabet arab yang berjumlah 26, sedangkan pada modifikasi yang dilakukan pada Affine cipher yang diperkuat dengan Vigenere cipher, akan ditambahkan beberapa karakter yaitu karakter angka dari 0 sampai 9 dan ditambahkan empat karakter lain yaitu berupa ( _ . , ’ ) yang menjadikan jumlah ukuran konfersi menjadi 40. Proses enkripsi dilakukan dengan mengkonversikan plaintext kedalam tabel konversi, kemudian menentukan tiga buah kunci yaitu pada Affine cipher memakai kunci pertama dan kunci kedua , sedangkan Vigenere cipher memakai kunci ketiga. Selanjutnya, plaintext di enkripsi dengan menggunakan persamaan enkripsi Affine cipher, sehingga diperoleh ciphertext dari Affine cipher berupa ciphertext sementara. Berikutnya, ciphertext sementara tadi dienkripsi dengan menggunakan persamaan enkripsi Vigenere cipher yang menghasilkan ciphertext dari Vigenere cipher berupa ciphertext yang akan dikirimkan. Sedangkan pada proses dekripsi dilakukan dengan terlabih dahulu mengkonversikan ciphertexs dengan menggunakan dekripsi Vigenere cipher sehingga menghasilkan plaintexs sementara. Dari plaintext sementara tersebut akan di dekripsi kembali menggunakan persamaan dekripsi Affine cipher. Plaintext hasil dari dekripsi Affine cipher inilah yang merupakan plaintext sebelum terjadi prosess enkripsi.

(20)

Adapun kesimpulan yang diperoleh yaitu dengan menggunakan perhitungan modifikasi Affine cipher yang diperkuat dengan Vigenere cipher akan diperoleh ciphertexs yang memiliki karakter berbeda dengan plaintexs, yang menjadikan ciphertexs tidak mudah didekripsi oleh kriptanalisis. Dengan melalui dua kali proses penyandian, maka ciphertext yang dihasilkan akan mempunyai karakteristik dari cipher alfabet majemuk . Apabila kriptanalisis mengetahui alur enkripsi ataupun dekripsi serta ukuran alur pada modifikasi Affine cipher yang diperkuat dengan Vigenere cipher, maka kriptanalisis harus bekerja lebih keras dalam menemukankan ketiga buah kunci yang digunakan.

2.3 Kajian Jurnal Ketiga

Pada bulan Maret 2014 Hartini dan Sri Primaini dari AMIK SIGMA Palembang dalam jurnal volume : 2, nomor : 1, dengan judul KRIPTOGRAFI PASSWORD MENGGUNAKAN MODIFIKASI METODE AFFINE CIPHERS membahas tentang penggunaan algoritma Affine pada password untuk keamanan informasi didalam suatu sistem [6]. Dalam jurnal ini disebutkan bahwa sarana penyimpanan, pengiriman data/informasi dan dokumen penting dapat dengan mudah diakses oleh pihak yang tidak bertanggungjawab. Sehingga menjadikan keamanan sistem menjadi sebuah isu penting dan terus berkembang. Dengan adanya sistem komputer dengan jumlah pengguna yang banyak maka harus disediakan kontrol menggunakan password agar pengguna yang tidak memiliki hak akses tidak dapat mengakses sistem yang bukan haknya. Perlunya kontrol password ini dapat diatasi dengan membuat password yang sulit dipecahkan dengan menggunakan prinsip-prinsip kriptografi.

Algorima Affine cipher adalah algoritma yang dapat digunakan untuk modifikasi password agar sistem tidak dapat dibuka oleh pihak yang tidak bertanggungjawab. Affine cipher merupakan perkembangan dari Caesar cipher yang mengalikan plaintext (pesan asli) dan menambahkannya dengan sebuah pergeseran. Agar dapat membuat Affine cipher yang lebih aman Hartini dan Sri Primaini memodifikasi Affine cipher dengan membuat kebalikan dari Affine cipher, yaitu dengan membuat huruf dan angka sebagai plaintext akhir dalam

(21)

password akan menjadi ciphertexts (pesan yang telah disandikan) awal. Biasanya password dapat terdiri dari angka 0 sampai 9 dan alfabet a sampai z.

Adapun kesimpulan yang diambil adalah password yang dienkripsi dan didekripsi menggunakan modifikasi metode Affine cipher dengan karakter password yang dapat dienkripsi dan didekripsi yaitu alfabet dan bilangan asli. Kriptografi password merupakan perangkat lunak yang dibangun untuk mengenkripsi dan dekripsi sebuah password agar tidak dapat dibaca oleh orang yang tidak berhak walaupun dengan melihat kode sumber programnya. Pengujian kriptografi password menggunakan kasus uji dengan teknik black box yang menunjukkan bahwa secara fungsional prototipe perangkat lunak ini benar. Pengujian ini tidak mencakup uji alpha dan beta (pengujian oleh pemakai).

2.4 Kriptografi

Kata kriptografi berasal dari bahasa Yunani, krupto (tersembunyi) dan grafh (tulisan) yang artinya tulisan yang tersembunyi. Kriptografi merupakan cabang ilmu matematika tentang persandian untuk keamanan data. Proses untuk menyandikan pesan (plintext) menjadi pesan rahasia (ciphertext) disebut sebagai enkripsi. Sedangkan proses untuk merubah pesan rahasia (ciphertext) menjadi pesan yang dapat dibaca (plaintext) disebut dekripsi. Dalam kriptografi terdapat prinsip-prinsip dasar yang harus terpenuhi [7], yaitu:

a. Kerahasiaan (confidelity)

Layanan kerahasiaan harus menjadikan pesan yang dikirim menjadi tetap rahasia dan tidak diketahui oleh pihak lain kecuali pihak penerima pesan atau pihak yang memiliki ijin. Biasanya hal tersebut dilakukan dengan menggunakan suatu algoritma matematis yang mampu mengubah data yang ada menjadi sulit dibaca dan dipahami.

b. Keutuhan data (data integrity)

Merupakan layanan yang dapat mendeteksi atau mengenali jika terjadi perubahan data (penambahan, perubahan, penghapusan) yang dilakuan oleh pihak lain.

(22)

c. Otentikasi (authentication)

Layanan ini berhubungan dengan proses identifikasi keaslian data/ informasi serta identifikasi pihak-pihak yang terlibat dalam pengiriman data/informasi.

d. Anti penyangkalan (non-repudiation)

Layanan ini mencegah suatu pihak menyangkal aksi yang telah dilakukan sebelumnya.

Dalam kriptografi juga terdapat istilah-istilah, yaitu:

 Plaintext (M) adalah pesan yang hendak dikirimkan (berisi pesan asli).  Ciphertext (C) adalah pesan ter-enkrip (tersandi) yang merupakan hasil

enkripsi.

 Enkripsi (fungsi E) adalah proses pengubahan plaintext menjadi ciphertext.

 Dekripsi (fungsi D) adalah proses mengubah ciphertext menjadi plaintext, sehingga berupa data awal/asli.

 Kunci adalah suatu bilangan yang dirahasiakan yang digunakan dalam proses enkripsi dan dekripsi.

Sistem kriptografi yang baik seharusnya tahan terhadap serangan analisis sandi. Analisis sandi atau juga dikenal dengan istilah Criptanalysis merupakan ilmu yang mempelajari tentang cara memecahkan teks sandi sehingga akan didapat teks yang asli beserta kunci rahasianya. Apabila terdapat ciphertext dapat berubah menjadi plaintext dengan menggunakan kunci yang benar maka proses tersebut dinamakan breaking code, sedangkan yang melakukannya adalah cryptanalyst.

Berdasar kunci yang dipakai, kriptografi dapat dibedakan menjadi dua bagian [8] yaitu:

1. Algoritma Simetrik (Symmetric Algorithms)

Algoritma simetrik disebut juga sebagai algoritma konvensional. Algoritma simetrik menggunakan suatu kunci yang sama untuk proses enkripsi dan dekripsi. Penggunaan kunci yang sama menjadikan kekuatan

(23)

algoritma simetrik menjadi sangat bergantung pada satu kunci yang digunakan, selain itu proses dekripsi pada algoritma simetrik juga menjadi kebalikan dari proses enkripsi. Apabila pengiriman kunci dapat dilakukan secara aman, akan menjadikan kesempatan cryptanalyst untuk mendapatkan ciphertext dan plaintext semakin kecil.

2. Algoritma Asimetrik (Asymetric Algorithms)

Kunci public (public key) yang merupakan nama lain dari algoritma asimetrik. Enkripsi dan dekripsi pada algoritma asimetrik menggunakan kunci yang berbeda. Kunci dalam algoritma asimetrik dibagi menjadi dua yaitu kunci umum (public key) dan kunci pribadi (private key).

Pada kunci umum, kunci tersebut dapat diketahui oleh semua orang (public). Sedangkan pada kunci pribadi hanya dapat diketahui oleh orang yang bersangkutan. Penggunaan kunci umum memungkinkan seseorang untuk dapat mengenkripsi suatu pesan tetapi tidak dapat mendeskripsikan pesan tersebut. Hanya orang yang memiliki kunci pribadi yang dapat mendeskripsikan pesan yang telah dienkripsi. Sehingga kedua kunci tersebut (kunci umum dan kunci pribadi) harus saling berhubungan satu dengan yang lainnya.

Terdapat dua tipe dasar dalam algoritma asimetrik yaitu Steam Cipher dan Block Cipher. Proses pada Steam Cipher akan lebih mudah untuk diimplementasikan dalam hardware karena menggunakan pengkodean 1 bit atau byte dalam satu kali proses. Sedangkan hardware bekerja berdasarkan bit-bit yang menjadi satuan terkecilnya dalam melakukan proses perhitungan. Dalam Steam Cipher, plaintext atau byte yang sama akan dienkripsi kedalam byte yang berbeda pada setiap enkripsinya. Pada proses Block Cipher akan melakukan pengkodean pada 1 block dalam sekali proses. Umumnya ukuran block yang digunakan akan memenuhi rumus 2n dengan n adalah bilangan integer dan ukuran block-nya dapat ditentukan sesuai keinginan.

(24)

2.5 Enkripsi dan Dekripsi

Enkripsi merupakan bagian dari kriptografi yang digunakan untuk merubah suatu pesan atau informasi menjadi sandi-sandi yang bersifat rahasia. Enkripsi juga dapat diartikan sebagai cipher atau kode. Penyandian pesan atau informasi yang dilakukan menggunakan kunci, yang menjadikan pesan atau informasi tadi dapat dibaca. Tujuan dari enkripsi adalah untuk menyembunyikan pesan atau informasi dari pihak yang tidak berhak. Secara matematis, enkripsi dapat dituliskan sebagai berikut :

EK (M) = C (Proses Enkripsi)

Ketika proses enkripsi dilakukan, pesan M disandikan menggunakan kunci K kemudian menghasilkan pesan C. Pesan M dapat disebut sebagai plaintext sedangkan pesan C dapat disebut sebagai ciphertext.

Dekripsi merupakan kebalikan dari enkripsi. Dekripsi digunakan untuk mengembalikan sandi-sandi atau informasi yang telah diacak menjadi bentuk yang asli dengan menggunakan kunci yang sama untuk proses enkripsi. Secara matematis, dekripsi dapat dituliskan sebagai berikut :

DK (C) = M (Proses Dekripsi)

Ketika proses dekripsi dilakukan, pesan C yang merupakan ciphertext diuraikan dengan menggunakan kunci K sehingga menghasilkan pesan M yang berupa plaintext [1].

Gambar 2.1. Diagram Proses Enkripsi dan Dekripsi

Gambar 2.1 menjelaskan bahwa untuk melakukan proses enkripsi diperlukan input berupa plaintext dan juga kunci ekripsi agar dapat menghasilkan ciphertext.

(25)

Sedangkan untuk proses dekripsi diperlukan input berupa ciphertext dan juga kunci dekripsi untuk dapat menghasilkan plaintext.

Pada penggunaan algoritma klasik terkadang dibutuhkan sebuah tabel khusus untuk dapat melakukan perhitungan. Tabel ini digunakan untuk mengkonversi karakter yang akan dienkripsi menjadi bentuk decimal, dapat juga digunakan untuk mengkonversi bilangan decimal kedalam bentuk karakter. Adapun bentuk tabel konversi adalah sebagai berikut :

Tabel 2.1 Konversi Karakter ke Nilai Desimal

Huruf A B C D E F G H I J K L M

Angka 0 1 2 3 4 5 6 7 8 9 10 11 12

Huruf N O P Q R S T U V W X Y Z

Angka 13 14 15 16 17 18 19 20 21 22 23 24 25

2.6 Algoritma MD5

MD5 (Message-Digest algortihm 5), merupakan prosedur terdefinisi atau fungsi matematika yang mengubah variabel dari suatu data yang berukuran besar menjadi lebih sederhana (fungsi hash) dengan menggunakan kriptografik secara luas dengan hash value 128-bit. MD5 biasanya dimanfaatkan dalam berbagai aplikasi untuk keamanan untuk meguji integritas sebuah file. Enkripsi menggunakan MD5 masih mendominasi sebagian besar aplikasi yang menggunakan pemrograman PHP. Banyak yang mengganggap bahwa enkripsi menggunakan MD5 sudah kuat karena enkripsi yang dihasilkannya bersifat ‘one way hash’. Padahal saat ini penggunaan MD5 untuk enkripsi password bisa dikatakan sudah tidak aman lagi [3]. Hal itu disebabkan karena sudah mulai banyak sistem peretas enkripsi dari MD5 yang dapat ditemukan dengan mudah diinternet.

Berapapaun string yang di enkripsi menggunakan MD5 akan menghasilkan 32 karakter ciphertext. Hash-hash MD5 sepanjang 128-bit (16-byte), yang dikenal juga sebagai ringkasan pesan, secara tipikal ditampilkan dalam bilangan heksadesimal 32-digit. Sebagai contoh pesan ASCII sepanjang 0-byte bila dimasukkan dalam hash terkait MD5 akan menjadi :

(26)

MD5(“”) = d41d8cd98f00b204e9800998ecf8427e

Sedangkan untuk 12-byte sebagai masukan dan hash MD5 terkait panjang enkripsi yang dihasilkan akan sama.

MD5(“enkripsi md5”) =cd9611b17e651bf946a8341d692bc4e0

Bahkan perubahan yang kecil pada pesan akan (dengan probabilitas lebih) akan menghasilkan hash yang benar-benar berbeda, misalnya pada kata “enkripsi”, kata “enkripsi” diganti menjadi kata “dekripsi” sehingga menjadi:

MD5(“dekripsi md5”) =1fa6fb36dd20581f36f237140bdd4073

Ringkasan MD5 digunakan secara luas dalam dunia perangkat lunak untuk menyediakan semacam jaminan bahwa berkas yang diambil belum terdapat perubahan.

2.7 Algoritma Affine Cipher

Affine cipher adalah teknik cipher yang merupakan perluasan dari Caesar cipher. Affine cipher tergolong dalam algoritma klasik yang merupakan algoritma penyandian yang sudah ada sebelum era digital sekarang ini. Algoritma klasik pada darasarnya hanya terdiri dari cipher subtitusi dan cipher tranposisi. Cipher subtitusi yaitu proses mensubtitusi karakter-karakter yang ada pada plaintext. Sedangkan cipher tranposisi yaitu proses pertukaran huruf-huruf yang terdapat dalam suatu string.

Affine cipher merupakan metode kriptografi yang menggunakan kunci simetris, yang mana kunci yang digunakan untuk melakukan enkripsi sama dengan kunci yang digunakan untuk dekripsi [4]. Adapun terdapat dua proses dalam penggunaan Affine cipher, yaitu :

2.7.1 Proses Enkripsi Affine Cipher

Proses enkripsi menggunakan Affine cipher membutuhkan 2 buah kunci yaitu kunci 1 (a) dan kunci 2 (b) untuk dapat menghasilkan ciphertext. Plaintext (Pi) akan dikonversikan menggunakan table konversi sehingga

menjadi bentuk decimal, kemudian ciphertext (Ci) akan diperoleh dengan

mengenkripsi plaintext dengan persamaan :

(27)

Ci merupakan ciphertext dari pergeseran karakter yang terdapat pada

plaintext. Pi merupakan pergeseran karakter pada plaintext. a merupakan

kunci berupa bilangan bulat yang relatif prima dengan 26, apabila a tidak relatif prima dengan 26 maka dekripsi tidak akan bisa dilakukan. Sedangkan kunci b merupakan pergeseran nilai relatif prima dari a. Agar dapat memperoleh ciphertext maka perlu dilakukan perhitungan dengan persamaan (1) adapun hasil ang diperoleh masih berupa bilangan decimal, kemudian dari bilangan decimal tersebut akan dikonversi menggunakan tabel menjadi ciphertext yang diinginkan.

Gambar 2.2 Proses Enkripsi Affine Cipher

Gambar 2.2 menjelaskan bahwa untuk memperoleh ciphertext menggunakan Affine cipher dibutuhkan input berupa plaintext yang akan dienkripsi menggunakan dua buah kunci.

2.7.2 Proses Dekripsi Affine Cipher

Proses dekripsi menggunakan Affine cipher membutuhkan dua buah kunci yang mana kedua kunci yang dipakai haruslah sama dengan kunci yang digunnakan pada proses enkripsi. Agar dapat memperoleh plaintext maka kunci 1 (a) akan dirubah dalam bentuk invers a (mod 26), dinyatakan dengan a-1. Jika a-1 ada, maka dekripsi akan dilakukan dengan persamaan

Pi = a-1(Ci - b) mod 26 ………. (2)

Pi merupakan plaintext dari pergeseran karakter yang terdapat pada

ciphertext. Ci merupakan pergeseran karakter pada ciphertext. a dan b

merupakan kunci yang sama dengan kunci yang digunakann pada proses enkripsi. Agar dapat memperoleh plaintext maka diperlukan perhitungan

(28)

menggunakan persamaan (2). Sebelum melakukan perhitungan terlebih dahulu Pi dan Ci harus dikonversikan kedalam bentuk decimal

menggunakan tabel konversi. Hasil dari perhitungan yang dilakukan akan berbentuk bilangan decimal yang kemudian akan dikonversi menggunakan tabel konversi untuk memperoleh plaintext.

Gambar 2.3 Proses Dekripsi Affine Cipher

Gambar 2.3 menjelaskan bahwa untuk memperoleh plaintext menggunakan Affine cipher dibutuhkan input berupa ciphertext yang akan dienkripsi menggunakan dua buah kunci.

Kekuatan dari Affine cipher ini terletak pada kunci yang dipakai. Kunci ini merupakan nilai integer yang menunjukkan pergeseran karakter-karakter. Selain itu Affine cipher juga menggunakan barisan bilangan-bilangan yang berfungsi sebagai pengali kunci. Barisan yang digunakan dapat berupa bilangan tertentu seperti deret bilangan genap, deret bilangan ganjil, deret bilangan prima, deret fibonaci dapat juga deret bilangan yang dibuat sendiri. Dengan adanya kemungkinan pemilihan kunci yang dipilih lebih bervariatif dan lebih banyak algoritma enkripsi subtitusi lain menjadikan Affine cipher sebagai sistem enkripsi paling sempurna dibandingkan dengan algoritma enkripsi subtitusi lainnya [6].

2.8 Algoritma Vigenere Cipher

Vigenere cipher merupakan bagian dari algoritma kriptografi klasik yang sangat dikenal karena menggunakan rumus matematika, selain itu Vigenere cipher juga dapat menggunakan tabel Vigenere untuk melakukan enkripsi plaintext ataupun dekripsi ciphertext. Tabel Vigenere ini digunakann untuk memperoleh

(29)

ciphertext berdasarkan kunci yang sudah ditentukan. Jika panjang kunci lebih pendek dari plainext maka maka kunci akan diulang penggunaannya secara periodik.

Penggunaan tabel Vigenere untuk proses enkripsi dilakukan dengan cara menarik garis vertikal dari huruf plaintext kebawah, kemudian tarik kekanan secara horisontal dari huruf kunci. Hasil potongan dari kedua garis tersebut menyatakan huruf ciphertext nya. Sedangkan untuk dekripsi menggunakan Vigenere dilakukan dengan cara yang sebaliknya, yaitu menarik kearah huruf ciphertext yang dituju secara horisontal dari huruf kunci. Kemudian tarik garis vertikal dari huruf ciphertext sampai huruf plaintext [4].

Tabel 2.2 Vigenere Cipher

Pada tabel 2.2 menunjukkan dibagian pojok kiri secara vertikal merupakan plaintext sedangkan dibagian atas secara horizontal digunakan untuk kunci. Terdapat dua proses dalam penggunaan Vigenere cipher, yaitu :

2.8.1 Proses Enkripsi Vigenere Cipher

Proses enkripsi menggunakan Vigenere cipher membutuhkan 1 buah kunci untuk dapat menghasilkan ciphertext. Kunci yang digunakan merupakan

(30)

sebuah kata atau susunan dari beberapa huruf. Kemuadian dari kunci yang sudah ditentukan akan dikonversikan mengguakan tabel konversi sehingga menjadi bentuk desimal. Selain mengkonversi kunci yang digunakan, Vigenere cipher juga harus mengkonversi Plaintext (Pi) menggunakan

table konversi agar menjadi bentuk desimal, kemudian ciphertext (Ci) akan

diperoleh dengan mengenkripsi plaintext dengan persamaan : Ci = (Pi + Kr) mod 26 ………. (3)

Ci merupakan ciphertext dari pergeseran karakter yang terdapat pada

plaintext. Pi merupakan pergeseran karakter pada plaintext. Kr merupakan

kunci berupa hasil konversi tabel berbentuk bilangan desimal dari pergeseran karakter yang terdapat pada kunci yang digunakan. Hasil perhitungan yang dilakukan menggunakan persamaan (3) akan menghasilkan sebuah bilangan decimal untuk kemudian perlu dikonversi menggunakan tabel konversi untuk memperoleh ciphertext.

Gambar 2.4 Proses Enkripsi Vigenere Cipher

Gambar 2.4 menjelaskan bahwa untuk merubah plaintext menjadi ciphertext pada Vigenere cipher dibutuhkan input berupa plaintext dan sebuah kunci.

2.8.2 Proses Dekripsi Vigenere Cipher

Proses dekripsi menggunakan Vigenere cipher membutuhkan 1 buah kunci untuk dapat menghasilkan plaintext. Kunci yang digunakan merupakan kunci yang sama dengan kunci yang digunakan pada proses enkripsi. Kemuadian dari kunci yang sudah ada akan dikonversikan mengguakan tabel konversi sehingga menjadi bentuk desimal. Selain mengkonversi

(31)

kunci yang digunakan, Vigenere cipher juga harus mengkonversi ciphertext (Ci) menggunakan table konversi yang juga menghasilkan

bilanngan desimal, kemudian plaintext (Pi) akan diperoleh dengan

mendekripsi plaintext dengan persamaan :

Pi = ((Ci – Kr ) + 26) mod 26 ………. (4)

Pi merupakan plaintext dari pergeseran karakter yang terdapat pada

ciphertext. Ci merupakan pergeseran karakter pada ciphertext. Kr

merupakan kunci berupa hasil konversi tabel berupa bilangan desimal dari pergeseran karakter yang terdapat pada kunci yang digunakan. Kemudian untuk mendapatkan Pi dapat dilakukan dengan terlebih dahulu

mengurangi nilai Ci dengan nilai Kr hasil dari pengurangan yang sudah

dilakukan akan dijumlahkan dengan angka 26 untuk kemudian hasil penjumlahan akan di modulo 26. Hasilnya akan berupa bilangan decimal, dari hasil bilangan decimal yang didapat akan dikonversi dengan tabel konfersi sehingga diperoleh karakter plaintext yang diinginkan.

Gambar 2.5 Proses Dekripsi Vigenere Cipher

Gambar 2.5 menjelaskan bahwa untuk merubah ciphertext menjadi plaintext pada Vigenere cipher dibutuhkan input berupa ciphertext dan sebuah kunci.

Vigenere cipher dikenal luas karena cara kerjanya yang mudah dimengerti dan dijalankan serta bagi para pemula akan sulit untuk dipecahkan. Pada saat kejayaannya, Vigenere cipher dijuluki sebagai le chiffre indenchiffrable (bahasa perancis: “sandi yang tak terpecahkan”). Metode pemecahan Vigenere cipher

(32)

sendiri baru ditemukan pada abad ke-19 tepatnya ditahun 1854 oleh Charles Babbage.

2.9 Pengenalan Basisdata

Basis data adalah kumpulan data yang saling berhubungan merefleksikan fakta-fakta yang terdapat di suatu sistem. Basis data mendeskripsikan state dari sebuah sistem. Saat satu kejadian muncul di dunia nyata yang mengubah state yang ada dalam system, maka satu perubahaan juga harus dilakukan terhadap data yang disimpan di basis data. Basis data merupakan komponen utama sistem informasi karena semua informasi untuk pengambilan keputusan berasal dari data di basis data. Pengelolaan basis data yang buruk dapat mengakibatkan ketidak tersediaan data penting. Penggunaan basis data akan lebih menguntungkan karena selain lebih akurat dengan data yang up-to-date juga untuk menyimpan data-data dalam bentuk kertas akan memakan tempat lebih luas [9].

MySQL merupakan database yang paling banyak digunakan saat ini, dengan alasan bahwa MySql adalah database yang sangat kuat dan cukup stabil untuk digunakan sebagai media penyimpanan data. Selain MySQL ada bnyak database yang juga cukup sering digunakan, bahkan juga tidak kalah mudah untuk digunakan misalnya Oracle dan Postgre SQL. MySQL adalah sebuah Relational Database Management System (DBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License) sehingga setiap orang bebas untuk menggunakan database ini.

2.10 Metode Waterfall

Metode waterfall merupakan metode yang menggunakan pendekatan secara skuensial dan sistematis melalui tahapan-tahapan yang terdapat dalam SDLC untuk membangun sebuah perangkat lunak. Hal yang ditkankan dalam metode waterfall adalah keterurutan dalam proses pengembangan perangkat lunak. Penulis memilih metode ini dikarenakan metode ini cocok untuk membangun perangkat lunak yang tidak terlalu besar dan sumber daya manusia yang terlibat dalam jumlah yang terbatas. Penggunaan metode waterfall memiliki beberapa

(33)

proses yaitu system requirements analysis, design, coding, implementation and testing, dan maintenance [10].

Gambar 2.6 Diagram Model Waterfall

Tahapan pertama dalam model waterfall adalah tahapan requirements. Pada tahapan requirements didefinisikan mengenai kondisi yang dibutuhkan oleh pengguna untuk menyelesaikan permasalahan sehingga tujuan yang diinginkan dapat tercapai. Tahapan requirements ini bertujuan untuk mengumpulkan kebutuhan-kebutuhan pengguna untuk kemudian dirubah menjadi deskripsi yang lengkap dan jelas.

Tahapan yang kedua adalah tahapan analisis. Pada tahapan analisis akan dijabarkan segala sesuatu yang akan ditangani oleh perangkat lunak. Pemodelan pada tahapan ini merupakan representasi dari objek didunia nyata. Sehingga dalam tahapan analisis ini harus dapat memahami domain informasi serta perilaku apa saja yang diperlukan pada perankat lunak yang akan dibangun.

Tahapan ketiga adalah tahapan design (perancangan perangkat lunak) yang merupakan proses menerjemahkan kebutuhan kedalam bentuk model perangkat lunak agar dapat diukur kualitasnya sebelum dimulai tahapan implementasi. Tahapan perancangan perangkat lunak ini memiliki proses multi langkah dan dan berfokus pada atribut perangkat lunak yang berbeda, seperti arsitektur perangkat lunak, struktur data dan detail algoritma.

(34)

Tahapan keempat adalah tahapan coding, yaitu implementasi dari tahapan-tahapan sebelumnya kedalam sebuah bahasa yang dapat dimengerti oleh komputer. Kemudian dari impementasi tersebut komputer dapat menjalankan fungsi-fungsi yang telah didefinisikan sehingga mampu menyediakan layanan bagi pengguna.

Tahapan kelima adalah tahapan pengujian. Pengujian dilakukan untuk mengetahui siap atau tidaknya perangkat lunak untuk digunakan. Pada umumnya terdapat 2 macam pengujian yang sering digunakan yaitu white-box dan black-box. Pengujian white-box adalah pengujian pada struktur internal dan algoritma yang digunakan dalam perangkat lunak yang diuji. Sedangkan pengujian black-box menitik beratkan pengujian pada fungsionalitas dari sebuah perangkat lunak tanpa harus mengetahui struktur dari perangkat lunak yang diuji. Pengujian black-box akan dikatan berhasil apabila fungsi-fungsi yang ada sudah memenuhi spesifikasi kebutuhan yang telah dibuat sebelumnya.

Tahapan keenam adalah perawatan (maitenance) yang merupakan penggunaan perangkat lunak disertai dengan perbaikan dan perawatan. Perbaikan dan perawatan diperlukan agar sistem dapat dikembangkan kemampuannya.

2.11 Perancangan Sistem

Perancangan sistem merupakan alat yang dapat menggambarkan alur dari kegiatan yang dilakukan secara manual ataupun menggunakan komputer sehingga menjadikan kegiatan yang dilakukan menjadi lebih terkontrol dan terstruktur. Berikut adalah alat bantu dalam perancangan sistem :

1. Use Case Diagram

Use case diagram merupakan diagram yang menggambarkan fungsionalitas yang diharapkan dari sebuah sistem dari sudut pandang user (pengguna). Yang ditekankan didalam use case adalah “apa” yang diperbuat oleh sistem, bukan “bagaimana” sistem bekerja. Secara umum use case dapat dikatakan sebagai pola perilaku sistem dan urutan transaksi yang dilakukan oleh satu aktor. Ada 4 jenis relasi yang dapat terjadi pada use case, yaitu : a) Association antara aktor dan use case

(35)

b) Association antara use case c) Inheritance antara use case d) inheritance antar aktor.

Adapun simbol-simbol yang digunakan dalam use case diagram antara lain : Tabel 2.3 Simbol Use Case

Keterangan Simbol Actor / aktor Use case Association relationship Include relationship Extend relationship Generalitation relationship 2. Flowchart

Flowchart (bagan alir) merupakan chart (bagan) yang menunjukkan secara logika alur (flow) didalam sebuah program atau sistem. Simbol-simbol yang digunakan dalam flowchart antara lain:

(36)

Tabel 2.4. Simbol Flowchart

Keterangan Simbol

Flow direction : digunakan untuk menghubungkan antarasismbol yang satu dengan symbol yang lain

Terminator : digunakan untuk permulaan (Start) dan akhir (End) dari suatu kegiatan

Connector : Penyambung proses dalam dalam lembar atau halaman yang sama

Connector : mendefinisika penghubung kebagian lain dihalaman yang berbeda

Processing : digunakan untuk menunjukkan pengolahan yang dilakukan oleh computer

Manual Operation : digunakan untuk menunjukkan kegiatan manual

Decision : digunakan untuk pemilihan proses dari kondisi yang ada

Input – output : menyatakan proses input dan output tanpa tergantung jenis peralatannya

Manual input : untuk memasukkan data secara manual menggunakan keyboard

(37)

Preparation : mempersiapkan penyimpanan yang akan digunakann sebagai tempat pengolahan didalam storage

Predefine proses : digunakan untuk pelaksanaan suatu bagian (sub-program)

Disk and On-line Storage : menyatan input yang berasal dari disk atau disimpan ke disk

Magnetik tape unit : menyatakan input yang berasal dari pita magnetic atau disimpan ke pita magnetic

Punch Card : menyatakan input bberasal dari kartu atau disimpan kedalam kartu penyimpanan

Display : menyatakan peralatan output yang digunakan

Dokumen : menyatakan input berasal dari dokumen dalam bentuk kertas / output dicetak dalam kertas

(38)

25 3.1 Analisis Sistem

Masalah keamanan merupakan salah satu hal yang penting akan tetapi sering disepelekan dalam membuat suatu sistem komputer. Dalam membangun sebuah sistem komputer, keamanan merupakan bagian yang menjadi pelindung data ataupun informasi. Perlindungan data atau informasi sangat diperlukan untuk menjaga kerahasiaan data atau informasi agar tidak disalah gunakan oleh pihak yang tidak memiliki hak akan data atau informasi tersebut [11]. Sehingga pembuatan fasilitas keamanan menjadi hal wajib yang harus dimiliki bagi setiap sistem komputer .

TB Mita Jepara memiliki sebuah sistem inventori berbentuk aplikasi browser yang digunakan untuk kegiatan penjualan, mendata persediaan dan beberapa fungsi lain didalamnya. Didalam sistem inventori tersebut hanya karyawan dan pemilik toko saja yang diperbolehkan mengoperasikanya. Untuk membatasi jumlah pemakai sistem inventori maka dibuatlah suatu fasilitas login yang mana dalam fasilitas login tersebut pengguna yang hendak meggunakan sistem harus memasukkan username dan password. Kemudian username dan password yang dimasukkan akan dicek keasliannya (valid / tidak valid). Proses pengecekan asli atau tidaknya username dan password yang diberikan disebut juga sebagai proses otentikasi. Proses otentikasi pada sistem inventori TB Mita Jepara ini menggunakan pemograman PHP yang terkoneksi dengan database MySQL.

Data username dan password didalam database tersimpan dalam sebuah tabel, yang mana dalam tabel tersebut password yang tersimpan telah terenkripsi. Enkripsi merupakan proses merubah data asli (plaintext) menjadi sandi-sandi yang tidak dapat dibaca (ciphertext). Enkripsi ini dilakukan untuk menjadikan password yang digunakan agar tidak mudah diketahui oleh pihak yang salah. Meskipun demikian, tetap ada kemungkinan sandi tersebut dapat dipecahkan.

(39)

Sehingga diperlukan metode enkripsi yang kuat untuk dapat diterapkan dalam pengenkripsian password.

Pada aplikasi browser, pemrograman PHP merupakan pemrograman yang umum digunakan karena script PHP dapat disisipkan dibagian manapun dalam HTML. Sistem inventori TB Mita tidak hanya menggunakan PHP untuk fungsi-fungsi dalam sistem inventori saja, akan tetapi juga digunakan untuk fasilitas login. Pengguaan PHP untuk login ini didukung dengan tahapan pembuatan account yang harus dilakukann terlebih dahulu. Dalam pembuatan account diperlukan input berupa username dan password yang kemudian username dan password tersebut akan disimpan didalam database. Sebelum penyimpanan dilakukan PHP akan melakukan proses enkripsi pada password yang menjadikan password yang disimpan dalam database menjadi berupa ciphertext. Proses enkripsi yang digunakan dalam penyimpanan password pada sistem inventori TB Mita Jepara ini menggunakan enkripsi algoritma MD5.

MD5 merupakan algoritma enkripsi yang digunakan untuk membuat variable yang lebih sederhana dari data yang berukuran besar dengan memanfaatkan fungsi hash. Pada pemrograman PHP sudah menyediakan fungsi algoritma MD5. Sehingga untuk melakukan enkripsi menggunakan MD5 sangatlah mudah, yaitu cukup memanggil fungsi MD5 untuk mengenkripsi data atau informasi yang diiginkan. Kemudahan dalam menggunakan algoritma MD5 pada pemrograman PHP menjadikan MD5 sangat sering digunakan oleh programmer untuk melakukan proses enkripsi. Selain kemudahan pemakaian MD5, seringkali programmer juga mengira bahwa MD5 adalah algoritma yang aman untuk mengenkripsi sebuah password. Hal tersebut wajar karena hasil enkripsi menggunakan MD5 akan selalu menghasilkan 32 karakter ciphertext tanpa peduli jumlah string yang terdapat dalam plaintext. Bahkan perubahan satu karakter pada string plaintext akan menghasilkan ciphertext yang sangat berbeda.

MD5 yang mulai diperkenalkan oleh seorang profesor MIT yang bernama Ronald Rivest pada sekitar tahun 1991 sempat dijadikan sebagai algoritma enkripsi standar dalam berbagai keperluan proses otentikasi. Akan tetapi pada tahun 1996, kelemahan pada MD5 mulai ditemukan. Sejak saat diketahui bahwa

(40)

MD5 cenderung rentan terhadap serangan collision. Serangan collision adalah suatu peristiwa dimana dua nilai yang berbeda dapat memiliki nilai hash yang sama. Bahkan setelah tahun 2008, telah ditemukan cara untuk memanfaatkan collision ini untuk memalsukan sertifikat SSL yang menjadikan MD5 divonis tidak cocok untuk dipakai sebagai fungsi enkripsi yang membutuhkan ketahanan dari serangan collision [3]. MD5 juga tidak menggunakan kunci apapun untuk melakukan proses enkripsi, hal tersebut menjadikan proses dekripsinya tidak perlu menemukan kunci yang digunakan. Selain itu saat ini hasil dari enkripsi MD5 semakin mudah di dekripsi dengan banyaknya situs-situs diinternet yang menyediakan fasilitas dekripsi algoritma MD5. Cara menemukan situs tersebut juga sangat mudah yaitu cukup dengan menuliskan “dekripsi MD5” pada website pencarian (google, bing, yahoo dll) maka akan diperoleh saran situs untuk deskripi MD5. Kemudian dengan membuka situs deskripsi MD5 yang dipilih dan menuliskan ciphertext dari MD5 pada form yang telah disediakan maka akan didapatkan plaintext yang dibutuhkan.

Dengan kelemahan yang terdapat pada MD5, maka diperlukan algoritma pengganti MD5 untuk enkripsi password pada sistem inventori TB Mita Jepara. Affine cipher dan Vigenere cipher merupakan bagian dari algoritma kriptografi klasik yang menggunakan kunci simetrik yang mana kunci yang digunakan untuk proses enkripsi sama dengan kunci yang digunakan untuk proses dekripsi. Penggunaan kunci pada algoritma Affine cipher dan Vigenere cipher ini menjadikan kriptanalisis membutuhkan waktu untuk menemukan kunci yang digunakan sebelum melakukan dekripsi pada ciphertext. Untuk proses enkripsi menggunakan algoritma Affine cipher dan Vigenere cipher akan dilakukan dengan cara mengenkripsi plaintext awal menggunakan Affine cipher yang akan menghasilkan ciphertext sementara. Selanjutnya dari ciphertext sementara tersebut kemudian akan dienkripsi lagi menggunkan Vigenere cipher untuk menghasilkan ciphertext yang akan digunakan. Sedangkan untuk dekripsi ciphertext maka akan didekripsikan menggunakan Vigenere cipher terlebih dahulu yang menghasilkan plaintext sementara. Kemudian dari palaintext sementara akan di dekripsikan kembali menggunakan Affine cipher yang menghasilkan

(41)

plaintext awal (plaintext sebelum proses enkripsi). Proses enkrisi dan dekripsi menggunakan Affine cipher dan Vigenere cipher dapat dilihat pada gambar 3.1. dan gambar 3.2.

Gambar 3.1. Proses Enkripsi Menggunakan Affine dan Vigenere Cipher

Gambar 3.2. Proses Dekripsi Menggunakan Vigenere dan Affine Cipher Tahapan proses enkripsi menggunakan affine cipher dan vigenere cipher dapat dicontohkan sebagai berikut :

1. Misalkan plaintext yang akan dienkripsi adalah “YOGA” 2. Menyiapkan tabel nilai desimal karakter

Tabel 3.1 Konversi Karakter ke Nilai Desimal

Huruf A B C D E F G H I J K L M

Angka 0 1 2 3 4 5 6 7 8 9 10 11 12

Huruf N O P Q R S T U V W X Y Z

Angka 13 14 15 16 17 18 19 20 21 22 23 24 25 3. Mengenkripsi plaintext menggunakan Affine cipher

(42)

Plaintext Y O G A Angka 24 14 6 0

Sehingga diperoleh : Plaintext : Y O G A Ekivalen : 24 14 6 0

Kunci 1 = 5 dan Kunci 2 = 7

Kunci 1 merupakan a, sedangkan kunci 2 merupakan b. Enkripsi plaintext akan dihitung menggunakan kekongruenan :

Ci = (a Pi + b ) mod 26 Ci = (5 Pi + 7) mod 26

Perhitungannya adalah sebagai berikut :

P1 = 24 -> C1 = (5.24 + 7 = 127) mod 26 = 23 -> X P2 = 14 -> C2 = (5.14 + 7 = 77) mod 26 = 25 -> Z P3 = 6 -> C3 = (5.6 + 7 = 37) mod 26 = 11 -> L P4 = 0 -> C4 = (5.0 + 7 = 7) mod 26 = 7 -> H

Dari perhitungan enkripsi menggunakan Affine cipher dengan plaintext “YOGA” mengasilkan ciphertext “XZLH”

4. Ciphertext dari proses enkripsi Affine cipher akan dienkripsi kembali menggunakan Vigenere cipher

Dari tabel 3.1 diperoleh persamaan : Plaintext X Z L H Angka 23 25 11 7

Kunci K A M U

Angka 10 0 12 20

Sehingga diperoleh :

Plaintext : X Z L H -> dengan ekivalen : 23 25 11 7 Kunci : K A M U -> dengan ekivalen : 10 0 12 20

Enkripsi plaintext akan dihitung dengan menggunakan kekonkruenan: Ci = (Pi + Kr) mod 26

(43)

Perhitugannya adalah sebagai berikut:

P1 = 23 -> C1 = (23 + 10 = 33) mod 26 = 7 -> H P2 = 25 -> C2 = (25 + 0 = 25) mod 26 = 25 -> Z P3 = 11 -> C3 = (11 + 12 = 23) mod 26 = 23 -> X P4 = 7 -> C4 = (7 + 20 = 27) mod 26 = 1 -> B

Dari perhitungan enkripsi menggunakan Vigenere cipher dengan plaintext “XZLH” mengasilkan ciphertext “HZXB”

5. Sehingga dari plaintext awal “YOGA” menghasilkan ciphertext akhir “HZXB” yang kemudian ciphertext “HZXB” akan disimpan ke database.

Dari proses enkripsi yang sudah dilakukan dapat didekripsikan kembali dengan tahapan sebagai berikut:

1. Menyiapkan ciphertext yang akan di dekripsikan yaitu “HZXB”. 2. Menyiapkan tabel nilai desimal karakter, seperti pada tabel 3.1 3. Mendekripsi ciphertext menggunakan Vigenere cipher

Dari tabel 3.1 diperoleh persamaan :

Sehingga diperoleh :

Ciphertext : H Z X B -> dengan ekivalen : 7 25 23 1 Kunci : K A M U -> dengan ekivalen : 10 0 12 20

Dekripsi ciphertext akan dihitung dengan menggunakan kekonkruenan: Pi = ((Ci – Kr ) + 26 ) mod 26

Perhitugannya adalah sebagai berikut:

C1 = 7 -> P1 = ((7 - 10 = -3) + 26) mod 26 = 23 -> X C2 = 25 -> P2 = ((25 - 0 = 25) + 26) mod 26 = 25 -> Z C3 = 23 -> P3 = ((23 - 12 = 11) + 26) mod 26 = 11 -> L C4 = 1 -> P4 = ((1 - 20 = -19) + 26) mod 26 = 7 -> H Ciphertext H Z X B Angka 7 25 23 1 Kunci K A M U Angka 10 0 12 20

(44)

Dari perhitungan dekripsi menggunakan Vigenere cipher dengan ciphertext “HZXB” mengasilkan ciphertext “XZLH”

4. Plaintext dari proses dekripsi menggunakan Vigenere cipher akan di dekipsikan kembali menggunaka Affine cipher

Dari tabel 3.1 dapat diperoleh persamaan : Ciphertext X Z L H Angka 23 25 11 7 Sehingga diperoleh : Ciphertext : X Z L H Ekivalen : 23 25 11 7 Kunci 1 : 5 Kunci 2 : 7

Kunci 1 merupakan a, sedangkan kunci 2 merupakan b. Dekripsi ciphertext akan dihitung menggunakan kekongruenan :

Pi = a-1(Ci - b) mod 26 Pi = 5-1(Ci - 7) mod 26

Pertama-tama perlu dihitung 5-1 (mod 26), yang dapat dihitung dengan memecahkan kekongruenan lanjar 5-1 ≡ 1 (mod 26), solusinya adalah x ≡ 21 (mod 26) sebab 5.21 = 105 ≡ 1 (mod 26) meghasilkan 1

Perhitugannya adalah sebagai berikut:

C1 = 23 -> P1 = ( 21 (23 – 7) = 336) mod 26 = 24 -> Y C2 = 25 -> P2 = ( 21 (25 – 7) = 378) mod 26 = 14 -> O C3 = 11 -> P3 = ( 21 (11 – 7) = 84) mod 26 = 6 -> G C4 = 7 -> P4 = ( 21 (7 – 7) = 0) mod 26 = 0 -> A

Dari perhitungan dekripsi menggunakan Affine cipher dengan ciphertext “” mengasilkan plaintext “YOGA”

5. Sehingga dari ciphertext akhir “HZXB” menghasilkan plaintext sementara dari hasil dekripsi Vigenere cipher “XZLH” yang kemudian didekripsikan kembali menggunakan Affine sehingga menjadi plaintext awal “YOGA”.

(45)

Proses enkripsi dan proses dekripsi pada algoritma Affine cipher membutuhkan dua kunci, sedangkan proses enkripsi dan dekripsi menggunakan Vigener cipher membutuhkan satu kunci. Gabungan dari algoritma Affine cipher dan Vigenere cipher akan menghasilkan tiga kunci. Penggunaan tiga kunci ini mejadikan penggunaan algoritma Affine cipher dan Vigenere cipher menjadi lebih kuat dibandingkan hanya menggunakan Affine cipher saja atau Vigenere cipher saja, sebab selain jumlah kunci yang digunakan lebih banyak juga dibutuhkan dua kali proses dekripsi untuk mendapatkan plaintext yang diinginkan [4]. Terkadang kriptanalis yang hendak mendeskripsi ciphertext akan mencoba untuk mencari situs-situs dekripsi cipher diinternet. Akan tetapi untuk mendekripsi algoritma Affine cipher dan Vigenere cipher tidak akan dapat dilakukan dengan cara tersebut, sebab ciphertext yang akan didekripsi selain menggunakan dua kali proses enkripsi menggunakan dua algoritma yang berbeda juga kriptanalis membutuhkan kunci yang tepat untuk dapat mendekripsikan ciphertext. Sehingga bagi kriptanalis yang hendak mendekripsi ciphertext harus mendekripsikannya secara manual, dan itupun akan menjadi sulit apabila kriptanalis tidak mengetahui jenis algoritma yang digunakan untuk melakukan enkripsi.

3.2 Desain Sistem 1. Pembuatan Database

Dalam pembuatan database akan disediakan sebuah tabel khusus untuk otentikasi login, yang mana dalam tabel tersebut akan digunakan tiga field yaitu terdiri dari :

a. Field “id” dengan tipe integer. Field “id” ini akan digunakan untuk mengecek posisi data yang dituju agar menjadi lebih mudah. Karena field “id” ini bersifat auto increment sehingga antara satu id dengan id yang lain tidak aka sama.

b. Field “username” dengan tipe varchar. Field ini digunakan untuk memberikan inisial pengguna pada sistem inventori TB Mita Jepara.

(46)

c. Field “password” dengan tipe data varchar. Field “password”akan digunakan sebagai tepat menyimpan kunci dari tiap username. Pada field “password” inilah yang isi field-nya akan dienkripsi menggunakan algoritma Affine cipher dan Vigenere cipher.

Adapun tampilan tabel yang akan dibuat akan seperti ini :

Id Username Password

1 Admin ZMZXJGSKJL

2 Karyawan YBHJKGQKHLP

Gambar 3.3. Desain Tabel Login

2. Pembuatan Account

Pembuatan account ini dibutuhkan untuk menambahkan, merubah ataupun mengurangi (menghapus) account. Untuk menambahkan account akan disediakan form pembuatan account baru. Sedangkan untuk merubah atau menghapus account akan disediakan tombol “Edit” dan tombol “Hapus”. Adapun desain pembuatan account adalah sebagai berikut :

Gambar 3.4. Desain Halaman Pembuatan Account

Dari gambar 3.4 menunjukkan tiga bagian utama yang terdapat dalam halaman pembuatan account yaitu :

(47)

Bagian 1 : merupakan header dari menu Admin dari sistem inventori TB Mita. Dalam header ini terdapat dua pilihan menu yaitu menu logout yang digunakan untuk keluar dari sistem inventori TB Mita dan menu home yang digunakan untuk kembali ke beranda sistem inventori TB Mita Bagian 2 : merupakan form pembuatan account baru dengan memasukkan

username dan password baru, adapun jumlah karakter pada password dibatasi sebanyak 4 sampai 20 karakter saja. setelah itu menekan tombol “simpan”. Pada saat tombol “simpan” ditekan maka akan dimintai konfirmasi password pembuat account. Hal ini dilakukan agar hanya orang yang memiliki hak saja yang dapat membuat account baru.

Bagian 3 : merupakan data account yang sudah ada atau sudah terdaftar dalam sistem

Pada bagian data account terdapat dua fungsi tambahan yaitu fungsi hapus account yang digunakan untuk menghapus account pengguna dan juga fungsi edit account yang digunakan untuk mengedit data account pengguna.

3. Pembuatan Fungsi Hapus Account

Fungsi hapus account dapat digunakan untuk mengurangi account yang sudah tidak aktif atau sudah tidak digunakan lagi agar tidak terjadi kepemilikan account ganda. Selain itu dapat juga digunakan apabila ada salah satu account (karyawan) yang hak akses nya dicabut oleh pemilik account utama (pemilik toko). Adapun tampilan desain dari fungsi hapus account adalah sebagi berikut :

(48)

Gambar 3.5. Desain Halaman Hapus Account

Gambar 3.5. menunjukkan sebuah tampilan yang akan muncul ketika fungsi hapus pada kolom aksi ditekan. Dalam tampilan tersebut hanya yang memiliki account saja yang dapat menghapus account yaitu dengan cara memasukkan password terlebih dahulu kemudian menekenan tombol “konfirmasi”. Sedangkan untuk membatalkan penghapusan dapat ditekan tombol “kembali”.

4. Pembuatan Fungsi Edit Account

Fungsi edit account dapat digunakan untuk memperbarui username atau password dari sebuah account. Halaman edit account akan muncul ketika fungsi edit pada kolom aksi ditekan. Adapun desain dari halaman edit account adalah sebagai berikut:

Gambar

Gambar 2.1. Diagram Proses Enkripsi dan Dekripsi
Gambar 2.2 Proses Enkripsi Affine Cipher
Gambar  2.3  menjelaskan  bahwa  untuk  memperoleh  plaintext  menggunakan  Affine  cipher    dibutuhkan  input  berupa  ciphertext    yang  akan dienkripsi menggunakan dua buah kunci
Tabel 2.2 Vigenere Cipher
+7

Referensi

Dokumen terkait

Untuk menjaga konsistensi data guru yang diedit, maka jika Admin Sekolah atau Pegawai Kabupaten akan mengedit data yang berhubungan dengan status dan golongan. guru, maka

Berdasarkan hasil pengujian tarik dan pengamatan struktur mikro diperoleh hasil yang sebanding dengan hasil pengujian ulang komposisi kimia, sehingga dapat disimpulkan telah

Diskripsi Use Case ini mendeskripsikan suatu kejadian yang dilakukan oleh Kepala Sekolah, Tata usaha, Wali Kelas, dan Guru Mata Ajar1. Kepala Sekolah, Tata usaha, Wali

Dana yang digunakan untuk modal usaha inilah yang akan meningkatkan ekonomi keluarga di Nagari Tanjuang Bonai, karena keuntungan yang diperoleh dari hasil usaha akan

Ketel uap pipa api, pada umumnya hanya mampu menghasilkan uap basah dengan tekanan rendah sampai +/- 16 bar saja, sehingga uap tersebut kurang/tidak mampu untuk

Tabel 5.5-61 Hasil Error Relative arsitektur 63 FAM Bahasa Inggris dataset 1 165 Tabel 5.5-62 Hasil Error Relative arsitektur 63 FAM Bahasa Inggris dataset 2 166 Tabel 5.5-63

Dalam metode penelitian ini yang akan digunakan dalam pembuatan aplikasi Augmented Reality berbasis android menggunakan Unity 3D dan Vuforia sebagai tool yang terdiri

Berdasarkan hasil dari proses perancangan sistem dan alat monitoring yang sudah dilakukan, diharapkan alat dapat digunakan sebagaimana mestinya untuk menunjang keselamatan