450 likes | 769 Views
STRING. Object Oriented Programming with Java Teknik Informatika-UMM - 2013. Penjelasan String. String merupakan tipe data untuk menyimpan nilai berupa teks. String merupakan class (tipe data reference).
E N D
STRING Object Oriented Programming with Java Teknik Informatika-UMM - 2013
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.langsehingga 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).
String v Char • String dapat menyimpan lebih dari satu karakter (teks). • Char hanya dapat menyimpan satu karakter. • String merupakan tipe data reference. • Char merupakan tipe data primitif.
String v Char • String dapat menyimpan lebih dari satu karakter (teks). • Char hanya dapat menyimpan satu karakter. • String merupakan tipe data reference. • Char merupakan tipe data primitif. • Untuk melakukan inisialisasi menggunakan tanda “ (double-quote). • Inisialisasi char menggunakan tanda ‘ (single-quote).
Deklarasi String • Sebenarnya, ketikadideklarasikanvariabelbertipe String makaakandibuatsebuah object. Walaupunsecaraimplisittidakdituliskannew. • Adabeberapacaradeklarasi String, diantaranyasbb : • String nama_variabel; • String nama_variabel = nilai; • String nama_variabel = new String(char); • Dll.
Deklarasi String (Bentuk 1) • Mendeklarasikanvariabel String sepertipendeklarasianvariabelbiasa. • Syntax : • Contoh : String nama; // jikaditampilkanakanmengeluarkanhasilberupanull. (Secaraotomatisakandibuatkan object String denganvariabel reference bernamanama). String nama_variabel;
Deklarasi String (Bentuk 2) • Mendeklarasikan variabel String seperti instansiasi object. • Syntax : • Contoh : String nama = new String(); // jika ditampilkan tidak akan mengeluarkan hasil apapun karena hanya menjalankan constructor kosong. String nama_var = new String();
Deklarasi String (Bentuk 3) • Mendeklarasikan variabel String sekaligus inisialisasi atau pengisian nilai. • Syntax : • Contoh : String nama = ”Cinta Indonesia”; String nama = new String(”Cinta Indonesia”); (sama-sama akan memanggil constructor yang dimiliki oleh class String untuk menginisialisasi nilai) String nama_var = nilai; atau String nama_var = new String(nilai);
Deklarasi String (Bentuk 4) • Mendeklarasikan variabel String dan mengisinya dengan array karakter. • Syntax : • Contoh : char a[]={‘a’,’b’,’c’,’d’,’e’}; String nama = new String(a); // jika ditampilkan akan keluar hasil berupa string abcde. String nama_var = new String(char[]);
Deklarasi String (Bentuk 5) • Mendeklarasikan variabel String dan mengisinya dengan sub-array dari array karakter yangdideklarasikan. • Syntax : • Penjelasan : char[] = variabel bertipe array of character. offset = index awal dari sub-array. count = jumlah karakter yang akan diambil. String nama_var = new String(char[],int offset, int count);
Contoh : Bentuk 5 (syntax 1) • Contoh : char a[]={‘a’,’b’,’c’,’d’,’e’}; String nama = new String(a,1,3); output :bcd //karena index array dimulai dari 0 maka dengan offset=1 karakter awal dari sub-array adalah ‘b’. Kemudian dengan count=3 akan mengambil 3 karakter kekanan sehingga jika String nama ditampilkan hasilnya bcd.
Contoh Deklarasi String • 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;
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. • 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 • int firstInitial = “Alimun”.length(); • //memanggil method dari variabel String • int firstInitial = nama.length();
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
“java" “Java" Kerugian dari Immutability • Kurang efisien -- perlu membuat string baru dan menghapus string lama, meskipun perubahannya minimal String kata = “java"; char ch = Character.toUpperCase(kata.charAt (0)); kata = ch + kata.substring (1); kata
Strings Kosong • String kosong tidak memiliki karakter. Panjangnya 0. • Berbeda dengan string yang tidak diinisialisasi String kosong String kata1 = ""; String kata2 = new String(); errorMsg adalah null private String errorMsg;
No Argument Constructors • No-argument constructor membuat string kosong. Jarang digunakan. • Pendekatan yang umum adalah melakukan assignment suatu variabel dengan literal string yang kosong. String kosong = new String(); String kosong = “”;//tidak ada apa2 di antara quotes
“Java" “Java" “Java" Copy Constructors • Copy constructor membuat duplikat dari String yang telah ada. Juga jarang digunakan • Tidak sama dengan assignment Copy Constructor: Tiap variabel menunjuk ke object string yang berbeda kata String kata = new String(“Java”);String kata2 = new String(kata); kata2 Assignment: kedua variabel menunjuk ke object yang sama kata String kata = “Java”;String kata2 = kata; kata2
Constructors lainnya • Sebagian besar constructor yang lain menggunakan array bertipe karakter untuk membuat string char[] karakter = {‘J’, ‘a’, ‘v’, ‘a’};String kata = new String(karakter);//”Java”
Method String • Adabanyak method yang dimiliki class String, diantaranya yang seringbanyakdi-implementasiadalah : • length() • substring() • charAt() • indefOf • toUpperCase() • 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. String kata1 = “HeLLo“; String kata2 = kata1.toUpperCase();//”HELLO” String kata3 = kata1.toLowerCase();//”hello” //kata1 tetap “HeLLo“
Replacements • Contoh: untuk “mengubah” kata1 menjadi huruf besar, maka lakukan hal berikut ini: • Kesalahan umum: kata1 = kata1.toUpperCase(); kata1 tidak berubah kata1.toUpperCase();
Mengubah jadi lower/upper case • Method : toUpperCase atau toLowerCase
Methods — length, charAt • int length(); • char charAt(i); • Mendapatkan panjang string • Mendapatkan karakter di posisi i Posisi karakter dimulai pada posisi 0, seperti array. Returns: ”Problem".length(); ”Window".charAt (2); 7 ’n'
Akses karakter di posisi tertentu • Method : charAt
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 b = “Raiders”.equals(“Raiders”);//true b = “Raiders”.equals(“raiders”);//falseb = “Raiders”.equalsIgnoreCase(“raiders”);//true if(team.equalsIgnoreCase(“raiders”)) System.out.println(“Go You “ + team);
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 Biasanya programer tidak peduli dengan perbedaan numeric antara kata1 - kata2, yang diperhatikan biasanya nilai negative, positive atau nol. Sering digunakan untuk condisional if(kata1.compareTo(kata2) > 0){ //kata1 setelah kata2… }
Contoh Comparison //negative differences diff = “apple”.compareTo(“berry”);//a before b diff = “Zebra”.compareTo(“apple”);//Z before a diff = “dig”.compareTo(“dug”);//i before u diff = “dig”.compareTo(“digs”);//dig is shorter //zero differences diff = “apple”.compareTo(“apple”);//equal diff = “dig”.compareToIgnoreCase(“DIG”);//equal //positive differences diff = “berry”.compareTo(“apple”);//b after a diff = “apple”.compareTo(“Apple”);//a after A diff = “BIT”.compareTo(“BIG”);//T after G diff = “huge”.compareTo(“hug”);//huge is longer
Methods — substring • String subs = kata.substring (i, k); • mengembalikan substring dari posisi i ke k-1 • String subs = kata.substring (i); • mengembalikan substring dari posisi i hingga akhir Mengembalikan string baru dengan meng-kopi serangkaian karakter dari string yang ada. television i k television i Returns: “lev" “mutable" "" (empty string) ”television".substring (2,5); “immutable".substring (2); “bob".substring (9);
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) public class TestString{ String nama = "cintaumm"; System.out.println(nama.indexOf(‘a’)); }
Methods — Find (indexOf) 0 2 6 9 11 • 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 Returns: (mulai posisi ketiga) (ngga ketemu)
Methods — Concatenation • String kata1 = “re”, kata2 = “think”; kata3 = “ing”; • int num = 2; • String result = kata1 + kata2; • //menggabung kata1 dan kata2 “rethink“ • String result = kata1.concat (kata2); • //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 : • Output : Aku cinta Bahasa Java public class TestString{ String teks1= “Akucinta "; String teks2= “Bahasa Java"; System.out.println(teks1 + teks2); }
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 String kata1 = “ Hi Bob “; String kata2 = kata1.trim(); //kata2 is “Hi Bob” – tidak ada white space di awal atau akhir //kata1 tetap “ Hi Bob “ – dengan withe spaces
Methods — replace • String kata2 = kata1.replace(oldCh, newCh); • returns a string baru dari kata1 dimana oldCh telah diganti dengan newCh String kata1 = “rare“; String kata2 = “rare“.replace(‘r’, ‘d’); //kata2 adalah “dade”, tapi kata1 tetap “rare“
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); Integer dan Double adalah “wrapper” classes dari java.lang yg merepresentasikan angka sebagai object. Class ini juga memiliki metode statistik s = “” + 123;//”123” s = Integer.toString(123);//”123” s = Double.toString(3.14); //”3.14” s = String.valueOf(123);//”123”
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); } }
Tugas (1) • Dengan memperhatikan output dari program class StringDemo, jelaskan kegunaan dari method-method berikut ini : • charAt(index) • equals() • equalsIsIgnoreCase() • compareTo() • compareToIgnoreCase() • toCharArray() • getChar() • replace() • trim() • valueOf() • substring()
Tugas (2) • Silahkanbuka API Java padaalamatini : http://download.oracle.com/javase/6/docs/api/ • Masuklahpadajava.lang, kemudiancari class String. • Perintah : • Hitungberapabanyak constructor yang dimilikioleh class String. • Adaberapa method yang dimilikioleh class String. • Sebutkan 3 method besertakegunaannya (selain yang sudahdisebutkanpada slide).
Reference • Berbagai sumber