Array & String

Array satu dan dua dimensi, utilitas Arrays, method penting String, perbandingan String, dan StringBuilder.

Part 6 dari 17 ± 55 menit Gratis

Array

Array menyimpan sejumlah nilai bertipe sama dengan ukuran tetap. Elemennya diakses lewat indeks yang dimulai dari 0.

int[] nilai = {80, 90, 70};          // langsung diisi
int[] kosong = new int[5];           // 5 elemen, semua 0
String[] nama = new String[3];       // semua null

System.out.println(nilai[0]);        // 80
nilai[2] = 75;                       // ubah elemen
System.out.println(nilai.length);    // 3  (tanpa tanda kurung!)

Mengakses indeks di luar batas (nilai[3]) melempar ArrayIndexOutOfBoundsException. Nilai awal otomatis: 0 untuk angka, false untuk boolean, null untuk objek.

Menelusuri array

int total = 0;
int tertinggi = nilai[0];
for (int i = 0; i < nilai.length; i++) {
    total += nilai[i];
    if (nilai[i] > tertinggi) tertinggi = nilai[i];
}
double rataRata = (double) total / nilai.length;

Perhatikan cast (double) agar pembagian tidak dibulatkan ke bawah.

Array 2 dimensi

int[][] matriks = {
    {1, 2, 3},
    {4, 5, 6}
};
System.out.println(matriks[1][2]);   // 6
for (int[] baris : matriks) {
    for (int sel : baris) System.out.print(sel + " ");
    System.out.println();
}

Utilitas java.util.Arrays

import java.util.Arrays;

int[] a = {5, 2, 9, 1};
Arrays.sort(a);                          // [1, 2, 5, 9]
System.out.println(Arrays.toString(a));  // cetak isi array dengan rapi
int[] salin = Arrays.copyOf(a, 6);       // salin dengan ukuran baru
boolean sama = Arrays.equals(a, salin);
Arrays.fill(salin, 0);                   // isi semua elemen

Mencetak array langsung dengan println(a) hanya menampilkan alamat seperti [I@1b2c; selalu pakai Arrays.toString.

Method penting String

MethodFungsiContoh
length()jumlah karakter"java".length() → 4
charAt(i)karakter di indeks i"java".charAt(0) → 'j'
substring(a, b)potongan dari a hingga sebelum b"belajar".substring(0, 3) → "bel"
indexOf(x)posisi pertama, -1 jika tidak ada"halo".indexOf("l") → 2
contains(x)apakah mengandung"java".contains("av") → true
replace(a, b)ganti teks"a-b".replace("-", "+")
trim() / strip()buang spasi tepi" hi ".trim() → "hi"
split(x)pecah jadi array"a,b,c".split(",")
toUpperCase() / toLowerCase()ubah huruf
isEmpty() / isBlank()kosong / hanya spasi
String.join(",", ...)gabung dengan pemisah

Membandingkan String

String a = "java";
a.equals("java");            // true  (peka huruf besar/kecil)
a.equalsIgnoreCase("JAVA");  // true
a.compareTo("kotlin");       // negatif: a lebih dulu secara abjad

Ingat: gunakan equals, bukan ==.

Mengapa StringBuilder?

Karena String immutable, menyambung di dalam loop membuat banyak objek sementara dan lambat. StringBuilder bisa diubah di tempat:

StringBuilder sb = new StringBuilder();
for (int i = 1; i <= 5; i++) {
    sb.append(i).append(", ");
}
sb.append("selesai");
System.out.println(sb.toString());     // 1, 2, 3, 4, 5, selesai
System.out.println(new StringBuilder("java").reverse());   // avaj

Method berguna: append, insert, reverse, deleteCharAt, setLength, toString.

Contoh: cek palindrom

static boolean palindrom(String s) {
    String bersih = s.toLowerCase().replace(" ", "");
    String balik = new StringBuilder(bersih).reverse().toString();
    return bersih.equals(balik);
}

Praktikkan langsung, gratis

Tulis dan jalankan kode langsung di browser, dapatkan penilaian otomatis. Daftar gratis kapan saja untuk menyimpan progres dan meraih sertifikat.

Coba latihan sekarang, tanpa daftar
Bagikan: WhatsApp Facebook LinkedIn X