MODUL XV,PBO 1

CLASS STRING BUILDER
 

TUJUAN:
Mahasiswa mampu menggunakan kelas padaString Builder
TEORI SINGKAT:
Construktor pada StringBuilder:
StringBuilder()
                Menciptakan objek string builderkosong dengan kapasitas awal 16
StringBuilder(CharSewuence seq)
                Menciptakan string builderkosong dengan kapasitas awal sejumlah capacity.
StringBuilder(int str)
                Menciptakan string builderkosong dengan kapasitas awal sejumlah capacity
StringBuilder(String str)
                Menciptakan string builder yangdiinisialisasi dengan string str.
PELAKSANAAN PRAKTIKUM:
Praktek 1.
Menggunakan kelas StringBuilder padacontoh kasus di bawah ini untuk menampilkan sebuah kalimat (kumpulan karakterdalam bentuk string) dalam posisi normal dan posisi terbalik. Variabel stringyang diciptakan adalah palidrome dengan value “Ana lihat katak”. Untukmemanggil method reverse() suatu method yang digunakan untuk membalikkanstring. Method ini terdapat dalam StringBuilder sehingga kita perlu menciptakanobjek dengan kelas tersebut. Objek yang diciptakan adalah sb dan menggunakanparameter palidrome yang kita ciptakan di atas. Dan dengan objek tersebut kitadapat memanggil method reverse() sehingga menghasilkan kalimat yang tersusunbalik. Sehingga pada saat ditampilkan sb merupakan strig kebalikan daripalidrome.
public class StringBuilderDemo{
     publicstatic void main(String[]args){
       Stringpalidrome=”Ana lihat katak”;
       StringBuildersb=new StringBuilder(palidrome);
       sb.reverse();//Membalikkalimat
       System.out.println(palidrome);
       System.out.println(sb);
     }
}
HasilOutput:
Praktek 2.
Dengan menggunakan sistem yang sama kita lakukan pembalikanterhadap string yang terbalik. Pada sb.reserve() pertama string palidromediposisikan terbalik, kemudian dilakukan cara yang sama pula dengan memanggilmethod reserve() dengan objek sb. Sehingga string palidrome dikembalikanseperti semula/normal.
Setelah string palidrome dalam kondisi normal, kita gunakan lagiobjek sb untuk memanggil method append(). Method ini berfungsi menambahkanstring di dalam parameter method ini kedalam bariss terakhir suatu string yangsudah ada. Maka kalimat yang tadinya adalah “Ana lihat katak”menjadi “Ana lihatkatak tadi malam”. Append() ini akan selalu menambanya di bagian akhir, tidakbisa dibagian depan atau diantara karakter yang sudah ada. Oleh karena itu kitadapat menggunakan method insert(), dimana fungsi insert() adalah untuk menyisipkandiantara karakter yang sudah ada suatu karakter/string tertentu. Perintah yangdituliskan adalah objek.insert([index karakter], “String ditambahkan”);Sebagaimana di bawah adalah statemen menambahkan string “dan Ani “ pada hurufke 4. Tentu dengan perintah tersebut akan menghasilkan “Ana dan Ani lihat kataktadi malam”. Kenapa tetap ada kata “ tadi malam”? Hal tersebut  disebabkan oleh pendefinisian sb yangterakhirlah yang digunakan, dimana saat terakhir sb bernilai “Ana lihat kataktadi malam”.
public class StringBuilderDemoTambah{
     publicstatic void main(String[]args){
       Stringpalidrome=”Ana lihat katak”;
       StringBuildersb=new StringBuilder(palidrome);
       sb.reverse();//Membalikkalimat
            System.out.println(palidrome);
            System.out.println(sb);
       sb.reverse();//Dibaliklagi
       sb.append(“tadi malam.”);
       System.out.println(sb);
       sb.insert(4,”danAni “);
       System.out.println(sb);
     }
}
HasilRunning Program:


Praktek 3.
Program ini telah dilengkapi dengan keteranganmengenai fungsi terkait dengan statemen yang dituliskan.
1.       adalah fungsi method delete(index awal,index akhir) adalah fungsi yang berguna untuk melakukan penghapusan terhadapstring yang didefinisikan dengan menuliskan index awal dan index akhir. Sepertidi bawah ini penggunaannya untuk sb1.delete(0,5) artinya menghapus sb1 yaitustring “Hallo apa kabar Budi..!” dimulai dari string 0, yaitu “H” sampaikarakter nomor 5 yaitu ‘o’. Sehingga tampilannya akan menjadi “ apa kabar”.
2.       Menggunakan method delete(index awal, indexakhir) dengan memadukan perintah length() yang berfungsi untuk mengetahuibanyaknya karakter dalam suatu string. Dengan mengetahui banyaknya karakterdalam string, maka nilai ini merupakan nilai terbesar/paling kanan dari suatustring, sehingga apabila dikurangi dengan -4 maka index awal merupakan nilaiterkanan dikurangi 4. Pada kasus tersebut nilai maksimal adalah 16 karakter,atau lebih jelasnya perintah delete di atas menjadi sb2. delete(12,16) dimana12 diperoleh dari nilai maksimal yaitu 16 dikurangi 4, dan index akhirdituliskan dengan sb2.length() yaitu bernilai 16.
3.       Untuk statemen delete ketiga di bawah iniadalah menggunakan sb3.deleteCharAt(4), yang berarti bahwa pada urutan/index keempat karakter tersebut akan dihapuskan.
public class StringBuilderDemo2{
     publicstatic void main(String[]args){
     /*
     StringBuilderdelete(int star, int end) menghapus karakter
     dariindeks star sampai indeks end-1
     */
     StringBuildersb1=new StringBuilder(“Hallo apa kabar Budi..!”);
     System.out.println(sb1);
     sb1.delete(0,5);
     System.out.println(sb1);
     StringBuildersb2=new StringBuilder(“Aku suka kamu..!”);
     System.out.println(sb2);
     sb2.delete(sb2.length()-4,sb2.length());
     System.out.println(sb2);
     /*
     StringBuilderdeleteCharAt(int index) menghapus
     karakterpada indeks tertentu.
     */
     StringBuildersb3=new StringBuilder(“Hallo Duniaaaa..!”);
     System.out.println(sb3);
     sb3.deleteCharAt(4);
     System.out.println(sb3);
     }
}
HasilRunningprogram:
Praktek 4.
Kelas program ini kebalikan dari program yang sudah kita coba diatas. Pada program di atas kita berusaha memasukkan, menambah string/karakterdari string lain. Tetapi pada program ini statemen digunakan untuk mengambilsebagian string dari string yang telah ada. Perintah yang digunakan adalah objek.substring(index awal sub string yang diambil) sehingga pada saat ada perintahstrPart1=sb.substring(5), maka dengan object sb maka akan menampilkan huruf keenam (karena dimulai dari 0) akan ditampilkan sampai pada baris stringterakhir. Kemudian pada saat kita gunakan sb.substring(0,18) maka akanmenampilkan / mengambil karakter dari 0 sampai karakter 18 dari string sb.
Maka apabila kita menggunakan perintah sb.substring(10,20), makadimaksud untuk mengambil bagian dari kalimat atau substring pada sb pada indexke 10 sampai pada karakter ke 20.
public class StringBuilderDemo3{
     publicstatic void main(String[]args){
     StringBuildersb=new StringBuilder(“Java StringBuilder contoh SubString”);
     System.out.println(“Teksasli: “+sb);
     /*
     Method SubStringbersifat overloaded dalam kelas StringBuilder
     1.String substring(int start)
     menghasilkanstring baru yang berisi runrun karakter mulai
     dariindeks star sampai indeks StringBuilder.length()-1
     */
     StringstrPart1=sb.substring(5);
     System.out.println(“Substring1 : “+strPart1);
     /*
     2.String substring(int start,int end)
     menghasilkanstring baru yang berisi runrun karakter mulai
     dariindeks star sampai indeks end-1
     */
     StringstrPart2=sb.substring(0,18);
     System.out.println(“Substring2 : “+strPart2);
     }
}
TUGAS:
public class StringBuilderTugas{
     publicstatic void main(String[]args){
       StringBuildertgs=new StringBuilder(“Agus dan Amir memancing di Waduk Sermo”);
       intcacahHuruf=tgs.length();
       char[]Huruf=new char[cacahHuruf];
       chara1=’a’;
       chara2=’A’;
       intb=0;
       intpanjang=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(“Jumlaha atau A pada kalimat di atas : “);
       System.out.println(b);
     }
}
Hasil Running:
Cara lainnya dapat dilakukan dengan menggunakan perintah yanghampir sama dapat digunakan untuk mencacah karakter tertentu dalam sekelompokstring. Pada prinsipnya adalah mencocokkan charAt(index) tertentu dengankarakter yang kita sebutkan. Sebagaimana kasus pada tugas ini menyamakankarakter pada index yang ke berapa yang karakternya sama dengan huruf ‘a’ataupun ‘A’. Maka kita perlu mencek string “Agus dan Amir memancing di WadukSermo” pada setiap karakternya dan mengindentifikasi adakah yang sama denganhuruf ‘a’ atau ‘A’. Jika sama maka fungsi penambahan b=b+1 akan dilakukan, jikatidak maka rekursif berjalan sampai pada batas maksimal jumlah string kalimat“Agus dan Amir memancing di waruk Sermo” tersebut.
public classStringBuilderTugascharAt{
     public static void main(String[]args){
        StringBuilder tgs=new StringBuilder(“Agus dan Amirmemancing 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:

DenganStringBuilder perintah untuk memodifikasi tampilan berupa huruf, kata maupundalam sebuah kalimat lebih mudah. Khususnya pada saat kita harus menambahkankarakter atau tulisan tertentu pada suatu kalimat (model insert, append) dimanakelas 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