Modul 5 : Array - IvanSholana/Pemrograman-Berbasis-Objek-Sistem-Informasi GitHub Wiki

Deskripsi Array

Array merupakan salah satu struktur data yang terdapat di banyak bahasa pemrograman terutama di Java Array adalah sebuah class. Penggunaan dari array sendiri sama dengan variabel yaitu menyimpan suatu data tetapi perbedaan antara array dengan variabel biasa adalah pada array mampu menyimpan sekumpulan data atau lebih dari satu data yang memiliki tipe data sejenis. Hal ini bertujuan untuk menyimpan banyak data tanpa harus mendeklarasikan banyak variabel sehingga didapatkan efesiensi kepenulisan syntax/kode programnya. Untuk lebih jelas mengenai perbedaan penggunaan array dengan tidak perhatikan kode program di bawah ini:

// TANPA MENGGUNAKAN ARRAY
   int a = 1;
   int b = 2;
   int c = 3;
   int d = 4;
   int e = 5;
        
// MENGGUNAKAN ARRAY
   int[] myArray = {1,2,3,4,5};

Pada cara pertama dapat dilihat untuk menyimpan 5 buah nilai diperlukan 5 buah variabel tetapi pada cara kedua untuk menyimpan 5 nilai hanya diperlukan 1 buah array saja. Hal ini memungkinkan karena sebenarnya ketika kita mendeklarasikan sebuah array dengan ukuran 5 akan dialokasikan 1 baris memori berisikan 5 blok memori yang saling bersebelahan. Untuk membuktikan bahwa 5 nilai tersebut tersimpan maka dapat kita tampilkan nilainya.

Terdapat banyak cara pendeklarasian array, jika cara di atas kita telah memberikan nilai pada array yang dideklarasikan secara langsung. Lalu bagaimana jika kita ingin mendeklarasikan arraynya saja terlebih dahulu tanpa melakukan pemberian nilai? untuk melakukan hal tersebut dapat dilakukan dengan mendeklarasikan array beserta panjang dari array yang kita inginkan dengan cara sebagai berikut:

int[] angka = new int[5];
angka[0] = 1;
angka[1] = 2;
angka[4] = 3;

Pada contoh di atas kita menyediakan blok memori sejumlah 5 buah kemudian melakukan pengisian terhadap indeks nomor 0, 1, dan 4.

Pengaksesan Nilai Array

Adapun untuk menampilkan nilai pada array kita perlu berkenalan dengan istilah index. Index atau indeks adalah nomer yang dimiliki oleh setiap nilai pada array dan digunakan untuk mengakses nilai yang tersimpan di dalam array tersebut. Ibaratnya indeks adalah sebuah alamat untuk setiap blok memori yang dialokasikan. Sebenarnya fungsi dari indeks bukan cuma sekedar alamat dari blok memori tetapi untuk melakukan operasi penjumlahan alamat memori sehingga sehingga memindahkan pengaksesan memori yang sedang berlangsung, hal tersebut juga yang membuat kenapa indeks dimulai dari nilai 0. Namun, kita tidak akan membahas sejauh itu.

Adapun untuk melakukan pengaksesan nilai pada array dapat dilakukan seperti kode di program di bawah ini:

int[] myArray = {1,2,3,4,5};
System.out.println(myArray[0]);
System.out.println(myArray[1]);
System.out.println(myArray[2]);
System.out.println(myArray[3]);
System.out.println(myArray[4]);

Output:

1
2
3
4
5

Dapat dilihat ketika kita menuliskan namaArray[nomor_index] dan akan tampil nilai yang tersimpan pada index tersebut dan dapat dilihat pula bahwa indeks yang dimiliki sesuai dengan urutan pendeklarasian nilai pada arraynya yaitu {1,2,3,4,5}. Adapun kita dapat menggunakan looping untuk mengoutputkan nilai dari array seperti contoh berikut:

int[] myArray = {1,2,3,4,5};
// Cara Satu
for(int a = 0; a < myArray.length; a++){
   System.out.println(myArray[a]);
}
// Cara Dua
for (int angka:myArray) {
   System.out.println(angka);
}

Array Multidimensi

Array Multidimensi adalah bentuk lanjutan dari array. Array yang sebelumnya kita buat adalah array 1 dimensi, selain itu array juga dapat didefinisikan ke dalam bentuk 1 - n dimensi. Adapun pada pertemuan ini array multidimensi yang akan dibahas hanya sebatas 2 dimensi saja. Array 2 dimensi jika divisualisasikan akan nampak seperti tabel atau matrix yaitu memiliki baris dan kolom. Berikut visualisasi dari array 2 dimensi:

Dapat dilihat pada gambar di atas adalah visualisasi dari array 2 dimensi. Adapun untuk mendeklarasikan array 2 dimensi dapat dilihat kode program berikut ini:

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

Dapat dilihat perbedaan dari jumlah [] dan pemberian nilainya. Kemudian karena pada baris dan kolom terdapat indeks maka untuk mengakses nilainya juga diperlukan nilai kedua indeks tersebut. Contoh:

int[][] myArray = { {1,2,3,4,5},
                     {6,7,8,9,10}};
System.out.println(myArray[0][1]);
System.out.println(myArray[1][0]);

Output:

2
6

Sama seperti sebelumnya, nilai dari indeks juga dimulai dari 0 untuk indeks pertama adalah indeks dari baris dan indeks kedua adalah indeks dari kolom array. Adapun biasanya pengaksesan nilai terhadap array multidimensi dilakukan dengan menggunakan looping seperti contoh di bawah ini:

int[][] myArray = {{1,2,3,4,5},
                   {6,7,8,9,10},
                   {11,12,13,14,15}};

for(int a = 0; a < 3; a++){
   for(int b = 0; b < 5; b++){
       System.out.printf("%d ",myArray[a][b]);
   }
       System.out.println();
}

Output:

1 2 3 4 5 
6 7 8 9 10 
11 12 13 14 15