Tentu, ini draf artikelnya.
Selamat datang di tutorial Java ketujuh! Sejauh ini, kita telah berfokus pada tipe data primitif seperti angka dan karakter. Sekarang, saatnya kita beralih ke salah satu tipe data yang paling kuat dan sering digunakan dalam hampir setiap program: String.
Setiap kali Anda bekerja dengan teks—baik itu nama pengguna, alamat, pesan, atau data teks lainnya—Anda akan menggunakan String. Mari kita pelajari cara membuat, memanipulasi, dan memanfaatkan String di Java. 📝
Apa Itu String?
Di Java, String bukanlah tipe data primitif seperti int atau char. Sebaliknya, String adalah sebuah objek yang merepresentasikan urutan karakter. Anggap saja char adalah satu huruf, maka String adalah sebuah kata atau kalimat yang tersusun dari huruf-huruf tersebut.
Karena String adalah objek, ia datang dengan banyak method (fungsi bawaan) yang sangat berguna untuk memanipulasi teks.
Cara Membuat String
Ada dua cara utama untuk membuat variabel String di Java:
1. Menggunakan String Literal (Cara Paling Umum)
Ini adalah cara yang paling sederhana dan paling sering digunakan. Anda cukup menempatkan teks Anda di antara tanda kutip ganda (").
// Membuat String menggunakan literal
String salam = "Halo, Dunia!";
String nama = "Budi";
Java sangat efisien dalam mengelola string literal. Jika Anda membuat beberapa variabel String dengan nilai literal yang sama, Java hanya akan menyimpan satu salinan dari teks tersebut di memori untuk menghemat ruang.
2. Menggunakan Keyword new
Anda juga dapat membuat objek String secara eksplisit menggunakan keyword new.
// Membuat String menggunakan keyword new
String kota = new String("Jakarta");
String pesan = new String("Selamat Pagi");
Meskipun cara ini valid, cara pertama (menggunakan literal) lebih disarankan kecuali Anda memiliki alasan khusus untuk membuat objek String yang benar-benar baru di memori.
Method-Method Penting pada String
Kekuatan String terletak pada kumpulan method bawaannya. Berikut adalah beberapa yang paling sering digunakan:
length() – Mendapatkan Panjang String
Mengembalikan jumlah karakter dalam String.
String teks = "Belajar Java";
int panjang = teks.length(); // panjang akan bernilai 12 (spasi dihitung)
System.out.println("Panjang teks: " + panjang);
toUpperCase() dan toLowerCase() – Mengubah Huruf
Mengubah semua karakter menjadi huruf besar atau kecil.
String namaLengkap = "Agus Setiawan";
System.out.println(namaLengkap.toUpperCase()); // Output: AGUS SETIAWAN
System.out.println(namaLengkap.toLowerCase()); // Output: agus setiawan
concat() atau Operator + – Menggabungkan String
Menggabungkan dua String atau lebih. Menggunakan operator + biasanya lebih mudah dibaca.
String kata1 = "Selamat";
String kata2 = "Pagi";
String gabungan = kata1.concat(" ").concat(kata2); // "Selamat Pagi"
String gabunganLebihMudah = kata1 + " " + kata2; // "Selamat Pagi"
System.out.println(gabunganLebihMudah);
charAt(index) – Mengambil Karakter
Mengambil karakter pada posisi (indeks) tertentu. Indeks di Java dimulai dari 0.
String bahasa = "Java";
char hurufPertama = bahasa.charAt(0); // 'J'
char hurufKetiga = bahasa.charAt(2);  // 'v'
System.out.println("Huruf pertama: " + hurufPertama);
indexOf(str) – Mencari Posisi Teks
Mencari posisi indeks pertama dari sebuah karakter atau String. Mengembalikan -1 jika tidak ditemukan.
String kalimat = "Saya sedang belajar Java di rumah";
int posisiJava = kalimat.indexOf("Java"); // posisiJava akan bernilai 20
int posisiPython = kalimat.indexOf("Python"); // posisiPython akan bernilai -1
System.out.println("Kata 'Java' ditemukan pada indeks: " + posisiJava);
equals() dan equalsIgnoreCase() – Membandingkan String
Ini adalah cara yang benar untuk membandingkan dua String.
equals(): Membandingkan berdasarkan isi dan case-sensitive (huruf besar/kecil berpengaruh).equalsIgnoreCase(): Membandingkan berdasarkan isi tanpa mempedulikan huruf besar/kecil.
Penting: Jangan gunakan operator == untuk membandingkan isi String, karena == membandingkan lokasi objek di memori, bukan isinya.
String pass1 = "Rahasia123";
String pass2 = "rahasia123";
System.out.println(pass1.equals(pass2)); // Output: false
System.out.println(pass1.equalsIgnoreCase(pass2)); // Output: true
Escape Sequence pada String
Kadang kita perlu memasukkan karakter khusus ke dalam String, seperti baris baru atau tanda kutip itu sendiri. Ini dilakukan dengan escape sequence yang diawali dengan backslash (\).
\n: Baris Baru (Newline)\t: Tab\": Tanda Kutip Ganda\\: Backslash
System.out.println("Ini baris pertama.\nIni baris kedua.");
System.out.println("Kolom 1\tKolom 2");
System.out.println("Dia berkata, \"Halo!\"");
Contoh Program Lengkap
Mari kita gabungkan beberapa konsep di atas dalam sebuah program.
public class DemoString {
    public static void main(String[] args) {
        String namaDepan = "Citra";
        String namaBelakang = " Lestari";
        // Menggabungkan string
        String namaLengkap = namaDepan.concat(namaBelakang);
        System.out.println("Nama Lengkap: " + namaLengkap);
        // Menggunakan method lain
        System.out.println("Panjang Nama: " + namaLengkap.length());
        System.out.println("Nama dalam Huruf Besar: " + namaLengkap.toUpperCase());
        // Mencari posisi
        int posisiSpasi = namaLengkap.indexOf(" ");
        System.out.println("Posisi spasi ada di indeks: " + posisiSpasi);
        // Mengambil substring (bagian dari string)
        String namaPanggilan = namaLengkap.substring(0, posisiSpasi);
        System.out.println("Nama Panggilan: " + namaPanggilan); // Output: Citra
    }
}
Apa Selanjutnya?
Anda sekarang memiliki pemahaman yang kuat tentang cara bekerja dengan teks di Java menggunakan String. Kemampuan ini sangat fundamental dan akan terus digunakan. Pada tutorial berikutnya, kita akan belajar cara menerima input dari pengguna melalui konsol, sehingga program kita bisa menjadi lebih interaktif! Tetap semangat!