PHP : Menggunakan fungsi shuffle dalam perulangan

$arr = array(
    '2012'      => array(
        array(
            'no'        => 1,
            'nama'      => 'satu',
            'ket'       => '...'
        ),
        array(
            'no'        => 2,
            'nama'      => 'dua',
            'ket'       => '...'
        ),
        array(
            'no'        => 3,
            'nama'      => 'tiga',
            'ket'       => '...'
        ),
    ),
    '2014'      => array(
        array(
            'no'        => 11,
            'nama'      => 'sebelas',
            'ket'       => '...'
        ),
        array(
            'no'        => 12,
            'nama'      => 'dua belas',
            'ket'       => '...'
        ),
        array(
            'no'        => 13,
            'nama'      => 'tiga belas',
            'ket'       => '...'
        ),
    )
);

foreach( $arr as $k => $a )
    shuffle( $arr[ $k ] );

print_r( $arr );

Continue reading

Implementasi cipher dengan PHP

Kemarin kebetulan belajar keamanan informasi tentang enkripsi, dan di ajarkan beberapa enkripsi yaitu caesar cipher dan vigenere cipher. tiba tiba terfikir ingin mencoba membuat cipher dengan PHP, berhubung saya sedang menggemari bahasa tersebut. ya alhamdulillah setelah beberapa hari akhirnya jadi juga 😀

untuk menjelaskan programnya satu persatu, mungkin akan memakan banyak waktu, jadi saya cuma copas listing programnya saja, untuk penjelasan mengenail syntaxnya banyak sekali di temukan di Google atau di W3schools.

yang pertama buat file untuk convertnya, beri nama convert.php

<?php
/*
 *      convert.php
 *      
 *      Copyright 2011 Ahmad Zafrullah Mardiansyah <zaf@zaf-laptop>
 *      
 *      This program is free software; you can redistribute it and/or modify
 *      it under the terms of the GNU General Public License as published by
 *      the Free Software Foundation; either version 2 of the License, or
 *      (at your option) any later version.
 *      
 *      This program is distributed in the hope that it will be useful,
 *      but WITHOUT ANY WARRANTY; without even the implied warranty of
 *      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *      GNU General Public License for more details.
 *      
 *      You should have received a copy of the GNU General Public License
 *      along with this program; if not, write to the Free Software
 *      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
 *      MA 02110-1301, USA.
 */
 
function char_to_dec($a){
	$i=ord($a);
	if ($i>=97 && $i<=122){
		return ($i-96);
	} else if ($i>=65 && $i<=90){
		return ($i-38);
	} else {
		return null;
	}
}

function dec_to_char($a){
	if ($a>=1 && $a<=26){
		return (chr($a+96));
	} else if ($a>=27 && $a<=52){
		return (chr($a+38));
	} else {
		return null;
	}
}

function tabel_vigenere_encrypt($a, $b){
	$i=$a+$b-1;
	if ($i>26){
		$i=$i-26;
	}
	return (dec_to_char($i));
}
function tabel_vigenere_decrypt($a, $b){
	$i=$a-$b+1;
	if ($i<1){
		$i=$i+26;
	}
	return (dec_to_char($i));
}

?>

Continue reading