72
IMPLEMENTASI ALGORITMA KRIPTOGRAFI ELGAMAL UNTUK ENKRIPSI DAN DEKRIPSI PESAN TUGAS AKHIR Diajukan untuk memenuhi salah satu syarat kelulusan Program Diploma Tiga (D.III) SITI NURHASANAH NUGRAHA NIM : 12153697 Program Studi Manajemen Informatika AMIK BSI Tasikmalaya Tasikmalaya 2018

TUGAS AKHIR - Bina Sarana Informatika · KATA PENGANTAR Alhamdulillah, Dengan mengucapkan puji syukur kehadirat Allah SWT, yang telah melimpahkan rahmat dan karunia-Nya, sehingga

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

IMPLEMENTASI ALGORITMA KRIPTOGRAFI ELGAMAL

UNTUK ENKRIPSI DAN DEKRIPSI PESAN

TUGAS AKHIR

Diajukan untuk memenuhi salah satu syarat kelulusan Program Diploma Tiga (D.III)

SITI NURHASANAH NUGRAHA

NIM : 12153697

Program Studi Manajemen Informatika

AMIK BSI Tasikmalaya

Tasikmalaya

2018

vi

KATA PENGANTAR

Alhamdulillah, Dengan mengucapkan puji syukur kehadirat Allah SWT,

yang telah melimpahkan rahmat dan karunia-Nya, sehingga pada akhirnya penulis

dapat menyelesaikan tugas ini dengan baik. Dimana tugas akhir ini penulis sajikan

dalam bentuk buku yang sederhana. Adapun judul tugas akhir, yang penulis

ambil adalah, “Implementasi Algoritma Kriptografi ElGamal Untuk Enkripsi

dan Dekripsi Pesan”.

Tujuan penulisan tugas akhir ini dibuat sebagai salah satu syarat kelulusan

program Diploma III AMIK BSI Tasikmalaya. Sebagai bahan penulisan diambil

berdasarkan hasil penelitian (eksperimen), observasi dan beberapa sumber literatur

yang mendukung penulisan ini. Penulis menyadari bahwa tanpa bimbingan dan

dorongan dari semua pihak, maka penulisan tugas akhir ini tidak akan lancar.

Oleh karena itu pada kesempatan ini, izinkanlah penulis menyampaikan ucapan

terima kasih kepada:

1. Direktur Akademi Manajemen Informatika BSI Tasikmalaya.

2. Ketua Program Studi Manajemen Informatika AMIK BSI Tasikmalaya.

3. Ibu Ai Ilah Warnilah, S.T, M.Kom selaku Dosen Pembimbing yang telah

memberikan bimbingan dan pengarahan dalam penyelesaian Tugas Akhir.

4. Seluruh Staff / Karyawan / Dosen dilingkungan AMIK BSI Tasikmalaya.

5. Orang tua dan keluarga tercinta, yang telah memberikan dukungan moral

maupun spiritual.

6. Rekan-rekan Mahasiswa kelas 12.6B.17 Manajemen Informatika BSI

Tasikmalaya yang telah memberikan saran dan masukan kepada penulis.

vii

7. Sahabat-sahabat Mahasiswa Beapres dan DOTS yang selalu memberikan do’a

dan dukungaannya.

Serta semua pihak yang terlalu banyak untuk disebut satu persatu

sehingga terwujudnya penulisan ini. Penulis menyadari bahwa penulisan tugas akhir

ini masih jauh sekali dari sempurna, untuk itu penulis mohon kritik dan saran yang

bersifat membangun demi kesempurnaan penulisan dimasa yang akan datang.

Akhir kata semoga tugas akhir ini dapat berguna bagi penulis khususnya dan

bagi para pembaca yang berminat pada umumnya.

Tasikmalaya, 04 Agustus 2018

Penulis

Siti Nurhasanah Nugraha

viii

ABSTRAK

Siti Nurhasanah Nugraha (12153697), Implementasi Algoritma Kriptografi

ElGamal Untk Enkripsi Dan Dekripsi Pesan

Pesatnya perkembangan teknologi informasi telah menjadikan informasi sebagai

kebutuhan pokok bagi setiap orang. Seiring berkembangnya teknologi, keamanan

terhadap kerahasiaan akan data dan informasi yang dipertukarkan akan semakin

meningkat. Saat ini keamanan dalam pertukaran informasi masih kurang terjaga.

Permasalahan yang terjadi pada proses pertukaran informasi yang bersifat rahasia,

seringkali infromasi tersebut tersebar luas karena adanya penyadapan, pecurian, dan

pemalsuan informasi, yang akan menyebabkan kerugian bagi pemilik informasi.

Untuk memecahkan masalah tersebut, penulis mencoba membuat suatu aplikasi

sederhana untuk implementasi algoritma kriptografi ElGamal pada proses enkripsi

pengiriman pesan dan proses dekripsi penerimaan pesan. Implementasi algoritma

kriptografi ElGamal adalah salahsatu cara efektif dalam pertukaran informasi agar

tetap terjaga kerahasiaannya. Berdasarkan hasil penelitian yang telah dilakukan

diperoleh kesimpulan bahwa algoritma ElGamal sangat baik untuk mengatasi

masalah manajemen distribusi kunci. Keamanan algoritma ini terletak pada sulitnya

menghitung logaritma diskrit. Hal ini lah yang menjadi alasan penulis

mengimplementasikan algoritma ElGamal untuk menjaga kerahasiaan informasi.

Adapun hasil dari penelitian ini adalah terciptanya sebuah aplikasi untuk proses

enkripsi pesan asli menjadi pesan yang tidak dapat terbaca agar pesan yang akan

dikirm tetap terjaga kerahasiaannya dan mengembalikannya dengan proses dekripsi

untuk proses penerimaan atau pembacaan pesan oleh penerima.

Kata Kunci: Algoritma Kriptografi, ElGamal, Pengamanan Informasi,

Enkripsi, Dekripsi

ix

ABSTRACT

Siti Nurhasanah Nugraha (12153697), The Implementation of Algorithm

ElGamal Cryptographic Algorithm for Encryption and Decryption Message.

The rapid development of information technology has made information as a main

need for everyone. In Developing technology, the security of confidentiality of the

data and information which is exchanged will increase. Today , security in

information exchange is still poorly maintained. The problems that occur in the

process of exchanging information that are confidential, the information is

widespread because of tapping, theft, and falsification of information, which will

cause harm to the information owner. The purpose of this final task was to try to

make a simple application to solve the problem. The implementation of ElGamal

cryptographic algorithm for message sending encryption and message decryption

process. The method used in the writing of these final task was the implementation

of ElGamal cryptographic algorithm which was an effective way to exchange

information to maintain its confidentiality. Based on the results of the research that

had been done, it could be concluded that the ElGamal algorithm was very good

for solving key distribution management problems. The security of this algorithm

lies in the difficulty of calculating discrete logarithms. These was the reason why

the author implements the ElGamal algorithm to maintain the confidentiality of

information. The result of research was the creation of an application for the

encryption process of the original message into an unreadable message so that the

message to be sent was kept confidential and returns it with the decryption process

for receiving or reading the message by the recipient.

Keywords: Cryptographic Algorithm, ElGamal, Message Security, Encryption,

Decryption

x

DAFTAR ISI Halaman

Lembar Judul Tugas Akhir ................................................................... i

Lembar Pernyataan Keaslian Tugas Akhir ...................................................... ii

Lembar Pernyataan Persetujuan Publikasi Karya Ilmiah ................................ iii

Lembar Persetujuan dan Pengesahan Tugas Akhir .......................................... iv

Lembar Konsultasi Tugas Akhir ..................................................................... v

Kata Pengantar ................................................................................................ vi

Abstrak ............................................................................................................ viii

Daftar Isi .......................................................................................................... x

Daftar Simbol ................................................................................................... xi

Daftar Gambar .................................................................................................. xii

Daftar Tabel........................................................................................... xiii

Daftar Lampiran ............................................................................................... xiv

BAB I PENDAHULUAN .............................................................................. 1

1.1. Latar Belakang ............................................................................... 1

1.2. Tujuan dan Manfaat ................................................................... 2

1.3. Metode Penelitian ....................................................................... 3

1.4. Ruang Lingkup ........................................................................... 8

BAB II LANDASAN TEORI ....................................................................... 9

2.1. Konsep Dasar Web .................................................................... 9

2.2. Teori Pendukung ........................................................................ 19

BAB III PEMBAHASAN .................................................................................. 26

3.1. Analisis Kebutuhan .................................................................... 26

3.2. Rancangan Dokumen ................................................................. 34

3.3. Rancangan Perangkat Lunak ...................................................... 36

3.4. Spesifikasi File ........................................................................... 37

3.5. Pengkodean ................................................................................ 39

3.6. Struktur Navigasi ....................................................................... 41

3.7. Spesifikasi Sistem Komputer ..................................................... 42

3.8. Implementasi .............................................................................. 42

3.9. Pengujian Unit ........................................................................... 47

BAB IV PENUTUP ....................................................................................... 52

4.1. Kesimpulan ................................................................................ 52

4.2. Saran .......................................................................................... 52

DAFTAR PUSTAKA .................................................................................. 54

DAFTAR RIWAYAT HIDUP .................................................................... 56

LAMPIRAN-LAMPIRAN .......................................................................... 57

xi

DAFTAR SIMBOL

Entitas (Entity)

Entitas ialah suatu objek yang dapat dibedakan

dengan objek lainnya. Entitas berfungsi untuk

memberikan identitas pada entitas yang memiliki

label dan nama. Entitas memiliki bentuk persegi

panjang.

Relasi/Hubungan Antar Entitas (Relationship)

Relasi ialah hubungan yang terjadi antara 1 entitas

atau lebih yang tidak mempunyai fisik tetapi hanya

sebagai konseptual. Dan berfungsi untuk mengetahui

jenis hubungan yang ada antara 2 file. Relisi memiliki

bentuk belah ketupat.

Atribut

Atribut ialah karakteristik dari entitas atau relasi yang

menyediakan penjelasan detil tentang entitas atau

relasi tersebut. Dan berfungsi untuk memperjelas

atribut yang dimiliki oleh sebuah entitas.

Alur

Alur memiliki fungsi untuk menghubungkan atribut

dengan entitas dan entitas dengan relasi.

xii

DAFTAR GAMBAR Halaman

Gambar I.1. Tahapan Penyelesaian Algoritma ElGamal ..................... 6

Gambar I.2. Langkah-langkah Penelitian ............................................. 6

Gambar II.3. Gambar Model Waterfall .............................................. 13

Gambar II.4. Struktur Navigasi Linier ............................................... 19

Gambar II.5. Struktur Navigasi Non-Linier ......................................... 20

Gambar II.6. Struktur Navigasi Hirarki ............................................... 20

Gambar II.7. Struktur Navigasi Campuran .......................................... 21

Gambar III.8. Entity Relationship Diagram ........................................ 36

Gambar III.9. Logical Record Structure .............................................. 37

Gambar III.10. Struktur Navigasi ...................................................... 41

Gambar III.11. Tampilan Halaman Login ............................................ 42

Gambar III.12. Tampilan Halaman Daftar User .................................... 43

Gambar III.13. Tampilan Halaman Utama ........................................... 43

Gambar III.14. Tampilan Halaman Enkripsi ........................................ 44

Gambar III.15. Tampilan Halaman Hasil Enkripsi ................................. 45

Gambar III.16. Tampilan Halaman Hasil Enkripsi ................................. 45

Gambar III.17. Tampilan Halaman Dekripsi ........................................ 46

Gambar III.18. Tampilan Halaman Hasil Dekripsi ................................. 47

xiii

DAFTAR TABEL

Halaman

Tabel III.1. Tabel Kode ASCII .............................................................. 27

Tabel III.2. Hasil Enkripsi ElGamal ...................................................... 31

Tabel III.3. Hasil Dekripsi ElGamal ...................................................... 34

Tabel III.4. Spesifikasi File User ........................................................... 38

Tabel III.5. Spesifikasi File Enkripsi ..................................................... 38

Tabel III.6. Spesifikasi File Denkripsi ................................................... 39

Tabel III.7. Hasil Black Box Testing Halaman Pengujian Login User.... 47

Tabel III.8. Hasil Black Box Testing Halaman Pengujian Enkripsi ....... 49

Tabel III.9. Hasil Black Box Testing Halaman Pengujian Dekripsi ........ 51

xiv

DAFTAR LAMPIRAN

Halaman

Lampiran A1. Plaintext Enkripsi ........................................................... 57

Lampiran A2. Ciphertext Enkripsi .......................................................... 57

Lampiran B1. Ciphertext Dekripsi .......................................................... 58

Lampiran B2. Plaintext Dekripsi ............................................................ 58

1

BAB I

PENDAHULUAN

1.1. Latar Belakang

Perkembangan teknologi saat ini berkembang semakin pesat, yang

memungkinkan manusia dapat berinteraksi dengan saling bertukar data dan

informasi. Pesatnya perkembangan teknologi informasi telah menjadikan informasi

sebagai kebutuhan pokok bagi setiap orang. Informasi juga merupakan hal yang

vital bagi setiap orang, karena informasi dapat membantu setiap orang untuk terus

berkembang. Informasi dan data yang dipertukarkan tersebut tentunya harus

disertai dengan sekuritas (keamanan). Seiring berkembangnya teknologi, keamanan

terhadap kerahasiaan akan data dan informasi yang dipertukarkan akan semakin

meningkat.

Masalah yang sering terjadi pada proses pengiriman ataupun mendapatkan

informasi adalah apabila informasi itu bersifat rahasia. Jika infromasi tersebut

tersebar luas karena adanya penyadapan, pecurian, dan pemalsuan informasi, akan

menyebabkan kerugian bagi pemilik informasi. Salah catu cara untuk

mengamankan data atau informasi dari tindak kejahatan tersebut adalah

menggunakan konsep kriptografi.

Algoritma Kriptografi merupakan seni dan ilmu untuk menjaga

kerahasiaan pesan dengan cara menyamarkan data atau informasi menjadi bentuk

sandi yang tidak mempunyai makna. Kriptografi adalah suatu ilmu yang

mempelajari teknik-teknik matematika yang berhubungan dengan aspek keamana

informasi, integritas suatu data, serta autentikasi data. Algoritma kripografi yang

2

akan digunakan untuk menyelesaikan masalah pengamanan informasi atau data

yaitu dengan menggunakan metode kriptografi ElGamal.

Algoritma ElGamal merupakan algoritma dalam kriptografi yang

termasuk dalam kategori algoritma asimetris (kunci enkripsi dan dekripsinya

berbeda). Algoritma Elgamal dipilih dalam teknik kriptografi untuk pengamanan

informasi atau data ini karena algoritma elgamal dalam mengamankan pesan

rahasia membutuhkan pembentukan kunci dengan menggunakan bilangan prima

dan pemecahan masalahnya menggunakan logaritma diskrit yang cukup sulit untuk

diselesaikan. Keamanan algoritma ini terletak pada sulitnya menghitung logaritma

diskrit. Algoritma ini disebut algoritma diskrit karena nilainya berhingga dan

bergantung pada bilangan prima yang digunakan. Karena bilangan yang digunakan

merupakan bilangan prima, maka sangat sulit bahkan tidak mungkin menurunkan

kunci private dari kunci publik yang diketahui walaupun serangan dilakukan

dengan menggunakan sumberdaya komputer yang sangat besar. Kunci yang

dimiliki algoritma elgamal ada dua jenis yaitu kunci publik yang bersifat umum dan

kunci private yang bersifat rahasia. Dengan algoritma elgamal diharapkan akan

terciptanya sebuah sistem yang optimal untuk pengamanan data dan informasi.

1.2. Tujuan dan Manfaat

Tujuan dari penulisan tugas akhir ini adalah :

1. Mengimplementasikan teknik kriptografi untuk pengamanan informasi dengan

metode algoritma elgamal.

2. Terciptanya sebuah sistem yang optimal untuk pengamanan data dan informasi

yang dimiliki.

3

3. Proses pembuatan kunci dengan menggunakan bilangan prima yang akan

sangat sulit untuk diselesaikan, sehingga data dan informasi yang dimiliki akan

terhindar dari ancaman kejahatan.

4. Dapat menerapkan teknik kriptografi elgamal pada setiap proses pertukaran

informasi untuk menjaga agar informasi yang disampaikan tetap terjaga

keamanan dan kerahasiaannya.

Sedangkan manfaat dari penulisan tugas akhir sebagai berikut :

1. Manfaat untuk penulis

Sebagai salah satu syarat kelulusan Program Diploma Tiga (D.III) di Akademi

Manajemen Informatika dan Komputer Bina Sarana Informatika Tasikmalaya

(AMIK BSI Tasikmalaya).

2. Manfaat untuk pembaca

Sebagai tambahan informasi dan pengetahuan mengenai metode pengamanan

database khususnya metode kriptografi elgamal. Selain itu dapat dijadikan

bahan kajian dan referensi bagi pihak lain yang akan membuat aplikasi serupa.

1.3. Metode Penelitian

Metode yang digunakan penulis dalam penyusunan tugas akhir untuk

penyelesaian masalah pengamanan data dan informasi meliputi metode

pengembangan perangkat lunak, teknik pengumpulan data, dan metode kriptografi

elgamal.

4

A. Metode Pengembangan Perangkat Lunak

Metode yang digunakan pada pengembangan perangkat lunak dalam

menyusun Tugas Akhir ini menggunakan model waterfall. Tahapan-tahapan dalam

metode waterfall diantaranya :

1. Analisis Kebutuhan Perangkat Lunak

Pada tahap ini dilakukan analisa terhadap kebutuhan yang diperlukan untuk

pengembangan aplikasi.

2. Desain

Pada tahap ini dibuat design interface atau tampilan antarmuka untuk aplikasi

yang akan dibuat.

3. Pembuatan Kode Program

Desian yang telah dibuat pada tahap desain kemudian diubah bentuknya ke

dalam bahasa pemrograman melalui proses coding. Tahapan ini merupakan

tahapan implementasi dari desain yang telah dibuat.

4. Pengujian

Pada tahapan ini penulis melakukan testing atau pengujian terhadap program

yang telah dibuat. Pengujian ini dilakukan agar software terhindar dari error

dan hasil yang diperoleh sesuai dengan keinginan.

5. Pendukung atau Pemeliharaan

Tidak menutup kemungkinan sebuah perangkat lunak mengalami perubahan

ketika sudah dikirimkan ke user. Perubahan bisa terjadi karena adanya

kesalahan yang muncul dan tidak terdeteksi saat pengujian atau perangkat

lunak harus beradaptasi dengan lingkungan baru. Tahap pendukung atau

pemeliharaan dapat mengulangi proses pengembangan mulai dari analisis

5

spesifikasi untuk perubahan perangkat lunak yang sudah ada, tetapi tidak untuk

membuat perangkat lunak baru.

B. Teknik Pengumpulan Data

Dalam penulisan Tugas Akhir ini penulis menggunakan teknik

pengumpulan data sebagai berikut:

1. Observasi

Penulis mengumpulkan data dan informasi dalam pembangunan aplikasi ini

dengan melakukan analisis terhadap aplikasi lain yang serupa dengan aplikasi

yang akan dibuat.

2. Studi Pustaka

Penulis mengumpulkan data dan informasi dengan menggunakan buku-buku

referensi yang berhubungan dengan objek penulisan dan artikel-artikel online

terpercaya. Serta membaca buku panduan Tugas Akhir sehingga tidak

menyimpang dari ketentuan yang ada.

C. Metode Kriptografi ElGamal

Metode algoritma yang digunakan untuk pemecahan masalah pengamanan

database yaitu metode kriptografi elgamal. Langkah – langkah penyelesaian

metode kriptografi elgamal adalah sebagai berikut:

1. Pilih sembarang bilangan prima p, dengan syarat p

2. Pilih 2 bilangan acak, g dan x dimana g < p dan 1 ≤ x ≤ p-2

3. Pembentukan pasangan kunci, yang terdiri dari kunci publik dan kunci private

4. User memasukkan plaintext yang akan dienkrip

5. Proses enkripsi menggunakan kunci publik

6. Hasil proses enkripsi berupa chipertext

6

7. Untuk memperoleh plaintext kembali, dilakukan dekripsi terhadap plaintext

menggunakan kunci private

Gambar I.1. Tahapan Penyelesaian Algoritma ElGamal

D. Langkah-langkah Penelitian

Gambar I.2. Langkah-langkah Penelitian

1. Studi Awal

Pada tahapan ini penulis merumuskan latar belakang, tujuan dan permasalahan

yang akan dibahas dengan melakukan beberapa hal sebagai berikut :

a. Mempelajari masalah

b. Menentukan ruang lingkup masalah

c. Mempelajari beberapa literatur

d. Analisa data

Pilih Bilangan

Prima p

Pilih Bilangan

Acak g dan x

Pembentukan

Pasangan Kunci

Proses

Enkripsi

Proses

Dekripsi

Kunci Private Kunci Publik

Plaintext

Akhir Chipertext Plaintext

Awal

Studi Awal

Pengolahan data

dengan Kriptografi

ElGamal

Implementasi

Sistem

Analisa Hasil Kesimpulan

7

2. Pengolahan Data Dengan Kriptografi ElGamal

Pada tahap pengolahan data penulis melakukan identifikasi masalah yang

sering terjadi terhadap keamanan data, kemudian mendeskripsikan masalah-

masalah tersebut untuk memperoleh solusinya. Tahap selanjutnya melakukan

analisa masalah menggunakan teknik kriptografi dengan metode ElGamal

untuk mendapatkan hasil sebagai tujaun yang akan dicapai.

3. Implementasi Sistem

Tahapan ini dilakukan untuk memudahkan dalam pembuktian hasil analisa

yang telah dilakukan. Pada tahapan ini dibutuhkan sistem yang akan dibangun

dengan menggunakan bahasa pemrograman PHP.

4. Analisa Hasil

Pada tahap ini dilakukan analisa berdasarkan pengolahan data dan

implementasi dari sistem yang telah dibangun untuk memeperoleh hasil yang

dapat digunakan untuk proses enkripsi dan deskripsi dalam hal pengamanan

data dan informasi. Langkah analisa yang dilakukan adalah :

a. Melakukan perhitungan algoritma secara manual untuk proses enkripsi dan

deskripsi pada pengamanan data dan informasi.

b. Melakukan perhitungan algoritma proses enkripsi dan deskripsi dengan

sistem yang telah dibangun.

c. Melakukan perbandingan dari hasil perhitungan algoritma secara manual

dan perhitungan menggunakan sistem yang telah dibangun untuk

mengetahui apakah hasil yang diperoleh dari pengujian tersebut telah sesuai.

Jika sudah sesuai maka dapat dijadikan aplikasi dalam proses enkripsi dan

deskripsi untuk pengamanan data dan informasi.

8

5. Kesimpulan

Tahapan ini dilakukan untuk menarik kesimpulan dari seluruh tahapan

penelitian yang telah dilakukan.

1.4. Ruang Lingkup

Dalam penulisan laporan tugas akhir ini, pembahasan akan dibatasi dalam

ruang lingkup sebagai berikut :

1. Membuat suatu aplikasi berbasis website untuk enkripsi dan dekripsi yang dapat

digunakan untuk pengamanan informasi.

2. Proses enkripsi dan dekripsi hanya dilakukan pada informasi atau data berupa

pesan atau kalimat.

3. Proses enkripsi dan dekripsi yang dilakukan hanya menggunakan metode

algoritma kriptografi elgamal.

4. Output dari proses enkripsi dan dekripsi berupa kata atau kalimat.

9

BAB II

LANDASAN TEORI

2.1.Konsep Dasar Web

2.1.1. Kriptografi

Menurut Bruce Scheiner dalam (L, 2017), “Secara Etimologi kata kriptografi

(Cryptography) berasal dari bahasa Yunani, yaitu kryptos yang artinya yang

tersembunyi dan graphein yang artinya tulisan. Awal muka kriptografi

dipahami sebagai ilmu tentang menyembunyikan pesan, tetapi seiring

perkembangan zaman hingga saat ini pengertian kriptografi berkembang

menjadi ilmu tentang teknik matematis yang digunakan untuk menyelesaikan

persoalan keamanan berupa privasi dan otentikasi.

Kriptografi adalah suatu ilmu yang mempelajari bagaimana cara menjaga

agar data atau pesan tetap aman saat dikirimkan, dari pengiriman ke penerima tanpa

mengalami gangguan dari pihak ketiga. Menurut Bruce Scheiner dalam bukunya

“Applied Cryptography”, kriptografi adalah ilmu pengetahuan dan seni menjaga

pesan-pesan agar tetap aman (secure).

2.1.2. Website

Menurut Yuhefizar dalam (Prayitno & Safitri, 2015) “website adalah

keseluruhan halaman-halaman web yang terdapat dari sebuah domain yang

mengandung informasi”.

Secara garis besar, website bisa digolongkan menjadi tiga jenis yaitu :

a. Website Statis

Pengertian website statis adalah suatu halaman website yang tampilannya tidak

berubah-ubah (statis). Jika pemilik website ingin mengubah tampilan maka

10

harus dilakukan secara manual, yaitu dengan mengedit kode-kode struktur

website.

Jenis website statis umumnya memiliki setidaknya 5 halaman utama untuk

menjelaskan informasi mengenai website tersebut. Selain itu, website statis

umumnya tidak memungkinkan terjadinya interaksi langsung antara pemilik/

pengelola website dan pengunjung di website tersebut.

Contoh website statis:

1. Website perusahaan (company profile)

2. Search Engine (Google, Bing)

b. Website Dinamis

Website dinamis adalah jenis website yang dirancang khusus untuk dapat

menampilkan update konten sesering mungkin. Website dinamis dapat

disesuaikan dengan kebutuhan, baik dari sisi tampilannya maupun dari sisi

fiturnya.

Website dinamis umumnya dirancang dengan konsep visual dan kemampuan

interaksi tinggi dengan penggunanya. Beberapa fitur yang bisa ditambahkan

pada website dinamis yaitu, kolom komentar, fitur live chatting, formulir

pendaftaran, dan lain-lain.

Beberapa contoh website dinamis:

1. Blog/ website pribadi

2. Situs E-commerce

3. Website Portal

4. Situs Berita

5. Katalog online

11

6. Dan lain-lain

c. Website Interaktif

Pengertian website interaktif adalah jenis website yang digunakan untuk tujuan

berinteraksi dengan orang lain secara online. Umumnya pengguna website

interaktif adalah komunitas atau pengguna internet aktif.

Beberapa contoh website interaktif:

1. Situs Media sosial

2. Situs forum online

3. Blog

2.1.3. Bahasa Pemrograman

Menurut Setiawan 2014:1 dalam jurnal (Sukmaindyarana & Sidik, 2017)

mengemukakan bahwa ”Bahasa pemrograman adalah teknik komando/intruksi

standar untuk memerintah komputer yang merupakan suatu himpunan dari aturan

sintaks dan sistematik yang dipakai untuk mendefinisikan program komputer”.

Salah satu bahasa pemrograman yang digunakan adalah PHP Hypertext

Preprocessor (PHP). Menurut (Hidayatullah & Khairul Kawistara, 2017) dalam

buku Pemrograman Web:

PHP adalah suatu bahasa scripting khususnya digunakan untuk web

development. Karena sifatnya yang server side scripting, maka untuk menjalankan

PHP harus menggunakan web server. Mempunyai banyak kelebihan menjadikan

alasan utama mengapa PHP lebih dipilih sebagai basis umum dalam membuat

sebuah web.

12

2.1.4. Basis Data

Menurut (Indrajani, 2015) “basis data adalah kumpulan data yang saling

berhubungan secara logis dan didesain untuk mendapatkan data yang dibutuhkan

oleh suatu organisasi. Database Management System (DBMS) adalah aplikasi yang

dipakai untuk mengelola basis data.

Menurut (Bunafit, 2013), MySQL adalah software atau program database

server. MySQL menjadi DBMS yang sering di-bundling dengan web server

sehingga proses instalasinya menjadi lebih mudah. Kelebihannya yaitu gratis,

handal, selalu di-update dan banyak forum yang memfasilitasi para pengguna jika

memiliki kendala.

2.1.5. Model Waterfall

Menurut (A.S & Shalahudin, 2014) menjelaskan tentang metode

pengembangan sistem yaitu waterfall. Metode air terjun (waterfall) sering juga

disebut model sekuensial linier (sequential linear) atau alur hidup klasik (classic

life cycle). Model air terjun menyediakan pendekatan alur hidup terurut mulai dari

analisis, desain, pengodean, pengujian, dan pemeliharaan.

Berikut adalah gambar model air terjun:

13

Sumber : Rosa A.S dan Shalahudin (2014:28)

Gambar II.3. Gambar Model Waterfall.

a. Analisis Kebutuhan Perangkat Lunak

Tahap analisis dilakukan secara intensif untuk menspesifikasikan kebutuhan

sistem agar dapat dipahami sistem seperti apa yang dibutuhkan oleh user.

b. Desain

Tahap desain adalah proses multi langkah yang fokus pada desain pembuatan

program sistem termasuk struktur data, arsitektur sistem, representasi

antarmuka, dan prosedur pengodean. Tahap ini mentranslasi kebutuhan sistem

dari tahap analisis kebutuhan ke representasi desain agar dapat

diimplementasikan menjadi program pada tahap selanjutnya.

c. Pengkodean

Pada tahap pengodean, desain harus ditranslasikan ke dalam program sistem.

Hasil dari tahap ini adalah program komputer sesuai dengan desain yang telah

dibuat pada tahap desain.

14

d. Pengujian

Tahap pengujian fokus pada sistem dari segi logika dan fungsional dan

memastikan bahwa semua bagian sudah diuji. Hal ini dilakukan untuk

meminimalisir kesalahan (error) dan memastikan keluaran yang dihasilkan

sesuai dengan yang diinginkan.

e. Pemeliharaan

Tidak menutup kemungkinan sebuah sistem mengalami perubahan ketika sudah

dikiriman ke user. Perubahan bisa terjadi karena adanya kesalahan yang muncul

dan tidak terdeteksi saat pengujian atau sistem harus beradaptasi dengan

lingkungan baru. Tahap pemeliharaan dapat mengulangi proses pengembangan

mulai dari analisis spesifikasi untuk perubahan sistem yang sudah ada, tapi tidak

untuk sistem baru.

2.1.6. Keamanan Data

Keamanan adalah keadaan bebas dari bahaya. Istilah ini dapat digunakan

dengan hubungan kepada kejahatan, dan segala bentuk kecelakaan. Keamanan

merupakan topik yang luas termasuk keamanan nasional terhadap serangan teroris,

keamanan komputer terhadap hacker, keamanan rumah terhadap maling dan

penyelusup lainnya, keamanan finansial terhadap kehancuran ekonomi dan banyak

situasi berhubungan lainnya. Host/komputer yang terhubung ke network,

mempunyai ancaman keamanan lebih besar dari pada host yang tidak terhubung

kemana-mana. Dengan mengendalikan network security, risiko tersebut dapat

dikurangi. (Ariyus, 2013)

15

Keamanan data tidak hanya bergantung dari keamanan storage dimana data

tersebut berada, melainkan proses transfer data dari suatu media ke media lainnya.

Banyak orang yang tidak menyadari ketika mereka melakukan pengiriman data, ada

peluang untuk mmencuri atau mengubah informasi dari data yang akan dikirim

tersebut, sehingga data tersebut tidak asli lagi. Oleh sebab itu, kemanan dalam

pengiriman data juga menjadi hal sangat vital apalagi jika didalamnya terdapat

informasi yang sifatnya sangat penting dan rahasia. (Ariyus, 2013)

2.1.7. Enkripsi dan Dekripsi

(Indrawati, Hartatik, & Utami, 2013) Enkripsi yaitu suatu proses pengaman

suatu data yang disembunyikan atau proses konversi data (plaintext) menjadi

bentuk yang tidak dapat dibaca atau dimengerti. Enkripsi telah digunakan untuk

mengamankan komunikasi di berbagai negara, namun hanya organisasi-organisasi

tertentu dan individu yang memiliki kepentingan yang sangat mendesak akan

kerahasiaan yang menggunakan enkripsi.

Sedangkan dekripsi yaitu kebalikan dari proses enkripsi yaitu proses konversi

data yang sudha dienkripsi (ciphertext) kembali menjadi data aslinya (Original

Plaintext) sehingga dapat dibaca atau dimengerti kembali. Pesan yang akan

dienkripsi disebut plaintext yang dimisalkan plaintext (P), proses enkripsi

dimisalkan enkripsi (E), proses dekripsi dimisalkan dekripsi (D), dan pesan yang

sudah dienkripsi disebut ciphertext yang dimisalkan ciphertext (C).

16

2.1.8. Kriptografi ElGamal

Algoritma ElGamal ditemukan pada tahun 1985 oleh ilmuwan Mesir yaitu

Taher ElGamal. Algoritma ElGamal merupakan algoritma berdasarkan konsep

kunci publik. Algoritma ini pada umumnya digunakan untuk digital signature,

namun kemudian dimodifikasi sehingga bisa digunakan untuk enkripsi dan

dekripsi.

Algoritma kriptografi kunci publik ElGamal merupakan algoritma blok

chipper yaitu algoritma yang melakukan proses enkripsi pada blok-blok plainteks

yang kemudian menghasilkan blok-blok chipertext, yang nantinya blok-blok

chipertext tersebut akan didekripsi kembali dan hasilnya kemudian digabungkan

menjadi plainteks semula.

Keamanan algoritma ElGamal terletak pada kesulitan perhitungan logaritma

diskrit pada modulo prima yang besar, sehingga upaya untuk menyelesaikan

masalah logaritma ini menjadi sulit untuk dipecahkan.

Algoritma ini memiliki kelebihan yaitu pembangkitan kunci yang

menggunakan logaritma diskrit dan metode enkripsi dekripsi yang menggunakan

proses komputasi yang besar sehingga hasil enkripsinya berukuran dua kali dari

ukuran semula. Kekurangan algoritma ini adalah membutuhkan resource yang

besar karena chipertext yang dihasilkan dua kali panjang plaintext serta

membutuhkan processor yang mampu untuk melakukan komputasi yang besar

untuk perhitungan logaritma perpangkatan besar.

Untuk proses dekripsi, algoritma ini membutuhkan waktu yang lebih lama

karena kompleksitas proses dekripsinya yang rumit. Dibutuhkan dua kali komputasi

karena ukuran chiperteks yang lebih besar dibandingkan plainteksnya.

17

A. Besar – Besaran dalam Algoritma ElGamal

Besar-besaran yang digunakan didalam algoritma ElGamal adalah sebagai

berikut :

1. Bilangan prima, p (bersifat public atau tidak rahasia)

2. Bilangan acak, g (dimana g < p dan bersifat public atau tidak rahasia)

3. Bilangan acak, x (dimana x < p dan bersifat private atau rahasia)

4. Bilangan acak, k (dimana k < p dan bersifat private atau rahasia)

5. m merupakan plainteks dan bersifat private/rahasia

6. a dan b merupakan pasangan chiperteks hasil enkripsi bersifat private atau tidak

rahasia

B. Proses Pembentukan kunci Algoritma ElGamal

Proses pembentukan kunci merupakan proses penentuan suatu bilangan yang

kemudian akan digunakan sebagai kunci pada proses enkripsi dan dekripsi pesan.

Kunci untuk enkripsi dibangkitkan dari nilai p, g, y sedangkan kunci untuk dekripsi

terdiri dari nilai x, p. Masing-masing nilai mempunyai persyaratan yang harus

dipenuhi.

Langkah-langkah dalam pembuatan kunci adalah sebagai berikut :

1. Pilih sembarang bilangan prima p, dengan syarat p > 255.

2. Pilih bilangan acak g dengan syarat g < p.

3. Pilih bilangan acak x dengan syarat 1 ≤ x ≤ p-2.

4. Hitung y = g^x mod p.

5. Kunci public nya adalah y, g, p sedangkan kunci private nya adalah x. nilai y, g,

dan p tidak dirahasiakan sedangkan nilai x harus dirahasiakan karena merupakan

kunci privat untuk mendekripsi plainteks

18

C. Proses Enkripsi Algoritma ElGamal

Proses enkripsi merupakan proses mengubah pesan asli (plaintext) menjadi

pesan rahasia (chipertext). Pada proses ini digunakan kunci public (p, g, y).

Langkah-langkah dalam mengenkripsi pesan adalah sebagai berikut :

1. Potong plaintext menjadi blok-blok m1, m2, m3, m4, …, nilai setiap blok di

dalam selang [0, p – 1].

2. Ubah nilai blok pesan ke dalam nilai ASCII.

3. Pilih bilangan acak k, dengan syarat 1 = k = p – 1 sebanyak m.

4. Setiap blok m dienkripsi dengan rumus sebagai berikut :

a = gki mod p.

b = yki . m mod p.

5. Susun chipertext dengan urutan a1, b1, a2, b2, …, an, bn.

Pasangan a dan b adalah chipertext untuk blok pesan m. Hasil yang didapat dari

proses enkripsi berupa pesan rahasia (chipertext).

D. Proses Dekripsi Algoritma ElGamal

Proses dekripsi merupakan proses mengubah pesan rahasia (chipertext)

menjadi pesan asli (plaintext). Pada proses ini digunakan kunci pribadi (x, p).

Langkah-langkah dalam mendekripsi pesan adalah sebagai berikut :

1. Hitung plaintext m dengan persamaan rumus sebagai berikut : mi = bi.ai^p-1-x

mod p.

2. Hitung plaintext m dengan persamaan rumus sebagai berikut : mi = bi.ai^p-1-x

mod p.

3. Nilai mi yang didapat dalam bentuk ASCII kemudian diubah menjadi plainteks.

4. Susun plaintext dengan urutan m1, m2, m3, …, mn.

19

5. Maka Hasil yang didapat dari proses dekripsi berupa pesan asli (plaintext).

2.2. Teori Pendukung

2.2.1. Struktur Navigasi

Menurut Ardiansyah (2016:61) dalam jurnal (Imaniawan & Wati, 2017)

“Struktur navigasi dapat diartikan sebagai alur dari suatu program yang

menggambarkan rancangan hubungan antara area yang berbeda sehingga

memudahkan proses pengorganisasian seluruh elemen-elemen website”.

Ada 4 (empat) macam bentuk dasar dari struktur navigasi yang biasa

digunakan dalam proses pembuatan aplikasi, yaitu:

1. Struktur Navigasi Linier

Struktur navigasi linier hanya mempunyai satu rangkaian cerita yang berurut,

yang menampilkan satu demi satu tampilan layar secara berurut menurut urutannya.

Tampilan yang dapat ditampilkan pada struktur jenis ini adalah satu halaman

sebelumnya atau satu halaman sesuadahnya, tidak dapat dua halaman sebelumnya

atau dua halaman sesuadhnya.

Sumber : (Rusdi dan Mashabi, 2017)

Gambar II.4. Struktur Navigasi Linier

2. Struktur Navigasi Non-Linier

Struktur navigasi non-linier atau struktur tidak berurut merupakan

pengembangan dari struktur navigasi linier. Pada struktur ini diperkenankan

membuat navigasi bercabang. Percabangan yang dibuat pada struktur nonlinier ini

berbeda dengan percabangan pada struktur hirarki, karena pada percabnagan

20

nonlinier ini berbeda dengan percabangan pada struktur hirarki, karena pada

percabangan nonlinier ini walaupun terdapat percabangan, tetapi tiap-tiap tampilan

mempunyai kedudukan yang sama yaitu tidak ada Master Page dan Slave Page

Sumber : (Rusdi dan Mashabi, 2017)

Gambar II.5. Struktur Navigasi Non-Linier

3. Struktur Navigasi Hirarki

Struktur navigasi hirarki biasa disebut struktur bercabang, merupakan suatu

struktur yang mengandalkan percabangan untuk menampilkan data berdasarkan

kriteria tertentu. Tampilan pada menu pertama akan disebut sebagai Master Page

(halaman utama pertama), halaman utama ini mempunyai halaman percabangan

yang disebut Slave Page (halaman pendukung). Jika salah satu halaman pendukung

dipilih atau diaktifkan, maka tampilan tersebut akan bernama Master Page (halaman

utama kedua), dan seterusnya. Pada struktur navigasi ini tidak diperkenankan

adanya tampilan secara linier.

Sumber : (Rusdi dan Mashabi, 2017)

Gambar II.6. Struktur Navigasi Hirarki

21

4. Struktur Navigasi Campuran

Struktur navigasi campuran atau bebas merupakan gabungan dari ketiga

struktursebelumnya yaitu linier, non-linier dan hirarki. Struktur navigasi ini juga

biasa disebut dengan struktur navigasi bebas. Struktur navigasi ini banyak

digunakan dalam pembuatan website karena struktur ini dapat digunakan dalam

pembuatan website sehingga dapat memberikan ke-interaksian yang lebih tinggi.

Sumber : (Rusdi dan Mashabi, 2017)

Gambar II.7. Struktur Navigasi Campuran

2.2.2. Entity Relationship Diagram (ERD)

Menurut Rosa dan Shalahuddin dalam jurnal (Imaniawan & Wati, 2017)

mengemukakan bahwa “Entity Relationship Diagram (ERD) adalah pemodelan

basis data, ERD dikembangkan berdasarkan teori himpunan dalam bidang

matematika”. Pemetaan kardinalitas menyatakan jumlah entitas dimana entitas lain

dapat dihubungkan ke entitas tersebut melalui sebuah himpunan relasi. Untuk satu

himpunan relasi biner R antara himpunan entitas A dan B, pemetaan kaardinalitas

hars salah satu dari berikut:

22

1. One to one, sebuah entitas pada A berhubungan dengan paling banyak satu

entitas pada B dan sebuah entitas pada B berhubungan dengan paling satu entitas

pada A.

2. One to many, sebuah entitas pada A berhubungan dengan nol atau lebih entitas

B. Sebuah entitas pada B dapat dihubungkan dengan paling banyak satu entitas

pada A.

3. Many to one, sebuah entitas pada A berhubungan dengan paing banyak satu

entitas pada B. Sebuah entitas pada B dapat dihubungkan dengan nol atau lebih

entitas pada A.

4. Many to many, sebuah entitas pada A berhubungan dengan nol atau lebih entitas

pada B dan sebuah entitas pada B dan sebuah entitas pada B dapat dihubungkan

nol atau lebih entitas pada A.

2.2.3. Logical Relational Structure (LRS)

Menurut (Lestari, 2013) “Logical Record Structure dibentuk dengan nomor

tipe record. Beberapa tipe record digambarkan oleh kotak empat persegi panjang

dan dengan nama yang unik”.

Perbedaan LRS dengan ERD dan tipe record berada diluar field tipe record

ditempatkan. LRS terdiri dari link-link diantara tipe record. Link ini menunjukkan

arah dari satu tipe record lainnya. Banyak link dari LRS yang diberi tanda field-

field yang kelihatan pada kedua link type record. Penggambaran LRS mulai dengan

menggunakan model yang dimengerti. Dua metode yang dapat digunakan, dimulai

dengan hubungan kedua model yang dapat dikonversikan ke LRS. Metode yang

23

lain dimulai dengan Entity Relationship Diagram dan langsung dikonversikan ke

LRS.

Berikut tahapan transformasi ERD ke LRS menurut Wulandari (2013:15-16):

1. Konversi ERD ke LRS

Entity Relationship Diagram harus diubah ke bentuk LRS (struktur record secara

logic). Dari bentuk LRS inilah yang nantinya dapat ditransformasikan ke bentuk

relasi tabel.

2. Konversi ERD ke LRS

Sebuah model sistem yang digambarkan dengan sebuah model sistem yang

digambarkan dengan sebuah ERD akan mengikuti pola pemodelan tertentu.

Dalam kaitannya dengan konversi ke LRS, untuk perubahan yang terjadi adalah

mengikuti aturan-aturan berikut:

a. Setiap entitas diubah kebentuk kotak dengan nama entitas, berada diluar

kotak dan atribut berada didalam kotak.

b. Sebuah relationship kadang disatukan, dalam sebuah kotak bersama

entitas,kadang sebuah kotak bersama-sama dengan entitas, kadang disatukan

dalam sebuah kotak tersendiri.

c. Konversi LRS ke relasi tabel atau tabel adalah bentuk pernyataan data secara

grafis dimensi,yang terdiri dari kolom dan baris. Relasi adalah bentuk visual

dari sebuah file, dan tiap tuple dalam sebuah field, atau dalam bentuk

lingkaran Diagram Entity Relationship dikenal dengan sebutan atribut.

d. Konversi dari logical structure, dilakukan dengan cara:

1. Nama logical record structure menjadi nama relasi.

2. Tiap atribut menjadi sebuah kolom didalam relasi.

24

2.2.4. Pengkodean

Menurut (Sukmaindyarana & Sidik, 2017) “Pengkodean digunakan untuk

mengklasifikasikan data yang dimasukkan kedalam komputer ataupun mengambil

macam-macam informasi, kode dapat terbentuk dari kumpulan angka, huruf atau

simbol lainya”. Menurut Supranto dalam (Sukmaindyarana & Sidik, 2017)

mengemukakan bahwa “Pengkodean (coding) adalah suatu kegiatan pemberian

kode atau simbol pada keterangan-keterangan tertentu kalau pengolahan akan

dilakukan dengan komputer elektronik.

2.2.5. Implementasi dan Pengujian Web

Menurut Fatta dalam (Rizaniar & Sardiarinto, 2015) “pengujian digunakan

untuk menguji setiap modul untuk menjamin setiap modul menjalankan fungsinya

dengan baik. Salah satu pengujian yang digunakan yaitu pengujian black box

testing.”

Metode black box testing dilakukan untuk meminimalisir kesalahan eror.

Menurut Rosa dan Shalahuddin dalam (Handayani, Wijianto, & Anggoro, 2018)

mendefinisikan “Black Box Testing (pengujian kotak hitam) yaitu menguji

perangkat lunak dari segi spesifikasi fungsional tanpa menguji desain dan kode

program. Pengujian dimaksud untuk mengetahui apakah fungsi-fungsi, masukan,

dan keluaran dari perangkat lunak sesuai dengan spesifikasi yang dibutuhkan.”

Metode uji dapat diterapkan pada semua tingkat pengujian perangkat lunak:

unit, integrasi, fungsional, sistem dan penerimaan. Pengujian pada black box

berusaha menemukan kesalahan antara lain:

25

a. Fungsi-fungsi yang tidak benar atau hilang.

b. Kesalahan interface.

c. Kesalahan dalam struktur data atau akses database eksternal.

d. Kesalahan kinerja.

e. Inisialisasi dan kesalahan terminasi.

Adapun kelebihan dari pengujian black box testing yaitu:

a. Spesifikasi program dapat ditentukan di awal.

b. Dapat digunakan untuk menilai konsistensi program.

c. Testing dilakukan berdasarkan spesifikasi.

d. Tidak perlu melihat kode program secara detail.

26

BAB III

PEMBAHASAN

3.1. Analisis Kebutuhan

Tujuan dari analisa kebutuhan adalah untuk mendefinisikan apa yang

harus dikerjakan oleh sistem, yaitu memenuhi keinginan pengguna/user untuk

melakukan enkripsi dan dekripsi pada pesan atau informasi yang dimiliki.

3.1.1. Analisis Kebutuhan Pengguna

1. User

User dapat melakukan enkripsi dan dekripsi pada menu yang terdapat pada

aplikasi. User yang dapat melakukan dekripsi hanya user yang mempunyai hak

akses dengan diberikan kunci pribadi (private key) oleh user yang telah

melakukan enkripsi. Setiap user dapat melakukan beberapa enkripsi dan dekripsi.

3.1.2. Analisis Kebutuhan Sistem

Kebutuhan sistem informasi yang penulis analisis adalah:

1. Sistem dapat melakukan proses enkripsi pesan berupa plaintext yang

diinputkan oleh user.

2. Sistem dapat melakukan proses dekripsi untuk mengembalikan pesan asli yang

telah terenkripsi.

3. Sistem dapat mengubah plaintext menjadi ciphertext dari proses enkripsi. Dan

mengembalikan ciphertext ke plaintext dengan proses dekripsi.

4. Sistem dapat melakukan proses perhitungan enkripsi dan dekripsi kriptografi

elgamal.

27

5. Sistem mampu menampilkan hasil akhir dari proses enkripsi berupa ciphertext

yang tidak dapat terbaca, dan hasil akhir dari proses dekripsi berupa plaintext.

3.1.3. Kebutuhan Perhitungan Kriptografi ElGamal

Besar-besaran yang dibutuhkan untuk perhitungan algoritma ElGamal

adalah sebagai berikut :

1. Bilangan prima, p (dimana p > 255 dan bersifat public atau tidak rahasia)

2. Bilangan acak, g (dimana g < p dan bersifat public atau tidak rahasia)

3. Bilangan acak, x (dimana 1 ≤ x ≤ p - 2 dan bersifat private atau rahasia)

4. Bilangan acak, k (dimana k < p dan bersifat private atau rahasia)

5. m merupakan plainteks dan bersifat private/rahasia

6. a dan b merupakan pasangan chiperteks hasil enkripsi bersifat private atau

tidak rahasia

Tabel III.1. Tabel Kode ASCII

Contoh Kasus :

Siti akan mengirim pesan “Selamat PAGI” kepada Nunuy melalui Fitri. Siti tidak

ingin pesan tersebut diketahui oleh Fitri. Maka Siti mengenkripsi pesan tersebut

28

untuk sampai kepada Nunuy. Kemudian Siti memberikan pesan tersebut dan

kunci pribadi (private key) untuk proses dekripsi kepada Nunuy melalui Fitri.

Penyelesaian perhitungan manual enkripsi dengan Metode ElGamal

1. Pembentukan Kunci

Siti membangkitkan pasangan kunci dengan memilih bilangan :

p = 787 g = 185 x = 32

Kemudian p, g, x digunakan untuk menghitung y :

y = gx mod p

y = 18532 mod 787

y = 754

jadi kunci public yang dimiliki Siti adalah y = 754, g = 185, p = 787 dan kunci

private yang akan dikirim kepada Nunuy untuk proses dekripsi adalah adalah x

=32, p = 787.

2. Enkripsi Pesan

Nilai ASCII dari pesan “Selamat PAGI” adalah 83 101 108 97 109 97 116 32

80 65 71 73

Kemudian nilai ASCII tersebut dimasukkan kedalam blok-blok nilai m secara

berurutan, dengan perhitungan :

a. Untuk m1 = 83

Generate k = 673, 1 ≤ k ≤ p – 2

a = gk mod p b = yk * m mod p

a = 185673 mod 787 b = 754673 * 83 mod 787

a = 347 b = 531

b. Untuk m2 = 101

29

Generate k = 220, 1 ≤ k ≤ p – 2

a = gk mod p b = yk * m mod p

a = 185220 mod 787 b = 754220 * 101 mod 787

a = 267 b = 225

c. Untuk m3 = 108

Generate k = 497, 1 ≤ k ≤ p – 2

a = gk mod p b = yk * m mod p

a = 185497 mod 787 b = 754497 * 108 mod 787

a = 447 b = 506

d. Untuk m4 = 97

Generate k = 535, 1 ≤ k ≤ p – 2

a = gk mod p b = yk * m mod p

a = 185535 mod 787 b = 754535 * 97 mod 787

a = 147 b = 728

e. Untuk m5 = 109

Generate k = 299, 1 ≤ k ≤ p – 2

a = gk mod p b = yk * m mod p

a = 185299 mod 787 b = 754299 * 109 mod 787

a = 643 b = 18

f. Untuk m6 = 97

Generate k = 66, 1 ≤ k ≤ p – 2

a = gk mod p b = yk * m mod p

a = 18566 mod 787 b = 75466 * 97 mod 787

a = 279 b = 197

30

g. Untuk m7 = 116

Generate k = 457, 1 ≤ k ≤ p – 2

a = gk mod p b = yk * m mod p

a = 185457 mod 787 b = 754457 * 116 mod 787

a = 485 b = 261

h. Untuk m8 = 32

Generate k = 530, 1 ≤ k ≤ p – 2

a = gk mod p b = yk * m mod p

a = 185530 mod 787 b = 754530 * 32 mod 787

a = 381 b = 711

i. Untuk m9 = 80

Generate k = 780, 1 ≤ k ≤ p – 2

a = gk mod p b = yk * m mod p

a = 185780 mod 787 b = 754780 * 80 mod 787

a = 253 b = 208

j. Untuk m10 = 65

Generate k = 761, 1 ≤ k ≤ p – 2

a = gk mod p b = yk * m mod p

a = 185761 mod 787 b = 754761 * 65 mod 787

a = 320 b = 237

k. Untuk m11 = 71

Generate k = 597, 1 ≤ k ≤ p – 2

a = gk mod p b = yk * m mod p

31

a = 185597 mod 787 b = 754597 * 71 mod 787

a = 546 b = 759

l. Untuk m12 = 73

Generate k = 635, 1 ≤ k ≤ p – 2

a = gk mod p b = yk * m mod p

a = 185635 mod 787 b = 754635 * 73 mod 787

a = 750 b = 709

Setelah mendapatkan nilai a dan b, hasil perhitungan tersebut disusun

dengan pola :

a1, b1, a2, b2, a3,b3, a4, b4, a5, b5, a6, b6, a7, b7, a8, b8.

Sehingga membentuk chipertext (pesan enkripsi yang dikirim) sebagai

berikut:

347 531, 267 225, 447 506, 147 728, 643 18, 279 197, 485 261, 381 711,

253 208, 320 237, 546 759, 750 709

Tabel III.2. Hasil Enkripsi ElGamal

Karakter(m) ASCII K

(acak) a = g^k mod p b = y^k*m mod p

Cipher (a,b)

S 83 673 347 531 (347,531)

e 101 220 267 225 (267,225)

l 108 497 447 506 (447,506)

a 97 535 147 728 (147,728)

m 109 299 643 18 (643,18)

a 97 66 279 197 (279,197)

t 116 457 485 261 (485,261)

32 530 381 711 (381,711)

P 80 780 253 208 (253,208)

a 65 761 320 237 (320,237)

g 71 597 546 759 (546,759)

i 73 635 750 709 (750,759)

32

3. Dekripsi Pesan

Nunuy mendekripsikan pesan dari Siti dengan rumus :

mi = bi * (ax)-1 mod p dan kunci privat x=32 dan p=787

a. Cipher (a,b) = (347,531)

(ax)-1 = ap-1-x mod p m = b * (ax)-1 mod p

(ax)-1 = 347787-1-32 mod 787 m = 531 * 593 mod 787

(ax)-1 = 347754 mod 787 m = 159075 mod 257

(ax)-1 = 593 m = 83

b. Cipher (a,b) = (267,225)

(ax)-1 = ap-1-x mod p m = b * (ax)-1 mod p

(ax)-1 = 267787-1-32 mod 787 m = 225 * 707 mod 787

(ax)-1 = 267754 mod 787 m = 81144 mod 257

(ax)-1 = 707 m = 101

c. Cipher (a,b) = (447, 506)

(ax)-1 = ap-1-x mod p m = b * (ax)-1 mod p

(ax)-1 = 447787-1-32 mod 787 m = 506 * 725 mod 787

(ax)-1 = 447754 mod 787 m = 366850 mod 257

(ax)-1 = 725 m = 108

d. Cipher (a,b) = (147,728)

(ax)-1 = ap-1-x mod p m = b * (ax)-1 mod p

(ax)-1 = 147787-1-32 mod 787 m = 728 * 732 mod 787

(ax)-1 = 147754 mod 787 m = 532896 mod 257

(ax)-1 = 732 m = 97

e. Cipher (a,b) = (643,18)

(ax)-1 = ap-1-x mod p m = b * (ax)-1 mod p

(ax)-1 = 643787-1-32 mod 787 m = 18 * 487 mod 787

(ax)-1 = 643754 mod 787 m = 8766 mod 257

(ax)-1 = 487 m = 109

f. Cipher (a,b) = (279,197)

33

(ax)-1 = ap-1-x mod p m = b * (ax)-1 mod p

(ax)-1 = 279787-1-32 mod 787 m = 197 * 388 mod 787

(ax)-1 = 279754 mod 787 m = 76436 mod 257

(ax)-1 = 388 m = 97

g. Cipher (a,b) = (485,261)

(ax)-1 = ap-1-x mod p m = b * (ax)-1 mod p

(ax)-1 = 485787-1-32 mod 787 m = 261 * 700 mod 787

(ax)-1 = 485754 mod 787 m = 182700 mod 257

(ax)-1 = 700 m = 116

h. Cipher (a,b) = (381,711)

(ax)-1 = ap-1-x mod p m = b * (ax)-1 mod p

(ax)-1 = 381787-1-32 mod 787 m = 711 * 41 mod 787

(ax)-1 = 381754 mod 787 m = 29151 mod 257

(ax)-1 = 41 m = 32

i. Cipher (a,b) = (253,208)

(ax)-1 = ap-1-x mod p m = b * (ax)-1 mod p

(ax)-1 = 253787-1-32 mod 787 m = 208 * 182 mod 787

(ax)-1 = 253754 mod 787 m = 37856 mod 257

(ax)-1 = 182 m = 80

j. Cipher (a,b) = (320,237)

(ax)-1 = ap-1-x mod p m = b * (ax)-1 mod p

(ax)-1 = 320787-1-32 mod 787 m = 237 * 422 mod 787

(ax)-1 = 320754 mod 787 m = 100014 mod 257

(ax)-1 = 422 m = 65

k. Cipher (a,b) = (546,759)

(ax)-1 = ap-1-x mod p m = b * (ax)-1 mod p

(ax)-1 = 546787-1-32 mod 787 m = 759 * 138 mod 787

34

(ax)-1 = 546754 mod 787 m = 104742 mod 257

(ax)-1 = 138 m = 71

l. Cipher (a,b) = (750,709)

(ax)-1 = ap-1-x mod p m = b * (ax)-1 mod p

(ax)-1 = 750787-1-32 mod 787 m = 709 * 554 mod 787

(ax)-1 = 750754 mod 787 m = 392786 mod 257

(ax)-1 = 554 m = 73

Tabel III.3. Hasil Dekripsi ElGamal

Cipher (a,b) (a^x)^-1 = a^p-1-x mod p m = b * (a^x)-1 mod

p Karakter(m)

(347,531) 593 83 S

(267,225) 707 101 e

(447,506) 725 108 l

(147,728) 732 97 a

(643,18) 487 109 m

(279,197) 388 97 a

(485,261) 700 116 t

(381,711) 41 32

(253,208) 182 80 P

(320,237) 422 65 A

(546,759) 138 71 G

(750,759) 554 73 I

3.2. Rancangan Dokumen

A. Rancangan Dokumen Masukan

1. Nama Dokumen : Plaintext Enkripsi

Fungsi : Untuk pesan yang akan dienkripsi

Sumber : User

Tujuan : User

Media : Teks

35

Frekuensi : Setiap akan melakukan enkripsi

Bentuk : Lihat Lampiran A1.

2. Nama Dokumen : Ciphertext Dekripsi

Fungsi : Sebagai pesan yang tidak dapat terbaca untuk proses

dekripsi

Sumber : User

Tujuan : User

Media : Teks

Frekuensi : Setiap melakukan dekripsi

Bentuk : Lihat Lampiran A2.

B. Rancangan Dokumen Keluaran

1. Nama Dokumen : Ciphertext Enkripsi

Fungsi : Sebagai pesan yang tidak dapat terbaca hasil dari proses

enkripsi

Sumber : User

Tujuan : User

Media : Teks

Frekuensi : Setiap melakukan enkripsi

Bentuk : Lihat Lampiran B1.

36

2. Nama Dokumen : Plaintext Dekripsi

Fungsi : Pesan asli hasil dari proses dekripsi

Sumber : User

Tujuan : User

Media : Teks

Frekuensi : Setiap akan melakukan dekripsi

Bentuk : Lihat Lampiran B2.

3.3. Perancangan Perangkat Lunak

3.3.1. Entity Relationship Diagram (ERD)

Gambar III.8. Entity Relationship Diagram

37

3.3.2. Logical Record Structure (LRS)

Gambar III.9. Logical Record Structure

3.4. Spesifikasi File

1. Spesifikasi File user

Nama File : user

Akronim : User

Fungsi : Menyimpan data user

Tipe File : File Master

Organisasi File : Index Sequential

Akses File : Random

Media : Hard Disk

Panjang Record : 157

Kunci Field : kd_user

Software : MySql

1

M

1

M

38

Tabel III.4. Spesifikasi File User

No Elemen Data Nama Field Tipe Size Ket

1 Kode User kd_user Varchar 7 Primary key

2 Nama User nama_user Varchar 50

3 Username username Varchar 50

4 Password password Varchar 50

2. Spesifikasi File Enkripsi

Nama File : enkripsi

Akronim : Enkripsi

Fungsi : Menyimpan informasi yang telah dienkripsi

Tipe File : File Master

Organisasi File : Index Sequential

Akses File : Random

Media : Hard Disk

Panjang Record : 10014

Kunci Field : kd_enkrip

Software : MySql

Tabel III.5. Spesifikasi File Enkripsi

No Elemen Data Nama Field Tipe Size Ket

1 Kode Enkripsi kd_enkrip Varchar 7 Primary key

2 Data Enkripsi data_enkrip Varchar 10000

3 Kode User kd_user Varchar 7 Foreign Key

39

4 Tanggal tgl Datetime

3. Spesifikasi File Dekripsi

Nama File : dekripsi

Akronim : Dekripsi

Fungsi : Menyimpan informasi yang telah didekripsi

Tipe File : File Master

Organisasi File : Index Sequential

Akses File : Random

Media : Hard Disk

Panjang Record : 10014

Kunci Field : kd_dekrip

Software : MySql

Tabel III.6. Spesifikasi File Dekripsi

No Elemen Data Nama Field Tipe Size Ket

1 Kode Dekripsi kd_dekrip Varchar 7 Primary key

2 Data Dekripsi data_dekrip Varchar 10000

3 Kode User kd_user Varchar 7 Foreign Key

3.5. Pengkodean

1. Kode User

Setiap user memiliki kode masing-masing untuk memudahkan dalam

proses pengolahan data, yang terdiri dari:

40

X 9 9 9 9 9 9

Contoh :

U 1 0 0 8 0 1

2. Kode Enkripsi

Setiap informasi yang telah dienkripsi akan memiliki kode masing-masing

untuk memudahkan dalam proses pengolahan data, yang terdiri dari:

X 9 9 9 9 9 9

Contoh :

E 1 0 0 8 0 1

3. Kode Dekripsi

Setiap informasi yang telah dienkripsi akan memiliki kode masing-masing

untuk memudahkan dalam proses pengolahan data, yang terdiri dari:

Kode

User

Tanggal

Daftar

Bulan

Daftar

No

Urut

Kode

User

Tanggal

Daftar

Bulan

Daftar

No

Urut

Kode

Enkripsi

Tanggal

Akses

Bulan

Akses

No

Urut

Kode

Enkripsi

Tanggal

Akses

Bulan

Akses

No

Urut

41

X 9 9 9 9 9 9

Contoh :

D 1 0 0 8 0 1

3.6. Struktur Navigasi

Gambar III.10. Struktur Navigasi

Kode

Dekripsi

Tanggal

Akses

Bulan

Akses

No

Urut

Kode

Dekripsi

Tanggal

Akses

Bulan

Akses

No

Urut

42

3.7. Spesifikasi Sistem Komputer

3.7.1. Spesifikasi Perangkat Keras

a. CPU

• Processor Intel Pentium Core 2 duo

• RAM DDR 2 2GB

• Hard Disk 200GB

b. Mouse

c. Keyboard

d. Monitor dengan resolusi layer minimum 1024x768

3.7.2. Spesifikasi Perangkat Lunak

a. Sistem operasi yang umum digunakan, seperti : Microsoft Windows, Linux

b. Aplikasi bundle web server : Xampp, Wamp, Apache2 Triad, dan Mysql

3.8. Implementasi

1. Implementasi Rancangan Antar Muka

a. Halaman Login

User harus melakukan login terlebih dahulu untuk dapat mengakses

aplikasi enkripsi dan dekripsi pesan.

43

Gambar III. 11. Tampilan Halaman Login

b. Halaman Daftar

Apabila ada user baru yang akan mengakses aplikasi dan belum memiliki

username dan password maka harus mendaftar terlebih dahulu.

Gambar III.12. Tampilan Halaman Daftar User

c. Halaman Utama

Jika user sudah berhasil melakukan login maka akan tampil halaman

utama aplikasi.

Gambar III.13. Tampilan Halaman Utama

44

d. Halaman Enkripsi

Pada halaman ini user harus menginputkan bilangan-bilangan yang di

butuhkan untuk proses enkripsi. Dan user harus menginputkan pesan

plaintext yang akan dienkripsi.

Gambar III.14. Tampilan Halaman Enkripsi

Setelah user menginputkan bilangan-bilangan dan plaintext yang akan

digunakan untuk proses enkripsi kemudian user melakukan enkripsi untuk

pesan tersebut dengan memilih tombol “Enkripsi Elgamal”. Maka akan

tampil pesan ciphertext dari hasil proses enkripsi seperti dibawah ini:

45

Gambar III.15. Tampilan Halaman Hasil Enkripsi

Gambar III.16. Tampilan Halaman Hasil Enkripsi

46

e. Halaman Dekripsi

Pada halaman ini terdapat pesan yang telah dienkripsi. User harus

menginputkan kunci privat untuk proses dekripsi agar pesan cihertext yang

telah dienkripsi kembali menjadi pesan plaintext yang dapat terbaca.

Kemudian user memilih pesan yang akan di dekripsi dari tabel pesan

enkripsi.

Gambar III.17. Tampilan Halaman Dekripsi

Setelah user menginputkan kunci privat dan memilih pesan ciphertext

untuk proses dekripsi, user akan memilih tombol “Dekripsi Elgamal” dan

akan tampil hasil proses dekripsi sebagai berikut:

47

Gambar III.18. Tampilan Halaman Hasil Dekripsi

3.9. Pengujian Unit

Pengujian terhadap program yang dibuat menggunakan black box testing yang

fokus terhadap proses masukan dan keluaran program.

a. Pengujian terhadap form login

Tabel III.7.

Hasil Black Box Testing Halaman Pengujian Login User

No Skenario pengujian Test case Hasil yang

diharapkan

Hasil

pengujian

Kesimpulan

1 Username dan

Password tidak

diisi kemudian klik

tombol “Sign In”

Username :

(kosong)

Password :

(kosong)

Akses :

(kosong)

Sistem akan

menolak akses

dan tombol

“Sign In!!!”

tidak dapat di

klik

Sesuai

Harapan

Valid

48

2 Memasukan

kondisi salah satu

terisi dan satu lagi

tidak diisi

kemudian klik

tombol “Sign In”

Username :

(admin)

Password :

(kosong)

Sistem akan

menolak akses

dan tombol

“Sign In!!!”

tidak dapat di

klik

Sesuai

Harapan

Valid

3 Memasukan

Username dan

Password yang

salah kemudian

klik tombol “Sign

In”

Username :

(salah)

Password :

(salah)

Sistem akan

menolak akses

dan

menampilkan

notifikasi

“Gagal

masuk,

username atau

kata sandi

anda salah!”

Sesuai

Harapan

Valid

4 Memasukan

kondisi salah satu

benar dan satu

salah kemudian

klik tombol “Sign

In”

Username :

(benar)

Password :

(salah)

Sistem akan

menolak akses

dan

menampilkan

notifikasi

“Gagal

masuk,

username atau

kata sandi

anda salah!”

Sesuai

Harapan

Valid

5 Memasukan

Username dan

Password dengan

data yang benar

kemudian klik

tombol masuk

Username :

admin

(benar)

Password :

admin

(benar)

Sistem

menerima

akses login

kemudian

langsung

menampilkan

Sesuai

Harapan

Valid

49

Akses :

admin

(benar)

“login

berhasil” dan

masuk ke

halaman

beranda admin

b. Pengujian terhadap form enkripsi

Tabel III.8.

Hasil Black Box Testing Halaman Pengujian Enkripsi

No Skenario pengujian Test case Hasil yang

diharapkan

Hasil

pengujian

Kesimpulan

1 Bilangan prima <

255 kemudian klik

“Bangkitkan”

p : diisi

dengan

bilangan <

255

g : diisi

dengan

bilangan < p

x : diisi

dengan

bilangan < p

- 2

Sistem akan

menampilkan

hasil

ciphertext

berupa angka

0000000

Sesuai

Harapan

Valid

2 Salah satu bilangan

tidak terisi

kemudian klik

“Bangkitkan”

p : diisi

dengan

bilangan <

255

g : kosong

x : diisi

Sistem akan

menampilkan

notifikasi “g

harus diisi”

Sesuai

Harapan

Valid

50

dengan

bilangan < p

- 2

3 Salah satu bilangan

tidak terisi

kemudian klik

“Bangkitkan”

p : kosong

g : diisi

x : diisi

dengan

bilangan < p

– 2

Sistem akan

menampilkan

notifikasi “p

harus diisi”

Sesuai

Harapan

Valid

4 Salah satu bilangan

tidak terisi

kemudian klik

“Bangkitkan”

p : diisi

dengan

bilangan <

255

g : diisi

x : kosong

Sistem akan

menampilkan

notifikasi “g

harus diisi”

Sesuai

Harapan

Valid

5 Bilangan g diisi

dengan bilangan >

p

p : diisi

dengan

bilangan

prima > 255

g : diisi

dengan

bilangan > p

x : diisi

dengan

bilangan < p

- 2

Sistem akan

menampilkan

notifikasi “g

harus lebih

kecil dari p”

Sesuai

Harapan

Valid

51

c. Pengujian terhadap form Dekripsi

Tabel III.9.

Hasil Black Box Testing Halaman Pengujian Dekripsi

No Skenario pengujian Test case Hasil yang

diharapkan

Hasil

pengujian

Kesimpulan

1 Kunci tidak sesuai

dengan kunci untuk

enkripsi

Kunci diisi

dengan

bilangan

yang salah

Sistem akan

menampilkan

hasil dekripsi

berupa plaintext

yang tidak

sesuai dengan

plaintext awal

Sesuai

Harapan

Valid

2 Kunci sesuai dengan

kunci untuk enkripsi

tetapi pesan

Ciphertext tidak diisi

Kunci : diisi

dengan

bilangan

yang benar

Ciphertext :

Kosong

Sistem akan

menampilkan

pesan “Chiper

teks masih

kosong..”

Sesuai

Harapan

Valid

52

BAB IV

PENUTUP

4.1. Kesimpulan

Berdasarkan hasil pembahasan dapat disimpulkan beberapa hal sebagai

berikut:

1. Telah dihasilkan suatu aplikasi untuk pengamanan pesan berbasis website

dengan proses enkripsi dan deskripsi.

2. Proses pengujian aplikasi menggunakan metode black box test, hasilnya adalah

proses enkripsi dan deskripsi telah sesuai dengan kaidah algoritma kritografi

El-Gamal.

3. Implementasi program ini menghasilkan suatu aplikasi yang dapat

mengubah pesan asli menjadi pesan terenkripsi yang tidak dapat dibaca dan

mengembalikannya kembali menjadi pesan aslinya tanpa merubah dan merusak

pesan.

4. Implementasi program ini menghasilkan aplikasi yang dapat mengubah

pesan menjadi kode-kode yang tidak terbaca dan mengembalikan

kembali menjadi pesan aslinya.

4.2. Saran

Dalam tugas akhir ini penulis merasa banyak kekurangan yang harus

diperbaiki kembali agar bisa menjadi lebih baik. Oleh karena itu, koreksi dan

saran sangat penting agar bisa menjadi baik kedepannya. Diantaranya:

1. Proses enkripsi dan dekripsi agar dikembangkan untuk pengamanan file.

53

2. Aplikasi enkripsi dan dekripsi dikembangkan kedalam aplikasi berbasis mobile

agar proses pengiriman pesan atau informasi dapat dilakukan langsug didalam

aplikasi.

3. Penambahan metode kriptografi yang lain agar dapat dibandingkan hasil dari

proses enkripsi dan dekripsi dengan metode elgamal dan metode yang lainnya.

54

DAFTAR PUSTAKA

Ariyus. (2013). Kemanan Data. Retrieved June 30, 2018, from

http://repository.usu.ac.id/bitstream/handle/123456789/39071/Chapter

II.pdf?sequence=4&isAllowed=y

A.S, R., & Shalahudin. (2014). Metode Waterfall. Retrieved June 28, 2018, from

http://eprints.polsri.ac.id/2203/3/BAB II.pdf

Bunafit. (2013). Pengertian MYSQL. Retrieved June 25, 2018, from

http://eprints.polsri.ac.id/1082/3/BAB II .pdf

Imaniawan, F. F. D., & Wati, F. F. (2017). Sistem Informasi Administrasi

Kependudukan Berbasis Web Pada Desa Bogangin Sumpiuh. Indonesian

Journal on Networking and Security, 7. Retrieved from

ijns.org/journal/index.php/ijns/article/download/1516/1472

Indrawati, Hartatik, S., & Utami, I. G. (2013). Penerapan Enkripsi Dan Deskripsi

Menggunakan Algoritma Rc4. Retrieved June 30, 2018, from

https://www.academia.edu/22370187/Penerapan_Enkripsi_Dan_Deskripsi_

Menggunakan_Algoritma_Rc4

Indrajani. (2015). Pengertian Basis Data. Retrieved May 20, 2018, from

http://library.binus.ac.id/eColls/eThesisdoc/Bab2/2014-2-00296-IF

Bab2001.pdf

L, I. (2017). Pengertian Kriptografi. Retrieved June 20, 2018, from

https://pojokteknologi.com/item/140-kriptografi

Lestari. (2013). Pengertian LRS. Retrieved June 30, 2018, from

http://repository.nusamandiri.ac.id/index.php/unduh/item/1836/10-BAB-II-

landasan-teori.pdf

Prayitno, A., & Safitri, Y. (2015). Pemanfaatan Sistem Informasi Perpustakaan

Digital Berbasis Website Untuk Para Penulis. IJSE – Indonesian Journal on

Software Engineering, 1(1), 1–10.

Rizaniar, F. N., & Sardiarinto. (2015). Perancangan Sistem Informasi Wisata Air

Di Daerah Istimewa Yogyakarta Berbasis Web. Retrieved August 30, 2016,

from https://ejournal.bsi.ac.id/ejurnal/index.php/evolusi/article/view/625/516

Sukmaindrayana, A., & Sidik, R. (2017). Jurnal Manajemen. Sistem Informasi

Akademik Sekolah Berbasis Web Di Sekolah Menengah Pertama Negeri 11

Tasikmalaya, 4(2), 1–158. https://doi.org/10.1017/CBO9781107415324.004

55

Sukmaindyarana, A., & Sidik, R. (2017). Aplikasi Grosir Pada Toko Rsidik

Bungursari Tasikmalaya.

Triase. (2015). Kriptografi-Elgamal-Menggunakan-Metode-Mersenne. Retrieved

June 30, 2018,

fromhttps://www.researchgate.net/profile/Triase_St_Mkom/publication/3191

81684_Kriptografi_Elgamal_Menggunakan_Metode_Mersenne/Links/59987

2eaa6fdcc2615843d09/Kriptografi-Elgamal-Menggunakan-Metode-

Mersenne.pdf?origin=publication_detail

57

LAMPIRAN-LAMPIRAN

Lampiran A.1. Pliantext Enkripsi

Lampiran A2. Ciphertext Enkripsi

58

Lampiran B1. Ciphertext Dekripsi

Lampiran B2. Plaintext Dekripsi