Array dan String
Konsep Penting
Array String
Array
Array
Array
Sintaks
Tipe_data[] nama_variable = new tipe_data[ukuran];
Contoh:
int[] tts = new int[100]; ATAUATAU
int[] tts;
tts = new int[100]; ATAUATAU
Array (2)
Memberi nilai kepada array:
int[] nilai = {2, 3, 4, 5};
char[] abjad= {a, b, c, d};
Kita juga bisa membuat array tanpa nama
:
new int[]{2, 3, 5, 7, 11};
menyediakan satu array baru dengan
nilai-nilai tersebut. Sering dipakai untuk mengirim parameter ke method.
Array (3)
Digunakan apabila kita ingin mengirimkan array
sebagai parameter pada method.
cetakLimaPrima(new int[] {2,3,5,7,11} );
int[] bilPrima = {2,3,5,7,11};
ATAU
ATAU
Multi-dimensi Array
Data array disimpan di dalam indeks baris dan
kolom
int[][] arr=new int[3][3];//3 row and 3 column arr[0][0]=1; arr[0][1]=2; arr[0][2]=3; arr[0][2]=3; arr[1][0]=4; arr[1][1]=5; arr[1][2]=6; arr[2][0]=7; arr[2][1]=8; arr[2][2]=9;
Contoh
class Testarray3{
public static void main(String args[]){
//declaring and initializing 2D array
int arr[][]={{1,2,3},{2,4,5},{4,4,5}}; //printing 2D array
//printing 2D array
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){ System.out.print(arr[i][j]+" "); } System.out.println(); } }}
Array Sebagai Objek
Apabila ia dianggap sebagai objek, maka ia
mempunyai atribut dan method
Atribut
length
Menentukan ukuran suatu array:
nama_array.length nama_array.length
int bilPrima={2, 3, 5, 7, 11};
for(int i=0; i<bilPrima.length;i++) System.out.println(bilPrima[i]);
Method arraycopy()
Mengcopy dari satu array ke array yang lain. Sintaksnya: System.arraycopy(sumber,indekSumber,sasaran,
indekSasaran,bil);
sumber :nama array yang hendak dicopy
indekSumber :permulaan kedudukan array yang akan di copy dari sumber
indekSumber :permulaan kedudukan array yang akan di copy dari sumber
sasaran : array baru yang akan menyimpan kandungan array sumber
indekSasaran :permulaan kedudukan pada array
sasaran untuk menyimpan nilai yang dicopy
Metod
arraycopy()
int[] nomGanjil ={1, 3, 5, 7, 9};
int[] nomPositif={10, 20, 30, 40, 50, 60};
System.arraycopy(nomGanjil, 1, nomPositif, 2, 3); for(int i=0; i<nomPositif.length; i++){
Sysem.out.println(“nomPositif[“ + i + “] selepas copy:” Sysem.out.println(“nomPositif[“ + i + “] selepas copy:” +nomPositif[i]);
}
nomPositif[0] selepas copy ialah 10 nomPositif[1] selepas copy ialah 20 nomPositif[2] selepas copy ialah 3 nomPositif[3] selepas copy ialah 5 nomPositif[4] selepas copy ialah 7 nomPositif[5] selepas copy ialah 60 OUTPUT
System.arraycopy(nomGanjil, 1, nomPositif, 2, 3); 1 3 5 7 9 10 20 30 40 50 60 Sebelum copy 1 3 5 7 9 10 20 3 5 7 60 Selepas copy
Memproses data array
Data yang ada dalam array biasanya diproses
dengan for loop
Krn ukuran diketahui
Tipe datanya sama semua
Sejak Java versi 5, diperkenalkan for-each loop
Digunakan untuk traverse/menjejaki unsur array satu
demi satu
Contoh for-each pada array
public class TestArray {
public static void main(String[] args) {
double[] myList = {1.9, 2.9, 3.4, 3.5};
// Print all the array elements
for (double element: myList) {
for (double element: myList) {
System.out.println(element);
}
}
}
String
String
String
Berbeda dengan C, Java mempunyai kelas
String
.
Kita tidak perlu tipe data array
charuntuk
menyimpan rentetan aksara.
Tipe data berjenis
String
akan menyimpan
Tipe data berjenis
String
akan menyimpan
aksara di antara tanda
“ “, termasuk ruang
kosong
Contoh: String kosong=“”; //suatu rentetan kosong String namaSaya = “Muhammad Muktasim”;
String pada Java
String pada Java
Objek yang merepresentasikan rentetan aksara
Class String digunakan untuk mencipta objek String
String pada Java bersifat immutable
Maksudnya isinya tidak bisa diubah
Jika ingin bentuk string yang bisa diubah isinya,
Cara mencipta objek String (1)
String literal
Dengan tanda petik dua String s="welcome";
Objek String disimpan di String constant pool String s1="Welcome";
String s2="Welcome";
Cara mencipta objek String (2)
Dengan keyword new
String s=new String("Welcome");
//mencipta 2 objek dan 1 variabel reference
Pada kasus ini, JVM akan mencipta satu objek String dalam memory normal (non pool) dan bentuk literal "Welcome" memory normal (non pool) dan bentuk literal "Welcome" akan disimpan dalam string constant pool. Variable s merujuk pada object dalam heap(non pool).
Cara mencipta objek String (3)
Operasi Terhadap String
Menggabung string
Menggunakan operator ‘+’
String judul = “OO”; String buku = “.Java”; String buku = “.Java”;
String judulBuku = judul + buku; System.out.println(judulBuku);
Operasi terhadap string
Mengkombinasikan string dengan concat() public class ConcatExample{
public static void main(String args[]){ String s1="Java string";
s1.concat("is immutable"); System.out.println(s1);
System.out.println(s1);
s1=s1.concat(" is immutable so assign it explicitl y");
System.out.println(s1); }}
Operasi Terhadap String
Substring
Mendapatkan sebagian dari string Metod substring() digunakan
Java menghitung substring bermula dari 0 hingga 4
0: kedudukan ‘P’ 4: kedudukan ‘i’
String senikata = “Puji dan syukur kepada Allah”; String s = senikata.substring(0,4);
System.out.println(“Subrstring bernilai ”+s);
Operasi Terhadap String
Panjang string
Mendapatkan panjang suatu string Metod length() digunakan
String kata = “Salam Sejahtera”;
int panjang = kata.length(); // panjang bernilai 15
Membanding string Membanding string
Menguji apakah dua string mempunyai nilai yang sama Metod equals() digunakan
“salam”.equals(kata); // bernilai false
Method String lain?
Masih banyak method class String lain yang berguna
seperti:
char charAt(int index) int length()
boolean contains(CharSequence s) boolean isEmpty()
String concat(String str)
String concat(String str)
String replace(char old, char new) String trim()
String split(String regex) int indexOf(int ch)
String toLowerCase() String toUpperCase()
Method charAt()
public class CharAtExample{
public static void main(String args[]){ String name="javatpoint";
char ch=name.charAt(4);
//returns the char value at the 4th index System.out.println(ch);
Method endsWith() dan startsWith()
public class EndsWithExample{
public static void main(String args[]){ String s1="java by javatpoint";
System.out.println(s1.endsWith("t"));
System.out.println(s1.startsWith("point")); }}
Method equals()
public class EqualsExample{
public static void main(String args[]){ String s1="javatpoint"; String s2="javatpoint"; String s3="JAVATPOINT"; String s4="python"; String s4="python"; System.out.println(s1.equals(s2));
//true because content and case is same
System.out.println(s1.equals(s3));//false because case is not same System.out.println(s1.equals(s4));//false because content is not same
Method isEmpty()
public class IsEmptyExample{
public static void main(String args[]){ String s1="";
String s2="javatpoint";
System.out.println(s1.isEmpty()); System.out.println(s2.isEmpty()); }}
Method split()
public class SplitExample{
public static void main(String args[]){
String s1="java string split method by javatpoint"; String[] words=s1.split(“ ");
//splits the string based on space
//using java foreach loop to print elements of string array
for(String w:words){
System.out.println(w); }
Method toString()
Method toString() ada dalam class Object
Jika anda ingin merepresentasikan suatu objek
sebagai string, gunakan method toString()
Method toString() mengembalikan representasi
string dari suatu objek
Sewaktu anda melakukan proses cetak/print,
compiler Java secara internal memanggil method toString()
Anda dapat meng-override method toString() untuk
Sistem Unicode
Sistem Unicode
Unicode
Unicode merupakah standar pengkodean universal
yang mampu untuk merepresentasikan hampir semua bahasa tertulis di dunia ini.
Sebelum Unicode
Sebelum Unicode ada bahasa standar lain:
ASCII (American Standard Code for Information
Interchange) for the United States.
ISO 8859-1 for Western European Language. KOI-8 for Russian.
GB18030 and BIG-5 for chinese, dan lainnya. GB18030 and BIG-5 for chinese, dan lainnya.
Ada dua masalah yang timbul:
Suatu nilai code akan menjadi huruf yang berbeda pada
standar bahasa yang berbeda.
Pengkodean bahasa yang memiliki set aksara yang
banyak memiliki perbedaan panjang. Ada aksara yang satu byte, ada yang dua byte, bahkan ada yang lebih.
Unicode solve the problem
Untuk menyelesaikan masalah sebelumnya, sistem
unicode dikembangkan.
Unicode menggunakan 2 byte untuk aksara
Jadi Java menggunakan 2 byte untuk aksara
lowest value:\u0000 highest value:\uFFFF
Java Command Line Argument
Java Command Line Argument
Java Command Line Argument
Merupakan argument yang dikirimkan pada saat
program Java dijalankan (run).
Argument yang dikirim lewat console dapat diterima
dalam program Java sebagai input.
Cara yang sederhana untuk melakukan tes pada
program dengan nilai yang berbeda-beda. program dengan nilai yang berbeda-beda.
Contoh
class CommandLineExample{
public static void main(String args[]){
System.out.println("Your first argument is: "+args[0]); }
}
compile dengan > javac CommandLineExample.java run dengan > java CommandLineExample sana
Output ?
Bagaimana jika dirun:
Contoh lain
class A{
public static void main(String args[]){
for(int i=0;i<args.length;i++)
System.out.println(args[i]); }
}
compile dengan > javac A.java
Supplemental reading
Getting Started
http://docs.oracle.com/javase/tutorial/getStarted/index.html
Nuts and bolts of the Java Language
http://docs.oracle.com/javase/tutorial/java/nutsandbolts/index.html
Compiling and Running a Simple Program Compiling and Running a Simple Program
http://www.oracle.com/technetwork/java/compile-136656.html
Codingbat