Array Statis
Array Array adalah sekumpulan memori untuk suatu nama yang memiliki elemen-elemen data yang sejenis. Sifat-sifat array adalah sebagai berikut : Mengacu sekumpulan elemen melalui indeks. Elemen bertipe sama. Disimpan secara berurutan di memori. Ukuran tetap, harus dipesan terlebih dahulu.
Keuntungan data array / larik : Paling mudah pengoperasiannya Ekonomis dalam pemakaian memori, bila semua elemen terisi Akses ke setiap elemen memerlukan waktu yang sama
Kerugian data array / larik : Memboroskan tempat jika banyak elemen yang tidak digunakan
Representasi array dibagi menjadi dua, yaitu : 1. Representasi array 1 dimensi, contoh : string. array A
0 1 2 3 4 5 6 7
Elemen Larik : A[0] A[1] A[2] A[3] A[4] A[5] A[6] A[7] Indeks Larik : 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 Mengisi elemen larik : A[3] 100
Hal yang perlu diingat : Elemen array harus memiliki tipe data yang sama atau sejenis (homogen) seperti integer, real, char, string, Boolean, record. Artinya array tersebut didefinisikan sebagai integer maka nilai yang boleh masuk ke dalam elemen array harus bertipe integer. indeks array harus memiliki tipe data yang menyatakan keterurutan, seperti integer atau karakter.
Operasi Traversal terhadap tabel array : Tabel integer didefinisikan seperti dibawah ini : Const IdxMin = 1; {batas bawah} IdxMax = 10; {batas atas} Type TipeElm = Integer; {type terdefinisi,misal integer} TabInt = Array [IdxMin .. IdxMax] of TipeElm; Var TInt = TabInt; {tabel integer}
Skema traver sal : Pemrosesan traver sal yaitu mengolah seluruh elemen tabel secara sistematik . Skema : Procedure ProsesTraver sal (Var TI:TabInt ); Var i:integer; Begin Inisialisasi ; {prosedur per siapan sebelum pemrosesan } For i:=IdxMin to IdxMax do Begin Proses ( TI [ i ] ); {proses terhadap elemen saat itu} End; Terminasi ; {prosedur aksi setelah pemrosesan selesai} End;
Contoh penggunaan skema : - Prosedur memasukkan nilai seluruh elemen tabel. Procedure InputTabInt (Var TI : TabInt); Var i : Integer; Begin For i := IdxMin to IdxMax do Begin Write ( Elemen ke- ,i); Readln ( TI[ i ] ); End; End;
- Prosedur menuliskan seluruh nilai elemen tabel ke layar. Procedure OutputTabInt ( TI : TabInt); Var i: Integer; Begin For i := IdxMin to IdxMax do Begin Write ( Elemen ke- ,i, = ); Writeln ( TI [ i ] ); End; End;
Pendeklarasian array di C++ : Untuk array 1 dimensi : Type array Nama Array [index ] Contoh : Int Nilai[5] artinya Nilai[0] Nilai[1] Nilai[2] Nilai[3] Nilai[4 ]
70 80 82 60 75
printf ( Nilai mahasiswa ke- %d = ,index+1); scanf (%d,& Nilai[index]); } clrscr(); // Perhitungan total dan rata-rata total=0; for (index=0;index<10;index++) total=total+Nilai[index];// atau total+=Nilai[index]; ratarata=total/10; printf ( Tampil Nilai Mahasiswa\ n); printf ( ----------------------\ n); // Menampilkan data yang telah dimasukan dan rata-rata. for (index=0;index<10;index++) printf ( Nilai mahasiswa ke-%d = %3d\ n,index+1 ,Nilai[index]); printf(Rata -rata = %6.2f\ n,ratarata); getch(); }
2. Representasi array 2 dimensi, contoh : matriks. Matriks adalah struktur data yang mengacu pada sebuah/ sekumpulan elemen yang diakses melalui indeks. Matriks berindek terdiri dari dua bagian yaitu indeks baris dan indeks kolom. Setiap elemen matriks dapat diakses melalui indeksnya
Contoh : Matriks A bernama A dengan ukuran 2 X 3 ( memiliki indeks baris 2 dan indeks kolom 3 ) A[1 ,1] A[1 ,2] A[1 ,N] A[1 ,1] A[2,1] A[2,N]
A[N,1]
A[N,N]
Proses proses / operasi terhadap Matriks : 1. Pengisian elemen matriks dari fil 2. Pengisian elemen matriks khusus dengan assignment 3. Penulisan elemen matriks 4. Penjumlahan matriks 5. Perkalian matriks
Algoritma-algoritma Operasi Matriks : 1 . Pengisian elemen matriks dari fil Read N1 , N2 {N1 : jumlah baris, N2 : jumlah kolom} I 1 While I <= N1 do J1 While J <= N2 do Read M (I,J) J J+1 EndWhile I I+1 EndWhile
2 . Pengisian elemen matriks khusus dengan assignment Matriks N1 x N2 yang semua elemennya 1 : I 1 While I <= N1 do J1 While J <= N2 do M (I,J) 1 J J+1 EndWhile I I+1 EndWhile
3. Penulisan elemen matriks I 1 While I <= N1 do J1 While J <= N2 do Write M (I,J) J J+1 EndWhile I I+1 EndWhile
4. Penjumlahan matriks I 1 While I <= N1 do J1 While J <= N2 do C (I,J) A (I,J) + B (I,J) J J+1 EndWhile I I+1 EndWhile
{N = kolom matriks A = baris matriks B} C (I,J) C (I,J) + A (I,K) * B (K,J) K K + 1 EndWhile J J+1 EndWhile I I + 1 EndWhile