Anda di halaman 1dari 11

Pertemuan 2

ARRAY
Salah satu Struktur Data yang teramat penting adalah Array
atau Larik.
Array dapat didefinisikan sebagai suatu himpunan hingga
elemen, terurut dan homogen. Atau Dapat didefinisikan juga
sebagai pemesanan alokasi memory sementara pada
komputer.

Terurut : Dapat diartikan bahwa elemen tersebut dapat


diidentifikasi sebagai elemen pertama, elemen kedua dan
seterusnya sampai elemen ke-n.
Homogen : Adalah bahwa setiap elemen dari sebuah Array
tertentu haruslah mempunyai type data yang sama. Sebuah Array
dapat mempunyai elemen yang semuanya berupa integer atau
dapat pula seluruhnya berupa character atau String bahkan dapat
pula terjadi suatu Array mempunyai elemen berupa Array pula.

Karakteristik Array :
1. Mempunyai batasan dari pemesanan alokasi
memory (Bersifat Statis)
2. Mempunyai Type Data Sama
(Bersifat Homogen)
3. Dapat Diakses Secara Acak
Adapaun jenis Array yang akan dipelajari adalah :
1. Array Dimensi Satu (One Dimensional)
2. Array Dimensi Dua (Two Dimensional)

1. ARRAY DIMENSI SATU (One Dimensional)


Deklarasi : Var A : Array[1..N] Of Type Data;
Penggambaran secara Logika :

Harga minimum dari subskrip suatu Array disebut


sebagai batas bawah atau lower bound (L), sedangkan
harga maksimumnya disebut batas atas atau upper
bound (U).
PEMETAAN ARRAY DIMENSI SATU KE STORAGE
Mapping Storage Array Dimensi Satu
Rumus : @A[I] = B + {U - 1} * L
Dimana @A[I] : Posisi Array Yg Dicari
B : Posisi Awal Array di Memory Komp.
U : Subkrip atau Indeks Atas Array
L : Besar Memory dari St. Type Data
Rumus menentukan jumlah elemen dalam Array :
Jumlah Elemen :
n
 (Ui – Li)
i=1
 = Pi (Perkalian dari statemen sebelumnya)
Program
#include <stdio.h> //Output isi array NilaiB
int main() for (i=1;i<4;i++)
{ printf("NilaiB[%d] : %d\n",i,NilaiB[i]);
int NilaiA[4]; //deklarasi array integer printf("\n");
int NilaiB[4] = {10,20,30,40};//deklarasi array integer //Output isi array NilaiC
dengan inisialisasi nilai
for (i=0;i<=4;i++)
float NilaiC[4]; //deklarasi array float
printf("NilaiC[%d] : %.2f\n",i,NilaiC[i]);
char Hrf[] = {'a','b','c','d','e'}; //deklarasi array karakter
printf("\n");
char Kata[4] = "YES";//deklarasi string
//Output isi array Hrf
int i;//deklarasi counter looping
for (i=0;i<=4;i++)
//input data ke dalam array NilaiA indeks ke-i
for (i = 0;i<=4;i++) printf("Hrf[%d] : %c\n",i,Hrf[i]);
{ printf("\n");
printf("Masukan nilai ke-%d : ",i);scanf("%d",&NilaiA[i]); //Output string Kata
} printf("Kata : %s\n",Kata);
//Array NilaiB tidak perlu diinput lagi karena nilainya for (i=0;i<=4;i++)
sudah diinisialisasi printf("Kata[%d] : %c\n",i,Kata[i]);
//Input data ke dalam array NilaiC return 0;
NilaiC[0] = 0.1; }
NilaiC[2] = 0.2;
NilaiC[4] = 0.4;
//Array Hrf tidak perlu diinput lagi karena nilainya sudah
diinisialisasi
//Output isi array NilaiA
for (i=0;i<=4;i++)
printf("NilaiA[%d] : %d\n",i,NilaiA[i]);
printf("\n");
Output
2. Array Dimensi Dua (Two Dimensional)
B.U : Var A : Array[1..N,1..M] Of Type Data;

Sering digunakan dalam menterjemahkan matriks pada pemrograman.


Mis : Var A : Array[1..3,1..4] Of Integer;

Terbagi Dua cara pandang (representasi) yang berbeda :


1. Secara Kolom Per Kolom (Coloumn Major Oder)
@M[i,j] = @M[1,1] + {(j - 1) * K + (i - 1)} * L
2. Secara Baris Per Baris (Row Major Order)
@M[i,j] = @M[1,1] + {(i - 1) * N + (j - 1)} * L

Ket : I = Baris, j = kolom, L = panjang elemen


K = Banyaknya kolom
N = Banyaknya baris

{Dosen membuat contoh aplikasi mapping array dimensi dua}


Program
#include <iostream>
#include <conio.h> cout << "\nData Matriks B : \n";
using namespace std; cout << "================ \n";
int main() for (i=0; i<3; i++)
{
{
int matrikA[3][4] = {7,6,9,3,5,7,4,2,7,9,2,2};
for (j=0; j<4; j++)
int matrikB[3][4] = {{3,6,8,6},{7,3,9,1},{8,5,9,4}};
cout << matrikB[i][j] << " ";
int matrikC[3][4];
int i, j; cout << "\n";
//penjumlahan matriks }
for (i=0; i<3; i++) cout << "\nData Matriks C = Matriks A + Matriks B : \n";
{ cout <<
for (j=0; j<4; j++) "======================================
{ == \n";
matrikC[i][j] = matrikA[i][j] + matrikB[i][j]; for (i=0; i<3; i++)
} {
} for (j=0; j<4; j++)
//menampilkan data masing-masing matriks cout << matrikC[i][j] << " ";
cout << "\nData Matriks A : \n"; cout << "\n";
cout << "================ \n"; }
for (i=0; i<3; i++)
getch();
{
return 0;
for (j=0; j<4; j++)
}
cout << matrikA[i][j] << " ";
cout << "\n";
}
Output Program

Anda mungkin juga menyukai