_The beautiful thing about learning is nobody can take it away from me....

wishnew.web.id

Programing, hobby, entertainment, game, digital art, etc

Teknik Membuat Script Mengubah Ukuran Image dengan Javascript

Tags:

Pada artikel kali ini, saya akan mencoba menjelaskan bagaimana teknik membuat script mengubah ukuran image dengan DOM di Javascript. Hal ini pernah saya jadikan tugas bagi mahasiswa saya yang mengambil matakuliah pemrograman web. Tapi sudah lama kok :-)

OK… Karena menggunakan Javascript, sehingga dalam hal ini prosesnya tidak perlu melalui request ke server namun hanya terjadi dalam client saja. Oleh karena itu proses resizing image ini dapat dilakukan dengan cepat.

Hmm… adapun skenario mengubah ukuran imagenya sebagai berikut. Dalam halaman web muncul sebuah image, kemudian terdapat 3 buah tombol atau button. Tombol pertama (+) digunakan untuk memperbesar ukuran image menjadi 2 kali sebelumnya. Tombol kedua (-) untuk memperkecil ukuran image 1/2 kali sebelumnya, dan tombol ketiga (=) untuk mereset ukuran image menjadi ukuran aslinya.

Berikut ini screen shot tampilan halaman web nya:

Photobucket

Tampilan di atas adalah tampilan image mula-mula (ukuran asli). Selanjutnya apabila tombol (+) diklik maka akan muncul image dengan besar 2 kali sebelumnya (lihat gambar di bawah).

Photobucket

Sedangkan apabila tombol (-) diklik maka image akan berukuran 1/2 kali sebelumnya.

Photobucket

Perlu diketahui bahwa, image yang yang tampil tersebut berasal dari sebuah file image yang sama. Perubahannya hanya pada size nya saja.

OK.. bagaimana teknik pembuatannya?

Pertama kita siapkan halaman webnya yang di dalamnya terdapat image dan 3 buah buttonnya.

<html>
<head>
  <title>Ubah Size Image</title>
</head>
<body>
  <div align="center">
    <h1>Sampel Script Mengubah Size Gambar</h1>
    <h2>Logo UNS</h2>
    <input type="button" value="-" />
    <input type="button" value="=" />
    <input type="button" value="+" /><br /><br />
    <img id="gambar" src="uns.gif" />
  </div>
</body>
</html>

Selanjutnya, untuk proses pengubahan atau perhitungan ukuran image kita harus mendapatkan ukuran asli (width dan height) dari image terlebih dahulu. Untuk mendapatkan ukuran panjang (width) image, kita gunakan perintah DOM di Javascript

document.getElementByID("gambar").width;

dan lebar atau tinggi imagenya kita gunakan perintah

document.getElementByID("gambar").height;

Kedua perintah tersebut kita jalankan begitu halaman web diload oleh browser (diberikan pada event onload)

<html>
<head>
  <title>Ubah Size Image</title>

<script type="text/javascript">

var panjang;
var lebar;

function bacaUkuran()
{
  panjang = document.getElementById("gambar").width;
  lebar = document.getElementById("gambar").height;
}

</script>
</head>
<body onload="bacaUkuran()">
  <div align="center">
    <h1>Sampel Script Mengubah Size Gambar</h1>
    <h2>Logo UNS</h2>
    <input type="button" value="-" />
    <input type="button" value="=" />
    <input type="button" value="+" /><br /><br />
    <img id="gambar" src="uns.gif" />
  </div>
</body>
</html>

Perhatikan Javascript di atas, bahwa variabel panjang dan lebar sengaja dibuat sebagai variabel global karena nantinya akan digunakan dalam proses perhitungan untuk setiap proses (perbesar ukuran dan perkecil ukuran). Apabila kedua variabel tersebut dibuat lokal dalam function bacaUkuran() maka nilai-nilainya hanya bisa dikenal dalam function tersebut saja. Sehingga deklarasi variabel panjang dan lebar tidak seperti berikut ini :

function bacaUkuran()
{
  var panjang;
  var lebar;
  panjang = document.getElementById("gambar").width;
  lebar = document.getElementById("gambar").height;
}

Selanjutnya kita akan membuat script untuk memperbesar ukuran terlebih dahulu. Bagaimana idenya? Misalkan mula-mula panjang imagenya adalah x. Setelah diperbesar 2 kali maka panjang imagenya adalah 2x. Bila diperbesar lagi maka panjang imagenya menjadi 4x, dst. Secara umum panjang image setelah diperbesar n kali adalah 2nx. Bila n = 0, maka akan diperoleh panjang image mula-mula. Hal yang sama juga berlaku untuk lebar imagenya. Nah… ide ini bisa kita terapkan dalam bentuk script.

<html>
<head>
  <title>Ubah Size Image</title>

<script type="text/javascript">

var panjang;
var lebar;
var n = 0;

function bacaUkuran()
{
  panjang = document.getElementById("gambar").width;
  lebar = document.getElementById("gambar").height;
}

function tambahSize()
{
  n++;
  document.getElementById("gambar").width = Math.pow(2, n) * panjang;
  document.getElementById("gambar").height = Math.pow(2, n) * lebar;
}

</script>
</head>
<body onload="bacaUkuran()">
  <div align="center">
    <h1>Sampel Script Mengubah Size Gambar</h1>
    <h2>Logo UNS</h2>
    <input type="button" value="-" />
    <input type="button" value="=" />
    <input type="button" value="+" onclick="tambahSize()" /><br /><br />
    <img id="gambar" src="uns.gif" />
  </div>
</body>
</html>

Keterangan:

Perintah Math.pow(2, n) digunakan untuk menghitung 2n pada Javascript.
Perintah document.getElementById("gambar").width = Math.pow(2, n) * panjang; digunakan untuk mengubah panjang image yang tampil dalam browser menjadi 2n * panjang aslinya.

Sedangkan untuk memperkecil ukuran image, kita cukup melakukan decrement pada variabel n nya saja (n--). Misal mula-mula panjang image adalah x (20x) pixel, lalu diperbesar menjadi 2x (20+1x = 21x), lalu diperbesar lagi menjadi 4x (21+1x = 22x). Selanjutnya diperkecil, maka panjangnya menjadi kembali ke 2x (22-1x = 21x). Bila diperkecil lagi menjadi x (21-1x = 20x), dan bila diperkecil lagi menjadi 1/2 x (20 – 1x = 2-1x) dst.

Dengan ide di atas maka Javascript untuk memperkecil ukuran adalah:

<html>
<head>
  <title>Ubah Size Image</title>

<script type="text/javascript">

var panjang;
var lebar;
var n = 0;

function bacaUkuran()
{
  panjang = document.getElementById("gambar").width;
  lebar = document.getElementById("gambar").height;
}

function tambahSize()
{
  n++;
  document.getElementById("gambar").width = Math.pow(2, n) * panjang;
  document.getElementById("gambar").height = Math.pow(2, n) * lebar;
}

function kurangiSize()
{
  n--;
  document.getElementById("gambar").width = Math.pow(2, n) * panjang;
  document.getElementById("gambar").height = Math.pow(2, n) * lebar;
}

</script>
</head>
<body onload="bacaUkuran()">
  <div align="center">
    <h1>Sampel Script Mengubah Size Gambar</h1>
    <h2>Logo UNS</h2>
    <input type="button" value="-" onclick="kurangiSize()" />
    <input type="button" value="=" />
    <input type="button" value="+" onclick="tambahSize()" /><br /><br />
    <img id="gambar" src="uns.gif" />
  </div>
</body>
</html>

Yang terakhir, untuk tombol ketiga (=) dimana bila tombol ini ukuran image akan direset menjadi ukuran aslinya. Idenya adalah dengan memberi nilai n = 0, untuk mendapatkan panjang dan lebar image aslinya. Bila nilai n = 0, dan panjang image aslinya x, maka 20x = x (sama seperti ukuran aslinya). Demikian pula untuk lebarnya.

<html>
<head>
  <title>Ubah Size Image</title>

<script type="text/javascript">

var panjang;
var lebar;
var n = 0;

function bacaUkuran()
{
  panjang = document.getElementById("gambar").width;
  lebar = document.getElementById("gambar").height;
}

function tambahSize()
{
  n++;
  document.getElementById("gambar").width = Math.pow(2, n) * panjang;
  document.getElementById("gambar").height = Math.pow(2, n) * lebar;
}

function kurangiSize()
{
  n--;
  document.getElementById("gambar").width = Math.pow(2, n) * panjang;
  document.getElementById("gambar").height = Math.pow(2, n) * lebar;
}

function resetSize()
{
  n = 0;
  document.getElementById("gambar").width = Math.pow(2, n) * panjang;
  document.getElementById("gambar").height = Math.pow(2, n) * lebar;
}

</script>
</head>
<body onload="bacaUkuran()">
  <div align="center">
    <h1>Sampel Script Mengubah Size Gambar</h1>
    <h2>Logo UNS</h2>
    <input type="button" value="-" onclick="kurangiSize()" />
    <input type="button" value="=" onclick="resetSize()" />
    <input type="button" value="+" onclick="tambahSize()" /><br /><br />
    <img id="gambar" src="uns.gif" />
  </div>
</body>
</html>

Asyik dan mudah bukan membuatnya? Nah… silakan Anda berkreasi sendiri menggunakan image yang lain. Atau mungkin… Anda kembangkan ke font size. Bagaimana bila font nya yang diubah-ubah ukurannya seperti halnya image di atas.

Tips dan Trick Javascript

Tags:

Bagian Tips & Trik ini  adalah beberapa hal yang dapat anda lakukan untuk meningkatkan
halaman Web anda tanpa tahu banyak mengenai JavaScript.

Meletakan tulisan pada status bar

Contoh pertama mendemontrasikan bagaimana memanipulasi tulisan pada status
bar. Ketika anda mengerakan kursor melalui suatu link, maka statusbar akan
menampilkan URL tujuan link tersebut.

Suatu kode HTML untuk suatu membentuk link dapat berupa :

<A HREF="mylink.htm">klik disini</A>

Untuk menampilkan sesuatu pada status bar ketika mouse pointer digerakan
melalui link, anda perlu menambah kode berikut :

<A HREF="mylink.htm" onMouseOver="window.status='Klik
disini untuk mengetahui lebih jauh tentang saya'; return true;"

onMouseOut=”window.status=”; “>Klik disini</A>

Kode diatas akan menghasilkan suatu link Klik
disini
. Coba gerakan mouse pointer melaluinya, mudah bukan ?

onMouseOver adalah suatu penanganan event. Perlu
diperhatikan bahwa JavaScript akan membedakan huruf besar dan huruf kecil,
tetapi Microsoft Internet Explorer adalah lebih pemaaf dibandingkan
dengan Netscape Navigator, jadi untuk hasil yang lebih akurat,
sebaiknya anda menggunakan Navigator dalam memeriksa kebenaran script
pada halaman anda.

Anda mungkin merasa aneh mengapa kami diperlukan suatu return true;
pada penanganan event onMouseOver. Normalnya browser menampilkan
URL dari link pada status bar, dan potongan kode ini memberitahukan kepada
browse untuk tidak menimpa pesan kita dengan URL tersebut.

Menampilkan tanggal “Last Updated” pada dokumen

Pada halaman kita sering ingin menampilkan informasi kepada pengunjung
tanggal terakhir kali halaman kita di Update. Berikut ini adalah potongan script
yang akan secara otomatis menghasilkan informasi terakhir kali halaman kita di
Update:

<SCRIPT LANGUAGE="JavaScript">

<!– menyembunyikan dari browser non-js

document.write(”Last updated :”);

document.write(document.lastModified);

// –>

</SCRIPT>

Sisipkan kode berikut pada bagian dokumen HTML anda yang akan menampilkan
informasi Last update. Perhatikan bahwa script diketik diantara tag komentar
HTML <!– … –>, tujuannya supaya script tersebut tersembunyi dari
browser  non-JavaScript, dengan demikian tidak menimbulkan kesalahan pada
browser non-JavaScript tersebut.

Catatan : biasakan mengetik script anda diantara tag komentar HTML <!– ..
–>.

Menampilkan pesan dengan suatu kotak pesan

Kadang-kadang kita ingin menampilkan suatu pesan kepada pengunjung, jika
suatu tombol atau link di klik. Pada JavaScript kita dapat menggunakan fungsi alert()
yang mana akan menampilkan suatu kotak pesan. Misalnya kita ingin memberi
kejutan kepada pengunjung, begitu halaman dibuka. Untuk melakukan hal ini,
tambahkan saja kode berikut setelah tag <BODY> (atau diantara tag
<HEAD>).

<SCRIPT LANGUAGE="JavaScript">

    <!-- menyembunyikan dari browser non-js
    alert("Press Ok to start formatting your hard disk");
    // akhir dari penyembunyian -->
</SCRIPT>
				

Hal ini tentu saja akan menjadi kejutan bagi pengunjung halaman anda :-).
Bagaimana jika kita ingin menampilkan suatu kotak pesan ketika user melakukan
klik pada suatu link Anda dapat mencoba klik disini.
Untuk memahami apa sebenarnya yang terjadi, coba simak script berikut :

<A HREF="JavaScript: alert('pesan anda disini.')">

JavaScript: bagian ini akan memberitahukan kepada browser bahwa
dia harus menjalankan perintah JavaScript yang tersebut ketika link di klik.

Anda juga dapat membuat suatu pesan ditampilkan tombol ditekan. Coba yang
berikut ini:

<FORM>
    <INPUT TYPE=BUTTON VALUE="Klik disini"
      onClick="alert('pesan anda disini')">
</FORM>

Catatan

Anda mungkin memperhatikan bahwa, cara penulisan script pada setiap contoh
diatas berbeda. Yang pertama adalah script ditulis diantara tag HTML <A
HREF=…>, yang kedua adalah diantara suatu tang <SCRIPT> …
</SCRIPT>. Perbedaan ini adalah bahwa, script pertama akan dijalankan pada
event tertentu (MouseOver dalam hal ini), sedangkan untuk yang kedua, script
langsung dijalankan ketika ditemukan pada dokumen HTML.

Membuat suatu link yang dapat menutup jendela browser

Untuk menutup jendela browser yang sedang aktif anda dapat menggunakan metode
close pada objek window.

Contoh :

<A HREF="javascript:window.close()">tutup</A>

Coba klik tutup untuk menutup jendela
ini.


Membuka suatu halaman berdasarkan pilihan pemakai pada suatu
dropdown list

Anda dapat membuat suatu fungsi yang mengambil nilai item yang dipilih
pemakai, dan membuka halaman yang diinginkan

Adapun kode untuk Contoh diatas:
<SCRIPT LANGUAGE='JavaScript'>
<!--
function BuatArray() {
	var jlhargumen = BuatArray.arguments.length;
	for ( i = 0 ; i < jlhargumen; i++ )
	    { this[i]=BuatArray.arguments[i] }
}

function buka() {
var pilih = eval(document.dropdown.site.selectedIndex);
if( (pilih > 0) && (pilih < 7) ) {
var bagian=new BuatArray( '',
 'http://indoprog.terrashare.com/tutor/html/index.html',
 'http://indoprog.terrashare.com/tutor/javascript/index.html',
 'http://indoprog.terrashare.com/tutor/asp/index.html',
 'http://indoprog.terrashare.com/tutor/php/index.html',
 'http://indoprog.terrashare.com/tutor/perl/index.html');

this.location=buka[pilih];
      }
    }
//-->

</SCRIPT>

<FORM NAME="dropdown">
<SELECT NAME="site" onChange='buka();' ALIGN="left">
<OPTION SELECTED>Pilih tutorial yang diinginkan
<OPTION>HTML
<OPTION>JavaScript

<OPTION>ASP
<OPTION>PHP
<OPTION>Perl
</SELECT>
</FORM>

Membagi Jendela Browser menjadi frame, dan klik link pada pilihan diframe kiri
akan mengupdate isi frame kanan.

Anda dapat melakukan hal tersebut dengan JavaScript, dan perhatikan contoh
berikut :

Misalnya halaman html untuk membuat frame kiri dan kanan adalah sebagai
berikut :

Contohy.html
<html>
<head>

   <title>Tutorial JavaScript</title>

   <frameset cols=175,*>

      <frame src="menu.html" name="kiri">

      <frame src="topik1.html" name="kanan">

   </frameset>

</head>
</html>

Pada contoh diatas, pada frame kiri akan dibuka suatu html dengan nama
menu.html, dan sebelah kanan akan diaktifkan topik1.html, dan isi dari menu.html
adalah sebagai berikut :

menu.html
<html>

<head>
  <script language="JavaScript">
     function buka(x)
       {
       top.kanan.location=x;	// membuka halaman x pada frame kanan
       return false
       }
  </script>
</head>
<body>
  <h1>Daftar Isi</h1>

   <a href="" onclick="return buka('topik1.html')">Memasukan JavaScript ke dalam HTML</a><hr>
   <a href="" onclick="return buka('topik2.html')">Variabel dan Literal</a><hr>

   <a href="" onclick="return buka('topik3.html')">Ekspresi dan Operator</a><hr>
   <a href="" onclick="return buka('topik4.html')">Struktur Kendali dan Fungsi</a><hr>

   <a href="" onclick="return buka('topik5.html')">Dasar dari Objek</a><hr>
   <a href="" onclick="return buka('topik6.html')">Objek dan Fungsi built-in</a><hr>

   <a href="" onclick="return buka('topik7.html')">Objek netscape</a><hr>
   <a href="" onclick="return buka('topik8.html')">Objek form</a><hr>

   <a href="" onclick="return buka('topik9.html')">Window dan Frame</a><hr>

</body>
</html>

Pada  menu.html diatas, kita menggunakan event onclick pada
masing-masing link yang akan memanggil suatu fungsi buka yang diikuti dengan
suatu parameter yang berupa nama dokumen html target. Pada fungsi buka, kita
menggunakan properti location untuk frame kanan membuka halaman bersangkutan.

Catatan : kanan dalam hal ini adalah nama frame.

Klik untuk melihat hasil dari contoh diatas

Bagaimana, menarik bukan ?



http://www.indoprog.com

Window dan Frame (javascript modul 9)

Tags: , , , ,

Window dan frame membuat bingung banyak pengembang halaman Web dari pada
aspek-aspek browser lainnya. Ketika Netscape Navigator berjalan, suatu window
akan dibuka, dan tergantung bagaimana pengaturan optionnya, serta memuat suatu
dokumen ke dalam window tersebut. Jika anda memilih menu option File | New Web
Browser, suatu window baru akan di buka. Dalam hal ini menutup jendela yang
sebelumnya tidak akan menutup jendela yang baru tersebut.

Pada sisi yang lain, frame dibuat berdasarkan tag <FRAMESET></FRAMESET>
dalam dokumen HTML. Layar akan dibagi menjadi sejumlah frame. Ketika dokumen
frame ditutup, frame menghilang karena keberadaannya tergantung pada dokumen
tersebut.

Properti Objek

Window

Suatu fasilitas umum dari JavaScript adalah kemampuannya untuk membuat dan
memanipulasi window. Kemampuan ini tidak hanya terbatas pada menampilkan pesan,
tetapi sangat tergantung pada parameter yang diberikan. berikut ini adalah
properti dari objek window yang akan mempengaruhi fleksibilitas dari
jendela browser:

  • defaultStatus. defaultStatus adalah pesan yang
    dimunculkan pada status bar ketika tidak ada tulisan yang ditampilkan
    disana. Jika diset dari onMouseOver event handler, event handler
    harus mengembalikan true untuk perubahan status.

  • frames. Property ini adalah suatu array yang mengandung object
    frame. Frame mewarisi semua properti dan metode dari objek window.

  • length. nilai dari properti ini adalah jumlah frame dalam frame
    array.

  • parent. Dari suatu acuan frame, ini adalah window yang mana
    frameset berada. Suatu frame diantara frameset tersebut dapat mengacu pada
    frame lain dalam frameset dengan menggunakan parent.frames[index]

    tanpa memiliki acuan ke nama window.

  • self. Ini adalah sama dengan window atau frame yang sekarang.
  • status. Ini adalah pesan transient yang mana diset dengan  onMouseOver
    event handler.

  • top. Property ini digunakan sebagai acuan window yang laing atas.
    Dapat digunakan oleh child windows atau embedded filesets untuk mengacu pada
    window original.

  • window. Property ini adalah sama dengan window sekarang.




Contoh:

<A HREF="http://www.indoprog.com"
onMouseOver="window.status='Klik disini untuk keterangan lebih lengkap';
return true;" onMouseOut="window.status=''; ">Klik
disini</A>

Hasil:

Klik
disini




Bentuk untuk mengacu properti window adalah

window.propertyName

self.propertyName

top.propertyName

parent.propertyName

windowVar.propertyName

propertyName

Metode Objek Window

Berikut ini adalah metode dari objek window atau frame:

  • alert(”message”). Metode ini membuat suatu kotak dialog
    peringatan dengan suatu tombol OK tunggal. Digunakan untuk menampilkan pesan
    yang tidak membutuhkan keputusan pemakai.

  • close(). Metode ini menutup window acuan. Harus mengandung window
    acuan seperti window.close dan close() tanpa acuan adalah
    sama dengan document.close.

  • confirm(”message”). Metode confirm menampilkan suatu
    dialog box konfirmasi dengan tombol OK dan Cancel. OK mengembalikan nilai
    true, dan Cancel mengembalikan nilai false.

  • [windowVar = ][window.]open(”URL”, “windowName” ["windowFeatures"]. Metode ini membuka suatu Jendela browser
    yang baru. Nama object windowVar adalah nama dari jendela baru dan
    digunakan sebagai acuan untuk properti dan metodes-nya.URL menentukan URL
    yang akan dibuka ke jendela baru. Jika optionnya null, suatu window kosong
    akan dibuka. Variabel windowName adalah nama yang digunakan pada
    atribut TARGET dari <FORM> dan <A>

    tag. Variabel windowFeatures adalah suatu comma-separated list dari
    option berikut:

toolbar=yes|no

location=yes|no

directories=yes|no

status=yes|no

menubar=yes|no

scrollbars=yes|no

resizable=yes|no

width=pixels

height=pixels
  • Jika tidak ada yang ditentukan, maka semuanya bernilai true. Jika salah
    satu ditentukan, maka semua yang lain menjadi false. Jika salah satu di
    tentukan tanpa nilai, maka nilainya adalah true.


NOTE

Setelah terbuat, window adalah tidak terikat pada parent window,
jika parent window di tutup, window yang dibuat tersebut tetap
buka.Event onUnLoad menangani penutupan window yang dibuat


  • prompt(”message” [, inputDefault]). metode prompt
    menampilkan suatu prompt dialog box dengan suatu message, suatu input field,
    dan tombol OK, dan sebuah tombol Cancel. inputDefault adalah suatu
    string, integer, atau property dari suatu object yang mana mewakili nilai
    default untuk inout field. Jika inputDefault tidka ditentukan,
    input fied menampilkan nilai <undefined>.

  • timeoutID=setTimeout(expression, msec). Dengan metode ini,
    evaluasi dari ekspresi adalah jumlah delay dalam milidetik. timeoutID

    adalah hanya digunakan oleh metode clearTimeout.

  • clearTimeout(timeoutID). Metode ini membatalkan time-out yang
    ditentukan oleh metode setTimeout.

Metode sebelumnya menggunakan acuan berikut:

window.metodeName(parameters)

self.metodeName(parameters)

top.metodeName(parameters)

parent.metodeName(parameters)

windowVar.metodeName(parameters)

metodeName(parameters)


PERHATIAN

Metode open() dan close() perlu mengunakan
acuan window.open() dan window.close() untuk
menghindari scope dengan document.open() dan document.close()


Membagi Window kedalam Frame

Frames membagi suatu window secara multiple, memiliki scrollbar
masing-masing. Frame dibuat dengan tag <FRAMESET></FRAMESET>

dalam dokumen HTML. Masing-masing dokumen membuat suatu frame array untuk
dokumen. Jika suatu dokumen dibuka pada salah satu frame memiliki suatu <FRAMESET>
tag, frame akan terbagi lagi menjadi frame oleh dokumen tersebut. Hirarki dari
frameset adalah penting sebagai acuan properti dan metode dari frame.


CATATAN

Frames memiliki semua properti dari suatu window. Seluruh hirarki
untuk struktur frame adalah sama dengan struktur window.


Struktur dibawah setiap window atau frame dapat menjadi acuan. Selanjutnya,
properti pada suatu window atau frame dapat mengubah properti object pada
jendela atau frame lain.


CATATAN

Dokumen HTML yang menggunakan <FRAMESET></FRAMESET>

mengandung hanya perintah frame. Setelah frame terbuka, dokumen
tersebut menjadi tidak visible. Dokumen HTML adalah suatu frame
dapat mengendalikan frame lain. Selanjutnya kemungkinan untuk
pengaturan layar memberikan kebebasan bagi pengembang untuk suatu
dokumen web yang interaktif


Contoh :

<html>
<head>

   <script language="JavaScript">

      if (top.location != this.location)

         top.location = this.location		//membuat html tidak berada
						//dalam frame lain
   </script>

   <title>Tutorial JavaScript</title>

   <frameset cols=175,*>

      <frame src="daftar.html" name="kiri">

      <frame src="topik1.html" name="kanan">

   </frameset>

</head>
</html>
file daftar.html
<html>
<head>

  <script language="JavaScript">

     function buka(x)
       {
       top.frames[1].location=x;
       return false
       }

  </script>

</head>

<body>

   <h1>Daftar Isi</h1>
   <a href="" onclick="return buka('topik1.html')">Memasukan JavaScript ke dalam HTML</a><hr>

   <a href="" onclick="return buka('topik2.html')">Variabel dan Literal</a><hr>
   <a href="" onclick="return buka('topik3.html')">Ekspresi dan Operator</a><hr>

   <a href="" onclick="return buka('topik4.html')">Struktur Kendali dan Fungsi</a><hr>
   <a href="" onclick="return buka('topik5.html')">Dasar dari Objek</a><hr>

   <a href="" onclick="return buka('topik6.html')">Objek dan Fungsi built-in</a><hr>
   <a href="" onclick="return buka('topik7.html')">Objek netscape</a><hr>

   <a href="" onclick="return buka('topik8.html')">Objek form</a><hr>
   <a href="" onclick="return buka('topik9.html')">Window dan Frame</a><hr>

</body>
</html>

Klik untuk
melihat hasil dari contoh diatas




Objek Form (javascript modul 8)

Tags: , , , ,

HTML tag <FORM></FORM> adalah fasilitas input data oleh
pemakai, dan output data variabel kepada pemakai. Input oleh pemakai memiliki
efek pemilihan pada sisi klien yang dapat dikirm ke server. Pada sisi lain, data
variabel seperti  marquees dapat ditampilkan pada form. Pada sisi input,
event handle adalah fasilitas untuk membangkitkan rutin JavaScript untuk
melakukan aktifitas pada proses edit data seperti validasi. Pada sisi output,
JavaScript memegang peranan penting dalam mengatur bagaimana data ditampilkan.

penanganan events

Event adalah hasil dari aksi pemakai, seperti klik pada suatu tombol mouse,
checking pada suatu kotak, dan pengiriman form. Penanganan Event didefinsikan
dalam tag HTML sepanjang JavaScript berkaitan dengan event tersebut. Berikut ini
adalah contoh yang merupakan kode dari suatu penanganan event.

<INPUT TYPE="button" VALUE="Submit" onClick="validate(this.form)">

Pada contoh sebelumnya, kata kunci this mengacu pada objek tersebut,
yang mana adalah objek button. Dengan menyebutkan this.form, adalah
acuan  ke objek form yang mengandung button tersebut.  Ketika
contoh sebelumnnya menjalankan suatu fungsi, perintah JavaScript juga sah. Kalau
lebih dari satu perintah, tiap perintah harus dipisahkan dengan suatu titik
koma.


TIP

Praktek pemrograman yang baik adalah menggunakan fungsi karena
mereka membuat kode lebih mudah dibaca dan dapat digunakan kembali.



NOTE

Sampai suatu dokumen HTML selesai di muat ke window yang
mengandung  tag <BODY></BODY>, suatu
window tidak mengandung penanganan event.


Berikut ini adalah daftar dari penanganan event yang didukung oleh
JavaSCript:

  • onBlur.JavaScript menjalankan penanganan event ini ketika pemakai
    meninggalkan field yang menyebabkan kehilangan fokus.

  • onChange. dijalankan ketika user meninggalkan field dan terjadi
    perubahan nilai object tersebut.

  • onClick. event onClick terjadi ketika pemakai klik pada window
    atau link..

  • onFocus. event ini terjadi ketika suatu form mendapatkan fokus.
  • onLoad. event ini terjadi ketika browser selesai memuat suatu
    dokumen atau semua frame didalam tag <FRAMESET>.

  • onMouseOver. event ini terjadi ketika mouse bergerak melewati
    object dari luar object tersebut. Rutin JavaScript harus mengembalikan true
    untuk  status dan properti defaultStatus yang
    ditentukan..

  • onSelect. event ini terjadi ketika pemakai melakukan select text
    pada text area..

  • onSubmit. terjadi ketika user submit suatu form. Jika JavaScript
    mengembalikan false, form tersebut tidak akan di submit, nilai lainnya atau
    tidak ada nilai balik, membuat form di submit.

  • onUnload. event ini terjadi ketika dokument di exit.

Penanganan Event adalah bagian dari berbagai object. Beberapa object
mendukung lebih dari satu penanganan event, dan beberapa penanganan event
terjadi pada banyak objek. Tabel.8 menunjukkan hubungan antara penanganan event
dan objek-objek.

Table 8. Hubungan antara  penanganan event dan objek.


Objek Penanganan Event
button onClick
checkbox onClick
form onSubmit
link onClick, onMouseOver
radio onClick
reset onClick
select onBlur, onChange, onFocus
submit onClick
text onBlur, onChange, onFocus,
onSelect
textarea onBlur, onChange, onFocus,
onSelect
window onLoad, onUnload






Contoh:

<SCRIPT LANGUAGE="JavaScript">
    <!-- menyembunyikan kode dari browser non-js
    function periksa()
    {
        formObj = document.contoh;
        if ((formObj.nama.value == "") ||
            (formObj.umur.value  == "") ||
            (formObj.lahir.value  == ""))
        {
            alert("Anda tidak mengisi seluruh field.");
            return false;
        }
        else
            return true;
    }
    // akhir dari penyembunyian -->

</SCRIPT>

<FORM NAME="contoh" METODE=GET ACTION="" onSubmit="return periksa()">
<PRE>
Nama Anda : <INPUT TYPE=TEXT NAME="nama" SIZE=30 MAXLENGTH=30>

     Umur : <INPUT TYPE=TEXT NAME="umur" SIZE=3 MAXLENGTH=3>
Tgl. Lahir: <INPUT TYPE=TEXT NAME="lahir" SIZE=10 MAXLENGTH=10>
<INPUT TYPE=SUBMIT> <INPUT TYPE=RESET>

</PRE>
</FORM>


Hasil:

Nama Anda :

     Umur :

Tgl. Lahir:






FORM>. Untuk JavaScript, hal tersebut adalah suatu read-only
array yang membentuk properti berikut :

  • action. property ini mengandung nilai dari atribut ACTION.
  • element. ini adalah suatu array dari elemen object yang
    didefinsikan untuk form.

  • encoding. property ini mengandung nilai dair atribut ENCTYPE.
  • length. property ini mengandung jumlah dari isian didalam element
    array.

  • metode. property ini mengandung nilai dari atribut METODE.
  • target. property ini mengandung nilai dari atribut TARGET .

Berikut ini adalah arti yang sah dari pengalamatan bentuk object ::

formName.propertyName

formName.metodeName(parameters)

forms[index].propertyName

forms[index].metodeName(parameters)

Metode Objek Form

Object form hanya memiliki satu metode-submit. Metode submit melakukan
aksi yang sama seperti tombol submit pada HTML form dan memiliki tata cara
penulisan sebagai berikut:

document.formName.submit()

Objek element

Objek elemen berpengaruh pada isi elemen dalam tag <FORM></FORM>.
Tabel 9 menperlihatkan elemen objek dan properti-nya.

Tabeel 9. Properti dari objek element.


Element object Properti
button name, value
checkbox name, value, checked,
defaultChecked
hidden name, value
password name, value, defaultValue
radio name, value, checked,
defaultChecked, length
reset name, value
select name, length, options

array, selectedIndex

submit name, value
text name, value, defaultValue
textarea name, value, defaultValue


Properti adalah mengunakan pengalamatan seperti document.elementName.property,
atau  document.formName. elements[index].propertyName, dimana elementName

adalah nilai dari nama property untuk objek elemen.

Metode element

Metode element melakukan emulasi dari sepupu mereka, yaitu
penanganan event:

  • blur(). Metode ini memindahkan fokus dari object yang ditentukan,
    tetap tidak membuat fokus pada objek lain.

  • click(). Metode ini melakukan suatu simulasi klik mouse pada
    suatu objek yang ditentukan. Ketika mengacu pada element radio, bentuknya
    adalah document.radioName[index].click().

  • focus(). Metode ini memberikan fokus pada objek tertentu.
  • select(). Metode ini men-select seluruh text area.

Kecuali objek radio, metode dialamatkan sebagai document.elementName.metodename().
Tabel 10 mendaftarkan element objek-objek dan metode yang bersesuaian

Table 10. Metode-metode dari elemen objek-objek.


Elemen objek Metode
button click
checkbox click
hidden (tidak ada metode)
password blur, focus, select
radio click
reset click
select blur, focus
submit click
text blur, focus, select
textarea blur, focus, select





Contoh :

<form>

F:
<input type="text" name="F" value="32" 

onChange="C.value = 100/(212-32) * (this.value - 32 )"><br>
C:
<input type="text" name="C" value="0"
onChange="F.value = (212-32)/100 * this.value + 32 "><br>

</form>

Hasil :

F:

C:




Objek pada Netscape (javascript modul 7)

Tags: , , , ,

Sebagai tambahan kepada objek-objek  JavaScript dan metode, Pengembang
halaman Web dapat mengakses objek-objek dan metode dalam Netscape browser.
Bagian ini akan membahas Objek Netscape Navigator  dan metode-metodenya.

Hirarki Objek Navigator

Netscape Navigator membangun suatu hirarki instance-instance yang berkaitan
dengan dokumen yang sedang di proses.

Hirarki ini penting untuk membuat acuan kepada Objek dan propertinya.
Turunan dari suatu Objek adalah properti dari objek orang tuanya. Karena semua
objek adalah merupakan turunan dari objek  window , sehingga objek
window sendirinya tidak memiliki acuan ke objek maupun properti apapun.
Tetapi bagaimanapun, acuan ke suatu dokumen pada window lain membutuhkan
tambahan nama window kepada Objek acuan-nya.

Hal yang penting dari  HTML Layout

Untuk dapat menggunakan JavaScript secara benar membutuhkan pengertian
bagaimana Netscape Navigator memproses suatu dokumen HTML. Ketika suatu dokumen
HTML di muat, browser akan mulai melakukan proses terhadap baris pertama dari
dokumen. Browser membuat layout dari layar berdasarkan perintah HTML yang
terdapat dalam dokumen tersebut. Setelah layar selesai digambar, layar tidak
dapat digambar ulang tanpa melakukan proses terhadap dokumen baru. Bagaimana hal
ini mempengaruhi frame dan window adalah topik pada bagian berikutnya.

Sesuai dengan hal ini, maka instance dari suatu objek ada setelah proses
dilakukan terhadap baris HTML yang menghasilkan instance tersebut. Dengan kata
lain JavaScript tidak dapat mengacu pada suatu objek HTML seperti form, atau
menjalankan suatu fungsi sampai browser memproses perintah tersebut. Sebagai
contoh, JavaScript tidak dapat mengacu pada suatu objek form sampai
browser memproses HTML untuk form tersebut. Demikian juga dengan proses
perubahan  properti, setelah browser menggunakan properti dalam
menghasilkan layout window, maka perubahan properti setelah itu tidak memiliki
efek terhadap tampilannya.

Walaupun nampaknya keterbatasan tersebut berat, namun dengan pengertian yang
baik terhadap HTML proses dan JavaScript akan mengurangi frustasi. Prinsip utama
yang perlu diingat bahwa suatu dokumen HTML diproses secara berurut dan
JavaScript adalah bagian dari proses secara berurut tersebut.

Objek Window

Objek window adalah orang tua dari semua Objek. Hal tersebut
termasuk semua window dan frame yang berada dalam suatu. Ketika browser mulai
memuat suatu dokumen HTML, hal tersebut dimulai dengan suatu instance dari objek
window. Jika dokumen HTML membuat suatu frame, informasi dari frame
tersebut tersimpan dalam suatu objek frame array. Dengan kata lain, membuka
suatu window akan menghasilkan suatu anak dari objek window. Kehebatan dari
JavaScript adalah terletak pada kemampuan untuk melakukan utilisasi properti dan
metode dari objek window.

Bagian ini akan membahas properti dari objek  window berikut :

  • objek Location
  • objek History
  • objek Document

Diantara ketiga objek tersebut, document adalah objek yang paling penting
dalam hirarki tersebut. Objek document itu sendirinya mengacu kepada
objek lain. Hal lain yang penting dari hal ini adalah sebagai berikut:

  • objek form
  • objek anchor
  • objek link

Objek location

Objek location mengandung informasi tentang URL sekarang. Acuannya
ke objek tersebut adalah sebagai berikut:

[windowReference.]location[.propertyName]

Properti dari Objek location mengacu pada bagian individual dari
URL:

protocol//hostname:port pathname search hash


CATATAN

Objek location dan properti location dari objek
dokumen (document.location) memiliki tujuan yang berbeda. Objek location
dapat berubah, tetapi properti location tidak dapat
berubah.


Properti dari objek location adalah sebagai berikut:

  • protocol. protocol menentukan metode access dari URL.
  • hostname. hostname mengandung nama host dan domain, atau
    alamat IP, dari host tujuan.

  • port. port adalah TCP/IP port, jika kosong akan digunakan port
    default dari protocol tersebut.

  • pathname. pathname meliputi path resource pada host
    tujuan.

  • search. property search adalah string yang dimulai dengan tanda ?
    yang digunakan untuk script CGI.

  • hash. property hash adalah suatu string yang dimulai
    dengan tanda hash(#) dan diikuti dengan suatu  anchor name.

  • href. property ini merupakan keseluruhan dari URL. Jika acuan
    dibuat ke[windowName.]location, property href menjadi asumsi.

  • host. Property ini ekivalen dengan hostname:port.


CATATAN

Walaupun JavaScript memungkinkan modifikasi pada properti
individual, praktek pemrograman yang umum adalah mengubah properti href.
Pendekatan ini mencegah hasil error dari browser sebelum akses URL
belum berubah secara keseluruhan.





Contoh :

<a href="" onmouseover="parent.location='http://www.indoprog.com/'">
Langsung ke homepage Indoprog</A>

Contoh diatas akan langsung membuka homepage http://www.indoprog.com
begitu pointer lewat diatas link Langsung ke homepage Indoprog




Objek History

Akses ke objek  History adalah topik yang kontroversial karena
memungkinkan script mengirim history kembali ke server. Untuk mencegah pemakaian
yang menyimpang, Netscape Navigator 2.01 keatas telah menghilangkan Objek ini.




Contoh 1 :
<a href="#" onClick="history.go(-1)">Back</a>
<input type=button value="Back" onClick="history.go(-1)">

Hasil :
Back
 
Contoh 2 :
<HEAD>

<SCRIPT LANGUAGE="JavaScript">

<!-- Begin
var agree=confirm("Apakah anda yakin untuk melanjutkan PROSES ?");
if (agree)
document.write("");
else
history.go(-1);                 // Kembali ke halaman sebelumnya
// End -->
</SCRIPT>
</HEAD>




Objek document

Objek document menyimpan properti, objek, dan metode yang mewakili
dokumen. Hal tersebut mengacu pada bagian dokumen HTML yang didefinsikan oleh
tag <BODY></BODY>. Bagian ini mendiskusikan komponen dari
objek dokumen, kecuali objek form (yang akan dibahas pada bagian
berikutnya).

Properti objek document

Option HTML ke tag <BODY> mendefinisikan properti objek document.
JavaScript mengacu pada semua properti ini, kecuali untuk image background.


CATATAN

String yang diperlukan untuk mengubah properti color adalah dalam
format document.colorProperty = “#RRGGBB” atau document.colorproperty=”colorName”.
Property color lainnya didefinisikan dalam tag <HEAD></HEAD>

yang mendahului tag  <BODY>.



Properti color untuk Objek document adalah sebagai berikut:

  • bgColor. Property ini menentukan warna latarbelakang dari
    dokumen. Property bgColor secara langsung mengupdate tampilan.

  • fgColor. Property ini menentukan warna text dari dokumen. Setelah
    browser menyelesaikan layout dari dokumen HTML., browser mengabaikan
    perubahan pada propery ini. Kecuali tag  <FONT> atau
    metode fontcolor metode menyediakan suatu mekanisme alternatif
    untuk mengubah warna text.

  • linkColor. linkColor mewakili warna dari suatu link yang
    didefinsikan oleh HREF.

  • alinkColor. property control warna dari suatu active link. Dengan
    kata lain, hal tersebut adalah warna dari link ketika terpilih.

  • vlinkColor. Situs yang pernah dikunjungi, browser menampilkan
    warna untuk link tersebut.




Contoh 1:

<FORM>
    <SELECT onChange=
      "document.bgColor=this.options[this.selectedIndex].value">
        <OPTION VALUE="40E0D0"> Torquoise
        <OPTION VALUE="2E8B57"> Sea Green
        <OPTION VALUE="87CEEB"> Sky Blue
        <OPTION VALUE="F4A460"> Sandy Brown
        <OPTION VALUE="FFF0F5"> Lavender Blush
        <OPTION VALUE="FF1493"> Deep Pink
        <OPTION VALUE="FFFFFF" SELECTED> White
    </SELECT>

</FORM>

Hasil :




Objek document juga mengandung properti berikut yang tidak
berkaitan dengan warna:

  • lastModified. Property read-only yang berkaitan dengan tanggal
    terakhir dokumen dimodifikasi.

  • location. Property read-only yang biasanya sama dengan nilai dari
    lokasi Objek, kecuali redirection digunakan untuk URL

  • referrer. Property read-only mengandung URL untuk dokument yang
    mana di link ke dokumen tersebut.

  • title. Property read-only mengandung nilai yang ditentukan pada
    tag<TITLE></TITLE>.




Contoh 1:

<SCRIPT LANGUAGE="JavaScript">

<!–

document.write(”Update terakhir :”);

document.write(document.lastModified);

// –>

</SCRIPT>

Hasil:

Update terakhir :07/14/2000 09:07:48

Contoh 2:

<form name=404form>
<script language="JavaScript"> 

   <!-- Begin
     var from = document.referrer;
     document.write("<input type=text name=referrer value='" + from + "'>");
   // End --> 
</script> 
</form>

Hasil :

Anda datang dari halaman :




The anchors Objek

Objek anchors mengandung suatu array dari semua anchors yang
dideklarasikan dengan atribut  NAME dari tag <A>

</A>. Array tersebut dimulai dari 0 dan berlanjut sampai document.anchors.length
- 1. Nilai dari  document.annchors[index] adalah null.


TIP

Sebelum menggunakannya untuk memberikan nilai seperti location.hash,
adalah mungkin untuk memeriksa keabsahan dari anchor dengan
membandingkannya dengan panjang array; anda menggunakan bilangan
berurut untuk menentukan anchors


Objek link

Array link mengandung Objek link yang didefinisikan oleh tag <A></A>

atau dengan metode link. Array tersebut meliputi objek untuk atribut HREF
dan NAME. Dengan tambahan ke atribut TARGET, properti dari
masing-masing Objek link adalah identik dengan Objek location.


CATATAN

link array adalah suatu array read-only. Entries
tambahan ditambahkan dengan tag <A></A>. Metode
link melakukan modifikasi terhadap isi dalam array link


Objek link memiliki dua event handler: onClick dan onMouseOver.
Bagian ini disebut sebagai “The Form Objek,”  pada
bagian selanjutnya di bab ini, menggambarkan bagaimana mengunakan event handler.

Properti cookie

Property cookie mengandung suatu nilai string dari isi cookier dari
file cookies.txt untuk dokumen tersebut. Untuk suatu keterangan lengkap
tentang bagaimana menggunakan cookies, lihat bagian Netscape cookie
specification. Metode substring, charAt, indexOf, dan lastIndexOf
dapat digunakan untuk memisahkan string cookie.

The document Objek Metodes

Objek document mengandung lima metode:

  • document.write()
  • document.writeln()
  • document.open()
  • document.close()
  • document.clear()

Sebagaimana yang ditunjukkan pada contoh sebelumnya, metode document.write,
tanpa mengacu pada suatu window, menulis text ke window yang sekarang. Metode document.writeln()
adalah sama dengan  document.write, selain itu juga menyisip suatu
karakter newline pada akhir dari argumen. Format dari metode ini adalah sebagai
berikut:

document.write(ekspresi [, ekspresi2] ... [ekspresiN])

document.writeln(ekspresi [, ekspresi2] ... [ekspresiN])

Tipe default  MIME adalah text/html. Bagaimanapun, metode document.open(["mimetype"])
memungkinkan untuk membuka type MIME lainnya, seperti text/plain, image/gif,
image/jpeg, image/x-bitmap, dan plugIn. Metode document.open() membuka
suatu stream untuk mengumpulkan output dari metode write dan write.ln.
Jika tipe MIME adalah text atau image, browser membuka suatu stream untuk
layout, untuk plugIn, browser membukanya pada suatu  plug-in. Jika suatu
dokumen telah siap dalam target windows, mthod open menghapusnya.




Contoh :

<SCRIPT>
document.write(Date()+".")
</SCRIPT>

Hasil :






CATATAN

Sekarang, tidak dimungkinkan lagi untuk mencetak tulisan apapun
dengan JavaScript melalui metode write ataupun writeln


Stream tersebut tetap terbuka sampai browser menemukan metode document.close().
document.close() memaksakan isi dari stream ditampilkan. Metode document.clear()
membersihkan
isi dari window.




Contoh :

<SCRIPT LANGUAGE="JavaScript">

<!-- Begin

var clocktext, timeday;
var pagetitle = document.title;
function scroll() {
today = new Date();
sec = today.getSeconds();
hr = today.getHours();
min = today.getMinutes();
// 12 Hour clock fix by Michael Mann
if (hr < 12) { timeday = " AM"; }
else { timeday = " PM"; }
if (hr > 12) hr = hr - 12;
if (hr <= 9) hr = "0" + hr;
if (min <= 9) min = "0" + min;
if (sec <= 9) sec = "0" + sec;
var clocktext = " - " + hr + ":" + min + ":" + sec + timeday;
clocktimer = setTimeout("scroll()", 1000);
document.title = pagetitle + clocktext;
}
if (document.all) scroll();

// End -->

</script>

Hasil : Lihat pada Title Halaman ini