Anda di halaman 1dari 32

Pemrograman Berorientasi Objek

Beni Suranto, S.T.


 Sebuah array adalah sebuah list nilai data yang berurutan.

Array memiliki Tiap nilai memiliki indeks numerik


sebuah nama tunggal

0 1 2 3 4 5 6 7 8 9

data 79 87 94 82 67 98 87 81 74 91

Array berukuran N memiliki indeks dari 0 sampai dengan N-1


Contoh array di atas memiliki 10 buah nilai yang terdapat pada
indeks 0 – 9.
 Nilai yang terdapat pada array dapat diakses menggunakan referensi
nama array diikuti indeks nilai tersebut yang ditulis dalam tanda
kurung siku.

 Contoh ekspresi :

data[2]

 sintaks di atas mengakses nilai 94 (nilai ketiga pada array data)

3
 Elemen array dapat diisi sebuah nilai, dicetak, atau digunakan
dalam sebuah perhitungan :

data[2] = 89;

data[X] = data[X] + 2;

rerata = (data[0] + data[1])/2;

System.out.println (“Data terbesar = " + data[5]);

4
 Nilai yang tersimpan dalam array disebut elemen array.

 Array menyimpan beragam nilai yang memiliki tipe data sama.

 Elemen array dapat berupa tipe data primitif atau referensi objek.

 Sehingga, kita dapat membuat sebuah array integer, array karakter,


atau array objek String, dan lain sebagainya.

 Dalam Java, array itu sendiri adalah sebuah objek.

 Sehingga, nama dari sebuah array adalah variabel referensi objek dan
array itu sendiri harus dibuat melalui instansiasi.

5
 Array data dapat dideklarasikan sebagai berikut :

int[] data= new int[10];

 Tipe dari variabel data adalah int[] (sebuah array integer)

 Perlu diketahui bahwa tipe array bukan mencerminkan ukuran


array, tapi masing-masing objek dari tipe tersebut memiliki
ukuran tertentu yang spesifik.

 Variabel referensi data dideklarasikan sebagai sebuah objek


array baru yang dapat menampung 10 nilai integer.

6
 Beberapa contoh deklarasi array :

float[] harga = new float[500];

boolean[] status;

status = new boolean[20];

char[] kodeEnkripsi = new char[1750];

7
 Sekali dibuat, maka array memiliki ukuran yang tetap.

 Indeks yang digunakan pada array harus menunjuk pada


elemen yang valid.

 Sehingga, nilai indeks harus berada pada batas 0 sampai


dengan N-1.

 Intepreter Java akan melempar sebuah eksepsi (pesan error)


ArrayIndexOutOfBoundsException jika indeks array
melebihi batas yang seharusnya.

 Hal ini disebut dengan automatic bounds checking

8
 Contoh, jika array kodeEnkripsi dapat menampung 100 elemen,
maka indeks yang bisa digunakan hanyalah nilai 0 sampai dengan
99.

 Jika posisi bernilai 100, maka sintaks di bawah in akan


menyebabkan eksepsi (terdapat kesalahan karena pengaksesan
array di luar batas indeks).

System.out.println (kodeEnkripsi[posisi]);

 Masalah yang sering ditemui ketika menggunakan array adalah off-


by-one errors.
problem

for (int index=0; index <= 100; index++)


codes[index] = index*50 + epsilon;

9
 Tiap objek array memiliki konstanta publik yang disebut
length yang menympan informasi ukuran dari array
tersebut.

 Konstanta tersebut dapat dipanggil dengan menggunakan


nama array yang bersangkutan :
data.length

 Nilai length menunjukkan jumlah elemen pada array, bukan


indeks terbesar array.

10
 Tanda kurung siku pada array mengacu pada tipe elemen atau nama
array.

 Sehingga 2 deklarasi di bawah ini bersifat ekuivalen :

float[] harga;
float harga[];

 Bentuk pertama merupakan bentuk yang paling umum digunakan.

 Arti deklarasi di bawah ini ?

float[] harga, jumlah, stok;


float harga[], jumlah, stok[];

11
 Kita dapat menginstansiasi dan menginisialisasi sekaligus sebuah
array dalam satu langkah.

 Nilai yang akan diisikan ke array diletakkan di dalam kurung kuraval


dan dipisahkan dengan tanda koma.

 Contoh :

int[] data = {147, 323, 89, 933, 540,


269, 97, 114, 298, 476};

char[] nilaiAkhir = {'A', 'B', 'C', 'D', ’F'};

12
 Yang perlu diperhatikan ketika menginisialisasi array :

◦ Operator new tidak diperlukan

◦ Ukuran array tidak perlu ditentukan

 Ukuran array ditentukan oleh jumlah item yang diisikan pada


saat inisialisasi.

13
 Sebuah objek dari kelas String merepresentasikan sebuah
string karakter.

 Kelas String mengacu kepada java.lang package

 Sebagaimana kelas-kelas yang lain, String memiliki


konstruktor dan method yang bisa dipanggil.
 Merupakan objek anonymous dari kelas String

 Didefinisikan dengan cara mengapit teks dengan tanda petik


ganda. “Ini contoh literal String”

 Dapat diisikan ke dalam variabel String.

 Dapat dilewatkan ke sebuah method maupun konstruktor


sebagai parameter.
//mengisikan sebuah literal ke variabel String
String nama = “Yahya”;

//memanggil method dari literal String


Char inisial = “Yahya”.charAt(0);

//memanggil method pada variabel String


char inisial = nama.charAt(0);
 Sebuah String kosong tidak memiliki karakter. String ini
memiliki panjang 0.

String word1 = ""; String kosong


String word2 = new String();

 Tidak sama dengan String yang belum diinisialisasi.

private String pesanKu; pesanKu


adalah null
 Konstruktor tanpa argumen menghasilkan sebuah String
kosong. Jenis ini jarang digunakan.

String kalimat = new String();

 Sebuah bentuk yang lebih umum digunakan adalah mengisikan


sebuah literal String kosong ke variabel. (Sering digunakan
untuk menginisialisasi variabel yang digunakan untuk
menyimpan input data)

String kalimat = “”;


Sebagian besar konstruktor menggunakan sebuah array sebagai
parameter untuk membuat sebuah String.

char[] huruf = {‘J’, ‘a’, ‘v’, ‘a’};

String kata = new String(huruf);//”Java”


int length();  Menghasilkan jumlah karakter
pada String.

char charAt(i);  Menghasilkan karakter pada


posisi i.

Posisi karakter pada string berupa angka dimulai dari


0 – seperti pada array.

Hasil :
”Problem".length(); 7
”Window".charAt (2); ’n'
Menghasilkan sebuah string baru dengan meng-copy karakter dari
string yang sudah ada.
 String subs = word.substring (i, k); televisi
◦ Menghasilkan substring dari karakter
pada posisi mulai dari i sampai k-1
i k
 String subs = word.substring (i); televisi
◦ Menghasilkan substring mulai dari
posisi ke-i sampai karakter terakhir.
i
Hasil :
”televisi".substring (2,5); “lev"
“informasi".substring (2); “formasi"
“ide".substring (9); "" (string kosong)
String kata1 = “the”, kata2 = “Super”; kata3 = “Nova”;
int X = 2;
 String output = kata1 + kata2;
//menggabungkan kata1 dan kata2  “theSuper“
 String output = kata1.concat (kata2);
//sama dengan word1 + word2  “theSuper“
 output += kata3;
//menambahkan kata3 ke output  “theSuperNova”
 output += X; //mengubah nilai X ke String
//dan menambahkannya ke output  “theSuperNova2”
0 2 6 10 15

String name =“President George Washington";

Hasil :
name.indexOf (‘P'); 0
nama.indexOf (‘e'); 2
name.indexOf (“George"); 10
name.indexOf (‘e', 3); 6 (pencarian
6 mulai
dari posisi ke-3)
name.indexOf (“Bob"); -1 (tidak ditemukan)
name.lastIndexOf (‘e'); 15
boolean b = kata1.equals(kata2);
menghasilkan nilai true jika string kata1 sama dengan kata2
boolean b = kata1.equalsIgnoreCase(kata2);
menghasilkan nilai true jika string kata1 sama dengan kata2,
tanpa memperhatikan case huruf.

b = “Informatika”.equals(“Informatika”);//true
b = “Informatika”.equals(“informatika”);//false
b = “Informatika”.equalsIgnoreCase(“informatika”);//true

if(jurusan.equalsIgnoreCase(“informatika”))
System.out.println(“Anda adalah mahasiswa “ + jurusan);
int diff = kata1.compareTo(kata2);
menghasilkan perbedaan kata1 - kata2
int diff = kata1.compareToIgnoreCase(kata2);
menghasilkan perbedaan kata1 - kata2,
dengan tidak memperhatikan case huruf.

Perbedaan dapat berupa nilai negatif (kata1 lebih awal dari kata2),
nilai nol (kata1 dan kata2 adalah sama) atau nilai positif (kata1
lebih akhir dari kata2).

if(kata1.compareTo(kata2) > 0){


//statement…
}
//negative differences
diff = “andi”.compareTo(“budi”);//a sebelum b
diff = “Zebra”.compareTo(“ayam”);//Z sebelum a
diff = “bis”.compareTo(“bus”);//i sebelum u
diff = “bus”.compareTo(“busi”);//bus lebih pendek

//zero differences
diff = “bola”.compareTo(“bola”);//sama
diff = “bola”.compareToIgnoreCase(“BOLA”);//sama

//positive differences
diff = “budi”.compareTo(“andi”);//b setelah a
diff = “ayam”.compareTo(“Ayam”);//a setelah A
diff = “BUS”.compareTo(“BIS”);//U setelah I
diff = “busi”.compareTo(“bus”);//busi is lebih panjang
String kata2 = kata1.trim ();
menghasilkan sebuah string baru yang dibentuk dari
kata1 dengan menghilangkan spasi pada awal dan akhir
string.

String kata1 = “ Halo Bob “;


String kata2 = word1.trim();
//kata2 is “Halo Bob” – tanpa spasi di kedua ujung
//kata1 masih “ Halo Bob “ – dengan spasi di kedua ujung
String kata2 = kata1.replace(Ch1, Ch2);
menghasilkan sebuah string baru yang dibentuk dari
kata1 dengan mengganti semua karakter Ch1 dengan
Ch2.

String kata1 = “permen“;


String kata2 = “permen“.replace(‘e’, ‘a’);
//kata2 menjadi “parman”, tapi kata1 masih “permen”
String kata2 = kata1.toUpperCase();
String kata3 = kata1.toLowerCase();
menghasilkan sebuah string baru yang dibentuk dari
kata1 dengan mengganti karakter ke huruf kapital atau
sebaliknya.

String kata1 = “HeLLo“;


String kata2 = word1.toUpperCase();//”HELLO”
String kata3 = word1.toLowerCase();//”hello”
//kata1 masih “HeLLo“
 Contoh: untuk merubah kata1 ke huruf kapital, referensi
harus diganti yang baru.

kata1 = kata1.toUpperCase();

 Kesalahan umum :
word1 tetap
kata1.toUpperCase(); tidak berubah
Tiga cara merubah bilangan menjadi string:

1. String s = "" + bilangan;

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

2. String s = Integer.toString (i);


String s = Double.toString (d);

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

3. String s = String.valueOf (bilangan);

s = String.valueOf(123);//”123”
End of slides..

Anda mungkin juga menyukai