Pengamanan File Teks Dengan Skema Hybrid Menggunakan Algoritma Enigma Dan Algoritma Rabin-Williams Chapter III V

BAB III
ANALISIS DAN PERANCANGAN

3.1

Analisis Sistem

Analisis sistem adalah penguraian dari suatu sistem informasi yang utuh kedalam
bagian-bagian komponennya dengan maksud untuk mengidentifikasikan dan
mengevaluasi permasalahan, kesempatan, hambatan yang terjadi dan kebutuhan yang
diharapkan sehingga dapat diusulkan perbaikan.
3.1.1

Analisis Masalah

Masalah yang akan diselesaikan menggunakan sistem ini adalah pengamanan file
dalam bentuk .txt, .rtf, .pdf, yang akan dikirim melalui suatu jaringan yang berupa
internet agar tidak terjadi hal-hal yang tidak diinginkan seperti yang kita ketahui.
Analisis masalah ini secara spesifik diilustrasikan pada gambar 3.1 yang dirancang
dalam bentuk diagram Ishikawa.


Gambar 3.1 Diagram Ishikawa
Pada gambar 3.1, dapat dilihat bahwa permasalahannya adalah mengamankan
data teks dan merahasiakan kunci simetris, sedangkan penyebabnya ada 4 hal yaitu
metode yang digunakan pertama adalah Hybrid Cryptosystem dalam hal ini adalah
gabungan kriptografi asimetris (Rabin-Williams) dan kriptografi simetris (Enigma),
kedua adalah manusia yaitu user/pengirim dan penerima pesan yang ingin data yang
dikirim tersebut aman, pihak ketiga yang dapat mencuri data atau informasi dari
pengirim atau penerima, ketiga material dan yang keempat adalah mesin.
27
Universitas Sumatera Utara

28

3.1.2

Analisis Persyaratan

Analisis persyaratan dilakukan untuk menjelaskan fungsi-fungsi yang ditawarkan dan
mampu dikerjakan oleh sistem. Analisis persyaratan terbagi atas 2 bagian, yaitu
persyaratan fungsional dan persyaratan nonfungsional.


1.

Persyaratan Fungsional

Untuk menerapkan hybrid cryptosystem algoritma Enigma dan Rabin-Williams,
persyaratan yang harus dipenuhi adalah:
1. Membaca masukan file teks dan menyimpan kembali sebagai Plaintext,
kunci Rabin-Williams, Cipherkey dan Ciphertext.
2. Membangkitkan bilangan prima dan untuk pengecekan bilangan prima
menggunakan Algoritma Lehmann
3. Melakukan enkripsi/dekripsi Plaintext dengan algoritma Enigma
4. Melakukan enkripsi/dekripsi kunci Enigma dengan algoritma RabinWilliams.

2.

Persyaratan Nonfungsional

Persyaratan nonfungsional yang harus dipenuhi adalah:
1. Performa

Sistem dapat mengenkripsi file teks dengan hanya memerlukan waktu yang
singkat dan mendekripsi Ciphertext kembali sesuai dengan aslinya.
2. Mudah digunakan
Sistem yang di bangun harus sederhana dan user friendly agar mudah
digunakan.
3. Model penyimpanan data
Data file kunci publik Rabin-Williams dan kunci privat Rabin-Williams
disimpan pada file teks dalam bentuk ekstensi *.kprw dan *.kprrw.
Sedangkan data pesan teks yang di hasilkan baik berupa Ciphertext,
Cipherkey dan Plaintext di simpan di alamat file khusus dalam bentuk
*.Enigma, *.cipEnigma.
4. Dokumentasi
Sistem yang akan di bangun memiliki panduan penggunaan aplikasi

Universitas Sumatera Utara

29

5. Kontrol
Sistem yang akan dibangun memiliki pesan error jika pengguna

menginputkan huruf kecil dan angka dikarenakan sistem hanya mengenal
huruf kapital.
6. Ekonomi
Aplikasi yang akan dibangun tidak membutuhkan biaya dan perangkat
tambahan.

3.1.3

Analisis Pemodelan Sistem

Pemodelan sistem bertujuan untuk menggambarkan semua kondisi, kebutuhan dan
bagian-bagian yang berperan dalam sistem yang di rancang. Pemodelan sistem
dirancang dengan membuat use case, activity diagram dan sequence diagram.

1. Use-Case Diagram
Use-case

diagram

adalah


diagram

use-case

yang

digunakan

untuk

menggambarkan secara ringkas siapa yang menggunakan sistem dan apa saja yang
bisa dilakukannya. Diagram use-case tidak menjelaskan secara detail tentang
penggunaan use-case, namun hanya memberi gambaran singkat hubungan antara
use-case, aktor, dan sistem. Sebuah relasi dari sebuah base use-case ke sebuah
inclusion use-case dihubungkan dengan garis putus-putus dengan keterangan
include sedangkan relasi dari sebuah extension use-case ke sebuah base use-case
di hubungkan dengan garis putus-putus dengan keterangan extend. Pada penelitian
ini use-case dapat ditujukan melalui gambar 3.2.


Universitas Sumatera Utara

30

Gambar 3.2 Diagram Use-Case
Berikut ini merupakan tabel dokumen naratif use case yang dapat dilihat pada tabel
3.1, tabel 3.2, tabel 3.3, tabel 3.4, tabel 3.5, tabel 3.6, table 3.7 dan tabel 3.8.
Tabel 3.1 Dokumentasi Naratif Use Case Enkripsi Enigma
Nama Use Case

Enkripsi Pesan Enigma

Actor

Pengirim

Description

Use


case

ini

menampilkan

Enkripsi

pesan

dengan

menggunakan algoritma Enigma
Pre-Condition
Typical course

Aplikasi siap menerima inputan.
Kegiatan Pengguna

Respon Sistem


Alternatecourse

1. Menekan
tombol 2. Menampilkan File teks yang
import
untuk
akan di enkripsi
mengambil file
Aksi Actor
Respon sistem

Post Condition

Sistem telah melakukan proses enkripsi

of Event

Universitas Sumatera Utara


31

Tabel 3.2 Dokumentasi Naratif Use Case Menerima Kunci Publik
Nama Use Case

Menerima kunci public Rabin-Williams

Actor

Pengirim

Description

Use case ini menampilkan kunci public algoritma RabinWilliams

Pre-Condition
Typical course

Aplikasi siap menerima inputan.
Kegiatan Pengguna


Respon Sistem

Alternatecourse

3. Menekan
bangkit kunci
Aksi Actor

Post Condition

Sistem telah melakukan proses bangkit kunci

of Event

tombol 4. Menampilkan kunci publik
Respon sistem

Tabel 3.3 Dokumentasi Naratif Use Case Enkripsi Kunci Enigma
Nama Use Case


Enkripsi Kunci Enigma dengan Rabin-Williams

Actor

Pengirim

Description

Use case ini menampilkan Plainkey

Pre-Condition

Aplikasi siap menerima inputan.

Typical course

Kegiatan Pengguna

Respon Sistem

Alternatecourse

5. Menekan
tombol 6. Menampilkan Cipherkey
enkripsi kunci
Aksi Actor
Respon sistem

Post Condition

Sistem telah melakukan proses Enkripsi Kunci

of Event

Tabel 3.4 Dokumentasi Naratif Use Case Simpan Dalam File Teks
Nama Use Case

Simpan Pesan dalam File Teks

Actor

Pengirim

Description

Use case ini meyimpan Cipherkey dan Plainkey

Pre-Condition

Aplikasi siap memproses perinta save

Typical course
of Event

Kegiatan Pengguna

Respon Sistem

7. Menekan tombol save

8. Menyimpan File Teks

Universitas Sumatera Utara

32

Alternatecourse

Aksi Actor

Post Condition

Sistem telah melakukan proses simpan pesan

Respon sistem

Tabel 3.5 Dokumentasi Naratif Use Case Bankitkan kunci Rabin-William
Nama Use Case

Bangkitan kunci Rabin-Williams

Actor

Penerima

Description

Use case ini menampilkan kunci privat algoritma RabinWilliams

Pre-Condition
Typical course

Aplikasi siap menerima inputan.
Kegiatan Pengguna

Respon Sistem

Alternatecourse

9. Menekan
bangkit kunci
Aksi Actor

Post Condition

Sistem telah melakukan proses bangkit kunci kunci privat

of Event

tombol 10. Menampilkan kunci privat
Respon sistem

Tabel 3.6 Dokumentasi Naratif Use Case dekripsi dengan Enigma
Nama Use Case

Dekripsi Pesan Enigma

Actor

Penerima

Description

Use

case

ini

menampilkan

Dekripsi

pesan

dengan

menggunakan algoritma Enigma
Pre-Condition
Typical course

Aplikasi siap menerima inputan.
Kegiatan Pengguna

Respon Sistem

Alternatecourse

11. Menekan
tombol 12. Menampilkan File teks yang
import
untuk
akan di dekripsi
mengambil file
Aksi Actor
Respon sistem

Post Condition

Sistem telah melakukan proses dekripsi

of Event

Universitas Sumatera Utara

33

Tabel 3.7 Dokumentasi Naratif Use Case dekripsi Kunci
Nama Use Case

Dekripsi Kunci Pesan Enigma dengan Rabin-Williams

Actor

Penerima

Description

Use case ini menampilkan Cipherkey

Pre-Condition

Aplikasi siap menerima inputan.

Typical course

Kegiatan Pengguna

Respon Sistem

Alternatecourse

13. Menekan
tombol 14. Menampilkan Plainkey
dekripsi kunci
Aksi Actor
Respon sistem

Post Condition

Sistem telah melakukan proses Dekripsi Kunci

of Event

Tabel 3.8 Dokumentasi Naratif Use Case Import File
Nama Use Case

Import file teks

Actor

Penerima

Description

Use case ini menampilkan file teks

Pre-Condition

Aplikasi siap menerima inputan.

Typical course

Kegiatan Pengguna

Respon Sistem

Alternatecourse

15. Menekan
import
Aksi Actor

Post Condition

Sistem telah melakukan proses import file teks

of Event

tombol 16. Menampilkan file teks
Respon sistem

Gambar 3.2 menunjukan use-case diagram dari sistem yang akan dibangun, dimana
terdapat dua actor yaitu pengirim dan penerima. Penerima membangkitkan kunci
publik dan kunci private Rabin-Williams kemudian mempublikasikan kunci publik
kepada siapa aja yang mau mengirim pesan kepadanya dan merahasiakan kunci
private. Pengirim melakukan enkripsi pesan terlebih dahulu dengan algoritma Enigma
kemudian mengenkripsi kunci Enigma dengan algoritma Rabin-Williams, pada saat
enkripsi kunci Enigma dibutuhkan kunci publik yang telah diterima pengirim
sebelumnya. Kemudian penerima ingin mendekripsikan pesan yang ingin dibaca dan
membutuhkan kunci Enigma, untuk itu penerima terlebih dahulu mendekripsikan
Cipherkey menjadi kunci Enigma dan mendekripsikan Ciphertext dengan kunci
Enigma.

Universitas Sumatera Utara

34

2. Activity Diagram
Activity diagram menggambarkan proses kerja dalam sebuah sistem yang sedang
berjalan. Dalam diagram aktivitas ini maka akan dijelaskan proses kerja dari
sistem yaitu pembangkitan kunci, enkripsi dan dekripsi yang dilakukan olah user

Berikut ini merupakan gambar activity diagram untuk pembangkitan kunci:

Gambar 3.3 Activity Diagram pembangkitan kunci
Gambar 3.3 menunjukan aktivitas yang akan di lakukan untuk membangkitkan
kunci algoritma Rabin-Williams, penerima menekan tombol bangkitkan, kemudian
sistem akan melakukan generate kunci publik dan privat. Dan
Akan menampilkan kunci publik (p, d, y) serta kunci privat (a) yang dapat disimpan
kedalam file khusus.

Universitas Sumatera Utara

35

Berikut ini merupakan activity diagram untuk enkripsi:

Gambar 3.4 Activity Diagram Enkripsi

Universitas Sumatera Utara

36

Berikut ini merupakan activity diagram untuk dekripsi:

Gambar 3.5 Activity Diagram Dekripsi

Gambar 3.5 Activity Diagram Dekripsi

Universitas Sumatera Utara

37

3. Sequence Diagram
Sequence diagram adalah suatu diagram yang menggambarkan interaksi antar
objek yang mengindikasikan komunikasi diantara objek-objek tersebut. Diagram
ini menunjukan serangkaian pesan yang di pertukarkan oleh objek-objek yang
melakukan suatu tugas atau aksi tertentu.

Berikut merupakan sequence diagram untuk enkripsi ditunjukan pada gambar 3.6:

Gambar 3.6 Sequence Diagram Enkripsi

Universitas Sumatera Utara

38

Berikut merupakan diagram untuk dekripsi di tunjukan pada gambar 3.7:

Gambar 3.7 Sequence Diagram Dekripsi

Berikut merupakan sequence diagram untuk bangkitkan kunci ditunjukan pada
gambar 3.8:

Gambar 3.8 Sequence Diagram Bangkitkan kunci
3.1.4

Flowchart

Flowchart merupakan diagram alir dari bagan-bagan tertentu yang memiliki arus

Universitas Sumatera Utara

39

penggambaran mengenai langkah-langkah penyelesaian suatu permasalahan.
Selain itu, flowchart juga memiliki fungsi memudahkan proses pengecekan
terhadap sistem yang akan dibuat.
Berikut merupakan flowchart hybrid cryptosystem yang dibangun:
MULAI

MULAI

Input:file
(Plaintext),kunci
Enigma

Enkripsi Plaintext
dengan algoritma
Enigma

Output:Cipherte
xt file

Input:file
(Plaintext),kunci
Enigma

Enkripsi kunci Enigma
dengan Rabin-Williams

Ouput:
Cipherkey

SELESAI

A.Flowchart enkripsi file dan kunci Enigma

Generate kunci publik
& privat RabinWilliams

Input:file
(Plaintext),kunci
Enigma

Dekripsi Cipherkey
Enigma dengan RabinWilliams

Ouput :kunci
Enigma (k)

Input Ciphertext
file,kunci Enigma

Dekripsi Ciphertext file
dengan Enigma

Output:
Plaintext

SELESAI

B.Flowchart dekripsi Ciphertext dan Cipherkey Enigma

Gambar 3.9 Flowchart Hybrid Cryptosystem
1. Flowchart Enkripsi Plaintext dengan Enigma
Enkripsi Plaintext atau file dilakukan dengan algoritma Enigma, file akan dibaca
secara bit stream dan dimulailah perputaran yang mengakibatkan perubahan huruf
. Berikut merupakan flowchart enkripsi Plaintext pada gambar 3.10

Universitas Sumatera Utara

40

MULAI

Plaintext

Rotor 1 berputar dari kanan ke
kiri

Rotor 2 berputar dari kiri ke
kanan

Plaintext dari rotor 1 masukan
tiap data Plaintext ke tiap
cipher

Ciphertext

SELESAI

Gambar 3.10 Flowchart Enkripsi file

Universitas Sumatera Utara

41

2. Flowchart Dekripsi Ciphertext dengan Enigma
Dekripsi Ciphertext dilakukan dengan algoritma Enigma dan akan menghasilkan
Plainkey. Berikut merupakan flowchart dekripsi Ciphertext pada gambar 3.11:

MULAI

Ciphertext

Rotor 1 berputar dari kanan ke
kiri

Rotor 2 berputar dari kiri ke
kanan

Cipher dari rotor2 masukan
dari tiap data cipher ke tiap
plainteks

Plaintext

SELESAI

Gambar 3.11 Flowchart Dekripsi Ciphertext

3.1.5

Pseudocode

Pseudocode merupakan kode semu urutan dari baris algoritma yang hampir
menyerupai bahasa pemrograman atau kode program namun lebih mudah untuk di
pahami oleh manusia. Pada penelitian ini terdapat pseudocode yang mewakili
fungsi yang terdapat didalam sistem yang akan dirancang.

Universitas Sumatera Utara

42

3.1.5.1 Pseudocode Algoritma Lehmann
Pada sistem yang akan dibangun, pengecekan bilangan acak agar sesuai dengan
bilangan prima

dilakukan dengan menggunakan algoritma Lehmann. Untuk

pseudocode algoritma Lehmann dapat dilihat pada Gambar 3.12.
def lehmannPrime (prima)
trial  len (str (prima) )
for i in range (0, trial);
a  random . randint (2, prima – 1)
L  pow (a , ((prima -1 ) // 2 ), prima)
if L ! = 1 and L – prima

!

= -

1;

returnFalse

returnTrue

Gambar 3.12 Pseudocode Algoritma Lehmann
3.2

Perancangan Antarmuka (Interface)

Sistem ini dirancang dalam 5 form yaitu form utama atau home, bangkitkan kunci,
enkripsi, dekripsi dan tentang.

3.2.1

Form Utama atau Home

Halaman menu utama adalah halaman yang muncul pertama kali saat sistem
dijalankan. Halaman ini memiliki empat buah menu, yaitu pembangkit kunci,
enkripsi, dekripsi dan tentang. Tampilan rancangan Form utama dapat dilihat pada
gambar 3.13:
Pembangkit kunci 1

enkripsi

2

dekripsi

3

tentang

4

JUDUL SKRIPSI

NAMA
NIM
JURUSAN-USU-TAHUN

Gambar 3.13 Rancangan Form Utama atau Home

Universitas Sumatera Utara

43

Keterangan:
1. Menu strip Pembangkit kunci
2. Menu strip Enkripsi
3. Menu strip dekripsi
4. Menu strip Tentang
5. Picturebox yang berisi judul skripsi, nama, nim, jurusan, usu, tahun

3.2.2. Form bangkitkan kunci
Form pembangkit kunci berfungsi untuk memudahkan dalam proses penentuan
kunci. Penerima dapat membangkitkan kunci dengan memilih panjang digit prima
kemudian akan ditampilkan kunci publik dan privat yang dapat disimpan ke dalam
file teks. Tampilan halaman pembangkit kunci dapat dilihat pada gambar 3.14.

1

2

4

3

Gambar 3.14 Rancangan Form Bangkitkan Kunci
Keterangan:
1. Textbox untuk menampilkan judul form
2. Textbox untuk menampilkan nilai bilangan prima
3. Button untuk menyimpan kunci
4. Button untuk membangkitkan kunci

Universitas Sumatera Utara

44

3.2.3 Form Enkripsi

1
2

7

3
8

9

4

10
5

6

Gambar 3.15 Rancangan Form Enkripsi

Keterangan :
1. Button untuk mengimpor kunci yang telah di bangkitkan
2. Textbox untuk tempat penulisan Plaintext
3. Textbox untuk tempat penulisan kunci Enigma
4. Textbox untuk tempat penulisan kunci publik Rabin-Williams
5. Button untuk menenkripsi Plaintext Enigma
6. Button untuk mengenkripsi kunci publik Rabin-Williams
7. Textbox tempat menampilkan hasil enkripsi berupa Ciphertext
8. Textbox tempat menampilkan hasil enkripsi kunci berupa Cipherkey
9. Button untuk menyimpan Ciphertext
10. Button untuk menyimpan Cipherkey

Universitas Sumatera Utara

45

3.2.3 Form Dekripsi

1

2

3

5

4

6
7

8
9

10

Gambar 3.16 Rancangan Form Dekripsi

Form dekripsi berfungsi untuk mendekripsi Cipherkey dan Ciphertext. Tampilan
halaman dekripsi dapat dilihat pada gambar 3.16.

Keterangan :
1. Textbox untuk menampilkan Ciphertext kunci
2. Button untuk mengimpor kunci yang telah disimpan
3. Textbox untuk menampilkan kunci privat d
4. Textbox untuk menampilkan kunci privat n
5. Button untuk mengimpor kunci privat
6. Button untuk mendekripsi kunci
7. Textbox untuk menampilkan kunci Enigma yang telah didekripsikan
8. Button untuk mengimpor Ciphertext yang akan di dekripsikan
9. Textbox untuk menampilkan Ciphertext yang telah diimpor

Universitas Sumatera Utara

46

10. Textbox untuk menampilkan hasil dari dekripsi Ciphertext menjadi Plaintext

3.2.4

Form Tentang

Form tentang berisi tentang foto profil penulis dan identitas penulis. Tampilan
halaman tentang dapat dilihat pada gambar 3.16.

1

Gambar 3.17 Rancangan Form Tentang

Keterangan :
1. Picturebox untuk menampilkan foto profil dan identitas penulis.

Universitas Sumatera Utara

BAB IV
IMPLEMENTASI DAN PENGUJIAN

Pada tahap ini dilakukan pembuatan sistem sesuai dengan analisis dan perancangan
dan kemudian melakukan pengujian sistem.

4.1

Implementasi Sistem

Sistem dibangun dengan bahasa pemrograman C# dengan .NET sebagai library untuk
menyajikan Graphical User Interface terhadap user. Program ini terdiri 5 tampilan
yaitu tampilan utama, tampilan Enkripsi, tampilan dekrip, tampilan bangkit kunci, dan
tampilan tentang.

4.1.1. Tampilan Utama
Tampilan utama atau home merupakan tampilan yang pertama kali muncul apabila
sistem dibuka. Pada tampilan ini, terdapat 4 button yang memiliki fungsi masingmasing pada sistem. Tampilan utama dapat dilihat pada Gambar 4.1.

Gambar 4.1 Tampilan utama

43
Universitas Sumatera Utara

44

4.1.2. Tampilan Bangkit kunci
Tampilan bangkit kunci ini berfungsi sebagai pembangkit kunci, disini kunci di
bangkitkan dengan memakai algoritma lehmann prime generator (pembangkit
bilangan prima lehmann). Pada tampilan berikut ada 2 button yang berfungsi sebagai
pembangkit dan menyimpan kunci yang telah di bangkitkan. Tampilan bangkit kunci
dapat dilihat pada Gambar 4.2.

Gambar 4.2 Tampilan bangkit kunci

4.1.3. Tampilan Enkripsi Pesan
Tampilan enkrip pesan digunakan untuk mengenkripsikan file teks yang akan di rubah
menjadi Ciphertext untuk merahasiakan pesan asli (Plaintext), ditampilan enkripsi
pesan ini juga ada fitur yang berguna untuk mengenkripsikan kunci pesan. Tampilan
enkrip pesan dapat dilihat pada Gambar 4.3.

Universitas Sumatera Utara

45

Gambar 4.3 Tampilan Enkripsi pesan

4.1.4. Tampilan Dekripsi pesan
Tampilan dekrip pesan digunakan untuk mendekripsikan pesan rahasia menggunakan
kunci yang sudah disepakati oleh pengirim dan pengguna dalam mengembalikan
Ciphertext ke Plaintext. Tampilan dekrip pesan dapat dilihat pada Gambar 4.4.

Gambar 4.4 Tampilan Dekripsi Pesan

Universitas Sumatera Utara

46

4.1.5. Tampilan Tentang
Tampilan tentang merupakan tampilan yang berisi info singkat dari penulis. Tampilan
tentang dapat dilihat pada Gambar 4.5.

Gambar 4.5 Tampilan tentang

4.2

Pengujian Sistem

Pengujian dilakukan terhadap sistem untuk membuktikan bahwa sistem yang telah
dibangun berjalan dengan baik serta sesuai dengan analisis dan perancangan sistem
yang telah dibuat sebelumnya.
Untuk melakukan pengujian terhadap sistem, pada penelitian ini dirancang
suatu skenario dalam mengamankan suatu pesan teks. Adapun skenario yang dibuat
adalah pengguna sistem ingin mengamankan pesan teks dengan cara melakukan
enkripsi yang dilanjutkan dengan mengenkripsi kunci dari pesan tersebut. Pada
skenario selanjutnya, penerima pesan menerima Cipherkey dan Ciphertext dari
pengirim dan dilanjutkan dengan proses dekripsi untuk memperoleh pesan dari
pengirim. Untuk mengetahui bahwa proses yang dilakukan sistem berjalan dengan
baik dan hasil proses sistem adalah benar, maka pada tiap-tiap skenario dilakukan
perhitungan secara manual yang kemudian dibandingkan dengan hasil dari sistem.

4.2.1. Pengujian Proses Pembangkitan Kunci
Untuk membangkitkan kunci Rabin-Williams user harus menekan tombol

Universitas Sumatera Utara

47

“Bangkitkan!”. Berikut adalah hasil proses pembangkitan kunci yang dapat dilihat
pada gambar Tabel 4.6.

Gambar 4.6. Pengujian Pembangkitan Kunci Rabin-Williams
Perhitungan manual dari proses pembangkitan kunci Rabin-Williams sesuai
dengan Gambar 4.6.

Kunci Rabin-Williams di hasilkan dua buah bilangan yang

diacak oleh random number. Dimana bilangan yang telah diacak dipastikan harus
memenuhi syarat seperti pada pembahasan sebelumnya. Ilustrasi perhitungan kunci
Rabin-Williams dapat di tunjukan seperti tabel 4.7. Tampilan sistem di tunjukan pada
gambar 4.6.
Gambar 4.6 menunjukan hasil pengacakan kunci yang kemudian diperiksa
untuk memenuhi persyaratan kunci Rabin-Williams. Pengecekan bilangan dilakukan
untuk memeriksa bilangan acak merupakan bilangan prima. Untuk mendapatkan
bilangan prima dilakukan dengan menggunakan algoritma Lehmann terhadap bilangan
acak yang dikeluarkan

Universitas Sumatera Utara

48

Tabel 4.3 Perhitungan Nilai d
4.2.2. Pengujian Proses Enkripsi File Teks
Untuk melakukan enkripsi file, user mengetikan teks yang akan dienkripsi pada kolom
teks box yang telah disediakan dan kemudian user memasukan kunci Enigma. Hasil
proses enkripsi dapat dilihat pada gambar 4.7

Gambar 4.7. Pengujian Proses Enkripsi

Universitas Sumatera Utara

49

Perhitungan manual dari proses enkripsi sesuai dengan gambar 4.7 adalah
sebagai berikut.

Plaintext (p)

:ILKOM

Kunci Enigma

:AEV (Kunci Enigma terletak pada rotor rotornya)

Dari proses enkripsi dihasilkan Ciphertext :
Ciphertext

:CXCXI

Berikut adalah perhitungan manual dari proses enkripsi diatas:
Sebelum melakukan enkripsi Plaintext dengan algoritma Enigma, kita harus
mengetahui tabel rotor dan tabel reflektor yang ada pada mesin Enigma. Berikut
adalah tabel konfigurasi rotor 1, rotor 2, rotor 3 dan reflektor pada mesin Enigma. Dan
pada penelitian ini rotor yang digunakan adalah rotor I, II dan III.
Tabel 4.4. Tabel konfigurasi Rotor pada Mesin Enigma (Ariyus, 2014)

Universitas Sumatera Utara

50

Tabel 4.5. Tabel konfigurasi Reflektor (Ariyus, 2014)

Pada gambar 4.5 adalah tabel konfigurasi untuk pengaturan reflektor pada mesin
Enigma. Untuk pengaturan reflektor penulis memakai settingan reflektor “B”, Setelah
ditentukan settingan rotor yang dipakai, untuk memulai proses enkripsi pertama kita
harus menginisialisasi huruf huruf pada rotor Enigma kedalam bentuk angka. Dapat
dilihat pada gambar 4.10.

Universitas Sumatera Utara

51

Tabel 4.6. Tabel Inisialisasi Angka Rotor dan Reflektor

Setelah tahap inisialisasi huruf menjadi angka selesai, maka proses enkripsi dapat
dimulai dengan operasi enkripsi berupa: C = (Ci + Ki)mod 26  (C2i – Ki)mod26
Keterangan rumus:
1. C = Ciphertext.
2. Ci = Karakter ke – i
3. Ki = Kunci rotor (3  2  1  R(0)  1  2  3 )
4.  = Tranformasi tabel rotor
5. - = Transformasi tabel rotor (terbalik)
Karakter = ILKOM
Enkripsi karakter “I” dengan kunci menjadi BFW =
Rotor 3
8

= ( 8 + 22) mod 26 = 4  (9 – 22) mod 26 = 13

Rotor 2
13

= ( 13 + 5) mod 26 = 18  (25 – 5) mod 26 = 20

Rotor 1
20

= ( 20 + 1) mod 26 = 21  (8 – 1 ) mod 26 = 7

Reflektor
7

= ( 7 + 0 ) mod 26 = 7  (7 – 0 ) mod 26 = 3

Universitas Sumatera Utara

52

Rotor 1
3

= ( 3 + 1) mod 26 = 4 -  ( 0 – 1) mod 26 = 25

Rotor 2
25

= ( 25 + 5 ) mod 26 = 4 -  ( 25 – 5) mod 26 = 20

Rotor 3
20

= ( 20 + 22 ) mod 26 = 16 -  ( 24 – 22)mod 26 = 2

Angka “2” pada tabel inisialisasi pada rotor III adalah “C”
Enkripsi karakter “L” dengan kunci menjadi BFX
Rotor 3
11

= ( 11 + 23) mod 26 = 8  (17 – 23) mod 26 = 20

Rotor 2
20

= ( 20 + 5) mod 26 = 25  ( 4 – 5) mod 26 = 25

Rotor 1
25

= ( 25 + 1) mod 26 = 0  ( 4 – 1) mod 26 = 3

Refflektor
3

= ( 3 + 0) mod 26 = 3 -  ( 7 – 0) mod 26 = 7

Rotor 1
7

= ( 7 + 1) mod 26 = 8 -  ( 21 – 1) mod 26 = 20

Rotor 2
20

= ( 20 + 5) mod 26 = 25 -  ( 18 – 5) mod 26 = 13

Rotor 3
13

= ( 13 + 23) mod 26 = 10 -  ( 20 – 23) mod 26 = 23

Angka “23” pada tabel inisialisasi pada rotor III adalah “X”
Enkripsi karakter “K” dengan kunci menjadi BFY
Rotor 3
10

= ( 10 + 24) mod 26 = 8  ( 17 – 24) mod 26 = 19

Rotor 2
19

= ( 19 + 5) mod 26 = 24  ( 14 – 5) mod 26 = 9

Rotor 3
9

= ( 9 + 1) mod 26 = 10  ( 13 – 1) mod 26 = 12

Universitas Sumatera Utara

53

Refflektor
12

= ( 12 + 0) mod 26 = 12  ( 14 – 0) mod 26 = 14

Rotor 1
14

= ( 14 + 1) mod 26 = 15 -  ( 19 – 1) mod 26 = 18

Rotor 2
18

= ( 18 + 5) mod 26 = 23 -  ( 8 – 5) mod 26 = 3

Rotor 3
3

= ( 3 + 24) mod 26 = 1 -  ( 0 – 24) mod 26 = 2

Angka “2” pada tabel inisialisasi pada rotor III adalah “C”
Enkripsi karatker “O” dengan kunci menjadi BFZ
Rotor 3
14

= ( 14 + 25) mod 26 = 13  ( 13 – 25) mod 26 = 14

Rotor 2
14

= ( 14 + 5) mod 26 = 19  ( 13 – 5) mod 26 = 8

Rotor 3
8

= ( 8 + 1) mod 26 = 9  ( 25 – 1) mod 26 = 24

Refflektor
24

= ( 24 + 0) mod 26 = 24  ( 0 – 0) mod 26 = 0

Rotor 1
0

= ( 0 + 1) mod 26 = 1 -  ( 22 – 1) mod 26 = 21

Rotor 2
21

= ( 21 + 5) mod 26 = 0 -  ( 0 – 5) mod 26 = 21

Rotor 3
21

= ( 21 + 25) mod 26 = 20 -  ( 22 – 25) mod 26 = 23

Angka “23” pada tabel inisialisasi pada rotor III adalah “X”
Enkripsi karatker “M” dengan kunci menjadi BFA
Rotor 3
12

= ( 12 + 0) mod 26 = 12  ( 25 – 0) mod 26 = 25

Rotor 2
25

= ( 25 + 5) mod 26 = 4  ( 18 – 5) mod 26 = 13

Universitas Sumatera Utara

54

Rotor 1
13

= ( 13+ 1) mod 26 = 14  ( 24 – 1) mod 26 = 23

Refflektor
23

= ( 23 + 0) mod 26 = 23  ( 9 – 0) mod 26 = 9

Rotor 1
9

= ( 9 + 1) mod 26 = 10 -  ( 1 – 1) mod 26 = 0

Rotor 2
0

= ( 0 + 5) mod 26 = 5 -  ( 22 – 5) mod 26 = 17

Rotor 3
17

= ( 17 + 0) mod 26 = 17 -  ( 8 – 0) mod 26 = 8

Angka “8” pada tabel inisialisasi pada rotor III adalah “I”
Dari proses perhitungan secara manual diperoleh Ciphertext ”CXCXI”. Hasil tersebut
sama dengan output hasil enkripsi dengan sistem, sehingga membuktikan bahwa
sistem bekerja dengan baik dan benar.

4.2.3. Pengujian proses enkripsi kunci pesan
Setelah user mendapat hasil enkripsi teks selanjutnya user akan mengenkripsi kunci
Enigma dari pesan tersebut dengan menggunakan kunci publik dari algoritma RabinWilliams, Gambar 4.8 adalah tampilan dari sistem enkripsi kunci pesan.

Gambat 4.8. Pengujian Proses Enkripsi Kunci Pesan

Universitas Sumatera Utara

55

Tabel 4.7. Proses Enkripsi Kunci Pesan
Plainkey

Index pada List

Kunci

C= P3 Mod kunci

A

71

3337

991

E

69

3337

1483

V

86

3337

2026

Pada tabel 4.7 dihasilkan Cipherkey yang ditunjukan pada kolom C. Kolom C
merupakan kolom yang menunjukan Cipherkey dalam bentuk angka. Berdasarkan
Plainkey kunci “AEV” menghasilkan Cipherkey sebagai berikut.”991, 1483, 2026”.
4.2.4. Pengujian Dekripsi Kunci Pesan
Pada proses dekripsi kunci pesan hanya dapat dilakukan dengan memiliki kunci
privat, pada sistem ini kita mengetahui bahwa kunci privat yang digunakan user
adalah d = 3337 dan n = 2147. Dekripsi pada tahap ini akan menghasilkan Plaintext
yang kembali seperti semula. Pada proses dekripsi data memerlukan ni d yang
digunakan agar Plaintext kembali seperti semula. Tampilan sistem di tunjukan pada
gambar 4.9.

Gambar 4.9. Tampilan Hasil Dekripsi Kunci Pesan
Gambar 4.9 menunjukan hasil dekripsi data yang dilakukan dengan
menggunakan algoritma Rabin-Williams yang kembali seperti semula ini di tunjukan
pada tabel 4.6

Universitas Sumatera Utara

56

Tabel 4.8. Proses Dekripsi Kunci Pesan
Cipherkey

D

Kunci

D= cd Mod

Plainkey

kunci
991

2147

3337

71

A

1483

2147

3337

69

E

2026

2147

3337

86

V

Tabel 4.8 menunjukan hasil dari dekripsi data yang menggunakan Algoritma
Rabin-Williams. Plaintext yang dihasilkan dari proses dekripsi data menghasilkan
Plaintext yang sama seperti semula. Tahapan dari mulai proses enkripsi data sampai
proses dekripsi data menunjukan bahwa hasil Plaintext akhir pada algoritma RabinWilliams sama dengan Plaintext awal masukan. Hasil ini dapat disimpulkan bahwa
proses dekripsi Rabin-Williams mampu mengembalikan Plainkey seperti semula.

4.2.5. Pengujian Proses Dekripsi Pesan
Setelah user memiliki kunci Enigma yang telah didekripsikan sebelumnya maka
selanjutnya user akan mendekripsikan pesan dengan kunci Enigma, Gambar 4.10
adalah menunjukan proses dekripsi pesan dengan sistem.

Tabel 4.10. Tampilan Hasil Dekripsi Pesan

Universitas Sumatera Utara

57

Pada gambar 4.10 terlihat Ciphertext diimport user adalah “CXCXI”, perhitungan
dekripsi pesan adalah : C = (Ci + Ki)mod 26  (C2i – Ki)mod26.
Berikut prosesnya:

Karakter = CXCXI
Enkripsi karakter “C” dengan kunci menjadi BFW =
Rotor 3
2

= ( 2 + 22) mod 26 =2 4  (16 – 22) mod 26 = 20

Rotor 2
20

= ( 20 + 5) mod 26 = 25  (4 – 5) mod 26 = 25

Rotor 1
25

= ( 25 + 1) mod 26 = 26  (4 – 1 ) mod 26 = 3

Reflektor
3

= ( 3 + 0 ) mod 26 = 3  (7 – 0 ) mod 26 = 7

Rotor 1
7

= ( 7 + 1) mod 26 = 8 -  ( 21 – 1) mod 26 = 20

Rotor 2
20

= ( 20 + 5 ) mod 26 = 25 -  ( 18 – 5) mod 26 = 13

Rotor 3
13

= ( 13 + 22 ) mod 26 = 9 -  ( 4 – 22)mod 26 = 8

Angka “8” pada tabel inisialisasi pada rotor III adalah “I”
Enkripsi karakter “X” dengan kunci menjadi BFX
Rotor 3
23

= ( 23 + 23) mod 26 = 20  (10 – 23) mod 26 = 13

Rotor 2
13

= ( 13 + 5) mod 26 = 18  ( 25 – 5) mod 26 = 20

Rotor 1
20

= ( 20 + 1) mod 26 = 21  ( 8 – 1) mod 26 = 7

Refflektor
7

= ( 7 + 0) mod 26 = 7 -  ( 3 – 0) mod 26 = 3

Rotor 1

Universitas Sumatera Utara

58

3

= ( 3 + 1) mod 26 = 4 -  ( 0 – 1) mod 26 = 25

Rotor 2
25

= ( 25 + 5) mod 26 = 4 -  ( 25 – 5) mod 26 = 20

Rotor 3
20

= ( 20 + 23) mod 26 = 17 -  ( 8 – 23) mod 26 = 1

Angka “11” pada tabel inisialisasi pada rotor III adalah “L”
Enkripsi karakter “C” dengan kunci menjadi BFY
Rotor 3
2

= ( 2 + 24) mod 26 = 0  ( 1 – 24) mod 26 = 3

Rotor 2
3

= ( 3 + 5) mod 26 = 8  ( 23 – 5) mod 26 = 18

Rotor 3
18

= ( 18 + 1) mod 26 = 19  ( 15 – 1) mod 26 = 14

Refflektor
14

= ( 14 + 0) mod 26 = 14  ( 12 – 0) mod 26 = 12

Rotor 1
12

= ( 12 + 1) mod 26 = 13 -  ( 10 – 1) mod 26 = 9

Rotor 2
9

= ( 9 + 5) mod 26 = 14 -  ( 24 – 5) mod 26 = 19

Rotor 3
19

= ( 19 + 24) mod 26 = 17 -  ( 8 – 24) mod 26 = 10

Angka “10” pada tabel inisialisasi pada rotor III adalah “K”
Enkripsi karatker “X” dengan kunci menjadi BFZ
Rotor 3
23

= ( 23 + 25) mod 26 = 22  ( 20 – 25) mod 26 = 21

Rotor 2
21

= ( 21 + 5) mod 26 = 0  ( 0 – 5) mod 26 = 21

Rotor 3
21

= ( 21 + 1) mod 26 = 22  ( 1 – 1) mod 26 = 0

Refflektor

Universitas Sumatera Utara

59

0

= ( 0 + 0) mod 26 = 0  ( 24 – 0) mod 26 = 24

Rotor 1
24

= ( 24 + 1) mod 26 = 25 -  ( 9 – 1) mod 26 = 8

Rotor 2
8

= ( 8 + 5) mod 26 = 13 -  ( 19 – 5) mod 26 = 14

Rotor 3
14

= ( 14 + 25) mod 26 = 19 -  ( 13 – 25) mod 26 = 14

Angka “14” pada tabel inisialisasi pada rotor III adalah “O”
Enkripsi karakter “I” dengan kunci menjadi BFA
Rotor 3
8

= ( 8 + 0) mod 26 = 8  ( 17 – 0) mod 26 = 17

Rotor 2
17

= ( 17 + 5) mod 26 =22  ( 5 – 5) mod 26 = 0

Rotor 1
0

= ( 0+ 1) mod 26 = 1  ( 10 – 1) mod 26 = 9

Refflektor
9

= ( 9 + 0) mod 26 = 9  ( 23 – 0) mod 26 = 23

Rotor 1
23

= ( 23 + 1) mod 26 = 24 -  ( 14 – 1) mod 26 = 13

Rotor 2
13

= ( 13 + 5) mod 26 = 18 -  ( 4 – 5) mod 26 =25

Rotor 3
25

= ( 25 + 0) mod 26 = 25 -  ( 12 – 0) mod 26 = 12

Angka “12” pada tabel inisialisasi pada rotor III adalah “M”
Dari proses perhitungan secara manual diperoleh Plaintext ”ILKOM”. Hasil tersebut
sama dengan output hasil dekripsi dengan sistem, sehingga membuktikan bahwa
sistem bekerja dengan baik dan benar.

.

Universitas Sumatera Utara

60

4.3.

Hasil Pengujian Sistem

a. Pengujian Enkripsi Pesan
Pengujian ini dilakukan untuk mengetahui pengaruh panjang Plaintext terhadap
lama proses enkripsi pesan dengan menggunakan panjang kunci yang tetap dalam
proses enkripsi algoritma Enigma.
Tabel 4.9 Pengujian enkripsi dengan variasi panjang Plaintext
no

Panjang Plaintext

Waktu (milliseconds)

1

100

6ms

2

200

8ms

3

300

9ms

4

600

13ms

5

1200

24ms

Berdasarkan tabel 4.9 dapat dilihat dari grafik gambar 4.11 yaitu lama waktu
dalam melakukan proses enkripsi pesan dengan 5 contoh panjang Plaintext yang
berbeda.

Waktu (millisecond)

Waktu Enkripsi
36
31
26
21
16
11
6
1

0

500

1000

Panjang Plaintext (karakter)

Gambar 4.11 Grafik pengujian Enkripsi pesan

Universitas Sumatera Utara

61

b. Pengujian Dekripsi Pesan
Pengujian ini dilakukan untuk mengetahui pengaruh panjang Ciphertext terhadap
lama proses dekripsi pesan dengan menggunakan panjang kunci yang tetap dalam
proses dekripsi algoritma Enigma.
no

Panjang Ciphertext

Waktu (milliseconds)

1

100

7ms

2

200

9ms

3

300

15ms

4

600

20ms

5

1200

31ms

Tabel 4.10 Pengujian Dekripsi dengan variasi panjang Ciphertext

Berdasarkan Tabel 4.10 dapat dilihat grafik yang terdapat pada Gambar 4.12 yaitu
lama waktu dalam melakukan proses dekripsi pesan dengan lima contoh panjang
Ciphertext yang berbeda.

Waktu (millisecond)

Waktu dekripsi
36
31
26
21
16
11
6
1
0

500

1000

Panjang Plaintext (karakter)

Gambar 4.12 Grafik pengujian Dekripsi pesan

Universitas Sumatera Utara

62

Tabel 4.11 Perbandingan waktu enkripsi dan dekripsi pesan
No.

Panjang pesan

Waktu enkripsi

Waktu dekripsi

(karakter)

(milliseconds)

(milliseconds)

1

100

6ms

7ms

2

200

8ms

9ms

3

300

9ms

15ms

4

600

13ms

20ms

5

1200

24ms

30ms

46

Waktu (millisecond)

41
36
31
26
Waktu Dekripsi

21

Waktu Enkripsi

16

11
6
1
100

600

1100

Panjang Ciphertext (karakter)

Gambar 4.13 Grafik perbandingan enkripsi dan dekripsi pesan
Berdasarkan tabel 4.11 dan grafik pada gambar 4.13, dapat diinformasikan bahwa
jumlah proses waktu enkripsi dan dekripsi berbeda. Sistem memerlukan waktu yang
lebih lama untuk melakukan proses dekripsi pesan daripada melakukan proses
enkripsi pesan tersebut.

Universitas Sumatera Utara

BAB V
KESIMPULAN DAN SARAN

5.1

Kesimpulan

Berdasarkan pembahasan dan hasil dari penelitian, maka diperoleh beberapa
kesimpulan sebagai berikut:
1. Algoritma Enigma berfungsi untuk mengamankan informasi pesan yang akan
dienkripsi sementara algoritma Rabin-Williams berfungsi untuk mengamankan
kunci dari pesan yang telah dienkripsi..
2. Jumlah karakter dari pesan setelah dienkripsi berjumlah sama dengan pesan awal
sebelum dienkripsi.
3. Semakin panjang jumlah karakter pesan maka semakin lama waktu yang
dibutuhkan untuk mengenkripsi pesan.
4. Waktu enkripsi lebih cepat daripada waktu ketika dekripsi file teks
5. Pada penelitian ini diciptakan sebuah perhitungan manual Enkripsi dan Dekripsi
yang dapat membantu orang lain yang ingin melanjutkan penelitan tentang
Algoritma Enigma

5.2

Saran

Adapun saran-saran yang dapat dipertimbangkan untuk mengembangkan penelitian ini
lebih lanjut adalah sebagai berikut:
1. Karena dalam penelitian ini penulis memakai versi Enigma yang asli maka
karakter yang bisa di enkripsi hanya karakter dengan huruf kapital jadi
kedepannya harus bisa dibuat versi program Enigma yang bisa membaca
karakter huruf kecil dan angka.
2. Untuk panjang kunci hanya bisa memakai 3 karakter karena penulis hanya
memakai 3 rotor virtual sehingga untuk pengembangan selanjutnya dapat
memakai lebih dari 3 rotor virtual.
3. Diharapkan

pada

penelitian

selanjutnya

Algoritma

Enigma

lebih

dikembangkan dalam hal pemanfaatan rotor rotornya agar lebih aman dalam
menyamarkan sandi.
63
Universitas Sumatera Utara