Pemrograman Web Javascript
Pemrograman Web Javascript
sdms`mf?i`u`rbqhos
13.1 Tujuan Instruksional
1. Pembaca mengetahui sejarah Javascript.
2. Pembaca mengetahui penulisan Javascript.
3. Pembaca mengetahui struktur Javascript.
13.2 Pendahuluan
JavaScript dikembangkan oleh Netscape Communications dan Sun Microsystems
tahun 1995. JavaScript adalah bahasa pemrograman script untuk web bersifat open
source dan open architecture yang diletakkan dan berjalan pada komputer klien.
Sedangkan JavaScript yang di server disebut LiveWire. Perbedaan yang tampak
adalah JavaScript klien diletakkan pada bagian HTML dan JavaScript server terletak
pada bagian file executable yang berisi kode-kode byte.
Bentuk JavaScript mirip dengan Java, namun keduanya berbeda jauh. Java adalah
bahasa pemrograman kompiler dan JavaScript adalah skrip interpreter yang
diletakkan pada bagian skrip HTML. Awalnya JavaScript hanya dapat berjalan di
Nescape, namun seiring perkembangannya browser Internet Explore pun dapat
menerima JavaScript. Microsoft juga menciptakan skrip yang dapat berjalan di
browser Internet Explore yang bernama Jscript. Namun keduanya sedikit berbeda
sehingga tidak dapat saling berkolaborasi.
75
13.3 Penulisan Javascript
Untuk belajar JavaScript hanya diperlukan teks editor dan web browser. Teks editor
dapat menggunakan notepad, word, editplus dan lainnya. Web browser dapat
menggunakan Nescape atau IE. Program JavaScript diletakkan pada bagian skrip
HTML dengan diawali <script language=”JavaScript”>. Untuk komentar dalam
skrip JavaScript menggunakan tanda // atau /* dan */. JavaScript bersifat case
sensitive artinya penulisan huruf besar dan huruf kecil dibedakan. Misal penulisan
DOCUMENT berbeda dengan document. Berikut contoh penggunaan komentar
JavaScript.
<script language="JavaScript">
// program JavaScript tulis disini
/* program selanjutnya tulis disini */
</script>
atau
<script type="text/javaScript">
// program JavaScript tulis disini
/* program selanutnya tulis disini */
</SCRIPT>
kemudian, penulisan JavaScript tidak perlu diakhiri tanda apapun. Namun bila anda
menulis beberapa pernyataan dalam satu baris harus diakhiri dengan tanda ; lebih
jelasnya lihat contoh berikut :
<HTML>
<HEAD><TITLE> contoh JavaScript</TITLE></HEAD>
</BODY>
<script language="JavaScript">
document.write("Selamat Belajar","<br>")
document.write("JavaScript")
</script>
</BODY>
</HTML>
<HTML>
<HEAD><TITLE> contoh JavaScript</TITLE></HEAD>
</BODY>
<script language="JavaScript">
document.write("Program JavaSript-ku yang pertama")
</script>
</BODY>
</HTML>
Pada contoh diatas perintah JavaScript diletakkan pada bagian <body>. Pada pola
kedua perintah JavaScript dapat diletakkan pada bagian <head> biasanya berupa
fungsi. Semua definisi ditulis dan dipanggil pada bagian <head>, contoh di bawah
menjelaskan. Hasilnya sama.
<HTML>
<HEAD>
<TITLE> contoh JavaScript</TITLE>
<script language="JavaScript">
document.write(" Program JavaSript-ku yang pertama")
</script>
</HEAD>
<BODY>
</BODY>
</HTML>
Kemudian file tersebut di simpan dengan ekstensi .js, cara ini cukup efektif untuk
mengamankan script JavaScript yang anda buat. Kelebihan lainnya adalah anda dapat
memanggil file tersebut secara berulang-ulang selama dibutuhkan. Sehingga dapat
menghemat baris program. Contoh di bawah menjelaskan.
<HTML>
<HEAD><TITLE> contoh JavaScript</TITLE>
<script src="http://hal_pertama.js"></script>
</HEAD>
<BODY>
<h4>Haloo apa kabar ?</h4>
</BODY>
</HTML>
Pada buku ini penulis menggunakan editor EditPlus 2. Software ini mendukung
dalam penulisan script berbasis web. Berikut tampilan utama dari EditPlus 2.
78
PS
u`qh`adk?c`m?jnmrs`ms`
14.1 Tujuan Instruksional
1. Pembaca mampu membuat variabel pada Javascript.
2. Pembaca mampu mendeklarasikan variabel.
3. Pembaca mampu membuat konstanta.
79
14.3 Mendeklarasikan Variabel
Sintak menciptakan variabel adalah :
Contoh :
var nm_pegawai = “haryanto”
var jml_bayar = 150000
var ip_sem = 2.89
var laki_laki = true
var perempuan = false
var kota = null
Jml_bayar = hg_satuan * 5
Nilai 5 dalam rumus diatas adalah konstanta/literal yang akan digunakan selama
program aktif. Jenis konstanta ada 4 yaitu :
1. Konstanta integer, adalah bilangan bulat tanpa desimal/pecahan. Contoh :
50, 3, 1500 atau 450.
2. Konstanta floating point adalah bilangan pecahan atau bilangan pangkat.
Pada JavaScript penulisan pangkat menggunakan E atau e. Contoh : 3.14,
10E3, -5E.
3. Konstanta string, adalah karakter yang mengandung huruf angka atau
simbol-simbol. Konstanta string harus diawali dan diakhiri tanda “ “. Contoh
: “Tjahjo”, “Candra”.
4. Konstanta boolean, adalah konstanta yang hanya memiliki dua buah nilai
yaitu “true” atau “false”.
80
PT
shod?c`s`
15.1 Tujuan Instruksional
1. Pembaca dapat menggunakan tipe-tipe data dalam Javscript.
2. Pembaca mampu mendeklarasikan variabel dengan tipe data yang sesuai.
3. Pembaca mampu menggunakan karakter khusus pada tipe data dalam variabel.
81
15.3 Tipe Numerik
Adalah tiep data yang bernilai angka atau bilangan yang digunakan untuk operasi
perhitungan. Contoh :
var jml_beli = 12500
var nilai = 79
var ip_sem = 3.01
oooO0Oooo
82
PU
nodq`snq? \‹?djroqdrh
16.1 Tujuan Instruksional
1. Pembaca mengenal berbagai operator pada Javascript.
2. Pembaca mampu menggunakan operator sesuai dengan permasalahannya.
16.2 Pendahuluan
Operator adalah perintah untuk melakukan sesuatu terhadap nilai atau variabel dan
memberikan hasil. Seperti penambahan, pengurangan, pembanding terhadap dua
nilai dan lainnya. JavaScript mempunyai enam operator yaitu :
1. Operator Aritmatika.
2. Operator Pembanding.
3. Operator Logika.
4. Operator Penugasan.
5. Operator String.
6. Ekspresi.
Contoh nilai unary : hasil++. Daftar operator aritmatik lihat pada tabel 14.1.
83
Tabel 16.1 Daftar operator aritmatika
Operator Jenis Keterangan
* Binary Perkalian
/ Binary Pembagian
+ Binary Penjumlahan
- Binary Pengurangan
% Binary Pembagian sisa/modulus
- Unary Negasi
++ Unary Penambahan satu
-- Unary Pengurangan satu
Jenis binary tidak dibahas lebih jauh karena operator ini sering digunakan oleh
pembaca. Berikut ini contoh penggunaan operator jenis binary dengan program
JavaScript dan hasilnya.
<HTML>
<HEAD><TITLE> Contoh Penggunaan Operator Binary</TITLE></HEAD>
<BODY>
<script language="JavaScript">
document.write("12 * 4 = " + (12*4) + "<br>")
document.write("12 / 4 = " + (12/4) + "<br>")
document.write("12 + 4 = " + (12+4) + "<br>")
document.write("12 - 4 = " + (12-4) + "<br>")
document.write("12 % 5 = " + (12%5) + "<br>")
</script>
</BODY>
</HTML>
Berikut ini contoh penggunaan operator jenis unary dengan program JavaScript dan
hasilnya.
<HTML>
<HEAD><TITLE> Contoh Penggunaan Operator Unary</TITLE></HEAD>
<BODY>
<script language="JavaScript">
hasil=1
document.write("hasil pertama = " + (hasil++) + "<br>")
document.write("hasil kedua = " + (hasil++) + "<br>")
document.write("hasil ketiga = " + (hasil++) + "<br>")
84
document.write("hasil keempat = " + (hasil++) + "<br>")
document.write("hasil kelima = " + (hasil++) + "<br>")
</script>
</BODY>
</HTML>
<HTML>
<HEAD><TITLE>Contoh Penggunaan Operator Unary</TITLE></HEAD>
<BODY>
<script language="JavaScript">
hasil=2
document.write("hasil berikutnya = " + (hasil--) + "<br>")
document.write("hasil berikutnya = " + (hasil--) + "<br>")
document.write("hasil berikutnya = " + (hasil--) + "<br>")
document.write("hasil berikutnya = " + (hasil--) + "<br>")
document.write("hasil berikutnya = " + (hasil--) + "<br>")
</script>
</BODY>
</HTML>
<HTML>
<HEAD><TITLE>Contoh Penggunaan Operator Unary</TITLE></HEAD>
<BODY>
<script language="JavaScript">
hasil=2
document.write("nilai semula = " + (hasil) + "<br>")
document.write("nilai negasinya = " + (-hasil) + "<br>")
</script>
</BODY>
</HTML>
85
Gambar 16.4 Hasil operator aritmatika jenis unary -
Contoh :
Hasil = hasil + jml
artinya sama dengan
hasil += jml
<HTML>
<HEAD><TITLE>Contoh Penggunaan Operator Penegasan</TITLE></HEAD>
<BODY>
<script language="JavaScript">
x = 9; y = 5;
document.write("nilai awal x = 9 dan y = 5","<br><br>")
x = 9; y = 5;
document.write("hasilnya x += y adalah " + (x += y) + "<br>")
x = 9; y = 5;
document.write("hasilnya x -= y adalah " + (x -= y) + "<br>")
x = 9; y = 5;
document.write("hasilnya x *= y adalah " + (x *= y) + "<br>")
x = 9; y = 5;
86
document.write("hasilnya x /= y adalah " + (x /= y) + "<br>")
x = 9; y = 5;
document.write("hasilnya x %= y adalah " + (x %= y) + "<br>")
x = 9; y = 5;
document.write("hasilnya x &= y adalah " + (x &= y) + "<br>")
x = 9; y = 5;
document.write("hasilnya x |= y adalah " + (x |= y) + "<br>")
</script>
</BODY>
</HTML>
Pada baris program diatas, timbul pertanyaan ‘mengapa setiap baris program diberi
nilai awal pada variabelnya secara berulang-ulang ?’. Anda akan menemukan
jawabannya setelah mempelajari program bawah dengan cara menelusuri satu per
satu setiap operator dan nilai variabel pada baris programnya.
<HTML>
<HEAD><TITLE>Contoh Penggunaan Operator Penegasan</TITLE></HEAD>
<BODY>
<script language="JavaScript">
x = 9; y = 5;
document.write("nilai awal x = 9 dan y = 5","<br><br>")
document.write("hasilnya x += y adalah " + (x += y) + "<br>")
document.write("hasilnya x -= y adalah " + (x -= y) + "<br>")
document.write("hasilnya x *= y adalah " + (x *= y) + "<br>")
document.write("hasilnya x /= y adalah " + (x /= y) + "<br>")
document.write("hasilnya x %= y adalah " + (x %= y) + "<br>")
document.write("hasilnya x &= y adalah " + (x &= y) + "<br>")
document.write("hasilnya x |= y adalah " + (x |= y) + "<br>")
</script>
</BODY>
</HTML>
87
Gambar 16.6 Hasil operator penugasan tanpa nilai awal
<HTML>
<HEAD><TITLE>Contoh Penggunaan Operator Pembanding</TITLE></HEAD>
<BODY>
<script language="JavaScript">
document.write("Hasil dari 10 = = 10 adalah "+(10 == 10)+"<br>")
document.write("Hasil dari 10 != 10 adalah "+(10 != 10)+"<br>")
document.write("Hasil dari 10 >= 11 adalah "+(10 >= 11)+"<br>")
document.write("Hasil dari 10 <= 6 adalah "+(10 <= 6)+"<br>")
document.write("Hasil dari 10 > 5 adalah "+(10 > 5)+"<br>")
document.write("Hasil dari 10 < 55 adalah "+(10 < 55)+"<br>")
</script>
</BODY>
</HTML>
88
Gambar 16.7 Hasil dari operator pembanding
Dari contoh diatas dapat diuraikan salah satu nilai yang dibandingkan harus sesuai
dengan kriteria atau salah satu dari perbandingan diatas harus bernilai true. Artinya
2000 lebih besar dari 1500 ATAU 2000 tidak sama dengan 1500 maka hasilnya
bernilai TRUE. Sebagai pedoman tentang operator logika dapat dilihat pada tabel di
bawah.
Tabel 16.4 Panduan operator OR
Kondisi 1 Kondisi 2 Hasil
False False False
False True True
True False True
True True True
<HTML>
<HEAD><TITLE>Contoh Penggunaan Operator Logika</TITLE></HEAD>
<BODY>
<script language="JavaScript">
document.write("10 > 20 AND 12 > 12 hasilnya "+((10>20)&&(12>12))+"<br>")
document.write("10 < 10 AND 12 < 12 hasilnya "+((10<10)&&(12<12))+"<br>")
document.write("11 > 10 AND 9 < 10 hasilnya "+((11>10)&&(9< 10))+"<br>")
document.write("","<hr>")
document.write("10 > 20 OR 12 > 12 hasilnya "+((10>20)||(12>12))+"<br>")
document.write("10 < 10 OR 12 = = 12 hasilnya "+((10<10)||(12==12))+"<br>")
document.write("11 > 10 OR 9 = = 10 hasilnya "+((11>10)||(9==10))+"<br>")
document.write("11 > 10 OR 9 < 10 hasilnya "+((11>10)||(9<10))+"<br>")
document.write("","<hr>")
document.write("10 TIDAK = 10 hasilnya adalah "+(!(10==10))+"<br>")
document.write("10 TIDAK = 9 hasilnya adalah "+(!(10==9))+"")
</script>
</BODY>
</HTML>
90
1. String tidak dapat dibandingkan.
2. JavaScript akan merubah string berisi angka menadi numerik, sehingga dapat
dibandingkan. Contoh : “250” >= “300”. Maka hasilnya berubah menjadi
250 >= 300, sehingga hasilnya adalah true.
3. String berisi angka dan huruf tidak akan berubah. Contoh : ”bond007” maka
hasilnya tetap “bond007”.
Berikut ini contoh penggunaan operator string dengan JavaScript dan hasilnya.
<HTML>
<HEAD><TITLE>Contoh Penggunaan Operator String</TITLE></HEAD>
<BODY>
<script language="JavaScript">
document.write("Lulus = Tidak ? adalah:"+("lulus" ==
"tidak")+"<br>")
document.write("1 > 2 ? hasilnya adalah "+("1" > "2")+"<br>")
document.write("1 < 10 ? hasilnya adalah "+("1" < "10")+"<br>")
kata1="belajar"
kata2="bersama"
hasil=kata1+kata2
document.write("kata pertama : belajar","<br>")
document.write("kata kedua : bersama","<br>")
document.write("setelah di tambah hasilnya : "+hasil+"<br>")
document.write("hasil += adalah "+(kata1+="bersama")+"<br>")
</script>
</BODY></HTML>
Misal x = 9 >= 3 ? “true” : “false”;. Pada ekspresi ini bila kondisi benar
akan mengembalikan nilai1. Sebaliknya jika kondisi salah akan mengembalikan
nilai2. Jadi pada contoh tersebut jika 9 lebih besar dari 3 variabel x akan berisi
“true”. Sebaliknya jika 9 lebih kecil sama dengan 3 maka variabel x berisi “false”.
Contoh berikut ini menjelaskan penggunaan ekspresi.
<HTML>
<HEAD><TITLE>Contoh Penggunaan Ekspresi</TITLE></HEAD>
<BODY>
<script language="JavaScript">
var a = 9
var x = (a >= 3) ? "anda benar" : "anda salah"
document.write("apakah 9 >= 3 ? jawab : "+ x +"<br>")
var a = 9
var x = (a <= 3) ? "anda benar" : "anda salah"
document.write("apakah 9 <= 3 ? jawab : "+ x +"")
</script>
</BODY>
</HTML>
92
16.9 Latihan
Selesaikan dengan JavaScript dan amati hasilnya.
1. Apakah karakter G lebih kecil dari L ?.
2. Diketahui data A=”Belajar”, B=”jam 16.00” dan C=”bersama”, D=”javascript”
dan E=”Rudi” . Gabunglah data-data tersebut sehingga menjadi sebuah kalimat ?.
3. Apakah setiap data pada soal No. 2 dapat dibandingkan ? . Mengapa demikian ?.
4. Berapakah hasil dari perhitungan berikut: Hasil = A – B * C / D + E. Dimana
A=5, B=2, C=6, D=2 dan E=3. Gunakan operator aritmatika yang tersedia pada
JavaScript.
oooO0Oooo
93
PV
rs`sdldms
17.1 Tujuan Instruksional
1. Pembaca dapat memahami statement pencabangan dan perulangan.
2. Pembaca dapat membuat sebuah fungsi atau script yang melibatkan perulangan
dan pencabangan.
3. Pembaca dapat membuat script validasi data dengan pencabangan.
17.2 Pendahuluan
Statement adalah pernyataan yang menjelaskan tentang alur/jalannya program.
Statement ada dua yaitu perulangan dan pencabangan. Perulangan digunakan untuk
mengulang suatu proses beberapa kali sesuai kondisi yang diminta. Pencabangan
digunakan untuk melakukan sebuah atau beberapa validasi data sesuai data yang
diinginkan. Pada JavaScript tersedia pencabangan IF….ELSE, IF….ELSE IF,
SWITCH. Untuk perulangan ada FOR, FOR….IN, WHILE, DO….WHILE. Berikut
ini penjelasan pencabangan dan perulangan yang ada pada JavaScript.
Untuk implementasi dari statement if…..else dengan JavaScript dapat dilihat pada
kedua program di bawah. Perlu diperhatikan jika pernyataan lebih dari satu maka
94
diakhiri dengan tanda ; dan diapit tanda { dan }. Namun bila pernyataan hanya satu
maka tidak perlu menggunakan tanda { dan }.
<HTML>
<HEAD><TITLE>Contoh Statement IF.....ELSE</TITLE></HEAD>
<BODY>
<script language="JavaScript">
lulus=84
if (lulus>=70)
{
document.write("anda lulus, dapat hadiah mobil","<br>");
document.write("silahkan ambil gratis")
}
else
{
document.write("anda dapat hadiah sepeda motor","<br>");
document.write("silahkan ambil dengan bawa identitas")
}
</script>
</BODY>
</HTML>
<HTML>
<HEAD><TITLE>Contoh Statement IF.....ELSE IF</TITLE></HEAD>
<BODY>
<script language="JavaScript">
lulus=51
if (lulus>=90)
document.write("anda lulus, dapat hadiah mobil","")
else if (lulus>=50)
document.write("maaf, anda lulus dengan syarat","")
else
document.write("anda tidak lulus","")
</script>
</BODY>
</HTML>
95
Gambar 17.2 Hasil pencabangan IF….ELSE IF
<HTML>
<HEAD><TITLE></TITLE></HEAD>
<BODY>
<script language="JavaScript">
x = 2
if (x == 1)
document.write("Menikah","")
else if (x == 2)
document.write("Belum Menikah","")
else if (x == 3)
document.write("Duda","")
else if (x == 4)
document.write("Janda","")
</script>
</BODY>
</HTML>
Kasus program diatas dapat diatasi dengan menggunakan statement Switch, sehingga
dari segi baris program lebih ringkas. Program diatas dapat dimodifikasi dengan
menggunakan statement Switch, seperti program di bawah. Klausa break digunakan
untuk mengakhiri suatu pilihan/kondisi. Klausa default digunakan untuk
memproses pernyataan jika sudah tidak ada lagi yang harus dieksekusi.
<HTML>
<HEAD><TITLE>Contoh Statement SWITCH</TITLE></HEAD>
<BODY>
<script language="JavaScript">
x = 2
switch (x)
{
case 1: document.write("Menikah","");break;
case 2: document.write("Belum Menikah","");break;
case 3: document.write("Duda","");break;
case 4: document.write("Janda","")
96
}
</script>
</BODY>
</HTML>
Berikut ini contoh program tentang statement for pada JavaScript dan hasilnya.
<HTML>
<HEAD><TITLE>Contoh Statement FOr</TITLE></HEAD>
<BODY>
<script language="JavaScript">
for (nilai = 1; nilai <= 8; nilai +=2)
{
document.write("Nilai sekarang adalah : "+nilai+"<br>")
}
</script>
</BODY>
</HTML>
97
Penjelasan dari program diatas yaitu nilai awal = 1 dan nilai akhir = 8, dengan
kenaikan sejumlah 2. Maka setiap kenaikan dihitung 1+2, 3+2, 5+2. Selama nilai
masih diantara 1 – 8 maka proses akan terus berlangsung, sampai batas akhir
terpenuhi. Contoh lain dari penggunaan for seperti pada program dibawah ini, yaitu
dengan kenaikan nilai sebesar 1.
<HTML>
<HEAD><TITLE>Contoh Statement FOr</TITLE></HEAD>
<BODY>
<script language="JavaScript">
for (ang = 1; ang <= 10; ang +=1)
{
document.write("Nilai angsuran kedit motor ke : "+ang+"<br>")
}
</script>
</BODY>
</HTML>
Statement for tersarang adalah pernyataan for dalam pernyataan for lain, disebut
juga for nested atau for bertingkat. Berikut ini contohnya :
<HTML>
<HEAD><TITLE>Contoh Penggunaan Statement FOr</TITLE></HEAD>
<BODY>
<script language="JavaScript">
for(x = 1; x <= 5; x++)
for (y = 1000; y <= 1000; y++)
{
document.write("Angsuran ke "+x+" Dibayar Rp. "+y+"<br>")
}
</script>
</BODY>
</HTML>
98
Gambar 17.6 Hasil FOR Nested
Setiap kali pernyataan for terluar dikerjakan maka variabel x akan dikerjakan
sebanyak 5 kali. Setiap proses mengerjakan akan dicetak nilai x dan y.
Keterangan :
Counter : jumlah counter/properti dalam obyek
Nama_obyek : obyek yang akan di loop
Pernyataan : pernyataan yang akan dijalankan selama loop
merek dan tipe. Dan setiap properti memiliki indek yang dimulai dari 0.
Jadi obyek kendaraan diatas memiliki counter berikut :
Kendaraan[0] = kendaraan.jenis
Kendaraan[1] = kendaraan.merek
Kendaraan[2] = kendaraan.tipe
99
Untuk program lengkap dan hasilnya akan dibahas secara rinci pada bab XVIII
tentang obyek.
<HTML>
<HEAD><TITLE>Contoh Penggunaan Statement WHILE</TITLE></HEAD>
<BODY>
<script language="JavaScript">
var nilai = 1
while (nilai < 10)
{
document.write("Nilainya sekarang : "+nilai+"<Br>")
nilai += 1
}
</script>
</BODY>
</HTML>
<HTML >
<HEAD><TITLE>Contoh Penggunaan Statement WHILE</TITLE></HEAD>
<BODY>
<script language="JavaScript">
for (nilai=1; nilai < 10; nilai+=1)
{
document.write("Nilainya sekarang : "+nilai+"<Br>")
}
</script>
</BODY>
</HTML>
100
Gambar 17.7 Hasil perulangan WHILE
Statement while juga dapat ditulis secara bertingkat atau nested. Contoh programnya
sebagai berikut :
<HTML>
<HEAD><TITLE>Contoh Penggunaan Statement WHILE</TITLE></HEAD>
<BODY>
<script language="JavaScript">
x = 1
while (x < 4)
{
y = 1
while (y < 2)
document.writeln(" "+x+" "+ y++ +"<br>")
x++
}
</script>
</BODY>
</HTML>
101
17.9 Statement DO…..WHILE
Statement ini mulai diperkenalkan pada JavaScript 2.1 fungsinya hampir sama
dengan statement while. Perbedaannya terletak pada pengujian kondisi pada akhir
kalang. Perlu diperhatikan bahwa pernyataan dalam kalang do…..while selalu
dieksekusi paling tidak satu kali (meskipun kondisi tidak terpenuhi). Sebaliknya
pernyataan dalam kalang while mungkin tidak pernah eksekusi (meskipun kondisi
tidak terpenuhi). Berikut ini contoh penggunaan statement do…..while.
<HTML>
<HEAD><TITLE></TITLE></HEAD>
<BODY>
<script language="JavaScript">
x = 1
do
{
y = 1
do
{
document.writeln(" "+x+" "+ y++ +"<br>")
}
while (y < 3)
x++
}
while (x < 4)
</script></BODY></HTML>
102
yang berhenti karena statement break. Berikut contoh program untuk statement
break.
<HTML>
<HEAD><TITLE>Contoh Statement BREAK dan CONTINUE</TITLE></HEAD>
<BODY>
<script language="JavaScript">
var nilai = 0
while (nilai >= 0)
{
nilai = nilai + 1
document.write("Hitungan ke : "+nilai+" <br>")
if (nilai > 3)
{
break
}
}
document.write("Hitungan terakhir keluar ...."+"<br>")
</script>
</BODY>
</HTML>
Dari program diatas dapat dijelaskan sebagai berikut : jika dilihat kalang diatas tidak
pernah berakhir karena nilai var nilai >= 0 artinya while akan menghitung terus
sampai angka berapapun. Namun karena ada kondisi nilai > 3 dan menjumpai
statement break maka proses berhenti pada perulangan terakhir dan keluar dari
statement while. Contoh dari penggunaan statement continue sebagai berikut :
<HTML>
<HEAD><TITLE>Contoh Statement BREAK dan CONTINUE</TITLE></HEAD>
<BODY>
<script language="JavaScript">
for (i = 0; i < 15; i++)
{
if ((i % 2) != 0)
continue
document.write(" "+i+"<br>")
103
}
</script>
</BODY>
</HTML>
Alur program diatas yaitu kondisi dalam for akan melakukan perulangan sebanyak
15 kali dengan nilai I bertambah 1. Ketika I habis dibagi 2 dan tidak sama dengan
nol, maka proses akan melanjutnya pernyataan document.write, karena menjumpai
statement continue.
Semua properti yang ada di dalam with akan merujuk kepada obyek bersangkutan.
Sehingga anda tidak perlu menulis obyek dengan lengkap, seperti
kendaraan.jenis, kendaraan.tipe dan sebagainya. Contoh program berikut ini
menjelaskan.
104
With (kendaraan)
{
jenis=”mobil”
merek=”honda”
tipe=”jazz”
}
17.12 Latihan
1. Buatlah script perulangan untuk membuat sebuah matrik 3 x 3 dengan
menggunakan FOR NESTED.
2. Buatlah script untuk menghitung berapa kali angsuran jika diketahui besarnya
pinjaman Rp. 5.000.000 dan setiap angsuran sebesar Rp. 200.000, tampilan yang
diinginkan seperti gambar 17.6
oooO0Oooo
105
PW
etmbshnm
3. Nama fungsi dapat diikuti parameter dan ditulis dalam tanda ( ). Contoh :
Function rumus(x,y)
106
Setiap akhir baris fungsi, untuk memisahkan setiap kelompok script atau baris
dipisahkan tanda ; dan pada baris terakhir tidak perlu.
<HTML>
<HEAD><TITLE>Contoh Membuat Fungsi</TITLE></HEAD>
<BODY>
<script language="JavaScript">
function tampil()
{
document.write("belajar fungsi javascript")
}
</script>
</BODY>
</HTML>
Fungsi tampil() diatas berisi teks “belajar fungsi JavaScript” yang diletakkan di
antara <script language=”JavaScript”> dan </script>. Fungsi dapat dibuat
tanpa parameter, seperti contoh diatas.
<HTML>
<HEAD><TITLE>Contoh Fungsi Dengan Parameter</TITLE></HEAD>
<BODY>
<script language="JavaScript">
function hitung(x,y)
{
var hasil = x * y
document.write("hasil fungsi hitung adalah : "+hasil+" ")
}
</script>
</BODY>
</HTML>
107
Menggunakan Fungsi
Cara menggunakan fungsi pada JavaScript ada tiga cara yaitu :
1. Fungsi dipanggil dari dalam JavaScript.
2. Fungsi dipanggil dari dalam fungsi itu sendiri, disebut juga fungsi rekursif.
3. Fungsi dipanggil dari dalam fungsi yang lain.
Berikut ini contoh fungsi yang dipanggil dari dalam JavaScript yaitu, baik dengan
parameter maupun tanpa parameter (menggunakan program sebelumnya). Dan fungsi
pada JavaScript dapat dipanggil dari bagian <head> dan bagian <body>.
<HTML>
<HEAD>
<TITLE>Contoh Membuat Fungsi</TITLE>
</HEAD>
<BODY>
<script language="JavaScript">
function tampil()
{
document.write("belajar fungsi javascript")
}
tampil()
</script>
</BODY>
</HTML>
<HTML>
<HEAD>
<TITLE>Contoh Membuat Fungsi</TITLE>
<script language="JavaScript">
function tampil()
{
document.write("belajar fungsi javascript")
}
tampil()
</script>
</HEAD>
<BODY>
</BODY>
</HTML>
Dari kedua contoh program diatas terlihat bahwa fungsi dapat diletakkan dan
dipanggil pada bagian <head> seperti gambar 16.1 atau diletakkan dan dipanggil
pada bagian <body> seperti gambar 16.2. Hasilnya akan sama seperti gambar 16.3.
108
Gambar 18.3 Hasil pemanggilan function
Berikut ini contoh fungsi dengan parameter, dimana fungsi terletak pada bagian
<head> dan fungsi dipanggil pada bagian <body> seperti gambar 16.4.
<HTML>
<HEAD>
<TITLE>Contoh Membuat Fungsi Dengan Parameter</TITLE>
<script language="JavaScript">
function hitung(x,y)
{
var hasil = x * y
document.write("hasil fungsi hitung adalah : "+hasil+" ")
}
</script>
</HEAD>
<BODY>
<script>
hitung(3,8)
</script>
</BODY>
</HTML>
109
<head> dan dipanggil pada bagian <body>. Dan fungsi rekursif mempunyai
parameter bernama x.
<HTML>
<HEAD><TITLE>Contoh Fungsi Memanggil Fungsi</TITLE>
<script language="JavaScript">
function rekursif(x)
{
if ((x == 0) || (x == 1))
{
return 1
}
else
{
hasil=(x * rekursif(x-1))
return hasil
}
}
</script>
</HEAD>
<BODY>
<script language="JavaScript">
for (ulangi = 0; ulangi < 5; ulangi++)
{
document.write("Faktorial: "+ulangi+" : "+rekursif(ulangi)+"<br>")
}
</script>
</BODY>
</HTML>
<HTML>
<HEAD><TITLE>Contoh Membuat Fungsi Memanggil Fungsi</TITLE>
<script language="JavaScript">
function menyapa()
{
document.write("selamat deh semoga berhasil")
110
}
function membalas()
{
document.write("saya sedang membuat fungsi dalam fungsi","<br>");
menyapa()
}
membalas()
</script>
</HEAD>
<BODY>
</BODY>
</HTML>
Jika parameter nilai basis tidak disebutkan maka otomatis akan dianggap basis 10.
Dan bila nilai string tidak dapat di konversi maka fungsi parseInt akan
mengembalikan nilai NaN. Berikut ini contoh programnya.
FUNGSI parseFloat()
Digunakan untuk mengkonversi nilai string menjadi nilai floating-point (angka
pecahan atau angka berpangkat). Sintaknya sebagai berikut :
parseFloat(string)
111
Fungsi parseFloat mengembalikan angka real hasil pengkonversiannya. Jika nilai
string tidak dapat dikonversi maka fungsi akan memberikan nilai NaN. Berikut
contoh penggunaan fungsi parseFloat.
<HTML>
<HEAD><TITLE>Contoh Fungsi parseInt dan parseFloat</TITLE></HEAD>
<BODY>
<script language="JavaScript">
{
document.write("1000 basis 10 = "+parseInt("1000", 10)+"<br>")
document.write("40 basis 8 = "+parseInt("40", 8)+"<br>")
document.write("10 basis 2 = "+parseInt("10", 2)+"<br>")
document.write("Hasil dari '10' : "+parseFloat("10")+"<br>")
document.write("Hasil dari '2 apa ' : "+parseFloat("2 apa")+" ")
}
</script>
</BODY>
</HTML>
FUNGSI isNaN()
isNaN kepanjangannya adalah is not a number. Digunakan untuk menentukan apakah
suatu nilai bertipe numerik atau bukan. Bila nilaid saat diuji bertipe numerik maka
menghasilkan nilai false, jika string maka bernilai true. Sintaknya sebagai berikut :
isNaN(nilaid)
FUNGSI eval()
Digunakan untuk mengeksekusi atau menguji suatu nilai aritmatika. Sintaknya
adalah :
eval(pernyataan)
113
Gambar 18.10 Hasil fungsi eval()
escape(“karakter”)
<HTML>
<HEAD><TITLE>Contoh Fungsi escape dan unescape</TITLE></HEAD>
<BODY>
<script language="JavaScript">
{
document.write("Kode ASCII '%' yaitu "+escape("%")+"<br>")
document.write("Kode ASCII '(E' yaitu "+escape("(E")+"<br>")
document.write("Kode ASCII '%3D' yaitu "+unescape("%3D")+"<br>")
document.write("Kode ASCII '%28E' yaitu "+unescape("%28E")+"")
}
</script>
</BODY>
</HTML>
Fungsi unescape() untuk menghasilkan karakter dari kode ASCII. Sintaknya adalah :
unescape(“%string”)
114
18.5 Latihan
1. Buatlah script untuk menguji perhitungan berikut: hasil = 3 * 5 / 4 + 2 - 3.
2. Buatlah fungsi untuk menghitung pada soal no. 1, nama variabel ditentukan
sendiri dan hasilnya dipanggil pada bagian <body>.
3. Berapakah hasil dari kebalikan nilai berikut ini:
(UE
%6H
=6
%#$
oooO0Oooo
115
PX
dudms
Keterangan :
onNamaEvent : jenis event JavaScript yang akan digunakan.
Kode JavaScript : kode JavaScript yang akan dikerjakan jika event dieksekusi.
onNamaEvent = “nama_fungsi(parameter)”
Parameter dalam fungsi bersifat opsional artinya harus ditulis jika ada parameternya
atau tidak. Berikut ini contoh program dan hasilnya memanggil event handler dari
fungsi.
117
<HTML>
<HEAD><TITLE>Contoh Memanggil Event Handler</TITLE></HEAD>
<BODY>
<script language="JavaScript">
function tampil()
{
document.write("SELAMAT ANDA SUDAH BERHASIL")
}
</script>
<h3>Silahkan tekan tombol link</h3>
<a href="http://www.firefox.com" onClick="tampil()">Klik disini...
</a>
</BODY>
</HTML>
Penjelasan program diatas adalah jika link klik disini… ditekan, maka event
handler onClick memanggil fungsi tampil() dan akan ditampilkan pada browser.
118
Berikut ini contoh program sederhana dan hasilnya memanggil event handler secara
langsung.
<HTML>
<HEAD><TITLE>Contoh Penggunaan Event Handler</TITLE></HEAD>
<BODY>
<h3><center>MEMANGGIL EVENT HANDLER SECARA LANGSUNG</center></h3>
<br>
<a href="http://www.firefo x.com" onclick="document.write('Haloo
?')">
Klik disini donk.....
</a>
<br>
<a href="http://www.firefox.com" onclick="document.write('Haloo
juga')">
Klik disini juga.... ya...
</a>
</script>
</BODY>
</HTML>
Jika link pertama di pilih klik disini donk… maka event handler akan
menjalankan program dalam document.write seperti gambar 17.3. Bila link kedua
di pilih klik disini juga …ya… maka event handler akan menjalankan program
dalam document.write.
119
19.4 Implementasi Event
Event onFocus
Program dibawah ini mengimplementasikan penggunaan event onFocus pada daftar
pengunjung. Setiap kali meletakkan kursor mouse pada elemen textbox, maka pada
status bar akan ditampilkan sebuah keterangan dari textbox tersebut. Berikut ini
contoh program dan hasilnya.
<HTML>
<HEAD><TITLE>Implementasi Event</TITLE></HEAD>
<BODY>
<h3><center><u>ISIAN DAFTAR PENGUNJUNG</u></center></h3>
<pre>
<form name=”contoh”>
Nama depan : <input type=textbox name="Nm_awal"
onFocus="window.status='Ketik nama depan anda' ">
<br>
Nama akhir : <input type=textbox name="Nm_akhir"
onFocus="window.status='Ketik nama akhir anda' ">
<br>
Alamat asal : <input type=textbox name="almt"
onFocus="window.status='Ketik alamat lengkap' ">
<br>
Pesannya : <input type=textbox name="pesan"
onFocus="window.status='Ketik
pesan anda' ">
</form>
</BODY>
</HTML>
Event onClick
Event ini biasanya digunakan untuk melakukan suatu proses pada elemen tombol
atau link. Event onClick digunakan untuk elemen reset, submit, button, file.
Masih menggunakan contoh program sebelumnya berikut ini program dan hasilnya.
120
<HTML>
<HEAD><TITLE>Implementasi onClick()</TITLE>
<script language="JavaScript">
function kirim()
{
alert("Aplikasi telah terkirim \n"+ document.contoh.awal.value+"
"+document.contoh.akhir.value)
window.open("http://www.mozilla.com")
}
function kembali()
{
alert("Data isian telah dihapus")
document.clear()
}
</script></HEAD>
<BODY>
<h3><center><u>ISIAN DAFTAR PENGUNJUNG</u></center></h3>
<form name="contoh">
Nama depan : <input type=textbox name="awal" maxlength=20 size=22
onFocus="window.status='Ketik nama depan anda' ">
<br>
Nama akhir : <input type=textbox name="akhir" maxlength=20 size=22
onFocus="window.status='Ketik nama akhir anda' ">
<br>
Alamat asal : <input type=textbox name="almt" maxlength=40 size=42
onFocus="window.status='Ketik alamat lengkap' ">
<br>
Pesannya : <textarea name="pesan" cols=35 rows=5
onFocus="window.status='Ketik pesan anda' "> </textarea>
<br><br>
<input type="submit" value="Kirim....." onClick="kirim()">
<input type="reset" value="Kembali" onclick="kembali()">
</form>
</BODY>
</HTML>
121
Penjelasan program diatas, yaitu saat tombol kirim di klik maka fungsi kirim() akan
dipanggil dan hasilnya seperti gambar 17.7, jika tombol kembali ditekan maka fungsi
kembali() akan dipanggil dan hasilnya seperti gambar 17.6.
Event onMouseOver
Penggunaan event onMouseOver dapat dilihat pada potpngan program dibawah yang
telah dimodifikasi dari program sebelumnya.
19.5 Latihan
Disainlah sebuah form isian tentang Pendaftaran Mahasiswa Baru dengan
memanfaatkan event handler yang ada pada Javascript maupun event handler buatan
sendiri yang dikombinasikan dengan fungsi. Dimana setiap fungsi yang dipanggil
mengeksekusi suatu statement. Pada form tersebut harus mengandung Tombol
Kirim, Tombol Informasi, Tombol Kembali dan Tombol Login.
oooO0Oooo
122
QO
naidbs
20.2 Pendahuluan
JavaScript adalah salah satu bahasa pemrograman yang mendukung OOP (object
oriented programming). Konsep obyek sebenarnya adalah perluasan dari tipe data
primitif. Dengan obyek anda dapat mengelompokkan atau mengkapsulkan beberapa
variabel bersamaan dengan fungsi ke dalam satu kesatuan. Variabel dalam obyek
disebut dengan properti dan fungsi dalam obyek disebut dengan metode. JavaScript
menggunakan obyek-obyek ini untuk memanipulasi tampilan browser serta untuk
melakukan perhitungan yang terdapat pada JavaScript.
Properti
Setiap obyek memiliki properti. Properti adalah sifat yang melekat pada obyek.
Sebagai contoh :
1. Obyek kendaraan propertinya warna biru, merk honda, jenis mpv, tipe jazz.
2. Obyek textbox propertinya warna putih, bentuk kotak persegi.
Metode
Metode adalah tindakan atau perbuatan yang dilakukan oleh obyek saat dieksekusi.
Sebagai contoh :
1. Obyek kendaraan mempunyai metode berputar, maju, mundur dan berhenti.
123
2. Obyek textbox mempunyai metode menerima, menghapus dan menampilkan
teks.
Untuk memudahkan dalam memahami obyek JavaScript, kita ambil contoh obyek
sepeda motor. Setiap obyek sepeda motor memiliki properti :
Merk : suzuki, honda, yamaha, kawasaki.
Warna : hitam, biru, merah, kuning.
Tipe : kharisma, shogun, vega, yupiter, supra.
Tahun pembuatan : 2000, 2001, 2002.
Function nama_obyek(properti1,properti2,properti3,…..)
{
this.properti1=properti1;
this.properti2=properti2;
this.properti3=properti3;
}
Misal anda ingin mendefinisikan obyek mahasiswa yang terdiri dari properti nama,
alamat, jurusan dan ip_kum. Maka untuk mendefinisikan obyek tersebut yaitu :
124
function mahasiswa(nama,alamat,jurusan,ip_kum)
{
this.nama=nama;
this.alamat=alamat;
this.jurusan=jurusan;
this.ip_kum=ip_kum;
}
Nama_instance=new nama_obyek(isi_properti)
Dari contoh diatas berdasarkan pada definisi obyek mahasiswa, maka sekarang setiap
obyek mahasiswa telah memiliki properti.
Nama_obyek.properti = isi_properti
125
atau
nama_obyek.[urutan_definisi_obyek] = isi_properti
setiap properti memiliki nomor urut yang di mulai dari nol “0”, berdasarkan urutan
saat mendefinisikan. Contoh :
mahasiswa.nama = “Fajar”
mahasiswa.alamat = “ Semarang”
mahasiswa.jurusan = “Auntansi”
mahasiswa.ip_kum = “2.67”
mahasiswa.nama = “Nanik”
mahasiswa.alamat = ”Surabaya”
mahasiswa.jurusan = ”Informatika”
mahasiswa.ip_kum = ”3.01”
Bentuk diatas dapat juga ditulis menggunakan urutan definisi, misalnya sebagai
berikut :
mahasiswa.[0] = “Fajar”
mahasiswa.[1] = “ Semarang”
mahasiswa.[2] = “Auntansi”
mahasiswa.[3] = “2.67”
mahasiswa.[0] = “Nanik”
mahasiswa.[1] = “ Surabaya”
mahasiswa.[2] = “Informatika”
mahasiswa.[3] = “3.01”
Untuk contoh lengkap program dan hasilnya pada JavaScript sebagai berikut :
<HTML>
<HEAD><TITLE>Contoh Menciptakan Obyek</TITLE></HEAD>
<BODY>
<script language="JavaScript">
// mendefinisikan obyek mahasiswa
function mahasiswa(nama,alamat,jurusan,ip_kum)
{
this.nama=nama
this.alamat=alamat
this.jurusan=jurusan
this.ip_kum=ip_kum
}
//membuat obyek
fajar = new mahasiswa("Fajar","Semarang","Akuntansi","2.67")
nanik = new mahasiswa("Nanik","Surabaya","Informatika","3.01")
126
//menentukan isi obyek
function tampil(nm_obyek,string)
{
document.write("<b>"+string+"</b>"+"<br>")
document.write("Nama Mhs : "+nm_obyek.nama+"<br>")
document.write("Alamat : "+nm_obyek.alamat+"<br>")
document.write("Jurusan : "+nm_obyek.jurusan+"<br>")
document.write("IP Kum. : "+nm_obyek.ip_kum+"<br><br>")
}
//menampilkan obyek
tampil(fajar,"Ini obyeknya mahasiswa fajar :")
tampil(nanik,"Ini obyeknya mahasiswa nanik :")
</script>
</BODY>
</HTML>
<HTML>
<HEAD><TITLE>Menciptakan Obyek dan Statement FOR..IN</TITLE></HEAD>
<BODY>
<script language="JavaScript">
// mendefinisikan obyek mahasiswa
function mahasiswa(nama,alamat,jurusan,ip_kum)
{
this.nama=nama
this.alamat=alamat
this.jurusan=jurusan
127
this.ip_kum=ip_kum
}
// membuat obyek
fajar = new mahasiswa("Fajar","Semarang","Akuntansi","2.67")
nanik = new mahasiswa("Nanik","Surabaya","Informatika","3.01")
// menentukan isi obyek pada for...in
function buat(obyek)
{
for (var x in obyek)
document.write(" "+obyek[x]+"<br>")
document.write(" "+"<br>")
}
// menampilkan obyek
buat(fajar,"Ini obyeknya mahasiswa fajar :")
buat(nanik,"Ini obyeknya mahasiswa nanik :")
</script>
</BODY>
</HTML>
128
Keterangan :
Nama_metode() : nama fungsi yang dijadikan sebuah metode
Nama_obyek() : nama obyek yang mengandung metode terkait.
Properti : nama properti yang mengandung fungsi metode.
Metode diatas mengandung sebuah fungsi yang akan menentukan kapasitas mesin
sepeda motor. Pada saat mendefinisikan obyek, metode tersebut juga harus
disertakan sebagai bagian dari propertinya. Perhatikan definisi obyek berikut ini :
Berikut ini contoh dari program sebelumnya yang telah dimodifikasi, dan ada
metodenya sehingga obyek mampu melakukan aksi atau perbuatan.
<HTML>
<HEAD><TITLE>Menciptakan Obyek dan Statement FOR..IN</TITLE></HEAD>
<BODY>
<script language="JavaScript">
// mendefinisikan obyek mahasiswa
function mahasiswa(nama,alamat,jurusan,ip_kum,keterangan)
{
this.nama=nama
this.alamat=alamat
this.jurusan=jurusan
this.ip_kum=ip_kum
this.keterangan=metode_hasil(ip_kum)
}
129
// membuat obyek
fajar = new mahasiswa("Fajar","Semarang","Akuntansi","2.67")
nanik = new mahasiswa("Nanik","Surabaya","Informatika","3.12")
// membuat metode
function metode_hasil(ip_kum)
{
if (ip_kum >= 3.00)
{
var keterangan = "Lulus"
}
if (ip_kum <= 3.00)
{
var keterangan = "Belul Lulus"
}
return keterangan
}
// menentukan isi obyek pada for...in
function buat(obyek)
{
for (var x in obyek)
document.write(" "+obyek[x]+"<br>")
document.write(" "+"<br>")
}
// menampilkan obyek
buat(fajar,"Ini obyeknya mahasiswa fajar :")
buat(nanik,"Ini obyeknya mahasiswa nanik :")
</script>
</BODY>
</HTML>
Dari program diatas jika dibandingkan dengan program sebelumnya, maka tampak
bahwa obyek yang mengandung metode ternyata mampu melakukan aksi yaitu
berupa hasil/status seorang mahasiswa. Sedangkan pada obyek sebelumnya hanya
mampu mempunyai properti atau sifat dari setiap mahasiswa tersebut. Lihat gambar
20.3 bahwa mahasiswa bisa lulus atau tidak lulus.
oooO0Oooo
131
QP
naidbs?athksLhm
21.2 Pendahuluan
JavaScript menyediakan obyek bawaan (object built-in) yang langsung dapat
digunakan untuk memanipulasi elemen pada JavaScript. Obyek built-in mempunyai
banyak properti dan metode yang dapat dilihat pada lampiran. Obyek built-in
tersebut adalah :
1. Obyek Array
2. Obyek Boolean
3. Obyek Date
4. Obyek Function
5. Obyek Math
6. Obyek Number
7. Obyek String
Artinya array motor mempunyai tiga elemen yaitu motor[0], motor[1] dan
motor[2]. Namun hanya satu elemen yang sudah ada nilainya, elemen lain masih
bernilai NULL. NULL tidak sama dengan nol. NULL artiya bahwa data boleh
132
kosong atau tidak diisi, dan sewaktu-waktu dapat di update untuk diisi data. Elemen
array juga dapat diberi nilai pada saat array diciptakan. Contoh :
Karena array pada JavaScript tidak mendukung tipe data secara eksplisit, maka array
juga bisa diciptakan dengan elemen berisi nilai yang berbeda. Contoh :
Contoh diatas menciptakan sebuah array dengan empat elemen. Tiga elemen bertipe
string. Satu elemen bertipe nuemrik. Seperti telah disebutkan diatas bahwa array
adalah jenis bilangan yang memiliki dimensi satu sampai tiga. Berikut ini
penjelasannya :
Motor[0,0]: AsyikMoto
Motor[0,1]: CepatMoto
Motor[1,0]: MediumMoto
Motor[1,1]: HebatMoto
Keterangan :
Nama_array : nama obyek array yang dibuat.
Panjang_array : panjang atau besarnya array.
Elemen : elemen dari obyek array.
Contoh :
Mhs = new array(3)
Mhs = new (“fajar”,”nanik”,”ahmad”)
<HTML>
<HEAD><TITLE>Contoh Obyek Array</TITLE></HEAD>
<BODY>
<script language="JavaScript">
//deklarasi nilai awal
mhs = new Array("fajar","nanik","ahmad")
document.write("<h4>"+"Nilai awal aray"+"</h4>")
for (i = 0; i < 3; i++)
{
document.write("Mhs["+ i +"] = "+mhs[i]+"<br>")
}
134
//dengan metode join
document.write("<br><b>"+"Hasil dari Metode Join"+"</b><br>")
mhs_baru = mhs.join()
document.write(mhs_baru+"<br>")
</script>
</BODY>
</HTML>
<HTML>
<HEAD><TITLE>Contoh Obyek Array</TITLE></HEAD>
<BODY>
<script language="JavaScript">
//deklarasi nilai awal
mhs = new Array("fajar","nanik","ahmad")
document.write("<h4>"+"Nilai awal aray"+"</h4>")
for (i = 0; i < 3; i++)
{
document.write("Mhs["+ i +"] = "+mhs[i]+"<br>")
}
//dengan metode reverse
document.write("<br><b>"+"Hasil dari Metode Reverse"+"</b><br>")
mhs_baru = mhs.reverse()
for (i = 0; i < 3; i++)
{
document.write("Mhs["+ i +"] = "+mhs[i]+"<br>")
}
</script>
</BODY>
</HTML>
135
Gambar 21.2 Hasil Obyek Array Metode Reverse
<HTML>
<HEAD><TITLE>Contoh Obyek Array</TITLE></HEAD>
<BODY>
<script language="JavaScript">
//deklarasi nilai awal
mhs = new Array("fajar","nanik","ahmad")
document.write("<h4>"+"Nilai awal aray"+"</h4>")
for (i = 0; i < 3; i++)
{
document.write("Mhs["+ i +"] = "+mhs[i]+"<br>")
}
//dengan metode sort
document.write("<br><b>"+"Hasil dari Metode Sort"+"</b><br>")
mhs_baru = mhs.sort()
for (i = 0; i < 3; i++)
{
document.write("Mhs["+ i +"] = "+mhs[i]+"<br>")
}
</script>
</BODY>
</HTML>
136
<HTML>
<HEAD><TITLE>Contoh Obyek Array</TITLE></HEAD>
<BODY>
<script language="JavaScript">
</script>
</BODY>
</HTML>
Jika baris program diatas nama array dibalik maka hasilnya seperti gambar 18.5.
Maka dapat disimpulkan bahwa nama array yang disebutkan lebih dulu maka
hasilnya akan disebutkan lebih dulu pula.
137
Gambar 21.5 Hasil Membalik Nama Array
<HTML>
<HEAD><TITLE>Contoh Metode Array</TITLE>
<script language="JavaScript">
pegawai = new Array("rudi","andi","hasan","fajar","nanik","ahmad")
for (var i = 0; i < 6; i++)
document.write("hasilnya : ["+i+"] = "+pegawai[i]+"<br>")
</script>
</HEAD>
<BODY>
<script language="JavaScript">
document.write("<br><b>"+"Hasil dari Metode Slice"+"</b><br>")
pegawai = pegawai.slice(1,3)
document.write(pegawai+"<br>")
</script>
</BODY>
</HTML>
Metode sort dapat digunakan untuk mengurutkan array bertipe string. Kemudian
cobalah untuk mengurutkan data numerik berikut : 16, 3, 27, 45, 7. Hasilnya :
138
<HTML>
<HEAD><TITLE>Contoh Metode Array</TITLE>
<script language="JavaScript">
angka = new Array(16, 3, 27, 45, 7)
document.write("<b>"+"Data awal adalah :"+"</b><br>")
for (var i = 0; i < 5; i++)
document.write("hasilnya : ["+i+"] = "+angka[i]+"<br>")
</script>
</HEAD>
<BODY>
<script language="JavaScript">
hasil = angka.sort()
document.write("<br>"+hasil+"<br>")
</script>
</BODY>
</HTML>
<HTML>
<HEAD><TITLE>Contoh Metode Array</TITLE></HEAD>
<BODY>
<script language="JavaScript">
//deklarasi array
angka = new Array(16, 3, 27, 45, 7)
//metode sort
document.write("<b><br>"+"Hasil setelah diurutkan"+"</b>")
hasil = angka.sort()
document.write("<br>"+hasil+"<br>")
//buat fungsi pembanding
function urutkan(x,y)
139
{
return x - y
}
//panggil fungsi pembanding dan metode sort
document.write("<b><br>"+"Setelah dibandingkan dan urut"+"</b><br>")
hasil = angka.sort(urutkan)
document.write(hasil+"<br>")
</script>
</BODY>
</HTML>
<HTML>
<HEAD><TITLE>Contoh Obyek Array</TITLE></HEAD>
<BODY>
<script language="JavaScript">
datanya = new Array("fajar","nanik","rudi","hasan","ahmad")
document.write("Hasilnya ada : "+datanya.length+" array")
</script>
</BODY>
</HTML>
140
Gambar 21.9 Contoh Penggunaan Properti Obyek Array
Array dua dimensi merupakan array yang terdiri dari baris dan kolom. Misal array
satu dimensi adalah :
X = new Array(3)
<HTML>
<HEAD><TITLE>Contoh Array Dua Dimensi</TITLE></HEAD>
<BODY>
<script language="JavaScript">
var baris = window.prompt("Ketikkan jumlah baris : ","0")
var kolom = window.prompt("Ketikkan jumlah kolom : ","0")
//menentukan array i x j
hasil = new Array(baris)
for (i = 0; i <= baris; i++)
{
hasil [i]= new Array(kolom)
for (j = 0; j <= kolom; j++)
{
hasil[i][j] = " "+ i +" "," "+ j +" "
}
}
document.write("<b>"+"Hasil Array Dua Dimensi"+"</b><br>")
//tampilkan hasil array
for (i = 0; i < baris; i++)
{
var akhir = "Baris "+ i +" = "
for (j = 0; j < kolom; j++)
{
akhir += hasil [i][j]
141
}
document.write(akhir,"<br>")
}
</script>
</BODY>
</HTML>
Keterangan :
Nama_boolean : nama obyek boolean yang akan dibuat.
Nilai : nilai yang akan diubah menjadi boolean.
Contoh :
<HTML>
<HEAD><TITLE>Contoh Obyek Boolean</TITLE></HEAD>
<BODY>
<script language="JavaScript">
x1 = new Boolean("kabar baik")
x2 = new Boolean(2300)
x3 = new Boolean("2300")
x4 = new Boolean(0)
x5 = new Boolean(null)
x6 = new Boolean("")
x7 = new Boolean(false)
x8 = new Boolean(true)
document.write("<b>"+"Hasil Obyek Boolean"+"</b><br>")
document.write("Hasil boolean 'kabar baik' : "+ x1 +"<br>")
document.write("Hasil boolean 2300 : "+ x2 +"<br>")
document.write("Hasil boolean '2300' : "+ x3 +"<br>")
document.write("Hasil boolean 0 : "+ x4 +"<br>")
document.write("Hasil boolean NULL : "+ x5 +"<br>")
document.write("Hasil boolean ' ' : "+ x6 +"<br>")
142
document.write("Hasil boolean false : "+ x7 +"<br>")
document.write("Hasil boolean true : "+ x8)
</script>
</BODY>
</HTML>
Dari hasil gambar 18.11 menunjukkan bahwa jika diisi parameter dengan nilai 0,
null, “ “ atau tanpa parameter maka JavaScript mengganggap false.
Parameter pada obyek date dapat berisi salah satu berikut ini :
1. Jika parameter tidak diisi, maka obyek date menggunakan tanggal dan jam
komputer. Misal : tgl_hasil = new date().
2. Parameter dapat diisi “bulan, tanggal, tahun dan am:menit:detik”. Pada obyek
date menentukan bulan dan hari dimulai bulan 0 = januari dan hari 0 =
143
minggu. Misal : tgl_hasil = new date(“January, 24, 1972
14:15:03”).
</HTML>
</HEAD><BODY>
<script language="JavaScript">
//menetukan obyek date()
jam_sekarang = new Date()
//menampilkan obyek date()
document.write("<b>"+"Hasil dari obyek date()"+"</b><br>")
document.write("Waktu : "+jam_sekarang+" ")
</script>
</BODY>
</HTML>
144
4. Metode yang berhubungan dengan penguraian tanggal (parsing). Ada dua
teknik parsing yaitu parse dan UTC. Kedua teknik ini bersifat statik artinya
bisa dipanggil langsung. Misal, date.parse(…..) atau date.UTC(…..).
Berikut ini tabel 18.5 yang memuat daftar metode pada obyek date.
<HTML>
<HEAD><TITLE>Contoh Obyek Date</TITLE></HEAD>
<BODY>
<script language="JavaScript">
tgl_lhr = new Date("January 1, 2003 13:00:03")
document.write("Lahir pada tanggal : "+tgl_lhr+"<br>")
document.write("Harinya : "+tgl_lhr.getDay()+" <br>")
document.write("Tgl/bln/th : "+tgl_lhr.getDate()+
145
"-"+tgl_lahir.getMonth()+"-"+tgl_lhr.getYear()+"<br>") "<br>"
document.write("Pukul:"+tgl_lhr.getHours()+":"+tgl_lhr.getMinutes()+
":"+tgl_lhr.getSeconds())
</script>
</BODY>
</HTML>
146
Berikut ini contoh program lain dengan obyek date.
<HTML>
<HEAD><TITLE>Contoh Obyek Date</TITLE></HEAD>
<BODY>
<script language="JavaScript">
bulan = new Array(11)
bulan[0] = "Januari"
bulan[1] = "Februari"
bulan[2] = "Maret"
bulan[3] = "April"
bulan[4] = "Mei"
bulan[5] = "Juni"
bulan[6] = "Juli"
bulan[7] = "Agustus"
bulan[8] = "September"
bulan[9] = "Oktober"
bulan[10] = "November"
bulan[11] = "Desember"
var tanggal = new Date()
var tgl = tanggal.getDate()
var bln = bulan[tanggal.getMonth()]
var th = tanggal.getYear()
hr = new Array(6)
hr[0] = "Minggu"
hr[1] = "Senin"
hr[2] = "Selasa"
hr[3] = "Rabu"
hr[4] = "Kamis"
hr[5] = "Jumat"
hr[6] = "Sabtu"
var hari = tanggal.getDate()
var hasil = hr[tanggal.getDay()]
document.write("Hari ini adalah : "+tgl+"-"+bln+"-"+th+"<br>")
document.write("Harinya : "+hasil)
</script>
</BODY>
</HTML>
147
Contoh :
biodata = new function(“document.write(‘ wahju’ )”)
Atau
function biodata()
{
document.write(“wahju”)
}
<HTML>
<HEAD><TITLE>Contoh Obyek Function</TITLE>
<script language="JavaScript">
function biodata1()
{
document.write("Wahju Tjahjo S")
}
function biodata2()
{
document.write("Jl. Wates Km9.7 Jogjakarta")
}
function biodata3()
{
document.write("He..hee... Ketemu lagi")
}
</script>
</HEAD>
<BODY>
<b>Klik tombol yang anda suka</b><br><hr>
<input type=button name="bio1" value="Klik disini ok..."
onclick="biodata1()">
<input type=button name="bio2" value="Klik juga lho..."
onclick="biodata2()">
<input type=button name="bio3" value="Klik saja ya..."
onclick="biodata3()">
</BODY>
</HTML>
148
21.7 Obyek Math
Digunakan untuk melakukan perhitungan matematika yang rumit. Misal logaritma,
trigonometri, pembulatan dan lainnya. Sintak obyek math yaitu :
math.[properti|metode(operan)]
149
sqrt(x) Mengembalikan akar kuadrat dari x.
tan(x) Mengembalikan tangen dari x.
<HTML>
<HEAD><TITLE>Contoh Obyek Math</TITLE></HEAD>
<BODY>
<script language="JavaScript">
document.write("Nilai properti E adalah : "+Math.E+"<br>")
document.write("Nilai properti LN10 adalah : "+Math.LN10+"<br>")
document.write("Nilai properti LN2 adalah : "+Math.LN2+"<br>")
document.write("Nilai properti PI adalah : "+Math.PI+"<br>")
document.write("Nilai properti SQRT1 adalah : "+Math.SQRT1+"<br>")
document.write("Nilai properti SQRT2 adalah : "+Math.SQRT2+"<br>")
</script>
</BODY>
</HTML>
<HTML>
<HEAD><TITLE>Contoh Obyek Math</TITLE></HEAD>
<BODY>
<script language="JavaScript">
document.write("Pembulatan 93.6321 : "+Math.round(93.6321)+"<br>")
document.write("Absolut dari -93.6321 : "+Math.abs(-93.6321)+"<br>")
document.write("Pembulatan ke atas 93.6321 :
"+Math.ceil(93.6321)+"<br>")
document.write("Pembulatan ke bawah 93.6321 :
"+Math.floor(93.6321)+"<br>")
document.write("Hasil cos(45) : "+Math.cos(45)+"<br>")
document.write("Hasil sin(45) : "+Math.sin(45)+"<br>")
document.write("Hasil tan(45) : "+Math.tan(45)+"<br>")
document.write("Hasil acos(1) : "+Math.acos(1)+"<br>")
document.write("Hasil asin(1) : "+Math.asin(1)+"<br>")
document.write("Hasil atan(2) : "+Math.atan(2)+"<br>")
document.write("Hasil atan2(1,8) : "+Math.atan2(1,8)+"<br>")
document.write("Hasil exp(45.12345) : "+Math.exp(45.12345)+"<br>")
document.write("Hasil log(10) : "+Math.log(10)+"<br>")
document.write("Hasil max(4,5) : "+Math.max(4,5)+"<br>")
document.write("Hasil min(4,5) : "+Math.min(4,5)+"<br>")
document.write("Hasil pow(4,5) : "+Math.pow(4,5)+"<br>")
document.write("Hasil sqrt(45) : "+Math.sqrt(45)+"<br>")
document.write("Hasil random() : "+Math.random())
</script>
</BODY>
</HTML>
150
number.properti
Semua properti milik obyek number bersifat statik, artinya anda tinggal
menggunakannya saja. Berikut ini daftar properti milik obyek number.
<HTML>
<HEAD><TITLE>Contoh Obyek Number</TITLE></HEAD>
<BODY>
<script language="JavaScript">
document.write("Bilangan terbesar : "+Number.MAX_VALUE+"<br>")
document.write("Bilangan terkecil : "+Number.MIN_VALUE+"<br>")
document.write("Bukan bilangan : "+Number.NaN+"<br>")
document.write("Bilangan tak terhingga terbesar :
"+Number.POSITIVE_INFINITY+"<br>")
document.write("Bilangan tak terhingga terkecil :
"+Number.NEGATIVE_INFINITY+"<br>")
</script>
</BODY>
</HTML>
151
nama_string = new string(string)
Keterangan :
Nama_string : nama obyek string yang akan dibuat.
String : karakter yang akan diubah menjadi string.
<HTML>
<HEAD><TITLE>Contoh Obyek String</TITLE></HEAD>
<BODY>
<script language="JavaScript">
nama = "wahju tjahjo saputro"
alamat = "jl. wates km 9.7 jogakarta"
document.write("Jumlah huruf dalam nama : "+nama.length+"<br>")
document.write("Jumlah huruf dalam alamat : "+alamat.length+"<br>")
</script>
</BODY>
</HTML>
154
Berikut contohnya :
<HTML>
<HEAD><TITLE>Contoh Obyek Screen</TITLE></HEAD>
<BODY>
<script language="JavaScript">
document.write("Width : "+screen.width+"<br>")
document.write("height : "+screen.height+"<br>")
document.write("availheight: "+screen.availheight+"<br>")
document.write("availwidth : "+screen.availwidth+"<br>")
document.write("pixeldepth : "+screen.pixeldepth+"<br>")
document.write("colordepth : "+screen.colordepth)
</script>
</BODY>
</HTML>
21.11 Latihan
1. Ada 5 buah Merk sepeda motor dengan data seperti tabel di bawah ini
Merk Motor Harga Satuan Kapasitas Mesin
A 10.500.000 100
B 10.750.000 110
C 11.500.000 110
D 11.750.000 125
E 12.500.000 125
2. Lengkapi web anda dengan informasi screen yang digunakan, tannggal dan jam
sehingga menjadi lebih dinamis.
oooO0Oooo
155
QQ
naxdj?aqnvrdq
22.1 Tujuan Instruksional
1. Pembaca dapat mengetahui manfaat obyek browser.
2. Pembaca mampu menggunakan obyek browser pada disain web.
3. Pembaca mampu melengkapi web dengan memanfaatkan metode dan properti
obyek browser.
22.2 Pendahuluan
Obyek JavaScript tidak dapat diturunkan (inheritance) seperti pada C++ atau Java,
meskipun demikian obyek browser mudah untuk dipahami sebagai struktur hirarki
obyek, seperti gambar 22.1.
Dari gambar 22.1 diatas dapat dikelompokkan dalam dua kategori yaitu :
1. Obyek browser terdiri dari : window, document, history, location dan
navigator.
2. Obyek HTML terdiri dari : semua obyek yang berada dibawah document.
Seperti anchor, applet, area, form dan lainnya.
156
Gambar 22.1 diatas menunjukkan bahwa suatu obyek dibawahnya adalah properti
bagi obyek diatasnya. Misal, obyek document memiliki properti anchor, applet,
area. Contoh lain obyek window memiliki properti document, history, location
dan navigator. Maka untuk mengakses properti tersebut dapat ditulis :
window.document
window.history
window.location
Pada bab 20 ini yang akan dibahas adalah obyek browser. Sedangkan obyek HTML
dibahas pada bab 21. Properti dan metode yang dimiliki oleh obyek window sangat
banyak, maka yang dibahas pada bab 20 ini hanya sebagian properti dan beberapa
metode saja. Untuk daftar lengkapnya dapat dilihat pada tabel daftar properti dan
tabel daftar metode.
Beberapa properti diatas sengaja tidak disertai contoh programnya, dan anda bisa
mencobanya sebagai latihan. Berikut ini contoh penggunaan properti status dan
defaultStatus.
<HTML>
<HEAD><TITLE>Contoh Obyek Window</TITLE></HEAD>
<BODY>
<script language="JavaScript">
window.defaultStatus = "belajar obyek window"
</script>
<input type=button name="tombol" value="Tombol 1"
onclick="window.status='Halloo apa kabar di tombol 1'">
<input type=button name="tekan" value="Tombol 2"
onclick="window.status='Halloo apa kabar di tombol 2'">
</BODY>
</HTML>
Jika kursor mouse sedang bebas, maka baris status menampilkan pesan default yang
disebutkan pada window.defaultStatus. Jika kursor mouse berada pada sebuah
tombol dan melakukan penekanan maka baris status menampilkan pesan yang
disebutkan pada window.status. Lihat gambar 20.1.
158
Metode Obyek Window
Metode yang terdapat pada obyek window adalah :
Tidak semua metode pada buku ini diberikan contoh program, mengingat banyak
sekali metode yang dimiliki obyek window. Anda dapat mencobanya sebagai latihan.
Berikut ini contoh penggunaan metode alert().
<HTML>
<HEAD><TITLE>Contoh Obyek Window</TITLE></HEAD>
<BODY>
<script language="JavaScript">
function tampil()
{
window.alert("Selamat belajar javascript")
}
</script>
<input type=button name="contoh" value="Tekan disini"
onclick="tampil()")
</BODY>
</HTML>
160
Gambar 22.2 Contoh penggunaan metode alert
<HTML>
<HEAD><TITLE>Contoh Obyek Window</TITLE></HEAD>
<BODY>
<script language="JavaScript">
function coba(ambil)
{
if (window.confirm("Apakah anda yakin ?") == true)
{
document.write(" "+ambil+" ")
}
else
{
return false
}
}
</script>
<form onSubmit="coba(this.teks.value)">
<input type=text name="teks">
<input type=submit name="contoh" value="Tekan disini">
</BODY>
</HTML>
161
Gambar 22.4 Hasil setelah tombol “Tekan Disini” ditekan
Jika tombol OK di klik maka tulisan dalam textbox akan ditampilkan. Jika pilih
tombol Cancel maka isi dari textbox akan dihilangkan. Berikut ini contoh program
menggunakan metode prompt().
<HTML>
<HEAD><TITLE>Contoh Obyek Window</TITLE></HEAD>
<BODY>
<script language="JavaScript">
var dataku = prompt("Silahkan tulis nama anda."+"")
document.write(" "+dataku+" "+"selamat belajar javascript")
</script>
</BODY>
</HTML>
Jika prompt pada gambar 20.5 diisi data, dan ditekan OK, maka hasilnya akan
digabung dengan teks yang telah ditulis dalam program. Berikut ini contoh metode
prompt yag lain.
<HTML>
<HEAD><TITLE>Contoh Obyek Window</TITLE></HEAD>
<BODY>
<script language="JavaScript">
var soal = "Siapakah Presiden Indonesia Pertama ?"
var jawab = "Soekarno"
var benar = "Anda benaaarr !!"
var salah = "Silahkan pilih : Phone a friend; 50 : 50; audience ?"
var hasil = prompt("soal"," ")
if (hasil == jawab)
{
document.write(benar)
162
}
else
{
document.write(salah)
}
</script>
</BODY>
</HTML>
163
Gambar 22.6 Contoh penggunaan setTimeout() dan clearTimeout()
Penjelasan dari program diatas yaitu jika selama 2000 milidetik/2 detik tombol tidak
ditekan maka muncul pesan seperti gambar 20.6. Jika tombol di tekan sebelum 2
detik fungsi maka fungsi tekan akan dikerjakan dan fungsi selesai akan dibatalkan
oleh metode clearTimeout().
<HTML>
<HEAD><TITLE>Contoh Obyek Window</TITLE></HEAD>
<BODY onLoad="alert('Apa kabar ?. Baik-baik saja ?.')";
onUnload="alert('Selesai')">
<h3><center>PT. KARYA CITRA SEJAHTERA</center></h3>
<hr>
</BODY>
</HTML>
href juga dapat digunakan untuk membuka endela baru dengan alamat yang sudah
ditentukan. Misal :
location.href = “http://www.yahoo.co.id”
window.open(location.href,”namanya”,”atributnya”)
<HTML>
<HEAD><TITLE>Contoh Obyek Location</TITLE></HEAD>
<BODY>
<script language="JavaScript">
function koneksi()
{
document.write(location.href)
}
165
</script>
alamatnya :
<script language="JavaScript">
koneksi()
</script>
<br><hr>
<input type=button value="Klik di sini" onclick="location.href =
'contoh4.html' ">
<input type=button value="Klik di sini" onclick="location.href =
'http://www.yahoo.co.id' ">
</BODY>
</HTML>
Karena orang lebih mudah menghafal nama, maka alamat situs dapat ditulis dengan
huruf. Misal : www.citrakarya.co.id, yang seharus dapat ditulis dalam bentuk IP
Address misal 192.161.2.1. Jika tidak ada nomor port maka properti host sama
dengan hostname. Contoh di bawah ini menjelaskan tentang masing-masing properti
diatas.
Pathname
Digunakan untuk menghasilkan path lengkap dari dokumen yang sedang dibuka.
Biasanya terdiri dari nama direktori dan nama file. Jadi anda dapat meletakkan
166
dokumen ke jendela browser. Namun dokumen yang dimuat harus terletak di host
yang sama dengan dokumen yang sedang dimuat. Berikut contoh programnya.
<HTML>
<HEAD><TITLE>Contoh Obyek Location</TITLE></HEAD>
<BODY>
<script language="JavaScript">
document.write("Lokasi dari dokumen ini : "+location.pathname)
</script>
</BODY>
</HTML>
Protokol
Digunakan untuk menghasilkan protokol yang dipakai guna menampilkan dokumen
yang sedang dibuka. Untuk dokumen HTML properti ini bernilai “http”. Jika
dokumen terletak pada file lokal bernilai “file:/”. Perlu diperhatikan jika brwoser
menggunakan Nescape URL-nya : file:///d\buku_web\contoh_1.html,
<HTML>
<HEAD><TITLE>Contoh Obyek Location</TITLE></HEAD>
<BODY>
<script language="JavaScript">
document.write("Protokol dokumen ini : "+location.protocol)
</script>
</BODY>
</HTML>
167
Hash
Digunakan untuk menyimpan nama anchor dari dokumen yang sedang dimuat pada
URL. Anchor adalah nama bagian dokumen yang dapat langsung dituju. Pada
dokumen HTML anchor ditunjukkan dengan <a name = “…”> apa kabar </a>.
Misalnya :
http://www.citra_karya.co.id/index.html#networking
location.hash = “netwoking”
file://d:/direktori/file.html#anchor-1
location.hash = “anchor-1”
Search
Digunakan untuk menghasilkan string pencarian dari dokumen yang sedang dibuka.
Parameter pencarian selalu diletakkan setelah tanda tanya “?” dan biasanya dipakai
pada dokumen HTML yang memiliki elemen form. Setelah tombol submit ditekan,
URL yang ada di browser akan mengikuti format :
http://www.domain.net/direktori/program?data1=nilai1&data2=nilai2&…
Properti length akan menghitung jumlah dokumen web yang pernah di kunjungi
sejak browser dijalankan. Berikut contoh programnya :
<HTML>
<HEAD><TITLE>Contoh Obyek History</TITLE></HEAD>
<BODY>
<script language="Javascript">
var website = history.length
document.write("Daftar website yang pernah diakses : "+website)
</script>
</BODY>
</HTML>
<HTML>
<HEAD><TITLE>Contoh Obyek Document</TITLE></HEAD>
<BODY>
<center><h3>PT. KARYA JATI PERSADA</h3></center>
<hr><br>
<input type=button name="biru" value="Merubah warna depan"
onclick="document.fgcolor='blue' ">
<input type=button name="hijau" value="Merubah warna belakang"
onclick="document.bgcolor='green' ">
</BODY>
</HTML>
170
Linkcolor, Alinkcolor dan Vlinkcolor
1. Linkcolor digunakan untuk mengatur warna link yang belum pernah dikunjungi.
2. Alinkcolor digunakan untuk mengatur warna link yang sedang aktif.
3. Vlinkcolor digunakan untuk mengatur warna link yang sudah dikunjungi.
Title
Digunakan untuk menentukan judul dari dokumen web yang sedang aktif. Properti
ini tanpa anda sadari sebetulnya sering digunakan. Lihat program dibawah, dimana
properti title digunakan.
<HTML>
<HEAD><TITLE>Contoh Obyek Document</TITLE></HEAD>
<BODY>
<script language="JavaScript">
document.linkcolor="blue"
Location
Digunakan untuk menentukan alamat dari dokumen yang sedang aktif. Properti ini
sama dengan proeprti href pada obyek location). Berikut contoh programnya.
<HTML>
<HEAD><TITLE>Contoh Obyek Document</TITLE></HEAD>
<BODY>
<script language="JavaScript">
document.write("alamat yang aktif saat ini :"+document.location)
</script>
</BODY>
</HTML>
171
Gambar 22.11 Contoh properti location
Referer
Digunakan untuk menentukan dokumen yang memanggil dokumen aktif. Berikut
contoh programnya.
<HTML>
<HEAD><TITLE>Contoh Obyek Document</TITLE></HEAD>
<BODY>
<script language="JavaScript">
document.write("Dokumen ini dipanggil dari : "+document.referrer)
</script>
</BODY>
</HTML>
lastModifed
Digunakan untuk menentukan tanggal terakhir dokumen diperbaiki. Berikut contoh
programnya.
<HTML>
<HEAD><TITLE>Contoh Obyek Document</TITLE></HEAD>
<BODY>
<script language="JavaScript">
document.write("Informasi terakhir dokumen diperbaiki :
"+document.lastModified)
</script>
</BODY>
</HTML>
172
Metode Obyek Document
Beberapa metode obyek document dapat diliat pada tabel 35. Beberapa metode dapat
anda coba sendiri sebagai latihan.
22.7 Latihan
Tambahkan pada disain web anda dari tugas Bab 19 dengan beberapa fasilitas
dibawah, gunakan obyek yang tersedia pada Bab 20.
1. Mampu menampilkan status jika mouse berada pada sebuah obyek.
2. Mengandung pesan yang di bangun dari metode alert.
3. Mampu menampilkan alamat lengkap dari dokumen aktif.
4. Mampu menampilkan jumlah pengunjung yang mengakses website.
5. Mampu menampilkan informasi kapan terakhir dokumen diupdate.
oooO0Oooo
173
QR
naxdj?gslk
23.1 Tujuan Instruksional
1. Pembaca memahami manfaat obyek HTML.
2. Pembaca mampu menggunakan elemen form obyek HTML.
3. Pembaca mampu menentukan properti dan metode obyek HTML.
4. Pembaca dapat membuat event handler pada obyek HTML.
23.2 Pendahuluan
Obyek Form adalah obyek yang digunakan untuk mengambil input dari pemakai
sehingga user dapat berinteraksi dengan server. Fungsi obyek form biasanya
digunakan untuk membuat buku tamu, polling dan data isian. Pada saat mempelajari
HTML anda sudah pernah menggunakan perintah <form>. Semua elemen yang
didefinisikan dalam <form> ….. </form> merupakan bagian dari form tersebut.
<form>
<input type=text name=”contoh” maxlength=25 size=26>
<input type=button name=”proses” value=”Kirim …”>
</form>
Contoh diatas merupakan struktur dari HTML untuk JavaScript anda bisa menunjuk
ke setiap elemen sebagai berikut :
Document.forms[0].elements[0]
Document.forms[1].elements[1]
174
Dimana elemens[0] adalah text dan elemens[1] adalah button. Dalam sebuah
dokumen pun dapat terdiri lebih dari satu obyek form. Berikut ini contohnya :
<form>
<input type=text name=”nm” maxlength=25 size=26>
<input type=text name=”almt” maxlength=35 size=36>
<input type=text name=”kota” maxlength=12 size=13>
</form>
<form>
<input type=button name=”proses” value=”Kirim …”>
<input type=reset name=”kembali” value=”Kembali”>
</form>
Pada potongan program diatas dokumen mengandung dua buah obyek form. Pada
JavaScript dapat ditulis sebagai berikut :
<form>
<input type=button name=”proses” value=”Kirim …”>
</form>
Dari contoh diatas, dalam JavaScript setiap properti elemen dapat ditulis :
document.forms[0].elements[0].name
document.forms[0].elements[0].value
Selain cara seperti diatas dapat pula ditulis menggunakan properti this untuk merujuk
ke isi properti form yang digunakan. Contoh :
175
23.3 Properti Obyek Form
Action
Digunakan untuk menentukan dokumen yang akan dibuka atau dituju oleh form yang
dikirim. Misal :
window.form[0].action=”http://www.wahju.blogspot.com/index.html”
Method
Digunakan untuk menentukan cara mengirimkan form. Ada dua nilai yaitu :
Get : guna mengirimkan form
Post : guna mengambil hasil dari form
Misal :
Target
Digunakan untuk menentukan jendela atau frame yang akan dituju. Contoh :
document.forms[0[.elements[0].target=”bagian_2”
Elements
Digunakan untuk menentukan urutan array setiap elemen pada obyek form. Contoh :
document.forms[0].elements[0].value==” ”
document.forms[0].elements[1].value==” ”
document.forms[0].elements[2].value==” ”
176
23.5 Event Handler Obyek Form
Event handler obyek form adalah onSubmit, digunakan untuk menentukan kode
JavaScript yang akan dijalankan bila form dikirimkan. Berikut contoh lengkapnya.
<HTML>
<HEAD><TITLE>contoh</TITLE>
<script language="JavaScript">
function coba()
{
window.alert("Proses kirim selesai")
}
</script>
</HEAD>
<BODY>
<form method=post action="http://www.yahoo.com" onSubmit="coba()">
<input type=submit name="proses" value="Kirim ...">
</form>
</BODY>
</HTML>
23.6 Latihan
Lengkapi disain web anda dari latihan Bab 20 dengan menambah properti form yang
sesuai serta lengkapi dengan validasi event handler buatan anda sendiri. Misal pesan
kesalahan pada saat entri data dan suatu tombol telah dilakukan.
oooO0Oooo
177