OOP Java

19
OOP Java OOP Java 04 Array & String 04 Array & String

description

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

Transcript of OOP Java

Page 1: OOP Java

OOP JavaOOP Java

04 Array & String04 Array & String

Page 2: OOP Java

Pokok BahasanPokok Bahasan

ReferenceReference ArrayArray StringString

Page 3: OOP Java

ReferenceReference Seperti kita ketahui ada 8 tipe primitif di java : Seperti kita ketahui ada 8 tipe primitif di java :

boolean, char, byte, short, int, long, float dan boolean, char, byte, short, int, long, float dan double.double.

Semua tipe selain tipe primitif adalah Objek, Semua tipe selain tipe primitif adalah Objek, diantaranya : array dan string.diantaranya : array dan string.

Variabel yg menunjuk pada objek disebut Variabel yg menunjuk pada objek disebut referencereference variables variables

Passing parameter pada method untuk semua Passing parameter pada method untuk semua tipe data di java selalu by value, kecuali pada tipe data di java selalu by value, kecuali pada tipe data object digunakan by referencetipe data object digunakan by reference

Method dapat menerima parameter berupa Method dapat menerima parameter berupa objek, juga dapat mengembalikan (return) objek, juga dapat mengembalikan (return) sebuah objeksebuah objek

Page 4: OOP Java

Array (1)Array (1) Mengapa kita membutuhkan array ?Mengapa kita membutuhkan array ? c: tanpa arrayc: tanpa arrayimport java.util.Random;import java.util.Random;

public class Ratarata {public class Ratarata {

public static void main(String[] args) {public static void main(String[] args) {

Random rnd = new Random();Random rnd = new Random();

int bil1, bil2, bil3, bil4, bil5;int bil1, bil2, bil3, bil4, bil5;

float rata;float rata;

bil1 = Math.abs(rnd.nextInt()) % 100 + 1;bil1 = Math.abs(rnd.nextInt()) % 100 + 1;

bil2 = Math.abs(rnd.nextInt()) % 100 + 1;bil2 = Math.abs(rnd.nextInt()) % 100 + 1;

bil3 = Math.abs(rnd.nextInt()) % 100 + 1;bil3 = Math.abs(rnd.nextInt()) % 100 + 1;

bil4 = Math.abs(rnd.nextInt()) % 100 + 1;bil4 = Math.abs(rnd.nextInt()) % 100 + 1;

bil5 = Math.abs(rnd.nextInt()) % 100 + 1;bil5 = Math.abs(rnd.nextInt()) % 100 + 1;

System.out.println(bil1+" "+bil2+" "+bil3+" "+bil4+" "+bil5);System.out.println(bil1+" "+bil2+" "+bil3+" "+bil4+" "+bil5);

rata = (float) (bil1 + bil2 + bil3 + bil4 + bil5)/5;rata = (float) (bil1 + bil2 + bil3 + bil4 + bil5)/5;

System.out.println("Rata-rata : " + rata);System.out.println("Rata-rata : " + rata);

}}

}}

Page 5: OOP Java

Array (2)Array (2) c: dengan arrayc: dengan arrayimport java.util.Random;import java.util.Random;

public class Ratarata2 {public class Ratarata2 {

public static void main(String[] args) {public static void main(String[] args) {

Random rnd = new Random();Random rnd = new Random();

int[] bil = new int[5];int[] bil = new int[5];

float rata;float rata;

int c;int c;

rata = 0;rata = 0;

for (c=0; c<5; c++) {for (c=0; c<5; c++) {

bil[c] = Math.abs(rnd.nextInt()) % 100 + 1;bil[c] = Math.abs(rnd.nextInt()) % 100 + 1;

System.out.print(bil[c] + " ");System.out.print(bil[c] + " ");

rata = rata + bil[c];rata = rata + bil[c];

}}

rata = rata / 5;rata = rata / 5;

System.out.println("\nRata-rata bilangan : " + rata);System.out.println("\nRata-rata bilangan : " + rata);

}}

}}

Page 6: OOP Java

Array (3)Array (3) Bagaimana jika terdapat 100 data ?Bagaimana jika terdapat 100 data ? Dengan menggunakan array program Dengan menggunakan array program

menjadi lebih ringkas dan mudah menjadi lebih ringkas dan mudah dimaintain.dimaintain.

Array : kumpulan data bertipe sama.Array : kumpulan data bertipe sama. Kita dapat membuat array untuk semua Kita dapat membuat array untuk semua

tipe, baik primitif, maupun kelas/objek.tipe, baik primitif, maupun kelas/objek. Contoh deklarasi array :Contoh deklarasi array :

int[] one, two, three;int[] one, two, three;

int four[], five[][], six;int four[], five[][], six;

Mahasiswa[] mhs;Mahasiswa[] mhs;

Page 7: OOP Java

Array (4)Array (4) Dari contoh diatas :Dari contoh diatas :

one, two, three & four merupakan array 1 one, two, three & four merupakan array 1 dimensidimensi

five merupakan array 2 dimensifive merupakan array 2 dimensi six bukan merupakan arraysix bukan merupakan array Cara pertama lebih dianjurkan karena tidak Cara pertama lebih dianjurkan karena tidak

bercampur antara variabel array, bukan bercampur antara variabel array, bukan array & array dengan dimensi berbedaarray & array dengan dimensi berbeda

Deklarasi array belum menunjukkan Deklarasi array belum menunjukkan ukurannya.ukurannya.

Page 8: OOP Java

Array (5)Array (5) Contoh instansiasi array :Contoh instansiasi array :

one = new int[5];one = new int[5];four = new int[100];four = new int[100];

Mengapa instansiasi array menggunakan Mengapa instansiasi array menggunakan operator new?operator new?

Indeks array dimulai dari 0 s/d n-1Indeks array dimulai dari 0 s/d n-1 Inisialisasi (pemberian nilai) array :Inisialisasi (pemberian nilai) array :

one[0] = 30;one[0] = 30;one[3] = 20; one[3] = 20;

Deklarasi, instansiasi dan inisialisasi dapat Deklarasi, instansiasi dan inisialisasi dapat digabung dengan cara :digabung dengan cara :int[] two = new int[3];int[] two = new int[3]; //deklarasi & instansiasi//deklarasi & instansiasiint[] one = {30, 10, 15, 20, 70};int[] one = {30, 10, 15, 20, 70};//+inisialisasi//+inisialisasi

Page 9: OOP Java

Array (6)Array (6) Array untuk objek dapat dibuat dg cara Array untuk objek dapat dibuat dg cara

yg sama :yg sama :

11 Mahasiswa[] mhs; Mahasiswa[] mhs;

22 mhs = new Mahasiswa[30]; mhs = new Mahasiswa[30];

33 for (c=0; c<30; c++) for (c=0; c<30; c++)

44 mhs[c] = new Mahasiswa(); mhs[c] = new Mahasiswa(); Baris 1 & 2 hanya membuat array dari Baris 1 & 2 hanya membuat array dari

reference variabel, sehingga objeknya reference variabel, sehingga objeknya sendiri harus dibuat kemudian (baris 4).sendiri harus dibuat kemudian (baris 4).

Page 10: OOP Java

Array (7)Array (7) Contoh array dengan dimensi lebih dari satu Contoh array dengan dimensi lebih dari satu

::

int[][] five = new int[3][2];int[][] five = new int[3][2];

int[] duaD = new int[3][];int[] duaD = new int[3][];

duaD[0] = new int[15];duaD[0] = new int[15];

duaD[1] = new int[12];duaD[1] = new int[12];

duaD[2] = new int[20];duaD[2] = new int[20]; Seperti contoh diatas, array dalam java Seperti contoh diatas, array dalam java

tidak harus berbentuk segi empat.tidak harus berbentuk segi empat. Contoh dengan inisialisasi langsung :Contoh dengan inisialisasi langsung :

int[][] duaD = {{1,2}, {4,3}, {5,6}}; //3x2int[][] duaD = {{1,2}, {4,3}, {5,6}}; //3x2

Page 11: OOP Java

Array (8)Array (8) Array memiliki atribut length yg Array memiliki atribut length yg

menyimpan panjang array :menyimpan panjang array :

int[] one = {7,5,2,4,9,3,4};int[] one = {7,5,2,4,9,3,4};

n = one.length;n = one.length; Mulai J2SE 5.0 terdapat cara baru untuk Mulai J2SE 5.0 terdapat cara baru untuk

mempermudah iterasi terhadap array :mempermudah iterasi terhadap array :

int[] one = {7,5,2,4,9,3,4};int[] one = {7,5,2,4,9,3,4};

for (int element : one)for (int element : one)

System.out.println(element);System.out.println(element);

Page 12: OOP Java

Array (9)Array (9) Ukuran array tidak dapat diubah, tetapi Ukuran array tidak dapat diubah, tetapi

reference variabelnya dapat dipakai untuk reference variabelnya dapat dipakai untuk menunjuk ke array baru :menunjuk ke array baru :int[] arrKu = new int[5];int[] arrKu = new int[5];arrKu = new int[10];arrKu = new int[10];(dlm contoh diatas array pertama ‘hilang’)(dlm contoh diatas array pertama ‘hilang’)

Kelas System menyediakan method untuk Kelas System menyediakan method untuk mengcopy isi array :mengcopy isi array :int[] source = {1, 2, 3};int[] source = {1, 2, 3};int[] dest = {7, 6, 5, 4, 3, 2, 1};int[] dest = {7, 6, 5, 4, 3, 2, 1};System.arraycopy(source, 0, dest, 0, System.arraycopy(source, 0, dest, 0, source.length);source.length);

Isi array source mulai indeks 0, akan dicopy Isi array source mulai indeks 0, akan dicopy ke dest mulai indeks 0, sebesar ukuran array ke dest mulai indeks 0, sebesar ukuran array source, hasilnya {1, 2, 3, 4, 3, 2, 1}source, hasilnya {1, 2, 3, 4, 3, 2, 1}

Page 13: OOP Java

String (1)String (1) String merupakan kelas khusus di Java, tetapi

instansiasi string tidak perlu menggunakan operator new.c: String s = “Hello World”; String str; str = “Ini string saya”;

String merupakan sebuah kelas, dan di dalamnya terdapat beberapa method, misalnya: s.length() --> panjang string s.substring(0, 2) --> mengembalikan “He” (karakter ke 0 sampai ke-2 [bukan sampai

dengan])

Page 14: OOP Java

String (2)String (2) Selain memiliki method, string juga

memiliki operator “+”String s = “Banyaknya “+ 2; /*konversi “2”*/int z = 4;String s = “Ada “ + z + “ buah “;String s = 5; /*tidak boleh */

Catatan: Literal string merupakan instans dari objek string:“Hello”.length() menghasilkan 5

Page 15: OOP Java

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

Page 16: OOP Java

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

Page 17: OOP Java

String (5)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)) { }

Page 18: OOP Java

String (6)String (6) String yang dapat diubah (mutable) juga String yang dapat diubah (mutable) juga

tersedia di java yaitu StringBuffer, contoh :tersedia di java yaitu StringBuffer, contoh :StringBuffer str = new StringBufer(“Hallo”);StringBuffer str = new StringBufer(“Hallo”);StringBuffer str2 = null;StringBuffer str2 = null;str2 = new StringBuffer(“Siapa namamu ?”);str2 = new StringBuffer(“Siapa namamu ?”);StringBuffer str3 = null;StringBuffer str3 = null;str3 = str2;str3 = str2;

Beberapa method dari kelas StringBuffer :Beberapa method dari kelas StringBuffer : appendappend insertinsert charAtcharAt setCharAtsetCharAt reversereverse replacereplace deletedelete

Page 19: OOP Java

Berlatihlah membuat Berlatihlah membuat program yang menggunakan program yang menggunakan

array & String !array & String !

Practice Leads to MasteryPractice Leads to Mastery