untitled - universitas pembangunan panca budi
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.