Unified Modelling Language UML

Gambar II.12 Contoh Statechart Diagram

6. Diagram Activity

Diagram activity menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir[9]. Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya internal processing. Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem dan interaksi antar subsistem secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum. Contoh Activity diagram diperlihatkan pada gambar II.13. Gambar II.13 Contoh Activity Diagram

II.9 Teknologi Java

Java adalah sebuah teknologi yang diperkenalkan oleh Sun Microsystems pada pertengahan tahun 1990. Menurut definisi dari Sun, Java adalah nama untuk sekumpulan teknologi untuk membuat dan menjalankan perangkat lunak pada komputer stand alone ataupun pada lingkungan jaringan. Java berdiri di atas sebuah mesin interpreter yang diberi nama Java Virtual Machine JVM. JVM inilah yang akan membaca bytecode dalam file .class dari suatu program sebagai representasi langsung program yang berisi bahasa mesin. Oleh karena itu, bahasa Java disebut sebagai bahasa pemrograman yang portable karena dapat dijalankan pada berbagai sistem operasi, asalkan pada sistem operasi tersebut terdapat JVM. Platform Java terdiri dari kumpulan library, JVM, kelas-kelas loader yang dipaket dalam sebuah lingkungan rutin Java, dan sebuah compiler, debuger, dan perangkat lain yang dipaket dalam Java Development Kit JDK[1]. Java merupakan salah satu bahasa pemrograman yang menggunakan paradigma pemrograman berbasis objek. Paradigma ini yaitu menggunakan objek untuk membungkus atribut dan operasi yang mungkin pada objek tersebut. Java mempunyai kelebihan dan kekurangan yaitu:

A. Kelebihan Java

Beberapa kelebihan dari java yaitu sebagai berikut: 1. Multiplatform Kelebihan utama dari java ialah dapat dijalankan di beberapa platformsistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan dimana saja. Kelebihan ini memungkinkan sebuah program berbasis java dikerjakan diatas sistem operasi linux tetapi dijalankan dengan baik di atas Microsoft Windows. 2. OOP Object Oriented Programming Java merupakan salah satu bahasan pemrograman berbasis objek secara murni. Semua tipe data diturunkan dari kelas dasar yang disebut objek. Hal ini sangat memudahkan pemrogram untuk mendesain, membuat, mengembangkan, dan mengalokasi kesalahan sebuah program dengan basis java secara cepat, tepat, mudah dan terorganisir. 3. Library yang lengkap Java terkenal dengan kelengkapan libraryperpustakaan kumpulan program- program yang disertakan dalam pemrogram java yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk membangun aplikasinya. Kelengkapan perpustakaan ini ditambah dengan keberadaan komunitas java yang besar yang terus menerus membuat perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi. 4. Bergaya C++ Java memiliki sintaks seperti bahasa pemrograman C++ sehingga menarik banyak pemrogram C++ untuk pindah ke java. Saat ini pengguna java sangat banyak, sebagian besar adalah pemrogram C++ yang pindah ke java. 5. Pengumpulan sampah otomatis Java memiliki fasilitas pengaturan penggunaan memori sehingga para pemrogram tidak perlu melakukan pengaturan memori secara langsung seperti halnya dalam bahasa C++ yang dipakai secara luas [1].

B. Kekurangan Java

Beberapa kekurangan Java antara lain : 1. Mudah didekompilasi Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini memungkinkan karena kode jadi java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi seperti nama-nama kelas, metode dan tipe data. 2. Penggunaan memori yang banyak Penggunaan memori untuk program berbasis java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti CC++ dan Pascal lebih spesifik lagi delphi dan Objek Pascal [1]. 29

BAB III ANALISIS DAN PERANCANGAN SISTEM

III.1 Analisis Sistem Analisis sistem merupakan suatu tahapan yang bertujuan untuk mengetahui dan mengamati apa saja yang terlibat dalam suatu sistem. Pembahasan yang ada pada analisis sistem ini yaitu analisis masalah, analisis algoritma, analisis kebutuhan nonfungsional, dan analisis kebutuhan fungsional. III.1.1 Analisis Masalah Analisis masalah dilakukan untuk mengetahui masalah-masalah apa saja yang terjadi dalam pembangunan aplikasi steganografi. Masalah yang terjadi ketika pembangunan steganografi pada citra digital yaitu kapasitas citra yang dapat disisipkan informasi kecil, kualitas citra digital yang telah disisipkan informasi, dan keamanan informasi yang disisipkan kedalam citra tidak terjamin, karena saat ini banyak aplikasi yang digunakan untuk menanalisis citra apakah terdapat informasi yang disembunyikan dan letak dari informasi yang disembunyikan. Jika letak dari informasi yang disisipkan pada citra diketahui, maka informasi akan langsung dapat diketahui. III.1.2 Analisis Algoritma Analisis algoritma digunakan untuk mengetahui alur proses dari algoritma yang digunakan untuk dapat diterapkan ke dalam aplikasi yang dibangun. Pembangunan aplikasi ini menggunakan algoritma Rijndael untuk proses enkripsi dan dekripsi dengan panjang kunci 128bit sebagai keamanan terhadap informasi yang akan disisipkan. Sedangkan metode steganografi yang digunakan yaitu metode Pixel Value Differencing PVD untuk proses penyisipan dan ekstraksi informasi. Tahapan-tahapan yang dilakukan pada setiap prosesnya yaitu sebagai berikut : 1. Proses Penyisipan a. Pengirim memilih file pesan yang akan disisipkan b. Pengirim melakukan enkripsi terhadap pesan menggunakan algoritma rijndael 128bit. c. Pengirim memilih file citra yang akan digunakan sebagai media penampung dari pesan. d. Pengirim melakukan proses penyisipan menggunakan metode Pixel Value Differencing PVD. 2. Proses Ekstraksi a. Penerima memilih file citra yang telah disisipkan pesan stego object b. Penerima melakukan proses ekstraksi menggunakan metode Pixel Value Differencing PVD. c. Penerima melakukan dekripsi terhadap pesan menggunakan algoritma rijndael 128bit. d. Penerima menyimpan pesan yang telah diekstraksi dari citra. Tahapan-tahapan proses pada aplikasi steganografi secara umum dapat dilihat pada gambar III.1. Gambar III.1 Gambaran Umum Aplikasi Steganografi III.1.2.1 Analisis Algoritma Rijndael Algoritma rijndael merupakan algoritma kriptografi yang sifatnya simetris dan cipher block. Dengan demikian algoritma ini mengunakan kunci yang sama saat enkripsi dan dekripsi serta masukan dan keluarannya berupa blok dengan jumlah bit tertentu. Algoritma rijndael yang digunakaan pada aplikasi steganografi yang dibangun menggunakan ukuran blok dan kunci 128bit. Algoritma rijndael terdapat dua proses yaitu proses penjadwalan kunci dan enkripsi. III.1.2.1.1 Analisis Penjadwalan Kunci Proses penjadwalan kunci merupakan proses dimana cipherkey di jadwalkan untuk menghasilkan subkey-subkey yang digunakan untuk proses enkripsi dan dekripsi pada algoritma rijndael. Contoh penjadwalan kunci pada algoritma rijndael jika diketahui kunci yang akan digunakan untuk enkripsi dengan panjang 16 byte yaitu: Cipherkey = abcdefghijklmnop Tahap awal ubah cipherkey kedalam bentuk hexadecimal menjadi sebagai berikut: Cipherkey = 61 62 63 64 65 66 67 68 69 6a 6b 6c 6d 6e 6f 70 Tahap selanjutnya melakukan operasi-operasi penjadwalan kunci. Operasi- operasi yang dilakukan yaitu RotWord, SubByte, dan melakukan operasi XOR untuk menghasilkan subkey. Operasi-operasi yang dilakukan yaitu sebagai berikut: 1. Masukan cipherkey tersebut kedalam blok 16 byte menjadi. � = 61 65 62 66 69 6 6 6 63 67 64 68 6 6 6 70 2. Melakukan operasi RotWord pada kolom terakhir dari ciphertext. 6 6 70 = 6 6 70 3. Melakukan operasi SubByte dengan tabel s-box pada tabel II.2.

Dokumen yang terkait

Pembangunan aplikasi stenagografi pada citra digital menggunakan metode BIT Plane Complexity Segmentation (BPCS) dan algoritma XTEA untuk keamanan data

10 42 131

Pembangunan Aplikasi Steganografi Pada Citra Digital Menggunakan Metode Random Pixel Positioning (RPP) dan Algoritma Advanced Encryption Standard (AES) 256 Bit Untuk Keamanan Data

8 44 107

Perbaikan dan Evaluasi Kinerja Algoritma Pixel- Value Differencing (PVD)

1 22 158

ANALISIS PERFORMA METODE IHWT (INTEGER HAAR WAVELET TRANSFORM) DAN MODULUS FUNCTION DENGAN METODE IHWT (INTEGER HAAR WAVELET TRANSFORM) DAN PVD (PIXEL VALUE DIFFERENCING) PADA KUALITAS CITRA DIGITAL - UDiNus Repository

0 1 1

ANALISIS PERFORMA METODE IHWT (INTEGER HAAR WAVELET TRANSFORM) DAN MODULUS FUNCTION DENGAN METODE IHWT (INTEGER HAAR WAVELET TRANSFORM) DAN PVD (PIXEL VALUE DIFFERENCING) PADA KUALITAS CITRA DIGITAL - UDiNus Repository

0 0 1

ANALISIS PERFORMA METODE IHWT (INTEGER HAAR WAVELET TRANSFORM) DAN MODULUS FUNCTION DENGAN METODE IHWT (INTEGER HAAR WAVELET TRANSFORM) DAN PVD (PIXEL VALUE DIFFERENCING) PADA KUALITAS CITRA DIGITAL - UDiNus Repository

0 0 1

ANALISIS PERFORMA METODE IHWT (INTEGER HAAR WAVELET TRANSFORM) DAN MODULUS FUNCTION DENGAN METODE IHWT (INTEGER HAAR WAVELET TRANSFORM) DAN PVD (PIXEL VALUE DIFFERENCING) PADA KUALITAS CITRA DIGITAL - UDiNus Repository

0 0 1

ANALISIS PERFORMA METODE IHWT (INTEGER HAAR WAVELET TRANSFORM) DAN MODULUS FUNCTION DENGAN METODE IHWT (INTEGER HAAR WAVELET TRANSFORM) DAN PVD (PIXEL VALUE DIFFERENCING) PADA KUALITAS CITRA DIGITAL - UDiNus Repository

0 2 8

KOMBINASI ALGORITMA PIXEL VALUE DIFFERENCING DENGAN ALGORITMA CAESAR CIPHER PADA PROSES STEGANOGRAFI

1 2 7

PENGEMBANGAN APLIKASI STEGANOGRAFI PIXEL VALUE DIFFERENCES (PVD)

0 0 6