Skip to main content

PHP: Kalkulator



Pada intinya, kalkulator berbasis web ini menggunakan tiga dasar, yaitu CSS, PHP, dan HTML. CSS (Cascading Style Sheets) agar mudah mengatur tampilan, PHP (PHP Hypertext Prepocessor) untuk operasi perhitungan, dan HTML (Hypertext Markup Language) untuk pembuatan form kalkulator. Kesemuanya dalam bentuk dasar dengan logika perhitungan sederhana untuk melakukan perhitungan. Sedangkan array diatas digunakan untuk debugger dan memahami jalannya algoritma.



<html>
<head>
</head>
<body>
<style type="text/css">
.Hasil {
color: #fcc;
background-color: blue;
font-size: 4em;
border: 1px solid #660;
padding: 4px;
}
.Operator {
color: #fcc;
background-color: #900;
font-size: 1.5em;
border: 1px solid #660;
width: 100px;
padding: 4px;
}
.Angka {
color: white;
background-color: #660;
font-size: 1.5em;
border: 1px solid #660;
padding: 4px;
width: 100px;
}
</style>

<?php
function Hitung($b1,$b2,$o){
switch($o){
case '+':
return $b1+$b2;
break;
case '-':
return $b1-$b2;
break;
case '*':
return $b1*$b2;
break;
case '/':
return $b1/$b2;
break;
default:
}
}
$Bil1=$_POST[Bil1];
$Bil2=$_POST[Bil2];
$Op1=$_POST[Op1];
$tHasil=$_POST[tHasil];
$tAngka=$_POST[tAngka];
$tOperasi=$_POST[tOperasi];
$tClear=$_POST[tClear];
if(isset($tAngka)){
$tHasil.=$tAngka;
}else if(isset($tOperasi)){
if($tOperasi!='='){//////+-*/
$Op1=$tOperasi;
$Bil1=$tHasil;
unset($tHasil);
}else{/////=
$Bil2=$tHasil;
$tHasil=Hitung($Bil1,$Bil2,$Op1);
$Bil1=$tHasil;
}
}else{
unset($Bil1);
unset($Bil2);
unset($Op1);
unset($tHasil);
unset($tAngka);
unset($tOperasi);
unset($tClear);
}
print_r($_POST);

?>
<form method=post action=''>
<input type=hidden name=Bil1 value='<?=$Bil1?>'>
<input type=hidden name=Bil2 value='<?=$Bil2?>'>
<input type=hidden name=Op1 value='<?=$Op1?>'>
<input type=hidden name=tHasil value='<?=$tHasil?>'>
<table border=1><tr><td colspan=5 align=right class=Hasil>&nbsp;<?=$tHasil?></td></tr>
<tr><td><input type=submit name=tAngka value=1 size=10 class=Angka /></td><td><input type=submit name=tAngka value=2 class=Angka /></td><td><input type=submit name=tAngka value=3 class=Angka /></td><td><input type=submit name=tOperasi value=+ class=Operator /></td><td><input type=submit name=tOperasi value=- class=Operator /></td></tr>

<tr><td><input type=submit name=tAngka value=4 class=Angka /></td><td><input type=submit name=tAngka value=5 class=Angka /></td><td><input type=submit name=tAngka value=6 class=Angka /></td><td><input type=submit name=tOperasi value=* class=Operator /></td><td><input type=submit name=tOperasi value=/ class=Operator /></td></tr>

<tr><td><input type=submit name=tAngka value=7 class=Angka /></td><td><input type=submit name=tAngka value=8 class=Angka /></td><td><input type=submit name=tAngka value=9 class=Angka /></td><td colspan=2 align=center><input type=submit name=tOperasi value='=' class=Operator /></td></tr>

<tr><td colspan=3 align=center><input type=submit name=tAngka value=0 class=Angka /></td><td colspan=2 align=center><input type=submit name=tClear value=CLEAR class=Operator /></td></tr>
</table>
</form>
</body>
</html>

Comments

Post a Comment

Popular posts from this blog

Java-MySql: Aplikasi Database dengan Data Gambar (Updated)

Untuk update metode simpan gambar lihat di appGambar 2.0 Bagaimana caranya menyimpan data yang membutuhkan penyimpanan data gambar? Misalkan data pegawai yang membutuhkan penyimpanan gambar dari setiap pegawai. Alternatifnya ada dua, dengan kelebihan dan kekurangan masing-masing. Cara yang pertama adalah dengan membuat field dengan tipe data binary, kemudian menyimpan gambar yang dibutuhkan dalam field di database tersebut. Cara ini membutuhkan manajemen program yang lebih rumit, tapi data gambar akan terjamin, karena tersimpan didalam database yang terintegrasi dengan data lainnya. Kekurangan lainnya adalah ukuran database yang akan membesar dan lambat. Bayangkan saja, sebuah field membutuhkan gambar dengan format jpeg, 200kB. Apabila ada 200 juta record, maka ukuran field yang diperuntukan khusus untuk gambar dengan perhitungan kasar adalah 0.2 MB x 200M = 40 x 10^12 = 40 TB. Belum ditambah dengan ukuran data dari field lainnya, kalau misalkan untuk menyimpan data penduduk Indonesia....

JarMaker & j2Exe: Membuat Executable Aplikasi Java

Lupakan mitos java tidak bisa dijalankan secara langsung. Jangan percaya kalau ada yang bilang java tidak bisa dibuat menjadi aplikasi exe. Kuno kalo masih menggunakan file jar saja atau bahkan file class untuk hasil building aplikasi java. Cobalah untuk sedikit berimprovisasi membuat aplikasi java menjadi exe, hal yang tidak bisa dilakukan oleh tools yang disediakan jdk, bahkan netbeans 6 saat ini. Hasil binary compiler java berupa file class, yang dijalankan dengan perintah java namaclass. Jadi paling tidak untuk menjalankannya harus melalui command prompt, atau yang sedikit kreatif dengan membuat shortcut yang diarahkan ke java.exe dengan parameter nama class yang dipanggil, lengkap dengan pengubahan icon sesuai dengan aplikasinya. Sun sendiri mengembangkan file arsip kompresi jar, mirip dengan format zip, dengan tool yang disediakan di jdk-nya,untuk menghasilkan sebuah file yang berisi seluruh class yang dibutuhkan, sehingga dapat dilakukan pemanggilan dengan class yang pertama...

Membuat Peta Digital dengan Flash MX

Sesuai dengan permintaan tentang cara membuat peta digital dengan flash di komentar posting tentang peta surabaya , akhirnya jadilah program darurat ini. Bagi yang pernah mempelajari GIS (Geoghraphical Information System), pasti punya pandangan lain seputar "peta digital". Sedangkan program ini cuma untuk memberikan gambaran dan pencerahan betapa mudahnya membuat sebuah peta digital dengan menggunakan flash. Ngga sampe sejam kok. Tutorial ini menggunakan Macromedia Flash MX, bukan Flash 5 yang terlalu sederhana, dan juga bukan Flash 2004 keatas yang begitu rumit. Fungsi utama yang sudah ada disini berupa navigasi, zooming, dragging, dan jump to location. Tentang penjelasan langkah pembuatan, dengan begitu begitu banyaknya langkah yang harus dilakukan dan peletakkan action script, yang entah dimana saja ada, Tentu tidak bisa dijelaskan dengan cara konvensional, "klik sana dan open sini dan selanjutnya gini gitu" TM. Yang penting adalah langkah dasar yang harus dila...