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:
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