BAB III ANALISIS DAN PERANCANGAN SISTEM 3.1 ANALISIS Analisis adalah penguraian dari suatu pembahasan, dalam hal ini pembahasan mengenai perancangan keamanan data menggunakan algoritma kriptografi subtitusi dan konversi biner yang berguna untuk mengetahui apa saja yang dapat dijadikan isi perancangan yang akan dibuat. Tujuan dari analisis ini sendiri adalah agar sistem yang akan dirancang menjadi tepat guna dan ketahanan dari sistem tersebut akan terjaga. Disamping itu dengan dilakukannya analisis akan dapat mempermudah kerja dalam membuat sistem, dan jika suatu saat nanti ada perbaikan atau penambahan dalam sistem tersebut, maka akan mudah dalam penyelesaiannya. 3.1.1 KEBUTUHAN DATA Analisis Kebutuhan data merupakan tahapan dimana dilakukannya analisis terhadap data-data apa saja yang diolah dalam sistem atau prosedur sebuah rancangan, dalam hal ini data yang akan di enkripsi pada aplikasi kriptografi adalah berupa file Text. 3.1.2 KEBUTUHAN KEAMANAN DATA Dalam suatu informasi sering terjadi pencurian terhadap informasi itu sendiri oleh pihak-pihak yang tidak bertanggung jawab. Oleh karena itu agar data yang dikirim aman dari orang yang tidak bertanggung jawab, data tersebut harus disembunyikan dengan cara menyandikan data tersebut menggunakan algoritma kriptografi subtitusi. Pertukaran data berupa pesan (message) yaitu suatu data atau informasi yang dapat dibaca dan dimengerti maknanya. Nama lain untuk 37
38 pesan disebut juga plaintexs atau teks jelas (clear text). Pesan dapat berupa data atau informasi yang dikirimkan melalui email atau Handphone. Agar pesan tidak dimengerti maknanya oleh pihak lain, maka pesan perlu disandikan ke bentuk lain yang dapat dipahami. Bentuk pesan yang tersandi disebut ciphertext atau kriptogram. Ciphertext harus dapat ditransformasikan kembali menjadi plaintext semula agar pesan yang diterima bisa dibaca. Algoritma kriptografi yang digunakan disebut juga cipher yaitu suatu bentuk aturan untuk enciphering dan deciphering, atau fungsi matematika yang digunakan untuk proses enkripsi dan deskripsi. Beberapa cipher memerlukan algoritma yang berbeda untuk enciphering dan deciphering. Keamanan suatu data sering diukur dari banyaknya kerja (work) yang dibutuhkan untuk memecahkan chiperteks menjadi plainteksnya tanpa mengetahui kunci yang digunakan. Semakin banyak kerja yang diperlukan, semakin lama waktu yang dibutuhkan, maka semakin kuat algoritma kriptografi tersebut. 3.1.3 PEMBUATAN SISTEM Untuk mencapai tujuan dari pembuatan sistem diperlukan tahapan analisis pendukung sistem. Dengan menganalisis secara teliti diharapkan tidak menemui hambatan hambatan yang berarti dalam mengembangkan sistem ini. 3.1.3.1 Kebutuhan Perangkat Lunak dan Perangkat Keras 1. Kebutuhan perangkat lunak untuk mengimplentasikan pembuatan aplikasi adalah sebagai berikut : Micrososft Windows 98/2000/ Windows XP/ Windows Vista/ Windows 7. Microsoft Access, disarenkan versi terbaru 1. Kebutuhan perangkat keras untuk mengimplementasikan pembuatan aplikasi adalah sebagai berikut : Desktop atau Personal Computer, Laptop Desktop/Laptop ini digunakan untuk menjalankan sistem operasi berupa aplikasi windows dan Microsoft office seperti Micrososft Access. Sistem Operasi Windows 32 Bit
39 3.1.3.1 KEBUTUHAN SISTEM Aplikasi perangkat lunak merupakan suatu sistem yang digunakan untuk mengaplikasikan proses enkripsi dan proses dekripsi dengan menggunakan teknik enkripsi subtitusi dan konversi biner. Pada sistem ini terdapat batasan yang jelas sebagai tujuan utamanya. Hal ini berguna agar perangkat lunak tersebut tidak keluar dari jalur atau rencana yang telah ditetapkan. 3.2 PEMODELAN FUNGSIONAL Pemodelan fungsional ini berguna untuk memodelkan fungsi-fungsi yang digunakan dalam perangkat lunak. Dalam implementasinya adalah Data Flow Diagram (DFD). Dalam membangun sistem ini dibagi menjadi 2 yaitu (DFD Level 0 sampai DFD Level 1). 3.2.1 DFD Level 0 Dalam DFD level 0 berguna untuk menggambarkan kinerja secara umum dari perangkat lunak. Pendefinisian dengan menggunakan DFD level 0 memberikan gambaran data yang mengalir antar sistem dengan user yang digambarkan secara global (Rosa & Salahudin, 2011). Gambar 3.1 Proses DFD Level 0
40 3.2.2 DFD Level 1 Dari DFD Level 0 lalu dirubah menjadi DFD Level 1 yang merupakan penjelasan lebih rinci dari DFD Level 0. Gambar 3.2 Proses DFD Level 1 3.3 PERANCANGAN PROGRAM Pada perancangan program ini yang pertama harus diperhatikan adalah algoritma program dan diagram alir atau flowchart. 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. 3.3.1 PERANCANGAN 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 konversi biner.
41 Gambar 3.3 Flowchart Proses Enkripsi 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 bilangan biner 13 digit. 4. selesai
42 3.3.2 PERANCANGAN PROSES DEKRIPSI Proses Dekripsi adalah pengembalian pesan asli yang terenkripsi dengan kunci yang sama waktu proses enkripsi. Gambar 3.4 Flowchart Proses Dekripsi 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 biner langsung dikembalikan pada plaintext tersebut. 4. Setelah diproses maka akan menghasilkan plaintext dari pesan tersebut. 5. Selesai.
43 3.4 PERANCANGAN INTERFACE KRIPTOGRAFI Rancangan ini digunakan untuk mendukung proses pembuatan program aplikasi kriptografi dengan menggunakan algoritma Caesar Cipher. Gambar 3.5 Rancangan dari Tampilan Interface
44 3.5 RANCANGAN ENKRIPSI Pada rancangan ini terdapat kotak pesan (frame plaintext) yang akan dirubah dalam proses enkripsi. Gambar 3.6 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("Enter your Key (number only) : ") 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) 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
45 MsgBox "hasilnya " & f, vbinformation, "Ok" Me.Text0 = "Source = " & Me.Text0 & ", Hasil substitusi dengan Caesar Cipher(" & b & ") menjadi : " & f 'Me.Text2 = saharman(me.text0) Me.Text7 = f Me.Text2 = saharman(f) MsgBox "nilainya " & Me.Text2, vbinformation, "test" End Sub Gambar 3.7 Rancangan Proses Enkripsi pada Konversi Biner 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() 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)
46 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 biner 13 digit. 3.6 RANCANGAN DEKRIPSI Pada rancangan ini terdapat kotak pesan (frame ciphertext) yang akan dirubah dalam proses dekripsi. Gambar 3.8 Rancangan Proses Dekripsi Private Sub Text4_AfterUpdate() Me.Text7 = Me.Text4 End Sub 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 w1 = InputBox("Enter your Key (number only) : ") a = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789*%^+-/. "
47 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 End Sub
48 Dibawah ini merupakan keterangan dari gambar rancangan proses dekripsi, yaitu : 1. Masukan file yang telah dienkripsi yang telah dikonversi dalam bentuk biner 13 digit. 2. Masukan kunci yang sama pada saat menginput file enkripsi. 3. File ciphertext menjadi plaintext kembali.