TIB09 Pemrograman JAVA – 04 – Array dan String

Download Report

Transcript TIB09 Pemrograman JAVA – 04 – Array dan String

Pemrograman JAVA

(TIB09) Array dan String

Array

• Sekumpulan variabel dengan tipe dan nama yang sama.

• Isi diakses melalui index yang mempunyai range 0 s/d jumlah_index – 1

Deklarasi Array

• Deklarasi Array: tipe_variabel nama_array[]; Atau tipe_variabel []nama_array; • Alokasi memori dilakukan dengan keyword

new

nama_array =

new

tipe_variabel[jumlah_array] • Jumlah array dapat ditentukan pada saat deklarasi tipe_variabel []nama_array =

new

tipe_variabel[jumlah_array] • Mengakses array dapat dilakukan dengan nama_array[index_array_yang_diakses]

Contoh

int

a[], i; a =

new int

[10];

for

(i=0; i<10; i++) a[i]=i*5;

int

b[]=

new int

[10];

for

(i=0; i<10; i++) b[i]=i*10;

for

(i=0; i<10; i++) System.out.println(a[i] * b[i]);

Inisialisasi

• Pada saat deklarasi dapat pula dilakukan sambil memasukkan nilai pada array • Contoh: int list_data[] = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100}; • Inisialisasi pada saat deklarasi tidak perlu memberikan keyword new, kompiler otomatis akan mendeteksi jumlah elemen array.

Jumlah array

• Jumlah memori yang dialokasikan untuk array tersimpan dalam properti

length

.

• Contoh

char

a[]={“A”, “B”, “C”, “D”, “E”, “F”, “G”} jumlah_element = a.

length

;

Array multidimensi

• Deklarasi Array 2 dimensi: tipe_variabel nama_array[][]; Atau tipe_variabel [][]nama_array; • Deklarasi Array 3 dimensi: tipe_variabel nama_array[][][]; Atau tipe_variabel [][][]nama_array; • Deklarasi Array 4 dimensi: tipe_variabel nama_array[][][][]; Atau tipe_variabel [][][][]nama_array;

Inisialisasi array multidimensi

• Contoh: int list_data[][] = {{10, 5}, {20, 1}, {30,3}, {40, 8}, {50, 9}}; int list_data[][][] = {{10, 5, 12}, {20, 1, 11}, {30, 3, 15}, {40, 8, 19}, {50, 9, 17}};

Mengakses Array multidimensi

• Contoh: list_data[0][0] = 10; list_data[0][1] = 5; list_data[1][0] = 20; list_data[1][1] = 1; list_data[2][0] = 30; list_data[2][1] = 3; list_data[3][0] = 40; list_data[3][1] = 8; list_data[4][0] = 50; list_data[4][1] = 9;

String

• Terdiri atas deretan karakter • String diimplementasikan oleh java dalam bentuk class.

• Dapat langsung di konstruksi tanpa perintah new String namaVariable; • Dapat pula dikonstruksi dengan perintah new String namaVariable = new String(“data inisialisasi”);

Deklarasi dan Inisialisasi

Deklarasi: • String namaVariabel; • String namaVariable = new String(“data inisialisasi”); Inisialisasi • namaVariable = “data string”; • namaVariable = new String(“data inisialisasi”);

Konstruktor String

• Selain cara-cara diatas, String dapat dibentuk melalui inisialisasi array karakter.

• Contoh: char kata[] = {‘h’, ’a’, ’l’, ’l’, ’o’}; String s1 = new String (kata); String s2 = new String (kata, 2, 3);

Konkatenasi string

• String dapat digabungkan dengan string lain menggunakan operator “+” String s1 = “Cabe Pedas”; String s2 = “ Enak”; String s3; s2 = s1 + s2; System.out.println(s1+s2);

String null vs String kosong

• String kosong berbeda dengan String null!!!

• String null bila belum dialokasikan pada memory.

String s; s = null; //atau belum diinisialisasikan apapun • String kosong bila yang dialokasikan pada memory tidak memiliki karakter apapun String s; s = “”;

Membandingkan dua untai string

• Tidak dapat dilakukan dengan operator “==“ s1 = “satu”; s2 = “dua”; If (s1==s2) //Tidak dapat dengan cara ini!!!

System.out.println(“sama”) else System.out.println(“beda”); • Dapat dilakukan dengan method equals() s1 = “satu”; s2 = “dua”; If (s1.equals(s2)) System.out.println(“sama”) else System.out.println(“beda”);

Cara lain membandingkan String

• Dapat dibandingkan dengan cara String s1=“satu”; If (s1.equals(“satu”)) System.out.println(“isinya satu”); //atau If (“satu”.equals(s1)) System.out.println(“isinya satu”);

String Array

• Deklarasi: String namaVariable[] = new String[jumlahArray]; String namaVariable[] = {“data1”, ”data2”, ”data3”, ”data4”, ”data5”, ”data6”, ”data7”, ”data8”}; • Inisialisasi String [indexArray] = “data”;

Argumen

• Argumen pada method main() berupa array string.

public static void main(String [] argv) { } • Argumen didapat melalui java runtime.

java ContohArgumen argsatu argdua argtiga java ContohArgumen “arg satu” “arg dua” “arg tiga” • Argumen tersebut diterima oleh String array yang menjadi parameter dari method main(String [] argv)

Argumen (cont-2)

• Argumen yang satu dengan argumen lainnya dipisahkan dengan spasi.

• Jika ingin memasukkan spasi sebagai bagian dari sebuah argumen, beri tanda double quote (“”) yang mengapit argumen tersebut, sehingga argumen tersebut dianggap satu kesatuan.

• Jumlah argumen dapat dikenali melalui method length.

• Contoh: • args.length

Mengakses argumen

• Sebagai array, maka untuk membaca argumen dapat dilakukan dengan memberikan nilai index nya args[0] args[1] args[2]

Modifikasi String

• String tidak dapat diganti isinya secara langsung karakter per karakter.

• Hanya dapat diganti isinya dengan memberikan nilai baru.

• Untuk mengganti karakter-karakter pada string, harus mempergunakan method method string yang disediakan oleh class String

Beberapa contoh method untuk mengakses string

• String substring(int offset) – Contoh: s1 = s.substring(5); • String substring(int offset, int endIndex) – Contoh: s1 = s.substring(5,10); • int lastIndexOf(char c) • int lastIndexOf(char c, int startPos) • int lastIndexOf(String s) • int lastIndexOf(String s, int startPos) • String valueOf(char c) • String valueOf(char c) • String valueOf(float f) • String valueOf(int i) • char charAt(int index) • Method lainnya dapat dilihat dari lampiran Class String dari API docs.

String Buffer

• Objek yang dibentuk dari Class StringBuffer yang terdapat pada package java.lang

• Untuk menampung byte yang dapat diubah isinya • Konstruktor: – StringBuffer(int n) – Menciptakan String Buffer dengan untaian karakter sebanyak n

Contoh StringBuffer

• Menggunakan method append() untuk menambah karakter pada suatu objek yang dibentuk dari StringBuffer public class contohStrBuf { public static void main(String args[]) { String str = “Ini String Asli”; int panjang = str.length(); StringBuffer strBuf = new StringBuffer(len); char ch; for (int i = (len-1); i>= 0; i--) { ch = str.charAt(i); strBuf.append(ch); } System.out.println(strBuf); } }