📊 Array di Java

💡Apa itu Array 1 Dimensi?

Array 1 dimensi adalah struktur data yang dapat menyimpan banyak nilai dengan tipe data yang sama dalam satu variabel. Bayangkan array seperti baskom berisi jeruk 🍊 - setiap jeruk punya posisi (indeks) yang dimulai dari 0!

Kegunaan: Array sangat berguna untuk menyimpan koleksi data seperti daftar nilai siswa, data penjualan, daftar produk, dll.

🎮

🍊 Visualisasi Array: Baskom Jeruk

Coba tambah dan ambil jeruk dari baskom! Setiap jeruk punya posisi (index) dimulai dari 0.

Array Length: 3 |Indexes: 0 sampai 2

🍊
Index: [0]
🍊
Index: [1]
🍊
Index: [2]

Representasi Array:

String[] jeruk = {"🍊", "🍊", "🍊"};

Length: 3

💡 Konsep: Seperti baskom jeruk, array menyimpan banyak item. Setiap jeruk punya posisi (index) dimulai dari 0!

🎯1. Membuat Array 1D di Java

Di Java, array harus punya ukuran tetap dan tipe data sama.

java
// Cara 1: Deklarasi dengan ukuran
int[] angka = new int[5];  // Array 5 integer, semua 0
String[] buah = new String[3];  // Array 3 String, semua null

// Cara 2: Deklarasi dengan nilai langsung
int[] nilai = {85, 90, 78, 92, 88};
String[] warna = {"Merah", "Hijau", "Biru"};

// Tipe array lain
double[] harga = {15000.5, 25000.0, 35000.75};
boolean[] status = {true, false, true, true};
char[] huruf = {'J', 'A', 'V', 'A'};

// Ukuran array tetap!
System.out.println("Panjang array: " + nilai.length);  // 5

🔍2. Mengakses Elemen Array

Index array di Java dimulai dari 0 sampai length - 1.

java
String[] buah = {"Apel", "Jeruk", "Mangga", "Pisang"};

// Mengakses dengan index
System.out.println(buah[0]);  // "Apel" (pertama)
System.out.println(buah[1]);  // "Jeruk"
System.out.println(buah[3]);  // "Pisang" (terakhir)

// Mengakses elemen terakhir
String terakhir = buah[buah.length - 1];
System.out.println(terakhir);  // "Pisang"

// Mengubah nilai elemen
buah[1] = "Anggur";
System.out.println(buah[1]);  // "Anggur"

// Panjang array
System.out.println("Jumlah: " + buah.length);  // 4
🎮

📊 Visualisasi Index Array

Hover jeruk untuk lihat index-nya!

String[] buah

Apel
[0]
Jeruk
[1]
Mangga
[2]
Pisang
[3]
Anggur
[4]
[ Apel, Jeruk, Mangga, Pisang, Anggur ]

💡 Penting!

  • • Index pertama = 0
  • • Index terakhir = length - 1
  • • Hover jeruk untuk lihat index!

🔄3. Loop Array

java
int[] nilai = {85, 90, 78, 92, 88};

// 1. For loop klasik
for (int i = 0; i < nilai.length; i++) {
    System.out.println("Nilai[" + i + "] = " + nilai[i]);
}

// 2. For-each loop
for (int n : nilai) {
    System.out.println("Nilai: " + n);
}

// Hitung total dan rata-rata
int total = 0;
for (int n : nilai) {
    total += n;
}
double rata = (double) total / nilai.length;
System.out.println("Total: " + total);        // 433
System.out.println("Rata-rata: " + rata);     // 86.6

↕️4. Sorting & Manipulasi

java
import java.util.Arrays;

// Sorting
int[] angka = {45, 12, 85, 32, 67};
Arrays.sort(angka);  // Ascending
System.out.println(Arrays.toString(angka));
// Output: [12, 32, 45, 67, 85]

// Copy array
int[] salinan = Arrays.copyOf(angka, angka.length);

// Mencari elemen
int index = Arrays.binarySearch(angka, 45);
System.out.println("Index 45: " + index);  // 2

// Fill array
int[] nol = new int[5];
Arrays.fill(nol, 10);  // [10, 10, 10, 10, 10]

🌟5. ArrayList - Array Dinamis

Gunakan ArrayList jika ukuran array perlu berubah-ubah.

java
import java.util.ArrayList;

ArrayList<String> buah = new ArrayList<>();

// Tambah elemen
buah.add("Apel");
buah.add("Jeruk");
buah.add("Mangga");

// Akses elemen
String pertama = buah.get(0);  // "Apel"

// Ubah elemen
buah.set(1, "Anggur");

// Hapus elemen
buah.remove(2);        // Hapus index 2
buah.remove("Anggur"); // Hapus by value

// Ukuran
int ukuran = buah.size();

// Loop
for (String b : buah) {
    System.out.println(b);
}

📝 Ringkasan Array 1D

  • ✅ Array = list dengan tipe data sama
  • ✅ Index mulai dari 0
  • ✅ Ukuran tetap di Java
  • Arrays.sort() untuk sorting
  • Arrays.copyOf() untuk copy
  • ✅ ArrayList untuk ukuran dinamis