Senin, 29 April 2013

Perulangan dengan For Each dalam VBScript

Berbicara soal perulangan, VBScript adalah bahasa pemprograman yang menyediakan fitur perulangan yang lumayan lengkap. 'Kok bisa sampeyan bilang begitu?' mungkin Anda bertanya seperti itu. Kali ini saya bukan bicara soal perbandingan dengan bahasa lain. Tapi dari pengalaman saya selama membuat web dengan ASP Classic (bahasa ASP Classic syntax nya sama dengan VBScript),  saya hampir selalu menggunakan For Next ... Loop dan Do While .. Loop. Dua perulangan itu saja sudah lebih dari cukup menurut saya. Tapi kalau ingin lebih lengkap lagi, VBScript menyediakan total 4 perulangan yaitu :
  1. For ... Next Loop
  2. For Each ... Next Loop
  3. Do While ... Loop
  4. Do ... Loop Until ...

Di artikel ini saya akan bahas For each ... Nex Loop


For Each ... Next Loop
Secara syntax For Each ... Next Loop memiliki syntax sebagai berikut :

For Each <element> In <group>
   <code>
Next

Element disini adalah variable, Anda bisa memberi nama apa saja. Fungsi variable disini adalah sebagai perujuk dari <group>. Contoh dari Group adalah array. Untuk lebih memahami, kita bisa melihat pada contoh code di bawah :

dim varArray(5)

varArray(0) = "nol"
varArray(1) = "satu"
varArray(2) = "dua"
varArray(3) = "tiga"
varArray(4) = "empat"
varArray(5) = "lima"

For Each varElement in varArray
   msgbox(varElement)
Next

Code di atas akan melakukan perulangan sebanyak isi array yang bernama varArray. Apabila code tersebut di-execute maka akan menampilkan message box sebanyak 6 kali. Screenshot berikut adalah tampilan message box pertama :


For Each ... Loop sangat cocok untuk perulangan yang melibatkan array. Bayangkan kita hanya butuh 3 baris code untuk menampilkan isi array. Kita bisa saja menggunakan For ... Next Loop  untuk tujuan yang sama, seperti berikut :

dim varArray(5)

varArray(0) = "nol"
varArray(1) = "satu"
varArray(2) = "dua"
varArray(3) = "tiga"
varArray(4) = "empat"
varArray(5) = "lima"

For count = 0 to Ubound(varArray)
   msgbox(varArray(iCount))
Next

Kalau kita bandingkan dengan code sebelumnya yang memakai For Each ... Loop, code dengan For ... Next di atas lebih kompleks, karena melibatkan komponen seperti variable count dan * function Ubound(). Sehingga untuk kasus array di atas, penggunaan For Each ... Loop lebih cocok. Hal ini saya bandingkan bukan untuk memperlihatkan perulangan mana yang lebih baik. Kita tidak dapat secara absolut mengatakan sesuatu lebih baik dari yang lainnya, karena hal tersebut sangat relatif (tergantung kasus dan kondisi)

* function Ubound() adalah function untuk mengetahui panjang array. Ubound(varArray) akan menghasilkan nilai 5, karena varArray memiliki panjang 5.

Sekian mengenai For Each ... Loop. Semoga bermanfaat.

Tidak ada komentar:

Posting Komentar