Sabtu, 23 Juni 2012

Pemrograman Encripsi dengan bahasa Program JAVA


Salah satu contoh dari “substitution cipher” adalah Caesar Cipher yang digunakan oleh Julius Caesar. Pada prinsipnya sama saja seperti ROT13, hanya saja setiap huruf digantikan dengan huruf yang berada tiga (3) posisi dalam urutan alfabet. Sebagai contoh huruf “a” digantikan dengan huruf “D” dan seterusnya.
Transformasi yang digunakan adalah seperti ini :
plain : a b c d e f g h i j k l m n o p q r s t u v w x y z
cipher: D E F G H I J K L M N O P Q R S T U V W X Y Z A B C
Disini saya akan mengimplentasikan Caesar Cipher menggunakan kode Java.
  1. package caesarchiper;  
  2.   
  3. /** 
  4.  * 
  5.  * @author fachiem 
  6.  */  
  7. public class CaesarChiper {  
  8.   
  9.     private int asciiCode;  
  10.   
  11.     public String convertToChipperText(String input) {  
  12.         StringBuffer sBuffer = new StringBuffer();  
  13.         for (int i = 0; i = 'A') && (asciiCode <= 'Z') ?  
  14.                 ((asciiCode - 'A' + 3) % 26 +'A') : asciiCode);  
  15.   
  16.             sBuffer.append((char) asciiCode);  
  17.         }  
  18.         return sBuffer.toString();  
  19.     }  
  20.   
  21.     public String convertToPlainText(String input) {  
  22.         StringBuffer sBuffer = new StringBuffer();  
  23.         for (int i = 0; i = 'A') && (asciiCode <= 'Z') ?  
  24.                 ((asciiCode - 'Z' - 3) % 26 +'Z') : asciiCode);  
  25.   
  26.             sBuffer.append((char) asciiCode);  
  27.         }  
  28.         return sBuffer.toString();  
  29.     }  
  30.   
  31.     public static void main(String [] args){  
  32.         CaesarChiper caesarChiper = new CaesarChiper();  
  33.         System.out.println(caesarChiper.convertToChipperText("PESAN SANGAT RAHASIA"));  
  34.         System.out.println(caesarChiper.convertToPlainText("PHHW PH DIWHU WKH WRJD SDUWB"));  
  35.     }  
  36. }  
package caesarchiper;

/**
 *
 * @author fachiem
 */
public class CaesarChiper {

    private int asciiCode;

    public String convertToChipperText(String input) {
        StringBuffer sBuffer = new StringBuffer();
        for (int i = 0; i = 'A') && (asciiCode <= 'Z') ?
                ((asciiCode - 'A' + 3) % 26 +'A') : asciiCode);

            sBuffer.append((char) asciiCode);
        }
        return sBuffer.toString();
    }

    public String convertToPlainText(String input) {
        StringBuffer sBuffer = new StringBuffer();
        for (int i = 0; i = 'A') && (asciiCode <= 'Z') ?
                ((asciiCode - 'Z' - 3) % 26 +'Z') : asciiCode);

            sBuffer.append((char) asciiCode);
        }
        return sBuffer.toString();
    }

    public static void main(String [] args){
        CaesarChiper caesarChiper = new CaesarChiper();
        System.out.println(caesarChiper.convertToChipperText("PESAN SANGAT RAHASIA"));
        System.out.println(caesarChiper.convertToPlainText("PHHW PH DIWHU WKH WRJD SDUWB"));
    }
}
Karena karakter spasi diabaikan (ketika menginputkan karakter spasi tidak perlu dirubah menjadi kode ascii), maka saya mengelompokkan sendiri karakter spasi dari karakter yang lain. Letak kodenya disini :
int cap = asciiCode & 32 ;
asciiCode &= ~cap;
ChiperText. Pada prinsipnya logika ChiperText untuk kode di atas adalah ketika kita menginputkan huruf, huruf tersebut di rubah menjadi kode ascii terlebih dahulu dan ditambahkan 3 dari posisi semulanya. Jumlah semua karakter huruf adalah 26 dan untuk ChiperText standard huruf yang dijadikan patokan adalah ‘A’, sehingga rumus yang dipakai seperti ini :
asciiCode = (asciiCode - 'A' + 3) % 26 +'A';
Rumus diatas juga berfungsi untuk mengubah huruf kecil menjadi huruf besar(UPPERCASE). Inputan hanya terbatas berupa huruf-huruf saja. Jika inputan bukan huruf , maka dianggap null (inputan kosong), sehingga kode yang dituliskan seperti ini :
asciiCode = ( (asciiCode >= 'A') && (asciiCode <= 'Z') ? ((asciiCode - 'A' + 3) % 26 +'A') : asciiCode);
PlainText. Logikanya sama seperti ChiperText, hanya saja untuk PlainText huruf yang diinputkan dikurangkan 3 dari posisi semula dan huruf yang jadi patokan adalah ‘Z’, sehingga rumus yang dipakai adalah seperti ini :
asciiCode = (asciiCode - 'Z' - 3) % 26 +'Z';
OUTPUT PROGRAM
Pada saat program dijalankan, maka yang tampil adalah seperti ini :
SHVDQ VDQJDW UDKDVLD
MEET ME AFTER THE TOGA PARTY

Kamis, 07 Juni 2012

Menghidupkan komputer setiap pagi saat kita bangun atau setiap kali kita pulang kerja cukup mudah dilakukan. Kita bahkan bisa mematikannya saat malam. Caranya adalah berikut ini:
Komputer Windows:
Agar secara otomatis kita bisa menyalakan komputer di waktu tertentu kita akan perlu mengedit setingan BIOS.
- Boot up komputer anda dan masuk ke setingan BIOS. Ini biasanya bisa dilakukan dengan menekan Delete saat komputer booting (akan muncul on board screen yang mengatakan ‘Press DEL to Enter Setup’ atau yang mirip dengan itu saat anda menyalakan komputer).
- Mauk dan pilih Power Options. Apabila BIOS anda support dengan ini mestinya akan ada fungsi untuk secara otomatis menyalakan komputer pada waktu tertentu. Seperti di komputer saya yang disebut ‘Resume by Alarm’ tapi komputer anda bisa berbeda.
- Silahkan enable setting tersebut dan set waktu yang anda inginkan komputer menyala setiap hari. Save dan Exit BIOS dan komputer semestinya mengikuti settingan tersebut sejak sekarang.
Anda mungkin men-shut down komputer saat anda selesai menggunakannya tapi apabila tidak anda bisa men set-nya untuk mati berdasarkan jadwal tertentu. Hal ini mudah dilakukan dengan Windows Task Scheduler:
- Tekan menu Start dan ketikkan ‘task scheduler’. Buka ‘Task Scheduler’.
- Di sebelah kanan panel tekan ‘Create Task’. Berikan nama dan di bawah General tab centang ‘Run with highest privileges’. Centang pula ‘Run whether user is logged on or not’, jika anda pernah meninggalkan komputer dengan logged out.
- Masuk ke tab Settings dan centang ‘Stop the task if it runs longer than’ dan set ke ‘! hour’. Hal ini tidak akan mematikan komputer dari sleep tapi akan mematikan komputer dari berpikir bahwa suatu task masih berjalan.
- Masuk ke tab Actions, tekan New dan pilih ‘Start a Program’. Set Program untuk shutdown dan argumen menjadi -s.
- Terakhir, masuk ke tab Triggers dan pilih New. Ganti schedule sesuai dengan apapun yang anda inginkan (misalkan setiap hari pada pukul 12:00AM) dan tekan OK. Tekan OK lagi di jendela berikutnya dan task ini mestinya sudah di save di Task Scheduler.
Mulai sekarang komputer anda akan shutdown dan wake up sesuai dengan schedule yang anda inginkan.
Pada Komputer Mac:
Proses ini jauh lebih mudah di komputer Mac dibandingkan dengan Windows. Untuk mensetnya di OS X:
- Buka System Preferences dan klik Energy Saver.
- Di sudut bawah kanan klik tombol Schedule.
- Centeng kotak setelah ‘Start up or wake’ untuk menschedule kapan komputer menyala dan checkbox di dalamnya untuk menset kapan komputer sleep, restarts atau shut downs. Anda bisa menset schedule untuk hari tertentu, setiap hari, hanya weekdays atau hanya weekend.
- Setelah selesai memilik setingan anda klik OK.
Perlu diingat agar schedule di Mac bekerja power chord mesti terhubung dengan listrik.