STRING

Post on 15-Jan-2016

132 views 12 download

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

Object Oriented Programming with JavaTeknik Informatika-UMM - 2013

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

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

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;

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

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

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"

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

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

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

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

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.

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.toUpperCase(); kata1 tidak

berubah

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

7

’n'

”Problem".length();

”Window".charAt (2);

Returns:

Posisi karakter dimulai pada posisi 0, seperti array.

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

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.

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

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

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= “Aku cinta "; 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 newChString 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 = String.valueOf(123);//”123”

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

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

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

}

}

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)

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

Reference

Berbagai sumber