ARRAY
Pengertian
Array
Array atau larik didefinisikan sebagai pemesanan alokasi memory berurutan.definisi ini kurang tepat, karena terjadi kerancuan antara struktur data dan representasinya. Memang benar array hampir selalu di implementasikan menggunakan memory berurutan tapi tidak selalu demikian.
Semua elemem array bertipe sama. Array cocok untuk organisasi kumpulan data homogen yang ukuran atau jumlah elemen maksimumnya telah diketahui dari awal. Homogen adalah bahwa setiap elemen dari sebuah array tertentu haruslah mempunyai tipe data yang sama.
Array atau larik didefinisikan sebagai pemesanan alokasi memory berurutan.definisi ini kurang tepat, karena terjadi kerancuan antara struktur data dan representasinya. Memang benar array hampir selalu di implementasikan menggunakan memory berurutan tapi tidak selalu demikian.
Semua elemem array bertipe sama. Array cocok untuk organisasi kumpulan data homogen yang ukuran atau jumlah elemen maksimumnya telah diketahui dari awal. Homogen adalah bahwa setiap elemen dari sebuah array tertentu haruslah mempunyai tipe data yang sama.
Karakteristik
Array
Ada tiga hal yang harus di ketahui untuk
mengenal karakteristik Array, yaitu:
1.Mepunyai batasan dari pemesanan alokasi
memori (bersifat statis)
2.Mempunyai tipe data sama (bersifat homogen)
3.Dapat diakses secara acak.
Deklarasi Array
Ada tiga hal yang harus di ketahui dalam mendeklarasikan array, yaitu :
Type data array
Nama variable array
Subkrip / index array.
Jenis-jenis Array:
1. Array Dimensi Satu (One Dimensional Array)
2. Array Dimensi Dua (Two Dimensional Array)
3. Array Dimensi Tiga (Thee Dimensional Array)
Contoh deklarasi dari array adalah sebagai berikut :
int A[5] : artinya variabel A adalah kumpulan data sebanyak 5 bilangan bertipe integer.
Ada tiga hal yang harus di ketahui dalam mendeklarasikan array, yaitu :
Type data array
Nama variable array
Subkrip / index array.
Jenis-jenis Array:
1. Array Dimensi Satu (One Dimensional Array)
2. Array Dimensi Dua (Two Dimensional Array)
3. Array Dimensi Tiga (Thee Dimensional Array)
Contoh deklarasi dari array adalah sebagai berikut :
int A[5] : artinya variabel A adalah kumpulan data sebanyak 5 bilangan bertipe integer.
dalam
Array
1. Array Dimensi Satu
Dapat disebut juga dengan dengan istilah vektor yang menggambarkan data dalam suatu urusan.
Deklarasi : Type_Data Nama_Variabel [index]
Misalnya: int A[5];
N
i = 1
Penggambaran secara logika:
Elemen array
A[1]
A[2 ]
A[3]
A[4] 0 1 2 3 4
A[5]
Rumus untuk menentukan jumlah elemen array adalah :
= Perkalian dari index sebelumnya (untuk arraybdimensi dua dan tiga).
A[3]
A[4] 0 1 2 3 4
A[5]
Rumus untuk menentukan jumlah elemen array adalah :
= Perkalian dari index sebelumnya (untuk arraybdimensi dua dan tiga).
Pemetaan (Mapping) Array Dimensi Satu Ke
Storage
Rumus : @A[i] = B + (i – 1) * L
Dimana : @A[i] : Posisi array yang dicari
B : Posisi awal index di memori computer
i : Subkrip atau index array yang di cari
L : Ukuran atau besar memori suatu tipe data
Contoh soal:
Suatu array A dideklarasikan sebagai berikut:
Int A[5]; dengan alamat awal index berada di 0011(H) dan ukuran memory type data integer=2
Tentukan berapa alamat array A[3]?
Rumus : @A[i] = B + (i – 1) * L
Dimana : @A[i] : Posisi array yang dicari
B : Posisi awal index di memori computer
i : Subkrip atau index array yang di cari
L : Ukuran atau besar memori suatu tipe data
Contoh soal:
Suatu array A dideklarasikan sebagai berikut:
Int A[5]; dengan alamat awal index berada di 0011(H) dan ukuran memory type data integer=2
Tentukan berapa alamat array A[3]?
JAWABANNYA:
Diket:@A[i]= A[3] Penyelesaian:
B= 0011(H) A[3] = 0011(H)+(3-1)*2
i = 3 = 0011(H)+4(D)
L = 2 = 0011(H)+4(H)
= 0015(H) 4 Desimal= 4
Hexa
0 1 2 3 4
0011 0013 0015 0017 0019
Diket:@A[i]= A[3] Penyelesaian:
B= 0011(H) A[3] = 0011(H)+(3-1)*2
i = 3 = 0011(H)+4(D)
L = 2 = 0011(H)+4(H)
= 0015(H) 4 Desimal= 4
Hexa
0 1 2 3 4
0011 0013 0015 0017 0019
Array Dimensi Dua
Sering di gunakan dalam menterjemahkan matriks pada pemograman.
Deklarasi : Type_Data Nama_Variabel [index1] [index2];
Contoh:
int A[3][2];
n
i = 1
Menentukan jumlah elemen dalam array dimensi dua :
= Perkalian dari statemen sebelumnya(untuk array dimensi dua & tiga)
Contoh:
Suatu array x dideklarasikan sbb:
Int x[4][3]:
Maka jumlah elemen array dimensi dua tersebut adalah(4)*(3)=12
Pemetaan (Mapping) Array Dimensi Dua Ke Storage
Terbagi dua cara pandang (representasi) yang berbeda :
1. Secara kolom per kolom (coloumn major order / CMO)
@M[i][j] = M[0][0] + {(j – 1) * K + (i – 1)} * L
2. Secara baris per baris (row major order / RMO)
@M[i][j] = M[0][0] + {(i – 1) * N + (j – 1)} * L
Keterangan :
@M[i][j] = Posisi array yang di cari
M[0][0] = Posisi alamat awal index array
i = Baris
j = Kolom
L = Ukuran memory type data
K = Banyaknya elemen per kolom
N = Banyaknya elemen per baris.
Sering di gunakan dalam menterjemahkan matriks pada pemograman.
Deklarasi : Type_Data Nama_Variabel [index1] [index2];
Contoh:
int A[3][2];
n
i = 1
Menentukan jumlah elemen dalam array dimensi dua :
= Perkalian dari statemen sebelumnya(untuk array dimensi dua & tiga)
Contoh:
Suatu array x dideklarasikan sbb:
Int x[4][3]:
Maka jumlah elemen array dimensi dua tersebut adalah(4)*(3)=12
Pemetaan (Mapping) Array Dimensi Dua Ke Storage
Terbagi dua cara pandang (representasi) yang berbeda :
1. Secara kolom per kolom (coloumn major order / CMO)
@M[i][j] = M[0][0] + {(j – 1) * K + (i – 1)} * L
2. Secara baris per baris (row major order / RMO)
@M[i][j] = M[0][0] + {(i – 1) * N + (j – 1)} * L
Keterangan :
@M[i][j] = Posisi array yang di cari
M[0][0] = Posisi alamat awal index array
i = Baris
j = Kolom
L = Ukuran memory type data
K = Banyaknya elemen per kolom
N = Banyaknya elemen per baris.
Penggambaran secara
logika
0 1
Contoh : int M[3][2]: (array dengan 3 baris & 2 kolom) 0 1
2
Berdasarkan Cara pandang :
1. Kolom Per Baris (Row Major Order / RMO)
jumlah elemen per baris = 2
2.Baris Per Kolom (Coloumn Major Order / CMO)
jumlah perkolom=3
Contoh : int M[3][2]: (array dengan 3 baris & 2 kolom) 0 1
2
Berdasarkan Cara pandang :
1. Kolom Per Baris (Row Major Order / RMO)
jumlah elemen per baris = 2
2.Baris Per Kolom (Coloumn Major Order / CMO)
jumlah perkolom=3
Contoh soal pementaan:
Suatu array x dideklarasikan sebagai berikut:
Float x[4][3],dengan alamat index x[0][0] berada di 0011(H) dengan ukuran type data float = 4,tentukan berapa array x[3][2].
Penyelesaian :
Secara Baris Per Baris (Row Major Oder / RMO)
@M[i][j] = @M[0][0] + {(i - 1) * N + (j - 1)} * L
X[3][2] = 0011(H) + {(3 – 1) * 3 + (2 – 1)} * 4
= 0011 (H)+ 28(D) 1C(H)
= 0011(H)+ 1C (H)
= 002D(H)
Lanjutan Contoh Pemetaan :
Penyelesaian :
Secara Kolom Per Kolom (Coloumn Major Oder / CMO)
@M[i][j] = @M[0][0] + {(j - 1) * K + (i - 1)} * L
X[3][2] = 0011(H) + {(2 – 1) * 4 + (3 – 1)} * 4
= 0011(H) + 24 (D) 18 (H)
= 0011(H) + 18 (H)
= 0029(H)
Suatu array x dideklarasikan sebagai berikut:
Float x[4][3],dengan alamat index x[0][0] berada di 0011(H) dengan ukuran type data float = 4,tentukan berapa array x[3][2].
Penyelesaian :
Secara Baris Per Baris (Row Major Oder / RMO)
@M[i][j] = @M[0][0] + {(i - 1) * N + (j - 1)} * L
X[3][2] = 0011(H) + {(3 – 1) * 3 + (2 – 1)} * 4
= 0011 (H)+ 28(D) 1C(H)
= 0011(H)+ 1C (H)
= 002D(H)
Lanjutan Contoh Pemetaan :
Penyelesaian :
Secara Kolom Per Kolom (Coloumn Major Oder / CMO)
@M[i][j] = @M[0][0] + {(j - 1) * K + (i - 1)} * L
X[3][2] = 0011(H) + {(2 – 1) * 4 + (3 – 1)} * 4
= 0011(H) + 24 (D) 18 (H)
= 0011(H) + 18 (H)
= 0029(H)
Keunggulan array adalah sebagai berikut :
1.Array sangat cocok untuk pengaksesan acak. Sembarang elemen di array dapat diacu secara langsung tanpa melalui elemen-elemen lain.
2. Jika berada di suatu lokasi elemen, maka sangat mudah menelusuri ke elemen-elemen pertama, elemen kedua,dan elemen ke-n.
3. Jika elemen-elemen array adalah nilai-nilai independen dan seluruhnya harus terjaga,maka penggunaan penyimpanannya sangat efisien.
4. Sebuah array dapat mempunyai elemen yang seluruhnya berupa integer atau character atau string bahkan dapat pula terjadi suatu array mempunyai elemen berupa array.
1.Array sangat cocok untuk pengaksesan acak. Sembarang elemen di array dapat diacu secara langsung tanpa melalui elemen-elemen lain.
2. Jika berada di suatu lokasi elemen, maka sangat mudah menelusuri ke elemen-elemen pertama, elemen kedua,dan elemen ke-n.
3. Jika elemen-elemen array adalah nilai-nilai independen dan seluruhnya harus terjaga,maka penggunaan penyimpanannya sangat efisien.
4. Sebuah array dapat mempunyai elemen yang seluruhnya berupa integer atau character atau string bahkan dapat pula terjadi suatu array mempunyai elemen berupa array.
Kelemahan array adalah sebagai berikut :
1.Array mempunyai fleksibilitas rendah, sehingga tidak cocok untuk berbagai aplikasi karena array mempunyai batasan sebagai berikut :
2.Array harus bertipe homogen mempunyai type data yang sama. Kita tidak dapat mempunyai array dimana satu elemen adalah karakter, elemen lain bilangan, dan elemen lain adalah tipe-tipe lain.
3.Kebanyakan bahasa pemrograman mengimplementasikan array statik yang sulit diubah ukurannya di waktu eksekusi Bila penambahan dan pengurangan terjadi terus-menerus, maka representasi statis.
4.Tidak efisien dalam penggunaan memori
5.Menyiakan banyak waktu komputasi
6.Pada suatu aplikasi, representasi statis tidak dimungkinkan.
1.Array mempunyai fleksibilitas rendah, sehingga tidak cocok untuk berbagai aplikasi karena array mempunyai batasan sebagai berikut :
2.Array harus bertipe homogen mempunyai type data yang sama. Kita tidak dapat mempunyai array dimana satu elemen adalah karakter, elemen lain bilangan, dan elemen lain adalah tipe-tipe lain.
3.Kebanyakan bahasa pemrograman mengimplementasikan array statik yang sulit diubah ukurannya di waktu eksekusi Bila penambahan dan pengurangan terjadi terus-menerus, maka representasi statis.
4.Tidak efisien dalam penggunaan memori
5.Menyiakan banyak waktu komputasi
6.Pada suatu aplikasi, representasi statis tidak dimungkinkan.
Contoh Program C++
1. Array Dimensi Satu
#include<iostream.h>
#include<conio.h>
main()
{
int data[5]; // array dengan 5 elemen bertipe integer
int i;
clrscr();
cout<<"Input Data"<<endl; //entri 5 data
for(i=0;i<=4;i++){
cout<<"Data ke - "<<i<<": ";
cin>>data[i];
}
cout<<"Cetak Data"<<endl; //tampilkan data setelah entri
for(i=0;i <= 4;i++){
cout<<"Data ke - "<<i<<":"<<data[i];
}
getch();
return 0;
}
1. Array Dimensi Satu
#include<iostream.h>
#include<conio.h>
main()
{
int data[5]; // array dengan 5 elemen bertipe integer
int i;
clrscr();
cout<<"Input Data"<<endl; //entri 5 data
for(i=0;i<=4;i++){
cout<<"Data ke - "<<i<<": ";
cin>>data[i];
}
cout<<"Cetak Data"<<endl; //tampilkan data setelah entri
for(i=0;i <= 4;i++){
cout<<"Data ke - "<<i<<":"<<data[i];
}
getch();
return 0;
}
Array Dimensi Dua
#include<iostream.h>
#include<conio.h>
main()
{
int matrix[3][3];
int i,j;
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
{
cout<<"Masukkan angka pada baris ke "<<i<<" kolom ke "<<j<<" : ";
cin>>matrix[i][j];
}
cout<<endl;
}
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
{
cout<<matrix[i][j]<<" ";
}
cout<<endl;
}
getch();
}
#include<iostream.h>
#include<conio.h>
main()
{
int matrix[3][3];
int i,j;
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
{
cout<<"Masukkan angka pada baris ke "<<i<<" kolom ke "<<j<<" : ";
cin>>matrix[i][j];
}
cout<<endl;
}
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
{
cout<<matrix[i][j]<<" ";
}
cout<<endl;
}
getch();
}
Array Dimensi Dua
#include<iostream.h>
#include<conio.h>
main()
{
int matrix[3][3];
int i,j;
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
{
cout<<"Masukkan angka pada baris ke "<<i<<" kolom ke "<<j<<" : ";
cin>>matrix[i][j];
}
cout<<endl;
}
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
{
cout<<matrix[i][j]<<" ";
}
cout<<endl;
}
getch();
}
#include<iostream.h>
#include<conio.h>
main()
{
int matrix[3][3];
int i,j;
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
{
cout<<"Masukkan angka pada baris ke "<<i<<" kolom ke "<<j<<" : ";
cin>>matrix[i][j];
}
cout<<endl;
}
for(i=0;i<=2;i++)
{
for(j=0;j<=2;j++)
{
cout<<matrix[i][j]<<" ";
}
cout<<endl;
}
getch();
}
2.Contoh Kasus Array Dalam Matriks Dan
Pembentukan Matriks Dengan Menggunakan Array
Untuk membuat program MATRIKS pada C++ maka akan memakai array untuk membuat matriks, karena array adalah syarat utama untuk membuat matriks maka pada program ini saya akan membuat matriks berordo 1 dan berordo 4 x 4. berikut coding programnya.
Untuk membuat program MATRIKS pada C++ maka akan memakai array untuk membuat matriks, karena array adalah syarat utama untuk membuat matriks maka pada program ini saya akan membuat matriks berordo 1 dan berordo 4 x 4. berikut coding programnya.
Bagaimana rumus cara mengetahui nilai L/ukuran memori data jika pada soal tidak ditentukan nilai "L" ?
BalasHapus