Perbedaan Passing byValue dan Passing byReverence

passing by  value,

Secara  default, semua nilai yang di-pass masuk atau keluar dari fungsi  adalah passing by value, bukan by reference. ini berarti PHP membuat  kopian dari nilai original dan nilai kopian itulah yang kita akses  dan kita manipulasi, bukan nilai originalnya.dengan  begitu bagaimanapun kita ubah nilai itu, tidak akan mengubah nilai  originalnya…
contoh:


function jumlah($nilai) {
$nilai++;
}
$input=5;
jumlah($input);
echo $input;
?>

Penjelasan:

Pada  saat fungsi jumlah dipanggil,

jumlah($input);

fungsi  tersebut akan memasukkan nilai dari variabel $input kedalam  argumennya, jadi disini argumen fungsi jumlah adalah 5 (ini adalah  nilai aslinya). selanjutnya PHP meng-copy nilai asli tersebut,  kemudian hasil copy-nya digunakan untuk proses manipulasi fungsi,  sedangkan nilai yang asli dibiarkan tidak berubah.

Proses  manipulasinya sbb:

$nilai++;
$nilai = $nilai + 1
$nilai = 5  + 1
$nilai = 6

Untuk  output,

echo $input;

Nilai  variabel $input yang diambil disini adalah nilai variabel aslinya,  sehingga hasil manipulasi fungsi tadi tidak dipakai, karena bukan  nilai asli. Jadi outputnya adalah 5

Tampilan output:












Tetapi  apabila menggunakan passing by reference akan bernilai 6. Bagaimana  outputnya akan bernilai 6? akan saya jelaskan lebih dahulu tentang  passing by reference.

passing by  reference,

Berbeda  dengan passing by value yang bersifat mengkopi, passing by reference  memberikan nilai aslinya untuk diakses dan dimanipulasi, dengan  contoh yang sama seperti diatas, kita akan modifikasi menjadi  mekanisme passing by reference. Untuk  mengubah jadi passing by reference, kita hanya cukup menambahkan  operator & pada argumennya.


function jumlah(&$nilai)  {
$nilai++;
}
$input=5;
jumlah($input);
echo $input;
?>

Penjelasan:
Sesuai  dengan penjelasan passing by reference diatas, nilai yang diakses &  dimanipulasi adalah nilai aslinya, dengan begitu hasil manipulasi  fungsilah yang gunakan sebagai outputnya, yaitu 6.

Tampilan  Outputnya:












Sumber : http://www.ilmuwebsite.com/belajar-php/passing-by-value-vs-passing-by-reference

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • Twitter
  • RSS

Belajar PHP Yuk

Kali ini saya akan berbagi cara mengenerate sel tabel secara fleksibel.
Ini tampilannya :
 










Ini tampilan setelah digenerate :





Nah ini Source Codenya untuk html :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<html>
<head>
    <title>Table Generator Anom…</title>
</head>
<body>
<script language="JavaScript" type="text/javascript">
    function getmax() {
    var R = parseInt(document.getElementById('RowsTotal').value);
    var C = parseInt(document.getElementById('ColumnsTotal').value);
    var X = parseInt(document.getElementById('CellsTotal').value);
    var cellmax = document.getElementById('maxcells');
    var total = 'N/A';
    total = R * C;
    cellmax.value = new String(total);
    if (X > total)
    {
        alert('Limit Exceed, max cells is ' + total);
        document.getElementById('CellsTotal').value = new String();
    }
    }
</script>
    <form method="post" action="generate.php">
    <p><strong>TABEL GENERATOR</strong></p>
    <table width="277" border="0">
    <tr>
        <td width="89">Rows</td>
        <td width="172"><strong>:  </strong><input name="RowsTotal" type="text" id="RowsTotal" onKeyUp="getmax();" onfocus="this.select();"></td></tr>
    <tr>
        <td><label>Columns</label></td>
        <td><strong>:  </strong><input name="ColumnsTotal" type="text" id="ColumnsTotal" onKeyUp="getmax();" onfocus="this.select();"></td></tr>
    <tr>
        <td>Cell Total </td>
        <td><strong>:  </strong><input name="CellsTotal" type="text" id="CellsTotal" onKeyUp="getmax();" onFocus="this.select();"></td></tr>
    <tr>
        <td>Max Cells </td>
        <td><strong>:  </strong><input name="maxcells" type="text" id="maxcells" readonly="readonly" style="background-color:#FF6"></td></tr>
    <tr>
        <td><div align="center">
        <input type="reset" name="Reset" value="Reset"></div></td>
        <td><div align="right">
        <input type="submit" name="Generate" value="Generate!"></div></td></tr>
    </table>
    </form>


</body>
</html>

Sedangkan ini Source Codenya untuk php-nya :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<html>
<head>
    <title>Untitled Document Anom</title>
</head>
<body>
    <?php
        $rows = 1;
        $columns = 1;
        $cells = 1;
    ?>

    <?php $rows = (int) $_POST["RowsTotal"]; ?>
    <?php $columns = (int) $_POST["ColumnsTotal"]; ?>
    <?php $cells = (int) $_POST["CellsTotal"]; ?>

    You pick <?php echo $rows; ?> rows,<br />
    You pick <?php echo $columns; ?> columns,<br />
    and you need <?php echo $cells; ?> cells,<br />
    <br><br>
   
    <?php
    $width = $columns * 75;
    echo "<table width=".$width." border=1>";
    $rw = 0;
    $cel = 1;
    while ($rw < $rows && $cel <= $cells)
    {
    echo "<tr>";
    $cl = 0;
    while ($cl < $columns)
    {
    if ($cel <= $cells)
    {
    echo "<td><div align=center>".$cel."</div></td>";
    $cel++;
    }
$cl++;
}
echo "</tr>";
$rw++;
}
echo "</table>";
?>
</body>
</html>

Selamat Mencoba :)

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • Twitter
  • RSS

DHTML dan Javascript

1. Cara membuat kalkulator sederhana.


   











Source Code :
<html lang="en">
    <head><title>Kalkulator</title></head>
<script language="JavaScript">

    function tambah(){
    pertama = parseInt(form.pertama.value)
    kedua = parseInt(form.kedua.value)
    c = pertama+kedua
    form.hasil.value = c}

    function kurang(){
    pertama = parseInt(form.pertama.value)
    kedua = parseInt(form.kedua.value)
    c = pertama-kedua
    form.hasil.value=c}

    function kali(){
    pertama = parseInt(form.pertama.value)
    kedua = parseInt(form.kedua.value)
    c = pertama*kedua
    form.hasil.value=c}

    function bagi(){
    pertama = parseInt(form.pertama.value)
    kedua = parseInt(form.kedua.value)
    c = pertama/kedua
    form.hasil.value = c}

    function hapus(){
        document.form.reset();}

</SCRIPT>
<body>
    <FORM name="form">
        Angka Pertama : <input type="text" name="pertama"><br><br>
        Angka Kedua : <input type="text" name="kedua"><br><br>
   
        <input type="button" value="  +  " onClick="tambah()">
        <input type="button" value="  -  " onClick="kurang()">

        <input type="button" value="  *  " onClick="kali()">
        <input type="button" value="  /  " onClick="bagi()"><br><br>
   
        Hasil : <input type "text" name="hasil"><br><br>
       
        <input type="button" value="Hapus" onClick="hapus()"/>
       </FORM>
</body>
</html>



2. Cara membuat mesin kasir.


   























Source Code :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>.:: Gramedia ::.</title>
</head>
<body>
    <script language="JavaScript" type="text/javascript">
    function hitung(){
        var kasir = document.form1;
        var hbuku = 12000 * eval(kasir.buku.value);
        var hpensil = 10000 * eval(kasir.pensil.value);
        var hbolpoin = 15000 * eval(kasir.bolpoin.value);
        var hpenghapus = 5000 * eval(kasir.penghapus.value);
        var hpenggaris = 7000 * eval(kasir.penggaris.value);
        var jumlahTotal = hbuku + hpensil + hbolpoin + hpenghapus + hpenggaris;
            if (jumlahTotal > 50000){
            kasir.Total.value = jumlahTotal;
            kasir.Diskon.value = 10000;
            kasir.Bayar.value = jumlahTotal - eval(kasir.Diskon.value);
            } else {
            kasir.Total.value = jumlahTotal;
            kasir.Diskon.value = 0;
            kasir.Bayar.value = jumlahTotal - eval(kasir.Diskon.value);
            }
        }   
        function hapus(){
        document.form1.reset();
    }
    </script>
   
<h3>Toko Tulis</h3>
<form name="form1" action="#">
    <table border="1px">

        <tr>
            <td align=center width="30">No</td>
            <td align=center width="130">Alat Tulis</td>
            <td align=center width="100">Harga</td>
            <td align=center width="115">Jumlah</td></tr>
        <tr>
            <td align=center>1</td>

            <td>Buku</td>
            <td>Rp. <input id="n123" type="text" value="2000" size="7"/></td>
            <td><input type="text" name="buku" size="14" value="0" onChange="hitung()"/></td></tr>
        <tr>
            <td align=center>2</td>
            <td>Pensil</td>
            <td>Rp. <input type="text" value="750" size="7"/></td>

            <td><input type="text" name="pensil" size="14" value="0" onChange="hitung()"/></td></tr>
        <tr>
            <td align=center>3</td>
            <td>Bolpoin</td>
            <td>Rp. <input type="text" value="1500" size="7"/></td>
            <td><input type="text" name="bolpoin" size="14" value="0" onChange="hitung()"/></td></tr>
        <tr>

            <td align=center>4</td>
            <td>Penghapus</td>
            <td>Rp. <input type="text" value="500" size="7"/></td>
            <td><input type="text" name="penghapus" size="14" value="0" onChange="hitung()"/></td></tr>
        <tr>
            <td align=center>5</td>
            <td>Penggaris</td>

            <td>Rp. <input type="text" value="3000" size="7"/></td>
            <td><input type="text" name="penggaris" size="14" value="0" onChange="hitung()"/></td></tr>
        <tr>
            <td colspan="3" align="right">Jumlah Total</td>
            <td>Rp.<input type="text" name="Total" size="10"/></td></tr>
        <tr>
            <td colspan="3" align="right">Diskon</td>

            <td>Rp.<input type="text" name="Diskon" size="10"/></td></tr>
        <tr>
            <td colspan="3" align="right">Jumlah Dibayar</td>
            <td>Rp.<input type="text" name="Bayar" size="10" align="right"/></td></tr>
    </table><br/>
        <input type="button" value="Hapus" onClick="hapus()" />
</form>

</body>
</html>

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • Twitter
  • RSS