skip to main | skip to sidebar

Pengetahuan-Pengetahuan Dunia

By didit96™

  • Tukeran Link
  • Hacking
  • Tips dan Trick
  • Seputar Blog
  • News
  • Foto-Foto Unik
  • Pengetahuan Umum
  • Software
Browse » Home » Pengetahuan Umum » CryptoGrapy Morse [dev003] (CM 110)

CryptoGrapy Morse [dev003] (CM 110)

Posted by didit96™ at 18.05 Labels: Pengetahuan Umum
Kali ini kita akan membuat criptographi sederhana, yaitu programming persandian yang sering kita gunakan saat pramuka yaitu sandi morse.

A : .- J : .--- S : ... 2 : .----
B : -... K : -.- T : - 3 : ...--
C : -.-. L : .-.. U : ..- 4 : ....-
D : -.. M : -- V : ...- 5 : .....
E : . N : -. W : .-- 6 : -....
F : ..-. O : --- X : -..- 7 : --...
G : --. P : .--. Y : -.-- 8 : ---..
H : .... Q : --.- Z : --.. 9 : ----.
I : .. R : .-. 1 : .---- 0 : -----

atau untuk lebih jelas dapat melihat gambar berikut :


Kita akan berlatih membuat program kriptographi sederhana ini :
bagi yang ingin mencoba hasilnya bisa ke situs :



website :
Code:
http://morsecode.scphillips.com/jtranslator.html
Sekarang kita coba membuat dengan bahasa pemprograman java sendiri :

Code:
/*
* WhiteMrse.java
* by CyberMuttaqin
* Created On 5, January 2010
*/

import java.util.*;

public class WhiteMorse{
   private String asciiText= "";
   private String morseText = "";

   //True konfersi dai ascii ke morse
   // konfersi dai morse ke ascii
   private boolean fDirect = true;

   private static int NR_CHARS = 36;
   private static char[] ch = {
   ' ','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',
   '1','2','3','4','5','6','7','8','9','0'};

   private static String[] mc = {
     null,
     ".-",     //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
     
     ".----", //1
     "..---", //2
     "...--", //3
     "....-", //4
     ".....", //5
     "-....", //6
     "--...", //7
     "---..", //8
     "----.", //9
     "-----", //0
          
   };

   //buat instance
   public WhiteMorse(String s, boolean fDirect){
     if (fDirect) {
        this.asciiText = s;
        convertToMorse();
     } else {
        this.morseText = s;
        convertToAscii();
     }
   }

   public String getMorse(){
     return morseText;
   }

   public String getAscii(){
     return asciiText;
   }

   public String toString(){
     String str = 
         "Text ASCII = " +getAscii()+"\n"+
         "Text Morse = " +getMorse()+"\n";
     return str;
   }

   static void test(){
      System.out.println(new WhiteMorse("CYBERMUTTAQIN",true));
      System.out.println(new WhiteMorse((new WhiteMorse("CYBERMUTTAQIN",true)).getMorse(),false));
   }

   public static void main(String[] args){
      test();
   }

   private int searchMorse(String s){
      int i = NR_CHARS-1;
      mc[0] = s;
      while (!mc[i].equals(s)) i--;
      return i;
   }

    private int searchChar(char ch){
      int i = NR_CHARS-1;
      while (this.ch[i]!=ch)i--;
      return i;
   }

   private void convertToMorse(){
       morseText="";
       for(int i=0;i<asciiText.length(); i++){
       int idx = searchChar(asciiText.charAt(i));
       if (idx ==0){
          morseText += "\t";
       } else {
          morseText += mc[idx];
          morseText += "";
       }
   }
   }

   private void convertToAscii(){
      asciiText = "";
      StringTokenizer TokensA = new StringTokenizer(morseText);
      while (TokensA.hasMoreTokens()){
        String morseWord = TokensA.nextToken("\t");
        StringTokenizer TokensB = new StringTokenizer(morseWord);
        while (TokensB.hasMoreTokens()) {
        int idx = searchMorse(TokensB.nextToken());
        if (idx ==0) {
           asciiText += "";
        } else {
           asciiText += ch[idx];
        }
        }
        asciiText += "";
      }
   } 
 }
yups... jadi dech...
selamat mencoba dan berkreasi semoga bermanfaat...

Artikel Terkait:

0 comments:

Posting Komentar

Jika Anda Ingin Berkomentar Mohon Di Cantumkan Nama Anda
Jangan Lupa Komenar Dan Follow ya !!!

Langganan: Posting Komentar (Atom)

Tentang Saya

Foto saya
didit96™
Saya hanya manusia biasa yang ingin membagi informasi Tentang Dunia
Lihat profil lengkapku
u comment i follow
Bookmark and Share

Translator

Category

Antivirus (10) Biodata (10) Celebrities (15) Cinta (35) Education (40) Film (14) Foto-Foto Unik (87) Gadget (22) Game (6) Hacking (43) Humor (7) Info (40) Kesehatan (31) Komputer (18) Makalah (1) Misteri (12) News (300) Pengetahuan Umum (270) Sains dan Teknologi (119) Sejarah (23) Seputar Blog (81) Software (82) Tips dan Trick (83) Video (3)

Daftar Isi

9 Post Terpopular

  • ACTION ESSENTIALS 2 HD (Mediafire 13.5 GB)
  • Apa yang Terjadi Jika Buah Zakar pada laki-laki Pecah!
  • ASAL USUL NENEK MOYANG BANGSA INDONESIA
  • RUMAH ADAT dari Seluruh Indonesia
  • Tele Hypnosis Pro Deluxe Multisession 4 ( Software Hipnotis )
  • Cara Mengatur dan Download Bandwidth Controller Enterprise v1.21 Full
  • Akibat Jika Terlalu Sering Manstrubasi atau Onani
  • Cara Merubah DNS Internet Agar Dapat Membuka Situs Yang Diblokir
  • Makalah Tentang BNN

Recent Post

Recent Comment

Fan Page

 

Followers

Stats

blog-indonesia.com
Submit Express Inc.Free Webmaster Tools Link building services
Free search engine submissions Provided by the Compucert computer training team. free counters

by didit96™


©2010-2013 Pengetahuan-Pengetahuan Dunia
designed by didit96 | Bloggerized by Blogspot | Zoomtemplate.com