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]; b[i]=i*10; 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[][][]; tipe_variabel [][][]nama_array; Deklarasi Array 4 dimensi: tipe_variabel nama_array[][][][]; 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 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 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() If (s1.equals(s2))
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))
String Array Deklarasi: Inisialisasi String [indexArray] = “data”; 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(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);