Evaluasi Praktikum Pemweb Bab JavaScript (29 Oktober 2013)


Saya minta maaf jika saat itu tidak bisa berbagi materi dengan maksimal. Itu karena tak dipersiapkan dengan matang. 
Sebagai permintaan maaf, saya coba memposting coding yang dipelajari kemarin.

Ini untuk coding menghitung Luas Trapesium dengan javascipt :

-------------------------------------

<html>
<head>
<title>Menghitung Luas Trapesium</title>
<style type="text/css">

#table
{
font-family:"Comic Sans MS", cursive;
border:#6F0;
background:#CCC;
padding-left:0.6cm;

}

#p
{
font-family:"Comic Sans MS", cursive;
text-shadow:#000;
}

#h2
{
font:"Palatino Linotype", "Book Antiqua", Palatino, serif;
text-shadow:#FFF;
size:;
}
</style>

<script> 
function cektidakkosong()
{ 
if(form.sisi1.value == "" || form.sisi2.value == "" || form.tinggi.value == "")
{ 
alert("data kosong, silahkan diisi");
exit; 
} 
} 

function hitung() 
{ 
cektidakkosong(); 
a=eval(form.sisi1.value); 
b=eval(form.sisi2.value); 
c=eval(form.tinggi.value); 
c=0.5*((a+b) *c);
form.hasil.value = c; 
} 
</script>
</head>

<body>
<form name="form">
<table id="table" align="center">
  <tr>
    <td colspan="2"><h2 id="h2" align="left" >Menghitung <br/> Luas Trapesium</h2>
      </td>
      <td> <img src="images/trapesium.png" alt="" />
      </td>
  </tr>
  <tr>
    <td width="154">Sisi Sejajar 1</td>
    <td width="18">:</td>
    <td width="178"><input type="text" name="sisi1"></td>
  </tr>
  <tr>
    <td>Sisi Sejajar 2</td>
    <td>:</td>
    <td><input type="text" name="sisi2"></td>
  </tr>
  <tr>
    <td>Tinggi</td>
    <td>:</td>
    <td><input type="text" name="tinggi"></td>
  </tr>
  <tr>
    <td colspan="3" align="center">
      <p>
      <br/>
         <input  type="button" name="Button" value="Hitung" onClick="hitung()">
         <input type="reset" name="reset" id="button" value="Ulangi">
         <br/>
      </p></td>
  </tr>
  <tr>
    <td>Hasil</td>
    <td>:</td>
    <td><input type="text" name="hasil" value=""></td>
  </tr>
</table>
</form>
</body>
</html>

--------------------------------------------------------------------------------

Mengenai pertanyaan apa fungsi "eval" yang tak terjawab, saya copikan dari sini :

Function.eval() digunakan untuk mengevaluasi apa saja yang direpresentasikan di dalam parameter expression.

Sintaks:
eval(expression)

Di mana expression adalah ekspresi valid yang akan diperlakukan sebagai kode JavaScript oleh interpreter. Jika nilai parameter expressionbukanlah string, maka itu yang akan dikembalikan. Sebagai contoh, eval(5) akan mengembalikan nilai 5. Jika nilai parameter expressionadalah string, interpreter mencoba untuk menginterpretasikan string tersebut seolah-olah adalah kode JavaScript.

Function.eval() adalah fungsi standard JavaScript 1.0+, JScript 1.0+, ECMAScript 1.0+ dan didukung Google Chrome Beta+, Firefox 1.0 (Gecko 1.7)+, Internet Explorer 3+, Netscape Navigator 2.0+, Opera 3.0+, Safari 1.0+.

Misalkan saya mempunyai variabel myString seperti ini:


var myString = "Halo!";

Jika saya mencoba menguji variabel di atas untuk banyaknya karakter di dalam tanda kutip dan tanpa melibatkan Function.eval(), maka string "(myString.length) == 5" yang akan dikembalikan:

document.write("(myString.length) == 5");

Tetapi jika saya melibatkan Function.eval() untuk mengevaluasi ekspresi "(myString.length) == 5", maka nilai boolean true yang akan dikembalikan:

document.write(eval("(myString.length) == 5"));

Nilai true dikembalikan, karena interpreter menganggap bahwa di atas adalah suatu kondisi (apakah banyaknya karakter dari variabel myStringsebanyak 5) yang harus diuji kebenarannya dan tidak menganggap di atas adalah suatu string.

Contoh-contoh berikutnya anda perlu mencoba untuk memperhatikan output dari setiap ekspresi yang melibatkan Function.eval() dan yang tidak.

Berikut interpreter menganggap ekspresi "1+1" yang melibatkan Function.eval() adalah operasi tambah-tambahan, yaitu 1 ditambah 1 dan hasilnya adalah 2:
document.write("1+1"); //"1+1" document.write(eval("1+1")); //2

Contoh di bawah ini interpreter menganggap ekspresi "myNumVar" yang melibatkan fungsi Function.eval() adalah perwakilan variabel yang harus ditampilkan nilainya:

var myNumVar = 12345; document.write("myNumVar"); //"myNumVar" document.write(eval("myNumVar")); //12345

Contoh di bawah ini interpreter menganggap ekspresi "document.write('Halo!')" yang melibatkan fungsi Function.eval()adalah perintah string 'Halo!' harus dituliskan ke halaman oleh metodewrite():

eval("document.write('Halo!')"); //"Halo!"

Komentar