Sabtu, 01 Februari 2014

Array Pada Java

Array
Selama ini kita menggunakan satu variabel untuk menyimpan 1 buah nilai dengan tipe data tertentu.
Misalnya :
int a1, a2, a3, a4, a5;
Deklarasi variabel diatas digunakan untuk menyimpan 5 data integer dimana masing-masing variabel diberi nama a1, a2, a3, a4, dan a5.
Jika kita memiliki 10 data, 100 data integer bahkan mungkin data yang ingin kita proses tidak kita ketahui atau bersifat dinamis?  Kita tidak mungkin menggunakan variabel seperti diatas.
Di dalam Java dan pemrograman yang lain, terdapat suatu fasilitas untuk menyimpan data-data yang bertipe data sama dengan suatu nama tertentu.

Keunggulan Array
Array sangat cocok untuk pengaksesan acak. Sembarang elemen di array dapat diacu secara langsung tanpa melalui elemen-elemen lain.
Jika berada di suatu lokasi elemen, maka sangat mudah menelusuri ke elemen-elemen tetangga, baik elemen pendahulu atau elemen penerus
Kelemahan Array
Array mempunyai fleksibilitas rendah, karena array mempunyai batasan sebagai berikut:
1. Array harus bertipe homogen. Kita tidak dapat mempunyai array dimana satu elemen adalah karakter, elemen lain bilangan, dan elemen lain adalah tipe-tipe lain
2. Kebanyakan bahasa pemrograman mengimplementasikan array statik yang sulit diubah ukurannya di waktu eksekusi. Bila penambahan dan pengurangan terjadi terus-menerus, maka representasi statis
• Tidak efisien dalam penggunaan memori
• Menyiakan banyak waktu komputasi
• Pada suatu aplikasi, representasi statis tidak dimungkinkan

Definisi Array
Array adalah suatu tipe data terstuktur yang berupa sejumlah data sejenis (bertipe data sama) yang jumlahnya bisa statis ataupun dinamis dan diberi suatu nama tertentu.
Elemen-elemen array tersusun secara berderet dan sekuensial di dalam memori sehingga memiliki alamat yang bersebelahan / berdampingan.
Array dapat berupa array 1 dimensi, 2 dimensi, bahkan n-dimensi.
Elemen-elemen array bertipe data sama tapi bisa bernilai sama atau berbeda-beda.

Ilustrasi Array 1 Dimensi
Pengaksesan Elemen Array
Elemen-elemen array dapat diakses oleh program menggunakan suatu indeks tertentu
Pengaksesan elemen array dapat dilakukan berurutan atau random berdasarkan indeks tertentu secara langsung.
Pengisian dan pengambilan nilai pada indeks tertentu dapat dilakukan dengan mengeset nilai atau menampilkan nilai pada indeks yang dimaksud.
Deklarasi Array 1 Dimensi
tipe_data nama_var_array[ukuran];
Atau
tipe_data[ukuran]nama_var_array;

tipe_data: menyatakan jenis tipe data elemen larik (int, char, double, dll)
nama_var_array : menyatakan nama variabel yang dipakai.
ukuran: menunjukkan jumlah maksimal elemen larik.

Contoh
int p [];
char s [];
int [] p;
char [] s;
Jadi  perbedaan  utama  pendeklarasian  variabel  array  dengan  variabel biasa  adalah  adanya  tanda  kurung  [  ]  di  akhir  tipe  data  atau  di  akhir  nama variabel array.
Pada tahap pendeklarasian variabel array ini belum ada alokasi memori untuk menyimpan data.
Mendefinisikan Array
Mendefinisikan Array : menentukan besar array yang diinginkan.
Kita harus membuat array dan menentukan berapa panjangnya dengan sebuah konstruktor.
Proses ini di Java disebut sebagai instantiation
Adapun  caranya  adalah dengan perintah new karena di dalam Java suatu array adalah dianggap suatu obyek.

Format penulisannya adalah sebagai berikut:

nama_array = new tipe_array[total_elemen_array];

Contoh :
int nilai[];
nilai = new int[5];

Kita  juga  dapat  melakukan  deklarasi  dan  pembuatan  array  hanya  pada  satu baris statement. Adapun format penulisannya adalah sebagai berikut:

tipe_array nama_array[] = new tipe_array[total_elemen_array];

Contoh :
int nilai[] = new int[5];

Contoh pembuatan array untuk menampung bilangan 1 sampai 10 :
int[] bil;
bil = new int [11];
for (i=1; i<=10; i++)
bil [i]=I;

Perubahan Ukuran Array
Ukuran dari array tidak dapat diubah setelah kita menginisialisasinya, atau sering juga disebut tidak bisa di-resize
Dan tidak bisa digunakan nama variabel yang sama untuk menciptakan array baru
Contoh :
int myArray = new int[6];
myArray = new int[10];

Pada contoh diatas, deklarasi akan memberitahukan kepada compiler Java, bahwa identifier ages akan digunakan sebagai nama array yang berisi data-data integer
Kemudian untuk membuat atau meng-instantiate sebuah array baru yang terdiri dari 100 elemen.
Batasan Array
Indeks array dimulai dari 0
Untuk  mengetahui  panjang  dari  suatu  array  yang  telah  kita  buat,  kita dapat memakai properti length.


Adapun format untuk menggunakan length adalah sebagai berikut:
var_array.length →  total elemen array pada dimensi 1
var_array[i].length →  total elemen array pada dimensi 2 untuk indeks ke-i pada dimensi 1
var_array[i][j].length →  total elemen array pada dimensi 3 untuk indeks ke-i pada dimensi 1 dan indeks ke-j pada dimensi 2 dan seterusnya.
Inisialisasi Array
Inisialisasi array dapat dilakukan dengan format penulisan sebagai berikut:

tipe_array nama_array[] = {nilai_indeks_0, nilai_indeks_1, … , nilai_indeks_n};

Contoh :
int nilai[] = {70, 65, 85};

Contoh Inisialisasi Array
String nama[];
nama = new String[3];
nama[0] = “Dinda”;
nama[1] = “Faisal”;
nama[2] = “Bagus”;

Dari contoh inisialisasi array di atas dapat ditulis dengan cara :

String nama[]= {“Dinda”, “Faisal”, “Bagus”};

Mencopy Array
Isi dari suatu   array dapat kita kopi pada array yang lain dengan memanfaatkan method arraycopy() pada class System.
Format penulisannya sebagai berikut :

System.arraycopy(array1,p1,array2,p2,n);

dimana :
Array1 : array asal/sumber pengkopian
Array2 : array tujuan pengkopian
p1 : posisi indeks awal pengkopian pada array asal
p2 : posisi indeks awal pengkopian pada array tujuan
n : banyaknya elemen array yang akan dikopi
Array Dua Dimensi
Array   dua dimensi sebenarnya adalah array yang berisi array.

Bentuk umum :
<tipedata> NamaArray [m][n];

Pendeklarasian array dua dimensi terdapat dua jumlah elemen yang terdapat di dalam kurung siku dan keduanya boleh tidak sama.
Elemen array dua dimensi diakses dengan menuliskan kedua indeks elemennya dalam kurung siku seperti pada contoh berikut:

bool papan[2][5];
//papan nama memiliki 2 baris dan 5 kolom
Mendefinisikan Array Dua Dimensi
Caranya  sama dengan mendefinisikan array 1 dimensi, yaitu dengan perintah new.
Contoh :
papan = new bool [2][5];
Jadi untuk mendeklarasikan dan menentukan range array dua dimensi :

tipedata namaArray[][]=new tipedata[ukuran1][ukuran2]

Contoh Array Dua Dimensi
bool papan[][] = new bool[2][5]

Atau

bool papan[][];
papan = new bool[2][5];

Jumlah elemen dalam tiap elemen array dua dimensi:
var_array[indeks].length
Inisialisasi array dua dimensi :
tipedata namaArray[][] = {{e00,e01,…e0n}, {e10,e11,…e1n}, {e20,e21,…e2n},…{em0,em1,…,emn}}
Atau


tipe_data varArray[][] = new tipe_data[][];
varArray[0][0]=e00;
varArray[0][1]=e01;
varArray[0][2]=e02;
varArray[1][0]=e10;
varArray[1][1]=e11;
varArray[1][2]=e12;
varArray[m][n]=emn;


0 komentar:

Posting Komentar