String Object Oriented Programming with JAVA 2011/2012
Penjelasan String
String merupakan tipe data untuk menyimpan nilai berupa teks.
String merupakan class (tipe data reference).
Dalam JDK, class String disimpan dalam package java.lang sehingga tidak membutuhkan import statement.
Seperti class lainnya, String memiliki constructors dan methods.
Tidak seperti class lainnya, String memiliki dua operator, + dan += (digunakan untuk menggabung String).
Membuat String
Untuk membuat string “Java”, caranya : ◦
String java = “Java”;
◦
String java = new String(“Java”);
◦
char [] j = {'J','a','v','a'};
String java = new String(j); ◦
String s = new String(java);
◦
String tulisan = “Belajar” + “Java”;
◦
int nilai = 80;
String data = “Nilai = ” + nilai;
String dapat menyimpan lebih dari satu karakter (teks).
String v Char
Char hanya dapat menyimpan satu karakter.
String merupakan tipe data reference.
Char merupakan tipe data primitif.
Literal Strings
adalah object dari class String.
didefinisikan menggunakan double quotes di awal dan akhir string.
tidak perlu diconstruct dan dapat di-assign ke variabel.
By Sigit pangestu Universitas Brawijaya anak kediri
dapat digunakan sebagai parameter suatu method atau constructor.
memiliki method yang bisa dipanggil.
Contoh Literal String
//assign literal string ke variabel string
String nama = “Alimun”;
//memanggil method dari literal string
char firstInitial = “Alimun”.length();
//memanggil method dari variabel String
char firstInitial = nama.length();
Menampilkan String
Untuk menampilkan isi dari variabel String dapat menggunakan perintah print() atau println().
Perbedaannya, print() menampilkan String tanpa ganti baris, sedangkan println() menampilkan String dengan tambahan ganti baris diakhir String.
Immutability
Sekali dibuat, string tidak bisa diubah: tidak ada method yang bisa digunakan untuk mengubah nilai string.
Object seperti ini, disebut immutable.
Immutable objects memiliki sifat yang aman, sebab beberapa reference akan mengacu ke object yang sama dengan nilai yang tetap, tanpa ada kekhawatiran nilai akan berubah
Kerugian dari Immutability
Kurang efisien -- perlu membuat string baru dan menghapus string lama, meskipun perubahannya minimal
Strings Kosong
String kosong tidak memiliki karakter. Panjangnya 0.
Berbeda dengan string yang tidak diinisialisasi
No Argument Constructors
No-argument constructor membuat string kosong. Jarang digunakan.
Pendekatan yang umum adalah melakukan assignment suatu variabel dengan literal string yang kosong.
Copy Constructors
Copy constructor membuat duplikat dari String yang telah ada. Juga jarang digunakan
Tidak sama dengan assignment
Constructors lainnya
By Sigit pangestu Universitas Brawijaya anak kediri
Sebagian besar constructor yang lain menggunakan array bertipe karakter untuk membuat string
Method String
Ada banyak method yang dimiliki class String, diantaranya yang sering banyak di-implementasi adalah :
1. length() 2. substring() 3. charAt() 4. indefOf 5. toUpperCase() 6. toLowerCase() Dll.
Methods — Changing Case
String kata2 = kata1.toUpperCase();
String kata3 = kata1.toLowerCase(); ◦
returns string baru dari kata1 dimana string yang baru sudah diubah jadi huruf kecil semua atau huruf besar semua.
toUpperCase()
Digunakan untuk konversi atau mengubah semua karakter String menjadi huruf besar.
Syntax :
Contoh :
Output : CINTA UMM
toLowerCase()
Digunakan untuk konversi atau mengubah semua karakter String menjadi huruf kecil.
Syntax :
Contoh :
Output : cinta umm
Replacements
Contoh: untuk “mengubah” kata1 menjadi huruf besar, maka lakukan hal berikut ini:
Kesalahan umum:
Mengubah jadi lower/upper case
Method : toUpperCase atau toLowerCase
By Sigit pangestu Universitas Brawijaya anak kediri
Methods — length, charAt
int length();
char charAt(i);
Akses karakter di posisi tertentu
Method : charAt
Latihan
Output ????
Latihan
Output ????
Mencari indeks pertama karakter
Method : indexOf
Methods — Equality
boolean b = kata1.equals(kata2); ◦
returns true jika kata1 sama dengan kata2
boolean b = kata1.equalsIgnoreCase(kata2); ◦
returns true jika string kata1 cocok dengan kata2, case-blind
Membandingkan 2 string
Method : equals atau equalsIgnoreCase
Methods — Comparisons
int diff = kata1.compareTo(kata2); ◦
returns the “difference” kata1 - kata2
int diff = kata1.compareToIgnoreCase(kata2); ◦
returns the “difference” kata1 - kata2, case-blind
Contoh Comparison
Methods — substring
String subs = kata.substring (i, k); ◦
String subs = kata.substring (i); ◦
mengembalikan substring dari posisi i ke k-1
mengembalikan substring dari posisi i hingga akhir
Latihan
By Sigit pangestu Universitas Brawijaya anak kediri
Output ????
indexOf()
Digunakan untuk mengetahui nilai index atau posisi karakter tertentu pada String.
Syntax : variabel_string.indexOf(‘karakter’);
Contoh :
Output : 4
(Jika terdapat karakter yang sama dalam String maka yang diambil adalah index dari karakter yang paling kiri)
Methods — Find (indexOf)
String nama =“Presiden Soekarno";
nama.indexOf (‘P');
0
nama.indexOf (‘e');
2
nama.indexOf (“Soekarno");
9
nama.indexOf (‘e', 3);
6
nama.indexOf (“Bob");
-1
nama.lastIndexOf (‘e');
11
Latihan
Output ????
Methods — Concatenation
String kata1 = “re”, kata2 = “think”; kata3 = “ing”;
int num = 2;
String result = kata1 + kata2; ◦
String result = kata1.concat (kata2); ◦
//menggabung kata1 dan kata2 “rethink“
//menggabung kata1 dan kata2 “rethink“
result += kata3; ◦
//menggabung kata1 ke result “rethinking”
result += num; //mengubah num menjadi string //menggabung hasilnya ke result “rethinking2”
Concatenation String
Penggabungan dua String dapat dilakukan dengan menggunakan operator + (tambah).
Contoh :
By Sigit pangestu Universitas Brawijaya anak kediri
Output : Aku cinta Bahasa Java
Methods — trim
String kata2 = kata1.trim (); ◦
mengembalikan string baru dari kata1 dengan menghilangkan white space di awal dan di akhir, namun tidak yang di tengah
Methods — replace
String kata2 = kata1.replace(oldCh, newCh); ◦
returns a string baru dari kata1 dimana oldCh telah diganti dengan newCh
Numbers ke Strings
Cara mengubah angka ke string ◦
1. String s = "" + num;
◦
2. String s = Integer.toString (i);
◦
String s = Double.toString (d);
◦
3. String s = String.valueOf (num);
Kelas stringbuffer
Kelas StringBuffer serupa dengan String, namun nilai dari variabel StringBuffer dapat dimodifikasi.
Method khas dari StringBuffer : append dan insert.
Contoh
public class DemoString{ public static void main(String [] args){ StringBuffer sb1 = new StringBuffer(“Manchester ”); StringBuffer sb2 = new StringBuffer(“United”); sb1.append(sb2); System.out.println(sb1); sb1.delete(0,3); System.out.println(sb1); sb1.insert(0, “Man”); System.out.println(sb1); } }
By Sigit pangestu Universitas Brawijaya anak kediri