• Tidak ada hasil yang ditemukan

BAB III ANALISA DAN PERANCANGAN

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB III ANALISA DAN PERANCANGAN"

Copied!
16
0
0

Teks penuh

(1)

BAB III

ANALISA DAN PERANCANGAN 3.1 Analisis Sistem

Analisis sistem merupakan tahap melakukannya penjelasan sistem kedalam bentuk yang lebih sederhana untuk dapat mengidentifikasi dan mengevaluasi permasalahan yang ada pada sistem dan kebutuhan apa saja yang diperlukan sehingga dapat dilakukan perbaikan pada system nantinya.

3.2 Analisis Masalah

Dengan mencari masalah yang ada pada sebuah sistem, hal ini dapat membantu untuk menganalisis sistem yang akan dikembangkan sehingga tujuan dari sistem tersebut dapat tercapai. Masalah yang akan dikembangkan oleh penulis adalah bagaimana mengamankan data atau informasi yang sangat rahasia sehingga tidak dapat diketahui oleh pihak lain yang tidak bersangkutan.

3.3 Analisis Persyaratan (Requirement Analysis)

Analisis persyaratan terdiri atas dua bagian yaitu analisis fungsional dan analisis non-fungsional.

3.3.1 Analisis Fungsional

Analisis fungsional dibutuhkan untuk mengetahui hal-hal yang dapat dilakukan oleh sistem. Berikut merupakan persyaratan yang harus dimiliki oleh sistem.

1. Sistem harus dapat melakukan enkripsi pesan dengan menggunakan Tiny Encryption Algorithm, kemudian menyisipkan pesan tersebut ke dalam sebuah citra dengan algoritma Least Significant Bit.

2. Sistem harus dapat mengembalikan pesan seperti bentuk awal saat dilakukan dekripsi pesan.

3.3.2 Analisis Non-Fungsional

(2)

1. Performa

Sebuah sistem yang dibangun harus dapat menunjukkan hasil proses kombinasi antara TEA dan Steganografi, dan dapat diekstraksi kembali yang berupa pesan dan citra asli.

2. Mudah Digunakan

Sistem yang dibangun haruslah sederhana agar mudah dioperasikan oleh pengguna (user).

3. Hemat Biaya

Tidak membutuhkan perangkat tambahan yang mengeluarkan biaya. 4. Dokumentasi

Sistem yang dibangun harus dapat menampilkan hasil pemrosesan yang dilakukan. 5. Manajemen Kualitas

Sistem yang dibangun harus berkualitas, baik dalam tampilan maupun penggunaannya.

6. Kontrol

Sistem yang dibangun memiliki kontrol berupa enable dan disable, yaitu pada saat memulai sistem harus terlebih dahulu menginput key enkripsi, sedangkan proses penyisipan dalam keadaan tidak aktif. Untuk proses pengekstrakan, terlebih dahulu menginput stego-image, sedangkan proses dekripsi di-disable-kan.

3.4 Implementasi Tiny Encryptions Algorithm

Tiny Encryptions Algorithm (TEA) merupakan algoritma yang mengguakan kunci simetris,

dengan suatu plaintext yang berjumlah 64 bit kemudian dibagi menjadi 2 blok, yaitu blok kiri dan blok kanan, setiap blok berjumlah 32 bit. Kemudian memiliki proses pembentukan kunci algoritma TEA yaitu kunci yang berjumlah 128 bit dibagi menjadi 4 blok, masing-masing setiap blok berjumlah 32 bit. TEA berbasiskan dengan jaringan fiestel dan memiliki 32 kali putaran (1 kali putaran memiliki 2 round). Flowchart enkripsi dapat dilihat pada gambar 3.1

(3)

Gambar 3.1 Flowchart Enkripsi TEA

Sebagai contoh implementasi dari algoritma Tiny Encryption Algorithm pada kasus berikut ini.

Plaintext : EZADITYA

Key : Ezaditya28111994

Plaintext akan dibagi menjadi 2 blok yaitu kedalam blok A dan blok B :

A = EZAD B = ITYA

(4)

Kemudian Key = 128 bit, dibagi menjadi 4 blok masing- masing 32 bit : K[0] = Ezad

K[1] = itya K[2] = 2811 K[3] = 1994

Plaintext diubah menjadi kode ASCII, kemudian diubah ke biner

EZADITYA E = 69 = 01000101 Z = 90 = 01011010 A = 65 = 01000001 D = 68 = 01000100 I = 73 = 01001001 T = 84 = 01010100 Y = 89 = 01011001 A = 65 = 01000001

Key diubah menjadi kode ASCII, kemudian ke biner

E = 69 = 01000101 z = 122 = 01111010 a = 97 = 01100001 d = 100 = 01100100 i = 105 = 01101001 t = 116 = 01110100 y = 121 = 01111001 a = 97 = 01100001 2 = 50 = 00110010 8 = 56 = 00111000 1 = 49 = 00110001 1 = 49 = 00110001

(5)

1 = 49 = 00110001 9 = 57 = 00111001 9 = 57 = 00111001 4 = 52 = 00110100

Biner plaintext digabungkan dan menghasilkan bentuk seperti ini : A(r) = 01000101010110100100000101000100

B(l) = 01001001010101000101100101000001

Biner key digabungkan sehingga menghasilkan bentuk seperti ini : K[0] = 01000101011110100110000101100100

K[1] = 01101001011101000111100101100001 K[2] = 00110010001110000011000100110001 K[3] = 00110001001110010011100100110100

Plaintext mengalami pergeseran bit ke kiri sebanyak 4 bit kemudian 5 bit pergeseran ke kanan.

A(r) = 01000101010110100100000101000100 A(kiri) = 01010101101001000001010001000100 A(kanan) = 00100010101011010010000010100010

A(kiri) = ditambah dengan K[0] :

A(kiri) = 01010101101001000001010001000100 K[0] = 01000101011110100110000101100100 AL(K[0]) = 01010101111111100111010101100100

A(kanan) ditambah dengan K[1]:

(6)

K[1] = 01101001011101000111100101100001 AR(K[1]) = 01101011111111010111100111100011

Plaintext awal A(r) ditambah dengan bilangan delta.

Secara konstal nilai delta, diubah ke nilai Hexadesimal = 93E779B9 dan diubah ke biner dengan membagi 4 bagian : 9E = 10011110 37 = 00110111 79 = 01111001 B9 = 10111001 A(r) = 01000101010110100100000101000100 Delta = 10011110001101110111100110111001 Ar(Delta) = 11011111011110110111100100111101 Kemudian di XOR kan dengan plaintext AL(K[0]); Ar(Delta) = 11011111011110110111100100111101 AL(K[0]) = 01010101111111100111010101100100 10001010100001010000110001011001 Kemudian di XOR kan dengan plaintext AR(K[1]):

= 10001010100001010000110001011001 AR(K[1]) = 01101011111111010111100111100011 11100001011110000111010110111010

Untuk Plaintext B(l) mengalami pergeseran bit ke kiri sebanyak 4 bit lalu 5 bit pergeseran ke kanan.

B(l) = 01001001010101000101100101000001 B(kiri) = 10010101010001011001010000010100 B(kanan) = 00101100101010100010110010100000 B(kiri) ditambah dengan K[2] :

(7)

B(kiri) = 10010101010001011001010000010100 K[2] = 00110010001110000011000100110001 BL(K[2]) = 10110111011111011011010100110101 B(kanan) ditambah dengan K[3]:

B(kanan) = 00101100101010100010110010100000 K[3] = 00110001001110010011100100110100 BR(K[3]) = 00111101101110110011110110110100

Plaintext awal B(1) ditambah dengan bilangan delta.

B(l) = 01001001010101000101100101000001 Delta = 10011110001101110111100110111001 11011111011101110111100111111001 Kemudian di XOR kan dengan BL(K[2])

11011111011101110111100111111001 BL(K[2]) = 10110111011111011011010100110101 01101000000010101100110011001100 Kemudian di XOR kan dengan BR(K[3])

01101000000010101100110011001100 BR(K[3]) = 00111101101110110011110110110100 01010101101100011111000101111000 Hasil Akhir = 11100001011110000111010110111010 B(l) = 01001001010101000101100101000001 11101001011111000111110111111011 B1 (L1) Hasil Akhir = 01010101101100011111000101111000 A(r) = 01000101010110100100000101000100 01010101111110111111000101111100 A1 (R1)

(8)

Telah didapat proses hasil enkripsi dari Tiny Encryption Algorithm dengan 2 round (1

cycle) dengan hasil A1(L1) digabung denga B1(R1), namun proses enkripsi akan berakhir sampai

32 round (16 cycle), dimana setiap penyelesainnya setiap 2 round digunakan hasil cipher sebelumnya untuk melanjukan 2 round berikutnya. Hasil ciphertext dari kasus tersebut adalah D6FN§•* \¢Ù‹ó®¡È‰Pò«·)D©¢3ƒ®‰xxxxxxxxx

Konsep pendekripsian dari Tiny Encryption Algorithm memiliki proses yang sama dengan enkripsi, perbedaannya pada penjumlahan Kunci yang terjadi setelah pergeseran bit. Pada saat dekripsi A(r) dilakukan pergeseran bit ke kiri sebanyak 4 bit maka ditambah K[1]. Kemudian setelah pergeseran bit ke kanan sebanyak 5 bit ditambah K[0]. Untuk dekripsi A(l) dilakukan pergeseran bit ke kiri sebanyak 4 bit maka ditambah K[3]. Kemudian setelah pergeseran bit ke kanan sebanyak 5 bit ditambah K[2].

3.5 Rancangan Sistem

Program yang akan dibuat terdiri dari tiga buah Form, yaitu terdiri dari enkripsi dan

stegano, deskripsi dan ekstrak.

Untuk dapat mengoperasikan aplikasi user harus terlebih dahulu melakukan enkripsi file

dan memilih dokumen berupa text (.txt), setelah itu melakukan enkripsi yang diinput (plaintext) akan berubah menjadi chipertext yang selanjutnya akan di masukan pesan tersembunyi tersebut atau embedding ke dalam citra gambar. Output berupa gambar sebelum di sisipkan akan sama setelah disisipkan oleh pesan rahasia tersebut dengan kata lain, tidak ada yang berbeda dari citra gambar yang asli.

Sedangkan untuk mengembalikan file yang sudah di embedding menjadi file asli yang

gambar sebelum disisipkan, user juga dapat memilih menu Deskripsi dan Extract. Tapi untuk melihat gambar ada pesan atau tidak user harus dapat mamasukan kunci yang sama seperti mengenkrip pada step sebelumnya. Secara umum, rancangan program akan dilihat pada gambar 3.2

(9)

Gambar 3.2 Rancang Bangun Aplikasi 3.6 Rancangan Layar

Rancangan layar sangat penting dalam membuat suatu program atau aplikasi, oleh karena itu rancangan layar harus mudah dimengerti dan di pahami oleh user, agar dalam menggunakan program user merasa nyaman dalam mengoperasikannya sehingga tampilan layar dapat mempermudah user dan tidak mengalami kesulitan saat menggunakan program ini. Dalam program ini, akan digambarkan rancangan layar masing-masing menu, yaitu menu enkripsi dan

stegano, menu dekripsi dan ekstrak.

3.6.1 Rancangan Layar Menu Enkripsi dan Stegano

Berikut adalah rancangan layar pada Form menu Enkripsi dan Stegano. Untuk mengenkripsi file, user terlebih dahulu memilih file yang akan dienkripsi. Kemudian user harus memasukan password maksimal 16 karakter agar file dapat dienkripsi. Kemudian

user dapat memasukan file gambar untuk disisipkan pesan yang telah dienkrip sebelumnya.

(10)

Gambar 3.3 Rancangan Layar Enkripsi dan Stegano 3.6.2 Rancangan Layar Menu Deskripsi dan Ekstrak

Berikut adalah rancangan layar pada form menu Deskripsi dan Ekstrak. Pada menu ini user dapat melihat pesan yang disisipkan sebelumnya atau membuka pesan yang telah disisipkan oleh citra gambar tersebut. User terlebih dahulu memilih gambar yang telah disisipkan sebelumnya. Kemudian user memasukan kunci yang sama untuk membuka pesan yang disisipkan pada gambar tersebut. Jika kunci yang dimasukan berbeda maka tidak akan tampil pesan yang sudah disisipkan. Untuk lebih jelasnya dapat dilihat pada gambar 3.4

(11)

3.7 Flowchart Sistem

Flowchart adalah representasi grafik dari langkah-langkah yang harus diikuti dalam

menyelesaikan suatu permasalahan yang terdiri atas sekumpulan simbol, dimana masing-masing simbol mempresentasikan suatu kegiatan tertentu. Flowchart diawali dengan penerimaan input, pemrosesan input dan diakhiri dengan penampilan output. Flowchart melukiskan suatu aliran kegiatan dari awal hingga akhir mengenai suatu langkah-langkah dalam penyelesaian suatu masalah. Masalah yang dihadapi tentunya masalah pemrograman.

Sistem ini terdiri dari beberapa proses, yaitu proses enkripsi dan dekripsi dengan menggunakan algoritma Tiny Encryption Algorithm, dan proses ektraksi pemyembunyian data .

3.7.1 Flowchart Menu Enkripsi dan Stegano

Flowchart menu enkripsi dan stegano ini merupakan alur jalanya proses dimana user bisa memilih file yang ingin di enkripsi atau menulis sendiri kata yang akan di

enkripsi. Setelah berhasil mengenkrip user dapat memilih objek gambar untuk di sisipkan pesan yang sebelumnya sudah di enkripsi. Dapat dilihat pada gambar 3.7

(12)

Gambar 3.5 Flowchart Menu Enkripsi dan Stegano 3.7.2 Flowchart Menu Deskripsi dan Ekstrak

Flowchart menu Deskripsi dibawah ini adalah alur jalanya proses pengambilan atau

melihat pesan rahasia yang telah disisipkan pada citra gambar. Dapat dilihat pada Gambar 3.8

(13)

Gambar 3.6 Flowchart Menu Deskripsi dan Ekstrak Pesan 3.7.3 Flowchart Dekripsi Tiny Encyrptions Algorithm

Dekripsi merupakan proses mengembalikan ciphertext menjadi plaintext dengan menjelaskan secara detail proses utama dekripsi TEA. Flowchart proses dekripsi dapat dilihat seperti Gambar 3.10

(14)
(15)

3.8 Pseudocode

Pseudocode adalah penyajian algoritma agar mudah dipahami. Pseudocode bukan

terjemahan dari suatu bahasa pemrograman sehingga penulisanya tidak menggunakan gaya bahasa pemrograman tertentu (Amborowati 2007)

3.8.1 Pseudocode Proses Enkripsi

Pseudocode untuk proses enkripsi pesan dengan menggunakan algoritma TEA. Pseudocode berikut merupakan proses utama dalam pengenkripsian pesan, yang

menjelaskan bagaimana cara TEA membagi data inputan menjadi dua bagian, kemudian menambahkan delta dan key masing-masing sebanyak 1 round, dan proses akan berhenti sampai menampilkan ciphertext setelah 32 round. Pseudocode secara singkat dapat dituliskan sebagai berikut:

1. uint Ar -- > v[0] 2. uint Bl -- > v[1] 3. uint sum -- > 0

4. uint delta -- > 0x9e3779b9; 5. uint n -- > 32

6. while (n-- > 0) 7. {

8. sum -- > delta

9. Ar -- > (Bl << 4) + k[0] ^ Bl + sum ^ (Bl >> 5) + k[1] 10. Bl -- > (Ar << 4) + k[2] ^ Ar + sum ^ (Ar >> 5) + k[3] 11. }

12. v[0]-- > Ar 13. v[1]-- > Bl 14. Print Ar, Bl

(16)

3.8.2 Pseudocode Proses Dekripsi

Proses pendekripsian dalam pseudocode mempunyai proses yang sama dalam enkripsi. Hanya proses pertukaran kunci yang memiliki perbedaan dalam mendekripsikan ciphertext sehingga menghasilkan plaintext. Berikut merupakan proses urutan langkah proses dekripsi data :

1. uint n -- > 32 2. uint sum

3. uint Ar -- > v[0] 4. uint Bl -- > v[1]

5. uint delta -- > 0x9e3779b9 6. sum -- > delta << 5

7. while (n-- > 0) 8. {

9. Bl -- > (Ar << 4) + k[2] ^ Ar + sum ^ (Ar >> 5) + k[3] 10. Ar -- > (Bl << 4) + k[0] ^ Bl + sum ^ (Bl >> 5) + k[1] 11. sum -- > delta 12. } 13. v[0] -- > Ar 14. v[1] -- > Bl 15. Print Ar, Bl

Gambar

Gambar 3.1 Flowchart Enkripsi TEA
Gambar 3.2 Rancang Bangun Aplikasi  3.6  Rancangan Layar
Gambar 3.3 Rancangan Layar Enkripsi dan Stegano
Gambar 3.5 Flowchart Menu Enkripsi dan Stegano
+3

Referensi

Dokumen terkait

Berdasarkan temuan hasil penelitian, maka diperoleh kesimpulan bahwa Venezuela menerima peran menjadi mediator dalam konflik tersebut karena didorong oleh ideologi

578 Pengantar komunikasi ( Panduan Praktikum ) HARUN, Rochayat 579 Pembinaan Kelompok ( Panduan Praktikum/Untuk Instruktur ) MARZUKI, Syamsiah 580 Pengembangan sumberdaya

Dalam permasalahan ini perilaku pemilih pemula yang bernama Doni adanya pengaruh dari orangtua untuk memilih pilihan yang akan dipilih oleh orang tuanya, dalam pilkada

Gambar 3.8 System Boundaries pada Sub Bagian Persuratan dan Arsip Distribusi &amp; Pengiriman Pengarsipan Surat &amp; Dokumen Percetakan Pencatatan Dokumen Divisi terkait Non BMG

Azokat a tanulókat, akik mind a három kérdéssel egyetértettek vagy inkább egyetértettek, a magas indexpontszámú kategóriába sorolták (pozitív attitűd), azokat pedig,

Puji Syukur kepada Tuhan Yesus Kristus, yang telah membimbing, menyertai dan memberikan hikmatNya sehingga penulis dapat menyelesaikan penyusunan skripsi dengan judul “Analisis

Puji syukur kehadirat Tuhan Yang Maha Esa atas rahmat dan berkat-Nya, penulis dapat menyelesaikan tugas penulisan seminar skripsi dengan tema “Mencari Hubungan Antara Kuat

Oleh karena itu, dalam rangka upaya penanaman terumbu karang bu- atan pada suatu ekosistem baru, perlu dikaji faktor-faktor kondisi hidrologis dan lingkungan