Menu
CoddyTech

Perbandingan string

Termasuk bagian Dasar-Dasar dalam perjalanan Java di Coddy. Pelajaran 70 dari 73.

Di Java, membandingkan string tidak sesederhana membandingkan tipe data primitif seperti bilangan bulat atau karakter. Kamu tidak bisa menggunakan operator == untuk membandingkan kesamaan string karena string adalah object, dan == akan membandingkan alamat memorinya, bukan isinya. Sebagai gantinya, kamu perlu menggunakan method tertentu yang disediakan oleh class String untuk membandingkan karakter sebenarnya di dalam string.

Berikut adalah method utama untuk membandingkan string:

  • equals(Object other): Membandingkan string dengan object lain (biasanya string lain). Mengembalikan true jika string memiliki karakter yang sama dalam urutan yang sama, dan false jika tidak. Method ini peka terhadap huruf besar dan kecil.
  • equalsIgnoreCase(String other): Mirip dengan equals, tetapi mengabaikan perbedaan huruf besar dan kecil. Mengembalikan true jika string memiliki karakter yang sama, tanpa memedulikan perbedaan huruf besar dan kecil, dan false jika tidak.
  • compareTo(String other): Membandingkan dua string secara leksikografis (berdasarkan nilai Unicode-nya). Mengembalikan 0 jika kedua string sama, bilangan negatif jika string pertama lebih kecil daripada string kedua, dan bilangan positif jika string pertama lebih besar daripada string kedua. Method ini membedakan huruf besar dan kecil.
  • compareToIgnoreCase(String other): Mirip dengan compareTo, tetapi mengabaikan huruf besar dan kecil.

Berikut contohnya:

String str1 = "hello";
String str2 = "hello";
String str3 = "HELLO";
String str4 = "world";

boolean eq1 = str1.equals(str2); // true
boolean eq2 = str1.equals(str3); // false
boolean eq3 = str1.equalsIgnoreCase(str3); // true

int cmp1 = str1.compareTo(str2); // 0
int cmp2 = str1.compareTo(str4); // nilai negatif
int cmp3 = str4.compareTo(str1); // nilai positif
int cmp4 = str1.compareToIgnoreCase(str3); // 0
challenge icon

Tantangan

Mudah

Buat method bernama compareStrings yang menerima dua string sebagai input dan melakukan perbandingan berikut:

  1. Memeriksa apakah kedua string sama menggunakan equals dan mencetak hasilnya.
  2. Memeriksa apakah kedua string sama (tanpa membedakan huruf besar dan kecil) menggunakan equalsIgnoreCase dan mencetak hasilnya.
  3. Membandingkan kedua string menggunakan compareTo dan mencetak hasilnya.
  4. Membandingkan kedua string (tanpa membedakan huruf besar dan kecil) menggunakan compareToIgnoreCase dan mencetak hasilnya.

Contoh output untuk string input HELLO dan hello:

HELLO equals hello: false
HELLO equalsIgnoreCase hello: true
HELLO compareTo hello: -32
HELLO compareToIgnoreCase hello: 0

Coba sendiri

import java.util.Scanner;

public class Main {
    public static void compareStrings(String str1, String str2) {
        // Tulis kodemu di sini
    }

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        String str1 = scanner.nextLine();
        String str2 = scanner.nextLine();
        compareStrings(str1, str2);
    }
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Compiler Java online