By HendraNet - Hendra Jatnika

advertisement
http://www.hendra-jatnika.web.id
Modul 1: Dasar-dasar HTML
1.1 HTML
•
•
•
•
HTML adalah singkatan dari Hypertext Markup Language
Suatu file HTML merupakan file text yang diapit oleh tag-tag markup
Tag markup memberitahu Web browser bagaimana halaman ditampilkan
Suatu file HTML haruslah mempunyai ekstensi sebagai htm atau html
– .html lebih disukai
– .htm digunakan karena masih ada server dengan sistim operasi lama yang hanya
dapat menangani nama “8+3” (8 characters, dot, 3 characters)
Suatu file HTML dapat dibuat menggunakan editor text sederhana seperti notepad
1.2 Sejarah HTML
Tim Berners-Lee pada tahun 1989 yang mengusulkan suatu sistim dokumen hypertext
untuk digunakan oleh organisasi riset nuklir Eropa, CERN. HTML yang didasarkan Standard
Generalized Markup Language (SGML) belakangan diperkenalkan pertama kali dalam sistim
yang disebut "The World-Wide Web" (WWW) pada Oktober 1990. Kronologi perkembangan
HTML sejak diperkenalkan pertamakali hingga saat ini diperlihatkan sbb:
Oktober tahun 1990: pertama kali doleh Berners-Lee's
Musim panas tahun 1991: spesifikasi HTML di rilis pada Internet
Juni 1993: draft yang mendefenisikan HTML di rilis
Juli 1994: draft untuk HTML 2.0 di rilis
Februari 1995: draft HTML 2.0 hasil perbaikan diusulkan sebagai suatu RFC (Request
For Comments)
 September 1995: HTML 2.0 diterima sebagai standar - (RFC 1866)
 Maret 1995: draft HTML 3.0 di rilis (belakangan habis masa nerlakunya/expired)
 Mei 1996: draft HTML 3.2 di rilis
 Juli 1996: HTML experimental DTD 'Cougar' di rilis
 Januari 1997: HTML 3.2 (Wilbur) direkomendasi oleh W3C (World Wide Web
Consortium
 Juli 1997: darft HTML 4.0 (dikembangkan dari Cougar) di rilis
 Nopember 1997: HTML 4.0 menjadi usulan rekomendasi W3C
 Desember 1997: HTML 4.0 direkomendasi oleh W3C
 April 1998: HTML 4.0 direvisi dan direkomendasi oleh W3C
 Desember 1998: draft untuk formulasi HTML dalam XML (eXtensible Markup
Language) dengan codename ‘Voyager’ di rilis
 Januari 1999: draft kerja awal XHTML 1.0 di rilis
 Desember 1999: XHTML 1.0 menjadi usulan rekomendasi W3C
 September 1999: draft kerja awal XHTML 1.1 di rilis
 Januari 2000: XHTML 1.0 direkomendasi oleh W3C
 April 2001: XHTML 1.1 menjadi usulan rekomendasi W3C
 Mei 2001: XHTML 1.1 direkomendasi oleh W3C





t
e
N
a
r
d
By
n
e
H
1.3 Tag HTML
•
•
Tag HTML digunakan untuk mark elemen HTML
Tag HTML ditempatkan dalam kurung, < … >
Page 1 / 197
http://www.hendra-jatnika.web.id
• Kebanyakan tag HTML merupakan pasangan, <b> dan </b> (tag awal dan akhir)
• Text yang berada diantara kedua tag adalah unsur content (tag bertindak sebagai
container)
• Tag harus tersusun secara baik (properly nested ) yaitu tidak saling tumpang tindih
• Tag tidak case sensitive; <b> mempunyai arti sama dengan <B>
• XHTML adalah case sensitive dan harus lower case
1.4 Struktur dokumen HTML
Dokumen HTML minimal memliki tag sbb:
<html>
<head>
<title>My Title</title>
</head>
<body>
Hello, World!
</body>
</html>
tag <HTML> dan </HTML> digunakan untuk menandai awal dan akhir dari suatu file
HTML
t
e
N
tag <TITLE> dan </TITLE>, Tulisan yang berada diantara tag ini akan ditampilkan
oleh browser pada bagian title yang mana merupakan title dari jendela browser.
a
r
d
tag <HEAD> </HEAD> , Berisi keterangan informasi halaman, seperti title dan jenis
dokumen dll
tag <BODY> </BODY> , menandai awal dan akhir dari badan dokumen HTML yang
ditampilkan pada browser
n
e
H
y
B
1.5 Fungsi dan Pengunaan tag-tag dalam HTML
1.5.1 Menformat Text
HTML mengandung tag yang dapat digunakan memformat tampilan tulisan pada
halaman anda. Tag yang digunakan a.l:
tag <i> dan </i> untuk membuat text italic
tag <b> and </b> untuk membuat text boldface
tag <h1>, <h2>, <h3>, <h4>, <h5>, atau <h6> untuk header dalam dolumen dengan
ukuran font besar untuk <h1>dan terkecil untuk <h6> (lebih lanjut lihat modul)
Contoh :
Kode
<H1>Heading
<H2>Heading
<H3>Heading
<H4>Heading
<H5>Heading
<H6>Heading
Hasil
1</H1>
2</H2>
3</H3>
4</H4>
5</H5>
6</H6>
Heading 1
Heading 2
Heading 3
Heading 4
Heading 5
Heading 6
Page 2 / 197
http://www.hendra-jatnika.web.id
Tabel tag untuk Formating dan Style
Align Division
<DIV ALIGN=LEFT|RIGHT|CENTER|JUSTIFY></DIV>
Align Heading
<H? ALIGN=LEFT|CENTER|RIGHT></H?>
Author's Address
<ADDRESS></ADDRESS>
Block Quote
<BLOCKQUOTE></BLOCKQUOTE>
Citation
<CITE></CITE>
Code
<CODE></CODE>
Definition
<DFN></DFN>
Division
<DIV></DIV>
Emphasis
<EM></EM>
Heading
<H?></H?>
Keyboard Input
<KBD></KBD>
Large Font Size
<BIG></BIG>
Sample Output
<SAMP></SAMP>
Small Font Size
<SMALL></SMALL>
Strong Emphasis
<STRONG></STRONG>
Variable
<VAR></VAR>
Tabel tag Formatting Presentasi/tampilan
Base Font Size
<BASEFONT SIZE=?>
Blinking
<BLINK></BLINK>
Bold
<B></B>
Center
<CENTER></CENTER>
Change Font Size
<FONT SIZE=+|-?></FONT>
Font Color
<FONT COLOR="#$$$$$$"></FONT>
Font Size
<FONT SIZE=?></FONT>
Italic
<I></I>
Preformatted
Strikeout
t
e
N
a
r
d
By
n
e
H
<PRE></PRE>
<S></S>
Subscript
<SUB></SUB>
Superscript
<SUP></SUP>
Typewriter
<TT></TT>
Underline
<U></U>
Width
<PRE WIDTH=?></PRE>
Tabel tag Pengaturan Baris Halaman (Dividers)
Alignment
<HR ALIGN=LEFT|RIGHT|CENTER>
Align Text
<P ALIGN=LEFT|CENTER|RIGHT> </P>
Line Break
<BR>
Clear Textwrap
<BR CLEAR=LEFT|RIGHT|ALL>
Horizontal Rule
<HR>
No Break
<NOBR> </NOBR>
Paragraph
<P> </P>
Solid Line
<HR NOSHADE>
Thickness
<HR SIZE=?>
Width
<HR WIDTH=?>
Width Percent
<HR WIDTH=%>
Word Break
<WBR>
Page 3 / 197
http://www.hendra-jatnika.web.id
Tabel tag Pengaturan Warna dan Backgrounds
Active Link
<BODY ALINK="#$$$$$$">
Background Color <BODY BGCOLOR="#$$$$$$">
Text Color
<BODY TEXT="#$$$$$$">
Tiled Background
<BODY BACKGROUND="URL">
Link Color
<BODY LINK="#$$$$$$">
Visited Link
<BODY VLINK="#$$$$$$">
1.5.2 Whitespace
• Whitespace adalah karakter yang tidak diprint seperti: space, tab, newline, dan lainnya
• HTML memperlakukan whitespace sebagai pemisah kata, dan baris text secara
otomatis mengikuti lebar dari halaman
• Untuk pidah baris halaman dapat digunakan tag <br> atau tag <p> dan </p>
membuat kumpulan text dalam satu pragraf
• Tag <pre> dan </pre> dapat digunakan pada text sehingga whitespace ditampilkan
sesuai dengan apa yang ditulis (“pre” singkatan dari “preformatted”)
1.5.3 Karakter khusus Yang di Cadangkan
Ada sejumlah karakter yang tidak dapat diketik langsung pada bagian body HTML,
termasuk symbol untuk bahasa asing.
t
e
N
Tabel Karakter khusus
a
r
d
Entitas
Keterangan
n
e
H
Contoh
©
copyright symbol
©
®
registered trademark
symbol
®
™
trademark symbol
™
 
nonbreaking space
<
less-than symbol
<
>
greater-than symbol
>
&
ampersand
&
"
quotation mark
"
By
Contoh :
Kode
Hasil
2 < 3, adalah benar<br>
3 > 4, adalah salah
2 < 3, adalah benar
3 > 4, adalah salah
Page 4 / 197
http://www.hendra-jatnika.web.id
1.5.4 Lists
•
•
•
•
Ada dua jenis list HTML yaitu ordered, <ol> to </ol>, dan unordered, <ul> to </ul>
Ordered lists menggunakan nomor: 1, 2, 3, ...
Unordered lists menggunakan bullets (•)
Elements dari list adalah <li> dan </li>
Contoh :
Kode
<ul>
<li>Sugar</li>
<li>Chips</li>
<li>Caffeine</li>
<li>Chocolate</li>
</ul>




Hasil
Sugar
Chips
Caffeine
Chocolate
Attributes
• Beberapa tag mempunyai atribut untuk tambahan informasi:
Bentuk: nama attribut="nilai atribut"
t
e
N
Contoh: ordered list dapat diganti menjadi A, B, C, ... dengan memberi atribut sbb:
Kode
<ol>
<li>Sugar</li>
<li>Chips</li>
<li>Caffeine</li>
<li>Chocolate</li>
</ol>
<ol type="A">
<li>Sugar</li>
<li>Chips</li>
<li>Caffeine</li>
<li>Chocolate</li>
</ol>
By
a
r
d
en
H
Hasil
1.
2.
3.
4.
Sugar
Chips
Caffeine
Chocolate
A.
B.
C.
D.
Sugar
Chips
Caffeine
Chocolate
Tabel tag Lists
Bullet Type
<UL TYPE=DISC|CIRCLE|SQUARE><LI
TYPE=DISC|CIRCLE|SQUARE>
Defination List
<DL> <DT> <DD> </DL>
Directory List
<DIR> <LI> </DIR>
Menu List
<MENU> <LI> </MENU>
Numbering Type
<OL TYPE=A|a|I|i|1><LI TYPE=A|a|I|i|1>
Ordered Lists
<OL> <LI> </OL>
Starting Number
<OL VALUE=?><LI VALUE=?>
Unordered List
<UL> <LI> </UL>
Page 5 / 197
http://www.hendra-jatnika.web.id
1.5.4 Links
•
–
–
•
–
–
•
•
Untuk me link kehalaman lain: <a href="URL"> ke halaman </a>
Contoh: I'm taking <a href = "http://www.stmik.edu/news/index.html">Berita </a>
alumni.
Link text secara otomatis akan berwarna biru dan underlined (purple jika telah
dikunjungi)
Untuk link ke bagian lain dari halaman yang sama:
Insert nama anchor: <a name="refs">References</a>
Lakukan link: <a href="#refs">My references</a>
Untuk link dari halam lain ke nama anchor:
<a href="PageURL#refs">My references</a>
Untuk link e-mail <A HREF="mailto:[email protected]">Mail!</A>
1.5.6 Images
• Images (pictures) bukanlah bagain dari halaman HTML; HTML hanya memberitahu
dimana image di temukan
<img src="URL" alt="text description" width="150" height="100">
t
e
N
•
•
•
•
Atribut src attribute yang diperlukan sedang lainnya optional
The URL alamat dan nama image seperti:.gif, .jpg, atau .png
Atribut alt memberi text sebagai representasi jika image gagal ditampilkan
Atribut height and width jika disertakan memperbaiki tampilan image (jika ukuran salah
maka tampilan gambar akan terganggu)
• Tidak ada tag akhir </img> karena tag <img> bukan container
a
r
d
By
n
e
H
Tabel tag Links dan Gambar
Alignment
<IMG SRC="URL"ALIGN=TOP|BOTTOM|MIDDLE>
Alignment
<IMG SRC="URL"ALIGN=LEFT|RIGHT|
TEXTTOP|ABSMIDDLE|BASELINE|ABSBOTTOM>
Alternate
<IMG SRC="URL" ALT="***">
Border
<IMG SRC="URL" BORDER=?>
Client Pull
<META HTTP-EQUIV="Refresh" CONTENT="?;
URL=URL">
Define Target
<A NAME="***"> </A>
Dimensions
<IMG SRC="URL" WIDTH="?" HEIGHT="?">
Display Image
<IMG SRC="URL">
Embed Object
<EMBED SRC="URL">
Imagemap
<IMG SRC="URL" ISMAP>
Imagemap
<IMG SRC="URL" USEMAP="URL">
URL Link
<A HREF="URL"> </A>
Link to Target
<A HREF="URL#***"> </A><A HREF="#***">
</A>
Low-Res Proxy
<IMG SRC="URL" LOWSRC="URL">
Map
<MAP NAME="***"> </MAP>
Object Size
<EMBED SRC="URL" WIDTH="?" HEIGHT="?">
Runaround Space
<IMG SRC="URL" HSPACE=? VSPACE=?>
Page 6 / 197
http://www.hendra-jatnika.web.id
Section
<AREA SHAPE="RECT" COORDS=",,,"
HREF="URL"|NOHREF>
Target Window
<A HREF="URL" TARGET="***"> </A>
1.5.7 Tables
• Tables digunakan untuk mengorganisir informasi dalam dua dimensi (baris dan kolom)
• Suatu <table> dapat terdiri satu atau lebih baris table, <tr>
• Setiap baris table terdiri dari satu atau lebih cell table data, <td>, atau cell table header,
<th>
– Perbedaan antara <td> dan <th> hanya pada format text. Pada cell <th> otomatis
dalam format “boldface” dan “centered”
• Borders (batas) pada cell dapat diberi dengan menambah attribute: border="1" pada tag
awal <table>
Contoh table:
Kode
<table border="1">
<tr>
<th>Name</th> <th>Phone</th>
</tr>
<tr>
<td>Dick</td> <td>555-1234</td>
</tr>
<tr>
<td>Jane</td> <td>555-2345</td>
</tr>
<tr>
<td>Sally</td> <td>555-3456</td>
</tr>
</table>
By
Hasil
t
e
N
a
r
d
n
e
H
Tabel tag untuk Tables
Define Table
<TABLE> </TABLE>
Table Border
<TABLE BORDER> </TABLE>
Table Border
<TABLE BORDER=?> </TABLE>
Cell Spacing
<TABLE CELLSPACING=?>
Cell Padding
<TABLE CELLPADDING=?>
Table Width
<TABLE WIDTH=?>
Table Width (%)
<TABLE WIDTH=%>
Table Caption
<CAPTION> </CAPTION>
Table Alignment
<CAPTION ALIGN=TOP|BOTTOM>
Table Row
<TR> </TR>
Table Header
<TH> </TH>
Alignment
<TD ALIGN=LEFT|RIGHT|CENTER
VALIGN=TOP|MIDDLE|BOTTOM>
No Line Breaks
<TD >
Columns to Span
<TD COLSPAN=?>
Rows to Span
<TD ROWSPAN=?>
Page 7 / 197
http://www.hendra-jatnika.web.id
Desired Width
<TD WIDTH=?>
Width Percent
<TD WIDTH=%>
1.5.8 Frames
• Frames adalah cara membagi jendela browser dalam beberapa bingkai. Halaman
HTML terpisah dapat ditempatkan pada tiap bingkai.
Framesets
• Frames ditempatkan dalam frameset
• Gantikan <body>...</body> dengan <frameset>...</frameset>
• Pada Tag awal <frameset> gunakan atribut:
•
•
•
rows= nilai dari tinggi baris _
cols= nilai dari lebar koloml_
Nilai dapat berupa % atau pixel)
Contoh: <frameset cols="20%,80%">
Menambah frames pada frameset
• Letakkan tag <frame> dalam <frameset> yang merupakan rows atau columns
– <frame> bukan container maka tidak ada tag akhir </frame>
• Setiap <frame> mempunyai atribut seperti ini: src=”URL “
Dan beberapa tag e optional:
– scrolling="yes|no|auto" (default is "auto")
– noresize
t
e
N
a
r
d
By
n
e
H
Contoh lengkap Frame (situs The Java API):
Kode
<HTML>
<HEAD>
<TITLE>Java 2 Platform SE v1.4.0</TITLE>
</HEAD>
<FRAMESET cols="20%,80%">
<FRAMESET rows="30%,70%">
<FRAME src="overview-frame.html" name="packageListFrame">
<FRAME src="allclasses-frame.html" name="packageFrame">
</FRAMESET>
<FRAME src="overview-summary.html" name="classFrame">
</FRAMESET>
<NOFRAMES>
<H2>If you see this, you have frames turned off!</H2>
</NOFRAMES>
</HTML>
Page 8 / 197
http://www.hendra-jatnika.web.id
Hasil
t
e
N
a
r
d
Tabel tag Frames
Column Widths
Column Widths
Define Frame
By
n
e
H
<FRAMESET COLS=,,,> </FRAMESET>
<FRAMESET COLS=*> </FRAMESET>
<FRAME>
Display Document
<FRAME SRC="URL">
Frame Document
<FRAMESET> </FRAMESET>
Frame Name
<FRAME
NAME="***"|_blank|_self|_parent|_top>
Margin Width
<FRAME MARGINWIDTH=?>
Margin Height
<FRAME MARGINHEIGHT=?>
Not Resizeable
<FRAME NORESIZE>
Scrollbar
<FRAME SCROLLING="YES|NO|AUTO">
Row Heights
<FRAMESET ROWS=,,,> </FRAMESET>
Row Heights
<FRAMESET ROWS=*> </FRAMESET>
Unframed Content
<NOFRAMES> </NOFRAMES>
1.5.9 Forms
<form> merupakans tag HTML yang digunakan untuk rancangan interface pada halam
web:
– Untuk meminta informasi dari user yang kemudian dikirim ke server
• Suatu form terdiri dari:
•
Page 9 / 197
http://www.hendra-jatnika.web.id
–
: <form parameters> ...form elements... </form>
Elemen Form termasuk:: buttons, checkboxes, text fields, radio buttons, drop-down
menus, dll
– Form biasanya dilenkapi button untuk kirim informasi ke server “Submit button”
Parameters form memberitahu bagaimana informasi dikirim:.
– action="url"
(diperlukan)
• menetapkan kemana informasi dikirim jik button “Sbmit” diklik
– method="get" (default)
• Data Form dikirim sebagai suatu URL dengan menyertakan info data form form
• Dapat digunakan jika hanay menggunkan data l ASCII dan tidak lebih dari 100
karakter
– method="post"
• Data Form dikirim dalam body URL request
tag <input>
Kebanyakan elemen form menggunakan tag input dengan, type="..." berupa: text,
checkbox, radio, password, hidden, submit, reset, button, file, atau image
• Parameter taga input a.l:
– name: nama dari elemen
– value: “value”/nilai dari elemen
– readonly: nila yang tak bisa dirobah
– disabled: user tak dapat melakukan apa pun pada elemen ini
–
t
e
N
Contoh-contoh Text input:
a
r
d
n
e
H
A text field:
<input type="text" name="textfield" value="with an initial value">
By
Hasil:
A password field:
<input type="password" name="textfield3" value="secret">
Hasil:
textarea
A multi-line text field
<textarea name="textarea" cols="24" rows="2">Hello</textarea>
Hasil:
Page 10 / 197
http://www.hendra-jatnika.web.id
Buttons
A submit button:
<input type="submit" name="Submit" value="Submit">
• A reset button:
<input type="reset" name="Submit2" value="Reset">
• A plain button:
<input type="button" name="Submit3" value="Push Me">
•
Hasil:
t
e
N
Keterangan:
•
Submit : kirim data
•
Reset : restore semua lemen form ke keadaan semula
•
Button : ada aksi dari java script
a
r
d
Checkboxes
By
n
e
H
Kode
A checkbox:
<input type="checkbox"
name="checkbox”
value="checkbox" checked>
Hasil
Radio buttons
Radio buttons:<br>
<input type="radio" name="radiobutton" value="myValue1">
male<br>
<input type="radio" name="radiobutton" value="myValue2" checked>
female
Hasil:
Page 11 / 197
http://www.hendra-jatnika.web.id
Drop-down menu or list
Kode
A menu or list:
<select name="select">
<option value="red">red</option>
<option value="green">green</option>
<option value="BLUE">blue</option>
</select>
Hasil
Contoh lengkap:
Kode
<html>
<head>
<title>Get Identity</title>
<meta http-equiv="Content-Type"
content="text/html;
charset=iso-8859-1">
</head>
<body>
<p><b>Who are you?</b></p>
<form method="post" action="">
<p>Name:
<input type="text" name="textfield">
</p>
<p>Gender:
<input type="radio" name="gender"
value="m">Male
<input type="radio" name="gender"
value="f">Female</p>
</form>
</body>
</html>
By
Hasil
t
e
N
a
r
d
n
e
H
Tabel tag Forms
Checked
<INPUT CHECKED>
Default Option
<OPTION SELECTED>
Define Form
<FORM ACTION="URL" METHOD=GET|POST>
</FORM>
Field Name
<INPUT NAME="***">
Field Size
<INPUT SIZE=?>
Field Value
<INPUT VALUE="***">
File Upload
<FORM ENCTYPE="multipart/form-data></FORM>
Input Box Size
<TEXTAREA ROWS=? COLS=?> </TEXTAREA>
Input Field
<INPUT
Page 12 / 197
http://www.hendra-jatnika.web.id
TYPE="TEXT|PASSWORD|CHECKBOX|RADIO
|IMAGE|HIDDEN|SUBMIT|RESET">
Max Length
<INPUT MAXLENGTH=?>
Multiple Choice
<SELECT MULTIPLE>
Name of Box
<TEXTAREA NAME="***"> </TEXTAREA>
Name of List
<SELECT NAME="***"> </SELECT>
Option
<OPTION>
Selection List
<SELECT> </SELECT>
Wrap Text
<TEXTAREA WRAP=OFF|VIRTUAL|PHYSICAL>
</TEXTAREA>
# of Options
<SELECT SIZE=?> </SELECT>
Contoh Komplit kombinasi form dan table:
Kode:
<html>
<body>
<center>
<form method="POST" action="Kuesioner.php3">
<div align="center">
<center>
<table border="0" width="500">
<tr>
<th colspan=2>
Kuesioner Mahasiswa
</th>
</tr>
<tr>
<td width="106">Nama</td>
<td width="471"><input type="text" name="Nama" size="20"></td>
</tr>
<tr>
<td width="106">Password</td>
<td width="471"><input type="password" name="Password"
size="20"></td>
</tr>
<tr>
<td width="106">Jenis Kelamin</td>
<td width="471"><input type="radio" value="0" checked
name="Kelamin">Pria
<input type="radio" name="Kelamin"
value="1">Wanita</td>
</tr>
<tr>
<td width="106">Hobby</td>
<td width="471"><input type="checkbox" name="C1"
value="ON">Membaca,
<input type="checkbox" name="C2" value="ON">Sport,
<input type="checkbox" name="C3" value="ON">Music,
<input type="checkbox" name="C4"
value="ON">Memasak,
<input type="checkbox" name="C5" value="ON">Tamasya
</td>
</tr>
<tr>
<td width="106">Komentar</td>
<td width="471"><textarea rows="2" name="Komentar"
cols="55"></textarea></td>
</tr>
t
e
N
a
r
d
By
n
e
H
Page 13 / 197
http://www.hendra-jatnika.web.id
<tr>
<td width="106">Jurusan</td>
<td width="471"><select size="1" name="Jurusan">
<option selected>Komputer</option>
<option>Akuntansi</option>
<option>Sekretaris</option>
</select></td>
</tr>
</table>
</center>
</div>
<p><input type="submit" value="Submit" name="Submit">
<input type="reset" value="Reset" name="Reset"></p>
</form>
</center>
</body>
</html>
Hasil:
Kuesioner Mahasiswa
Nama
Password
Jenis
Kelamin
Hobby
Pria
Membaca,
Sport,
Memasak,
Tamasya
Music,
t
e
N
a
r
d
Komentar
Jurusan
Wanita
By
Komputer
n
e
H
Submit
Reset
1.6 Link Absolut dan Relatif
Pada bab diatas telah ditunjukan kode html yang berfungsi sebagai link ke objek
gambar taupun ke halaman html seperti: <a href="URL"> ke halaman </a>.
URL (Uniform Resource Location) merupkan alamat/lokasi tempat objek gambar atau
halaman yang hendak dilink berda. Objek tersebut dapat berada dalam satu folder dengan file
pemanggil atau berda pada folder lain yang berbeda.
Ada dua cara menuliskan lokasi atau alamat yang dilink/dipanggil tersebut yaitu dengan
menuliskan secara lengkap URL yang dilink seperti (link absolut):
http://www.hair.net/~squiggie/LottzaStuff/other/images/chef.gif
Dalam contoh ini chef.gif adalah nama objek gambar yang dipanggil/dilink dengan lokasi
seperti ditunjukkan diatas. Sedangkan file yang memanggil adalah page1.html.
Cara lain adalah dengan menuliskan alamat relatif seperti berikut (link relatif):
Page 14 / 197
http://www.hendra-jatnika.web.id
SRC="chef.gif" berarti
gambar tersebut ada
di folder yang sama dengan dokumen html
berarti gambar
tersebut terletak satu folder di bawah (sub
folder) dokumen html.
SRC="images/chef.gif"
berarti gambar tersebut
terletak satu folder di atas dokumen html.
SRC="../chef.gif"
berarti gambar
tersebut terletak dua folder di atas dokumen
html.
SRC="../../chef.gif"
t
e
N
a
r
d
en
By
H
SRC="../images/chef.gif" berarti
gambar
tersebut terletak satu folder di atas kemudian
satu folder ke bawah di direktori images.
SRC="../../../other/images/chef.gif"
Ada baiknya menggunakan URL relatif dibandingkan dengan pemakaian URL absolut
(lengkap). Karena dalam perancangan web site, hasil rancangan dapat disimpan di hard disk
sendiri dan semua link akan berfungsi pada saat di-upload ke server di internet, dan juga
file/gambar tersebut akan lebih cepat ditampilkan oleh browser. Adapun URL absolut
digunakan jika gambar tadi terletak di server yang sama sekali berbeda.
Page 15 / 197
http://www.hendra-jatnika.web.id
CSS (Cascading Style Sheets)
Pendahuluan
CSS merupakan suatu teknik atau cara sederhana dalam membuat style (layout-tampilan)
dokumen html menjadi lebih efisien. Dengan CSS pekerjaan dalam desain dan pengelolaan situs
web menjadi lebih mudah karena ada pemisahan antara konten dan layout. Satu style sheet dapat
digunakan untuk tampilan keseluruhan situs. Dengan demikian melakukan modifikasi file css
secara otomatis akan meng update juga keseluruhan halaman-halaman web.
Pada dasarnya CSS adalah kumpulan/list dari statemen (pernyataan) atau dikenal sebagai
rules yang dapat merender berbagai sifat pada elemen HTML. Style rule dapat ditujukan untuk
elemen tunggal, multi elemen, seluruh dokumen, atau bahkan sekaligus untuk multi dokumen.
Juga dimungkinkan menerapkan banyak rule yang saling berbeda untuk suatu elemen berbeda
lokasi yang menggunakan metoda berbeda. Sebagai style rule tunggal, semua rule ini
dikumpulkan dan di satukan dan dikenal sebagai “cascading” of style.
Sintaks bahasa untuk style sheet agak berbeda dengan HTML, sehingga diperlukan
penjelasan lebih lanjut dalam implementasinya.
Alasan diperkenalkannya CSS adalah ketika HTML yang semula ditujukan untuk mark-up
language berbasis content (content terpisah dari kode), berkembang tak terkendali dengan
diperkenalkannya berbagai cara formatting dan juga elemen/atribut oleh para pembuat browser.
Sehingga menjadikan kode HTML terkotori dan menyimpang dari tujuan utama HTML. Dengan
CSS dapat dibuat terpisah antara tampilan dan content.
t
e
N
Perkembangan CSS:
a
r
d
- Mei 1995 - Draft awal CSS
- November 1995 – Drat kerja CSS1 oleh W3C (World Wide Web Consortium)
- 17 Desember 1996 - CSS1 direkomendasi oleh W3C
- November 1997 – Draft kerje CSS2 di rilis ke publik
- Maret 1998 - CSS2 usulan rekomendesai W3C
- Mei 1998 - CSS2 direkomendasi oleh W3C
- Desember 1998 - W3C merilis Note "List of suggested extensions to CSS" - Augustus 2002 – Draft pertama CSS 2.1 dirilis ke publik
- Januari 2003 – Draft kerja kedua dari CSS 2.1 dirilis
- September 2003 – Draft kerja terakhir CSS 2.1 dirilis
By
n
e
H
Deawasa ini hampir semua browser mendukung CSS2, meskipun ada bagian dari fitur yang
belum dapat di implementasi pada browser. Dan saat ini CSS3 masih dalam pengembangan
dengan memikirkan penggunaan ke depan.
Keuntungan Style Sheets








Pemisahan antara content dari tampilan
Tampilan dan layout semua halaman situs web dapat dirancang dalam satu file
Menghasilkan markup HTML yang lebih bagus, fleksibel dan maintainable
Dapat digunakan baik untuk HTML maupun halaman XML
Menambah kecepatan download
Proses rendering dilakukan di sistem dari pada di layar halaman
Mempunyai banyak fitur kontrol visual
Mudah di kembangkan untuk kemampuan ke depan
Page 16 / 197
http://www.hendra-jatnika.web.id
Kelemahan CSS sbb:

Browser-browser belum sepenuhnya men-support secara baik semua fitur CSS
Ada 3 cara implementasi CSS pada halaman html yaitu:
Inline Styles
embedded stylesheets
external stylesheets
Sintaks CSS
Sintaks CSS cukup sederhana—terdiri dari kumpulan selectors (pilihan tags) dan
descriptors (memberi tahu apa yang dilakukan padanya):
Selektor dinyatakan terlebih dahulu yang kemudian Selektor ditempatkan pad kurung
kurawal {' and '}.
• File CSS hanya terdiri dari pasangan-pasangan selector/descriptor
– Selectors berupa tag HTML atau tag XML
• Sintaks umum adalah:
t
e
N
selector {property: value}
–
atau
selector, ..., selector {
property: value;
...
property: value }
By
a
r
d
n
e
H
–
dimana:
•
•
selector adalah tag yang akan dipengaruhi
property dan value menjelaskan bagaimana tag ditampilkan
– Contoh: h1 {color: green; font-family: Verdana} artinya sesuatu yang terkandung
dalam tag h1 (HTML heading level 1) akan menjadi : font Verdana dan warna green
Contoh CSS
Contoh
Keterangan
/* This is a comment */
h1,h2,h3 {font-family: Arial, sans-serif;}
p, table, li, address { font-family: "Courier
New";margin-left: 15pt; }
p, li, th, td {font-size: 80%;}
th {background-color:#FAEBD7}
Page 17 / 197
Komentar
Prioritas adalah font pertama
Font dan margin diberlakukan untuk
semua tag (p, table, address)
Ukuran 80% untuk elemen dari tag
Warna dpt dpt ditulis dalam
http://www.hendra-jatnika.web.id
body { background-color: #ffffff;}
a:link {color:darkred}
a:visited {color:darkred}
a:active {color:red}
a:hover {color:red}
hexadesimal
an unvisited link
a link that has been visited
a link now being visited
when the mouse hovers over it
Selectors
• Tag-tag baik HTML atau XML dapat digunakan sebagai elemen selector:
body { background-color: #ffffff }
• Multiple selectors:
em, i {color: red}
Pengulangan selectors:
h1, h2, h3 {font-family: Verdana; color: red}
h1, h3 {font-weight: bold; color: pink}
• Jika terjadi ketidak sesuaian nilai, maka yang paling akhir menimpa yang pertama
• Universal selector * dapat digunakan untuk semua elements:
* {color: blue}
• Jika terjadi ketidak sesuaian nilai, maka selectors spesifik menimpa yang umum (sehingga
em akan tetap red)
Contoh
t
e
N
a
r
d
By
n
e
H
•
Descendent selector memilih tag dengan specific ancestor:
p code { color: brown }
code dipilih jika berda dalam suatu paragraph
• A child selector > memilih tag dalam suatu specific parent:
h3 > em { font-weight: bold }
memlih em hanya jika parent yang diikuti segera adalah h3
• An adjacent selector memilih element yang diikuti segera oleh lainnya:
b + i { font-size: 8pt }
Contoh: <b>I'm bold and</b> <i>I'm italic</i>
Hasil: I'm bold and I'm italic
• Attribute selector :
– Syntax: element[attribute] { ... }
– Contoh: table[border] { ... }
–
Page 18 / 197
http://www.hendra-jatnika.web.id
• Nilai atribut:
– Syntax: element[attribute="value"] { ... }
– Contoh: table[border="0"] { ... }
Atribut class
• Memungkinkan styles yang berbeda untuk element yg sama
– Style sheet:
p.important {font-size: 24pt; color: red}
p.fineprint {font-size: 8pt}
– Pada HTML:
<p class="important">The end is nigh!</p>
<p class="fineprint">Offer ends 1/1/97.</p>
• Mendefenisikan suatu selector yang dapat di aplikasikan pada setiap elemen pada class,
cukup hilangkan nama tag (tetap ada dot):
.fineprint {font-size: 8pt}
Atribut id
• Atribut id layaknya atribut class, tapi menggunakan tanda # .
t
e
N
– Style sheet:
p#important {font-style: italic} atau
# important {font-style: italic}
– Pada HTML:
<p id="important">
• class dan id keduanya dapat digunakan, dan tidak mesti mempunyai nama yang
berbeda:
<p class="important" id="important">
a
r
d
By
n
e
H
div dan span
• div dan span adalah elemen HTML yang mempunyai fungsi untuk menangani informasi
CSS
• div seperti layaknya paragraph membri line break sebelum dan sesudah; sedangkan
span tidak
• Contoh:
– CSS: div {background-color: #66FFFF}
span.color {color: red}
– HTML: <div>This div is treated like a paragraph, but <span class="color">this
span</span> is not.</div>
Penggunaan style sheets
• Ada tiga cara menggunakan (attach) CSS:
–
External style sheet
• Merupakan cara yang paling powerful (ber dayaguna)
Page 19 / 197
http://www.hendra-jatnika.web.id
•
•
Berlaku baik untuk HTML maupun XML
Semua CSS dapat digunakan
–
Embedded style sheet
• Digunakan hanya pada HTML (bukan utko XML)
• Semua CSS dapat digunakan
–
Inline styles
• Digunakan hanya pada HTML (bukan utko XML )
• Terbatas dalam sintaks CSS
External style sheets
•
Dalam HTML, ditempatkan dalam elemen <head> :
<link REL="STYLESHEET" TYPE="text/css" HREF="Style Sheet URL">
•
Dalam prolog dokumen XML:
<?xml-stylesheet href="Style Sheet URL" type="text/css"?>
Embedded style sheets
• Dalam HTML, pada elemen <head> :
<style TYPE="text/css">
<!-CSS Style Sheet
-->
</style>
By
t
e
N
a
r
d
n
e
H
Catatan: tanda <!-- --> adalah merupakan tanda untuk komentar dalam html. Akan
tetapi dalam hal ini berfungsi untuk menghindarkan tampilan error jika browser yang
menggunakan belum mengenal/tidak support css.
Inline style sheets
• Atribut STYLE dapat ditambahkan pada setiap elemen HTML:
<html-tag STYLE="property: value">
or
<html-tag STYLE="property: value;
property: value; ...; property: value">
• Keuntungan:
– Berguna jika hanya sebagian kecil yang ingin di markup
• Kekurangan:
– Karena tercampur - membingungkan kode HTML
– Tidak dapat diterapkan keseluruhan fitur CSS
Page 20 / 197
http://www.hendra-jatnika.web.id
Urutan (order) Cascading
•
•
Styles diterapkan pad HTML dalam urutan berikut:
– Browser default
– External style sheet
– Internal style sheet (inside the <head> tag)
– Inline style (inside other elements)
Jika ada conflict dalam styles conflict, maka yang terdekat (nearest) ( atau most
recently applied) dimenangkan
Contoh urutan cascading:
• External style sheet:
• Internal style sheet:
• Hasil pada attributes:
h3 {
color: red;
text-align: left;
font-size: 8pt
h3 { text-align: right;
font-size: 20pt
color: red;
text-align: right;
font-size: 20pt
}
}
t
e
N
a
r
d
Beberapa properties and values dari font
n
e
H
• font-family:
– inherit (same as parent)
– Verdana, "Courier New", ... (if the font is on the client computer)
– serif | sans-serif | cursive | fantasy | monospace
By
• font-size:
– inherit | smaller | larger | xx-small | x-small | small | medium | large | x-large
| xx-large | 12pt
• font-weight:
– normal | bold |bolder | lighter | 100 | 200 | ... | 700
• font-style:
– normal | italic | oblique
Menyingkat properties
• Contoh kombinasi properties:
h2 { font-weight: bold; font-variant: small-caps; font-size: 12pt; line-height:
14pt; font-family: sans-serif }
dapat ditulis sebagai:
h2 { font: bold small-caps 12pt/14pt sans-serif }
Page 21 / 197
http://www.hendra-jatnika.web.id
Colors dan lengths
• color: and background-color:
– aqua | black | blue | fuchsia | gray | green | lime | maroon | navy | olive |
purple | red | silver | teal | white | #FF0000 | #F00 | rgb(255, 0, 0) | Browserspecific names (not recommended)
• Dalam ukuran:
– em, ex, px, % : font size, x-height, pixels, percent of inherited size
– in, cm, mm, pt, pc: inches, centimeters, millimeters, points (1/72 of an inch), picas (1
pica = 12 points), relative to the inherited value
Beberapa properties dan values dari Text
• text-align:
•
•
•
•
– left | right | center | justify
text-decoration:
– none | underline | overline | line-through
text-transform:
– none | capitalize | uppercase | lowercase
text-indent
– length | 10% (indents the first line of text)
white-space:
– normal | pre | nowrap
a
r
d
Pseudo-classes
•
t
e
N
By
n
e
H
Pseudo-classes adalah elemen yang keadaan (dan tampilan) dapat berobah terhadap
waktu:
Syntax: element:pseudo-class {...}
– :link  suatu link yang belum dikunjungi
– :visited  link yang sudah dikunjungi
– :active  link yang sedang diklik
– :hover  link yang ditempatkan mouse di atasnya (tapi belum di klik)
• Pseudo-classes dapat ditempatkan dimanapun dalam CSS selectors
•
Page 22 / 197
http://www.hendra-jatnika.web.id
Tabel Sintaks CSS Kaitannya dengan Versi Browser
CSS
Sintak
Sintak Spesifik
Browser
1.0 2.0 IExplorer Netscape Opera
X
X
External Style Sheets
X
Embedded Style Sheets
X
Inline Style Sheets
X
@Rules
-@charset
X
@import
@media
--@namespace
@page
--@fontdef
@font-face
-X
Rule Set Syntax
Selector Grouping
X
X
Declaration Grouping
Declaration Shorthands
X
X
Selectors
Element - Namespace
--Element - Universal
Element - Simple
X
X
Element - Descendent
-Element - Child
-Element - Adjacent
-Attribute - Simple
-Attribute - Value
-Attribute - Begin Value
-Attribute - End Value
Attribute - Substring Value --Attribute - One-Of-Many
-Attribute - Hyphen
-Attribute - Namespace
X
HTML - Class
X
HTML - ID
X
Pseudo-Classes
X
:link
X
:visited
X
:active
Inclusion Methods
X
X
X
X
X
X
X
X
-X
-X
X
X
X
X
X
-X
X
X
X
X
X
X
---X
X
-X
X
X
X
X
X
t
e
N
a
r
d
By
n
e
H
Page 23 / 197
3.0
3.0
3.0
3.0
4.0
5.5
4.0
4.0
-5.5
-4.0
3.0
3.0
3.0
3.0
3.0
-5.0
3.0
3.0
----------3.0
3.0
3.0
3.0
3.0
4.0
4.0B2
4.0B2
4.0B2
4.0B3
4.0
6.0
6.0
6.0
6.0
-4.0-4.x
-4.0
4.0
4.0
4.0
4.0
6.0
6.0
4.0
4.0
6.0
6.0
6.0
6.0
6.0
6.0
6.0
6.0
-6.0
4.0
4.0
4.0
4.0
4.0
6.0
3.5
3.5
3.5
3.5
3.5
??
3.5
3.5
-4.0
--3.5
3.5
3.5
3.5
3.5
-4.0
3.5
3.5
3.5
5.0
4.0
4.0
---4.0
--3.5
3.5
3.5
3.5
3.5
5.0
http://www.hendra-jatnika.web.id
-----------------X
--X
X
X
-X
X
:hover
:focus
:root
:empty
:not
:first-child
:first-node
:last-node
:last-child
:lang
:viewport
:viewport-scroll
:canvas
:scrolled-content
:first
:left
:right
Pseudo-Elements
:before
X
X
---X
---X
----X
X
X
X
X
X
X
X
X
X
X
X
t
e
N
a
r
d
:after
:first-letter
:first-line
Miscellaneous Syntax
By
n
e
H
Unicode Escapes
Comments
!important
4.0
----------------5.5B1
--5.5B1
5.5B1
3.0
6.0
3.0
4.0
6.0
6.0
6.0
6.0
6.0
6.0
6.0
6.0
6.0
-6.0
6.0
6.0
6.0
---6.0
6.0
6.0
6.0
6.0
4.0
6.0
4.0
6.0
4.0
7.0
---7.0
--------??
??
??
3.5
4.0
4.0
3.5
3.5
3.5
6.0
3.5
3.5
Contoh-Contoh:
Contoh 1 (eksternal css)
Copy dan paste berikut ini sebagai eksternal1.css
body {background-color: yellow}
h1 {font-size: 36pt}
h2 {color: blue}
p {margin-left: 50px}
Files eksternal1.css di link melalui file html:
eksternal1.html
<html>
<head>
<link rel="stylesheet"
</head>
type="text/css" href="eksternal1.css" />
Page 24 / 197
http://www.hendra-jatnika.web.id
<body>
<h1>This header is 36 pt</h1>
<h2>This header is blue</h2>
<p>This paragraph has a left
margin of 50 pixels</p>
</body>
</html>
Contoh 2 (eksternal css)
eksternal2.css
body {background-color: tan}
h1 {color:maroon; font-size:20pt}
hr {color:navy}
p {font-size:11pt; margin-left: 15px}
a:link
{color:green}
a:visited {color:yellow}
a:hover
{color:black}
a:active
{color:blue}
eksternal2.html
<html>
<head>
<link rel="stylesheet" type="text/css"
href="eksternal2.css"/>
</head>
t
e
N
a
r
d
<body>
n
e
H
<h1>This is a header 1</h1>
<hr>
By
<p>You can see that the style
sheet formats the text</p>
<p><a href="index.html" tppabs="http://www.microsoft.com/"
target="_blank">This is a link</a></p>
</body>
</html>
Contoh3 (embedded css)
<html>
<head>
<style type="text/css">
body {background-color: yellow}
h1 {background-color: #00ff00}
h2 {background-color: transparent}
p {background-color: rgb(250,0,255)}
</style>
</head>
<body>
<h1>This is header 1</h1>
<h2>This is header 2</h2>
Page 25 / 197
http://www.hendra-jatnika.web.id
<p>This is a paragraph</p>
</body>
</html>
Contoh 4 (embedded css)
<html>
<head>
<style type="text/css">
p {border-style: solid;
border-bottom-width: 15px}
</style>
</head>
<body>
<p>The "border-bottom-width" property is not recognized in Internet
Explorer if it is used alone. Use the "border-style" property to set the
borders first
with Internet Explorer.</p>
</body>
</html>
Contoh 5 (embedded css)
<html>
<head>
<style type="text/css">
ul {float:left;
width:100%;
padding:0;
margin:0;
list-style-type:none;}
a {float:left;
width:6em;
text-decoration:none;
color:white;
background-color:purple;
padding:0.2em 0.6em;
border-right:1px solid white;}
a:hover {background-color:#ff3300}
li {display:inline}
</style>
t
e
N
a
r
d
By
n
e
H
</head>
<body>
<ul>
<li><a
<li><a
<li><a
<li><a
</ul>
href="#">Link
href="#">Link
href="#">Link
href="#">Link
one</a></li>
two</a></li>
three</a></li>
four</a></li>
<p>
In the example above, we let the ul element and the a element float to
the left.
The li elements will be displayed as inline elements (no line break
Page 26 / 197
http://www.hendra-jatnika.web.id
before or after the element). This forces the list to be on one line.
The ul element has a width of 100% and each hyperlink in the list has a
width of 6em (6 times the size of the current font).
We add some colors and borders to make it more fancy.
</p>
</body>
</html>
Contoh 6 (embeded css)
<html>
<head>
<style type="text/css">
ul {
list-style-type:square; list-style-position:inside; list-styleimage:url('arrow.gif')}
</style>
</head>
<body>
<p><b>Note:</b> Netscape 4 does not display the images or position the
list.</p>
<ul>
<li>Coffee</li>
<li>Tea</li>
<li>Coca Cola</li>
</ul>
</body>
</html>
By
t
e
N
a
r
d
n
e
H
Contoh 7 (embeded css)
<html>
<head>
<style type="text/css">
a.one:link {color: #ff0000}
a.one:visited {color: #0000ff}
a.one:hover {color: #ffcc00}
a.two:link {color: #ff0000}
a.two:visited {color: #0000ff}
a.two:hover {font-size: 150%}
a.three:link {color: #ff0000}
a.three:visited {color: #0000ff}
a.three:hover {background: #66ff66}
a.four:link {color: #ff0000}
a.four:visited {color: #0000ff}
a.four:hover {font-family: monospace}
a.five:link {color: #ff0000; text-decoration: none}
a.five:visited {color: #0000ff; text-decoration: none}
a.five:hover {text-decoration: underline}
</style>
</head>
Page 27 / 197
http://www.hendra-jatnika.web.id
<body>
<p>Mouse over the links to see them change layout.</p>
<p><b><a class="one" href="default.asp.htm"
tppabs="http://www.w3schools.com/css/default.asp"
link changes color</a></b></p>
<p><b><a class="two" href="default.asp.htm"
tppabs="http://www.w3schools.com/css/default.asp"
link changes font-size</a></b></p>
<p><b><a class="three" href="default.asp.htm"
tppabs="http://www.w3schools.com/css/default.asp"
link changes background-color</a></b></p>
<p><b><a class="four" href="default.asp.htm"
tppabs="http://www.w3schools.com/css/default.asp"
link changes font-family</a></b></p>
<p><b><a class="five" href="default.asp.htm"
tppabs="http://www.w3schools.com/css/default.asp"
link changes text-decoration</a></b></p>
</body>
target="_blank">This
target="_blank">This
target="_blank">This
target="_blank">This
target="_blank">This
</html>
References
t
e
N
• Some of the examples in this presentation were taken from the W3Schools online tutorial at
http://www.w3schools.com/css/css_syntax.asp
• Dave Raggett’s Adding a Touch of Style is a very nice online tutorial at
http://www.w3.org/MarkUp/Guide/Style
• Index DOT Css has also been a great source of information about CSS:
http://www.blooberry.com/indexdot/css/index.html
– In particular, there is a list of when CSS features were first supported by which browsers (- means “not yet supported”) at
http://www.blooberry.com/indexdot/css/supportkey/syntax.htm
a
r
d
By
n
e
H
Page 28 / 197
http://www.hendra-jatnika.web.id
t
e
N
a
r
d
By
n
e
H
Page 29 / 197
http://www.hendra-jatnika.web.id
JavaScript
Apa dan untuk apa JavaScript?
• JavaScript dikembangkan pertama sekali oleh Netscape, merupakan bahasa script
paling populer pada internet dan kompatibel dengan berbagai browser
• Javascript dirancang untuk menambah interaktivitas halaman-halaman HTML.
• JavaScript adalah bahasa scripting (teks biasa – tanpa di compile) bebas lisensi dan
mudah untuk dipelajari dan digunakan dibanding bhs programming tradisional.
• JavaScript bekerja pada sisi client (client side). Browsers menterjemahkan statemen
(perintah) JavaScript yang disisipkan (embedded) secara langsung pada halaman HTML.
• JavaScript dirancang untuk digunakan pada halaman Web dan terintegrasi dengan
HTML.
• Statemen JavaScript yang disisipkan pada halaman HTML dapat mengenal dan
merespon User Events seperti Mouse Clicks, Form Input, dan Page Navigation.
• JavaScript dapat membaca dan menulis elemen-elemen HTML
• JavaScript dapat digunakan untuk validasi data - Sebagai contoh dalam Form Isian
• JavaScript dapat digunakan untuk deteksi browser pengunjung (nama, versi dll)
• JavaScript dapat digunakan untuk membuat cookies – Suatu informasi yang distore
pada komputer pengunjung untuk kemudian diretrieve untuk menegnal pengunjung
tersebut.
Apakah Java sama dengan JavaScript?
t
e
N
Tidak. Ada banyak perbedaan antar Java and JavaScript.
JavaScript
Object based language
By
a
r
d
n
e
H
Java
Object oriented language
Diinterpretasi (bukan compiled) oleh client.
Di Compile pd server sebelum dieksekusi
pada client.
Kodenya berintegrasi dalam dokumen HTML
Hasilnya berupa Applet, diakses dari halaman
HTML
Terbatas pada fungsi browser
Bisa sebagai aplikasi mandiri
Jenis data variable tidak dideklarasi (loose
typing).
Jenis data Variable harus dideklarasi (strong
typing).
Dynamic binding
Static binding
Bekerja sebatas pada elemen HTML
Lebih dari sekedar elemen dokumen HTML
(misalnya multimedia)
Mampu mengakses objek dan fungsionalitas
browser
Tidak mampu mengakses objek dan
fungsionalitas browser
Bagaimana cara menggunakan JavaScript ?
Kode JavaScript ditempatkan didalam file HTML, dengan demikian kode JavaScript
dapat dibuat dengan cara yang sama membuat HTML yaitu menggunakan editor teks
seperti WordPad ataupun NotePad.
Page 30 / 197
http://www.hendra-jatnika.web.id
Ada dua cara memasukkan JavaScript dalam dokumen HTML :


Menggunakan tag HTML yang menangani event.
Menyisipkan kodet JavaScript didalam tag <SCRIPT>...</SCRIPT>
1. Menangani Event
• Menangani Event akan mengubah halaman yang statis 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.
• JavaScript menggunakan Event Handlers untuk merespon Event.
• Event Handlers telah ditulis kedalam berbagai jensi tag HTML dan tidak
diperlukan lagi tag <SCRIPT>.
Sebagai contoh, berikut ini adalah contoh kombinasi HTML dan JavaScript untuk
memberi pesan bagi user.
Contoh: Event Click
<HTML>
<BODY>
<FORM>
<INPUT TYPE=BUTTON VALUE="Klik disni"
onClick="alert('Terimakasih')">
</FORM>
</BODY>
</HTML>
t
e
N
a
r
d
By
n
e
H
Bentuk "onClick" adalah Event Handler, sebagai atribut dari tag <INPUT> dalam suatu
HTML. Sedangkan kode JavaScript berda dalam tanda petik yaitu: "alert('Terimakasih')"
Kebanyakan (tidak semua) element-elemen pada halaman web merespon thdp interaktivitas
user (seperti: keystrokes, mouse clicks) dengan membuat events Handlers dapat ditempatkan
pada elemen form HTML
Contoh 2
<HTML>
<BODY>
<form method="post" action="">
<input type="button"
name="myButton"
value="Click me"
onclick="alert('You clicked the
button!');">
</form>
</BODY>
<HTML>
* name : dapat digunakan oleh kode
JavaScript lain
* value : yang muncul pada button (yaitu: “Click
me”)
* onclick : nama event yang di handle
* Nilai dari elemen onclick adalah kode
JavaScript code yang di execute yaitu
"alert('You clicked the button!');"
Page 31 / 197
http://www.hendra-jatnika.web.id
Catatan:
1. JavaScript adalah case sensitive (HTML tidak case sensitive)
onclick="alert('You clicked the button!');"
 Bagian yang digaris bawahi (onclick) adalah HTML
 Sedangkan yang berda dalam tanda petik (quote) adalah JavaScript
 Sehingga sering terlihat onclick di ganti huruf bersar menjadi onClick untuk
memudahkan dibaca tapi tidak untuk alert (JavaScript)
2. Tanda petik tunggal dan dobel digunakan dalam hal ini karena ada tanda petik
didalam tanda petik.
3. Menempatkan semicolon (;) pada setiap statemen adalah optional kecuali jika lebih
dari statemen dalam satu baris.
4. <script type="text/javascript"> juga dapat dituliskan sebagai
<script language="javaScript">
5. Menagani Browser versi lama (tidak support JavaScript)
Browser versi lama umumnya tidak mendukung java script dan akan menampilkan
code script sebagi content. Untuk mencegah hal ini terjadi digunakan tag commnet
HTML seperti diperlihatkan berikut:
<script type="text/javascript">
<!-some statements
//-->
</script>
t
e
N
a
r
d
6. Komentar
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 */
By
n
e
H
Event-event Umum
Kebanyakan elemen HTML menghasilkan even berikut:
–
–
–
–
–
–
–
onClick -- elemen form untuk di click
onDblClick -- elemen form di click dua kali secara berturutan (dobel click)
onMouseDown – tombol mouse ditekan saat berada diatas elemen form
onMouseOver -- mouse digerakkan diatas elemen form
onMouseOut -- mouse digerakkan menjauh elemen form
onMouseUp -- tekanan tombol mouse dilepas sementra berada diatas elemen form
onMouseMove -- mouse digerakkan
Contoh 3: MouseOver dan MouseOout (Rollover )
<html>
<body>
<h1 onMouseOver="style.color='red';"
onMouseOut="style.color='blue';">Hello </h1>
</body>
</html>
Page 32 / 197
http://www.hendra-jatnika.web.id
Tabel Events dan event handlers I
Event
Diterapkan pada
Load
Document body
Unload
Error
Document body
Images, window
Abort
Images
KeyDown
MouseDown
Documents, images, links,
text areas
Documents, images, links,
text areas
Documents, images, links,
text areas
Text fields, text areas, select
lists
Documents, buttons, links
MouseUp
Documents, buttons, links
Click
Buttons, radio buttons,
checkboxes, submit buttons,
reset buttons, links
KeyUp
KeyPress
Change
MouseOver
MouseOut
Move
Handler
User me-load halaman
dalam browser
User exits dari halaman
Error pada saat load
image atau window
User meng-abort saat load
image
User menekan suatu key
onLoad
User melepas tekanan
pada key
User menekan dan
menahan key
User mengganti nilai
elemen
User menekan tombol
mouse
User melepas tekanan
tombol mouse
User meng-click pada
elemen form atau link
OnKeyUp
a
r
d
OnMouseOver
Links
t
e
N
User menggerakkan
kursor stas link
Areas, links
User menggerakkan
kursosr menjauhi image
map atau link
Text fields, text areas
User memilih field dari
elemen form input
Windows
User atu script
mengerakkan window
Lihat Modul untuk selengkapnya
By
Select
Terjadi jika
n
e
H
onUnload
onError
onAbort
OnKeyDown
onKeyPress
onChange
OnMouseDown
OnMouseUp
onClick
OnMouseOut
onSelect
OnMove
2. Menggunakan Tag <SCRIPT>
• Kebanyakan kode JavaScript ditempatkan didalam tag <script>
Contoh:
<html>
<body>
<script type="text/javascript">
document.write("<h1>Hello World!</h1>")
</script>
</body>
</html>
•
Ada beberapa cara penempatan kode JavaScript didalam halaman HTML:
o
Scripts yang ditempatkan pada bagian body akan dieksekusi sementara
halaman diload.
o
Script yang ditempatkan pada bagian head akan dieksekusi jika dipanggil
Page 33 / 197
http://www.hendra-jatnika.web.id
o
Script eksternal yaitu kode javascript dibuat terpisah dalam satu file yang
dapat dipanggil melalui file html
Contoh: Script pada Bagian Head dan dipanggil (eksekusi) pada bagian body
<html>
<head>
<script type="text/javascript">
function message()
{
alert("This alert box was called with the onload event")
}
</script>
</head>
<body onload="message()">
</body>
</html>
Contoh: Script pada Bagian Body dan dikesekusi begitu halaman di load
<html>
<head>
</head>
<body>
<script type="text/javascript">
document.write("This message is written when the page loads")
</script>
</body>
</html>
t
e
N
a
r
d
n
e
H
Contoh: Script External
Buat file javascript yang disimpan dengan ekstensi .js dan kemudian dipanggil melalui file
html
By
<html>
<head>
</head>
<body>
<script src="xxx.js">
</script>
<p>
Script merupakan suatu file ekternal dengan nama"xxx.js".
</p>
</body>
</html>
JavaScript Popup Boxes
Alert Box dalam JavaScript dapat dibuat dalam tiga jenis popup box: Alert box, Confirm
box, dan Prompt box.
Alert Box
Alert box sering digunakan untuk meyakinkan bahwa informasi datang melalui user.
Ketika suatu alert box pops up (muncul), user mesti klik "OK" untuk dilanjutkan.
Page 34 / 197
http://www.hendra-jatnika.web.id
Syntax:
alert("sometext")
Contoh:
<html>
<head>
<script type="text/javascript">
function disp_alert()
{
alert("I am an alert box!!")
}
</script>
</head>
<body>
<form>
<input type="button" onclick="disp_alert()" value="Display alert box">
</form>
</body>
</html>
Confirm Box
Confirm box sering digunakan diinginkan bahwa user telah menerima sesuatu.
Ketika confirm box muncul, user mesti klik salah satu "OK" atau "Cancel".
Syntax:
confirm("sometext")
t
e
N
Contoh:
a
r
d
<html>
<head>
<script type="text/javascript">
function disp_confirm()
{
var name=confirm("Press a button")
if (name==true)
{
document.write("You pressed the OK button!")
}
else
{
document.write("You pressed the Cancel button!")
}
}
</script>
</head>
By
n
e
H
<body>
<form>
<input type="button" onclick="disp_confirm()" value="Display a confirm box">
</form>
</body>
</html>
Prompt Box
Prompt box sering digunakan untuk memberi user kesempatan menginput suatu nilai sebelum masuk suatu
halaman.
Ketika Prompt box muncul, user mesti kilk salah satu "OK" atau "Cancel" to proceed after entering an input
value.
If the user clicks "OK" the box returns the input value. If the user clicks "Cancel" the box returns null.
Syntax:
prompt("sometext","defaultvalue")
Page 35 / 197
http://www.hendra-jatnika.web.id
Contoh:
<html>
<head>
<script type="text/javascript">
function disp_prompt()
{
var name=prompt("Please enter your name","")
if (name!=null && name!="")
{
document.write("Hello " + name + "! How are you today?")
}
}
</script>
</head>
<body>
<form>
<input type="button" onclick="disp_prompt()" value="Display a prompt box">
</form>
</body>
</html>
Variabel
Variabel adalah suatu “container” bagi informasi yang hendak disimpan
t
e
N
JavaScript memiliki beberapa tipe dari nilai sebagai berikut :




a
r
d
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.
By
n
e
H
Perlu diperhatikan bahwa tidak ada perbedaan antara tipe integer dengan real,
keduanya memiliki tipe yang sama yaitu number.
JavaScript tidak menyediakan tipe data khusus untuk data tanggal. Tetapi memiliki
beberapa fungsi dan object date yang dapat digunakan untuk melakukan manipulasi data
tanggal.
Aturan Mendefinisikan Nama Variabel


Nama Variable adalah case sensitive (beda antar huruf besar dan kecil)
Harus dimulai dengansuatu huruf atau under score ( _ ), dengan hruf dan selanjtnya
berupa angka
Contoh penulisan nama variabel:
First_Name
t99
_name
Batasan lainnya dalam pemberian nama variabel adalah tidak boleh sama dengan cadangan
kata pada JavaScript. Tabel 1 adalah daftar dari cadangan kata pada JavaScript.
Page 36 / 197
http://www.hendra-jatnika.web.id
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
Jangkauan dari Variabel
JavaScript memiliki dua jangkauan untuk variabel:


t
e
N
variabel Global
variabel Local
a
r
d
Variabel lokal digunakan didalam suatu fungsi dan ruang linkupnya terbatas pada fungsi
tersebut. Jika keluar dari fungsi maka variabel jadi hilang. Variabel lokal dapa mempunyai
nama yang sama dalam funsi berbeda. Untuk mendeklarasikan suatu variabel lokal, harus
diawali dengan var, seperti contoh berikut ini:
By
n
e
H
var MaxValue=0
Jika variable dideklarasi diluar funsi dan semaua fungsi dalam halaman dapat mengaksesnya
didefenisikan sebagai variabel global.
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 adalah praktek yang tidak disarankan.
TIP
Untuk memastikan fungsi mendapatkan nilai yang benar dari
suatu variabel global, deklarasikan semua variabel global
tersebut pada awal dari script.
Contoh: variabel
<html>
<body>
<script type="text/javascript">
var name = "Budi Santosa"
document.write(name)
document.write("<h1>"+name+"</h1>")
</script>
Page 37 / 197
http://www.hendra-jatnika.web.id
<p>Contoh ini mendeklarasikan suatu variable, memberi (assigns) nilai padanya dan
menampilkannya </p>
</body>
</html>
Ekspresi dan Operator
Literal dan variabel dihubungkan oleh operator, hasil dari pernyataan tersebut adalah
ekspresi. JavaScript menyediakan berbagai operator yang memungkinkan programmer
menulis sejumlah ekspresi dari yang paling sederhana sampai yang paling sulit.
Operator JavaScript dapat dibagi menjadi beberapa kategori berikut:





Arithmetic operator
Assigment operator
Comparison operator
Logical operator
String operator
Arithmetic Operators
Operator
Deskripsi
Contoh
+
Addition
-
Subtraction
*
Multiplication
/
Division
%
Modulus (division remainder)
++
--
x=2
x+2
4
x=2
5-x
3
x=4
x*5
20
15/5
5/2
3
2.5
5%2
10%8
10%2
1
2
0
Increment
x=5
x++
x=6
Decrement
x=5
x--
x=4
By
t
e
N
a
r
d
n
e
H
Assignment Operators
Operator
Contoh
Sama dengan
=
x=y
x=y
+=
x+=y
x=x+y
-=
x-=y
x=x-y
*=
x*=y
x=x*y
/=
x/=y
x=x/y
%=
x%=y
x=x%y
Comparison Operators
Operator
Hasil
Deskripsi
Contoh
==
is equal to
5==8 returns false
!=
is not equal
5!=8 returns true
Page 38 / 197
http://www.hendra-jatnika.web.id
>
is greater than
5>8 returns false
<
is less than
5<8 returns true
>=
is greater than or equal to 5>=8 returns false
<=
is less than or equal to
5<=8 returns true
Operator
Deskripsi
Contoh
&&
and
Logical Operators
x=6
y=3
(x < 10 && y > 1) returns true
||
or
x=6
y=3
(x==5 || y==5) returns false
!
not
x=6
y=3
!(x==y) returns true
Operator String
String umumnya adalah teks, contoh "Hello World!". Untuk menyatukan dua atau lebih nilai variable string
variables dapat gunakan opreator +.
txt1="What a very"
txt2="nice day!"
txt3=txt1+txt2
By
t
e
N
a
r
d
n
e
H
Variabel txt3 sekarang menjadi "What a verynice day!".
Menambah space antara dua string.
txt1="What a very"
txt2="nice day!"
txt3=txt1+" "+txt2
atau
txt1="What a very "
txt2="nice day!"
txt3=txt1+txt2
Variable txt3 menjadi "What a very nice day!".
Functions
Function adalah suatu blok kode yang dapat digunakan ulang dan dapat dieksekusi oleh
suatu event ataupun jika function dipanggil.
Mendefenisikan Function
function myfunction(argument1,argument2,etc)
{
some statements
}
Page 39 / 197
http://www.hendra-jatnika.web.id
Function dengan tanpa arguments harus diikutkan dalam kurung (parentheses):
function myfunction()
{
some statements
}
Arguments adalah variables yang digunakan dalam function. Nilai variable adalah nilai yang
dilewatkan oleh paggilan function.
function result(a,b)
{
c=a+b
return c
}
atau
function total(a,b)
{
result=a+b
return result
}
Conto-contoh Function:
t
e
N
1. Memanggil suatu function.
a
r
d
<html>
<head>
<script type="text/javascript">
function myfunction()
{
alert("HELLO")
}
</script>
</head>
<body>
<form>
<input type="button"
onclick="myfunction()"
value="Call function">
</form>
<p>Dengan menekan tombol, funtion akan dipanggil dan function akan
menampilkan (alert) message.</p>
</body>
</html>
By
n
e
H
2. Function dengan arguments
Melewatkan variable ke function, dan menggunakan nilai variable dalam function.
<html>
<head>
<script type="text/javascript">
function myfunction(txt)
{
alert(txt)
}
</script>
</head>
Page 40 / 197
http://www.hendra-jatnika.web.id
<body>
<form>
<input type="button"
onclick="myfunction('Hello')"
value="Call function">
</form>
<p>Dengan menekan tombol, function dengan suatu argument akan
dipanggil dan function menampilkan (alert) argument ini.</p>
</body>
</html>
3. Function dengan arguments 2
<html>
<head>
<script type="text/javascript">
function myfunction(txt)
{
alert(txt)
}
</script>
</head>
<body>
<form>
<input type="button"
onclick="myfunction('Selamat Pagi!')"
value="Pada pagi hari">
t
e
N
a
r
d
<input type="button"
onclick="myfunction('Selamat Malam!')"
value="Pada malam hari">
</form>
By
n
e
H
<p>
Jika salah satu dari tombol maka function akan dipanggil dan
menampilkan argument yang dilewatkan padanya.
</p>
</body>
</html>
4. Function yang mengembalikan suatu nilai
<html>
<head>
<script type="text/javascript">
function myFunction()
{
return ("Hallo, apa khabar ?")
}
</script>
</head>
<body>
<script type="text/javascript">
document.write(myFunction())
</script>
<p>Script pada body memanggil function.</p>
<p>Dan function mengembalikan (returns) suatu text.</p>
</body>
</html>
Page 41 / 197
http://www.hendra-jatnika.web.id
5 . Function dengan arguments dan returns suatu nilai
Function untuk menghitung jumlah 2 arguments dan return hasilnya.
<html>
<head>
<script type="text/javascript">
function total(numberA,numberB)
{
return numberA + numberB
}
</script>
</head>
<body>
<script type="text/javascript">
document.write(total(2,3))
</script>
<p>Script pada body memanggil function dengan dua arguments, 2 dan
3.</p>
<p>Function mengembalikan hasil penjumlahan kedua arguments.</p>
</body>
</html>
Conditional Statements
t
e
N
Conditional statements dalam JavaScript digunakan untuk melaksanakan aksi berbeda
berdasarkan kondisi yang berbeda
a
r
d
Dalam JavaScript ada tiga conditional statements:



n
e
H
if statement – digunakan jika ingin mengeksekusi suatu kode ketika
kondisi/persyaratan adalah benar (true)
if...else statement – digunakan jika ingin memilih satu atau dua baris
kode untuk dieksekusi
switch statement – digunakan jika ingin memilih satu dari banyak baris
untuk dieksekusi
By
Contoh-contoh:
1. If statement (jika kondisi tertentu adalah “true”)
<html>
<body>
<script type="text/javascript">
var d = new Date()
var time = d.getHours()
if (time > 12)
{
document.write("<b>Selamat Siang dan Malam</b>")
}
</script>
<p>
This example demonstrates the If statement.
</p>
Page 42 / 197
http://www.hendra-jatnika.web.id
<p>
Jika waktu dari komputer lebih besar dari 12, maka akan
dimunculkan ucapan "Selamat Siang/Malam".
</p>
</body>
</html>
2. If...else statement
<html>
<body>
<script type="text/javascript">
var d = new Date()
var time = d.getHours()
if (time < 10)
{
document.write("<b>Selamat Pagi</b>")
}
else
{
document.write("<b>Selamat Siang</b>")
}
</script>
<p>
Contoh memperagakan If...Else statement.
</p>
</body>
</html>
t
e
N
a
r
d
3. Random link
Link ke W3Schools.com atau ke RefsnesData.no akan mempunyai kesempatan sebesar 50%.
n
e
H
<html>
<body>
<script type="text/javascript">
var r=Math.random()
if (r>0.5)
{
document.write("<a href='http://www.w3schools.com/'>Learn Web
Development!</a>")
}
else
{
document.write("<a href='http://www.refsnesdata.no/'>Visit
Refsnes Data!</a>")
}
</script>
</body>
</html>
By
4. Switch statement
Jika ingin memilih satu dari banyak blok kode untuk dieksekusi.
<html>
<body>
<script type="text/javascript">
var d = new Date()
theDay=d.getDay()
switch (theDay)
{
Page 43 / 197
http://www.hendra-jatnika.web.id
case 6:
document.write("Sabtu hari libur kerja")
break
case 5:
document.write("Jumat hari krida")
break
case 2:
document.write("Hari
ini
Selasa,
agar
lebih
belajar")
break
case 1:
document.write("Senin hari awal kerja")
break
default:
document.write("Hari Minggu, Selamat bersantai!")
}
</script>
giat
<p>Contoh ini memperagakan pernyataan switch.</p>
<p>Dalam hal ini, Sunday=0, Monday=1, Tuesday=2,dst.</p>
</body>
</html>
t
e
N
JavaScript Looping
a
r
d
Looping statements dalam JavaScript digunakan untuk eksekusi satu blok kode yang sama
untuk beberapakali.
n
e
H
Dalam JavaScript beberapa looping statement sbb:



By
while – Perintah while terus mengulangi loop selama kondisi memiliki
nilai true.
do...while - loops sekali, dan mengulangi loop selama kondisi memiliki
nilai true
for - Perintah for mengulang suatu loop sampai kondisi menghasilkan
evaluasi true atau loop keluar dengan perintah break
Contoh-contoh:
1. For loop
Menggunakan For loop untuk menjalankan blok kode yang sama untuk beberapakali (sesuai yang ditetapkan)
<html>
<body>
<script type="text/javascript">
for (i = 0; i <= 5; i++)
{
document.write("Ini adalah Bilangan " + i)
document.write("<br>")
}
</script>
<p>Penjelasan:</p>
<p>For loop di set <b>i</b> sama dengan 0.</p>
<p>Loop berlanjut dan berulang <b>i</b> sepanjang bilangan mencapai
hingga sama dengan 5</p>
Page 44 / 197
http://www.hendra-jatnika.web.id
</body>
</html>
2. Looping through HTML headers
For loop untuk menulis HTML headers.
<html>
<body>
<script type="text/javascript">
for (i = 1; i <= 6; i++)
{
document.write("<h" + i + ">Ini adalah header " + i)
document.write("</h" + i + ">")
}
</script>
</body>
</html>
3. While loop
While loop untuk menjalankan kode sepanjang kondis true
<html>
<body>
<script type="text/javascript">
i = 0
while (i <= 5)
{
document.write("Ini adalah Bilangan " + i)
document.write("<br>")
i++
}
</script>
t
e
N
a
r
d
By
n
e
H
<p>Explanation:</p>
<p><b>i</b> equal to 0.</p>
<p>While <b>i</b> is less than , or equal to, 5, the loop will
continue to run.</p>
<p><b>i</b> will increase by 1 each time the loop runs.</p>
</body>
</html>
4. Do while loop
Catatan: Loop akan selalu di eksekusi sekali meski kondisi false, karena penyataan executed berada sebelum
condisi di uji
<html>
<body>
<script type="text/javascript">
i=0
do
{
document.write("Ini adalah Bilangan " + i)
document.write("<br>")
i++
}
while (i <= 5)
</script>
<p>Explanation:</p>
Page 45 / 197
http://www.hendra-jatnika.web.id
<p><b>i</b> equal to 0.</p>
<p>The loop will run</p>
<p><b>i</b> will increase by 1 each time the loop runs.</p>
<p>While <b>i</b> is less than , or equal to, 5, the loop will continue to run.</p>
</body>
</html>
Array Object
Objek Array digunakan untuk menyimpan sekumpulan nilai pada nama variable tunggal. Setiap nilai
merupakan elemen dari array dan mempunyai nomor index.
Contoh berikut dua array dengan masing-masing tiga elemen:
var family_names=new Array(3)
var family_names=new Array("Tove","Jani","Stale")
Dapat juga dituliskan nama dari array dengan nomor indek yang dimulai dengan 0, seperti contoh
berikut:
family_names[0]="Tove"
family_names[1]="Jani"
family_names[2]="Stale"
t
e
N
a
r
d
Dan data dapat di ambil (retrieved) dengan munggunakan nomor index number dari elemen array
yang diinginkan seperti berikut:
mother=family_names[0]
father=family_names[1]
By
n
e
H
Contoh-contoh
1. Membuat array dengan parameter numeric dan memberi data padanya .
<html>
<body>
<script type="text/javascript">
var famname = new Array(6)
famname[0] = "Jan Egil"
famname[1] = "Tove"
famname[2] = "Hege"
famname[3] = "Stale"
famname[4] = "Kai Jim"
famname[5] = "Borge"
for (i=0; i<6; i++)
{
document.write(famname[i] + "<br>")
}
</script>
</body>
Page 46 / 197
http://www.hendra-jatnika.web.id
</html>
2. Create a literal array
Metoda length digunakan untuk berapa banyak elemen dalam array.
<html>
<body>
<script type="text/javascript">
var famname = new Array("Jan Egil","Tove","Hege","Stale","Kai
Jim","Borge")
for (i=0; i<famname.length; i++)
{
document.write(famname[i] + "<br>")
}
</script>
</body>
</html>
3. Array – beberapa sifat dan metoda
Beberapa sifat dan metoda yang digunakan dengan object array.
<html>
<body>
<script type="text/javascript">
var famname = new Array(3)
famname[0] = "Jani"
famname[1] = "Tove"
famname[2] = "Hege"
t
e
N
a
r
d
n
e
H
document.write(famname.length + "<br>")
document.write(famname.join(".") + "<br>")
document.write(famname.reverse() + "<br>")
document.write(famname.push("Ola","Jon") + "<br>")
document.write(famname.pop() + "<br>")
document.write(famname.shift() + "<br>")
</script>
By
</body>
</html>
4. Array - sort()
Metoda sort(). Contoh ini memperagakan pengurutan (sort) bilangan yang terdapat dalam suatu array.
<html>
<body>
<p>
<b>Note:</b> Jika tidak menggunkan compareFunction dalam pengurutan
(sort) maka array diurut secara lexicographic. Dimana dalam hal ini
angka "500" akan muncul terlebih dahulu(dianggap lebih kecil)
dibanding angka "7" , tapi dalam numeric sort angka 7 muncul duluan
(lebih kecil) dibanding 500. Contoh disini memperagakan compare
function – untuk sort element dalam array.
</p>
<script type="text/javascript">
array1=new Array("Red","Blue","Green")
array2=new Array("70","9","800")
array3=new Array(50,10,2,300)
array4=new Array("70","8","850",30,10,5,400)
Page 47 / 197
http://www.hendra-jatnika.web.id
function compareNum(a,b)
{
return a-b
}
document.write("Sorted: " + array1.sort())
document.write("<br /><br />")
document.write("Sorted without compareNum: " + array2.sort())
document.write("<br />")
document.write("Sorted with compareNum: " + array2.sort(compareNum))
document.write("<br /><br />")
document.write("Sorted without compareNum: " + array3.sort())
document.write("<br />")
document.write("Sorted with compareNum: " + array3.sort(compareNum))
document.write("<br /><br />")
document.write("Sorted without compareNum: " + array4.sort())
document.write("<br />")
document.write("Sorted with compareNum: " + array4.sort(compareNum))
</script>
</body>
</html>
5. Array - concat() and slice()
t
e
N
Cara penggunaan concat() dan slice().
<html>
<body>
n
e
H
<script type="text/javascript">
var famname = new Array(3)
famname[0] = "Jani"
famname[1] = "Tove"
famname[2] = "Hege"
By
a
r
d
var famname2 = new Array(3)
famname2[0] = "John"
famname2[1] = "Andy"
famname2[2] = "Wendy"
var famname3 = new Array("Stale","Borge")
document.write(famname.join() + "<br>")
document.write(famname.concat(famname2) + "<br>")
document.write(famname.concat(famname2,famname3) + "<br>")
document.write(famname.slice(1) + "<br>")
</script>
</body>
</html>
6. Array - splice()
Cara penggunaan splice() method.
<html>
<body>
<script type="text/javascript">
myCars=["BMW","Volvo","Saab","Ford"]
document.write("myCars: " + myCars)
Page 48 / 197
http://www.hendra-jatnika.web.id
document.write("<br /><br />")
removed=myCars.splice(2,0,"Volkswagen")
document.write("After adding 1: " + myCars)
document.write("<br /><br />")
removed=myCars.splice(3,1)
document.write("After removing 1: " + myCars)
document.write("<br /><br />")
removed=myCars.splice(2,1,"Seat")
document.write("After replacing 1: " + myCars)
document.write("<br /><br />")
removed=myCars.splice(0,2,"Peugeot","Honda","Toyota")
document.write("After replacing 2 and adding 1: " + myCars)
</script>
</body>
</html>
Sifat dan metoda objek Array dijelaskan melalui tabel-tabel berikut:
NN: Netscape, IE: Internet Explorer
Properties
t
e
N
Syntax: object.property_name
a
r
d
Property
constructor
Description
Contains the function that created an object's prototype
4
4
length
Returns the number of elements in the array
3
4
3
4
By
n
e
H
Allows you to add properties to an array
prototype
NN IE
Methods
Syntax: object.method_name()
Method
concat()
Description
Joins two or more arrays and returns a new array
NN IE
4
4
4
reverse()
Puts all the elements of an array into a string separated 3
by a specified delimiter (comma is default)
Removes and returns the last element of an array
4
Adds one or more elements to the end of an array and 4
returns the new length
Reverses the order of the elements in an array
3
shift()
Removes and returns the first element of an array
4
5.5
slice(begin[,end])
Creates a new array from a selected section of an
existing array
Sorts the elements of an array
4
4
join(delimiter)
pop()
push("element1","element2")
sort()
3
Adds
and/or
removes
elements
of
an
array
splice(index,howmany[,el1,el2])
4
Returns a string that represents the source code of the 4.06
toSource()
array
Returns a string that represents the specified array and 3
toString()
Page 49 / 197
5.5
5.5
4
4
5.5
4
4
http://www.hendra-jatnika.web.id
its elements
unshift("element1","element2") Adds one or more elements to the beginning of an
array and returns the new length
Returns the primitive value of an array
valueOf()
4
5.5
4
3
Date Object
Date object digunakan untuk bekerja dalam tanggal dan waktu.
Untuk membuat instance dari objek Date digunakan variable "d", sbb:
var d=new Date()
Kemudian semua metoda yang berkaitan dengan objek Date dapat di akses melalui variable "d" tersebut. Misal
untuk tampilan hari ini dapat ditulis sbb:.
d.getDate()
Objek Date juga dapat mempunyai parameter sbb:
new Date(milliseconds)
new Date(dateString)
new Date(yr_num, mo_num, day_num [, hr_num, min_num, sec_num, ms_num])
t
e
N
Beberapa contoh pembuatan objek Date:
var
var
var
var
var
d=new
d=new
d=new
d=new
d=new
a
r
d
Date("October 12, 1988 13:14:00")
Date("October 12, 1988")
Date(88,09,12,13,14,00)
Date(88,09,12)
Date(500)
By
n
e
H
Contoh-contoh:
1. Date
Mengembalikan tanggal hari ini : tanggal, bulan, dan tahun.
Pada Metoda getMonth : 0 → January, 1 → February dst, sehingga perlu ditambahkan 1 untuk tampilan bulan
yang tepat.
<html>
<body>
<script type="text/javascript">
var d = new Date()
document.write(d.getDate())
document.write(".")
document.write(d.getMonth() + 1)
document.write(".")
document.write(d.getFullYear())
</script>
</body>
</html>
2. Time
Mengemablikan waktu lokal: Jam, minit, dan detik. Untuk waktu GMT time gunakan getUTCHours,
getUTCMinutes dst.
Page 50 / 197
http://www.hendra-jatnika.web.id
<html>
<body>
<script type="text/javascript">
var d = new Date()
document.write(d.getHours())
document.write(".")
document.write(d.getMinutes())
document.write(".")
document.write(d.getSeconds())
</script>
</body>
</html>
3. Set date
Juga date atau time dapat diset kedalam date object, dengan menuliskan setDate, setHour dst. Contoh ini
memperagakan seting tahun penuh.
<html>
<body>
<script type="text/javascript">
var d = new Date()
d.setFullYear("1990")
document.write(d)
</script>
</body>
</html>
t
e
N
a
r
d
n
e
H
4. UTC time
getUTCDate method (Universal Coordinated Time ) yaitu waktu yang ditetapakan oleh World Time Standard.
<html>
<body>
By
<script type="text/javascript">
var d = new Date()
document.write(d.getUTCHours())
document.write(".")
document.write(d.getUTCMinutes())
document.write(".")
document.write(d.getUTCSeconds())
</script>
</body>
</html>
5. Display weekday
Contoh ini memperagakan penulisan hari dalam teks (sebagai ketentuan: Sunday→0, Monday→1 dst).
<html>
<body>
<script type="text/javascript">
var d=new Date()
var weekday=new Array("Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")
document.write("Today is " + weekday[d.getDay()])
</script>
</body>
</html>
6. Display full date
Contoh penulisan hari, tanggal, bulan dan tahun secara komplit.
Page 51 / 197
http://www.hendra-jatnika.web.id
<html>
<body>
<script type="text/javascript">
var d=new Date()
var weekday=new
Array("Minggu","Senin","Selasa","Rabu","Kamis","Jumat","Sabtu")
var monthname=new
Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov
","Dec")
document.write(weekday[d.getDay()] + " ")
document.write(d.getDate() + ". ")
document.write(monthname[d.getMonth()] + " ")
document.write(d.getFullYear())
</script>
</body>
</html>
7. Display time
Jika pada contoh-contoh diatas tampilan waktu adalah waktu saat tersebut (tidak berobah seiring perobahan
waktu), maka pada contoh ini ditampilkan waktu yang berobah seiring perobahan waktu.
<html>
<head>
<script type="text/javascript">
var timer = null
function stop()
{
clearTimeout(timer)
}
t
e
N
a
r
d
function start()
{
var time = new Date()
var hours = time.getHours()
var minutes = time.getMinutes()
minutes=((minutes < 10) ? "0" : "") + minutes
var seconds = time.getSeconds()
seconds=((seconds < 10) ? "0" : "") + seconds
var clock = hours + ":" + minutes + ":" + seconds
document.forms[0].display.value = clock
timer = setTimeout("start()",1000)
}
</script>
</head>
<body onload="start()" onunload="stop()">
<form>
<input type="text" name="display" size="20">
</form>
</body>
</html>
By
n
e
H
Tabel lengkap yang berkaitan dengan objek waktu
Properties:
NN: Netscape, IE: Internet Explorer
Syntax: object.property_name
Property
NN IE
constructor
Description
Contains the function that created an object's prototype
4
4
prototype
Allows addition of properties to a date
3
4
Page 52 / 197
http://www.hendra-jatnika.web.id
Methods
Syntax: object.method_name()
Method
Description
Date()
Returns a Date object
getDate()
Returns the date of a Date object (from 1-31)
NN IE
2
3
3
getHours()
2
Returns the day of a Date object (from 0-6. 0=Sunday, 1=Monday, 2
etc.)
Returns the month of a Date object (from 0-11. 0=January,
2
1=February, etc.)
Returns the year of a Date object (four digits)
4
Returns the year of a Date object (from 0-99). Use getFullYear
2
instead !!
Returns the hour of a Date object (from 0-23)
2
getMinutes()
Returns the minute of a Date object (from 0-59)
2
3
getSeconds()
Returns the second of a Date object (from 0-59)
2
3
getMilliseconds()
Returns the millisecond of a Date object (from 0-999)
4
4
getTime()
Returns the number of milliseconds since midnight 1/1-1970
3
getUTCDate()
2
Returns the time difference between the user's computer and GMT 2
Returns the date of a Date object in universal (UTC) time
4
getUTCDay()
Returns the day of a Date object in universal time
4
4
getUTCMonth()
Returns the month of a Date object in universal time
4
4
getUTCFullYear()
Returns the four-digit year of a Date object in universal time
4
4
getUTCHours()
Returns the hour of a Date object in universal time
4
4
getUTCMinutes()
Returns the minutes of a Date object in universal time
4
4
getUTCSeconds()
Returns the seconds of a Date object in universal time
4
4
getUTCMilliseconds()
Returns the milliseconds of a Date object in universal time
getDay()
getMonth()
getFullYear()
getYear()
getTimezoneOffset()
et
aN
r
d
n
He
3
3
4
3
3
3
4
4
4
Returns a string date value that holds the number of milliseconds
since January 01 1970 00:00:00
Sets the date of the month in the Date object (from 1-31)
2
3
2
3
setFullYear()
Sets the year in the Date object (four digits)
4
4
setHours()
Sets the hour in the Date object (from 0-23)
2
3
setMilliseconds()
Sets the millisecond in the Date object (from 0-999)
4
4
setMinutes()
Set the minute in the Date object (from 0-59)
2
3
setMonth()
2
3
setSeconds()
Sets the month in the Date object (from 0-11. 0=January,
1=February)
Sets the second in the Date object (from 0-59)
2
3
setTime()
Sets the milliseconds after 1/1-1970
2
3
setYear()
Sets the year in the Date object (00-99)
2
3
setUTCDate()
Sets the date in the Date object, in universal time (from 1-31)
4
4
setUTCDay()
4
4
4
4
setUTCFullYear()
Sets the day in the Date object, in universal time (from 0-6.
Sunday=0, Monday=1, etc.)
Sets the month in the Date object, in universal time (from 0-11.
0=January, 1=February)
Sets the year in the Date object, in universal time (four digits)
4
4
setUTCHours()
Sets the hour in the Date object, in universal time (from 0-23)
4
4
setUTCMinutes()
Sets the minutes in the Date object, in universal time (from 0-59)
4
4
setUTCSeconds()
Sets the seconds in the Date object, in universal time (from 0-59)
4
Sets the milliseconds in the Date object, in universal time (from 0- 4
999)
4
parse()
setDate()
setUTCMonth()
setUTCMilliseconds()
By
Page 53 / 197
4
http://www.hendra-jatnika.web.id
toGMTString()
Converts the Date object to a string, set to GMT time zone
2
3
toLocaleString()
Converts the Date object to a string, set to the current time zone
2
3
toString()
Converts the Date object to a string
2
4
t
e
N
a
r
d
By
n
e
H
Page 54 / 197
http://www.hendra-jatnika.web.id
JavaScript
Apa dan untuk apa JavaScript?
• JavaScript dikembangkan pertama sekali oleh Netscape, merupakan bahasa
script paling populer pada internet dan kompatibel dengan berbagai browser
• Javascript dirancang untuk menambah interaktivitas halaman-halaman HTML.
• JavaScript adalah bahasa scripting (teks biasa – tanpa di compile) bebas lisensi
dan mudah untuk dipelajari dan digunakan dibanding bhs programming tradisional.
• JavaScript bekerja pada sisi client (client side). Browsers menterjemahkan
statemen (perintah) JavaScript yang disisipkan (embedded) secara langsung pada
halaman HTML.
• JavaScript dirancang untuk digunakan pada halaman Web dan terintegrasi
dengan HTML.
• Statemen JavaScript yang disisipkan pada halaman HTML dapat mengenal dan
merespon User Events seperti Mouse Clicks, Form Input, dan Page Navigation.
• JavaScript dapat membaca dan menulis elemen-elemen HTML
• JavaScript dapat digunakan untuk validasi data - Sebagai contoh dalam Form
Isian
Apakah Java sama dengan JavaScript?
Tidak. Ada banyak perbedaan antar Java and JavaScript.
t
e
N Java
a
r
d
JavaScript
Object based language
n
e
H
Object oriented language
Diinterpretasi (bukan compiled) oleh
client.
Di Compile pd server sebelum dieksekusi
pada client.
Kodenya berintegrasi dalam dokumen
HTML
Hasilnya berupa Applet, diakses dari
halaman HTML
Terbatas pada fungsi browser
Bisa sebagai aplikasi mandiri
By
Jenis data variable tidak dideklarasi (loose Jenis data Variable harus dideklarasi
typing).
(strong typing).
Dynamic binding
Static binding
Bekerja sebatas pada elemen HTML
Lebih dari sekedar elemen dokumen
HTML (misalnya multimedia)
Mampu mengakses objek dan
fungsionalitas browser
Tidak mampu mengakses objek dan
fungsionalitas browser
Page 55 / 197
1
http://www.hendra-jatnika.web.id
Bagaimana cara menggunakan JavaScript ?
Kode JavaScript ditempatkan didalam file HTML, dengan demikian kode JavaScript
dapat dibuat dengan cara yang sama membuat HTML yaitu menggunakan editor teks
seperti WordPad ataupun NotePad.
Ada dua cara memasukkan JavaScript dalam dokumen HTML :


Menggunakan tag HTML yang menangani event.
Menyisipkan kodet JavaScript didalam tag <SCRIPT>...</SCRIPT>
Menangani Event
• 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.
• JavaScript menggunakan Event Handlers untuk merespon Event.
• Event Handlers telah ditulis kedalam berbagai jenis tag HTML dan tidak
diperlukan lagi tag <SCRIPT>.
Sebagai contoh, berikut ini adalah contoh kombinasi HTML dan JavaScript
untuk memberi pesan bagi user.
t
e
N
a
r
d
<HTML>
<BODY>
<FORM>
<INPUT TYPE=BUTTON VALUE="Klik disni"
onClick="alert('Terimakasih')">
</FORM>
</BODY>
</HTML>
By
n
e
H
Bentuk "onClick" adalah Event Handler, sebagai atribut dari tag <INPUT> dalam suatu
HTML. Sedangkan kode JavaScript berada dalam tanda petik yaitu:
"alert('Terimakasih')"
Kebanyakan (tidak semua) element-elemen pada halaman web merespon terhadap
interaktivitas user (seperti: keystrokes, mouse clicks) dengan membuat events Handlers
yang dapat ditempatkan pada elemen form HTML
Contoh 2 Event handler :
<form method="post" action="">
<input type="button"
name="myButton"
value="Click me"
onclick="alert('You clicked the
button!');">
</form>
* name : dapat digunakan oleh kode
JavaScript lain
* value : yang muncul pada button
(yaitu: “Click me”)
* onclick : nama event yang di handle
* Nilai dari elemen onclick adalah kode
JavaScript code yang di execute yaitu
"alert('You clicked the
button!');"
Page 56 / 197
2
http://www.hendra-jatnika.web.id
Kapitalisasi
JavaScript adalah case sensitive (HTML tidak case sensitive)
onclick="alert('You clicked the button!');"
 Bagian yang digaris bawahi (onclick) adalah HTML
 Sedangkan yang berda dalam tanda petik (quote) adalah JavaScript
 Sehingga sering terlihat onclick di ganti huruf besar menjadi onClick untuk
memudahkan membacanya
Catatan:
 Karena ada tanda petik didalam tanda petik maka diperlukan tanda petik
tunggal dan dobel
 Menempatkan semicolon (;) pada setiap statemen adalah optional kecuali jika
lebih dari statemen dalam satu baris.
Event-event Umum
Kebanyakan elemen HTML menghasilkan even berikut:
onClick -- elemen form untuk di click
onDblClick -- elemen form di click dua kali secara berturutan (dobel click)
onMouseDown – tombol mouse ditekan saat berada diatas elemen form
onMouseOver -- mouse digerakkan diatas elemen form
onMouseOut -- mouse digerakkan menjauh elemen form
onMouseUp -- tekanan tombol mouse dilepas sementra berada diatas elemen
form
– onMouseMove -- mouse digerakkan
–
–
–
–
–
–
t
e
N
a
r
d
Contoh 3a: Rollover
By
n
e
H
<h1 onMouseOver="style.color='red';"
onMouseOut="style.color='blue';">Hello </h1>
Keter: Kode diatas akan membuat teks Hello berwarna merah jika mouse dikenakan padanya
dan berwarna biru jika mouse dijauhkan
Contoh 3 b: Rollover dengan menggunakan Image
<img src="../Images/duke.gif"
width="55" height="68"
onMouseOver="src='../Images/duke_wave.gif';"
onMouseOut="src='../Images/duke.gif';">
Page 57 / 197
3
http://www.hendra-jatnika.web.id
Tabel Events dan event handlers I
Event
Diterapkan pada
Load
Document body
Unload
Document body
Error
Images, window
Abort
Images
KeyDown
MouseDown
Documents, images, links,
text areas
Documents, images, links,
text areas
Documents, images, links,
text areas
Text fields, text areas,
select lists
Documents, buttons, links
MouseUp
Documents, buttons, links
Click
MouseOver
Buttons, radio buttons,
checkboxes, submit
buttons, reset buttons,
links
Links
MouseOut
Areas, links
Select
Text fields, text areas
Move
Windows
Resize
Windows
DragDrop
Windows
Focus
Reset
Windows dan semua
elemen form
Windows dan semua
elemen form
Forms
Submit
Forms
KeyUp
KeyPress
Change
Blur
Terjadi jika
User me-load halaman
dalam browser
User exits dari halaman
onLoad
Error pada saat load
image atau window
User meng-abort saat
load image
User menekan suatu key
onError
User melepas tekanan
pada key
User menekan dan
menahan key
User mengganti nilai
elemen
User menekan tombol
mouse
User melepas tekanan
tombol mouse
User meng-click pada
elemen form atau link
OnKeyUp
User menggerakkan
kursor stas link
User menggerakkan
kursosr menjauhi image
map atau link
User memilih field dari
elemen form input
User atu script
mengerakkan window
User atau script meresize window
User men-drop suatu
object pada browser
window
User memberi fokus
elemen input
User mengerakkan
focus ke elemen lain
User meng-click Reset
button
User meng-click Submit
button
OnMouseOver
t
e
N
ra
d
n
e
By
H
Handler
Page 58 / 197
onUnload
onAbort
OnKeyDown
onKeyPress
onChange
OnMouseDown
OnMouseUp
onClick
OnMouseOut
onSelect
OnMove
OnResize
onDragDrop
OnFocus
OnBlur
onReset
onSubmit
4
http://www.hendra-jatnika.web.id
Menggunakan Tag <SCRIPT>
•
•
Kebanyakan kode JavaScript ditempatkan didalam tag <script>
Ada beberapa cara penempatan kode JavaScript didalam halaman HTML:
o
Scripts yang ditempatkan pada bagian body → akan
dieksekusi sementara halaman diload.
o
Script yang ditempatkan pada bagian head → akan
dieksekusi jika dipanggil
o Script eksternal yaitu kode javascript dibuat terpisah dalam
satu file yang dapat dipanggil melalui file html
Script pada Bagian Head dan
dipanggil (eksekusi) pada bagian body.
<html>
<head>
<script
type="text/javascript">
function message()
{
alert("This alert box was
called with the onload
event")
}
</script>
</head>
By
<html>
<head>
</head>
<body>
<script
type="text/javascript">
document.write("This
message is written when
the page loads")
</script>
t
e
N
a
r
d
n
e
H
<body onload="message()">
</body>
</html>
Script Bagian Body
dan dikesekusi begitu halaman di load
</body>
</html>
Script External
<html>
<head>
</head>
<body>
<script src="xxx.js">
</script>
<p>
The actual script is in an external script file called
"xxx.js".
</p>
</body>
</html>
Page 59 / 197
5
http://www.hendra-jatnika.web.id
Catatan:
1. <script type="text/javascript"> juga dapat dituliskan sebagai
<script language="javaScript">
2. Menagani Browser versi lama (tidak support JavaScript)
Browser versi lama umumnya tidak mendukung java script dan akan menampilkan
code script sebagai content. Untuk mencegah hal ini terjadi digunakan tag comment
(komentar) HTML seperti diperlihatkan berikut:
<script type="text/javascript">
<!-some statements
//-->
</script>
3. Komentar
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 */
t
e
N
a
r
d
By
n
e
H
Page 60 / 197
6
http://www.hendra-jatnika.web.id
DAFTAR ISI











Pengenalan JavaScript
Menggunakan Javacript
Variabel dan Literal
Ekspresi dan Operator
Perintah Kendali dan Fungsi
Dasar dari Objek
Objek Built-In dan Fungsi
Netscape Objects
Objek form
Window dan Frame
Ringkasan
t
e
N
a
r
d
By
n
e
H
Page 61 / 197
7
http://www.hendra-jatnika.web.id
Menggunakan Tag <SCRIPT>
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:
t
e
N
a
r
d
By
n
e
H
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 dibandingan kan dengan bagian <BODY>, adalah praktek pemrograman
yang baik untuk menempatkan semua fungsi maupun variabel global pada bagian heading. Dan semua perintah
JavaScript yang berkaitan dengan dokumen ditempatkan pada bagian body HTML.
Perhatian : Tidak semua browser mampu memproses JavaScript, sehingga untuk menghindari kesalahan pada
browser tersebut, anda perlu mengetikkan script diantara tag komentar HTML:
<!-- Menyembunyikan script terhadap browser non-JavaScript
// akhir dari penyembunyian -->
Catatan
Ingat, selalu mengetik JavaScript diantara baris komentar sehingga
browser non Java dapat mengabaikannya.
Variabel dan Literal
Page 62 / 197
8
http://www.hendra-jatnika.web.id
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 dengan jumlah tipe data yang sedikit, tetapi cukup untuk unjuk kerja JavaScript. Perlu diperhatikan
bahwa tidak ada perbedaan antara tipe integer dengan real, keduanya memiliki tipe yang sama yaitu number.
JavaScript tidak menyediakan tipe data khusus untuk data tanggal. Tetapi memiliki beberapa fungsi dan object
date yang dapat digunakan untuk melakukan manipulasi data tanggal.
Mendefinisikan Variabel
Aturan penamaan variabel pada JavaScript adalah nama 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 sah:
First_Name
t99
_name
Catatan
JavaScript tidak memeriksa spelling dari nama variabel. Tetapi
programmer sebaiknya menggunakan spelling yang benar untuk
memudahkan proses pembacaan dan pencarian kesalahan.
t
e
N
a
r
d
Batasan lainnya dalam pemberian nama variabel adalah tidak boleh sama dengan cadangan kata pada
JavaScript. Tabel 1 adalah daftar dari cadangan kata pada JavaScript.
n
e
H
Table 1. Cadangan kata pada JavaScript.
abstract
By
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 d digunakan untuk nama variabel, nama fungsi,
nama metode, dan nama object
Page 63 / 197
9
http://www.hendra-jatnika.web.id
Variabel dalam JavaScript dapat menyimpan semua tipe data yang sah, dan tidak diperlukan suatu deklarasi tipe
data. Pada script yang sama, suatu variabel dapat diset ke type data yang berbeda dalam suatu deklarasi tunggal.
Berikut ini deklarasi variabel yang sah:
temperature =
temperature = "The temperature is"
temperature = "The temperature is " +
Karena JavaScript sangat longgar tentang tipe, sehingga menyediakan beberapa fungsi untuk melakukan
manipulasi data string dan nilai numerik.
Jangkauan dari Variabel
JavaScript memiliki dua jangkauan untuk variabel:


variabel Global
variabel Local
Variabel lokal digunakan didalam suatu fungsi dan ruang linkupnya terbatas pada fungsi tersebut. Untuk
mendeklarasikan suatu variabel lokal, harus diawali dengan var, seperti contoh berikut ini:
var MaxValue=0
t
e
N
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
adalah praktek yang tidak disarankan.
a
r
d
TIP
n
e
H
Untuk memastikan fungsi mendapatkan nilai yang benar dari suatu
variabel global, deklarasikan semua variabel global tersebut pada awal
dari script.
By
Literal
Sebagai lawan dari variabel, literal mewakili nilai baku yang digunakan dalam JavaScript. JavaScript
mendukung 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:
Page 64 / 197
10
http://www.hendra-jatnika.web.id
"a double quoted literal"
'a single quoted literal'
TIP
Ketika anda menulis event handle, apit string dengan petik tunggal,
karena petik ganda dibatasi untuk nilai atribut pada HTML
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 mengunakan backslash untuk escape backslash
lainnya, suatu petik tunggal, dan suatu petik ganda.
t
e
N
a
r
d
Ekspresi dan Operator
n
e
H
Literal dan variabel dihubungkan oleh operator, hasil dari pernyataan tersebut adalah ekspresi. JavaScript
menyediakan berbagai operator yang memungkinkan programmer menulis sejumlah ekspresi dari yang paling
sederhana sampai yang paling sulit.
By
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++.
Page 65 / 197
11
http://www.hendra-jatnika.web.id
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 FirstName =
"John" 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
(==)
t
e
N
a
r
d
Arithmetic Operator
n
e
H
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 (-).
By
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.
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.
Page 66 / 197
12
http://www.hendra-jatnika.web.id
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.
Logical Operator
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.
Comparison Operator
t
e
N
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:
a
r
d






Equal (==)
Not equal (!=)
Greater than (>)
Greater than or equal to (>=)
Less than (<)
Less than or equal to (<=)
By
n
e
H
JavaScript juga mendukung ekspresi secara kondisi (conditional expression) yang mana berbentuk.
(condition) ? true_value : false_value
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 :
battery_status = (voltage > 1.3) ? "good" : "weak"
String Operator
Operator string (+) mengabung dua nilai string dan mengembalikan satu string dimana merupakan hasil
gabungan dari keduanya. Sebagai contoh :
"Java" + "Script"
Page 67 / 197
13
http://www.hendra-jatnika.web.id
Menghasilkan
"JavaScript"
Operator shorthand += mengabung string kiri dengan string dikanan operand dan memberikan nilai baru pada
operand disebelah kiri.
Urutan operasi
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.
Keterangan
Operator
Assignment
= += -= *= /= %= <<= >>= >>>= &= ^= |=
Conditional
?:
Logical OR
||
Logical AND
&&
Bitwise OR
|
Bitwise XOR
^
Bitwise AND
&
Equality
== !=
Relational
< <= > >=
Bitwise shift
<< >> >>>
By
t
e
N
a
r
d
n
e
H
Addition/subtraction
+-
Multiply/divide
*/%
Negation/increment
! ~ - ++ -
Call, member
() []
Struktur Kendali dan Fungsi
Untuk membuat suatu halaman yang dinamis dan interaktif, perancang halaman Web membutuhkan perintahperintah 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
conditional 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 (reuseable).
Perintah kondisi
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 (condition) {
Page 68 / 197
14
http://www.hendra-jatnika.web.id
statements1 }
[else {
statements2}]
condition 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.
t
e
N
Jika hanya suatu perintah tunggal, tanda kurawal tidak diperlukan. Contoh berikut adalah perintah yang benar:
a
r
d
if (a==b) j=0
else j=1
Perintah Perulangan
By
n
e
H
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 ([initial-expression;] [condition;] [increment-expression])
{
statements
}
Urutan proses untuk perintah for adalah sebagai berikut:
1.
Interpreter menjalankan initial-expression. Ekspresi ini mementukan nilai yang diperlukan
untuk kendali perulangan.
Page 69 / 197
15
http://www.hendra-jatnika.web.id
2.
3.
4.
Kemudian interpreter memeriksa condition. Jika true, kendali dilanjutkan ke langkah selanjutnya.
Jika false, kendali diarahkan ke perintah setelah perulangan.
Kemudian interpreter menjalankan increment-expression, 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.
Contoh :
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!-- menyembunyikan script
for (i=1; i<=10; i++) {
sq=i*i
document.write("number: " + i + " square: " + sq +
"<BR>")
}
// akhor dari penyembunyiang -->
t
e
N
</SCRIPT>
a
r
d
</HEAD>
<BODY>
</BODY>
</HTML>
Hasil :
By
n
e
H
number: 1 square: 1
number: 2 square: 4
number: 3 square: 9
number: 4 square: 16
number: 5 square: 25
number: 6 square: 36
number: 7 square: 49
number: 8 square: 64
number: 9 square: 81
number: 10 square: 100
Perintah while
Perintah while terus mengulangi loop selama kondisi memiliki nilai true. Syntax untuk perintah while adalah
sebagai berikut :
while (condition) {
statements
}
Page 70 / 197
16
http://www.hendra-jatnika.web.id
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.
Contoh:
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!-- menyembunyikan script
i=1
while (i<=10) {
sq=i*i
document.write("number: " + i + "square: " + sq +
"<BR>")
i++
}
// end script hiding -->
t
e
N
</SCRIPT>
a
r
d
</HEAD>
<BODY>
</BODY>
</HTML>
By
Hasil:
n
e
H
number: 1 square: 1
number: 2 square: 4
number: 3 square: 9
number: 4 square: 16
number: 5 square: 25
number: 6 square: 36
number: 7 square: 49
number: 8 square: 64
number: 9 square: 81
number: 10 square: 100
Perintah break
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++
Page 71 / 197
17
http://www.hendra-jatnika.web.id
}
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++
}
t
e
N
Perintah function
a
r
d
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:
By
n
e
H
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>
Page 72 / 197
18
http://www.hendra-jatnika.web.id
<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] dan functionName.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>
t
e
N
<SCRIPT LANGUAGE="JavaScript">
<!-- menyembunyikan
By
UnorderList="UL"
a
r
d
n
e
H
function DisplayList(ListType) {
variabel list
// menampilkan
if (ListType="OL" || ListType="UL") {
jenis list
// validasi
document.write("<" + ListType + ">"
jenis list
// menampilkan
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>
Page 73 / 197
19
http://www.hendra-jatnika.web.id
</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
By
t
e
N
a
r
d
n
e
H
}
TestResult=RetExam(5, 7)
Komentar
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 :
// this is a comment
if (a=b) c=1 // also a valid comment
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.
Page 74 / 197
20
http://www.hendra-jatnika.web.id
Dasar dari Objek
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.
Objek dan Properti
Berikut ini adalah notasi yang digunakan oleh JavaScript untuk menggambarkan suatu objek dan propertinya:
ObjekName.PropertyName
Sebagai contoh, objek mydog memiliki properti sebagai berikut :
mydog.breed="small mut"
mydog.age=5
mydog.weight=25
t
e
N
Objek juga dapat menggunakan acuan array dengan menggunakan nama propertinya sebagai index:
a
r
d
mydog["breed"]="small mut"
mydog["age"]=5
By
mydog["weight"]=25
n
e
H
Juga dapat mengunakan acuan array dengan index secara numerik:
mydog[0]="small mut"
mydog[1]=5
mydog[2]=25
Defining Metodes
Suatu fungsi yang berasosiasikan objek acuan adalah metode. format berikut meng-asosiasikan fungsi dengan
suatu objek:
ObjekName.MetodeName = function_name
Kemudian metode tersebut berkerja dengan suatu objek:
ObjekName.MetodeName(parameters);
Page 75 / 197
21
http://www.hendra-jatnika.web.id
Bekerja dengan 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) {
t
e
N
result += obj_name + "." + i " = " + obj[i] + "<BR>"
}
return result
By
a
r
d
n
e
H
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) {
Page 76 / 197
22
http://www.hendra-jatnika.web.id
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
mengacu pada objek yang sekarang. Pada bagian selanjutnya akan ditunjukkan
bagaimana pemakaian kata kunci ini dalam penulisan function dan metode.
this
Membuat Objek baru
Walaupun JavaScript memiliki sejumlah besar objek yang telah didefinisikan, developer
dapat membuat objeknya sendiri. Untuk membuat suatu objek baru diperlukan dua langkah
yaitu:
t
e
N
a
r
d
1. Mendefinisikan jenis objek dengan membuat suatu fungsi.
2. Membuat instances dari objek tersebut dengan menggunakan operand new.
n
e
H
Fungsi tersebut mendefinisikan jenis objek, properti, dan metode. Sebagai contoh untuk
membuat suatu objek dog:
By
function dog(breed, age, weight) {
this.breed = breed;
this.age = age;
this.weight = weight;
}
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) {
Page 77 / 197
23
http://www.hendra-jatnika.web.id
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:
function dog(breed, age, weight, license) {
this.breed = breed;
this.age = age;
this.weight = weight;
this.license = license;
}
t
e
N
mydog = new dog("mixed mut", 5, 25, AZ123);
a
r
d
n
e
H
Untuk mengacu pada pemilik mydog, syntax berikut diperlukan
By
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".
Mendefinisikan Array
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) {
Page 78 / 197
24
http://www.hendra-jatnika.web.id
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:
ExmpArray[1] = "test1"
ExmpArrya[2] = "another test"
Objek dan Fungsi Built-In
t
e
N
a
r
d
n
e
H
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:
By




Objek string dan metode asosiasinya
Objek Math dan metode asosiasinya
Objek date dan metode asosiasinya
Fungsi eval, parseInt, dan parseFloat
Objek String
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:
1. stringName.propertyName
2. stringName.metodeName(parameters)
Properti Object String
Object string hanya memiliki sebuah properti -length. Karena berupa properti, berikut ini
adalah acuan yang benar:
StringLength = stringVariable.length;
Page 79 / 197
25
http://www.hendra-jatnika.web.id
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 object 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:
document.write("Other Links".anchor("other_links"));


















big(). String di apit dengan tag <BIG></BIG>.
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.
t
e
N
a
r
d
By
n
e
H
Objek Math
Object Math menyediakan suatu himpunan dari nilai-nilai standar matematika dan metodemetode yang argumennya berupa himpunan dari operator matematika yang disediakan
dengan JavaScript. Tidak seperti object lainnya, object Math tidak membutuhkan suatu
Page 80 / 197
26
http://www.hendra-jatnika.web.id
instance dari object sebelum menggunakan metode objek math tersebut. Untuk memudahkan
pemasukkan nama dan pembacaan, metode Math sering diikat dengan perintah with. Syntax
untuk object Math adalah sebagai berikut:
1. Math.propertyName
2. Math.metodeName(parameters)
Properti Objek Math
Object 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
Metode Objek Math
By
ra
t
e
N
nd
1.414
He
Object 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 object. 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.
Page 81 / 197
27
http://www.hendra-jatnika.web.id





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.
Objek Date
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:
dateObjectName = new Date()
dateObjectName=new Date("month day, year
hours:minutes:seconds")
t
e
N
a
r
d
dateObjectName=new Date(year, month, day)
n
e
H
dateObjectName=new Date(year, month, date, hours, minutes,
seconds)
By
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:
dateObjectName.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
Page 82 / 197
28
http://www.hendra-jatnika.web.id
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 object 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
t
e
N
0-11
setMonth(monthValue)
ra
setSeconds(secondsValue)
d
n
e
setTime(timeValue)
setYear(yearValue)
By
H
0-59
>=0
>=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).
Fungsi Built-In
JavaScript mendukung beberapa function built-in yang mana tidak berkaitan dengan object
tertentu. Berikut ini adalah function-function built-in adalah sebagai berikut:
Page 83 / 197
29
http://www.hendra-jatnika.web.id

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 object 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
t
e
N
a
r
d
By
n
e
H
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 diproses.
Hirarki ini penting untuk membuat acuan kepada object dan propertinya. Turunan dari suatu
object 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 object acuan-nya.
Page 84 / 197
30
http://www.hendra-jatnika.web.id
Hal yang penting dari HTML Layout
Untuk dapat menggunakan JavaScript secara benar membutuhkan pengertian bagaimana
Netscape Navigator memproses suatu dokumen HTML. Ketika suatu dokumen HTML di
muat, browser akan mulai melakukan proses terhadap baris pertama dari dokumen. Browser
membuat layout dari layar berdasarkan perintah HTML yang terdapat dalam dokumen
tersebut. Setelah layar selesai digambar, layar tidak dapat digambar ulang tanpa melakukan
proses terhadap dokumen baru. Bagaimana hal ini mempengaruhi frame dan window adalah
topik pada bagian berikutnya.
t
e
N
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.
a
r
d
By
n
e
H
Walaupun nampaknya keterbatasan tersebut berat, namun dengan pengertian yang baik
terhadap HTML proses dan JavaScript akan mengurangi frustasi. Prinsip utama yang perlu
diingat bahwa suatu dokumen HTML diproses secara berurut dan JavaScript adalah bagian
dari proses secara berurut tersebut.
Objek Window
Objek window adalah orang tua dari semua object. 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
Page 85 / 197
31
http://www.hendra-jatnika.web.id
Diantara ketiga objek tersebut, document adalah objek yang paling penting dalam hirarki
tersebut. Objek document itu sendirinya mengacu kepada objek lain. Hal lain yang penting
dari hal ini adalah sebagai berikut:



objek form
objek anchor
objek link
Objek location
Objek location mengandung informasi tentang URL sekarang. Acuannya ke objek tersebut
adalah sebagai berikut:
[windowReference.]location[.propertyName]
Properti dari object location mengacu pada bagian individual dari URL:
protocol//hostname:port pathname search hash
CATATAN
t
e
N
Objek location dan properti location dari objek
dokumen (document.location) memiliki tujuan yang
berbeda. Objek location dapat berubah, tetapi properti
location tidak dapat berubah.
a
r
d
n
e
H
Properti dari objek location adalah sebagai berikut:








By
protocol. protocol
hostname. hostname
menentukan metode access dari URL.
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.
Page 86 / 197
32
http://www.hendra-jatnika.web.id
Objek History
Akses ke objek History adalah topik yang kontroversial karena memungkinkan script
mengirim history kembali ke server. Untuk mencegah pemakaian yang menyimpang,
Netscape Navigator 2.01 keatas telah menghilangkan object ini.
Objek document
Object 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>.
t
e
N
Properti color untuk object





a
r
d
document adalah sebagai berikut:
n
e
H
bgColor. Property ini menentukan warna latarbelakang dari dokumen. Property
bgColor secara langsung mengupdate tampilan.
fgColor. Property ini menentukan warna text dari dokumen. Setelah browser
By
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:
<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
Page 87 / 197
33
http://www.hendra-jatnika.web.id
</SELECT>
</FORM>
Hasil :
White
Object 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 object,
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:
t
e
N
<SCRIPT LANGUAGE="JavaScript">
<!-document.write("Update terakhir :");
document.write(document.lastModified);
// -->
</SCRIPT>
a
r
d
By
Hasil:
n
e
H
Update terakhir :01/31/2001 10:57:42
The anchors Object
Object 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.anchors[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
Page 88 / 197
34
http://www.hendra-jatnika.web.id
Objek link
Array link mengandung object 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 object link adalah identik dengan object location.
CATATAN
array adalah suatu array read-only. Entries tambahan
ditambahkan dengan tag <A></A>. Metode link melakukan
modifikasi terhadap isi dalam array link
link
Object link memiliki dua event handler: onClick dan onMouseOver. Bagian ini disebut
sebagai "The Form Object," 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.
t
e
N
The document Object Metodes
a
r
d
Object document mengandung lima metode:





document.write()
document.writeln()
document.open()
document.close()
document.clear()
By
n
e
H
Sebagaimana yang ditunjukkan pada contoh sebelumnya, metode document.write, tanpa
mengacu pada suatu window, menulis text ke window yang sekarang. Metode
document.writeln() adalah sama dengan document.write, selain itu juga menyisip suatu
karakter newline pada akhir dari argumen. Format dari metode ini adalah sebagai berikut:
document.write(expression [, expression2] ... [expressionN])
document.writeln(expression [, expression2] ... [expressionN])
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.
CATATAN
Page 89 / 197
35
http://www.hendra-jatnika.web.id
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.
Objek Form
HTML tag <FORM></FORM> adalah fasilitas input data oleh pemakai, dan output data variabel
kepada pemakai. Input oleh pemakai memiliki efek pemilihan pada sisi klien yang dapat
dikirm ke server. Pada sisi lain, data variabel seperti marquees dapat ditampilkan pada form.
Pada sisi input, event handle adalah fasilitas untuk membangkitkan rutin JavaScript untuk
melakukan aktifitas pada proses edit data seperti validasi. Pada sisi output, JavaScript
memegang peranan penting dalam mengatur bagaimana data ditampilkan.
penanganan events
Event adalah hasil dari aksi pemakai, seperti klik pada suatu tombol mouse, checking pada
suatu kotak, dan pengiriman form. Penanganan Event didefinsikan dalam tag HTML
sepanjang JavaScript berkaitan dengan event tersebut. Berikut ini adalah contoh yang
merupakan kode dari suatu penanganan event.
t
e
N
a
r
d
<INPUT TYPE="button" VALUE="Submit"
onClick="validate(this.form)">
n
e
H
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.
By
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.
Page 90 / 197
36
http://www.hendra-jatnika.web.id





onLoad.
event ini terjadi ketika browser selesai memuat suatu dokumen atau semua
frame didalam tag <FRAMESET>.
onMouseOver. event ini terjadi ketika mouse bergerak melewati object dari luar object
tersebut. Rutin JavaScript harus mengembalikan true untuk status dan properti
defaultStatus yang ditentukan..
onSelect. event ini terjadi ketika pemakai melakukan select text pada text area..
onSubmit. terjadi ketika user submit suatu form. Jika JavaScript mengembalikan
false, form tersebut tidak akan di submit, nilai lainnya atau tidak ada nilai balik,
membuat form di submit.
onUnload. event ini terjadi ketika dokument di exit.
Penanganan Event adalah bagian dari berbagai object. Beberapa object mendukung lebih dari
satu penanganan event, dan beberapa penanganan event terjadi pada banyak objek. Tabel.8
menunjukkan hubungan antara penanganan event dan objek-objek.
Table 8. Hubungan antara penanganan event dan objek.
Objek
Penanganan Event
button
onClick
checkbox
onClick
form
onSubmit
link
onClick, onMouseOver
radio
onClick
reset
onClick
select
onBlur, onChange, onFocus
submit
onClick
text
onBlur, onChange, onFocus, onSelect
textarea
window
By
t
e
N
a
r
d
n
e
H
onBlur, onChange, onFocus, onSelect
onLoad, onUnload
Contoh:
<SCRIPT LANGUAGE="JavaScript">
<!-- menyembunyikan kode dari browser non-js
function periksa()
{
formObj = document.contoh;
if ((formObj.nama.value == "") ||
(formObj.umur.value == "") ||
(formObj.lahir.value == ""))
{
alert("Anda tidak mengisi seluruh field.");
return false;
}
else
return true;
}
// akhir dari penyembunyian -->
</SCRIPT>
<FORM NAME="contoh" METODE=GET ACTION="" onSubmit="return
periksa()">
<PRE>
Page 91 / 197
37
http://www.hendra-jatnika.web.id
Nama Anda : <INPUT TYPE=TEXT NAME="nama" SIZE=30 MAXLENGTH=30>
Umur : <INPUT TYPE=TEXT NAME="umur" SIZE=3 MAXLENGTH=3>
Tgl. Lahir: <INPUT TYPE=TEXT NAME="lahir" SIZE=10 MAXLENGTH=10>
<INPUT TYPE=SUBMIT> <INPUT TYPE=RESET>
</PRE>
</FORM>
Hasil:
Nama Anda :
Umur :
Tgl. Lahir:
Submit Query
Reset
FORM>.
Untuk JavaScript, hal tersebut adalah suatu read-only array yang membentuk properti
berikut :






action. property ini mengandung nilai dari atribut ACTION.
element. ini adalah suatu array dari elemen object yang didefinsikan untuk
encoding. property ini mengandung nilai dair atribut ENCTYPE.
length. property ini mengandung jumlah dari isian didalam element array.
metode. property ini mengandung nilai dari atribut METODE.
target. property ini mengandung nilai dari atribut TARGET .
t
e
N
form.
a
r
d
n
e
H
Berikut ini adalah arti yang sah dari pengalamatan bentuk object ::
By
formName.propertyName
formName.metodeName(parameters)
forms[index].propertyName
forms[index].metodeName(parameters)
Metode Objek Form
Object form hanya memiliki satu metode-submit. Metode submit melakukan aksi yang
sama seperti tombol submit pada HTML form dan memiliki tata cara penulisan
sebagai berikut:
document.formName.submit()
Objek element
Objek elemen berpengaruh pada isi elemen dalam tag <FORM></FORM>. Tabel 9
menperlihatkan elemen objek dan properti-nya.
Tabeel 9. Properti dari objek element.
Page 92 / 197
38
http://www.hendra-jatnika.web.id
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
submit
name, value
text
name, value, defaultValue
textarea
name, value, defaultValue
array, selectedIndex
Properti adalah mengunakan pengalamatan seperti document.elementName.property, atau
document.formName. elements[index].propertyName, dimana elementName adalah nilai
dari nama property untuk objek elemen.
Metode element
Metode element melakukan emulasi dari sepupu mereka, yaitu penanganan event:




t
e
N
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.
a
r
d
By
n
e
H
Kecuali objek radio, metode dialamatkan sebagai document.elementName.metodename().
Tabel 10 mendaftarkan element objek-objek dan metode yang bersesuaian
Table 10. Metode-metode dari elemen objek-objek.
Elemen objek
Metode
button
click
checkbox
click
hidden
(tidak ada metode)
password
blur, focus, select
radio
click
reset
click
select
blur, focus
submit
click
text
blur, focus, select
textarea
blur, focus, select
Page 93 / 197
39
http://www.hendra-jatnika.web.id
Window dan Frame
Window dan frame membuat bingung banyak pengembang halaman Web dari pada aspekaspek browser lainnya. Ketika Netscape Navigator berjalan, suatu window akan dibuka, dan
tergantung bagaimana pengaturan optionnya, serta memuat suatu dokumen ke dalam window
tersebut. Jika anda memilih menu option File | New Web Browser, suatu window baru akan
di buka. Dalam hal ini menutup jendela yang sebelumnya tidak akan menutup jendela yang
baru tersebut.
Pada sisi yang lain, frame dibuat berdasarkan tag <FRAMESET></FRAMESET> dalam dokumen
HTML. Layar akan dibagi menjadi sejumlah frame. Ketika dokumen frame
ditutup, frame menghilang karena keberadaannya tergantung pada dokumen
tersebut.
Properti Objek Window
Suatu fasilitas umum dari JavaScript adalah kemampuannya untuk membuat dan
memanipulasi window. Kemampuan ini tidak hanya terbatas pada menampilkan pesan, tetapi
sangat tergantung pada parameter yang diberikan. berikut ini adalah properti dari objek
window yang akan mempengaruhi fleksibilitas dari jendela browser:








defaultStatus. defaultStatus adalah
pesan yang dimunculkan pada status bar
ketika tidak ada tulisan yang ditampilkan disana. Jika diset dari onMouseOver event
handler, event handler harus mengembalikan true untuk perubahan status.
frames. Property ini adalah suatu array yang mengandung object frame. Frame
mewarisi semua properti dan metode dari objek window.
length. nilai dari properti ini adalah jumlah frame dalam frame array.
parent. Dari suatu acuan frame, ini adalah window yang mana frameset berada.
Suatu frame diantara frameset tersebut dapat mengacu pada frame lain dalam frameset
dengan menggunakan parent.frames[index] tanpa memiliki acuan ke nama
window.
self. Ini adalah sama dengan window atau frame yang sekarang.
status. Ini adalah pesan transient yang mana diset dengan onMouseOver event
handler.
top. Property ini digunakan sebagai acuan window yang laing atas. Dapat digunakan
oleh child windows atau embedded filesets untuk mengacu pada window original.
window. Property ini adalah sama dengan window sekarang.
t
e
N
a
r
d
By
n
e
H
Contoh:
<A HREF="http://www.indoprog.f2s.com"
onMouseOver="window.status='Klik disini untuk keterangan lebih
lengkap'; return true;" onMouseOut="window.status=''; ">Klik
disini</A>
Hasil:
Klik disini
Page 94 / 197
40
http://www.hendra-jatnika.web.id
Bentuk untuk mengacu properti window adalah
window.propertyName
self.propertyName
top.propertyName
parent.propertyName
windowVar.propertyName
propertyName
Metode Objek Window
Berikut ini adalah metode dari objek window atau frame:




alert("message").
Metode ini membuat suatu kotak dialog peringatan dengan suatu
tombol OK tunggal. Digunakan untuk menampilkan pesan yang tidak membutuhkan
keputusan pemakai.
close(). Metode ini menutup window acuan. Harus mengandung window acuan
seperti window.close dan close() tanpa acuan adalah sama dengan
document.close.
confirm("message"). Metode confirm menampilkan suatu dialog box konfirmasi
dengan tombol OK dan Cancel. OK mengembalikan nilai true, dan Cancel
mengembalikan nilai false.
[windowVar = ][window.]open("URL", "windowName" ["windowFeatures"].
Metode ini membuka suatu Jendela browser yang baru. Nama object windowVar
adalah nama dari jendela baru dan digunakan sebagai acuan untuk properti dan
metodes-nya.URL menentukan URL yang akan dibuka ke jendela baru. Jika
optionnya null, suatu window kosong akan dibuka. Variabel windowName adalah nama
yang digunakan pada atribut TARGET dari <FORM> dan <A> tag. Variabel
windowFeatures adalah suatu comma-separated list dari option berikut:
t
e
N
a
r
d
By
n
e
H
toolbar=yes|no
location=yes|no
directories=yes|no
status=yes|no
menubar=yes|no
scrollbars=yes|no
resizable=yes|no
width=pixels
height=pixels

Jika tidak ada yang ditentukan, maka semuanya bernilai true. Jika salah satu
ditentukan, maka semua yang lain menjadi false. Jika salah satu di tentukan tanpa
nilai, maka nilainya adalah true.
Page 95 / 197
41
http://www.hendra-jatnika.web.id
NOTE
Setelah terbuat, window adalah tidak terikat pada parent
window, jika parent window di tutup, window yang dibuat
tersebut tetap buka.Event onUnLoad menangani penutupan
window yang dibuat



prompt("message" [, inputDefault]).
metode prompt menampilkan suatu
prompt dialog box dengan suatu message, suatu input field, dan tombol OK, dan
sebuah tombol Cancel. inputDefault adalah suatu string, integer, atau property dari
suatu object yang mana mewakili nilai default untuk inout field. Jika inputDefault
tidka ditentukan, input fied menampilkan nilai <undefined>.
timeoutID=setTimeout(expression, msec). Dengan metode ini, evaluasi dari
ekspresi adalah jumlah delay dalam milidetik. timeoutID adalah hanya digunakan
oleh metode clearTimeout.
clearTimeout(timeoutID). Metode ini membatalkan time-out yang ditentukan oleh
metode setTimeout.
Metode sebelumnya menggunakan acuan berikut:
window.metodeName(parameters)
self.metodeName(parameters)
t
e
N
top.metodeName(parameters)
a
r
d
parent.metodeName(parameters)
windowVar.metodeName(parameters)
metodeName(parameters)
PERHATIAN
By
n
e
H
Metode open() dan close() perlu mengunakan acuan
window.open() dan window.close() untuk menghindari
scope dengan document.open() dan document.close()
Membagi Window kedalam Frame
Frames membagi suatu window secara multiple, memiliki scrollbar masing-masing. Frame
dibuat dengan tag <FRAMESET></FRAMESET> dalam dokumen HTML. Masing-masing
dokumen membuat suatu frame array untuk dokumen. Jika suatu dokumen dibuka pada salah
satu frame memiliki suatu <FRAMESET> tag, frame akan terbagi lagi menjadi frame oleh
dokumen tersebut. Hirarki dari frameset adalah penting sebagai acuan properti dan metode
dari frame.
CATATAN
Frames memiliki semua properti dari suatu window.
Seluruh hirarki untuk struktur frame adalah sama dengan
struktur window.
Struktur dibawah setiap window atau frame dapat menjadi acuan. Selanjutnya, properti pada
suatu window atau frame dapat mengubah properti object pada jendela atau frame lain.
Page 96 / 197
42
http://www.hendra-jatnika.web.id
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
tidak berada
//membuat html
//dalam frame lain
</script>
<title>Tutorial JavaScript</title>
t
e
N
<frameset cols=175,*>
a
r
d
<frame src="daftar.html" name="kiri">
<frame src="topik1.html" name="kanan">
</frameset>
By
n
e
H
</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>
Page 97 / 197
43
http://www.hendra-jatnika.web.id
<a href="" onclick="return
Objek</a><hr>
<a href="" onclick="return
Fungsi built-in</a><hr>
<a href="" onclick="return
netscape</a><hr>
<a href="" onclick="return
form</a><hr>
<a href="" onclick="return
Frame</a><hr>
buka('topik5.html')">Dasar dari
buka('topik6.html')">Objek dan
buka('topik7.html')">Objek
buka('topik8.html')">Objek
buka('topik9.html')">Window dan
</body>
</html>
Klik untuk melihat hasil dari contoh diatas
Summary
JavaScript adalah lebih dari pada suatu bahasa script yang sederhana dan kurang dari suatu
object-oriented programming language. Hal tersebut merupakan perekat yang mana mengikat
banyak elemen yang berbeda ke suatu lingkungan dinamis dan interaktif.
t
e
N
a
r
d
By
n
e
H
Page 98 / 197
44
http://www.hendra-jatnika.web.id
Pertanyaan yang sering ditanya




Saya memiliki dua frame, dan saya ingin klik pada pilihan diframe kiri akan
mengupdate isi frame kanan. Bagaimana hal tersebut dilakukan ?
Bagaimana saya membuat suatu link yang dapat menutup jendela browser ?
Bagaimana saya membuat pesan pada status bar ketika pemakai meletakkan pointer
pada suatu link ?
Bagaimana membuka suatu halaman berdasarkan pilihan pemakai pada suatu
dropdown list ?
Saya memiliki dua frame, dan saya ingin klik pada pilihan diframe kiri akan
mengupdate isi frame kanan. Bagaimana hal tersebut dilakukan ?
Anda dapat melakukan hal tersebut dengan JavaScript, dan perhatikan contoh berikut :
Misalnya halaman html untuk membuat frame kiri dan kanan adalah sebagai berikut :
Contohy.html
<html>
<head>
<title>Tutorial JavaScript</title>
<frameset cols=175,*>
t
e
N
<frame src="menu.html" name="kiri">
a
r
d
<frame src="topik1.html" name="kanan">
</frameset>
</head>
</html>
By
n
e
H
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>
Page 99 / 197
45
http://www.hendra-jatnika.web.id
<a href="" onclick="return
Kendali dan Fungsi</a><hr>
<a href="" onclick="return
Objek</a><hr>
<a href="" onclick="return
Fungsi built-in</a><hr>
<a href="" onclick="return
netscape</a><hr>
<a href="" onclick="return
form</a><hr>
<a href="" onclick="return
Frame</a><hr>
buka('topik4.html')">Struktur
buka('topik5.html')">Dasar dari
buka('topik6.html')">Objek dan
buka('topik7.html')">Objek
buka('topik8.html')">Objek
buka('topik9.html')">Window dan
</body>
</html>
Pada menu.html diatas, kita menggunakan event onclick pada masing-masing link yang akan
memanggil suatu fungsi buka yang diikuti dengan suatu parameter yang berupa nama
dokumen html target. Pada fungsi buka, kita menggunakan properti location untuk frame
kanan membuka halaman bersangkutan.
Catatan : kanan dalam hal ini adalah nama frame.
Klik untuk melihat hasil dari contoh diatas
Bagaimana saya membuat suatu link yang dapat menutup jendela browser ?
t
e
N
Untuk menutup jendela browser yang sedang aktif anda dapat menggunakan metode close
pada objek window.
a
r
d
Contoh :
By
n
e
H
<A HREF="javascript:window.close()">tutup</A>
Coba klik tutup untuk menutup jendela ini.
Bagaimana saya membuat pesan pada status bar ketika pemakai meletakkan pointer
pada suatu link ?
Anda dapat menggunakan properti window.status, dan event onMouseOver dan onMouseOut.
Perhatikan contoh berikut ini :
<SCRIPT LANGUAGE="JavaScript">
function message(text){
window.status = text;
}
</SCRIPT>
<A HREF="http://www.indoprog.f2s.com"
onMouseOver="message('Homepage indoporg');return true"
onMouseOut="message('');return true"><B>(Homepage
baru)</B></A>
Coba letakkan mouse pointer pada linik Ayo ke (Homepage baru) Indoprog, dan perhatikan
status bar browser anda.
Bagaimana membuka suatu halaman berdasarkan pilihan pemakai pada suatu
dropdown list ?
Page 100 / 197
46
http://www.hendra-jatnika.web.id
Anda dapat membuat suatu fungsi yang mengambil nilai item yang dipilih pemakai, dan
membuka halam yang diinginkan
Pilih tutorial yang diinginkan
Adapun kode untuk Contoh diatas:
<SCRIPT LANGUAGE='JavaScript'>
<!-function BuatArray() {
var jlhargumen = BuatArray.arguments.length;
for ( i = 0 ; i < jlhargumen; i++ )
{ this[i]=BuatArray.arguments[i] }
}
function buka() {
var pilih = eval(document.dropdown.site.selectedIndex);
if( (pilih > 0) && (pilih < 7) ) {
var bagian=new BuatArray( '',
'http://indoprog.terrashare.com/tutor/html/index.html',
'http://indoprog.terrashare.com/tutor/javascript/index.html',
'http://indoprog.terrashare.com/tutor/asp/index.html',
'http://indoprog.terrashare.com/tutor/php/index.html',
'http://indoprog.terrashare.com/tutor/perl/index.html');
this.location=buka[pilih];
}
}
//-->
</SCRIPT>
t
e
N
<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>
a
r
d
By
n
e
H
Page 101 / 197
47
http://www.hendra-jatnika.web.id
JavaScript
DAFTAR ISI











Pengenalan JavaScript
Menggunakan Javacript
Variabel dan Literal
Ekspresi dan Operator
Perintah Kendali dan Fungsi
Dasar dari Objek
Objek Built-In dan Fungsi
Netscape Objects
Objek form
Window dan Frame
Ringkasan
1. Pengenalan JavaScript
Apa JavaScript?
t
e
N
JavaScript adalah bahasa script untuk client-side (sisi-client) yang dapat digunakan untuk membuat
halaman web menjadi interaktif dan lebih dinamis. JavaScript dikembangkan pertama sekali oleh
Netscape, merupakan bahasa script paling populer pada internet dan kompatibel dengan berbagai
browser.
a
r
d
n
e
H
Ringkasan apa dan untuk apa JavaScript:
•
•
By
Javascript dirancang untuk menambah interaktivitas halaman-halaman HTML.
JavaScript adalah bahasa scripting (teks biasa – tanpa di compile) bebas lisensi dan mudah
untuk dipelajari dan digunakan dibanding bhs programming tradisional.
• JavaScript bekerja pada sisi client (client side). Browsers menterjemahkan statemen
(perintah) JavaScript yang disisipkan (embedded) secara langsung pada halaman HTML.
• JavaScript dirancang untuk digunakan pada halaman Web dan terintegrasi dengan HTML.
• Statemen JavaScript yang disisipkan pada halaman HTML dapat mengenal dan merespon
User Events seperti Mouse Clicks, Form Input, dan Page Navigation.
• JavaScript dapat membaca dan menulis elemen-elemen HTML
• JavaScript dapat digunakan untuk validasi data - Sebagai contoh, JavaScript dapat digunakan
untuk fungsi verifikasi keabsahan informasi ketika user mengisi form isian melalui halaman Web.
Dengan menempatkan JavaScript pada HTML, JavaScript dapat menterjemahkan setiap text yang
diisikan dan selanjutnya memberi peringatan (alert) melalui dialog box setiap user meng-input
informasi yang tidak valid. Atau dapat juga digunakan untuk melakukan aksi seperti: menjalankan
file audio, menjalankan applet, atau berkomunikasi dengan plug-in
Apakah Java sama dengan JavaScript?
Tidak. Ada banyak perbedaan antar Java and JavaScript.
Java adalah object-oriented language (bahasa berorientasi objek) sedangkan JavaScript adalah objectbased language (bahasa yang didasarkan objek). Perbedaannya sangat mendasar seperti: Java sebagai
bahasa object-oriented mempunyai sifat dan kemampuan seperti: inheritance, encapsulation,
overloading dan polymorphism sedangkan JavaScript tidak.
Page 102 / 197
http://www.hendra-jatnika.web.id
Perbedaan keduanya dapat dibandingkan pada tabel dibawah ini.
JavaScript
Java
Diinterpretasi (bukan compiled) oleh client.
Di Compile pda server sebelum dieksekusi pada client.
Kodenya berintegrasi dalam dokumen HTML
Hasilnya berupa Applet, diakses dari halaman HTML
Terbatas pada fungsi browser
Bisa sebagai aplikasi mandiri
Jenis data variable tidak dideklarasi (loose typing).
Jenis data Variable harus dideklarasi (strong typing).
Dynamic binding
Static binding
Bekerja sebatas pada elemen HTML
Lebih dari sekedar elemen dokumen HTML (misalnya
multimedia)
Mampu mengakses objek dan fungsionalitas browser
Tidak mampu mengakses objek dan fungsionalitas
browser
Perlu diketahui bahwa JavaScript versi Microsoft yang disebut sebagai "JScript", mempunyai
beberapa perbedaan yang membuatnya tidak sepenuhnya kompatibel dengan JavaScript orisinil.
2. Cara menggunakan JavaScript
Kode JavaScript ditempatkan didalam file HTML, dengan demikian kode JavaScript dapat dibuat
dengan cara yang sama membuat HTML yaitu menggunakan editor teks seperti WordPad ataupun
NotePad.
a
r
d
Ada dua cara memasukkan JavaScript dalam dokumen HTML :


t
e
N
n
e
H
Menggunakan tag HTML yang menangani event.
Menyisipkan kodet JavaScript didalam tag <SCRIPT>...</SCRIPT>
2.1 Menangani Event
By
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. JavaScript menggunakan Event Handlers untuk merespon Event.
Event Handlers telah ditulis kedalam berbagai jensi tag HTML dan tidak diperlukan lagi tag
<SCRIPT>. Sebagai contoh, berikut ini adalah contoh kombinasi HTML dan JavaScript untuk
memberi pesan bagi user.
<HTML>
<BODY>
<FORM>
<INPUT TYPE=BUTTON VALUE="Klik disni"
onClick="alert('Terimakasih')">
</FORM>
</BODY>
</HTML>
Bentuk "onClick" adalah Event Handler, sebagai atribut dari tag <INPUT> dalam suatu HTML.
Sedangkan kode JavaScript berda dalam tanda petik yaitu: "alert('Terimakasih')"
Event-Event
Kebanyakan (tidak semua) element-elemen pada halaman web merespon thdp interaktivitas
user (seperti: keystrokes, mouse clicks) dengan membuat events
Handlers dapat ditempatkan pada elemen form HTML
Page 103 / 197
http://www.hendra-jatnika.web.id
Contoh 2 Event handler :
 <form method="post" action="">
<input type="button"
name="myButton"
value="Click me"
onclick="alert('You clicked the button!');">
</form>
 name : dapat digunakan oleh kode JavaScript lain
 value : yang muncul pada button (yaitu: “Click me”)
 onclick : nama event yang di handle
 Nilai dari elemen onclick adalah kode JavaScript code yang di execute yaitu
"alert('You clicked the button!');"
Kapitalisasi
JavaScript adalah case sensitive (HTML tidak case sensitive)
onclick="alert('You clicked the button!');"
 Bagian yang digaris bawahi (onclick) adalah HTML
 Sedangkan yang berda dalam tanda petik (quote) adalah JavaScript
 Sehingga sering terlihat onclick di ganti hurufr bersar menjadi onClick untuk
memudahkan dibaca
Catatan:
 Karena ada tanda petik didalam tanda petik maka diperlukan tanda petik tunggal
dan dobel
t
e
N
a
r
d
Event-event Umum
n
e
H
• Kebanyakan elemen HTML menghasilkan even berikut:
–
–
–
–
–
–
–
onClick -- elemen form untuk di click
onDblClick -- elemen form di click dua kali secara berturutan (dobel click)
onMouseDown – tombol mouse ditekan saat berada diatas elemen form
onMouseOver -- mouse digerakkan diatas elemen form
onMouseOut -- mouse digerakkan menjauh elemen form
onMouseUp -- tekanan tombol mouse dilepas sementra berada diatas elemen form
onMouseMove -- mouse digerakkan
By
Contoh 3: Rollover sederhana
• Kode berikut akan mebuat teks Hello berwarna merah jika mouse dikenakan
padanya dan berwarna biru jika mouse dijauhkan
<h1 onMouseOver="style.color='red';"
onMouseOut="style.color='blue';">Hello </h1>
• Rollover dengan menggunkan Image:
<img src="../Images/duke.gif"
width="55" height="68"
onMouseOver="src='../Images/duke_wave.gif';"
onMouseOut="src='../Images/duke.gif';">
Tabel Events dan event handlers I
Page 104 / 197
http://www.hendra-jatnika.web.id
Event
Diterapkan pada
Load
Document body
Unload
Document body
Error
Images, window
Abort
Images
KeyDown
KeyUp
KeyPress
Change
MouseDown
MouseUp
Click
Terjadi jika
Handler
Documents, images,
links, text areas
Documents, images,
links, text areas
Documents, images,
links, text areas
Text fields, text areas,
select lists
Documents, buttons,
links
Documents, buttons,
links
MouseOver
Buttons, radio
buttons, checkboxes,
submit buttons, reset
buttons, links
Links
MouseOut
Areas, links
User meng-abort
saat load image
User menekan suatu
key
User melepas tekanan
pad key
User menekan dan
menahan key
User mengganti nilai
elemen
User menekan
tombol mouse
User melepas
tekanan tombol
mouse
User meng-click pada
elemen form atau link
H
Select
Text fields, text areas
Move
Windows
Resize
Windows
DragDrop
Windows
Focus
Blur
Reset
Submit
Windows dan semua
elemen form
Windows dan semua
elemen form
Forms
Forms
onUnload
onError
onAbort
OnKeyDown
OnKeyUp
onKeyPress
onChange
OnMouseDown
OnMouseUp
et
N
a
r
d
n
e
By
onLoad
User me-load
halaman dalam
browser
User exits dari
halaman
Error pada saat load
image atau window
User menggerakkan
kursor stas link
User menggerakkan
kursosr menjauhi
image map atau link
User memilih field
dari elemen form
input
User atu script
mengerakkan window
User atau script meresize window
User men-drop suatu
object pada browser
window
User memberi fokus
elemen input
User mengerakkan
focus ke elemen lain
User meng-click
Reset button
User meng-click
Submit button
<html>
Page 105 / 197
onClick
OnMouseOver
OnMouseOut
onSelect
OnMove
OnResize
onDragDrop
OnFocus
OnBlur
onReset
onSubmit
http://www.hendra-jatnika.web.id
<head>
</head>
<body>
<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>
<br>
<form method="post" action="">
<input type="button"
name="myButton"
value="Click me"
onClick="alert('You clicked the button!');">
</form>
<h1 onMouseOver="style.color='red';"
onMouseOut="style.color='blue';">Hello </h1>
</body>
</html>
a
r
d
t
e
N
By
n
e
H
Page 106 / 197
http://www.hendra-jatnika.web.id
Menggunakan Tag <SCRIPT>
Kebanyakan kode JavaScript dipmapat didalam tag <script> seperti diperlihatkan contoh dibawah
ini:
Contoh: Menulis teks pada halaman
<html>
<body>
<script type="text/javascript">
document.write("Hello World!")
</script>
</body>
</html>
Car penulisan lain dari tag script dan atributnya adalah sbb:
<SCRIPT LANGUAGE="javaScript">
document.write("Hello World!")
</SCRIPT>
Kode pada contoh diatas akan menghasilkan keluaran pada halaman HTML sbb:
Hello World!
Penjelasan:
• Gunakan tag <script> dan juga atribut yang menunjukkan bahasa script yang digunakan
<script type="text/javascript"> atau <SCRIPT LANGUAGE="javaScript">
•
t
e
N
Perintah untuk menuliskan sesuatu pada halaman adalah: document.write
a
r
d
document.write("Hello World!")
•
n
e
H
Kemudian tutup dengan tag <script>
</script>
Penempatan JavaScript
By
Ada beberapa cara penempatan kode JavaScript didalam halaman HTML.
Scripts yang ditempatkan pada bagian body akan dieksekusi sementara halaman diload.
Scripts yang ditempatkan pada bagian head akan dieksekusi jika dipanggil.
Contoh
Bagian Head
Script berupa fungsi (message) ditempatkan di bagian
head, kemudian fungsi dipanggil dipanggil (eksekusi)
pada bagian body.
<html>
<head>
<script type="text/javascript">
function message()
{
alert("This alert box was called
with the onload event")
}
</script>
</head>
<body onload="message()">
Bagian Body
Scipt dikesekusi begitu halaman di load
<html>
<head>
</head>
<body>
<script type="text/javascript">
document.write("This message is
written when the page loads")
</script>
</body>
</html>
</body>
Page 107 / 197
http://www.hendra-jatnika.web.id
</html>
Script External
Script juga dapat ditempatkan sebagai file tersendiri (file dengan ekstensi .js) seperti berikut:
<html>
<head>
</head>
<body>
<script src="xxx.js">
</script>
<p>
The actual script is in an external script file called "xxx.js".
</p>
</body>
</html>
Perhatian : Tidak semua browser mampu memproses JavaScript, sehingga untuk menghindari kesalahan pada
browser tersebut, anda perlu mengetikkan script diantara tag komentar HTML:
t
e
N
<!-- Menyembunyikan script terhadap browser non-JavaScript
// akhir dari penyembunyian -->
a
r
d
Catatan
Ingat, selalu mengetik JavaScript diantara baris komentar sehingga
browser non Java dapat mengabaikannya.
By
3. Variabel dan Literal
n
e
H
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 dengan jumlah tipe data yang sedikit, tetapi cukup untuk unjuk kerja JavaScript. Perlu diperhatikan
bahwa tidak ada perbedaan antara tipe integer dengan real, keduanya memiliki tipe yang sama yaitu number.
JavaScript tidak menyediakan tipe data khusus untuk data tanggal. Tetapi memiliki beberapa fungsi dan object
date yang dapat digunakan untuk melakukan manipulasi data tanggal.
Mendefinisikan Variabel
Aturan penamaan variabel pada JavaScript adalah nama 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 sah:
First_Name
t99
_name
Page 108 / 197
http://www.hendra-jatnika.web.id
Catatan
JavaScript tidak memeriksa spelling dari nama variabel. Tetapi
programmer sebaiknya menggunakan spelling yang benar untuk
memudahkan proses pembacaan dan pencarian kesalahan.
Batasan lainnya dalam pemberian nama variabel adalah tidak boleh sama dengan cadangan kata pada
JavaScript. Tabel 1 adalah daftar dari cadangan kata 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
double
instanceof
static
else
a
r
d
t
e
N
while
with
n
e
H
Tidak semua kata dalam Table 1 digunakan oleh JavaScript dewasa ini; dan beberapa diantara dicadangkan
untuk pemakaian yang akan datang. Cadangan Kata tidak boleh d digunakan untuk nama variabel, nama fungsi,
nama metode, dan nama object
By
Variabel dalam JavaScript dapat menyimpan semua tipe data yang sah, dan tidak diperlukan suatu deklarasi tipe
data. Pada script yang sama, suatu variabel dapat diset ke type data yang berbeda dalam suatu deklarasi tunggal.
Berikut ini deklarasi variabel yang sah:
temperature =
temperature = "The temperature is"
temperature = "The temperature is " +
Karena JavaScript sangat longgar tentang tipe, sehingga menyediakan beberapa fungsi untuk melakukan
manipulasi data string dan nilai numerik.
Jangkauan dari Variabel
JavaScript memiliki dua jangkauan untuk variabel:


variabel Global
variabel Local
Variabel lokal digunakan didalam suatu fungsi dan ruang linkupnya terbatas pada fungsi tersebut. Untuk
mendeklarasikan suatu variabel lokal, harus diawali dengan var, seperti contoh berikut ini:
Page 109 / 197
http://www.hendra-jatnika.web.id
var MaxValue=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
adalah praktek yang tidak disarankan.
TIP
Untuk memastikan fungsi mendapatkan nilai yang benar dari suatu
variabel global, deklarasikan semua variabel global tersebut pada awal
dari script.
Literal
Sebagai lawan dari variabel, literal mewakili nilai baku yang digunakan dalam JavaScript. JavaScript
mendukung 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).
t
e
N
a
r
d
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.
By
n
e
H
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:
"a double quoted literal"
'a single quoted literal'
TIP
Ketika anda menulis event handle, apit string dengan petik tunggal,
karena petik ganda dibatasi untuk nilai atribut pada HTML
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
Page 110 / 197
http://www.hendra-jatnika.web.id
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 mengunakan backslash untuk escape backslash
lainnya, suatu petik tunggal, dan suatu petik ganda.
4. Ekspresi dan Operator
Literal dan variabel dihubungkan oleh operator, hasil dari pernyataan tersebut adalah ekspresi. JavaScript
menyediakan berbagai operator yang memungkinkan programmer menulis sejumlah ekspresi dari yang paling
sederhana sampai yang paling sulit.
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
t
e
N
a
r
d
Sebagai contoh , 9 * 7 atau temp = 24 adalah ekspresi dengan operator binari.
Operator unari memiliki dua format:
By
n
e
H
operand operator
atau
operator operand
Sebagai contoh ekspresi mengunakan operator unari adalah ++y atau y++.
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 FirstName =
"John" 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 <<=
Page 111 / 197
http://www.hendra-jatnika.web.id
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
(==)
Arithmetic 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.
t
e
N
a
r
d
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.
Bitwise Operator
By
n
e
H
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.
Logical Operator
Page 112 / 197
http://www.hendra-jatnika.web.id
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.
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 (<=)
JavaScript juga mendukung ekspresi secara kondisi (conditional expression) yang mana berbentuk.
(condition) ? true_value : false_value
t
e
N
a
r
d
n
e
H
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 :
By
battery_status = (voltage > 1.3) ? "good" : "weak"
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.
Urutan operasi
Page 113 / 197
http://www.hendra-jatnika.web.id
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.
Keterangan
Operator
Assignment
= += -= *= /= %= <<= >>= >>>= &= ^= |=
Conditional
?:
Logical OR
||
Logical AND
&&
Bitwise OR
|
Bitwise XOR
^
Bitwise AND
&
Equality
== !=
Relational
< <= > >=
Bitwise shift
<< >> >>>
Addition/subtraction
+-
Multiply/divide
*/%
Negation/increment
! ~ - ++ -
Call, member
() []
t
e
N
a
r
d
n
e
H
5. Struktur Kendali dan Fungsi
Untuk membuat suatu halaman yang dinamis dan interaktif, perancang halaman Web membutuhkan perintahperintah 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
conditional dan loop dalam JavaScript.
By
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 (reuseable).
Perintah kondisi
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 (condition) {
statements1 }
[else {
statements2}]
condition adalah ekspresi JavaScript yang mana hasil evaluasinya memiliki nilai Boolean true atau false.
contoh pemakaian statement if:
Page 114 / 197
http://www.hendra-jatnika.web.id
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
t
e
N
JavaScript mendukung dua struktur loop; perintah for dan perintah while. Untuk control pada struktur loop,
JavaScript menyediakan perintah break dan continue.
a
r
d
Perintah for
n
e
H
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 :
By
for ([initial-expression;] [condition;] [increment-expression])
{
statements
}
Urutan proses untuk perintah for adalah sebagai berikut:
1.
2.
3.
4.
Interpreter menjalankan initial-expression. Ekspresi ini mementukan nilai yang diperlukan
untuk kendali perulangan.
Kemudian interpreter memeriksa condition. Jika true, kendali dilanjutkan ke langkah selanjutnya.
Jika false, kendali diarahkan ke perintah setelah perulangan.
Kemudian interpreter menjalankan increment-expression, 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.
Contoh :
<HTML>
Page 115 / 197
http://www.hendra-jatnika.web.id
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!-- menyembunyikan script
for (i=1; i<=10; i++) {
sq=i*i
document.write("number: " + i + " square: " + sq +
"<BR>")
}
// akhor dari penyembunyiang -->
</SCRIPT>
</HEAD>
<BODY>
</BODY>
</HTML>
Hasil :
number: 1 square: 1
number: 2 square: 4
number: 3 square: 9
number: 4 square: 16
number: 5 square: 25
number: 6 square: 36
number: 7 square: 49
number: 8 square: 64
number: 9 square: 81
number: 10 square: 100
By
t
e
N
a
r
d
n
e
H
Perintah while
Perintah while terus mengulangi loop selama kondisi memiliki nilai true. Syntax untuk perintah while adalah
sebagai berikut :
while (condition) {
statements
}
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.
Contoh:
<HTML>
<HEAD>
Page 116 / 197
http://www.hendra-jatnika.web.id
<SCRIPT LANGUAGE="JavaScript">
<!-- menyembunyikan script
i=1
while (i<=10) {
sq=i*i
document.write("number: " + i + "square: " + sq +
"<BR>")
i++
}
// end script hiding -->
</SCRIPT>
</HEAD>
<BODY>
</BODY>
</HTML>
t
e
N
Hasil:
number: 1 square: 1
number: 2 square: 4
number: 3 square: 9
number: 4 square: 16
number: 5 square: 25
number: 6 square: 36
number: 7 square: 49
number: 8 square: 64
number: 9 square: 81
number: 10 square: 100
By
a
r
d
n
e
H
Perintah break
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
Page 117 / 197
http://www.hendra-jatnika.web.id
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:
t
e
N
a
r
d
function FunctionName(argument list) {
statements
}
Contoh:
<HTML>
By
n
e
H
<HEAD>
<SCRIPT LANGUAGE="JavaScript"
<!-- hide the script
function DisplayIt(LineToDisplay) {
document.write(LineToDisplay + "<BR>")
}
// end hiding -->
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT LANGUAGE="JavaScript"
<!-- hide it
Page 118 / 197
http://www.hendra-jatnika.web.id
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] dan functionName.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>
t
e
N
<SCRIPT LANGUAGE="JavaScript">
a
r
d
<!-- menyembunyikan
UnorderList="UL"
n
e
H
function DisplayList(ListType) {
variabel list
// menampilkan
if (ListType="OL" || ListType="UL") {
jenis list
// validasi
document.write("<" + ListType + ">"
jenis list
// menampilkan
By
for (var i=1; i<DisplayList.arguments.length; i++)
document.write("LI" + DisplayList.arguments[i])
document.write("</" + ListType + ">")
return true
}
else return false
}
// akhir dari penyembunyian -->
</SCRIPT>
</HEAD>
<BODY>
Page 119 / 197
// End list
http://www.hendra-jatnika.web.id
<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:
t
e
N
a
r
d
function RetExam(a, b) {
var x=0
x = a+b
return x
By
n
e
H
}
TestResult=RetExam(5, 7)
Komentar
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 :
// this is a comment
if (a=b) c=1 // also a valid comment
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.
Page 120 / 197
http://www.hendra-jatnika.web.id
6. Dasar dari Objek
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.
Objek dan Properti
Berikut ini adalah notasi yang digunakan oleh JavaScript untuk menggambarkan suatu objek dan propertinya:
ObjekName.PropertyName
Sebagai contoh, objek mydog memiliki properti sebagai berikut :
mydog.breed="small mut"
mydog.age=5
mydog.weight=25
t
e
N
Objek juga dapat menggunakan acuan array dengan menggunakan nama propertinya sebagai index:
n
e
H
mydog["breed"]="small mut"
mydog["age"]=5
By
a
r
d
mydog["weight"]=25
Juga dapat mengunakan acuan array dengan index secara numerik:
mydog[0]="small mut"
mydog[1]=5
mydog[2]=25
Defining Metodes
Suatu fungsi yang berasosiasikan objek acuan adalah metode. format berikut meng-asosiasikan fungsi dengan
suatu objek:
ObjekName.MetodeName = function_name
Kemudian metode tersebut berkerja dengan suatu objek:
ObjekName.MetodeName(parameters);
Page 121 / 197
http://www.hendra-jatnika.web.id
Bekerja dengan 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) {
t
e
N
var result = ""
a
r
d
for (var i in obj) {
n
e
H
result += obj_name + "." + i " = " + obj[i] + "<BR>"
}
By
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 =
Page 122 / 197
http://www.hendra-jatnika.web.id
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
mengacu pada objek yang sekarang. Pada bagian selanjutnya akan ditunjukkan
bagaimana pemakaian kata kunci ini dalam penulisan function dan metode.
this
t
e
N
Membuat Objek baru
a
r
d
Walaupun JavaScript memiliki sejumlah besar objek yang telah didefinisikan, developer
dapat membuat objeknya sendiri. Untuk membuat suatu objek baru diperlukan dua langkah
yaitu:
By
n
e
H
1. Mendefinisikan jenis objek dengan membuat suatu fungsi.
2. Membuat instances dari objek tersebut dengan menggunakan operand new.
Fungsi tersebut mendefinisikan jenis objek, properti, dan metode. Sebagai contoh untuk
membuat suatu objek dog:
function dog(breed, age, weight) {
this.breed = breed;
this.age = age;
this.weight = weight;
}
Untuk menggunakan fungsi diatas, operand new diperlukan untuk mendefinisikan suatu
instance baru untuk objek tersebut. Sebagai contoh:
mydog = new dog("small mut", 5, 25);
Page 123 / 197
http://www.hendra-jatnika.web.id
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:
function dog(breed, age, weight, license) {
this.breed = breed;
this.age = age;
this.weight = weight;
a
r
d
this.license = license;
}
By
t
e
N
n
e
H
mydog = new dog("mixed mut", 5, 25, AZ123);
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".
Mendefinisikan Array
Page 124 / 197
http://www.hendra-jatnika.web.id
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:
t
e
N
ExmpArray[1] = "test1"
By
a
r
d
n
e
H
ExmpArrya[2] = "another test"
7. Objek dan Fungsi Built-In
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:




Objek string dan metode asosiasinya
Objek Math dan metode asosiasinya
Objek date dan metode asosiasinya
Fungsi eval, parseInt, dan parseFloat
Objek String
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:
1. stringName.propertyName
2. stringName.metodeName(parameters)
Page 125 / 197
http://www.hendra-jatnika.web.id
Properti Object String
Object 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 object 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:
t
e
N
document.write("Other Links".anchor("other_links"));















a
r
d
big(). String di apit dengan tag <BIG></BIG>.
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
By
n
e
H
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.
Page 126 / 197
http://www.hendra-jatnika.web.id



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
Object Math menyediakan suatu himpunan dari nilai-nilai standar matematika dan metodemetode yang argumennya berupa himpunan dari operator matematika yang disediakan
dengan JavaScript. Tidak seperti object lainnya, object Math tidak membutuhkan suatu
instance dari object sebelum menggunakan metode objek math tersebut. Untuk memudahkan
pemasukkan nama dan pembacaan, metode Math sering diikat dengan perintah with. Syntax
untuk object Math adalah sebagai berikut:
1. Math.propertyName
2. Math.metodeName(parameters)
Properti Objek Math
Object Math memiliki delapan buah properti. Properti-properti ini ini mendefinisikan
berbagai konstanta matematika. Tabel 5. menunjukkan properti-properti tersebut dan nilai
perkiraannya.
t
e
N
Table 5. Properti-properti objek Math dan nilainya.
a
r
d
Property
Description
E
Euler's constant
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
By
n
e
H
Approx. value
2.718
Metode Objek Math
Object 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).
Page 127 / 197
http://www.hendra-jatnika.web.id

exp(number).
Euler's.










Mengembalikan pangkat e dari number, dimana e adalah konstanta
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 object. 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.
t
e
N
Objek Date
a
r
d
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.
By
n
e
H
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:
dateObjectName = new Date()
dateObjectName=new Date("month day, year
hours:minutes:seconds")
dateObjectName=new Date(year, month, day)
dateObjectName=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:
dateObjectName.metodeName(parameters)
Page 128 / 197
http://www.hendra-jatnika.web.id
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
t
e
N
a
r
d
n
e
H
Selain dapat menerima berbagai informasi dari object Date, metode pada Tabel 7
menunjukkan bagaimana mengubah informasi date.
By
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.
Page 129 / 197
http://www.hendra-jatnika.web.id
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).
Fungsi Built-In
JavaScript mendukung beberapa function built-in yang mana tidak berkaitan dengan object
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);"
t
e
N
a
r
d
document.write(eval("x + y / 4"), "<BR>")
n
e
H
document.write(eval(z), "<BR>")





By
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 object 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.
8. 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.
Page 130 / 197
http://www.hendra-jatnika.web.id
Hirarki Objek Navigator
Netscape Navigator membangun suatu hirarki instance-instance yang berkaitan dengan
dokumen yang sedang diproses.
Hirarki ini penting untuk membuat acuan kepada object dan propertinya. Turunan dari suatu
object 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 object acuan-nya.
t
e
N
Hal yang penting dari HTML Layout
a
r
d
n
e
H
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.
By
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
Page 131 / 197
http://www.hendra-jatnika.web.id
Objek window adalah orang tua dari semua object. Hal tersebut termasuk semua window dan
frame yang berada dalam suatu. Ketika browser mulai memuat suatu dokumen HTML, hal
tersebut dimulai dengan suatu instance dari objek window. Jika dokumen HTML membuat
suatu frame, informasi dari frame tersebut tersimpan dalam suatu objek frame array. Dengan
kata lain, membuka suatu window akan menghasilkan suatu anak dari objek window.
Kehebatan dari JavaScript adalah terletak pada kemampuan untuk melakukan utilisasi
properti dan metode dari objek window.
Bagian ini akan membahas properti dari objek window berikut :



objek Location
objek History
objek Document
Diantara ketiga objek tersebut, document adalah objek yang paling penting dalam hirarki
tersebut. Objek document itu sendirinya mengacu kepada objek lain. Hal lain yang penting
dari hal ini adalah sebagai berikut:



objek form
objek anchor
objek link
Objek location
t
e
N
Objek location mengandung informasi tentang URL sekarang. Acuannya ke objek tersebut
adalah sebagai berikut:
a
r
d
n
e
H
[windowReference.]location[.propertyName]
By
Properti dari object 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
hostname. hostname
menentukan metode access dari URL.
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.
Page 132 / 197
http://www.hendra-jatnika.web.id




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.
Objek History
Akses ke objek History adalah topik yang kontroversial karena memungkinkan script
mengirim history kembali ke server. Untuk mencegah pemakaian yang menyimpang,
Netscape Navigator 2.01 keatas telah menghilangkan object ini.
Objek document
t
e
N
a
r
d
Object 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
By
n
e
H
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 object
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.

Page 133 / 197
http://www.hendra-jatnika.web.id


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:
<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 :
t
e
N
White
a
r
d
n
e
H
Object document juga mengandung properti berikut yang tidak berkaitan dengan warna:




lastModified.
By
Property read-only yang berkaitan dengan tanggal terakhir dokumen
dimodifikasi.
location. Property read-only yang biasanya sama dengan nilai dari lokasi object,
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:
<SCRIPT LANGUAGE="JavaScript">
<!-document.write("Update terakhir :");
document.write(document.lastModified);
// -->
</SCRIPT>
Hasil:
Update terakhir :01/31/2001 10:57:42
Page 134 / 197
http://www.hendra-jatnika.web.id
The anchors Object
Object 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.anchors[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 object 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 object link adalah identik dengan object location.
t
e
N
a
r
d
CATATAN
n
e
H
array adalah suatu array read-only. Entries tambahan
ditambahkan dengan tag <A></A>. Metode link melakukan
modifikasi terhadap isi dalam array link
link
By
Object link memiliki dua event handler: onClick dan onMouseOver. Bagian ini disebut
sebagai "The Form Object," 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 Object Metodes
Object document mengandung lima metode:





document.write()
document.writeln()
document.open()
document.close()
document.clear()
Page 135 / 197
http://www.hendra-jatnika.web.id
Sebagaimana yang ditunjukkan pada contoh sebelumnya, metode document.write, tanpa
mengacu pada suatu window, menulis text ke window yang sekarang. Metode
document.writeln() adalah sama dengan document.write, selain itu juga menyisip suatu
karakter newline pada akhir dari argumen. Format dari metode ini adalah sebagai berikut:
document.write(expression [, expression2] ... [expressionN])
document.writeln(expression [, expression2] ... [expressionN])
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.
CATATAN
Sekarang, tidak dimungkinkan lagi untuk mencetak tulisan
apapun dengan JavaScript melalui metode write ataupun
writeln
t
e
N
Stream tersebut tetap terbuka sampai browser menemukan metode document.close().
document.close() memaksakan isi dari stream ditampilkan. Metode
document.clear()membersihkan isi dari window.
a
r
d
9. Objek Form
By
n
e
H
HTML tag <FORM></FORM> adalah fasilitas input data oleh pemakai, dan output data variabel
kepada pemakai. Input oleh pemakai memiliki efek pemilihan pada sisi klien yang dapat
dikirm ke server. Pada sisi lain, data variabel seperti marquees dapat ditampilkan pada form.
Pada sisi input, event handle adalah fasilitas untuk membangkitkan rutin JavaScript untuk
melakukan aktifitas pada proses edit data seperti validasi. Pada sisi output, JavaScript
memegang peranan penting dalam mengatur bagaimana data ditampilkan.
penanganan events
Event adalah hasil dari aksi pemakai, seperti klik pada suatu tombol mouse, checking pada
suatu kotak, dan pengiriman form. Penanganan Event didefinsikan dalam tag HTML
sepanjang JavaScript berkaitan dengan event tersebut. Berikut ini adalah contoh yang
merupakan kode dari suatu penanganan event.
<INPUT TYPE="button" VALUE="Submit"
onClick="validate(this.form)">
Pada contoh sebelumnya, kata kunci this mengacu pada objek tersebut, yang mana adalah
objek button. Dengan menyebutkan this.form, adalah acuan ke objek form yang
mengandung button tersebut. Ketika contoh sebelumnnya menjalankan suatu fungsi, perintah
JavaScript juga sah. Kalau lebih dari satu perintah, tiap perintah harus dipisahkan dengan
suatu titik koma.
Page 136 / 197
http://www.hendra-jatnika.web.id
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.
t
e
N
a
r
d
By
n
e
H
Penanganan Event adalah bagian dari berbagai object. Beberapa object mendukung lebih dari
satu penanganan event, dan beberapa penanganan event terjadi pada banyak objek. Tabel.8
menunjukkan hubungan antara penanganan event dan objek-objek.
Table 8. Hubungan antara penanganan event dan objek.
Objek
Penanganan Event
button
onClick
checkbox
onClick
form
onSubmit
link
onClick, onMouseOver
radio
onClick
reset
onClick
select
onBlur, onChange, onFocus
submit
onClick
text
onBlur, onChange, onFocus, onSelect
textarea
onBlur, onChange, onFocus, onSelect
window
onLoad, onUnload
Page 137 / 197
http://www.hendra-jatnika.web.id
Contoh:
<SCRIPT LANGUAGE="JavaScript">
<!-- menyembunyikan kode dari browser non-js
function periksa()
{
formObj = document.contoh;
if ((formObj.nama.value == "") ||
(formObj.umur.value == "") ||
(formObj.lahir.value == ""))
{
alert("Anda tidak mengisi seluruh field.");
return false;
}
else
return true;
}
// akhir dari penyembunyian -->
</SCRIPT>
<FORM NAME="contoh" METODE=GET ACTION="" onSubmit="return
periksa()">
<PRE>
Nama Anda : <INPUT TYPE=TEXT NAME="nama" SIZE=30 MAXLENGTH=30>
Umur : <INPUT TYPE=TEXT NAME="umur" SIZE=3 MAXLENGTH=3>
Tgl. Lahir: <INPUT TYPE=TEXT NAME="lahir" SIZE=10 MAXLENGTH=10>
<INPUT TYPE=SUBMIT> <INPUT TYPE=RESET>
</PRE>
</FORM>
t
e
N
a
r
d
Hasil:
Nama Anda :
By
n
e
H
Umur :
Tgl. Lahir:
Submit Query
Reset
FORM>.
Untuk JavaScript, hal tersebut adalah suatu read-only array yang membentuk properti
berikut :






action. property ini mengandung nilai dari atribut ACTION.
element. ini adalah suatu array dari elemen object yang didefinsikan untuk
encoding. property ini mengandung nilai dair atribut ENCTYPE.
length. property ini mengandung jumlah dari isian didalam element array.
metode. property ini mengandung nilai dari atribut METODE.
target. property ini mengandung nilai dari atribut TARGET .
Berikut ini adalah arti yang sah dari pengalamatan bentuk object ::
formName.propertyName
formName.metodeName(parameters)
Page 138 / 197
form.
http://www.hendra-jatnika.web.id
forms[index].propertyName
forms[index].metodeName(parameters)
Metode Objek Form
Object form hanya memiliki satu metode-submit. Metode submit melakukan aksi yang
sama seperti tombol submit pada HTML form dan memiliki tata cara penulisan
sebagai berikut:
document.formName.submit()
Objek element
Objek elemen berpengaruh pada isi elemen dalam tag <FORM></FORM>. Tabel 9
menperlihatkan elemen objek dan properti-nya.
Tabeel 9. Properti dari objek element.
Element object Properti
button
name, value
checkbox
name, value, checked, defaultChecked
hidden
name, value
password
name, value, defaultValue
radio
name, value, checked, defaultChecked, length
reset
name, value
t
e
N
a
r
d
n
e
H
select
By
submit
name, value
text
name, value, defaultValue
textarea
name, value, defaultValue
name, length, options
array, selectedIndex
Properti adalah mengunakan pengalamatan seperti document.elementName.property, atau
document.formName. elements[index].propertyName, dimana elementName adalah nilai
dari nama property untuk objek elemen.
Metode element
Metode element melakukan emulasi dari sepupu mereka, yaitu penanganan event:




blur().
Metode ini memindahkan fokus dari object yang ditentukan, tetap tidak
membuat fokus pada objek lain.
click(). Metode ini melakukan suatu simulasi klik mouse pada suatu objek yang
ditentukan. Ketika mengacu pada element radio, bentuknya adalah
document.radioName[index].click().
focus(). Metode ini memberikan fokus pada objek tertentu.
select(). Metode ini men-select seluruh text area.
Page 139 / 197
http://www.hendra-jatnika.web.id
Kecuali objek radio, metode dialamatkan sebagai document.elementName.metodename().
Tabel 10 mendaftarkan element objek-objek dan metode yang bersesuaian
Table 10. Metode-metode dari elemen objek-objek.
Elemen objek
Metode
button
click
checkbox
click
hidden
(tidak ada metode)
password
blur, focus, select
radio
click
reset
click
select
blur, focus
submit
click
text
blur, focus, select
textarea
blur, focus, select
10. Window dan Frame
t
e
N
Window dan frame membuat bingung banyak pengembang halaman Web dari pada aspekaspek 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.
a
r
d
By
n
e
H
Pada sisi yang lain, frame dibuat berdasarkan tag <FRAMESET></FRAMESET> dalam dokumen
HTML. Layar akan dibagi menjadi sejumlah frame. Ketika dokumen frame
ditutup, frame menghilang karena keberadaannya tergantung pada dokumen
tersebut.
Properti Objek Window
Suatu fasilitas umum dari JavaScript adalah kemampuannya untuk membuat dan
memanipulasi window. Kemampuan ini tidak hanya terbatas pada menampilkan pesan, tetapi
sangat tergantung pada parameter yang diberikan. berikut ini adalah properti dari objek
window yang akan mempengaruhi fleksibilitas dari jendela browser:




defaultStatus. defaultStatus adalah
pesan yang dimunculkan pada status bar
ketika tidak ada tulisan yang ditampilkan disana. Jika diset dari onMouseOver event
handler, event handler harus mengembalikan true untuk perubahan status.
frames. Property ini adalah suatu array yang mengandung object frame. Frame
mewarisi semua properti dan metode dari objek window.
length. nilai dari properti ini adalah jumlah frame dalam frame array.
parent. Dari suatu acuan frame, ini adalah window yang mana frameset berada.
Suatu frame diantara frameset tersebut dapat mengacu pada frame lain dalam frameset
Page 140 / 197
http://www.hendra-jatnika.web.id




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.f2s.com"
onMouseOver="window.status='Klik disini untuk keterangan lebih
lengkap'; return true;" onMouseOut="window.status=''; ">Klik
disini</A>
Hasil:
Klik disini
Bentuk untuk mengacu properti window adalah
window.propertyName
self.propertyName
By
top.propertyName
t
e
N
a
r
d
n
e
H
parent.propertyName
windowVar.propertyName
propertyName
Metode Objek Window
Berikut ini adalah metode dari objek window atau frame:




alert("message").
Metode ini membuat suatu kotak dialog peringatan dengan suatu
tombol OK tunggal. Digunakan untuk menampilkan pesan yang tidak membutuhkan
keputusan pemakai.
close(). Metode ini menutup window acuan. Harus mengandung window acuan
seperti window.close dan close() tanpa acuan adalah sama dengan
document.close.
confirm("message"). Metode confirm menampilkan suatu dialog box konfirmasi
dengan tombol OK dan Cancel. OK mengembalikan nilai true, dan Cancel
mengembalikan nilai false.
[windowVar = ][window.]open("URL", "windowName" ["windowFeatures"].
Metode ini membuka suatu Jendela browser yang baru. Nama object windowVar
Page 141 / 197
http://www.hendra-jatnika.web.id
adalah nama dari jendela baru dan digunakan sebagai acuan untuk properti dan
metodes-nya.URL menentukan URL yang akan dibuka ke jendela baru. Jika
optionnya null, suatu window kosong akan dibuka. Variabel windowName adalah nama
yang digunakan pada atribut TARGET dari <FORM> dan <A> tag. Variabel
windowFeatures adalah suatu comma-separated list dari option berikut:
toolbar=yes|no
location=yes|no
directories=yes|no
status=yes|no
menubar=yes|no
scrollbars=yes|no
resizable=yes|no
width=pixels
height=pixels

Jika tidak ada yang ditentukan, maka semuanya bernilai true. Jika salah satu
ditentukan, maka semua yang lain menjadi false. Jika salah satu di tentukan tanpa
nilai, maka nilainya adalah true.
t
e
N
a
r
d
NOTE
n
e
H
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
By



prompt("message" [, inputDefault]).
metode prompt menampilkan suatu
prompt dialog box dengan suatu message, suatu input field, dan tombol OK, dan
sebuah tombol Cancel. inputDefault adalah suatu string, integer, atau property dari
suatu object yang mana mewakili nilai default untuk inout field. Jika inputDefault
tidka ditentukan, input fied menampilkan nilai <undefined>.
timeoutID=setTimeout(expression, msec). Dengan metode ini, evaluasi dari
ekspresi adalah jumlah delay dalam milidetik. timeoutID adalah hanya digunakan
oleh metode clearTimeout.
clearTimeout(timeoutID). Metode ini membatalkan time-out yang ditentukan oleh
metode setTimeout.
Metode sebelumnya menggunakan acuan berikut:
window.metodeName(parameters)
self.metodeName(parameters)
top.metodeName(parameters)
parent.metodeName(parameters)
Page 142 / 197
http://www.hendra-jatnika.web.id
windowVar.metodeName(parameters)
metodeName(parameters)
PERHATIAN
Metode open() dan close() perlu mengunakan acuan
window.open() dan window.close() untuk menghindari
scope dengan document.open() dan document.close()
Membagi Window kedalam Frame
Frames membagi suatu window secara multiple, memiliki scrollbar masing-masing. Frame
dibuat dengan tag <FRAMESET></FRAMESET> dalam dokumen HTML. Masing-masing
dokumen membuat suatu frame array untuk dokumen. Jika suatu dokumen dibuka pada salah
satu frame memiliki suatu <FRAMESET> tag, frame akan terbagi lagi menjadi frame oleh
dokumen tersebut. Hirarki dari frameset adalah penting sebagai acuan properti dan metode
dari frame.
CATATAN
Frames memiliki semua properti dari suatu window.
Seluruh hirarki untuk struktur frame adalah sama dengan
struktur window.
t
e
N
a
r
d
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.
By
n
e
H
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
tidak berada
</script>
<title>Tutorial JavaScript</title>
<frameset cols=175,*>
Page 143 / 197
//membuat html
//dalam frame lain
http://www.hendra-jatnika.web.id
<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>
t
e
N
a
r
d
By
n
e
H
</body>
</html>
Klik untuk melihat hasil dari contoh diatas
12. Summary
JavaScript adalah lebih dari pada suatu bahasa script yang sederhana dan kurang dari suatu
object-oriented programming language. Hal tersebut merupakan perekat yang mana mengikat
banyak elemen yang berbeda ke suatu lingkungan dinamis dan interaktif.
Page 144 / 197
http://www.hendra-jatnika.web.id
Pertanyaan yang sering ditanya




Saya memiliki dua frame, dan saya ingin klik pada pilihan diframe kiri akan
mengupdate isi frame kanan. Bagaimana hal tersebut dilakukan ?
Bagaimana saya membuat suatu link yang dapat menutup jendela browser ?
Bagaimana saya membuat pesan pada status bar ketika pemakai meletakkan pointer
pada suatu link ?
Bagaimana membuka suatu halaman berdasarkan pilihan pemakai pada suatu
dropdown list ?
Saya memiliki dua frame, dan saya ingin klik pada pilihan diframe kiri akan
mengupdate isi frame kanan. Bagaimana hal tersebut dilakukan ?
Anda dapat melakukan hal tersebut dengan JavaScript, dan perhatikan contoh berikut :
Misalnya halaman html untuk membuat frame kiri dan kanan adalah sebagai berikut :
Contohy.html
<html>
<head>
<title>Tutorial JavaScript</title>
t
e
N
<frameset cols=175,*>
a
r
d
<frame src="menu.html" name="kiri">
n
e
H
<frame src="topik1.html" name="kanan">
</frameset>
</head>
</html>
By
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>
Page 145 / 197
http://www.hendra-jatnika.web.id
<a href="" onclick="return
Kendali dan Fungsi</a><hr>
<a href="" onclick="return
Objek</a><hr>
<a href="" onclick="return
Fungsi built-in</a><hr>
<a href="" onclick="return
netscape</a><hr>
<a href="" onclick="return
form</a><hr>
<a href="" onclick="return
Frame</a><hr>
buka('topik4.html')">Struktur
buka('topik5.html')">Dasar dari
buka('topik6.html')">Objek dan
buka('topik7.html')">Objek
buka('topik8.html')">Objek
buka('topik9.html')">Window dan
</body>
</html>
Pada menu.html diatas, kita menggunakan event onclick pada masing-masing link yang akan
memanggil suatu fungsi buka yang diikuti dengan suatu parameter yang berupa nama
dokumen html target. Pada fungsi buka, kita menggunakan properti location untuk frame
kanan membuka halaman bersangkutan.
Catatan : kanan dalam hal ini adalah nama frame.
Klik untuk melihat hasil dari contoh diatas
t
e
N
Bagaimana saya membuat suatu link yang dapat menutup jendela browser ?
a
r
d
Untuk menutup jendela browser yang sedang aktif anda dapat menggunakan metode close
pada objek window.
Contoh :
By
n
e
H
<A HREF="javascript:window.close()">tutup</A>
Coba klik tutup untuk menutup jendela ini.
Bagaimana saya membuat pesan pada status bar ketika pemakai meletakkan pointer
pada suatu link ?
Anda dapat menggunakan properti window.status, dan event onMouseOver dan onMouseOut.
Perhatikan contoh berikut ini :
<SCRIPT LANGUAGE="JavaScript">
function message(text){
window.status = text;
}
</SCRIPT>
<A HREF="http://www.indoprog.f2s.com"
onMouseOver="message('Homepage indoporg');return true"
onMouseOut="message('');return true"><B>(Homepage
baru)</B></A>
Coba letakkan mouse pointer pada linik Ayo ke (Homepage baru) Indoprog, dan perhatikan
status bar browser anda.
Page 146 / 197
http://www.hendra-jatnika.web.id
Bagaimana membuka suatu halaman berdasarkan pilihan pemakai pada suatu
dropdown list ?
Anda dapat membuat suatu fungsi yang mengambil nilai item yang dipilih pemakai, dan
membuka halam yang diinginkan
Pilih tutorial yang diinginkan
Adapun kode untuk Contoh diatas:
<SCRIPT LANGUAGE='JavaScript'>
<!-function BuatArray() {
var jlhargumen = BuatArray.arguments.length;
for ( i = 0 ; i < jlhargumen; i++ )
{ this[i]=BuatArray.arguments[i] }
}
function buka() {
var pilih = eval(document.dropdown.site.selectedIndex);
if( (pilih > 0) && (pilih < 7) ) {
var bagian=new BuatArray( '',
'http://indoprog.terrashare.com/tutor/html/index.html',
'http://indoprog.terrashare.com/tutor/javascript/index.html',
'http://indoprog.terrashare.com/tutor/asp/index.html',
'http://indoprog.terrashare.com/tutor/php/index.html',
'http://indoprog.terrashare.com/tutor/perl/index.html');
this.location=buka[pilih];
}
}
//-->
</SCRIPT>
t
e
N
a
r
d
n
e
H
<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>
By
Page 147 / 197
http://www.hendra-jatnika.web.id
XHTML
Apa XML?





XML singkatan dari EXtensible Markup Language
XML adalah suatu markup language seperti halnya HTML
XML dirancang untuk menjelaskan data (describe data)
Tag-tag pada XML belum didefenisikan sebelumnya, tapi dapat
didefenisikan sendiri
XML menggunakan Document Type Definition (DTD) ataun XML
Schema uantuk menjelaskan data (self-descriptive)
Persoalan dengan HTML (The problem with HTML)
• HTML dimulai sebagai suatu cara dari cara untuk menjelaskan structure
dari dokumen, dengan tag-tag untuk mengindikasikan headers,
paragraphs, dan sejenisnya
• Karena orang menginginkan untuk mengontrol tampilan (appearance)
dari dokumen, maka HTML memerlukan tags lain seperti mengontrol
fonts, alignment, dll.
• Hasilnya adalah markup language yang dapat melakukan keduanya, tapi
tidak bagus/optimal untuk keduanya.
t
e
N
HTML vs. XML
a
r
d
n
e
H
y
B
XML kelihatan seperti HTML, tapi
HTML menggunakan sekumpulan
tag yang telah tetap (fixed)

HTML dirancang untuk
menampilkan data pada manusia
 Browsers sangat toleran pada
kesalahan dalam HTML
 Semua browsers dapat
menampilkan HTML

Tag pada XML bebas dibuat (dan
mendefenisikan arti)
 XML dirancanga untuk
menjelaskan data pada komputers
 Dokumen XML haruslah wellformed (syntaknya betul)
 Hanya browsers dengan versi
terbaru dapat menampilkan XML

Contoh file Xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Edited with XML Spy v4.2 -->
<catalog>
<cd>
<title>Empire Burlesque</title>
<artist>Bob Dylan</artist>
<country>USA</country>
<company>Columbia</company>
<price>10.90</price>
Page 148 / 197
http://www.hendra-jatnika.web.id
<year>1985</year>
</cd>
<cd>
<title>Hide your heart</title>
<artist>Bonnie Tyler</artist>
<country>UK</country>
<company>CBS Records</company>
<price>9.90</price>
<year>1988</year>
</cd>
<cd>
<title>Greatest Hits</title>
<artist>Dolly Parton</artist>
<country>USA</country>
<company>RCA</company>
<price>9.90</price>
<year>1982</year>
</cd>
</catalog>
Penjelasan
Pada contoh diatas, bagian prolog berisi dua baris yang sifatnya opsional:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Edited with XML Spy v4.2 -->
t
e
N
• Baris pertama adalah deklarasikan XML, yang menyatakan bahwa
dokumen tersebut merupakan dokumen XML versi 1.0. dengan
encoding=”ISO-88859-1.
• Baris kedua merupakan baris komentar. Penambahan komentar
digunakan untuk membantu mengingatkan atau sebagai catatan bagi
developer. Komentar diawali dengan karakter <!-- dan diakhiri dengan
karakter -->.
• Setelah bagian prolog adalah bagian elemen dokumen. Bagian tersebut
merupakan sebuah elemen tunggal yang bisa berisi elemen-elemen tambahan.
Pada contoh di atas, elemen dokumen adalah catalog. Di dalam elemen
dokumen berisi elemen cd. Dalam setiap elemen anggota catalog terdapat
data-data berupa karakter.
Dari contoh di atas dapat dilihat bahwa dokumen XML tersusun secara
terstruktur berdasarkan tag-tag yang didefinisikan oleh pembuat dokumen. Dengan
struktur dokumen seperti ini ditambah kebebasan XML mendefinisikan tag baru,
menyebabkan XML menjadi pilihan untuk kebutuhan penyimpanan data.
a
r
d
By
n
e
H
Aplikasi XML menawarkan berbagai keuntungan antara lain:
Kelebihan utama XML adalah kemampuan untuk melakukan data interchange.
Karena organisasi yang berbeda (dan juga bagian yang berbeda dari organisasi yang
sama) jarang berdasar pada sekumpulan tools yang sama, Perlu sejumlah kerja
ekstra
untuk
memungkinkan
kedua
belah
pihak
berkomunikasi.
XML
mempermudah pengiriman data terstruktur lewat web sehingga tidak ada hilang
dalam proses penerjemahan.
Page 149 / 197
http://www.hendra-jatnika.web.id
Memungkinkan Komunikasi Business to Business. ketika menggunakan XML,
misalnya , si A dapat menerima data bertag XML dari sistem B , dan sebaliknya.
Kedua belah pihak tidak perlu tahu bagaimana sistem yang lain terorganisasi. Jika
partner/supplier yg lain kemudian bergabung dengan organisasi si A misalnya, si A
tidak perlu menuliskan ulang kode dokumen untuk dipertukarkan dengan sistem
anggota baru tersebut. Cukup dengan meminta mereka mengikuti aturan yang diatur
dalam DTD (Data Type Defenition).
Memungkinkan Smart Agents, Ketika menulis sebuah agent, salah satu
tantangan adalah untuk mengerti data yang masuk. Agent yang baik menerjemahkan
informasi dengan pintar, dan kemudian menanggapinya dengan semestinya. Jika
data yang dikirim ke agen distruktur dengan XML, akan lebih mudah untuk agen
tersebut untuk mengerti apa arti data tersebutsb dan bagaimana hubungannya
dengan data yang sudah diketahuinya.
Memungkinkan Pencarian Pintar, Salah satu masalah besar dengan Web yang
sekarang adalah bahwa Search Engine tidak dapat memproses HTML dengan pintar.
t
e
N
Misal, jika anda mencari seorang bernama “chip”, anda akan menemukan halaman
tentang Chocolate Chip, Computer Chip, binatang chipmunk dan orang yang
a
r
d
bernama Chip. Tapi jika sudah ada DTD untuk records name dan address, pencarian
n
e
H
orang yang bernama Chip dapat menghasilkan hasil yg lebih akurat dan berguna.
By
Aturan Penulisan XML (Sintaks XML)

Semua elemen XML haruslah mempunyai tag pembuka dan penutup

Tag XML adalah case sensitif (membedakan huruf besar dan kecil)
<Message>This is incorrect</message>
<message>This is correct</message>



Semua elemen XML haruslah tersusun tersarang (nested) atau tidak
saling overlap.
Contoh salah:
<b><i>This text is bold and italic</b></i>
Seharusnya:
<b><i>This text is bold and italic</i></b>
Semua dokumen XML haruslah mempunyai akar tag (root tag)
<root>
<child>
<subchild>.....</subchild>
</child>
</root>
Nilai atribut haruslah selalu diberi tanda quote (“).
Page 150 / 197
http://www.hendra-jatnika.web.id
<?xml version="1.0" encoding="ISO-8859-1"?>
<note date="12/11/99">
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>
“Well Formed” dan “Valid” XML
Suatu dokumen XML disebut “well formed” jika telah memenuhi
sayarat penulisan sintaks seperti dijelaskan diatas.
• Sedangkan suatu dokumen XML disebut “Valid’ jika telah “well
formed” dan juga telah memenuhi aturan DTD (Data Type Document).
•
DTD merupakan grammar/tata bahasa yang menjelaskan tetang atribut dan
tag apa yang valid dalam suatau dokumen XML, dan dalam konteks apa
mereka valid. (baca reference yang berkaitan dengan DTD).
Menampilakan XML dalam HTML
Dokumen XML hanya bisa ditampilkan browser versi terbaru seperti IE
versi 5 keatas dan Netsacpe versi 6 sedangkan untuk dapat ditampilkan
oleh browser versi yang lama perlu terlebih dahulu dikonversi ke HTML
(dapat dilakukan di server).
Seperti dijelaskan diatas salah satu tujuan diperkenalkannya xml adalah
untuk komunikasi data yang dapat dimengerti oleh komputer. Sehingga
tampilan dari dokumen XML kurang menrik unuk konsumsi mata manusia.
Oleh kerananya dokumen XML juga dapat ditampilkan dalam berbagai
tampilan sehingga yang menarik layaknya presentasi HTML. Untuk
menampilkan XML sebagi HTML, diperlukan bahasa perantara yang
memfasilitasi tarnsformasi XNL ke HTML, yait:
t
e
N
a
r
d
By
n
e
H
1. XSLT (eXtensible Stylesheet Language Transformation)
2. CSS (Cascading Style Sheet)
Page 151 / 197
http://www.hendra-jatnika.web.id
1. XML dengan XSLT dan Xpath
Apa XSL?
• XSL singkatan dari Extensible Stylesheet Language
• CSS dirancang untuk styling halaman HTML, meskipun bisa digunakan
untuk style halaman XML
• XSL dirancang khusus untuk style halaman XML, dan jauh lebih canggih
(sophisticated) dibanding CSS
• XSL terdiri dari tiga languages:
–XSLT (XSL Transformations) adalah language yang digunakan untuk
transformasi dokumen XML kedalam jenis dokumen lainnya (paling
uumum adalah HTML)
–XPath adalah language untuk seleksi bagian dari dokumen XML untuk
ditransformasi dengan XSLT
–XSL-FO (XSL Formatting Objects) adalah pengganti dari CSS (tapi
hingga saat ini belum ada implementasinya)
Bagaimana Cara Kerjanya?
• Sumber dokumen XML source di parse (diurai) kedalam source tree
(struktur pohon)
• XPath digunakan untuk menetapkan template yang match dengan
bagian-bagian dari source tree
• Selanjutnya XSLT digunakan untuk transform bagian yang match dan
meletakkannya kedalam hasil tree dan merupakan out-put dari dokumen
t
e
N
a
r
d
XPath
XML document:
By
n
e
H
<?xml version="1.0"?>
<library>
<book>
<title>XML</title>
<author>Gregory Brill</author>
</book>
<book>
<title>Java and XML</title>
<author>Brett
McLaughlin</author>
</book>
</library >
XPath layaknya seperti paths
dalam sistim file komputer
/ menunjukkan dokumen itu sendiri
(tidak ada elemen specific)
/library selects the root element
/library/book selects setiap elemen
book
//author selects setiap elemen
author, dimanapun terdapat
Page 152 / 197
http://www.hendra-jatnika.web.id
XSLT
• <xsl:for-each select="//book"> pencarian melalui setiap elemen book
yang terdapat didalam dokumen
• <xsl:value-of select="title"/> memilih isi (content ) dari elemen title
dalam lokasi bersangkutan
• <xsl:for-each select="//book">
<xsl:value-of select="title"/>
</xsl:for-each>
memilih content dari elemen title untuk setiap book dalam dokumen
XML
Penggunaan XSL untuk membuat HTML
• Tujuan untuk membuat data xml
• Menjadi HTML dengan tampilan
berikut:
seperti berikut ini:
<?xml version="1.0"?>
Book Titles:
<library>
• XML
<book>
• Java and XML
<title>XML</title>
Book Authors:
<author>Gregory Brill</author>
• Gregory Brill
</book>
• Brett McLaughlin
<book>
<title>Java and XML</title>
<author>Brett
McLaughlin</author>
</book>
</library >
t
e
N
a
r
d
Langkah:
By
n
e
H
• Simpan (save) data xml diatas kedalam file dengan ekstensi xml (mis:
books.xml)
• Simpan dokumen diatas (tabbel sebelah kanan) kedalam file xsl (mis:
books.xsl). File ini menjelaskan bagaiman menyeleksi elemen-elemen
books.xml dan menempatkannya kedalam halaman HTML.
• Kaitkan/hubungkan books.xsl melalui books.xml seperti diperlihatkan
berikut ini:
books.xml
• <?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="book-titles.xsl"?>
<library>
<book>
<title>XML</title>
<author>Gregory Brill</author>
</book>
<book>
Page 153 / 197
http://www.hendra-jatnika.web.id
<title>Java and XML</title>
<author>Brett McLaughlin</author>
</book>
</library >
Tip transformasi xml ke html dengan xsl
HTML yang diinginkan
Outline XSL
<html>
<head>
<title>Book Titles and
Authors</title>
</head>
<body>
<h2>Book titles:</h2>
<ul>
<li>XML</li>
<li>Java and XML</li>
</ul>
<h2>Book authors:</h2>
<ul>
<li>Gregory Brill</li>
<li>Brett McLaughlin</li>
</ul>
</body>
</html>
<?xml version="1.0"
encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/199
9/XSL/Transform">
<xsl:template match="/">
<html> ... </html>
</xsl:template>
</xsl:stylesheet>
t
e
N
a
r
d
n
e
Pemilihan titles dan authorsH
y
B
<
h2>Book titles:</h2>
<ul>
<xsl:for-each select="//book">
<li>
<xsl:value-of select="title"/>
</li>
</xsl:for-each>
</ul>
<h2>Book authors:</h2>
...dengan cara yang sama dapat dilanjutkan dengan mengganti title
dengan author
Page 154 / 197
http://www.hendra-jatnika.web.id
book.xsl
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/
XSL/Transform">
<xsl:template match="/">
<html>
<head>
<title>Book Titles and Authors</title>
</head>
<body>
<h2>Book titles:</h2>
<ul>
<xsl:for-each select="//book">
<li>
<xsl:value-of select="title"/>
</li>
</xsl:for-each>
</ul>
<h2>Book authors:</h2>
<ul>
<xsl:for-each select="//book">
<li>
<xsl:value-of select="author"/>
</li>
</xsl:for-each>
</ul>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
t
e
N
a
r
d
By
n
e
H
2. XML dengan Style Sheet
Disamping XSLT seperti telah dijelaskan diatas, dokumen xml juga dapat
ditampilkan ke HTML menggunkan bahasa style sheet seperti CSS (Cascading Style
Sheet).
Menggunakan style sheet bertingkat merupakan metoda termudah untuk
menampilkan seluruh dokumen XML. Tetapi dibandingkan dengan metoda penampilan
dokumen XML yang lain, style sheet bertingkat agak terbatas. Karena walaupun style
sheet bertingkat memberikan kontrol yang cukup tinggi untuk cara browser memformat
isi elemen dalam dokumen XML, tidak memungkinkan akses atribut XML, entitas,
instruksi pemrosesan, dan komponen lain, dan juga tidak untuk memproses informasi
yang dimuat dalam komponen ini.
Page 155 / 197
http://www.hendra-jatnika.web.id
Membuat dokumen XML dengan Style Sheet dengan langkah dasar sebagai
berikut :
1. Buat file style sheet
2. Kaitkan style sheet ke dokumen XML
Style sheet bertingkat adalah sebuah file teks biasa, umumnya dengan eksetensi
.css, yang berisi kumpulan aturan yang menyatakan pada browser bagaimana
memformat dan menampilkan elemen dalam dokumen XML yang spesifik.
Listing contoh file untuk style sheet bertingkat:
rental.xml
<?xml version='1.0'?>
<!--File Name: rental.xml-->
<?xml-stylesheet type="text/css" href="rental.css"?>
<INVENTARIS>
<RENTAL_MOBIL Stok="yes">
<JENIS_MOBIL>Sedan</JENIS_MOBIL>
<MERK> Suzuki Baleno</MERK>
<HARGA_RENTAL>Rp. 150.000/hari</HARGA_RENTAL>
</RENTAL_MOBIL>
<RENTAL_MOBIL Stok="yes">
<JENIS_MOBIL>Van</JENIS_MOBIL>
<MERK>Kia Carnival</MERK>
<HARGA_RENTAL>Rp. 200.000/hari</HARGA_RENTAL>
</RENTAL_MOBIL>
<RENTAL_MOBIL Stok="yes">
<JENIS_MOBIL>Mini bus</JENIS_MOBIL>
<MERK>Mazda E300</MERK>
<HARGA_RENTAL>Rp. 300.000/hari</HARGA_RENTAL>
</RENTAL_MOBIL>
<RENTAL_MOBIL Stok="yes">
<JENIS_MOBIL>Truck</JENIS_MOBIL>
<MERK>Mitsubishi</MERK>
<HARGA_RENTAL>Rp. 400.000/hari</HARGA_RENTAL>
</RENTAL_MOBIL>
<RENTAL_MOBIL Stok="yes">
<JENIS_MOBIL>Bus</JENIS_MOBIL>
<MERK>Mercedes</MERK>
<HARGA_RENTAL>Rp. 800.000/hari</HARGA_RENTAL>
</RENTAL_MOBIL>
</INVENTARIS>
t
e
N
a
r
d
By
n
e
H
Rental.css
/* File Name : rental.css */
RENTAL_MOBIL
{display:block;
margin-top:12pt;
font-size:10pt}
JENIS_MOBIL
{display:block;
font-size:10pt;
font-weight:bold;
font-style:italic}
MERK, HARGA_RENTAL
{display:block;
Page 156 / 197
http://www.hendra-jatnika.web.id
margin-left:15pt;)
Contoh:
Pada contoh (file terpisah) tampilkan xml dalam html dengan teknik xslt dan css.
Misal: cdcatalog.xml dan cdcatalog.xsl. Kemudian kaitkan cdcatalog.xsl
pada cdcatalog.xml seperti berikut:
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="cdcatalog.xsl"?>
<catalog>
t
e
N
a
r
d
By
n
e
H
Page 157 / 197
http://www.hendra-jatnika.web.id
Document Type Definitions
XML dan DTD
• DTD (Document Type Definition) menjelaskan struktur satu atau lebih dokumen
XML. Khusunya DTD menjelaskan berikut ini:
–Elements
–Attributes, dan
–Entities
• Suatu dokumen XML disebut weel-formed atau well-structured jika mengikuti aturan
sintaks
• Suatu dokumen XML disebut valid jika telah ditetapkan dan memenuhi suatu DTD
Kenapa DTD?
• Dokumen XML dirancang untuk di olah/diproses oleh program komputer
–Jika anda membuat sembarang tags dalam dokumen XML, akan sulit
membuat program yang dapat memproses tag tersebut
–Tetapi DTD menetapkan terlebih dahulu, setiap tag yang boleh muncul, kapan
(urutan) tag muncul dan atribut apa yang menyertainya dll,
• Dengan demikian DTD membuat suatu XML menjadi legal (dapat diverifikasi)
• DTD yang di sharing diantara kelompok pengguna akan menghasilkan dokumen
XML yang konsisten
Parsers
t
e
N
a
r
d
• Parser XML adalah API (Application Programming Interface) yang membaca
content dari dokumen XML
– API yang popular adalah DOM (Document Object Model) dan SAX (Simple API for
XML)
By
n
e
H
• Parser Validasi adalah parser XML yang membandingkan dokumen XML terhadap
DTD dan melaporkan setiap error/kesalahan
– Kebanyakan browsers belum menggunakan parser validasi
Contoh XML
<novel>
<foreword>
<paragraph>This is the great American novel.</ paragraph>
</foreword>
<chapter number="1">
<paragraph>It was a dark and stormy night.</paragraph>
<paragraph>Suddenly, a shot rang out!</paragraph>
</chapter>
</novel>
Dokumen XML terdiri dari (dan DTD menjelaskan):
•Elements, seperti novel dan paragraph, terdiri dari tags dan content
•Attributes, seperti number="1", terdiri dari name dan value
•Entities (tidak digunakan dalam contoh ini)
Contoh DTD
<!DOCTYPE novel [
<!ELEMENT novel (foreword, chapter+)>
Page 158 / 197
]>
<!ELEMENT foreword (paragraph+)>
<!ELEMENT chapter (paragraph+)>
<!ELEMENT paragraph (#PCDATA)>
<!ATTRIBUTE chapter number CDATA #REQUIRED>
http://www.hendra-jatnika.web.id
Novel terdiri dari foreword dan satu atau lebih chapter, dalam hal ini
– Setiap chapter harus mempunyai nomor attribute
• Foreword terdiri dari satu atau lebih paragraph
• Chapter juga terdiri dari satu atau lebih paragraph
• Paragraph terdiri dari PCDATA (parsed character data) (teks yang tidak berisi elemen lain)
•
Deskripsi ELEMENT
• Suffixes:
?
optional (pilihan)
+
satu atau lebih
*
zero atau lebih
• Separators
,
keduanya, dalam urutan
|
atau
• Grouping
( ) grouping
foreword?
chapter+
appendix*
foreword?, chapter+
section|chapter
(section|chapter)+
Elements whitout children (Eelemen tanpa anak)
t
e
N
a
r
d
• Sintaks <!ELEMENT name category>
– name adalah nama elemen yang digunakan dalam tag start dan tag akhir
– category boleh EMPTY (kosong):
n
e
H
•Contoh dalam DTD: <!ELEMENT br EMPTY>
•Contoh dalam XML: <br></br> atau <br />
By
–Dalam XML, elemen empty adalah yang tidak terdapat konten apapun antara tag
start dan tag akhir
–Suatu elemen empty dapat mempunyai attribut
Elements with unstructured children (elemen dgn anak tdk terstruktur)
• Sintaks <!ELEMENT name category>
–Kategory boleh ANY (sembarang)
•Ini menunjukkan isi dari any dapat berupa--character data, element, even
undeclared elements (elemen yang belum dideklarasi)
•Karena tujuan penggunaan DTD adalah untuk menetapkan struktur dokumen
(xml) maka sedapat mungkin penggunaan ANY dihindarkan
–Kategory berupa (#PCDATA), menunjukkan bahwa hanya karakter data yang boleh
digunakan
•Cantoh dalam DTD: <!ELEMENT paragraph (#PCDATA)>
•Contoh dalam XML: <paragraph>A shot rang out!</paragraph>
•Catatan: Dalam (#PCDATA), whitespace di kept sesuai dengan yang di berikan
•Elements tidak boleh digunakan dalam parsed character data (PCDATA)
Entitas berupa character data dapat digunakan
Elements with children (elemen dgn anak)
Page 159 / 197
http://www.hendra-jatnika.web.id
• Kategori menjelaskan satu atau lebih anak:
<!ELEMENT novel (foreword, chapter+)>
–Tanda kurung diperlukan meski hanya terdiri dari satu anak
–Space (spasi) diperlukan sebelum kurung pembuka
–Koma (,) anatar element artinya semua children harus muncul, dan harus dalam
urutan yang sesuai
–“|” separator artinya setiap child dapat digunakan
–Children dapat mempunyai children
–Tanda kurung dapat digunakan untuk pengelompokan:
<!ELEMENT novel (foreword, (chapter+|section+))>
Elements with mixed content (elemen dengan konten campuran)
• # #PCDATA menjelaskan element dengan hanya character data
• #PCDATA dapat digunakan dalam “atau” pengelompokan:
–<!ELEMENT note (#PCDATA|message)*>
– Ini disebut sebagai mixed content (konten compuran)
Names dan namespaces
• Semua nama element, attributes, dan entities, baik dalam DTD maupun XML,
berbentuk sebagai berikut:
– Nama dimulai dengan huruf atau underscore (garis bawah)
– Nama dapat terdiri dari hanya huruf, angka, titik-titik, hyphens, underscores, dan
colons
• DTD tidak mengenal namespaces—DTD menganggap suatu colon sebagai bagian
dari nama
– Contoh berikut adalah berbeda (dan keduanya legal):
t
e
N
a
r
d
n
e
H
•<!ELEMENT chapter (paragraph+)>
•<!ELEMENT myBook:chapter (myBook:paragraph+)>
By
– Hindari penggunaan colons dalam nama, kecuali mengindikasikan namespaces
Contoh DTD
• <!DOCTYPE novel [
<!ELEMENT novel
(foreword, chapter+, biography?, criticalEssay*)>
<!ELEMENT foreword (paragraph+)>
<!ELEMENT chapter (section+|paragraph+)>
<!ELEMENT section (paragraph+)>
<!ELEMENT biography(paragraph+)>
<!ELEMENT criticalEssay (section+)>
<!ELEMENT paragraph (#PCDATA)>
]>
Attributes dan entities
• Sebagai tambahan pada elements, suatu DTD boleh mendeklarasikan attribute and
entities
–This slide shows examples; we will discuss each in detail
• Suatu attribute menjelaskan informasi yang dapat diletakkan dalam tag awal elemen
Page 160 / 197
http://www.hendra-jatnika.web.id
–Dalam XML: <dog name="Spot" age="3"></dog>
–Dalam DTD: <!ATTLIST dog
name CDATA #REQUIRED
age
CDATA #IMPLIED >
• Suatu entity menjelaskan teks sebagai pengganti (substitusi)
–Dalam XML: &copyright;
–Dalaml DTD: <!ENTITY copyright "Copyright Dr. Dave">
Attributes
• Format dari attribute adalah:
<!ATTLIST element-name
name type requirement
name type requirement>
diman name-type-requirement dapat diulang sebanyak yang dinginkan
– Untuk pemisah bagian-bagian dilakukan hanya dengan spaces (Oleh karenanya perlu kehati-hatian)
– Element-name memberi tahu elemen mana yang dapat memeliki atribut ini
– Name adalah nama dari attribute
– Setiap element mempunyai type (jenis), seperti CDATA (character data)
– Setiap element dapat seabagai: required, optional, atau “fixed”
– Dalam XML, attribute dapat muncul dalam urutan sembarang
Jenis-jenis attribute penting
• Ada sepuluh jenis
• Yang paling penting a.l.:
–CDATA
–(man|woman|child)
–ID
t
e
N
Nilainya adalah character data
Nilainya adalah salah satu dari daftar ini
Nilainya adalah suatu identifier unik
a
r
d
• Nilai ID haruslah nama XML legal dan harus unuik dalam dokumen
–NMTOKEN
n
e
H
Nilainya adalah nama XML legal
• Kadang ini digunakan untuk mencegah whitespace dalam nama
• Juga untuk mencegah angka, karena nama XML tidak adapat dimulai dengan angka
y
B
Jenis attribute yang kurang penting
•
•
•
•
•
•
•
IDREF
IDREFS
NMTOKENS
ENTITY
ENTITIES
NOTATION
xml:
ID dari element lain
Daftar dari ID lain
Daftar darai nama XML yang valid
Suatu entitas
Daftar adari entitas
Suatu notasi
nilai XML awal (A predefined XML value)
Requirements
• Kembali ke contoh bentuk suatu attribute
<!ATTLIST element-name name type requirement>
• Requirement adalah salah satu dari:
Page 161 / 197
http://www.hendra-jatnika.web.id
–Suatu nilai default yang dilingkupi tanda petik
• Contoh: <!ATTLIST degree CDATA "PhD">
–#REQUIRED
• Attribute harus ada
–#IMPLIED
• Attribute adalah pilihan (optional)
–#FIXED "value"
• Attribute selalu mempunyai nilai yang diberikan
• Jika telah ditetapkan dalam XML, nilai yang sama harus digunakan
Entities
Ada lima entitas yang telah ditetapkan: <, >, &, ", and '
Entitas tambahan dapat ditentukan dalam DTD:
<!ENTITY copyright "Copyright Dr. Dave">
• Entitas dapat didefenisikan dalam document lain:
<!ENTITY copyright SYSTEM "MyURI">
• Contoh penggunaan dalam XML:
This document is &copyright; 2002.
• Entitas jangan dibingungkan dengan referensi character yang merupakan nilai antara
& dan #
• Contoh: &233#; atau &xE9#; sebagai indikasi karakter é
•
•
Contoh lain: XML
t
e
N
<?xml version="1.0"?>
<!DOCTYPE myXmlDoc SYSTEM
"http://www.mysite.com/mydoc.dtd"> <weatherReport>
<date>05/29/2002</date>
<location>
<city>Philadelphia</city>, <state>PA</state>
<country>USA</country>
</location>
<temperature-range>
<high scale="F">84</high>
<low scale="F">51</low>
</temperature-range>
</weatherReport>
a
r
d
By
n
e
H
DTD untuk contoh xml ini
<!ELEMENT weatherReport (date, location,
temperature-range)>
<!ELEMENT date (#PCDATA)>
<!ELEMENT location (city, state, country)>
<!ELEMENT city (#PCDATA)>
<!ELEMENT state (#PCDATA)>
<!ELEMENT country (#PCDATA)>
<!ELEMENT temperature-range
((low, high)|(high, low))>
<!ELEMENT low (#PCDATA)>
<!ELEMENT high (#PCDATA)>
<!ATTLIST low scale (C|F) #REQUIRED>
<!ATTLIST high scale (C|F) #REQUIRED>
Inline DTDs
Page 162 / 197
http://www.hendra-jatnika.web.id
• Jika suatu DTD digunakan hanya satu dokumen XML, dapat diletakkan langsung
dalam dokumen:
<?xml version="1.0">
<!DOCTYPE myRootElement [
<!-- DTD content goes here -->
]>
<myRootElement>
<!-- XML content goes here -->
</myRootElement>
External DTDs
• External DTD (DTD yang terpisah dari dokumen) di deklarasikan dalam SYSTEM
atau PUBLIC:
<!DOCTYPE myRootElement SYSTEM
"http://www.mysite.com/mydoc.dtd">
– Nama yang muncul setelah DOCTYPE (dalam contoh ini, myRootElement) harus sesuai (match)
dengan elemen root dari XML:
– Gunakan SYSTEM untuk external DTDs yang didefenisikan oleh sendiri, dan PUBLIC untuk resmi
(official) yaitu DTD yang dipublish.
– External DTDs direferensikan dalam URL
• Extension file untuk external DTD adalah .dtd
Keterbatasan DTD
t
e
N
a
r
d
• DTDs merupakan bahasa spesifikasi yang sangat lemah
– Kita tidak dapat meletakkan pembatasan pada konten elemen
– Sulit untuk spesifikasi:
n
e
H
Semua children harus muncul, tapi dapat dalam urutan sembarang
This element must occur a certain number of times
–There are only ten data types for attribute values
• But most of all: DTDs aren’t written in XML!
–If you want to do any validation, you need one parser for the XML and another for the
DTD
–This makes XML parsing harder than it needs to be
–There is a newer and more powerful technology: XML Schemas
–However, DTDs are still very much in use
•
•
By
Validators
• Opera 5 and Internet Explorer 5 can validate your XML against an internal DTD
–IE provides (slightly) better error messages
–Opera apparently just ignores external DTDs
–IE considers an external DTD to be an error
• jEdit (my favorite editor) with the XML plugin will check for well-structuredness
and (if the DTD is inline) will validate your XML each time you do a Save
–http://www.jedit.org/
Page 163 / 197
http://www.hendra-jatnika.web.id
Source: Berbagai Sumber di Internet
Prinsip Perancangan Web
Disain web atau disain situs merupakan komponen penting dalam membangun bisnis
berbasis web atau yang dikenal dengan E-commerce. Disain web merupakan bidang multi
disiplin yang dipengaruhi oleh antara lain: disain grafis, pemrograman, teknologi
cilent/server, ilmu kepustakaan (library science), disain user interface dan lain sebagainya.
Aspek penting dari disain web adalah perancangan dan pengorganisasian content (isi)
dari situs web, kemudian pertimbangan visual, teknologi dan pertimbangan ekonomi.
 Parameter disain Web
Tujuan utama content web adalah untuk menginformasikan sesuatu atau dengan kata
lain untuk merayu user. Sedangkan penggunaan teknologi adalah untuk implementasi
fungsi dari situs. Sementara itu visual memberi bentuk dari situs. Faktor lain yang
perlu dipertimbangkan dalam embangun situs adalah ekonomi. Situs tidak perlu
dibangaun jika tidak jelas kemungkinan ekonominya. Akan tetapi kadang-kadang
faktor ekonomi tidak terlalu dipertimbangkan dalam mendesain suatu situs seperti
halnya pada situs pribadi. Sedangkan pada situs Intranet Content merupakan
pertimbangan utama sedangkan faktor visual kadang tidak terlalu diperhatikan
sebagaimana layaknya promosi web untuk publik.
Sebagai kesimpulan: untuk membangun situs dapat diacu melalui gambaran piramida
berikut.
t
e
N
Kegunaan/Purpose
(Ekonomi)
By
a
r
d
n
e
H
Content
User
Bentuk /Form
(Visual)
Content merupakan batu bata yang
digunakan membangun piramida.
Untuk itu perlu fondasi yang kuat
yaitu yang digambarkan oleh visual
dan teknologi. Sedangkan
penekanan ekonomi menjadikan
projek mempunyai nilai.
Disainer
Fungsi
(Teknologi)
 Model Proses Pengembangan Web
Dalam membangun situs web dapat didekati sebagai proses Top-Down seperti
diperlihatkan oleh diagram berikut:
Page 164 / 197
http://www.hendra-jatnika.web.id
Defenisi
Persoalan
- Eksplorasi Konsep
Analisa
Kebutuhan
- Spesifikasi
Desain
- Prototipe
Integrasi dan
Pengujian Sistim
Rilis, Operasi dan
pemeliharaan





Pertama yang perlu diketahui adalah kegunaan atau tujuan dari situs dibanguna.
Secara seksama didefenisikan problem dari situs yang mengacu pada setiap goal
yang hendak dicapai.
Setelah goal ditetapkan, kemudian ditentukan spesifikasinya. Spesifikasi ini
merupakan syarat-syarat untuk situs dimana dalam hal ini perlu dipertimbangkan
faktor audience (pemirsa).
Langkah selanjutnya memulai pembangunan situs termasuk prototipe secara
teknik dan visual
Selanjutnya tahap implementasi hasil dari disain dan melakukan pengujian
(Integrasi dan Pengujian).
Terakhir adalah Rilis (Release) atau Publikasi situs. Kadang-kadang masih
diperlukan modifikasi berdasarkan umpan balik dari user.
t
e
N
a
r
d
By
n
e
H
Motto dalam mendesain Web adalah: “ Membangun untuk User”
 Kesalahan umum yang sering dilakukan disainer dalam membangun web adalah
para desainer membangun untuk memenuhi keinginan mereka dari pada
membangun situs untuk user. Harus selalu diingat aturan : “ Your are Not the User
“
Apa yang anda mengerti belum tentu sebagai apa yang dimengerti oleh user,
karena user mungkin tidak mempunyai interest atau ketertarikan yang sama dengan
anda sebagai disainer.


Kunci sukses desain situs web adalah selalu mencoba berfikir dari titik pandang
user.
Aturan lain disain web: “ Design for the common user, but account for the
difference” , artinya: User dapat mempunyai karakteristik dasar yang mirip tapi
juga mereka adalah individu yang berbeda dengan yang lain dan perlu dipenuhi
keinginannya.
Page 165 / 197
http://www.hendra-jatnika.web.id
Persiapan Pembuatan Suatu WebSite
WebSite/HomePage:
Merupakan suatu kesatuan dari document-dokumen yang terhubung dengan atribut yang
sama (misalnya: Topik, Fungsi, ataupun system Desain yang sama).
Jadi sebuah WebSite memiliki banyak dokumen yang biasanya disebut halaman Web
(WebPage), serta komponen lain seperti Image, Media, dan obyek-obyek yang berhubungan.
Secara
1.
2.
3.
umum, persiapan membuat WebSite, sebagai berikut:
Merumuskan tujuan pembuatan WebSite.
Menentukan Isi.
Menentukan Target Marketnya.
4. Menentukan Strukturnya.
Merumuskan Tujuan Pembuatan Website
Berdasarkan Isi maupun Tujuan, WebSite biasanya dapat digolongkan, antara lain:
1. Profil Perusahaan (Company Profile), Profil Pribadi (Artis, Curiculum Vitae, Web
Personal, dst) Berfungsi sebagai media Presentasi, informasi, publikasi, Promosi,
dan Pemasaran. Web ini harus memiliki daya tarik bagi pengunjung untuk menyimak
isi web sehingga faktor desain menjadi paling utama.
2. Informasi/Berita, Media Informasi dan Berita adalah yang terutama (Majalah/Koran
online). Keakuratan dan kelengkapan informasi dari web semacam ini sangat
penting.
3. Services, Media untuk pelayanan, seperti Free Email, Search Engine, SMS via
Internet, E-Commerce (Media Transaksi Online), dst.
t
e
N
a
r
d
By
n
e
H
Sebuah Web dapat mencakup lebih dari satu Kategori saja,
namun ada kategori yang lebih dominan.
Menentukan Isi/Content/menu Web
Dengan tujuan dan target yang jelas maka kita dapat mempersiapkan isi/Content
yang akan ditampilkan.
Contoh:
Web sebuah Company, isinya antara lain:
[About Us], [Product], [Clients], [Contact Us], [News]
Web Seorang Artis, isinya antara lain:
[Profil Singkat], [Photo Galeri], [Jumpa Fans], [Seputar Gossip], [Agenda], [NEWS]
Masing-masing Content dapat ditambahkan lagi Sub-Content, Contoh:
Dalam content [NEWS], terdapat Sub Content yaitu:
 Berita Terkini
 Berita Terdahulu
 Berita Anda
Page 166 / 197
http://www.hendra-jatnika.web.id

Kirim Berita
Pengaturan data/dokumen WebSite dalam Folder
dan Penamaan Dokument HTML
Hal ini memegang peranan penting dalam kemudahan me-maintenance sebuah
web.
Berikut adalah sebuah gambaran bagaimana pengaturan Folder:
Sediakan Dua Folder.
data-data/dokument Image, PSD, Hasil Scan, Ketikan, dll disimpan dalam  Bahan Web
Jangan campur adukkan dalam folder utama (Data WebSite yang akan di UpLoad)
 NamaWeb
 Images
Gambar1.JPG
Gambar2.JPG
Logo.GIF
 index.html
 AboutUs.html
 Product.htm
 Clients.htm
 ContactUs.htm
 News.htm
By
Sebagai Halaman Cover / halaman Pertama,
Nama yang telah standard secara internasional,
adalah: Index.html atau Default.html
t
e
N
a
r
d
n
e
H
Faktor yang perlu diperhatikan dalam Rancangan Tampilan Web.
Suatu WebSite yang baik memiliki pemikiran Semiotik secara matang,
terbagi atas 3 hal yaitu:
1. Semantik
Menyangkut Kesesuaian Tema, Konsep Desain yang ditampilkan, dst.
Tema, Konsep, dll tidak lepas dari Prinsip-prinsip Desain, seperti:
Unik :
Dalam membuat karya apapun seorang designer mempunyai kesadaran untuk tidak
meniru atau menggunakan karya orang lain. Begitu pula seorang Web Designer
harus mempunyai budaya malu untuk menggunakan icon, animasi, button, dll, yang
telah digunakan atau dibuat oleh orang lain.
Komposisi :
Seorang Web Designer selalu memperhatikan komposisi warna yang akan digunakan
dalam website yang dibuatnya. Pergunakan selalu Palette 216 WebColor, RGB.
Page 167 / 197
http://www.hendra-jatnika.web.id
Web Colour :
Dalam membangun website suatu perusahaan, Web Designer harus peka dalam
menyesuaikan warna yang digunakan dengan Corporate Color perusahaan tersebut
(Colour Company).
Contoh: Telkom Corporate Color-nya adalah biru, Coca-Cola : merah dan putih,
Standard-Chartered : hijau dan biru, dsb. Untuk kemudian warna-warna tadi
digunakan sebagai warna dominan atau sebagai elemen pendukung [garis,
background, button, dsb].
Simple :
Web Designer banyak yang menggunakan prinsip "Keep it Simple", hal ini ditujukan
agar tampilan website tersebut terlihat rapi, bersih dan juga informatif.
Sign System (Sistem Tanda) :
Dalam hal ini diharapkan dengan melihat tanda atau gambar, user [audience] dapat
dengan mudah dan cepat mengerti. Sebagai contoh: Jangan membuat gambar
[image] yang berkesan tombol, padahal itu bukan tombol [link].
2. Sintaktik
Kesatuan dan Keterpaduan Desain,
Adalah penting dalam segi estetika maupun segi navigasi, supaya netter tidak
mengalami kebingungan dalam menelusuri halama-halaman web yang dibuat.
t
e
N
Contoh: memiliki kesamaan tema dalam halaman-halaman webnya.
a
r
d
Keterpaduan Desain, dapat dilihat seperti:
Kesamaan Jenis Font, Warna, Tombol Navigasi (Menu), Letak Menu, Komposisi, dst.
By
n
e
H
Fokus dan Hirarki :
Contoh: tentukan hirarki prioritas dari pesan yang akan disampaikan, misalnya:
Judul harus besar, tetapi jangan sampai akhirnya akan konflik dengan subjudul
yang berukuran hampir sama. Hal ini akan membingungkan user [audience] untuk
menentukan pesan mana yang harus lebih dahulu dibaca [dilihat].
Konsisten :
Contoh: tentukan font apa yang akan digunakan sebagai Body-text, Judul, Sub
Judul, dan sebagainya, sehingga website tersebut akan terlihat disiplin dan rapi.
Sesuaikan jenis huruf yang digunakan dengan misi dan visi website tersebut.
3. Pragmatik
Dalam hal ini menyangkut kemampuan Teknis dan pemahaman akan
kemampuan/kekurangan Software yang digunakan dalam mendesain Web.
Kemampuan, Pemahaman, dan wawasan akan software-software tersebut
diharapkan Web Designer dapat se-Efektif + Se-Efesien mungkin dalam proses
perancangannya.
Ergonomis :
Web Designer selalu memperhatikan aspek ergonomi. Ergonomi disini adalah dalam
hal kenyamanan user dalam membaca dan kecepatan user dalam menelusuri
website tersebut. Web Designer memilih ukuran Fonts yang tepat sehingga mudah
Page 168 / 197
http://www.hendra-jatnika.web.id
dibaca, Web Designer menempatkan link sedemikian rupa sehingga mudah dan
cepat untuk di akses dan lebih penting lagi adalah Informatif.
Pemahaman akan Faktor teknis,
(memahami kelemahan / kekurangan Teknologi yang ada).
yang perlu menjadi periksa dalam Mendesain Web:
FONT
Gunakan Font yang umum agar tidak terjadi ‘Missing Font’ yang menyebabkan
kekacauan pada Web yang telah kita rancang. Font Umum yang dimaksud
adalah Font yang telah ‘ter-Instal’ Secara umum (Otomatis) oleh Komputer (PC
/ MAC) - (pada umumnya) saat menginstal Windows / Browser.
( Misal: Arial, Times New Roman, Verdana )
(Catatan: Untuk mengatasi Missing Font, telah dikeluarkan bahasa khusus yaitu
DHTML).
WARNA
Gunakan dengan Format RGB
Karena Tampilan Web dilihat pada Monitor (Warna yang terbentuk oleh Cahaya)
- bukan seperti CMYK (Pada media Cetak)
Ukuran PIXEL
Gunakan PIXEL Sebagai satuan ukuran.
t
e
N
a
r
d
n
e
H
Resolusi Monitor
Saat ini sangat umum Web berpatokan pada ukuran
Resolusi Monitor 800 x 600
(Sudah jarang Web yang berpatokan dibawah resolusi tersebut)
By
Boleh saja menggunakan di atas Resolusi tersebut,
tergantung Teknologi / Masyarakat yang akan terus berkembang.
Format Gambar / Image
File image yang dimasukkan dalam dokumen Html,
ada 2 jenis yang digunakan: GIF dan JPG / JPEG,
selain itu ada pula file PNG (Portable Network Graphic)
namun jenis ini jarang digunakan.
GIF
:
Menampilkan 256 warna saja, bisa merupakan GIF Animasi,
dan dapat Transparant.
JPG
:
Format Gambar yang penuh warna (Full Colour),
membentuk gradasi dengan sangat baik dengan kompresi yang tinggi.
Page 169 / 197
http://www.hendra-jatnika.web.id
Di atas adalah sebagian kecil kendala yang ada karena Teknologi tidak luput dari banyak kendala.
Walau demikian, jangan jadikan Teknologi sebagai penguasa. Jadikan Teknologi sebagai “Alat
Bantu”, bukan kita diperbudak Teknologi, tetapi Teknologi adalah Budak kita !
“It’s the Man behind the Gun”
Demikian beberapa aspek dan prinsip yang digunakan Web Designer dalam
membuat website, selebihnya merupakan ekspresi dari pembuat website itu
sendiri
yang terwujud dalam penggayaan penyusunan website.
Web yang tidak mengindahkan hal-hal tersebut di atas,
Desain yang dibuat dengan ‘asal-asalan’
hanya akan membuat jera/jengkel pengunjung Web.
Perangkat Software Pendukung
Desain :
Untuk membuat desain suatu homepage biasanya para web designer dimulai dengan
software ini sebagai tampilan sementara atau dalam membuat layout homepage.
1.
2.
3.
4.
5.
t
e
N
Adobe Photoshop : Desain berbasis titik (bitmap/Pixel)
Adobe Image Ready : Memotong gambar-gambar ke dalam format html
Adobe Illustrator : Desain berbasis vector
CorelDraw : Desain berbasis vector
Macromedia Freehand : Desain berbasis vector
a
r
d
n
e
H
Efek Desain :
Hal ini dilakukan untuk menghidupkan desain yang telah kita rancang. Seperti menambah
efek cahaya, textur dan manipulasi teks.
By
1.
2.
3.
4.
Plugins Photoshop : Seperti Andromeda, Alien Skin, Eye Candy, Kai's Power
Tool dan Xenofex juga sangat mendukung untuk memberi efek desain sewaktu
anda mendesain layout homepage di Adobe Photoshop / Image Ready.
Macromedia Firework : Efek teks
Painter : Memberikan efek lukisan
Ulead Photo Impact : Efek frame dan merancangan icon yang cantik.
Animasi :
Penambahan animasi perlu untuk membuat homepage agar kelihatan menarik dan hidup.
1.
2.
3.
4.
5.
6.
7.
Macromedia Flash : Membuat animasi dan Efek-efek SWF
(Software serupa: Adobe Live Motion, Corel RAVE, SWiSH)
SWiSH : Membuat berbagai macam efek text dengan format file FLASH.
Gif Construction Set : Membuat animasi file gif
Microsoft Gif Animator : Membuat animasi file gif
3D Studio Max : Untuk membuat objek dan animasi 3D
Swift 3D : Merancang animasi 3D dengan format file FLASH.
Ulead Cool 3D : Membuat animasi efek text 3D.
Web Editor :
Menyatukan keseluruhan gambar dan tata letak desain, animasi, mengisi halaman web
dengan teks dan sedikit bahasa script / Html.
Page 170 / 197
http://www.hendra-jatnika.web.id
1.
2.
3.
4.
5.
6.
7.
Macromedia Dreamweaver
Microsoft Frontpage
Alaire Homesite
Adobe Go Live
Corel WebDesigner
Cold Fusion
Net Object Fusion
Programming :
Hal ini dilakukan setelah sebagian besar desain homepage telah rampung. Programming
bertugas sebagai akses database, form isian, dan membuat web lebih interaktif.
Contoh : Membuat guestbook, Form isian, Forum, Chatting, Portal, Lelang, dan Iklanbaris.
1.
2.
3.
4.
5.
ASP (Active Server Page)
Borland Delphy
CGI (Common Gateway Interface)
PHP
Perl
(Baca: Fasilitas Pendukung / Menu Interaktif, hal. 21)
Upload :
File html kita perlu di letakkan (upload) di suatu tempat (hosting)
agar dapat diakses di seluruh dunia.
1.
2.
3.
4.
5.
t
e
N
Bullet FTP
Cute FTP
WS-FTP
Macromedia Dreamweaver : dengan fasilitas Site FTP
Microsoft Frontpage : dengan fasilitas Publish
a
r
d
n
e
H
Sound Editor :
Untuk mengedit file midi atau wav, perlu alat khusus untuk itu.
1.
2.
By
Sound Forge : Mengedit dan menambah efek file yang berformat mp3 dan wav.
Cakewalk : Mengedit dan menambah efek untuk file yang berformat midi
Banyak sekali memang software untuk membuat suatu homepage dan kita tidak perlu
mempelajari semua software tersebut di atas. Tapi untuk mempermudah, bagi pemula
dalam mendesain web lebih baik dimulai terlebih dulu dengan mempelajari software Web
Editor seperti Microsoft Frontpage atau Macromedia Dreamweaver agar lebih mengenal
aturan-aturan membuat homepage dan mengenal bahasa html.
Sekilas tentang: Adobe Image Ready
Software yang memang ‘khusus’ dibuat oleh Adobe untuk keperluan Web Design.
(Seperti halnya dengan Adobe Photoshop) fungsi Image Ready adalah untuk memanipulasi
Image, me-retouch, memberi effect-effect pada image, dst dengan Optimized
(kompressi) yang dirancang khusus untuk keperluan Web.
Kelebihan lain dari Image Ready:
membuat Animasi GIF sederhana untuk keperluan Web.
Sekilas tentang: Macromedia Flash
Adalah format animasi berbasis web.
Page 171 / 197
http://www.hendra-jatnika.web.id
Mungkin tidak asing lagi dengan nama Flash. Macromedia Flash merupakan salah satu
Software yang sering digunakan dalam membuat animasi berbasis Web dengan format
Shockwave (.SWF).
Untuk melihat file SWF melalui browser generasi awal diperlukan Pug-in Khusus.
Dengan berkembangnya popularitas Flash, system Windows dan Machintosh serta browser
generasi terbaru sudah mendukungnya tanpa perlu Plugin) .
Banyak orang dibuat kagum olehnya, disebabkan karena ukuran filenya yang begitu kecil
tetapi dapat menampilkan animasi di web yang luar biasa mengagumkan. Segala bentuk
effect, sound, games interaktif, dst dapat dibuat dalam software ini.
FLASH dimulai sebagai software untuk membuat animasi cel (Baca: Kartun) bernama
Future Splash. Dengan perangkat ini, dimungkinkan untuk membuat animasi dengan
ukuran kecil untuk didistribusikam melalui Internet. Dengan kemampuan Macromedia di
bidang Multimedia, FLASH kini dikembangkan menjadi perangkat Multimedia Interaktif.
Software serupa muncul seperti:
Adobe Live Motion, Corel Rave, SwiSH, dan banyak lagi.
Dengan kepopuleran FLASH,
akhirnya banyak vendor mengintegrasikan format FLASH pada softwarenya. Seperti:
Software Vektor (Freehand, Illustrator, CorelDraw), Video (Affter Effects, Director), 3D
(Max, Maya) dan banyak lagi, - sudah bisa meng-output langsung ke dalam format ini.
t
e
N
a
r
d
By
n
e
H
Page 172 / 197
http://www.hendra-jatnika.web.id
Unsur-unsur Visualisasi Web
Terdapat beberapa hal yang perlu menjadi perhatian
dalam merancang sebuah Web, antara lain:
1. Sign System WebSite
Dalam menjelajah sebuah web, kadang diperlukan sebuah Sistem Tanda
(Sign System), yang dapat dibagi atas:
Menurut Fungsinya:
Button Menu Utama, Contoh:
t
e
N
a
r
d
n
e
H
Button Sub Menu, Contoh:
By
Navigasi, Contoh:
Back
(Back to Top)
Page 173 / 197
Next
http://www.hendra-jatnika.web.id
Button Lain-lain, Contoh:
Download
SIGN IN
SKIP
Isi !
Home
Batal !
Menurut Bentuknya:
Icon Menu
:
Tombol Menu yang disertai Simbol/Grafis yang unik.
Location
Tarif & Package
Schedule
NEWS
t
e
N
a
r
d
By
n
e
H
Hover Button
:
Tombol yang memiliki efek/berubah bila disentuh kursor mouse.
Bullets
:
Icon Kecil. (Lihat :)
Web Application :
 Original Concept Application Design
 Database design
 Database manipulation application
 Database Technology :
 Mapping Database
Mini Icon (Bullets)
Page 174 / 197
http://www.hendra-jatnika.web.id
2. Form Field
Form Pilihan ataupun Isian untuk keperluan-keperluan tertentu
(Terdapat Program khusus), antara lain:
Drop Down Menu / Multi Select Drop Down Menu
Text Box
t
e
N
a
r
d
Memo Box
By
n
e
H
Page 175 / 197
Check Box
http://www.hendra-jatnika.web.id
3. Lain-lain
Site Map
Struktur Web dalam bentuk bagan
Index.html / Default.html
Merupakan nama file untuk halaman pertama dan sudah merupakan standard
perancangan web saat ini.
Hit Counter
Angka yang menunjukkan jumlah pengunjung.
Banner
Banner Sponsor /Informasi Singkat /Promosi produk tertentu.
Agar menarik, biasanya dibuat animasi atau memakai effect-effect tertentu.
Hak Cipta /Mandatoris /webmaster /Disclaimer
Biasanya diletakkan pada Cover (Paling Bawah) dan atau di tiap halaman.
Contoh :
t
e
N
Please send comments, feedback, and suggestions to
[email protected]
About Webmaster - Last update on 5 July 2002
Copyright ©1999 - Siloam Gleneagles
a
r
d
n
e
H
Get a better view from our web site through 800x600 screen resolution,
High Colour 16 Bit and more features by access with Internet Explorer 4.0.
By
Data contained here in is solely for information only & should not be used as a basis for any transaction
whatsoever.
Siloam Gleneagles shall not be held liable or responsible for any inaccuracies in the data
obtained from outside sources.
Menu Interaktif / Fasilitas Pendukung
Interaktif, terjemahan gampangnya adalah: “Komunikasi”.
Menu Interaktif di Internet maknanya adalah Komunikasi antara Netter dengan
Netter lain dan Pemilik Web yang bersangkutan.
Menu Interaktif ada beberapa macam, antara lain:
GUESTBOOK
Buku tamu biasa digunakan supaya pengunjung web kita dapat meninggalkan
pesan dan kesannya tentang web Anda.
WEB HOSTING
Tempat menyimpan file html, agar desain homepage kita dapat dilihat oleh
pengunjung di seluruh dunia.
CHATTING
Fasilitas ngobrol.
Page 176 / 197
http://www.hendra-jatnika.web.id
POOLING / Jajak Pendapat
Bila Anda ingin tahu jawaban terbanyak dari para pengunjung tentang pilihan
dari pertanyaan-pertanyaan Anda.
MAILING LIST
Membuat komunitas lewat email yang membicarakan hal-hal tertentu bersama
orang lain.
WEB STATISTIK
Melihat statistik homepage Anda. Dari mana saja pengunjung berasal, browser
apa saja yang mereka pakai, hari apa saja homepage kita ramai dikunjungi
orang.
WEB CHECK
Mengetahui kecepatan loading dan spesifikasi tentang homepage anda.
Konsultasi
Message Board
Dan masih banyak lagi…
Untuk menambahkan Fasilitas pendukung tersebut, Anda dituntut paham
tentang pemrograman asp, php, atau perl.
t
e
N
a
r
d
Namun ada banyak situs yang menyediakan fasilitas tersebut secara Cuma-Cuma
(Gratis) namun tentunya hal yang kita dapatkan secara gratis akan diimbangi
dengan sesuatu yang harus kita terima. Biasanya mereka menampilkan banner
[iklan] di homepage kita dan ini sebenarnya sangat menganggu, tapi tetap saja
kita harus menerima bila ingin menggunakan fasilitas gratis tersebut.
Web Hosting
By
n
e
H
Pilihlah Rumah Yang Nyaman Untuk Homepage Anda!
Pada saat Anda membangun sebuah situs web atau homepage, pada saat itu juga Anda
harus berpikir web hosting mana yang ingin digunakan. Sebab agar situs yang Anda buat
dapat dilihat pengunjung dari segala penjuru dunia, file web tersebut mau tidak mau harus
diletakan di sebuah server web yang tersambung ke internet 24 jam setiap hari.
Komputer atau server tersebut dapat berupa komputer di rumah, kantor atau di service
web hosting yang banyak bertaburan di internet. Dan apapun yang Anda pilih, selalu ada
pro dan kontra yang harus diperhitungkan baik-baik.
Saat ini ada banyak perusahaan yang menyediakan tempat gratis untuk menempatkan situs
web Anda misalnya, Geocities, Tripod dll. Persoalannya sekarang adalah: Anda harus
memilih yang mana? Yang gratis atau yang bayar? Apakah harus memilih tempat yang gratis
tersebut atau menyewa tempat di suatu perusahaan web hosting?
Semua pilihan - akhirnya - kembali harus Anda yang memutuskan. Sebagai satu
pertimbangan terpenting adalah seberapa serius Anda membuat situs web tersebut. Jika
hanya main-main, iseng, atau kepepet, tentu situs gratis harus Anda jadikan pilihan. Tetapi
jika Anda ingin serius serta takut jatuh gengsi, maka yang Anda harus pilih adalah jasa web
hosting dan web design profesional.
Page 177 / 197
http://www.hendra-jatnika.web.id
Apa sih bedanya yang signifikan? Silahkan Anda baca tabel dibawah ini:
Fasilitas
Kapasitas
Keamanan
Banner Iklan
Penggunaan Script
Manajemen Informasi
Up to date
Gratis
Bayar
Terbatas
Sesuai yang disediakan
Banyak
Tidak ada - Terbatas
Agak bikin repot
Tidak terbatas
Tergantung yang Anda bayar
Lebih baik dari yang gratis
Tidak ada
Sesuai yang Anda bayar
Mudah
Tidak terbatas
CATATAN:





Tidak ada situs web yang tidak bermasalah. Misalnya, Anda tidak bisa
meng-update isi, situs tidak bisa di akses, dan yang paling parah adalah
situs Anda di hack orang. Jika salah satu contoh diatas terjadi, yang
harus Anda lakukan adalah menghubungi bagian customer service.
Hati-hati, banyak perusahaan yang menawarkan kecepatan akses!
Supaya Anda tidak terjebak, jika memungkinkan, Anda harus melihat
dalam server macam apa data Anda akan tersimpan. Kalau Anda punya
duit cukup banyak, lebih bagus bila Anda memasang server sedniri
[server colocation] di sebuah perusahaan ISP, web hosting atau data
center.
Cari tahu berapa banyak situs web yang tersimpan di satu server.
Optimalnya adalah sekitar 100 - 150 situs untuk sebuah server dengan
prosesor Pentium 1 GHz dan RAM 512 MB.
Tanyakan pada web hosting yang Anda pilih, apakah perusahaannya
membuat backup secara teratur. Seandainya tidak, lekas-lekaslah Anda
angkat kaki dan mengucapkan selamat tinggal. Cari perusahaan yang
lain!
Keamanan. Bagian ini amat penting. sebab data Anda yang tersimpan
harus aman 'lahir-batin'. Syukur-syukur ada asuransi yang bisa Anda
klaim, kalau server perusahaan tersebut mengalami kerusakan yang
cukup lama.
t
e
N
a
r
d
By
n
e
H
mau PILIH YANG GRATIS ?
Jika Anda ingin membuat sebuah web pages yang kecil dan sangat sederhana,
sebaiknya pilih yang gratis saja. Ada banyak situs-situs yang menyediakan layanan
gratis ini.
Pada web hosting gratis yang cukup terkenal seperti Geocities telah menyediakan
beberapa cara untuk membuat dan mem-promosikan situs Anda dengan beberapa
langkah mudah. Tool pembuatan situsnya terbagi dalam dua kategori: PageWizard
untuk pemula, dan File Manager and Advanced HTML Editor untuk pemakai yang
lebih mahir.
Untuk pemula, Anda tinggal menjawab beberapa pertanyaan yang sudah tertera di
sana, dan Geocities akan langsung membuatkan sebuah situs yang menarik untuk
Anda.
Fasilitas pendukung [Add On] yang diberikan oleh Geocities sangat beragam. Dari
mulai Hits Counters, Guest Book, Statistik, Keadaan Cuaca, Game sampai Web
Page 178 / 197
http://www.hendra-jatnika.web.id
Camera! Anda dapat menambahkan semua fasilitas yang tersedia secara cumacuma.
Berbeda dengan Geocities yang hanya menyediakan tempat gratis sebesar 15 MB,
Tripod akan menyediakan 50 MB untuk Anda. Selain mendukung fasilitas FTP dan
Frontpage 2000, Anda juga dapat memilih applikasi CGI Script serta Javascript. Bila
bergabung ke Lycos, Anda akan diberikan e-mail dan voicemail, instant messaging,
download software dan mendengarkan lagu-lagu kesukaan Anda. Semuanya - sekali
lagi - gratis!!!
Nah, jadi tunggu apa lagi? Masih banyak kok situs-situs yang menyediakan web
hosting gratis. Kapasitas dan fasilitasnya - tentu saja - berbeda-beda. Anda bisa
memilih yang mana saja sesuai selera!
Langkah-Langkah Membuat Homepage
Ada bermacam-macam langkah yang digunakan profesi web untuk membuat suatu
website/ homepage. Berikut ini adalah proses secara umum yang dilakukan
kebanyakan profesi web di Indonesia untuk membuat web.
1.
Membuat Sketsa Desain : Desainer biasayanya menuangkan ide dalam
membuat interface suatu homepage dalam bentuk sketsa di kertas dahulu.
Untuk itu jangan pernah melupakan “Sketsa” dalam memulai setiap
rancangan… karena perencanaan yang baik adalah Sketsa. (sketsa adalah
“Senjata utama” seorang desainer).
Membuat Layout Desain : Setelah sketsa sudah jadi, kita menggunakan
software seperti Adobe Photoshop /Adobe Illustrator /Macromedia
Fireworks /Macromedia Freehand, dan banyak lagi (sesuai selera) untuk
memperhalus sketsa desain.
Membagi gambar menjadi potongan kecil-kecil : Setelah layout desain
homepage sudah jadi. File gambar tersebut dipecah menjadi potongan
kecil-kecil untuk mengoptimize waktu download pengunjung situs. Untuk
melakukan hal tersebut dapat digunakan software Adobe Image Ready.
Software ini dapat langsung memotong gambar yang besar tadi dan
otomatis juga menjadikannya ke dalam format html.
Membuat Animasi : Animasi diperlukan untuk menghidupkan
web/homepage kita agar menarik pengunjung. Macromedia Flash dan Gif
Construction Set dapat dipakai untuk melakukan hal tersebut.
Membuat HTML : Setelah itu kita merapikan layout desain kita seperti
menempatkan beberapa tombol dan gambar, menambah text, mengedit
script HTML, membuat layout form ke dalam format HTML. Untuk itu kita
perlu software HTML Editor seperti Macromedia Dreamweaver, Microsoft
Frontpage, dll (sesuai selera).
Programming dan Script : Untuk website e-commerce, iklan baris, lelang,
database, membuat guestbook, counter, dan forum diskusi. File HTML kita
perlu programming untuk melakukan aktivitas semacam itu. Programming
dan script ini bisa dibuat dengan menggunakan ASP, Borland Delphy, CGI,
PHP, Visual Basic. Dan perlu diperhatikan bahwa programming dan script
ini biasanya dilakukan setelah desain web/homepage kita telah jadi.
Upload HTML : Setelah file kita telah menjadi html beserta gambar dan
scriptnya, kita perlu meng-upload file kita ke suatu tempat (hosting0, agar
semua orang di dunia dapat mengakses halaman html kita. Biasanya
Macromedia Dreamweaver dengan fasilitas site FTP dan Microsoft
t
e
N
2.
3.
4.
5.
6.
7.
a
r
d
By
n
e
H
Page 179 / 197
http://www.hendra-jatnika.web.id
8.
Frontpage dengan Publishnya telah menyediakan fasilitas upload ini. Atau
dapat menggunakan software seperti WS-FTP, Cute FTP, Bullet FTP.
Homepage Pribadi : Untuk homepage pribadi atau yang sekedar ingin
coba-coba biasanya setelah file html sudah jadi dapat hosting di tempattempat gratis, memakai guestbook dan counter gratis dan menambah
macam-macam accesories dalam mempercantik homepage pribadi
tersebut. Lihat tutorial Fasilitas gratis pendukung homepage.
Cara Mengenalkan Homepage
Setelah Anda selesai mendesain dan meng-upload file bukan berarti tugas Anda
sudah selesai. Apa artinya Anda punya website tapi nggak ada orang yang tahu ?
Nah, supaya website Anda dikenal orang ada beberapa cara yang bisa Anda
lakukan, yaitu :

Daftarkan ke search engine
Search engine banyak digunakan orang untuk mendapatkan alamat suatu
situs berdasarkan keyword yang mereka masukkan. Di internet sekarang ini
terdapat ratusan, bahkan ribuan search engine. Mulai dari yang ecek-ecek
sampai yang besar (yang dikelola secara professional). Anda tidak harus
mendaftarkan web Anda ke semua search engine tersebut, tapi daftarkan
saja ke beberapa search engine yang terkenal (baik itu yang ada di
Indonesia maupun di luar negeri).
t
e
N
Yang pertama, pada saat Anda mendaftar pada suatu search engine Anda
harus memasukkan keyword dan deskripsi singkat tentang web site Anda.
Contohnya Search Indonesia, Catcha, Google dll.
a
r
d
n
e
H
Yang kedua, pada saat mendaftar Anda cukup menunjukkan URL website
Anda. Setelah itu, search engine tersebut akan "menjelajah" ke web Anda
dan mencari keyword dan deskripsi yang terletak pada meta tag halaman
web Anda. Untuk itu, sebelum upload, pastikan bahwa Anda telah
menuliskan meta tag tersebut dengan benar.
By

Ikut Banner Exchange
Ini cara lain untuk mengenalkan web Anda. Dengan mengikuti pertukaran
banner maka Anda diwajibkan untuk menampilkan banner orang lain (yang
menjadi anggota) pada situs Anda. Dan sebaliknya banner Anda pun akan
ditampilkan pada situs lain. Ukuran banner yang digunakan biasanya 468 x
60 pixel. Untuk membuat banner GIF Animasi Anda dapat menggunakan
Adobe ImageReady.
Profesi-Profesi Pekerja Web
Tumbuhnya internet makin lama makin sangat diperlukan oleh segala lapisan masyarakat,
mulai dari kalangan pelajar sampai kepada kalangan bisnis. Dengan adanya World Wide Web
membuat dunia informasi semakin diminati dan dirasakan kegunaannya, dimulai dari
penayangan profil hingga ke jalur transaksi sudah banyak dilakukan melalui web di masingmasing situs milik masing-masing. Kebutuhan seperti ini menimbulkan banyak profesiprofesi baru didalam dunia internet, diantarnya :
Page 180 / 197
http://www.hendra-jatnika.web.id
- Web Designer - Web Programmer - Web Administrator - Web Master - Web Developer
Web Designer
Tugasnya adalah pendisainan tampilan situs (web) mulai dari pengolahan gambar, tata
letak, warna, dsb. Didalam pendandanan suatu situs seorang Web Designer harus menguasai
:
- HTML, DHTML
- Pengolah Gambar
- Animasi, Movie (Film)
Web Programmer
Jika situs yang akan dibuat mempunya fasilitas interaksi antara pengunjung dan situs
misalnya menyangkut dengan transaksi, input output data dan database maka seorang Web
Programmer yang akan mengerjakannya dengan membuat aplikasi-aplikasi yang berkerja
diatas situs (web). Penguasaan yang biasanya harus dikuasai pada umumnya oleh Web
Programmer :
- CGI Perl, PHP, MySQL (Unix base)
- ASP (NT base)
- JSP (Java Server Page)
- Java Script dan Applet
t
e
N
Web Administrator
Tugasnya adalah untuk memaintenance suatu server, mengerti akan Sistem Operasi Server,
baik itu mulai dari instalasi sampai kepada masalah (troubleshooting), biasanya seorang
Web Administrator harus menguasai :
- OS Unix (LInux, FreeBSD, dll)
- OS NT
- Jaringan (LAN, WAN, Intranet)
- Keamanan Server
a
r
d
By
n
e
H
Web Master
Seoarang Web Master adalah seorang yang mengerti akan kesemua hal mulai dari desain,
program dan keamanan server namun tidak terlalu turut mencampuri ke masing-masing
divisi, cukup dengan mempertanggun jawabkan atas jalannya suatu situs (web). Penguasaan
yang harus dimiliki :
- HTML, DHTML
- Web Desain (DreamWeaver, Flash, Adobe)
- CGI Perl, PHP, MySQL, ASP, Java
- Penguasaan bermacam OS (Operating System)
- Keamanan Server
- Jaringan (LAN, WAN, Intranet)
Web Developer
Kegiatan diatas secara keseluruhan dinamakan suatu team yang dinamakan Web Developer.
Dari kesemua penjelasan ini hanya bersifat pada umumnya, jika ada kerangkapan tugas
maupun penambahan penguasaan dan pengetahuan, semua tergantung dari kebutuhan
pihak masing-masing.
Page 181 / 197
http://www.hendra-jatnika.web.id
t
e
N
a
r
d
By
n
e
H
Page 182 / 197
http://www.hendra-jatnika.web.id
Lebih lanjut dengan promosi web melalui search engine
Promosi website manjadi begitu penting, karena mendatangkan pengunjung sama
susahnya (bahkan lebih susah) daripada membuat website itu sendiri. Jika Anda baru saja
berhasil membangun sebuah website, itu hanya merupakan langkah awal dari proses web
development. Karena indikator utama sukses atau tidaknya sebuah website dilihat dari
banyaknya jumlah pengunjung potensial yang datang. Dalam hal ini, meskipun Anda
memiliki website dengan desain yang mewah dan teknologi scripting yang canggih, belumlah
bisa dikatakan sukses jika memiliki jumlah visitor yang kecil.
Banyak pengusaha-pengusaha yang merasa kecewa karena telah menghabiskan banyak biaya
untuk membuat website perusahaan, tetapi tidak mendatangkan hasil seperti yang diharapkan.
Penjualan produk dan jasa perusahaan tidak bisa meningkat seperti yang diharapkan. Semua
ini terjadi karena mereka kurang memperhatikan sisi promosi website, yang sebenarnya
merupakan bagian termahal dari proses web development.
Dalam hal ini banyak cara yang bisa dilakukan untuk mempromosikan website.
Promosi bisa dilakukan mulai dari cara tradisional secara off-line dengan memasang spanduk
pada tempa umum, melaui selebaran, melalui televisi dan radio hinnga secara on-line atau
memanfaatkan teknologi web. Pada bagian ini difokuskan pada pembahasan search engine
(mesin pencari) yang menyangkut kategorisasi search engine, cara kerja dan bagaimana
mempromosikan situs web secara efektif melalui search engine.
Promosi situs Web melalui Search Engine
t
e
N
Search Engine vs Directory
a
r
d
Keuntungan promosi melalui search engine dapat dilihat dari kenyataan bahwa lebih
dari 80% pemakai internet mengandalkan search engine sebagai alat pencari informasi
(berdasarkan research dari Georgia Tech's GVU Center). Jumlah ini akan terus bertambah
mengingat search engine merupakan cara yang termudah dan tercepat dalam mencari
informasi. Dengan terdaftarnya website Anda di search engine berarti akan memudahkan
orang lain mencari informasi produk/jasa yang Anda tawarkan. Yang lebih penting lagi,
informasi Anda akan jatuh pada orang yang tepat, karena pencarian pada search engine
disesuaikan pada keyword/kata kunci serta sistem direktori yang sangat terstruktur.
Sebelum melangkah lebih lanjut ada baiknya kalau Anda mengetahui apa itu search
engine, bagaimana mereka bekerja, dan apa perbedaan antara search engine dan directory.
Search engine merupakan sebuah sistem database yang dirancang untuk meng-index alamatalamat internet (URL, FTP, usenet, dll). Untuk melaksanakan tugasnya ini, search engine
memiliki program khusus yang biasanya disebut spider, bot, atau crawler. Pada saat Anda
mendaftarkan sebuah alamat web (URL), spider dari search engine akan menerima dan
menganalisa URL tersebut. Dengan proses dan prosedur yang serba otomatis, spider ini akan
memutuskan apakah web yang anda daftarkan layak diterima atau tidak. Jika layak, spider
akan menambahkan alamat URL tersebut ke sistem database mereka. Rangking-pun segera
ditetapkan dengan algoritma dan caranya masing-masing. Jika tidak layak, terpaksa Anda
harus bersabar dan mengulangi pendaftaran dengan periode tertentu. Jadi semua yang
namanya search engine, pasti memiliki program yang disebut Spider. Dan program inilah
yang sebenarnya menentukan apakah web site Anda bisa diterima atau tidak. Contoh
beberapa search engine terkenal adalah : Altavista, Google, Lycos, Northern Light, Hotbot,
dan masih bayak lagi.
Berbeda dengan directory yang meng-index halaman web secara manual. Manual yang
dimaksud adalah mereka menggunakan orang biasa untuk menganalisa setiap halaman web
yang masuk. Tidak menggunakan spider atau crawler seperti halnya search engine.
Keunggulan directory dibanding search engine adalah memberikan hasil pencarian yang lebih
relevan dengan kualitas yang relatif lebih baik. Tapi karena semua proses dilakukan secara
By
n
e
H
Page 183 / 197
http://www.hendra-jatnika.web.id
manual menggunakan editor manusia, jumlah database yang dimiliki biasanya jauh lebih kecil
dibandingkan dengan search engine. Itulah sebabnya sekarang ini banyak perusahaan yang
mengelola directory menerapkan sistem ganda, yaitu menggunakan directory + search engine.
Contoh nyata adalah Yahoo yang menggandeng Google sebagai search engine default-nya.
Contoh beberapa directory terkenal selain Yahoo adalah Open Directory Project, Looksmart,
dan NBCi.
Setelah mengetahui perbedaan antara search enginan dan directory, bagian
selanjutnya akan menjelaskan bagaimana mengoptimalkan halaman web Anda (dari segi
HTML), sebelum didaftarkan ke search engine. Akan sangat baik kalau Anda sebelumnya
sudah mengerti atau pernah belajar bahasa HTML, karena yang akan dibahas pada tutorial ini
banyak berhubungan dengan teknis penulisan HTML. Bagi yang sama sekali belum pernah
mempelajari HTML, saya sarankan untuk membaca tutorialnya terlebih dahulu. Tidak perlu
secara detail, cukup dasar-dasarnya saja. Tutorial HTML yang lumayan lengkap dapat Anda
temukan disini.
Rangking pada Search Engine
Memiliki halaman web yang enak dipandang mata, belum tentu memberikan
hasil yang baik pada search engine. Pada bagian ini akan dijelaskan bagaimana cara
mengoptimalkan halaman web dengan tag-tag HTML khusus, dan hal-hal apa saja
yang mempengaruhi rangking pada Search Engine.
Setiap search engine memiliki cara dan algoritma masing-masing untuk
menentukan rangking sebuah website. Tetapi beberapa poin dibawah ini sudah
umum dipakai tolok ukur oleh sebagian besar search engine, dan pastikan kalau
web site Anda memakainya.
Keyword pada domain name, jika suatu website yang berisi koleksi lagu-lagu mp3 misalnya,
akan sangat baik kalau digunakan domain www.mp3.com. Ini adalah cara kuno, tetapi sampai
saat ini masih tetap dipakai oleh search engine.
Keyword pada nama file, misalnya Anda memiliki halaman web yang berisi informasi
mengenai hotel di bali, sebaiknya disimpan dengan nama bali-hotels.html, ini juga akan
mempengaruhi rangking.
Keyword pada page title, tag <title> pada halaman HTML sangat penting untuk
dioptimalkan. Usahakan agar title yang digunakan mengandung keyword yang relevan
dengan isi halaman web.
Keyword pada headline, bagi Anda yang sudah menguasai HTML tentu mengenal tag
<H1>,<H2>, dst. Tag headline sangat baik dipakai untuk judul sebuah paragraf, misalnya :
<H1>Hotels in Bali</H1>. Headline sangat diperhitungkan oleh Search Engine.
Keyword yang relevan pada meta tag, Meta tags, adalah tag-tag HTML khusus yang
digunakan untuk menggambarkan keseluruhan dari isi web Anda. Meta tag akan kita bahas
secara khusus di bagian berikutnya. Janganlah menggunakan keyword yang sama sekali tidak
ada hubungannya dengan isi halaman web Anda. Hal ini bisa dideteksi oleh search engine dan
akan dianggap spamming.
Keyword pada page content, keyword yang diharapkan harus terdapat pada isi
halaman web. Gunakan juga frase atau kata-kata lain yang berhubungan dengan
keyword utama.
Link Popularity, adalah jumlah halaman web lain yang memasang link ke web site
Anda. Beberapa search engine utama sangat memperhatikan hal ini. Semakin besar
link popularity suatu web site, rangkingnya akan semakin tinggi.
Beberapa poin yang dijelaskan diatas akan dibahas lebih mendalam. Jika web site
sudah dioptimalkan sesuai dengan 7 poin tersebut, diharapkan akan mendapat
rangking yang baik pada search engine.
t
e
N
a
r
d
By
n
e
H
Page 184 / 197
http://www.hendra-jatnika.web.id
Penggunaan Meta Tag
Ada banyak meta tag sesuai dengan standar HTML 4.0 dari World Wide Web
Consortion, tapi sebenarnya yang betul-betul dipakai oleh search engine hanya 3,
description, keyword, dan robots. Lihat pada lampiran untuk mengetahui labih lanjut
Meta Tag.
Meta Tag Description
Meta tag description digunakan untuk memberikan gambaran umum mengenai isi
dari halaman web Anda. Ukurannya disarankan tidak lebih dari 200 karakter. Dan usahakan
agar description ini bisa menjadi kalimat-kalimat yang letaknya di awal halaman web page
yang bersangkutan. Contoh penulisan meta tag description adalah sebagai berikut:
<meta name="description" content="Promosi-web.com is a search engine tutorial that
explain how to get top rangking in all major search engine and get high traffic for your web
site. Available in Bahasa Indonesia.">
Beberapa search engine seperti Nothern Light dan Google tidak memakai meta tags sebagai
deskripsi hasil pencariannya. Yang mereka gunakan adalah kalimat-kalimat awal yang ada
pada halaman tersebut. Itulah sebabnya kenapa saya sarankan agar Anda menggunakan isi
dari meta tag description sebagai kalimat pembuka. Dan jika bagian paling awal dari web
Anda berupa sebuah menu, maka deskripsi yang ditampilkan pada hasil pencarian Northern
Light adalah seperti ini :
Home | Products and Service | Contact Us | About Us ...welcome to our online store, the best
place on the web to...
t
e
N
Meta Tag Keyword
Meta tag keyword sangat penting keberadaannya, karena menentukan kata kunci apa
yang bisa menemukan halaman web tersebut pada search engine. Sintak dasar dari meta tag
keyword adalah sebagai berikut :
<meta name="keywords" content="keyword1 keyword2 keyword3 ...">
atau ada juga yang menulis dengan pemisah tanda koma :
<meta name="keywords" content="keyword1, keyword2, keyword3, ...>
Keduanya berfungsi sama dan tidak ada pengaruhnya pada search engine. Tujuan pemakaian
tanda koma agar keyword-keyword tersebut lebih mudah dibaca. Yang perlu diperhatikan
disini adalah jangan mengulang sebuah kata lebih dari 3 kali, karena akan dianggap
spamming. Contoh pemakaian meta tag keyword yang salah adalah :
<meta name="keywords" content="bali, bali hotels, travel in bali, bali island, bali weather>
a
r
d
By
n
e
H
Disini terlihat sekali bahwa kata "bali", diulang lebih dari 3 kali. Contoh berikut ini tidak akan
dianggap spamming oleh search engine :
<meta name="keywords" content="bali hotels travel bali island bali weather">
Yang tak kalah pentingnya mengenai keyword adalah jangan membuat keyword yang tidak
ada hubungannya dengan isi halaman web Anda. Hal ini juga akan dianggap spamming.
Misalkan web Anda memuat informasi mengenai pariwisata di Bali, jangan sekali-kali
menambahkan "MP3" atau "Britney Spears" sebagai keyword hanya karena keywordkeyword ini merupakan keyword favorit di internet dan banyak dicari orang.
Meta Tag Robots
Tujuan utama penggunaan meta tag robots adalah untuk menentukan halaman web
yang mana bisa di-index oleh spider dan halaman web mana yang tidak. Tag ini sangat
berguna sekali terutama jika seuatu website memakai frame untuk navigasinya. Tentunya kita
tidak ingin menampilkan menu-menu dalam frame untuk dibaca oleh search engine. Format
dasar dari meta tag robots adalah sebagai berikut :
Page 185 / 197
http://www.hendra-jatnika.web.id
<meta name="robots" content="index | noindex | follow | nofollow">
Sebagai contoh, jika Anda ingin agar spider membaca main page, dan menelusuri semua link
yang ada maka tambahkan perintah berikut ini :
<meta name="robots" content="index follow">
Dengan perintah ini spider akan meng-index main page Anda dan menjadwalkan untuk
mengindex halaman-halaman lain yang bisa dicari melalui hyperlink (<a href="">).
Perintah berikut ini akan menginstruksikan agar spider tidak meng-index maupun menelusuri
link yang ada pada suatu halaman web.
<meta name="robots" content="noindex nofollow">
Setelah mengetahui tentang meta tag, bagian selanjutnya akan membahas mengenai
penyusunan content/isi halaman web yang search engine friendly, karena content merupakan
hal penting dalam kesuksesan situs web.
Pengoptimalan content situs web
Content adalah raja. Itulah kunci sukses untuk mendapatkan rangking yang tinggi
pada search engine. Bagian ini akan menjelaskan bagaimana merancang isi halaman web
yang search engine friendly. Namun tetap harus dijaga, agar visitor Anda betah membacanya.
Satu hal yang perlu diingat adalah website yang Anda miliki dirancang untuk visitor, bukan
untuk search engine. Janganlah terlalu berlebihan hanya karena ingin mendapat rangking
yang tinggi, tapi justru membuat isi halaman web tidak enak untuk dibaca. Jika hal ini tidak
dierhatikan, maka visitor hanya akan datang sekali saja dan mereka akan enggan untuk
berkunjung lagi. Langkah pertama, susunlah isi web Anda secara biasa. Buat kalimat-kalimat
yang menarik dan enak untuk dibaca. Tetapi usahakan agar keyword-keyword pada meta tag,
terpakai pada kalimat-kalimat di awal paragraf. Jagalah agar topiknya tidak terlalu meluas dan
tetap spesifik. Sebuah halaman web yang baik hanya berisi dua sampai tiga fokus bahasan.
Tip-tiperikutmerupakan langkah selanjutnya untuk mengoptimalkan halaman web: .
Perhatikan penggunaan gambar. Hindari penggunaan gambar/image yang terlalu berat pada
web Anda. Usahakan agar ukuran halaman web + gambar tetap dibawah 64 kb. Gunakan
software-software seperti Adobe Photoshop (menu file - save for web) untuk mengoptimalkan
gambar. Penggunaan Flash dan Java yang berlebihan sebaiknya dihindari.
Hindari pemakaian frame. Frame memang baik dipakai sebagai navigasi, tetapi bisa
membingungkan search engine. Halaman utama frameset biasanya tidak berisi content apaapa. Kalaupun Anda terpaksa menggunakan frame, ingatlah mencantumkan tag
<noframe></noframe> dan tuliskan rangkuman dari isi halaman web Anda pada tag tersebut
agar search engine yang tidak mendukung frame masih bisa membacanya.
Rancanglah agar web Anda bisa dibaca oleh semua browser. Halaman web yang tampak
cantik di Internet Explorer kadang-kadang hanya tampak blank pada Netscape Navigator.
Hati-hatilah dengan hal ini karena bisa menurunkan rangking pada search engine. Bukankah
kecantikan itu juga relatif bagi setiap orang :)
Gunakan keyword utama pada title halaman web. Isi dari tag <title></title> sangat
berpengaruh pada rangking search engine. Rancanglah sebuah title yang menarik untuk
dibaca dan jaga agar ukurannya tidak melebihi 70 karakter.
Usahakan agar halaman web Anda memakai page headline (H1-6), dan gunakan keyword
utama sebagai <H1>healine</H1>. Hindari pemakaian font yang terlalu kecil <font
size="1"> dan susah dibaca.
Jika Anda memasang image ingatlah agar selalu melengkapinya dengan atribut alt. Beberapa
search engine menggunakan alt tag sebagai pedoman relevansi hasil pencarian. <IMG
SRC="gambar.jpg" ALT="tambahkan beberapa keyword utama disini">.
Meskipun tidak banyak, beberapa search engine juga membaca comment tag. Isilah comment
tag Anda dengan beberapa keyword yang relevan.
Beberapa search engine utama seperti Altavista dan Google memberikan poin lebih banyak
untuk paragraf-paragraf yang letaknya di awal. Jadi seperti yang sudah disebutkan
sebelumnya, usahakan memakai keyword-keyword andalan Anda di awal halaman.
t
e
N
a
r
d
By
n
e
H
Page 186 / 197
http://www.hendra-jatnika.web.id
Doorway Page
Memang agak susah untuk mengoptimalkan halaman web sesuai dengan ketujuh tips
yang diberikan sebelumnya. Terutama dari segi content. Apalagi jika Anda membuat web
untuk sebuah perusahaan. Semua content (kalimat/paragraf) sudah diberikan apa adanya.
Anda tidak mungkin merubahnya dengan begitu saja. Begitu juga untuk web-web semacam
portal yang isinya beragam. Walaupun halam index-nya sudah Anda bolak-balik, tetap saja
susah mendapat posisi bagus untuk keyword tertentu. Jika menghadapi situasi seperti ini,
saatnya Anda menggunakan doorway page. Doorway page adalah sebuah halaman web yang
dibuat untuk menonjolkan satu sampai dua keyword saja. Satu atau dua keyword tersebut
akan menjadi inti pembicaraan dari sebuah halaman, sehingga search engine akan
menganggap isi halaman tersebut lebih relevan. Dari doorway page ini, bisa dipasang link
yang mengarah ke halaman index yang sebenarnya. Sebut saja Anda memiliki website
www.promosi-web.com, tetapi halaman indexnya sudah tidak bisa dioptimalkan lagi. Untuk
itu Anda harus membuat sebuah doorway page bernama promosi.html, karena "promosi"
adalah keyword yang Anda harapkan. Tapi perludiingatkan, pakailah doorway page hanya
jika terpaksa. Alangkah baiknya kalau Anda bisa mengoptimalkan halaman index yang asli.
Jika Anda sudah memutuskan untuk membuat doorway page, perhatikanlah langkah-langkah
berikut ini.
Putuskan untuk keyword apa doorway page tersebut akan dibuat. Pilih satu sampai tiga kata
yang Anda anggap paling potensial dan berhubungan dengan web Anda.
Optimalkan title, meta description, dan meta keyword-nya, sesuai dengan keyword utama
yang Anda pilih.
Mulailah membuat content yang panjangnya minimal 3 paragraf. Jangan membuat halaman
yang terlalu pendek, karena beberapa search engine seperti Altavista dan Northern Light akan
memprioritaskan halaman yang kaya akan content. Usahakan agar keyword-keyword yang
Anda pilih dipakai pada setiap paragraf.
Jika menggunakan gambar, jagalah agar ukurannya tidak terlalu besar dan isi bagian alt-nya
dengan keyword yang Anda pilih.
Simpan halaman web Anda dengan nama yang sebenarnya, contoh : promosi.html, jangan
disimpan dengan nama index1.htm atau index2.html.
Setelah semuaya sudah siap. selanjutnya sudah bisa mulai mendaftarkan website Anda ke
berbagai search engine utama.
t
e
N
a
r
d
By
n
e
H
Halaman Dinamis untuk Search Engine
Halaman web dinamis memang membuat tugas kita sebagai pengelola web menjadi
lebih mudah. Kita dapat mengupdate content setiap saat melalui sesi admin yang user friendly
tanpa harus membongkar kode-kode HTML. Semua itu memang sangat mengefisienkan
waktu dan tenaga. Tetapi ingat, tidak semua yang mudah itu baik. Spider dari search engine
lebih suka melahap halaman-halaman web yang bersifat statis ketimbang halaman dinamis
yang bisa berubah setiap saat.
Halaman dinamis biasanya ditandai dengan URL yang juga bersifat dinamis (ditandai dengan
adanya tanda tanya pada URL, seperti :
ttp://www.myweb.com/index.php?page=1). Dalam hal ini halaman dinamis bisa kelompokkan
menjadi dua macam, yaitu : content yang sama pada URL yang berbeda dan content yang
berbeda pada URL yang sama.
Spider bisa kebingungan pada saat menemui sebuah halaman web yang isinya sama, tapi
terdapat pada alamat URL yang berbeda-beda. Disini website kecil akan terlihat besar karena
banyaknya halaman, padahal isinya kebanyakan sama. Jika menemui kasus seperti ini, spider
dengan mudah akan mengabaikan website tersebut karena dikategorikan sebagai spamming.
Hal ini perlu dihindari.
Page 187 / 197
http://www.hendra-jatnika.web.id
Lain lagi pada kasus kedua yaitu content yang berbeda terdapat pada URL yang sama. Kasus
seperti ini biasanya terjadi pada halaman-halaman web yang diupdate pada jangka waktu
yang pendek, setiap jam atau bahkan setiap menit. Dalam hal ini search engine hanya
mengindex halaman tersebut sesuai dengan jadwal kedatangan spider, biasanya 3 minggu
hingga 3 bulan. Meskipun halaman tersebut diupdate keesokan harinya, listing di search
engine tetap tidak akan berubah, dan hanya akan berubah apabila spider sudah
mengunjunginya lagi.
Ada dua solusi yang dapat disarankan, agar sebagian besar halaman dinamis Anda bisa
terlisting, yaitu :
1. Dengan cara membuat site map yang bersifat statis.
Dari halaman site map ini Anda bisa membuat link mengarah pada setiap halaman dinamis
pada website Anda. Spider sangat menghargai link yang Anda buat ke setiap halaman, ia akan
menelusuri link tersebut secara langsung, dan jika halaman dinamis Anda mempunyai content
yang berbeda (tidak bersifat spamming atau mengulang content yang sama), kemungkinan
besar akan diterima. Apalagi halaman-halaman tersebut juga di-link oleh webiste lain yang
mempunyai domain berbeda, kemungkinan terlisting akan lebih besar lagi.
2. Memakai jasa paid inclusion
Jika mempunyai dana lebih, Anda bisa memakai jasa paid inclusion seperti yang disediakan
Altavista atau Inktomi. Dengan service ini spider dari search engine yang bersangkutan akan
datang lebih sering mengunjungi website Anda (bisa 2 sampai 3 hari sekali). Dengan cara ini
listing
halaman
dinamis
Anda
akan
terupdate
lebih
cepat.
t
e
N
a
r
d
Bagaimanapun juga menggunakan halaman statis tetap lebih baik disamping juga lebih
meringankan beban kerja server. Tetapi jika Anda harus menggunakan halaman dinamis,
cobalah cara-cara tersebut.
By
n
e
H
Daftar alamat dan layanan Search Engine
Mendaftar ke Search Engine ini ada gratis dan ada yang harus membayar. Search engine yang
tidak gratis akan lebih cepat dalam proses pengeluaran daftar dan lebih banyak jalur search
engine yang saling berhubungan.
Beberapa kategori dalam Search Engine:
The Major Search Engines
News Search Engines
Metacrawlers
Multimedia Search Engines
Search Utilities
Paid Listings Search Engines
Specialty Search Engines
Kids Search Engines
Regional Search Engines
Beberapa layanan search engine:
Seach Engine
AOL Search
AltaVista
Ask Jeeves
Direct Hit
Alamat Site
http://search.aol.com/
http://www.altavista.com
http://www.askjeeves.com
http://www.directhit.com
Page 188 / 197
Keterangan
Salah satu yang tertua.
Memberi pelayanan secara personal.
Menampilkan alamat site dan juga
http://www.hendra-jatnika.web.id
Excite
FAST Search
Google
HotBot
IWon
Inktomi
LookSmart
Lycos
MSN Search
Netscape Search's
Northern Light
Open Directory
RealNames
Yahoo
rangkingnya
Selain memakai index juga memakai
human-powered.
http://www.alltheweb.com/
Salah satu dengan jumlah index
terbanyak yang dijalankan oleh Terra
Lycos.
http://www.google.com
Pilihan terbaik dari layanan search
engine yang menawarkan banyak web
site dan pencarian images.
http://hotbot.lycos.com/
Pilihan favorit bagi peneliti.
http://home.iwon.com/index_gen.html Didukung oleh Televisi Network CBS
dan selalu memberikan hadiah-hadiah
secara teratur.
http://www.inktomi.com/
Aslinya Inktomi berada di UC
Berkeley
kemudian
penciptanya
membuka usaha sendiri dengan nama
yang sama dan mengisi index baru.
http://www.looksmart.com/
Index untuk pencarian dilakukan
secara bertahap, bekerja sama dengan
MSN Search, Excite, dll.
http://www.lycos.com/sitemap.asp
Lycos memulainya dengan pendataan
berdasarkan web yang masuk dan
masih membutuhkan data dari search
engine lain, namun sekarang sudah
dapat berdiri sendiri.
http://search.msn.com/
Bekerja sama dengan LookSmart
dengan hasil kedua berasal dari
Inktomi, juga dari RealNames, dan
Direct Hit.
http://search.netscape.com/
Hasil pencarian berasal dari Open
Directory dan data Netscape. Hasil
kedua datang dari Google, dll.
http://www.northernlight.com/
Pilihan favorit lainnya bagi peneliti
yang menampilkan index yang
banyak, selain itu juga ditampilkan
beberapa dokumen yang tidak dapat
dibuka tanpa bayar.
http://dmoz.org/
http://www.realnames.com
Sistem
yang
digunakan
lebih
sederhana
dengan
hanya
mencantumkan kata kunci yang
sederhana. Merupakan search engine
yang berhasil.
http://www.yahoo.com/
Yang paling pupolar yang memiliki
reputasi baik dalam membantu dalam
pencarian informasi dengan mudah.
http://www.excite.com
t
e
N
a
r
d
By
n
e
H
Page 189 / 197
http://www.hendra-jatnika.web.id
Lampiran
Tutorial META Tag
META Tag adalah tag-tag HTML yang memberikan informasi keterangan isi
dari suatu halaman web yang akan ditampilkan oleh pengunjung. Search engine
mengenalinya dan digunakan oleh pemilik situs web dan administrator untuk
menentukan positioning dan keterangan pada hasil pencarian search engine. Banyak
search engine dewasa ini bekerja dengan membaca META Tag sebagai bagian dari
formula index.
Meta tag ditempatkan pada lemen <HEAD> </HEAD> dari file HTML.

META Tag Abstract
Tag Abstract mendefinisikan suatu abstraksi ringkas dari situs web anda
META Tag Abstract sangat menyerupai tag META description, perbedaannya adalah
sebagai suatu abstraksi atau suatu ringkasan pendek dari META tag description.
t
e
N
Pada umumnya META Tag Abstract berupa satu baris kalimat yang memberikan
a
r
d
gambaran seluruh halaman. Walaupun search engine jarang menggunakan tag ini,
n
e
H
tetapi merupakan pelengkap yang berguna bagi search engine yang hanya
membaca sejumlah baris pertama dari halaman web anda.
By
Penulisan META Tag Abstract
META Name:
General Usage:
"Abstract"
<META name="Abstract" content="Abstract phrase">
Pemakaian oleh Search Engine
Walaupun tidak banyak search engine yang secara khusus mencari META tag
Abstract, tetapi hal tersebut menambahkan suatu generalisasi pada halaman anda di
bagian header yang sering dibaca oleh search engine pada saat menemukan suatu
halaman web.

META Tag Author
Tag Author mendeklarasikan siapa pembuat dokumen tersebut
Page 190 / 197
http://www.hendra-jatnika.web.id
META Tag Author mendefinisikan nama dari pembuat dokumen yang sedang dibaca.
Tag ini tidak didukung secara luas tetapi dikenali sebagai bagian dari META Tag
standar. Format data yang didukung meliputi nama, alamat email dari webmaster,
nama perusahaan atau alamat internet (URL). Format yang paling umum adalah
menyisip nama dari orang atau organisasi dan alamat kontak email. Sebagai contoh :
Webmaster ([email protected])
Penulisan META Tag Author
META Name:
General Usage:
"Author"
<META name="Author" content="Author Information">
Pemakaian oleh Search Engine
Walaupun tidak banyak search engine yang secara khusus mencari META Tag
Author, hal tersebut secara jelas mendefinsikan siapa pembuat dan/atau
bertanggung jawab mengupdate halaman web tersebut.

t
e
N
a
r
d
META Tag Copyright
n
e
H
Tag Copyright mendefinisikan informasi tentang hak cipta dokumen tersebut
By
META Tag copyright mendefinisikan pernyataan hak cipta yang ingin anda nyatakan
pada dokumen halaman web anda. Anda dapat menyertakan nama merek dagang,
nomor patent, hak cipta atau informasi lain yang ingin anda publikasi sebagai hak
cipta intelektual. META Tag Copyright adalah suatu pernyataan hak cipta dalam
bentuk bebas.
Pemakaian META Tag Copyright
META Name:
General Usage:
"Copyright"
<META name="Copyright" content="Copyright Statement">
Pemakaian oleh Search Engine
Walaupun tidak banyak search engine yang secara khusus mencari META Tag
Copyright, hal tersebut secara jelas menunjukkan peryataan dari pemilik atau
Page 191 / 197
http://www.hendra-jatnika.web.id
pengaturan lisensi secara langsung pada bagian header halaman web anda. Pada
umumnya, search engine tidak membaca dan/atau menyimpan informasi ini.

META Tag Description
Tag Description adalah suatu keterangan umum apa yang terkandung dalam
halaman web anda
Search engine yang mendukung META tag sering menampilkan META tag
description besamaan dengan title halaman anda pada hasil pencariannya. Search
engine sering mengambil seluruh META tag dari field description anda, tetapi
sesuatu yang senantiasa perlu diingat oleh para webmaster adalah keterbatasan
tempat tampilan search engine, biasanya kurang dari 20 kata yang mana dapat anda
gunakan untuk menarik perhatian pemakai, karena alasan ini biasanya ketika
membuat META tag ini, webmaster harus membuat kalimat pertama dari field
description mereka untuk menarik perhatian dari pemakai, dan sisanya untuk
keterangan lebih lanjut.
t
e
N
a
r
d
Pemakaian META Tag Description
META Name:
General Usage:
n
e
H
"Description"
<META name="Description" content="Your description">
By
Pemakaian oleh Search Engines
META Tag Description dan Keyword adalah dua META tag utama yang dicari oleh
search engine ketika mengindeks halaman web anda. Keterangan dan kata kunci
adalah kata-kata yang ingin anda tampilkan pada hasil search engine, jadi pastikan
bahwa anda memberikan tulisan yang sangat berarti pada kalimat yang ingin anda
gunakan untuk menerangkan seluruh halaman situs web anda.

META Tag Distribution
Tag Distribution mendefinisikan level dari distribusi dokumen yang ada
META Tag distribution mendefinisikan level atau tingkat dari distribusi dari halaman
web anda dan bagaimana klasifikasinya dalam hubungan dengan metode distribusi
pada world wide web. Sampai sekarang hanya ada tiga bentuk distribusi yang
didukung oleh tag distribution : Global (menunjukkan bahwa halaman web anda
Page 192 / 197
http://www.hendra-jatnika.web.id
ditujukan untuk distribusi massa pada setiap orang), Local (ditujukan untuk distribusi
lokal dari dokumen anda), dan IU - Internal Use (tidak ditujukan untuk distribusi
umum).
Penulisan Meta Tag Distribution
META Name:
Supported Distributions:
General Usage:
"Distribution"
Global | Local | IU
<META
name="Distribution"
Note: Only use one of the above
content="Global">
Pemakaian oleh search engine
META Tag Distribution jarang digunakan karena bisanya pembuat halaman web
mendistribusikan halaman mereka kepada setiap orang dengan suatu distribusi
global. Hampir semua webmaster mengabaikan tag ini kecuali anda ingin membatasi
jumlah pembaca, dalam banyak ini pemakaian META tag Robots adalah ide yang
t
e
N
lebih baik.

Expires META Tag
a
r
d
n
e
H
Tag Expires mendeklasikan kepada search engine kapan isi dari situs web anda
akan kadaluarsa
By
META Tag Expires mendefinisikan tanggal dan waktu kadaluarsa dari dokumen yang
diindex. Jika situs web anda hanya digunakan untuk suatu waktu terbatas atau
setelah
tanggal
tertentu
dokumen
menjadi
tidak
sah
lagi,
anda
harus
mengikutsertakan tag Expires untuk memberitahukan kepada search engine kapan
menghapus halaman anda dari database mereka.
Tag expires umumnya digunakan bersamaan dengan Tag Revisit yang berarti
membuat search engine mengunjungi kembali setiap beberapa hari. Hal ini
umumnya digunakan oleh situs web yang mengupdate isi mereka secara berkala
dan ingin search engine memperoleh suatu copy yang terbaru dari ini mereka.
Pemakaian META Tag Expires
META Name:
General Usage:
"Expires"
<META name="Expires" content="Tue, 01 Jun 1999 19:58:02 GMT">
Note: Requires RFC1123 date as shown above
Page 193 / 197
http://www.hendra-jatnika.web.id
Pemakaian oleh search engine
META Tag Expire pada prinsipnya digunakan sebagai arti memberitahukan kepada
search engine suatu tanggal tertentu ketika mereka harus menghapus halaman anda
dari database mereka. Jika halaman anda kadaluarsa pada suatu tanggal tertentu,
adalah disarankan untuk menentukan tag ini dengan satu atau dua hari sebelum
waktu kadaluarsa sehingga search engine memiliki waktu untuk menghapusnya,
sehingga pengunjung tidak mendapatkan informasi yang sudah kadaluarsa.

META Tag Keywords
Tag Keyword adalah suatu urutan dari kata kunci yang mewakili isi dari situs anda
Search engine yang mendukung META tag sering menggunakan kata kunci yang
ditemukan dalam halaman anda untuk melakukan kategori situs web anda
berdasarkan pada algoritma indexing pada search engine. Pastikan anda memiliki
t
e
N
kata kunci yang sesuai untuk situs anda dan hindari perulangan yang mana akan
menyebabkan
search
engine
a
r
d
menurunkan
rangking
anda
sebagai
usaha
mengacaukan sistem mereka. Sama dengan META Tag Description, search engine
n
e
H
memberikan prioritas pada sejumlah kata pertama pada keterangan anda, jadi
By
fokuskan pada kata kunci utama anda dan yang selanjutnya merupakan sinonim
atau kata lain yang berhubungan.
Pemakaian META tag keyword
META Name:
General Usage:
COPYRIGHT
NOTICE:
"Keywords"
<META name="Keywords" content="first, second, third">
Ketika membuat kata kunci untuk situs web anda, jangan mencantumkan
merek dagang atau hak cipta perusahaan lain. Banyak perusahaan telah
memenangkan tuntutan hukum untuk usaha "mencegah" trafik ke pesaing
pada search engine.
Pemakaian oleh search engine
META Tag Keyword dan Description adalah dua META tag prinsipil yang dicari oleh
search engine ketika mengindex situs web anda, keterangan dan kata kunci yang
anda tentukan adalah sama dengan kata-kata yang akan ditampilkan pada hasil, jadi
Page 194 / 197
http://www.hendra-jatnika.web.id
pastikan anda menempatkan kata-kata yang berarti yang menerangkan situs web
anda.

META Tag Language
Tag Language mendefinisikan bahasa yang digunakan pada halaman web anda
META Tag Language mendeklarasikan kepada pemakai akan bahasa yang
digunakan pada dokumen yang diindex. Search engine yang mengindex halaman
berdasarkan bahasa sering kali membaca tag ini untuk menentukan bahasa apa
yang didukung. Tag ini khususnya sangat berguna bagi situs web bukan berbahasa
english atau memiliki banyak bahasa.
Pemakaian META Tag Language
HTTP-EQUIV:
Supported
Languages:
"Content-Language"
All RFC1766 compliant languages. A small excerpt of available languages
is
found
below:
BG
(Bulgarian)
CS
(Czech)
DA
(Danish)
DE
(German)
EL
(Greek)
EN
(English)
EN-GB
(English-Great
Britain)
EN-US
(English-United
States)
ES
(Spanish)
ES-ES
(Spanish-Spain)
FI
(Finnish)
HR
(Croatian)
IT
(Italian)
FR
(French)
FR-CA
(French-Quebec)
FR-FR
(French-France)
IT
(Italian)
JA
(Japanese)
KO
(Korean)
NL
(Dutch)
NO
(Norwegian)
PL
(Polish)
RU
(Russian)
SV
(Swedish)
ZH (Chinese)
<META HTTP-EQUIV="Content-Language" content="EN">
t
e
N
a
r
d
By
General Usage:
n
e
H
Pemakaian oleh search engine
Page 195 / 197
http://www.hendra-jatnika.web.id
META Tag Language tidak terlalu sering digunakan oleh search engine walaupun
halaman web anda bukan berbahasa english atau lebih dari satu bahasa, anda
mungkin ingin menggunakan META Tag ini untuk memberitahukan kepada search
engine bahwa situs anda adalah multi-lingual dan memberitahukan bahasa yang
didukung

META Tag Revisit
Tag Revisit mendefinisikan berapa hari search engine harus mengunjungi kembali
halaman anda
META Tag Revisit mendefinisikan berapa sering suatu search engine atau spider
mengunjungi situs web anda untuk melakukan indexing ulang. Sering kali tag ini
digunakan oleh situs web yang mengubah isi halaman situs mereka dengan suatu
basis tertentu. Tag ini dapat juga digunakan untuk menaikan rangking halaman anda
jika search engine menampilkan hasil berdasarkan pengiriman yang terakhir.
t
e
N
Pemakaian META Tag Revisit
META Name:
General Usage:
a
r
d
"Revisit-After"
<META
name="Revisit-After"
Note: X indicates a number
en
By
content="X
Days">
H
Search Engines Usage
META Tag Revisit digunakan oleh search engine sebagai arti untuk memberitahukan
berapa sering suatu halaman web harus dikunjungi untuk indexing ulang. Tag ini
didukung oleh banyak search engine dan harus digunakan jika anda mengubah isi
halaman anda secara berkala.

META Tag Robots
Tag Robots mendeklarasikan kepada search engines apa isi yang akan diindex dan
dijaring
Robots, juga dikenal sebagai suatu spider, adalah mekanisme yang secara otomatis
menjaring situs anda, atau mencari halaman anda untuk melakukan kategori
informasi yang anda kirim ke search engine. Persisnya, seorang pemilik situs web
harus mengirim halaman utama dan robot akan mengunjungi situs anda dan
Page 196 / 197
http://www.hendra-jatnika.web.id
menggumpulkan semua halaman sub dan link yang berkaitan dengan halaman
utama. Bagaimanapun, tag ini memungkinkan anda mengendalikan halaman mana
saja yang akan di jaring, dan mana saja yang akan diabaikan. Sebagai contoh,
beberapa halaman web dan direktori (seperti: Script CGI) yang tidak anda ingin index
dalam search engine. Gunakan tag robots, anda dapat mendefinisikan halaman yang
diikuti, mana yang diindex dan mana yang diabaikan.
Pemakaian META Tag Robots
META Name:
Supported Types:
General Usage:
"Robots"
noindex | index | nofollow | follow
<META name="Robots" content="index,follow">
Pemakaian oleh search engine
META Tag Robots digunakan oleh search engine sebagai suatu arti untuk menentukan tingkat
dari penjaringan yang harus dilakukan oleh suatu search engine. Kebanyakan search engine
mencari META tag ini dan hanya mengindex halaman yang ingin anda index
t
e
N
a
r
d
By
n
e
H
Page 197 / 197
Download