Thursday 31 December 2009

ARRAY

Array adalah sekumpulan variabel yang memiliki tipe data yang sama dan dinyatakan dengan nama yang sama. Array merupakan konsep yang penting dalam pemrograman, karena array memungkinkan untuk menyimpan data maupun referensi objek dalam jumlah banyak dan terindeks. Array menggunakan indeks integer untuk menentukan urutan elemen-elemennya, dimana elemen pertamanya dimulai dari indeks 0, elemen kedua memiliki indeks 1, dan seterusnya.

Array juga merupakan suatu grup (entitas) yang beranggotakan elemen-elemen (variabel) yang bertipe data sama dan dapat diakses dengan memanggil nama array beserta indeks elemennya. Indeks merupakan bilangan integer yang menunjukkan letak urutan elemen dalam array.

int number1 = 1; //variabel biasa

int number2 = 2;

int number3 = 3;

int [] number = {1, 2, 3}; //array

Gambar1. Contoh Array number yang berisikan bilangan bulat (integer)

· Mendeklarasikan Variabel Array

Mendeklarasikan variabel array dengan tipe data yang diinginkan dengan cara yang hampir sama dengan variabel biasa. Misalnya untuk mendeklarasikan variabel bertipe integer, dapat dilakukan dengan cara :

int[ ] bilangan; atau int bilangan[ ];

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.

§ Variabel array dapat dideklarasikan dengan dua cara :

Pada bentuk pertama, berarti memberitahu kompiler untuk mengalokasikan sejumlah lokasi memori dengan tipe tipedata dan kumpulan variabel ini selanjutnya dianggap sebagai suatu grup bernama nama Array.

Pada bentuk kedua, berarti memesan sejumlah lokasi memory dengan tipe tipe data dan masing masing bernama namaArray, tanpa ada kesan bahwa variabelvariabel ini dapat dianggap sebagai suatu kumpulan yang bernama namaArray.

Contoh deklarasi array :

int [ ] umur;

int umur [ ];

Setelah mendeklarasikannya, kita perlu membentuk objek array dan menentukan panjangnya dengan menggunakan statement konstruktor. Dalam Java, proses ini dikenal dengan instantiation.

§ Cara menginisialisasi Array

Pertama, bersamaan dengan deklarasi variabel :

Contoh :

int [] deretBilangan = {1,2,3,4,5,6,7,8,9,10};

Kedua, dengan mengakses dan memberi nilai elemen satu persatu.

Caranya dengan menyebutkan nama array beserta indeksnya :

deretBilangan[0]; // menunjuk pada elemen pada array deretBilangan yang berindeks 0

Inisialisasi elemen satu persatu:

deretBilangan[0] = 1;

deretBilangan[1] = 2;

deretBilangan[9] = 10;

Ketiga, dengan bentuk perulangan agar lebih praktis

for(i = 0; i <>

{

deretBilangan[i] = i + 1;

}

§ Untuk dapat mengambil panjang array / jumlah elemen array yaitu dengan menggunakan properti length.

PanjangArray.java

Catatan : setiap array akan selalu dimulai dari indeks ke 0 sampai indeks ke n1, dimana n merupakan jumlah elemen array.

· Mendefinisikan Array

Setelah mendeklarasikan array, kita perlu mendefinisikan array, dalam arti menentukan besar array yang diinginkan. Misalnya dengan cara :

Bilangan = new int[5];

Array memiliki ukuran yang tetap dalam arti tidak dapat membesar atau mengecil ukurannya setelah didefinisikan. Setelah didefinisikan, maka variabel dengan nama bilangan dapat menyimpan 5 nilai integer yang dapat diakses melalui indeks 0 sampai indeks 4. Setelah pendefinisian array, maka memori akan dialokasikan untuk menyimpan data dari array. Besar memori yang dialokasikan tergantung dari tipe data variabel array dan jumlah elemen array yang didefinisikan.

· Pengaksesan sebuah elemen array

Untuk mengakses sebuah elemen dalam array, atau mengakses sebagian dari array, Anda harus menggunakan sebuah angka atau yang disebut sebagai indeks atau subscript. Pada saat memasukkan nilai ke dalam array, sebuah nomor indeks atau subscript telah diberikan kepada tiap anggota array, sehingga program dan programmer dapat mengakses setiap nilai pada array apabila dibutuhkan.

Nilai indeks selalu dalam tipe integer, dimulai dari angka nol dan dilanjutkan ke angka berikutnya sampai akhir array. Sebagai catatan bahwa indeks didalam array dimulai dari 0 sampai dengan (ukuranArray-1). Sebagai contoh, pada array yang kita deklarasikan tadi, kita mempunyai,

//memberikan nilai 10 kepada elemen pertama array

ages[0] = 10;

//mencetak elemen array yang terakhir

System.out.print(ages[99]);

Perlu diperhatikan bahwa sekali array dideklarasikan dan dikonstruksi, nilai yang disimpan dalam setiap anggota array akan diinisialisasi sebagai nol. Oleh karena itu, apabila Anda menggunakan tipe data seperti String, array tidak akan diinisalisasi menjadi string kosong “”. Untuk itu Anda tetap harus membuat String array secara eksplisit. Berikut ini adalah contoh kode untuk mencetak seluruh elemen didalam array. Dalam contoh ini digunakanlah pernyataan for loop, sehingga kode kita menjadi lebih pendek.

public class ArraySample{

public static void main( String[] args ){

int[] ages = new int[100];

for( int i=0; i<100;>

System.out.print( ages[i] );

}

}

· Inisialisasi Variabel Array

Sintaks:

[] ;

Contoh:

int[] x;

int[] x = new int[10];

int[] x = new int[3];

x[0] = 1; [ ]

x[1] = 2;

x[2] = 3;

int[] x = {1, 2, 3};

Contoh Program :

import java.util.Arrays;

public class ContohArray

{

public static void main(String[] args)

{

int[] w = new int[10];

Arrays.fill(w, 1);

System.out.println("Banyak Elemen dalam Array w : "

+ w.length + " buah");

System.out.println("Elemen : ");

for(int i = 0; i <>

System.out.printf("%5d", w[i]);

System.out.println();

System.out.println();

int[] x = new int[3];

[0] 2 x[= 2;

x[1] = 3;

x[2] = 1;

System.out.println("Banyak Elemen dalam Array x : + x.length + " buah");

System.out.println("Elemen : ");

for(int 0; x length; i = i <>

System.out.printf("%5d", x[i]);

System.out.println();

System out println();

System.out.Arrays.sort(x);

System.out.println("Elemen setelah terurut : ");

for(int 0; x length; i = i <>

System.out.printf("%5d", x[i]);

System.out.println();

System out println();

System.out.

int[] y = new int[] {1, 2, 3, 4, 5};

System.out.println("Banyak Elemen dalam Array y : "

+ y.length + " buah");

System.out.println("Elemen : ");

for(int i : y)

System.out.printf("%5d", i);

System.out.println();

System.out.println(); y p ();

int[] z = {1, 2, 3, 4, 5, 6, 7};

System.out.println("Banyak Elemen dalam Array z : "

+ z.length + " buah");

System.out.println("Elemen : ");

for(int i : z)

System.out.printf("%5d", i);

System out println();

System.out.System.out.println();

}

}

· Array dan string ke Array String

Untuk melakukan konversi string ke array karakter, dapat menggunakan method to Char Array yang didefinisikan di kelas String String.

Sintaks: h[]Kstit ChA()char[] varKar = varString.toCharArray();

Untuk melakukan konversi string ke array string, dapat menggunakan method split.

sintaks: String[] varString = varString.split();

Contoh Program :

public class ContohKonversiString

{

public static void main(String[] args)

{

String teks = new String("Saya Sedang Belajar Bahasa

Pemrograman Java "); Java. );

char[] kar = teks.toCharArray();

for(char c : kar) System.out.printf("%2c", c);

System.out.println();

System.out.println();

String[] str = teks.split("[ .]");

for(String s : str) System.out.printf("%2s\n", s);

System.out.println();

System.out.println();

}

}

A. Array Satu Dimensi

Merupakan sebuah variabel yang menyimpan sekumpulan data yang memiliki tipe sama dan elemen yang akan diakses hanya melalui 1 indeks atau subskrip.
Bentuk umum pendeklarasian:

nama_array[jumlah_eleman];

Contoh Program ArrSatu.java

class SingleArray

{

public static void main(String[] args)

{

int [] x; // Cara 1

x = new int[3];

x[0] = 20 ;

x[1] = 10 ;

x[2] = 30;

System.out.println("Nilai x[0] : " + x[0]);

System.out.println("Nilai x[1] : " + x[1]);

System.out.println("Nilai x[2] : " + x[2]);

int [] y = new int[3];

y[0] = 20 ;

y[1] = 10 ;

y[2] = 30;

System.out.println("Nilai y[0] : " + y[0]);

System.out.println("Nilai y[1] : " + y[1]);

System.out.println("Nilai y[2] : " + y[2]);

int[] z = {20,10,30};

System.out.println("Nilai z[0] : " + z[0]);

System.out.println("Nilai z[1] : " + z[1]);

System.out.println("Nilai z[2] : " + z[2]);

}

}

B. Array Dua Dimensi

Pada Java juga menyediakan fasilitas untuk membuat array dua dimensi yang dapat membantu dalam pemrograman apabila arrray satu dimensi tidak mencukupi dalam menghasilkan suatu solusi. Array dua dimensi sebenarnya adalah array yang berisi array.

Contoh Program Arr2D.java

public class Array2D

{

public static void main(String[] args)

{

int[][] arrx; // Cara 1 Array 2 Dimensi

arrx = new int[3][3];

arrx[0][0] = 1;

arrx[0][1] = 2;

arrx[0][2] = 3;

arrx[1][0] = 4;

arrx[1][1] = 5;

arrx[1][2] = 6;

arrx[2][0] = 7;

arrx[2][1] = 8;

arrx[2][2] = 9;

System.out.println("Nilai arrx[0] : " + arrx[0][0]);

System.out.println("Nilai arrx[0] : " + arrx[0][1]);

System.out.println("Nilai arrx[0] : " + arrx[0][2]);

System.out.println("Nilai arrx[1] : " + arrx[1][0]);

System.out.println("Nilai arrx[1] : " + arrx[1][1]);

System.out.println("Nilai arrx[1] : " + arrx[1][2]);

System.out.println("Nilai arrx[2] : " + arrx[2][0]);

System.out.println("Nilai arrx[2] : " + arrx[2][1]);

System.out.println("Nilai arrx[2] : " + arrx[2][2]);

int[][] arry = {{10,20,30},{40,50,60},{70,80,90}} ;

Dimensi dgn ukuran 3 * 3 = 9

System.out.println("Nilai arry[0] : " + arry[0][0]);

System.out.println("Nilai arry[0] : " + arry[0][1]);

System.out.println("Nilai arry[0] : " + arry[0][2]);

System.out.println("Nilai arry[1] : " + arry[1][0]);

System.out.println("Nilai arry[1] : " + arry[1][1]);

System.out.println("Nilai arry[1] : " + arry[1][2]);

System.out.println("Nilai arry[2] : " + arry[2][0]);

System.out.println("Nilai arry[2] : " + arry[2][1]);

System.out.println("Nilai arry[2] : " + arry[2][2]);

}

}

C. Array Multidimensi

Selain array satu dimensi dan array dua dimensi, dapat juga membuat array multidimensi pada Java. Array multidimensi merupakan array yang terdiri dari array yang tidak terbatas hanya dua dimensi saja. Kita dapat menggunakan kode berikut untuk mendapatkan array tiga dimensi :

int[][][]array dimensi = new int[5][10][5];

Dan pada array multidimensi, kita dapat menentukan ukuran array yang berbeda pada tiap array. Misalnya :

int[][][] mdimensi = new int[5][][];

Dari kode diatas, kita mendapatkan array pertama dengan 5 elemen, tetapi kita belum mendefinisikan ukuran array dimensi kedua dan ketiga.

Cara mendeklarasikannya(beserta instansiasi) :

Contoh :

int [ ] [ ] duaD = new int [2] [2];

String [ ] [ ] duaD = {{“00”,”01”},{“10”,”11”}};

[ ] [ ] = new [][];

· Elemen suatu array dapat berupa array juga.

Sintaks:

[][] ;

Contoh:

int[][] x = new[3][3];

int[][] x = {{1, 2}, {2, 3}};

Contoh Program

import java.util.Random;

public class ContohArrayMultiDimensi

{

public static void main(String[] args)

{

Random rand = new Random();

int[][] matA = new int[3][3];

int[][] matB = new int[][] {{1, 2, 3},

{2, 3, 4},

{3, 4, 5}};

int[][] matC = new int[3][3];

for(int i = 0; i <>

for(int j = 0; j <>

matA[i][j] = rand.nextInt(10);

for(int i = 0; i <>

{

f (i t 0 tA[i] l th for(int j = 0; j <>

matC[i][j] = matA[i][j] + matB[i][j];

}

System out println("Matriks A : "); System.out.println( );

for(int i = 0; i <>

{

for(int j = 0; j <>

System.out.printf("%5d", matA[i][j]); y p ( , [][j])

System.out.println();

}

System.out.println();

System.out.println();

System.out.println("Matriks B : ");

for(int i = 0; i <>

{

f (i t 0 tB[i] l th j ) for(int j = 0; j <>

System.out.printf("%5d", matB[i][j]);

System.out.println();

}

System.out.println();

System.out.println();

System.out.println("Matriks C : ");

for(int i = 0; i <>

{

for(int j = 0; j <>

System.out.printf("%5d", matC[i][j]);

System.out.println();

}

System.out.println();

System.out.println();

}

}

Contoh Program ArrMultiD.java

public class ArrayMultiD

{

public static void main(String[] args)

{

int[][][] arr3 = {{{10,20,30},{40,50,60}},

{{11,21,31},{41,51,61}},

{{12,22,32},{42,52,62}}}; // ukuran 3 * 6 = 18

System.out.println("Nilai arr3[0] : " + arr3[0][0][0]);

System.out.println("Nilai arr3[0] : " + arr3[0][0][1]);

System.out.println("Nilai arr3[0] : " + arr3[0][0][2]);

System.out.println("Nilai arr3[0] : " + arr3[0][1][0]);

System.out.println("Nilai arr3[0] : " + arr3[0][1][1]);

System.out.println("Nilai arr3[0] : " + arr3[0][1][2]);

System.out.println("Nilai arr3[1] : " + arr3[1][0][0]);

System.out.println("Nilai arr3[1] : " + arr3[1][0][1]);

System.out.println("Nilai arr3[1] : " + arr3[1][0][2]);

System.out.println("Nilai arr3[1] : " + arr3[1][1][0]);

System.out.println("Nilai arr3[1] : " + arr3[1][1][1]);

System.out.println("Nilai arr3[1] : " + arr3[1][1][2]);

System.out.println("Nilai arr3[2] : " + arr3[2][0][0]);

System.out.println("Nilai arr3[2] : " + arr3[2][0][1]);

System.out.println("Nilai arr3[2] : " + arr3[2][0][2]);

System.out.println("Nilai arr3[2] : " + arr3[2][1][0]);

System.out.println("Nilai arr3[2] : " + arr3[2][1][1]);

System.out.println("Nilai arr3[2] : " + arr3[2][1][2]);

}

}








5 comments:

Iklan

rss


Translate

Chat

Komentar Blog

Iklan