Array pada Java

Halo semuanya! Selamat datang di blog saya.

Pada post kali ini, saya akan berbagi pemahaman tentang sebuah struktur data bernama array pada pemrograman Java.

Secara umum, struktur data adalah cara untuk menyimpan dan mengatur data dalam sebuah sistem agar lebih mudah dikelola dan diakses.

Ada banyak jenis struktur data seperti LinkedList, Stack, Queue dan lainnya, namun pada kesempatan kali ini saya akan membahas seputar Array saja.

Apa itu array?

Array adalah sebuah struktur data yang digunakan untuk menyimpan kumpulan data atau nilai dalam satu variabel. Jadi kita dapat menggunakan array untuk menyimpan banyak data dalam satu variabel.

Berikut ini merupakan syntax untuk membuat sebuah array pada Java.

tipeData[] namaArray = {nilai1, nilai2, nilai3 ...};

Dalam Java, kita hanya dapat membuat array untuk kumpulan nilai yang memiliki tipe data yang sama. Jadi misalkan kita membuat sebuah array dengan tipe data String, maka nilai-nilai yang dapat ditampung oleh array tersebut hanyalah nilai yang bertipe String.

Membaca dan mengubah data dalam array

Setiap nilai atau elemen dari array, memiliki indeks-nya masing-masing. Indeks ini merupakan nomor urut dari elemen dalam array.

Indeks dalam array dimulai dari 0. Jadi elemen pertama dalam array itu memiliki indeks 0.

Perhatikan pada contoh array sederhana berikut ini.

String[] daftarBuah = {"Jeruk", "Mangga", "Apel", "Pisang", "Semangka"};

Jadi dalam array diatas, elemen di indeks ke-0 adalah "Jeruk", elemen di indeks ke-1 adalah "Mangga" dst.

Nah, indeks ini dapat kita gunakan untuk mengambil elemen dalam array, contohnya seperti berikut.

daftarBuah[3]; // Pisang

Dalam potongan kode diatas, kita mengambil atau membaca elemen di indeks ke-3 (elemen ke-4) dalam data array.

Elemen-elemen dalam array juga dapat diubah seperti halnya variabel pada umumnya.

daftarBuah[1] = "Nanas";

Kode diatas akan mengubah elemen ke-2 (indeks ke-1) yaitu "Mangga" menjadi "Nanas".

Kemudian, untuk menampilkan seluruh data dalam array,  kita dapat menggunakan loop seperti for-loop.

String[] daftarBuah = {"Jeruk", "Mangga", "Apel", "Pisang", "Semangka"};

for (int i = 0; i < daftarBuah.length; i++) {
    System.out.println("Buah di indeks ke " + i + ": " + daftarBuah[i]);
}

Loop ini akan berjalan hingga mencapai indeks akhir dari array buah (i < daftarBuah.length). Kemudian variabel i akan digunakan sebagai index untuk mengakses setiap elemen dalam array.

Output yang dihasilkan dari loop di atas kurang lebih seperti berikut.

Buah di indeks ke 0: Jeruk
Buah di indeks ke 1: Mangga
Buah di indeks ke 2: Apel
Buah di indeks ke 3: Pisang
Buah di indeks ke 4: Semangka

For-each Loop

Selain menggunakan for loop biasa untuk menampilkan semua elemen array, kita juga dapat menggunakan for-each loop yang memang dikhususkan untuk mengakses elemen-elemen array.

Info: for-each secara harfiah berarti "untuk setiap" dan memang for-each ini adalah sebuah loop yang digunakan untuk menjalankan kode untuk setiap elemen dalam array.

Berikut ini merupakan syntax dari for-each loop

for (tipeData elemen : array) {
    // Lakukan sesuatu di sini...
}

Dan jika kita 'terjemahkan' kedalam bahasa manusia akan menjadi seperti berikut,

Lakukan hal berikut untuk setiap elemen dalam array.

Berikut ini merupakan contoh penggunaan for-each loop untuk mengakses data dalam array

String[] daftarBuah = {"Jeruk", "Mangga", "Apel", "Pisang", "Semangka"};

for (String buah : daftarBuah) {
    System.out.println(buah);
}

Dan outputnya,

Jeruk
Mangga
Apel
Pisang
Semangka

Perbedaan antara penggunaan for loop dan for-each loop untuk mengakses elemen dalam array yaitu,

  1. Penulisan syntax. Penulisan syntax atau pernyataan for loop dan for-each loop tentu saja berbeda.
  2. Akses ke elemen array. Dalam penggunaan for loop, kita mengakses elemen array menggunakan indeks yang berupa variabel i dalam for loop. Sedangkan dalam for-each loop kita langsung mendapatkan nilai dari elemennya.

Masalah loop mana yang digunakan untuk mengakses elemen array ini bisa disesuaikan dengan kebutuhan, misal jika kita hanya ingin mengakses nilainya saja maka dapat menggunakan for-each loop, tapi jika kita ingin memodifikasi setiap elemen array-nya, maka dapat menggunakan for loop.

Dan sebenarnya aturan tadi bukan aturan baku sama sekali, itu benar-benar murni pendapat saya sendiri, jadi semua terserah teman-teman untuk menggunakan loop yang mana.

Array multi-dimensional.

Sebuah array dapat berisi array lagi sebagai elemennya, array ini disebut sebagai array multi-dimensional.

Pada dasarnya array multi-dimensional adalah sebuah array yang di dalamnya terdapat array lagi dan di dalamnya terdapat array lagi dan di dalamnya terdapat array lagi dan seterusnya. Tapi pada umumnya kita hanya menggunakan 2 tingkatan atau 2 lapis array-dalam-array yang umumnya disebut dengan array 2 dimensi.

Sekarang perhatikan contoh array berikut ini.

int[][] array2d = {{13, 32, 34}, {23, 45, 20}, {43, 30, 51}};

Atau agar lebih mudah dibaca, array tersebut dapat kita tulis seperti berikut ini,

int[][] array2d = {
    {13, 32, 34},
    {23, 45, 20},
    {43, 30, 51}
};

Array tersebut merupakan contoh array 2 dimensi. Yaitu sebuah array yang di dalamnya terdapat array lagi, dan untuk membuatnya tidak dengan satu [] tapi dengan [][] (karena dia 2 dimensi).

Di dalam array tersebut terdapat 3 array lagi yaitu {13, 32, 34} sebagai elemen pertama, kemudian {23, 45, 20} sebagai elemen kedua, dan {43, 30, 51} sebagai elemen terakhir.

Kemudian kita bisa coba mengakses dan mencetak salah satu elemen dari array tersebut.

System.out.println(array2d[1][2]);

Pada bagian ini

array2d[1][2];

Kita mencoba untuk mengakses elemen kedua (index ke 1) dari array2d yang berupa array {23, 45, 20}, kemudian kita mengakses elemen ketiga (index ke 2)  dari array tersebut yaitu 20.

Mengakses elemen array 2 dimensi

Atau dengan kata lain, jika kita anggap array2d itu sebagai sebuah tabel, maka kita berusaha mengakses elemen di baris ke 2 dan kolom ketiga.

13, 32, 34
23, 45, 20
43, 30, 51

Dan untuk mencetak semua elemen dalam array 2 dimensi ini, dapat menggunakan for loop bersarang (for loop dalam for loop). For loop pertama adalah untuk looping perbaris, dan loop kedua adalah untuk looping perkolom dalam satu baris.

for (int baris = 0; baris < 3; baris++) {
    for (int kolom = 0; kolom < 3; kolom++) {
        System.out.println(array2d[baris][kolom]);
    }
}

Outputnya,

13
32
34
23
45
20
43
30
51

Sekian saja untuk post kali ini, semoga bermanfaat bagi teman-teman semua. Terima Kasih sudah membaca sampai akhir dan sampai bertemu lagi.


Referensi:

Komentar

Postingan populer dari blog ini

Setup Apache2 Server dan PHP 8 di Android menggunakan Termux

Memasang dan menjalankan PHPMyAdmin pada Android