Kriptografi Vigenere with Java

Oke kawan, setelah kita memahami konsep enkripsi dan dekripsi menggunakan Vigenere maka saatnya kita menginplementasikannya kedalam sebuah bahasa pemrograman, dalam episode ini ane akan mengimplementasikannya ke bahasa Java.

Oke tanpa basa-basi lagi buatlah sebuah project di netbeans kesayangan kawan-kawan. Berikut struktural projectnya.

5-26-2013 12-50-08 PM

Setelah membuat project maka langkah selanjutnya buat sebuah class untuk menampung proses enkripsi dan dekripsinya. Dalam hal ini ane berinama EnkripDekrip.java. Selengkapnya

Kriptografi (Vigenere) Part 2

Pada episode sebelumnya kita telah membahas tentang enkripsi dengan Vigenere (baca disini). Sekarang kita akan membahas proses dekripsinya. Untuk memudahkan pemahaman kawan-kawan mari kita lihat contoh kasus berikut.

Enkripsi
Jumlah Data Huruf : a-z index 0-25 jumlah 26
Chiper : zfbv
Kunci : abc
Pesan : roni

Rumus Dekripsi :

Pi = Ci – Ki Selengkapnya

Kriptografi (Vigenere)

Sandi Vigenère merupakan pengembangan dari sandi Caesar. Pada sandi Caesar, setiap huruf teks terang digantikan dengan huruf lain yang memiliki perbedaan tertentu pada urutan alfabet. Misalnya pada sandi Caesar dengan geseran 3, A menjadi DB menjadi E and dan seterusnya. Sandi Vigenère terdiri dari beberapa sandi Caesar dengan nilai geseran yang berbeda.

Untuk menyandikan suatu pesan, digunakan sebuah tabel alfabet yang disebut tabel Vigenère. Tabel Vigenère berisi alfabet yang dituliskan dalam 26 baris atau lebih, masing-masing baris digeser satu urutan ke kiri dari baris sebelumnya, membentuk ke-26 atau lebih kemungkinan sandi Caesar. Setiap huruf disandikan dengan menggunakan baris yang berbeda-beda, sesuai kata kunci yang diulang. Selengkapnya

Array dan ArrayList

        Pada tutorial kali ini kita akan membahas tentang penggunaan Array dan ArrayList. Perbedaan array dengan arrayList kalo menurut ane , kalo array terkesan kurang dinamis karena sebelum kita mingisi array tersebut  harus menentukan dulu berapa banyak data yang dapat ditampung oleh array tersebut. Sedangkan ArrayList , kita tidak perlu mendeklarasikan berapa jumlah data yang dapat kita tampung tapi kita hanya perlu mendeklarasikan tipe data apa yang akan di tampung oleh arraylist, itu artinya kita bebas mengisi arraylist tersebut. Selain itu perbedaannya juga ada pada syntax. Jika pada array, untuk menentukan besar array kita menggunakan length, sedangkan pada arraylist menggunakan method size(). Berikut ini contoh source perbedaan antara array dengan arraylist.

  1. Array
    public class ArraydanArrayList {
    
        public static void main(String[] args) {
    
            String[] array = new String[10];
            System.out.println("Data dari Array :");
            System.out.println("Jumlah data : " + array.length);
            for (int i = 0; i < array.length; i++) {
                array[i] = i + " ";
                System.out.print(array[i]);
            }
            System.out.println("\n");
        }
    }

    Selengkapnya