• Tidak ada hasil yang ditemukan

BAB III ANALISIS DAN DESAIN SISTEM

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB III ANALISIS DAN DESAIN SISTEM"

Copied!
18
0
0

Teks penuh

(1)

28

Pada bab ini akan dibahas mengenai Aplikasi Pengamanan Gambar Dengan Format JPG dan GIF Menggunakan RC6 yang meliputi analisa sistem dan desain sistem.

III.1. Analisis Masalah

Adapun analisa masalah pada Aplikasi Pengamanan Gambar Dengan Format JPG dan GIF Menggunakan RC6 yaitu :

1. Banyaknya pihak-pihak yang melakukan modifikasi gambar yang bertujuan negatif sehingga merugikan pihak-pihak tertentu.

2. Terjadinya interupsi yang dapat mengganggu ketersediaan gambar yaitu gambar yang ada dapat dihapus sehingga pihak yang membutuhkan gambar tersebut tidak dapat menemukan gambar tersebut.

3. Seringnya terjadi ancaman intersepsi yaitu merupakan ancaman terhadap kerahasiaan gambar.

Berdasarkan analisa diatas maka penulis telah melakukan evaluasi dari sistem yang sedang berjalan dan penulis menemukan kelemahan sistem yang ada. Dengan demikian penulis memberikan suatu solusi pemecahan masalah yang diharapkan dapat mengatasi kelemahan sistem yang ada. Adapun solusi yang ditawarkan adalah membangun Aplikasi Pengamanan Type File Gambar

(2)

Menggunakan RC6. Aplikasi ini adalah salah satu alat yang diyakini mampu memberikan konstribusi positif dalam menjamin keamanan type file gambar.

III.2. Algoritma RC6

Algoritma RC6 merupakan algoritma yang menggunakan kunci simetris (kunci enkripsi sarna dengan kunci dekripsi) didesain oleb Ronald Linn Rivest, Matt J.B Robshaw, Ray Sydney, dan Yuqin Lisa Yin dan Laboratoriurn RSA. RC adalah singkatan dan Rivest Code sedangkan 6 berarti algoritma ini merupakan pengembangan dan algoritma sebelumnya.

Letak perbedaan RC6 dan varian-varian sebelumnya adalah adanya langkah transformasi dan perbedaan banyak register. Register diperlukan untuk penempatan blok data yang diolah pada algoritma sehingga algoritma mengolah data pada tiap register yang ada. Algonitma RC5 mnembagi plaintext ke dalam 2 register, lain halnya dengan RC6 yang membagi plaintext ke dalam 4 register. Sedangkan algoritma RC4 bukanlah algoritma block cipher (algoritma penyandian yang mengolah data per blok) seperti RC5 dan RC6 melainkan algoritma stream cipher (algoritma penyandian yang mengolah data per bit). RC6 mempunyai tiga parameter, sehingga dituliskan sebagai RC6-w/r/b. Ketiga paramater tersebut berarti ukuran register w (32, 64 atau 128 bit). banyak iterasi r yang tidak boleh bernilai negatif dan panjang kunci b. Saat algoritma ini masuk kandidat AES, ditetapkan nilai w = 32 bit, r = 20, dan b bervariasi antara 16, 24, dan 32 bit. Pemilihan w = 32 bit mengindikasikan bahwa operasi-operasi yang ada

(3)

pada algoritma RC6 seperti penjumlahan. pengurangan. perkalian, XOR, dan shift dilakukan pada operand berupa tepat 32 bit bilangan biner.

III.2.1 Key Scheduling

Sebelum melakukan proses enkripsi dan dekripsi, dibutuhkan suatu key scheduling untuk mendapatkan kunci-kunci yang akan digunakan dalarn proses enkripsi dan dekripsi tersebut.

Algoritma key scheduling RC6 terdiri dan 3 tahap utama, yaitu: a) Penempatan kunci yang di-input pengguna kedalam array L

b) Inisialisasi kunci yang ditempatkan dalam arroy S c) Kombinasi L dan S

Kunci yang di-input pengguna K[0. . b - 1] memiliki panjang sebesar b byte. Besar b bervariasi yaitu 16. 24, atau 32 byte. Kemudian kunci dimasukkan kedalam array berukuran c word L[0,1, ... , c -1] dengan nilai c = [b/4]. Misal b= 16 byte, maka algoritma RC6 menyiapkan array L[0,1,2,3] karena panjang kunci sebesar 16 byte terdiri dan 4 word(1 word = 32 bit = 4 byte) untuk penempatan kunci yang dimasukkan oleh pengguna. Proses tersebut dapat dilakukan dengan menggunakan algoritma dibawah ini:

{penempatan kunci pengguna) for i = b-1 downto 0

L[i/u]=L[i/u<<<8]+K[i] end

(4)

Kemudian inisialisasi kunci S rnenggunakan magic constant Pw dan Qw

sesuai Algoritma dibawah. Proses untuk membangun kunci inisialisasi tersebut didapat dari dua buah magic constant Pw dan Qw. Beberapa nilai magic constant

dalam heksadesimal pada beberapa ukuran register (w)

{ Inisialisasi kunci S[i] } S [0] =Pw

for i =1 to 2r+3 S[i]=S[i = 1]+ Q w

end

Selanjutnya adalah proses kombinasi kunci yang di-input pengguna L dengan kunci inisialisasi S dilakukan berdasarkan algoritma key scheduling RC6 rnenghasilkan 44 kunci ronde yang ditempatkan pada array S[O,1, ... ,43].

(Key Scheduling RC6) Input : array L[0,l,2,...,c=l] Output : array S[0,1,2,...,2r+4] Prosedur : S[0]=P w for i= 1 to 2r+3 S[i] = S[i=1]+ Q w end A=B=i=j =0 ;V=3*max (c, 2r+4) for s=1 to v

(5)

S[i]=(S[i]+A+B)<<<3 A=S [i]

L[j]=(L[j]+A+B)<<<(A+B) B=L [j]

i=i+l mod 2r+4; j=j+l mod c end

Proses kombinasi kunci pengguna L dengan hasil kunci inisialisasi S menjadi kunci-kunci ronde ditampung dalam array S[0,1,2, ... ,2r + 3] dengan panjang masing-masing kunci ronde 32 bit. Kunci insialisasi S[i] ditambahkan dengan nilai A dan B. Pada langkah awal, nilai A dan B adalah nol, lalu hasilnya digeser sebesar 3 bit ke kiri. kemudian nilai S[i] yang baru disimpan di A. L[j] ditarnbahkan dengan nilai A dan B. lalu hasilnya digeser ke kiri sebesar 5 bit dan nilai penjumlahan A dan B. Langkah ini mcmperlihatkan kunci pengguna telah dikombinasikan dengan kunci inisialisasi. Iterasi dilakukan scbanyak tiga kali nilai maksimum (c, 2r + 4).

III.2.2 Enkripsi

Algoritma RC6 merupakan algoritma block cpher. Blok data yang diolah sebesar 128 bit dikelornpokkan menjadi 4 buah blok. Masing-masing blok data berukuran 32 bit tersebut kemudian disimpan dalam register A, B, C, dan D lalu dioperasikan dengan kunci-kunci berukuran 32 bit pula yang telah diperoleh dan algoritma keiy scheduling RC6.

(6)

A,B,C, dan D serupa dengan penempatan kunci pengguna yang dimasukkan ke dalam arra)’ L [0,1,2,3]. Aturan penempatannya adalah dengan cara meletakkan byte pertama dan blok data ke byte paling kanan (least significant) dari register A, lalu byte berikutnya ditempaikan di sisi kiri byte sebelumnya pada register A sarnpai dengan register A terisi sebanyak 4 byte. Begitupula dengan penempatan byte pada register B, C dan D sehingga byte terakhir blok data terdapat pada byte paling kiri(most significant) register D.

Secara umum enkripsi dengan menggunakan algoritma RC6 memiliki langkah-langkah terurut sebagai berikut:

• Whitening awal • Transformasi • Mixing • Swap register •. Whitening akhir III.2.3 Dekripsi

Setelah melakukan penyandian rnenggunakan algoritma enkripsi RC6, pengguna butuh mengembalikan ciphertext menjadi plaintext. Untuk itu, dilakukan proses dekripsi menggunakan algoritma dekripsi RC6.

Algoritma dekripsi adalah invers atau kebalikan dan algoritma enkripsi. Operator yang ada dalam algoritma dekripsi adalah kebalikan dan operator dalam algoritma enkripsi. Blok data yang diolah sama dengan blok data pada proses enkripsi, yaitu sebesar 128 bit yang dibagi ke dalam 4 register. Bedanya, input dan

(7)

algoritma dekripsi adalah ciphertext yang akan mengeluarkan output plaintext. Masing-masing blok data ciphertext berukuran 32 bit kernudian juga disimpan dalam register A. B. C. dan D lalu dioperasikan dengan kunci-kunci berukuran 32 bit pula yang telah dibangun pada algoritma key scheduling RC6. Kunci dan banyaknya iterasi yang digunakan pada proses dekripsi sama dengan yang digunakan pada proses enkripsi. Langkah-langkah yang dilakukan pada proses dekripsi sama dengan proses enkripsi, hanya saja urutannya dibalik bagaikan mereka ulang kejadian yang dialami oleh blok data plaintext yang telah menjadi ciphertext. Jadi, langkah pertama pada proses dekripsi adalah langkah terakhir pada proses enkripsi.

Berikut ini contoh kriptografi RC6: Kunci Bilangan Ascci Bilangan Biner Array L F 70 01000110 01000100010100100100010101000110 L[0] D R E F E 69 01000101 R 82 01010010 D 68 01000100 Y 89 01011001 01000001010000100010000001011001 L[1] Y R E F Spasi 32 00100000 B 66 01000010 A 65 01000001

(8)

G 71 01000111 00000000010100110101010101000111 L[2] 0 S U G U 85 01010101 S 83 01010011 0 00 00000000 0 00 00000000 00000000000000000000000000000000 L[3] 0 0 0 0 0 00 00000000 0 00 00000000 0 00 00000000

Kemudian inisialisasi kunci S rnenggunakan magic constant Pw dan Qw

sesuai Algoritma dibawah. Proses untuk membangun kunci inisialisasi tersebut didapat dari dua buah magic constant Pw dan Qw. Beberapa nilai magic constati

dalam heksadesimal pada beberapa ukuran register (w)

W Pw Qw

16 b7e1 9e37

32 b7e15163 9e3779b9

(9)

III.3. Desain Sistem Baru

Desain Sistem Baru menggunakan bahasa pemodelan UML yang terdiri dari UsecaseDiagram, ActivityDiagram dan SequenceDiagram.

III.3.1. Usecase Diagram

Secara garis besar, proses sistem yang akan dirancang digambarkan dengan usecase diagram yang terdapat pada Gambar III.1 :

Aplikasi Pengamanan Gambar Berformat JPG dan GIF Menggunakan RC6 user Beranda Tentang program Enkripsi Gambar Deskripsi Gambar

Gambar III.1.Use Case Diagram Aplikasi Pengamanan Gambar Berformat JPG dan GIF Menggunakan RC6

(10)

III.3.2. Activity Diagram

Diagram aktivitas menggambarkan suatu urutan proses yang terjadi pada sistem dari dimulainya aktivitas hingga aktivitas berhenti. Diagram aktivitas hampir mirip dengan diagram flowchart. Diagram aktivitas merupakan salah satu cara untuk memodelkan event-event yang terjadi dalam suatu use-case. Berikut activity diagramyang ditunjukkan pada gambar dibawah ini:

1. Activity Diagram Enkripsi Gambar

Pada activity diagram Enkripsi Gambar menjelaskan bahwa informasi atau data Enkripsi Gambar. Adapun Activity Diagram Enkripsi Gambar dapat dilihat pada gambar III.2.

Pilih Gambar

Masukkan kode enkripsi

Klik tombol enkripsi

(11)

2. Activity Diagram Dekripsi Gambar

Pada activity diagram Dekripsi Gambar menjelaskan bahwa informasi atau data Dekripsi gambar. Adapun Activity Diagram Dekripsi Gambar dapat dilihat pada gambar III.3.

Pilih Gambar

Masukkan kode sesuai kode enkripsi sebelumnya

Klik tombol deskripsi

Gambar III.3.Activity Diagram Dekripsi Gambar

3. Activity Diagram Melihat Tentang Program

Pada activity diagram About menjelaskan bahwa informasi atau datadiri pembuat program. Adapun Activity Diagram Tentang Program dapat dilihat pada gambar III.4.

Masuk Menu Utama

Pilih Tentang Program

Lihat Informasi Tentang Program

(12)

III.3.3. Sequence Diagram

Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atas dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait). Serangkaian kegiatan saat terjadi event pada aplikasi ini dapat dilihat pada gambar III.5:

Gambar III.5.Sequence Diagram Aplikasi Pengamanan Gambar Berformat JPG dan GIF Menggunakan RC6

6. berhasil beranda gambar enkripsi gambar Decrypt gambar Top Package::user

1. Jalankanaplikasi

2.pilih Gambar 3. Masukkan kode dan klik tombol enkripsi

4. pilih gambar yg sama

5. mai enkripsi dan klik tombol deskripsiasukkan kode sesu

(13)

III.3.4. Class Diagram

Rancangan kelas-kelas yang akan digunakan pada sistem yang akan dirancang dapat dilihat pada gambar dibawah ini :

Gambar III.6.Class Diagram Diagram Aplikasi Pengamanan Gambar Berformat JPG dan GIF Menggunakan RC6

private imgTableModel tableModel; private JTable table; private JTextArea imgTextArea; private JSplitPane splitPane; private JButton replyButton, forwardButton, deleteButton, Decrypt; private img selectedMessage; private boolean deleting; private Session session; private img newimg; private

ConnectDialog kon = new ConnectDialog(this);

IMAGE

private void actionExit() private void actionNew() private void actionDecrypt() private void tableSelectionChanged() private void actionReply() private void actionForward() private void

actionDelete() private void img(int type, img)

public class

AddRoundKey public class img public class shiftrows public class mixcolumns

Enkripsi

public AddRoundKey() public img() public shiftrows() public mixcolumns()class ConnectDialog extends JDialog public class AddRoundKey public class invimg public class invshiftrows public class invmixcolumns

Deskripsi

public AddRoundKey() public invgbr() public invshiftrows() public invmixcolumns() KeywordDialog private void actionConnect() private void actionCancel() public String getKeywords() KeywordDialog private void actionConnect() private void actionCancel() public String getKeywords()

(14)

III.4. DesainUser Interface 1. Rancangan FormBeranda

Form ini berfungsi untuk menampilkan beranda Aplikasi Pengamanan Gambar Dengan Format JPG dan GIF Menggunakan RC6, rancangan dapat dilihat pada gambar berikut :

Gambar III.7. Desain Tampilan Beranda

wahana

Cari berdasarkan cari

Peta letak wahana permainan

Hill Park Sibolangit

Wisata idaman keluarga anda

Tentang Program

Informasi Dan Penjelasan RC6 Enkripsi

Enkripsi Dekripsi Cara Menggunakan

(15)

2. Rancangan Form Enkripsi

Form Enkripsi berfungsi untuk menampilkan form Enkripsi Aplikasi Pengamanan Gambar Dengan format JPG dan GIF Menggunakan RC6, rancangan dapat dilihat pada gambar berikut :

Gambar III.8. Desain Tampilan Form Enkripsi

wahana

Cari berdasarkan cari

Peta letak wahana permainan

Hill Park Sibolangit

Wisata idaman keluarga anda

Tentang Program

Enkripsi Gambar

Enkripsi Dekripsi Cara Menggunakan

Beranda

Silahkan Pilih Gambar Masukkan Kunci

Gambar

(16)

3. Rancangan Form Dekripsi

Form Dekripsi berfungsi untuk menampilkan form Dekripsi Aplikasi Pengamanan Gambar Dengan format JPG dan GIF Menggunakan RC6, rancangan dapat dilihat pada gambar berikut :

Gambar III.9. Desain Tampilan Form Dekripsi

wahana

Cari berdasarkan cari

Peta letak wahana permainan

Hill Park Sibolangit

Wisata idaman keluarga anda

Tentang Program

Dekripsi Gambar

Enkripsi Dekripsi Cara Menggunakan

Beranda

Silahkan Pilih Gambar Masukkan Kunci

Dekripsi

(17)

4. Rancangan Form Cara Menggunakan

Form ini menjelaskan informasi cara menggunakan Aplikasi Pengamanan Gambar Dengan format JPG dan GIF Menggunakan RC6, rancangan dapat dilihat pada gambar berikut :

Gambar III.10. Desain Tampilan Cara Menggunakan

wahana

Cari berdasarkan cari

Peta letak wahana permainan

Hill Park Sibolangit

Wisata idaman keluarga anda

Tentang Program

Cara Menggunakan

Enkripsi Dekripsi Cara Menggunakan

Beranda

(18)

5. Rancangan Form Tentang Program

Form ini menjelaskan informasi pembuat Aplikasi Pengamanan Gambar Dengan format JPG dan GIF Menggunakan RC6, rancangan dapat dilihat pada gambar berikut :

Gambar III.11. Desain Tampilan Tentang Program

wahana

Cari berdasarkan cari

Peta letak wahana permainan

Hill Park Sibolangit

Wisata idaman keluarga anda

Tentang Program

Tentang Program

Enkripsi Dekripsi Cara Menggunakan

Beranda

Gambar

Gambar III.1.Use Case Diagram Aplikasi Pengamanan Gambar  Berformat  JPG dan GIF Menggunakan RC6
Diagram  aktivitas  menggambarkan  suatu  urutan  proses  yang  terjadi  pada  sistem  dari  dimulainya  aktivitas  hingga  aktivitas  berhenti
Gambar III.3.Activity Diagram Dekripsi Gambar
Gambar III.5.Sequence Diagram Aplikasi Pengamanan Gambar  Berformat  JPG dan GIF Menggunakan RC6
+7

Referensi

Dokumen terkait

Parameter pertumbuhan berupa tinggi tanaman dan jumlah daun dipengaruhi oleh varietas dan konsentrasi pupuk cair, pengaruh varietas secara mandiri lebih dominan

Berdasarkan uraian di atas tentang empat indikator yang meliputi memahami petunjuk penggunaan, pengaturan perlengkapan, pemeliharaan perlengkapan dan tanggungjawab

Untuk menjadi poros maritim dunia, beberapa tantangan yang mungkin muncul bagi negara Indonesia yaitu :.. Ancaman Bencana Pangan Global Penduduk bumi bertumbuh

Direktorat riset dan pengabdian masyarakat di Universitas Indonesia (DRPM UI) merupakan unit pelaksana manajemen bertugas untuk memfasilitasi dan mendukung

Diharapkan kepada umat Muslim pada umumnya dan kepada para peminat kajian Islam khususnya yang berada di Indonesia untuk membaca dan mengaplikasikan teori

Beberapa penelitian terdahulu yang telah dijelaskan di atas, hampir mempunyai kesamaan dalam ruang lingkup pembahasan dengan penelitian yang akan dilakukan ini,

Bagaimana pandangan bapak terhadap upaya yang dilakukan dalam analisis kebutuhan obat untuk perencanaan obat di RSUD ini.. Menurut pandangan bapak, apakah perencanaan kebutuhan

Geçmiş günlerde insan ve hayvan melezi yaratıklar olmalıydı. Geçmişin resmi ve edebiyatı bu konuda kuşku bırakmayacak kadar açıktır. Kanatlı, insan başlı hayvanların,