STRING

45
Object Oriented Programming with Java Teknik Informatika-UMM - 2013 STRING

description

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). - PowerPoint PPT Presentation

Transcript of STRING

Page 1: STRING

Object Oriented Programming with JavaTeknik Informatika-UMM - 2013

STRING

Page 2: STRING

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).

Page 3: 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.

Page 4: 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. Untuk melakukan inisialisasi

menggunakan tanda “ (double-quote). Inisialisasi char menggunakan tanda ‘

(single-quote).

Page 5: STRING

Deklarasi String

Sebenarnya, ketika dideklarasikan variabel bertipe String maka akan dibuat sebuah object. Walaupun secara implisit tidak dituliskan new.

Ada beberapa cara deklarasi String, diantaranya sbb :

1. String nama_variabel;2. String nama_variabel = nilai;3. String nama_variabel = new String(char);4. Dll.

Page 6: STRING

Deklarasi String (Bentuk 1)

Mendeklarasikan variabel String seperti pendeklarasian variabel biasa.

Syntax :

Contoh :String nama; // jika ditampilkan akan mengeluarkan hasil berupa null.

(Secara otomatis akan dibuatkan object String dengan variabel reference bernama nama).

String nama_variabel;

Page 7: STRING

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();

Page 8: 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);

Page 9: STRING

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[]);

Page 10: STRING

Deklarasi String (Bentuk 5)

Mendeklarasikan variabel String dan mengisinya dengan sub-array dari array karakter yang dideklarasikan.

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);

Page 11: STRING

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.

Page 12: STRING

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;

Page 13: STRING

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.

Page 14: STRING

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();

Page 15: 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

Page 16: STRING

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 “java"

“Java"

Page 17: STRING

Strings Kosong

String kosong tidak memiliki karakter. Panjangnya 0.

Berbeda dengan string yang tidak diinisialisasi

String kata1 = ""; String kata2 = new String();

private String errorMsg; errorMsg adalah null

String kosong

Page 18: STRING

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 = “”;//tidak ada apa2 di antara quotes

String kosong = new String();

Page 19: STRING

Copy Constructors

Copy constructor membuat duplikat dari String yang telah ada. Juga jarang digunakan

Tidak sama dengan assignment

String kata = new String(“Java”);String kata2 = new String(kata);

kata

kata2

“Java"“Java"

Copy Constructor: Tiap variabel menunjuk ke object string yang berbeda

String kata = “Java”;String kata2 = kata;

kata“Java"

kata2

Assignment: kedua variabel menunjuk ke object yang sama

Page 20: STRING

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”

Page 21: STRING

Method String

Ada banyak method yang dimiliki class String, diantaranya yang sering banyak di-implementasi adalah :

1. length()2. substring()3. charAt()4. indefOf5. toUpperCase()6. toLowerCase()Dll.

Page 22: STRING

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“

Page 23: STRING

Replacements

Contoh: untuk “mengubah” kata1 menjadi huruf besar, maka lakukan hal berikut ini:

Kesalahan umum:

kata1 = kata1.toUpperCase();

kata1.toUpperCase(); kata1 tidak

berubah

Page 24: STRING

Mengubah jadi lower/upper case Method : toUpperCase atau toLowerCase

Page 25: STRING

Methods — length, charAt

int length();

char charAt(i);

Mendapatkan panjang string

Mendapatkan karakter di posisi i

7

’n'

”Problem".length();

”Window".charAt (2);

Returns:

Posisi karakter dimulai pada posisi 0, seperti array.

Page 26: STRING

Akses karakter di posisi tertentu Method : charAt

Page 27: STRING

Mencari indeks pertama karakter Method : indexOf

Page 28: STRING

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-blindb = “Raiders”.equals(“Raiders”);//trueb = “Raiders”.equals(“raiders”);//falseb = “Raiders”.equalsIgnoreCase(“raiders”);//true

if(team.equalsIgnoreCase(“raiders”))System.out.println(“Go You “ + team);

Page 29: STRING

Membandingkan 2 string

Method : equals atau equalsIgnoreCase

Page 30: STRING

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…

}

Page 31: STRING

Contoh Comparison

//negative differencesdiff = “apple”.compareTo(“berry”);//a before bdiff = “Zebra”.compareTo(“apple”);//Z before adiff = “dig”.compareTo(“dug”);//i before udiff = “dig”.compareTo(“digs”);//dig is shorter

//zero differencesdiff = “apple”.compareTo(“apple”);//equaldiff = “dig”.compareToIgnoreCase(“DIG”);//equal

//positive differencesdiff = “berry”.compareTo(“apple”);//b after adiff = “apple”.compareTo(“Apple”);//a after Adiff = “BIT”.compareTo(“BIG”);//T after Gdiff = “huge”.compareTo(“hug”);//huge is longer

Page 32: STRING

Methods — substring

“lev"“mutable""" (empty string)

”television".substring (2,5); “immutable".substring (2);“bob".substring (9);

Returns:

television

i k

television

i

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.

Page 33: STRING

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 = "cinta umm"; System.out.println(nama.indexOf(‘a’));}

Page 34: STRING

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

Returns:

(ngga ketemu)

(mulai posisi ketiga)

0 2 6 9 11

Page 35: STRING

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”

Page 36: STRING

Concatenation String

Penggabungan dua String dapat dilakukan dengan menggunakan operator + (tambah).

Contoh :

Output : Aku cinta Bahasa Java

public class TestString{ String teks1= “Aku cinta "; String teks2= “Bahasa Java"; System.out.println(teks1 + teks2);}

Page 37: STRING

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

Page 38: STRING

Methods — replace

String kata2 = kata1.replace(oldCh, newCh); returns a string baru dari kata1

dimana oldCh telah diganti dengan newChString kata1 = “rare“;

String kata2 = “rare“.replace(‘r’, ‘d’); //kata2 adalah “dade”, tapi kata1 tetap “rare“

Page 39: STRING

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 = String.valueOf(123);//”123”

s = “” + 123;//”123”

s = Integer.toString(123);//”123”s = Double.toString(3.14); //”3.14”

Page 40: STRING

Kelas stringbuffer

Page 41: STRING

Kelas StringBuffer serupa dengan String, namun nilai dari variabel StringBuffer dapat dimodifikasi.

Method khas dari StringBuffer : append dan insert.

Page 42: STRING

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);

}

}

Page 43: STRING

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()

Page 44: STRING

Tugas (2)

Silahkan buka API Java pada alamat ini : http://download.oracle.com/javase/6/docs/api/

Masuklah pada java.lang, kemudian cari class String.

Perintah :1. Hitung berapa banyak constructor yang dimiliki

oleh class String.2. Ada berapa method yang dimiliki oleh class

String.3. Sebutkan 3 method beserta kegunaannya

(selain yang sudah disebutkan pada slide).

Page 45: STRING

Reference

Berbagai sumber