v Array atau Larik
Array atau Larik adalah sekumpulan data yang mempunyai tipe data sejenis. Misalnya numerik atau string, dan diidentifikasikan dengan sebuah nama variable array.
Di dalam sebuah array, setiap rinci data disebut dengan komponen atau elemen array, ditentukan oleh suatu besaran yang disebut dengan subskrib atau index yang menunjukkan letak sebuah elemen dalam array.
Berdasarkan banyaknya subskrib yang menentukan letak suatu elemen dalam larik dikenal adanya array dimensi satu, arary dimensi dua dan array dimensi banyak.
v Array Dimensi Satu
Array dimensi satu disebut juga dengan vector, adalah sebuah array yang terdiri dari sejumlah elemen data, dan poisis setiap elemen ditentukan oleh sebuah subskrib.
Setiap array harus dideklarasikan terlebih dahulu, hal ini digunakan untuk mengalokasikan ruang memori yang akan digunakan dan juga menentukan tipe data dari elemen array.
Bentuk umum deklarasi array dimensi satu adl :
DIM namavar ({cacah | awal to akhir}) [As tipe]
Dengan cacah : banyaknya elemen array
Awal : nomor awal subskrib
Akhir : nomor akhir subskrib
Tipe : tipe data elemen array.
Contoh : DIM baristabel(5)
DIM baristabel( 1 to 5)
DIM baristabel(5) As Integer
Dari contoh deklarasi di atas maka akan disediakan ruang memori untuk array baristabel dengan jumlah elemen 5.
40 | 30 | 100 | 80 | 75 |
Untuk mengoperasikan array digunakan subscrib.
Baristabel(1) = 40, Baristabel(2) = 30, Baristabel(3) = 100
Baristabel(4) = 80, Baristabel(5) = 75
Contoh 1 : REM PROGARRAY1
DIM A(5)
LET A(1)=40 : A(2)=30 : A(3)=100 : A(4)=80 : A(5)=75
C = A(1) + A(2) + A(3) + A(4) + A(5)
PRINT A(1) , A(2) , A(3) , A(4) , A(5)
PRINT “HASIL JUMLAH = “; C
END
Output:
40 30 100 80 75
HASIL JUMLAH = 325
Contoh 2 : REM PROGARRAY2
DIM A(7)
C= 1
10 READ A(C)
IF C=7 THEN 20
C = C + 1
GOTO 10
20 PRINT A(3), A(5)
PRINT A(1) + A(5)
PRINT A(6), A(4+2)
PRINT A(4)+A(3), A(7)
DATA 8,6,5,4,2,5,6,2,2,1,7,10,5
END
Output :
5 2
10
5 5
9 6
Contoh 3 : REM PROGARRAY3
DATA “KEN AROK”, “KEN DEDES”
DATA “TOHJAYA”, “ANUSAPATI”, “AMETUNG”
K = 1
10 READ R$(K)
IF K = 5 THEN 20
K = K + 1
GOTO 10
PRINT R$(2) : PRINT R$(4)
END
Output :
KEN DEDES
ANUSAPATI
Pada program di atas, untuk pembacaan data menggunakan teknik kounter. Teknik lain yang lebih mudah adalah dengan menggunakan looping FOR NEXT.
Contoh 4 : REM PROGARRAY4
DATA “KEN AROK”, “KEN DEDES”
DATA “TOHJAYA”, “ANUSAPATI”, “AMETUNG”
FOR K = 1 TO 5
READ R$(K)
NEXT K
PRINT R$(2) : PRINT R$(4)
END
Output :
KEN DEDES
ANUSAPATI
Contoh 5 : REM PROGARRAY5
DATA 5,8,9,8,5
DIM X(5)
JUM = 0
FOR K = 1 TO 5
READ X(K)
JUM = JUM + X(K)
NEXT K
RATA = JUM / 5
PRINT “RATA-RATA =”; RATA
END
Output :
RATA-RATA = 7
v Array Dimensi Dua
Array dimensi dua, lebih dikenal dengan matriks atau tabel, adalah sekumpulan elemen yang sejenis, dan posisi setiap elemennya ditentukan oleh dua buah subskrib yaitu nomor baris dan nomor kolom.
Bentuk umum deklarasi array dimensi 2 adalah :
DIM namavar (baris,kolom) [As tipe] atau
DIM namavar ( baris1 to baris2, kolom1 to kolom2) [As tipe]
Dengan Namavar : nama variable yang akan dideklarasikan sebagai array dua dimensi
Baris : cacah baris
Kolom : cacah kolom
Contoh : DIM M(2,3) atau
DIM M( 1 to 2, 1 to 3)
Dari contoh deklarasi di atas maka akan disediakan ruang memori untuk array M dengan jumlah elemen 2 baris dan 3 kolom..
30 | 50 | 20 |
10 | 10 | 10 |
Untuk mengoperasikan array digunakan subskrib.
M(1,1)=30, M(1,2)=50, M(1,3)=20,
M(2,1)=10, M(2,2)=10, M(2,3)=10
Contoh 6 : REM PROGARRAY6
DIM M(2,3)
M(1,1)=30: M(1,2)=50: M(1,3)=20
M(2,1)=10: M(2,2)=10: M(2,3)=10
PRINT M(1,1) +M(2,2)
PRINT M(2,3)
END
Output:
40
10
Contoh 7 : REM PROGARRAY7
DIM A(3,2)
FOR B = 1 TO 3
FOR K = 1 TO 2
READ A(B,K)
PRINT A(B,K),
NEXT K
PRINT
NEXT B
PRINT
DATA 1,2,1,2,1,2,1,2
PRINT A(2,1)+A(3,1) : END
Output:
1 2
1 2
1 2
2
v Array Dimensi Banyak
Array dimensi banyak merupakan array yang dimensinya lebih dari satu.
Bentuk umum deklarasinya :
DIM namavar (b,k,h,…,dn) [As tipe ] atau
DIM namavar (b1 to b2,k1to k2, h1 to h2,…, dn1 to dn2) [As tipe]
Contoh : DIM M(2,3,4) atau
DIM M(1 to 2, 1 to 3, 1 to 4)
Dalam operasinya menggunakan subskrib 3 dimensi, yaitu :
M(1,1,1),M(1,1,2),M(1,1,3),M(1,1,4)
M(1,2,1),M(1,2,2),M(1,2,3),M(1,2,4)
M(1,3,1),M(1,3,2),M(1,3,3),M(1,3,4)
M(2,1,1),M(2,1,2),M(2,1,3),M(2,1,4)
M(2,2,1),M(2,2,2),M(2,2,3),M(2,2,4)
M(2,3,1),M(2,3,2),M(2,3,3),M(2,3,4)
Latihan
1. Buatlah sebuah program untuk menghasilkan laporan sbb:
DAFTAR GAJI PEGAWAI
NAMA TOTAL GAJI
----------------------------------
INA 1500000
ANI 1300000
NIA 1250000
ANE 1000000
ANU 7500000
Dengan variable subskrib nama, gapok, tunjangan diinput dengan looping menggunakan teknik kounter.
Total gaji diperoleh dari gapok ditambah tunjangan.
Jawab :
DIM NAMA$(5), GAPOK (5), TUNJ(5), TOTALGAJI(5)
K= 1
10 INPUT “NAMA = “, NAMA$(K)
INPUT “GAJI POKOK = “,GAPOK(K)
INPUT “TUNJANGAN = “,TUNJ(K)
TOTALGAJI(K) = GAPOK(K) + TUNJ(K)
IF K=5 THEN 20
K = K + 1
GOTO 10
CLS
20 PRINT “DAFTAR GAJI PEGAWAI”
PRINT
PRINT “ NAMA”;TAB(15);”TOTAL GAJI”
PRINT “-----------------------------------“
FOR K = 1 TO 5
PRINT NAMA$(K);TAB(15);TOTALGAJI(K)
NEXT K
END
2. Apakah output dari program dibawah ini !
DATA 1,1,1,2,1,2,2,1,2,2,2,1,2,999
C(1) = 0 : C(2) = 0
10 READ X
IF X = 999 THEN 20
C(X) = C(X) + 1
GOTO 10
20 PRINT “CALON”,”JUMLAH SUARA”
PRINT “1 “, C(1)
PRINT “2 “, C(2)
END
Jawab :
CALON JUMLAH SUARA
1 6
2 7
3. Buatlah program untuk penjumlahan matriks A(2,3) dan B(2,3)
Jawab:
DIM A(2,3),B(2,3),C(2,3)
FOR J = 1 T0 2
FOR K = 1 TO 3
INPUT A(J,K),B(J,K)
C(J,K) = A(J,K) + B(J,K)
NEXT K
NEXT J
FOR J = 1 T0 2
FOR K = 1 TO 3
PRINT C(J,K),
NEXT K
PRINT
NEXT J
END
TUGAS
1. Buatlah program untuk menghitung perkalian matriks 2x3 dengan matriks 3x3.
2. Apakah output program berikut :
DIM NAMA$(12), NILAI.UJIAN(12)
FOR I = 1 TO 12
READ NAMA$(I),NILAI.UJIAN(I)
NEXT I
40 INPUT “NAMA URUTAN BERAPA YANG AKAN DITAMPILKAN :”;NOM
IF NOM>12 THEN PRINT ‘”TIDAK SAMPAI NOMER INI “: GOTO 40
PRINT
PRINT “NOMER URUT :”; NOM
PRINT “NAMA :”;NAMA$(NOM)
PRINT “NILAI UJIAN ;”;NILAI,UJIAN(NOM)
DATA “ABU”,90, “BANU”,60,”CENTIL”,80,”DIDIK”,100,”EKO”,30”
DATA “FIFI”, 50,”GANI”,70,”HERA”,90,”IDA”,100,”JENI”,75”,”KUKUH”,60
DATA “LULU”,80
END
Tidak ada komentar:
Posting Komentar