MODUL XV,PBO 1

CLASS STRING BUILDER
 

TUJUAN:
Mahasiswa mampu menggunakan kelas pada String Builder
TEORI SINGKAT:
Construktor pada StringBuilder:
StringBuilder()
                Menciptakan objek string builder kosong dengan kapasitas awal 16
StringBuilder(CharSewuence seq)
                Menciptakan string builder kosong dengan kapasitas awal sejumlah capacity.
StringBuilder(int str)
                Menciptakan string builder kosong dengan kapasitas awal sejumlah capacity
StringBuilder(String str)
                Menciptakan string builder yang diinisialisasi dengan string str.
PELAKSANAAN PRAKTIKUM:
Praktek 1.
Menggunakan kelas StringBuilder pada contoh kasus di bawah ini untuk menampilkan sebuah kalimat (kumpulan karakter dalam bentuk string) dalam posisi normal dan posisi terbalik. Variabel string yang diciptakan adalah palidrome dengan value “Ana lihat katak”. Untuk memanggil method reverse() suatu method yang digunakan untuk membalikkan string. Method ini terdapat dalam StringBuilder sehingga kita perlu menciptakan objek dengan kelas tersebut. Objek yang diciptakan adalah sb dan menggunakan parameter palidrome yang kita ciptakan di atas. Dan dengan objek tersebut kita dapat memanggil method reverse() sehingga menghasilkan kalimat yang tersusun balik. Sehingga pada saat ditampilkan sb merupakan strig kebalikan dari palidrome.
public class StringBuilderDemo{
     public static void main(String[]args){
       String palidrome=”Ana lihat katak”;
       StringBuilder sb=new StringBuilder(palidrome);
       sb.reverse();//Membalik kalimat
       System.out.println(palidrome);
       System.out.println(sb);
     }
}
Hasil Output:
Praktek 2.
Dengan menggunakan sistem yang sama kita lakukan pembalikan terhadap string yang terbalik. Pada sb.reserve() pertama string palidrome diposisikan terbalik, kemudian dilakukan cara yang sama pula dengan memanggil method reserve() dengan objek sb. Sehingga string palidrome dikembalikan seperti semula/normal.
Setelah string palidrome dalam kondisi normal, kita gunakan lagi objek sb untuk memanggil method append(). Method ini berfungsi menambahkan string di dalam parameter method ini kedalam bariss terakhir suatu string yang sudah ada. Maka kalimat yang tadinya adalah “Ana lihat katak”menjadi “Ana lihat katak tadi malam”. Append() ini akan selalu menambanya di bagian akhir, tidak bisa dibagian depan atau diantara karakter yang sudah ada. Oleh karena itu kita dapat menggunakan method insert(), dimana fungsi insert() adalah untuk menyisipkan diantara karakter yang sudah ada suatu karakter/string tertentu. Perintah yang dituliskan adalah objek.insert([index karakter], “String ditambahkan”); Sebagaimana di bawah adalah statemen menambahkan string “dan Ani “ pada huruf ke 4. Tentu dengan perintah tersebut akan menghasilkan “Ana dan Ani lihat katak tadi malam”. Kenapa tetap ada kata “ tadi malam”? Hal tersebut  disebabkan oleh pendefinisian sb yang terakhirlah yang digunakan, dimana saat terakhir sb bernilai “Ana lihat katak tadi malam”.
public class StringBuilderDemoTambah{
     public static void main(String[]args){
       String palidrome=”Ana lihat katak”;
       StringBuilder sb=new StringBuilder(palidrome);
       sb.reverse();//Membalik kalimat
            System.out.println(palidrome);
            System.out.println(sb);
       sb.reverse();//Dibalik lagi
       sb.append(” tadi malam.”);
       System.out.println(sb);
       sb.insert(4,”dan Ani “);
       System.out.println(sb);
     }
}
Hasil Running Program:


Praktek 3.
Program ini telah dilengkapi dengan keterangan mengenai fungsi terkait dengan statemen yang dituliskan.
1.       adalah fungsi method delete(index awal, index akhir) adalah fungsi yang berguna untuk melakukan penghapusan terhadap string yang didefinisikan dengan menuliskan index awal dan index akhir. Seperti di bawah ini penggunaannya untuk sb1.delete(0,5) artinya menghapus sb1 yaitu string “Hallo apa kabar Budi..!” dimulai dari string 0, yaitu “H” sampai karakter nomor 5 yaitu ‘o’. Sehingga tampilannya akan menjadi “ apa kabar”.
2.       Menggunakan method delete(index awal, index akhir) dengan memadukan perintah length() yang berfungsi untuk mengetahui banyaknya karakter dalam suatu string. Dengan mengetahui banyaknya karakter dalam string, maka nilai ini merupakan nilai terbesar/paling kanan dari suatu string, sehingga apabila dikurangi dengan -4 maka index awal merupakan nilai terkanan dikurangi 4. Pada kasus tersebut nilai maksimal adalah 16 karakter, atau lebih jelasnya perintah delete di atas menjadi sb2. delete(12,16) dimana 12 diperoleh dari nilai maksimal yaitu 16 dikurangi 4, dan index akhir dituliskan dengan sb2.length() yaitu bernilai 16.
3.       Untuk statemen delete ketiga di bawah ini adalah menggunakan sb3.deleteCharAt(4), yang berarti bahwa pada urutan/index ke empat karakter tersebut akan dihapuskan.
public class StringBuilderDemo2{
     public static void main(String[]args){
     /*
     StringBuilder delete(int star, int end) menghapus karakter
     dari indeks star sampai indeks end-1
     */
     StringBuilder sb1=new StringBuilder(“Hallo apa kabar Budi..!”);
     System.out.println(sb1);
     sb1.delete(0,5);
     System.out.println(sb1);
     StringBuilder sb2=new StringBuilder(“Aku suka kamu..!”);
     System.out.println(sb2);
     sb2.delete(sb2.length()-4, sb2.length());
     System.out.println(sb2);
     /*
     StringBuilder deleteCharAt(int index) menghapus
     karakter pada indeks tertentu.
     */
     StringBuilder sb3=new StringBuilder(“Hallo Duniaaaa..!”);
     System.out.println(sb3);
     sb3.deleteCharAt(4);
     System.out.println(sb3);
     }
}
HasilRunning program:
Praktek 4.
Kelas program ini kebalikan dari program yang sudah kita coba di atas. Pada program di atas kita berusaha memasukkan, menambah string/karakter dari string lain. Tetapi pada program ini statemen digunakan untuk mengambil sebagian string dari string yang telah ada. Perintah yang digunakan adalah objek.substring (index awal sub string yang diambil) sehingga pada saat ada perintah strPart1=sb.substring(5), maka dengan object sb maka akan menampilkan huruf ke enam (karena dimulai dari 0) akan ditampilkan sampai pada baris string terakhir. Kemudian pada saat kita gunakan sb.substring(0,18) maka akan menampilkan / mengambil karakter dari 0 sampai karakter 18 dari string sb.
Maka apabila kita menggunakan perintah sb.substring(10,20), maka dimaksud untuk mengambil bagian dari kalimat atau substring pada sb pada index ke 10 sampai pada karakter ke 20.
public class StringBuilderDemo3{
     public static void main(String[]args){
     StringBuilder sb=new StringBuilder(“Java StringBuilder contoh SubString”);
     System.out.println(“Teks asli: “+sb);
     /*
     Method SubString bersifat overloaded dalam kelas StringBuilder
     1. String substring(int start)
     menghasilkan string baru yang berisi runrun karakter mulai
     dari indeks star sampai indeks StringBuilder.length()-1
     */
     String strPart1=sb.substring(5);
     System.out.println(“Substring 1 : “+strPart1);
     /*
     2. String substring(int start,int end)
     menghasilkan string baru yang berisi runrun karakter mulai
     dari indeks star sampai indeks end-1
     */
     String strPart2=sb.substring(0,18);
     System.out.println(“Substring 2 : “+strPart2);
     }
}
TUGAS:
public class StringBuilderTugas{
     public static void main(String[]args){
       StringBuilder tgs=new StringBuilder(“Agus dan Amir memancing di Waduk Sermo”);
       int cacahHuruf=tgs.length();
       char[] Huruf=new char[cacahHuruf];
       char a1=’a’;
       char a2=’A’;
       int b=0;
       int panjang=tgs.length();
       for (int j=0;j
                  Huruf[j]=tgs.charAt(j);
                  if ((Huruf[j]==a1) || (Huruf[j]==a2))
                        b=b+1;
                  else ;}
       for (int j=0;j
            System.out.print(Huruf[j]);
       System.out.println(“”);
       System.out.print(“Jumlah a atau A pada kalimat di atas : “);
       System.out.println(b);
     }
}
Hasil Running:
Cara lainnya dapat dilakukan dengan menggunakan perintah yang hampir sama dapat digunakan untuk mencacah karakter tertentu dalam sekelompok string. Pada prinsipnya adalah mencocokkan charAt(index) tertentu dengan karakter yang kita sebutkan. Sebagaimana kasus pada tugas ini menyamakan karakter pada index yang ke berapa yang karakternya sama dengan huruf ‘a’ ataupun ‘A’. Maka kita perlu mencek string “Agus dan Amir memancing di Waduk Sermo” pada setiap karakternya dan mengindentifikasi adakah yang sama dengan huruf ‘a’ atau ‘A’. Jika sama maka fungsi penambahan b=b+1 akan dilakukan, jika tidak maka rekursif berjalan sampai pada batas maksimal jumlah string kalimat “Agus dan Amir memancing di waruk Sermo” tersebut.
public class StringBuilderTugascharAt{
     public static void main(String[]args){
        StringBuilder tgs=new StringBuilder(“Agus dan Amir memancing di Waduk Sermo”);
        int cacahHuruf=tgs.length();
        char a1=’a’;
        char a2=’A’;
        int b=0;
        for (int j=0;j
              if ((tgs.charAt(j)==a1) || (tgs.charAt(j)==a2))
                           b=b+1;
                     else ;}
        System.out.println(“”);
        System.out.println(“Kalimat : “+tgs);
        System.out.println(“===================================================”);
        System.out.print(“Jumlah a atau A pada kalimat di atas : “);
        System.out.println(b);
        System.out.println(“===================================================”);
        System.out.println(“”);
     }
}
Hasil Running:
KESIMPULAN:

Dengan StringBuilder perintah untuk memodifikasi tampilan berupa huruf, kata maupun dalam sebuah kalimat lebih mudah. Khususnya pada saat kita harus menambahkan karakter atau tulisan tertentu pada suatu kalimat (model insert, append) dimana kelas string saja tidak dilengkapi dengan method tersebut..

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s