Home, Forum diskusi, Chatting, Download


Struktur Kendali dan Fungsi

Untuk membuat suatu halaman yang dinamis dan interaktif, perancang halaman Web membutuhkan perintah-perintah yang dapat mengatur aliran dari informasi. Berdasarkan hasil komputasi yang telah dilakukan, JavaScript akan membuat keputusan jalur mana yang akan dieksekusi. Kita akan membahas tentang perintah kondisi dan loop dalam JavaScript.

Walaupun semua kode harus ditulis dalam penanganan event, tetapi hal ini adalah praktek pemrograman yang kurang baik. Sebagai pengantinya, gunakan fungsi, kode akan menjadi lebih modular dan dapat digunakan kembali (reusable).

Perintah kondisi

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:

  1. Interpreter menjalankan ekspresi-awal. Ekspresi ini mementukan nilai yang diperlukan untuk kendali perulangan.
  2. Kemudian interpreter memeriksa kondisi. Jika true, kendali dilanjutkan ke langkah selanjutnya. Jika false, kendali diarahkan ke perintah setelah perulangan.
  3. Kemudian interpreter menjalankan ekspresi-penambah, yang mana melakukan update terhadap variabel-variabel yang digunakan untuk kendali perulangan.
  4. Kemudian statement dijalankan dan, jika ditemukan suatu break atau continue, kendali kembali ke langkah 2.

Contoh :


<HTML>
<HEAD>

<SCRIPT LANGUAGE="JavaScript">

  <!-- menyembunyikan script dan browser non-JS

   for (i=1; i<=10; i++) {

       sq=i*i

       document.write("number: " + i + " square: " + sq + "<BR>")

   }

  // akhir dari penyembunyian -->

</SCRIPT>

</HEAD>
<BODY>
</BODY>
</HTML>

Hasil :

number: 1 square: 1
number: 2 square: 4
number: 3 square: 9
number: 4 square: 16
number: 5 square: 25
number: 6 square: 36
number: 7 square: 49
number: 8 square: 64
number: 9 square: 81
number: 10 square: 100

 


Perintah while

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.


Contoh:

<HTML>
<HEAD>

<SCRIPT LANGUAGE="JavaScript">

   <!-- menyembunyikan script

   i=1

   while (i<=10) {

         sq=i*i

         document.write("number: " + i + "square: " + sq + "<BR>")

         i++

   }

   // end script hiding -->

</SCRIPT>

</HEAD>
<BODY>
</BODY>
</HTML>

Hasil:

number: 1 square: 1
number: 2 square: 4
number: 3 square: 9
number: 4 square: 16
number: 5 square: 25
number: 6 square: 36
number: 7 square: 49
number: 8 square: 64
number: 9 square: 81
number: 10 square: 100



Perintah break

Perintah break menghentikan for atau while loop dan mengembalikan kendali ke perintah berikutnya yang mengikuti loop. Contoh berikut menggambarkan bagaimana menggunakan perintah break:

i=0

while (i<10) {

   if (i==3)

      break

   i++

}

Perintah continue

Seperti perintah break, perintah continue menghentikan interasi tersebut untuk suatu for atau while loop; Tetapi tidak keluar dari loop; Tetapi melakukan interasi berikutnya.

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] dan functionName.arguments.length mengandung nilai jumlah argumen yang dikirim ke fungsi, argumen acuan dengan mendeklarasikan nama-nama variabel. Hal ini memungkinkan sejumlah argumen dilewatkan ke fungsi sebagai suatu argument array. Contoh berikut menunjukkan pemakaian dari suatu variable argument list.


Contoh :

<HTML>
<HEAD>

<SCRIPT LANGUAGE="JavaScript">

   <!-- menyembunyikan

    UnorderList="UL"

    function DisplayList(ListType) {            // menampilkan variabel list

      if (ListType="OL" || ListType="UL") {     // validasi jenis list

         document.write("<" + ListType + ">"    // menampilkan jenis list

         for (var i=1; i<DisplayList.arguments.length; i++)

         document.write("LI" + DisplayList.arguments[i])

         document.write("</" + ListType + ">")  // End list

         return true

         }

    else return false

    }

    // akhir dari penyembunyian -->
  
</SCRIPT>

</HEAD>
<BODY>

<SCRIPT LANGUAGE="JavaScript"

    <!-- menyembunyikan

    if (DisplayList(UnorderList, "Bullet 1 text", "Bullet 2 text"))

       document.write("<P>List Display</P>")

    else

       document.write("<P>Invalid List Type<p>")

    // unhide it -->

</SCRIPT>

</BODY>
</HTML>

Contoh diatas menggambarkan beberapa hal yang penting dari suatu fungsi. Suatu variabel global diinisialisasi pada bagian <HEAD>. Perintah var mendeklarasikan i sebagai suatu variabel lokal pada fungsi. Juga ditunjukkan bagaimana perintah return dapat digunakan untuk memastikan fungsi dijalankan dengan baik. Perintah return juga dapat mengembalikan string atau nilai numerik, sebagaimana yang ditunjukkan oleh contoh  dibawah ini:

function RetExam(a, b) {

   var x=0

   x = a+b

   return x

}



TestResult=RetExam(5, 7)

Komentar

JavaScript mendukung dua bentuk format untuk komentar:

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.


Dibuat  oleh hendra@indoprog.com
Medan - Sumatera Utara
Indonesia

1