Minggu, 09 September 2012

PHP: Konversi Bilangan Desimal

MEMBUAT SENDIRI KALKULATOR KONVERSI DESIMAL

Kali ini saya akan memberikan tutorial tentang bagaimana membuat kalkulator konversi sederhana dengan PHP.Kita dapat mengkonversi desimal ke bilangan oktak,hexa dan biner dalam kalkulator buatan kita ini.
Langsung saja ,langkah langkahnya dibawah ini:

1.buatlah file dengan nama back.php.Nama file tersebut  bisa dirubah atau disesuaikan.

<?php
if (isset($_POST['submit'])){
    $nama=$_REQUEST['nama'];
    if(isset($_POST['gender'])){
        $gender=$_REQUEST['gender'];
    }
    else{
        $gender='';
    }
    $cek='';
}
else{
    $nama='';
    $gender='';
    $cek="you have to fill the field completely";
    }
?>
<!DOCTYPE html>

<html>
    <head>
   
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Conditional</title>
    </head>
    <style type="text/css">
a:link{color:#FF0000}
a:visited{color:#660099}
a:hover{color:#FFFF00}
a:active{color:#000000}
</style>
</head><body background="background.png">
    <script language="JavaScript">
<!--
window.alert("Welcome");
//-->
</script>
          <h1><?echo $cek?></h1><br>
        <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="form1">
            <p>Name : <input type="text" name="nama" value="<?php echo $nama?>"/></p>
            <p>sex : <input type="radio" name="gender" value="L"
                      <?php ($gender=="L")? print 'checked=""': print '';?>/>
        Male
        <input type="radio" name="gender" value="P"
              <?php ($gender=="P")? print 'checked=""': print ''; ?>/>
        Female </p>
            <input type="submit" name="submit" value="submit"/>
        </form>
                 <?php
        if (isset($_POST['submit'])) { // apakah data ter-sumbit?
            /*membuat variabel untuk menyimpan data yang dikirim*/
            $nama=$_REQUEST['nama'];
            if(isset($_POST['gender'])){
                $gender=$_REQUEST['gender'];
            }
            else{
                $gender='';
            }
            //cek apakah data yang dikirim tidak kososng
        if($nama==''  || $gender==''){
            echo'<h2>You are not fill the field completely </h2>';
        } else {
            /*cek jenis kelamin*/
            if ($gender=='L'){
                echo '<h2>Welcome Bro,  '.$nama.'!!</h2>';
            } else{
                echo'<h2>Welcome Sis,   '.$nama.'!!</h2>';
            }
        }
        echo "<a href='validation.php'> Click to start convertion </a>"; // HASIL ,
            }
        ?>
    </body>
</html>

script diatas akan menghasilkan form seperti ini:

bila telah berjalan seperti diatas maka kita akan menuju langkah ke2.

2.buat file php dengan nama validation.php lalu ketikan script seperti dibawah ini:

<?php
error_reporting(0);
$des = $_REQUEST['des'];//deklarasi var desimal
$option = $_REQUEST['option'];//deklarasi var pilihan
  function oct($des){      
   echo("jadi octal dari".$des." adalah ".decoct($des) . "<br />");
   
    }
function hexa($bil){
$decimal=$bil;
$ori=$decimal ;
    $hex =dechex($decimal);
    $result = strrev($hex);
      return "Bilangan $ori (desimal) dalam bentuk hexadesimal adalah $result";
 
}

function bin($bil){
      $decimal= $bil;
      $ori=$decimal;
                $binary= decbin($decimal);
                $result = strrev($binary);
      return "Biner dari : $ori adalah : $result <br/>"; //funngsi ini mereturn hasil
    }

?>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
      <style type="text/css">

a:link{color:#FF0000}
a:visited{color:#660099}
a:hover{color:#FFFF00}
a:active{color:#000000}
</style>
 
    <body >
                <form action="<?php echo $_SERVER['PHP_SELF']; ?>"
                method="post" name="form1" id="style">
            <p>Inputkan : <input type="text" name="des" value="<?php echo $des ?>" /></p>
            <p>Pilih konversi : <br/>
                <input type="radio" name="option" value="bin"
                    <?php ($option=="bin") ? print 'checked=""': print ''; ?>/>
                        Desimal ke Biner<br/>
                <input type="radio" name="option" value="hex"
                    <?php ($option=="hex") ? print 'checked=""': print ''; ?>/>
                        Desimal ke Hexa<br/>
                <input type="radio" name="option" value="oct"
                    <?php ($option=="oct") ? print 'checked=""': print ''; ?>/>
                        Desimal ke Octal<br/>
            </p>
            <input type="submit" name="submit" value="Submit"/>
        </form>
        <?php
            if(isset($_POST['des'])){ //apakah data tersubmit?
                /*mambuat variable untuk menyimpan data yang dikirim*/
                $des = $_REQUEST['des'];
                $option = $_REQUEST['option'];
                //cek apakah data yang dikirim tidak kosong ?
                if($des=='' || $option==''){
                    echo '<h2>Sorry data not complete</h2><br>';
                    echo "<a href='".$_SERVER['PHP_SELF']."'>Reset</a>";
                }
                else{
                    //cek jenis kelamin
                    switch($option){
                        case 'bin' : echo "<h3>".bin($des)."</h3>"; break;
                        case 'hex' : echo "<h3>".hexa($des)."</h3>"; break;
                        case 'oct' : echo "<h3>".oct($des)."</h3>"; break;
                        default : break;
             
                  }
                }
             
              }echo "<br><a href='back.php'>back to the login page </a>";
         ?>
    </body>
</html>

bila berjalan dengan baik maka hasil akhirnya akan seperti gambar dibawah ini:

ini akan muncul saat pertama kali kita menjalankan program dan alert tersebut terbuat dari javacript




gambar dibawah akan terjadi ketika kita belum lengakp mengisi form






dan gambar dibawah akan terjadi apabila kita telah mengisi dengan lengkap data/form tersebut








hasil konversi





0 komentar:

Posting Komentar

Twitter Delicious Facebook Digg Stumbleupon Favorites More