Komputer adalah alat yang dipakai untuk mengolah data menurut prosedur
yang telah dirumuskan. Kata computer semula dipergunakan untuk
menggambarkan orang yang perkerjaannya melakukan perhitungan aritmatika,
dengan atau tanpa alat bantu, tetapi arti kata ini kemudian dipindahkan
kepada mesin itu sendiri. Asal mulanya, pengolahan informasi hampir
eksklusif berhubungan dengan masalah aritmatika, tetapi komputer modern
dipakai untuk banyak tugas yang tidak berhubungan dengan matematika.
Pengertian dan Definisi Komputer Menurut Para Ahli
Dalam arti seperti itu terdapat alat seperti slide rule, jenis
kalkulator mekanik mulai dari abakus dan seterusnya, sampai semua
komputer elektronik yang kontemporer. Istilah lebih baik yang cocok
untuk arti luas seperti "komputer" adalah "yang mengolah informasi" atau
"sistem pengolah informasi." Selama bertahun-tahun sudah ada beberapa
arti yang berbeda dalam kata "komputer", dan beberapa kata yang berbeda
tersebut sekarang disebut disebut sebagai komputer.
Kata computer secara umum pernah dipergunakan untuk mendefiniskan orang
yang melakukan perhitungan aritmatika, dengan atau tanpa mesin pembantu.
Menurut Barnhart Concise Dictionary of Etymology, kata tersebut
digunakan dalam bahasa Inggris pada tahun 1646 sebagai kata untuk "orang
yang menghitung" kemudian menjelang 1897 juga digunakan sebagai "alat
hitung mekanis". Selama Perang Dunia II kata tersebut menunjuk kepada
para pekerja wanita Amerika Serikat dan Inggris yang pekerjaannya
menghitung jalan artileri perang dengan mesin hitung.
Charles Babbage mendesain salah satu mesin hitung pertama yang disebut
mesin analitikal. Selain itu, berbagai alat mesin sederhana seperti
slide rule juga sudah dapat dikatakan sebagai komputer.
Pengertian dan Definisi Komputer Menurut Para Ahli
JavaScript adalah pemrograman sisi klien yang akan dijalankan oleh browser
dari pengunjung, dan program JavaScript biasa ditanamkan didalam halaman web
untuk menghasilkan halaman yang dinamis. Untuk mempelajari JavaScript sebaiknya
anda menguasai dasar-dasar HTML Script sehingga akan memudahkan anda untuk
menyisipkan program JavaScript secara baik dan benar.
Ketiklah Contoh berikut dan simpan ke file Hello.html
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!-- Menyembunyikan script terhadap browser non-JavaScript
document.write("Hello world.")
// akhir dari penyembunyian -->
</SCRIPT>
</HEAD>
</HTML>
Untuk melihat hasilnya, buka file Hello.html dengan internet browser.
Sebenarnya ada dua cara menanamkan JavaScript kddalam dokumen HTML anda,
yaitu :
1. Mengapit JavaScript tersebut dengan tag
<SCRIPT>...</SCRIPT>
Contoh :
<SCRIPT LANGUAGE="JavaScript">
<!-- Menyembunyikan script terhadap browser non-JavaScript
Perintah-perintah JavaScript anda diketik disini.
// -->
</SCRIPT>
2. Menggunakan tag HTML yang menangani event.
Contoh :
<A HREF="http://www.indoprog.com" onMouseOver="window.status='Klik disini
untuk mengetahui lebih jauh tentang saya'; return true;"
onMouseOut="window.status=''; ">Klik disini</A>
Walaupun Netscape Navigator akan mengolah semua teks dalam tag
<SCRIPT> sebagai JavaScript, tetapi adalah lebih baik melakukan
deklarasi LANGUAGE yang menentukan jenis bahasa script yang digunakan.
karena ada beberapa bahasa script lainnya untuk HTML, mendeklarasikan jenis
bahasa script adalah suatu praktek yang baik. Marilah kita memulai dengan suatu
program sederhana yang akan mencetak Hello World.
Contoh :
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!-- Menyembunyikan script terhadap browser non-JavaScript
document.write("Hello world.")
// akhir dari penyembunyian -->
</SCRIPT>
</HEAD>
</HTML>
Hasil:
Contoh diatas menunjukkan program Javascript diketik diantara tag
<HEAD> dan </HEAD>. Jika contoh JavaScript diatas
diketikkan diantara tag <BODY>, juga akan memiliki hasil yang
sama. Tetapi karena bagian heading akan dibaca terlebih dahulu dibandingankan
dengan bagian <BODY>, menempatkan semua fungsi maupun variabel
global pada bagian heading adalah praktek pemrograman yang baik. Dan semua
perintah JavaScript yang berkaitan dengan dokumen ditempatkan pada bagian body
HTML.
Perhatian : Tidak semua browser mampu memproses JavaScript, sehingga untuk
menghindari kesalahan penampilan pada browser tersebut, anda perlu mengetikkan
JavaScript diantara tag komentar HTML sebagai berikut :
<!-- Menyembunyikan script terhadap browser non-JavaScript
Perintah-perintah JavaScript anda ketik disini.
// akhir dari penyembunyian -->
Catatan
Ingat, selalu mengetik JavaScript diantara baris komentar sehingga browser
non Java dapat mengabaikannya, hal ini dilakukan karena siapa saja dapat
mengunjungi homepage kita di internet dengan berbagai web
browser.
Menangani Event akan mengubah halaman yang static menjadi lebih dinamis.
Event adalah hasil terhadap aksi yang dilakukan oleh pemakai, seperti klik pada
mouse, klik pada tombol submit di suatu form, dan keluar dari halaman. Netscape
mengenali sejumlah event, tetapi kita tidak akan mendiskusinya sekarang.
Setelah mengetahui cara menanamkan JavaScript kedalam halaman web,
selanjutnya kita akan membahas dasar-dasar dari pemrograman JavaScript itu
sendirinya, sebagai langkah pertama dari proses belajar, kita akan membahas
Variabel dan Literal. Ketiklah contoh berikut, dan simpan ke file
Scroller.html
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!-- Start of scroller script
var scrollCounter = 0;
var scrollText = "Teks yang anda inginkan, misalnya Viva Indoprog";
var scrollDelay = 70;
var i = 0;
while (i ++ < 140)
scrollText = " " + scrollText;
function Scroller()
{
window.status = scrollText.substring(scrollCounter++,
scrollText.length);
if (scrollCounter == scrollText.length)
scrollCounter = 0;
setTimeout("Scroller()", scrollDelay);
}
Scroller();
// End of scroller script -->
</SCRIPT>
</HEAD>
<BODY>
<H1>Coba perhatikan status bar anda</H1>
</BODY>
</HTML>
Pada contoh diatas menggunakan beberapa variabel seperti scrollCounter,
scrollText, scrollDelay, i, dan literal seperti 0, "Teks yang anda inginkan,
misalnya Viva Indoprog", 70.
Pada JavaScript memiliki beberapa tipe dari nilai sebagai berikut :
Number, baik bilangan nyata (real) maupun bilangan bulat (integer) (contoh
4.156 dan 39)
String (contoh "ini adalah JavaScript")
Logical (Boolean) dengan nilai true dan false
Null, yang mana adalah keyword khusus yang mengawali nilai kosong.
Walaupun memiliki tipe data yang sedikit, tetapi cukup untuk unjuk kerja
JavaScript. Perlu diperhatikan bahwa pada JavaScript tidak ada perbedaan antara
integer dengan real, keduanya dimasukkan pada tipe yang sama yaitu number.
JavaScript tidak menyediakan tipe data khusus untuk data tanggal. Tetapi
memiliki beberapa fungsi dan objek tanggal (date) yang dapat digunakan untuk
melakukan manipulasi data tanggal.
Aturan penamaan variabel pada JavaScript adalah nama variabel harus dimulai
dengan suatu huruf atau garis bawah (_) dan huruf selanjutnya dapat berupa angka
(0-9), huruf besar (A-Z) atau huruf kecil (a-z), garis bawah. Berikut ini adalah
contoh penamaan variabel yang benar:
Nama_depan h9224 _nama
Catatan
JavaScript membedakan huruf besar dan kecil (case sensitif), sehingga harus
diwaspadai oleh programmer, penulisan indoprog adalah berbeda dengan Indoprog
bagi JavaScript.
Batasan lainnya dalam pemberian nama variabel adalah tidak boleh sama dengan
cadangan kata pada JavaScript. Tabel 1 adalah daftar dari cadangan kata
(Reserved Word) pada JavaScript.
Table 1. Cadangan kata pada JavaScript.
abstract
extends
int
super
boolean
false
interface
switch
break
final
long
synchronized
byte
finally
native
this
case
float
new
throw
catch
for
null
throws
char
function
package
transient
class
goto
private
true
const
if
protected
try
continue
implements
public
var
default
import
return
val
do
in
short
while
double
instanceof
static
with
else
Tidak semua kata dalam Table 1 digunakan oleh JavaScript dewasa ini; dan
beberapa diantara dicadangkan untuk pemakaian yang akan datang. Cadangan Kata
tidak boleh digunakan untuk nama variabel, nama fungsi, nama metode, dan nama
objek
Variabel dalam JavaScript dapat menyimpan semua tipe data yang sah, dan tidak
diperlukan suatu deklarasi tipe data. Pada script yang sama, suatu variabel
dapat di set ke type data yang berbeda dalam suatu deklarasi tunggal. Berikut
ini deklarasi variabel yang sah:
temperatur = temperatur = "Temperatur adalah" temperature = "Temperatur
adalah " + 27
Karena JavaScript sangat longgar tentang tipe, dan menyediakan beberapa
fungsi untuk melakukan manipulasi data string dan nilai numerik (belum dibahas
pada bagian ini).
Baca Bagian ini !!!
JavaScript adalah bahasa script yang dinamis. Hal ini berarti bahwa tipe data
pada Javascript tidak baku tetapi dapat berubah dari suatu tipe ke tipe yang
lain sesuai dengan kebutuhan.
Sebagai contoh, anda dapat menyatakan myData = 10; pada suatu baris
initialisasi, dan baris berikutnya, menyatakan myData = "Hello World!" yang
membuat tipe myData menjadi suatu string. Java Script akan secara otomatis
mengubah tipe data berdasarkan ekspresi yang ditentukan. Jadi jika anda
menyatakan myData = "10" - 2;, maka anda akan bertanya mengapa Javascript tidak
mengkonversi 2 menjadi "2" dan menghasilkan "102", jawabanya adalah karena
operator - tidak ditujukan untuk pemakaian pada string sehingga "10" - 2 tidak
memiliki arti sama sekali. Berikut ini akan membawa kita kepada suatu situasi
yang lebih menarik. Operator + dinyatakan untuk pemakaian pada numerik dan
string. Jadi akankah 10 + "20" mengembalikan nilai 30 (10+20) atau "1020" ("10"
+ "20"). Hal ini tentu saja akan membingungkan anda dengan pemakaian operator +,
jawabannya adalah Javascript akan selalu mengkonversi segala sesuatu ke string
sebelum melakukan evaluasi, sehingga 10 + "20" adalah sama dengan "10" + "20"
dan hasilnya adalah "1020".
Variabel lokal digunakan didalam suatu fungsi dan ruang lingkupnya terbatas
pada fungsi tersebut. Untuk mendeklarasikan suatu variabel lokal, harus diawali
dengan var, seperti contoh berikut ini:
var nilaiTerbesar =0
JavaScript mengganggap semua variabel yang tidak diawali
dengan var adalah variabel global. Walaupun JavaScript memperbolehkan
anda menggunakan nama variabel yang sama untuk local maupun global, tetapi dalam
praktek hal tersebut tidak disarankan, karena akan membingungkan anda
sendiri.
TIP
Untuk memastikan fungsi mendapatkan nilai yang benar dari suatu variabel
global, deklarasikan semua variabel global tersebut pada awal dari
script.
Sebagai lawan dari variabel adalah literal yang merupakan baku yang
digunakan dalam JavaScript. JavaScript mendukung literal-literal berikut:
Integer literal
Floating point literal
Boolean literal
String literal
Special character
Integer dapat dalam basis desimal (basis 10),
hexadesimal, dan oktal. Suatu nilai desimal adalah semua angka yang tidak
diawali dengan nol (seperti 4, 89, atau 57). Suatu angka yang diawali dengan
nol, adalah berbasis oktal (seperti 04, 065, atau 0145). Suatu bilangan
dinyatakan dalam basis hexadesimal diawali dengan 0x atau 0X (seperti 0xff,
0X44, atau 0xAE).
Suatu literal floating-point terdiri dari
komponen: suatu desimal bulat, suatu decimal berkoma (.), suatu desimal pecahan,
dan eksponen. (seperti 1.23 or 44.6389) atau dalam notasi scientific (3.6E-8,
.4E12, or -2.7E12). Setiap literal floating-point literal minimal memiliki satu
digit dengan satu desimal atau eksponen.
Literal Boolean adalah true atau false.
Literal String dapat diapit oleh petik tunggal ( '
) atau petik ganda ( " ). Tanda petik awal dan akhir harus sama, seperti contoh
berikut:
"suatu literal dengan petik ganda" 'suatu literal dengan petik tunggal'
TIP
Ketika anda menulis event handle, apit string dengan petik tunggal, karena
petik ganda dibatasi untuk nilai atribut pada HTML
Contoh :
<FORM> <INPUT TYPE=BUTTON VALUE="Coba Klik" onClick="alert('Hello
world')"> </FORM>
Literal string dapat juga mengandung karakter khusus untuk kendali baris
Table 2 adalah daftar dari karakter khusus dan fungsi-fungsinya.
Table 2. Karakter khusus JavaScript.
Keterangan
Spesial Karakter
Backspace
\b
Form feed
\f
Newline
\n
Carriage return
\r
Tab
\t
Tanda backslash (\) adalah karakter escape pada JavaScript. Ketika
digunakan pada akhir dari suatu baris, akan berfungsi sebagai character
penyambung baris. Ketika diikuti oleh karakter lain, karakter escape tersebut
akan kehilangan fungsi khususnya. Dalam JavaScript, programmer menggunakan
backslash untuk escape backslash lainnya, suatu petik tunggal, dan suatu petik
ganda.
Ekspresi dan Operator
Literal dan variabel dihubungkan oleh operator dan akan menghasilkan
ekspresi. JavaScript menyediakan berbagai operator yang memungkinkan
programmer menulis sejumlah ekspresi dari yang paling sederhana sampai yang
paling sulit.
Contoh :
temp = 24
pada contoh diatas, temp adalah variabel, 24 adalah variabel, = adalah
operator, dan temp=24 adalah ekspresi.
Operator JavaScript dapat dibagi menjadi beberapa kategori berikut:
Assignment operator
Arithmetic operator
Bitwise operator
Logical operator
Comparison operator
String operator
JavaScript memiliki operator binari maupun unari. Suatu operator binari
memiliki format.
operand1 operator operand2
Sebagai contoh , 9 * 7 atau temp = 24 adalah ekspresi
dengan operator binari.
Operator unari memiliki dua format:
operand operator
atau
operator operand
Sebagai contoh ekspresi mengunakan operator unari adalah ++y atau
y++.
Catatan
Bagi programmer C language, tentu saja operator unari bukan
sesuatu yang asing, tetapi bagi programmer dari latarbelakang Basic dan Pascal,
penulisan y++ adalah sama dengan y = y +
1.
Operator pemberi nilai (=) adalah suatu operator binari yang digunakan untuk
memberi nilai ke operand di sisi kiri (biasanya berupa suatu variabel) yang
didasarkan pada nilai operand sebelah kanan (seperti NamaDepan =
"Hendra" atau x = y * 9). Table 3 adalah daftar singkat operator
pemberi nilai.
Table 3. Daftar Operator assignment
Shorthand operator
Artinya
Contoh
x += y
x = x + Y
x +=
x -= y
x = x - y
x -=
x *= y
x = x * y
x *=
x /= y
x = x / y
x /=
x %= y
x = x % y
x %=
x <<= y
x = x << y
x <<=
x >>= y
x = x >> y
x >>=
x >>>= y
x = x >>> y
x >>>=
x &= y
x = x & y
x &= 0xC0
x |= y
x = x | y
x |= 0x0F
x ^= y
x = x ^ y
x ^= 0XFF
Catatan
Bagi yang tidak familiar dengan pemrograman C, hati-hati dengan perbedaan
antara assignment operator (=) dan comparison operator
(==)
Sesuai dengan fungsinya operator aritmatika melakukan operasi perhitungan
aritmatika terhadap suatu nilai numerik baik dalam literal maupun variabel.
JavaScript mendukung operator standard aritmatika untuk penjumlahan
(+), pengurangan (-), perkalian (*), dan pembagian
(/). Juga memiliki operator modulus (%), increment
(++), decrement (--), dan unary negation (-).
Operator modulus (%) adalah suatu operator binary yang mengembalikan
nilai sisa dari suatu pembagian bulat operand1 terhadap operand2.
Sebagai contoh, hasil dari 27 % 6 adalah 4.
Operator increment unary adalah menambah nilai satu ke variabel operand,
sedangkan operator decrement unary mengurangi satu dari padanya. Bagaimanapun,
nilai yang dikembalikan tergantung dari posisi operator terhadap operand Jika
operator berada didepan (++x atau --x), nilai yang
dikembalikan adalah x+1 atau x-1. Ketika operator dibelakang(x++ or
x--), nilai x dikembalikan sebelum ditambah atau dikurang.
Operator khusus unari arithmetic adalah operator unari negation operator. Ia
membalikan tanda dari nilai yang diberikan pada suatu variabel. Sebagai contoh,
jika x = -7, -x mengubah nilai menjadi 7.
Untuk programmer yang perlu menangani bit. JavaScript menyediakan satu set
dari operator bitwise. Untuk operator ini, JavaScript melakukan konversi
terhadap operand menjadi integer 32-bit sebelum melakukan operasi padanya.
Operator logika bitwise adalah
Bitwise AND (&), akan mengembalikan nilai dari logika AND
antara sepasang bit. Sebagai contoh , 0x0f & 0x0a mengembalikan
0x0a.
Bitwise OR (|), akan mengembalikan nilai dari logika OR antara
setiap pasangan dari bit. Sebagai contoh, 0x05 | 0x0a mengembalikan
0x0f.
Bitwise XOR (^), akan mengembalikan nilai dari logika exclusive OR
between antara tiap pasangan bit. Sebagai contoh, 0x0f ^ 0x0a
mengembalikan 0x05.
JavaScript juga menyediakan satu set bitwise untuk operasi shift
operand1 terhadap jumlah yang ditentukan di operand2. Operand ini
adalah
Shift left (<<), akan mengeser bit ke kiri dengan jumlah
tertentu. Bit yang melewati batas kiri akan diabaikan, dan suatu bit nol akan
digeser dari kanan. Sebagai contoh, 0x0f << 2 mengembalikan
0x3c.
Sign propagating shift right (>>) mempertahankan bit tanda
dari nilai ketika melakukan geser ke kanan sesuai dengan jumlah yang ditentukan.
Bit yang tergeser melewati bata kanan akan diabaikan, kecuali bit tanda, bit nol
akan digeser dari kiri.. Sebagai contoh, 10 >> 2 mengembalikan
2 dan -10 >> 2 mengembalikan -2.
Zero-fill right shift (>>>) sama seperti >>, cuma
tidak mempertahankan bit tanda ketika dilakukan pergeseran sesuai dengan jumlah
yang ditentukan.
Operator logika membutuhkan operand dengan nilai Boolean (true atau false)
dan mereka akan mengembalikan suatu nilai logika. Operator logika adalah sebagai
berikut :
Logical AND (&&)
Logical OR (||)
Logical NOT (!)
Operator logika NOT adalah suatu unary operator yang mempertahankan nilai
ekspresi.
Operator perbandingan diterapkan pada perbandingan pada data numerik dan data
string serta tidak dapat dilakukan pada nilai Boolean. Masing-masing operand
harus memiliki tipe yang sama: nemerik dibandingkan dengan numerik atau string
dengan string. Hasil dari perbandingan adalah sautu nilai Boolean. Operator
perbandingan adalah:
Equal (==)
Not equal (!=)
Greater than (>)
Greater than or equal to (>=)
Less than (<)
Less than or equal to (<=)
JavaScript juga mendukung ekspresi secara kondisi (conditional expression)
yang mana berbentuk.
(kondisi) ? nilai_benar : nilai_salah
Jika kondisi adalah benar, ekspresi memiliki dari true_value.
Sebaliknya memiliki nilai dari false_value. Seperti saudaranya yang
berbasis bahasa C, ekpresi kondisi adalah ekspresi standard dan dapat digunakan
dimana saja, dan dapat dilihat sebagai berikut :
Bagi programmer C language, tentu saja comparison operator (==)
bukan sesuatu yang asing, tetapi bagi programmer dari latarbelakang Basic dan
Pascal, penulisan = adalah tidak sama dengan
==.
Dalam ekspresi yang kompleks dimana melibatkan lebih dari satu operator,
urutan operasi dari operator menentukan nilai hasil evaluasi. Dengan menggunakan
tanda kurung, programmer dapat mengatur aturan tersebut. Table .4 adalah urutan
prioritas operasi dari yang paling rendah sampai yang paling tinggi.
Table 4. Prioritas urutan operasi dari prioritas rendah
sampai tinggi.
Untuk membuat suatu halaman yang dinamis dan interaktif, perancang halaman
Web membutuhkan perintah-perintah yang dapat mengatur aliran dari informasi.
Berdasarkan hasil komputasi yang telah dilakukan, JavaScript akan membuat
keputusan jalur mana yang akan dieksekusi. Kita akan membahas tentang perintah
kondisi dan loop dalam JavaScript.
Walaupun semua kode harus ditulis dalam penanganan event, tetapi hal ini
adalah praktek pemrograman yang kurang baik. Sebagai pengantinya, gunakan
fungsi, kode akan menjadi lebih modular dan dapat digunakan kembali
(reusable).
Sebagai tambahan terhadap ekspresi kondisi yang telah dijelaskan bagian
sebelumnya. JavaScript memiliki suatu perintah kondisi if. Tata cara penulisan
dari perintah kondisi tersebut adalah sebagai berikut:
if (kondisi1) { pernyataan1 } [else { pernyataan2}]
kondisi adalah ekspresi JavaScript yang mana hasil evaluasinya
memiliki nilai Boolean true atau false. contoh pemakaian statement if:
if (n>3) { status = true if (j != n) j = 0 } else j = n
Perhatian
Bagi programmer C harus berhati-hati dengan evaluasi kondisi pada JavaScript.
Suatu kondisi numerik yang mengasilkan nol adalah tidak sama dengan suatu
Boolean true pada JavaScript, dan sebaliknya suatu nilai bukan nol tidak sema
dengan Boolean false. Pada JavaScript hasil dari suatu kondisi harus data type
Boolean.
Jika hanya suatu perintah tunggal, tanda kurawal tidak diperlukan. Contoh
berikut adalah perintah yang benar:
if (a==b) j=0 else j=1
Perintah Perulangan
JavaScript mendukung dua struktur loop; perintah for dan perintah
while. Untuk control pada struktur loop, JavaScript menyediakan
perintah break dan continue.
Perintah for
Perintah for pada JavaScript sama dengan yang ada di Java dan C.
Perintah for mengulang suatu loop sampai kondisi menghasilkan evaluasi
true atau loop keluar dengan perintah break . Syntax untuk perintah
for adalah sebagai berikut :
for ([ekspresi-awal;] [kondisi;] [ekspresi-penambah]) { pernyataan }
Urutan proses untuk perintah for adalah sebagai berikut:
Interpreter menjalankan ekspresi-awal. Ekspresi ini mementukan
nilai yang diperlukan untuk kendali perulangan.
Kemudian interpreter memeriksa kondisi. Jika true, kendali
dilanjutkan ke langkah selanjutnya. Jika false, kendali diarahkan ke perintah
setelah perulangan.
Kemudian interpreter menjalankan ekspresi-penambah, yang mana
melakukan update terhadap variabel-variabel yang digunakan untuk kendali
perulangan.
Kemudian statement dijalankan dan, jika ditemukan suatu break atau
continue, kendali kembali ke langkah 2.
Perintah while terus mengulangi loop selama kondisi memiliki nilai
true. Syntax untuk perintah while adalah sebagai berikut :
while (kondisi) { pernyataan }
Test kondisi terjadi pada perulangan while yang pertama kali dan
pada akhir dari setiap loop. Ketika hasil test mengembalikan false, kendali
dilewatkan ke perintah berikutnya setelah loop. Perintah for yang
diubah ke suatu while loop.
Perintah break menghentikan for atau while loop
dan mengembalikan kendali ke perintah berikutnya yang mengikuti loop. Contoh
berikut menggambarkan bagaimana menggunakan perintah break:
i=0 while (i<10) { if (i==3) break i++ }
Perintah continue
Seperti perintah break, perintah continue menghentikan
interasi tersebut untuk suatu for atau while loop; Tetapi
tidak keluar dari loop; Tetapi melakukan interasi berikutnya.
Pada suatu while loop, kendali dilewatkan ke condition.
Pada suatu for loop, dilewatkan ke increment-expression.
Berikut ini memperlihatkan bagaimana menggunakan perintah
continue:
i=0 while (i<10) { if (i==3) continue i++ }
Perintah function
Suatu function adalah sekumpulan dari perintah JavaScript yang akan
mengerjakan tugas tertentu. Fungsi ini dapat dipanggil dari segala titik pada
dokumen tersebut dan dipanggil dari event. Format dari perintah
function adalah sebagai berikut:
function FunctionName(argument list) { statements }
Contoh:
<HTML> <HEAD> <SCRIPT LANGUAGE="JavaScript" <!-- hide the
script function DisplayIt(LineToDisplay) { document.write(LineToDisplay +
"<BR>") } // end hiding --> </SCRIPT> </HEAD> <BODY>
<SCRIPT LANGUAGE="JavaScript" <!-- hide it LineToDisplay("Hello World") //
end hiding --> </SCRIPT> </BODY> </HTML>
TIP
Karena browser membaca perintah tersebut diapit oleh
<HEAD>...</HEAD> duluan; adalah praktek yang baik untuk
memesan semua variabel global dan semua fungsi pada HEAD dari dokumen.
Hal ini mencegah kesalahan seperti non-initialized variables dan undefined
functions
Argumen dari suatu fungsi dapat berupa sembarang tipe data atau objek
JavaScript. Objek array functionName.argument[i] danfunctionName.arguments.length mengandung nilai jumlah argumen yang
dikirim ke fungsi, argumen acuan dengan mendeklarasikan nama-nama variabel. Hal
ini memungkinkan sejumlah argumen dilewatkan ke fungsi sebagai suatu argument
array. Contoh berikut menunjukkan pemakaian dari suatu variable argument
list.
Contoh :
<HTML> <HEAD> <SCRIPT LANGUAGE="JavaScript"> <!--
menyembunyikan UnorderList="UL" function DisplayList(ListType) { // menampilkan
variabel list if (ListType="OL" || ListType="UL") { // validasi jenis list
document.write("<" + ListType + ">" // menampilkan jenis list for (var
i=1; i<DisplayList.arguments.length; i++) document.write("LI" +
DisplayList.arguments[i]) document.write("</" + ListType + ">") // End
list return true } else return false } // akhir dari penyembunyian -->
</SCRIPT> </HEAD> <BODY> <SCRIPT LANGUAGE="JavaScript"
<!-- menyembunyikan if (DisplayList(UnorderList, "Bullet 1 text", "Bullet 2
text")) document.write("<P>List Display</P>") else
document.write("<P>Invalid List Type<p>") // unhide it -->
</SCRIPT> </BODY> </HTML>
Contoh diatas menggambarkan beberapa hal yang penting dari suatu fungsi.
Suatu variabel global diinisialisasi pada bagian <HEAD>. Perintah
var mendeklarasikan i sebagai suatu variabel lokal pada
fungsi. Juga ditunjukkan bagaimana perintah return dapat digunakan
untuk memastikan fungsi dijalankan dengan baik. Perintah return juga dapat
mengembalikan string atau nilai numerik, sebagaimana yang ditunjukkan oleh
contoh dibawah ini:
function RetExam(a, b) { var x=0 x = a+b return x } TestResult=RetExam(5, 7)
JavaScript mendukung dua bentuk format untuk komentar:
Komentar satu baris yang diawali dengan suatu double slash (//)
Komentar banyak baris yang diawali dengan suatu /* dan diakhiri
dengan suatu */
Komentar single-line, dari C++, memperlakukan semua yang dari double slash ke
belakang sebagai suatu komentar, berikut ini adalah contoh yang sah untuk suatu
komentar single-line :
// ini adalah komentar if (a=b) c=1 // ini juga adalah komentar
Komentar banyak baris mengikuti aturan pada C dan dapat digunakan untuk
menandai perintah JavaScript, sebagaimana yang ditunjukkan oleh contoh
sebelumnya, adalah sutu komentar HTML, baris terakhir membutuhkan dua slash
untuk menjaga JavaScript dapat menginterprestasikan baris tersebut.
JavaScript adalah suatu bahasa berdasarkan pada objek dan bukan merupakan
bahasa object-oriented programming (OOP). Perancang JavaScript tidak bertujuan
membuat suatu bahasa OOP yang baru; tetapi bertujuan membuat suatu bahasa script
untuk mengintegrasikan objek yang telah dibuat dengan suatu bahasa OOP kedalam
dokumen HTML. Selanjutnya Javascript tidak memiliki encapsulation , inheritance,
dan abstraction seperti pada C atau Java.
Tetapi class pada JavaScript menyediakan properti dan metode untuk membuat
objek.
Untuk melakukan manipulasi pada objek membutuhkan fasilitas tambahan dari
JavaScript yaitu dengan perintah for...in , perintah with ,
operator new, dan kata kunci this.
Perintah for...in
Perintah for...in menyediakan suatu mekanisme perulangan untuk
iterasi melalui semua properti dari suatu objek. Dengan format adalah sebagai
berikut :
for (variable in Objekname) { statements }
Contoh berikut mengunakan perintah ini untuk menampilkan semua properti dalam
suatu objek dan nilai asosiasinya:
function ListProperti(obj, obj_name) { var result = "" for (var i in obj) {
result += obj_name + "." + i " = " + obj[i] + "<BR>" } return result
PropList = ListProperti(mydog, "mydog")
Pada contoh sebelumnya, variabel i adalah nama dari property, kemudian
mengindeks objek dengan menggunakan property name_obj[i].
Perintah with
Pada beberapa situasi suatu objek perlu dibuat acuan beberapa kali. Perintah
with membuat acuan ke suatu objek default yang berada dalam kurung.
Tata cara penulisannya adalah sebagai berikut:
with (ObjekName) { statements i
Objek math berikut merupakan contoh pemakaian dari perintah with:
var r = var x = with (Math) { r = p / (1 - cos(a)) x = (2 * p * cos(a)) /
(sin(a) * sin(a)) }
Operand new
Untuk suatu tipe objek user-defined, operand new berfungsi membuat
suatu instance baru dari objek. Tata cara penulisannya adalah sebagai
berikut:
ObjekName = new ObjekType(param1 [, param2,] � [, paramN])
Kata kunci this
this mengacu pada objek yang sekarang. Pada bagian selanjutnya akan
ditunjukkan bagaimana pemakaian kata kunci ini dalam penulisan function dan
metode.
Walaupun JavaScript memiliki sejumlah besar objek yang telah didefinisikan,
developer dapat membuat objeknya sendiri. Untuk membuat suatu objek baru
diperlukan dua langkah yaitu:
Mendefinisikan jenis objek dengan membuat suatu fungsi.
Membuat instances dari objek tersebut dengan menggunakan operand new.
Fungsi tersebut mendefinisikan jenis objek, properti, dan metode. Sebagai
contoh untuk membuat suatu objek dog:
Untuk menggunakan fungsi diatas, operand new diperlukan untuk
mendefinisikan suatu instance baru untuk objek tersebut. Sebagai contoh:
mydog = new dog("small mut", 5, 25);
Selain type data yang umum (string, numeric, and Boolean), objek yang lain
dapat juga menjadi properti dari suatu objek. Contoh menambah suatu nomor izin
pada objek jenis dog, nomor izib ini juga mengacu pada objek lain.
function doglicense(owner, phone_number) { this.owner = owner;
this.phone_number = phone.number; } AZ123 = new doglicense("John Smith",
"999-9999");
Jenis Objek dog perlu dimodifikasi untuk mengikutsertakan informasi baru
tersebut:
Untuk mengacu pada pemilik mydog, syntax berikut diperlukan
mydog.license.owner
CATATAN
Jika suatu property baru ditambahkan pada suatu objek tanpa mengubah jenis
objek, properti tambahan tersebut hanya berpengaruh pada objek tersebut dan
bukan pada semua instances dari objek jenis yang
sama.
CATATAN
Suatu variabel string atau suatu string literal adalah suatu objek string.
Metode string adalah asosiasi dengan objek ini, dan akan didiskusikan pada
bagian "Objek dan fungsi
built-in".
Tidak seperti bahasa lainnya, Java script tidak memiliki suatu tipe data
array. Tetapi bagaimanapun, fungsi yang sama dapat dengan membentuk suatu objek
untuk melakukan emulasi suatu array. Langkah pertama untuk mendefinsikan suatu
objek array:
function MakeArray(n) { this.length = n; for (var i = 1; i <= n; i++)
this[i] = 0; return this }
Langkah berikutnya adalah mendefinisikan suatu instance untuk membentuk objek
MakeArray :
ExmpArray = new MakeArray(20);
Ketika anda memberikan nilai pada suatu elemen array, hal tersebut menyerupai
memberi nilai pada suatu type data array. Perbedaannya adalah array ini dimulai
dari satu dan bukan nol, karena nol mendefinisikan panjang dari array:
Objek dan fungsi yang akan dijelaskan pada bagian ini adalah bagian dari
lingkungan JavaScript, selanjutnya sangat tergantung pada jenis web browser.
Adapun objek dan fungsi tersebut adalah sebagai berikut:
Suatu string yang dipetik adalah suatu variabel string atau suatu properti
string dari suatu objek, segala sesuatu yang ditempatkan diantara petik adalah
suatu string. Ada dua cara untuk menggunakan suatu objek string:
stringName.propertyName
stringName.metodeName(parameters)
Properti Objek String
Objek string hanya memiliki sebuah properti -length. Karena
berupa properti, berikut ini adalah acuan yang benar:
StringLength = stringVariable.length; StringLength = mydog.name.length;
StringLength = "This is a string".length;
Metodee Objek String
Sejumlah besar metode adalah asosiasi dengan objek string.
Disamping fungsi manipulasi string yang normal, banyak diantaranya berfungsi
membungkus string diantara tag HTML. Berikut ini adalah daftar dari metode Objek
string:
anchor(nameAttribute). Dengan nameAttribute sebagai nilai
dari parameter yang dilewatkan ke metode, metode anchor mengurung text dengan
tag <A></A>. Berikut ini adalah contohnya:
blink(). String di apit dengan tag
<BLINK></BLINK> .
bold(). String di apit dengan tag <B></B>.
charAt(index). Metode ini mengembalikan huruf yang ditentukan oleh
index, dimana index adalah range 0 sampai stringName.length - 1. Jika
index berada diluar jangkauan, suatu null string akan dikembalikan.
fixed(). String di apit dengan tag <TT></TT>.
fontcolor(color). String di apit dengan tag <FONT
COLOR="color"></FONT>. Parameter color ditentukan dengan
format rrggbb.
fontsize(size). String di apit dengan tag
<FONTSIZE=size></FONTSIZE>. Nilai dapat berupa angka satu
sampai tujuh, atau dapat perubahan secara relatif (+ atau -)
yang didasarkanpada ukuran font dasar yang ditentukan pada tag
<BASEFONT>.
indexOf(searchValue, [fromIndex]). Metode ini mengembalikan posisi
index dari string pertama yang ditemukan berdasarkan string
searchValue. fromIndex secara optional menentukan posisi awal
pencarian. Jika pencarian tidak ditemukan maka JavaScript mengembalikan
-1.
italics(). String di apit dengan tag <I></I>.
lastOf(searchValue, [fromIndex]). Menyerupai indexOf, cuma
pencarian dilakukan dari arah belakang.
link(hrefAttribute). String di apit dengan tag <A
HREF=hrefAttribute></A>.
small(). String di apit dengan tag
<SMALL></SMALL>.
strike(). String di apit dengan tag
<STRIKE></STRIKE>.
sub(). String di apit dengan tag <SUB></SUB>.
substring(indexA, indexB). Metode ini mengembalikan subset dari
suatu string, yaitu dari posisi index A s/d indexB-1. Jika indexA sama
dengan indexB akan dikembalikan suatu null string.
sup(). String di apit dengan tag <SUP></SUP>.
toLowerCase(). Metode ini mengubah string ke huruf kecil dan
mengembalikannya.
toUpperCase(). Metode ini mengubah string ke huruf besar dan
mengembalikannya.
Objek Math menyediakan suatu himpunan dari nilai-nilai standar
matematika dan metode-metode yang argumennya berupa himpunan dari operator
matematika yang disediakan dengan JavaScript. Tidak seperti Objek lainnya, Objek
Math tidak membutuhkan suatu instance dari Objek sebelum menggunakan
metode objek math tersebut. Untuk memudahkan pemasukkan nama dan pembacaan,
metode Math sering diikat dengan perintah with. Syntax untuk
Objek Math adalah sebagai berikut:
Math.propertyName
Math.metodeName(parameters)
Properti Objek Math
Objek Math memiliki delapan buah properti. Properti-properti ini ini
mendefinisikan berbagai konstanta matematika. Tabel 5. menunjukkan
properti-properti tersebut dan nilai perkiraannya.
Table 5. Properti-properti objek Math dan
nilainya.
Property
Description
Approx. value
E
Euler's constant
2.718
LN2
Natural logarithm of 2
0.693
LN10
Natural logarithm of 10
2.302
LOG2E
Base 2 logarithm of e
1.442
LOG10E
Base 10 logarithm of e
0.434
PI
Ratio of circumference to diameter
3.14159
SQRT1_2
Square root of one-half
0.707
SQRT2
Square root of two
1.414
Metode Objek Math
Objek Math memiliki sejumlah metode yang argumennya adalah himpunan
dari operator matematika:
abs(number). Metode ini mengembalikan nilai absolut dari number.
acos(number). Mengembalikan nilai arc cosinus dari number
yang bernilai antara -1 and 1.
asin(number). Mengembalikan nilai arc sinus
atan(number). Mengembalikan nilai arc tangen dalam radian.
ceil(number). Mengembalikan nilai integer berikutnya yang lebih
besar atau sama dengannnumber.
cos(number). Mengembalikan nilai cosinus dari number (dalam sudut
radian).
exp(number). Mengembalikan pangkat e dari number, dimana
e adalah konstanta Euler's.
floor(number). Mengembalikan integer yang lebih kecil atau sama
dengan the number.
log(number). Mengembalikan logaritma natural (base e) dari
number, dimana number adalah sembarang bilangan positif hasil
ekspresi atau Objek. Jika number berada diluar jangkauan maka nilai pengembalian
defaultnya adalah 1.797693134862316e+308.
max(number1, number2). Mengembalikan terbesar dari kedua number.
min(number1, number2). Mengembalikan terkecik dari kedua number.
pow(base, exponent). Metode ini melakukan pangkat base
terhadap exponent. Jika salah satunya bilangan imaginier, maka akan
dikembalikan nol.
random(). Hanya terdapat pada paltforms UNIX, yang mana
mengembalikan suatu pseudorandom number antara nol dan satu. Pada Netscape
Navigator 3.0, metode random() metode dapat digunakan pada semua
platforms.
round(number). Mengembalikan nilai dari number yang
dibulatkan kebilangan integer terdekat.
sin(number). Mengembalikan nilai sinus dari sudut dalam radian.
sqrt(number). Mengembalikan nilai akar dari bilangan non negatif,
Jika diluar jangkauan akan dikembalikan nol.
tan(number). Mengembalikan nilai tangen dari sudut dalam radian.
Contoh :
<SCRIPT LANGUAGE="JavaScript"> <!-- Begin var ran ran =
Math.round(Math.random()*50000) alert("Anda adalah pengunjung yang ke " + ran +
".") // End --> </SCRIPT>
Walaupun JavaScript tidak menyediakan suatu type data Date, tetapi
menyediakan suatu objek Date yang mana menangani informasi date dan
time. Semua tanggal adalah jumlah milidetik sejak January 1, 1970, 00:00:00.
Akibatnya semua tanggal sebelum 1970 adalah tidak sah.
Objek Date membutuhkan suatu instance dari objek Date yang
berkaitan dengan pemakaian metode-metodenya. Instance dapat berupa suatu objek
baru atau properti dari objek yang ada. Ada empat cara untuk membentuk instance
baru:
dateObjekName = new Date() dateObjekName=new Date("month day, year
hours:minutes:seconds") dateObjekName=new Date(year, month, day)
dateObjekName=new Date(year, month, date, hours, minutes, seconds)
Membentuk suatu himpunan dari tanggal dan waktu ke tanggal dan waktu
sekarang. Mengosongkan time berarti memberinya nilai nol. Karena objek
Date tidak mengandung properti apa-apa, hanya ada satu format untuk
metode Date:
dateObjekName.metodeName(parameters)
Pengecualiaanya adalah UTC dan metode parse, yang mana
adalah metode status dan pemakaiannya
Date.UTC(parameters) Date.parse(parameters)
Table 6 menjelaskan nilai yang akan dikembalikan oleh berbagai perintah
get.
Table 6. Memisahkan informasi dalam objek
Date.
metode Date
Nilai yang dikembalikan
getDate()
Day of the month
getDay()
Day of the week
getHours
Hour of the day
getMinutes
Minutes in the hour
getMonth
The month
getSeconds
Seconds in the minute
getTime
Milliseconds since 1/1/1970
getTimezoneOffset
Offset between local time and GMT
getYear
The year
Selain dapat menerima berbagai informasi dari Objek Date, metode
pada Tabel 7 menunjukkan bagaimana mengubah informasi date.
Table 19.7. Setting informasi dalam objek
Date.
metode Date
Nilai yang sah
setDate(dayValue)
1-31
setHours(hoursValue)
0-23
setMinutes(minutesValue)
0-59
setMonth(monthValue)
0-11
setSeconds(secondsValue)
0-59
setTime(timeValue)
>=0
setYear(yearValue)
>=1970
Dua metode tambahan yang dapat digunakan untuk melakukan konvesi data tanggal
ke suatu nilai string, adalah sebagai berikut:
toGMTString(). Metode ini meng-konversi date dalam GMT (Greenwich
Mean Time) dan mengembalikannya sebagai suatu string. Format sebenarnya
tergantung pada platform hardware.
toLocaleString(). Mthod ini meng-konversi string ke format locale,
yang mana bervariasi berdasarkan setting.
Objek Date juga memiliki dua metode statik untuk menangani string;
hal tersebut memiliki format Date.metode(). Metode-metode ini adalah
sebagai berikut:
parse(dateString). Metode ini melakukan konversisuatu string
tanggal ke jumlah detik sejak January 1, 1970, 00:00:00. Setting waktu adalah
default. Tetapi juga mendukung akhiran yang menentukan GMT oatau U.S. standard
time zones.
UTC(year, month, day [, hrs] [, min] [, sec]). Metode ini
mengembalikan jumlah milidetik sejak January 1, 1970, 00:00:00 Universal Time
Coordinate (dengan kata lain adalah, GMT).
Contoh :
<SCRIPT LANGUAGE="JavaScript"> <!-- Begin var months=new Array(13);
months[1]="Januari"; months[2]="Februari"; months[3]="Maret"; months[4]="April";
months[5]="Mei"; months[6]="Juni"; months[7]="Juli"; months[8]="Agustus";
months[9]="September"; months[10]="Oktober"; months[11]="Nopember";
months[12]="Desember"; var time=new Date(); var lmonth=months[time.getMonth() +
1]; var date=time.getDate(); var year=time.getYear(); if (year < 2000) // Y2K
Fix, Isaac Powell year = year + 1900; document.write("<center>" + lmonth +
" "); document.write(date + ", " + year + "</center>"); // End -->
</SCRIPT> Hasil :
JavaScript mendukung beberapa function built-in yang mana tidak berkaitan
dengan Objek tertentu. Berikut ini adalah function-function built-in adalah
sebagai berikut:
eval(string). Function eval meng-evaluasikan string, yang
mana dapat berupa ekspresi JavaScript, perintah, atau urutan dari
perintah-perintah, dan mengembalikan hasil. Beberapa contoh dari function
eval adalah
var x = var y = var z = "if (x <= 9) (x*y) else (x/y);"
document.write(eval("x + y / 4"), "<BR>") document.write(eval(z),
"<BR>")
parseFloat(string). Fungsi ini mengurai string dan mengembalikan
suatu nilai floating point. Jika karakter pertama bukan suatu bilangan atau
tanda, nilai nol akan dikembalikan pada platform Windows, dan NaN (not
a number) pada platforms lain.
parseInt(string [, radix]). Fungsi parseInt mengurai
string dan mengembalikan suatu integer berdasarkan basis yang ditentukan. Nilai
dari akar tersebut adalah 8 untuk octal, 10 untuk desimal, dan 16 untuk
hexadesimal.
isNaN(testValue). Fungsi ini hanya ada pada platforms UNIX untuk
dan mengevaluasi testValue untuk menentukan apalah adalah NaN.
Akan dikembalikan true atau false
escape("string"). Mengembalikan encoding ASCII dari suatu argumen
dalam ISO Latin-1 character set. string tersebut adalah suatu
non-alpahnumeric string atau property dari suatu Objek yang ada. Jika berupa
suatu alphanumeric, akan dilewatkan nilai ke output string tanpa melakukan
encoding terhadapnya.
unescape("string"). Mengembalikan karakter ASCII untuk %xx, atau
hexadesimal yang ditentukan dalam parameter string.
Objek Netscape
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.
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 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 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
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 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 :03/31/2013 16:58:41 Update terakhir :01/17/2004 01:20:39 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:
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 :
Sun Mar 31 16:58:41 2013. Sat Jan 17 01:25:37 2004.
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
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.
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.
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.
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:
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 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
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.
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
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:
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.
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
Tips & Trik
Bagian Tips & Trik ini adalah beberapa hal yang dapat anda lakukan untuk
meningkatkan halaman Web anda tanpa tahu banyak mengenai JavaScript.
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:
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.
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.