Lompat ke konten Lompat ke sidebar Lompat ke footer

StringBuffer Java Beserta Penjelasannya

StringBuffer merupakan class Java dari string yang menyediakan banyak fungsi dari operasi string. String merepresentasikan rangkaian karakter yang panjangnya adalah tetap dan tidak dapat diubah nilainya, sendangkan StringBuffer merepresentasikan serangkaian karakter yang dapat dikembangkan dan ditulis kembali. StringBuffer Java mungkin memiliki karakter dan substring yang disisipkan pada bagian tengah atau ditambahkan pada bagian akhir dari string. Karakter tersebut kemudian akan berkembang secara otomatis untuk memberikan ruang bagi penambahan tersebut dan sering juga memiliki ukuran lebih banyak karakter yang dapat dialokasikan sebelumnya, ketimbang nilai yang dibutuhkan sebenarnya, guna memberikan ruang bagi perkembangan string tersebut.


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

Constructors Class StringBuffer Java:
  • StringBuffer(): Menyediakan ruang untuk 16 karakter tanpa proses alokasi ulang. Sintak: StringBuffer s = new StringBuffer();
  • StringBuffer(int size): Menerima argumen bilangan bulat atau integer yang secara eksplisit menetapkan nilai atau ukuran buffer. Sintak: StringBuffer s = new StringBuffer(20);
  • StringBuffer(String str): Menerima argumen string yang menetapkan konten awal dari object StringBuffer dan menyediakan ruang untuk 16 karakter lagi tanpa proses alokasi ulang. Sintak: StringBuffer s = new StringBuffer("MakandanMakan");

Methods dari Class StringBuffer Java:
  • append(): Digunakan untuk menambah teks pada bagian akhir dari teks yang sudah ada.
  • length(): Mengetahui nilai panjang dari ukuran StringBuffer.
  • capacity(): Mengetahui nilai total kapasitas alokasi dari StringBuffer.
  • charAt(): Mengetahui nilai karakter.
  • delete(): Menghapus bagian karakter dari object yang dipanggil.
  • deleteCharAt(): Menghapus karakter dari indeks tertentu oleh loc.
  • ensureCapacity(): Memastikan kapasitas dari StringBuffer setidaknya sama dengan nilai minimum yang diberikan.
  • insert(): Menambah teks pada posisi indeks spesifik.
  • length(): Mengembalikan nilai ukurang length dari string.
  • reverse(): Membalikkan karakter dalam object StringBuffer.
  • replace(): Mengganti salah satu karakter dengan yang lainnya yang terdapat pada object StringBuffer.

Catatan: Disamping itu, semua method yang digunakan pada class string juga dapat digunakan.

Metode bantu tersebut adalah sebagai berikut:
  • ensureCapacity(): Digunakan untuk meningkatkan kapasitas dari sebuah object string, dimana kapasitas baru akan diatur ke nilai yang telah ditentukan atau dua kali dari kapasitas saat ini ditambah dua, yang sudah pasti ukurannya menjadi lebih besar. Sintak: void ensureCapacity(int capacity).
  • appendCodePoint(int codePoint): Method ini menambah representasi string dari argumen codePoint ke urutannya. Sintak: public StringBuffer appendCodePoint(int codePoint).
  • charAt(int index): Method ini mengembalikan nilai char pada urutannya pada indeks spesifik. Sintak: public char charAt(int index).
  • IntStream chars(): Method ini mengembalikan sebuah stream dari int zero-extending char yang berasal dari urutannya. Sintak: public IntStream chars().
  • int codePointAt(int index): Method ini mengembalikan nilai karakter berupa titik kode Unicode pada indeks spesifik. Sintak: public int codePointAt(int index).
  • int codePointBefore(int index): Method ini mengembalikan nilai karakter berupa titik kode Unicode sebelum indeks spesifik. Sintak: public int codePointBefore(int index).
  • int codePointCount(int beginIndex, int endIndex): Method ini mengembalikan nilai angka dari titi kode Unicode pada jangkauan teks dari nilai urutannya. Sintak: public int codePointCount(int beginIndex, int endIndex).
  • IntStream codePoints(): Method ini mengembalikan sebuah stream dari nilai titik kode yang berasal dari urutannya. Sintak: public IntStream codePoints().
  • void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin): Pada method ini, karakter diduplikasi dari nilai urutannya ke array karakter tujuan, dan seterusnya. Sintak: public void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin).
  • int indexOf(String str): Method ini mengembalikan nilai indeks bersamaan dengan string dari kemunculan pertama dari substring yang ditentukan. Sintak: public int indexOf(String str) dan public int indexOf(String str, int fromIndex).
  • int lastIndexOf(String str): Method ini mengembalikan nilai indeks bersamaan dengan string dari kemunculan akhir dari substring tertentu. Sintak: public int lastIndexOf(String str) dan public int lastIndexOf(String str, int fromIndex).
  • int offsetByCodePoints(int index, int codePointOffset): Method ini mengembalikan nilai indeks bersamaan dengan urutannya, diimbangi dari indeks yang diberikan dengan poin kode codePointOffset. Sintak: public int offsetByCodePoints(int index, int codePointOffset).
  • void setCharAt(int index, char ch): Pada method ini, karakter pada indeks tertentu diatur menjadi ch. Sintak: public void setCharAt(int index, char ch).
  • void setLength(int newLength): Method ini berfungsi untuk mengatur nilai length dari karakter urutannya. Sintak: public void setLength(int newLength).
  • CharSequence subSequence(int start, int end): Method ini berfungsi untuk mengembalikan nilai urutan karakter baru yang merupakan suburutan dari suatu urutan tertentu. Sintak: public CharSequence subSequence(int start, int end).
  • String substring(int start): Method ini mengembalikan sebuah string baru yang mengandung suburutan dari karakter saat ini yang dikandung pada karakter urutan. Sintak: public String substring(int start) dan public String substring(int start,int end).
  • String toString(): Method ini mengembalikan sebuah string yang merupakan representasi data dari suatu urutan. Sintak: public String toString().
  • void trimToSize(): Method ini berupaya mengurangi penyimpanan yang digunakan untuk urutan karakter. Sintak: public void trimToSize().

Contoh: Penggunaan method length() dan capacity().

// Program Java untuk

// mengilustrasikan class

// StringBuffer lewat method

// length() dan capacity().


// Mengimfor class I/O.

import java.io.*;


// Main class

class MKN {


// method main driver

public static void main(String[] args)

{


// Menciptakan dan menyimpan

// string oleh menciptakan

// object dari StringBuffer.

StringBuffer s = new StringBuffer("MakandanMakan");


// Mendapatkan inlai panjang

// dari string.

int p = s.length();


// Mendapatkan nilai kapasitas

// dari string.

int q = s.capacity();


// Mencetak length dan

// kapasitas dari input umum

// string pada konsol.

System.out.println("Length of string MakandanMakan="

+ p);


System.out.println(

"Capacity of string MakandanMakan=" + q);

}


}

Output:
Length of string MakandanMakan=13
Capacity of string MakandanMakan=29


Contoh: Penggunaan method append() yang digunakan untuk menambah teks pada bagian akhir dari teks yang tersedia.

// Program Java untuk

// mengilustrasikan class

// StringBuffer lewat method

// append().


// Mengimpor class yang

// dibutuhkan.

import java.io.*;


// Main class

class MKN {


// Method main driver

public static void main(String[] args)

{


// Menciptakan object dari

// class StringBuffer dan

// melewatkan nilai string

// acak.

StringBuffer s = new StringBuffer("Makandan");


// Penggunaan method append().

s.append("Makan");


// Returns MakandanMakan

System.out.println(s);

s.append(1);


// Returns MakandanMakan1

System.out.println(s);

}


}

Output:
MakandanMakan
MakandanMakan1


Contoh: Penggunaan method insert(), yang digunakan untuk menambah teks pada posisi indeks tertentu.

// Program Java untuk

// mengilustrasikan class

// StringBuffer via method

// insert().


// Mengimpor class I/O yang

// dibutuhkan.

import java.io.*;


// Main class

class MKN {


// Method Main driver

public static void main(String[] args)

{


// Menciptakan object dari

// class StringBuffer.

StringBuffer s = new StringBuffer("MakanMakan");


// Menambah elemen dan posisi

// sebagai argumen.

s.insert(5, "for");


// Returns MakandanMakan

System.out.println(s);

s.insert(0, 5);


// Returns 5MakandanMakan

System.out.println(s);

s.insert(3, true);


// Returns 5MatrukandanMakan

System.out.println(s);

s.insert(5, 41.35d);


// Returns

// 5Matr41.35ukandanMakan

System.out.println(s);

s.insert(8, 41.35f);


// Returns

// 5Matr41.41.3535uedanMakan

System.out.println(s);


// Deklarasi dan Inisialisasi

// karakter array

char makan_arr[] = { 'p', 'a', 'w', 'a', 'n' };


// Menambah karakter array

// pada posisi offset 9

s.insert(2, makan_arr);


// Returns 5Mpawanatr41.41.3535uedanMakan

System.out.println(s);

}


}


Contoh: Penggunaan method reverse(), yang berfungsi untuk membalik karakter dari sebuah object StringBuffer.

// Program Java untuk

// mengilustrasikan class

// StringBuffer via method

// reverse().


// Mengimpor class I/O.

import java.io.*;


// Main class

class MKN {


// Method Main driver

public static void main(String[] args)

{


// Menciptakan string dengan

// cara menciptakan object

// dari class StringBuffer.

StringBuffer s = new StringBuffer("MakanMakan");


// Pemanggilan method

// reverse().

s.reverse();


// Returns "nakaMnadnakaM"

System.out.println(s);

}


}

Output:
nakaMnadnakaM

Contoh: Penggunaan method delete() dan deleteCharAt(). Method ini akan menghapus karakter pada StringBuffer menggunakan method delete() dan deleteCharAt(). Method delete() berfungsi untuk menghapus sebuah urutan dari karakter yang berasal dari object yang dipanggil. Di sini, Indeks awal menentukan indeks karakter pertama yang dihapus, dan Indeks akhir menentukan indeks setelah karakter terakhir yang dihapus. Dengan demikian, substring yang dihapus dijalankan dari Indeks awal hingga Indeks akhir–1. Objek StringBuffer yang dihasilkan dikembalikan dan Metode deleteCharAt( ) akan menghapus karakter pada indeks yang ditentukan oleh loc dan akan mengembalikan object StringBuffer yang dihasilkan.

// Program Java untuk

// mengilustrasikan class

// StringBuffer via method

// delete() and

// deleteCharAt().


// Mengimpor class I/O.

import java.io.*;


// Main class

class MKN {


// Method Main driver

public static void main(String[] args)

{


StringBuffer s = new StringBuffer("MakandanMakan");

s.delete(0, 5);


// Returns danMakan

System.out.println(s);

s.deleteCharAt(7);


// Returns danMakan

System.out.println(s);

}


}

Output:
danMakan
danMakan


Contoh: Penggunaan method replace(). Method ini akan menggantikan sekumpulan karakter dengan karakter lainnya yang berada di dalam sebuah object StringBuffer oleh method replace( ). Substring yang akan digantikan ditentukan oleh indeks awal dan indeks akhir. Dengan demikian, substring pada indeks awal hingga indeks akhir–1 akan diganti kemudian, dimana String pengganti akan diteruskan ke str dan object StringBuffer yang dihasilkan kemudian akan dikembalikan ke fungsi pemanggilnya.

// Program Java untuk

// mengilustrasikan class

// StringBuffer via method

// replace().


// Mengimpor class I/O.

import java.io.*;


// Main class

class MKN {


// Method Main driver

public static void main(String[] args)

{


StringBuffer s = new StringBuffer("MakandanMakan");

s.replace(5, 8, "are");


// Returns MakandanMakan

System.out.println(s);

}


}

Output:
MakandanMakan

Artikel ini didedikasikan kepada: Tegar Fachrurozi Suryakusuma, Thirza Ronaa Rachmawati, Urlia Purmalasari, Velina Claudya Ditarta, dan Vicky Wahyu Nala Hilma.

7 komentar untuk "StringBuffer Java Beserta Penjelasannya"

  1. Mengapa StringBuffer dapat berubah pada program Java?

    BalasHapus
    Balasan
    1. StringBuffer Java telah dibuat sebagai tipe data yang bisa berubah karena String sifatnya tidak dapat diubah.

      Hapus
  2. Mengapa StringBuffer bersifat final pada program Java?

    BalasHapus
    Balasan
    1. Keyword 'final' mengacu pada variabel yang merupakan referensi ke StringBuffer. Karena sudah final, maka tidak bisa meminta variabel untuk merujuk ke StringBuffer lain, namun user tetap dapat mengubah nilai object StringBuffer yang saat ini dirujuk oleh variabel.

      Hapus
  3. Apa yang dimaksud dengan class StringBuffer pada Java?

    BalasHapus
    Balasan
    1. StringBuffer merupakan class pada java yang nilai objectnya mewakili nilai string yang bisa berubah. StringBuffer sama seperti class string lainnya, hanya saja objectnya dapat dimodifikasi.

      Hapus
    2. StringBuffer merupakan class yang dapat disinkronkan, sehingga aman untuk penggunaan thread pada Java.

      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 -