Logika Pengulangan / Looping pada Fox Pro

Proses Pengulangan
Perulangan memungkinkan kita mengeksekusi satu atau lebih baris kode sebanyak yang kita kehendaki. Terdapat tiga perintah di Visual Foxpro yang dipakai untuk perulangan, yaitu :

Perintah DO WHILE – ENDDO
Perintah ini mengeksekusi perintah-perintah yang ada didalam loop kondisional. Perulangan akan dilakukan terus menerus selama kondisi tersebut terpenuhi (.T. atau Benar).

Sintak dari perintah pengulangan tersebut adalah :
DO WHILE
…………………….
……………………. Bagian program yang akan diulang
…………………….
ENDDO

Pengulangan tersebut akan dilakukan bila kondisi benar. Pengulangan dengan kondisi ini dapat pula menggunakan kondisi .T., yaitu :
DO WHILE .T.
…………………….
……………………. Bagian program yang akan diulang
…………………….
[Loop]
[Exit]
ENDDO

Contoh :
x=1
DO WHILE x <= 20
? x
x=x+1
ENDDO

Pengulangan EOF() dan BOF() Dalam Proses Berulang
Proses pengulangan dapat dilakukan dalam memproses record-record dalam suatu tabel satu persatu hingga habis. Untuk membatasi pengulangan biasa digunakan fungsi EOF() (End Of File) dan BOF() (Begin Of File). Fungsi tersebut akan memberikan fungsi nilai logika .T. bila pointer telah berada diakhir file.

Bentuk pengulangan untuk memproses file data sampai habis :
DO WHILE.NOT.EOF()
…………………….
……………………. Bagian program yang akan diulang
…………………….
ENDDO

Perintah FOR . . . ENDFOR
Perulangan ini akan mengeksekusi perintah-perintah sebanyak yang kita tentukan. Nilai yang kita tentukan merupakan nilai tetap/konstanta.
Sintak dari perintah pengulangan tersebut adalah :
FOR <var>=<nilai_awal> TO <nilai_akhir>
…………………….
……………………. Bagian program yang akan diulang
…………………….
ENDFOR

Contoh :
FOR v_angka = 1 TO 10
? v_angka
ENDFOR

Perintah SCAN . . . ENDSCAN
Perintah ini memindahkan pointer record melewati tabel yang sedang dipilih dan mengeksekusi blok perintah setiap kali record memenuhi syarat kondisi yang ditentukan.
Sintak dari perintah pengulangan tersebut adalah :
SCAN [FOR <kondisi1>] [WHILE <kondisi2>]
…………………….
……………………. Bagian program yang akan diulang
…………………….
[loop]
[Exit]
ENDSCAN

Contoh :
SCAN FOR kota = “Tasikmalaya”
? nama, jurusan
ENDSCAN

 

Tinggalkan komentar