ARRAY/LARIK
Program Studi Teknik Informatika UPY
Standar Kompetensi
Mahasiswa memahami konsep Array satu dimensi dan Array
dua dimensi/ multi dimensi
Mahasiswa mampu membuat dan menggunakan Array baik
satu dimensi maupun muti dimensi pada suatu kasus
menggunakan bahasa pemrograman Java
Definisi Array
Array dikenal dengan Larik
Array adalah sebuah variabel yang bisa menyimpan beberapa item
dengan tipe data yang sama.
Array digunakan karena penggunaan variabel biasa dinilai kurang
efisien.
Dalam java, array akan diberikan perlakuan yang sama seperti
sebuah objek hasil bentukan dari class, sehingga cara
menginisialisasikannya mirip dengan cara menginisialisasikan
objek.
Contohnya jika kita memiliki 3 variabel yang menyimpan tipe data
integer seperti berikut:
int Angka_1;
int Angka_2;
int Angka_3;
Akan lebih efektif jika semua variabel itu disatukan.
Menggunakan Array :
int kumpulanAngka [];
kumpulanAngka= new int [20];
atau
int kumpulanAngka [] = new int [20];
Keterangan :
Pada contoh diatas, variabel kumpulan Angka akan menampung
20 buah nilai integer.
Selain mendeklarasikan array kosong, pendeklarasian array juga
bisa langsung memberikan nilai.
Berikut adalah cara untuk membuat array yang tidak kosong.
int kumpulanAngka[] ={1,2,3,4};
Atau
int kumpulanAngka [];
int kumpulanAngka = new int [] {1,2,3,4};
Penomoran Array
Array sering memiliki banyak elemen, oleh karena itu untuk memudahkan dalam
mengakses setiap elemen dalam array tersebut menggunakan index (nomor urut
dari setiap elemen array).
Index pada array dimulai dari 0 hingga panjang array dikurangi 1.
Berikut adalah contoh cara pengaksesan array pada suatu elemen tertentu:
kumpulanAngka [0] =10;
kumpulanAngka [1] = 9;
kumpulanAngka [2] = 8;
Nama
Isi Larik B[0] B[1] B[2] B[3] B[4] B[5] B[6] B[7]
23 12 34 36 45 32 23 17
Bentuk array :
int B[] = new int[8];
larik dideklarasikan dan langsung diciptakan . Atau
int B[];
B = new int[8];
Contoh Array Kuadrat
public class Larik2
{
public static void main(String args[])
{
int kuadrat[];
kuadrat = new int[10];
for (int i=0;i<10;i++)
{
kuadrat[i]=(i+1)*(i+1);
[Link]("Kuadrat "+(i+1)+" =
"+kuadrat[i]);
} } }
Contoh Array Jumlah hari dalam Bulan
public class Larik3
{
public static void main(String args[])
{
int hari []= {31, 28, 31, 30, 31, 30, 30, 31,
30, 31, 30, 31};
for(int i = 0; i < 12; i++)
[Link]("Bulan " + (i+1) + " =
"+hari[i]);
}
}
Contoh Array memasukkan data
import [Link];
public class Larik1{
public static void main (String args[]){
Scanner masuk=new Scanner([Link]);
float nilai[]=new float[5];
[Link]("masukkan 5 buah data nilai");
for(int i=0;i<5;i++){
[Link]("Data ke"+(i+1)+": ");
nilai[i]=[Link]();}
[Link]("data nilai yang dimasukkan");
for(int i=0;i<5;i++)
[Link](nilai[i]); }}
Tugas
1. Modifikasi program pada praktik
Larik1 diatas untuk menghitung
jumlah, rata-rata, serta nilai
terbesar dan terkecilnya!
Array dua dimensi/ multidimensi
Cara mendeklarasikan array multi dimensi tidak jauh
berbeda dengan cara mendeklarasikan array
berdimensi tunggal
Cukup dengan menambahkan tanda [ ].
Contoh:
int nilai[ ]; berdimensi 1
char huruf[ ][ ]; berdimensi 2
double total[ ][ ][ ]; berdimensi 3
String[ ][ ] nama; berdimensi 2
float[ ] panjang[ ]; berdimensi 2
short[ ][ ] tinggi[ ]; berdimensi 3
Higher-
Dimensional
Arrays
An array can be declared with multiple dimensions.
2 Dimensional 3 Dimensional
Multiple dimensions get difficult to visualize graphically.
•
Membuat Array Multidimensi
Pembuatan array multi dimensi identik dengan
pembuatan array dimensi tunggal, yaitu dengan
menambahkan tanda[].
Contoh:
int x[ ][ ] = new int[3][4];
berdimensi 2, dengan 3 elemen di dimensi ke-1 dan 4
elemen di dimensi ke-2
double[ ][ ][ ] balok = new double[3][4][2];
berdimensi 3, dengan 3 elemen di dimensi ke-1, 4
elemen di dimensi ke-2 dan 2 elemen di dimensi ke-3
Mengubah Total Elemen Array
Diperkenankan merubah total elemen array.
Tetapi total elemen array yang sebelumnya akan tergantikan
dengan yang baru.
Contoh, membuat sebuah array dengan total elemen 2 dan
kemudian mengisinya dengan suatu nilai.
byte posisi[] = new byte[2];
posisi[0] = 55;
posisi[1] = 68;
byte posisi[] = new byte[5];
Yang terjadi : total elemen array yang sebelumnya dan juga
nilai dari setiap elemennya akan hilang dan tergantikan dengan
array yang baru.
Copy elemen array
Isi dari suatu array dapat di kopi pada array yang lain
dengan memanfaatkan method arraycopy() pada class
System.
Format :
[Link](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
Contoh :
int lama[ ] = {1, 2, 3, 4, 5, 6};
int baru[ ] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
[Link](lama, 2, baru, 5, 3);
Elemen-elemen array baru akan bernilai masing 10,
9, 8, 7, 6, 3, 4, 5, 2, 1
public class CopyArray {
public static void main(String args[]) {
int lama[] = {1, 2, 3, 4, 5, 6};
int baru[] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
[Link](lama, 2, baru, 5, 3);
[Link]("Isi array baru :");
for(int i=0; i<[Link]; i++) {
[Link](baru[i] + " ");
}
}
}
Referensi Array
Suatu array juga dapat me-refer (merujuk) ke array yang lain,
dengan kata lain merujuk pada alamat memori yang sama.
Contoh :
int nilai[] = {10, 20, 30};
int result[];
result = nilai;
Di baris ketiga, assign array nilai ke array result.
Akibatnya, array result akan me-refer (merujuk) pada array nilai,
sehingga kedua array tersebut merujuk alamat memori yang sama.
Pada saat nilai elemen pada array result diubah, misalnya dengan :
result[1] = 50;
maka nilai dari indeks ke-1 pada array nilai (nilai[1]) juga ikut
berubah menjadi 50.
Array dua dimensi/ multidimensi
Array dua dimensi sering digambarkan sebagai sebuah matriks,
merupakan perluasan dari array satu dimensi.
Jika array satu dimensi hanya terdiri dari sebuah baris dan beberapa
kolom elemen, maka array dua dimensi terdiri dari beberapa baris dan
beberapa kolom elemen yang bertipe sama.
Bentuk Umum :
variabelArray [index1][index2] = [nilai];
kumpulanAngka[1][2]= 4;
0 1 2 3
23 1 34 32
2 34 43 21
6 4 67 32
Atau dapat dilihat pada konsep berikut
Jurusan 2013 2014 2015
Teknik 100 120 123
Informatika
Teknik Industri 60 70 80
Penomoran index
[0][0] [0][1] [0][2]
[1][1] [1][1] [1][2]
contoh
public class ArrayDimensiDua
{ public static void main(String [] args)
{
int [][] piksel = new int[2][3];// mengisi elemen tertentu
piksel[0][0] = 70;
piksel[0][1] = 18; Hasil Output :
piksel[0][2] = 45;
piksel[1][0] = 75; 70 18 45
piksel[1][1] = 66; 75 66 89
piksel[1][2] = 89; //menampilkan elemen array
int i,j;
for(i=0;i<2;i++){
for (j=0; j<3;j++)
[Link](piksel[i][j] +" ");
[Link]("");
} } }