Manipulasi String di Java

Manipulasi String di Java

Tutorial Information

ProgramJava
VersionJDK 6+
DifficultyPemula - Standar
Estimated Time30 Menit

String merupakan salah satu tipe data yang sangat sering digunakan dalam membuat program. Dalam Java, string direpresentasikan dalam kelas String (atau lebih tepatnya java.lang.String)….

String merupakan salah satu tipe data yang sangat sering digunakan dalam membuat program. Dalam Java, string direpresentasikan dalam kelas String (atau lebih tepatnya java.lang.String). Kelas ini memiliki banyak sekali method yang sangat berguna dalam proses manipulasi String. Di sini, akan ditunjukkan beberapa method yang lumayan penting dan cara penggunaannya.

Cara Membuat String

Pada dasarnya, string merupakan kelas. Sehingga, penggunaannya pun sama seperti kelas-kelas lainnya. Yaitu dengan cara instansiasi:

String kalimat = new String("bisa komputer - tempatnya segala tutorial komputer");

Di sini bisa kita lihat bahwa kita membuat object kalimat dengan menginstansiasi kelas String. Tapi, ada bentuk lain pada representasi string di Java. Baris berikut juga merupakan cara membuat string:

"ini adalah instance dari string"

Bingung? jangan khawatir. kalimat maupun "ini adalah instance dari string" sama-sama merupakan instance dari string. Kalau tidak percaya, coba jalankan kode berikut:

String kalimat = new String("bisa komputer - tempatnya segala tutorial komputer");
System.out.println("panjang kalimat: " + kalimat.length());
System.out.println("panjang string : " + "ini adalah instance dari string".length());

Dari sini kita bisa buat satu lagi cara meng-instantiate string:

String kalimat = "ini adalah instance dari string";

Cara Menghitung Jumlah Karakter dalam string

Untuk menghitung jumlah karakter atau juga panjang dari suatu string, kita menggunakan method length():

System.out.println("Panjang kalimat: " + kalimat.length());

Cara Memanipulasi Besar/Kecil Karakter

Untuk mengubah karakter menjadi huruf besar, kita menggunakan toUpperCase(). Begitu juga sebaliknya, untuk mengecilkan, kita pakai toLowerCase():

System.out.println("Uppercase kalimat: " + kalimat.toUpperCase());
System.out.println("Lowercase kalimat: " + kalimat.toLowerCase());

hasilnya:

Uppercase kalimat: BISA KOMPUTER - TEMPATNYA SEGALA TUTORIAL KOMPUTER
Lowercase kalimat: bisa komputer - tempatnya segala tutorial komputer

Cara Mengganti Sebagian dari Suatu string

Cara mengganti sebagian dari isi suatu string, kita memakai method replace(). Perlu dicatat di sini, bahwa replace() akan mengganti semua kata yang sama dengan penggantinya. Apabila kita hanya ingin mengganti satu saja, maka bisa menggunakan method replaceFirst():

System.out.println("Ubah 'komputer' menjadi 'xbox 360': " + kalimat.replace("komputer", "xbox 360"));
System.out.println("Ubah 'komputer' menjadi 'xbox 360': " + kalimat.replaceFirst("komputer", "xbox 360"));

menghasilkan output

Ubah 'komputer' menjadi 'xbox 360': bisa xbox 360 - tempatnya segala tutorial xbox 360
Ubah 'komputer' menjadi 'xbox 360': bisa xbox 360 - tempatnya segala tutorial komputer

Cara Membandingkan Isi dari string

Pada bahasa pemrogramman yang lain, Anda biasa melakukan pengecekan string kosong dengan menggunakan syntax seperti ini:

if(kalimat == ""){
//eksekusi kode jika benar
}

Pada java hal tersebut sangat tidak dianjurkan. Mengapa? Karena pada syntax di atas berarti kita melakukan perbandingan object, bukan isi object tersebut. Syntax yang benar dalam proses ini adalah dengan menggunakan method equals() atau bila Anda tidak ingin perilaku case-sensitive, equalsIgnoreCase().

Kalau Anda tidak percaya, Anda bisa menjalankan potongan kode berikut dan buktikan sendiri bagaimana hasilnya:

String kata1 = new String("ini kata");
String kata2 = new String("ini kata");

if(kata1 == kata2){
System.out.println("cara #1: isi kata sama");
} else {
System.out.println("cara #1: isi kata tidak sama");
}

if(kata1.equalsIgnoreCase(kata2)){
System.out.println("cara #2: isi kata sama");
} else {
System.out.println("cara #2: isi kata tidak sama");
}

Mencari Index dari Potongan Kata

Suatu saat, Anda mungkin akan butuh juga untuk mencari index dari suatu kata/karakter dalam satu kalimat. Untuk kebutuhan ini, bisa menggunakan method indexOf():

System.out.println("Posisi 'tempat' dalam kalimat: " + kalimat.indexOf("tempat"));

yang akan menghasilkan output:

Posisi 'tempat' dalam kalimat: 16

Ada catatan tambahan di sini. Kalau Anda perhatikan, hasil dari pencarian di atas adalah 16. Padahal, jika Anda menghitung manual, seharusnya hasilnya adalah 17. Karena huruf t ada di posisi 17. Mengapa bisa begini? hal ini disebabkan karena java menganut aturan zero based index. Yaitu, aturan dimana penghitungan index dimulai dari 0, bukan 1.

Mengetahui Apakah Terdapat Suatu Kata dalam Kalimat

Untuk mencari apakah di dalam suatu kalimat terdapat kata tertentu, Anda bisa menggunakan method contains():

System.out.println("Terdapat 'tempat' dalam kalimat: " + kalimat.contains("tempat"));

hasilnya:

Terdapat 'tempat' dalam kalimat: true

Cara Membangun String yang Cepat dan Hemat Memori

Kalian mungkin sudah mengetahui bagaimana cara membuat suatu kalimat panjang dari potongan-potongan string, misal:

String kalimatBaru = new String("ini");
kalimatBaru += " adalah";
kalimatBaru += " cara";
kalimatBaru += " membuat";
kalimatBaru += " kalimat";

Tidak ada yang salah dengan potongan di atas. Tapi, itu adalah cara membuat kalimat yang boros memori dan lambat. Memang benar komputer sekarang sudah sangat cepat, prosesor dan memory juga relatif murah. Tapi, cara di atas sangat tidak dianjutkan untuk digunakan di platform mobile. Untuk itu, kita bisa menggunakan kelas StringBuilder:

StringBuilder builder = new StringBuilder();
builder.append("ini ");
builder.append("contoh ");
builder.append("kalimat ");
builder.append("pakai ");
builder.append("builder");
System.out.println("Hasil builder: " + builder.toString());

Cara Memecah Kalimat Berdasarkan Separator

Trik yang terakhir adalah bagaimana cara kita memecah kalimat, berdasarkan separator/pemisah. Sebagai contoh, terdapat kalimat:

String kalimatPakaiSeparator = "Bisa Komputer;tutorial,tips-trik;http://www.bisakomputer/com/";

Yang ingin dipisah berdasarkan ;, menjadi:

Bisa Komputer
tutorial,tips-trik
http://www.bisakomputer/com/

Untuk ini, kita bisa menggunakan method split():

String[] pecah1 = kalimatPakaiSeparator.split(";");
System.out.println("Hasil pecahan: ");
for(int counter = 0; counter < pecah1.length; counter++){
System.out.println(" " + pecah1[counter]);
}

Itu tadi beberapa cara memanipulasi string di java. Selamat bereksplorasi, kalau masih ada yang bingung, silahkan ditanyakan langsung di kotak komentar atau ke Twitter saya yang ada di box author.

Tag: , ,

13 Comments

Leave Comment
  1. paijo says:

    ini pake netbeans atau pake apa??

  2. paijo says:

    kalau km pake apa ini??

    • silent says:

      Untuk tulisan ini, saya pakai eclipse. Tapi, yang dijelaskan di tulisan ini adalah java in general. Perlaku di JAVA untuk android dan juga untuk desktop / server. Ada beberapa yang dijelaskan di sini tidak belaku pada implementasi java untuk mobile (J2ME).

      • ImaRosyi says:

        Bang saya mau tanya dong, saya praktekin kode di atas pake netbeans. Tapi kok inputannya cuma kalimat di belakangnya doang ya?

        Jadi contohnya gini misalkan

        Hamida;sofyana

        saya pisahkan berdasarkan ” ; ”

        nah kenapa di hasil akhirnya yang keluar hanya kata SOFYANA nya aja ya? kenapa nggak bisa jadi Hamida Sofyana?

        Mohon bantuannya untuk mengerjakan tugas

  3. paijo says:

    ok..trimakasi atas infonya,,sukses selalu

  4. ine says:

    bagaimana codingnya jika yang diketahui
    mis, nama: azhar
    yang diminta adalah kebalikan dari azhar,yaitu rahza??
    trimakasih bapak :)

  5. alief says:

    gan, bagaimana caranya jika mencari banyak kata seperti search digoogle itu,,,
    project java saya hanya bisa mencari 1 kata dari isi artikel yang ada di database… apa yang harus ditambahkan gan,,..?

  6. Zaid says:

    Mas, kalo verifikasi username sama password dengan synthax equals gimana caranya ya?? jadi kalo username sama password benar, maka muncul pesan, kalo salah juga muncul pesan..urgent yo mas,, suwun
    -zaid-

  7. hendz says:

    klo “kata” nya dipanggil dri database gmn gan??

  8. lutfan says:

    kalo mau ganti outputan gmana caranya gan ?

  9. Terima kasih banyak, Mas. Sangat membantu dalam proses pengerjaan laporan resmi.
    :v

Write Comment

Your email will not be published. The marked label is required.