Setelah sebelumnya kita membahas mengenai kalkulator sederhana, sekarang kita berlanjut dengan aplikasi form pemesanan sederhana. Pada intinya hampir sama, cuma sedikit pengembangan dengan menambahkan elemen tabel.
Spesifikasi:
*Field Harga, Jumlah Total, Diskon, dan Jumlah Dibayar bersifat read- only
*Jika pesan disi, maka field jumlah total secara otomatis akan menghitung totalnya, termasuk juga field jumlah dibayar.
Rumus:
-Jumlah Total = ∑ (harga * pesan)
-Jumlah Dibayar = Jumlah Total - Diskon
-Jika pembelian lebih dari 50000, maka field diskon secara otomatis akan berisi nilai diskon sebesar 10000 (tidak berlaku kelipatannya) dan otomatis pula field jumlah dibayar akan berkurang
-Jika tombol Batal diklik, maka semua field Pesan akan dibersihkan
Fungsi dari algoritma penghitungan seperti di bawah ini:
<script language="JavaScript" type="text/javascript">
<!--
function hitungPesan(){
var nota = document.form2;
var hargaBakso = 12000 * eval(nota.qBakso.value);
var hargaSoto = 10000 * eval(nota.qSoto.value);
var hargaMie = 15000 * eval(nota.qMie.value);
var hargaDegan = 5000 * eval(nota.qDegan.value);
var hargaCampur = 7000 * eval(nota.qCampur.value);
var jumlahTotal = hargaBakso + hargaSoto + hargaMie + hargaDegan + hargaCampur;
if (jumlahTotal > 50000){
nota.Total.value = jumlahTotal;
nota.Diskon.value = 10000;
nota.Bayar.value = jumlahTotal - eval(nota.Diskon.value);
} else {
nota.Total.value = jumlahTotal;
nota.Diskon.value = 0;
nota.Bayar.value = jumlahTotal - eval(nota.Diskon.value);
}
}
function resetForm(){
document.form2.reset();
}
//-->
</script><h3>Form Pemesanan Berbasis JavaScript</h3>
Kemudian untuk kode dari form tabel seperti di bawah ini:
<form name="form2" action="#">
<table border="1px">
<tr>
<th>No</th>
<th>Makanan/Minuman</th>
<th>Harga</th>
<th>Pesan</th>
</tr>
<tr>
<td width="15">1</td>
<td width="200">Bakso Istimewa</td>
<td width="90">Rp. <input id="n123" type="text" name="bakso" value="12000" size="n6" disabled="true"/></td>
<td width="110"><input type="text" name="qBakso" size="n14" value="0" onChange="hitungPesan()"/></td>
</tr>
<tr>
<td>2</td>
<td>Soto Spesial</td>
<td>Rp. <input type="text" name="soto" value="10000" size="6" disabled="true"/></td>
<td><input type="text" name="qSoto" size="14" value="0" onChange="hitungPesan()"/></td>
</tr>
<tr>
<td>3</td>
<td>Mie Ayam Super</td>
<td>Rp. <input type="text" name="mie" value="15000" size="6" disabled="true"/></td>
<td><input type="text" name="qMie" size="14" value="0" onChange="hitungPesan()"/></td>
</tr>
<tr>
<td>4</td>
<td>Es Degan</td>
<td>Rp. <input type="text" name="degan" value="5000" size="6" disabled="true"/></td>
<td><input type="text" name="qDegan" size="14" value="0" onChange="hitungPesan()"/></td>
</tr>
<tr>
<td>5</td>
<td>Es Campur</td>
<td>Rp. <input type="text" name="campur" value="7000" size="6" disabled="true"/></td>
<td><input type="text" name="qCampur" size="14" value="0" onChange="hitungPesan()"/></td>
</tr>
<tr>
<td colspan="3" align="right">Jumlah Total</td>
<td>Rp.<input type="text" name="Total" size="10" disabled="true" /></td>
</tr>
<tr>
<td colspan="3" align="right">Diskon</td>
<td>Rp.<input type="text" name="Diskon" size="10" disabled="true" /></td>
</tr>
<tr>
<td colspan="3" align="right">Jumlah Dibayar</td>
<td>Rp.<input type="text" name="Bayar" disabled="true" size="10" align="right"/></td>
</tr>
</table><br/>
<input type="button" value="BATAL" onClick="resetForm()" />
</form>
Tabel di atas dapat diformat sesuai dengan keinginan. Dan proses terakhir yaitu penggabungan menjadi sebuah form pemesanan sederhana.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>Warung Makan "Mbok Darmi"</title>
</head>
<body>
<!--Masukkan fungsi hitungPesan
<!--Masukkan form
</body>
</html>
Form pemesanan sudah selesai, jika ingin mengembangkan sangat diharapkan untuk menjadikannya lebih sempurna. Selamat mencoba.. :-)
0 komentar:
Posting Komentar