BAB 3.
ANALISA DAN PERANCANGAN SISTEM
3.1. Analisa Sistem 3.1.1 Analisa Sistem Analisa merupakan kegiatan menguraikan sistem yang sedang akan dibangun berdasar data-data yang telah terkumpul.
Yang dalam hal ini akan membahas mengenai
perancangan sistem aplikasi keamanan data menggunakan teknik kriptografi algoritma Caesar Chiper kombinasi sandi affine. Sehingga bisa ditentukan bagaimana sistem dan bentuk interface dari aplikasi yang sedang akan dibangun ini.
Analisa ini
dilakukan supaya sistem yang dibangun nanti menjadi tepat guna, mempermudah dalam pembangunan sistem serta lebih muda jika ada error atau masalah dalam sistem. Disamping itu bisa diketahui bagaimana pengembangan sistem kedepannya. 3.1.2 Analisa Masalah Dalam sistem ini data-data yang akan diolah adalah berupa pesan teks. Seiring perkembangan teknologi yang semakin pesat , cara berkomunikasipun semakin canggih, dimana pertukaran data yang salah satunya adalah berupa pesan teks bisa dilakukan dengan cara cepat menggunakan komputer ataupun alat lainnya yang melalui jaringan publik. Akan tetapi hal itu diiringi pula dengan timbulnya masalah baru dimana keamanan data jadi rentan terhadap penyadapan dan pencurian. Dan tentunya saat ini sudah banyak aplikasi-aplikasi yang menawarkan bagaimana cara supaya data bisa aman dari pencurian, pengubahan maupun penyadapan, salah satunya adalah aplikasi dimana sistem keamanan datanya menggunakan teknik enkripsi dan dekripsi dengan metode kriptografi algoritma Caesar Cipher. Teknik keamanan data dengan mengunakan metode Caesar Cipher masih mempunyai banyak kelemahan, dimana bekerja hanya dengan melakukan pergeseran, sehingga dapat dipecahkan dengan menggunakan metode Bruce Force, metode bruce Force yang palig sering digunakan adalah dengan menggunakan statistika frekuensi kemunculan huruf yang paling sering muncul, contoh kita mendapat pesan ‘MGEG’, karena didalam bahasa Indonesia diketahui bahwa huruf yang paling sering muncul adalah huruf A, maka huruf G yang mempunyai frekuensi kemunculan paling sering kita ganti dengan huruf A. Jika G mengacu pada huruf A, maka kunci pergeseran dari
3-1
http://digilib.mercubuana.ac.id/
A ke G adalah 6, selanjutnya sisa huruf M dan E kita geser mundur 6 kali, sehingga akan diperoleh pesan GAYA. 3.1.3 Analisa Pemecahan Masalah Melihat masih adanya kelemahan yang ada pada sistem keamanan data dengan menggunakan metode Caesar Cipher, maka perlu dilakukan inovasi bagaima supaya sistem keamanan data dengan metode Caesar cipher tersebut bisa lebih solid dan tidak mudah dipecahkan. Dan salah satu cara adalah dengan mengkombinasikan antara metode Caesar cipher dengan metode sandi Affine (Affine Cipher). Affine Cipher (metode affine) adalah perluasan dari metode Caesar Cipher yaitu dengan cara mengalikan pesan plaintext dengan sebuah nilai (a) dan menambahkannya dengan sebuah pergeseran (k). P menghasilkan ciphertext C dinyatakan kongkruen : C =((a x P) +k) mod 26 Dimana 26 adalah jumlah alphabet , persamaan diatas digunakan untuk proses enkripsi degan menggunakan sandi affine sedangkan untuk proses dekripsinya adalah dengan persamaan sebagai berikut : P = a-1 (Ci – k) mod 26 a adalah bilangan bulat yang harus relatif prima dengan 26, dengan kata lain faktor persekutuan terbesar fpb(a,26) harus sama dengan 1. Kombinasi Caesar dan Affine Cipher bekerja dengan cara mengenkripsi pesan dengan Caesar terlebih dahulu, selanjutnya pesan hasil enkripsi dengan teknik Caesar dienkripsi kembali dengan menggunakan teknik affine cipher, sehingga pola kemunculan statistika dari pesan ciphertext akan sulit dideteksi. Dengan demikian dalam kombinasi Caesar dan Affine Cipher ini akan memerlukan 3 buah bilangan integer, misalkan (x, a, k) dimana ‘x’ digunakan pada penentuan pergeseran huruf sebanyak (x) saat enkripsi menggunakan Caesar Cipher, sedangkan 2 bilangan sisa digunakan dalam metode Affine Cipher (a, k). Contoh : Tedapat pesan Plaintext MERCUBUANA, dengan kunci x = 6, a = 7 dan k = 8, maka langkah-langkah dalam proses enkripsi adalah sebagai berikut : 1. Geser pesan MERCUBUANA sebanyak 6 karakter (dengan metode Caesar Cipher), sehingga menghasilkan ciphertext ‘SKXIAHAGTG’ . 3-2
http://digilib.mercubuana.ac.id/
2. Kemudian dengan memetahan huruf alphabet A=0 sampai Z=25, maka akan didapat S=18. Sehingga huruf S akan berubah menjadi (7 x 18) + 8 mod 26= 134 mod 26= 4 dan karakter huruf ke 4 adalah E, langkah ini dilakukan secara terus menerus sampai huruf terakhir, sehingga akan diperoleh pesan Ciphertex ‘EANMIFIYLY’ Sedangkan langkah-langkah dalam proses dekripsi adalah sebagai berikut : 1. Pertama-tama kembalikan terlebih dahulu pesan ‘EANMIFIYLY’ dengan cara terlebih dahulu memetakan alphabet A=0 sampai Z=25, sehingga diketahui nilai E=4, dengan menggunakan rumus dekripsi affine cipher, maka dapat di proses menjadi : 7-1 x (4-8) mod26 Dengan menggunakan invers modula 26, maka diketahui 7-1 adalah 15, sehingga 15 x (4-8) mod 26 = -8, karena hasilnya minus (-) maka karakternya adalah 26-8=18, jadi karakter ke 18 adalah S, dan seterusnya langkah ini dilakukan sampai selesai, sehingga akan didapat pesan SKXIAHAGTG. 2. Selanjutnya adalah dengan menggunakan teknik Caesar cipher dimana telah diketahui kuncinya adalah 6, maka dari pesan tersebut digeser masing-masing 6 karakter ke kiri maka akan diperoleh pesan
MERCUBUANA, yang
merupakan pesan asli(plaintext). Dari contoh tersebut diatas maka bisa dilihat pengamanan dengan 2 kunci yaitu Caesar Cipher dan Affine Cipher akan lebih solid dan rumit dibandingakan dengan hanya menggunakan satu kunci saja 3.1.4 Analisa Pembuatan Sistem Tahapan ini diperlukan supaya sistem apliksi yang akan dibangun nanti sesuai dengan tujuan yang diharapkan. Dengan melakukan analisa ini diharapkan jika ada permasalahan dan hambatan yang ada bisa dengan segera ditemukan solusi dan pemecahannya seta kedepannya bisa dilakukan pengembangan terhadap sistem ini. 3.1.4.1 Kebutuhan Perangkat Lunak dan Perangkat Keras 1. Perangkat lunak yang digunakan dalam membangun aplikasi ini adalah sebagai berikut : 3-3
http://digilib.mercubuana.ac.id/
Microsoft windows (windows 7 / windows 8)
Bahasa Pemrograman Java
NetBeans IDE versi 8.0.2
2. Pada aplikasi ini, perangkat keras yang digunakan adalah Laptop dengan prosesor intel core i3 yang telah diinstal dengan sistem operasi windows 7 /64 bit.
3.1.4.2 Kebutuhan Sistem Sistem yang akan dibangun ini adalah untuk mengaplikasikan proses enkripsi dan dekripsi dengan mengunakan teknik kriptografi substitusi kombinasi metode Ceisar Cipher dan Affine Cipher , dimana terdapat satu user yang dapat melakukan enkripsi dan dekripsi pesan teks. Sebelum melakukan enkripsi user harus menginput pesan yang akan di ekripsi serta kunci terlebih dahulu, user juga bisa menyimpan pesan yang telah dienkrip kesebuah file penyimpanan. Sedangkan dalam proses dekripsi user bisa memilih file yang telah dienkripsi yang elah disimpan sebelumnya atau bisa juga dengan menginput sendiri pesan sandi yang mau di dekripsikan dnegam memasukkan kunci yang telah ditetapkan. 1. Proses Enkripsi Langkah-langkah dalam proses enkripsi adalah sebagai berikut :
Plaintext di enkripsi dengan memasukkan kunci menggunakan metode Caesar Cipher.
Hasil enkripsi Caesar Cipher kemudian di enkripsi kembali menggunakan Affine Cipher, dengan memasukkan dua bilangan yaitu kunci K yang relatif prima dengan 26 (26 adalah jumlah alphabet), bilangan tersebut adalah (1,3,5,7,9,11,15,17,19,21,23,25), serta bilangan m untuk menambahkan pergeseran.
Setelah melakukan enkripsi dengan affine cipher maka akan diperoleh cipherteks.
Hasil dari cipherteks kemudian disimpan kedalam sebuah file.
2. Proses Dekripsi Langkah-langkah proses dekripsi adalah sebagai berikut : 3-4
http://digilib.mercubuana.ac.id/
Masukan cipherteks dengan cara upload file yang telah tersimpan atau dengan ketik manual.
Masukkan kunci K dan m untuk dilakukan proses dekripsi menggunakan affine cipher.
Hasil dekripsi dengan affine chipper kemudian didekripsi kembali menggunakan Caesar cipher dengan memasukkan kunci untuk pergeseran
Hasil dari dekripsi berupa plainteks atau teks asli.
Gambar 3.1. Proses Enkripsi kombinasi Caesar Cipher dan Affine Cipher
3.2. Perancangan Sistem Tahap perancangan sistem ini merupakan tahapan dimana akan dijelaskan secara visual bagaimana bentuk serta alur sistem dari aplikasi yang akan dibangun ini, sistem ini dibangun untuk mengembangkan sistem keamanan data dengan teknik caesar chiper yang sudah ada menjadi lebih solid dengan mengkombinasikannya dengan teknik affine cipher. Tahapan perancangan sistem ini akan dijelaskan dengan menggunakan pemodelan pemrograman berorientasi objek yaitu UML. 3.2.1 Use Case Diagram Use Case adalah deskripsi fungsi dari sebuah sistem. Use Case bekerja dengan cara mendeskripsikan tipikal interaksi antara penguna (user) dengan sistem yang 3-5
http://digilib.mercubuana.ac.id/
digunakan melalui sebuah alur cerita bagaimana sistem dipakai. Berikut adalah use case dari aplikasi enkripsi deskripsi
Gambar 3.2. Use Case enkripsi deskripsi
Tabel 3.1. Proses Enkripsi Nama Use Case Deskripsi Singkat Aktor Pra Kondisi Tindakan Utama Tindakan Alternatif Pasca Kondisi
Proses Enkripsi Melakukan proses enkripsi User Belum ada file atau pesan yang mau di enkripsi Input/pilih pesan dan input kunci Hasil pesan sandi/ciperteks
Tabel 3.2. Proses Dekripsi Nama Use Case Deskripsi Singkat
Proses Dekripsi Melakukan Proses Dekripsi 3-6
http://digilib.mercubuana.ac.id/
Aktor Pra Kondisi Tindakan Utama Tindakan Alternatif Pasca Kondisi
User Pesan/File masih berbentuk Ciperteks Pilih File dan input kunci Menghasilkan pesan asli/plainteks
3.2.2 Activity Diagram 3.2.2.1 Activity Diagram Proses Enkripsi Activity Diagram proses enkripsi memiliki dua partition, yaitu user dan aplikasi. Dalam sistem ini user bisa input pesan atau ambil file dari media penyimpanan, input kunci serta menyimpan file hasil enkripsi, dan aplikasi akan memproses aktivitas tersebut. Diagram aktivity proses enkripsi dapat dilihat sebagai berikut :
Gambar 3.3. Activity Diagram proses Enkripsi
3-7
http://digilib.mercubuana.ac.id/
3.2.2.2 Activity Diagram Proses Dekripsi Activity Diagram proses Dekripsi memiliki dua partition, yaitu user dan aplikasi. Dalam sistem ini user bisa input pesan atau ambil file dari media penyimpanan,serta input kunci serta, dan aplikasi akan memproses aktivitas tersebut. Diagram aktivity proses enkripsi dapat dilihat sebagai berikut :
Gambar 3.4. Activity Diagram proses Dekripsi
3-8
http://digilib.mercubuana.ac.id/
3.2.3 Diagram Sequence 3.2.3.1 Diagram Sequence Proses Enkripsi Diagram sequence proses enkripsi mempunyai satu user dan dua line life
Gambar 3.5. Sequence Diagram Proses Enkripsi
3-9
http://digilib.mercubuana.ac.id/
3.2.3.2 Diagram Sequence Proses Dekripsi Diagram sequence proses dekripsi memiliki satu user dan dua line life
Gambar 3.6. Diagram Sequence Proses Dekripsi
3-10
http://digilib.mercubuana.ac.id/
3.3. Perancangan Algoritma 1. Algoritma Enkripsi Cesar Cipher
For i:= 1 to length (pt) do begin ct:=ord(upcase(pt[i]))+key; if c>90 then c:=c-26; pt[i]:=chr(ct); end;
2. Algoritma Dekripsi Cesar Cipher
for i:=1 to length(ct) do begin pt:= ord(upcase(ct[i]))-key; if pt<65 then pt:=pt+26; s[i]:=chr(pt); end;
3. Algoritma enkripsi kombinasi Cesar Cipher dan affine cipher
for i:=1 to length(pt) do begin ct:= ord(upcase(pt[i]))+key; if ct>90 then ct:=ct-26; pt[i]:=chr(ct); end; cte:=enkripsi_affin(a,k,pt); writeln('Cipher Text : '+cte);
3-11
http://digilib.mercubuana.ac.id/
4. Algoritma Function enkripsi_affin for i:=1 to length(s) do begin fl:=ord(upcase(s[i]))-65; hitung:=(a*fl+k) mod 26; temp[i]:=chr(hitung+65);
5. Algoritma Dekripsi kombinasi Cesar Cipher dan affine cipher
pt:=dekripsi_affin(a,k,ct); for i:=1 to length(pt) do begin c:= ord(upcase(pt[i]))-x; if c<65 then c:=c+26; pt[i]:=chr(c); end; writeln('Plain Text : '+pt);
6. Algoritma Function dekripsi_affin for i:=1 to length(s) do begin fl:=ord(upcase(s[i]))-65; hitung:=ainv*(fl-k) mod 26; temp[i]:=chr(hitung+65); end;
3-12
http://digilib.mercubuana.ac.id/
3.4. Perancangan Antar Muka Kriptografi 3.4.1 Tampilan Menu Awal
Gambar 3.7. Tampilan Menu awal
Keterangan :
Pada gambar diatas menampilakan tampilan awal aplikasi yang akan dibangun.
Ada pilihan menu untuk masuk ke form Enkripsi atau dekripsi
3.4.2 Tampilan Menu Enkripsi
Gambar 3.8. Tampilan Form Enkripsi 3-13
http://digilib.mercubuana.ac.id/
Keterangan :
Dijelaskan judul form yaitu program enkripsi
Menu adalah untuk memilih mau ke form dekripsi atau menu awal
Bar file ada pilihan keluar dari sistem atau save file
Ada teks area untuk mengisi pesan plainteks
Teks area untuk menampilkan hasil enkripsi (cipherteks)
Ada kolom kunci 1,2,dan 3 adalah berfungsi untuk memasukkan kunci enkripsi yang rdiri dari 3 kunci, 1 kunci untuk caesar chipher dan 2 kunci untuk affine cipher.
Button enkripsi untuk running proses enkripsi
Button simpan untuk menyimpan file hasil enkripsi
Button file untuk membuka file yang mau di enkripsi , yang telah tersimpan di derektori penyimpanan
Button keluar untuk keluar dari sistem.
3.4.3 Tampilan Menu Dekripsi
Gambar 3.9. Tampilan Form Dekripsi
3-14
http://digilib.mercubuana.ac.id/
Keterangan :
Dijelaskan judul form yaitu program dekripsi
Menu adalah untuk memilih mau ke form enkripsi atau menu awal
Bar file ada pilihan keluar dari sistem atau save file
Ada teks area untuk mengisi pesan cipheteks
Teks area untuk menampilkan hasil dekripsi (plainteks)
Ada kolom kunci 1,2,dan 3 adalah berfungsi untuk memasukkan kunci enkripsi yang rdiri dari 3 kunci, 1 kunci untuk caesar chipher dan 2 kunci untuk affine cipher.
Button dekripsi untuk running proses enkripsi
Button simpan untuk menyimpan file hasil dekripsi
Button file untuk membuka file yang mau di dekripsi , yang telah tersimpan di derektori penyimpanan
Button keluar untuk keluar dari sistem.
Kode ASCII
3-15
http://digilib.mercubuana.ac.id/
3-16
http://digilib.mercubuana.ac.id/
Gambar 3.10. Kode ASCII 3-17
http://digilib.mercubuana.ac.id/