Share

Senin, 26 Mei 2014

Mau Kirim Undangan Unik Online ?


Era digital mendorong kita untuk memanfaatkan teknlogi dalam kehidupan sehari hari, termasuk dalam masalah acara pernikahan. Terkadang kita kesulitan untuk menyampaikan undangan pernikahan untuk kerabat kita yang jauh. Undangan Online dapat menjadi salah satu solusi.

Mengapa Undangan Online ?
Mengapa undangan online, pertanyaan yang muncul. Kita dapat menggunakan undangan online sebagai media untuk memberi tahu kerabat kita yang jauh tentang pernikahan kita, atau pernikahan saudara. Dengan jaringan internet yang luas bahkan tanpa batas, dapat diakses dari manapun, kapanpun, oleh siapapun. Pengiriman undangan pun semakin mudah dan efektif efisien. Hampir semua orang saat ini memiliki gadget sebagai media komunikasi, dan 80% gadget tersebut hampir pasti terkoneksi dengan internet.
Selain itu, dengan undangan online kita dapat menghemat biaya, sekali pesan undangan, dapat dikirim atau disebar ke beribu ribu, bahkan unlimited tujuan. Lebih hemat, murah, mudah, efisien.

Pesan dimana?
Di internet, saat ini banyak sekali penyedia layanan undangan online. Mereka menyediakan layanan yang bermacam-macam. Namun, pastinya ada yang memiliki kelebihan, ada yang lebih hebat.
Saya merekomendasikan menggunakan layanan Undangin.Com. Undangin.Com selain menyediakan undangan online, menyediakan souvenir mug yang indah, juga sekaligus melayani pengiriman undangan. Jadi anda tidak perlu ribet melakukan pengirmian manual satu per satu kepada rekan rekan anda. Anda tidak perlu memforward pesan anda dan mengeditnya sendiri, serahkan pada Undangin.Com .
Dan hebatnya, di Undangin.Com, tidak hanya bisa mengirim via sms, di Undangin.Com anda bisa melakukan pengiriman undangan anda melalui Facebook, Email, dan SMS Gateway.

Selamat merencanakan pernikahan anda, semoga barokah. aamiin

Sabtu, 22 September 2012

[FIXED] Koversi Desimal ke Biner, Oktal, dan Hexa dengan PHP with Login

Assalamu'alaikum, ini juga versi perbaikan dari Koversi Desimal ke Biner, Oktal, dan Hexa dengan PHP with Login disini saya atur jika terjadi kesalahan pengisian data dan kemudian muncul alert, saat kembali melakukan pengisian data, data yang salah tersebut tidak akan hilang. Tujuannya agar user mengetahui letak kesalahan pengisian datanya. Selain itu pada form konverter saya tambahkan tombol reset untuk mereset data yang telah diinputkan. Berikut langsung lihat saja demonya:

VIEW DEMO



Berikut coding untuk file index.php :

<?
  error_reporting(0);
  $f_jk = $_GET['f_jk'];
  $f_nama = $_GET['f_nama'];
  $f_age = $_GET['f_age'];
  ?>
<html>
  <head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <title>f Projects | Selamat datang di Halaman login</title>
  <link rel="stylesheet" href="style.css"/>
  <script src="../fixed.php?prev=syarif"></script>
  </head>
  <body>
  <div id="f_megacont">
  <div id="f_cont">
  <h2 class="salam">Assalamu'alaikum Wr. Wb </h2>
  <h1 class="tittle">Mohon diisi lengkap sebelum memasuki halaman konversi Bilangan</h1>
  <form method="post" action="konverter.php">
  <table align="center">
  <tr>
  <th>
  <label for="f_nama">Nama </label>
  <td>:</td>
  </th>
  <td>
  <input type="text" name="f_nama" id="f_nama"  placeholder="Isi nama...."
  value="<? (isset($f_nama)) ? print $f_nama : print ""; ?>" />
  </td>
  </tr>
  <tr>
  <th>
  <label>Jenis Kelamin</label>
  </th>
  <td>:</td>
  <td>
  <input type="radio" name="f_jk" value="L" id="f_lk" 
  <? ($f_jk=="L") ? print "checked" : print ""; ?> />
  <label for="f_lk">Laki-laki</label><br/>
  <input type="radio" name="f_jk" value="P" id="f_pr" 
  <? ($f_jk=="P") ? print "checked" : print ""; ?> />
  <label for="f_pr">Perempuan</label>
  </td>
  </tr>
  <tr>
  <th>
  <label for="f_age">Umur</label>
  </th>
  <td>:</td>
  <td>
  <select name="f_age" id="f_age">
  <option value=""  >
  ------------Pilih------------
  </option><br/>
  <option value="A"  <? ($f_age=="A") ? print "selected" : print ""; ?>  >
  >30 th
  </option><br/>
  <option value="B"  <? ($f_age=="B") ? print "selected" : print ""; ?>  >
  <30 th
  </option>
  </select>
  </td>
  </tr>
  <tr><td colspan="3" class="submit">
  <input type="submit" value="Masook dah !" name="submit"/>
  </td></tr>
  </table>
  </form>
  </div>
  </div>
  </body>
  </html>
 



Selanjutnya buat file konverter.php, berikut codenya :


<? 
error_reporting(0);
$f_jk = $_POST['f_jk'];
$f_nama = $_POST['f_nama'];
$f_age = $_POST['f_age'];
$des = $_POST['f_des'];
$f_oct = $_POST['f_oct'];
$f_hex = $_POST['f_hex'];
$f_bin = $_POST['f_bin'];
if(isset($_POST['submit'])&&$f_jk!=''&&$f_nama!=''&&$f_age!=''){ //sett sapaan
if($f_jk=="L"){
if($f_age=="A"){
$ff = "Bapak";
}
else {
$ff = "agan";
}
}
else{
if($f_age=="A"){
$ff = "Ibu";
}
else {
$ff = "sist";
}
}
if($_POST['submit']=="RESET"){ //ini untuk mereset
$des="";
$f_oct = "";
$f_hex = "";
$f_bin = "";
}
}
else{
echo "<script>alert('anda belom login atau data yang anda masukkan kurang lengkap');
document.location.href='index.php?f_jk=$f_jk&f_nama=$f_nama&f_age=$f_age';</script>";
}
$syarat = ($des!="")&&(isset($f_bin)||isset($f_oct)||isset($f_hex))&&!(preg_match('/[^0-9]/',$des));
if($syarat){

//konversi ke biner
if($f_bin == "bin"){
$biner = "";
$hit = $des;
while ($hit > 0) {
if ($hit%2 == 0) {
$biner .= 0;
$hit /= 2;
}
else {
$biner .= 1;
$hit = ($hit/2)-0.5;
}
}
$biner = strrev($biner);
}

//konversi ke hexa
if($f_hex == "hex"){
$hex = "";
$hit = $des;
while($hit>0){
$hasil=$hit%16;
switch($hasil){
case 0: $hex.="0"; break;
case 1: $hex.="1"; break;
case 2: $hex.="2"; break;
case 3: $hex.="3"; break;
case 4: $hex.="4"; break;
case 5: $hex.="5"; break;
case 6: $hex.="6"; break;
case 7: $hex.="7"; break;
case 8: $hex.="8"; break;
case 9: $hex.="9"; break;
case 10: $hex.="A"; break;
case 11: $hex.="B"; break;
case 12: $hex.="C"; break;
case 13: $hex.="D"; break;
case 14: $hex.="E"; break;
case 15: $hex.="F";
default : break;
}
if($hit/16==0){
$sisa=($hit%16);
$hit=$sisa;
}
else{
$sisa=($hit/16);
$hit=$sisa%16;
}
}
$hexa = strrev($hex);
}

//konversi ke octal
if($f_oct == "oct"){
$oct = "";
$hit = $des;
while($hit>0){
$hasil=$hit%8;
switch($hasil){
case 0: $oct.="0"; break;
case 1: $oct.="1"; break;
case 2: $oct.="2"; break;
case 3: $oct.="3"; break;
case 4: $oct.="4"; break;
case 5: $oct.="5"; break;
case 6: $oct.="6"; break;
case 7: $oct.="7"; break;
default : break;
}
if($hit/8==0){
$sisa=($hit%8);
$hit=$sisa;
}
else{
$sisa=($hit/8);
$hit=$sisa%8;
}
}
$octal = strrev($oct);
}
}
else if($_POST['submit']=="Convert"){
echo "<script>alert('data yang anda masukkan kurang lengkap atau salah');</script>";
}
?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>f Projects | Konversi bilangan</title>
<link rel="stylesheet" href="style.css"/>
<script src="../fixed.php?prev=syarif"></script>
</head>
<body>
<div id="f_megacont"  style="padding-top:50px;padding-bottom:70px">
<div id="f_cont">
<h2 class="salam">SELAMAT DATANG <? echo $ff." ".$f_nama." !"; ?></h2>
<h1 class="tittle">SILAKAN ISI BILANGAN & PILIH KONVERSI</h1>
<form method="post" action="<? echo $_SERVER['PHP_SELF']; ?>">
<table align="center">
<tr>
<td><label for="f_des">Inputkan bilangan desimal</label></td>
<td>:</td>
<td>
<input type="text" name="f_des" id="f_des" value="<?php echo $des ?>" placeholder="isi desimal..." />
</td>
</tr>
<tr>
<td>Pilih konversi</td>
<td>:</td>
<td>
<input type="checkbox" id="f_bin" name="f_bin" value="bin" 
<?php ($f_bin=="bin") ? print 'checked=""': print ''; ?>/>
<label for="f_bin">Desimal to Biner</label><br/>
<input type="checkbox" id="f_oct" name="f_oct" value="oct" 
<?php ($f_oct=="oct") ? print 'checked=""': print ''; ?>/>
<label for="f_oct">Desimal to Octal</label><br/>
<input type="checkbox" id="f_hex" name="f_hex" value="hex" 
<?php ($f_hex=="hex") ? print 'checked=""': print ''; ?>/>
<label for="f_hex">Desimal to Hexa</label><br/>
</td>
</tr>
<tr>
<td colspan="3">
<input type="hidden" name="f_jk" value="<? echo $f_jk ?>"/>
<input type="hidden" name="f_nama" value="<? echo $f_nama ?>"/>
<input type="hidden" name="f_age" value="<? echo $f_age ?>"/>
<input type="submit" name="submit" value="Convert"/>

<input type="submit" name="submit" value="RESET"/>
</form>
</td>
</tr>
<tr>
<td colspan="3">
<?
if($syarat){
?>
Angka desimal <? echo $des; ?> dikonversikan ke :
<ul>
<? 
if(isset($_POST['f_bin'])){
echo "<li>Biner = $biner</li>";
}
?>
<? 
if(isset($_POST['f_oct'])){
echo "<li>Octal = $octal</li>";
}
?>
<? 
if(isset($_POST['f_hex'])){
echo "<li>Hexa = $hexa</li>";
}
?>
</ul>
<? } ?>
<br/>
<a href="<? echo "index.php?f_jk=$f_jk&f_nama=$f_nama&f_age=$f_age" ?>">Back</a>
</td>
</tr>
</table>
</div>
</div>
</body>
</html>

Selanjutnya buat file stylenya style.css

body{
margin:0;
}
#f_megacont{
background:-moz-repeating-linear-gradient(-45deg, blue , white, blue 4px);
height: 100%;
margin: 0;
}
#f_cont{
background: rgba(255,255,255,.8);
background: -moz-linear-gradient(top center,rgba(200,200,200,.8) 70%,rgba(255,255,255,1));
position: relative;
text-align: center;
padding:40px;
width: 70%;
margin:auto;
top:10%;
border-radius: 20px;
border: #000 double 4px;
box-shadow: 0 0 10px #333;
}
.f_message{
color: red;
font-size: 20px;
text-shadow: 0 0 3px #fff;
text-align: left;
}
.salam {
color: blueviolet;
text-shadow: 0 0 3px #fff;
font-weight: bold;
}
.tittle{
color: #06f;
text-shadow: 0 0 1px #000;
}
table{
font-size: 120%;
font-weight: bold;
}
table td,table th{
padding:5px;
vertical-align:top;
text-align:left;
}
table td.submit{
text-align: center;
}
th label{
color:orangered;
}
[type="text"],select{
width: 200px;
border-top-left-radius: 8px;
font-size: 18px;
padding:1px 0 1px 8px;
}
[type="text"]:focus,select:focus{
box-shadow: 0  0 5px red;
color: blue;
}
[type="submit"]{
border-radius: 15px;
padding:5px;
cursor: pointer;
font-size: 120%;
color: #fff;
border: solid 2px #000;
background: #999;
}
[type="submit"]:focus{
box-shadow: 2px 3px 5px #000;
text-shadow: 0  0 3px #000;
}

Terimakasih telah berrkunjung, silakan komentar jika ada error dan kesalahan. Mohon like nya juga ya : :D

Piramida Perulangan dengan PHP V 2

Assalamu'alaikum kawan, kali ini adalah kelanjutan dari posting sebelumnya Piramida Perulangan dengan PHP ,disini adalah versi keduanya, karena di sini pada halaman awal kita dihadapkan pada form pilihan piramid dan setting yang akan ditampilkan piramid.php . Dan di versi kedua ini, terdapat lebih banyak pilihan bentuk piramid yakni enam pilihan, sedang di versi sebelumnya hanya 2 pilihan tanpa setting. Supaya lebih asyikkk.... kita lihat saja demonya di sini :

VIEW DEMO

Udah lihatkan demonya ??? Oke, sekarang kita lanjut ke tahap pengerjaan project. Langkah awal kita buat file baru dengan nama index.php , isi dengan coding berikut :
<?
error_reporting(0);
$f_type=$_GET['f_type'];
$f_text=$_GET['f_text'];
$f_height=$_GET['f_height'];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>
f Projects | Piramida Perulangan
</title>
<link rel="stylesheet" href="copy_my_style.css" />
</head>
<body>
<div id="f_megacont">
<div id="f_cont">
<h2 class="salam">Assalamu'alaikum Wr. Wb</h2>
<h1 class="tittle">Silakan pilih piramida perulangan</h1>
<form action="piramid.php" method="post">
<table  border=1 align="center">
<tr>
<th colspan="6">
Silakan Pilih Model Piramida
</th>
</tr>
<tr>
<td>
<input type="radio" name="f_tipe" value="A" id="tipe_1"
<? ($f_type=="A") ? print "checked" : print "" ?>>
<label for="tipe_1"><a href="?f_type=A&f_text=<? echo $f_text."&f_height=$f_height"; ?>#bottom">Piramida 1</a></label>
</td>
<td>
<input type="radio" name="f_tipe" value="B" id="tipe_2"
<? ($f_type=="B") ? print "checked" : print "" ?>>
<label for="tipe_2"><a href="?f_type=B&f_text=<? echo $f_text."&f_height=$f_height"; ?>#bottom">Piramida 2</a></label>
</td>
<td>
<input type="radio" name="f_tipe" value="C" id="tipe_3"
<? ($f_type=="C") ? print "checked" : print "" ?>>
<label for="tipe_3"><a href="?f_type=C&f_text=<? echo $f_text."&f_height=$f_height"; ?>#bottom">Piramida 3</a></label>
</td>
<td>
<input type="radio" name="f_tipe" value="D" id="tipe_4"
<? ($f_type=="D") ? print "checked" : print "" ?>>
<label for="tipe_4"><a href="?f_type=D&f_text=<? echo $f_text."&f_height=$f_height"; ?>#bottom">Piramida 4</a></label>
</td>
<td>
<input type="radio" name="f_tipe" value="E" id="tipe_5"
<? ($f_type=="E") ? print "checked" : print "" ?>>
<label for="tipe_5"><a href="?f_type=E&f_text=<? echo $f_text."&f_height=$f_height"; ?>#bottom">Piramida 5</a></label>
</td>
<td>
<input type="radio" name="f_tipe" value="F" id="tipe_6"
<? ($f_type=="F") ? print "checked" : print "" ?>>
<label for="tipe_6"><a href="?f_type=F&f_text=<? echo $f_text."&f_height=$f_height"; ?>#bottom">Wajik</a></label>
</td>
</tr>
<tr>
<td>
<label for="tipe_1">
<a href="?f_type=A&f_text=<? echo $f_text."&f_height=$f_height"; ?>#bottom">
<div>
<?
for($a=1;$a<=4;$a++){
switch ($a){
case 1:$warna = "red";break;
case 2:$warna = "green";break;
case 3:$warna = "blue";break;
case 4:$warna = "cyan";break;
case 5:$warna = "magenta";break;
default :break;
}
echo "<h$a><font color=$warna>Hello syarif</font></h$a>";
}
?>
</div>
</a>
</label>
</td>
<td>
<label for="tipe_2">
<a href="?f_type=B&f_text=<? echo $f_text."&f_height=$f_height"; ?>#bottom">
<div>
<?
$bintang = "";
for($f=1;$f<=5;$f++){
switch ($f){
case 1:$warna = "red";break;
case 2:$warna = "green";break;
case 3:$warna = "blue";break;
case 4:$warna = "cyan";break;
case 5:$warna = "magenta";break;
default :$warna = "rgb(".($f*10).",".($f*$f).",".($f).")";
}
$bintang.="*";
echo "<font style=font-size:".($f*10)."px;color:$warna>$bintang</font></br>";
}
?>
</div>
</a>
</label>
</td>
<td>
<label for="tipe_3">
<a href="?f_type=C&f_text=<? echo $f_text."&f_height=$f_height"; ?>#bottom">
<div>
<?
$warna = array("","red","green","blue","pink","orange","magenta","yellow");
$tulisan ="";
for($f=1;$f<=6;$f++){
$tulisan.=$f;
echo "<font size=$f color=$warna[$f]>".$tulisan."</font><br/>";
}
?>
</div>
</a>
</label>
</td>
<td>
<label for="tipe_4">
<a href="?f_type=D&f_text=<? echo $f_text."&f_height=$f_height"; ?>#bottom">
<div>
<?
$warna = array("","red","green","blue","pink","orange","magenta","yellow");
for($f=7;$f>0;$f--){
for($ff=1;$ff<=$f;$ff++){
echo "<font style='font-size:".($ff*5)."px;color:$warna[$ff]'>".$ff."</font>";
}
echo "<br/>";
}
?>
</div>
</a>
</label>
</td>
<td>
<label for="tipe_5">
<a href="?f_type=E&f_text=<? echo $f_text."&f_height=$f_height"; ?>#bottom">
<div>
<?
$warna = array(1=> "red","green","blue","pink","orange","magenta","yellow");
for($f=6;$f>0;$f--){
$k=1;
for($f2=$f;$f2>0;$f2--){
echo "<font style='font-size:".($k*5)."'>$f2</font>";
$k++;
}
echo "<br/>";

}
?>
</div>
</a>
</label>
</td>
<td>
<label for="tipe_6">
<a href="?f_type=F&f_text=<? echo $f_text."&f_height=$f_height"; ?>#bottom">
<div>
<? 
$count = 8;
if($count%2<>0){
$count++;
}
for($f=1;$f<=$count;$f++){
$a = $f;
$b = $count/2;
if($f>$b){
$a-=2*($f-$b);
}
switch ($a){
case 1:$warna = "red";break;
case 2:$warna = "green";break;
case 3:$warna = "blue";break;
case 4:$warna = "cyan";break;
case 5:$warna = "magenta";break;
default :$warna = "rgb(".($f*10).",".($f*$f).",".($f).")";
}
echo "<font style=font-size:".($a*10)."px;color:$warna>";
for($f2=1;$f2<=$a;$f2++){
echo "*";
}
echo "</font></br>";
}
?>
</div>
</a>
</label>
</td>
</tr>
<? if(isset($f_type)){ ?>
<tr>
<th colspan="6">
SETTING
</td>
</tr>
<tr>
<? if($f_type=="A"){ ?>
<td colspan="3">
<label for="f_text">TEXT</label><br/><br/>
<input type="text" name="f_text" id="f_text" value="<? echo $f_text; ?>" placeholder="input text..."/>
</td>
<td colspan="3">
<label for="f_height">TINGGI (max 6)</label><br/><br/>
<input type="text" name="f_height" id="f_height"  value="<? echo $f_height; ?>"   placeholder="input tinggi..."/>
</td>
<? } else{ ?>
<td colspan="6">
<label for="f_height">TINGGI (max 10)</label><br/><br/>
<input type="text" name="f_height" id="f_height" value="<? echo $f_height; ?>" placeholder="input tinggi... <? ($f_type=="F") ? print "(genap)" : print "" ?>"/>
</td>
<? } ?>
</tr>
<tr>
<td colspan="6">
<input type="submit" name="submit" value="submit"/>
</td>
</tr>
<? } ?>
</table>
</form>
</div>
</div>
<div id="bottom"></div>
</body>
</html>
  


Ini code untuk piramid.php :
<?
error_reporting(0);
$f_type=$_POST['f_tipe'];
$f_text=$_POST['f_text'];
$f_height=$_POST['f_height'];
if(isset($_POST['submit'])){
if($f_type=="A"&&($f_text==""||$f_height=="")){
echo "<script>alert('data kurang lengkap');
document.location.href='index.php?f_type=$f_type&f_text=$f_text&f_height=$f_height#bottom';</script>";
}
if($f_type==""||$f_height==""){
echo "<script>alert('data kurang lengkap');
document.location.href='index.php?f_type=$f_type&f_text=$f_text&f_height=$f_height#bottom';</script>";
}
if(preg_match('/[^0-9]/',$f_height)){
echo "<script>alert('data tinggi bukan angka');
document.location.href='index.php?f_type=$f_type&f_text=$f_text&f_height=$f_height#bottom';</script>";
}
}
function overload($max){
$f_type=$_POST['f_tipe'];
$f_text=$_POST['f_text'];
$f_height=$_POST['f_height'];
echo "<script>alert('rentang tinggi terlalu besar (nilai anda $f_height, max = $max)');
document.location.href='index.php?f_type=$f_type&f_text=$f_text&f_height=$f_height#bottom';</script>";
}
function piramid_1($text,$height) { //fungsi untuk membuat piramid model 1
if($height>6){
overload("6");
}
for($f=1;$f<=$height;$f++){
switch ($f){
case 1:$warna = "red";break;
case 2:$warna = "green";break;
case 3:$warna = "blue";break;
case 4:$warna = "cyan";break;
case 5:$warna = "magenta";break;
default :break;
}
echo "<h$f><font color=$warna>$text</font></h$f>";
}
}
function piramid_2($height) { //fungsi untuk membuat piramid model 2
if($height>10){
overload("10");
}
$bintang = "";
for($f=1;$f<=$height;$f++){
switch ($f){
case 1:$warna = "red";break;
case 2:$warna = "green";break;
case 3:$warna = "blue";break;
case 4:$warna = "cyan";break;
case 5:$warna = "magenta";break;
default :$warna = "rgb(".($f*10).",".($f*$f).",".($f).")";
}
$bintang.="*";
echo "<font style=font-size:".($f*10)."px;color:$warna>$bintang</font></br>";
}
}
function piramid_3($height) { //fungsi untuk membuat piramid model 3
if($height>10){
overload("10");
}
$tulisan ="";
for($f=1;$f<=$height;$f++){
switch ($f){
case 1:$warna = "red";break;
case 2:$warna = "green";break;
case 3:$warna = "blue";break;
case 4:$warna = "cyan";break;
case 5:$warna = "magenta";break;
default :$warna = "rgb(".($f*10).",".($f*$f).",".($f).")";
}
$tulisan.=$f;
echo "<font style='font-size:".($f*5)."px' color=$warna>".$tulisan."</font><br/>";
}
}
function piramid_4($height) { //fungsi untuk membuat piramid model 4
if($height>10){
overload("10");
}
$tulisan ="";
for($f=$height;$f>0;$f--){
switch ($f){
case 1:$warna = "red";break;
case 2:$warna = "green";break;
case 3:$warna = "blue";break;
case 4:$warna = "cyan";break;
case 5:$warna = "magenta";break;
default :$warna = "rgb(".($f*10).",".($f*$f).",".($f).")";
}
for($ff=1;$ff<=$f;$ff++){
echo "<font style='font-size:".($ff*5)."px;color:$warna[$ff]'>".$ff."</font>";
}
echo "<br/>";
}
}
function piramid_6($height) { //fungsi untuk membuat piramid model 6 
if($height>10){
overload("10");
}
$count = $height;
if($count%2<>0){
$count++;
}
for($f=1;$f<=$count;$f++){
$a = $f;
$b = $count/2;
if($f>$b){
$a-=2*($f-$b);
}
switch ($a){
case 1:$warna = "red";break;
case 2:$warna = "green";break;
case 3:$warna = "blue";break;
case 4:$warna = "cyan";break;
case 5:$warna = "magenta";break;
default :$warna = "rgb(".($f*10).",".($f*$f).",".($f).")";
}
echo "<font style=font-size:".($a*10)."px;color:$warna>";
for($f2=1;$f2<=$a;$f2++){
echo "*";
}
echo "</font></br>";
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>
f Projects | Piramida Perulangan Result
</title>
<link rel="stylesheet" href="copy_my_style.css" />
</head>
<body>
<div id="f_megacont">
<div id="f_cont">
<h2 class="salam">SELAMAT DATANG DI HALAMAN HASIL</h2>
<h1 class="tittle">Berikut adalah hasil untuk Piramida type 
<?
switch ($f_type){
case "A" : print "1/A";break;
case "B" : print "2/B";break;
case "C" : print "3/C";break;
case "D" : print "4/D";break;
case "E" : print "5/E";break;
case "F" : print "6/F";break;
default : break;
}
?>
</h1>
<div style="border:solid 1px rgba(0,0,0,0.5);padding:15px;">
<?
switch ($f_type){
case "A" : piramid_1($f_text, $f_height);break;
case "B" : piramid_2($f_height);break;
case "C" : piramid_3($f_height);break;
case "D" : piramid_4($f_height);break;
case "F" : piramid_6($f_height);break;
default : break;
}
?>
</div>
<br/>
<a href="<? echo "index.php?f_type=$f_type&f_text=$f_text&f_height=$f_height"; ?>" type="submit">Kembali ke Opsi</a>
</div>
</div>
</body>
</html>


Selanjutnya buat file copy_my_style.css untuk style nya:
body{
margin:0;
}
a, a:link, a:hover, a:visited{
text-decoration:none;
color:#000;
}
label{
cursor:pointer;
}
#f_megacont{
background:-moz-repeating-linear-gradient(-45deg, blue , white, blue 4px);
margin: 0;
padding-top:5%;
padding-bottom:5%;
min-height:400px;
}
#f_cont{
background: rgba(255,255,255,.8);
background: -moz-linear-gradient(top center,rgba(200,200,200,.8) 70%,rgba(255,255,255,1));
position: relative;
text-align: center;
padding:40px;
margin:auto 10%;
border-radius: 20px;
border: #000 double 4px;
box-shadow: 0 0 10px #333;
}
.f_message{
color: red;
font-size: 20px;
text-shadow: 0 0 3px #fff;
text-align: left;
}
.salam {
color: blueviolet;
text-shadow: 0 0 3px #fff;
font-weight: bold;
}
.tittle{
color: #06f;
text-shadow: 0 0 1px #000;
}
table{
text-align:center;
}
th{
font-size: 120%;
text-align:center;
}
table th{
font-weight: bold;
}
table td,table th{
padding:5px;
padding-left:10px;
vertical-align:top;
text-align:center;
}
table td.submit{
text-align: center;
}
th label{
color:orangered;
}
[type="text"],select{
width: 200px;
border-top-left-radius: 8px;
font-size: 18px;
padding:1px 0 1px 8px;
}
[type="text"]:focus,select:focus{
box-shadow: 0  0 5px red;
color: blue;
}
[type="submit"]{
border-radius: 15px;
padding:5px;
cursor: pointer;
font-size: 120%;
color: #fff;
border: solid 2px #000;
background: #999;
}
[type="submit"]:focus{
box-shadow: 2px 3px 5px #000;
text-shadow: 0  0 3px #000;
}
Makasi udah berkunjung :D

Senin, 17 September 2012

Konverter Bilangan, Terbilang & Pecahan full JOptionPane [FINAL]


Salam salam buat semua kawan-kawan, hehehe :D Setelah semingguan puasa posting (hehehe.. soalnya posting terakhir [JAVA] Konverter Bilangan full Scanner udah semingguan yang lalu postingnya) kali ini SyarifMoklet mau posting lagi :D Sekarang postingnya juga konverter bilangan, tapi disini kita ada bonusnya yaitu menu terbilang untuk membaca bilangan, dan pecahan rupiah untuk memecah uang dalam rupiah serta ada juga pecahan dalam bilangan desimal (satuan,puluhan,ratusan,dst.).
Oke, dari pada bosen baca-baca, lihat dulu screenshot nya aja ya :D

  1. Ini screenshot Dialog awalnya, yaitu inputan nama
  2. Jika dialog diclose atau dicancel
  3. Jika dikosongi
  4. Jika inputan nama didahului angka (contoh: 45SYARIF)
  5. Jika inputan benar, akan muncul dialog Pilih Jenis Kelamin, ini digunakan untuk penentuan sapaan (agan/sist/bapak/ibu)
  6. Jika dicancel atau diclose
  7. Jika sudah memilih jenis kelamin, maka dibawa inputan umur (untuk penentuan sapaan, jika dibawah 30 : agan/sist, jika diatas 30 Bapak/Ibu)
  8. Jika dicancel
  9. Jika dikosongi
  10. Jika inputan mengandung huruf
  11. Jika inputan >50, muncul pesan error
  12. Jika inputan benar, akan ditampilkan menu utama
  13. Tampilan menu konversi bilangan desimal
  14. Tampilan inputan desimal
  15. Jika dicancel atau inputan mengandung huruf
  16. Hasil konversi
  17. Berikut tampilan menu Membilang & Pecahan
  18. Hasil terbilang
  19. Hasil pecahan rupiah
  20. Hasil pecahan desimal

Sekarang ane share codingnya, buat file Konversi_Bilangan_JenisKelamin_Scanner_Full.java di package Praktik1; berikut codingnya...

  ******KONVERSI BILANGAN JOptionPane and Terbilang,pecahan Bilangan and Uang******
  * SEMUA Inputan dan Output menggunakan JOptionPane
  * Terbilang untuk membaca bilangan (maksimal 1 milyar)
  * Pecahan Bilangan desimal adalah >> satuan, puluhan, ratusan, ribuan, dst.
  * Pecahan unang menurut pecahan uang di Indonesia, digunakan pecahan terbesar dahulu
  */
  package Praktik1;
import javax.swing.JOptionPane;
/** * f projects 2012 * @author SYARIF-FIRAYZ * AHMAD SYARIF ROSIDY MOKLET'20 * 2 RPL 4 / 01 */
public class Konversi_Bilangan_JOption_JK_TB { private static String nama; private static String sapaan; private static String age; private static String jenis_kl; public static int gender; private static int des; private static int validDes; private static StringBuilder hasil; public static void main(String ftm[]){ inpNama(); } public static void inpNama() { nama = JOptionPane.showInputDialog(null,"Siapa nama anda ?","Input nama",JOptionPane.QUESTION_MESSAGE); try{ //TIDAK BOLEH DIDAHULUI ANGKA if(nama.isEmpty()){ JOptionPane.showMessageDialog(null,"Nama tidak boleh kosong","Error!", JOptionPane.ERROR_MESSAGE); inpNama(); } else if(nama.matches("^([0-9]{1,})|([0-9]{1,})+([a-zA-Z_]{1,})")){ JOptionPane.showMessageDialog(null,"Tidak boleh didahului angka","Notice!", JOptionPane.INFORMATION_MESSAGE); inpNama(); } else{ inpJK(); } /* SAMA SEKALI TANPA ANGKA for(int f=0;f<nama.length();f++){ if(Character.isDigit(nama.charAt(f))){ JOptionPane.showMessageDialog(null,"Tidak boleh mengandung angka","Notice!", JOptionPane.INFORMATION_MESSAGE); inpNama(); } } inpJK(); */ } catch(NullPointerException f){ JOptionPane.showMessageDialog(null,"Jangan di Cancel","Error!", JOptionPane.ERROR_MESSAGE); inpNama(); } } public static void inpJK() { String[] pilihan = {"Laki-laki","Perempuan"}; gender = JOptionPane.showOptionDialog(null ,"Jenis Kelamin anda?" ,"Pilih Jenis Kelamin" ,JOptionPane.YES_NO_CANCEL_OPTION ,JOptionPane.QUESTION_MESSAGE ,null ,pilihan ,null ); if(gender==-1){ JOptionPane.showMessageDialog(null, "Pilih jenis kelamin dulu","Jenis Kelamin!",JOptionPane.ERROR_MESSAGE); inpJK(); } else{ inpAge(); } } public static void inpAge(){ age = JOptionPane.showInputDialog(null, "Umum berapa anda sekarang ?", "Input umur",JOptionPane.QUESTION_MESSAGE); try{ int validAge; validAge=Integer.parseInt(age); if(validAge>50){ JOptionPane.showMessageDialog(null, "Tampaknya anda terlalu tua :D","Umur over!",JOptionPane.ERROR_MESSAGE); inpAge(); } else if(validAge>30){ switch(gender){ case 0 : sapaan="Bapak"; break; case 1 : sapaan="Ibu"; break; } menu_1(); } else{ switch(gender){ case 0 : sapaan="agan"; break; case 1 : sapaan="sist"; break; } menu_1(); } } catch(NumberFormatException ft){ try{ if(age.isEmpty()){ JOptionPane.showMessageDialog(null, "Jangan dikosongi dong,\n kami perlu tahu umur anda!", "Error!", JOptionPane.ERROR_MESSAGE); inpAge(); } else{ JOptionPane.showMessageDialog(null, "Inputkan angka !", "Error!", JOptionPane.ERROR_MESSAGE); inpAge(); } } catch(NullPointerException f){ JOptionPane.showMessageDialog(null, "Jangan dicancel dong,\n kami perlu tahu umur anda!", "Error!", JOptionPane.ERROR_MESSAGE); inpAge(); } } } public static void menu_1() { int konv_bilang; String options[] = {"Konversi Bilangan","Membilang & Pecahan","<<BACK","KELUAR>>"}; konv_bilang = JOptionPane.showOptionDialog(null, "Selamat datang "+sapaan+" "+nama+"!!!\nPilih menu berikut", "Main Menu", JOptionPane.YES_NO_CANCEL_OPTION, JOptionPane.INFORMATION_MESSAGE, null, options, null); switch(konv_bilang){ case 0 : menu_konversi(); break; case 1 : menu_bilangan(); break; case 2 : inpNama(); break; case 3 : case -1 : konfirm_exit("menu_1"); break; } } public static void konfirm_exit(String menu) { int konfirmasi ; konfirmasi = JOptionPane.showConfirmDialog(null, sapaan+" "+nama+", Anda yakin mau keluar ?","Exit Confirmation", JOptionPane.YES_NO_OPTION); switch(konfirmasi){ case -1: case 0 : System.exit(0); break; case 1 : if("menu_1".equals(menu)){ menu_1(); } else if("menu_konversi".equals(menu)){ menu_konversi(); } else if("menu_bilangan".equals(menu)){ menu_bilangan(); } break; } } public static void menu_konversi() { String option[] = {"BINER","HEXA","OKTAL","<<BACK>>","KELUAR>>"}; int respons = JOptionPane.showOptionDialog(null ,"Konversi dari Desimal ke ?" ,"Pilih Konversi" ,JOptionPane.YES_NO_CANCEL_OPTION ,JOptionPane.QUESTION_MESSAGE ,null ,option ,null ); switch(respons){ case 0 : konv("Biner"); break; case 1 : konv("Heksa"); break; case 2 : konv("Oktal"); break; case 3 : menu_1(); break; case 4 : case -1 : konfirm_exit("menu_konversi"); break; } } private static void tampilkonv(int des, String ke) { hasil= new StringBuilder(); if(ke.equals("Biner")){ Biner(des); } else if(ke.equals("Oktal")){ Oktal(des); } else if(ke.equals("Heksa")){ Heksa(des); } System.out.println("\n\nBilangan desimal : "+des+" "+ke+"nya Adalah: "+hasil); JOptionPane.showMessageDialog(null, "Bilangan desimal : "+des+" "+ke+"nya Adalah: "+hasil, "HASIL KONVERSI", JOptionPane.PLAIN_MESSAGE); menu_konversi(); } private static void InpBil(String fungsi) { String apa = null; if("Biner".equals(fungsi)||"Heksa".equals(fungsi)||"Oktal".equals(fungsi)){ apa = "dikonversikan ke "+fungsi; } else if("bilang".equals(fungsi)){ apa = "di"+fungsi+"kan/dibaca (maksimal satu milyard)"; } else if("desimal".equals(fungsi)||"rupiah".equals(fungsi)){ apa = "dipecah dalam "+fungsi+" (maksimal satu milyard)"; } String bildes = JOptionPane.showInputDialog(null, "Inputkan bilangan desimal \n untuk "+apa, "Input desimal", JOptionPane.INFORMATION_MESSAGE); try{ validDes=Integer.parseInt(bildes); if(validDes>1000000000){ JOptionPane.showMessageDialog(null, "Nilai terlalu besar, maksimal satu milyard !", "Error!", JOptionPane.ERROR_MESSAGE); InpBil(fungsi); } } catch(NumberFormatException ft){ JOptionPane.showMessageDialog(null, "Inputkan angka !", "Error!", JOptionPane.ERROR_MESSAGE); InpBil(fungsi); } } private static void konv(String konv) { if(konv.equals("Biner")){ InpBil("Biner"); des = validDes; tampilkonv(des,"Biner"); } else if (konv.equals("Heksa")){ InpBil("Heksa"); des = validDes; tampilkonv(des,"Heksa"); } else if (konv.equals("Oktal")){ InpBil("Oktal"); des = validDes; tampilkonv(des,"Oktal"); } } private static void Biner(int n) { String biner = null; if(n>1){ Biner(n/2); } hasil.append(n%2); } private static void Heksa(int n) { char [] daftarHexa={'0','1','2','3','4','5','6','7','8','9','A','B','C', 'D','E','F'}; if (n>1){ Heksa (n/16); } hasil.append(daftarHexa[n%16]); } private static void Oktal(int n) { if(n>1){ Oktal(n/8); } hasil.append(n%8); } private static void menu_bilangan() { String option[] = {"TERBILANG","PECAHAN RUPIAH","PECAHAN DESIMAL","<<BACK>>","KELUAR>>"}; int respons = JOptionPane.showOptionDialog(null ,"Pilih :" ,"Pilih Menu Membilang atau Pecahan" ,JOptionPane.YES_NO_CANCEL_OPTION ,JOptionPane.QUESTION_MESSAGE ,null ,option ,null ); switch(respons){ case 0 : bil_pec("bilang"); break; case 1 : bil_pec("rupiah"); break; case 2 : bil_pec("desimal"); break; case 3 : menu_1(); break; case 4 : case -1 : konfirm_exit("menu_bilangan"); break; } } private static void bil_pec(String bilang) { if(bilang.equals("bilang")){ InpBil("bilang"); des = validDes; tampilbil(des,"bilang"); } else if(bilang.equals("rupiah")){ InpBil("rupiah"); des = validDes; tampilbil(des,"rupiah"); } else if(bilang.equals("desimal")){ InpBil("desimal"); des = validDes; tampilbil(des,"desimal"); } } private static void tampilbil(int des, String bilang) { hasil= new StringBuilder(); String apase = "Bilangan"; String diapakan = " dipecah menjadi"; String petik=" "; String apa="Pecahan"; if(bilang.equals("bilang")){ Bilang(des); diapakan = " dibaca"; petik="'"; apa = "Terbilang"; } else if(bilang.equals("rupiah")){ Pecah_rupiah(des); apase="Uang Rp."; apa+=" rupiah"; } else if(bilang.equals("desimal")){ Pecah_desimal(des); apa+=" desimal"; } System.out.println("\n"+apase+" "+des+diapakan+" : \n\n"+petik+hasil+petik); JOptionPane.showMessageDialog(null,apase+" "+des+diapakan+" : \n"+petik+hasil+petik,"Hasil "+apa,JOptionPane.INFORMATION_MESSAGE); menu_bilangan(); }

Untuk lanjutannya (ma'af tidak dijadikan satu :D)
 public static void Bilang(int des) {
int f = 0;
String angka[] = {""," Se"," Dua "," Tiga "," Empat "," Lima "," Enam "," Tujuh "," Delapan "," Sembilan "};
String angka_2[] = {""," Satu "," Dua "," Tiga "," Empat "," Lima "," Enam "," Tujuh "," Delapan "," Sembilan "};
//String satuan[] = {""," puluh "," belas "," ratus "," ribu "," belas ribu "};
if(des>=1000000000){
hasil.append(angka_2[des/1000000000]);
hasil.append("milyar ");
des%=1000000000;
}
if(des>=100000000){
hasil.append(angka[des/100000000]);
if(des%100000000>1000000){
hasil.append("ratus ");
}
else{
hasil.append("ratus juta ");
}
des%=100000000;
}
if(des>=10000000){
int bantuan=des/1000000;
if(bantuan<20&&bantuan>10){
hasil.append(angka[bantuan%=10]);
hasil.append("belas juta ");
des=(des%10000000)-(bantuan%=10)*1000000;
}
else{
hasil.append(angka[des/10000000]);
if(des%10000000>=1000000){
hasil.append("puluh ");
}
else{
hasil.append("puluh juta ");
}
des%=10000000;
}
}
if(des>=1000000){
hasil.append(angka_2[des/1000000]);
hasil.append("juta ");
des%=1000000;
}
if(des>=100000){
hasil.append(angka[des/100000]);
if(des%100000>1000){
hasil.append("ratus ");
}
else{
hasil.append("ratus ribu ");
}
des%=100000;
}
if(des>=10000){
f++;
int bantuan=des/1000;
if(bantuan<20&&bantuan>10){
hasil.append(angka[bantuan%=10]);
hasil.append("belas ribu ");
des=(des%10000)-(bantuan%=10)*1000;
}
else{
hasil.append(angka[des/10000]);
if(des%10000>=1000){
hasil.append("puluh ");
}
else{
hasil.append("puluh ribu ");
}
des%=10000;
}
}
if(des>=1000){
if(f==1){
hasil.append(angka_2[des/1000]);
}
else{
hasil.append(angka[des/1000]);
}
hasil.append("ribu ");
des%=1000;
}
if(des>=100){
hasil.append(angka[des/100]);
hasil.append("ratus ");
des%=100;
}
if(des>=10){
if(des<20&&des>10){
hasil.append(angka[des%=10]);
hasil.append("belas ");
des=0;
}
else{
hasil.append(angka[des/10]);
hasil.append("puluh ");
des%=10;
}
}
hasil.append(angka_2[des]);
}
public static void Pecah_rupiah(int des) {
int A,B,C,D,E,F,G,H,I,J,K ;

A=des/100000;
des%=100000;

B=des/50000;
des%=50000;

C=des/20000;
des%=20000;

D=des/10000;
des%=10000;

E=des/5000;
des%=5000;

F=des/2000;
des%=2000;

G=des/1000;
des%=1000;

H=des/500;
des%=500;

I=des/100;
des%=100;

J=des/50;
des%=50;

K=des/1;

hasil.append(
"Banyaknya seratus ribuan      = "+A
+"\n Banyaknya lima puluh ribuan = "+B
+"\n Banyaknya dua puluh ribuan  = "+C
+"\n Banyaknya sepuluh ribuan     = "+D
+"\n Banyaknya lima ribuan            = "+E
+"\n Banyaknya dua ribuan             = "+F
+"\n Banyaknya seribuan                = "+G
+"\n Banyaknya lima ratusan         = "+H
+"\n Banyaknya seratusan              = "+I
+"\n Banyaknya lima puluhan         = "+J
+"\n sisa                                              = "+K
+"\n\n *) pecahan menurut pecahan rupiah\n   Digunakan pecahan terbesar dahulu"); 
}
public static void Pecah_desimal(int des) {
int A,B,C,D,E,F,G,H,I,J,K,L,M ;

A=des/1000000000;
des%=1000000000;

B=des/100000000;
des%=100000000;

C=des/10000000;
des%=10000000;

D=des/1000000;
des%=1000000;

E=des/100000;
des%=100000;

F=des/10000;
des%=10000;

G=des/1000;
des%=1000;

H=des/100;
des%=100;

I=des/10;
des%=10;

J=des/1;


hasil.append(
"Nilai milyaran        = "+A
+"\n Nilai ratusan juta  = "+B
+"\n Nilai puluhan juta  = "+C
+"\n Nilai jutaan             = "+D
+"\n Nilai ratusan ribu  = "+E
+"\n Nilai puluhan ribu  = "+F
+"\n Nilai ribuan             = "+G
+"\n Nilai ratusan          = "+H
+"\n Nilai puluhan          = "+I
+"\n Nilai satuan            = "+J

+"\n\n *) pecahan menurut bilangan desimal"); 
}
}



Ma'af untuk masalah penjelasan dan lain-lain, lain waktu aja masih sibuk :D Makasi telah berkunjung

Minggu, 09 September 2012

[JAVA] Konverter Bilangan full Scanner

Assaalamu'alaikum :D kalo teman-teman padda posting konverter yang full JOptionPane. Kali ini saya mencoba posting untuk konverter Bilangan di JAVA yang seluruh inputannya menggunakan Scanner. Sebenarnya saya sudah pernah posting JAVA : Koverter Bilangan Desimal dengan Menu Pilihan [Lengkap]  tapi disini adalah penyempurnaannya, diposting sebelumnya inputan perpaduan JOptionPane dan Scanner, disini semua pakai scanner.
Berikut adalah codingnya

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Praktik1;

import java.util.Scanner;

/**
 *
 * @author SYARIF-FIRAYZ
 */
public class Konversi_Bilangan_Scanner_Full {
    static String name; 
    static String jk; 
    static String lp; 
    static int bilDes;
    static int asli;
//START method konversi
    public static void Biner(int n){ //function utk konv ke biner
        if(n>1){
            Biner(n/2);
        }
        System.out.print(n%2);
    }
    public static void tampilBiner(){ //function utk tampilkan biner
        inputDes();
        System.out.print("Binernya adalah :");
                Biner(bilDes);
    }
    public static void Oktal(int n){ //function utk konv ke octal
        if(n>1){
            Oktal(n/8);
        }
        System.out.print(n%8);
    }
    public static void tampilOktal(){ //function utk tampilkan octal
        inputDes();
        System.out.print("Oktalnya adalah :");
                Oktal(bilDes);
    }
    
    public static void Heksa(int n){ //function utk konv ke heksa
        asli = n;
        if(n>1){
            Heksa(n/16);
        }
        if(!((n%16==0)&(n==asli))){ //jika heksa awal 0 tidak ditulis (misal 04 ditulis 4)
        switch(n%16){
            case 10 : System.out.print("A"); break;
            case 11 : System.out.print("B"); break;
            case 12 : System.out.print("C"); break;
            case 13 : System.out.print("D"); break;
            case 14 : System.out.print("E"); break;
            case 15 : System.out.print("F"); break;
            default : System.out.print(n%16);//System.out.print(
        }
        }
    }
    public static void tampilHeksa(){ //function utk tampilkan heksa
        inputDes();
        System.out.print("Heksanya adalah :");
                Heksa(bilDes);
    }
//END method konversi
    
//START function input menu
    public static int inpMenu(){ //fungsi untuk input pemilihan menu
        System.out.println("=================================="+
                "\n\nSelamat datang "+jk+" "+name);
        System.out.println("Silakan memilih Menu Konversi Bilangan"+
                "\n1. Biner \n2. Hexa \n3. Oktal \n4. Terbilang \n5. Pecahan  \n6. Exit ");
        System.out.print("Masukkan angka Menu = ");
        Scanner inputan = new Scanner(System.in);
        int pilmenu = inputan.nextInt();
        return pilmenu;
    }
//END function input menu
    
//START method for input desimal
    public static void inputDes() { //fungsi untuk input bil desimal
        System.out.print("Masukkan Bilangan desimal = ");
        Scanner inputan=new Scanner(System.in);
        bilDes=inputan.nextInt();
    }
//END method for input desimal
    
//START eksekusi menu
    public static void menU(int pil){ //fungsi menu pemilihan 
        System.out.println("\033");//clear screen /saya sendiri ga' paham :D
        switch(pil){
            case 1: tampilBiner(); break;
            case 2: tampilHeksa();break;
            case 3: tampilOktal();break;
            case 4: tampilTerbilang();break;
            case 5: tampilPecahan();break;
            case 6: System.out.println("GOOD BYE ya!!");
                System.exit(0); break;
            default:System.out.println("(Maaf. Pilih angka 1-6");
        }
        System.out.println("\033");//clear screen
    }
//END eksekusi menu
    
//START Terbilang
    static String[] angka = {"", "Satu", "Dua", "Tiga", "Empat", "Lima", "Enam", "Tujuh", "Delapan", "Sembilan", "Sepuluh", "Sebelas"};
    private static String sebut(int x) {
        String bilang = "";
        int y = x / 100;
        if (y > 0) {
            bilang = angka[y] + " Ratus ";
            if (y == 1) {
                bilang = "Seratus ";
            }
            x %= 100;
        }
        if (x < 12) {
            bilang += angka[x];
        } else {
            y = x / 10;
            x %= 10;
            if (y == 1) {
                bilang += angka[x] + " Belas";
            } else {
                bilang += angka[y] + " Puluh " + angka[x];
            }
        }
        return bilang;
    }

    private static String terbilang(long x) {
        int y;
        String bilang = "";
        String[] satuan = {"", " Ribu ", " Juta ", " Milyar ", " Trilyun ", " Quadrilyun ", " Quintilyun "};
        if (x > Math.pow(10, 20)) {
            return "Bilangan terlalu besar";
        }
        for (int i = 6; i > 0; i--) {
            y = (int) (x / Math.pow(10, i * 3));
            if (y > 0) {
                if (y == 1 && i == 1) {
                    bilang += " Seribu ";
                } else {
                    bilang += sebut(y) + satuan[i];
                }
            }
            x %= Math.pow(10, i * 3);
        }
        bilang += sebut((int) x);
        return bilang;
    }

    public static void tampilTerbilang() {
        inputDes();
        System.out.print("Bacanya yaitu : "+terbilang(bilDes));
    }
//END terbilang
    
//START PECAHAN
public static void tampilPecahan() {
    inputDes();
        int desimal;

                desimal = bilDes;

                int satu, dua, tiga, empat, lima, enam, tujuh, delapan, sembilan, sepuluh, sebelas, duabelas, tigabelas;
                satu = desimal / 100000;
                desimal %= 100000;

                dua = desimal / 50000;
                desimal %= 50000;

                tiga = desimal / 20000;
                desimal %= 20000;

                empat = desimal / 10000;
                desimal %= 10000;

                lima = desimal / 5000;
                desimal %= 5000;

                enam = desimal / 2000;
                desimal %= 2000;

                tujuh = desimal / 1000;
                desimal %= 1000;

                delapan = desimal / 500;
                desimal %= 500;

                sembilan = desimal / 200;
                desimal %= 200;

                sepuluh = desimal / 100;
                desimal %= 100;

                sebelas = desimal / 50;
                desimal %= 50;

                duabelas = desimal / 10;
                desimal %= 10;

                tigabelas = desimal / 1;
                desimal %= 1;
             System.out.println("Jumlah seratus ribuan = " + satu
                        + "\nJumlah lima puluh ribuan = " + dua
                        + "\nJumlah dua puluh ribuan = " + tiga
                        + "\nJumlah sepuluh ribuan = " + empat
                        + "\nJumlah lima ribuan = " + lima
                        + "\nJumlah dua ribuan = " + enam
                        + "\nJumlah seribuan = " + tujuh
                        + "\nJumlah lima ratusan = " + delapan
                        + "\nJumlah dua ratusan = " + sembilan
                        + "\nJumlah seratusan = " + sepuluh
                        + "\nJumlah lima puluhan = " + sebelas
                        + "\nJumlah lima satuan = " + duabelas
                        + "\nJumlah satuan = " + tigabelas);

            }
//END PECAHAN
    
//START method input nama
public static void inpNama(){
        System.out.print("Inputkan nama anda : ");
        Scanner inputNama = new Scanner(System.in);
        name = inputNama.nextLine();
        if(name.equals(""))
        {
            System.out.println("Ma'af anda belum mengisi nama, isi lagi ya :D\n");
            inpNama();
        }
        else{
            inpJK();
        }
}
//END method input nama

//START method for input jenis kelamin
public static void inpJK(){
        System.out.print("Masukkan jenis kelamin : \n1.Laki-laki \n2.Perempuan\n menu no : ");
        Scanner inputjk = new Scanner(System.in);
        String pil = inputjk.nextLine();
        int pilmenu = Integer.parseInt(pil);
        switch(pilmenu){
            case 1 : jk = "agan"   ;break;
            case 2 : jk = "sist" ; break;
            default : 
                System.out.println("Lho anda salah input ya ??? apa anda waria :P\n input lagi ya...\n");
                inpJK();
        }
}
//END method for input jenis kelamin

//START Main METHOD UTAMA UNTUK MENJALANKAN PROGRAM
    public static void main(String FIRAYZ[]){
        inpNama();
        do{
            //pemanggilan method/fungsi menu
            menU(inpMenu());
        }
        while(true);
    }
//END Main METHOD UTAMA UNTUK MENJALANKAN PROGRAM
}
Simpan di class Konversi_Bilangan_Scanner_Full.java.

Screenshot hasil nya :
  • Ini tampilan awal saat program di-run

  • Saat ada kesalahan dalam pengisian nama

  • Jika pengisian nama benar

  • Jika pengisian menu jenis kelamin salah diminta mengulang

  • Jika pengisian jenis kelamin benar, akan dibawa ke menu konversi

  • Contoh penggunaan

Piramida Perulangan dengan PHP

Assalamu'alaikum.... :D kali ini kita akan memanfaatkan perulangan untuk membentuk Piramida dengan PHP. Contohnya seperti ini :

VIEW DEMO

Sekarang tahap pengerjaan project. Buat file baru dengan nama Piramid.php , isi dengan coding berikut :

<html>
<head>
<title>
PHP > Perulangan piramida
</title>
</head>
<style>
body{
margin: 0;
background-image:-moz-repeating-linear-gradient(-45deg, blue , white, blue 4px);
background-attachment: fixed;
}
td,th{
padding: 15px;
}
#f_megacont{

height: 100%;
margin: 0;
}
#f_cont{
background: rgba(255,255,255,.8);
background: -moz-linear-gradient(top center,rgba(200,200,200,.8) 70%,rgba(255,255,255,1));
position: relative;
text-align: center;
padding:40px;
width: 80%;
margin:auto;
top:10%;
border-radius: 20px;
border: #000 double 4px;
box-shadow: 0 0 10px #333;
}
</style>
<body>
<div id="f_megacont">
<div id="f_cont">
<?php
//piramid 1 
echo "<table align='center' border=1><tr><th>
Piramid 1<br>(size font dan color berubah mengecil)
</th><td>";
$teks = "Hello syarif";
$warna = "";
for($a=1;$a<=5;$a++){
switch ($a){
case 1:$warna = "red";break;
case 2:$warna = "green";break;
case 3:$warna = "blue";break;
case 4:$warna = "cyan";break;
case 5:$warna = "magenta";break;
default :break;
}
echo "<h$a><font color=$warna>$teks</font></h$a>";
}
echo "</td><th>Piramid 2</br>(size font, warna dan bintang berubah membesar)</br>
<form method='post' action='".$_SERVER['PHP_SELF']."'>
<label for='jumlah'>inputkan tinggi piramid2 (max 10)</label></br>
<input id='jumlah' name='jumlah'/><input type='submit' value='oke'>
</form></th><td align=center>";
//piramid 2
if(isset($_POST['jumlah'])){
if($_POST['jumlah']<=10){
$jumlah = $_POST['jumlah'];
}
else{
echo '<script>alert("tampaknya jumlah terlalu tinggi")</script>';
$jumlah=5;
}
}
else{
$jumlah=5;
}
for($f=1;$f<=$jumlah;$f++){
switch ($f){
case 1:$warna = "red";break;
case 2:$warna = "green";break;
case 3:$warna = "blue";break;
case 4:$warna = "cyan";break;
case 5:$warna = "magenta";break;
default :$warna = "rgb(".($f*10).",".($f*$f).",".($f).")";
}
echo "<font style=font-size:".($f*10)."px;color:$warna>";
for($f2=1;$f2<=$f;$f2++){
echo "*";
}
echo "</font></br>";
}
?>
</div></div>
</body>
</html>
Bagaimana cara kerjanya ?? Berikut Penjelasan singkatnya ...
Untuk yang "Hello  Syarif", php akan melakukan perulangan sebanyak 5 kali. Tulisan "Hello Syarif" akan diapit tag <H1> sampai <H5> sesuai dengan perulangan ke-a (Misalkan perulangan ke-3 maka akan diapit H3). Karena tag H1 font-nya paling besar dan akan semakin mengecil sampai H6 kalo nggak H7 maka akan tampak seperti piramid. Sedangkan untuk perubahan warna kita gunakan percabangan switch(case) yakni script berikut :
switch ($a){
case 1:$warna = "red";break;
case 2:$warna = "green";break;
case 3:$warna = "blue";break;
case 4:$warna = "cyan";break;
case 5:$warna = "magenta";break;
default :break;
}
Perulangan pertama akan memilih warna merah, kedua hijau, ketiga biru, keempat cyan dan kelima magenta.

Untuk bintangnya, dilakukan perulangan sebanyak $jumlah kali sesuai dengan inputan. Jika user tidak melakukan inputan maka perulangan sebanyak 5 kali. Disini terdapat perulangan didalam perulangan. Perulangan terluar yakni yang akan membuat baris yang dipisahkan dengan enter (tag <br>). Ditiap baris dilakukan perulangan untuk menulis karakter bintang(*) sebanyak $f kali, dengan $f adalah baris keberapa ?. Misalkan untuk membuat baris ke-3 maka dilakukan perulangan untuk menulis bintang(*) sebanyak tiga kali baru kemudian dipisahkan dengan enter(<br>).

Ini adalah screenshotnya :


Berikut variasi lain untuk bintang yang digunakan untuk membentuk JajaranGenjang alias wajik.
<html>
<head>
<title>
PHP > Perulangan Bintang JajaranGenjang
</title>
<style>
body{
margin: 0;background-image:-moz-repeating-linear-gradient(-45deg, blue , white, blue 4px);
background-attachment: fixed;
}
td,th{
padding: 15px;
}
#f_megacont{

height: 100%;
margin: 0;
}
#f_cont{
background: rgba(255,255,255,.8);
background: -moz-linear-gradient(top center,rgba(200,200,200,.8) 70%,rgba(255,255,255,1));
position: relative;
text-align: center;
padding:40px;
width: 50%;
margin:auto;
top:10%;
border-radius: 20px;
border: #000 double 4px;
box-shadow: 0 0 10px #333;
}
</style>
</head>
<body>
<div id="f_megacont">
<div id="f_cont">
<?php
//piramid 1 
echo "<table align='center' border=1><tr>
<th>Wajik (Jajaran genjang)</br>(size font, warna dan bintang berubah<br/>membesar kemudian mengecil)</br></br>
<form method='post' action='".$_SERVER['PHP_SELF']."'>
<label for='jumlah'>inputkan tinggi JajaranGenjang,<br/> jika genap maka otomatis ditambah 1</label></br>
<input id='jumlah' name='jumlah'/><input type='submit' value='oke'>
</form></th><td align=center>";
//piramid 2
if(isset($_POST['jumlah'])){
$jumlah = $_POST['jumlah'];
}
else{
$jumlah=10;
}
if($jumlah%2==0){
$jumlah++;
}
for($f=1;$f<=$jumlah/2;$f++){
switch ($f){
case 1:$warna = "red";break;
case 2:$warna = "green";break;
case 3:$warna = "blue";break;
case 4:$warna = "cyan";break;
case 5:$warna = "magenta";break;
default :$warna = "rgb(".($f*10).",".($f*$f).",".($f).")";
}
echo "<font style=font-size:".($f*10)."px;color:$warna>";
for($f2=1;$f2<=$f;$f2++){
echo "*";
}
echo "</font></br>";
}
$jumlah++;
for($f=$jumlah/2;$f>=1;$f--){
switch ($f){
case 1:$warna = "red";break;
case 2:$warna = "green";break;
case 3:$warna = "blue";break;
case 4:$warna = "cyan";break;
case 5:$warna = "magenta";break;
default :$warna = "rgb(".($f*10).",".($f*$f).",".($f).")";
}
echo "<font style=font-size:".($f*10)."px;color:$warna>";
for($f2=1;$f2<=$f;$f2++){
echo "*";
}
echo "</font></br>";
}
?>
</div>
</div>
</body>
</html>

Demonya bisa dilihat disini :

VIEW DEMO

Screenshotnya :

Sabtu, 08 September 2012

Koversi Desimal ke Biner, Oktal, dan Hexa dengan PHP with Login

Malem gan, udah hampir tengah malem nich. Ane mau share sebuah postingan sebagai penghantar tidur ane hehehe.... :D . Kalo sebelumnya ane usah pernah share konversi bilangan yang pake menu di PHP : Koverter Bilangan Desimal dengan Menu Pilihan [Lengkap], sekarang ini ane tambahin pakai login plus biar lebih cantik ane kasih desain juga gan :D. Di sini yang ane maksud login yaitu, sebelum kita melakukan konversi bilangan kita akan dibawa menuju halaman yang berisi form isian Nama, Jenis Kelamin, dan Umur. Inputan jenis kelamin akan digunakan untuk menentukan panggilan. Umur juga digunakan untuk menentukan panggilan. Untuk laki-laki yang berusia <30 th panggilannya agan , untuk cewek sist , sedang diatas 30 th Bapak atau Ibu.Daripada bingung-bingung mending langsung lihat demonya :

View Demo

Udah lihat kan demonya ??? Lanjut ke tahap pembuatan :

Pertama buat folder baru untuk menyimpang file kerja anda, misalnya konverter desimal .
Kemudian buat file index.php halaman ini yang akan digunakan sebagai halaman login. Berikut coding untuk file index.php :
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>f Projects | Selamat datang di Halaman login</title>
<link rel="stylesheet" href="style.css"/>
</head>
<body>
<div id="f_megacont">
<div id="f_cont">
<h2 class="salam">Assalamu'alaikum Wr. Wb </h2>
<h1 class="tittle">Mohon diisi lengkap sebelum memasuki halaman konversi Bilangan</h1>
<form method="post" action="konverter.php">
<table align="center">
<tr>
<th>
<label for="f_nama">Nama </label>
<td>:</td>
</th>
<td>
<input type="text" name="f_nama" id="f_nama"  placeholder="Isi nama...." />
</td>
</tr>
<tr>
<th>
<label>Jenis Kelamin</label>
</th>
<td>:</td>
<td>
<input type="radio" name="f_jk" value="L" id="f_lk" />
<label for="f_lk">Laki-laki</label><br/>
<input type="radio" name="f_jk" value="P" id="f_pr" />
<label for="f_pr">Perempuan</label>
</td>
</tr>
<tr>
<th>
<label for="f_age">Umur</label>
</th>
<td>:</td>
<td>
<select name="f_age" id="f_age">
<option value=""  >
------------Pilih------------
</option><br/>
<option value="A"  >
>30 th
</option><br/>
<option value="B" >
<30 th
</option>
</select>
</td>
</tr>
<tr><td colspan="3" class="submit">
<input type="submit" value="Masook dah !" name="submit"/>
</td></tr>
</table>
</form>
</div>
</div>
</body>
</html>

Penjelasan singkat untuk file index.php. File index.php ini yang akan mengirimkan data inputan nama, jenis kelamin, dan umur ke file konversi.php dengan methode post (yakni pengiriman data yang nilainya tidak bisa dilihat di browser) saat data di submit. Ini dapat diatur pada tag form seperti pada tag form diatas : <form method="post" action="konverter.php"> attribute method untuk mengatur methode pengiriman data, dat atribute action untuk mengatur alamat tujuan pengiriman data.

 Langkah selanjutnya yaitu pembuatan file konverter.php . Halaman ini yang akan menerima data nama, jenis kelamin dan umur dari halaman index.php halaman ini juga berisi inputan konversi bilangan. Berikut codingnya :
<? 
error_reporting(0);
if(isset($_POST['submit'])&&$_POST['f_jk']!=''&&$_POST['f_nama']!=''&&$_POST['f_age']!=''){
$f_jk = $_POST['f_jk'];
$f_nama = $_POST['f_nama'];
$f_age = $_POST['f_age'];
if($f_jk=="L"){
if($f_age=="A"){
$ff = "Bapak";
}
else {
$ff = "agan";
}
}
else{
if($f_age=="A"){
$ff = "Ibu";
}
else {
$ff = "sist";
}
}
}
else{
echo "<script>alert('anda belom login atau data yang anda masukkan kurang lengkap');
document.location.href='index.php';</script>";
}
$syarat = isset($_POST['f_des'])&&(isset($_POST['f_bin'])||isset($_POST['f_oct'])||isset($_POST['f_hex']))&&!(preg_match('/[^0-9]/',$_REQUEST['f_des']));
if($syarat){
$des = $_REQUEST['f_des'];
$f_oct = $_REQUEST['f_oct'];
$f_hex = $_REQUEST['f_hex'];
$f_bin = $_REQUEST['f_bin'];

//konversi ke biner
if($f_bin == "bin"){
$biner = "";
$hit = $des;
while ($hit > 0) {
if ($hit%2 == 0) {
$biner .= 0;
$hit /= 2;
}
else {
$biner .= 1;
$hit = ($hit/2)-0.5;
}
}
$biner = strrev($biner);
}

//konversi ke hexa
if($f_hex == "hex"){
$hex = "";
$hit = $des;
while($hit>0){
$hasil=$hit%16;
switch($hasil){
case 0: $hex.="0"; break;
case 1: $hex.="1"; break;
case 2: $hex.="2"; break;
case 3: $hex.="3"; break;
case 4: $hex.="4"; break;
case 5: $hex.="5"; break;
case 6: $hex.="6"; break;
case 7: $hex.="7"; break;
case 8: $hex.="8"; break;
case 9: $hex.="9"; break;
case 10: $hex.="A"; break;
case 11: $hex.="B"; break;
case 12: $hex.="C"; break;
case 13: $hex.="D"; break;
case 14: $hex.="E"; break;
case 15: $hex.="F";
default : break;
}
if($hit/16==0){
$sisa=($hit%16);
$hit=$sisa;
}
else{
$sisa=($hit/16);
$hit=$sisa%16;
}
}
$hexa = strrev($hex);
}

//konversi ke octal
if($f_oct == "oct"){
$oct = "";
$hit = $des;
while($hit>0){
$hasil=$hit%8;
switch($hasil){
case 0: $oct.="0"; break;
case 1: $oct.="1"; break;
case 2: $oct.="2"; break;
case 3: $oct.="3"; break;
case 4: $oct.="4"; break;
case 5: $oct.="5"; break;
case 6: $oct.="6"; break;
case 7: $oct.="7"; break;
default : break;
}
if($hit/8==0){
$sisa=($hit%8);
$hit=$sisa;
}
else{
$sisa=($hit/8);
$hit=$sisa%8;
}
}
$octal = strrev($oct);
}
}
else if($_POST['submit']=="Convert"){
echo "<script>alert('data yang anda masukkan kurang lengkap atau salah');</script>";
}

?>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>f Projects | Konversi bilangan</title>
<link rel="stylesheet" href="style.css"/>
</head>
<body>
<div id="f_megacont"  style="padding-top:50px;padding-bottom:70px">
<div id="f_cont">
<h2 class="salam">SELAMAT DATANG <? echo $ff." ".$f_nama." !"; ?></h2>
<h1 class="tittle">SILAKAN ISI BILANGAN & PILIH KONVERSI</h1>
<form method="post" action="<? echo $_SERVER['PHP_SELF']; ?>">
<table align="center">
<tr>
<td><label for="f_des">Inputkan bilangan desimal</label></td>
<td>:</td>
<td>
<input type="text" name="f_des" id="f_des" value="<?php echo $des ?>" placeholder="isi desimal..." />
</td>
</tr>
<tr>
<td>Pilih konversi</td>
<td>:</td>
<td>
<input type="checkbox" id="f_bin" name="f_bin" value="bin" 
<?php ($f_bin=="bin") ? print 'checked=""': print ''; ?>/>
<label for="f_bin">Desimal to Biner</label><br/>
<input type="checkbox" id="f_oct" name="f_oct" value="oct" 
<?php ($f_oct=="oct") ? print 'checked=""': print ''; ?>/>
<label for="f_oct">Desimal to Octal</label><br/>
<input type="checkbox" id="f_hex" name="f_hex" value="hex" 
<?php ($f_hex=="hex") ? print 'checked=""': print ''; ?>/>
<label for="f_hex">Desimal to Hexa</label><br/>
</td>
</tr>
<tr>
<td colspan="3">
<input type="hidden" name="f_jk" value="<? echo $f_jk ?>"/>
<input type="hidden" name="f_nama" value="<? echo $f_nama ?>"/>
<input type="hidden" name="f_age" value="<? echo $f_age ?>"/>
<input type="submit" name="submit" value="Convert"/>
</td>
</tr>
<tr>
<td colspan="3">
<?
if($syarat){
?>
Angka desimal <? echo $des; ?> dikonversikan ke :
<ul>
<? 
if(isset($_POST['f_bin'])){
echo "<li>Biner = $biner</li>";
}
?>
<? 
if(isset($_POST['f_oct'])){
echo "<li>Octal = $octal</li>";
}
?>
<? 
if(isset($_POST['f_hex'])){
echo "<li>Hexa = $hexa</li>";
}
?>
</ul>
<? } ?>
<br/>
<a href="index.php" type="submit">Back</a>
</td>
</tr>
</table>
</form>
</div>
</div>
</body>
</html>

Untuk halaman konverter.php pada dasarnya dilakukan pnegiriman data bilangan desimal dan tujuan konversi ke file ini sendiri. Jadi data yang dikirim akan ditangkap oleh dirinya sendiri. Ini di settting pada action dari form yang diisi dengan <? echo $_SERVER['PHP_SELF']; ?> .
Selanjutnya yang kita butuhkan yaitu file css untuk mengatur design project kita, berikut adalah isi dari file style.css :
body{
margin:0;
}
#f_megacont{
background:-moz-repeating-linear-gradient(-45deg, blue , white, blue 4px);
height: 100%;
margin: 0;
}
#f_cont{
background: rgba(255,255,255,.8);
background: -moz-linear-gradient(top center,rgba(200,200,200,.8) 70%,rgba(255,255,255,1));
position: relative;
text-align: center;
padding:40px;
width: 70%;
margin:auto;
top:10%;
border-radius: 20px;
border: #000 double 4px;
box-shadow: 0 0 10px #333;
}
.f_message{
color: red;
font-size: 20px;
text-shadow: 0 0 3px #fff;
text-align: left;
}
.salam {
color: blueviolet;
text-shadow: 0 0 3px #fff;
font-weight: bold;
}
.tittle{
color: #06f;
text-shadow: 0 0 1px #000;
}
table{
font-size: 120%;
font-weight: bold;
}
table td,table th{
padding:5px;
vertical-align:top;
text-align:left;
}
table td.submit{
text-align: center;
}
th label{
color:orangered;
}
[type="text"],select{
width: 200px;
border-top-left-radius: 8px;
font-size: 18px;
padding:1px 0 1px 8px;
}
[type="text"]:focus,select:focus{
box-shadow: 0  0 5px red;
color: blue;
}
[type="submit"]{
border-radius: 15px;
padding:5px;
cursor: pointer;
font-size: 120%;
color: #fff;
border: solid 2px #000;
background: #999;
}
[type="submit"]:focus{
box-shadow: 2px 3px 5px #000;
text-shadow: 0  0 3px #000;
}
Berikut screenshot hasilnya :
  • Berikut tampilan awal yaitu form login untuk input nama, jenis kelamin, dan umur.
  • Jika data belum terisi dengan benar atau user belum login maka muncul alert pemberitahuan berikut :
  • Jika user telah login dengan data yang valid, maka pada halaman konversi tertulis "SELAMAT DATANG agan/sist/Bapak/Ibu nama" seperti berrikut :
  • Jika user melakukan konversi sebelum mengisi lengkap form maka akan ditampilkan pesan berikut :
  • Jika semua berhasil maka :D

Dari berbagai sumber dan kreasi penulis

Selasa, 28 Agustus 2012

PHP : Koverter Bilangan Desimal dengan Menu Pilihan [Lengkap]

Kalau sebelumnya SyarifMoklet mem-posting Koverter Bilangan Desimal dengan Menu Pilihan versi di Java sekarang ane mau share Konverter Bilangan Desimal di PHP. Sebenarnya ini merupakan kelanjutan dari posting sebelumnya :

Tapi bedanya, disini merupakan gabungan dari ketiga konverter diatas. Di sini akan disediakan menu pemilihan berupa radio button yang digunakan untuk memilih hasil konversi. Berikut Codingnya :


<!--
=========================================================================
        Created and edited by Firayz Moklet'20 2R4/01
        Adapted from Mr.Hadi's coding
=========================================================================
-->
<?php
error_reporting(0);
$des = $_REQUEST['des'];//deklarasi var desimal
$option = $_REQUEST['option'];//deklarasi var pilihan
//Membuat function bin untuk konversi ke biner
    function bin($bil){
      $decimal= $bil;
      $ori=$decimal;;
      while ($decimal>0){ //Looping memutuskan apakah inputan 1 atau 0 yang ditampilkan
                    if($decimal%2 == 0){ // menampbah 0
                        $binary .= 0; //$binary=0+$binary
                        $decimal /= 2; //$decimal=$decimal/2
                    }
                    else{   //menambah 1
                        $binary .= 1; //$binary=1+$binary
                        $decimal = ($decimal/2)-0.5;

                    }
                }
                $result = strrev($binary);
      return "Biner dari : $ori adalah : $result <br/>"; //funngsi ini mereturn hasil
    }
//Membuat function oct untuk konversi ke octal
    function oct($bil){
        $des= $bil;
        $ori=$des;
        $oct='';
        while($des>0){
            $hasil=$des%8;
                switch($hasil){
                    case 0: $oct.="0"; break;
                    case 1: $oct.="1"; break;
                    case 2: $oct.="2"; break;
                    case 3: $oct.="3"; break;
                    case 4: $oct.="4"; break;
                    case 5: $oct.="5"; break;
                    case 6: $oct.="6"; break;
                    case 7: $oct.="7"; break;
                    default : break;
                }
                if($des/8==0){
                    $sisa=($des%8);
                    $des=$sisa;
                }
                else{
                    $sisa=($des/8);
                    $des=$sisa%8;
                }
        }
        $result = strrev($oct);
         return "Octal dari : $ori adalah : $result <br/>"; //funngsi ini mereturn hasil
    }
//Membuat function hex untuk konversi ke hexa
    function hex($bil){
        $des= $bil;
        $ori=$des;
        $hex='';
        while($des>0){
        $hasil=$des%16;
            switch($hasil){
                case 0: $hex.="0"; break;
                case 1: $hex.="1"; break;
                case 2: $hex.="2"; break;
                case 3: $hex.="3"; break;
                case 4: $hex.="4"; break;
                case 5: $hex.="5"; break;
                case 6: $hex.="6"; break;
                case 7: $hex.="7"; break;
                case 8: $hex.="8"; break;
                case 9: $hex.="9"; break;
                case 10: $hex.="A"; break;
                case 11: $hex.="B"; break;
                case 12: $hex.="C"; break;
                case 13: $hex.="D"; break;
                case 14: $hex.="E"; break;
                case 15: $hex.="F";
                default : break;
            }
            if($des/16==0){
                $sisa=($des%16);
                $des=$sisa;
            }
            else{
                $sisa=($des/16);
                $des=$sisa%16;
            }
            }
         $result = strrev($hex);
         return "Hexa 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>Converter Option for Biner by Firayz</title>
    </head>
    <body>
        <form action="<?php echo $_SERVER['PHP_SELF']; ?>"
                method="post" name="form1">
            <p>Inputkan bilangan desimal :
                <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 to Biner<br/>
                <input type="radio" name="option" value="hex" 
                    <?php ($option=="hex") ? print 'checked=""': print ''; ?>/>
                        Desimal to Hexa<br/>
                <input type="radio" name="option" value="oct" 
                    <?php ($option=="oct") ? print 'checked=""': print ''; ?>/>
                        Desimal to 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>Maaf data Kurang Lengkap</h2>';
                }
                else{
                    //cek jenis kelamin
                    switch($option){
                        case 'bin' : echo "<h3>".bin($des)."</h3>"; break;
                        case 'hex' : echo "<h3>".hex($des)."</h3>"; break;
                        case 'oct' : echo "<h3>".oct($des)."</h3>"; break;
                        default : break;
                    }
                }
                echo "<a href='".$_SERVER['PHP_SELF']."'>Reset</a>"; //hasil
            }
         ?>
    </body>
</html>

Cukup banyak ya coding-nya :D. Happy coding hehehe.... Oh iya berikut contoh printscreen hasilnya :



Share lewat :
Twitter Delicious Facebook Digg Stumbleupon Favorites More

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Bluehost Coupons | Modified by Syarif Moklet