untitled - universitas pembangunan panca budi

83

Upload: khangminh22

Post on 07-Feb-2023

0 views

Category:

Documents


0 download

TRANSCRIPT

ABSTRAK

FADHIL AHMAD ABEN. S

Penerapan Algoritma Rail Fence Cipher Dalam Proses Enkripsi Dan

Dekripsi Pesan Teks

2019

Keamanan data sangat penting untuk sebagian besar bisnis dan bahkan pengguna

komputer di rumah. Informasi klien, informasi pembayaran, file pribadi, detail

rekening bank. Semua informasi ini mungkin sulit untuk diganti dan berpotensi

berbahaya jika jatuh ke tangan yang salah. Keamanan data perlu dijaga agar tidak

jatuh kepada orang yang tidak bertanggung jawab. Terkadang seseorang tidak

menyadari bahwa data miliknya sudah diambil alih oleh orang lain pada saat

pengiriman data. Keamanan data mengacu pada langkah-langkah perlindungan

untuk mengamankan data dari akses yang tidak disetujui dan korupsi data sepanjang

siklus hidup data. Hari ini, keamanan data merupakan aspek penting dari

perusahaan IT dari setiap ukuran dan jenis. Dalam prosesnya, mereka menggunakan

solusi keamanan data yang meliputi tokenization, enkripsi data, dan praktik

manajemen kunci yang melindungi data. Perlu suatu teknik algoritma dalam

mengamankan data. Algoritma Rail Fence Cipher sangat baik untuk digunakan

dalam mengacak kata. Karakter-karakter pada plaintext akan ditransposisikan ke

tempat lain sehingga plaintext tersebut tidak dapat difahami oleh orang lain.

Dengan menerapkan algoritma ini, data akan terjamin kerahasiaannya.

Kata Kunci: dekripsi, enkripsi, kriptografi, Rail Fence

iii

DAFTAR ISI

KATA PENGANTAR ............................................................................................ i

DAFTAR ISI ......................................................................................................... iii

DAFTAR GAMBAR ............................................................................................ vi

DAFTAR TABEL................................................................................................ vii

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

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

1.2 Rumusan Masalah ........................................................................... 2

1.3 Batasan Masalah.............................................................................. 3

1.4 Tujuan Penelitian ............................................................................ 3

1.5 Manfaat Penelitian .......................................................................... 3

BAB II LANDASAN TEORI ............................................................................... 4

2.1 Pengertian Algoritma ...................................................................... 4

2.2 Kriptografi ....................................................................................... 8

2.2.1 Teknik kriptografi ................................................................ 9

2.2.2 Algoritma Kriptografi ........................................................ 10

2.2.3 Kriptografi Klasik .............................................................. 11

2.2.4 Sejarah Kriptografi ............................................................ 13

2.2.5 Manfaat Kriptografi ........................................................... 14

2.3 Cipher Transposisi ........................................................................ 14

2.4 Rail Fence Cipher .......................................................................... 17

2.5 Unified Modelling Language (UML)............................................ 21

iv

2.5.1 Use-Case Diagram ............................................................. 22

2.5.2 Activity Diagram ............................................................... 26

2.5.3 Class Diagram ................................................................... 27

2.5.4 Flowchart ........................................................................... 28

2.6 Visual Basic.Net ............................................................................ 31

BAB III METODE PENELITIAN .................................................................... 35

3.1 Tahapan Penelitian ........................................................................ 35

3.2 Metode Pengumpulan Data ........................................................... 36

3.3 Rancangan Penelitian .................................................................... 37

3.3.1 Use Case Diagram ............................................................. 37

3.3.2 Activity Diagram ............................................................... 38

3.3.3 Flowchart Enkripsi ............................................................ 40

3.3.4 Flowchart Dekripsi ............................................................ 41

3.4 Perancangan Tampilan Input dan Output ...................................... 42

3.4.1 Menu Utama ...................................................................... 42

3.4.2 Menu Rail Fence Cipher .................................................... 43

3.4.3 Menu Info .......................................................................... 44

3.4.4 Menu Profil Penulis ........................................................... 45

BAB IV HASIL DAN PEMBAHASAN............................................................. 46

4.1 Spesifikasi Sistem ......................................................................... 46

4.1.1 Spesifikasi Perangkat Keras .............................................. 47

4.1.2 Spesifikasi Perangkat Lunak ............................................. 47

4.2 Implementasi Antarmuka .............................................................. 48

v

4.2.1 Halaman Menu Utama ....................................................... 48

4.2.2 Halaman Info ..................................................................... 49

4.2.3 Halaman Profil Penulis ...................................................... 49

4.2.4 Halaman Rail Fence Cipher............................................... 50

4.2.5 Hasil Perhitungan Algoritma Rail Fence Cipher ............... 51

4.3 Pengujian Sistem ........................................................................... 53

BAB V PENUTUP ............................................................................................... 59

5.1 Kesimpulan ................................................................................... 59

5.2 Saran .............................................................................................. 59

DAFTAR PUSTAKA

vi

DAFTAR GAMBAR

Gambar 2.1 Scytale sederhana............................................................................. 15

Gambar 2.2 Use-case Diagram ATM .................................................................. 24

Gambar 2.3 Tampilan Toolbox Visual Basic ...................................................... 33

Gambar 3.1 Use Case Diagram .......................................................................... 38

Gambar 3.2 Activity Diagram ............................................................................. 39

Gambar 3.3 Flowchart enkripsi algoritma Rail Fence ......................................... 40

Gambar 3.4 Flowchart dekripsi algoritma Rail Fence ......................................... 41

Gambar 3.5 Tampilan Menu Utama .................................................................... 42

Gambar 3.6 Tampilan Menu Rail Fence Cipher.................................................. 43

Gambar 3.7 Tampilan Menu Info ........................................................................ 44

Gambar 3.8 Tampilan Menu Profil Penulis ......................................................... 45

Gambar 4.1 Halaman Menu Utama ..................................................................... 48

Gambar 4.2 Halaman Info ................................................................................... 49

Gambar 4.3 Halaman Profil Penulis .................................................................... 50

Gambar 4.4 Halaman kriptografi algoritma Rail Fence ...................................... 51

Gambar 4.5 Halaman enkripsi algoritma Rail Fence Cipher............................... 52

Gambar 4.6 Halaman dekripsi algoritma Rail Fence Cipher............................... 53

vii

DAFTAR TABEL

Tabel 2.1 Simbol Use-case Diagram .................................................................... 24

Tabel 2.2 Simbol Activity Diagram ..................................................................... 26

Tabel 2.3 Simbol Class Diagram .......................................................................... 27

Tabel 2.4 Simbol Flowchart ................................................................................. 30

Tabel 2.5 Toolbox Visual Basic ........................................................................... 33

Tabel 4.1 Spesifikasi perangkat keras .................................................................. 47

Tabel 4.2 Spesifikasi perangkat lunak .................................................................. 47

1

BAB I

PENDAHULUAN

1.1 Latar Belakang

Pencurian data kerap kali terjadi dalam dunia digital. Teknologi

memungkinkan penggunaan benda fisik sudah mulai berkurang. Pada era

sebelumnya, seseorang memerlukan kertas untuk mengirimkan informasi kepada

penerima sehingga pencurian informasi ini hanya dapat dilakukan jika kertas

tersebut berhasil direbut dari pemiliknya. Tetapi tidak dengan teknologi sekarang

yang memungkinkan seseorang dapat mengirimkan pesan tanpa harus menulis di

benda fisik seperti kertas. Pesan tersebut hanya dapat dikirim melalui pesan digital.

Semakin banyak alat atau aplikasi pengirim pesan secara realtime, semakin banyak

tindak kejahatan yang dapat dilakukan pada media-media tersebut.

Informasi harus diamankan sebelum dikirimkan sehingga terhindar dari

percobaan pencurian atau manipulasi data. Kriptografi adalah hal yang tepat untuk

mengamankan pesan tersebut sebelum dikirimkan. Kriptografi dapat mengubah

pesan asli menjadi pesan tak terbaca, sehingga pada saat pesan tersebut berhasil

diretas, pesan tersebut masih tetap aman. Ada banyak metode yang dapat digunakan

untuk mengamankan pesan. Salah satu metode yang penulis paparkan adalah

metode Rail Fence cipher. Metode ini sangat cepat dalam operasinya. Metode ini

melakukan permutasi pada karakter-karakter pesan sehingga pesan pun dapat

diacak menggunakan kata-kata yang ada pada pesan tersebut. Semakin banyak kata-

kata pada pesan tersebut, maka hasil ciphertext akan semakin kuat untuk diretas

1

2

oleh seseorang yang ingin mencuri pesan tersebut. Metode ini bekerja dengan cara

melakukan transformasi karakter secara diagonal dari atas ke bawah. Pesan tersebut

akan dikategorikan berdasarkan kedalam kunci. Kekuatan ciphertext dapat

disesuaikan antara panjang pesan dengan kedalaman kunci sehingga usaha untuk

menebak plaintext akan semakin sulit dilakukan. Penelitian sebelumnya melakukan

transposisi cipher dengan metode Transposisi Columnar yang bekerja secara

horizontal dan vertikal. Ciphertext diambil dengan arah vertikal sementara plaintext

disusun dengan arah horizontal (Reswan, Juhardi, & Yuliansyah, 2018).

Metode ini akan diimplementasikan dengan bentuk program aplikasi.

Program aplikasi akan diuji dan disesuaikan dengan hasil yang dilakukan secara

manual. Diharapkan metode ini dapat meningkatkan keamanan pesan pada saat

dikirimkan ke penerima. Berdasarkan latar belakang yang sudah dibahas, penulis

tertarik untuk memilih judul “Penerapan Algoritma Rail Fence Cipher Dalam

Proses Enkripsi Dan Dekripsi Pesan Teks”.

1.2 Rumusan Masalah

Adapun rumusan masalah yang digunakan dalam penulisan tugas akhir ini

adalah sebagai berikut:

1. Bagaimana cara kerja enkripsi dan dekripsi dengan algoritma Rail Fence?

2. Bagaimana komputasi dari algoritma Rail Fence Cipher pada pesan teks?

3. Bagaimana merancang aplikasi enkripsi dan dekripsi dengan algoritma Rail

Fence Cipher.

3

1.3 Batasan Masalah

Adapun batasan masalah yang digunakan dalam penulisan tugas akhir ini

adalah sebagai berikut:

1. Transposisi cipher dilakukan dari atas ke bawah.

2. Maksimal kedalaman kunci adalah 10

3. Pesan yang digunakan sebagai plaintext adalah pesan berbasis teks.

4. Aplikasi yang dibangun berbasis desktop dengan Visual Basic 2010

1.4 Tujuan Penelitian

Adapun tujuan penelitian yang digunakan dalam penulisan tugas akhir ini

adalah sebagai berikut:

1. Untuk mengetahui cara kerja enkripsi dan dekripsi dengan algoritma Rail

Fence Cipher.

2. Untuk mengamankan pesan teks dengan algoritma Rail Fence Cipher.

3. Untuk membuat aplikasi pesan teks dengan algoritma Rail Fence Cipher.

1.5 Manfaat Penelitian

Adapun manfaat penelitian yang digunakan dalam penulisan tugas akhir ini

adalah sebagai berikut:

1. Mengamankan pesan dengan cara menukar posisi karakter.

2. Melindungi pesan dari pencurian dari pihak yang tidak bertanggung jawab.

3. Menjaga informasi rahasia tidak tersebar luas dan menghindari kerugian.

4

BAB II

LANDASAN TEORI

2.1 Pengertian Algoritma

Algoritma adalah prosedur atau rumus untuk menyelesaikan masalah,

berdasarkan pada melakukan serangkaian tindakan tertentu. Program komputer

dapat dilihat sebagai algoritma yang rumit. Dalam matematika dan ilmu komputer,

algoritma biasanya berarti prosedur kecil yang memecahkan masalah berulang.

Algoritma banyak digunakan di semua bidang TI (teknologi informasi).

Algoritma mesin pencari, misalnya, mengambil string pencarian kata kunci dan

operator sebagai input, mencari database terkait untuk halaman web yang relevan,

dan mengembalikan hasil (Munir, 2006).

Algoritma enkripsi mengubah data sesuai dengan tindakan yang ditentukan

untuk melindunginya. Algoritma kunci rahasia seperti DES pada Departemen

Pertahanan A.S. Amerika Serikat, misalnya, menggunakan kunci yang sama untuk

mengenkripsi dan mendekripsi data. Selama algoritma cukup canggih, tidak ada

yang kekurangan kunci yang dapat mendekripsi data.

Algoritma kata berasal dari nama ahli matematika, Mohammed ibn-Musa

al-Khwarizmi, yang merupakan bagian dari pengadilan kerajaan di Baghdad dan

yang hidup dari sekitar 780 hingga 850. Karya Al-Khwarizmi adalah sumber yang

mungkin untuk kata aljabar sebagai baik.

4

5

Dalam sistem komputer, suatu algoritma pada dasarnya adalah sebuah

instance dari logika yang ditulis dalam perangkat lunak oleh pengembang perangkat

lunak, agar efektif untuk komputer "target" yang dimaksudkan untuk menghasilkan

output dari input yang diberikan (mungkin nol). Algoritma yang optimal, bahkan

berjalan di perangkat keras lama, akan menghasilkan hasil yang lebih cepat

daripada algoritma yang tidak optimal (kompleksitas waktu yang lebih tinggi)

untuk tujuan yang sama, berjalan di perangkat keras yang lebih efisien; itulah

sebabnya algoritma, seperti perangkat keras komputer, dianggap teknologi.

Algoritma versus fungsi yang dapat dihitung oleh suatu algoritma: Untuk

fungsi tertentu, beberapa algoritma mungkin ada. Ini benar, bahkan tanpa

memperluas set instruksi yang tersedia yang tersedia untuk programmer. Rogers

mengamati bahwa "Adalah penting untuk membedakan antara gagasan tentang

algoritma, yaitu prosedur dan gagasan tentang fungsi yang dapat dihitung oleh

algoritma, yaitu pemetaan yang dihasilkan oleh prosedur. Fungsi yang sama

mungkin memiliki beberapa algoritma yang berbeda".

Sayangnya, mungkin ada pertukaran antara kebaikan (kecepatan) dan

keanggunan (kekompakan) sebuah program yang elegan mungkin mengambil lebih

banyak langkah untuk menyelesaikan perhitungan daripada yang kurang elegan.

Contoh yang menggunakan algoritma Euclid mncul di bawah.

Komputer (dan komputer), model perhitungan: Komputer (atau manusia

"komputer") adalah jenis mesin terbatas, "perangkat mekanis deterministik diskrit"

yang secara membabi buta mengikuti instruksinya. Model primitif Melzak dan

Lambek mereduksi gagasan ini menjadi empat elemen: (i) lokasi yang terpisah dan

6

dapat dibedakan, (ii) penghitung yang terpisah dan tidak dapat dibedakan (iii) agen,

dan (iv) daftar instruksi yang efektif relatif terhadap kemampuan agen.

Minsky menjelaskan variasi yang lebih menyenangkan dari model

"sempoa" Lambek dalam "Basa Sangat Sederhana untuk Komputasi". Mesin

Minsky melanjutkan secara berurutan melalui lima (atau enam, tergantung pada

bagaimana seseorang menghitung) instruksi, kecuali jika GOTO kondisional IF –

THEN atau GOTO tanpa syarat mengalir keluar dari urutan. Selain HALT, mesin

Minsky mencakup tiga operasi penugasan (penggantian, penggantian) : ZERO (mis.

Isi lokasi diganti dengan 0: L ← 0), SUCCESSOR (mis. L ← L + 1), dan

DECREMENT (misalnya L ← L - 1). [42] Jarang programmer harus menulis

"kode" dengan set instruksi yang terbatas. Tetapi Minsky menunjukkan (seperti

halnya Melzak dan Lambek) bahwa mesinnya adalah Turing lengkap dengan hanya

empat jenis instruksi umum: GOTO bersyarat, GOTO tanpa syarat, penugasan /

penggantian / penggantian, dan HALT. Namun, beberapa instruksi penugasan yang

berbeda (mis. DECREMENT, INCREMENT, dan ZERO / CLEAR / EMPTY untuk

mesin Minsky) juga diperlukan untuk kelengkapan Turing; spesifikasi tepatnya

mereka agak terserah desainer. GOTO tanpa syarat adalah kenyamanan; itu dapat

dibangun dengan menginisialisasi lokasi khusus ke nol mis. instruksi "Z ← 0";

setelah itu instruksi IF Z = 0 THEN GOTO xxx tidak bersyarat.

Simulasi sebuah algoritma: bahasa komputer (komputer): Knuth

menyarankan pembaca bahwa "cara terbaik untuk mempelajari suatu algoritma

adalah dengan mencobanya ... segera ambil pena dan kertas dan kerjakan melalui

contoh". Tetapi bagaimana dengan simulasi atau eksekusi hal yang nyata?

7

Programmer harus menerjemahkan algoritma ke dalam bahasa yang dapat

dijalankan oleh simulator / komputer / komputer secara efektif. Stone memberikan

contohnya: ketika menghitung akar persamaan kuadrat, komputer harus tahu cara

mengambil akar kuadrat. Jika tidak, maka algoritma, agar efektif, harus

menyediakan seperangkat aturan untuk mengekstrak akar kuadrat.

Ini berarti bahwa programmer harus mengetahui "bahasa" yang efektif

relatif terhadap agen komputasi target (komputer / komputer). Tetapi model apa

yang harus digunakan untuk simulasi? Van Emde Boas mengamati "bahkan jika

kita mendasarkan teori kompleksitas pada abstrak alih-alih mesin beton,

kesewenang-wenangan pilihan model tetap ada. Pada titik inilah gagasan simulasi

masuk". Ketika kecepatan diukur, instruksi mengatur hal-hal penting. Sebagai

contoh, subprogram dalam algoritma Euclid untuk menghitung sisanya akan

mengeksekusi lebih cepat jika programmer memiliki instruksi "modulus" yang

tersedia daripada hanya pengurangan (atau lebih buruk: hanya "pengurangan"

Minsky) (Stallings, 2005).

Pemrograman terstruktur, struktur kanonik: Per tesis Gereja-Turing,

algoritma apa pun dapat dikomputasi dengan model yang dikenal sebagai Turing

lengkap, dan per demonstrasi Minsky, kelengkapan Turing hanya membutuhkan

empat jenis instruksi — GOTO bersyarat, GOTO tanpa syarat, tugas, HALT.

Kemeny dan Kurtz mengamati bahwa, sementara "tidak disiplin" penggunaan

GOTO tanpa syarat dan bersyarat IF-THEN GOTO dapat menghasilkan "kode

spageti", seorang programmer dapat menulis program terstruktur hanya dengan

menggunakan instruksi ini; di sisi lain "juga mungkin, dan tidak terlalu sulit, untuk

8

menulis program yang terstruktur dengan buruk dalam bahasa terstruktur".

Tausworthe menambah tiga struktur kanonik Böhm-Jacopini: SEQUENCE, IF-

THEN-ELSE, dan WHILE-DO, dengan dua lagi: DO-WHILE dan CASE.Manfaat

tambahan dari program terstruktur adalah bahwa ia cocok untuk bukti kebenaran

menggunakan induksi matematika.

Flowchart, menawarkan cara untuk menggambarkan dan

mendokumentasikan suatu algoritma (dan program komputer satu) secara lengkap

termasuk proses dna cara kerja suatu algoritma. Seperti aliran program mesin

Minsky, diagram alur selalu dimulai di bagian atas halaman dan berlanjut ke bawah.

Simbol utamanya hanya empat: panah diarahkan yang menunjukkan aliran

program, persegi panjang (SEQUENCE, GOTO), berlian (IF-THEN-ELSE), dan

titik (OR-tie). Struktur kanonik Böhm-Jacopini terbuat dari bentuk-bentuk primitif

ini. Substruktur dapat "bersarang" dalam persegi panjang, tetapi hanya jika keluar

tunggal terjadi dari superstruktur. Simbol dan penggunaannya untuk membangun

struktur kanonik ditunjukkan dalam diagram.

2.2 Kriptografi

Kriptografi adalah metode melindungi informasi dan komunikasi melalui

penggunaan kode sehingga hanya mereka yang dituju informasi yang dapat

membaca dan memprosesnya. Pre-fix "crypt" berarti "tersembunyi" atau "vault"

dan akhiran "graphy" adalah singkatan dari "writing" (Firmansyah, 2012).

Dalam ilmu komputer, kriptografi mengacu pada keamanan informasi dan

teknik komunikasi yang berasal dari konsep matematika dan seperangkat

9

perhitungan berbasis aturan yang disebut algoritma untuk mengubah pesan dengan

cara yang sulit untuk diuraikan. Algoritma deterministik ini digunakan untuk

pembuatan kunci kriptografis dan penandatanganan digital dan verifikasi untuk

melindungi privasi data, penelusuran web di internet, dan komunikasi rahasia

seperti transaksi kartu kredit dan email.

2.2.1 Teknik kriptografi

Kriptografi terkait erat dengan disiplin ilmu kriptologi dan kriptanalisis. Ini

mencakup teknik seperti mikrodot, menggabungkan kata-kata dengan gambar, dan

cara-cara lain untuk menyembunyikan informasi dalam penyimpanan atau transit.

Dalam ruang lingkup keamanan komputer, kriptografi paling sering dikaitkan

dengan proses pengubahan plaintext (teks biasa) menjadi ciphertext (teks

terenkripsi), kemudian kembali lagi (dikenal sebagai dekripsi). Individu yang

berlatih bidang ini dikenal sebagai cryptographers.

Kriptografi modern berkaitan dengan empat tujuan berikut:

1. Kerahasiaan: informasi tidak dapat dipahami oleh siapa pun yang tidak

disengaja

2. Integritas: informasi tidak dapat diubah dalam penyimpanan atau transit

antara pengirim dan penerima yang dituju tanpa perubahan yang terdeteksi

3. Non-repudiation: pencipta / pengirim informasi tidak dapat menyangkal

pada tahap selanjutnya niatnya dalam pembuatan atau transmisi informasi

10

4. Otentikasi: pengirim dan penerima dapat mengkonfirmasi identitas satu

sama lain dan asal / tujuan informasi

Prosedur dan protokol yang memenuhi beberapa atau semua kriteria di atas

dikenal sebagai cryptosystems. Cryptosystems sering dianggap hanya merujuk

pada prosedur matematika dan program komputer; namun, mereka juga

memasukkan pengaturan perilaku manusia, seperti memilih kata sandi yang sulit

ditebak, keluar dari sistem yang tidak digunakan, dan tidak membahas prosedur

sensitif dengan orang luar (Ariyus, 2008).

2.2.2 Algoritma Kriptografi

Cryptosystems menggunakan seperangkat prosedur yang dikenal sebagai

algoritma kriptografi, atau cipher, untuk mengenkripsi dan mendekripsi pesan

untuk mengamankan komunikasi antara sistem komputer, perangkat seperti

smartphone, dan aplikasi. Suite sandi menggunakan satu algoritma untuk enkripsi,

algoritma lainnya untuk otentikasi pesan dan lainnya untuk pertukaran kunci.

Proses ini, tertanam dalam protokol dan ditulis dalam perangkat lunak yang berjalan

pada sistem operasi dan sistem komputer jaringan, melibatkan generasi kunci

publik dan swasta untuk enkripsi / dekripsi data, penandatanganan digital dan

verifikasi untuk otentikasi pesan, dan pertukaran kunci.

11

2.2.3 Kriptografi Klasik

Dalam kriptografi, cipher klasik adalah jenis cipher yang digunakan secara

historis tetapi sekarang telah jatuh, sebagian besar, menjadi tidak digunakan.

Berbeda dengan algoritma kriptografi modern, kebanyakan cipher klasik dapat

secara praktis dihitung dan diselesaikan dengan tangan. Namun, mereka juga

biasanya sangat mudah putus dengan teknologi modern. Istilah ini mencakup sistem

sederhana yang digunakan sejak zaman Yunani dan Romawi, sandi Renaisans yang

rumit, kriptografi Perang Dunia II seperti mesin Enigma dan seterusnya.

Sebaliknya, kriptografi modern yang kuat bergantung pada algoritma baru dan

komputer yang dikembangkan sejak tahun 1970-an.

Algoritma klasik adalah yang diciptakan pra-komputer hingga sekitar tahun

1950-an. Daftar di bawah ini disusun berdasarkan kompleksitas, paling kompleks

di atas. Cipher klasik adalah algoritma kriptografi yang telah digunakan di masa

lalu (sebelum Perang Dunia II). Beberapa dari mereka hanya pernah digunakan oleh

amatir (mis. Bifid), sementara beberapa dari mereka telah digunakan oleh tentara

untuk mengamankan komunikasi tingkat atas mereka (mis. ADFGVX). Tidak satu

pun dari algoritma ini yang sangat aman sejauh melindungi informasi (dengan

komputer saat ini memecahnya), jadi jika keamanan data nyata diperlukan Anda

mungkin harus melihat pada algoritma modern.

Kriptografi adalah studi penulisan rahasia. Ini memungkinkan dua orang,

biasanya disebut sebagai Alice dan Bob, untuk berkomunikasi melalui saluran yang

tidak aman sedemikian rupa sehingga lawannya, Eve, tidak dapat memahami apa

yang dikatakan. Selama berabad-abad orang telah menggunakan algoritma

12

kriptografi yang berbeda (Whalen, 1994). Cryptosystems sejarah yang paling

terkenal adalah:

1. Shift Cipher

2. Substitusi Cipher

3. The Affine Cipher

4. Sandi Vigenere

5. Hill Cipher

6. Permutasi Cipher

7. Mesin rotor

Semua sandi ini pernah dianggap aman. Dengan perkembangan teknik dan

alat cryptoanalysis menjadi jelas bahwa mereka mudah pecah. Ada beberapa jenis

serangan yang dapat digunakan untuk memecahkan kode:

1. Hanya serangan ciphertext

2. Serangan plaintext yang dikenal

3. Pilih serangan plaintext

4. Serangan plaintext pilihan-adaptif

5. Pilih serangan ciphertext

6. Serangan ciphertext pilihan-adaptif

Untuk memecahkan cryptosystem modern digunakan teknik yang lebih

canggih dan kompleks. Seringkali mereka membutuhkan algoritma dan

perangkat keras yang dirancang khusus. Namun ada juga teknik universal, yang

kadang-kadang mungkin satu-satunya cara yang layak untuk memecahkan sandi.

Metode ini termasuk penyuapan dan pemerasan.

13

2.2.4 Sejarah Kriptografi

Kata "kriptografi" berasal dari bahasa Yunani kryptos, yang berarti

disembunyikan. Asal usul kriptografi biasanya berasal dari sekitar tahun 2000 SM,

dengan praktik hieroglif Mesir. Ini terdiri dari piktogram yang kompleks, makna

penuh yang hanya diketahui oleh segelintir elit. Penggunaan sandi modern yang

diketahui pertama kali adalah oleh Julius Caesar (100 SM hingga 44 SM), yang

tidak mempercayai rasulnya ketika berkomunikasi dengan gubernur dan

pejabatnya. Untuk alasan ini, ia menciptakan sistem di mana setiap karakter dalam

pesannya digantikan oleh karakter tiga posisi di depannya dalam alfabet Romawi.

Belakangan ini, kriptografi telah berubah menjadi medan pertempuran

beberapa ahli matematika dan ilmuwan komputer terbaik dunia. Kemampuan untuk

menyimpan dan mentransfer informasi sensitif dengan aman telah membuktikan

faktor penting dalam keberhasilan dalam perang dan bisnis (Munir, 2006).

Karena pemerintah tidak ingin entitas tertentu masuk dan keluar dari negara

mereka untuk memiliki akses ke cara-cara untuk menerima dan mengirim informasi

tersembunyi yang mungkin menjadi ancaman bagi kepentingan nasional,

kriptografi telah tunduk pada berbagai batasan di banyak negara, mulai dari batasan

penggunaan dan ekspor perangkat lunak ke penyebaran konsep matematika publik

yang dapat digunakan untuk mengembangkan cryptosystems. Namun, internet telah

memungkinkan penyebaran program-program yang kuat dan, yang lebih penting,

teknik-teknik kriptografi yang mendasarinya, sehingga saat ini banyak dari

cryptosystem dan ide-ide paling maju sekarang berada dalam domain publik.

14

2.2.5 Manfaat Kriptografi

Penyerang dapat menghindari kriptografi, meretas ke dalam komputer yang

bertanggung jawab atas enkripsi dan dekripsi data, dan mengeksploitasi

implementasi yang lemah, seperti penggunaan kunci default. Namun, kriptografi

mempersulit penyerang untuk mengakses pesan dan data yang dilindungi oleh

algoritma enkripsi.

2.3 Cipher Transposisi

Dalam kriptografi, sandi transposisi adalah metode enkripsi tempat posisi

yang dipegang oleh unit plaintext (yang umumnya merupakan karakter atau

kelompok karakter) digeser sesuai dengan sistem reguler, sehingga ciphertext

merupakan permutasi dari plaintext. Artinya, urutan unit diubah (plaintext disusun

ulang). Secara matematis fungsi bijective digunakan pada posisi karakter untuk

mengenkripsi dan fungsi terbalik untuk mendekripsi.

Cipher transposisi adalah jenis cipher utama lainnya yang dapat digunakan.

Tidak seperti cipher subtitusi, yang mengubah konten dari plaintext, cipher

transposisi mengubah urutan unit dalam plaintext tetapi membiarkan nilainya tidak

berubah. Contoh pertama sandi transposisi juga diambil dari penggunaan militer

Mediterania kuno, mungkin oleh orang Yunani kuno, meskipun deskripsi lengkap

pertama yang kita miliki adalah dari sejarawan Romawi Plutarch. Kunci dalam

contoh ini adalah sebatang kayu. Dua batang identik, yang disebut scytale, harus

diproduksi. Sepotong perkamen selebar satu huruf kemudian dililitkan di sekitar

15

tempat cerita dan pesan itu ditulis di sepanjang tempat cerita. Sebuah skytale

dengan tulisan luka di sekitarnya ditunjukkan pada Gambar 2.1. Ketika perkamen

itu dilepas, surat-surat ditransposisikan, dan pesannya tidak terbaca. Hanya orang

dengan skytale lain yang dapat membaca pesan. Dengan melilitkan perkamen di

sekeliling tongkat lain yang identik, pesan itu didekripsi — yaitu, tidak teracak

(Shimeall & Spring, 2014).

Gambar 2.1 Scytale sederhana Sumber: (Shimeall & Spring, 2014)

Sepanjang sejarah, orang-orang memikirkan metode yang lebih pintar

dalam mengacak pesan. Bagian yang sulit adalah membuat metode reversibel tetapi

juga cukup mudah untuk melakukan itu kesalahan manusia tidak mengganggu

proses. Salah satu contoh, yang diterbitkan pada tahun 1902 oleh seorang pensiunan

kolonel Perancis dan cipher's namesake, adalah transposisi Myszkowski. Pesan

ditulis secara horizontal melintasi kolom, dan kolom diberi nomor berdasarkan kata

kunci. Kunci harus memiliki setidaknya dua huruf yang mengulang agar sandi

berfungsi sebagaimana dimaksud. Huruf-huruf pada tombol diberi nomor sesuai

16

urutan relatifnya dalam alfabet; surat duplikat memiliki nomor yang sama.

Menggunakan kutipan dari Mark Twain sebagai plaintext (mengabaikan tanda baca

dan memotong dua huruf terakhir, "ly" sehingga ukuran kolomnya sama), dan

"samclemens" sebagai kuncinya, kami akan menulis:

Kunci:

7 1 5 2 4 3 5 3 6 7

Plaintext:

i o n c e s e n t a

d o z e n o f m y f

r i e n d s a t e l

e g r a m s a y i n

g f l e e a t o n c

e a l l i s d i s c

o v e r e d t h e y

a l l l e f t t o w

n i m m e d i a t e

Untuk mendapatkan ciphertext, kami membaca kolom sesuai urutannya.

Jika kolom memiliki nomor unik, itu dibaca langsung ke bawah. Setiap kolom yang

berbagi angka dibaca secara horizontal sebelum pindah ke baris berikutnya. Jadi

ciphertext dari pendahuluan akan menjadi sebagai berikut, dengan ruang yang

dimasukkan untuk dibaca: OOIGF AVLIC ENAEL RLMSN OMSTS YAOSI

DHFTD AENDM EIEEE NEZFE ARALT LDETL TMITY EINSE OTIADF

RLENG CECO AWNE. Untuk mendekripsi pesan, Anda perlu kata kunci dan

17

kemudian hanya mengisi kolom dalam urutan yang ditentukan oleh kata kunci dan

merekonstruksi plaintext.

Transposisi tidak rentan terhadap serangan frekuensi dengan cara yang

persis sama dengan sandi substitusi. Huruf dalam ciphertext ini sudah dalam

proporsi yang sama dengan huruf dalam bahasa Inggris, karena cipher tidak

mengubah huruf. Namun, ini juga merupakan kelemahan utama. Perebutan kata

juga merupakan tantangan surat kabar yang populer, dan manusia secara alami

cukup pandai dalam menguraikan kata-kata. Secara umum, hanya transposisi tidak

cukup untuk menahan serangan terhadap ciphertext.

2.4 Rail Fence Cipher

The Rail Fence Cipher adalah bentuk sandi transposisi yang mendapatkan

namanya dari cara di mana disandikan. Dalam sandi pagar rel, teks plainteks

dituliskan ke bawah pada "rel" pagar imajiner yang berurutan, kemudian bergerak

ke atas ketika kita sampai ke bawah. Pesan tersebut kemudian dibaca dalam baris.

Misalnya, menggunakan tiga "rel" dan plaintext adalah “WE ARE DISCOVERED

FLEE AT ONCE” adalah sebagai berikut:

Ciphertext: “WECRL TEERD SOEEF EAOCA IVDEN”

18

Cipher telah memecah ciphertext ini menjadi blok lima untuk membantu

menghindari kesalahan. Ini adalah teknik umum yang digunakan untuk membuat

cipher lebih mudah dibaca. Spasi ini tidak terkait dengan ruang dalam plaintext

sehingga tidak membawa informasi apa pun tentang plaintext (Siahaan, 2016).

Rail Fence Cipher digunakan oleh orang Yunani kuno di scytale, sebuah

sistem mekanis untuk menghasilkan cipher transposisi. Sistem terdiri dari sebuah

silinder dan pita yang melilit silinder. Pesan yang akan dienkripsi ditulis pada pita

melingkar. Surat-surat dari pesan asli akan disusun ulang ketika pita dilepas dari

silinder. Namun, pesan itu mudah didekripsi ketika pita tersebut ditarik kembali

pada silinder dengan diameter yang sama dengan silinder enkripsi.

Cipher Rail Fence adalah cipher transposisi yang mudah diaplikasikan yang

mengacaukan urutan huruf-huruf pesan dengan cara cepat dan nyaman. Ini juga

memiliki keamanan kunci untuk membuatnya sedikit lebih sulit untuk dihancurkan.

Cipher Rail Fence berfungsi dengan menulis pesan Anda pada baris alternatif di

seluruh halaman, dan kemudian membacakan setiap baris secara bergantian.

Misalnya, plaintext "DEFEND THE EAST WALL” ditulis seperti yang

ditunjukkan di bawah ini, dengan semua ruang dihapus.

Ciphertext kemudian dibacakan dengan menulis baris atas terlebih dahulu,

diikuti oleh baris bawah, untuk mendapatkan "DFNTEATALEEDHESWL".

19

Plaintext harus memiliki kunci, yang untuk sandi ini adalah jumlah baris.

Plaintext kemudian dibentuk dari teks plaint diagonal ke kanan sampai mencapai

jumlah baris yang ditentukan kemudian bangkit kembali secara diagonal sampai

menemukan baris pertama lagi. Ini berlanjut sampai akhir plaintext. Untuk teks

biasa, " DEFEND THE EAST WALL ", dengan kunci 3, kami mendapatkan proses

enkripsi yang ditunjukkan di bawah ini.

Perhatikan bahwa di akhir pesan harus disisipkan dua "X". Ini disebut nulls

dan bertindak sebagai padding. Ini berfungsi untuk membuat pesan masuk dengan

rapi ke dalam kisi sehingga ada jumlah huruf yang pas pada jumlah. Meskipun tidak

perlu, itu membuat proses dekripsi jauh lebih mudah jika pesan memiliki tata letak

ini. Ciphertext dibaca dari baris demi baris untuk mendapatkan

"DNETLEEDHESWLXFTAAX".

Misalnya, jika ciphertext yang diperoleh setelah enkripsi adalah

"TEKOOHRACIRMNREATANFTETYTGHH", dienkripsi dengan kunci 4, Anda

mulai dengan menempatkan "T" di kotak pertama kemudian dash spasi bawah

diagonal sampai kembali ke baris atas, dan tempatkan "E" di sini. Terus mengisi

baris paling atas sehingga diperoleh pola berikut ini.

20

Tahap pertama dalam proses dekripsi.

Baris pertama dari proses dekripsi untuk Rail Fence Cipher. Ciphertext

memiliki tabel dengan 4 baris karena kuncinya adalah 4, dan 28 kolom sebagai

ciphertext memiliki panjang 28. Pengisian karakter dimulai dari baris ini demi baris.

Berikut ini adalah tahapan berturut-turut untuk mendapatkan plaintext.

Tahap kedua dalam proses dekripsi.

Tahap ketiga dalam proses dekripsi.

Tahap keempat dalam proses dekripsi.

21

The Rail Fence Cipher adalah cipher transposisi yang sangat mudah

diterapkan. Namun, itu tidak terlalu aman, karena ada sejumlah kunci yang dapat

digunakan, terutama untuk pesan singkat (agar ada cukup banyak pergerakan huruf,

panjang pesan harus disewakan dua kali kunci, tetapi sebaiknya 3 kali kunci). Hasil

dapat diproses ini dengan cepat dengan lebih cepat dengan komputer.

Penggunaan nulls juga dapat memiliki efek yang merugikan pada keamanan

cipher, karena pencegat dapat menggunakannya untuk mengidentifikasi di mana

ujung garis, dan memiliki tebakan yang masuk akal pada kunci. Ini dapat dihindari

dengan menggunakan huruf yang lebih umum, seperti "E", untuk mengisi spasi nol,

karena masih akan jelas bagi penerima bahwa ini bukan bagian dari pesan karena

akan muncul di akhir plaintext . The Rail Fence Cipher juga dapat digunakan tanpa

menggunakan nulls (Rodrigue & Clark, 2019).

2.5 Unified Modelling Language (UML)

Unified Modeling Language (UML) adalah bahasa pemodelan standar yang

memungkinkan pengembang menentukan, memvisualisasikan, membuat, dan

mendokumentasikan artefak sistem perangkat lunak (Technopedia, 2019). Dengan

demikian, UML membuat artefak ini dapat diskalakan, aman, dan kuat dalam

eksekusi. UML adalah aspek penting yang terlibat dalam pengembangan perangkat

lunak berorientasi objek. Ini menggunakan notasi grafis untuk membuat model

visual dari sistem perangkat lunak. Arsitektur UML didasarkan pada fasilitas meta-

objek, yang mendefinisikan dasar untuk membuat bahasa pemodelan. Mereka

cukup tepat untuk menghasilkan seluruh aplikasi. UML yang sepenuhnya dapat

22

dieksekusi dapat digunakan untuk berbagai platform menggunakan teknologi yang

berbeda dan dapat digunakan dengan semua proses sepanjang siklus pengembangan

perangkat lunak. UML dirancang untuk memungkinkan pengguna

mengembangkan bahasa pemodelan visual yang ekspresif, siap pakai. Selain itu,

mendukung konsep pengembangan tingkat tinggi seperti kerangka kerja, pola, dan

kolaborasi (Wasserkrug et al., 2009).

Penggunaan model ini bertujuan untuk mengidentifikasikan bagian-bagian

yang termasuk dalam lingkup sistem yang dibahas dan bagaimana hubungan antara

sistem dengan subsistem maupun sistem lain diluarnya (Sukmawati & Priyadi,

2019).

2.5.1 Use-Case Diagram

Use-case diagram adalah model tentang bagaimana berbagai jenis pengguna

berinteraksi dengan sistem untuk memecahkan masalah. Dengan demikian, ini

menggambarkan tujuan pengguna, interaksi antara pengguna dan sistem, dan

perilaku sistem yang diperlukan dalam memenuhi tujuan-tujuan ini. Model use-case

terdiri dari sejumlah elemen model. Elemen model yang paling penting adalah

kasus penggunaan, aktor dan hubungan di antara mereka. Diagram use-case

digunakan untuk menggambarkan secara grafis subset dari model untuk

menyederhanakan komunikasi. Biasanya akan ada beberapa diagram kasus

penggunaan yang terkait dengan model yang diberikan, masing-masing

menunjukkan subset elemen model yang relevan untuk tujuan tertentu. Elemen

model yang sama dapat ditampilkan pada beberapa diagram use-case, tetapi setiap

23

instance harus konsisten. Jika alat digunakan untuk mempertahankan model use-

case, kendala konsistensi ini otomatis sehingga setiap perubahan pada elemen

model (mengubah nama misalnya) akan secara otomatis tercermin dalam setiap

diagram use-case yang menunjukkan elemen itu (UTM, 2019).

Model use-case dapat berisi paket yang digunakan untuk menyusun model

untuk menyederhanakan analisis, komunikasi, navigasi, pengembangan,

pemeliharaan, dan perencanaan. Faktanya, sebagian besar model use-case adalah

tekstual, dengan teks yang ditangkap dalam Spesifikasi Use-Case yang terkait

dengan setiap elemen model use-case. Spesifikasi ini menjelaskan alur peristiwa

use case. Model use-case berfungsi sebagai utas pemersatu sepanjang

pengembangan sistem. Ini digunakan sebagai spesifikasi utama dari persyaratan

fungsional untuk sistem, sebagai dasar untuk analisis dan desain, sebagai input

untuk perencanaan iterasi, sebagai dasar mendefinisikan kasus uji dan sebagai dasar

untuk dokumentasi pengguna. (Kurniawan, 2018).

Use case diagram merupakan suatu diagram yang berisi use case, actor,

serta relationship diantaranya. Use Case Diagram dapat digunakan untuk

kebutuhan apa saja yang diperlukan dalam suatu sistem, sehingga sistem dapat

digambarkan dengan jelas bagaimana proses dari sistem tersebut, bagaimana cara

aktor menggunakan sistem, serta apa saja yang dapat dilakukan pada suatu sistem.

24

Gambar 2.2 Use-case Diagram ATM Sumber: (Uml-diagrams.org, 2019)

Gambar 2.2 adalah contoh dari penggunaan use-case diagram pada mesin

ATM. Use-case memiliki beberapa simbol untuk menyatakan kegiatan dari use-

case tersebut. Adapun simbol dari use case adalah sebagai berikut:

Tabel 2.1 Simbol Use-case Diagram

No. Gambar Nama Keterangan

1

Actor Menspesifikasikan himpuan peran

yang pengguna mainkan ketika

berinteraksi dengan use case.

25

2

Dependency

Hubungan dimana perubahan yang

terjadi pada suatu elemen mandiri

(independent) akan mempengaruhi

elemen yang bergantung padanya

elemen yang tidak mandiri.

3

Generalization Hubungan dimana objek anak

berbagi perilaku dan struktur data

dari objek yang ada diatasnya .

4

Include Menspesifikasikan bahwa use case sumber secara eksplisit.

5

Extend

Menspesifikasikan bahwa use case

target memperluas perilaku dari use

case sumber pada suatu titik yang

diberikan.

6

Association Apa yang menghubungkan antara

objek satu dengan objek lainnya.

7

System Menspesifikasikan paket yang

menampilkan sistem secara terbatas.

8

Use Case

Deskripsi dari urutan aksi-aksi yang

ditampilkan sistem yang

menghasilkan suatu hasil yang

terukur bagi suatu actor

9

Collaboration

Interaksi aturan-aturan dan elemen

lain yang bekerja sama untuk

menyediakan prilaku yang lebih

besar dari jumlah dan elemen-

elemennya (sinergi).

26

10

Note Elemen fisik yang eksis saat aplikasi

dijalankan dan mencerminkan suatu

sumber daya komputasi

Sumber: (Kurniawan, 2018)

2.5.2 Activity Diagram

Dalam Unified Modeling Language (UML), diagram aktivitas adalah

representasi grafis dari serangkaian kegiatan sistem prosedur yang dijalankan dan

dianggap sebagai variasi diagram bagan negara. Diagram aktivitas menggambarkan

aktivitas paralel dan kondisional, kasus penggunaan dan fungsi sistem pada level

terperinci (Ladjamudin, 2005).

Activity diagram menurut adalah salah satu cara untuk memodelkan event-

event yang terjadi dalam suatu use case. Diagram ini juga dapat digantikan dengan

sejumlah teks.

Tabel 2.2 Simbol Activity Diagram

No. Gambar Nama Keterangan

1

Actifity

Memperlihatkan bagaimana masing-

masing kelas antarmuka saling

berinteraksi satu sama lain

2

Action State dari sistem yang mencerminkan

eksekusi dari suatu aksi

3

Initial Node Bagaimana objek dibentuk /diawali.

27

4

Actifity Final

Node

Bagaimana objek dibentuk dan

dihancurkan

5

Fork Node

Satu aliran yang pada tahap tertentu

berubah menjadi beberapa aliran

Sumber: (Kurniawan, 2018)

2.5.3 Class Diagram

Diagram kelas adalah ilustrasi hubungan dan dependensi kode sumber

antara kelas-kelas dalam Unified Modeling Language (UML). Dalam konteks ini,

kelas mendefinisikan metode dan variabel dalam suatu objek, yang merupakan

entitas spesifik dalam program atau unit kode yang mewakili entitas itu (Jogiyanto,

2006). Simbol yang digunakan dalam class diagram adalah sebagai berikut:

Tabel 2.3 Simbol Class Diagram

Simbol Nama Fungsi

Class Menggambarkan Class baru

pada diagram.

Association Menggambarkan relasi antar

asosiasi

Composition Jika sebuah class tidak bisa

berdiri sendiri dan harus

merupakan bagian dari class

yang lain, maka class tersebut

memiliki relasi Composition

terhadap class tempat dia

bergantung tersebut.

28

Depedency

Umumnya penggunaan

dependency digunakan untuk

menunjukkan operasi pada

suatu class yang menggunakan

class yang lain.

Aggregation Aggregation mengindikasikan

keseluruhan bagian

relationship dan biasanya

disebut sebagai relasi.

Sumber: (Kurniawan, 2018)

2.5.4 Flowchart

Flowchart digunakan dalam mendesain dan mendokumentasikan proses

atau program sederhana. Seperti jenis diagram lainnya, diagram membantu

memvisualisasikan apa yang sedang terjadi dan dengan demikian membantu

memahami suatu proses, dan mungkin juga menemukan fitur-fitur yang kurang

jelas dalam proses tersebut, seperti kekurangan dan hambatan. Ada berbagai jenis

diagram alur: masing-masing jenis memiliki set kotak dan notasi sendiri. Dua jenis

kotak yang paling umum dalam diagram alur adalah:

1. Langkah pemrosesan, biasanya disebut aktivitas dan dilambangkan sebagai

kotak persegi panjang.

2. Keputusan biasanya dilambangkan sebagai berlian.

Diagram alir digambarkan sebagai "lintas fungsional" ketika bagan dibagi

menjadi bagian vertikal atau horizontal yang berbeda, untuk menggambarkan

kontrol unit organisasi yang berbeda. Simbol yang muncul di bagian tertentu berada

dalam kendali unit organisasi itu. Flowchart lintas fungsional memungkinkan

29

penulis untuk menemukan tanggung jawab untuk melakukan suatu tindakan atau

membuat keputusan dengan benar, dan untuk menunjukkan tanggung jawab

masing-masing unit organisasi untuk bagian berbeda dari satu proses tunggal.

Diagram alir menggambarkan aspek-aspek tertentu dari proses dan biasanya

dilengkapi dengan jenis diagram lainnya. Misalnya, Kaoru Ishikawa,

mendefinisikan diagram alir sebagai salah satu dari tujuh alat dasar kendali mutu,

di sebelah histogram, diagram Pareto, lembar periksa, diagram kontrol, diagram

sebab-akibat, dan diagram sebaran. Demikian pula, di UML, notasi pemodelan

konsep standar yang digunakan dalam pengembangan perangkat lunak, diagram

aktivitas, yang merupakan jenis diagram alur, hanyalah salah satu dari banyak jenis

diagram yang berbeda (Uml-diagrams.org, 2019).

Diagram Nassi-Shneiderman dan Drakon-chart adalah notasi alternatif

untuk aliran proses. Nama alternatif umum termasuk diagram alir, diagram alur

proses, diagram alur fungsional, peta proses, diagram proses, diagram proses

fungsional, model proses bisnis, model proses, diagram alir proses, diagram alur

kerja, diagram alir bisnis. Istilah "diagram alur" dan "diagram alir" digunakan

secara bergantian (Nakatsu, 2009).

Struktur grafik yang mendasari diagram alur adalah grafik aliran, yang

mengabstraksi jenis simpul, isinya, dan informasi tambahan lainnya. Adapun

simbol-simbol flowchart lihat pada tabel sebagai berikut :

30

Tabel 2.4 Simbol Flowchart

NO SIMBOL FUNGSI

1.

Terminal, untuk memulai atau

mengakhiri suatu program

2.

Proses, suatu simbol yang

menunjukkan setiap pengolahan

yang dilakukan.

3.

Input-Output, untuk memasukkan

menunjukkan hasil dari suatu proses

4.

Decision, suatu kondisi yang akan

menghasilkan beberapa

kemungkinan jawaban atau pilihan

5.

Preparation, suatu symbol yang

menyediakan tempat pengolahan

6.

Connector, suatu prosedur

penghubung yang akan masuk atau

keluar melalui symbol ini dalam

lembar yang sama

7.

Off-Page Connector, merupakan

symbol masuk atau keluarannya

suatu prosedur pada lembaran kertas

lainnya

8.

Arus/Flow, dari pada prosedur yang

dapat dilakukan atas ke bawah dari

bawah ke atas, ke atas dari kiri ke

kanan ataupun dari kanan ke kiri

9.

Predefined Process, untuk

menyatakan sekumpulan langkah

proses yang ditulis sebagai prosedur

10.

Simbol untuk output, yang

ditunjukkan ke suatu device, seperti

printer, dan sebagainya

31

11

Penyimpanan file secara sementara

12

Menunjukkan input / Output

Hardisk (media penyimpanan)

Sumber: (Kurniawan, 2018)

2.6 Visual Basic.Net

Visual Basic.Net merupakan salah satu tool development Microsoft yang

dapat digunakan untuk membuat aplikasi di lingkungan kerja berbasis sistem

operasi Windows. Visual Basic.Net menyediakan tools bagi para developer untuk

membangun aplikasi yang berjalan di .Net Framework (Lee, 2014).

Visual basic merupakan turunan bahasa pemrograman BASIC yang

menawarkan pengembangan perangkat lunak computer berbasis grafik dengan

cepat. Dengan menggunakan bahasa pemrograman VB, para programmer dapat

membangun aplikasi dengan menggunakan komponen-komponen yang di sediakan

VB.

Microsoft Visual Basic (sering disingkat sebagai VB saja) merupakan

sebuah bahasa pemrograman yang menawarkan Integrated Development

Environment (IDE) visual untuk membuat program perangkat lunak berbasis sistem

operasi Microsoft Windows dengan menggunakan model pemrograman (COM),

Visual Basic merupakan turunan bahasa pemrograman BASIC dan menawarkan

pengembangan perangkat lunak computer berbasis grafik dengan cepat, beberapa

32

bahasa skrip seperti Visual Basic for Applications (VBA) dan Visual Basic Scripting

Edition (VBScript), mirip seperti halnya Visual Basic, tetapi cara kerjanya yang

berbeda.

Para programmer dapat membangun aplikasi dengan menggunakan

komponen-komponen yang disediakan oleh Microsoft Visual Basic. Program-

program yang ditulis dengan Visual Basic juga dapat menggunakan Windows API,

tapi membutuhkan deklarasi fungsi luar tambahan.

Dalam pemrograman untuk bisnis, Visual Basic memiliki pangsa pasar yang

sangat luas. Dalam sebuah survey yang dilakukan pada tahun 2005, 62%

pengembang perangkat lunak dilaporkan menggunakan berbagai bentuk Visual

Basic yang diikuti oleh C++, JavaScript, dan Java.

Beberapa komponen kerja program visual basic 2010 telah ditampilkan

sebagai tampilan standard. Masih banyak lagi komponen yang masih tersembunyi

sehingga memerlukan perintah tertentu untuk menampilkannya. Kita dapat

mengatur komponen di dalam program visual basic 2010 sesuai dengan yang kita

butuhkan. Berikut ini adalah beberapa komponen kerja dari visual basic 2010

adalah.

Toolbox adalah sebuah panel yang menampung tombol-tombol yang

berguna untuk membuat suatu desain mulai dari tombol label, pointer, button, dan

lain-lain. Gambar 2.3 adalah gambaran toolbox pada visual basic 2010.

33

Gambar 2.3 Tampilan Toolbox Visual Basic Sumber : (Lee, 2014)

Berikut ini adalah table yang berisi nama tombol yang terdapat didalam

toolbox beserta fungsinya.

Tabel 2.5 Toolbox Visual Basic

Nama tombol Fungsi

Pointer Memilih, mengatur ukuran dan memindahkan posisi yang

terpasang di bagian form.

Bindingsources Untuk mengkoneksikan program ke database.

Label Menampilkan teks, dimana pengguna program tidak bisa

mengubah teks tersebut.

Groupbox Untuk mengelompokkan item yang ada di form.

Checkbox Membuat kotak periksa, dimana pengguna program dapat

memilih sekaligus.

Listbox Membuat daftar pilihan.

34

Timer Membuat kontrol waktu dan interval yang diperlukan.

Image Menampilkan gambar pada form dalam format bitmap, icone,

atau metafile.

Picturebox Menampilkan gambar dari sebuah file.

Textbox Membuat teks, dimana teks tersebut dapat diubah oleh

pembuat program.

Button Membuat tombol perintah.

Combobox Menambahkan kontrol kotak combo yang merupakan kontrol

gabungan antara textbox dan listbox.

Sumber : (Rahmel, 2008)

35

Studi Pustaka

Pengumpulan Data

Input PT, Kunci

Proses Blok Rail Fence

Praproses

BAB III

METODE PENELITIAN

3.1 Tahapan Penelitian

Penelitan ini dibagi dengan beberapa tahap. Studi ini dilakukan berdasarkan

plaintext yang digunakan untuk proses enkripsi dan dekripsi dengan menggunakan

algoritma Rail Fence Cipher. Berikut ini adalah tahapan penelitian:

Fase 1

Fase 2

35

36

Susun Karakter Secara

Diagonal

Ambil Karakter Secara

Horizontal

Enkripsi Rail Fence

Susun Karakter Secara

Horizonal

Ambil Karakter

Menurut Jumlah

Karakter Per Baris

Dekripsi Rail Fence

Tampilkan Ciphertext

Tampilkan Plaintext

Fase 3

Fase 4

3.2 Metode Pengumpulan Data

Pengumpulan data adalah pencarian terhadap bahan referensi untuk

mendapatkan hasil yang maksimal. Metode pengumpulan data dalam penulisan ini

dibagi menjadi dua yaitu:

37

1. Studi Kepustakaan

Pada tahap ini dilakukan dengan mengumpulkan data, mempelajari, dan

membaca berbagai referensi baik itu buku, jurnal, makalah, internet, dan

berbagai sumber lainnya untuk memperoleh informasi.

2. Pengamatan

Pengamatan dilakukan dengan cara melihat upaya dan gambaran yang akan

dihasilkan pada hasil penelitian ini. Hal ini dilakukan untuk pengumpulan

data, bahan dan studi lapangan dengan cara mengamati secara plaintext dan

metode yang digunakan untuk mencapai hasil pada algoritma Rail Fence.

3.3 Rancangan Penelitian

Desain penelitian didefinisikan sebagai kerangka kerja metode dan teknik

yang dipilih oleh penulis untuk menggabungkan berbagai komponen penelitian

dengan cara yang seksama sehingga masalah penelitian dapat diselesaikan dengan

baik. Ini memberikan pengetahuan tentang melakukan penelitian menggunakan

metodologi yang sudah ditentukan sebelumnya. Rancangan penelitian ini dapat

dijabarkan dalam beberapa model UML untuk mengambarkan hasil yang akan

diperoleh. Diagram-diagram ini berfungsi untuk menentukan arah dan aksi dari

suatu pengguna program aplikasi.

3.3.1 Use Case Diagram

Use Case adalah deskripsi fungsi dari sebuah sistem dari perspektif

pengguna. Use Case bekerja dengan cara mendeskripsikan tipikal interaksi antara

38

User (pengguna) sebuah sistem dengan sistemnya sendiri melalui sebuah cerita

bagaimana sebuah sistem dipakai. Berikut ini adalah perancangan Use Case untuk

admin dari algoritma Rail Fence cipher.

Gambar 3.1 Use Case Diagram

3.3.2 Activity Diagram

Activity diagram akan menggambarkan alur kerja dari sistem, untuk Activity

diagram dari kriptrografi simetris dengan menggunakan algoritma Rail Fence

cipher. Gambar berikut ini akan menjelaskan Activity diagram tersebut.

Rail Fence Cipher

Info

Profil Penulis

Keluar

39

Admin Sistem

Tidak

Ya

Gambar 3.2 Activity Diagram

Tampilkan Ciphertext

Form Utama

Tampilkan Menu

Rail Fence

Cipher?

Form Rail Fence

Input Plaintext

Input Kunci

Proses Algoritma Rail Fence

Cipher

Hasil Enkripsi

40

3.3.3 Flowchart Enkripsi

Flowchart akan menjelaskan alur dari proses enkripsi dengan metode

kriptografi transposisi dengan algoritma Rail Fence Cipher. Rancangan flowchart

enkripsi dapat dilihat pada gambar berikut ini.

Gambar 3.3 Flowchart enkripsi algoritma Rail Fence

Mulai

Input Kunci

Buat matriks transposisi

Tentukan letak plaintext secara

diagonal

Ambil ciphertext secara horizontal

Hasil Enkripsi

Selesai

Input Plaintext

41

3.3.4 Flowchart Dekripsi

Flowchart berikut akan menjelaskan alur dari proses dekripsi dengan

kriptografi transposisi dengan algoritma Rail Fance Cipher. Rancangan flowchart

dekripsi dapat dilihat pada gambar berikut ini.

Gambar 3.4 Flowchart dekripsi algoritma Rail Fence

Mulai

Input Kunci

Buat matriks transposisi

Tentukan letak plaintext secara

horizontal berdasarkan jumlah

karakter per baris

Ambil ciphertext secara diagonal

Hasil Dekripsi

Selesai

Input Ciphertext

42

3.4 Perancangan Tampilan Input dan Output

Perancangan tampilan input dan output adalah bentuk tampilan yang akan

dibentuk pada program aplikasi. Pada rancangan ini, desain antarmuka akan dibagi

dengan beberapa desain sub-menu. Ada tiga buah menu tambahan yang ada pada

program aplikasi yang akan dirancang untuk memudahkan pengguna dalam

menggunakan program aplikasi. Berikut ini merupakan tahapan dari desain

antarmuka program aplikasi algoritma Rail Fence Cipher.

3.4.1 Menu Utama

Menu utama adalah tampilan utama yang berfungsi untuk memandu

penggua dalam menentukan pilihan menu. Gambar berikut ini adalah perancangan

menu utama yang akan dibuat.

Gambar 3.5 Tampilan Menu Utama

Rail Fence Cipher

Profil Penulis

Info

Keluar

Judul Skripsi

43

Menu ini memiliki berapa sub-menu antara lain:

1. Rail Fence Cipher

2. Info

3. About

4. Keluar

3.4.2 Menu Rail Fence Cipher

Menu ini adalah tampilan yan terpenting dari program aplikasi Rail Fence

Cipher ini. Bagaian tampilan ini berfungsi untuk melakukan proses enkripsi dari

algoritma Rail Fence Cipher. Menu ini terdiri dari beberapa objek yang menjadi

input, proses, output dan riwayat perhitungan dari plaintext ke ciphertext dan juga

ciphertext ke plaintext kembali. Gambar berikut ini adalah tampilan dari menu ini.

Gambar 3.6 Tampilan Menu Rail Fence Cipher

Plaintext Kunci

Log

Dekripsi

Enkripsi Ciphertext

Plaintext

Label

44

Menu Rail Fence Cipher memiliki beberapa bagian antara lain:

1. Plaintext

2. Kunci

3. Ciphertext

4. Label

5. Tombol Enkripsi

6. Tombol Dekripsi

3.4.3 Menu Info

Menu ini menampilkan informasi tentang algoritma Rail Fence Cipher.

Menu ini memiliki dua buah objek, yaitu objek gambar dan keterangan. Gambar

berikut ini adalah perancangan menu Info.

Gambar 3.7 Tampilan Menu Info

Gambar Keterangan

45

3.4.4 Menu Profil Penulis

Menu ini akan menampilkan keterangan singkat mengenai penulis. Pada

menu ini akan ditampilkan logo Universitas Pembangunan Panca Budi. Menu ini

terdiri dari dua objek, yaitu logo dan informasi. Gambar berikut ini adalah hasil

tampilan dari menu About.

Gambar 3.8 Tampilan Menu Profil Penulis

Logo

Informasi

46

BAB IV

HASIL DAN PEMBAHASAN

Bagian ini adalah hasil dari penelitian ini termasuk hasil dari perancangan

antarmuka yang sudah diterapkan ke dalam program aplikasi yang telah dibuat

menggunakan Microsoft Visual Basic.Net 2010. Hasil penelitian berupa suatu

aplikasi yang dapat digunakan untuk melakukan proses enkripsi dan dekripsi

menggunakan algoritma Rail Fence Cipher. Tetapi, untuk memperlancar penulisan

hasil, program aplikasi tersebut memerlukan sistem yang dapat mendukung kinerja

dari program aplikasi tersebut. Dalam melaksanakan penelitian sistem ini berfungsi

sebagai alat yang digunakan untuk membuat program aplikasi tersebut.

4.1 Spesifikasi Sistem

Penelitian ini merupakan penelitian yang berfokus pada pengembangan

ilmu kriptografi substitusi, dalam hal ini adalah algoritma Rail Fence Cipher. Selain

membutuhkan data penelitian yang bersumber dari internet, dibutuhkan juga

perangkat pendukung agar penelitian ini dapat diterapkan dengan baik dan benar.

Perangkat pendukung yang dibutuhkan dibagi menjadi dua yaitu perangkat keras

dan perangkat lunak. Adapun spesifikasi perangkat keras dan perangkat lunak

tersebut dapat dilihat pada bagian selanjutnya.

46

47

4.1.1 Spesifikasi Perangkat Keras

Penerapan algoritma Rail Fence Cipher pada metode kriptografi stream

cipher sudah pasti akan membutuhkan perangkat keras sebagai media fisik sebagai

sarana pendukung utama. Berikut ini adalah spesifikasi perangkat keras yang

digunakan pada penelitian ini.

Tabel 4.1 Spesifikasi perangkat keras

No. Nama Komponen Spesifikasi

1 Processor Intel Core i5 2.4 GHz

2 RAM 8192 MB

3 Storage 500 GB

4 Display 14 inch

4.1.2 Spesifikasi Perangkat Lunak

Perangkat lunak juga harus wajib ada untuk mendukung kerja dari

perangkat keras tersebut. Hal ini digunakan sebagai media antara manusia dan alat

dalam mendukung implementasi penelitian ini. Kebutuhan akan perangkat lunak

sebagai sarana non-fisik sangat menunjang hasil kerja. Berikut ini adalah

spsesifikasi perangkat lunak yang digunakan pada penelitian ini.

Tabel 4.2 Spesifikasi perangkat lunak

No. Nama Komponen Spesifikasi

1 Sistem Operasi Windows 10 64 Bit

2 IDE Pemrograman Microsoft Visual Basic.NET 2010

3 Tangkap Gambar Snipping Tool

4 Data Editor Microsoft Excel

48

4.2 Implementasi Antarmuka

Implementasi antarmuka algoritma Rail Fence Cipher ini memiliki beberapa

bagian yang sengaja diciptakan secara terpisah dan memiliki fungsi yang berbeda-

beda. Pembuatan antarmuka diprogram dengan Microsoft Visual Basic.Net 2010.

4.2.1 Halaman Menu Utama

Program aplikasi memiliki antarmuka yang berfungsi untuk berkomunikasi

dengan pengguna. Untuk menghindari kerumitan dalam berkomunikasi, maka

tampilan harus dikategorikan menjadi beberapa bagian kecil. Untuk mengarahkan

pengguna ke menu-menu tersebut, maka diperlukan suatu menu utama. Gambar

berikut ini adalah hasil tampilan menu utama.

Gambar 4.1 Halaman Menu Utama

49

4.2.2 Halaman Info

Halaman info adalah tampilan yang menampilkan penjelasan singkat

tentang sejarah algoritma Rail Fence Cipher. Halaman ini akan menampilkan

gambar dan keterangan. Gambar berikut adalah hasil tampilan dari halaman info.

Gambar 4.2 Halaman Info

4.2.3 Halaman Profil Penulis

Halaman profil penulis adalah tampilan seputar informasi penulis. Halaman

menampilkan informasi tentang nama, NPM, fakutas dan program studi dimana

penulis berapa. Gambar berikut adalah tampilan dari halaman profil tersebut.

50

Gambar 4.3 Halaman Profil Penulis

4.2.4 Halaman Rail Fence Cipher

Halaman ini merupakan proses perhitungan algoritma Rail Fence Cipher

untuk melakukan proses enkripsi dan dekripsi. Halaman ini memiliki enam buah

objek textbox, yaitu plaintext, ciphertext, plaintext, panjang dan kunci. Sementara

untuk proses eksekusi enkripsi dan dekripsi, tampilan ini memiliki tiga objek

button, enkripsi, dekripsi dan keluar. Gambar berikut ini adalah hasil tampilan dari

halaman Rail Fence Cipher.

51

Gambar 4.4 Halaman kriptografi algoritma Rail Fence

4.2.5 Hasil Perhitungan Algoritma Rail Fence Cipher

Halaman ini berisi tentang hasil tangkap gambar dari perhitungan yang

dilakukan oleh program aplikasi Rail Fence Cipher dalam melakukan proses

enkripsi dan dekripsi. Ada dua buah input yang harus diisi dalam menentukan hasil

yaitu plaintext dan kunci. Kedua textbox ini akan diproses sehingga membentuk

ciphertext. Setiap karakter pada plaintext akan diletakkan secara diagonal sesuai

dengan kedalaman kunci yang dilakukan berdasarkan matriks yang diciptakan.

Proses dekripsi akan melakukan hal pengambilan karakter dari matriks tersebut

secara horizontal. Hasil yang benar akan menampilkan bahwa plaintext sebelum

52

proses enkripsi adalah sama dengan plaintext yang dihasilkan setelah proses

dekripsi. Gambar berikut ini adalah tampilan dari hasil perhitungan proses enkripsi

algoritma Rail Fence Cipher.

Gambar 4.5 Halaman enkripsi algoritma Rail Fence Cipher

Untuk mengembalikan ciphertext ke plaintext diperlukan proses dekripsi.

Proses ini akan melakukan proses pengambilan karakter dari tabel matriks secara

horizontal sesuai dengan jumlah baris yang telah ditentukan. Pengambilan

dilakukan hingga semua karakter terpenuhi. Pada textbox plaintext harus

menampilkan deretan karakter yang sama percis pada plaintext pertama sekali agar

53

perhitungan algoritma Rail Fence Cipher tidak terdapat kesalahan. Jika ada satu

karakter yang tidak memiliki kesamaan dengan plaintext sebelumnya, maka

perhitungan ini dinyakatan tidak benar. Gambar berikut ini adalah tampilan dari

hasil perhitungan proses dekripsi algoritma Rail Fence Cipher.

Gambar 4.6 Halaman dekripsi algoritma Rail Fence Cipher

4.3 Pengujian Sistem

Pengujian adalah melakukan uji coba hasil perhitungan proses enkripsi dan

dekripsi algoritma Rail Fence Cipher. Pengujian dilakukan dengan dua cara yaitu

manual dan mengguanakan program aplikasi. Hasil dari kedua cara harus

54

menunjukkan keluaran yang sama agar perhitungan dinyatakan benar. Pertama

sekali sebelum melakukan perhitungan, ada beberapa tahap yang perlu dilakukan

yaitu memberikan nilai pada plaintext dan kunci. Berikut ini adalah perhitungan

lengkap dalam mengerjakan enkripsi dan dekripsi pada algoritma Rail Fence

Cipher.

Proses Enkripsi

Plaintext = FADHIL AHMAD ABEN. S

Kunci = 4

PARAMETER

==============================

Panjang Plaintext = 20

Jumlah Karakter per Blok = 6

Jumlah Blok = 3

Jumlah Sisa = 2

Karakter Posisi Baris Arah

F 0 ↓

A 1 ↓

D 2 ↓

H 3 ↓

I 2 ↑

L 1 ↑

0 ↑

A 1 ↓

H 2 ↓

M 3 ↓

A 2 ↑

D 1 ↑

0 ↑

A 1 ↓

B 2 ↓

E 3 ↓

55

N 2 ↑

. 1 ↑

0 ↑

S 1 ↓

MENENTUKAN CIPHERTEXT

==============================

Baris [0] = F

Baris [1] = ALADA.S

Baris [2] = DIHABN

Baris [3] = HME

Hasil enkripsi =

F ALADA.SDIHABNHME

Proses Dekripsi

Ciphertext = F ALADA.SDIHABNHME

Kunci = 4

PARAMETER

==============================

Panjang Plaintext = 20

Jumlah Karakter per Blok = 6

Jumlah Blok = 3

Jumlah Sisa = 2

MENENTUKAN PLAINTEXT

==============================

Baris [0] = 4

Baris [1] = 7

Baris [2] = 6

Baris [3] = 3

Baris [0] = F

Baris [1] = ALADA.S

Baris [2] = DIHABN

Baris [3] = HME

Hasil dekripsi =

FADHIL AHMAD ABEN. S

56

Berikut ini dilakukan pengujian dengan plaintext yang berbeda.

Plaintext = UNIVERSITAS PEMBANGUNAN PANCA BUDI

Kunci = 4

PARAMETER

==============================

Panjang Plaintext = 34

Jumlah Karakter per Blok = 6

Jumlah Blok = 5

Jumlah Sisa = 4

Karakter Posisi Baris Arah

U 0 ↓

N 1 ↓

I 2 ↓

V 3 ↓

E 2 ↑

R 1 ↑

S 0 ↑

I 1 ↓

T 2 ↓

A 3 ↓

S 2 ↑

1 ↑

P 0 ↑

E 1 ↓

M 2 ↓

B 3 ↓

A 2 ↑

N 1 ↑

G 0 ↑

U 1 ↓

N 2 ↓

A 3 ↓

N 2 ↑

1 ↑

P 0 ↑

57

A 1 ↓

N 2 ↓

C 3 ↓

A 2 ↑

1 ↑

B 0 ↑

U 1 ↓

D 2 ↓

I 3 ↓

U = 0

N = 1

I = 2

V = 3

E = 2

R = 1

S = 0

I = 1

T = 2

A = 3

S = 2

= 1

P = 0

E = 1

M = 2

B = 3

A = 2

N = 1

G = 0

U = 1

N = 2

A = 3

N = 2

= 1

P = 0

A = 1

N = 2

C = 3

A = 2

= 1

B = 0

U = 1

D = 2

I = 3

58

MENENTUKAN CIPHERTEXT

==============================

Baris [0] = USPGPB

Baris [1] = NRI ENU A U

Baris [2] = IETSMANNNAD

Baris [3] = VABACI

Hasil enkripsi adalah USPGPBNRI ENU A

UIETSMANNNADVABACI

PARAMETER

==============================

Panjang Plaintext = 34

Jumlah Karakter per Blok = 6

Jumlah Blok = 5

Jumlah Sisa = 4

MENENTUKAN PLAINTEXT

==============================

Baris [0] = 6

Baris [1] = 11

Baris [2] = 11

Baris [3] = 6

Baris [0] = USPGPB

Baris [1] = NRI ENU A U

Baris [2] = IETSMANNNAD

Baris [3] = VABACI

Hasil dekripsi adalah UNIVERSITAS PEMBANGUNAN PANCA

BUDI

59

BAB V

PENUTUP

5.1 Kesimpulan

Penulis memiliki beberapa kesimpulan yang dapat ditarik berdasarkan hasil

pengujian yang sudah dilakukan. Beberapa kesimpulan yang diperoleh adalah

antara lain:

1. Algoritma Rail Fence bekerja dengan cepat dalam melakukan kriptografi

transposisi.

2. Panjang kunci adalah jumlah baris yang akan digunakan sebagai kedalaman

pembentukan blok ciphertext.

3. Proses enkripsi algoritma Rail Fence Cipher bekerja dengan mengambil

karakter dari blok plaintext secara diagonal dari sudut kiri atas.

4. Proses dekripsi algoritma Rail Fence Cipher bekerja dengan mengambil

karakter dari blok ciphertext secara horizontal.

5.2 Saran

Penelitian juga memiliki beberapa saran dalam pengembangan program

aplikasi ini agar menjadi lebih baik. Ada beberapa pengembangan yang dapat

penulis paparkan untuk meningkatkan kualitas program aplikasi, antara lain:

1. Hendaknya kedalaman kunci dapat dilakukan secara multiple atau beberapa

kunci dapat dilakukan dalam satu jenis plaintext yang sama.

59

60

2. Rail Fence Cipher akan lebih baik jika dikombinasikan dengan algoritma

lainnya untuk meningkatkan tingkat keamanan.

3. Rail Fence Cipher hendaknya dapat digunakan pada sistem End-to-end

Encryption untuk menghindari pencurian informasi.

DAFTAR PUSTAKA

Anonim, E. H. Rachmawanto and C. A. Sari, "Keamanan File Menggunakan Teknik

Kriptografi Shift Cipher," Jurnal Techno. Com, vol. 14, no. 2, pp. 329-335, 2014.

Barus, S., Sitorus, V. M., Napitupulu, D., Mesran, M., & Supiyandi, S. (2018). Sistem

Pendukung Keputusan Pengangkatan Guru Tetap Menerapkan Metode Weight

Aggregated Sum Product Assesment (WASPAS). Jurnal Media Informatika

Budidarma, 2(2).

Batubara, Supina. "Analisis perbandingan metode fuzzy mamdani dan fuzzy sugeno untuk

penentuan kualitas cor beton instan." IT Journal Research and Development 2.1

(2017): 1-11

Bishop, Rosdiana, "Sekuritas Sistem Dengan Kriptografi," in Prosiding Sendi_U 2013,

Semarang, 2013.

FACHRI, Barany. Perancangan Sistem Informasi Iklan Produk Halal Mui Berbasis Mobile

Web Menggunakan Multimedia Interaktif. Jurasik (Jurnal Riset Sistem Informasi dan

Teknik Informatika), 2018, 3: 98-102.

Fresly, Faizal Zuli1, Ari Irawan, "Implementasi Kriptografi Dengan Algoritma Blowfish

dan Riverst Shamir Adleman (RSA) Untuk Proteksi File," Jurnal Format Volume

6 nomor 2 Tahun 2016.

Gede Angga Pradipta " Penerepan Kombinasi metode Enkripsi Vigenere Cipher Dan

Trasposisi Pada Aplikasi Client Server Chatting, " Jurnal Sistem Dan Informatika

Vol. 10, Nomor 2, 2016.

Ginting, G., Fadlina, M., Siahaan, A. P. U., & Rahim, R. (2017). Technical approach of

TOPSIS in decision making. Int. J. Recent Trends Eng. Res, 3(8), 58-64.

Khairul, K., IlhamiArsyah, U., Wijaya, R. F., & Utomo, R. B. (2018, September).

Implementasi Augmented Reality Sebagai Media Promosi Penjualan Rumah. In

Seminar Nasional Royal (Senar) (Vol. 1, No. 1, pp. 429-434).

Kurniawan, H. (2018). Pengenalan Struktur Baru untuk Web Mining dan Personalisasi

Halaman Web. Jurnal Teknik dan Informatika, 5(2), 13-19

Mayasari, Nova. "Comparison of Support Vector Machine and Decision Tree in Predicting

On-Time Graduation (Case Study: Universitas Pembangunan Panca Budi)." Int. J.

Recent Trends Eng. Res 2.12 (2016): 140-151.

Nandar Pabokory, Indah Fitri Astuti, Awang Harsa Kridalaksana, " Implementasi

Kriptografi Pengamanan Data Pada Pesan Teks, Isi File Dokumen, Dan File

Dokumen Menggunakan Algoritma Advanced Encryption Standard," Jurnal

Informatika Mulawarman Vol. 10. Nomor 1, 2015.

Putera, A., Siahaan, U., & Rahim, R. (2016). Dynamic key matrix of hill cipher using

genetic algorithm. Int. J. Secur. Its Appl, 10(8), 173-180.

Putra, Randi Rian, and Cendra Wadisman. "Implementasi Data Mining Pemilihan

Pelanggan Potensial Menggunakan Algoritma K Means." INTECOMS: Journal of

Information Technology and Computer Science 1.1 (2018): 72-77.

Rahim, R., Supiyandi, S., Siahaan, A. P. U., Listyorini, T., Utomo, A. P., Triyanto, W. A.,

... & Khairunnisa, K. (2018, June). TOPSIS Method Application for Decision

Support System in Internal Control for Selecting Best Employees. In Journal of

Physics: Conference Series (Vol. 1028, No. 1, p. 012052). IOP Publishing.

Ramadhan, A., & Mohd. Awal Hakimi. (2006). Pemprograman Web Database dengan

PHP dan MySQL. Synergy Media.

Ramadhan, M., & Nugroho, N. B. (2009). Desain web dengan php. Jurnal Saintikom,

6(1).

Renddy, Teady Matius, Surya Mulyana, Fresly, " Steganografi Dengan Deret Untuk

Mengacak Pola Penempatan Pada Rgb," Jurnal Teknologi Informasi, 2015.

Rhee, C. A. Sari, E. H. Rachmawanto, Y. P. Astuti and L. Umaroh, "Optimasi

Penyandian File Kriptografi Shift Cipher," in Prosiding Sendi_U 2013, Semarang,

2013.

Sari, R. D., Supiyandi, A. P. U., Siahaan, M. M., & Ginting, R. B. (2017). A Review of IP

and MAC Address Filtering in Wireless Network Security. Int. J. Sci. Res. Sci.

Technol, 3(6), 470-473.

Siahaan, A. P. U., Aryza, S., Nasution, M. D. T. P., Napitupulu, D., Wijaya, R. F., &

Arisandi, D. (2018). Effect of matrix size in affecting noise reduction level of

filtering.

Siahaan, MD Lesmana, Melva Sari Panjaitan, and Andysah Putera Utama Siahaan.

"MikroTik bandwidth management to gain the users prosperity prevalent." Int. J.

Eng. Trends Technol 42.5 (2016): 218-222.

Sidik, A. P. (2018). Algoritma RSA dan Elgamal sebagai Algoritma Tambahan untuk

Mengatasi Kelemahan Algoritma One Time Pad pada Skema Three Pass Protocol.

Suriski Sitinjak, Yuli Fauziah, Juwairiah, " Aplikasi Kriptografi File Menggunakan

Algoritma Blowfish," Jurnal Informatika Mulawarman Vol. 10. Nomor 1, 2015.

Tasril, V. (2018). Sistem Pendukung Keputusan Pemilihan Penerimaan Beasiswa

Berprestasi Menggunakan Metode Elimination Et Choix Traduisant La Realite.

INTECOMS: Journal of Information Technology and Computer Science, 1(1), 100-

109.