Dengan memahami contoh ini diharapkan programmer memahami :
- Penggunaan Form dalam HTML + PHP
- Looping/perulangan dengan perintah do while dan for
- Konversi integer ke string
- Penggabungan string
- Pengigunaan temporary variabel
- Konversi integer ke string
- Penggabungan string
- Pengigunaan temporary variabel
Bagaimana caranya membuat program konversi bilangan desimal ke bilangan biner ?:
Contoh : Masukan angka : 100 maka outputnya seperti ini.
100:2=50 sisa=0
50:2=25 sisa=0
25:2=12 sisa=1
12:2=6 sisa=0
6:2=3 sisa=0
3:2=1 sisa=0
1:2=0 sisa=1
Desimal 100 Binari 1000100
Analisis masalah dan logika adalah sebagai berikut.
Input adalah : sembarang bilangan yang dimasukan melalui keyboard
Prosesnya adalah dengan looping atau perulangan dengan WHILE.. DO
Akhir dari perulangan adalah saat HASIL BAGI bilangan menjadi 0
Karena memakai logika perulangan, Untuk itu DIPERLUKAN LOGIKA TUKAR TEMPAT melalui BANTUAN VARIABEL/TEMPORARY VARIABEL untuk menyimpan hasil bagi dan sisahasil bagi secara berulang.
=============
Copas dan Jalankan program di localhost
<html>
<head>
<script language="javascript">
function submit_form2(){
document.form2.submit();
}
</script>
<title>binari</title>
</head>
<body>
<form name="form2" method="post" >
Masukan Angka/bilangan :
<input name="bilangan" type="text" id="bilangan" onChange="submit_form2()">
</form>
<?php
if (isset($_POST['bilangan']))
{
$bilangan=$_POST['bilangan'];
// echo "Bilangan :".$bilangan ;
$hasil = intval($bilangan / 2);
$sisa = $bilangan % 2;
echo "Hasil Bagi : ".$bilangan." dengan 2 = ". $hasil. " sisa : ".$sisa; echo '<br>';
$tmphasil=$hasil;
$tmpsisa=$sisa;
$stsisa=(string)$sisa;
do
{
$hasil=$tmphasil;
$sisa=$tmpsisa;
$tmphasil=intval($hasil / 2);
$tmpsisa=$hasil % 2;
echo "Hasil Bagi : ".$hasil." dengan 2 = ". $tmphasil. " sisa : ".$tmpsisa; echo '<br>';
$stsisa=$stsisa.(string)$tmpsisa;
}
while ($tmphasil!=0);
// komentar : didapat nilai binari namun masih terbalik, perlu dibalik hasilnya, dengan perulangan for
// yaitu varibel $stsisa
$pjng=strlen($stsisa);
for ($i=$pjng; $i >= 1 ; $i--)
{
$bn=substr($stsisa,$i-1,1);
$sbn=$sbn.$bn;
}
echo '<br>';
echo "Desimal : ".$bilangan." Binari : ".$sbn; echo '<br>';
}
?>
</body>
</html>
Komentar
Posting Komentar
Nuhun sudah komentar