Professional Documents
Culture Documents
TEKNIK INFORMATIKA
UNIVERSITAS INDRAPRASTA PGRI (UNINDRA)
Jl. Nangka No.58 c Tanjung Barat,Jagakarsa,
Jakarta Selatan.
1
Fungsi tanggal dan waktu dengan menggunakan Java
Script Dan HTML
A. Pengenalan
JavaScript adalah suatu bahasa script yang menyerupai cara penulisan pada Java.
Kode JavaScript dituliskan diantara tag HTML yang akan diinterpretasikan oleh
browser klien. Java script akan membuat halaman Web anda menjadi lebih interaktif.
Menggunakan JavaScript, memungkinkan kustomisasi terhadap dokumen HTML
pada saat diakses dengan menulis melalui penanganan event terhadap elemen-elemen
dalam halaman tersebut, memeriksa data form pada sisi klien dan melakukan
perhitungan pada sisi klien.
Agar dapat bekerja dengan lancar dengan contoh JavaScript berikut ini, tentu saja
anda membutuhkan suatu browser yang mendukung JavaScript which you already
have .
B. Tentang JavaScript
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".
2
Berkaitan dengan keamanan yang terkandung dalam JavaScript, adalah sangat
tidak benar bahwa kode JavaScript dapat merusak sistem anda. Sehingga anda dapat
mengunakannya tanpa perasaan was-was.
Contoh diatas akan membuat suatu variabel dengan nama dateVar dan
mengisinya dengan tanggal dan waktu sekarang. Jika anda ingin menentukan tanggal
dan waktu lainnya, anda dapat menggunakan salah satu cara penulisan berikut.
3
Anda mungkin pernah menggunjungi situs yang dapat menyapa Selamat Pagi
atau Selamat Malam tergantung pada waktu kunjungan anda. Hal ini dapat dilakukan
dengan memeriksa waktu sekarang dan sisipkan sapaan dengan menggunakan fungsi
document.write(). Kode berikut ini dapat melakukan hal tersebut. Sisipkan kode
tersebut dalam HTML file pada posisi dimana anda ingin sapaan tersebut muncul.
<SCRIPT LANGUAGE="JavaScript">
<!-- Memyembunyikan kode dari browser non-js
currentTime = new Date();
if (currentTime.getHours() < 12)
document.write("Selamat Pagi");
else if (currentTime.getHours() < 17)
document.write("Selamat Sore");
else document.write("Selamat Sore");
Berikut ini adalah suatu contoh program jam digital dengna JavaScript.
<SCRIPT LANGUAGE="JavaScript">
<!-- Hide from non JavaScript browsers
function clockTick()
{
currentTime = new Date();
document.clock_form.clock.value = " "+currentTime;
document.clock_form.clock.blur();
setTimeout("clockTick()", 1000);
}
clockTick();
// End of clock -->
</SCRIPT>
</TD></TR>
</TABLE>
4
F. Statusbar dan Scroller
Pernah melihat yang tulisan berputar di status bar browser ? Itu adalah scroller.
Tulisan berputar sangat populer dan menarik perhatian bagi pemula, dan bukan
merupakan ide yang baik, karena fungsi status bar bukan ditujukan untuk hal tersebut.
Menurut anda apa fungsi status bar ?
a. Program Scroller
Fasilitas apa saja yang terdapat pada JavaScript sehingga memungkinkan kita
membuat suatu scroller ?
Kedua adalah adanya fungsi setTimeout(). Fungsi ini memiliki dua buah
parameter. Parameter pertama adalah string yang merupakan perintah
JavaScript yang akan diaktifkan dan parameter kedua adalah jumlah milidetik
untuk mengaktifkan perintah tersebut.
Tulisan berputar pada dasarnya adalah suatu fungsi, yang pada pada setiap aksi,
memindahkan tulisan pada scrollbar sedikit ke kiri dan kemudian memanggil
setTimeout() untuk mengaktifkan kembali dirinya setelah suatu interval waktu
tertentu.
function Scroller()
{
window.status = scrollText.substring(scrollCounter++,
scrollText.length);
if (scrollCounter == scrollText.length)
scrollCounter = 0;
5
setTimeout("Scroller()", scrollDelay);
}
Scroller();
// End of scroller script -->
</SCRIPT>
Fungsi lainya yang kita gunakan adalah substring(), yang mana merupakan
metode dari objek string. Jika name="JavaScript", maka name.substring(4,9)
akan mengembalikan "Script".
Ketika anda menambahkan atau melakukan modifikasi tertentu pada situs anda,
anda sering ingin menempatkan suatu icon (new) disampingnya, sehingga pengunjung
dengan mudah dapat menemukan hal-hal yang baru tersebut. Tentu saja icon tersebut
ditampilkan untuk suatu periode waktu tertentu dan kemudian dihilangkan. Pekerjaan
tersebut menjadi tidak efektif bila anda melakukan modifikasi situs secara berkala
atau situs anda cukup besar.
<SCRIPT LANGUAGE="JavaScript">
<!-- Hide code from non-js browsers
function newItem(expiryDate)
{
exp = new Date(expiryDate);
cur = new Date();
if (cur.getTime() < exp.getTime())
document.write("<IMG SRC=\"new.gif\" WIDTH=31
HEIGHT=12 BORDER=0 ALT=\"new\">" );
}
// end hiding -->
</SCRIPT>
6
Biasanya, fungsi seperti ini didefinisikan antara bagian <HEAD> dan </HEAD>
pada HTML. Ganti nama new.gif ke nama dari image anda dan modifikasi atribut
WIDTH dan HEIGHT ke ukuran yang sesuai. Sekarang dimana saja anda ingin
meletakkan icon new tersebut, sisipkan kode berikut :
<SCRIPT LANGUAGE="JavaScript">
<!--
newItem("10/1/2000");
// -->
</SCRIPT>
Icon akan menampilkan tanggal yang mana anda tentukan sebagai
parameter untuk newItem().
Untuk menampilkan sesuatu pada status bar ketika mouse pointer digerakan
melalui link, anda perlu menambah kode berikut :
7
b. Menampilkan tanggal "Last Updated" pada dokumen
<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 <!-- .. -->.
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 Untuk
memahami apa sebenarnya yang terjadi, coba simak script berikut :
JavaScript : bagian ini akan memberitahukan kepada browser bahwa dia harus
menjalankan perintah JavaScript yang tersebut ketika link di klik.
8
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.
Untuk menutup jendela browser yang sedang aktif anda dapat menggunakan metode
close pada objek window.
Contoh :
<A HREF="javascript:window.close()">tutup</A>
Anda dapat membuat suatu fungsi yang mengambil nilai item yang dipilih
pemakai, dan membuka halaman yang diinginkan
Contoh :
<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',
9
'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>
Hasil :
f. 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 :
Contohnya.html
<html>
<head>
<title>Tutorial JavaScript</title>
<frameset cols=175,*>
</frameset>
</head>
</html>
10
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>
</body>
</html>
11
H. Objek Netscape
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.
12
c. 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.
• 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
d. Objek location
[windowReference.]location[.propertyName]
Properti dari Objek location mengacu pada bagian individual dari URL:
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.
13
• 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>
e. Objek History
Contoh 1 :
<a href="#" onClick="history.go(-1)">Back</a>
<input type=button value="Back" onClick="history.go(-1)">
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>
14
f. Objek document
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>.
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
15
<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:
Contoh 1 :
<SCRIPT LANGUAGE="JavaScript">
<!--
document.write("Update terakhir :");
document.write(document.lastModified);
// -->
</SCRIPT>
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>
16
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
i. 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.
j. 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.
1. document.write()
2. document.writeln()
3. document.open()
4. document.close()
5. document.clear()
17
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:
Contoh :
<SCRIPT>
document.write(Date()+".")
</SCRIPT>
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>
18
I. Window dan Frame
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.
19
Contoh:
<AHREF="http://www.indoprog.com"
onMouseOver="window.status='Klik disini untuk keterangan
lebih lengkap'; return true;" onMouseOut="window.status='';
">Klik disini</A>
window.propertyName
self.propertyName
top.propertyName
parent.propertyName
windowVar.propertyName
propertyName
toolbar=yes|no
location=yes|no
directories=yes|no
status=yes|no
20
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
window.metodeName(parameters)
self.metodeName(parameters)
top.metodeName(parameters)
parent.metodeName(parameters)
windowVar.metodeName(parameters)
metodeName(parameters)
21
PERHATIAN
Metode open() dan close() perlu mengunakan acuan
window.open() dan window.close() untuk menghindari scope
dengan document.open() dan document.close()
CATATAN
Frames memiliki semua properti dari suatu window. Seluruh hirarki
untuk struktur frame adalah sama dengan struktur window.
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,*>
</frameset>
</head>
</html>
22
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>
23
K. Proteksi Password
Kadang-kadang kita ingin memproteksi halaman untuk kalangan sendiri. Usaha
yang dapat kita lakukan untuk melakukan proteksi tersebut adalaj dengan
menanyakan username dan password. Ketika pengunjung melakukan klik pada
tombol submit, kode JavaScript pada halaman akan memeriksa apakah username dan
jika password benar, maka halaman yang sebenarnya akan ditampilkan. Kodenya
adalah sebagai berikut. sedikit forward dan berhasil.
Masalahnya adalah orang dapat melakukan suatu View|Source dan menemukan
username serta password untuk halaman yang di proteksi password, tentu saja contoh
ini kurang sempurna contoh ini kurang baik. Yang kita butuhkan adalah suatu metode
di mana pada HTML source-nya tidak akan kelihatan username dan password serta
halaman target. Suatu metode yang umum digunakan adalah membuat nama halaman
target berdasarkan username dan password yang dimasukkan oleh pemakai dan
mengarahkan browser ke halaman tersebut. Perhatikan hasil modifikasi fungsi
verifyLogin(.
Sekarang fungsi akan melakukan pengabungan terhadap username, pasword dan
".html" serta mengarahkan browser ke lokasi tersebut. Jadi jika pengunjung
memasukkan secret sebagai username dan page sebagai password, dia akan
mendapatkan secretpage.html. Atau dengan kata lain mereka tidak akan mengetahui
username dan paswword yang benar dan memasukan foo sebagai username dan bar
sebagai password, mereka akan diarahkan ke html yang tidak ada foobar.html dan
mendapatkan kesalahan yang menyatakan halaman tersebut tidak ada.
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.
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!-- Menyembunyikan script terhadap browser non-JavaScript
document.write("Hello world.")
// akhir dari penyembunyian -->
</SCRIPT>
</HEAD>
</HTML>
24
Sebenarnya ada dua cara menanamkan JavaScript kedalam dokumen HTML anda,
yaitu :
Contoh :
<SCRIPT LANGUAGE="JavaScript">
// -->
</SCRIPT>
Contoh :
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
HelloWorld.
Contoh :
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!-- Menyembunyikan script terhadap browser non-
JavaScript
document.write("Hello world.")
// akhir dari penyembunyian -->
</SCRIPT>
</HEAD>
</HTML>
25
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.
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.
Contoh :
<FORM>
<INPUT TYPE=BUTTON VALUE="Coba Klik" onClick="alert('Hello
world')">
</FORM>
Top of Form
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.
26
Operator JavaScript dapat dibagi menjadi beberapa kategori berikut:
• Assignment operator
• Arithmetic operator
• Bitwise operator
• Logical operator
• Comparison operator
• String operator
1. operand operator
atau
2. operator operand
a. Assignment Operator
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
27
Catatan
Bagi yang tidak familiar dengan pemrograman C, hati-hati dengan
perbedaan antara assignment operator (=) dan comparison operator
(==)
b. Arithmetic Operator
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.
c. Bitwise Operator
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
28
• 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.
d. Logical Operator
Operator logika membutuhkan operand dengan nilai Boolean (true atau false) dan
mereka akan mengembalikan suatu nilai logika. Operator logika adalah sebagai
berikut :
Operator logika NOT adalah suatu unary operator yang mempertahankan nilai
ekspresi.
e. Comparison Operator
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 (<=)
29
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 :
f . String Operator
Operator string (+) mengabung dua nilai string dan mengembalikan satu string
dimana merupakan hasil gabungan dari keduanya. Sebagai contoh :
"Java" + "Script"
Menghasilkan :
"JavaScript"
Operator shorthand += mengabung string kiri dengan string dikanan operand dan
memberikan nilai baru pada operand disebelah kiri.
g. Urutan operasi
Keterangan Operator
Assignment = += -= *= /= %= <<= >>= >>>= &= ^= |=
Conditional ?:
Logical OR ||
Bitwise OR |
Bitwise XOR ^
Equality == !=
Addition/subtraction +-
Multiply/divide */%
Negation/increment ! ~ - ++ -
Call, member () []
30
N. Struktur Kendali dan Fungsi
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).
Perintah kondisi
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.
31