String dan Array

PENDAHULUAN

?Tipe data String merupakan tipe data spesial pada pemrograman Java karena diperlakukan secara berbeda (tidak seperti tipe data yang lain). ?String merupakan sebuah kelas yang memiliki beberapa method.

Contoh:

String nama = “Arya”;
System.out.println(nama.length());
System.out.println(nama.substr(0,2));

?String merupakan deretan karakter, sehingga:

String nama = “arya”;

?Sama dengan:

char[] arrayNama = {‘a’,‘r’,‘y’,‘a’ };
String nama = new String(arrayNama);

PANJANG STRING

?Method length()digunakan untuk mendapatkan panjang string.

String name = “arya d”;
System.out.println(name.length()); 
System.out.println(“ary”.length());

PENGGABUNGAN STRING

?Dua buah string bisa digabungkan dengan menggunakan method concat() atau dengan menggunakan operator +

String name = “arya”;
String lastname = name.concat(“ dharmaadi”);
String fullname = “putu ” + lastname;

PERBANDINGAN STRING

  • ?equals() ==> mengecek kesamaan string, menghasilkan true/false
  • ?equalsIgnoreCase() ==> mengecek kesamaan string tanpa melihat huruf besar maupun huruf kecil, menghasilkan true/false
  • ?compareTo() ==> mengecek string per masing-masing karakter, menghasilkan integer. Bernilai nol jika string sama.

SUB STRING

?Digunakan untuk mendapatkan string yang merupakan bagian dari string. ?Bentuk method:

String substring(int beginIndex);
String substring(int beginIndex, int endIndex);

Contoh:

“hello”.substring(1,3);

FORMAT STRING

?Gunakan method printf() atau format() untuk mempermudah mencetak beberapa variabel pada sebuah string.

Contoh:

System.out.printf(“Halo %s, umur anda %d”, name, age);
String s = String.format(“Halo %s, umur	anda %d”, name, age);
System.out.println(s);

ESCAPE STRING

?Karakter yang digunakan oleh Java untuk mengetikkan karakter khusus, biasanya diawali oleh karakter \ (backslash)

  • ?\n  untuk newline
  • ?\t   untuk tab
  • ?\\   untuk karakter \ (backslash)
  • ?\”   untuk karakter “ (double quote)
  • ?\’   untuk karakter ‘ (apostrophe)

IMMUTABLE STRING

?String bersifat immutable (tidak bisa diubah)

String name = “arya”;
name = name + “dharmaadi”;

?Pada code di atas, dibuat sebuah objek untuk menampung nilai “arya” dan disimpan alamatnya oleh variabel name. ?Kemudian dibuat objek baru untuk menampung nilai “aryadharmadi”. Objek yang baru disimpan alamatnya oleh variabel name dan objek yang lama tidak dipakai lagi.

String name = “arya”;
Name = name + “dharmaadi”;

Kode di atas equivalen dengan:

String name = new String(“Arya”);
name = new String(name+”dharmaadi”);

STRINGBUFFER

?Untuk operasi yang melakukan perubahan isi variabel string, gunakan kelas StringBuffer agar penggunaan memori lebih optimal. ?Kelas StringBuffer lebih cepat dalam memanipulasi string yang memerlukan perubahan pada String. ?Hal ini disebabkan karena untuk mengubah string, kelas StringBuffer tidak perlu objek baru.

METHOD STRINGBUFFER

  • ?setCharAt() ==> mengganti suatu karakter
  • ?replace() ==> mengganti suatu string
  • ?append()  ==> menambahkan string
  • ?charAt() ==> mengakses karakter di posisi tertentu
  • ?trim() ==> menghilangkan spasi di awal dan di akhir string

Contoh:

StringBuffer name = new StringBuffer(“Arya”);
name.setCharAt(2,’i’);
name.append(“ Dharmaadi”);

CHARACTER

?Kelas Character  merupakan kelas untuk membungkus (wrap) nilai dari sebuah tipe primitif char pada sebuah objek.

/* contoh tipe primitif char */
char primitif = 'a';

/* contoh objek char */
Character obj = new Character('a');

?Ketika pengembangan program Java, ada kemungkinan lebih dibutuhkan penggunaan objek Character dibandingkan tipe primitif char.

?Kelas Character memiliki banyak method untuk memanipulasi tipe primitif char. Method tersebut antara lain:

  • ?isLetter()
  • ?isDigit()
  • ?isWhitespace()
  • ?isUpperCase()
  • ?toUpperCase()
  • ?isLowerCase()
  • ?toLowerCase()

ARRAY

?Array merupakan wadah untuk menyimpan beberapa atau himpunan nilai yang bertipe sejenis. ?Panjang array ditentukan ketika array dideklarasikan dan tidak bisa diubah (fixed). ?Pada Java, array adalah sebuah objek sehingga memiliki sifat-sifat objek pada umumnya. ?Salah satu method yang dimiliki oleh array sebagai objek adalah length(), yang berfungsi untuk mengetahui panjang array.

?Karena bersifat sebagai objek, array diciptakan dengan keyword new. ?Java menyediakan cara yang lebih ringkas untuk menciptakan sekaligus mengisi nilai array, yaitu sebagai berikut:

int myval[] = new int[3];
char vowel[] = { 'a','i','u','e','o' };
System.out.println(vowel.length);

ARRAY SEBAGAI HIMPUNAN OBJEK

?Array juga bisa digunakan untuk menyimpan beberapa atau himpunan objek yang berasal dari kelas yang sama.

Contoh:

Mahasiswa kelasA[] = new Mahasiswa[14];
        
// Kode berikut akan gagal running
System.out.println(kelasA[0].age);

Kode di atas gagal karena penciptaan array (dengan keyword new) tidak berarti meng-create objek baru untuk setiap anggota array. Karena itu, solusinya adalah create objek baru sebanyak anggota array sebagai berikut:

Mahasiswa kelasA[] = new Mahasiswa[14];
for (int i=0;i<14;i++){ 
     kelasA[i] = new Mahasiswa(); 
} 
/* Kode berikut tidak akan gagal */
System.out.println(kelasA[0].age);

ARRAY MULTIDIMENSI

?Array bisa dibuat menjadi banyak dimensi. ?Pembuatan array menjadi banyak dimensi dilakukan dengan penambahan operator []. ?Array multidimensi pada Java dimungkinkan untuk memiliki jumlah baris yang berbeda-beda sesuai kebutuhan.

Contoh:

// Jumlah baris array semua sama 
Mahasiswa ti15[][] = new Mahasiswa[3][40];

// Jumlah baris array tidak sama 
Mahasiswa ti14[][] = new Mahasiswa[3][];
ti14[0] = new Mahasiswa[38];
ti14[1] = new Mahasiswa[40];
ti14[2] = new Mahasiswa[35];

ARRAYLIST

?Array memiliki kekurangan yaitu panjangnya tidak bisa diubah setelah dideklarasikan. ?Untuk itu, Java menyediakan kelas ArrayList yang berfungsi sebagai array yang bersifat dinamis. ?Kelas ArrayList diturunkan dari kelas AbstractList dan menggunakan interface List. ?Untuk menggunakan kelas ArrayList, anda wajib meng-import library java.util.ArrayList;

Contoh:

        ArrayList al = new ArrayList();   
        al.add(10);
        al.add("String");
        al.remove(2);
        int t = (int) al.get(0);
        
        ArrayList<Integer> al2 = new ArrayList<Integer>();
        al2.add(10);
        // Kode berikut akan gagal 
        al2.add("String");

LOOPING ARRAYLIST

Ada beberapa cara untuk melakukan looping pada sebuah arraylist. Perhatikan contoh berikut:

ArrayList<String> list = new ArrayList();

/* 1. NORMAL FOR..TO..DO LOOP */
for (int i=0; i<list.size();i++){
	System.out.println(list.get(i));
}	

/* 2. ADVANCED FOR LOOP */
for (String s : list){
	System.out.println(s);
}	

/* 3. WHILE..DO LOOP */
int i=0;
while (i<list.size()){
	System.out.println(list.get(i));
	i++;
}	

/* 4. ITERATOR CLASS */
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()){
	System.out.println(iterator.next());
}

PENUTUP

?String dan StringBuffer merupakan kelas khusus yang disediakan oleh Java untuk memanipulasi String

NEXT . . .

?Kelas, Kontrol Kelas, dan Konstruktor

DOWNLOAD

Download materi ini dalam bentuk PDF / PowerPoint di sini.

REFERENSI

?Sierra, K., & Bates, B. (2005) “A Brain-Friendly Guide: Head First Java 2nd Edition”. O’Reilly

?Yohanes Nugroho, (2009) “Slide Kuliah: Bahasa Pemrograman Java”. STEI ITB

?http://www.tutorialspoint.com/java/java_characters.htm

 

Be the first to comment

Leave a Reply

Your email address will not be published.


*