Lompat ke konten Lompat ke sidebar Lompat ke footer

StringBuilder Java Beserta Penjelasannya

StringBuilder Java merupakan class yang mewakili serangkaian karakter yang bisa berubah-ubah. Karena String Java menciptakan serangkaian karakter yang tidak dapat diubah, maka class StringBuilder kemudian menyediakan alternatif untuk class String, dimana class tersebut dapat menciptakan serangkaian karakter yang dapat diubah oleh pengembang.


Sebelum lebih lanjut mempelajari materi tentang StringBuilder Java Beserta Penjelasannya, terlebih dahulu pelajari materi tentang: Input Output Java pada Competitive Programming, StringJoiner Java Beserta Contohnya, dan StringBuffer Java Beserta Penjelasannya.

Fungsi StringBuilder hampir mirip seperti StringBuffer, dimana keduanya dapat memberikan alternatif terhadap class String dengan membuat rangkaian karakter yang bisa berubah-ubah. Namun, class StringBuilter berbeda dari class StringBuffer jika dilihat dari kondisi sinkronisasinya, dimana class StringBuilter memberikan jaminan sinkronisasi, sedangkan class StringBuffer tidak. Oleh karena itu class ini dirancang sebagai pengganti atau alternatif lain dari StringBuffer untuk posisi dimana StringBuffer digunakan oleh satu thread seperti yang umum biasa terjadi.

Jika memungkinkan, maka class ini juga direkomendasikan agar digunakan untuk perbandingan terhadap StringBuffer karena hasilnya akan memberikan hasil yang lebih cepat pada sebagian besar implementasinya. Contoh, penggunaan StringBuilter yang tidak aman untuk digunakan pada multithread yang sudah pasti berbeda jika menggunakan StringBuffer.

Kelas Hirarki:
java.lang.Object
↳ java.lang
           ↳ Class StringBuilder

Constructors Java StringBuilder:
  • StringBuilder(): Membangun string builder tanpa karakter didalamnya, dengan kapasitas awal 16 karakter.
  • StringBuilder(int capacity): Membangun string builder tanpa karakter didalamnya, serta kapasitas awal ditentukan oleh argumen kapasitas.
  • StringBuilder(CharSequence seq): Membangun string builder yang berisi karakter yang sama dengan CharSequence yang ditentukan.
  • StringBuilder(String str): Membangun string builder yang diinisialisasi ke konten string yang ditentukan.

Contoh: Berikut adalah contoh program untuk ilustrasi penggunaan StringBuilder Java.

// Kode Java untuk

// mengilustrasikan

// StringBuilder.

import java.util.*;

import java.util.concurrent.LinkedBlockingQueue;


public class MKN1 {


public static void main(String[] argv)

throws Exception

{

// Menciptakan sebuah object

// StringBuilder menggunakan

// konstruktor

// StringBuilder().

StringBuilder str

= new StringBuilder();

str.append("MKN");


// Mencetak string

System.out.println("String = "

+ str.toString());


// Menciptakan sebuah object

// StringBuilder menggunakan

// konstruktor

// StringBuilder(CharSequence).

StringBuilder str1

= new StringBuilder("AAAABBBCCCC");


// Mencetak string

System.out.println("String1 = "

+ str1.toString());


// Menciptakan object

// StringBuilder menggunakan

// konstruktor

// StringBuilder(capacity).

StringBuilder str2

= new StringBuilder(10);


// Mencetak string

System.out.println("String2 capacity = "

+ str2.capacity());


// Menciptakan object

// StringBuilder menggunakan

// konstruktor

// StringBuilder(String).

StringBuilder str3

= new StringBuilder(str1.toString());


// Mencetak string

System.out.println("String3 = "

+ str3.toString());

}


}

Output:
String = MKN
String1 = AAAABBBCCCC
String2 capacity = 10
String3 = AAAABBBCCCC


Method StringBuilder Java:
  • StringBuilder append(X x): Method ini menambah string representasi dari tipe argumen X ke urutannya.
  • StringBuilder appendCodePoint(int codePoint): Method ini menambah representasi string dari argumen codePoint ke urutannya.
  • int capacity(): Method ini mengembalikan nilai kapasitas saat ini.
  • char charAt(int index): Method ini mengembalikan nilai char pada urutan indeks tertentu.
  • IntStream chars(): Method ini mengembalikan sebuah stream dari int zero-extending dari nilai char pada urutannya.
  • int codePointAt(int index): Method ini mengembalikan nilai karakter berupa titik kode Unicode pada indeks tertentu.
  • int codePointBefore(int index): Method ini mengembalikan nilai karakter berupa titik kode Unicode sebelum indeks tertentu.
  • int codePointCount(int beginIndex, int endIndex): Method ini mengembalika nilai angka dari kode Unicode pada indeks jangkauan tertentu dari suatu urutan.
  • IntStream codePoints(): Method ini mengembalikan sebuah stream dari nilai titik kode urutan tertentu.
  • StringBuilder delete(int start, int end): Method ini menghapus karakter dalam substring dari suatu urutan.
  • StringBuilder deleteCharAt(int index): Method ini menghapus nilai char pada posisi tertentu dari suatu urutan.
  • void ensureCapacity(int minimumCapacity): Method ini memastikan bahwa kapasitas minimum telah terpenuhi atau minimal sama.
  • void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin): Method karakter ini akan diduplikasi dari urutannya ke array karakter tujuan dan seterusnya.
  • int indexOf(): Method ini mengembalikan nilai indeks bersama nilai string dari kemunculan pertama pada substring tertentu.
  • StringBuilder insert(int offset, boolean b): Method ini berfungsi untuk menambah nilai representasi string dari argumen booalternatelean sesuai dengan urutannya.
  • StringBuilder insert(): Method ini berfungsi untuk mnambah representasi string dari argumen char ke urutannya.
  • int lastIndexOf(): Method ini mengembalikan nilai indeks bersamaan dengan nilai string dari kemunculannya pada substring spesifik.
  • int length(): Method ini berfungsi untuk mengembalikan nilai length berupa jumlah karakter.
  • int offsetByCodePoints(int index, int codePointOffset): Method ini berfungsi untuk mengembalikan nilai indeks bersamaan dengan nilai urutannya yang diimbangi dari indeks yang diberikan dengan poin kode codePointOffset.
  • StringBuilder replace(int start, int end, String str): Method ini berfungsi untuk mengganti nilai karakter pada sebuah substring dari urutan tertentu dengan karakter pada string tertentu.
  • StringBuilder reverse(): Method ini menyebabkan urutan karakternya akan diganti oleh urutan terbalik.
  • void setCharAt(int index, char ch): Karakter pada bagian indeks tertentu akan diatur ke tipe ch.
  • void setLength(int newLength): Method ini akan mengatur nilai length dari urutan karakter tertentu.
  • CharSequence subSequence(int start, int end): Method ini mengembalikan sebuah urutan karakter baru yang merupakan suburutan dari urutan saat ini.
  • String substring(): Method ini mengembalikan nilai string baru yang mengandung sebuah suburutan dari karakter saat ini yang dikandung pada karakter urutan.
  • String toString(): Method ini mengembalikan sebuah string yang merepresentasikan data pada suatu urutan.
  • void trimToSize(): Method ini berupaya untuk mengurangi kapasitas penyimpanan yang digunakan untuk ukuran karakter.

Contoh:

// Kode Java untuk

// mengilustrasikan method

// dari StringBuilder.

import java.util.*;

import java.util.concurrent.LinkedBlockingQueue;


public class MKN1 {


public static void main(String[] argv)

throws Exception

{

// Menciptakan object

// StringBuilder dengan sebuah

// String yang melewatkan

// parameter.

StringBuilder str

= new StringBuilder("AAAABBBCCCC");


// Mencetak string

System.out.println("String = "

+ str.toString());


// Reverse string

StringBuilder reverseStr = str.reverse();


// Mencetak string

System.out.println("Reverse String = "

+ reverseStr.toString());


// Menambahkan ', '(44) ke

// String

str.appendCodePoint(44);


// Mencetak string modifikasi

System.out.println("Modified StringBuilder = "

+ str);


// Mendapatkan kapasitas

int capacity = str.capacity();


// Mencetak hasil

System.out.println("StringBuilder = " 

+ str);


System.out.println("Capacity of StringBuilder = "

+ capacity);

}


}

Output:
String = AAAABBBCCCC
Reverse String = CCCCBBBAAAA
Modified StringBuilder = CCCCBBBAAAA,
StringBuilder = CCCCBBBAAAA,
Capacity of StringBuilder = 27

Keuntungan penggunaan StringBuilder:
  • Efisiensi: StringBuilder lebih efisien daripada penggabungan string konvensional karena StringBuilder tidak membuat string baru setiap kali terjadi manipulasi. Sebaliknya, StringBuilder memanipulasi string yang ada di tempat.
  • Kemudahan Penggunaan: StringBuilder menyediakan metode yang mudah digunakan untuk manipulasi string seperti append(), delete(), insert(), dan reverse(), yang membuatnya sangat nyaman untuk bekerja dengan string.
  • Fleksibilitas: Pengembang dapat memanipulasi string secara dinamis menggunakan StringBuilder, menambahkan, menghapus, atau mengubah karakter tanpa batasan.

Kesimpulan

StringBuilder adalah alat yang sangat berguna dalam pemrograman Java untuk manipulasi string yang efisien dan fleksibel. Dengan menggunakan StringBuilder, Pengembang dapat menghindari overhead yang terkait dengan penciptaan string baru setiap kali terjadi manipulasi, sehingga membuat aplikasi lebih efisien dan responsif. Dengan memahami penggunaan dan keuntungan StringBuilder, pengembang dapat mengoptimalkan kinerja aplikasi Java.

Artikel ini didedikasikan kepada: Thirza Ronaa Rachmawati, Urlia Purmalasari, Velina Claudya Ditarta, Vicky Wahyu Nala Hilma, dan Viko Aldino Wibowo.

5 komentar untuk "StringBuilder Java Beserta Penjelasannya"

  1. Apa yang dimaksud dengan StringBuilder pada Java?

    BalasHapus
    Balasan
    1. StringBuilder merupakan class API Java yang menyediakan serangkaian karakter yang bisa diubah.

      Hapus
    2. Class StringBuilder digunakan untuk memanipulasi string secara dinamis, seperti membuat string dari banyak string lainnya yang lebih kecil atau menambahkan karakter baru ke string yang sudah ada.

      Hapus
  2. Apa perbedaan antara String dan StringBuilder pada Java?

    BalasHapus
    Balasan
    1. String adalah class Java yang bersifat tidak dapat diubah, sedangkan StringBuffer adalah class Java yang dapat diubah nilainya.

      Hapus

Hubungi admin melalui Wa : +62-896-2414-6106

Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.

Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.

- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -