1 / 45

STRING

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

sheera
Download Presentation

STRING

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. STRING Object Oriented Programming with Java Teknik Informatika-UMM - 2013

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

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

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

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

  6. Deklarasi String (Bentuk 1) • Mendeklarasikanvariabel String sepertipendeklarasianvariabelbiasa. • Syntax : • Contoh : String nama; // jikaditampilkanakanmengeluarkanhasilberupanull. (Secaraotomatisakandibuatkan object String denganvariabel reference bernamanama). String nama_variabel;

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

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

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

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

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

  12. 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;

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

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

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

  16. “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

  17. 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;

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

  19. “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

  20. 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”

  21. Method String • Adabanyak method yang dimiliki class String, diantaranya yang seringbanyakdi-implementasiadalah : • length() • substring() • charAt() • indefOf • toUpperCase() • toLowerCase() Dll.

  22. 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“

  23. Replacements • Contoh: untuk “mengubah” kata1 menjadi huruf besar, maka lakukan hal berikut ini: • Kesalahan umum: kata1 = kata1.toUpperCase(); kata1 tidak berubah kata1.toUpperCase();

  24. Mengubah jadi lower/upper case • Method : toUpperCase atau toLowerCase

  25. 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'

  26. Akses karakter di posisi tertentu • Method : charAt

  27. Mencari indeks pertama karakter • Method : indexOf

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

  29. Membandingkan 2 string • Method : equals atau equalsIgnoreCase

  30. 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… }

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

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

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

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

  35. 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”

  36. 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); }

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

  38. 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“

  39. 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”

  40. Kelas stringbuffer

  41. Kelas StringBuffer serupa dengan String, namun nilai dari variabel StringBuffer dapat dimodifikasi. • Method khas dari StringBuffer : append dan insert.

  42. 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); } }

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

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

  45. Reference • Berbagai sumber

More Related