• Tidak ada hasil yang ditemukan

ENKRIPSI DAN DEKRIPSI ACCOUNT EMAIL MAHASISWA DENGAN METODE H-PLAYFAIR MENGGUNAKAN JAVA DAN MYSQL (STUDI KASUS DI BAPSI USD) SKRIPSI Diajukan Untuk Memenuhi Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika

N/A
N/A
Protected

Academic year: 2019

Membagikan "ENKRIPSI DAN DEKRIPSI ACCOUNT EMAIL MAHASISWA DENGAN METODE H-PLAYFAIR MENGGUNAKAN JAVA DAN MYSQL (STUDI KASUS DI BAPSI USD) SKRIPSI Diajukan Untuk Memenuhi Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika"

Copied!
113
0
0

Teks penuh

(1)

MENGGUNAKAN JAVA DAN MYSQL

(STUDI KASUS DI BAPSI USD)

SKRIPSI

Diajukan Untuk Memenuhi Syarat Memperoleh

Gelar Sarjana Teknik Program Studi Teknik Informatika

 

 

 

Oleh :

Bhernadet Megaria Intan Permatasari Nugroho

NIM :

055314031

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

(2)

(A CASE STUDY IN BAPSI USD)

A THESIS

Presented as Partial Fulfillment of the Requirements

To Obtain Sarjana Teknik Degree

In Informatics Engineering Department

 

 

By :

Bhernadet Megaria Intan Permatasari Nugroho

055314031

INFORMATICS ENGINEERING STUDY PROGRAM

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

(3)
(4)
(5)

 

Jangan Berharap Pada Hal Kecil

Jika Kalau Kamu Tahu Kamu Punya Allah Yang Besar

 

 

Sebab Aku ini mengetahui rancangan-rancangan apa yang ada

pada-Ku mengenai kamu, demikianlah firman TUHAN, yaitu rancangan

damai sejahtera dan bukan rancangan kecelakaan, untuk memberikan

kepadamu hari depan yang penuh harapan.

(Yeremia 29:11)

(6)
(7)

Email mahasiswa digunakan untuk memudahkan komunikasi antar

mahasiswa, mahasiswa dengan dosen, dan juga untuk hubungan dengan sesama.

Sistem Account Email Mahasiswa ini dibuat untuk melengkapi Sistem Email

Mahasiswa yaitu untuk membantu mahasiswa dalam registrasi email, ubah

password dan menangani lupa password. Salah satu cara untuk mengamankan

data password account email ialah dengan melakukan enkripsi pada data tersebut.

Pada tugas akhir ini metode enkripsi dan dekripsi yang digunakan

menggunakan metode H-Playfair. H-Playfair termasuk kedalam polygram cipher

sehingga H-Playfair dikategorikan juga algoritma kriptografi klasik. H-Playfair

diciptakan sebagai varian dari algoritma kriptografi playfair untuk mengatasi

kelemahan playfair. Enkripsi algoritma H-Playfair terdiri dari 2 tahap yaitu

enkripsi playfair bujursangkar 6x6 dan enkripsi jarak bujursangkar 6x6.

Implementasi program dengan menggunakan Java dan MySql

Hasil implementasi program ini menunjukkan bahwa metode

H-Playfair merupakan algoritma kriptografi klasik namun kemampuannya setara

dengan kemampuan metode kriptografi modern yang memiliki prinsip

membingungkan dan menyebar. Sistem ini dapat melengkapi Sistem Email

Mahasiswa dan dapat membantu mahasiswa karena mempermudahkan dalam

melakukan registrasi, membantu membuat password awal yang acak dan kuat,

membantu mahasiswa dalam mengubah password dengan mengetahui kekuatan

(8)

Email student applied to facilitate communications between students

and also student with lecturer also for the relation of with humanity. This Account

Email Mahasiswa System made to complement student email system to assist

student in registration of email, changes password and handles forgetting

password. One of way of protect data password account email is by doing

encryption at the data.

At this final assignment encryption method and decryption applies

method H-Playfair. H-Playfair included into polygram cipher so that H-Playfair is

categorized also classic kriptografi algorithm. H-Playfair created as encryption

Playfair square 6x6 square distance encryptions 6x6 variants from algorithm

kriptografi Playfair. Implementation of program by using Java and MySql

Result of implementation of this program indicates that method

H-Playfair is classic kriptografi algorithm but its the ability is equivalent ably

modern kriptografi method. And this system can facilitate in doing registration

because can complement system Email Student Sanata Dharma in doing

registration also assists makes strong and random initial password because

password letter random and number.

(9)
(10)

Puji dan syukur penulis panjatkan kepada Tuhan Yang Maha Esa yang

telah mengaruniakan berkat dan hikmat-Nya sehingga penulis dapat

menyelesaikan tugas akhir ini.

Dalam proses penulisan tugas akhir ini ada begitu banyak pihak yang

telah memberikan bantuan dan perhatian dengan caranya masing-masing sehingga

tugas akhir ini dapat diselesaikan. Oleh karena itu saya mengucapkan terimakasih

kepada :

1. Kedua orang tua penulis Al. Emmanuel Santo Nugroho dan Monica yang

telah memberi dukungan moral, spiritual dan finansial dalam penyusunan

skripsi.

2. Bapak Yosef Agung Cahyanta, S.T, M.T. selaku Dekan Fakultas Sains dan

Teknologi Universitas Sanata Dharma Yogyakarta.

3. Bapak Puspaningtyas Sanjoyo Adi, S.T.,M.T. selaku Ketua Jurusan Teknik

Informatika Universitas Sanata Dharma Yogyakarta.

4. Romo Drs. St. Hari Suparwito, SJ., M.App.IT selaku Dosen Pembimbing

Tugas Akhir yang telah banyak memberikan bimbingan dan menyediakan

waktu dalam memberikan pengarahan selama penulisan tugas akhir ini.

5. BAPSI Universitas Sanata Dharma yang telah memberikan kesempatan

(11)

7. Seluruh staff dosen Teknik Informatika Universitas Sanata Dharma yang

telah memberikan bekal ilmu, dan arahan selama penulis menempuh studi.

8. Adikku tersayang Alucia Victoria Intan Puspitasari Nugroho yang selalu

menyayangi dan memberikan dukungan kepadaku.

9. Sahabat – sahabat terbaik penulis: Febri Isdariyanto, Agnes Putri, Theresia

Paulin, Andriyanto, Maria Endah, Floriska, Anas Erikasari, I Gusti Nyoman

Sedana, Hendri Cahyana, Dya Sifa, Yohana Sinta, Ika Lestari, Novitasari atas

persahabatan selama ini.

10. Semua pihak yang telah membantu penulisan baik secara langsung maupun

tidak langsung, yang tidak dapat penulis sebutkan satu persatu.

Dengan rendah hati saya menyadari bahwa tugas akhir ini masih jauh dari

sempurna, oleh karena itu berbagai kritik dan saran untuk perbaikan tugas akhir

ini sangat saya harapkan.

Akhir kata semoga tugas akhir ini bermanfaat bagi semua pihak. Terima

kasih.

Yogyakarta, 12 Januari 2010

Penulis

(12)

xii

HALAMAN JUDUL ... i

HALAMAN JUDUL ... ii

HALAMAN PERSETUJUAN ... iii

HALAMAN PENGESAHAN ... iv

MOTTO ... v

PERNYATAAN KEASLIAN KARYA ... vi

ABSTAKSI ... vii

ABSTRACT ... viii

LEMBAR PERNYATAAN PERSETUJUAN ... ix

KATA PENGANTAR... x

DAFTAR ISI ... xii

DAFTAR TABEL ... xvi

DAFTAR GAMBAR ... xvii

BAB I PENDAHULUAN 1.1 Latar Belakang Masalah ... 1

1.2 Batasan Masalah ... 2

1.3 Tujuan dan Manfaat Penelitian ... 3

1.4 Rumusan Masalah ... 4

1.5 Metodologi Penelitian ... 4

1.6 Sistematika Penulisan ... 5

BAB II LANDASAN TEORI 2.1 Enkripsi dan Dekripsi ... 8

2.2 Kriptografi Klasik dan Kriptografi Modern ... 10

2.2.1 Kriptografi Klasik ... 10

(13)

xiii

2.4.1 Pengantar ... 13

2.4.2 Algoritma H-Playfair... 16

2.4.3 Kekuatan Algoritma Kriptografi H-Playfair ... 20

2.4.4 Kelemahan Algoritma Kriptografi H-Playfair ... 24

2.4.5 Keamanan Algoritma Kriptografi H-Playfair ... 24

2.5 Pengenalan Pemrograman Java ... 25

2.6 MySQL ... 26

BAB III ANALISA DAN PERANCANGAN SISTEM 3.1 Analisa Sistem ... 28

3.1.1 Gambaran Umum Sistem ... 28

3.1.2 Gambaran yang Terlibat Dalam Sistem ... 30

3.1.3 Requirement Analysis ... 30

3.1.3.1 Use Case Diagram ... 30

3.1.3.2. Use Case Narative ... 31

3.1.4 Pemodelan dan Analisis Data ... 35

3.2 Perancangan Database ... 37

3.2.1 Entity Relational Diagram ... 37

3.2.2 Tabel-Tabel Yang Diperlukan ... 38

3.2.2.1 Tabel account email ... 38

3.2.2.2 Tabel mahasiswa ... 39

3.2.3 Diagram Alir ... 40

3.2.4 Desain Input Output ... 43

3.2.4.1 User Mahasiswa ... 44

3.2.4.2 User Admin ... 50

BAB IV IMPLEMENTASI DAN ANALISA HASIL 4.1 Implementasi ... 54

(14)

xiv

4.1.2.2 Kebutuhan Perangkat Lunak ... 55

4.1.3 Implementasi Enkripsi dan Dekripsi Menggunakan Algoritma H-Playfair ... 55

4.1.3.1 Implementasi Enkripsi Password Menggunakan Algoritma H- Playfair ... 56

4.1.3.2 Implementasi Dekripsi Password Menggunakan Algoritma H-Playfair ... 61

4.1.4 Implementasi Sistem ... 63

4.1.4.1 Menu Mahasiswa ... 63

4.1.4.1.1 Registrasi ... 63

4.1.4.1.2 Ubah Password ... 67

4.1.4.1.3 Lupa Password ... 69

4.1.4.2 Menu Admin ... 70

4.1.4.2.1 Lihat Data ... 70

4.2 Antarmuka Pengguna Sistem ... 71

4.2.1 Halaman Login ... 71

4.2.2 Menu Mahasiswa... 72

4.2.2.1 Halaman Registrasi ... 73

4.2.2.2 Halaman Ubah Password ... 78

4.2.2.3 Halaman Lupa Password ... 79

4.2.2.4 Halaman Petunjuk Mahasiswa ... 82

4.2.3 Menu Admin ... 83

4.2.3.1 Halaman Lihat Data ... 84

4.2.3.2 Halaman Reset Password ... 85

4.2.3.3 Halaman Hapus Data ... 87

4.3 Analisa Serangan Terhadap H-Playfair ... 87

4.4 Analisa Hasil ... 89

(15)

xv

5.1 Kesimpulan... 93

5.2 Saran ... 93

(16)

xvi

Tabel 1 Penjelasan Use Case Login ... 31

Tabel 2 Penjelasan Use Case Registrasi ... 32

Tabel 3 Penjelasan Use Case Ubah Password ... 33

Tabel 4 Penjelasan Use Case Lupa Password ... 33

Tabel 5 Penjelasan Use Case Lihat Data ... 34

Tabel 6 Penjelasan Use Case Reset Password ... 34

Tabel 7 Penjelasan Use Case Hapus Data ... 35

Tabel 8 Penjelasan Tabel Account_email ... 38

(17)

xvii

Gambar 1. Proses Enkripsi dan dekripsi ... 9

Gambar 2. Enkripsi dan dekripsi dengan kunci ... 9

Gambar 3. Enkripsi dan dekripsi dengan kunci pada algoritma asimetri ... 10

Gambar 4. Contoh kunci algoritma Playfair ... 14

Gambar 5. Contoh kunci algoritma H-Playfair ... 16

Gambar 6. Skema Enkripsi H-Playfair ... 17

Gambar 7. Enkripsi jarak dengan bujursangkar 6x6 ... 19

Gambar 8. Dekripsi jarak dengan bujursangkar 6x6 ... 20

Gambar 9. Use Case Diagram ... 31

Gambar 10. Diagram Konteks ... 35

Gambar 11. Diagram Berjenjang ... 36

Gambar 12. Diagram Alir Data Proses 1... 36

Gambar 13. Diagram Alir Data Level 2 Proses 2 ... 36

Gambar 14. Diagram Alir Data Level 2 Proses 3 ... 37

Gambar 15. Diagram Alir Data Level 2 Proses 4 ... 37

Gambar 16. Diagram Alir Data Level 2 Proses 6 ... 37

Gambar 17. Entity Relational Diagram ... 37

Gambar 18. Diagram alir Registrasi Email, Ubah Password dan Lupa Password ... 40

Gambar 19. Diagram alir Reset Password ... 41

Gambar 20. Diagram alir Proses Enkripsi dan Dekripsi Metode H-Playfair ... 42

Gambar 21. Desain Halaman Login ... 43

Gambar 22. Rancangan Halaman Menu Mahasiswa ... 44

Gambar 23. Rancangan Halaman Registrasi User Mahasiswa ... 45

Gambar 24. Rancangan Halaman Registrasi(langkah 2) ... 46

Gambar 25. Rancangan Halaman Ubah Password ... 47

Gambar 26. Rancangan Halaman Lihat Password ... 48

Gambar 27. Rancangan Halaman Lupa Password ... 49

Gambar 28. Rancangan Halaman Lupa Password(langkah 2) ... 49

Gambar 29. Rancangan Halaman Menu Admin ... 50

Gambar 30. Rancangan Halaman Lihat Data ... 51

Gambar 31. Rancangan Halaman Reset Password ... 51

Gambar 32. Rancangan Halaman Reset Password(langkah 2) ... 52

Gambar 33. Rancangan Halaman Hapus Data ... 53

Gambar 34. Halaman Login ... 71

Gambar 35. Halaman Menu Mahasiswa ... 72

Gambar 36. Halaman Registrasi ... 73

Gambar 37. Pesan Eror Data Sama ... 74

Gambar 38. Halaman Registrasi(langkah 2) ... 75

Gambar 39. Pesan Berhasil Melakukan Registrasi Account Email. ... 76

(18)

xviii

Gambar 44. Halaman Ubah Password ... 78

Gambar 45. Halaman Konfirmasi Ubah Password ... 79

Gambar 46. Halaman Lupa Password(langkah 1) ... 79

Gambar 47. Halaman Lupa Password(langkah 2) ... 80

Gambar 48. Halaman Lupa Password(langkah 3) ... 81

Gambar 49. Halaman Petunjuk Mahasiswa ... 82

Gambar 50. Halaman Menu Admin ... 83

Gambar 51. Halaman Lihat Data... 84

Gambar 52. Halaman Reset Password ... 85

Gambar 53. Halaman Reset Password(langkah 2) ... 86

(19)

BAB 1

PENDAHULUAN

1.1.

Latar Belakang Masalah

Perkembangan teknologi saat ini menuntut manusia menginginkan

data atau informasi penting yang dimiliki terjamin keamanannya. Data atau

informasi penting tersebut harus dijaga sedemikian rupa sehingga hanya

orang-orang yang berhak saja yang dapat menggunakan data atau informasi tersebut.

Salah satu data atau informasi yang harus dijaga keamanannya adalah data

password. BAPSI Universitas Sanata Dharma ingin mengimplementasikan

account email mahasiswa, email tersebut digunakan untuk memudahkan

komunikasi antar mahasiswa maupun mahasiswa dengan dosen juga untuk

hubungan dengan sesama. Setiap mahasiswa akan mempunyai account email

yaitu username dan password untuk login. Agar lebih aman, data password

mahasiswa tersebut harus disimpan dalam bentuk yang sudah terenkripsi.

Dari latar belakang itulah penulis tertarik untuk membuat program

(20)

berhak dan informasi akan segera diketahui oleh orang yang tidak berhak

tersebut. Selain itu program bantu ini akan memudahkan mahasiswa untuk

membuat username dan password dimana biasanya password dibuat berdasar

pada tanggal lahir, nama dan lain-lain yang mudah ditebak oleh orang lain

sehingga tidak aman.

Metode enkripsi dan dekripsi data sangat banyak, salah satunya yaitu

metode H-Playfair. Pemilihan terhadap metode yang akan digunakan

tergantung dari banyak hal, antara lain: kecepatan eksekusi algoritma tersebut,

gampang tidaknya algoritma tersebut dirusak oleh orang lain, kemudahan

dalam pengimplementasiannya dll.

1.2.

Batasan Masalah

Dalam skripsi ini akan dibahas penggunaan metode H-Playfair untuk

mengenkripsi dan dekripsi data password account email mahasiswa. Aplikasi

yang akan dibuat berdasarkan hasil studi kasus di BAPSI Universitas Sanata

Dharma.

Batasan masalah dalam skripsi ini adalah :

(21)

2.

Database sistem pembuatan account email mahasiswa ini masih terpisah

dengan database yang dimiliki oleh BAPSI.

3.

Sistem pembuatan account email mahasiswa ini tidak terhubung dengan

mesin email yang dimiliki oleh BAPSI.

1.3.

Tujuan dan Manfaat Penelitian

Tujuan pembuatan skripsi ini adalah

1.

Mengimplementasikan H-Playfair untuk mengenkripsi dan dekripsi data

password dari account email mahasiswa.

2.

Membuat program bantu untuk pembuatan account email mahasiswa,

membantu apabila terjadi lupa password dengan menggunakan Java dan

MySql.

Manfaat yang akan diperoleh dari tugas akhir ini adalah :

1.

Meningkatkan keamanan data password yang tersimpan dalam database

username dan password email mahasiswa.

2.

Dapat mempermudahkan mahasiswa untuk membuat username dan

password.

3.

Menjadi “bank data” username dan password email mahasiswa sehingga

(22)

4.

Dapat mempermudahkan mahasiswa untuk mendapatkan password baru

apabila lupa password.

1.4.

Rumusan Masalah

Berdasarkan latar belakang yaitu keinginan untuk mengenkripsi data

password account supaya data aman maka diatas dapat dirumuskan

permasalahan sebagai berikut :

1.

Bagaimana menjaga keamanan data password dengan enkripsi dan dekripsi

menggunakan metode H-Playfair?

2.

Bagaimana membuat alat bantu untuk memudahkan user mendapatkan

account baru yaitu username dan password pada saat registrasi,

mendapatkan password baru pada saat lupa password dan mengganti

password.

1.5.

Metodologi Penelitian

(23)

1.

Melakukan studi kasus di BAPSI USD dengan berdiskusi dengan staff

BAPSI selain itu melakukan pengamatan secara langsung dengan melihat

data yang ada.

2.

Melakukan studi kepustakaan untuk mencari dan mempelajari

metode-metode enkripsi yang ada dan memilih yang terbaik dan juga disesuaikan

dengan pemahaman dan kemampuan penulis yaitu enkripsi dan dekripsi

yaitu dengan metode H-Playfair. Mencari bahan dari berbagai sumber

untuk mencari bahan kajian yang sesuai dengan system yang dibuat. Bahan

kajian yang digunakan dapat berasal dari buku artikel internet yang dapat

digunakan untuk memecahkan masalah yang ada.

3.

Melakukan implementasi. Penulis mulai membuat program alat bantu

untuk enkripsi dan dekripsi untuk database password dan pembuatan

username dan program bantu untuk menangani apabila lupa password.

1.6.

Sistematika Penulisan

(24)

1.

BAB I.

PENDAHULUAN

Dalam bab ini diungkapkan mengenai latar belakang masalah, batasan

masalah, tujuan dan manfaat penelitian, rumusan masalah, metode

penelitian dan sistematika penulisan.

2.

BAB II.

LANDASAN TEORI

Dalam bab ini berisi tentang landasan teori yang digunakan dalam

pembuatan sistem untuk enkripsi dan dekripsi menggunakan metode

H-Playfair dengan menggunakan bahasa pemrograman Java dan MySql.

3.

BAB III.

ANALISA DAN PERANCANGAN

Dalam bab ini berisi tentang rancangan sistem yang akan dibuat.

Menjelaskan mengenai perancangan sistem dalam bentuk diagram alir yang

menyatakan semua proses yang terjadi dalam software yang akan dibuat.

4.

BAB IV.

IMPLEMENTASI DAN ANALISA HASIL

Dalam bab ini berisi implementasi yang dilakukan terhadap rancangan

(25)

5.

BAB VI.

KESIMPULAN DAN SARAN

(26)

BAB 2

LANDASAN TEORI

2.1. Enkripsi dan Dekripsi

Salah satu cara untuk mengamankan informasi atau data penting

ialah dengan melakukan enkripsi pada data tersebut. Enkripsi ialah suatu

proses menyamarkan pesan dengan cara menyembunyikan isi pokoknya,

melakukan perubahan kode dari yang bisa dimengerti menjadi

kode-kode yang tidak bisa dimengerti. Sedangkan dekripsi merupakan algoritma

atau cara yang dapat digunakan untuk membaca informasi yang telah

dienkripsi untuk dapat dibaca kembali. (Schneiner, 1994).

Data asli atau pesan asli disebut plainteks (plaintext) atau teks-jelas

(cleartext). Agar pesan atau data penting tersebut tidak dapat dimengerti

oleh orang lain dan terjaga kerahasiaanya maka pesan tersebut harus

dienkripsi. Data yang telah dienkripsi disebut chiperteks (chipertext) atau

menurut terminologi yaitu enchiper. Proses kriptografi yang mengubah

plainteks menjadi chiperteks disebut enkripsi (encryption) atau

encipherment. Chiperteks harus dapat ditransformasi kembali menjadi

plainteks. Sedangkan proses untuk mengembalikan ciphertext menjadi

plainteksnya disebut dekripsi (decryption) atau decipherment. Proses

(27)

Gambar 1. Proses Enkripsi dan dekripsi

Untuk mengubah teks asli ke bentuk teks kode menggunakan

algoritma kriptografi. Algoritma kriptografi merupakan fungsi yang

digunakan untuk proses enkripsi dan dekripsi. Supaya aman maka algoritma

kriptografi menggunakan kunci. Kunci adalah parameter yang digunakan

untuk transformasi enciphering dan dechipering. Kunci biasanya berupa

string(deretan abjad) atau deretan bilangan. Misalkan dengan menggunakan

kunci K, maka fungsi enkripsi dan dekripsi dapat digambarkan sebagai

berikut :

Algortima kriptografi dibagi menjadi tiga bagian berdasarkan kunci

yang dipakai yaitu : (Ariyus, 2008).

1. Algoritma simetri adalah algoritma yang menggunakan kunci enkripsi

sama dengan kunci dekripsi.

2. Algoritma asimetri adalah algoritma yang menggunakan kunci yang

berbeda untuk enkripsi dan dekripsi. Misalkan kunci enkripsi adalah K1

dan kunci dekripsi yang adalah K2, yang dalam hal ini K1K2.

enkripsi dekripsi

plainteks chipertek plainteks

enkripsi dekripsi

K K

plainteks  chipertek plainteks semula

(28)

Algoritma kriptografinya disebut algoritma asimetri atau algoritma

kunci-publik.

Fungsi Hash

3. Fungsi hash merupakan fungsi matematika yang mengambil masukan

panjang variabel dan mengubahnya ke dalam urutan biner dengan

panjang yang tetap. Fungsi hash adalah fungsi yang memproduksi

output dengan panjang tetap dari input yang berukuran variabel. Output

dari fungsi hash disebut dengan message digest. Fungsi hash memiliki

karakteristik fungsi satu arah karena file asli tidak dapat dibuat dari

message digest.

2.2. Kriptografi Klasik dan Kriptografi Modern 2.2.1. Kriptografi Klasik

Kriptografi klasik merupakan suatu algoritma yang menggunakan satu kunci

untuk mengamankan data (Ariyus, 2008). Dua teknik dasar yang biasa

digunakan pada algoritma klasik adalah sebagai berikut :

1) Teknik subtitusi: Penggantian setiap karakter teks asli dengan karakter

lain.

2) Teknik transposisi (permutasi): dilakukan dengan menggunakan

permutasi karakter.

enkripsi dekripsi

K K1

plainteks  chiperteks plainteks

l

(29)

2.2.2. Kriptografi Modern

Kriptografi modern mempunyai kerumitan yang sangat kompleks.

Kriptografi modern dipicu oleh perkembangan peralatan komputer digital.

Dengan komputer digital, cipher yang lebih kompleks menjadi sangat

mungkin untuk dapat dihasilkan. Tidak seperti kriptografi klasik yang

mengenkripsi karakter per karakter (dengan menggunakan alfabet

tradisional), kriptografi modern beroperasi pada string biner (Rinaldi,

2006).

2.3. Tipe Penyerangan Keamanan Data

Dibawah ini merupakan beberapa macam tipe penyerangan

terhadap pesan yang sudah dienkripsi yaitu :

1. Ciphertext-only attack

Penyerang hanya berbekal ciphertext saja, tanpa adanya pengetahuan

mengenai plaintext. Teknik ini membutuhkan akurasi yang tinggi dalam

melakukan penaksiran mengenai bagaimana sebuah pesan dapat

disandikan. Kriptanalis tidak mempunyai kunci dan teks aslinya,

sedangkan pekerjaan penyerang yaitu mendapatkan teks asli atau

mencari kuncinya terlebih dahulu

2. Known-plaintext attack

Penyerang mengetahui sebagian isi plaintext dari ciphertext yang

(30)

berusaha untuk mencari kunci yang digunakan untuk menghasilkan

ciphertext.

3. Chosen-plaintext attack

Penyerang telah dapat menghasilkan plaintext dari ciphertext yang ada,

namun kuncinya sendiri belum ditemukan. Pada serangan jenis ini

kriptanalis dapat memilih plaintext tertentu untuk dienkripsikan, yaitu

plaintext yang lebih mengarahkan penemuan kunci. Kriptanalis

berusaha untuk menemukan kunci pembangun ciphertext dengan

membandingkan keseluruhan ciphertext dengan plaintext yang ada.

4. Adaptive-chosen-plaintext attack

Penyerang dapat memilih contoh plainteks secara dinamis dan

mengubah pilihannya berdasar dari hasil enkripsi sebelumnya.

5. Chosen-ciphertext attack

Penyerang dapat memilih sebuah chiperteks dan mencoba mendapatkan

plainteks terdekripsi yang berhubungan.

6. Exhaustive attack / brute force attack

Serangan ini adalah mencoba semua kemungkinan kunci. Setiap

plainteks yang diketahui dienkripsi dengan kunci terkaan untuk

dicocokkan dengan cipherteks pasangannya. Penyerang berusaha

mengungkap plainteks atau kunci dengan mencoba semua kemungkinan

kunci (trial and error). Asumsi yang digunakan yaitu kriptanalis

mengetahui algoritma kriptografi dan kriptanalis memiliki sebagian

(31)

7. Teknik analisis frekuensi

Teknik untuk memecahkan cipherteks berdasarkan frekuensi

kemunculan karakter di dalam pesan dan kaitannya dengan frekuensi

kemunculan karakter di dalam alphabet.

2.4. Metode H-Playfair

2.4.1. Pengantar

H-Playfair termasuk dalam polygram cipher sehingga H-Playfair

dikategorikan juga sebagai algoritma kriptografi klasik. H-Playfair

diciptakan sebagai varian dari algoritma kriptografi playfair untuk

mengatasi kelemahan playfair.

Playfair cipher adalah cipher klasik yang ditemukan oleh Sir

Charles Wheatstone dan Baron Lyon Playfair. Kekuatan dari algoritma ini

adalah pada kuncinya yang menyusun bujursangkar 5x5. dengan demikian

kemungkinan kuncinya adalah : 25!=15.511.210.043.330.985.984.000.000.

Untuk melakukan enkripsi, algoritma Playfair mempunyai

beberapa aturan sebagai berikut : (Ariyus, 2008)

1. Aturan enkripsi dan dekripsi mengikuti aturan segiempat dan karakter

yang ada terlebih dahulu dibagi menjadi dua karakter setiap bagiannya.

Bila kedua karakter tidak terletak pada satu baris atau kolom maka

pergerakan karakter dimulai dari huruf kedua secara vertikal menuju

(32)

2. Bila karakter-karakter yang dienkripsi atau dekripsi berada pada kolom

atau baris yang sama dan saling berdekatan maka digunakan prinsip

enkripsi atau dekripsi ke bawah atau ke samping.

3. Jika terdapat karakter kembar untuk penggunaan kode Playfair maka

disisipkan satu karakter di antara karakter tersebut.

Contoh:

Plainteks :

Mahasiswa

Kunci :

Gambar 4. Contoh kunci algoritma Playfair

Plainteks :

Chiperteks :

Namun, algoritma playfair cipher bisa dipecahkan dengan teknik

frekuensi distribusi ganda yaitu teknik yang menghitung frekuensi

kemunculan pasangan dua huruf cipherteks yang kemudian dibandingkan

dengan frekuensi pasangan dua huruf pada suatu bahasa. Disamping itu,

D O A N K E R S B T G L I U M Y Q H P C V W X F Z

ma ha si sw az

(33)

hasil dekripsi playfair dapat menimbulkan ambiguitas karena saat enkripsi

plainteks, semua huruf J pada plainteks diganti terlebih dahulu dengan huruf

I.

Playfair Cipher memiliki banyak kelemahan. Playfair Cipher dapat

diserang dengan menggunakan teknik frekuensi distribusi huruf ganda pada

suatu bahasa. Selain itu, Playfair Cipher tidak menyertakan huruf J sehingga

bisa menimbulkan ambiguitas pada saat dekripsi.

Teknik analisis frekuensi adalah teknik yang membandingkan

distribusi kemunculan huruf pada ciphertext terhadap distribusi kemunculan

huruf pada berbagai teks suatu bahasa. Lanjutannya adalah teknik analisis

frekuensi pasangan huruf. Teknik analisis frekuensi pasangan huruf

membandingkan distribusi dua huruf.

H-Playfair Cipher termasuk ke dalam polygram cipher, salah satu

tipe dari cipher subtitusi. H-Playfair Cipher adalah algoritma kriptografi

yang mampu mengatasi kelemahan algoritma playfair biasa. H-Playfair

Cipher menambah langkah algoritma Playfair biasa ditambah kunci

diperluas menjadi bujur sangkar 6x6. Tambahan langkah memiliki

kemiripan dengan varian vigenere, tetapi fungsi penambahannya berbeda.

Vigenere cipher adalah salah satu jenis kriptografi klasik yang

menggunakan polialphabetik cipher, yaitu mengubah plainteks dengan

kunci tertentu biasanya berupa sebuah kata atau kalimat yang berulang

sepanjang plainteks sehingga didapatkan cipherteks. Dalam vigenere

(34)

secara horisontal dan alphabet normal disusun secara vertikal. (Rinaldi,

2007).

2.4.2. Algoritma H-Playfair

Kunci H-Playfair adalah 26 huruf (a,b,c,d,…,z) ditambah 10 buah

angka (0,1,2,3,...,9) yang disusun didalam bujur sangkar 6x6. Setiap bujur

sangkar berisi huruf yang berbeda satu sama lain.

Contoh kunci :

Gambar 5. Contoh kunci algoritma H-Playfair

Algoritma enkripsi H-Playfair terdiri dari dua tahap. Yang pertama

melakukan algoritma enkripsi sama dengan algoritma enkripsi playfair.

Hanya saja bujursangkar berukuran 6x6 dan huruf j tetap ada. Tahap kedua

melakukan algoritma lanjutan yang memiliki kemiripan dengan varian

algorima kriptografi vigenere dengan fungsi substitusi berdasarkan jarak

antar huruf di dalam bujursangkar 6x6.

Skema enkripsi H-Playfair dapat digambarkan sebagai berikut :

D O A N K E R S B T G L I U M Y Q H P C V W X F Z

(35)

Gambar 6. Skema Enkripsi H-Playfair Algoritma enkripsi H-Playfair adalah sebagai berikut :

1. Pesan yang akan dienkripsi dituliskan dalam pasangan huruf. Jika dalam

pasangan terdapat huruf yang sama, sisipkan huruf-huruf dummy. Jika

terdapat huruf yang belum berpasangan, maka pasangkan huruf tersebut

dengan dummy.

Contoh plainteks:

Enkripsi informatika

Dummy:

D M Y

Plainteks menjadi :

2. Lakukan algoritma seperti algoritma enkripsi playfair untuk

mensubstitusikan semua pasangan huruf plainteks dengan bujursangkar

kunci 6x6.

Hasilnya menjadi :

en kr ip si dm yi nf or ma ti ka

(36)

3. Hasil enkripsi tadi kemudian dikenakan algoritma enkripsi lanjutan.

Huruf hasil enkripsi tadi dipasangkan dengan huruf pertama kunci untuk

digantikan menjadi huruf baru menggunakan fungsi enkripsi jarak.

Fungsi enkripsi jarak ini adalah menghitung jarak antara huruf yang

akan dienkripsi dengan huruf kunci lalu mencari huruf dengan jarak

yang sama terhadap kunci. Jika panjang kunci telah habis, sisanya

diganti dengan huruf-huruf yang akan dienkripsi dari awal.

Contoh :

Plainteks:

Kunci: (dari kotak 6x6)

Hasil:

Untuk huruf b dengan kunci d menghasilkan karakter 3. Jarak karakter d dari karakter b pada kotak adalah 3 petak kanan dan satu petak atas. Sehingga karakter dengan 3 petak kanan dan 1 petak atas dari

karakter d (kunci) adalah 3 (jika melewati batas atas dan kanan maka definisi satu petak atas adalah karakter paling bawah pada kotak 6x6

pada kolom yang sama dan karakter paling kiri pada kotak 6x6 pada

baris yang sama ).

bd ot uh hi kg hg 3b lr ik sm ne

do an k5 er sb t6 gl iu m7 yq hp

(37)

Gambar 7. Enkripsi jarak dengan bujursangkar 6x6 Algoritma dekripsi kebalikan dari enkripsi yakni :

1) Cari karakter-karakter yang berjarak darikarakter kunci sama dengan

karakter kunci ke cipherteks.

Contoh:

Chiperteks 2:

Kunci:

D O A N K

E R S B T

G L I U M

Y Q H P C

V W X F Z

5

6

7

8

9

0 1 2 3 4 J

v2 n2 9h 4d

(38)

Kunci :

Gambar 8. Dekripsi jarak dengan bujursangkar 6x6 Chiperteks 1 :

2) Lalu lakukan algoritma dekripsi playfair

Chiperteks 1 :

Plainteks :

3) Hilangkan dummy (jika ada).

2.4.3. Kekuatan Algoritma Kriptografi H-Playfair

Meskipun H-Playfair termasuk algoritma kriptografi klasik, tetapi

kemampuan H-Playfair setara dengan kemampuan algoritma kriptografi

modern yang memiliki prinsip membingungkan (confusion) dan menyebar

(diffusion).

D  O  N  K 

E R S B T

G  L  I  U  M 

Y  Q  H  P  C 

V W X F Z

6

9

0  1  2  3  4  J 

ge ot uh hi

ge ot uh hi

(39)

Pada tahun 1949, Shannon mengemukakan dua prinsip penyandian

data. Kedua prinsip ini dipakai dalam perancangan cipher blok yang kuat.

Kedua prinsip Shannon tersebut adalah: (Rinaldi, 2006)

1) Confusion. Prinsip ini menyembunyikan hubungan apapun yang ada

antara plainteks, cipherteks, dan kunci. Prinsip confusion akan

membuat kriptanalis tidak dapat mencari pola-pola statistik yang

muncul pada cipherteks. Confusion yang bagus membuat hubungan

statistik antara plainteks, cipherteks, dan kunci menjadi sangat rumit.

2) Diffusion. Prinsip ini menyebarkan pengaruh satu bit plainteks atau

kunci ke sebanyak mungkin cipherteks. Sebagai contoh, pengubahan

kecil pada plainteks sebanyak satu atau dua bit menghasilkan

perubahan pada cipherteks yang tidak dapat diprediksi. Prinsip

diffusion juga menyembunyikan hubungan statistik antara plainteks,

cipherteks, dan kunci dan membuat kriptanalisis menjadi sulit. Untuk

mendapatkan keamanan yang bagus, prinsip confusion dan diffusion

diulang berkali-kali pada sebuah blok tunggal dengan kombinasi yang

berbeda-beda.

Prinsip Shannon yang dipenuhi oleh algoritma H-Playfair adalah :

1. Confusion

H-Playfair menyembunyikan hubungan antara cipherteks dan plainteks.

Tidak seperti caesar cipher yang setiap huruf yang sama diganti menjadi

(40)

yang setiap dua huruf yang sama diganti menjadi dua huruf yang sama

pula. Prinsip confusion dapat terpenuhi karena pada H-Playfair

dilakukan enkripsi dua tahap, kedua tahap saling berbeda.

Tahap pertama seperti tahapan enkripsi playfair yang masih bisa

dipecahkan dengan teknik frekuensi kemunculan pasangan huruf.

Tahap kedua mirip seperti varian vigenere tanpa kunci yang

diulang-ulang untuk substitusi, tetapi penambahan huruf kunci dengan huruf

plainteks kedua (hasil enkripsi tahap pertama H-Playfair) bergantung

pada posisi huruf-huruf pada kotak kunci 6x6. Tahap kedua tidak bisa

dipecahkan dengan metode kasiski karena kunci tidak diulang.

Kelebihan tahap dua H-Playfair dibanding varian vigenere yang tanpa

kunci berulang adalah varian vigenere yang tanpa kunci berulang masih

bisa dipecahkan dengan menerka-nerka panjang kuncinya. Ketika

panjang kunci yang diterka cocok dengan panjang kunci sebenarnya,

plainteks akan dengan mudah didapatkan dengan fungsi substitusi

balikan. Tahap kedua H-Playfair memiliki mekanisme substitusi tidak

biasa sehingga perlu diketahui posisi-posisi huruf kunci pada kotak 6x6

untuk memecahkan cipherteks. Kelihatannya dengan tahap dua saja,

algoritma H-Playfair sudah tangguh. Namun, teknik distribusi

kemunculan setiap 36 huruf mampu memecahkan algoritma ini. Oleh

karena itu, tahap dua perlu dikombinasikan dengan tahap pertama agar

dapat mengatasi kelemahan-kelemahan tadi. Untuk memecahkan

(41)

brute force mencari kunci. Banyaknya cara untuk memecahkan kunci

H-Playfair adalah 36! cara. Jadi, H-H-Playfair memiliki sifat confusion

(membingungkan).

Sebagai bukti, lihat contoh pada langkah H-Playfair tahap dua yang telah

diberikan.

Plainteks :

Chiperteks 1:

Chiperteks 2 :

huruf i tidak selalu berasosiasi dengan huruf yang sama. Begitu pula untuk pasangan huruf, pasangan huruf yang sama belum tentu

menghasilkan pasangan huruf cipherteks yang sama.

2. Diffusion

Pengubahan satu karakter plainteks dapat menyebabkan perubahan

semua karakter cipherteks setelahnya. Pada tahap dua H-Playfair

dilakukan substitusi tanpa kunci berulang lalu substitusi selanjutnya

(untuk plainteks yang lebih panjang dari panjangkunci) berdasarkan

cipherteks hasil tahap pertama sehingga statistik kemunculan

huruf/karakter dan statistik hubungan plainteks dan cipherteks menjadi

sulit diprediksikan.

en kr ip si dm yi nf or ma ti ka

bd ot uh hi kg hg 3b lr ik sm ne

(42)

2.4.4. Kelemahan Algoritma Kriptografi H-Playfair

Selain mempunyai kekuatan, algoritma kriptografi H-Playfair juga

mempunyai kelemahan. Kelemahan algoritma kriptografi H-Playfair

tersebut adalah pembangkitan kuncinya. Panjang kunci ditentukan sebanyak

36 huruf/karakter dengan setiap hurufnya berbeda sehingga pengguna sulit

mencari kunci yang mudah diingat untuk digunakan kembali pada saat

dekripsi. Kelemahan ini bisa saja diatasi dengan pemangkasan huruf-huruf

yang berulang dari kalimat yang mudah diingat. Namun, apabila hasil

pemangkasan kurang dari 36 karakter, maka timbul masalah baru. Bila

karakter sisa diisi secara default, penyerang menjadi lebih mudah

memecahkan cipherteks hasil enkripsi. Metode lain untuk menutupi

kelemahan tadi adalah dengan cara membangkitkan secara acak deret

karakter untuk menempati kotak 6x6 tersisa yang kemudian disimpan

didalam header plainteks. Kunci pun dibatasi tidak boleh lebih dari 36

karakter sehingga kompleksitas algoritma terbatas sebatas itu. Namun, jika

diinginkan, dengan memasukkan kelebihan kunci ke kunci untuk tahapan

kedua, maka masalah ini bisa diselesaikan.

2.4.5. Keamanan Algoritma Kriptografi H-Playfair

Algoritma kriptografi H-Playfair dikatakan relatif aman dibanding

algoritma kriptografi klasik lainnya karena memenuhi sifat-sifat :

1) Algoritma kriptografi H-Playfair relatif kompleks. Pemecahan secara

analitik sulit dilakukan, sulit mencari hubungan statistik antara plainteks

(43)

2) Waktu tercepat yang diperlukan untuk memecahkan.

Pemilihan dalam penggunaan algoritma H-Playfair untuk

mengenkripsi password account email mahasiswa ada beberapa faktor yaitu:

a) Kecepatan eksekusi algoritma tersebut.

Algoritma H-Playfair dapat dengan cepat menyimpan data password

mahasiswa. Dengan menggunakan satu kunci maka dapat secara cepat

mengenkripsi.

b) Algoritma H-Playfair sulit dirusak oleh orang lain.

Walaupun merupakan salah satu algoritma kriptografi klasik namun

keamanannya setara dengan kriptografi modern karena mempunyai sifat

confusion dan diffusion.

c) Kemudahan dalam pengimplementasiannya.

Proses algoritma H-Playfair terdiri hanya 2 tahap yaitu enkripsi playfair

dengan bujursangkar 6x6 dan enkripsi jarak.

2.5. Pengenalan Pemrograman Java

Java adalah bahasa pemrograman berorientasi objek yang

dikembangkan oleh Sun Microsystems sejak tahun 1991. java merupakan

hasil perpaduan sifat dari sejumlah bahasa pemrograman, yaitu C, C++,

Object-C, SmallTalk dan Common LISP namun dirancang agar lebih mudah

dipakai dan platform independent, yaitu dapat dijalankan di berbagai jenis

sistem operasi dan arsitektur komputer. Selain itu, Java juga dilengkapi

(44)

Program Java bersifat tidak bergantung pada platform yaitu Java

dapat dijalankan pada sebarang komputer dan bahkan pada sebarang sistem

operasi. Ketidakbergantungan terhadap platform sering dinyatakan dengan

istilah portabilitas. Tingkat portabilitas Java tidak hanya sebatas pada

program sumber (source code), melainkan juga pada tingkat kode biner yang

disebut bytecode.

Kode yang disebut bytecode dapat dijalankan pada berbagai sistem

operasi karena kode ini berbeda dengan kode mesin. Kode mesin sangat

bergantung pada platform, sedangkan bytecode dapat dimengerti oleh semua

platform yang telah dilengkapi dengan interpreter Java. Java sering

dikatakan bersifat netral terhadap arsitektur komputer.

Java juga merupakan bahasa pemrograman berorientasi objek, Java

menggunakan kelas untuk membentuk objek. Sejumlah kelas sudah tersedia

sehingga dapat digunakan dengan mudah dan bahkan dapat

mengembangkannya lebih jauh melalui konsep pewarisan (inheritance).

Pewarisan adalah salah satu sifat yang ada pada bahasa pemrograman

berorientasi objek, yang memungkinkan sifat-sifat suatu objek diturunkan

dengan mudah ke objek lain.

2.6. MySQL

MySQL (My Structure Query Language) merupakan suatu

(45)

open source sehingga dapat berjalan baik pada platform windows dan linux.

MySQL juga merupakan database bersifat jaringan sehingga dapat

digunakan Multi User sebagai user. Sistem manajement database dapat

dilakukan penambahan, pengaksesan, dan pemrosesan data yang diakses di

komputer. MySQL menggunakan bahasa Query standar yang dimiliki SQL

yaitu bahasa permintaan terstruktur yang telah distandarkan oleh semua

pengaksesan data seperti Oracle, Postgres SQL, SQL Server dan lain-lain.

MySQL dapat digunakan untuk melakukan pembuatan database, tabel,

view. Keuntungan menggunakan MySQL karena MySQL sangat tanguh,

cepat dan mudah digunakan.

Kemampuan yang dimiliki database MySQL adalah :

1. Mendukung fungsi-fungsi yang ada dalam SQL.

2. Mendukung ODBC.

3. Dapat digunakan pada database yang besar.

4. Dapat digunakan dalam berbagai sistem informasi.

5. Mudah dalam penggunaan dan sangat cepat.

6. Dapat digunakan dan dimanfaatkan dalam banyak CPU sekaligus.

7. Dapat dikoneksikan dengan berbagai bahasa pemrograman, sebagai

(46)

BAB 3

ANALISA DAN PERANCANGAN SISTEM

3.1. Analisa Sistem

3.1.1. Gambaran Umum Sistem

Sistem account email mahasiswa merupakan sistem yang

mempunyai tujuan memberi keamanan password dengan proses enkripsi

selain itu juga terdapat 3 tujuan yaitu :

1. Membuat account email baru atau registrasi.

2. Mengubah password.

3. Melakukan reset password apabila terjadi lupa password.

Adapun skenario dari masing-masing tujuan dari Sistem account

email mahasiswa adalah sebagai berikut:

1. Skenario melakukan registrasi account email mahasiswa di Universitas

Sanata Dharma yaitu:

(1) Mahasiswa datang ke BAPSI Universitas Sanata Dharma.

(2) Mahasiswa melakukan registrasi email mahasiswa dengan

mengisikan data dengan mengunakan Sistem Pembuatan Account

Email pada komputer yang sudah disediakan oleh BAPSI dan

mahasiswa mengisi form Formulir pendaftaran email Universitas

(47)

(3) Setelah melakukan registrasi mahasiswa mendapatkan username

dan password. Username dan password tersebut juga akan

dikirimkan ke alternatif email telah yang diisikan dan ke email

admin dan mahasiswa mendapatkan print out dari hasil registrasi

berupa username dan password.

2. Jika mahasiswa telah melakukan registrasi dan akan mengubah

password yaitu:

(1) Mahasiswa datang ke BAPSI Universitas Sanata Dharma.

(2) Mahasiswa melakukan ubah password dengan mengunakan Sistem

Pembuatan Account Email pada komputer yang sudah disediakan

oleh BAPSI.

(3) Mahasiswa juga mengubah password dengan menggunakan

user@student.usd.ac.id.

(4) Username dan password baru juga akan dikirim ke alternative

email dan ke email admin dan mahasiswa mendapatkan print out

username dan password yang baru.

3. Jika mahasiswa lupa password maka :

(1) Mahasiswa datang ke BAPSI Universitas Sanata Dharma.

(2) Dengan mengunakan Sistem Pembuatan Account Email,

mahasiswa mengisikan data dan apabila cocok maka mahasiswa

akan mendapatkan password baru dan akan dikirimkan ke alternatif

email dan ke email admin dan mahasiswa mendapat print out

(48)

3.1.2. Gambaran Yang Terlibat Dalam Sistem

Ada dua aktor yang terlibat dalam Sistem Pembuatan Account Email

Mahasiswa yaitu:

1. Mahasiswa

Mahasiswa yang akan membuat account email pada

user@student.usd.ac.id.

2. Admin

Admin bertugas mengedit data pada database user@student.usd.ac.id

karena sistem ini belum tersambung pada database

user@student.usd.ac.id.

3.1.3. Requirement Analysis 3.1.3.1. Use Case Diagram

Use case diagram proses pembuatan account email mahasiswa tersebut

(49)

Sistem Account Email Mahasiswa

Mahasiswa

Registrasi

Ubah Password

Lupa Password

Login

Lihat data <<depend on>>

Administrator

Reset Password

Hapus Data

Gambar 9. Use Case Diagram

3.1.3.2. Use Case Narative Tabel 1 Penjelasan Use Case Login

Nama Use Case Login

Aktor Mahasiswa, Admin

Deskripsi Otentifikasi user untuk masuk ke sistem

Urutan jenis kegiatan 1. User memilih username, apakah mahasiswa atau admin.

2. User mahasiswa : tidak perlu memasukkan

password, langsung masuk ke sistem.

(50)

- Jika password admin sesuai maka admin

akan masuk ke halaman sesuai dengan

jabatannya.

- Jika password admin tidak sesuai maka

admin diminta untuk melakukan proses login

kembali.

Tabel 2 Penjelasan Use Case Registrasi

Nama Use Case Registrasi

Aktor Mahasiswa

Deskripsi Registrasi account email mahasiswa

Urutan jenis kegiatan 1. Mahasiswa memasukkan data registrasi berupa data NIM, nama panggilan, telepon, alternative

email, pertanyaan dan jawaban. Setelah

mahasiswa memasukkan NIM, maka Nama

lengkap dan Alamat asal akan muncul secara

otmoatis mengambil dari tabel Mahasiswa. Jika

mahasiswa sudah pernah melakukan registrasi

atau data sudah ada maka data tidak dapat

disimpan.

2. Data yang berhasil disimpan maka akan masuk

ke form registrasi berikutnya, mahasiswa akan

diberi username dan password untuk dapat login

ke user@student.usd.ac.id.

3. Data password yang diberikan kepada

mahasiswa kemudian dienkripsi dan disimpan

dalam database.

4. Data username dan password yang telah

diberikan harus diingat dan akan dikirimkan

(51)

dimasukkan oleh mahasiswa dan dikirimkan ke

email admin.

5. Mahasiswa mendapat print out hasil registrasi.

Tabel 3 Penjelasan Use Case Ubah Password

Nama Use Case Ubah Password

Aktor Mahasiswa

Deskripsi Mengubah password

Urutan jenis kegiatan 1. Mahasiswa memasukkan NIM, password lama, password baru dan konfirmasi password baru.

2. Sistem akan melakukan pengecekan apakah data

NIM dan password lama cocok, jika cocok maka

dilakukan pengecekan apakah password baru

dan konfirmasi password baru sama. Jika sama

data password akan diubah.

3. Sistem akan memberi konfirmasi apakah data

berhasil diubah atau tidak.

4. Data username dan password yang telah diubah

akan dikirimkan secara otomatis ke alternative

email yang telah dimasukkan oleh mahasiswa

dan email admin.

Tabel 4 Penjelasan Use Case Lupa Password

Nama Use Case Lupa Password

Aktor Mahasiswa

Deskripsi Mendapatkan Password baru apabila lupa password

Urutan jenis kegiatan 1. Mahasiswa memasukkan NIM kemudian akan muncul Email dan Alternative email.

(52)

memasukkan jawaban pada pertanyaan yang

dipilih pada waktu registrasi.

3. Jika jawaban dari pertanyaan tersebut cocok :

-mahasiswa diberi password baru.

4. Jika jawaban dari pertanyaan tersebut tidak

cocok :

-Password akan direset oleh admin

5. Password baru tersebut juga akan dikirimkan

pada alternative email dan email admin.

Tabel 5 Penjelasan Use Case Lihat Data

Nama Use Case Lihat Data

Aktor Admin

Deskripsi Melihat Data Registrasi mahasiswa

Urutan jenis kegiatan 1. Melihat data mahasiswa yang telah melakukan registrasi, dan untuk mengubah data pada

database sistem email yang dimiliki oleh

BAPSI.

Tabel 6 Penjelasan Use Case Reset Password

Nama Use Case Reset Password

Aktor Admin

Deskripsi Mereset Password Mahasiswa yang lupa data bantu pada lupa password.

Urutan jenis kegiatan 1. Admin memasukkan NIM mahasiswa yang lupa Password dan lupa data bantu.

2. Akan muncul nama, email dan alternative email

mahasiswa. Jika alternative mahasiswa telah

(53)

3. Jika data sudah benar maka klik button Reset.

4. Maka data password baru akan dikirim ke

alternative email dan akan di print.

Tabel 7 Penjelasan Use Case Hapus Data

Nama Use Case Hapus Data

Aktor Admin

Deskripsi Menghapus data registrasi bagi mahasiswa yang sudah tidak mempunyai hak email mahasiswa.

Urutan jenis kegiatan 1. Memasukkan data NIM mahasiswa yang akan dihapus data registrasi email mahasiswa.

2. Muncul data nama dan email.

3. Klik button Hapus.

3.1.4. Pemodelan dan Analisis Data

Sistem registrasi dan enkripsi, dekripsi password mahasiswa dapat

dimodelkan dengan menggunakan DFD sebagai berikut:

1. Diagram Konteks / Level 0

Data mahasiswa

Account email (Username dan Password)

0

Sistem Account Email Mahasiswa

Mahasiswa Admin

Username, password login Data registrasi mahasiswa

(54)

2. Diagram Berjenjang 0 Sistem Account Email Mahasiswa 2 Meregistrasi data mahasiswa 3 Mengubah password 2.1p Membuat account baru 3.2p Mengenkripsi password baru 2.2p Mengenkripsi password 3.1p Mendekripsi password lama 4 Lupa password 4.1p Membuat password baru 4.2p Mengenkripsi Password 1 Login 5 Lihat data account mahasiswa 6 Reset Password 7 Hapus Data 6.1p Membuat password baru 6.2p Mengenkripsi Password

Gambar 11. Diagram Berjenjang 3. Diagram Alir Data Proses 1

Gambar 12. Diagram Alir Data Proses 1 4. Diagram Alir Data Level 2 Proses 2

Gambar 13. Diagram Alir Data Level 2 Proses 2 5. Diagram Alir Data Level 2 Proses 3

Mahasiswa

Password lama & password baru

Password baru 3.2p Mengenkripsi password baru 3.1p Mendekripsi password lama 1 account_email Chipertext password baru Validitasi password lama Konfirmasi ubah password

(55)

6. Diagram Alir Data Level 2 Proses 4

Gambar 15. Diagram Alir Data Level 2 Proses 4 7. Diagram Alir Data Level 2 Proses 6

Gambar 16. Diagram Alir Data Level 2 Proses 6

3.2. Perancangan Database

3.2.1. Entity Relational Diagram

Dalam Sistem Account Email Mahasiswa mempunyai 2 entitas yaitu:

Gambar 17. Entity Relational Diagram

Entitas account_email tersebut mempunyai primary key NIM dan

mempunyai atribut Nama, Nama_panggil, Alamat_asal, Alternative_email,

(56)

mengisikan NIM, Nama, Alamat, Alternative_email, Telepon, Pertanyaan

dan Jawaban yang akan disimpan dalam tabel account_email tersebut. Dan

sistem akan membuatkan/me-generate username dan password, dan akan

disimpan dalam tabel account_email tersebut. Hasil hasil Username dan

Password akan dikirim ke alternative email yang dimiliki oleh mahasiswa.

Entitas mahasiswa mempunyai primary key NIM dan mempunyai

atribut Nama dan Alamat_asal.

3.2.2. Tabel-tabel Yang Diperlukan 3.2.2.1. Tabel account_email

Tabel ini berisi data registrasi account email mahasiswa.

Tabel 8 Penjelasan Tabel Account_email

Nama Field Tipe Data Panjang Keterangan

Pk NIM Varchar 12 NIM mahasiswa

Nama Varchar 80 Nama lengkap

Nama_Panggil Varchar 20 Nama panggilan untuk

username.

Alamat_asal Varchar 100 Alamat

Alternative_email Varchar 80 Email yang dimiliki

Telepon Varchar 12 No Telepon/HP

Username Varchar 50 Username yang diberikan

untuk login ke

user@student.usd.ac.id

Password Varchar 30 Password yang diberikan.

Pertanyaan Varchar 80 Pertanyaan yang dipilih

(57)

Jawaban Varchar 40 Jawaban dari pertanyaan yang

dipilih.

3.2.2.2. Tabel mahasiswa

Tabel mahasiswa adalah tabel yang menampung semua NIM dan

Nama mahasiswa.

Tabel 9 Penjelasan Tabel Mahasiswa

Nama Field Tipe Data Panjang Keterangan

Pk NIM Varchar 12 NIM mahasiswa

Nama Varchar 80 Nama lengkap

(58)

3.2.3. Diagram Alir end Start Password lama sesuai Dekripsi password lama Enkripsi password baru ya tidak peringatan Masukkan data

NIM, pass lama, pass baru end Start Membuat Password baru Enkripsi password baru Masukkan NIM Masukkan Jawaban dari Pertanyaan end Start

NIM belum pernah registrasi Membuat account Enkripsi password ya tidak peringatan Masukkan data registrasi

Registrasi Email Ubah Password Lupa Password

Data jawaban sesuai Peringatan reset password oleh admin tidak ya Print : Username dan Password

Print : Username dan Password,

kirim email

Print : Username dan Password,

kirim email

(59)
(60)
(61)

3.2.4. Desain Input Output Halaman Login

Gambar 21. Desain Halaman Login

Halaman login merupakan halaman pertama untuk masuk ke

Sistem account email mahasiswa. User mahasiswa tidak perlu memasukkan

password untuk masuk ke Sistem namun admin harus masuk menggunakan

(62)

3.2.4.1. User Mahasiswa

1. Halaman Menu

Menu Menu

Sistem Account Email Mahasiswa

Registrasi

Ubah Password

Lupa Password

Petunjuk

Keluar

Gambar 22. Rancangan Halaman Menu Mahasiswa

Halaman ini merupakan menu Mahasiswa, pada halaman Menu

Mahasiswa terdapat 5 button, yaitu button registrasi, button Ubah

Password, button Lupa Password, button Petunjuk dan button Keluar.

Registrasi yaitu apabila mahasiswa akan membuat account baru. Ubah

password apabila mahasiswa sudah membuat account dan ingin

mengubah password. Lupa Password apabila mahasiswa lupa mengingat

(63)

2. Halaman Registrasi

Registrasi Registrasi

Sistem Account Email Mahasiswa

Registrasi

Nama : NIM :

Nama Panggilan :

Telepon / HP :

Alternative Email :

Pertanyaan :

Jawaban :

055314031

Bhernadet Megaria Jl. Kebon Jeruk 15

081327999888

nugroho.maya@yahoo.co.id

Elisa

Siapa nama ibu kandung Anda?

Buat Account Baru Batal

Alamat Asal :

Maya

Gambar 23. Rancangan Halaman Registrasi User Mahasiswa

Halaman ini adalah halaman registrasi. Mahasiswa mengisikan NIM,

Nama, Nama Panggilan, Alamat_asal, Alternative_email, Telepon

,Username, Password, Pertanyaan, dan Jawaban kemudian mengklik

Buat Account Baru maka halaman Registrasi(langkah 2) pada gambar 24

(64)

3. Halaman Registrasi(langkah 2) Registrasi Registrasi Sistem Account Email Mahasiswa Registrasi Nama : NIM : Alamat :

Telepon / HP :

Alternative Email :

Pertanyaan :

Jawaban :

055314031

Bhernadet Megaria

Jl. Kebon Jeruk 15

081327999888

maya.nugroho@gmail.com

Siapa nama ibu kandung Anda?

Elisa

Username : maya87@student.usd.ac.id

Password : rgcin112

OK

Nama Panggilan : Maya

maya87@student.usd.ac.id

Gambar 24. Rancangan Halaman Registrasi(langkah 2)

Halaman Registrasi(langkah 2) merupakan hasil registrasi, form yang

akan muncul setelah menekan Buat Account Baru. Data username dan

password harus diingat oleh user untuk dapat login ke email mahasiswa

di http://mail.student.usd.ac.id. Data username dan password juga

dikirimkan ke alamat alternative_email dan mahasiswa akan

(65)

4. Halaman Ubah Password

Halaman ini digunakan apabila mahasiswa ingin mengubah password.

Dengan mengisikan password lama, password baru dan konfirmasi

password baru. Apabila user membuat/mengisikan password baru maka

dapat diketahui kekuatan sandi yang baru. Data password baru juga

dikirimkan ke alamat alternative_email dan akan mahasiswa juga akan

mendapatkan print password baru.

Gambar 25. Rancangan Halaman Ubah Password

5. Halaman Lupa Password

Halaman ini terbuka apabila mengklik lupa password, apabila

mahasiswa lupa akan passwordnya. Mahasiswa mengisikan NIM

(66)

Nama mahasiswa tidak dapat di ubah namun alternative email dapat

diubah apabila akan mengganti dengan email baru. Mahasiswa

mengisikan Halaman lupa password, apabila data cocok maka akan

diberi pertanyaan saat registrasi dan mahasiswa mengisikan jawaban.

Apabila jawaban yang diberikan benar maka mahasiswa akan diberi

password baru.

Lupa Password Lupa Password

Sistem Account Email Mahasiswa

Lupa Password

LANJUT BATAL

NIM :

Email :

Alternative email :

055314031

maya87@student.usd.ac.id

maya.nugroho@gmail.com

(67)

Lupa Password Lupa Password

Sistem Account Email Mahasiswa

Lupa Password

LANJUT KEMBALI

Jawaban : Elisa

Siapa nama ibu kandung Anda?

Gambar 27. Rancangan Halaman Lupa Password

(68)

3.2.4.2. User Admin

1. Form menu admin

Gambar 29. Rancangan Halaman Menu Admin

Pada halaman menu Admin terdapat 5 button yaitu Lihat Data, Reset

Password, Hapus Password, Petunjuk dan Keluar.

2. Halaman lihat data

Halaman lihat data berfungsi apabila admin akan melihat data

mahasiswa yang telah melakukan registrasi. Tidak semua data registrasi

mahasiswa ditampilkan hanya data NIM, Nama, Nama_Panggil,

(69)

Admin Admin

Sistem Account Email Mahasiswa

Lihat Data

KEMBALI

Gambar 30. Rancangan Halaman Lihat Data

3. Halaman Reset Password

Halaman reset password berfungsi apabila ada mahasiswa yang lupa

passwordnya dan lupa jawaban dari pertanyaan yang dipilih saat

registrasi. Sehingga admin dapat mereset password.

(70)

Admin akan mencocokkan data NIM mahasiswa dengan nama dan

alternatif email yang dimiliki, alternative email dapat diganti apabila

akan mengubah dengan yang baru. Setelah cocok maka klik Reset

Password dan password baru akan dikirim ke alternative email

mahasiswa dan email admin, juga mahasiswa mendapatkan print out

username dan passsword baru.

(71)

4. Halaman Hapus Data

Gambar 33. Rancangan Halaman Hapus Data

Halaman hapus data berfungsi untuk menghapus data mahasiswa yang

sudah tidak mempunyai hak untuk Email Mahasiswa. Admin

(72)

4.1. Implementasi

Implementasi dan hasil merupakan tahap pengkodean dari

perancangan bab III dan hasil analisa implementasi sistem. Berikut ini akan

dijelaskan lebih lanjut mengenai implementasi dari ”Enkripsi Dan Dekripsi

Account Email Mahasiswa Dengan Metode H-Playfair Menggunakan Java

Dan MySql. Studi Kasus di BAPSI USD”.

4.1.1. Karakteristik Sistem

Sistem Account Email Mahasiswa merupakan sistem yang

digunakan untuk melakukan registrasi email mahasiswa, membantu apabila

lupa password dan ubah password. Untuk meningkatkan keamanan sistem

ini mengenkripsi data password account email mahasiswa dengan

menggunakan algoritma H-Playfair. Database pada sistem ini belum

tersambung oleh database pada Sistem Email Mahasiswa Sanata Dharma

sehingga dalam menyimpan password masih dilakukan oleh admin.

4.1.2. Kebutuhan Sistem

4.1.2.1. Kebutuhan Perangkat Keras

Perangkat keras yang digunakan untuk membangun Sistem

Account Email Mahasiswa ini adalah:

(73)

-Memori DDR2 1526 MB

-Hardisk 120 GB

4.1.2.2. Kebutuhan Perangkat Lunak

Perangkat lunak yang digunakan untuk membangun Sistem

Account Email Mahasiswa ini adalah:

-Sistem Operasi : Wndows Vista™ Home Basic

-IDE : Netbeans 6.0

-Database tool : SQLyog Community-Edition-MySQL GUI v5.14

4.1.3. Implementasi Enkripsi dan Dekripsi Menggunakan Algoritma H-Playfair

Semua data password Account Mahasiswa tersimpan di database

setelah dienkripsi dengan algoritma H-Playfair. Seperti yang telah

dijelaskan pada BAB 2, algoritma H-Playfair menggunakan kunci 26 huruf

(a,b,c,d,…,z) ditambah 10 buah angka (0,1,2,3,...,9) yang disusun didalam

bujur sangkar 6x6. Setiap bujur sangkar berisi huruf yang berbeda satu sama

lain. Berikut ini merupakan potongan listing program untuk membuat kunci.

public HPlayfair(String dataKunci) { this.dataKunci = dataKunci;

char[] dataKunciArray = dataKunci.toCharArray(); kunci = new UtilList[6];

int indexArray = 0;

for (int i = 0; i < kunci.length; i++) { UtilList temp = new UtilList(i); for (int j = 0; j < 6; j++) {

(74)

kunci[i] = temp;

System.out.println(""); }

}

Untuk membentuk kunci menggunakan senarai, dengan method insert.

Berikut ini merupakan listing method insert:

public void insert(String nilai) { if (getAwal() == null) {

setAwal(akhir = new UtilListNode(nilai)); } else {

UtilListNode node = new UtilListNode(nilai); node.setIndex(akhir.getIndex() + 1);

node.setSebelum(getAkhir()); node.setSesudah(getAwal()); getAkhir().setSesudah(node); getAwal().setSebelum(node); setAkhir(node); } }

4.1.3.1. Implementasi Enkripsi Password Menggunakan Algoritma H-Playfair

Algoritma enkripsi H-Playfair adalah sebagai berikut :

1. Password yang akan dienkripsi dituliskan dalam pasangan huruf. Jika

dalam pasangan terdapat huruf yang sama, sisipkan huruf-huruf dummy.

Jika terdapat huruf yang belum berpasangan, maka pasangkan huruf

tersebut dengan dummy.

public String[] pecahKata(String kata) { String[] hasilPecah = null;

char[] kataCharArray = kata.toCharArray();

String[] kataArray = new String[kataCharArray.length]; for (int i = 0; i < kataCharArray.length; i++) { kataArray[i] = String.valueOf(kataCharArray[i]); }

hasilPecah = new String[100]; int indexArray = 0;

(75)

for (int i = 0; i < kataArray.length; i++) { if (i + 1 < kataArray.length) {

if (kataArray[i].equals(kataArray[i + 1])) { tempKata += kataArray[i] + DUMMY;

} else {

tempKata += kataArray[i] + kataArray[i + 1]; i++;

} } else {

tempKata += kataArray[i]; }

if (tempKata.length() % 2 == 1) { tempKata += DUMMY;

} }

System.out.println("\nKaTA BAGI 2 = " + tempKata); kataCharArray = tempKata.toCharArray();

kataArray = new String[kataCharArray.length]; for (int i = 0; i <

kataCharArray.length; i++) {

kataArray[i] = String.valueOf(kataCharArray[i]); }

for (int i = 0; i <

kataArray.length; i++) { if (i + 1 < kataArray.length) {

if (kataArray[i].equals(kataArray[i + 1])) { tempKata += kataArray[i] + DUMMY;

} else {

tempKata += kataArray[i] + kataArray[i + 1]; i++;

} } else {

tempKata += kataArray[i] + DUMMY; }

hasilPecah[indexArray] = tempKata; tempKata = "";

indexArray++; }

return hasilPecah; }

Password yang akan di enkripsi disimpan dalam variabel kataArray

dibagi menjadi pasangan-pasangan karakter. Pada program tersebut

dilakukan pengecekan jika dalam pasangan karakter terdapat huruf yang

sama maka disisipkan huruf dummy yaitu huruf ‘xyz’, jika tidak ada

(76)

jika terdapat karakter yang tidak mendapatkan pasangan huruf maka

dipasangkan dengan huruf dummy. Hasil dari pengecekan disimpan pada

variable hasilPecah.

2. Aturan enkripsi dan dekripsi mengikuti aturan segiempat dan karakter

yang ada terlebih dahulu dibagi menjadi dua karakter setiap bagiannya.

Bila kedua karakter tidak terletak pada satu baris atau kolom maka

pergerakan karakter dimulai dari huruf kedua secara vertikal menuju

karakter teks-kode yang pertama.

UtilList listKar1 = kunci[indexKar1[0]]; UtilList listKar2 = kunci[indexKar2[0]];

UtilListNode nodeKar1 = listKar1.cariNilai(listKar1.getAwal(), indexKar2[1]);

UtilListNode nodeKar2 = listKar2.cariNilai(listKar2.getAwal(), indexKar1[1]);

System.out.println("Encript karakter 1 = " + nodeKar1.getNilai());

System.out.println("Encript karakter 2 = " + nodeKar2.getNilai());

String[] enkripsiPlayfair = {nodeKar1.getNilai(), nodeKar2.getNilai()};

System.out.println(nodeKar1.getNilai() + nodeKar2.getNilai()); return enkripsiPlayfair;

3. Bila karakter-karakter yang dienkripsi atau dekripsi berada pada kolom

atau baris yang sama dan saling berdekatan maka digunakan prinsip

enkripsi atau dekripsi ke bawah atau ke samping.

int[] indexKar1 = getIndex(kar1); int[] indexKar2 = getIndex(kar2); if (indexKar1[0] == indexKar2[0]) { int kolom1 = indexKar1[1] + 1; int kolom2 = indexKar2[1] + 1; if (kolom1 > 6) {

kolom1 -= 6; }

(77)

}

UtilList listKar1 = kunci[indexKar1[0]]; UtilList listKar2 = kunci[indexKar2[0]];

UtilListNode nodeKar1 =

listKar1.cariNilai(listKar1.getAwal(), kolom2);

UtilListNode nodeKar2 =

listKar2.cariNilai(listKar2.getAwal(), kolom1);

System.out.println("Encript karakter 1 = " + nodeKar1.getNilai());

System.out.println("Encript karakter 2 = " + nodeKar2.getNilai());

String[] enkripsiPlayfair = {nodeKar1.getNilai(), nodeKar2.getNilai()};

System.out.println(nodeKar1.getNilai() +

nodeKar2.getNilai());

Gambar

Gambar 5. Contoh kunci algoritma H-Playfair
Tabel 3 Penjelasan Use Case Ubah Password
Gambar 12. Diagram Alir Data Proses 1
Gambar 18. Diagram alir Registrasi Email, Ubah Password dan Lupa
+7

Referensi

Dokumen terkait

Pengelolaan Wilayah Pesisir dan Pulau-Pulau Kecil terpadu merupakan pendekatan yang memberikan arah bagi pemanfaatan Sumber Daya Pesisir dan Pulau-Pulau Kecil secara

Perhitungan Rank Rasa Marshmallow dengan Penambahan Gelatin Kulit Ikan

Pembentukan ATP ini berlangsung melalui jalur Embden Meyerhof yang melibatkan sejumlah enzim seperti glukosa fosfat isomerase dan piruvat kinase, sebagian kecil

Rincian tugas, fungsi, susunan organisasi dan tata kerja Sekretariat Dewan Nasional ditetapkan lebih lanjut oleh Ketua Dewan Nasional setelah mendapat persetujuan tertulis

Eksperimen ini bertujuan untuk melihat pengaruh dari peningkatan clockspeed yang didapat setelah dilakuakan Overclock terhadapap kinerja sistem, Pada sistem komputer yang

Hasil penelitian menunjukkan bahwa Total Asset TurnOver secara parsial berpengaruh positif tetapi tidak signifikan terhadap Return On Asset (ROA), Debt to Equity Ratio

Pada tahun ini, semasa saya mengetuai Bulan Bahasa sebagai pengerusi buat pertama kali, saya teruja dan terasa bersemangat kerana bakat, idea dan usaha yang saya lihat

Bagi pelamar untuk menjadi tenaga pendidik yang berlatar belakang professional dari kalangan birokrat/praktisi minimal berpendidikan S2 linier S1 dan S2 dan