Download - Pemrograman Terstruktur 4
ARRAYBY : SITI MARIYAH, SST
ARRAYContoh array 1 dimensi:kelasku(1,5) = {“1A”, “1B”, “1C”, “1D”, “1E”}Data 5 kelas dimasukkan dalam satu array yang bernama kelas.
Contoh array 2 dimensi :kelasku(2, 3) = {(“1A”, “1B”, “1C”),(“1E”, “1F”, “1G”)}
DIMENSION COMMANDLogic :DIMENSION ArrayName1(nRows1 [, nColumns1]) [AS Type] [, ArrayName2(nRows2 [,nColumns2])]
PARAMETER1. ArrayName1 nama array
Kita bisa membuat multiple array dengan satu dimensi hanya dengan menambahkan nama array.Contoh : DIMENSION arrayName..,arrayName2…,arrayName3…
PARAMETER(2)2. nRows1 [,nColumns1] jumlah baris
dan kolom arrayContoh : DIMENSION arraySatu(10) array 1 dimensi dengan 10 baris dan 1 kolom
DIMENSION arraySatu(2,4) array 2 dimensi dengan 2 baris dan 4 kolom
DEKLARASI ARRAYContoh deklarasi :DIMENSION arraySatu(10), arrayDua[2,4], arrayTiga(3,3)
DIMENSION arraySatu[10], arrayDua(2,4), arrayTiga[3,3]
Ukuran array tergantung pada banyaknya elemen yang disimpan dalam array tersebut. Elemen array dapat memiliki tipe data apa saja dan diinisialisasi False (.F.) untuk pertama kali.
OPERASI ARRAYSTORE TO : Untuk menginisialisasi semua elemen dengan nilai yang sama.Contoh :
DIMENSION arraySatu(10,3)STORE “initial” TO arraySatu
Logic di atas untuk menyimpan string initial ke arraySatu. Sehingga initial menjadi elemen pertama (baris1,kolom1) arraySatu
OPERASI ARRAY(2)Array Subscript : digunakan untuk mengakses dan manipulasi elemen array. Selain array subscript bisa juga menggunakan nama
array dan indeks. Pada array 1 dimensi, subscript digunakan untuk
mengidentifikasi nomor baris array. Contoh, subscript untuk elemen yang berada di baris ketiga adalah 3
Pada array 2 dimensi, subscript digunakan untuk mengidentifikasi elemen array. Subscript yang pertama menyatakan baris, subscript kedua menyatakan kolom
OPERASI ARRAY(3)DIMENSION arrayName[5,2]arrayName[1,2] = 966789
DECLARE COMMAND Creates a one- or two-dimensional array. Visual FoxPro arrays are one-based
DIMENSION COMMAND DIMENSION is identical in operation and
similar in syntax to the DECLARE command
ACOPY( ) FUNCTION Copies elements from one array to another
array.
ADEL( ) FUNCTION Deletes an element from a one-dimensional
array, or a row or column from a two-dimensional array.
APPEND FROM ARRAY COMMAND
Adds one record to the currently selected table for each row in an array and fills each record with data from the corresponding array row.
COPY TO ARRAY COMMAND
Copies data from the currently selected table to an array.
DO CASE ... ENDCASE COMMAND
Executes the first set of commands whose conditional expression evaluates to true (.T.).
ContohSTORE CMONTH(DATE()) TO monthDO CASECASE INLIST(month, 'January', 'February', 'March')STORE 'first quarter' TO rpt_titleCASE INLIST(month, ‘April', ‘May', ‘June')STORE ‘second quarter' TO rpt_titleCASE INLIST(month, 'July', ‘August', ‘September')STORE ‘third quarter' TO rpt_titleOTHERWISESTORE ‘fourth quarter' TO rpt_titleENDCASEWAIT WINDOW rpt_title NOWAIT
DO WHILE ... ENDDO COMMAND
Executes a set of commands within a conditional loop.
EXIT COMMAND Exits a DO WHILE, FOR, SCAN, or TRY…
CATCH…FINALLY structure.
ContohCLOSE DATABASES OPEN DATABASE (HOME(2) + 'Data\testdata') USE products && Opens Products table SET TALK OFF gnStockTot = 0 DO WHILE .T. && Begins loop IF EOF( ) EXIT ENDIF IF unit_price < 20 SKIP LOOP ENDIFgnStockTot = gnStockTot + in_stock SKIP ENDDO && Ends loop CLEAR ? 'Total items in stock valued over 20 dollars:' ?? gnStockTot
FOR EACH ... ENDFORCOMMAND
Executes a set of commands for each element in a Visual FoxPro array or collection.
ContohDIMENSION cMyArray(3)cMyArray[1] = 'A' cMyArray[2] = 'B' cMyArray[3] = 'C' FOR EACH cMyVar IN cMyArray ? cMyVar ENDFOR
FOR ... ENDFOR COMMAND Executes a set of commands a specified
number of times.
ContohFOR gnCount = 1 TO 10 ? gnCount ENDFOR
ContohOPEN DATABASE (HOME(2) + 'Data\TestData') USE Customer FOR gnCount = 1 TO 10 STEP 2 GOTO gnCount DISPLAY Company ENDFOR
IF ... ENDIF COMMAND Conditionally executes a set of commands
based on the value of a logical expression.
ContohUSE Customer && Open customer table GETEXPR ‘ Enter condition to locate ' TO gcTemp; TYPE 'L' DEFAULT ‘ COMPANY = ""' LOCATE FOR &gcTemp && Enter LOCATE expression IF FOUND( ) && Was it found? DISPLAY && If so, display the record ELSE && If not found ? 'Condition ' + gcTemp + ' was not found ' &&Display a message ENDIF
LOOP COMMAND Returns program control directly to the
beginning of a looping structure.
SCAN ... ENDSCAN COMMAND
Moves the record pointer through the currently selected table and executes a block of commands for each record that meets the specified conditions.