STRING String Buffer By Aulia Oktavella P 2103141015
STRING String Buffer By : Aulia Oktavella P. (2103141015) String Builder
String Pengertian String Konstruktor String Penyimpanan & Kekekalan String Method String Concat( )
Pengertian String merupakan salah satu tipe data yang sangat sering digunakan dalam membuat program. Kali ini kita akan membahas bagaimana cara menggunakan fungsi – fungsi dasar String di Java memiliki banyak sekali fungsi dasar yang sangat berguna ketika kita ingin melakukan prosessing kata, Dalam pemrograman Java string merupakan aspek penting, karena dapat mempelajari mengenai class dan objek melalui penggunaan string. String sebenarnya merupakan class yang terdapat dalam library Java String merupakan salah satu kelas dasar yang disediakan oleh Java untuk memanipulasi karakter. String
Pengertian String Di dalam java, String adalah object. Object String dapat dibuat dengan salah satu dari 2 cara, yaitu : 1. Penulisan sesuatu di dalam tanda antara petik ganda (literal String). Ex : String s = ”Halo”; System. out. println(“Percobaan”); 2. Pembuatan object String dengan keyword new. Ex : String s = new String(“Halo”); · Kelas java. lang. String bermodifier final, sehingga tidak dapat diturunkan [1]. String
Pengertian String STRING DAN MEMORY Dalam java, dikenal 2 buah jenis memory, yaitu [1]: 1. Stack (tempat local variable dan tumpukan method) 000 q c Di dalam heap terdapat bagian memory yang disebut dengan String constant pool [2]. Bila kita membuat object String dengan penulisan sesuatu di antara tanda petik ganda (literal String), maka object String tersebut akan berada di dalam String constant pool [1]. Ex : String s = ”Halo”; Sedangkan bila kita membuat String dengan keyword new, maka object String tersebut akan berada di dalam heap (tetapi diluar String constant pool) [1]. String Ex : String s = new String(”Halo”);
Konstruktor String Syntax Description Example String(); Inisialisasi dan membuat obyek String yang tidak berisi karakter. Sama dengan String(“”); String(String Value); Inisialisasi dan membuat obyek String Isikan string nya. String(“Hello world. ”); String(String. Buffer buffer); Isinya identik dengan String(new serangkaian karakter String. Buffer()); yang disimpan pada obyek String. Buffer String
Penyimpanan & Kekekalan String • Java mempunyai media penyimpanan literal string yang disebut “pool”. • Jika suatu literal string sudah ada di pool, Java “tidak akan membuat copy lagi”. • obyek String bukanlah string itu sendiri, ia hanya merujuk ke lokasi memori yang berisi karakter string String a = “hello”; String b = “hello”; String c = “hello”; • Untuk menghemat tempat dan mengurangi kompleksitas, walaupun tiga string yang diinisialisasi, compiler Java hanya membuat satu ruang memori untuk menyimpan teks hello. Ruang memori digunakan bersama-sama oleh tiga obyek String, Sedangkan variabel a, b, dan c hanya pointer String yang menunjuk ke lokasi memori tersebut
Penyimpanan & Kekekalan String • Perubahan satu string jelas akan mempengaruhi dua string yang lain. Karena itu dengan tidak diijinkannya manipulasi string secara langsung, Lingkungan Java mencegah perubahan satu string berdampak pada string yang lainnya. String a = “hello”; String b = “hi”; String c = a; c = b • Dua lokasi memori untuk menempatkan string. String pertama berisi hello String kedua berisi hi, Variabel String c menunjuk String pertama kemudian menunjuk ke String yang lainnya String
Penyimpanan & Kekekalan String public class Test { public static void main(String args[]) String a = “java”; String b = “java”; String x = “ja”; String y = “va”; String c = x + y; if (a == b){ System. out. println(“a and b are }else System. out. println(“a and b are if (b == c){ System. out. println(“a and c are }else System. out. println(“a and c are } } { the same object”); not the same object”); Output source code di atas : a and b are the same object a and c are not the same object Ketika source Java dieksekusi, isi variabel String a, b, dan c adalah sama : “java. ” Tetapi, a, b, dan c tidak akan menunjuk lokasi memori yang sama, Dan karena itu perbandingan kedua akan gagal. Karena String a dan b didefinisikan saat compile dan isinya sama, maka referensi lokasi memorinya sama. String c dialokasikan saat run time dan akan Disimpan String
Method String equals( ) substring( ) equals. Ignore. Case( ) index. Of( ) compare. To( ) last. Index. Of( ) to. Upper. Case( ) starts. With( ) to. Lower. Case( ) trim( ) char. At( ) concat( ) replace( ) String
Method String equals ( ) public class Equals { Method equals () dari kelas String lebih dipilih untuk memeriksa kesamaan string. Method equals () mengembalikan nilai true jika parameter stringnya identik dengan sumber string jika } tidak, memberikan nilai false. Kesamaan string adalah casesensitive, sehingga jika ada perbedaan akan dihasilkan false. Parameter null juga akan Memberikan nilai false public static void main(String[] args) { String a = "hello"; String b = "HELLO"; if(a. equals(b)== true){ System. out. println(a+"dan"+b+"sama"); }else System. out. println(a+"dan"+b+"tidak sama"); } String
Method String equals. Ignore. Case() public class equals. Ignore. Case { public static void main(String[] args) { String a = "hello"; String b = "HELLO"; Method equals. Ignore. Case () untuk menentukan kesamaan string tanpa memperhatikan penulisannya. if(a. equals. Ignore. Case(b)== true){ System. out. println(a +"dan"+b+"sama"); }else System. out. println(a +"dan"+b+"tidaksama"); } } Method mengembalikan nilai true jika kedua string sama, meskipun penulisannya berbeda. Jika tidak, methodmengembalikan nilai false. Null argumen juga akan dikembalikan sebagai nilai false String
Method String compare. To() public class compare. To { public static void main (String args[]){ String a ="one"; String b ="two"; String c ="three"; if(a. compare. To(b)<0){ System. out. println("one appears before two"); } Method compare. To() biasanya digunakan untuk penyortiran. Method ini digunakan untuk membandingka dua string dalam konteks alfabet. if(b. compare. To(c)>0){ System. out. println("three appears before two"); } Jika string yang target lebih akhir dalam urutan abjad dibanding } referansinya, maka method akn mengembalikan negatif, dan sebaliknya. Tapi jika kedua string sama, maka akan mengembalikan 0. } String
Method String to. Upper. Case() Method to. Upper. Case () menghasilkan string yang identik dengan yang string asal, kecuali bahwa setiap karakter huruf kecildiubah menjadi huruf besar. public class to. Upper. Case { public static void main(String[] args){ String a ="d 3"; String b ="Teknik"; String c ="INfo. Rmati. Ka"; System. out. println(a. to. Upper. Case()); System. out. println(b. to. Upper. Case()); System. out. println(c. to. Upper. Case()); } } Jika string asal sudah uppercase, maka string yang dikembalikan sama dengan string asal. String
Method String to. Lower. Case() Method to. Lower. Case () menghasilkan string yang identik dengan yang string asal, kecuali bahwa setiap karakter huruf besar diubah menjadi huruf kecil. public class to. Lower. Case { public static void main(String[] args){ String a ="D 3"; String b ="TEKNik"; String c ="INFORmati. KA"; System. out. println(a. to. Lower. Case()); System. out. println(b. to. Lower. Case()); System. out. println(c. to. Lower. Case()); } String yang asli tidak berubah, hanya string yang dikembalikan berbeda. Catatan: Jika string asal sudah lowercase, maka string yang dikembalikan sama dengan string asal. } String
Method String char. At() Method char. At() ini akan mengembalikan karakter pada indeks yang ditunjuk oleh string. public class char. At { public static void main (String args[]){ String a ="TEKNIK INFORMATIKA"; System. out. println(a. char. At(0)); System. out. println(a. char. At(7)); } } String
Method String substring() Method substring()dibagi menjadi dua: substring(int start) akan mengembalikan sebagaian karakter dari string mulai dari indeks ke start sampai akhir. public class substring { public static void main (String args[]){ String a ="TEKNIK INFORMATIKA"; System. out. println(a. substring(6)); System. out. println(a. substring(1, 10)); } } substring(int start, int end) akan mengembalikan karakter dari indeks ke start sampai end saja. String
Method String index. Of() Method index. Of() digunakan untuk mencari string, mengembalikan posisi pertama yang ditemukan dari string target. index. Of(char ch), index. Of(char ch, int index), indexof(String s), index. Of(String s, int index) public class index. Of { public static void main(String args[]){ String kata ="TEKNIK INFORMATIKA"; System. out. println(kata. index. Of("K")); System. out. println(kata. index. Of("A", 14)); System. out. println(kata. index. Of("NIK")); } } Jika karakter atau string target tidak ditemukan akan mengembalikan nilai -1. Pencarian adalah case sensitive. Method index. Of() juga dioverloaded untuk menerima parameter kedua yang menyatakan di mana posisi awal pencarian. String
Method String last. Index. Of() public class last. Index. Of { public static void main (String args[]){ String kata ="TEKNIK INFORMATIKA"; Method index. Of() ini hampir sama dengan index. Of() hanya saja pencarian akan dimulai dengan posisi yang terakhir. Tetapi tidak seperti index. Of(), } pencarian last. Index. Of() dimulai di posisi terakhir dari string. Sedangkan pada index. Of() dipanggil dengan parameter kedua untuk mulai mencari pada lokasi yang lain melanjutkan dari kanan ke kiri. System. out. println(kata. last. Index. Of("A")); System. out. println(kata. last. Index. Of("A", 5)); System. out. println(kata. last. Index. Of("NIK")); System. out. println(kata. last. Index. Of("FORM", 3)); } String
Method String starts. With() Method starts. With() digunakan untuk menguji apakah string diawali dengan spesifik karakter tertentu. Alternatif pemanggilan method memulai pengujian dengan spesifik alamat dan public class Test { public mirip dengan substring(). public class starts. With { public static void main(String[] args){ String s = "knowledge"; if(s. starts. With("know")){ System. out. println(s+" begins with know"); } if(s. starts. With("led", 7)){ System. out. println("starting at position 4 it begins led"); }else System. out. println("led not starting at position 4"); } } String
Method String trim() Method trim() digunakan untuk membuang spasi, tab, dan form feeds dari awal sampai akhir yang tidak diperlukan. public class trim { public static void main(String[] args){ String s 1 = " NRP 2103141015 String s 2 = s 1. trim(); "; System. out. println(s 2); } } String
Method String( ) concat() Method concat() untuk menggabungkan string. public class concat { public static void main(String[] arg){ String a = "Teknik "; String b = "Informatika"; System. out. println("Dengan concat = "+a. concat(b)); System. out. println("Dengan a+b = "+a+b); } } String
Method String replace() Method replace (char old. Char, char new. Char) Mengembalikan sebuah object String baru dimana semua huruf yang sesuai dengan argumen old. Char pada object String tempat method replace dipanggil diganti dengan huruf pada argumen new. Char [2]. public class replace { public static void main(String[] args){ String s = "Balonku ada lima, rupa-rupa warnanya". replace("a", "i"); System. out. println("s = " + s); } } String
String Buffe r Pengertian String. Buffer Method String. Buffer Konstruktor String. Buffer
Pengertian String. Buffer merupakan class yang digunakan untuk mengubah isi dari suatu string. Alasan digunakan String. Buffer karena string memiliki sifat kekal (immutable string). Dalam String. Buffer juga terdapat beberapa method sepertihalnya String. Berikut akan saya jelaskan beberapa method dalam String. Buffer. Masalah utama dengan class String adalah sifat kekekalannya. Lebih mudah dan efisien jika sebuah string dapat langsung diubah. Java menyediakan alternatif class yaitu String. Buffer, untuk mengatasi masalah ini. String. Buffer adalah string yang dapat dimodifikasi. String. Buffers digunakan secara internal untuk mengimplementasikan method-method yang ada dalam class String. Buffer dapat membawa sejumlah karakter pada penciptaannya. Hal ini dikenal sebagai kapasitas. String. Buffer memiliki default Buffe kapasitas 16 karakter, tapi biasanya pemrogram mendefinisikan kapasitas r pada penciptaan. Misalnya, untuk menciptakan String. Buffer kosong dengan kapasitas 100 karakter sbb : String. Buffer b = new String. Buffer(100);
Konstruktor String. Buffer Sintak Deskripsi Contoh String. Buffer () Menginisialisasi dan membuat String. Buffer(); objek String. Buffer kosong dengan kapasitas default 16 karakter. Sama seperti jika kita membuat dengan sintak String. Buffer(16) String. Buffer (int capacity) Menginisialisasi dan membuat String. Buffer(100); Objek String. Buffer dengan kapasitas yang ditentukan String. Buffer ( String value) Menginisialisasi dan membuat String. Buffer(“Hello world. ”); objek String. Buffer. Parameter berupa String dengan kapasitas 16 ditambah dengan panjang String Buffe r
Method String. Buffer capacity() append() insert() reverse() ser. Char. At() delete() length() String Buffe r
Method String. Buffer ty( i c a cap ) public class Capacity { public static void main(String[] args) { String kata = "Java"; capacity() Method ini digunakan untuk mengetahui kapasitas dari suatu variabel String. Buffer Contoh : Cara diatas akan membuat } } String. Buffer dengan kapasitas 21 (16 ditambah dengan panjang string argument) yang berisi string ”hello”. String. Buffer a = new String. Buffer(); String. Buffer b = new String. Buffer(50); String. Buffer c = new String. Buffer(kata); System. out. println("a = "+a. capacity()); System. out. println("b = "+b. capacity()); System. out. println("c = "+c. capacity()); String Buffe r
Method String. Buffer () e s r eve r public class reverse { public static void main (String[] args){ String. Buffer a = new String. Buffer("Hello"); System. out. println(a); a. reverse(); System. out. println(a); reverse() Method ini digunakan untuk membalik isi dari variabel String. Buffer. } } String Buffe r
Method String. Buffer t( A r a ) h C r se set. Char. At(int index, char ch) Method ini digunakan untuk mengubah karakter pada indeks tertentu menjadi karakter lain. public class set. Char. At { public static void main(String[] args){ String. Buffer a = new String. Buffer("Java"); a. set. Char. At(0, 'J'); a. set. Char. At(3, 'A'); System. out. println(a); } } String Buffe r
Method String. Buffer ) ( d en app public class append { public static void main(String[] args){ String. Buffer a = new String. Buffer("Test"); System. out. println(a); a. append("ing"); System. out. println(a); append() Method ini digunakan untuk menambahkan String pada akhir objek String. Buffer. a. append("123"); System. out. println(a); } } String Buffe r
Method String. Buffer () t r e ins public class insert { public static void main(String[] args){ String. Buffer a = new String. Buffer("Toher"); System. out. println(a); insert(int index, Object obj) method insert() dari class String. Buffer untuk menyisipkan string ke objek String. Buffer pada posisi tertentu. a. insert(2, "get"); System. out. println(a); } } String Buffe r
Method String. Buffer ) ( e t le de delete(int start, int end) method delete() untuk menghapus karakter pada String. Buffer. Method ini mempunyai dua argumen yaitu posisi awal dan akhir. Posisi akhir adalah karakter sebelum karakter pada posisi akhir yang akan dihapus. public class delete { public static void main(String[] args){ String. Buffer a = new String. Buffer("We’ll delete characters from this sentence"); System. out. println(a); a. delete(0, 13); System. out. println(a); a. delete(10, 33); System. out. println(a); } } String Buffe r
Method String. Buffer () h t g length() method length() mengembalikan panjang dari objek String. Buffer. Jika objek String. Buffer kosong maka mengembalikan nilai 0. public class length { public static void main(String[] args){ String. Buffer a = new String. Buffer("012345"); System. out. println(a. capacity()); System. out. println(a. length()); } } String Buffe r
String Builder Pengertian String. Builder Perbedaan String. Buffer dan String. Builder Perbedaan String dan String. Builder
Pengertian String. Builder Class String. Builder ditambahkan di Java 5 • Fungsi-fungsi yang ada di String. Buffer sama seperti fungsi yang ada di String. Builder. • Java Sun merekomendasikan menggunakan String. Builder dibandingkan dengan String. Buffer karena String. Builder dapat berjalan lebih cepat. • Tapi String. Builder ini tidak aman untuk multiple thread karena tidak mendukung sinkronisasi Kelas java. lang. String sangat tidak efektif bila kita ingin melakukan banyak modifikasi terhadap suatu string, hal ini karena sifat dari kelas java. lang. String yang immutable (banyak modfikasi pada suatu kelas String akan dapat menyebabkan banyaknya object. String yang terlibat). Kelas java. lang. String. Buffer dan java. lang. String. Build ermengatasi permasalahan ini (mutable) [1]. String Builder
Perbedaan String dan String. Builder Perbedaan utama antara kelas java. lang. String. Buffer dan kelasjava. lang. String. Builder [1]: Sun merekomendasikan kita menggunakan String. Builder bila kita tidak berhubungan dengan threading [1] Perbedaan java. lang. String. Buffer java. lang. String. Builder Thread safe Ya Tidak Kecepatan Lebih lambat dari kelasjava. lang. String. Buil der Lebih cepat dari kelasjava. lang. String. Buff er. String Builder
Perbedaan String. Buffer dan String. Builder Perbedaan lain antara String. Buffer / String. Builder dengan java. lang. String adalahobject yang berubah saat suatu method dipanggil [2]. Perhatikan contoh berikut [2] : Kelas java. lang. Strin g Kelas java. lang. String. Buil der String s; s = new String(”ABC”); s. concat(“DEF”); System. out. println(s); String. Builder sb; sb = new String. Builder(“ABC”); sb. append(“DEF”); System. out. println(sb); Akan mencetak : Pada kelas java. lang. String, method-method akan ABCDEF mengembalikan object String baru (hasil modifikasi) tanpa merubah object String tempat method dipanggil (karena immutable)[2]. Pada kelas java. lang. String. Buffer dan java. lang. String. Builder, method-method akan memodifikasi object tempat method dipanggil, dan kemudian mengembalikan object tersebut sebagai return value dari method [2]. String Builder
THANK’S FOR ATTENTION
- Slides: 39