A = N , A = Z

Sewaktu masih SMU, saya mengikuti ekskul Pramuka. Kegiatan yang paling saya senangi adalah camping, dan yang paling tidak saya senangi -> Menerjemahkan Sandi! (tapi kok sekarang malah seneng yah.. ga tau juga ah).

Sandi paling sederhana yang pernah diajari oleh kakak2 senior dulu adalah sandi A = N dan A = Z. Gampangnya begini:
A = N :

CODE:
  1. A B C D E F G H I J K L M
  2. N O P Q R S T U V W X Y Z

setiap huruf A akan diganti dengan N, B dengan O, dst .Contoh : saya -> fnln

A = Z :

CODE:
  1. A B C D E F G H I J K L M
  2. Z Y X W V U T S R Q P O N

setiap huruf A akan diganti dengan Z, B dengan Y, dst. Contoh : saya -> hzbz

So, here comes the code.. (walaupun masih 'kotor') :D

Function str_split() cuma jalan di PHP 5 keatas. Sedangkan di server ini, masih pake PHP 4.x. So you know what i mean. No Demo. :(

sandi.class.php

PHP:
  1. class sandi{
  2.     function an($teks){
  3.         if($teks>= 97 && $teks <=122){
  4.             if( $teks>= 110){
  5.                 $t = $teks-13;
  6.             } else {
  7.                 $t = $teks+13;
  8.             }
  9.         } else {
  10.             $t = $teks;
  11.         }
  12.     return $t;
  13.     }
  14.    
  15.     function az($teks){
  16.         if($teks>= 97 && $teks <=122){
  17.             $t = 219 - $teks;
  18.         } else {
  19.             $t = $teks;
  20.         }
  21.     return $t;
  22.     }
  23. }

sandi.php

PHP:
  1. //warning.. the code is not clean yet!
  2. if(isset($_POST['an'])){
  3.     $start = microtime();
  4.     include('sandi.class.php');
  5.     //hitung panjang karakter
  6.     $x = strlen($_POST['sandi']);
  7.     //set ke lowercase semua aja deh, dasar pemalas!
  8.     $low = strtolower($_POST['sandi']);
  9.     echo '<u>Input</u> : <br />'.$low.'<br />';
  10.     echo '<u>Output</u> : <br />';
  11.     $sandi = str_split($low);
  12.     $wokeh = new sandi();
  13.     if($_POST['s'] == 'an'){
  14.         for ($i=0; $i <$x; $i++){
  15.             $ascii = ord($sandi[$i]);
  16.             echo '&#'.$wokeh->an($ascii).';';
  17.         }
  18.     } else {
  19.         for ($i=0; $i <$x; $i++){
  20.             $ascii = ord($sandi[$i]);
  21.             echo '&#'.$wokeh->az($ascii).';';
  22.         }
  23.     }
  24.     $stop = microtime();
  25.     $total = $stop - $start;
  26.     echo '<br />Waktu Eksekusi : '.$total.' detik';
  27.     echo '<br />-------------------------------------------';
  28. }
  29. ?>
  30. <form action="" method="POST">
  31. <input type="text" name="sandi"> <br />
  32. Sandi :
  33. <select name='s'>
  34.     <option value="an">A = N</option>
  35.     <option value="az">A = Z </option>
  36. </select> <br />
  37.  
  38. <input type="submit" name="an" value="Enc">
  39. </form>

Dulu saya terjemahin sandi beginian harus pake nulis2 di kertas dulu. :))

Selamat mencoba ;)

EDITED:
code-nya udah di koreksi sama jeng sandal.. ada disini : http://tak.kasatmata.net/?p=26#comment-278
thanks jeng..! ;)

6 Responses to “A = N , A = Z”

  1. linoxs Says:

    Wkakakaka...pasti gara2 jeng yeni dikau jadi ketularan "da vinci code" syndrom. Tapi keren juga, bikin yg baru dong, trus jadiin sandi intern dw .

    wahahaha.. soalnya seru jeng. :D
    *hiks, ane jarang maen2 ke dw lagi sekarang*

  2. sandal Says:

    wah, klo ini mah jaman SD saya udah pake. pas masuk regu harimau di pramuka, setiap jumat makanannya sandi-sandi :D

    klo ga salah ini dulu di sebut sandi AN (A eN). aniwei betewe, bikin yg lebih seryuuu dwooong!! ^_*

    BTW make cara ini lebih efisien bro :D

    "N",
    "B"=>"O",
    "C"=>"P",
    "D"=>"Q",
    "E"=>"R",
    "F"=>"S",
    "G"=>"T",
    "H"=>"U",
    "I"=>"V",
    "J"=>"W",
    "K"=>"X",
    "L"=>"Y",
    "M"=>"Z",
    "N"=>"A",
    "O"=>"B",
    "P"=>"C",
    "Q"=>"D",
    "R"=>"E",
    "S"=>"F",
    "T"=>"G",
    "U"=>"H",
    "V"=>"I",
    "W"=>"J",
    "X"=>"K",
    "Y"=>"L",
    "Z"=>"M",
    );
    echo strtr($words,$trans);
    ?>

  3. sandal Says:

    wah, < dan > nya gag muncul.. here we go!

    <?php
    $words = "YENI SETIAWAN";
    $trans = array(
    "A"=>"N",
    "B"=>"O",
    "C"=>"P",
    "D"=>"Q",
    "E"=>"R",
    "F"=>"S",
    "G"=>"T",
    "H"=>"U",
    "I"=>"V",
    "J"=>"W",
    "K"=>"X",
    "L"=>"Y",
    "M"=>"Z",
    "N"=>"A",
    "O"=>"B",
    "P"=>"C",
    "Q"=>"D",
    "R"=>"E",
    "S"=>"F",
    "T"=>"G",
    "U"=>"H",
    "V"=>"I",
    "W"=>"J",
    "X"=>"K",
    "Y"=>"L",
    "Z"=>"M",
    );
    echo strtr($words,$trans);
    ?>

    waaah, jeng sandal emg top. kemaren udah tak coba gitu sih.. cuma ga pake function strtr(). :D thanks koreksinya jeng
    *code tetep ga diubah* :D

  4. funkshit Says:

    weleh2 . ..
    lagi pada kekurangan proyek yach?
    bikin iseng2 mulu dari kemarin :P
    mantaffff

    waks.. benuuull, kurang project nih jeng. makanya bisa iseng ( + hunting jablay ) . hihihi

  5. santent Says:

    saya setuju dengan comment sdr sandal, lebih efisien karena langsung dapet tujuannya. tapi tetep acungan jempul empat untuk anda :D

    Hore, santent dateng. *peluk2 santent*

  6. kiyat Says:

    jnu wnzna cnf nxh frxbynu cnxr prynan craqrx

    wahahahah..

    jnxf, rzt wrat xvlng hzhealn orencn?

Leave a Reply