240 likes | 508 Views
OOP Java. 04 Array & String. Pokok Bahasan. Reference Array String. Reference. Seperti kita ketahui ada 8 tipe primitif di java : boolean, char, byte, short, int, long, float dan double. Semua tipe selain tipe primitif adalah Objek, diantaranya : array dan string.
E N D
OOP Java 04 Array & String
Pokok Bahasan • Reference • Array • String
Reference • Seperti kita ketahui ada 8 tipe primitif di java : boolean, char, byte, short, int, long, float dan double. • Semua tipe selain tipe primitif adalah Objek, diantaranya : array dan string. • Variabel yg menunjuk pada objek disebut reference variables • Passing parameter pada method untuk semua tipe data di java selalu by value, kecuali pada tipe data object digunakan by reference • Method dapat menerima parameter berupa objek, juga dapat mengembalikan (return) sebuah objek
Array (1) • Mengapa kita membutuhkan array ? • c: tanpa array import java.util.Random; public class Ratarata { public static void main(String[] args) { Random rnd = new Random(); int bil1, bil2, bil3, bil4, bil5; float rata; bil1 = Math.abs(rnd.nextInt()) % 100 + 1; bil2 = Math.abs(rnd.nextInt()) % 100 + 1; bil3 = Math.abs(rnd.nextInt()) % 100 + 1; bil4 = Math.abs(rnd.nextInt()) % 100 + 1; bil5 = Math.abs(rnd.nextInt()) % 100 + 1; System.out.println(bil1+" "+bil2+" "+bil3+" "+bil4+" "+bil5); rata = (float) (bil1 + bil2 + bil3 + bil4 + bil5)/5; System.out.println("Rata-rata : " + rata); } }
Array (2) import java.util.Random; public class Ratarata2 { public static void main(String[] args) { Random rnd = new Random(); int[] bil = new int[5]; float rata; int c; rata = 0; for (c=0; c<5; c++) { bil[c] = Math.abs(rnd.nextInt()) % 100 + 1; System.out.print(bil[c] + " "); rata = rata + bil[c]; } rata = rata / 5; System.out.println("\nRata-rata bilangan : " + rata); } } • c: dengan array
Array (3) • Bagaimana jika terdapat 100 data ? • Dengan menggunakan array program menjadi lebih ringkas dan mudah dimaintain. • Array : kumpulan data bertipe sama. • Kita dapat membuat array untuk semua tipe, baik primitif, maupun kelas/objek. • Contoh deklarasi array : int[] one, two, three; int four[], five[][], six; Mahasiswa[] mhs;
Array (4) • Dari contoh diatas : • one, two, three & four merupakan array 1 dimensi • five merupakan array 2 dimensi • six bukan merupakan array • Cara pertama lebih dianjurkan karena tidak bercampur antara variabel array, bukan array & array dengan dimensi berbeda • Deklarasi array belum menunjukkan ukurannya.
Array (5) • Contoh instansiasi array : one = new int[5]; four = new int[100]; • Mengapa instansiasi array menggunakan operator new? • Indeks array dimulai dari 0 s/d n-1 • Inisialisasi (pemberian nilai) array : one[0] = 30; one[3] = 20; • Deklarasi, instansiasi dan inisialisasi dapat digabung dengan cara : int[] two = new int[3]; //deklarasi & instansiasi int[] one = {30, 10, 15, 20, 70}; //+inisialisasi
Array (6) • Array untuk objek dapat dibuat dg cara yg sama : 1 Mahasiswa[] mhs; 2 mhs = new Mahasiswa[30]; 3 for (c=0; c<30; c++) 4 mhs[c] = new Mahasiswa(); • Baris 1 & 2 hanya membuat array dari reference variabel, sehingga objeknya sendiri harus dibuat kemudian (baris 4).
Array (7) • Contoh array dengan dimensi lebih dari satu : int[][] five = new int[3][2]; int[] duaD = new int[3][]; duaD[0] = new int[15]; duaD[1] = new int[12]; duaD[2] = new int[20]; • Seperti contoh diatas, array dalam java tidak harus berbentuk segi empat. • Contoh dengan inisialisasi langsung : int[][] duaD = {{1,2}, {4,3}, {5,6}}; //3x2
Array (8) • Array memiliki atribut length yg menyimpan panjang array : int[] one = {7,5,2,4,9,3,4}; n = one.length; • Mulai J2SE 5.0 terdapat cara baru untuk mempermudah iterasi terhadap array : int[] one = {7,5,2,4,9,3,4}; for (int element : one) System.out.println(element);
Array (9) • Ukuran array tidak dapat diubah, tetapi reference variabelnya dapat dipakai untuk menunjuk ke array baru : int[] arrKu = new int[5]; arrKu = new int[10]; (dlm contoh diatas array pertama ‘hilang’) • Kelas System menyediakan method untuk mengcopy isi array : int[] source = {1, 2, 3}; int[] dest = {7, 6, 5, 4, 3, 2, 1}; System.arraycopy(source, 0, dest, 0, source.length); • Isi array source mulai indeks 0, akan dicopy ke dest mulai indeks 0, sebesar ukuran array source, hasilnya {1, 2, 3, 4, 3, 2, 1}
String (1) • String merupakankelaskhususdi Java, tetapiinstansiasi string tidakperlumenggunakan operator new. c: String s = “Hello World”; String str; str = “Ini string saya”; • String merupakansebuahkelas, dandidalamnyaterdapatbeberapa method, misalnya: • s.length() --> panjang string • s.substring(0, 2) --> mengembalikan “He” • (karakterke 0 sampai ke-2 [bukansampaidengan])
String (2) • Selain memiliki method, string juga memiliki operator “+” String s = “Banyaknya “+ 2; /*konversi “2”*/ intz = 4; String s = “Ada “ + z + “ buah “; String s = 5; /*tidak boleh */ • Catatan: Literal string merupakan instans dari objek string: “Hello”.length() menghasilkan 5
String (3) • Escape sequence String merupakan serangkaian karakter diawali \ (backslash) untuk mengetikkan karakter khusus : • \n : newline • \t : karakter tab • \\ : backslash • \” : double quote • \' : single quote (apostrophe) • \udddd: karakter dalam unicode dddd adalah digit heksadesimal (0-9, A-F)
String (4) • Sifat Immutable String : string sebenarnya immutable (tidak bisa diubah), dalam : String a = “hello”; a = a + “ world”; • Sebuah objek baru diciptakan, objek lama dibuang (untuk dipungut oleh garbage collector) • a menunjuk ke objek yang baru
String (5) • Operator perbandingan (==) nilai primitif membandingkan nilai • Operator == terhadap reference membandingkan reference (bukan isi objek) • Method .equals() digunakan untuk membandingkan isi objek (termasuk juga string) String a = “Hello”; String b = “World”; if (a.equals(b)) { }
String (6) • String yang dapat diubah (mutable) juga tersedia di java yaitu StringBuffer, contoh : StringBuffer str = new StringBufer(“Hallo”); StringBuffer str2 = null; str2 = new StringBuffer(“Siapa namamu ?”); StringBuffer str3 = null; str3 = str2; • Beberapa method dari kelas StringBuffer : • append • insert • charAt • setCharAt • reverse • replace • delete
Berlatihlah membuat program yang menggunakan array & String !Practice Leads to Mastery