ima sugu ni motto HANDS UP! sou yume wo utatte
zutto STAND UP! orenai hata kakage
nando datte kabe wo koetanda!
tomarazu ni saa ikou! HANDS UP!
mou sukoshi susundara, kotae ni tadoritsukeru darou
shinji tsuzuke tsuki susunde kita atarashi sekai
sousa bokura no yume no kakera ha hitotsu ni natta
yuru ga nai kizuna wo tsunagi mabushii mirai e!
ima sugu ni motto HANDS UP! sou yume wo utatte
zutto STAND UP! orenai hata kakage
nando datte kabe wo koetanda!
tomarazu ni saa ikou!
motto LOOK UP! sou mune wo hatte!
zutto STAND UP! nami wo tobikoete!
nagai wo sotto hitotsu nagi ni shite
mirai e to saa ikou! HANDS UP!
nokoshite kita ashiato ga itsuka kitto mata dareka no
hateshinaku nagai tabi no michishirube ni narudarou
hajimari nante daremoga onajide totsuzen'nanda
sono basho kara ippo fumidasebac yume ga ugokidasu!!
ima sugu ni motto HANDS UP! sou yume wo utatte
zutto STAND UP! orenai hata kakage
nando datte kabe wo koetanda!
tomarazu ni saa ikou!
motto LOOK UP! sou mune wo hatte!
zutto STAND UP! nami wo tobikoete!
nagai wo sotto hitotsu nagi ni shite
mirai e to saa ikou! HANDS UP!
yosete ha kaesu namima ni ukande iku
deai wakare, soshite mata
kono hata no shita de...
wasuretakunai itami ha kono mune ni
ano hi sotto kizami kondanda
dare ni mo makenai jibun wo kono te ni
nigirishimete ikunda!
ima sugu ni motto HANDS UP! sou yume wo utatte
zutto STAND UP! orenai hata kakage
nando datte kabe wo koetanda!
tomarazu ni saa ikou!
motto LOOK UP! sou mune wo hatte!
zutto STAND UP! nami wo tobikoete!
nagai wo sotto hitotsu nagi ni shite
mirai e to saa ikou! HANDS UP!
INDONESIA:
Kini angkatlah tanganmu lebih tinggi dan nanyikan lagu impian..
Teruslah berdiri tegap dan kibarkan bendera yang takkan hancur..
Sedapat mungkin melampaui dinding itu..
Ayo pergi tanpa berhenti sedikit pun.. HANDS UP!
"Jika kamu terus maju maka akan ada jawaban yang menghampiri"..
Teruslah percaya dan dunia baru pun akan segera datang..
Dan pecahan impian kita itu kemudian akan menjadi satu..
Ikatan yang tak tergoyahkan menghubungkan masa depan yang bersinar..
Kini angkatlah tanganmu lebih tinggi dan nyanyikan lagu impian..
Teruslah berdiri tegap dan kibarkan bendera yang takkan hancur..
Sedapat mungkin melampaui dinding itu..
Ayo pergi tanpa berhenti sedikit pun..
Teruslah mencari dengan rasa percaya diri..
Teruslah melangkah melewati semua ombak itu..
Harapan manusia pun mulai terhubung dengan lembut..
Mari kita bersama menuju masa depan.. HANDS UP!
Jejak kaki yang tertinggal suatu saat akan bertemu seseorang lagi..
"Perjalanan panjang yang tiada akhir" akan menjadi penunjuk jalan..
Titik awal bagi semua orang tiba-tiba akan menjadi sama..
Jika kamu mencoba melangkah dari tempat itu, impian akan bergerak..
Kini angkatlah tanganmu lebih tinggi dan nyanyikan lagu impian..
Teruslah berdiri tegap dan kibarkan bendera yang takkan hancur..
Sedapat mungkin melampaui dinding itu..
Ayo pergi tanpa berhenti sedikit pun..
Teruslah mencari dengan rasa percaya diri..
Teruslah melangkah melewati semua ombak itu..
Harapan manusia pun mulai terhubung dengan lembut..
Mari kita bersama menuju masa depan.. HANDS UP!
Kembali ke titik awal dan mengarungi ombak-ombak..
Kita bertemu dan kemudian berpisah..
Di bawah kibaran bendara ini..
Rasa sakit yang tak terlupakan di hati ini..
Terukir dengan lembut di hari itu..
Tak ada seorang pun yang mau merelakan kebebasan itu..
Ayo pergi dengan berpegangan tangan..
Kini angkatlah tanganmu lebih tinggi dan nyanyikan lagu impian..
Teruslah berdiri tegap dan kibarkan bendera yang takkan hancur..
Sedapat mungkin melampaui dinding itu..
Ayo pergi tanpa berhenti sedikit pun..
Teruslah mencari dengan rasa percaya diri..
Teruslah melangkah melewati semua ombak itu..
Harapan manusia pun mulai terhubung dengan lembut..
Mari kita bersama menuju masa depan.. HANDS UP!
Kazoekirenai hodo no "itsuka" haitsu ni nattara kanau no?
Kanau hi ha yattekuru no?
Aruku imi bakari kangaete
Hajime no ippoi ga fumidasezu ni
Jibun ni ii wake fueteku
Ichibyou taritomo modorezu ichibyou saki mo miezu
Konna basho de shinji kireru no ha kimi no kokoro
Nanatsu no umi wo wataru kaze no you ni
Aoi mirai ni yume wo egaku yo
Mune ga tsubure sou na hodo furimuku to itsumo kimi ga iru
Atsuku kimi ga iru
Kirameku kiseki ha nami shibuki sekaijuu ni
Hora michi afurete iru suiheisen ni tokeru orenji
Demo genjitsu to risou to genkai no kyoukaisen ga kowareteku
Nee tsugi ha kitto akiramenai
Hizashi sagashite sodatsu tsubomi no you ni
Kimi no egao ni terasarete gyutto tsuyoku naru
(Like the wind that blows across the seven seas)
Nanatsu no umi wo wataru kaze no you ni
Ashita ni akai hana wo sakasou
Kokoro no oashisu iki mo tomari sou na hodo
Tsuyoku kimi wo kanjitai
Kono sekai ga kanashiku mawaru toshitemo
Kimi to ikiru yo mou tsubasa ha tatamanai
(Like the wind that blows across the seven seas)
Nanatsu no umi wo wataru kaze no you ni
Aoi mirai ni yume wo egaku yo
Mune ga tsubure sou na hodo furimuku to itsumo kimi ga iru
Atsuku kimi ga iru
Tsuyoku kimi wo kanjitai
Nanatsu no umi wo wataru kaze no you ni
~Indonesia~
{Seperti Angin yang Berhembus Melewati Tujuh Lautan}
Kapankah "suatu hari nanti" yang tak terhitung tersebut menjadi kenyataan?
Atau bahkan menjadi kenyataan?
Hanya memikirkan tentang alasan aku berjalan,
Aku bahkan tidak bisa mengambil sebuah langkah
Di dalam diriku, hanya ada alasan yang bertumpuk
Tidak ada detik yang akan kembali, tidak ada detik yang datang lebih awal
Di sebuah tempat seperti ini, aku hanya bisa percaya padamu
Seperti angin yang berhembus melewati tujuh lautan
Ayo gambarkan sebuah masa depan di dalam mimpi kita
Setiap kali aku kembali kamu selalu ada
Begitu kuatnya ada di hatiku hampir bisa hancur
Keajaiban yang bersinar terang di dalam dunia yang memercikkan gelombang-gelombang
Lihat, sebuah cairan berwarna orange membanjiri cakrawala
Tetapi tetap, batasan antara realitas dan fantasi akan segera hancur,
Kita tidak akan gagal lagi lain kali
Seperti kuncup yang mencari sinar matahari untuk tumbuh
Senyumanmu selalu membuatku kuat (tegar)
(Seperti angin yang berhembus melewati tujuh lautan)
Seperti angin yang berhembus melewati tujuh lautan
Besok mari kita menyaksikan bunga merah bermekaran
Sampai nafas oasis di hatiku berhenti
Aku ingin merasakanmu dengan sangat
Bahkan jika dunia ini berputar dengan kesedihan
Aku akan ada denganmu, aku tidak akan melipat sayapku lagi
(Seperti angin yang berhembus melewati tujuh lautan)
Seperti angin yang berhembus melewati tujuh lautan
Ayo gambarkan sebuah masa depan di dalam mimpi kita
Setiap kali aku kembali kamu selalu ada
Begitu kuatnya ada di hatiku hampir bisa hancur
Aku ingin merasakanmu dengan sangat
Seperti angin yang berhembus melewati tujuh lautan
Rina Auchi & Yuka Saegusa - Nanatsu no Umi wo Wataru Kaze no you ni (DCM11)
(Download)
Takaku takaku kono te o nobashite
Kitto kitto tte Mou ichido negau kara
Tomedonai omoi wa Nichijou ni nomarete
Yuramekinagara mata Katachi o kaete itta
Sore de mo kono sekai de Ikiru imi sagashite
Mayoi tachidomari kizutsuite wa
Namida suru
Imasara mou osoi kana?
Henji no nai jimon jitou
Subete wa sou jibun shidai
Owari mo hajimari mo
Takaku takaku kono te o nobashite
Yasashii hikari o mezashite habataku yo
Kokoro ni tomoshita jounetsu o daite
Kitto kitto tte Mou ichido negau kara
Takanaru kono kodou ni Kizukanai furi shite
Tsuyogari no egao Itsu no ma ni ka umaku natta
Kazoekirenai hodo egaita
Kibou ni michita ano mirai wa
Kono omoi to urahara ni Mata sukoshi iroaseta
Tsuyoku tsuyoku nigitta kono te ga
Hakanaku hodokeru sadame da to shite mo
Kokoro ni nokotta tashika na kioku de
Zutto zutto tte Tsunagatte ireru kara
Fureru koto no dekinai
Chikakute tooi kyori o
Umeraretara tte
Nijimu sora o mita…
Takaku takaku kono te o nobashite
Yasashii hikari o mezashite habataku yo
Kokoro ni tomoshita jounetsu o daite
Kitto kitto tte
nandomo negau kara
INDONESIA :
Lebih tinggi, lebih tinggi kuulurkan tanganku
Aku yakin, aku yakin, sekali lagi harapan pasti terwujud
Perasaan tak berujung meluap dalam hari-hariku
Ini berubah bentuk lagi ketika goyah
Masih mencari makna untuk hidup di dunia ini
Ketika aku ragu, terluka dan berhenti
Aku menangis
Bertanya pada diri sendiri apa sudah terlambat sekarang?
Semua terserah padaku, untuk memulai atau mengakhirinya
Lebih tinggi, lebih tinggi aku ulurkan tanganku
Aku akan terbang menuju cahaya lembut
Sebuah semangat membara dalam hatiku
Aku yakin, aku yakin, sekali lagi harapan pasti terwujud
Aku berpura-pura tak memperhatikan degup jantung yang berdenyut ini
Sebelum aku tahu itu, aku baik-baik saja, berpura-pura tersenyum
Aku membayangkan banyak hal
Masa depan penuh harapan
Ternyata sedikit memudar dan bertentangan dengan apa yang kupikirkan
Dengan erat, dengan erat tangan ini terkepal
Bahkan jika takdir dengan mudah terlepas
Dalam kenangan yang tetap dalam hatiku
Kita akan selalu, selalu terhubung
Jika aku bisa mendekat perlahan dan tak menyentuh jarak antara kita
Aku menatap langit yang buram oleh air mata
Lebih tinggi, lebih tinggi aku ulurkan tanganku
Aku akan terbang menuju cahaya lembut
Sebuah semangat membara dalam hatiku
Aku yakin, aku yakin
Lagi dan lagi harapan pasti terwujud
Ikimono gakari - Haru Uta (Lagu Musim Semi) Detective Conan Movie 16 : The Eleventh Striker Ending
Tsutae takute todoke takute ano hi no kimi e
Itsu no hika no sayonara sae mo mune ni shimatte…..
Sora no ao sa ni me o hosomete nanigenaku kazashita te ni
Kaoru kaze ga sotto yokogiri kisetsu o mata tsugeru
Kuchibue o fui, fuite kazamuki ga kawaru yo ni
Sukoshi dake kimi wa namida shite ….
Ashita ga sukoshi kowai no to
Tsubuyaita kimi no yokoga o ga te wo mitsume teru
Tsutae takute todoke takute ano hi no kimi e
Itsu no hika no sayonara sae mo mune ni shimatte
Itsuka bokura oto nani naru soshite deaeru
Kimi to koko de yakusoku suru yo dakara egao de dakara egao de
Tsukami kaketa sono tenohira wa hirahira to te o hanarete
Tomaru koto o shiranu ashita wa tooi sora e kieru
Kurayami no naka aruite tesaguri no michi ni mieta
Iichiru no hikari ga aru to shiru…
Kotoba o aete sagashitara
Kibou no nimonji o bokura ichizu ni erabu darou…
Hanare nakute todoka nakute soko ni aru no wa
Itsu no hi ni mo futari miageta sora no ao sa de
Ano hi bokura mune ni nokoru yume o kaita
Dakara koko de kimi ni inoru yo Itsumo egao de….
Boku ga kimi ni moratta mono
Kimi ga boku ni hanashita koto kazoetara
Hoshifuru yoru ga hajimaru…..
Katachi no nai omoi o ima kimi no moto he nagaseba
Yakusoku no sono basho e futari o tsurete yuku
Tsutae takute todoke takute ano hi no kimi e
Itsunohika no sayonara sae mo mune ni shimatte
Itsuka bokura oto nani naru soshite deaeru
Kimi to koko de yakusoku suru yo
Dakara egao de dakara egao de…
INDONESIA:
Ingin kukatakan dan kusampaikan padamu di hari itu..
Entah sampai kapan pun kita berpisah, kau tetap ada di hati..
Birunya langit membuatku sedikit menyempitkan pandangan mataku..
Dan membuatku langsung menutup mataku dengan tangan..
Angin yang mewangi diam-diam berhembus dan sekali lagi menandakan akan sebuah musim..
Tiba-tiba saja ku bersiul dan berharap akan berubah menjadi arah angin..
Lalu kaupun sedikit mengeluarkan air mata dan berujar“Aku takut akan hari esok”..
Aku hanya memandangi raut wajahmu yang bergetar..
Ingin kukatakan dan kusampaikan padamu di hari itu..
Entah sampai kapan pun kita berpisah, kau tetap ada di hati..
Lalu, ketika nanti kita beranjak dewasa, kita pasti bisa bertemu..
Ku berjanji padamu di sini… maka tersenyumlah… dan tersenyumlah…
Telapak tangan yang kuraih itu mulai melayang jauh..
Hari esok yang tak kuketahui kapan berhenti, melayang jauh ke langit yang tinggi..
Ku berjalan di dalam gelap, dan ku coba meraba-raba hingga jalan itu terlihat..
Dan akhirnya ku tahu bahwa ada secercah cahaya…
Kalau ku bisa menyusun dan mencari kata yang tepat, dengan segenap hati kita akan memilih 2 huruf, yaitu “harapan”
Tak kutinggalkan dan tak tersampaikan..
Hal yang ada di sana…
Di birunya langit yang di hari itu kita pandangi, Kita melukis mimpi yang tertinggal di hati..
Maka ku di sini berdoa untukmu, selalu dengan senyuman..
Sesuatu yang kuterima darimu adalah sesuatu yang pernah kau bilang padaku..
Kalau ku hitung, malam yang penuh dengan bintang akan dimulai..
Kalau kucoba mengalirkan pikiran yang tak berwujud itu kearahmu..
Yakinlah bahwa itu akan membawa kita kepada tempat yang telah kita janjikan itu..
Ingin kukatakan dan kusampaikan padamu di hari itu..
Entah sampai kapan pun kita berpisah, kau tetap ada di hati..
Lalu, ketika nanti kita beranjak dewasa, kita pasti bisa bertemu..
Ku berjanji padamu di sini… maka tersenyumlah… dan tersenyumlah…
Daichi wo fumishimete kimi wa mezameteiku
Tenshi no hohoemi de tsuredashite!
Kodoku demo hitori janai sa
Umaretekita koto ni kanarazu imi ga aru
Yasashisa ni michiafureteru
Aoi hoshi ni arigatou
YOU CAN SMILE AGAIN
Taiyou abite
YOU CAN FLY AWAY
Sekai wa kimi no kagayaki wo matteru
Daichi wo fumishimete kimi wa mezameteiku
Tenshi no hohoemi de tsuredashite! (YOU CAN SMILE!)
"Hajimari" wa itsudemo osokunai sa
Nandodemo tachiagare!
Saigo made akiramenai sa
Yaritsuzukeru koto ni kanarazu imi ga aru
YOU JUST TRY AGAIN
Yami wo nukete
YOU JUST GO AWAY
Mirai wa itsumo bokutachi wo matteru
Oozora nukenukete kaihara koeteyuke
Tenshi no nage kissu tsukamaete! (YOU CAN TRY!)
Mada daremo mita koto nai sekai he
Tobidasou ashita
Daichi wo fumishimete kimi wa mezameteiku
Tenshi no hohoemi de tsuredashite! (YOU CAN SMILE!)
Owaranai bouken ni dekakeyou
Itsumademo dokomademo
Nagareochiru namida yuuki ni kaeteiku
Tenshi no hana hiroge maiagare! (YOU CAN FLY!)
Kanashimi mo itami mo tsutsumikonde
Tsuyoku nare ashita
Daichi wo fumishimete kimi wa mezameteiku
Tenshi no hohoemi de tsuredashite! (YOU CAN SMILE!)
"Hajimari" wa itsudemo osokunai sa
Nandodemo! (YOU CAN TRY!)
Nandodemo! (YOU CAN TRY!)
Nandodemo tachiagare!
Peristiwa yang terjadi
Terhempas datangnya pagi
Membuka jendela menghirup udara dalam dalam
Melihat semua tingkahmu
Dan ku hanya bisa tersenyum
Dihari kita bertengkar, terlihat kau tak mau bicara
Dan
Saat semua tawa jika kita berkhayal
Hal-hal yang berguna di dalam hidup kita
Semua canda yang telah muncul tanpa pemikiran panjang
Terkadang kita tak sadar mana hal penting
Mari ucapkan selamat pagi
Wujudkan mimpimu lagi
Semoga hari ini jadi hari yang indah
Ucapkan selamat pagi
Ku senang kau tlah kembali
Bicara dengan ku lagi seolah pertengkaran kita usai
Aku telah menyadari
Hanya kau satu –satunya
Yang bisa menyayangiku lebih dari siapapun
Walau terkadang ku kesal
Dengan semua perasangka
Tak perlu aku mengatakan karna akulah yang salah
Menghilang dalam diri, melangkahku bersamamu
Rangkulkan lengan bahuku, berjalan bersamamu
Karena kau teman terdekat, ku akan slalu bersamamu
Karena persahabatan ku tak mau berakhir
Mari ucapkan selamat pagi
Wujudkan mimpu lagi
Semoga hari ini jadi hari yang indah
Ucapkan selamat pagi
Ku senang kau tlah kembali
Bicara dengan ku lagi seolah pertengkaran kita usai
Terkadang ku merasa aneh dengan semua tingkahmu
Terlihat semuanya, dari semua sikapmu
Jika jujur tanpa tulus itu tak berarti apapun
Ketahui hal itu aku sahabatmu
Mari ucapkan selamat pagi
Wujudkan mimpu lagi
Ayo kita jlajahi dunia gembira bersama aku
Ucapkan selamat pagi
Ku senang kau tlah kembali
Hal-hal yang sederhana kadang membuatku kehilanganmu
Dan mimpi saat terjada, kan membawa
Keesokan yang dan pasti
Merry go round goes
Mari ucapkan selamat pagi
Wujudkan mimpu lagi
Semoga hari ini jadi hari yang indah
Ucapkan selamat pagi
Ku senang kau tlah kembali
Bicara dengan ku lagi seolah pertengkaran kita usai
JavaScript adalah pemrograman sisi klien yang akan dijalankan oleh browser dari pengunjung, dan program JavaScript biasa ditanamkan didalam halaman web untuk menghasilkan halaman yang dinamis. Untuk mempelajari JavaScript sebaiknya anda menguasai dasar-dasar HTML Script sehingga akan memudahkan anda untuk menyisipkan program JavaScript secara baik dan benar.
Ketiklah Contoh berikut dan simpan ke file Hello.html
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!-- Menyembunyikan script terhadap browser non-JavaScript
document.write("Hello world.")
// akhir dari penyembunyian -->
</SCRIPT>
</HEAD>
</HTML>
Untuk melihat hasilnya, buka file Hello.html dengan internet browser.
Sebenarnya ada dua cara menanamkan JavaScript kddalam dokumen HTML anda, yaitu :
1. Mengapit JavaScript tersebut dengan tag <SCRIPT>...</SCRIPT>
Contoh :
<SCRIPT LANGUAGE="JavaScript">
<!-- Menyembunyikan script terhadap browser non-JavaScript
Perintah-perintah JavaScript anda diketik disini.
// -->
</SCRIPT>
2. Menggunakan tag HTML yang menangani event.
Contoh :
<A HREF="http://www.indoprog.com" onMouseOver="window.status='Klik disini untuk mengetahui lebih jauh tentang saya'; return true;" onMouseOut="window.status=''; ">Klik disini</A>
Walaupun Netscape Navigator akan mengolah semua teks dalam tag <SCRIPT> sebagai JavaScript, tetapi adalah lebih baik melakukan deklarasi LANGUAGE yangmenentukan jenis bahasa script yang digunakan. karena ada beberapa bahasa script lainnya untuk HTML, mendeklarasikan jenis bahasa script adalah suatu praktek yang baik. Marilah kita memulai dengan suatu program sederhana yang akan mencetak Hello World.
Contoh :
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!-- Menyembunyikan script terhadap browser non-JavaScript
document.write("Hello world.")
// akhir dari penyembunyian -->
</SCRIPT>
</HEAD>
</HTML>
Hasil:
Contoh diatas menunjukkan program Javascript diketik diantara tag <HEAD> dan </HEAD>. Jika contoh JavaScript diatas diketikkan diantara tag <BODY>, juga akan memiliki hasil yang sama. Tetapi karena bagian heading akan dibaca terlebih dahulu dibandingankan dengan bagian <BODY>, menempatkan semua fungsi maupun variabel global pada bagian heading adalah praktek pemrograman yang baik. Dan semua perintah JavaScript yang berkaitan dengan dokumen ditempatkan pada bagian body HTML.
Perhatian : Tidak semua browser mampu memproses JavaScript, sehingga untuk menghindari kesalahan penampilan pada browser tersebut, anda perlu mengetikkan JavaScript diantara tag komentar HTML sebagai berikut :
<!-- Menyembunyikan script terhadap browser non-JavaScript
Perintah-perintah JavaScript anda ketik disini.
// akhir dari penyembunyian -->
Catatan
Ingat, selalu mengetik JavaScript diantara baris komentar sehingga browser non Java dapat mengabaikannya, hal ini dilakukan karena siapa saja dapat mengunjungi homepage kita di internet dengan berbagai web browser.
Menangani Event akan mengubah halaman yang static menjadi lebih dinamis. Event adalah hasil terhadap aksi yang dilakukan oleh pemakai, seperti klik pada mouse, klik pada tombol submit di suatu form, dan keluar dari halaman. Netscape mengenali sejumlah event, tetapi kita tidak akan mendiskusinya sekarang.
Setelah mengetahui cara menanamkan JavaScript kedalam halaman web, selanjutnya kita akan membahas dasar-dasar dari pemrograman JavaScript itu sendirinya, sebagai langkah pertama dari proses belajar, kita akan membahas Variabel dan Literal. Ketiklah contoh berikut, dan simpan ke file Scroller.html
<HTML>
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!-- Start of scroller script
var scrollCounter = 0;
var scrollText = "Teks yang anda inginkan, misalnya Viva Indoprog";
var scrollDelay = 70;
var i = 0;
while (i ++ < 140)
scrollText = " " + scrollText;
function Scroller()
{
window.status = scrollText.substring(scrollCounter++,
scrollText.length);
if (scrollCounter == scrollText.length)
scrollCounter = 0;
setTimeout("Scroller()", scrollDelay);
}
Scroller();
// End of scroller script -->
</SCRIPT>
</HEAD>
<BODY>
<H1>Coba perhatikan status bar anda</H1>
</BODY>
</HTML>
Pada contoh diatas menggunakan beberapa variabel seperti scrollCounter, scrollText, scrollDelay, i, dan literal seperti 0, "Teks yang anda inginkan, misalnya Viva Indoprog", 70.
Pada JavaScript memiliki beberapa tipe dari nilai sebagai berikut :
Number, baik bilangan nyata (real) maupun bilangan bulat (integer) (contoh 4.156 dan 39)
String (contoh "ini adalah JavaScript")
Logical (Boolean) dengan nilai true dan false
Null, yang mana adalah keyword khusus yang mengawali nilai kosong.
Walaupun memiliki tipe data yang sedikit, tetapi cukup untuk unjuk kerja JavaScript. Perlu diperhatikan bahwa pada JavaScript tidak ada perbedaan antara integer dengan real, keduanya dimasukkan pada tipe yang sama yaitu number. JavaScript tidak menyediakan tipe data khusus untuk data tanggal. Tetapi memiliki beberapa fungsi dan objek tanggal (date) yang dapat digunakan untuk melakukan manipulasi data tanggal.
Aturan penamaan variabel pada JavaScript adalah nama variabel harus dimulai dengan suatu huruf atau garis bawah (_) dan huruf selanjutnya dapat berupa angka (0-9), huruf besar (A-Z) atau huruf kecil (a-z), garis bawah. Berikut ini adalah contoh penamaan variabel yang benar:
Nama_depan h9224 _nama
Catatan
JavaScript membedakan huruf besar dan kecil (case sensitif), sehingga harus diwaspadai oleh programmer, penulisan indoprog adalah berbeda dengan Indoprog bagi JavaScript.
Batasan lainnya dalam pemberian nama variabel adalah tidak boleh sama dengan cadangan kata pada JavaScript. Tabel 1 adalah daftar dari cadangan kata (Reserved Word) pada JavaScript.
Table 1. Cadangan kata pada JavaScript.
abstract
extends
int
super
boolean
false
interface
switch
break
final
long
synchronized
byte
finally
native
this
case
float
new
throw
catch
for
null
throws
char
function
package
transient
class
goto
private
true
const
if
protected
try
continue
implements
public
var
default
import
return
val
do
in
short
while
double
instanceof
static
with
else
Tidak semua kata dalam Table 1 digunakan oleh JavaScript dewasa ini; dan beberapa diantara dicadangkan untuk pemakaian yang akan datang. Cadangan Kata tidak boleh digunakan untuk nama variabel, nama fungsi, nama metode, dan nama objek
Variabel dalam JavaScript dapat menyimpan semua tipe data yang sah, dan tidak diperlukan suatu deklarasi tipe data. Pada script yang sama, suatu variabel dapat di set ke type data yang berbeda dalam suatu deklarasi tunggal. Berikut ini deklarasi variabel yang sah:
temperatur = temperatur = "Temperatur adalah" temperature = "Temperatur adalah " + 27
Karena JavaScript sangat longgar tentang tipe, dan menyediakan beberapa fungsi untuk melakukan manipulasi data string dan nilai numerik (belum dibahas pada bagian ini).
Baca Bagian ini !!!
JavaScript adalah bahasa script yang dinamis. Hal ini berarti bahwa tipe data pada Javascript tidak baku tetapi dapat berubah dari suatu tipe ke tipe yang lain sesuai dengan kebutuhan.
Sebagai contoh, anda dapat menyatakan myData = 10; pada suatu baris initialisasi, dan baris berikutnya, menyatakan myData = "Hello World!" yang membuat tipe myData menjadi suatu string. Java Script akan secara otomatis mengubah tipe data berdasarkan ekspresi yang ditentukan. Jadi jika anda menyatakan myData = "10" - 2;, maka anda akan bertanya mengapa Javascript tidak mengkonversi 2 menjadi "2" dan menghasilkan "102", jawabanya adalah karena operator - tidak ditujukan untuk pemakaian pada string sehingga "10" - 2 tidak memiliki arti sama sekali. Berikut ini akan membawa kita kepada suatu situasi yang lebih menarik. Operator + dinyatakan untuk pemakaian pada numerik dan string. Jadi akankah 10 + "20" mengembalikan nilai 30 (10+20) atau "1020" ("10" + "20"). Hal ini tentu saja akan membingungkan anda dengan pemakaian operator +, jawabannya adalah Javascript akan selalu mengkonversi segala sesuatu ke string sebelum melakukan evaluasi, sehingga 10 + "20" adalah sama dengan "10" + "20" dan hasilnya adalah "1020".
Variabel lokal digunakan didalam suatu fungsi dan ruang lingkupnya terbatas pada fungsi tersebut. Untuk mendeklarasikan suatu variabel lokal, harus diawali dengan var, seperti contoh berikut ini:
var nilaiTerbesar =0
JavaScript mengganggap semua variabel yang tidak diawali dengan var adalah variabel global. Walaupun JavaScript memperbolehkan anda menggunakan nama variabel yang sama untuk local maupun global, tetapi dalam praktek hal tersebut tidak disarankan, karena akan membingungkan anda sendiri.
TIP
Untuk memastikan fungsi mendapatkan nilai yang benar dari suatu variabel global, deklarasikan semua variabel global tersebut pada awal dari script.
Sebagai lawan dari variabel adalah literal yang merupakan baku yang digunakan dalam JavaScript. JavaScript mendukung literal-literal berikut:
Integer literal
Floating point literal
Boolean literal
String literal
Special character
Integer dapat dalam basis desimal (basis 10), hexadesimal, dan oktal. Suatu nilai desimal adalah semua angka yang tidak diawali dengan nol (seperti 4, 89, atau 57). Suatu angka yang diawali dengan nol, adalah berbasis oktal (seperti 04, 065, atau 0145). Suatu bilangan dinyatakan dalam basis hexadesimal diawali dengan 0x atau 0X (seperti 0xff, 0X44, atau 0xAE).
Suatu literal floating-point terdiri dari komponen: suatu desimal bulat, suatu decimal berkoma (.), suatu desimal pecahan, dan eksponen. (seperti 1.23 or 44.6389) atau dalam notasi scientific (3.6E-8, .4E12, or -2.7E12). Setiap literal floating-point literal minimal memiliki satu digit dengan satu desimal atau eksponen.
Literal Boolean adalah true atau false.
Literal String dapat diapit oleh petik tunggal ( ' ) atau petik ganda ( " ). Tanda petik awal dan akhir harus sama, seperti contoh berikut:
"suatu literal dengan petik ganda" 'suatu literal dengan petik tunggal'
TIP
Ketika anda menulis event handle, apit string dengan petik tunggal, karena petik ganda dibatasi untuk nilai atribut pada HTML
Contoh :
<FORM> <INPUT TYPE=BUTTON VALUE="Coba Klik" onClick="alert('Hello world')"> </FORM>
Literal string dapat juga mengandung karakter khusus untuk kendali baris Table 2 adalah daftar dari karakter khusus dan fungsi-fungsinya.
Table 2. Karakter khusus JavaScript.
Keterangan
Spesial Karakter
Backspace
\b
Form feed
\f
Newline
\n
Carriage return
\r
Tab
\t
Tanda backslash (\) adalah karakter escape pada JavaScript. Ketika digunakan pada akhir dari suatu baris, akan berfungsi sebagai character penyambung baris. Ketika diikuti oleh karakter lain, karakter escape tersebut akan kehilangan fungsi khususnya. Dalam JavaScript, programmer menggunakan backslash untuk escape backslash lainnya, suatu petik tunggal, dan suatu petik ganda.
Ekspresi dan Operator
Literal dan variabel dihubungkan oleh operator dan akan menghasilkan ekspresi. JavaScript menyediakan berbagai operator yang memungkinkan programmer menulis sejumlah ekspresi dari yang paling sederhana sampai yang paling sulit.
Contoh :
temp = 24
pada contoh diatas, temp adalah variabel, 24 adalah variabel, = adalah operator, dan temp=24 adalah ekspresi.
Operator JavaScript dapat dibagi menjadi beberapa kategori berikut:
Assignment operator
Arithmetic operator
Bitwise operator
Logical operator
Comparison operator
String operator
JavaScript memiliki operator binari maupun unari. Suatu operator binari memiliki format.
operand1 operator operand2
Sebagai contoh , 9 * 7 atau temp = 24 adalah ekspresi dengan operator binari.
Operator unari memiliki dua format:
operand operator
atau
operator operand
Sebagai contoh ekspresi mengunakan operator unari adalah ++y atau y++.
Catatan
Bagi programmer C language, tentu saja operator unari bukan sesuatu yang asing, tetapi bagi programmer dari latarbelakang Basic dan Pascal, penulisan y++ adalah sama dengan y = y + 1.
Operator pemberi nilai (=) adalah suatu operator binari yang digunakan untuk memberi nilai ke operand di sisi kiri (biasanya berupa suatu variabel) yang didasarkan pada nilai operand sebelah kanan (seperti NamaDepan = "Hendra" atau x = y * 9). Table 3 adalah daftar singkat operator pemberi nilai.
Table 3. Daftar Operator assignment
Shorthand operator
Artinya
Contoh
x += y
x = x + Y
x +=
x -= y
x = x - y
x -=
x *= y
x = x * y
x *=
x /= y
x = x / y
x /=
x %= y
x = x % y
x %=
x <<= y
x = x << y
x <<=
x >>= y
x = x >> y
x >>=
x >>>= y
x = x >>> y
x >>>=
x &= y
x = x & y
x &= 0xC0
x |= y
x = x | y
x |= 0x0F
x ^= y
x = x ^ y
x ^= 0XFF
Catatan
Bagi yang tidak familiar dengan pemrograman C, hati-hati dengan perbedaan antara assignment operator (=) dan comparison operator (==)
Sesuai dengan fungsinya operator aritmatika melakukan operasi perhitungan aritmatika terhadap suatu nilai numerik baik dalam literal maupun variabel. JavaScript mendukung operator standard aritmatika untuk penjumlahan (+), pengurangan (-), perkalian (*), dan pembagian (/). Juga memiliki operator modulus (%), increment (++), decrement (--), dan unary negation (-).
Operator modulus (%) adalah suatu operator binary yang mengembalikan nilai sisa dari suatu pembagian bulat operand1 terhadap operand2. Sebagai contoh, hasil dari 27 % 6 adalah 4.
Operator increment unary adalah menambah nilai satu ke variabel operand, sedangkan operator decrement unary mengurangi satu dari padanya. Bagaimanapun, nilai yang dikembalikan tergantung dari posisi operator terhadap operand Jika operator berada didepan (++x atau --x), nilai yang dikembalikan adalah x+1 atau x-1. Ketika operator dibelakang(x++ or x--), nilai x dikembalikan sebelum ditambah atau dikurang.
Operator khusus unari arithmetic adalah operator unari negation operator. Ia membalikan tanda dari nilai yang diberikan pada suatu variabel. Sebagai contoh, jika x = -7, -x mengubah nilai menjadi 7.
Untuk programmer yang perlu menangani bit. JavaScript menyediakan satu set dari operator bitwise. Untuk operator ini, JavaScript melakukan konversi terhadap operand menjadi integer 32-bit sebelum melakukan operasi padanya. Operator logika bitwise adalah
Bitwise AND (&), akan mengembalikan nilai dari logika AND antara sepasang bit. Sebagai contoh , 0x0f & 0x0a mengembalikan 0x0a.
Bitwise OR (|), akan mengembalikan nilai dari logika OR antara setiap pasangan dari bit. Sebagai contoh, 0x05 | 0x0a mengembalikan 0x0f.
Bitwise XOR (^), akan mengembalikan nilai dari logika exclusive OR between antara tiap pasangan bit. Sebagai contoh, 0x0f ^ 0x0a mengembalikan 0x05.
JavaScript juga menyediakan satu set bitwise untuk operasi shift operand1 terhadap jumlah yang ditentukan di operand2. Operand ini adalah
Shift left (<<), akan mengeser bit ke kiri dengan jumlah tertentu. Bit yang melewati batas kiri akan diabaikan, dan suatu bit nol akan digeser dari kanan. Sebagai contoh, 0x0f << 2 mengembalikan 0x3c.
Sign propagating shift right (>>) mempertahankan bit tanda dari nilai ketika melakukan geser ke kanan sesuai dengan jumlah yang ditentukan. Bit yang tergeser melewati bata kanan akan diabaikan, kecuali bit tanda, bit nol akan digeser dari kiri.. Sebagai contoh, 10 >> 2 mengembalikan 2 dan -10 >> 2 mengembalikan-2.
Zero-fill right shift (>>>) sama seperti >>, cuma tidak mempertahankan bit tanda ketika dilakukan pergeseran sesuai dengan jumlah yang ditentukan.
Operator logika membutuhkan operand dengan nilai Boolean (true atau false) dan mereka akan mengembalikan suatu nilai logika. Operator logika adalah sebagai berikut :
Logical AND (&&)
Logical OR (||)
Logical NOT (!)
Operator logika NOT adalah suatu unary operator yang mempertahankan nilai ekspresi.
Operator perbandingan diterapkan pada perbandingan pada data numerik dan data string serta tidak dapat dilakukan pada nilai Boolean. Masing-masing operand harus memiliki tipe yang sama: nemerik dibandingkan dengan numerik atau string dengan string. Hasil dari perbandingan adalah sautu nilai Boolean. Operator perbandingan adalah:
Equal (==)
Not equal (!=)
Greater than (>)
Greater than or equal to (>=)
Less than (<)
Less than or equal to (<=)
JavaScript juga mendukung ekspresi secara kondisi (conditional expression) yang mana berbentuk.
(kondisi) ? nilai_benar : nilai_salah
Jika kondisi adalah benar, ekspresi memiliki dari true_value. Sebaliknya memiliki nilai dari false_value. Seperti saudaranya yang berbasis bahasa C, ekpresi kondisi adalah ekspresi standard dan dapat digunakan dimana saja, dan dapat dilihat sebagai berikut :
Bagi programmer C language, tentu saja comparison operator (==) bukan sesuatu yang asing, tetapi bagi programmer dari latarbelakang Basic dan Pascal, penulisan = adalah tidak sama dengan ==.
Dalam ekspresi yang kompleks dimana melibatkan lebih dari satu operator, urutan operasi dari operator menentukan nilai hasil evaluasi. Dengan menggunakan tanda kurung, programmer dapat mengatur aturan tersebut. Table .4 adalah urutan prioritas operasi dari yang paling rendah sampai yang paling tinggi.
Table 4. Prioritas urutan operasi dari prioritas rendah sampai tinggi.
Untuk membuat suatu halaman yang dinamis dan interaktif, perancang halaman Web membutuhkan perintah-perintah yang dapat mengatur aliran dari informasi. Berdasarkan hasil komputasi yang telah dilakukan, JavaScript akan membuat keputusan jalur mana yang akan dieksekusi. Kita akan membahas tentang perintah kondisi dan loop dalam JavaScript.
Walaupun semua kode harus ditulis dalam penanganan event, tetapi hal ini adalah praktek pemrograman yang kurang baik. Sebagai pengantinya, gunakan fungsi, kode akan menjadi lebih modular dan dapat digunakan kembali (reusable).
Sebagai tambahan terhadap ekspresi kondisi yang telah dijelaskan bagian sebelumnya. JavaScript memiliki suatu perintah kondisi if. Tata cara penulisan dari perintah kondisi tersebut adalah sebagai berikut:
if (kondisi1) { pernyataan1 } [else { pernyataan2}]
kondisi adalah ekspresi JavaScript yang mana hasil evaluasinya memiliki nilai Boolean true atau false. contoh pemakaian statement if:
if (n>3) { status = true if (j != n) j = 0 } else j = n
Perhatian
Bagi programmer C harus berhati-hati dengan evaluasi kondisi pada JavaScript. Suatu kondisi numerik yang mengasilkan nol adalah tidak sama dengan suatu Boolean true pada JavaScript, dan sebaliknya suatu nilai bukan nol tidak sema dengan Boolean false. Pada JavaScript hasil dari suatu kondisi harus data type Boolean.
Jika hanya suatu perintah tunggal, tanda kurawal tidak diperlukan. Contoh berikut adalah perintah yang benar:
if (a==b) j=0 else j=1
Perintah Perulangan
JavaScript mendukung dua struktur loop; perintah for dan perintah while. Untuk control pada struktur loop, JavaScript menyediakan perintah break dan continue.
Perintah for
Perintah for pada JavaScript sama dengan yang ada di Java dan C. Perintah for mengulang suatu loop sampai kondisi menghasilkan evaluasi true atau loop keluar dengan perintah break . Syntax untuk perintah for adalah sebagai berikut :
for ([ekspresi-awal;] [kondisi;] [ekspresi-penambah]) { pernyataan }
Urutan proses untuk perintah for adalah sebagai berikut:
Interpreter menjalankan ekspresi-awal. Ekspresi ini mementukan nilai yang diperlukan untuk kendali perulangan.
Kemudian interpreter memeriksa kondisi. Jika true, kendali dilanjutkan ke langkah selanjutnya. Jika false, kendali diarahkan ke perintah setelah perulangan.
Kemudian interpreter menjalankan ekspresi-penambah, yang mana melakukan update terhadap variabel-variabel yang digunakan untuk kendali perulangan.
Kemudian statement dijalankan dan, jika ditemukan suatu break atau continue, kendali kembali ke langkah 2.
Perintah while terus mengulangi loop selama kondisi memiliki nilai true. Syntax untuk perintah while adalah sebagai berikut :
while (kondisi) { pernyataan }
Test kondisi terjadi pada perulangan while yang pertama kali dan pada akhir dari setiap loop. Ketika hasil test mengembalikan false, kendali dilewatkan ke perintah berikutnya setelah loop. Perintah for yang diubah ke suatu while loop.
Perintah break menghentikan for atau while loop dan mengembalikan kendali ke perintah berikutnya yang mengikuti loop. Contoh berikut menggambarkan bagaimana menggunakan perintah break:
i=0 while (i<10) { if (i==3) break i++ }
Perintah continue
Seperti perintah break, perintah continue menghentikan interasi tersebut untuk suatu for atau while loop; Tetapi tidak keluar dari loop; Tetapi melakukan interasi berikutnya.
Pada suatu while loop, kendali dilewatkan ke condition.
Pada suatu for loop, dilewatkan ke increment-expression.
Berikut ini memperlihatkan bagaimana menggunakan perintah continue:
i=0 while (i<10) { if (i==3) continue i++ }
Perintah function
Suatu function adalah sekumpulan dari perintah JavaScript yang akan mengerjakan tugas tertentu. Fungsi ini dapat dipanggil dari segala titik pada dokumen tersebut dan dipanggil dari event. Format dari perintah function adalah sebagai berikut:
function FunctionName(argument list) { statements }
Contoh:
<HTML> <HEAD> <SCRIPT LANGUAGE="JavaScript" <!-- hide the script function DisplayIt(LineToDisplay) { document.write(LineToDisplay + "<BR>") } // end hiding --> </SCRIPT> </HEAD> <BODY> <SCRIPT LANGUAGE="JavaScript" <!-- hide it LineToDisplay("Hello World") // end hiding --> </SCRIPT> </BODY> </HTML>
TIP
Karena browser membaca perintah tersebut diapit oleh <HEAD>...</HEAD> duluan; adalah praktek yang baik untuk memesan semua variabel global dan semua fungsi pada HEAD dari dokumen. Hal ini mencegah kesalahan seperti non-initialized variables dan undefined functions
Argumen dari suatu fungsi dapat berupa sembarang tipe data atau objek JavaScript. Objek array functionName.argument[i] danfunctionName.arguments.lengthmengandung nilai jumlah argumen yang dikirim ke fungsi, argumen acuan dengan mendeklarasikan nama-nama variabel. Hal ini memungkinkan sejumlah argumen dilewatkan ke fungsi sebagai suatu argument array. Contoh berikut menunjukkan pemakaian dari suatu variable argument list.
Contoh :
<HTML> <HEAD> <SCRIPT LANGUAGE="JavaScript"> <!-- menyembunyikan UnorderList="UL" function DisplayList(ListType) { // menampilkan variabel list if (ListType="OL" || ListType="UL") { // validasi jenis list document.write("<" + ListType + ">" // menampilkan jenis list for (var i=1; i<DisplayList.arguments.length; i++) document.write("LI" + DisplayList.arguments[i]) document.write("</" + ListType + ">") // End list return true } else return false } // akhir dari penyembunyian --> </SCRIPT> </HEAD> <BODY> <SCRIPT LANGUAGE="JavaScript" <!-- menyembunyikan if (DisplayList(UnorderList, "Bullet 1 text", "Bullet 2 text")) document.write("<P>List Display</P>") else document.write("<P>Invalid List Type<p>") // unhide it --> </SCRIPT> </BODY> </HTML>
Contoh diatas menggambarkan beberapa hal yang penting dari suatu fungsi. Suatu variabel global diinisialisasi pada bagian <HEAD>. Perintah var mendeklarasikan isebagai suatu variabel lokal pada fungsi. Juga ditunjukkan bagaimana perintah return dapat digunakan untuk memastikan fungsi dijalankan dengan baik. Perintah return juga dapat mengembalikan string atau nilai numerik, sebagaimana yang ditunjukkan oleh contoh dibawah ini:
function RetExam(a, b) { var x=0 x = a+b return x } TestResult=RetExam(5, 7)
JavaScript mendukung dua bentuk format untuk komentar:
Komentar satu baris yang diawali dengan suatu double slash (//)
Komentar banyak baris yang diawali dengan suatu /* dan diakhiri dengan suatu */
Komentar single-line, dari C++, memperlakukan semua yang dari double slash ke belakang sebagai suatu komentar, berikut ini adalah contoh yang sah untuk suatu komentar single-line :
// ini adalah komentar if (a=b) c=1 // ini juga adalah komentar
Komentar banyak baris mengikuti aturan pada C dan dapat digunakan untuk menandai perintah JavaScript, sebagaimana yang ditunjukkan oleh contoh sebelumnya, adalah sutu komentar HTML, baris terakhir membutuhkan dua slash untuk menjaga JavaScript dapat menginterprestasikan baris tersebut.
JavaScript adalah suatu bahasa berdasarkan pada objek dan bukan merupakan bahasa object-oriented programming (OOP). Perancang JavaScript tidak bertujuan membuat suatu bahasa OOP yang baru; tetapi bertujuan membuat suatu bahasa script untuk mengintegrasikan objek yang telah dibuat dengan suatu bahasa OOP kedalam dokumen HTML. Selanjutnya Javascript tidak memiliki encapsulation , inheritance, dan abstraction seperti pada C atau Java.
Tetapi class pada JavaScript menyediakan properti dan metode untuk membuat objek.
Untuk melakukan manipulasi pada objek membutuhkan fasilitas tambahan dari JavaScript yaitu dengan perintah for...in , perintah with , operator new, dan kata kunci this.
Perintah for...in
Perintah for...in menyediakan suatu mekanisme perulangan untuk iterasi melalui semua properti dari suatu objek. Dengan format adalah sebagai berikut :
for (variable in Objekname) { statements }
Contoh berikut mengunakan perintah ini untuk menampilkan semua properti dalam suatu objek dan nilai asosiasinya:
function ListProperti(obj, obj_name) { var result = "" for (var i in obj) { result += obj_name + "." + i " = " + obj[i] + "<BR>" } return result PropList = ListProperti(mydog, "mydog")
Pada contoh sebelumnya, variabel i adalah nama dari property, kemudian mengindeks objek dengan menggunakan property name_obj[i].
Perintah with
Pada beberapa situasi suatu objek perlu dibuat acuan beberapa kali. Perintah with membuat acuan ke suatu objek default yang berada dalam kurung. Tata cara penulisannya adalah sebagai berikut:
with (ObjekName) { statements i
Objek math berikut merupakan contoh pemakaian dari perintah with:
var r = var x = with (Math) { r = p / (1 - cos(a)) x = (2 * p * cos(a)) / (sin(a) * sin(a)) }
Operand new
Untuk suatu tipe objek user-defined, operand new berfungsi membuat suatu instance baru dari objek. Tata cara penulisannya adalah sebagai berikut:
ObjekName = new ObjekType(param1 [, param2,] � [, paramN])
Kata kunci this
this mengacu pada objek yang sekarang. Pada bagian selanjutnya akan ditunjukkan bagaimana pemakaian kata kunci ini dalam penulisan function dan metode.
Walaupun JavaScript memiliki sejumlah besar objek yang telah didefinisikan, developer dapat membuat objeknya sendiri. Untuk membuat suatu objek baru diperlukan dua langkah yaitu:
Mendefinisikan jenis objek dengan membuat suatu fungsi.
Membuat instances dari objek tersebut dengan menggunakan operand new.
Fungsi tersebut mendefinisikan jenis objek, properti, dan metode. Sebagai contoh untuk membuat suatu objek dog:
Untuk menggunakan fungsi diatas, operand new diperlukan untuk mendefinisikan suatu instance baru untuk objek tersebut. Sebagai contoh:
mydog = new dog("small mut", 5, 25);
Selain type data yang umum (string, numeric, and Boolean), objek yang lain dapat juga menjadi properti dari suatu objek. Contoh menambah suatu nomor izin pada objek jenis dog, nomor izib ini juga mengacu pada objek lain.
function doglicense(owner, phone_number) { this.owner = owner; this.phone_number = phone.number; } AZ123 = new doglicense("John Smith", "999-9999");
Jenis Objek dog perlu dimodifikasi untuk mengikutsertakan informasi baru tersebut:
Untuk mengacu pada pemilik mydog, syntax berikut diperlukan
mydog.license.owner
CATATAN
Jika suatu property baru ditambahkan pada suatu objek tanpa mengubah jenis objek, properti tambahan tersebut hanya berpengaruh pada objek tersebut dan bukan pada semua instances dari objek jenis yang sama.
CATATAN
Suatu variabel string atau suatu string literal adalah suatu objek string. Metode string adalah asosiasi dengan objek ini, dan akan didiskusikan pada bagian "Objek dan fungsi built-in".
Tidak seperti bahasa lainnya, Java script tidak memiliki suatu tipe data array. Tetapi bagaimanapun, fungsi yang sama dapat dengan membentuk suatu objek untuk melakukan emulasi suatu array. Langkah pertama untuk mendefinsikan suatu objek array:
function MakeArray(n) { this.length = n; for (var i = 1; i <= n; i++) this[i] = 0; return this }
Langkah berikutnya adalah mendefinisikan suatu instance untuk membentuk objek MakeArray :
ExmpArray = new MakeArray(20);
Ketika anda memberikan nilai pada suatu elemen array, hal tersebut menyerupai memberi nilai pada suatu type data array. Perbedaannya adalah array ini dimulai dari satu dan bukan nol, karena nol mendefinisikan panjang dari array:
Objek dan fungsi yang akan dijelaskan pada bagian ini adalah bagian dari lingkungan JavaScript, selanjutnya sangat tergantung pada jenis web browser. Adapun objek dan fungsi tersebut adalah sebagai berikut:
Suatu string yang dipetik adalah suatu variabel string atau suatu properti string dari suatu objek, segala sesuatu yang ditempatkan diantara petik adalah suatu string. Ada dua cara untuk menggunakan suatu objek string:
stringName.propertyName
stringName.metodeName(parameters)
Properti Objek String
Objek string hanya memiliki sebuah properti -length. Karena berupa properti, berikut ini adalah acuan yang benar:
StringLength = stringVariable.length; StringLength = mydog.name.length; StringLength = "This is a string".length;
Metodee Objek String
Sejumlah besar metode adalah asosiasi dengan objek string. Disamping fungsi manipulasi string yang normal, banyak diantaranya berfungsi membungkus string diantara tag HTML. Berikut ini adalah daftar dari metode Objek string:
anchor(nameAttribute). Dengan nameAttribute sebagai nilai dari parameter yang dilewatkan ke metode, metode anchor mengurung text dengan tag <A></A>. Berikut ini adalah contohnya:
blink(). String di apit dengan tag <BLINK></BLINK> .
bold(). String di apit dengan tag <B></B>.
charAt(index). Metode ini mengembalikan huruf yang ditentukan oleh index, dimana index adalah range 0 sampai stringName.length - 1. Jika index berada diluar jangkauan, suatu null string akan dikembalikan.
fixed(). String di apit dengan tag <TT></TT>.
fontcolor(color). String di apit dengan tag <FONT COLOR="color"></FONT>. Parameter color ditentukan dengan format rrggbb.
fontsize(size). String di apit dengan tag <FONTSIZE=size></FONTSIZE>. Nilai dapat berupa angka satu sampai tujuh, atau dapat perubahan secara relatif (+atau -) yang didasarkanpada ukuran font dasar yang ditentukan pada tag <BASEFONT>.
indexOf(searchValue, [fromIndex]). Metode ini mengembalikan posisi index dari string pertama yang ditemukan berdasarkan string searchValue. fromIndexsecara optional menentukan posisi awal pencarian. Jika pencarian tidak ditemukan maka JavaScript mengembalikan -1.
italics(). String di apit dengan tag <I></I>.
lastOf(searchValue, [fromIndex]). Menyerupai indexOf, cuma pencarian dilakukan dari arah belakang.
link(hrefAttribute). String di apit dengan tag <A HREF=hrefAttribute></A>.
small(). String di apit dengan tag <SMALL></SMALL>.
strike(). String di apit dengan tag <STRIKE></STRIKE>.
sub(). String di apit dengan tag <SUB></SUB>.
substring(indexA, indexB). Metode ini mengembalikan subset dari suatu string, yaitu dari posisi index A s/d indexB-1. Jika indexA sama dengan indexB akan dikembalikan suatu null string.
sup(). String di apit dengan tag <SUP></SUP>.
toLowerCase(). Metode ini mengubah string ke huruf kecil dan mengembalikannya.
toUpperCase(). Metode ini mengubah string ke huruf besar dan mengembalikannya.
Objek Math menyediakan suatu himpunan dari nilai-nilai standar matematika dan metode-metode yang argumennya berupa himpunan dari operator matematika yang disediakan dengan JavaScript. Tidak seperti Objek lainnya, Objek Math tidak membutuhkan suatu instance dari Objek sebelum menggunakan metode objek math tersebut. Untuk memudahkan pemasukkan nama dan pembacaan, metode Math sering diikat dengan perintah with. Syntax untuk Objek Math adalah sebagai berikut:
Math.propertyName
Math.metodeName(parameters)
Properti Objek Math
Objek Math memiliki delapan buah properti. Properti-properti ini ini mendefinisikan berbagai konstanta matematika. Tabel 5. menunjukkan properti-properti tersebut dan nilai perkiraannya.
Table 5. Properti-properti objek Math dan nilainya.
Property
Description
Approx. value
E
Euler's constant
2.718
LN2
Natural logarithm of 2
0.693
LN10
Natural logarithm of 10
2.302
LOG2E
Base 2 logarithm of e
1.442
LOG10E
Base 10 logarithm of e
0.434
PI
Ratio of circumference to diameter
3.14159
SQRT1_2
Square root of one-half
0.707
SQRT2
Square root of two
1.414
Metode Objek Math
Objek Math memiliki sejumlah metode yang argumennya adalah himpunan dari operator matematika:
abs(number). Metode ini mengembalikan nilai absolut dari number.
acos(number). Mengembalikan nilai arc cosinus dari number yang bernilai antara -1 and 1.
asin(number). Mengembalikan nilai arc sinus
atan(number). Mengembalikan nilai arc tangen dalam radian.
ceil(number). Mengembalikan nilai integer berikutnya yang lebih besar atau sama dengannnumber.
cos(number). Mengembalikan nilai cosinus dari number (dalam sudut radian).
exp(number). Mengembalikan pangkat e dari number, dimana e adalah konstanta Euler's.
floor(number). Mengembalikan integer yang lebih kecil atau sama dengan the number.
log(number). Mengembalikan logaritma natural (base e) dari number, dimana number adalah sembarang bilangan positif hasil ekspresi atau Objek. Jika number berada diluar jangkauan maka nilai pengembalian defaultnya adalah 1.797693134862316e+308.
max(number1, number2). Mengembalikan terbesar dari kedua number.
min(number1, number2). Mengembalikan terkecik dari kedua number.
pow(base, exponent). Metode ini melakukan pangkat base terhadap exponent. Jika salah satunya bilangan imaginier, maka akan dikembalikan nol.
random(). Hanya terdapat pada paltforms UNIX, yang mana mengembalikan suatu pseudorandom number antara nol dan satu. Pada Netscape Navigator 3.0, metode random() metode dapat digunakan pada semua platforms.
round(number). Mengembalikan nilai dari number yang dibulatkan kebilangan integer terdekat.
sin(number). Mengembalikan nilai sinus dari sudut dalam radian.
sqrt(number). Mengembalikan nilai akar dari bilangan non negatif, Jika diluar jangkauan akan dikembalikan nol.
tan(number). Mengembalikan nilai tangen dari sudut dalam radian.
Contoh :
<SCRIPT LANGUAGE="JavaScript"> <!-- Begin var ran ran = Math.round(Math.random()*50000) alert("Anda adalah pengunjung yang ke " + ran + ".") // End --> </SCRIPT>
Walaupun JavaScript tidak menyediakan suatu type data Date, tetapi menyediakan suatu objek Date yang mana menangani informasi date dan time. Semua tanggal adalah jumlah milidetik sejak January 1, 1970, 00:00:00. Akibatnya semua tanggal sebelum 1970 adalah tidak sah.
Objek Date membutuhkan suatu instance dari objek Date yang berkaitan dengan pemakaian metode-metodenya. Instance dapat berupa suatu objek baru atau properti dari objek yang ada. Ada empat cara untuk membentuk instance baru:
dateObjekName = new Date() dateObjekName=new Date("month day, year hours:minutes:seconds") dateObjekName=new Date(year, month, day) dateObjekName=new Date(year, month, date, hours, minutes, seconds)
Membentuk suatu himpunan dari tanggal dan waktu ke tanggal dan waktu sekarang. Mengosongkan time berarti memberinya nilai nol. Karena objek Date tidak mengandung properti apa-apa, hanya ada satu format untuk metode Date:
dateObjekName.metodeName(parameters)
Pengecualiaanya adalah UTC dan metode parse, yang mana adalah metode status dan pemakaiannya
Date.UTC(parameters) Date.parse(parameters)
Table 6 menjelaskan nilai yang akan dikembalikan oleh berbagai perintah get.
Table 6. Memisahkan informasi dalam objek Date.
metode Date
Nilai yang dikembalikan
getDate()
Day of the month
getDay()
Day of the week
getHours
Hour of the day
getMinutes
Minutes in the hour
getMonth
The month
getSeconds
Seconds in the minute
getTime
Milliseconds since 1/1/1970
getTimezoneOffset
Offset between local time and GMT
getYear
The year
Selain dapat menerima berbagai informasi dari Objek Date, metode pada Tabel 7 menunjukkan bagaimana mengubah informasi date.
Table 19.7. Setting informasi dalam objek Date.
metode Date
Nilai yang sah
setDate(dayValue)
1-31
setHours(hoursValue)
0-23
setMinutes(minutesValue)
0-59
setMonth(monthValue)
0-11
setSeconds(secondsValue)
0-59
setTime(timeValue)
>=0
setYear(yearValue)
>=1970
Dua metode tambahan yang dapat digunakan untuk melakukan konvesi data tanggal ke suatu nilai string, adalah sebagai berikut:
toGMTString(). Metode ini meng-konversi date dalam GMT (Greenwich Mean Time) dan mengembalikannya sebagai suatu string. Format sebenarnya tergantung pada platform hardware.
toLocaleString(). Mthod ini meng-konversi string ke format locale, yang mana bervariasi berdasarkan setting.
Objek Date juga memiliki dua metode statik untuk menangani string; hal tersebut memiliki format Date.metode(). Metode-metode ini adalah sebagai berikut:
parse(dateString). Metode ini melakukan konversisuatu string tanggal ke jumlah detik sejak January 1, 1970, 00:00:00. Setting waktu adalah default. Tetapi juga mendukung akhiran yang menentukan GMT oatau U.S. standard time zones.
UTC(year, month, day [, hrs] [, min] [, sec]). Metode ini mengembalikan jumlah milidetik sejak January 1, 1970, 00:00:00 Universal Time Coordinate (dengan kata lain adalah, GMT).
Contoh :
<SCRIPT LANGUAGE="JavaScript"> <!-- Begin var months=new Array(13); months[1]="Januari"; months[2]="Februari"; months[3]="Maret"; months[4]="April"; months[5]="Mei"; months[6]="Juni"; months[7]="Juli"; months[8]="Agustus"; months[9]="September"; months[10]="Oktober"; months[11]="Nopember"; months[12]="Desember"; var time=new Date(); var lmonth=months[time.getMonth() + 1]; var date=time.getDate(); var year=time.getYear(); if (year < 2000) // Y2K Fix, Isaac Powell year = year + 1900; document.write("<center>" + lmonth + " "); document.write(date + ", " + year + "</center>"); // End --> </SCRIPT> Hasil :
JavaScript mendukung beberapa function built-in yang mana tidak berkaitan dengan Objek tertentu. Berikut ini adalah function-function built-in adalah sebagai berikut:
eval(string). Function eval meng-evaluasikan string, yang mana dapat berupa ekspresi JavaScript, perintah, atau urutan dari perintah-perintah, dan mengembalikan hasil. Beberapa contoh dari function eval adalah
var x = var y = var z = "if (x <= 9) (x*y) else (x/y);" document.write(eval("x + y / 4"), "<BR>") document.write(eval(z), "<BR>")
parseFloat(string). Fungsi ini mengurai string dan mengembalikan suatu nilai floating point. Jika karakter pertama bukan suatu bilangan atau tanda, nilai nol akan dikembalikan pada platform Windows, dan NaN (not a number) pada platforms lain.
parseInt(string [, radix]). Fungsi parseInt mengurai string dan mengembalikan suatu integer berdasarkan basis yang ditentukan. Nilai dari akar tersebut adalah 8 untuk octal, 10 untuk desimal, dan 16 untuk hexadesimal.
isNaN(testValue). Fungsi ini hanya ada pada platforms UNIX untuk dan mengevaluasi testValue untuk menentukan apalah adalah NaN. Akan dikembalikan true atau false
escape("string"). Mengembalikan encoding ASCII dari suatu argumen dalam ISO Latin-1 character set. string tersebut adalah suatu non-alpahnumeric string atau property dari suatu Objek yang ada. Jika berupa suatu alphanumeric, akan dilewatkan nilai ke output string tanpa melakukan encoding terhadapnya.
unescape("string"). Mengembalikan karakter ASCII untuk %xx, atau hexadesimal yang ditentukan dalam parameter string.
Objek Netscape
Sebagai tambahan kepada objek-objek JavaScript dan metode, Pengembang halaman Web dapat mengakses objek-objek dan metode dalam Netscape browser. Bagian ini akan membahas Objek Netscape Navigator dan metode-metodenya.
Hirarki Objek Navigator
Netscape Navigator membangun suatu hirarki instance-instance yang berkaitan dengan dokumen yang sedang di proses.
Hirarki ini penting untuk membuat acuan kepada Objek dan propertinya. Turunan dari suatu Objek adalah properti dari objek orang tuanya. Karena semua objek adalah merupakan turunan dari objek window , sehingga objek window sendirinya tidak memiliki acuan ke objek maupun properti apapun. Tetapi bagaimanapun, acuan ke suatu dokumen pada window lain membutuhkan tambahan nama window kepada Objek acuan-nya.
Untuk dapat menggunakan JavaScript secara benar membutuhkan pengertian bagaimana Netscape Navigator memproses suatu dokumen HTML. Ketika suatu dokumen HTML di muat, browser akan mulai melakukan proses terhadap baris pertama dari dokumen. Browser membuat layout dari layar berdasarkan perintah HTML yang terdapat dalam dokumen tersebut. Setelah layar selesai digambar, layar tidak dapat digambar ulang tanpa melakukan proses terhadap dokumen baru. Bagaimana hal ini mempengaruhi frame dan window adalah topik pada bagian berikutnya.
Sesuai dengan hal ini, maka instance dari suatu objek ada setelah proses dilakukan terhadap baris HTML yang menghasilkan instance tersebut. Dengan kata lain JavaScript tidak dapat mengacu pada suatu objek HTML seperti form, atau menjalankan suatu fungsi sampai browser memproses perintah tersebut. Sebagai contoh, JavaScript tidak dapat mengacu pada suatu objek form sampai browser memproses HTML untuk form tersebut. Demikian juga dengan proses perubahan properti, setelah browser menggunakan properti dalam menghasilkan layout window, maka perubahan properti setelah itu tidak memiliki efek terhadap tampilannya.
Walaupun nampaknya keterbatasan tersebut berat, namun dengan pengertian yang baik terhadap HTML proses dan JavaScript akan mengurangi frustasi. Prinsip utama yang perlu diingat bahwa suatu dokumen HTML diproses secara berurut dan JavaScript adalah bagian dari proses secara berurut tersebut.
Objek window adalah orang tua dari semua Objek. Hal tersebut termasuk semua window dan frame yang berada dalam suatu. Ketika browser mulai memuat suatu dokumen HTML, hal tersebut dimulai dengan suatu instance dari objek window. Jika dokumen HTML membuat suatu frame, informasi dari frame tersebut tersimpan dalam suatu objek frame array. Dengan kata lain, membuka suatu window akan menghasilkan suatu anak dari objek window. Kehebatan dari JavaScript adalah terletak pada kemampuan untuk melakukan utilisasi properti dan metode dari objek window.
Bagian ini akan membahas properti dari objek window berikut :
objek Location
objek History
objek Document
Diantara ketiga objek tersebut, document adalah objek yang paling penting dalam hirarki tersebut. Objek document itu sendirinya mengacu kepada objek lain. Hal lain yang penting dari hal ini adalah sebagai berikut:
Objek location mengandung informasi tentang URL sekarang. Acuannya ke objek tersebut adalah sebagai berikut:
[windowReference.]location[.propertyName]
Properti dari Objek location mengacu pada bagian individual dari URL:
protocol//hostname:port pathname search hash
CATATAN
Objek location dan properti location dari objek dokumen (document.location) memiliki tujuan yang berbeda. Objeklocation dapat berubah, tetapi properti location tidak dapat berubah.
Properti dari objek location adalah sebagai berikut:
protocol. protocol menentukan metode access dari URL.
hostname. hostname mengandung nama host dan domain, atau alamat IP, dari host tujuan.
port. port adalah TCP/IP port, jika kosong akan digunakan port default dari protocol tersebut.
pathname. pathname meliputi path resource pada host tujuan.
search. property search adalah string yang dimulai dengan tanda ? yang digunakan untuk script CGI.
hash. property hash adalah suatu string yang dimulai dengan tanda hash(#) dan diikuti dengan suatu anchor name.
href. property ini merupakan keseluruhan dari URL. Jika acuan dibuat ke[windowName.]location, property href menjadi asumsi.
host. Property ini ekivalen dengan hostname:port.
CATATAN
Walaupun JavaScript memungkinkan modifikasi pada properti individual, praktek pemrograman yang umum adalah mengubah properti href. Pendekatan ini mencegah hasil error dari browser sebelum akses URL belum berubah secara keseluruhan.
Contoh :
<a href="" onmouseover="parent.location='http://www.indoprog.com/'"> Langsung ke homepage Indoprog</A>
Contoh diatas akan langsung membuka homepage http://www.indoprog.com begitu pointer lewat diatas link Langsung ke homepage Indoprog
Akses ke objek History adalah topik yang kontroversial karena memungkinkan script mengirim history kembali ke server. Untuk mencegah pemakaian yang menyimpang, Netscape Navigator 2.01 keatas telah menghilangkan Objek ini.
Contoh 1 :
<a href="#" onClick="history.go(-1)">Back</a> <input type=button value="Back" onClick="history.go(-1)"> Hasil : Back
Contoh 2 :
<HEAD> <SCRIPT LANGUAGE="JavaScript"> <!-- Begin var agree=confirm("Apakah anda yakin untuk melanjutkan PROSES ?"); if (agree) document.write(""); else history.go(-1); // Kembali ke halaman sebelumnya // End --> </SCRIPT>
</HEAD>
Objek document menyimpan properti, objek, dan metode yang mewakili dokumen. Hal tersebut mengacu pada bagian dokumen HTML yang didefinsikan oleh tag <BODY></BODY>. Bagian ini mendiskusikan komponen dari objek dokumen, kecuali objek form (yang akan dibahas pada bagian berikutnya).
Properti objek document
Option HTML ke tag <BODY> mendefinisikan properti objek document. JavaScript mengacu pada semua properti ini, kecuali untuk image background.
CATATAN
String yang diperlukan untuk mengubah properti color adalah dalam format document.colorProperty = "#RRGGBB"atau document.colorproperty="colorName". Property color lainnya didefinisikan dalam tag <HEAD></HEAD> yang mendahului tag <BODY>.
Properti color untuk Objek document adalah sebagai berikut:
bgColor. Property ini menentukan warna latarbelakang dari dokumen. Property bgColor secara langsung mengupdate tampilan.
fgColor. Property ini menentukan warna text dari dokumen. Setelah browser menyelesaikan layout dari dokumen HTML., browser mengabaikan perubahan pada propery ini. Kecuali tag <FONT> atau metode fontcolor metode menyediakan suatu mekanisme alternatif untuk mengubah warna text.
linkColor. linkColor mewakili warna dari suatu link yang didefinsikan oleh HREF.
alinkColor. property control warna dari suatu active link. Dengan kata lain, hal tersebut adalah warna dari link ketika terpilih.
vlinkColor. Situs yang pernah dikunjungi, browser menampilkan warna untuk link tersebut.
Contoh 1:
<FORM> <SELECT onChange= "document.bgColor=this.options[this.selectedIndex].value"> <OPTION VALUE="40E0D0"> Torquoise <OPTION VALUE="2E8B57"> Sea Green <OPTION VALUE="87CEEB"> Sky Blue <OPTION VALUE="F4A460"> Sandy Brown <OPTION VALUE="FFF0F5"> Lavender Blush <OPTION VALUE="FF1493"> Deep Pink <OPTION VALUE="FFFFFF" SELECTED> White </SELECT> </FORM> Hasil :
Objek document juga mengandung properti berikut yang tidak berkaitan dengan warna:
lastModified. Property read-only yang berkaitan dengan tanggal terakhir dokumen dimodifikasi.
location. Property read-only yang biasanya sama dengan nilai dari lokasi Objek, kecuali redirection digunakan untuk URL
referrer. Property read-only mengandung URL untuk dokument yang mana di link ke dokumen tersebut.
title. Property read-only mengandung nilai yang ditentukan pada tag<TITLE></TITLE>.
Contoh 1:
<SCRIPT LANGUAGE="JavaScript"> <!-- document.write("Update terakhir :"); document.write(document.lastModified); // --> </SCRIPT> Hasil:
Update terakhir :10/21/2013 13:35:45 Update terakhir :01/17/2004 01:20:39 Update terakhir :07/14/2000 09:07:48 Contoh 2:
<form name=404form>
<script language="JavaScript"> <!-- Begin var from = document.referrer; document.write("<input type=text name=referrer value='" + from + "'>"); // End -->
</script>
</form>
Hasil :
Anda datang dari halaman :
The anchors Objek
Objek anchors mengandung suatu array dari semua anchors yang dideklarasikan dengan atribut NAME dari tag <A> </A>. Array tersebut dimulai dari 0 dan berlanjut sampai document.anchors.length - 1. Nilai dari document.annchors[index] adalah null.
TIP
Sebelum menggunakannya untuk memberikan nilai seperti location.hash, adalah mungkin untuk memeriksa keabsahan dari anchor dengan membandingkannya dengan panjang array; anda menggunakan bilangan berurut untuk menentukan anchors
Objek link
Array link mengandung Objek link yang didefinisikan oleh tag <A></A> atau dengan metode link. Array tersebut meliputi objek untuk atribut HREF dan NAME. Dengan tambahan ke atribut TARGET, properti dari masing-masing Objek link adalah identik dengan Objek location.
CATATAN
link array adalah suatu array read-only. Entries tambahan ditambahkan dengan tag <A></A>. Metode link melakukan modifikasi terhadap isi dalam array link
Objek link memiliki dua event handler: onClick dan onMouseOver. Bagian ini disebut sebagai "The Form Objek," pada bagian selanjutnya di bab ini, menggambarkan bagaimana mengunakan event handler.
Properti cookie
Property cookie mengandung suatu nilai string dari isi cookier dari file cookies.txt untuk dokumen tersebut. Untuk suatu keterangan lengkap tentang bagaimana menggunakan cookies, lihat bagian Netscape cookie specification. Metode substring, charAt, indexOf, dan lastIndexOf dapat digunakan untuk memisahkan string cookie.
The document Objek Metodes
Objek document mengandung lima metode:
document.write()
document.writeln()
document.open()
document.close()
document.clear()
Sebagaimana yang ditunjukkan pada contoh sebelumnya, metode document.write, tanpa mengacu pada suatu window, menulis text ke window yang sekarang. Metodedocument.writeln() adalah sama dengan document.write, selain itu juga menyisip suatu karakter newline pada akhir dari argumen. Format dari metode ini adalah sebagai berikut:
Tipe default MIME adalah text/html. Bagaimanapun, metode document.open(["mimetype"]) memungkinkan untuk membuka type MIME lainnya, seperti text/plain, image/gif, image/jpeg, image/x-bitmap, dan plugIn. Metode document.open() membuka suatu stream untuk mengumpulkan output dari metode write dan write.ln. Jika tipe MIME adalah text atau image, browser membuka suatu stream untuk layout, untuk plugIn, browser membukanya pada suatu plug-in. Jika suatu dokumen telah siap dalam target windows, mthod open menghapusnya.
Contoh :
<SCRIPT> document.write(Date()+".") </SCRIPT> Hasil :
Mon Oct 21 2013 20:35:45 GMT+0700 (SE Asia Standard Time). Sat Jan 17 01:25:37 2004.
CATATAN
Sekarang, tidak dimungkinkan lagi untuk mencetak tulisan apapun dengan JavaScript melalui metode write ataupunwriteln
Stream tersebut tetap terbuka sampai browser menemukan metode document.close(). document.close() memaksakan isi dari stream ditampilkan. Metodedocument.clear() membersihkan isi dari window.
Contoh :
<SCRIPT LANGUAGE="JavaScript"> <!-- Begin var clocktext, timeday; var pagetitle = document.title; function scroll() { today = new Date(); sec = today.getSeconds(); hr = today.getHours(); min = today.getMinutes(); // 12 Hour clock fix by Michael Mann if (hr < 12) { timeday = " AM"; } else { timeday = " PM"; } if (hr > 12) hr = hr - 12; if (hr <= 9) hr = "0" + hr; if (min <= 9) min = "0" + min; if (sec <= 9) sec = "0" + sec; var clocktext = " - " + hr + ":" + min + ":" + sec + timeday; clocktimer = setTimeout("scroll()", 1000); document.title = pagetitle + clocktext; } if (document.all) scroll(); // End --> </script> Hasil : Lihat pada Title Halaman ini
HTML tag <FORM></FORM> adalah fasilitas input data oleh pemakai, dan output data variabel kepada pemakai. Input oleh pemakai memiliki efek pemilihan pada sisi klien yang dapat dikirm ke server. Pada sisi lain, data variabel seperti marquees dapat ditampilkan pada form. Pada sisi input, event handle adalah fasilitas untuk membangkitkan rutin JavaScript untuk melakukan aktifitas pada proses edit data seperti validasi. Pada sisi output, JavaScript memegang peranan penting dalam mengatur bagaimana data ditampilkan.
Event adalah hasil dari aksi pemakai, seperti klik pada suatu tombol mouse, checking pada suatu kotak, dan pengiriman form. Penanganan Event didefinsikan dalam tag HTML sepanjang JavaScript berkaitan dengan event tersebut. Berikut ini adalah contoh yang merupakan kode dari suatu penanganan event.
Pada contoh sebelumnya, kata kunci this mengacu pada objek tersebut, yang mana adalah objek button. Dengan menyebutkan this.form, adalah acuan ke objekform yang mengandung button tersebut. Ketika contoh sebelumnnya menjalankan suatu fungsi, perintah JavaScript juga sah. Kalau lebih dari satu perintah, tiap perintah harus dipisahkan dengan suatu titik koma.
TIP
Praktek pemrograman yang baik adalah menggunakan fungsi karena mereka membuat kode lebih mudah dibaca dan dapat digunakan kembali.
NOTE
Sampai suatu dokumen HTML selesai di muat ke window yang mengandung tag <BODY></BODY>, suatu window tidak mengandung penanganan event.
Berikut ini adalah daftar dari penanganan event yang didukung oleh JavaSCript:
onBlur.JavaScript menjalankan penanganan event ini ketika pemakai meninggalkan field yang menyebabkan kehilangan fokus.
onChange. dijalankan ketika user meninggalkan field dan terjadi perubahan nilai object tersebut.
onClick. event onClick terjadi ketika pemakai klik pada window atau link..
onFocus. event ini terjadi ketika suatu form mendapatkan fokus.
onLoad. event ini terjadi ketika browser selesai memuat suatu dokumen atau semua frame didalam tag <FRAMESET>.
onMouseOver. event ini terjadi ketika mouse bergerak melewati object dari luar object tersebut. Rutin JavaScript harus mengembalikan true untuk status dan properti defaultStatus yang ditentukan..
onSelect. event ini terjadi ketika pemakai melakukan select text pada text area..
onSubmit. terjadi ketika user submit suatu form. Jika JavaScript mengembalikan false, form tersebut tidak akan di submit, nilai lainnya atau tidak ada nilai balik, membuat form di submit.
onUnload. event ini terjadi ketika dokument di exit.
Penanganan Event adalah bagian dari berbagai object. Beberapa object mendukung lebih dari satu penanganan event, dan beberapa penanganan event terjadi pada banyak objek. Tabel.8 menunjukkan hubungan antara penanganan event dan objek-objek.
Table 8. Hubungan antara penanganan event dan objek.
Object form hanya memiliki satu metode-submit. Metode submit melakukan aksi yang sama seperti tombol submit pada HTML form dan memiliki tata cara penulisan sebagai berikut: