92 for i = 1 to 16 do
XRi = XLi-1 ⊕ P19-i;
XLi = F[XRi] ⊕ XRi-1;
XL17 = XR16 ⊕ P1;
XR17 = XL16 ⊕ P2;
Gambar 3. Blok Diagram Algoritma Dekripsi
Blowfish
[Tri 2008]
J. Pembangkitan Subkunci
Subkunci dihitung menggunakan Algoritma Blowfiish, dengan langkah-langkah sebagai berikut: 1.
Inisialisasi P-array dan kemudian empat S-box secara berurutan dengan string tetap. String ini terdiri dari digit. Hexadecimal
dari pi. Dimana P-array terdiri dari 18 subkunci dengan ukuran 32 bit: P1, P2, …, P18
P1, P2, …, P18 2.
XOR P1 dengan 32 bit pertama kunci, XOR P2 dengan 32 bit kedua dari kunci dan seterusnya untuk setiap bit dari kunci sampai P18.
Ulangi terhadap bit kunci sampai seluruh P-array di XOR dengan bit kunci. 3.
Enkripsikan semua string nol dengan algoritma Blowfish menggunakan subkunci seperti yang dijelaskan pada langkah 1 dan langkah 2.
4. Gantikan P1 dan P2 dengan keluaran dari langkah 3.
5. Enkripsikan keluaran langkah 3 dengan algoritma Blowfish dengan subkunci yang sudah termodifikasi.
6. Gantikan P3 dan P4 dengan keluaran dari langkah 5.
7. Teruskan proses tersebut, gantikan seluruh elemen dari P-array, dan kemudian seluruh keempat S-Box
berurutan, dengan keluaran yang berubah secara kontinyu dari Algoritma Blowfish. Secara keseluruhan diperlukan 521 iterasi untuk membangkitkan semua subkunci yang dibutuhkan
Gambar 4. Skema Fungsi F Algoritma Blowfish
[Tri 2008]
K. Skema Diagram Algoritma Blowfish
Adapun Skema diagram proses enkripsi algoritma blowfish disajikan pada Gambar 5.
93
Gambar 5. Skema Diagram Algoritma Blowfish
L. Object Oriented Programming OOP Pemrograman JAVA
JAVA adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam Cellular. Bahasa ini awalnya dibuat oleh James Gosling saat masih bergabung di Sun Microsystems saat ini
merupakan bagian dari Oracle dan dirilis tahun 1995. Bahasa ini banyak mengadopsi sintaksis yang terdapat pada C dan C++ namun dengan sintaksis model objek yang lebih sederhana serta dukungan rutin-rutin aras bawah yang
minimal.
Aplikasi-aplikasi berbasis java umumnya dikompilasi ke dalam p-code bytecode dan dapat dijalankan pada berbagai Mesin Virtual Java JVM. Java merupakan bahasa pemrograman yang bersifat umum non-spesifik
general purpose, dan secara khusus didisain untuk memanfaatkan dependensi implementasi seminimal mungkin. Karena fungsionalitasnya yang memungkinkan aplikasi java mampu berjalan di beberapa platform system operasi
yang berbeda, java dikenal pula dengan slogannya, “Tulis sekali, jalankan di mana pun”. Saat ini java merupakan
bahasa pemrograman yang paling popular digunakan, dan secara luas dimanfaatkan dalam pengembangan berbagai jenis perangkat lunak aplikasi ataupun aplikasi berbasis web
[Hendra 2011].
M. Pemrograman Java Netbeans.
Netbeans merupakan sebuah aplikasi Integrated Development Environment IDE yang berbasiskan Java dari Sun Microsystems yang berjalan di atas swing. Swing merupakan sebuah teknologi Java untuk pengembangan
aplikasi desktop yang dapat berjalan pada berbagai macam platform seperti windows, linux, Mac OS X dan Solaris. Sebuah IDE merupakan lingkup pemrograman yang di integrasikan ke dalam suatu aplikasi perangkat lunak yang
menyediakan Graphic User Interface GUI, suatu kode editor atau text, suatu kompiler dan suatu debugger.
Netbeans juga digunakan oleh sang programmer untuk menulis, meng-compile, mencari kesalahan dan menyebarkan program netbeans yang ditulis dalam bahasa pemrograman java namun selain itu dapat juga
mendukung bahasa pemrograman lainnya dan program ini pun bebas untuk digunakan dan untuk membuat professional desktop, enterprise, web, and mobile applications dengan Java language, CC++, dan bahkan dynamic
languages seperti PHP, JavaScript, Groovy, dan Ruby.
NetBeans merupakan sebuah proyek kode terbuka yang sukses dengan pengguna yang sangat luas, komunitas yang terus tumbuh, dan memiliki hampir 100 mitra dan terus bertambah. Sun Microsystems
mendirikan proyek kode terbuka NetBeans pada bulan Juni 2000 dan terus menjadi sponsor utama. Dan saat ini pun netbeans memiliki 2 produk yaitu Platform Netbeans dan Netbeans IDE. Platform Netbeans merupakan framework
yang dapat digunakan kembali reusable untuk menyederhanakan pengembangan aplikasi desktop dan Platform NetBeans juga menawarkan layanan-layanan yang umum bagi aplikasi desktop, mengijinkan pengembang untuk
fokus ke logika yang spesifik terhadap aplikasi.
N. Fitur-fitur dari Platform Netbeans.