Array dan String - Informatika Unsyiah

advertisement
Array dan String
Viska Mutiawani, M.Sc
1
Viska Mutiawani - Informatika FMIPA
Unsyiah
Konsep Penting
Array
String


2
Viska Mutiawani - Informatika FMIPA
Unsyiah
Array
3
Viska Mutiawani - Informatika FMIPA
Unsyiah
Array

Sintaks


Tipe_data[] nama_variable = new
tipe_data[ukuran];
Contoh:
int[] tts = new int[100];
int[] tts;
tts = new int[100];
ATAU
ATAU
int tts[]= new int[100];
4
Viska Mutiawani - Informatika FMIPA
Unsyiah
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.
5
Viska Mutiawani - Informatika FMIPA
Unsyiah
Array (3)

Digunakan apabila kita ingin mengirimkan array
sebagai parameter pada method.
cetakLimaPrima(new int[] {2,3,5,7,11} );
ATAU
int[] bilPrima = {2,3,5,7,11};
cetakLimaPrima(bilPrima);
6
Viska Mutiawani - Informatika FMIPA
Unsyiah
Multi-dimensi Array
Data array disimpan di dalam indeks baris dan
kolom











7
int[][] arr=new int[3][3];//3 row and 3 column
arr[0][0]=1;
arr[0][1]=2;
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;
Viska Mutiawani - Informatika FMIPA
Unsyiah
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
for(int i=0;i<3;i++){
for(int j=0;j<3;j++){
System.out.print(arr[i][j]+" ");
}
System.out.println();
}
}}
8
Viska Mutiawani - Informatika FMIPA
Unsyiah
Array Sebagai Objek


Apabila ia dianggap sebagai objek, maka ia
mempunyai atribut dan method
Atribut length

Menentukan ukuran suatu array:
nama_array.length
int bilPrima={2, 3, 5, 7, 11};
for(int i=0; i<bilPrima.length;i++)
System.out.println(bilPrima[i]);
9
Viska Mutiawani - Informatika FMIPA
Unsyiah
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
sasaran : array baru yang akan menyimpan
kandungan array sumber
indekSasaran :permulaan kedudukan pada array
sasaran untuk menyimpan nilai yang dicopy
bil
10
:
jumlah nilai yang dicopy
Viska Mutiawani - Informatika FMIPA
Unsyiah
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:”
+nomPositif[i]);
}
OUTPUT
11
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
Viska Mutiawani - Informatika FMIPA
Unsyiah
System.arraycopy(nomGanjil, 1, nomPositif, 2, 3);
Sebelum copy
1
10
3
20
5
30
7
40
9
50
60
Selepas copy
1
10
3
20
5
3
7
5
9
7
60
12
Viska Mutiawani - Informatika FMIPA
Unsyiah
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


13
Digunakan untuk traverse/menjejaki unsur array satu
demi satu
Tidak perlu indeks
Viska Mutiawani - Informatika FMIPA
Unsyiah
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) {
System.out.println(element);
}
}
}
14
Viska Mutiawani - Informatika FMIPA
Unsyiah
String
15
Viska Mutiawani - Informatika FMIPA
Unsyiah
String



Berbeda dengan C, Java mempunyai kelas
String.
Kita tidak perlu tipe data array char untuk
menyimpan rentetan aksara.
Tipe data berjenis String akan menyimpan
aksara di antara tanda “ “, termasuk ruang
kosong


16
Contoh: String kosong=“”; //suatu rentetan kosong
String namaSaya = “Muhammad Muktasim”;
Viska Mutiawani - Informatika FMIPA
Unsyiah
String pada Java

String pada Java



String pada Java bersifat immutable


Objek yang merepresentasikan rentetan aksara
Class String digunakan untuk mencipta objek String
Maksudnya isinya tidak bisa diubah
Jika ingin bentuk string yang bisa diubah isinya,
gunakan class StringBuffer dan StringBuilder
17
Viska Mutiawani - Informatika FMIPA
Unsyiah
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";
//merujuk ke string s1 yg isinya sama
18
Viska Mutiawani - Informatika FMIPA
Unsyiah
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"
akan disimpan dalam string constant pool. Variable s
merujuk pada object dalam heap(non pool).
19
Viska Mutiawani - Informatika FMIPA
Unsyiah
Cara mencipta objek String (3)

Dari karakter char
20
Viska Mutiawani - Informatika FMIPA
Unsyiah
Operasi Terhadap String

Menggabung string

Menggunakan operator ‘+’
String judul = “OO”;
String buku = “.Java”;
String judulBuku = judul + buku;
System.out.println(judulBuku);
OUTPUT

21
OO.Java
//tanpa spasi
Bisa juga menggunakan method concat()
Viska Mutiawani - Informatika FMIPA
Unsyiah
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);

s1=s1.concat(" is immutable so assign it explicitl
y");
System.out.println(s1);
}}
Java string
Java string is immutable to assign it explicitly
22
Viska Mutiawani - Informatika FMIPA
Unsyiah
Operasi Terhadap String
Java menghitung substring
bermula dari 0 hingga 4
0: kedudukan ‘P’
 Substring
4: kedudukan ‘i’
 Mendapatkan sebagian dari string
 Metod substring() digunakan
String senikata = “Puji dan syukur kepada Allah”;
String s = senikata.substring(0,4);
System.out.println(“Subrstring bernilai ”+s);
OUTPUT
23
Substring bernilai Puji
Viska Mutiawani - Informatika FMIPA
Unsyiah
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


Menguji apakah dua string mempunyai nilai yang sama
Metod equals() digunakan
“salam”.equals(kata);
// bernilai false
“Salam sejahtera”.equalIgnoreCase(kata);
24
// bernilai true
Viska Mutiawani - Informatika FMIPA
Unsyiah
Method String lain?

Masih banyak method class String lain yang berguna
seperti:











25
char charAt(int index)
int length()
boolean contains(CharSequence s)
boolean isEmpty()
String concat(String str)
String replace(char old, char new)
String trim()
String split(String regex)
int indexOf(int ch)
String toLowerCase()
String toUpperCase()
Viska Mutiawani - Informatika FMIPA
Unsyiah
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);
}}
26
Viska Mutiawani - Informatika FMIPA
Unsyiah
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"));
}}
27
Viska Mutiawani - Informatika FMIPA
Unsyiah
Method equals()
public class EqualsExample{
public static void main(String args[]){
String s1="javatpoint";
String s2="javatpoint";
String s3="JAVATPOINT";
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
}}
28
Viska Mutiawani - Informatika FMIPA
Unsyiah
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());
}}
29
Viska Mutiawani - Informatika FMIPA
Unsyiah
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);
}
}}
30
Viska Mutiawani - Informatika FMIPA
Unsyiah
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
mencetak isi sesuai keinginan anda
31
Viska Mutiawani - Informatika FMIPA
Unsyiah
Sistem Unicode
32
Viska Mutiawani - Informatika FMIPA
Unsyiah
Unicode


Unicode merupakah standar pengkodean universal
yang mampu untuk merepresentasikan hampir
semua bahasa tertulis di dunia ini.
Java menggunakan sistem unicode
33
Viska Mutiawani - Informatika FMIPA
Unsyiah
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.
Ada dua masalah yang timbul:


34
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.
Viska Mutiawani - Informatika FMIPA
Unsyiah
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
35
Viska Mutiawani - Informatika FMIPA
Unsyiah
Java Command Line Argument
36
Viska Mutiawani - Informatika FMIPA
Unsyiah
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.
37
Viska Mutiawani - Informatika FMIPA
Unsyiah
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:


java CommandLineExample sana dong
38
Viska Mutiawani - Informatika FMIPA
Unsyiah
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
run dengan > java A hey 1 sana dong, geser ke 3
39
Viska Mutiawani - Informatika FMIPA
Unsyiah
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
http://www.oracle.com/technetwork/java/compile-136656.html

Codingbat
http://codingbat.com
40
Viska Mutiawani - Informatika FMIPA
Unsyiah
Download