BAB 4. PERANCANGAN 4.1 Perancangan Algoritma Perancangan merupakan bagian dari metodologi pengembangan suatu perangkat lunak yang dilakukan setelah melalui tahapan analisis. Perancangan bertujuan untuk memberikan gambaran secara terperinci. Perancangan merupakan tahap lanjutan dari analisis, dimana pada perancangan digambarkan rancangan yang akan dibangun sebelum dilakukan pengkodean ke dalam suatu bahasa pemrograman. Pada perancangan program ini yang pertama harus dilakukan adalah membuat Use Case Diagram, Activity Diagram dan diagram alir atau flowchart. Use case adalah rangkaian/uraian sekelompok yang saling terkait dan membentuk sistem secara teratur yang dilakukan atau diawasi oleh sebuah aktor. Activity Diagram adalah diagram yang menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis. Flowchart adalah bagan yang memperlihatkan urutan prosedur dan proses dari beberapa file di dalam media tertentu. Melalui flowchart dapat terlihat jenis media penyimpanan yang dipakai dalam pengelolahan data. Proses perancangan program ini merupakan kebutuhan yang direpresentasikan kedalam perangkat lunak sebelum memulai pembuatan code/coding. Meliputi diagram alir (flowchart) dari proses enkripsi dan diagram alir proses dekripsi. 47
4.1.1 Use Case Diagram 4.1.1.1 Use Case Diagram Proses Enkripsi Gambar 4.1 Use Case Diagram Proses Enkripsi Nama Use Encryption Case Aktor Pengirim (Sender) Deskripsi Proses enkripsi data Singkat Pra Kondisi - Tindakan Sender melakukan proses enkripsi dengan memasukkan Utama Pasca Kondisi plaintext dan key Menghasilkan Ciphertext Tabel 4.1 Use Case Diagram Proses Enkripsi Proses Enkripsi merupakan proses kriptografi atau penyandian dengan kunci tertentu ke dalam pesan asli. Adapun algoritma pada proses enkripsi adalah dengan teknik enkripsi subtitusi dan dikonversi kedalam bentuk bit (13 bit) yang menjadi sebuah kalimat yang aneh dan yang tidak dimengerti. 48
4.1.1.2 Use Case Diagram Proses Deskripsi Nama Use Case Aktor Deskripsi Singkat Gambar 4.2 Use Case Diagram Proses Deskripsi Decryption Penerima (Receiver) Proses dekripsi data Pra Kondisi - Tindakan Receiver memasukkan hasil enkripsi (berupa Utama Pasca Kondisi ciphertext+key) dan key Menghasilkan Plaintext Tabel 4.2 Use Case Diagram Proses Deskripsi 49
4.1.2 Activity Diagram 4.1.2.1 Activity Diagram Proses Enkripsi Gambar 4.3 Activity Diagram Proses Enkripsi Nama Proses Aktor Deskripsi Singkat Tindakan Utama Encryption Pengirim (Sender) Proses enkripsi data Sender melakukan proses enkripsi dengan memasukkan plaintext dan key Tabel 4.3 Activity Diagram Proses Enkripsi 50
4.1.2.2 Activity Diagram Proses Deskripsi Gambar 4.4 Activity Diagram Proses Deskripsi Nama Proses Aktor Deskripsi Singkat Tindakan Utama Decryption Receiver Proses dekripsi data Receiver memasukkan hasil enkripsi (berupa ciphertext+key) dan key Tabel 4.4 Activity Diagram Proses Deskripsi 51
Start Pesan Rahasia C(n+x)mod 43 N Key Ciphertext Ciphertext Konversi Ciphertext End Gambar 4.5 Flowchart Proses Enkripsi Berikut keterangan dari gambar 4.5 : 1. Memulai proses enkripsi dengan menginput pesan. 2. Masukan kunci yang diinginkan, karena kunci tersebut untuk melakukan proses enkripsi metode subtitusi. 3. Setelah diproses maka menghasilkan ciphertext, lalu ciphertext tersebut dikonversikan kedalam bentuk bit (13 bit) yang menjadi sebuah kalimat. 4. selesai 52
4.1.2.4 Perancangan Proses Deskripsi Proses Dekripsi adalah pengembalian pesan asli yang terenkripsi dengan kunci yang sama waktu proses enkripsi. Start Ciphertext Konversi Ciphertext C(n+x)mod 43 N Key Pesan Rahasia End Gambar 4.6 Flowchart Proses Dekripsi Berikut keterangan gambar 4.6 : 1. Memulai proses dekripsi dengan menginput ciphertext konversi biner yang diterima. 2. Masukan kunci yang sama pada saat proses enkripsi pesan. 3. Pada proses dekripsi ini, dari ciphertext langsung dikembalikan pada plaintext tersebut. 4. Setelah diproses maka akan menghasilkan plaintext dari pesan tersebut. 5. Selesai. 53
4.2 Perancangan Interface Kriptografi Rancangan ini digunakan untuk mendukung proses pembuatan program aplikasi kriptografi dengan menggunakan algoritma Caesar Cipher. Gambar 4.7 Rancangan dari Tampilan Interface 4.3 Rancangan Enkripsi Pada rancangan ini terdapat kotak pesan (frame plaintext) yang akan dirubah dalam proses enkripsi. Gambar 4.8 Rancangan Proses Enkripsi pada plaintext Private Sub Text0_AfterUpdate() Dim X, w1, a, b, c, d, e, f, g, h, i, j, k As Variant w1 = InputBox("Masukkan Kata Kunci : ") a = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789*%^+-/." b = (43 + w1) Mod 43 f = "" For c = 1 To Len(Me.Text0) d = Mid(Me.Text0, c, 1) g = InStr(a, d) 54
If (g + b) > 43 Then h = Mid(a, 1, g - 1) a = Mid(a, g) & h e = Mid(a, b, 1) GoTo balik End If e = Mid(a, b + g, 1) balik: f = f & e a = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789*%^+-/." Next MsgBox "hasilnya " & f, vbinformation, "Ok" Me.Text0 = "Source = " & Me.Text0 & ", Hasil substitusi dengan Caesar Cipher(" & b & ") menjadi : " & f 'Me.Text2 = haris(me.text0) Me.Text7 = f Me.Text2 = haris(f) MsgBox "nilainya =>" & Me.Text2, vbinformation, "test" End Sub Gambar 4.9 Rancangan Proses Enkripsi pada Konversi Bit (13 bit) Private Sub Text2_AfterUpdate() Dim x, a, b, c, d, e, f, g, h, i, j, k, l, w1 As Variant x = rifqi(me.text2) MsgBox "HASILNYA : " & x Me.Text7 = x Me.Refresh End Sub Private Sub Text2_Click() 55
Dim a As Variant x = rifqi(me.text2) 'MsgBox "HASILNYA : " & x Me.Text7 = x End Sub Private Sub Text2_DblClick(Cancel As Integer) Dim x As Variant x = rifqi(me.text2) MsgBox "HASILNYA : " & x Me.Text7 = x End Sub Dibawah ini merupakan keterangan dari gambar rancangan proses enkripsi, yaitu : 1. Masukan file yang akan dienkripsi, file yang diinput berupa text A-Z, 0-9, dan spesial karakter. 2. Masukan kunci yangdiinginkan untuk proses enkripsi 3. Hasil dari file yang telah dienkripsi berupa text, lalu dikonversikan kedalam bentuk bit (13 bit) yang menjadi sebuah kalimat berupa huruf abjad, angka, dan special karakter yang tidak dimengerti. 4.4 Rancangan Deskripsi Pada rancangan ini terdapat kotak pesan (frame ciphertext) yang akan dirubah dalam proses dekripsi. Gambar 4.10 Rancangan Proses Dekripsi Private Sub Text4_DblClick(Cancel As Integer) Dim X, a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, w1 As Variant 56
w1 = InputBox("Masukkan Kata Kunci : ") a = "abcdefghijklmnopqrstuvwxyz0123456789*%^+-/." f = "" m = "" n = "" For c = 1 To Len(Me.Text7) d = Mid(Me.Text7, c, 1) i = InStr(a, d) If d = " " Then 'Or d = "0" Or d = "1" Or d = "2" Or d = "3" Or d = "4" Or d = "5" Or d = "5" Or d = "6" Or d = "7" Or d = "8" Or d = "9" Then e = " " GoTo langsung End If g = i - w1 If g > 0 Then e = Mid(a, g, 1) Else j = InStr(a, d) k = Mid(a, j + 1) l = Mid(a, 1, j) m = k & l a = m n = Right(a, w1) e = Left(n, 1) a = "abcdefghijklmnopqrstuvwxyz0123456789*%^+-/." End If langsung: f = f & e Next MsgBox "hasilnya " & f, vbinformation, "Ok" Me.Text4 = f 57
End Sub Dibawah ini merupakan keterangan dari gambar rancangan proses dekripsi, yaitu : 1. Masukan file yang telah dienkripsi yang telah dikonversi dalam bentuk bit (13 bit) yang menjadi sebuah kalimat berupa huruf abjad, angka, dan special karakter yang tidak dimengerti. 2. Masukan kunci yang sama pada saat menginput file enkripsi. File ciphertext menjadi plaintext kembali. 58